// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.25.0 // protoc v3.14.0 // source: rpc.proto // Proto field names should be snake_case, but some plugins don't convert to // camel like they should, so we use camelCase here. package service import ( _ "github.com/alta/protopatch/patch/gopb" proto "github.com/golang/protobuf/proto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" 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) ) // This is a compile-time assertion that a sufficiently up-to-date version // of the legacy proto package is being used. const _ = proto.ProtoPackageIsVersion4 type EncryptMode int32 const ( DefaultEncrypt EncryptMode = 0 SaltpackEncrypt EncryptMode = 1 SaltpackSigncrypt EncryptMode = 3 ) // Enum value maps for EncryptMode. var ( EncryptMode_name = map[int32]string{ 0: "DEFAULT_ENCRYPT", 1: "SALTPACK_ENCRYPT", 3: "SALTPACK_SIGNCRYPT", } EncryptMode_value = map[string]int32{ "DEFAULT_ENCRYPT": 0, "SALTPACK_ENCRYPT": 1, "SALTPACK_SIGNCRYPT": 3, } ) func (x EncryptMode) Enum() *EncryptMode { p := new(EncryptMode) *p = x return p } func (x EncryptMode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (EncryptMode) Descriptor() protoreflect.EnumDescriptor { return file_rpc_proto_enumTypes[0].Descriptor() } func (EncryptMode) Type() protoreflect.EnumType { return &file_rpc_proto_enumTypes[0] } func (x EncryptMode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use EncryptMode.Descriptor instead. func (EncryptMode) EnumDescriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{0} } type AuthStatus int32 const ( AuthUnknown AuthStatus = 0 // AuthSetupNeeded if setup needed. AuthSetupNeeded AuthStatus = 1 // AuthUnlocked if unlocked. AuthUnlocked AuthStatus = 2 // AuthLocked if locked. AuthLocked AuthStatus = 3 ) // Enum value maps for AuthStatus. var ( AuthStatus_name = map[int32]string{ 0: "AUTH_UNKNOWN", 1: "AUTH_SETUP_NEEDED", 2: "AUTH_UNLOCKED", 3: "AUTH_LOCKED", } AuthStatus_value = map[string]int32{ "AUTH_UNKNOWN": 0, "AUTH_SETUP_NEEDED": 1, "AUTH_UNLOCKED": 2, "AUTH_LOCKED": 3, } ) func (x AuthStatus) Enum() *AuthStatus { p := new(AuthStatus) *p = x return p } func (x AuthStatus) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (AuthStatus) Descriptor() protoreflect.EnumDescriptor { return file_rpc_proto_enumTypes[1].Descriptor() } func (AuthStatus) Type() protoreflect.EnumType { return &file_rpc_proto_enumTypes[1] } func (x AuthStatus) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use AuthStatus.Descriptor instead. func (AuthStatus) EnumDescriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{1} } type AuthType int32 const ( UnknownAuth AuthType = 0 // PasswordAuth uses password with salt (argon2id). PasswordAuth AuthType = 10 // PaperKeyAuth uses a BIP39 phrase representing a key. PaperKeyAuth AuthType = 11 // FIDO2HMACSecretAuth uses a FIDO2 HMAC-Secret extension. FIDO2HMACSecretAuth AuthType = 20 ) // Enum value maps for AuthType. var ( AuthType_name = map[int32]string{ 0: "UNKNOWN_AUTH", 10: "PASSWORD_AUTH", 11: "PAPER_KEY_AUTH", 20: "FIDO2_HMAC_SECRET_AUTH", } AuthType_value = map[string]int32{ "UNKNOWN_AUTH": 0, "PASSWORD_AUTH": 10, "PAPER_KEY_AUTH": 11, "FIDO2_HMAC_SECRET_AUTH": 20, } ) func (x AuthType) Enum() *AuthType { p := new(AuthType) *p = x return p } func (x AuthType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (AuthType) Descriptor() protoreflect.EnumDescriptor { return file_rpc_proto_enumTypes[2].Descriptor() } func (AuthType) Type() protoreflect.EnumType { return &file_rpc_proto_enumTypes[2] } func (x AuthType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use AuthType.Descriptor instead. func (AuthType) EnumDescriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{2} } type ExportType int32 const ( DefaultExport ExportType = 0 SSHExport ExportType = 1 ) // Enum value maps for ExportType. var ( ExportType_name = map[int32]string{ 0: "DEFAULT_EXPORT_TYPE", 1: "SSH_EXPORT_TYPE", } ExportType_value = map[string]int32{ "DEFAULT_EXPORT_TYPE": 0, "SSH_EXPORT_TYPE": 1, } ) func (x ExportType) Enum() *ExportType { p := new(ExportType) *p = x return p } func (x ExportType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ExportType) Descriptor() protoreflect.EnumDescriptor { return file_rpc_proto_enumTypes[3].Descriptor() } func (ExportType) Type() protoreflect.EnumType { return &file_rpc_proto_enumTypes[3] } func (x ExportType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ExportType.Descriptor instead. func (ExportType) EnumDescriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{3} } type SortDirection int32 const ( SortAsc SortDirection = 0 SortDesc SortDirection = 1 ) // Enum value maps for SortDirection. var ( SortDirection_name = map[int32]string{ 0: "ASC", 1: "DESC", } SortDirection_value = map[string]int32{ "ASC": 0, "DESC": 1, } ) func (x SortDirection) Enum() *SortDirection { p := new(SortDirection) *p = x return p } func (x SortDirection) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (SortDirection) Descriptor() protoreflect.EnumDescriptor { return file_rpc_proto_enumTypes[4].Descriptor() } func (SortDirection) Type() protoreflect.EnumType { return &file_rpc_proto_enumTypes[4] } func (x SortDirection) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use SortDirection.Descriptor instead. func (SortDirection) EnumDescriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{4} } type SecretType int32 const ( UnknownSecret SecretType = 0 PasswordSecret SecretType = 10 ContactSecret SecretType = 11 CardSecret SecretType = 12 NoteSecret SecretType = 13 ) // Enum value maps for SecretType. var ( SecretType_name = map[int32]string{ 0: "UNKNOWN_SECRET_TYPE", 10: "PASSWORD_SECRET", 11: "CONTACT_SECRET", 12: "CARD_SECRET", 13: "NOTE_SECRET", } SecretType_value = map[string]int32{ "UNKNOWN_SECRET_TYPE": 0, "PASSWORD_SECRET": 10, "CONTACT_SECRET": 11, "CARD_SECRET": 12, "NOTE_SECRET": 13, } ) func (x SecretType) Enum() *SecretType { p := new(SecretType) *p = x return p } func (x SecretType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (SecretType) Descriptor() protoreflect.EnumDescriptor { return file_rpc_proto_enumTypes[5].Descriptor() } func (SecretType) Type() protoreflect.EnumType { return &file_rpc_proto_enumTypes[5] } func (x SecretType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use SecretType.Descriptor instead. func (SecretType) EnumDescriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{5} } type Encoding int32 const ( Hex Encoding = 0 Base62 Encoding = 1 Base58 Encoding = 2 Base32 Encoding = 3 Base16 Encoding = 4 Base64 Encoding = 5 Saltpack Encoding = 6 BIP39 Encoding = 7 ) // Enum value maps for Encoding. var ( Encoding_name = map[int32]string{ 0: "HEX", 1: "BASE62", 2: "BASE58", 3: "BASE32", 4: "BASE16", 5: "BASE64", 6: "SALTPACK", 7: "BIP39", } Encoding_value = map[string]int32{ "HEX": 0, "BASE62": 1, "BASE58": 2, "BASE32": 3, "BASE16": 4, "BASE64": 5, "SALTPACK": 6, "BIP39": 7, } ) func (x Encoding) Enum() *Encoding { p := new(Encoding) *p = x return p } func (x Encoding) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Encoding) Descriptor() protoreflect.EnumDescriptor { return file_rpc_proto_enumTypes[6].Descriptor() } func (Encoding) Type() protoreflect.EnumType { return &file_rpc_proto_enumTypes[6] } func (x Encoding) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Encoding.Descriptor instead. func (Encoding) EnumDescriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{6} } type UserStatus int32 const ( UserStatusUnknown UserStatus = 0 UserStatusOK UserStatus = 1 UserStatusResourceNotFound UserStatus = 20 UserStatusContentNotFound UserStatus = 30 UserStatusContentInvalid UserStatus = 31 UserStatusConnFailure UserStatus = 40 UserStatusFailure UserStatus = 50 ) // Enum value maps for UserStatus. var ( UserStatus_name = map[int32]string{ 0: "USER_UNKNOWN", 1: "USER_OK", 20: "USER_RESOURCE_NOT_FOUND", 30: "USER_CONTENT_NOT_FOUND", 31: "USER_CONTENT_INVALID", 40: "USER_CONN_FAILURE", 50: "USER_FAILURE", } UserStatus_value = map[string]int32{ "USER_UNKNOWN": 0, "USER_OK": 1, "USER_RESOURCE_NOT_FOUND": 20, "USER_CONTENT_NOT_FOUND": 30, "USER_CONTENT_INVALID": 31, "USER_CONN_FAILURE": 40, "USER_FAILURE": 50, } ) func (x UserStatus) Enum() *UserStatus { p := new(UserStatus) *p = x return p } func (x UserStatus) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (UserStatus) Descriptor() protoreflect.EnumDescriptor { return file_rpc_proto_enumTypes[7].Descriptor() } func (UserStatus) Type() protoreflect.EnumType { return &file_rpc_proto_enumTypes[7] } func (x UserStatus) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use UserStatus.Descriptor instead. func (UserStatus) EnumDescriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{7} } type MessageStatus int32 const ( MessageSent MessageStatus = 0 MessagePending MessageStatus = 1 MessageError MessageStatus = 2 ) // Enum value maps for MessageStatus. var ( MessageStatus_name = map[int32]string{ 0: "MESSAGE_SENT", 1: "MESSAGE_PENDING", 2: "MESSAGE_ERROR", } MessageStatus_value = map[string]int32{ "MESSAGE_SENT": 0, "MESSAGE_PENDING": 1, "MESSAGE_ERROR": 2, } ) func (x MessageStatus) Enum() *MessageStatus { p := new(MessageStatus) *p = x return p } func (x MessageStatus) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (MessageStatus) Descriptor() protoreflect.EnumDescriptor { return file_rpc_proto_enumTypes[8].Descriptor() } func (MessageStatus) Type() protoreflect.EnumType { return &file_rpc_proto_enumTypes[8] } func (x MessageStatus) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use MessageStatus.Descriptor instead. func (MessageStatus) EnumDescriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{8} } type WormholeStatus int32 const ( WormholeDefault WormholeStatus = 0 // WormholeStarting if starting. WormholeStarting WormholeStatus = 10 // WormholeOffering if offering. WormholeOffering WormholeStatus = 20 // WormholeAnswering if answering. WormholeAnswering WormholeStatus = 21 // WormholeHandshake if found offer/answer and trying to SCTP/Noise handshake. WormholeHandshake WormholeStatus = 40 // WormholeConnected if connected WormholeConnected WormholeStatus = 100 // WormholeClosed if closed WormholeClosed WormholeStatus = 200 ) // Enum value maps for WormholeStatus. var ( WormholeStatus_name = map[int32]string{ 0: "WORMHOLE_DEFAULT", 10: "WORMHOLE_STARTING", 20: "WORMHOLE_OFFERING", 21: "WORMHOLE_ANSWERING", 40: "WORMHOLE_HANDSHAKE", 100: "WORMHOLE_CONNECTED", 200: "WORMHOLE_CLOSED", } WormholeStatus_value = map[string]int32{ "WORMHOLE_DEFAULT": 0, "WORMHOLE_STARTING": 10, "WORMHOLE_OFFERING": 20, "WORMHOLE_ANSWERING": 21, "WORMHOLE_HANDSHAKE": 40, "WORMHOLE_CONNECTED": 100, "WORMHOLE_CLOSED": 200, } ) func (x WormholeStatus) Enum() *WormholeStatus { p := new(WormholeStatus) *p = x return p } func (x WormholeStatus) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (WormholeStatus) Descriptor() protoreflect.EnumDescriptor { return file_rpc_proto_enumTypes[9].Descriptor() } func (WormholeStatus) Type() protoreflect.EnumType { return &file_rpc_proto_enumTypes[9] } func (x WormholeStatus) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use WormholeStatus.Descriptor instead. func (WormholeStatus) EnumDescriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{9} } type WormholeMessageStatus int32 const ( WormholeMessageSent WormholeMessageStatus = 0 WormholeMessagePending WormholeMessageStatus = 1 WormholeMessageAck WormholeMessageStatus = 2 ) // Enum value maps for WormholeMessageStatus. var ( WormholeMessageStatus_name = map[int32]string{ 0: "WORMHOLE_MESSAGE_SENT", 1: "WORMHOLE_MESSAGE_PENDING", 2: "WORMHOLE_MESSAGE_ACK", } WormholeMessageStatus_value = map[string]int32{ "WORMHOLE_MESSAGE_SENT": 0, "WORMHOLE_MESSAGE_PENDING": 1, "WORMHOLE_MESSAGE_ACK": 2, } ) func (x WormholeMessageStatus) Enum() *WormholeMessageStatus { p := new(WormholeMessageStatus) *p = x return p } func (x WormholeMessageStatus) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (WormholeMessageStatus) Descriptor() protoreflect.EnumDescriptor { return file_rpc_proto_enumTypes[10].Descriptor() } func (WormholeMessageStatus) Type() protoreflect.EnumType { return &file_rpc_proto_enumTypes[10] } func (x WormholeMessageStatus) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use WormholeMessageStatus.Descriptor instead. func (WormholeMessageStatus) EnumDescriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{10} } type SignRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` Signer string `protobuf:"bytes,5,opt,name=signer,proto3" json:"signer,omitempty"` // Armored, if true, output will be armored. Armored bool `protobuf:"varint,10,opt,name=armored,proto3" json:"armored,omitempty"` // Detached, if true, output will be just the signature. Detached bool `protobuf:"varint,11,opt,name=detached,proto3" json:"detached,omitempty"` } func (x *SignRequest) Reset() { *x = SignRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SignRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SignRequest) ProtoMessage() {} func (x *SignRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 SignRequest.ProtoReflect.Descriptor instead. func (*SignRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{0} } func (x *SignRequest) GetData() []byte { if x != nil { return x.Data } return nil } func (x *SignRequest) GetSigner() string { if x != nil { return x.Signer } return "" } func (x *SignRequest) GetArmored() bool { if x != nil { return x.Armored } return false } func (x *SignRequest) GetDetached() bool { if x != nil { return x.Detached } return false } type SignResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Data is signed output. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` KID string `protobuf:"bytes,2,opt,name=kid,proto3" json:"kid,omitempty"` } func (x *SignResponse) Reset() { *x = SignResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SignResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SignResponse) ProtoMessage() {} func (x *SignResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 SignResponse.ProtoReflect.Descriptor instead. func (*SignResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{1} } func (x *SignResponse) GetData() []byte { if x != nil { return x.Data } return nil } func (x *SignResponse) GetKID() string { if x != nil { return x.KID } return "" } type SignFileInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // In is input file path. In string `protobuf:"bytes,1,opt,name=in,proto3" json:"in,omitempty"` // Out file path (or sig if detached). Out string `protobuf:"bytes,2,opt,name=out,proto3" json:"out,omitempty"` Signer string `protobuf:"bytes,5,opt,name=signer,proto3" json:"signer,omitempty"` // Armored, if true, output will be armored. Armored bool `protobuf:"varint,10,opt,name=armored,proto3" json:"armored,omitempty"` // Detached, if true, output will be just the signature. Detached bool `protobuf:"varint,11,opt,name=detached,proto3" json:"detached,omitempty"` } func (x *SignFileInput) Reset() { *x = SignFileInput{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SignFileInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*SignFileInput) ProtoMessage() {} func (x *SignFileInput) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 SignFileInput.ProtoReflect.Descriptor instead. func (*SignFileInput) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{2} } func (x *SignFileInput) GetIn() string { if x != nil { return x.In } return "" } func (x *SignFileInput) GetOut() string { if x != nil { return x.Out } return "" } func (x *SignFileInput) GetSigner() string { if x != nil { return x.Signer } return "" } func (x *SignFileInput) GetArmored() bool { if x != nil { return x.Armored } return false } func (x *SignFileInput) GetDetached() bool { if x != nil { return x.Detached } return false } type SignFileOutput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields KID string `protobuf:"bytes,1,opt,name=kid,proto3" json:"kid,omitempty"` Out string `protobuf:"bytes,2,opt,name=out,proto3" json:"out,omitempty"` Bytes int32 `protobuf:"varint,10,opt,name=bytes,proto3" json:"bytes,omitempty"` Total int32 `protobuf:"varint,11,opt,name=total,proto3" json:"total,omitempty"` } func (x *SignFileOutput) Reset() { *x = SignFileOutput{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SignFileOutput) String() string { return protoimpl.X.MessageStringOf(x) } func (*SignFileOutput) ProtoMessage() {} func (x *SignFileOutput) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 SignFileOutput.ProtoReflect.Descriptor instead. func (*SignFileOutput) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{3} } func (x *SignFileOutput) GetKID() string { if x != nil { return x.KID } return "" } func (x *SignFileOutput) GetOut() string { if x != nil { return x.Out } return "" } func (x *SignFileOutput) GetBytes() int32 { if x != nil { return x.Bytes } return 0 } func (x *SignFileOutput) GetTotal() int32 { if x != nil { return x.Total } return 0 } type VerifyRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Data is verified output. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` } func (x *VerifyRequest) Reset() { *x = VerifyRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VerifyRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*VerifyRequest) ProtoMessage() {} func (x *VerifyRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 VerifyRequest.ProtoReflect.Descriptor instead. func (*VerifyRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{4} } func (x *VerifyRequest) GetData() []byte { if x != nil { return x.Data } return nil } type VerifyResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Data (if out is not specified in request). Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` Signer *Key `protobuf:"bytes,2,opt,name=signer,proto3" json:"signer,omitempty"` } func (x *VerifyResponse) Reset() { *x = VerifyResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VerifyResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*VerifyResponse) ProtoMessage() {} func (x *VerifyResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 VerifyResponse.ProtoReflect.Descriptor instead. func (*VerifyResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{5} } func (x *VerifyResponse) GetData() []byte { if x != nil { return x.Data } return nil } func (x *VerifyResponse) GetSigner() *Key { if x != nil { return x.Signer } return nil } type VerifyDetachedRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Data to verify. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` Sig []byte `protobuf:"bytes,2,opt,name=sig,proto3" json:"sig,omitempty"` } func (x *VerifyDetachedRequest) Reset() { *x = VerifyDetachedRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VerifyDetachedRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*VerifyDetachedRequest) ProtoMessage() {} func (x *VerifyDetachedRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 VerifyDetachedRequest.ProtoReflect.Descriptor instead. func (*VerifyDetachedRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{6} } func (x *VerifyDetachedRequest) GetData() []byte { if x != nil { return x.Data } return nil } func (x *VerifyDetachedRequest) GetSig() []byte { if x != nil { return x.Sig } return nil } type VerifyDetachedResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Signer *Key `protobuf:"bytes,1,opt,name=signer,proto3" json:"signer,omitempty"` } func (x *VerifyDetachedResponse) Reset() { *x = VerifyDetachedResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VerifyDetachedResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*VerifyDetachedResponse) ProtoMessage() {} func (x *VerifyDetachedResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 VerifyDetachedResponse.ProtoReflect.Descriptor instead. func (*VerifyDetachedResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{7} } func (x *VerifyDetachedResponse) GetSigner() *Key { if x != nil { return x.Signer } return nil } type VerifyInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Data to verify. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` } func (x *VerifyInput) Reset() { *x = VerifyInput{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VerifyInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*VerifyInput) ProtoMessage() {} func (x *VerifyInput) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 VerifyInput.ProtoReflect.Descriptor instead. func (*VerifyInput) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{8} } func (x *VerifyInput) GetData() []byte { if x != nil { return x.Data } return nil } type VerifyOutput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Data, verified. If empty, is EOF. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` Signer *Key `protobuf:"bytes,2,opt,name=signer,proto3" json:"signer,omitempty"` } func (x *VerifyOutput) Reset() { *x = VerifyOutput{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VerifyOutput) String() string { return protoimpl.X.MessageStringOf(x) } func (*VerifyOutput) ProtoMessage() {} func (x *VerifyOutput) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 VerifyOutput.ProtoReflect.Descriptor instead. func (*VerifyOutput) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{9} } func (x *VerifyOutput) GetData() []byte { if x != nil { return x.Data } return nil } func (x *VerifyOutput) GetSigner() *Key { if x != nil { return x.Signer } return nil } type VerifyFileInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // In is input file path. In string `protobuf:"bytes,1,opt,name=in,proto3" json:"in,omitempty"` // Out is the output file name or directory to save to. Out string `protobuf:"bytes,2,opt,name=out,proto3" json:"out,omitempty"` } func (x *VerifyFileInput) Reset() { *x = VerifyFileInput{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VerifyFileInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*VerifyFileInput) ProtoMessage() {} func (x *VerifyFileInput) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 VerifyFileInput.ProtoReflect.Descriptor instead. func (*VerifyFileInput) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{10} } func (x *VerifyFileInput) GetIn() string { if x != nil { return x.In } return "" } func (x *VerifyFileInput) GetOut() string { if x != nil { return x.Out } return "" } type VerifyFileOutput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Signer *Key `protobuf:"bytes,1,opt,name=signer,proto3" json:"signer,omitempty"` Out string `protobuf:"bytes,2,opt,name=out,proto3" json:"out,omitempty"` } func (x *VerifyFileOutput) Reset() { *x = VerifyFileOutput{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VerifyFileOutput) String() string { return protoimpl.X.MessageStringOf(x) } func (*VerifyFileOutput) ProtoMessage() {} func (x *VerifyFileOutput) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 VerifyFileOutput.ProtoReflect.Descriptor instead. func (*VerifyFileOutput) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{11} } func (x *VerifyFileOutput) GetSigner() *Key { if x != nil { return x.Signer } return nil } func (x *VerifyFileOutput) GetOut() string { if x != nil { return x.Out } return "" } type VerifyDetachedFileInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // In is input file path. In string `protobuf:"bytes,1,opt,name=in,proto3" json:"in,omitempty"` // Signature (detached). Sig []byte `protobuf:"bytes,2,opt,name=sig,proto3" json:"sig,omitempty"` } func (x *VerifyDetachedFileInput) Reset() { *x = VerifyDetachedFileInput{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VerifyDetachedFileInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*VerifyDetachedFileInput) ProtoMessage() {} func (x *VerifyDetachedFileInput) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 VerifyDetachedFileInput.ProtoReflect.Descriptor instead. func (*VerifyDetachedFileInput) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{12} } func (x *VerifyDetachedFileInput) GetIn() string { if x != nil { return x.In } return "" } func (x *VerifyDetachedFileInput) GetSig() []byte { if x != nil { return x.Sig } return nil } type VerifyDetachedInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Data to verify. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` // Signature (detached). Sig []byte `protobuf:"bytes,2,opt,name=sig,proto3" json:"sig,omitempty"` } func (x *VerifyDetachedInput) Reset() { *x = VerifyDetachedInput{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VerifyDetachedInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*VerifyDetachedInput) ProtoMessage() {} func (x *VerifyDetachedInput) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 VerifyDetachedInput.ProtoReflect.Descriptor instead. func (*VerifyDetachedInput) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{13} } func (x *VerifyDetachedInput) GetData() []byte { if x != nil { return x.Data } return nil } func (x *VerifyDetachedInput) GetSig() []byte { if x != nil { return x.Sig } return nil } type Statement struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Sig is the signature bytes. Sig []byte `protobuf:"bytes,1,opt,name=sig,proto3" json:"sig,omitempty"` // Data that was signed. Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` // KID is the key that signed. KID string `protobuf:"bytes,3,opt,name=kid,proto3" json:"kid,omitempty"` // Seq in a sigchain (1 is root). Seq int32 `protobuf:"varint,4,opt,name=seq,proto3" json:"seq,omitempty"` // Prev is a hash of the previous item in the sigchain. Prev []byte `protobuf:"bytes,5,opt,name=prev,proto3" json:"prev,omitempty"` // Revoke refers to a previous signed seq to revoke. Revoke int32 `protobuf:"varint,6,opt,name=revoke,proto3" json:"revoke,omitempty"` // Timestamp ... Timestamp int64 `protobuf:"varint,7,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Type (optional). Type string `protobuf:"bytes,8,opt,name=type,proto3" json:"type,omitempty"` } func (x *Statement) Reset() { *x = Statement{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Statement) String() string { return protoimpl.X.MessageStringOf(x) } func (*Statement) ProtoMessage() {} func (x *Statement) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 Statement.ProtoReflect.Descriptor instead. func (*Statement) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{14} } func (x *Statement) GetSig() []byte { if x != nil { return x.Sig } return nil } func (x *Statement) GetData() []byte { if x != nil { return x.Data } return nil } func (x *Statement) GetKID() string { if x != nil { return x.KID } return "" } func (x *Statement) GetSeq() int32 { if x != nil { return x.Seq } return 0 } func (x *Statement) GetPrev() []byte { if x != nil { return x.Prev } return nil } func (x *Statement) GetRevoke() int32 { if x != nil { return x.Revoke } return 0 } func (x *Statement) GetTimestamp() int64 { if x != nil { return x.Timestamp } return 0 } func (x *Statement) GetType() string { if x != nil { return x.Type } return "" } type SigchainRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields KID string `protobuf:"bytes,1,opt,name=kid,proto3" json:"kid,omitempty"` } func (x *SigchainRequest) Reset() { *x = SigchainRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SigchainRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SigchainRequest) ProtoMessage() {} func (x *SigchainRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 SigchainRequest.ProtoReflect.Descriptor instead. func (*SigchainRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{15} } func (x *SigchainRequest) GetKID() string { if x != nil { return x.KID } return "" } type SigchainResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key *Key `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` Statements []*Statement `protobuf:"bytes,2,rep,name=statements,proto3" json:"statements,omitempty"` } func (x *SigchainResponse) Reset() { *x = SigchainResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SigchainResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SigchainResponse) ProtoMessage() {} func (x *SigchainResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 SigchainResponse.ProtoReflect.Descriptor instead. func (*SigchainResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{16} } func (x *SigchainResponse) GetKey() *Key { if x != nil { return x.Key } return nil } func (x *SigchainResponse) GetStatements() []*Statement { if x != nil { return x.Statements } return nil } type StatementRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields KID string `protobuf:"bytes,1,opt,name=kid,proto3" json:"kid,omitempty"` Seq int32 `protobuf:"varint,2,opt,name=seq,proto3" json:"seq,omitempty"` } func (x *StatementRequest) Reset() { *x = StatementRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatementRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatementRequest) ProtoMessage() {} func (x *StatementRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 StatementRequest.ProtoReflect.Descriptor instead. func (*StatementRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{17} } func (x *StatementRequest) GetKID() string { if x != nil { return x.KID } return "" } func (x *StatementRequest) GetSeq() int32 { if x != nil { return x.Seq } return 0 } type StatementResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Statement *Statement `protobuf:"bytes,1,opt,name=statement,proto3" json:"statement,omitempty"` } func (x *StatementResponse) Reset() { *x = StatementResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatementResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatementResponse) ProtoMessage() {} func (x *StatementResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 StatementResponse.ProtoReflect.Descriptor instead. func (*StatementResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{18} } func (x *StatementResponse) GetStatement() *Statement { if x != nil { return x.Statement } return nil } type StatementCreateRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` KID string `protobuf:"bytes,2,opt,name=kid,proto3" json:"kid,omitempty"` // Local, if true, won't save to the current key server. Local bool `protobuf:"varint,5,opt,name=local,proto3" json:"local,omitempty"` } func (x *StatementCreateRequest) Reset() { *x = StatementCreateRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatementCreateRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatementCreateRequest) ProtoMessage() {} func (x *StatementCreateRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 StatementCreateRequest.ProtoReflect.Descriptor instead. func (*StatementCreateRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{19} } func (x *StatementCreateRequest) GetData() []byte { if x != nil { return x.Data } return nil } func (x *StatementCreateRequest) GetKID() string { if x != nil { return x.KID } return "" } func (x *StatementCreateRequest) GetLocal() bool { if x != nil { return x.Local } return false } type StatementCreateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Statement *Statement `protobuf:"bytes,1,opt,name=statement,proto3" json:"statement,omitempty"` } func (x *StatementCreateResponse) Reset() { *x = StatementCreateResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatementCreateResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatementCreateResponse) ProtoMessage() {} func (x *StatementCreateResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 StatementCreateResponse.ProtoReflect.Descriptor instead. func (*StatementCreateResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{20} } func (x *StatementCreateResponse) GetStatement() *Statement { if x != nil { return x.Statement } return nil } type StatementRevokeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Seq to revoke. Seq int32 `protobuf:"varint,1,opt,name=seq,proto3" json:"seq,omitempty"` KID string `protobuf:"bytes,2,opt,name=kid,proto3" json:"kid,omitempty"` // Local, if true, won't save to the current key server. Local bool `protobuf:"varint,5,opt,name=local,proto3" json:"local,omitempty"` } func (x *StatementRevokeRequest) Reset() { *x = StatementRevokeRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatementRevokeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatementRevokeRequest) ProtoMessage() {} func (x *StatementRevokeRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 StatementRevokeRequest.ProtoReflect.Descriptor instead. func (*StatementRevokeRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{21} } func (x *StatementRevokeRequest) GetSeq() int32 { if x != nil { return x.Seq } return 0 } func (x *StatementRevokeRequest) GetKID() string { if x != nil { return x.KID } return "" } func (x *StatementRevokeRequest) GetLocal() bool { if x != nil { return x.Local } return false } type StatementRevokeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Statement *Statement `protobuf:"bytes,1,opt,name=statement,proto3" json:"statement,omitempty"` } func (x *StatementRevokeResponse) Reset() { *x = StatementRevokeResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatementRevokeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatementRevokeResponse) ProtoMessage() {} func (x *StatementRevokeResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 StatementRevokeResponse.ProtoReflect.Descriptor instead. func (*StatementRevokeResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{22} } func (x *StatementRevokeResponse) GetStatement() *Statement { if x != nil { return x.Statement } return nil } type SignInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` // In is input file path (if data is not specified). In string `protobuf:"bytes,2,opt,name=in,proto3" json:"in,omitempty"` // Out is output file path (required if in specified). Out string `protobuf:"bytes,3,opt,name=out,proto3" json:"out,omitempty"` Signer string `protobuf:"bytes,5,opt,name=signer,proto3" json:"signer,omitempty"` // Armored, if true, output will be armored. Armored bool `protobuf:"varint,10,opt,name=armored,proto3" json:"armored,omitempty"` // Detached, if true, output will be just the signature. Detached bool `protobuf:"varint,11,opt,name=detached,proto3" json:"detached,omitempty"` } func (x *SignInput) Reset() { *x = SignInput{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SignInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*SignInput) ProtoMessage() {} func (x *SignInput) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 SignInput.ProtoReflect.Descriptor instead. func (*SignInput) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{23} } func (x *SignInput) GetData() []byte { if x != nil { return x.Data } return nil } func (x *SignInput) GetIn() string { if x != nil { return x.In } return "" } func (x *SignInput) GetOut() string { if x != nil { return x.Out } return "" } func (x *SignInput) GetSigner() string { if x != nil { return x.Signer } return "" } func (x *SignInput) GetArmored() bool { if x != nil { return x.Armored } return false } func (x *SignInput) GetDetached() bool { if x != nil { return x.Detached } return false } type SignOutput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Data, signed. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` KID string `protobuf:"bytes,2,opt,name=kid,proto3" json:"kid,omitempty"` } func (x *SignOutput) Reset() { *x = SignOutput{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SignOutput) String() string { return protoimpl.X.MessageStringOf(x) } func (*SignOutput) ProtoMessage() {} func (x *SignOutput) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 SignOutput.ProtoReflect.Descriptor instead. func (*SignOutput) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{24} } func (x *SignOutput) GetData() []byte { if x != nil { return x.Data } return nil } func (x *SignOutput) GetKID() string { if x != nil { return x.KID } return "" } type EncryptOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Armored, if true will return armored string output. Armored bool `protobuf:"varint,1,opt,name=armored,proto3" json:"armored,omitempty"` // Mode is the encryption mode. Mode EncryptMode `protobuf:"varint,2,opt,name=mode,proto3,enum=service.EncryptMode" json:"mode,omitempty"` // NoSenderRecipient if true, won't add sender to recipients list. NoSenderRecipient bool `protobuf:"varint,3,opt,name=noSenderRecipient,proto3" json:"noSenderRecipient,omitempty"` // NoSign if true, won't sign with sender. NoSign bool `protobuf:"varint,4,opt,name=noSign,proto3" json:"noSign,omitempty"` } func (x *EncryptOptions) Reset() { *x = EncryptOptions{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EncryptOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*EncryptOptions) ProtoMessage() {} func (x *EncryptOptions) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 EncryptOptions.ProtoReflect.Descriptor instead. func (*EncryptOptions) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{25} } func (x *EncryptOptions) GetArmored() bool { if x != nil { return x.Armored } return false } func (x *EncryptOptions) GetMode() EncryptMode { if x != nil { return x.Mode } return DefaultEncrypt } func (x *EncryptOptions) GetNoSenderRecipient() bool { if x != nil { return x.NoSenderRecipient } return false } func (x *EncryptOptions) GetNoSign() bool { if x != nil { return x.NoSign } return false } type EncryptRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Data to encrypt. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` // Recipients to encrypt to. Recipients []string `protobuf:"bytes,3,rep,name=recipients,proto3" json:"recipients,omitempty"` // Sender, or anonymous. Sender string `protobuf:"bytes,4,opt,name=sender,proto3" json:"sender,omitempty"` // Options for encrypt. Options *EncryptOptions `protobuf:"bytes,10,opt,name=options,proto3" json:"options,omitempty"` } func (x *EncryptRequest) Reset() { *x = EncryptRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EncryptRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*EncryptRequest) ProtoMessage() {} func (x *EncryptRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 EncryptRequest.ProtoReflect.Descriptor instead. func (*EncryptRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{26} } func (x *EncryptRequest) GetData() []byte { if x != nil { return x.Data } return nil } func (x *EncryptRequest) GetRecipients() []string { if x != nil { return x.Recipients } return nil } func (x *EncryptRequest) GetSender() string { if x != nil { return x.Sender } return "" } func (x *EncryptRequest) GetOptions() *EncryptOptions { if x != nil { return x.Options } return nil } type EncryptResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` Info string `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` } func (x *EncryptResponse) Reset() { *x = EncryptResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EncryptResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*EncryptResponse) ProtoMessage() {} func (x *EncryptResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 EncryptResponse.ProtoReflect.Descriptor instead. func (*EncryptResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{27} } func (x *EncryptResponse) GetData() []byte { if x != nil { return x.Data } return nil } func (x *EncryptResponse) GetInfo() string { if x != nil { return x.Info } return "" } type EncryptFileInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // In is input file path. In string `protobuf:"bytes,1,opt,name=in,proto3" json:"in,omitempty"` // Out is output file path. Out string `protobuf:"bytes,2,opt,name=out,proto3" json:"out,omitempty"` // Recipients to encrypt to. Recipients []string `protobuf:"bytes,3,rep,name=recipients,proto3" json:"recipients,omitempty"` // Sender, or anonymous. Sender string `protobuf:"bytes,4,opt,name=sender,proto3" json:"sender,omitempty"` // Options for encrypt. Options *EncryptOptions `protobuf:"bytes,10,opt,name=options,proto3" json:"options,omitempty"` } func (x *EncryptFileInput) Reset() { *x = EncryptFileInput{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EncryptFileInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*EncryptFileInput) ProtoMessage() {} func (x *EncryptFileInput) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 EncryptFileInput.ProtoReflect.Descriptor instead. func (*EncryptFileInput) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{28} } func (x *EncryptFileInput) GetIn() string { if x != nil { return x.In } return "" } func (x *EncryptFileInput) GetOut() string { if x != nil { return x.Out } return "" } func (x *EncryptFileInput) GetRecipients() []string { if x != nil { return x.Recipients } return nil } func (x *EncryptFileInput) GetSender() string { if x != nil { return x.Sender } return "" } func (x *EncryptFileInput) GetOptions() *EncryptOptions { if x != nil { return x.Options } return nil } type EncryptFileOutput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Out is the output decrypted file path. Out string `protobuf:"bytes,2,opt,name=out,proto3" json:"out,omitempty"` Bytes int32 `protobuf:"varint,10,opt,name=bytes,proto3" json:"bytes,omitempty"` Total int32 `protobuf:"varint,11,opt,name=total,proto3" json:"total,omitempty"` } func (x *EncryptFileOutput) Reset() { *x = EncryptFileOutput{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EncryptFileOutput) String() string { return protoimpl.X.MessageStringOf(x) } func (*EncryptFileOutput) ProtoMessage() {} func (x *EncryptFileOutput) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 EncryptFileOutput.ProtoReflect.Descriptor instead. func (*EncryptFileOutput) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{29} } func (x *EncryptFileOutput) GetOut() string { if x != nil { return x.Out } return "" } func (x *EncryptFileOutput) GetBytes() int32 { if x != nil { return x.Bytes } return 0 } func (x *EncryptFileOutput) GetTotal() int32 { if x != nil { return x.Total } return 0 } type EncryptInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Data to encrypt. Send empty byte slice as last message. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` // Recipients to encrypt to. Recipients []string `protobuf:"bytes,3,rep,name=recipients,proto3" json:"recipients,omitempty"` // Sender, or anonymous. Sender string `protobuf:"bytes,4,opt,name=sender,proto3" json:"sender,omitempty"` // Options for encrypt. Options *EncryptOptions `protobuf:"bytes,10,opt,name=options,proto3" json:"options,omitempty"` } func (x *EncryptInput) Reset() { *x = EncryptInput{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EncryptInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*EncryptInput) ProtoMessage() {} func (x *EncryptInput) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 EncryptInput.ProtoReflect.Descriptor instead. func (*EncryptInput) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{30} } func (x *EncryptInput) GetData() []byte { if x != nil { return x.Data } return nil } func (x *EncryptInput) GetRecipients() []string { if x != nil { return x.Recipients } return nil } func (x *EncryptInput) GetSender() string { if x != nil { return x.Sender } return "" } func (x *EncryptInput) GetOptions() *EncryptOptions { if x != nil { return x.Options } return nil } type EncryptOutput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Data, encrypted. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` } func (x *EncryptOutput) Reset() { *x = EncryptOutput{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EncryptOutput) String() string { return protoimpl.X.MessageStringOf(x) } func (*EncryptOutput) ProtoMessage() {} func (x *EncryptOutput) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 EncryptOutput.ProtoReflect.Descriptor instead. func (*EncryptOutput) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{31} } func (x *EncryptOutput) GetData() []byte { if x != nil { return x.Data } return nil } type DecryptRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Data to decrypt. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` } func (x *DecryptRequest) Reset() { *x = DecryptRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DecryptRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DecryptRequest) ProtoMessage() {} func (x *DecryptRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 DecryptRequest.ProtoReflect.Descriptor instead. func (*DecryptRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{32} } func (x *DecryptRequest) GetData() []byte { if x != nil { return x.Data } return nil } type DecryptResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Data decrypted. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` // Sender (if not anonymous) Sender *Key `protobuf:"bytes,2,opt,name=sender,proto3" json:"sender,omitempty"` // Mode is the encryption mode for the data. Mode EncryptMode `protobuf:"varint,5,opt,name=mode,proto3,enum=service.EncryptMode" json:"mode,omitempty"` } func (x *DecryptResponse) Reset() { *x = DecryptResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DecryptResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DecryptResponse) ProtoMessage() {} func (x *DecryptResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 DecryptResponse.ProtoReflect.Descriptor instead. func (*DecryptResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{33} } func (x *DecryptResponse) GetData() []byte { if x != nil { return x.Data } return nil } func (x *DecryptResponse) GetSender() *Key { if x != nil { return x.Sender } return nil } func (x *DecryptResponse) GetMode() EncryptMode { if x != nil { return x.Mode } return DefaultEncrypt } type DecryptFileInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // In is the input encrypted file path. In string `protobuf:"bytes,1,opt,name=in,proto3" json:"in,omitempty"` // Out is the output file name or directory to save to. Out string `protobuf:"bytes,2,opt,name=out,proto3" json:"out,omitempty"` } func (x *DecryptFileInput) Reset() { *x = DecryptFileInput{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DecryptFileInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*DecryptFileInput) ProtoMessage() {} func (x *DecryptFileInput) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 DecryptFileInput.ProtoReflect.Descriptor instead. func (*DecryptFileInput) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{34} } func (x *DecryptFileInput) GetIn() string { if x != nil { return x.In } return "" } func (x *DecryptFileInput) GetOut() string { if x != nil { return x.Out } return "" } type DecryptFileOutput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Sender *Key `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` // Out is the output file path. Out string `protobuf:"bytes,2,opt,name=out,proto3" json:"out,omitempty"` Bytes int32 `protobuf:"varint,10,opt,name=bytes,proto3" json:"bytes,omitempty"` Total int32 `protobuf:"varint,11,opt,name=total,proto3" json:"total,omitempty"` // Mode is the encryption mode we detected. Mode EncryptMode `protobuf:"varint,5,opt,name=mode,proto3,enum=service.EncryptMode" json:"mode,omitempty"` } func (x *DecryptFileOutput) Reset() { *x = DecryptFileOutput{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DecryptFileOutput) String() string { return protoimpl.X.MessageStringOf(x) } func (*DecryptFileOutput) ProtoMessage() {} func (x *DecryptFileOutput) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 DecryptFileOutput.ProtoReflect.Descriptor instead. func (*DecryptFileOutput) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{35} } func (x *DecryptFileOutput) GetSender() *Key { if x != nil { return x.Sender } return nil } func (x *DecryptFileOutput) GetOut() string { if x != nil { return x.Out } return "" } func (x *DecryptFileOutput) GetBytes() int32 { if x != nil { return x.Bytes } return 0 } func (x *DecryptFileOutput) GetTotal() int32 { if x != nil { return x.Total } return 0 } func (x *DecryptFileOutput) GetMode() EncryptMode { if x != nil { return x.Mode } return DefaultEncrypt } type DecryptInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Data, encrypted. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` } func (x *DecryptInput) Reset() { *x = DecryptInput{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DecryptInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*DecryptInput) ProtoMessage() {} func (x *DecryptInput) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 DecryptInput.ProtoReflect.Descriptor instead. func (*DecryptInput) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{36} } func (x *DecryptInput) GetData() []byte { if x != nil { return x.Data } return nil } type DecryptOutput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Data, decrypted. If empty, is EOF. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` // Sender (if not anonymous) Sender *Key `protobuf:"bytes,2,opt,name=sender,proto3" json:"sender,omitempty"` // Mode is the encryption mode for the data. Mode EncryptMode `protobuf:"varint,5,opt,name=mode,proto3,enum=service.EncryptMode" json:"mode,omitempty"` } func (x *DecryptOutput) Reset() { *x = DecryptOutput{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DecryptOutput) String() string { return protoimpl.X.MessageStringOf(x) } func (*DecryptOutput) ProtoMessage() {} func (x *DecryptOutput) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 DecryptOutput.ProtoReflect.Descriptor instead. func (*DecryptOutput) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{37} } func (x *DecryptOutput) GetData() []byte { if x != nil { return x.Data } return nil } func (x *DecryptOutput) GetSender() *Key { if x != nil { return x.Sender } return nil } func (x *DecryptOutput) GetMode() EncryptMode { if x != nil { return x.Mode } return DefaultEncrypt } type RuntimeStatusRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RuntimeStatusRequest) Reset() { *x = RuntimeStatusRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RuntimeStatusRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RuntimeStatusRequest) ProtoMessage() {} func (x *RuntimeStatusRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 RuntimeStatusRequest.ProtoReflect.Descriptor instead. func (*RuntimeStatusRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{38} } type RuntimeStatusResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Version of running service. Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` // AppName app name. AppName string `protobuf:"bytes,2,opt,name=appName,proto3" json:"appName,omitempty"` // Exe is the service executable path. Exe string `protobuf:"bytes,4,opt,name=exe,proto3" json:"exe,omitempty"` // AuthStatus is the status of auth. AuthStatus AuthStatus `protobuf:"varint,5,opt,name=authStatus,proto3,enum=service.AuthStatus" json:"authStatus,omitempty"` // SyncStatus is the status of vault sync. Sync bool `protobuf:"varint,6,opt,name=sync,proto3" json:"sync,omitempty"` // FIDO2 available. FIDO2 bool `protobuf:"varint,20,opt,name=fido2,proto3" json:"fido2,omitempty"` } func (x *RuntimeStatusResponse) Reset() { *x = RuntimeStatusResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RuntimeStatusResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RuntimeStatusResponse) ProtoMessage() {} func (x *RuntimeStatusResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 RuntimeStatusResponse.ProtoReflect.Descriptor instead. func (*RuntimeStatusResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{39} } func (x *RuntimeStatusResponse) GetVersion() string { if x != nil { return x.Version } return "" } func (x *RuntimeStatusResponse) GetAppName() string { if x != nil { return x.AppName } return "" } func (x *RuntimeStatusResponse) GetExe() string { if x != nil { return x.Exe } return "" } func (x *RuntimeStatusResponse) GetAuthStatus() AuthStatus { if x != nil { return x.AuthStatus } return AuthUnknown } func (x *RuntimeStatusResponse) GetSync() bool { if x != nil { return x.Sync } return false } func (x *RuntimeStatusResponse) GetFIDO2() bool { if x != nil { return x.FIDO2 } return false } type AuthSetupRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Secret for auth depending on auth type, e.g. password, FIDO2 pin, etc. Secret string `protobuf:"bytes,1,opt,name=secret,proto3" json:"secret,omitempty"` // Type for auth. Type AuthType `protobuf:"varint,2,opt,name=type,proto3,enum=service.AuthType" json:"type,omitempty"` // Device path (for FIDO2). Device string `protobuf:"bytes,5,opt,name=device,proto3" json:"device,omitempty"` } func (x *AuthSetupRequest) Reset() { *x = AuthSetupRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthSetupRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthSetupRequest) ProtoMessage() {} func (x *AuthSetupRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_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 AuthSetupRequest.ProtoReflect.Descriptor instead. func (*AuthSetupRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{40} } func (x *AuthSetupRequest) GetSecret() string { if x != nil { return x.Secret } return "" } func (x *AuthSetupRequest) GetType() AuthType { if x != nil { return x.Type } return UnknownAuth } func (x *AuthSetupRequest) GetDevice() string { if x != nil { return x.Device } return "" } type AuthSetupResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *AuthSetupResponse) Reset() { *x = AuthSetupResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthSetupResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthSetupResponse) ProtoMessage() {} func (x *AuthSetupResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[41] 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 AuthSetupResponse.ProtoReflect.Descriptor instead. func (*AuthSetupResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{41} } type AuthVaultRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Phrase string `protobuf:"bytes,1,opt,name=phrase,proto3" json:"phrase,omitempty"` } func (x *AuthVaultRequest) Reset() { *x = AuthVaultRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthVaultRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthVaultRequest) ProtoMessage() {} func (x *AuthVaultRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[42] 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 AuthVaultRequest.ProtoReflect.Descriptor instead. func (*AuthVaultRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{42} } func (x *AuthVaultRequest) GetPhrase() string { if x != nil { return x.Phrase } return "" } type AuthVaultResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *AuthVaultResponse) Reset() { *x = AuthVaultResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthVaultResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthVaultResponse) ProtoMessage() {} func (x *AuthVaultResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[43] 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 AuthVaultResponse.ProtoReflect.Descriptor instead. func (*AuthVaultResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{43} } type AuthUnlockRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Secret for auth depending on auth type, e.g. password, pin, etc. Secret string `protobuf:"bytes,1,opt,name=secret,proto3" json:"secret,omitempty"` // Type for auth. Type AuthType `protobuf:"varint,2,opt,name=type,proto3,enum=service.AuthType" json:"type,omitempty"` // Client name. Client string `protobuf:"bytes,6,opt,name=client,proto3" json:"client,omitempty"` } func (x *AuthUnlockRequest) Reset() { *x = AuthUnlockRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthUnlockRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthUnlockRequest) ProtoMessage() {} func (x *AuthUnlockRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[44] 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 AuthUnlockRequest.ProtoReflect.Descriptor instead. func (*AuthUnlockRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{44} } func (x *AuthUnlockRequest) GetSecret() string { if x != nil { return x.Secret } return "" } func (x *AuthUnlockRequest) GetType() AuthType { if x != nil { return x.Type } return UnknownAuth } func (x *AuthUnlockRequest) GetClient() string { if x != nil { return x.Client } return "" } type AuthUnlockResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // AuthToken to use for requests. AuthToken string `protobuf:"bytes,1,opt,name=authToken,proto3" json:"authToken,omitempty"` } func (x *AuthUnlockResponse) Reset() { *x = AuthUnlockResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthUnlockResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthUnlockResponse) ProtoMessage() {} func (x *AuthUnlockResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[45] 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 AuthUnlockResponse.ProtoReflect.Descriptor instead. func (*AuthUnlockResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{45} } func (x *AuthUnlockResponse) GetAuthToken() string { if x != nil { return x.AuthToken } return "" } type AuthProvisionRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Secret for auth depending on auth type, e.g. password, phrase, FIDO2 pin, etc. Secret string `protobuf:"bytes,1,opt,name=secret,proto3" json:"secret,omitempty"` // Type for auth. Type AuthType `protobuf:"varint,2,opt,name=type,proto3,enum=service.AuthType" json:"type,omitempty"` // Device path (for FIDO2). Device string `protobuf:"bytes,5,opt,name=device,proto3" json:"device,omitempty"` // Generate (for FIDO2 make credential). Generate bool `protobuf:"varint,7,opt,name=generate,proto3" json:"generate,omitempty"` } func (x *AuthProvisionRequest) Reset() { *x = AuthProvisionRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthProvisionRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthProvisionRequest) ProtoMessage() {} func (x *AuthProvisionRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[46] 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 AuthProvisionRequest.ProtoReflect.Descriptor instead. func (*AuthProvisionRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{46} } func (x *AuthProvisionRequest) GetSecret() string { if x != nil { return x.Secret } return "" } func (x *AuthProvisionRequest) GetType() AuthType { if x != nil { return x.Type } return UnknownAuth } func (x *AuthProvisionRequest) GetDevice() string { if x != nil { return x.Device } return "" } func (x *AuthProvisionRequest) GetGenerate() bool { if x != nil { return x.Generate } return false } type AuthProvisionResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Provision *AuthProvision `protobuf:"bytes,1,opt,name=provision,proto3" json:"provision,omitempty"` } func (x *AuthProvisionResponse) Reset() { *x = AuthProvisionResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthProvisionResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthProvisionResponse) ProtoMessage() {} func (x *AuthProvisionResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[47] 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 AuthProvisionResponse.ProtoReflect.Descriptor instead. func (*AuthProvisionResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{47} } func (x *AuthProvisionResponse) GetProvision() *AuthProvision { if x != nil { return x.Provision } return nil } type AuthDeprovisionRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ID string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *AuthDeprovisionRequest) Reset() { *x = AuthDeprovisionRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthDeprovisionRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthDeprovisionRequest) ProtoMessage() {} func (x *AuthDeprovisionRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[48] 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 AuthDeprovisionRequest.ProtoReflect.Descriptor instead. func (*AuthDeprovisionRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{48} } func (x *AuthDeprovisionRequest) GetID() string { if x != nil { return x.ID } return "" } type AuthDeprovisionResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *AuthDeprovisionResponse) Reset() { *x = AuthDeprovisionResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthDeprovisionResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthDeprovisionResponse) ProtoMessage() {} func (x *AuthDeprovisionResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[49] 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 AuthDeprovisionResponse.ProtoReflect.Descriptor instead. func (*AuthDeprovisionResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{49} } type AuthPasswordChangeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Old string `protobuf:"bytes,1,opt,name=old,proto3" json:"old,omitempty"` New string `protobuf:"bytes,2,opt,name=new,proto3" json:"new,omitempty"` } func (x *AuthPasswordChangeRequest) Reset() { *x = AuthPasswordChangeRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthPasswordChangeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthPasswordChangeRequest) ProtoMessage() {} func (x *AuthPasswordChangeRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[50] 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 AuthPasswordChangeRequest.ProtoReflect.Descriptor instead. func (*AuthPasswordChangeRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{50} } func (x *AuthPasswordChangeRequest) GetOld() string { if x != nil { return x.Old } return "" } func (x *AuthPasswordChangeRequest) GetNew() string { if x != nil { return x.New } return "" } type AuthPasswordChangeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *AuthPasswordChangeResponse) Reset() { *x = AuthPasswordChangeResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthPasswordChangeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthPasswordChangeResponse) ProtoMessage() {} func (x *AuthPasswordChangeResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[51] 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 AuthPasswordChangeResponse.ProtoReflect.Descriptor instead. func (*AuthPasswordChangeResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{51} } type AuthProvision struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ID string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Type AuthType `protobuf:"varint,2,opt,name=type,proto3,enum=service.AuthType" json:"type,omitempty"` CreatedAt int64 `protobuf:"varint,3,opt,name=createdAt,proto3" json:"createdAt,omitempty"` // For FIDO2 // AAGUID is a device "identifier" (only unique across batches for privacy reasons). AAGUID string `protobuf:"bytes,100,opt,name=aaguid,proto3" json:"aaguid,omitempty"` NoPin bool `protobuf:"varint,101,opt,name=noPin,proto3" json:"noPin,omitempty"` } func (x *AuthProvision) Reset() { *x = AuthProvision{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthProvision) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthProvision) ProtoMessage() {} func (x *AuthProvision) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[52] 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 AuthProvision.ProtoReflect.Descriptor instead. func (*AuthProvision) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{52} } func (x *AuthProvision) GetID() string { if x != nil { return x.ID } return "" } func (x *AuthProvision) GetType() AuthType { if x != nil { return x.Type } return UnknownAuth } func (x *AuthProvision) GetCreatedAt() int64 { if x != nil { return x.CreatedAt } return 0 } func (x *AuthProvision) GetAAGUID() string { if x != nil { return x.AAGUID } return "" } func (x *AuthProvision) GetNoPin() bool { if x != nil { return x.NoPin } return false } type AuthProvisionsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *AuthProvisionsRequest) Reset() { *x = AuthProvisionsRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthProvisionsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthProvisionsRequest) ProtoMessage() {} func (x *AuthProvisionsRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[53] 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 AuthProvisionsRequest.ProtoReflect.Descriptor instead. func (*AuthProvisionsRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{53} } type AuthProvisionsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Provisions []*AuthProvision `protobuf:"bytes,1,rep,name=provisions,proto3" json:"provisions,omitempty"` } func (x *AuthProvisionsResponse) Reset() { *x = AuthProvisionsResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthProvisionsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthProvisionsResponse) ProtoMessage() {} func (x *AuthProvisionsResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[54] 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 AuthProvisionsResponse.ProtoReflect.Descriptor instead. func (*AuthProvisionsResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{54} } func (x *AuthProvisionsResponse) GetProvisions() []*AuthProvision { if x != nil { return x.Provisions } return nil } type AuthLockRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *AuthLockRequest) Reset() { *x = AuthLockRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthLockRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthLockRequest) ProtoMessage() {} func (x *AuthLockRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[55] 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 AuthLockRequest.ProtoReflect.Descriptor instead. func (*AuthLockRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{55} } type AuthLockResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *AuthLockResponse) Reset() { *x = AuthLockResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthLockResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthLockResponse) ProtoMessage() {} func (x *AuthLockResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[56] 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 AuthLockResponse.ProtoReflect.Descriptor instead. func (*AuthLockResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{56} } type AuthResetRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AppName string `protobuf:"bytes,1,opt,name=appName,proto3" json:"appName,omitempty"` } func (x *AuthResetRequest) Reset() { *x = AuthResetRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthResetRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthResetRequest) ProtoMessage() {} func (x *AuthResetRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[57] 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 AuthResetRequest.ProtoReflect.Descriptor instead. func (*AuthResetRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{57} } func (x *AuthResetRequest) GetAppName() string { if x != nil { return x.AppName } return "" } type AuthResetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *AuthResetResponse) Reset() { *x = AuthResetResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthResetResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthResetResponse) ProtoMessage() {} func (x *AuthResetResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[58] 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 AuthResetResponse.ProtoReflect.Descriptor instead. func (*AuthResetResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{58} } type AuthRecoverRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PaperKey string `protobuf:"bytes,1,opt,name=paperKey,proto3" json:"paperKey,omitempty"` NewPassword string `protobuf:"bytes,2,opt,name=newPassword,proto3" json:"newPassword,omitempty"` } func (x *AuthRecoverRequest) Reset() { *x = AuthRecoverRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthRecoverRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthRecoverRequest) ProtoMessage() {} func (x *AuthRecoverRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[59] 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 AuthRecoverRequest.ProtoReflect.Descriptor instead. func (*AuthRecoverRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{59} } func (x *AuthRecoverRequest) GetPaperKey() string { if x != nil { return x.PaperKey } return "" } func (x *AuthRecoverRequest) GetNewPassword() string { if x != nil { return x.NewPassword } return "" } type AuthRecoverResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AuthToken string `protobuf:"bytes,1,opt,name=authToken,proto3" json:"authToken,omitempty"` } func (x *AuthRecoverResponse) Reset() { *x = AuthRecoverResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthRecoverResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthRecoverResponse) ProtoMessage() {} func (x *AuthRecoverResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[60] 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 AuthRecoverResponse.ProtoReflect.Descriptor instead. func (*AuthRecoverResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{60} } func (x *AuthRecoverResponse) GetAuthToken() string { if x != nil { return x.AuthToken } return "" } type KeyGenerateRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` } func (x *KeyGenerateRequest) Reset() { *x = KeyGenerateRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KeyGenerateRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeyGenerateRequest) ProtoMessage() {} func (x *KeyGenerateRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[61] 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 KeyGenerateRequest.ProtoReflect.Descriptor instead. func (*KeyGenerateRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{61} } func (x *KeyGenerateRequest) GetType() string { if x != nil { return x.Type } return "" } type KeyGenerateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields KID string `protobuf:"bytes,1,opt,name=kid,proto3" json:"kid,omitempty"` } func (x *KeyGenerateResponse) Reset() { *x = KeyGenerateResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KeyGenerateResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeyGenerateResponse) ProtoMessage() {} func (x *KeyGenerateResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[62] 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 KeyGenerateResponse.ProtoReflect.Descriptor instead. func (*KeyGenerateResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{62} } func (x *KeyGenerateResponse) GetKID() string { if x != nil { return x.KID } return "" } type UserServiceRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // KID to use, or if empty the current key. KID string `protobuf:"bytes,1,opt,name=kid,proto3" json:"kid,omitempty"` // Service such as twitter, github. Service string `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"` } func (x *UserServiceRequest) Reset() { *x = UserServiceRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserServiceRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserServiceRequest) ProtoMessage() {} func (x *UserServiceRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[63] 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 UserServiceRequest.ProtoReflect.Descriptor instead. func (*UserServiceRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{63} } func (x *UserServiceRequest) GetKID() string { if x != nil { return x.KID } return "" } func (x *UserServiceRequest) GetService() string { if x != nil { return x.Service } return "" } type UserServiceResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Service such as twitter, github. Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` } func (x *UserServiceResponse) Reset() { *x = UserServiceResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserServiceResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserServiceResponse) ProtoMessage() {} func (x *UserServiceResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[64] 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 UserServiceResponse.ProtoReflect.Descriptor instead. func (*UserServiceResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{64} } func (x *UserServiceResponse) GetService() string { if x != nil { return x.Service } return "" } type UserSignRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // KID to use, or if empty the current key. KID string `protobuf:"bytes,1,opt,name=kid,proto3" json:"kid,omitempty"` // Service such as twitter, github. Service string `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"` // Name is username on the service. Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` } func (x *UserSignRequest) Reset() { *x = UserSignRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserSignRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserSignRequest) ProtoMessage() {} func (x *UserSignRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[65] 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 UserSignRequest.ProtoReflect.Descriptor instead. func (*UserSignRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{65} } func (x *UserSignRequest) GetKID() string { if x != nil { return x.KID } return "" } func (x *UserSignRequest) GetService() string { if x != nil { return x.Service } return "" } func (x *UserSignRequest) GetName() string { if x != nil { return x.Name } return "" } type UserSignResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Message is signed message. Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` // Name in request. Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` } func (x *UserSignResponse) Reset() { *x = UserSignResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserSignResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserSignResponse) ProtoMessage() {} func (x *UserSignResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[66] 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 UserSignResponse.ProtoReflect.Descriptor instead. func (*UserSignResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{66} } func (x *UserSignResponse) GetMessage() string { if x != nil { return x.Message } return "" } func (x *UserSignResponse) GetName() string { if x != nil { return x.Name } return "" } type UserAddRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // KID to use, or if empty the current key. KID string `protobuf:"bytes,1,opt,name=kid,proto3" json:"kid,omitempty"` // Service such as twitter, github. Service string `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"` // Name is username on the service. Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // URL is location of signed message on the service. URL string `protobuf:"bytes,4,opt,name=url,proto3" json:"url,omitempty"` // Local, if true, won't save to the current key server. Local bool `protobuf:"varint,5,opt,name=local,proto3" json:"local,omitempty"` } func (x *UserAddRequest) Reset() { *x = UserAddRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserAddRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserAddRequest) ProtoMessage() {} func (x *UserAddRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[67] 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 UserAddRequest.ProtoReflect.Descriptor instead. func (*UserAddRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{67} } func (x *UserAddRequest) GetKID() string { if x != nil { return x.KID } return "" } func (x *UserAddRequest) GetService() string { if x != nil { return x.Service } return "" } func (x *UserAddRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *UserAddRequest) GetURL() string { if x != nil { return x.URL } return "" } func (x *UserAddRequest) GetLocal() bool { if x != nil { return x.Local } return false } type UserAddResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` Statement *Statement `protobuf:"bytes,2,opt,name=statement,proto3" json:"statement,omitempty"` } func (x *UserAddResponse) Reset() { *x = UserAddResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserAddResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserAddResponse) ProtoMessage() {} func (x *UserAddResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[68] 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 UserAddResponse.ProtoReflect.Descriptor instead. func (*UserAddResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{68} } func (x *UserAddResponse) GetUser() *User { if x != nil { return x.User } return nil } func (x *UserAddResponse) GetStatement() *Statement { if x != nil { return x.Statement } return nil } type KeyExportRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields KID string `protobuf:"bytes,1,opt,name=kid,proto3" json:"kid,omitempty"` Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` Type ExportType `protobuf:"varint,3,opt,name=type,proto3,enum=service.ExportType" json:"type,omitempty"` Public bool `protobuf:"varint,4,opt,name=public,proto3" json:"public,omitempty"` NoPassword bool `protobuf:"varint,5,opt,name=noPassword,proto3" json:"noPassword,omitempty"` } func (x *KeyExportRequest) Reset() { *x = KeyExportRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KeyExportRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeyExportRequest) ProtoMessage() {} func (x *KeyExportRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[69] 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 KeyExportRequest.ProtoReflect.Descriptor instead. func (*KeyExportRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{69} } func (x *KeyExportRequest) GetKID() string { if x != nil { return x.KID } return "" } func (x *KeyExportRequest) GetPassword() string { if x != nil { return x.Password } return "" } func (x *KeyExportRequest) GetType() ExportType { if x != nil { return x.Type } return DefaultExport } func (x *KeyExportRequest) GetPublic() bool { if x != nil { return x.Public } return false } func (x *KeyExportRequest) GetNoPassword() bool { if x != nil { return x.NoPassword } return false } type KeyExportResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Export []byte `protobuf:"bytes,1,opt,name=export,proto3" json:"export,omitempty"` } func (x *KeyExportResponse) Reset() { *x = KeyExportResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KeyExportResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeyExportResponse) ProtoMessage() {} func (x *KeyExportResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[70] 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 KeyExportResponse.ProtoReflect.Descriptor instead. func (*KeyExportResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{70} } func (x *KeyExportResponse) GetExport() []byte { if x != nil { return x.Export } return nil } type KeyImportRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields In []byte `protobuf:"bytes,1,opt,name=in,proto3" json:"in,omitempty"` Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` Update bool `protobuf:"varint,3,opt,name=update,proto3" json:"update,omitempty"` } func (x *KeyImportRequest) Reset() { *x = KeyImportRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KeyImportRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeyImportRequest) ProtoMessage() {} func (x *KeyImportRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[71] 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 KeyImportRequest.ProtoReflect.Descriptor instead. func (*KeyImportRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{71} } func (x *KeyImportRequest) GetIn() []byte { if x != nil { return x.In } return nil } func (x *KeyImportRequest) GetPassword() string { if x != nil { return x.Password } return "" } func (x *KeyImportRequest) GetUpdate() bool { if x != nil { return x.Update } return false } type KeyImportResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields KID string `protobuf:"bytes,1,opt,name=kid,proto3" json:"kid,omitempty"` } func (x *KeyImportResponse) Reset() { *x = KeyImportResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KeyImportResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeyImportResponse) ProtoMessage() {} func (x *KeyImportResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[72] 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 KeyImportResponse.ProtoReflect.Descriptor instead. func (*KeyImportResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{72} } func (x *KeyImportResponse) GetKID() string { if x != nil { return x.KID } return "" } type KeyRemoveRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // KID of key to remove. KID string `protobuf:"bytes,1,opt,name=kid,proto3" json:"kid,omitempty"` } func (x *KeyRemoveRequest) Reset() { *x = KeyRemoveRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KeyRemoveRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeyRemoveRequest) ProtoMessage() {} func (x *KeyRemoveRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[73] 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 KeyRemoveRequest.ProtoReflect.Descriptor instead. func (*KeyRemoveRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{73} } func (x *KeyRemoveRequest) GetKID() string { if x != nil { return x.KID } return "" } type KeyRemoveResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *KeyRemoveResponse) Reset() { *x = KeyRemoveResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KeyRemoveResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeyRemoveResponse) ProtoMessage() {} func (x *KeyRemoveResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[74] 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 KeyRemoveResponse.ProtoReflect.Descriptor instead. func (*KeyRemoveResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{74} } type Key struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // ID identifier. ID string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Type of key. Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` // IsPrivate if private key. IsPrivate bool `protobuf:"varint,4,opt,name=isPrivate,proto3" json:"isPrivate,omitempty"` // User associated with this key. User *User `protobuf:"bytes,6,opt,name=user,proto3" json:"user,omitempty"` // Saved if saved locally. Saved bool `protobuf:"varint,10,opt,name=saved,proto3" json:"saved,omitempty"` // SigchainLength is length of sigchain (if any). SigchainLength int32 `protobuf:"varint,40,opt,name=sigchainLength,proto3" json:"sigchainLength,omitempty"` SigchainUpdatedAt int64 `protobuf:"varint,41,opt,name=sigchainUpdatedAt,proto3" json:"sigchainUpdatedAt,omitempty"` } func (x *Key) Reset() { *x = Key{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Key) String() string { return protoimpl.X.MessageStringOf(x) } func (*Key) ProtoMessage() {} func (x *Key) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[75] 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 Key.ProtoReflect.Descriptor instead. func (*Key) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{75} } func (x *Key) GetID() string { if x != nil { return x.ID } return "" } func (x *Key) GetType() string { if x != nil { return x.Type } return "" } func (x *Key) GetIsPrivate() bool { if x != nil { return x.IsPrivate } return false } func (x *Key) GetUser() *User { if x != nil { return x.User } return nil } func (x *Key) GetSaved() bool { if x != nil { return x.Saved } return false } func (x *Key) GetSigchainLength() int32 { if x != nil { return x.SigchainLength } return 0 } func (x *Key) GetSigchainUpdatedAt() int64 { if x != nil { return x.SigchainUpdatedAt } return 0 } type KeyRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Key can be kid or user@service. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // Search, if true, will search for the key on the server. Search bool `protobuf:"varint,4,opt,name=search,proto3" json:"search,omitempty"` // Update, if true, will update the sigchain from the server. Update bool `protobuf:"varint,5,opt,name=update,proto3" json:"update,omitempty"` } func (x *KeyRequest) Reset() { *x = KeyRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KeyRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeyRequest) ProtoMessage() {} func (x *KeyRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[76] 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 KeyRequest.ProtoReflect.Descriptor instead. func (*KeyRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{76} } func (x *KeyRequest) GetKey() string { if x != nil { return x.Key } return "" } func (x *KeyRequest) GetSearch() bool { if x != nil { return x.Search } return false } func (x *KeyRequest) GetUpdate() bool { if x != nil { return x.Update } return false } type KeyResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key *Key `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` } func (x *KeyResponse) Reset() { *x = KeyResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KeyResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeyResponse) ProtoMessage() {} func (x *KeyResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[77] 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 KeyResponse.ProtoReflect.Descriptor instead. func (*KeyResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{77} } func (x *KeyResponse) GetKey() *Key { if x != nil { return x.Key } return nil } type KeysRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` Types []string `protobuf:"bytes,2,rep,name=types,proto3" json:"types,omitempty"` SortField string `protobuf:"bytes,10,opt,name=sortField,proto3" json:"sortField,omitempty"` SortDirection SortDirection `protobuf:"varint,11,opt,name=sortDirection,proto3,enum=service.SortDirection" json:"sortDirection,omitempty"` } func (x *KeysRequest) Reset() { *x = KeysRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KeysRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeysRequest) ProtoMessage() {} func (x *KeysRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[78] 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 KeysRequest.ProtoReflect.Descriptor instead. func (*KeysRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{78} } func (x *KeysRequest) GetQuery() string { if x != nil { return x.Query } return "" } func (x *KeysRequest) GetTypes() []string { if x != nil { return x.Types } return nil } func (x *KeysRequest) GetSortField() string { if x != nil { return x.SortField } return "" } func (x *KeysRequest) GetSortDirection() SortDirection { if x != nil { return x.SortDirection } return SortAsc } type KeysResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Keys []*Key `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` SortField string `protobuf:"bytes,10,opt,name=sortField,proto3" json:"sortField,omitempty"` SortDirection SortDirection `protobuf:"varint,11,opt,name=sortDirection,proto3,enum=service.SortDirection" json:"sortDirection,omitempty"` } func (x *KeysResponse) Reset() { *x = KeysResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KeysResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeysResponse) ProtoMessage() {} func (x *KeysResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[79] 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 KeysResponse.ProtoReflect.Descriptor instead. func (*KeysResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{79} } func (x *KeysResponse) GetKeys() []*Key { if x != nil { return x.Keys } return nil } func (x *KeysResponse) GetSortField() string { if x != nil { return x.SortField } return "" } func (x *KeysResponse) GetSortDirection() SortDirection { if x != nil { return x.SortDirection } return SortAsc } type Secret struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ID string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Type SecretType `protobuf:"varint,3,opt,name=type,proto3,enum=service.SecretType" json:"type,omitempty"` Username string `protobuf:"bytes,10,opt,name=username,proto3" json:"username,omitempty"` Password string `protobuf:"bytes,11,opt,name=password,proto3" json:"password,omitempty"` URL string `protobuf:"bytes,20,opt,name=url,proto3" json:"url,omitempty"` Notes string `protobuf:"bytes,30,opt,name=notes,proto3" json:"notes,omitempty"` CreatedAt int64 `protobuf:"varint,100,opt,name=createdAt,proto3" json:"createdAt,omitempty"` UpdatedAt int64 `protobuf:"varint,101,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` } func (x *Secret) Reset() { *x = Secret{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Secret) String() string { return protoimpl.X.MessageStringOf(x) } func (*Secret) ProtoMessage() {} func (x *Secret) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[80] 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 Secret.ProtoReflect.Descriptor instead. func (*Secret) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{80} } func (x *Secret) GetID() string { if x != nil { return x.ID } return "" } func (x *Secret) GetName() string { if x != nil { return x.Name } return "" } func (x *Secret) GetType() SecretType { if x != nil { return x.Type } return UnknownSecret } func (x *Secret) GetUsername() string { if x != nil { return x.Username } return "" } func (x *Secret) GetPassword() string { if x != nil { return x.Password } return "" } func (x *Secret) GetURL() string { if x != nil { return x.URL } return "" } func (x *Secret) GetNotes() string { if x != nil { return x.Notes } return "" } func (x *Secret) GetCreatedAt() int64 { if x != nil { return x.CreatedAt } return 0 } func (x *Secret) GetUpdatedAt() int64 { if x != nil { return x.UpdatedAt } return 0 } type SecretRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ID string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *SecretRequest) Reset() { *x = SecretRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SecretRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SecretRequest) ProtoMessage() {} func (x *SecretRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[81] 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 SecretRequest.ProtoReflect.Descriptor instead. func (*SecretRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{81} } func (x *SecretRequest) GetID() string { if x != nil { return x.ID } return "" } type SecretResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Secret *Secret `protobuf:"bytes,1,opt,name=secret,proto3" json:"secret,omitempty"` } func (x *SecretResponse) Reset() { *x = SecretResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SecretResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SecretResponse) ProtoMessage() {} func (x *SecretResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[82] 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 SecretResponse.ProtoReflect.Descriptor instead. func (*SecretResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{82} } func (x *SecretResponse) GetSecret() *Secret { if x != nil { return x.Secret } return nil } type SecretSaveRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Secret *Secret `protobuf:"bytes,1,opt,name=secret,proto3" json:"secret,omitempty"` } func (x *SecretSaveRequest) Reset() { *x = SecretSaveRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SecretSaveRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SecretSaveRequest) ProtoMessage() {} func (x *SecretSaveRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[83] 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 SecretSaveRequest.ProtoReflect.Descriptor instead. func (*SecretSaveRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{83} } func (x *SecretSaveRequest) GetSecret() *Secret { if x != nil { return x.Secret } return nil } type SecretSaveResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Secret *Secret `protobuf:"bytes,1,opt,name=secret,proto3" json:"secret,omitempty"` } func (x *SecretSaveResponse) Reset() { *x = SecretSaveResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SecretSaveResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SecretSaveResponse) ProtoMessage() {} func (x *SecretSaveResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[84] 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 SecretSaveResponse.ProtoReflect.Descriptor instead. func (*SecretSaveResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{84} } func (x *SecretSaveResponse) GetSecret() *Secret { if x != nil { return x.Secret } return nil } type SecretRemoveRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ID string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *SecretRemoveRequest) Reset() { *x = SecretRemoveRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SecretRemoveRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SecretRemoveRequest) ProtoMessage() {} func (x *SecretRemoveRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[85] 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 SecretRemoveRequest.ProtoReflect.Descriptor instead. func (*SecretRemoveRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{85} } func (x *SecretRemoveRequest) GetID() string { if x != nil { return x.ID } return "" } type SecretRemoveResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *SecretRemoveResponse) Reset() { *x = SecretRemoveResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SecretRemoveResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SecretRemoveResponse) ProtoMessage() {} func (x *SecretRemoveResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[86] 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 SecretRemoveResponse.ProtoReflect.Descriptor instead. func (*SecretRemoveResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{86} } type SecretsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` SortField string `protobuf:"bytes,10,opt,name=sortField,proto3" json:"sortField,omitempty"` SortDirection SortDirection `protobuf:"varint,11,opt,name=sortDirection,proto3,enum=service.SortDirection" json:"sortDirection,omitempty"` } func (x *SecretsRequest) Reset() { *x = SecretsRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SecretsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SecretsRequest) ProtoMessage() {} func (x *SecretsRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[87] 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 SecretsRequest.ProtoReflect.Descriptor instead. func (*SecretsRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{87} } func (x *SecretsRequest) GetQuery() string { if x != nil { return x.Query } return "" } func (x *SecretsRequest) GetSortField() string { if x != nil { return x.SortField } return "" } func (x *SecretsRequest) GetSortDirection() SortDirection { if x != nil { return x.SortDirection } return SortAsc } type SecretsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Secrets []*Secret `protobuf:"bytes,1,rep,name=secrets,proto3" json:"secrets,omitempty"` SortField string `protobuf:"bytes,10,opt,name=sortField,proto3" json:"sortField,omitempty"` SortDirection SortDirection `protobuf:"varint,11,opt,name=sortDirection,proto3,enum=service.SortDirection" json:"sortDirection,omitempty"` } func (x *SecretsResponse) Reset() { *x = SecretsResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SecretsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SecretsResponse) ProtoMessage() {} func (x *SecretsResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[88] 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 SecretsResponse.ProtoReflect.Descriptor instead. func (*SecretsResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{88} } func (x *SecretsResponse) GetSecrets() []*Secret { if x != nil { return x.Secrets } return nil } func (x *SecretsResponse) GetSortField() string { if x != nil { return x.SortField } return "" } func (x *SecretsResponse) GetSortDirection() SortDirection { if x != nil { return x.SortDirection } return SortAsc } type RandRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NumBytes int32 `protobuf:"varint,1,opt,name=numBytes,proto3" json:"numBytes,omitempty"` Encoding Encoding `protobuf:"varint,2,opt,name=encoding,proto3,enum=service.Encoding" json:"encoding,omitempty"` NoPadding bool `protobuf:"varint,10,opt,name=noPadding,proto3" json:"noPadding,omitempty"` Lowercase bool `protobuf:"varint,11,opt,name=lowercase,proto3" json:"lowercase,omitempty"` } func (x *RandRequest) Reset() { *x = RandRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RandRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RandRequest) ProtoMessage() {} func (x *RandRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[89] 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 RandRequest.ProtoReflect.Descriptor instead. func (*RandRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{89} } func (x *RandRequest) GetNumBytes() int32 { if x != nil { return x.NumBytes } return 0 } func (x *RandRequest) GetEncoding() Encoding { if x != nil { return x.Encoding } return Hex } func (x *RandRequest) GetNoPadding() bool { if x != nil { return x.NoPadding } return false } func (x *RandRequest) GetLowercase() bool { if x != nil { return x.Lowercase } return false } type RandResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data string `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` } func (x *RandResponse) Reset() { *x = RandResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RandResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RandResponse) ProtoMessage() {} func (x *RandResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[90] 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 RandResponse.ProtoReflect.Descriptor instead. func (*RandResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{90} } func (x *RandResponse) GetData() string { if x != nil { return x.Data } return "" } type RandPasswordRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Length int32 `protobuf:"varint,1,opt,name=length,proto3" json:"length,omitempty"` } func (x *RandPasswordRequest) Reset() { *x = RandPasswordRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RandPasswordRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RandPasswordRequest) ProtoMessage() {} func (x *RandPasswordRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[91] 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 RandPasswordRequest.ProtoReflect.Descriptor instead. func (*RandPasswordRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{91} } func (x *RandPasswordRequest) GetLength() int32 { if x != nil { return x.Length } return 0 } type RandPasswordResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Password string `protobuf:"bytes,1,opt,name=password,proto3" json:"password,omitempty"` } func (x *RandPasswordResponse) Reset() { *x = RandPasswordResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RandPasswordResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RandPasswordResponse) ProtoMessage() {} func (x *RandPasswordResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[92] 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 RandPasswordResponse.ProtoReflect.Descriptor instead. func (*RandPasswordResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{92} } func (x *RandPasswordResponse) GetPassword() string { if x != nil { return x.Password } return "" } type PullRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` } func (x *PullRequest) Reset() { *x = PullRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PullRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*PullRequest) ProtoMessage() {} func (x *PullRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[93] 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 PullRequest.ProtoReflect.Descriptor instead. func (*PullRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{93} } func (x *PullRequest) GetKey() string { if x != nil { return x.Key } return "" } type PullResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields KIDs []string `protobuf:"bytes,1,rep,name=kids,proto3" json:"kids,omitempty"` } func (x *PullResponse) Reset() { *x = PullResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PullResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*PullResponse) ProtoMessage() {} func (x *PullResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[94] 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 PullResponse.ProtoReflect.Descriptor instead. func (*PullResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{94} } func (x *PullResponse) GetKIDs() []string { if x != nil { return x.KIDs } return nil } type PushRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` RemoteCheck bool `protobuf:"varint,2,opt,name=remoteCheck,proto3" json:"remoteCheck,omitempty"` } func (x *PushRequest) Reset() { *x = PushRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PushRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*PushRequest) ProtoMessage() {} func (x *PushRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[95] 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 PushRequest.ProtoReflect.Descriptor instead. func (*PushRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{95} } func (x *PushRequest) GetKey() string { if x != nil { return x.Key } return "" } func (x *PushRequest) GetRemoteCheck() bool { if x != nil { return x.RemoteCheck } return false } type PushResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields KID string `protobuf:"bytes,1,opt,name=kid,proto3" json:"kid,omitempty"` URLs []string `protobuf:"bytes,2,rep,name=urls,proto3" json:"urls,omitempty"` } func (x *PushResponse) Reset() { *x = PushResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PushResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*PushResponse) ProtoMessage() {} func (x *PushResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[96] 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 PushResponse.ProtoReflect.Descriptor instead. func (*PushResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{96} } func (x *PushResponse) GetKID() string { if x != nil { return x.KID } return "" } func (x *PushResponse) GetURLs() []string { if x != nil { return x.URLs } return nil } type Collection struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` } func (x *Collection) Reset() { *x = Collection{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Collection) String() string { return protoimpl.X.MessageStringOf(x) } func (*Collection) ProtoMessage() {} func (x *Collection) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[97] 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 Collection.ProtoReflect.Descriptor instead. func (*Collection) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{97} } func (x *Collection) GetPath() string { if x != nil { return x.Path } return "" } type CollectionsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // DB is "service" or "vault". DB string `protobuf:"bytes,5,opt,name=db,proto3" json:"db,omitempty"` } func (x *CollectionsRequest) Reset() { *x = CollectionsRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CollectionsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CollectionsRequest) ProtoMessage() {} func (x *CollectionsRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[98] 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 CollectionsRequest.ProtoReflect.Descriptor instead. func (*CollectionsRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{98} } func (x *CollectionsRequest) GetParent() string { if x != nil { return x.Parent } return "" } func (x *CollectionsRequest) GetDB() string { if x != nil { return x.DB } return "" } type CollectionsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Collections []*Collection `protobuf:"bytes,1,rep,name=collections,proto3" json:"collections,omitempty"` } func (x *CollectionsResponse) Reset() { *x = CollectionsResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CollectionsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CollectionsResponse) ProtoMessage() {} func (x *CollectionsResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[99] 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 CollectionsResponse.ProtoReflect.Descriptor instead. func (*CollectionsResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{99} } func (x *CollectionsResponse) GetCollections() []*Collection { if x != nil { return x.Collections } return nil } type Document struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` CreatedAt int64 `protobuf:"varint,10,opt,name=createdAt,proto3" json:"createdAt,omitempty"` UpdatedAt int64 `protobuf:"varint,11,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` } func (x *Document) Reset() { *x = Document{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Document) String() string { return protoimpl.X.MessageStringOf(x) } func (*Document) ProtoMessage() {} func (x *Document) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[100] 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 Document.ProtoReflect.Descriptor instead. func (*Document) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{100} } func (x *Document) GetPath() string { if x != nil { return x.Path } return "" } func (x *Document) GetValue() string { if x != nil { return x.Value } return "" } func (x *Document) GetCreatedAt() int64 { if x != nil { return x.CreatedAt } return 0 } func (x *Document) GetUpdatedAt() int64 { if x != nil { return x.UpdatedAt } return 0 } type DocumentsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` // DB is "service" or "vault". DB string `protobuf:"bytes,5,opt,name=db,proto3" json:"db,omitempty"` } func (x *DocumentsRequest) Reset() { *x = DocumentsRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DocumentsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DocumentsRequest) ProtoMessage() {} func (x *DocumentsRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[101] 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 DocumentsRequest.ProtoReflect.Descriptor instead. func (*DocumentsRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{101} } func (x *DocumentsRequest) GetPrefix() string { if x != nil { return x.Prefix } return "" } func (x *DocumentsRequest) GetDB() string { if x != nil { return x.DB } return "" } type DocumentsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Documents []*Document `protobuf:"bytes,1,rep,name=documents,proto3" json:"documents,omitempty"` } func (x *DocumentsResponse) Reset() { *x = DocumentsResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DocumentsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DocumentsResponse) ProtoMessage() {} func (x *DocumentsResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[102] 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 DocumentsResponse.ProtoReflect.Descriptor instead. func (*DocumentsResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{102} } func (x *DocumentsResponse) GetDocuments() []*Document { if x != nil { return x.Documents } return nil } type DocumentDeleteRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` DB string `protobuf:"bytes,5,opt,name=db,proto3" json:"db,omitempty"` } func (x *DocumentDeleteRequest) Reset() { *x = DocumentDeleteRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DocumentDeleteRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DocumentDeleteRequest) ProtoMessage() {} func (x *DocumentDeleteRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[103] 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 DocumentDeleteRequest.ProtoReflect.Descriptor instead. func (*DocumentDeleteRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{103} } func (x *DocumentDeleteRequest) GetPath() string { if x != nil { return x.Path } return "" } func (x *DocumentDeleteRequest) GetDB() string { if x != nil { return x.DB } return "" } type DocumentDeleteResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *DocumentDeleteResponse) Reset() { *x = DocumentDeleteResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DocumentDeleteResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DocumentDeleteResponse) ProtoMessage() {} func (x *DocumentDeleteResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[104] 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 DocumentDeleteResponse.ProtoReflect.Descriptor instead. func (*DocumentDeleteResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{104} } type User struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ID string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` KID string `protobuf:"bytes,3,opt,name=kid,proto3" json:"kid,omitempty"` Seq int32 `protobuf:"varint,4,opt,name=seq,proto3" json:"seq,omitempty"` Service string `protobuf:"bytes,5,opt,name=service,proto3" json:"service,omitempty"` URL string `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"` Status UserStatus `protobuf:"varint,10,opt,name=status,proto3,enum=service.UserStatus" json:"status,omitempty"` VerifiedAt int64 `protobuf:"varint,11,opt,name=verifiedAt,proto3" json:"verifiedAt,omitempty"` Timestamp int64 `protobuf:"varint,12,opt,name=timestamp,proto3" json:"timestamp,omitempty"` Proxied bool `protobuf:"varint,13,opt,name=proxied,proto3" json:"proxied,omitempty"` Err string `protobuf:"bytes,20,opt,name=err,proto3" json:"err,omitempty"` } func (x *User) Reset() { *x = User{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *User) String() string { return protoimpl.X.MessageStringOf(x) } func (*User) ProtoMessage() {} func (x *User) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[105] 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 User.ProtoReflect.Descriptor instead. func (*User) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{105} } func (x *User) GetID() string { if x != nil { return x.ID } return "" } func (x *User) GetName() string { if x != nil { return x.Name } return "" } func (x *User) GetKID() string { if x != nil { return x.KID } return "" } func (x *User) GetSeq() int32 { if x != nil { return x.Seq } return 0 } func (x *User) GetService() string { if x != nil { return x.Service } return "" } func (x *User) GetURL() string { if x != nil { return x.URL } return "" } func (x *User) GetStatus() UserStatus { if x != nil { return x.Status } return UserStatusUnknown } func (x *User) GetVerifiedAt() int64 { if x != nil { return x.VerifiedAt } return 0 } func (x *User) GetTimestamp() int64 { if x != nil { return x.Timestamp } return 0 } func (x *User) GetProxied() bool { if x != nil { return x.Proxied } return false } func (x *User) GetErr() string { if x != nil { return x.Err } return "" } type UserRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields KID string `protobuf:"bytes,1,opt,name=kid,proto3" json:"kid,omitempty"` Local bool `protobuf:"varint,4,opt,name=local,proto3" json:"local,omitempty"` } func (x *UserRequest) Reset() { *x = UserRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserRequest) ProtoMessage() {} func (x *UserRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[106] 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 UserRequest.ProtoReflect.Descriptor instead. func (*UserRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{106} } func (x *UserRequest) GetKID() string { if x != nil { return x.KID } return "" } func (x *UserRequest) GetLocal() bool { if x != nil { return x.Local } return false } type UserResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` } func (x *UserResponse) Reset() { *x = UserResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserResponse) ProtoMessage() {} func (x *UserResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[107] 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 UserResponse.ProtoReflect.Descriptor instead. func (*UserResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{107} } func (x *UserResponse) GetUser() *User { if x != nil { return x.User } return nil } type UserSearchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` Limit int32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` Local bool `protobuf:"varint,4,opt,name=local,proto3" json:"local,omitempty"` } func (x *UserSearchRequest) Reset() { *x = UserSearchRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserSearchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserSearchRequest) ProtoMessage() {} func (x *UserSearchRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[108] 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 UserSearchRequest.ProtoReflect.Descriptor instead. func (*UserSearchRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{108} } func (x *UserSearchRequest) GetQuery() string { if x != nil { return x.Query } return "" } func (x *UserSearchRequest) GetLimit() int32 { if x != nil { return x.Limit } return 0 } func (x *UserSearchRequest) GetLocal() bool { if x != nil { return x.Local } return false } type UserSearchResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Users []*User `protobuf:"bytes,1,rep,name=users,proto3" json:"users,omitempty"` } func (x *UserSearchResponse) Reset() { *x = UserSearchResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserSearchResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserSearchResponse) ProtoMessage() {} func (x *UserSearchResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[109] 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 UserSearchResponse.ProtoReflect.Descriptor instead. func (*UserSearchResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{109} } func (x *UserSearchResponse) GetUsers() []*User { if x != nil { return x.Users } return nil } type SearchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` } func (x *SearchRequest) Reset() { *x = SearchRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchRequest) ProtoMessage() {} func (x *SearchRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[110] 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 SearchRequest.ProtoReflect.Descriptor instead. func (*SearchRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{110} } func (x *SearchRequest) GetQuery() string { if x != nil { return x.Query } return "" } type SearchResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Keys []*Key `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` } func (x *SearchResponse) Reset() { *x = SearchResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchResponse) ProtoMessage() {} func (x *SearchResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[111] 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 SearchResponse.ProtoReflect.Descriptor instead. func (*SearchResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{111} } func (x *SearchResponse) GetKeys() []*Key { if x != nil { return x.Keys } return nil } type VaultSyncRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *VaultSyncRequest) Reset() { *x = VaultSyncRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VaultSyncRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*VaultSyncRequest) ProtoMessage() {} func (x *VaultSyncRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[112] 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 VaultSyncRequest.ProtoReflect.Descriptor instead. func (*VaultSyncRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{112} } type VaultSyncResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *VaultSyncResponse) Reset() { *x = VaultSyncResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VaultSyncResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*VaultSyncResponse) ProtoMessage() {} func (x *VaultSyncResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[113] 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 VaultSyncResponse.ProtoReflect.Descriptor instead. func (*VaultSyncResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{113} } type VaultUnsyncRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *VaultUnsyncRequest) Reset() { *x = VaultUnsyncRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VaultUnsyncRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*VaultUnsyncRequest) ProtoMessage() {} func (x *VaultUnsyncRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[114] 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 VaultUnsyncRequest.ProtoReflect.Descriptor instead. func (*VaultUnsyncRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{114} } type VaultUnsyncResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *VaultUnsyncResponse) Reset() { *x = VaultUnsyncResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VaultUnsyncResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*VaultUnsyncResponse) ProtoMessage() {} func (x *VaultUnsyncResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[115] 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 VaultUnsyncResponse.ProtoReflect.Descriptor instead. func (*VaultUnsyncResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{115} } type VaultAuthRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *VaultAuthRequest) Reset() { *x = VaultAuthRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VaultAuthRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*VaultAuthRequest) ProtoMessage() {} func (x *VaultAuthRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[116] 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 VaultAuthRequest.ProtoReflect.Descriptor instead. func (*VaultAuthRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{116} } type VaultAuthResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Phrase string `protobuf:"bytes,1,opt,name=phrase,proto3" json:"phrase,omitempty"` } func (x *VaultAuthResponse) Reset() { *x = VaultAuthResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VaultAuthResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*VaultAuthResponse) ProtoMessage() {} func (x *VaultAuthResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[117] 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 VaultAuthResponse.ProtoReflect.Descriptor instead. func (*VaultAuthResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{117} } func (x *VaultAuthResponse) GetPhrase() string { if x != nil { return x.Phrase } return "" } type VaultStatusRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *VaultStatusRequest) Reset() { *x = VaultStatusRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VaultStatusRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*VaultStatusRequest) ProtoMessage() {} func (x *VaultStatusRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[118] 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 VaultStatusRequest.ProtoReflect.Descriptor instead. func (*VaultStatusRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{118} } type VaultStatusResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields KID string `protobuf:"bytes,1,opt,name=kid,proto3" json:"kid,omitempty"` SyncedAt int64 `protobuf:"varint,2,opt,name=syncedAt,proto3" json:"syncedAt,omitempty"` } func (x *VaultStatusResponse) Reset() { *x = VaultStatusResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VaultStatusResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*VaultStatusResponse) ProtoMessage() {} func (x *VaultStatusResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[119] 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 VaultStatusResponse.ProtoReflect.Descriptor instead. func (*VaultStatusResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{119} } func (x *VaultStatusResponse) GetKID() string { if x != nil { return x.KID } return "" } func (x *VaultStatusResponse) GetSyncedAt() int64 { if x != nil { return x.SyncedAt } return 0 } type VaultUpdateRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *VaultUpdateRequest) Reset() { *x = VaultUpdateRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VaultUpdateRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*VaultUpdateRequest) ProtoMessage() {} func (x *VaultUpdateRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[120] 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 VaultUpdateRequest.ProtoReflect.Descriptor instead. func (*VaultUpdateRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{120} } type VaultUpdateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *VaultUpdateResponse) Reset() { *x = VaultUpdateResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VaultUpdateResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*VaultUpdateResponse) ProtoMessage() {} func (x *VaultUpdateResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[121] 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 VaultUpdateResponse.ProtoReflect.Descriptor instead. func (*VaultUpdateResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{121} } type Message struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ID string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Sender *Key `protobuf:"bytes,2,opt,name=sender,proto3" json:"sender,omitempty"` Text []string `protobuf:"bytes,10,rep,name=text,proto3" json:"text,omitempty"` Status MessageStatus `protobuf:"varint,20,opt,name=status,proto3,enum=service.MessageStatus" json:"status,omitempty"` CreatedAt int64 `protobuf:"varint,31,opt,name=createdAt,proto3" json:"createdAt,omitempty"` } func (x *Message) Reset() { *x = Message{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Message) String() string { return protoimpl.X.MessageStringOf(x) } func (*Message) ProtoMessage() {} func (x *Message) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[122] 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 Message.ProtoReflect.Descriptor instead. func (*Message) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{122} } func (x *Message) GetID() string { if x != nil { return x.ID } return "" } func (x *Message) GetSender() *Key { if x != nil { return x.Sender } return nil } func (x *Message) GetText() []string { if x != nil { return x.Text } return nil } func (x *Message) GetStatus() MessageStatus { if x != nil { return x.Status } return MessageSent } func (x *Message) GetCreatedAt() int64 { if x != nil { return x.CreatedAt } return 0 } type MessagePrepareRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` Channel string `protobuf:"bytes,2,opt,name=channel,proto3" json:"channel,omitempty"` Text string `protobuf:"bytes,11,opt,name=text,proto3" json:"text,omitempty"` } func (x *MessagePrepareRequest) Reset() { *x = MessagePrepareRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MessagePrepareRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*MessagePrepareRequest) ProtoMessage() {} func (x *MessagePrepareRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[123] 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 MessagePrepareRequest.ProtoReflect.Descriptor instead. func (*MessagePrepareRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{123} } func (x *MessagePrepareRequest) GetSender() string { if x != nil { return x.Sender } return "" } func (x *MessagePrepareRequest) GetChannel() string { if x != nil { return x.Channel } return "" } func (x *MessagePrepareRequest) GetText() string { if x != nil { return x.Text } return "" } type MessagePrepareResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Message *Message `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` } func (x *MessagePrepareResponse) Reset() { *x = MessagePrepareResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MessagePrepareResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*MessagePrepareResponse) ProtoMessage() {} func (x *MessagePrepareResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[124] 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 MessagePrepareResponse.ProtoReflect.Descriptor instead. func (*MessagePrepareResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{124} } func (x *MessagePrepareResponse) GetMessage() *Message { if x != nil { return x.Message } return nil } type MessageCreateRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` Channel string `protobuf:"bytes,2,opt,name=channel,proto3" json:"channel,omitempty"` // ID is optional, if message was prepared you can use that ID, otherwise it // is autogenerated. ID string `protobuf:"bytes,10,opt,name=id,proto3" json:"id,omitempty"` Text string `protobuf:"bytes,11,opt,name=text,proto3" json:"text,omitempty"` } func (x *MessageCreateRequest) Reset() { *x = MessageCreateRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MessageCreateRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*MessageCreateRequest) ProtoMessage() {} func (x *MessageCreateRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[125] 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 MessageCreateRequest.ProtoReflect.Descriptor instead. func (*MessageCreateRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{125} } func (x *MessageCreateRequest) GetSender() string { if x != nil { return x.Sender } return "" } func (x *MessageCreateRequest) GetChannel() string { if x != nil { return x.Channel } return "" } func (x *MessageCreateRequest) GetID() string { if x != nil { return x.ID } return "" } func (x *MessageCreateRequest) GetText() string { if x != nil { return x.Text } return "" } type MessageCreateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Message *Message `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` } func (x *MessageCreateResponse) Reset() { *x = MessageCreateResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MessageCreateResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*MessageCreateResponse) ProtoMessage() {} func (x *MessageCreateResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[126] 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 MessageCreateResponse.ProtoReflect.Descriptor instead. func (*MessageCreateResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{126} } func (x *MessageCreateResponse) GetMessage() *Message { if x != nil { return x.Message } return nil } type MessagesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Channel string `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"` // Update, if true will update from the server. Update bool `protobuf:"varint,5,opt,name=update,proto3" json:"update,omitempty"` } func (x *MessagesRequest) Reset() { *x = MessagesRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MessagesRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*MessagesRequest) ProtoMessage() {} func (x *MessagesRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[127] 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 MessagesRequest.ProtoReflect.Descriptor instead. func (*MessagesRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{127} } func (x *MessagesRequest) GetChannel() string { if x != nil { return x.Channel } return "" } func (x *MessagesRequest) GetUpdate() bool { if x != nil { return x.Update } return false } type MessagesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Messages []*Message `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` } func (x *MessagesResponse) Reset() { *x = MessagesResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MessagesResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*MessagesResponse) ProtoMessage() {} func (x *MessagesResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[128] 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 MessagesResponse.ProtoReflect.Descriptor instead. func (*MessagesResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{128} } func (x *MessagesResponse) GetMessages() []*Message { if x != nil { return x.Messages } return nil } type RelayRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Keys []string `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` User string `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` } func (x *RelayRequest) Reset() { *x = RelayRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RelayRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RelayRequest) ProtoMessage() {} func (x *RelayRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[129] 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 RelayRequest.ProtoReflect.Descriptor instead. func (*RelayRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{129} } func (x *RelayRequest) GetKeys() []string { if x != nil { return x.Keys } return nil } func (x *RelayRequest) GetUser() string { if x != nil { return x.User } return "" } type RelayOutput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Channel string `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"` User string `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` Index int64 `protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty"` } func (x *RelayOutput) Reset() { *x = RelayOutput{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RelayOutput) String() string { return protoimpl.X.MessageStringOf(x) } func (*RelayOutput) ProtoMessage() {} func (x *RelayOutput) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[130] 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 RelayOutput.ProtoReflect.Descriptor instead. func (*RelayOutput) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{130} } func (x *RelayOutput) GetChannel() string { if x != nil { return x.Channel } return "" } func (x *RelayOutput) GetUser() string { if x != nil { return x.User } return "" } func (x *RelayOutput) GetIndex() int64 { if x != nil { return x.Index } return 0 } type Channel struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ID string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Snippet string `protobuf:"bytes,3,opt,name=snippet,proto3" json:"snippet,omitempty"` UpdatedAt int64 `protobuf:"varint,4,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` Index int64 `protobuf:"varint,5,opt,name=index,proto3" json:"index,omitempty"` ReadIndex int64 `protobuf:"varint,10,opt,name=readIndex,proto3" json:"readIndex,omitempty"` } func (x *Channel) Reset() { *x = Channel{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Channel) String() string { return protoimpl.X.MessageStringOf(x) } func (*Channel) ProtoMessage() {} func (x *Channel) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[131] 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 Channel.ProtoReflect.Descriptor instead. func (*Channel) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{131} } func (x *Channel) GetID() string { if x != nil { return x.ID } return "" } func (x *Channel) GetName() string { if x != nil { return x.Name } return "" } func (x *Channel) GetSnippet() string { if x != nil { return x.Snippet } return "" } func (x *Channel) GetUpdatedAt() int64 { if x != nil { return x.UpdatedAt } return 0 } func (x *Channel) GetIndex() int64 { if x != nil { return x.Index } return 0 } func (x *Channel) GetReadIndex() int64 { if x != nil { return x.ReadIndex } return 0 } type ChannelsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` } func (x *ChannelsRequest) Reset() { *x = ChannelsRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelsRequest) ProtoMessage() {} func (x *ChannelsRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[132] 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 ChannelsRequest.ProtoReflect.Descriptor instead. func (*ChannelsRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{132} } func (x *ChannelsRequest) GetUser() string { if x != nil { return x.User } return "" } type ChannelsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Channels []*Channel `protobuf:"bytes,1,rep,name=channels,proto3" json:"channels,omitempty"` } func (x *ChannelsResponse) Reset() { *x = ChannelsResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelsResponse) ProtoMessage() {} func (x *ChannelsResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[133] 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 ChannelsResponse.ProtoReflect.Descriptor instead. func (*ChannelsResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{133} } func (x *ChannelsResponse) GetChannels() []*Channel { if x != nil { return x.Channels } return nil } type ChannelCreateRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` User string `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` } func (x *ChannelCreateRequest) Reset() { *x = ChannelCreateRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelCreateRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelCreateRequest) ProtoMessage() {} func (x *ChannelCreateRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[134] 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 ChannelCreateRequest.ProtoReflect.Descriptor instead. func (*ChannelCreateRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{134} } func (x *ChannelCreateRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *ChannelCreateRequest) GetUser() string { if x != nil { return x.User } return "" } type ChannelCreateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Channel *Channel `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"` } func (x *ChannelCreateResponse) Reset() { *x = ChannelCreateResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelCreateResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelCreateResponse) ProtoMessage() {} func (x *ChannelCreateResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[135] 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 ChannelCreateResponse.ProtoReflect.Descriptor instead. func (*ChannelCreateResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{135} } func (x *ChannelCreateResponse) GetChannel() *Channel { if x != nil { return x.Channel } return nil } type ChannelLeaveRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Channel string `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"` } func (x *ChannelLeaveRequest) Reset() { *x = ChannelLeaveRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelLeaveRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelLeaveRequest) ProtoMessage() {} func (x *ChannelLeaveRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[136] 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 ChannelLeaveRequest.ProtoReflect.Descriptor instead. func (*ChannelLeaveRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{136} } func (x *ChannelLeaveRequest) GetChannel() string { if x != nil { return x.Channel } return "" } type ChannelLeaveResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ChannelLeaveResponse) Reset() { *x = ChannelLeaveResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelLeaveResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelLeaveResponse) ProtoMessage() {} func (x *ChannelLeaveResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[137] 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 ChannelLeaveResponse.ProtoReflect.Descriptor instead. func (*ChannelLeaveResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{137} } type ChannelReadRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Channel string `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"` Index int64 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"` } func (x *ChannelReadRequest) Reset() { *x = ChannelReadRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelReadRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelReadRequest) ProtoMessage() {} func (x *ChannelReadRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[138] 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 ChannelReadRequest.ProtoReflect.Descriptor instead. func (*ChannelReadRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{138} } func (x *ChannelReadRequest) GetChannel() string { if x != nil { return x.Channel } return "" } func (x *ChannelReadRequest) GetIndex() int64 { if x != nil { return x.Index } return 0 } type ChannelReadResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ChannelReadResponse) Reset() { *x = ChannelReadResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelReadResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelReadResponse) ProtoMessage() {} func (x *ChannelReadResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[139] 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 ChannelReadResponse.ProtoReflect.Descriptor instead. func (*ChannelReadResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{139} } type ChannelInviteRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Channel string `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"` Recipients []string `protobuf:"bytes,2,rep,name=recipients,proto3" json:"recipients,omitempty"` Sender string `protobuf:"bytes,3,opt,name=sender,proto3" json:"sender,omitempty"` } func (x *ChannelInviteRequest) Reset() { *x = ChannelInviteRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelInviteRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelInviteRequest) ProtoMessage() {} func (x *ChannelInviteRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[140] 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 ChannelInviteRequest.ProtoReflect.Descriptor instead. func (*ChannelInviteRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{140} } func (x *ChannelInviteRequest) GetChannel() string { if x != nil { return x.Channel } return "" } func (x *ChannelInviteRequest) GetRecipients() []string { if x != nil { return x.Recipients } return nil } func (x *ChannelInviteRequest) GetSender() string { if x != nil { return x.Sender } return "" } type ChannelInviteResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Message *Message `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` } func (x *ChannelInviteResponse) Reset() { *x = ChannelInviteResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelInviteResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelInviteResponse) ProtoMessage() {} func (x *ChannelInviteResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[141] 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 ChannelInviteResponse.ProtoReflect.Descriptor instead. func (*ChannelInviteResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{141} } func (x *ChannelInviteResponse) GetMessage() *Message { if x != nil { return x.Message } return nil } type Follow struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Recipient string `protobuf:"bytes,1,opt,name=recipient,proto3" json:"recipient,omitempty"` Sender string `protobuf:"bytes,2,opt,name=sender,proto3" json:"sender,omitempty"` } func (x *Follow) Reset() { *x = Follow{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Follow) String() string { return protoimpl.X.MessageStringOf(x) } func (*Follow) ProtoMessage() {} func (x *Follow) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[142] 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 Follow.ProtoReflect.Descriptor instead. func (*Follow) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{142} } func (x *Follow) GetRecipient() string { if x != nil { return x.Recipient } return "" } func (x *Follow) GetSender() string { if x != nil { return x.Sender } return "" } type FollowRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Recipient string `protobuf:"bytes,1,opt,name=recipient,proto3" json:"recipient,omitempty"` Sender string `protobuf:"bytes,2,opt,name=sender,proto3" json:"sender,omitempty"` } func (x *FollowRequest) Reset() { *x = FollowRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FollowRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FollowRequest) ProtoMessage() {} func (x *FollowRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[143] 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 FollowRequest.ProtoReflect.Descriptor instead. func (*FollowRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{143} } func (x *FollowRequest) GetRecipient() string { if x != nil { return x.Recipient } return "" } func (x *FollowRequest) GetSender() string { if x != nil { return x.Sender } return "" } type FollowResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Follow *Follow `protobuf:"bytes,1,opt,name=follow,proto3" json:"follow,omitempty"` } func (x *FollowResponse) Reset() { *x = FollowResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FollowResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FollowResponse) ProtoMessage() {} func (x *FollowResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[144] 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 FollowResponse.ProtoReflect.Descriptor instead. func (*FollowResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{144} } func (x *FollowResponse) GetFollow() *Follow { if x != nil { return x.Follow } return nil } type FollowsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Recipient string `protobuf:"bytes,1,opt,name=recipient,proto3" json:"recipient,omitempty"` Update bool `protobuf:"varint,2,opt,name=update,proto3" json:"update,omitempty"` } func (x *FollowsRequest) Reset() { *x = FollowsRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FollowsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FollowsRequest) ProtoMessage() {} func (x *FollowsRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[145] 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 FollowsRequest.ProtoReflect.Descriptor instead. func (*FollowsRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{145} } func (x *FollowsRequest) GetRecipient() string { if x != nil { return x.Recipient } return "" } func (x *FollowsRequest) GetUpdate() bool { if x != nil { return x.Update } return false } type FollowsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Follows []*Follow `protobuf:"bytes,1,rep,name=follows,proto3" json:"follows,omitempty"` } func (x *FollowsResponse) Reset() { *x = FollowsResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FollowsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FollowsResponse) ProtoMessage() {} func (x *FollowsResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[146] 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 FollowsResponse.ProtoReflect.Descriptor instead. func (*FollowsResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{146} } func (x *FollowsResponse) GetFollows() []*Follow { if x != nil { return x.Follows } return nil } type AdminSignURLRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Signer string `protobuf:"bytes,1,opt,name=signer,proto3" json:"signer,omitempty"` Method string `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"` URL string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"` } func (x *AdminSignURLRequest) Reset() { *x = AdminSignURLRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AdminSignURLRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AdminSignURLRequest) ProtoMessage() {} func (x *AdminSignURLRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[147] 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 AdminSignURLRequest.ProtoReflect.Descriptor instead. func (*AdminSignURLRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{147} } func (x *AdminSignURLRequest) GetSigner() string { if x != nil { return x.Signer } return "" } func (x *AdminSignURLRequest) GetMethod() string { if x != nil { return x.Method } return "" } func (x *AdminSignURLRequest) GetURL() string { if x != nil { return x.URL } return "" } type AdminSignURLResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Auth string `protobuf:"bytes,1,opt,name=auth,proto3" json:"auth,omitempty"` URL string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` CURL string `protobuf:"bytes,3,opt,name=curl,proto3" json:"curl,omitempty"` } func (x *AdminSignURLResponse) Reset() { *x = AdminSignURLResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AdminSignURLResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*AdminSignURLResponse) ProtoMessage() {} func (x *AdminSignURLResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[148] 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 AdminSignURLResponse.ProtoReflect.Descriptor instead. func (*AdminSignURLResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{148} } func (x *AdminSignURLResponse) GetAuth() string { if x != nil { return x.Auth } return "" } func (x *AdminSignURLResponse) GetURL() string { if x != nil { return x.URL } return "" } func (x *AdminSignURLResponse) GetCURL() string { if x != nil { return x.CURL } return "" } type AdminCheckRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Signer string `protobuf:"bytes,1,opt,name=signer,proto3" json:"signer,omitempty"` Check string `protobuf:"bytes,2,opt,name=check,proto3" json:"check,omitempty"` } func (x *AdminCheckRequest) Reset() { *x = AdminCheckRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AdminCheckRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AdminCheckRequest) ProtoMessage() {} func (x *AdminCheckRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[149] 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 AdminCheckRequest.ProtoReflect.Descriptor instead. func (*AdminCheckRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{149} } func (x *AdminCheckRequest) GetSigner() string { if x != nil { return x.Signer } return "" } func (x *AdminCheckRequest) GetCheck() string { if x != nil { return x.Check } return "" } type AdminCheckResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *AdminCheckResponse) Reset() { *x = AdminCheckResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AdminCheckResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*AdminCheckResponse) ProtoMessage() {} func (x *AdminCheckResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[150] 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 AdminCheckResponse.ProtoReflect.Descriptor instead. func (*AdminCheckResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{150} } type Config struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields App *Config_App `protobuf:"bytes,1,opt,name=app,proto3" json:"app,omitempty"` Encrypt *Config_Encrypt `protobuf:"bytes,10,opt,name=encrypt,proto3" json:"encrypt,omitempty"` Sign *Config_Sign `protobuf:"bytes,11,opt,name=sign,proto3" json:"sign,omitempty"` } func (x *Config) Reset() { *x = Config{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Config) String() string { return protoimpl.X.MessageStringOf(x) } func (*Config) ProtoMessage() {} func (x *Config) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[151] 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 Config.ProtoReflect.Descriptor instead. func (*Config) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{151} } func (x *Config) GetApp() *Config_App { if x != nil { return x.App } return nil } func (x *Config) GetEncrypt() *Config_Encrypt { if x != nil { return x.Encrypt } return nil } func (x *Config) GetSign() *Config_Sign { if x != nil { return x.Sign } return nil } type ConfigGetRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } func (x *ConfigGetRequest) Reset() { *x = ConfigGetRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConfigGetRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConfigGetRequest) ProtoMessage() {} func (x *ConfigGetRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[152] 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 ConfigGetRequest.ProtoReflect.Descriptor instead. func (*ConfigGetRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{152} } func (x *ConfigGetRequest) GetName() string { if x != nil { return x.Name } return "" } type ConfigGetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Config *Config `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` } func (x *ConfigGetResponse) Reset() { *x = ConfigGetResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConfigGetResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConfigGetResponse) ProtoMessage() {} func (x *ConfigGetResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[153] 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 ConfigGetResponse.ProtoReflect.Descriptor instead. func (*ConfigGetResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{153} } func (x *ConfigGetResponse) GetConfig() *Config { if x != nil { return x.Config } return nil } type ConfigSetRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Config *Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` } func (x *ConfigSetRequest) Reset() { *x = ConfigSetRequest{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConfigSetRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConfigSetRequest) ProtoMessage() {} func (x *ConfigSetRequest) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[154] 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 ConfigSetRequest.ProtoReflect.Descriptor instead. func (*ConfigSetRequest) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{154} } func (x *ConfigSetRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *ConfigSetRequest) GetConfig() *Config { if x != nil { return x.Config } return nil } type ConfigSetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ConfigSetResponse) Reset() { *x = ConfigSetResponse{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConfigSetResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConfigSetResponse) ProtoMessage() {} func (x *ConfigSetResponse) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[155] 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 ConfigSetResponse.ProtoReflect.Descriptor instead. func (*ConfigSetResponse) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{155} } type WormholeInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` Recipient string `protobuf:"bytes,2,opt,name=recipient,proto3" json:"recipient,omitempty"` Invite string `protobuf:"bytes,3,opt,name=invite,proto3" json:"invite,omitempty"` ID string `protobuf:"bytes,10,opt,name=id,proto3" json:"id,omitempty"` Text string `protobuf:"bytes,11,opt,name=text,proto3" json:"text,omitempty"` } func (x *WormholeInput) Reset() { *x = WormholeInput{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[156] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WormholeInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*WormholeInput) ProtoMessage() {} func (x *WormholeInput) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[156] 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 WormholeInput.ProtoReflect.Descriptor instead. func (*WormholeInput) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{156} } func (x *WormholeInput) GetSender() string { if x != nil { return x.Sender } return "" } func (x *WormholeInput) GetRecipient() string { if x != nil { return x.Recipient } return "" } func (x *WormholeInput) GetInvite() string { if x != nil { return x.Invite } return "" } func (x *WormholeInput) GetID() string { if x != nil { return x.ID } return "" } func (x *WormholeInput) GetText() string { if x != nil { return x.Text } return "" } type WormholeMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ID string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Sender *Key `protobuf:"bytes,2,opt,name=sender,proto3" json:"sender,omitempty"` Recipient *Key `protobuf:"bytes,3,opt,name=recipient,proto3" json:"recipient,omitempty"` Status WormholeMessageStatus `protobuf:"varint,5,opt,name=status,proto3,enum=service.WormholeMessageStatus" json:"status,omitempty"` Text string `protobuf:"bytes,10,opt,name=text,proto3" json:"text,omitempty"` CreatedAt int64 `protobuf:"varint,21,opt,name=createdAt,proto3" json:"createdAt,omitempty"` } func (x *WormholeMessage) Reset() { *x = WormholeMessage{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[157] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WormholeMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*WormholeMessage) ProtoMessage() {} func (x *WormholeMessage) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[157] 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 WormholeMessage.ProtoReflect.Descriptor instead. func (*WormholeMessage) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{157} } func (x *WormholeMessage) GetID() string { if x != nil { return x.ID } return "" } func (x *WormholeMessage) GetSender() *Key { if x != nil { return x.Sender } return nil } func (x *WormholeMessage) GetRecipient() *Key { if x != nil { return x.Recipient } return nil } func (x *WormholeMessage) GetStatus() WormholeMessageStatus { if x != nil { return x.Status } return WormholeMessageSent } func (x *WormholeMessage) GetText() string { if x != nil { return x.Text } return "" } func (x *WormholeMessage) GetCreatedAt() int64 { if x != nil { return x.CreatedAt } return 0 } type WormholeOutput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Message *WormholeMessage `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` Status WormholeStatus `protobuf:"varint,2,opt,name=status,proto3,enum=service.WormholeStatus" json:"status,omitempty"` } func (x *WormholeOutput) Reset() { *x = WormholeOutput{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[158] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WormholeOutput) String() string { return protoimpl.X.MessageStringOf(x) } func (*WormholeOutput) ProtoMessage() {} func (x *WormholeOutput) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[158] 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 WormholeOutput.ProtoReflect.Descriptor instead. func (*WormholeOutput) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{158} } func (x *WormholeOutput) GetMessage() *WormholeMessage { if x != nil { return x.Message } return nil } func (x *WormholeOutput) GetStatus() WormholeStatus { if x != nil { return x.Status } return WormholeDefault } type Config_App struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"` History []string `protobuf:"bytes,2,rep,name=history,proto3" json:"history,omitempty"` NavMinimized bool `protobuf:"varint,100,opt,name=navMinimized,proto3" json:"navMinimized,omitempty"` } func (x *Config_App) Reset() { *x = Config_App{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[159] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Config_App) String() string { return protoimpl.X.MessageStringOf(x) } func (*Config_App) ProtoMessage() {} func (x *Config_App) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[159] 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 Config_App.ProtoReflect.Descriptor instead. func (*Config_App) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{151, 0} } func (x *Config_App) GetLocation() string { if x != nil { return x.Location } return "" } func (x *Config_App) GetHistory() []string { if x != nil { return x.History } return nil } func (x *Config_App) GetNavMinimized() bool { if x != nil { return x.NavMinimized } return false } type Config_Encrypt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Recipients []string `protobuf:"bytes,1,rep,name=recipients,proto3" json:"recipients,omitempty"` Sender string `protobuf:"bytes,2,opt,name=sender,proto3" json:"sender,omitempty"` NoSenderRecipient bool `protobuf:"varint,3,opt,name=noSenderRecipient,proto3" json:"noSenderRecipient,omitempty"` NoSign bool `protobuf:"varint,4,opt,name=noSign,proto3" json:"noSign,omitempty"` } func (x *Config_Encrypt) Reset() { *x = Config_Encrypt{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[160] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Config_Encrypt) String() string { return protoimpl.X.MessageStringOf(x) } func (*Config_Encrypt) ProtoMessage() {} func (x *Config_Encrypt) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[160] 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 Config_Encrypt.ProtoReflect.Descriptor instead. func (*Config_Encrypt) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{151, 1} } func (x *Config_Encrypt) GetRecipients() []string { if x != nil { return x.Recipients } return nil } func (x *Config_Encrypt) GetSender() string { if x != nil { return x.Sender } return "" } func (x *Config_Encrypt) GetNoSenderRecipient() bool { if x != nil { return x.NoSenderRecipient } return false } func (x *Config_Encrypt) GetNoSign() bool { if x != nil { return x.NoSign } return false } type Config_Sign struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Signer string `protobuf:"bytes,1,opt,name=signer,proto3" json:"signer,omitempty"` } func (x *Config_Sign) Reset() { *x = Config_Sign{} if protoimpl.UnsafeEnabled { mi := &file_rpc_proto_msgTypes[161] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Config_Sign) String() string { return protoimpl.X.MessageStringOf(x) } func (*Config_Sign) ProtoMessage() {} func (x *Config_Sign) ProtoReflect() protoreflect.Message { mi := &file_rpc_proto_msgTypes[161] 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 Config_Sign.ProtoReflect.Descriptor instead. func (*Config_Sign) Descriptor() ([]byte, []int) { return file_rpc_proto_rawDescGZIP(), []int{151, 2} } func (x *Config_Sign) GetSigner() string { if x != nil { return x.Signer } return "" } var File_rpc_proto protoreflect.FileDescriptor var file_rpc_proto_rawDesc = []byte{ 0x0a, 0x09, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x1a, 0x0e, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6f, 0x0a, 0x0b, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x72, 0x6d, 0x6f, 0x72, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x72, 0x6d, 0x6f, 0x72, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x22, 0x3f, 0x0a, 0x0c, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xca, 0xb5, 0x03, 0x05, 0x0a, 0x03, 0x4b, 0x49, 0x44, 0x52, 0x03, 0x6b, 0x69, 0x64, 0x22, 0x7f, 0x0a, 0x0d, 0x53, 0x69, 0x67, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x72, 0x6d, 0x6f, 0x72, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x72, 0x6d, 0x6f, 0x72, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x22, 0x6b, 0x0a, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xca, 0xb5, 0x03, 0x05, 0x0a, 0x03, 0x4b, 0x49, 0x44, 0x52, 0x03, 0x6b, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x75, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x23, 0x0a, 0x0d, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x4a, 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x22, 0x3d, 0x0a, 0x15, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x73, 0x69, 0x67, 0x22, 0x3e, 0x0a, 0x16, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x22, 0x21, 0x0a, 0x0b, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x48, 0x0a, 0x0c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x22, 0x33, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x75, 0x74, 0x22, 0x4a, 0x0a, 0x10, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x24, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x75, 0x74, 0x22, 0x3b, 0x0a, 0x17, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x73, 0x69, 0x67, 0x22, 0x3b, 0x0a, 0x13, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x73, 0x69, 0x67, 0x22, 0xbe, 0x01, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x73, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xca, 0xb5, 0x03, 0x05, 0x0a, 0x03, 0x4b, 0x49, 0x44, 0x52, 0x03, 0x6b, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x73, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x72, 0x65, 0x76, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x72, 0x65, 0x76, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x2e, 0x0a, 0x0f, 0x53, 0x69, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xca, 0xb5, 0x03, 0x05, 0x0a, 0x03, 0x4b, 0x49, 0x44, 0x52, 0x03, 0x6b, 0x69, 0x64, 0x22, 0x66, 0x0a, 0x10, 0x53, 0x69, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x41, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xca, 0xb5, 0x03, 0x05, 0x0a, 0x03, 0x4b, 0x49, 0x44, 0x52, 0x03, 0x6b, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x73, 0x65, 0x71, 0x22, 0x45, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x5f, 0x0a, 0x16, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xca, 0xb5, 0x03, 0x05, 0x0a, 0x03, 0x4b, 0x49, 0x44, 0x52, 0x03, 0x6b, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x22, 0x4b, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x5d, 0x0a, 0x16, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x73, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xca, 0xb5, 0x03, 0x05, 0x0a, 0x03, 0x4b, 0x49, 0x44, 0x52, 0x03, 0x6b, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x22, 0x4b, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x8f, 0x01, 0x0a, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x72, 0x6d, 0x6f, 0x72, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x72, 0x6d, 0x6f, 0x72, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x22, 0x3d, 0x0a, 0x0a, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xca, 0xb5, 0x03, 0x05, 0x0a, 0x03, 0x4b, 0x49, 0x44, 0x52, 0x03, 0x6b, 0x69, 0x64, 0x22, 0x9a, 0x01, 0x0a, 0x0e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x72, 0x6d, 0x6f, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x72, 0x6d, 0x6f, 0x72, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x6e, 0x6f, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6e, 0x6f, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x53, 0x69, 0x67, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6e, 0x6f, 0x53, 0x69, 0x67, 0x6e, 0x22, 0x8f, 0x01, 0x0a, 0x0e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x39, 0x0a, 0x0f, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x9f, 0x01, 0x0a, 0x10, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x75, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x51, 0x0a, 0x11, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x75, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x8d, 0x01, 0x0a, 0x0c, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x23, 0x0a, 0x0d, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x24, 0x0a, 0x0e, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x75, 0x0a, 0x0f, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x34, 0x0a, 0x10, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x75, 0x74, 0x22, 0xa1, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x24, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x75, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x28, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x22, 0x0a, 0x0c, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x73, 0x0a, 0x0d, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xc9, 0x01, 0x0a, 0x15, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x65, 0x78, 0x65, 0x12, 0x33, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x12, 0x21, 0x0a, 0x05, 0x66, 0x69, 0x64, 0x6f, 0x32, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x42, 0x0b, 0xca, 0xb5, 0x03, 0x07, 0x0a, 0x05, 0x46, 0x49, 0x44, 0x4f, 0x32, 0x52, 0x05, 0x66, 0x69, 0x64, 0x6f, 0x32, 0x22, 0x69, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x68, 0x53, 0x65, 0x74, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x13, 0x0a, 0x11, 0x41, 0x75, 0x74, 0x68, 0x53, 0x65, 0x74, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x68, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x22, 0x13, 0x0a, 0x11, 0x41, 0x75, 0x74, 0x68, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6a, 0x0a, 0x11, 0x41, 0x75, 0x74, 0x68, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x22, 0x32, 0x0a, 0x12, 0x41, 0x75, 0x74, 0x68, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x89, 0x01, 0x0a, 0x14, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x22, 0x4d, 0x0a, 0x15, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x32, 0x0a, 0x16, 0x41, 0x75, 0x74, 0x68, 0x44, 0x65, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xca, 0xb5, 0x03, 0x04, 0x0a, 0x02, 0x49, 0x44, 0x52, 0x02, 0x69, 0x64, 0x22, 0x19, 0x0a, 0x17, 0x41, 0x75, 0x74, 0x68, 0x44, 0x65, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x0a, 0x19, 0x41, 0x75, 0x74, 0x68, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x6c, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6e, 0x65, 0x77, 0x22, 0x1c, 0x0a, 0x1a, 0x41, 0x75, 0x74, 0x68, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xaa, 0x01, 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xca, 0xb5, 0x03, 0x04, 0x0a, 0x02, 0x49, 0x44, 0x52, 0x02, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x24, 0x0a, 0x06, 0x61, 0x61, 0x67, 0x75, 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xca, 0xb5, 0x03, 0x08, 0x0a, 0x06, 0x41, 0x41, 0x47, 0x55, 0x49, 0x44, 0x52, 0x06, 0x61, 0x61, 0x67, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x50, 0x69, 0x6e, 0x18, 0x65, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6e, 0x6f, 0x50, 0x69, 0x6e, 0x22, 0x17, 0x0a, 0x15, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x50, 0x0a, 0x16, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x11, 0x0a, 0x0f, 0x41, 0x75, 0x74, 0x68, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x12, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x68, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x13, 0x0a, 0x11, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x0a, 0x12, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x70, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x70, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x33, 0x0a, 0x13, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x28, 0x0a, 0x12, 0x4b, 0x65, 0x79, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x32, 0x0a, 0x13, 0x4b, 0x65, 0x79, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xca, 0xb5, 0x03, 0x05, 0x0a, 0x03, 0x4b, 0x49, 0x44, 0x52, 0x03, 0x6b, 0x69, 0x64, 0x22, 0x4b, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xca, 0xb5, 0x03, 0x05, 0x0a, 0x03, 0x4b, 0x49, 0x44, 0x52, 0x03, 0x6b, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x2f, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x5c, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xca, 0xb5, 0x03, 0x05, 0x0a, 0x03, 0x4b, 0x49, 0x44, 0x52, 0x03, 0x6b, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x40, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xca, 0xb5, 0x03, 0x05, 0x0a, 0x03, 0x4b, 0x49, 0x44, 0x52, 0x03, 0x6b, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xca, 0xb5, 0x03, 0x05, 0x0a, 0x03, 0x55, 0x52, 0x4c, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x22, 0x66, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xac, 0x01, 0x0a, 0x10, 0x4b, 0x65, 0x79, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xca, 0xb5, 0x03, 0x05, 0x0a, 0x03, 0x4b, 0x49, 0x44, 0x52, 0x03, 0x6b, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x27, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x6f, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6e, 0x6f, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x2b, 0x0a, 0x11, 0x4b, 0x65, 0x79, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x56, 0x0a, 0x10, 0x4b, 0x65, 0x79, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x30, 0x0a, 0x11, 0x4b, 0x65, 0x79, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xca, 0xb5, 0x03, 0x05, 0x0a, 0x03, 0x4b, 0x49, 0x44, 0x52, 0x03, 0x6b, 0x69, 0x64, 0x22, 0x2f, 0x0a, 0x10, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xca, 0xb5, 0x03, 0x05, 0x0a, 0x03, 0x4b, 0x49, 0x44, 0x52, 0x03, 0x6b, 0x69, 0x64, 0x22, 0x13, 0x0a, 0x11, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe0, 0x01, 0x0a, 0x03, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xca, 0xb5, 0x03, 0x04, 0x0a, 0x02, 0x49, 0x44, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x61, 0x76, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73, 0x61, 0x76, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x69, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x28, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x69, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x69, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x29, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x73, 0x69, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x4e, 0x0a, 0x0a, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x2d, 0x0a, 0x0b, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x95, 0x01, 0x0a, 0x0b, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x3c, 0x0a, 0x0d, 0x73, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8c, 0x01, 0x0a, 0x0c, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x3c, 0x0a, 0x0d, 0x73, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x86, 0x02, 0x0a, 0x06, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xca, 0xb5, 0x03, 0x04, 0x0a, 0x02, 0x49, 0x44, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1b, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xca, 0xb5, 0x03, 0x05, 0x0a, 0x03, 0x55, 0x52, 0x4c, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x64, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x65, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x29, 0x0a, 0x0d, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xca, 0xb5, 0x03, 0x04, 0x0a, 0x02, 0x49, 0x44, 0x52, 0x02, 0x69, 0x64, 0x22, 0x39, 0x0a, 0x0e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x3c, 0x0a, 0x11, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x3d, 0x0a, 0x12, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x2f, 0x0a, 0x13, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xca, 0xb5, 0x03, 0x04, 0x0a, 0x02, 0x49, 0x44, 0x52, 0x02, 0x69, 0x64, 0x22, 0x16, 0x0a, 0x14, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x3c, 0x0a, 0x0d, 0x73, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x98, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x07, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x3c, 0x0a, 0x0d, 0x73, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x94, 0x01, 0x0a, 0x0b, 0x52, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6e, 0x75, 0x6d, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x6f, 0x50, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6e, 0x6f, 0x50, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x22, 0x22, 0x0a, 0x0c, 0x52, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2d, 0x0a, 0x13, 0x52, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0x32, 0x0a, 0x14, 0x52, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x1f, 0x0a, 0x0b, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x2e, 0x0a, 0x0c, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x04, 0x6b, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0a, 0xca, 0xb5, 0x03, 0x06, 0x0a, 0x04, 0x4b, 0x49, 0x44, 0x73, 0x52, 0x04, 0x6b, 0x69, 0x64, 0x73, 0x22, 0x41, 0x0a, 0x0b, 0x50, 0x75, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x22, 0x4b, 0x0a, 0x0c, 0x50, 0x75, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xca, 0xb5, 0x03, 0x05, 0x0a, 0x03, 0x4b, 0x49, 0x44, 0x52, 0x03, 0x6b, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x04, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0a, 0xca, 0xb5, 0x03, 0x06, 0x0a, 0x04, 0x55, 0x52, 0x4c, 0x73, 0x52, 0x04, 0x75, 0x72, 0x6c, 0x73, 0x22, 0x20, 0x0a, 0x0a, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x46, 0x0a, 0x12, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x02, 0x64, 0x62, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xca, 0xb5, 0x03, 0x04, 0x0a, 0x02, 0x44, 0x42, 0x52, 0x02, 0x64, 0x62, 0x22, 0x4c, 0x0a, 0x13, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x70, 0x0a, 0x08, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x44, 0x0a, 0x10, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x18, 0x0a, 0x02, 0x64, 0x62, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xca, 0xb5, 0x03, 0x04, 0x0a, 0x02, 0x44, 0x42, 0x52, 0x02, 0x64, 0x62, 0x22, 0x44, 0x0a, 0x11, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x45, 0x0a, 0x15, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x02, 0x64, 0x62, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xca, 0xb5, 0x03, 0x04, 0x0a, 0x02, 0x44, 0x42, 0x52, 0x02, 0x64, 0x62, 0x22, 0x18, 0x0a, 0x16, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb1, 0x02, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xca, 0xb5, 0x03, 0x04, 0x0a, 0x02, 0x49, 0x44, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xca, 0xb5, 0x03, 0x05, 0x0a, 0x03, 0x4b, 0x49, 0x44, 0x52, 0x03, 0x6b, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x73, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xca, 0xb5, 0x03, 0x05, 0x0a, 0x03, 0x55, 0x52, 0x4c, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x2b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x65, 0x72, 0x72, 0x22, 0x40, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xca, 0xb5, 0x03, 0x05, 0x0a, 0x03, 0x4b, 0x49, 0x44, 0x52, 0x03, 0x6b, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x22, 0x31, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x55, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x22, 0x39, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x22, 0x25, 0x0a, 0x0d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x32, 0x0a, 0x0e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x12, 0x0a, 0x10, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x14, 0x0a, 0x12, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x55, 0x6e, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x15, 0x0a, 0x13, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x55, 0x6e, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x2b, 0x0a, 0x11, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x22, 0x14, 0x0a, 0x12, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4e, 0x0a, 0x13, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xca, 0xb5, 0x03, 0x05, 0x0a, 0x03, 0x4b, 0x49, 0x44, 0x52, 0x03, 0x6b, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x41, 0x74, 0x22, 0x14, 0x0a, 0x12, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x15, 0x0a, 0x13, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xab, 0x01, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xca, 0xb5, 0x03, 0x04, 0x0a, 0x02, 0x49, 0x44, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x5d, 0x0a, 0x15, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x44, 0x0a, 0x16, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x76, 0x0a, 0x14, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xca, 0xb5, 0x03, 0x04, 0x0a, 0x02, 0x49, 0x44, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x43, 0x0a, 0x15, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x43, 0x0a, 0x0f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x40, 0x0a, 0x10, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x36, 0x0a, 0x0c, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x51, 0x0a, 0x0b, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xa3, 0x01, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xca, 0xb5, 0x03, 0x04, 0x0a, 0x02, 0x49, 0x44, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x61, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x25, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x40, 0x0a, 0x10, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x22, 0x3e, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x43, 0x0a, 0x15, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x2f, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x0a, 0x12, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x15, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x68, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x43, 0x0a, 0x15, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3e, 0x0a, 0x06, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x45, 0x0a, 0x0d, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x39, 0x0a, 0x0e, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x06, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x22, 0x46, 0x0a, 0x0e, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x3c, 0x0a, 0x0f, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x07, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x07, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x22, 0x62, 0x0a, 0x13, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x1b, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xca, 0xb5, 0x03, 0x05, 0x0a, 0x03, 0x55, 0x52, 0x4c, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x67, 0x0a, 0x14, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x75, 0x74, 0x68, 0x12, 0x1b, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xca, 0xb5, 0x03, 0x05, 0x0a, 0x03, 0x55, 0x52, 0x4c, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xca, 0xb5, 0x03, 0x06, 0x0a, 0x04, 0x43, 0x55, 0x52, 0x4c, 0x52, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x22, 0x41, 0x0a, 0x11, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x22, 0x14, 0x0a, 0x12, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x97, 0x03, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x03, 0x61, 0x70, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x70, 0x70, 0x52, 0x03, 0x61, 0x70, 0x70, 0x12, 0x31, 0x0a, 0x07, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x07, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x04, 0x73, 0x69, 0x67, 0x6e, 0x1a, 0x5f, 0x0a, 0x03, 0x41, 0x70, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x61, 0x76, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6e, 0x61, 0x76, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x1a, 0x87, 0x01, 0x0a, 0x07, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x11, 0x6e, 0x6f, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6e, 0x6f, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x53, 0x69, 0x67, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6e, 0x6f, 0x53, 0x69, 0x67, 0x6e, 0x1a, 0x1e, 0x0a, 0x04, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x22, 0x26, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3c, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x4f, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x13, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xca, 0xb5, 0x03, 0x04, 0x0a, 0x02, 0x49, 0x44, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0xe7, 0x01, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xca, 0xb5, 0x03, 0x04, 0x0a, 0x02, 0x49, 0x44, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x75, 0x0a, 0x0e, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x32, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2a, 0xa9, 0x01, 0x0a, 0x0b, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x0f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x10, 0x00, 0x1a, 0x14, 0xca, 0xb5, 0x03, 0x10, 0x0a, 0x0e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x12, 0x2b, 0x0a, 0x10, 0x53, 0x41, 0x4c, 0x54, 0x50, 0x41, 0x43, 0x4b, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x10, 0x01, 0x1a, 0x15, 0xca, 0xb5, 0x03, 0x11, 0x0a, 0x0f, 0x53, 0x61, 0x6c, 0x74, 0x70, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x12, 0x2f, 0x0a, 0x12, 0x53, 0x41, 0x4c, 0x54, 0x50, 0x41, 0x43, 0x4b, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x10, 0x03, 0x1a, 0x17, 0xca, 0xb5, 0x03, 0x13, 0x0a, 0x11, 0x53, 0x61, 0x6c, 0x74, 0x70, 0x61, 0x63, 0x6b, 0x53, 0x69, 0x67, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x1a, 0x11, 0xca, 0xb5, 0x03, 0x0d, 0x0a, 0x0b, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x2a, 0xbb, 0x01, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x0c, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x1a, 0x11, 0xca, 0xb5, 0x03, 0x0d, 0x0a, 0x0b, 0x41, 0x75, 0x74, 0x68, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x53, 0x45, 0x54, 0x55, 0x50, 0x5f, 0x4e, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x01, 0x1a, 0x15, 0xca, 0xb5, 0x03, 0x11, 0x0a, 0x0f, 0x41, 0x75, 0x74, 0x68, 0x53, 0x65, 0x74, 0x75, 0x70, 0x4e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0d, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x02, 0x1a, 0x12, 0xca, 0xb5, 0x03, 0x0e, 0x0a, 0x0c, 0x41, 0x75, 0x74, 0x68, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0b, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x03, 0x1a, 0x10, 0xca, 0xb5, 0x03, 0x0c, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x1a, 0x10, 0xca, 0xb5, 0x03, 0x0c, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2a, 0xc5, 0x01, 0x0a, 0x08, 0x41, 0x75, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x10, 0x00, 0x1a, 0x11, 0xca, 0xb5, 0x03, 0x0d, 0x0a, 0x0b, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x75, 0x74, 0x68, 0x12, 0x25, 0x0a, 0x0d, 0x50, 0x41, 0x53, 0x53, 0x57, 0x4f, 0x52, 0x44, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x10, 0x0a, 0x1a, 0x12, 0xca, 0xb5, 0x03, 0x0e, 0x0a, 0x0c, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x75, 0x74, 0x68, 0x12, 0x26, 0x0a, 0x0e, 0x50, 0x41, 0x50, 0x45, 0x52, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x10, 0x0b, 0x1a, 0x12, 0xca, 0xb5, 0x03, 0x0e, 0x0a, 0x0c, 0x50, 0x61, 0x70, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x35, 0x0a, 0x16, 0x46, 0x49, 0x44, 0x4f, 0x32, 0x5f, 0x48, 0x4d, 0x41, 0x43, 0x5f, 0x53, 0x45, 0x43, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x10, 0x14, 0x1a, 0x19, 0xca, 0xb5, 0x03, 0x15, 0x0a, 0x13, 0x46, 0x49, 0x44, 0x4f, 0x32, 0x48, 0x4d, 0x41, 0x43, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x1a, 0x0e, 0xca, 0xb5, 0x03, 0x0a, 0x0a, 0x08, 0x41, 0x75, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x2a, 0x72, 0x0a, 0x0a, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x13, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x1a, 0x13, 0xca, 0xb5, 0x03, 0x0f, 0x0a, 0x0d, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x24, 0x0a, 0x0f, 0x53, 0x53, 0x48, 0x5f, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x01, 0x1a, 0x0f, 0xca, 0xb5, 0x03, 0x0b, 0x0a, 0x09, 0x53, 0x53, 0x48, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x10, 0xca, 0xb5, 0x03, 0x0c, 0x0a, 0x0a, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x2a, 0x56, 0x0a, 0x0d, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x03, 0x41, 0x53, 0x43, 0x10, 0x00, 0x1a, 0x0d, 0xca, 0xb5, 0x03, 0x09, 0x0a, 0x07, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x73, 0x63, 0x12, 0x18, 0x0a, 0x04, 0x44, 0x45, 0x53, 0x43, 0x10, 0x01, 0x1a, 0x0e, 0xca, 0xb5, 0x03, 0x0a, 0x0a, 0x08, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, 0x1a, 0x13, 0xca, 0xb5, 0x03, 0x0f, 0x0a, 0x0d, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0xe6, 0x01, 0x0a, 0x0a, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x13, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x53, 0x45, 0x43, 0x52, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x1a, 0x13, 0xca, 0xb5, 0x03, 0x0f, 0x0a, 0x0d, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x29, 0x0a, 0x0f, 0x50, 0x41, 0x53, 0x53, 0x57, 0x4f, 0x52, 0x44, 0x5f, 0x53, 0x45, 0x43, 0x52, 0x45, 0x54, 0x10, 0x0a, 0x1a, 0x14, 0xca, 0xb5, 0x03, 0x10, 0x0a, 0x0e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x0e, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x43, 0x54, 0x5f, 0x53, 0x45, 0x43, 0x52, 0x45, 0x54, 0x10, 0x0b, 0x1a, 0x13, 0xca, 0xb5, 0x03, 0x0f, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x53, 0x45, 0x43, 0x52, 0x45, 0x54, 0x10, 0x0c, 0x1a, 0x10, 0xca, 0xb5, 0x03, 0x0c, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x4e, 0x4f, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x43, 0x52, 0x45, 0x54, 0x10, 0x0d, 0x1a, 0x10, 0xca, 0xb5, 0x03, 0x0c, 0x0a, 0x0a, 0x4e, 0x6f, 0x74, 0x65, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x1a, 0x10, 0xca, 0xb5, 0x03, 0x0c, 0x0a, 0x0a, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x2a, 0xe6, 0x01, 0x0a, 0x08, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x03, 0x48, 0x45, 0x58, 0x10, 0x00, 0x1a, 0x09, 0xca, 0xb5, 0x03, 0x05, 0x0a, 0x03, 0x48, 0x65, 0x78, 0x12, 0x18, 0x0a, 0x06, 0x42, 0x41, 0x53, 0x45, 0x36, 0x32, 0x10, 0x01, 0x1a, 0x0c, 0xca, 0xb5, 0x03, 0x08, 0x0a, 0x06, 0x42, 0x61, 0x73, 0x65, 0x36, 0x32, 0x12, 0x18, 0x0a, 0x06, 0x42, 0x41, 0x53, 0x45, 0x35, 0x38, 0x10, 0x02, 0x1a, 0x0c, 0xca, 0xb5, 0x03, 0x08, 0x0a, 0x06, 0x42, 0x61, 0x73, 0x65, 0x35, 0x38, 0x12, 0x18, 0x0a, 0x06, 0x42, 0x41, 0x53, 0x45, 0x33, 0x32, 0x10, 0x03, 0x1a, 0x0c, 0xca, 0xb5, 0x03, 0x08, 0x0a, 0x06, 0x42, 0x61, 0x73, 0x65, 0x33, 0x32, 0x12, 0x18, 0x0a, 0x06, 0x42, 0x41, 0x53, 0x45, 0x31, 0x36, 0x10, 0x04, 0x1a, 0x0c, 0xca, 0xb5, 0x03, 0x08, 0x0a, 0x06, 0x42, 0x61, 0x73, 0x65, 0x31, 0x36, 0x12, 0x18, 0x0a, 0x06, 0x42, 0x41, 0x53, 0x45, 0x36, 0x34, 0x10, 0x05, 0x1a, 0x0c, 0xca, 0xb5, 0x03, 0x08, 0x0a, 0x06, 0x42, 0x61, 0x73, 0x65, 0x36, 0x34, 0x12, 0x1c, 0x0a, 0x08, 0x53, 0x41, 0x4c, 0x54, 0x50, 0x41, 0x43, 0x4b, 0x10, 0x06, 0x1a, 0x0e, 0xca, 0xb5, 0x03, 0x0a, 0x0a, 0x08, 0x53, 0x61, 0x6c, 0x74, 0x70, 0x61, 0x63, 0x6b, 0x12, 0x16, 0x0a, 0x05, 0x42, 0x49, 0x50, 0x33, 0x39, 0x10, 0x07, 0x1a, 0x0b, 0xca, 0xb5, 0x03, 0x07, 0x0a, 0x05, 0x42, 0x49, 0x50, 0x33, 0x39, 0x1a, 0x0e, 0xca, 0xb5, 0x03, 0x0a, 0x0a, 0x08, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x2a, 0xff, 0x02, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x29, 0x0a, 0x0c, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x1a, 0x17, 0xca, 0xb5, 0x03, 0x13, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x12, 0x1f, 0x0a, 0x07, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x4f, 0x4b, 0x10, 0x01, 0x1a, 0x12, 0xca, 0xb5, 0x03, 0x0e, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4f, 0x4b, 0x12, 0x3d, 0x0a, 0x17, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x14, 0x1a, 0x20, 0xca, 0xb5, 0x03, 0x1c, 0x0a, 0x1a, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x3b, 0x0a, 0x16, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x1e, 0x1a, 0x1f, 0xca, 0xb5, 0x03, 0x1b, 0x0a, 0x19, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x38, 0x0a, 0x14, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x1f, 0x1a, 0x1e, 0xca, 0xb5, 0x03, 0x1a, 0x0a, 0x18, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x11, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x28, 0x1a, 0x1b, 0xca, 0xb5, 0x03, 0x17, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x29, 0x0a, 0x0c, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x32, 0x1a, 0x17, 0xca, 0xb5, 0x03, 0x13, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x1a, 0x10, 0xca, 0xb5, 0x03, 0x0c, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2a, 0x9b, 0x01, 0x0a, 0x0d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x0c, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x00, 0x1a, 0x11, 0xca, 0xb5, 0x03, 0x0d, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x0f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x1a, 0x14, 0xca, 0xb5, 0x03, 0x10, 0x0a, 0x0e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0d, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x1a, 0x12, 0xca, 0xb5, 0x03, 0x0e, 0x0a, 0x0c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x13, 0xca, 0xb5, 0x03, 0x0f, 0x0a, 0x0d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2a, 0xf0, 0x02, 0x0a, 0x0e, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2b, 0x0a, 0x10, 0x57, 0x4f, 0x52, 0x4d, 0x48, 0x4f, 0x4c, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x1a, 0x15, 0xca, 0xb5, 0x03, 0x11, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x11, 0x57, 0x4f, 0x52, 0x4d, 0x48, 0x4f, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x0a, 0x1a, 0x16, 0xca, 0xb5, 0x03, 0x12, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x2d, 0x0a, 0x11, 0x57, 0x4f, 0x52, 0x4d, 0x48, 0x4f, 0x4c, 0x45, 0x5f, 0x4f, 0x46, 0x46, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x14, 0x1a, 0x16, 0xca, 0xb5, 0x03, 0x12, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x0a, 0x12, 0x57, 0x4f, 0x52, 0x4d, 0x48, 0x4f, 0x4c, 0x45, 0x5f, 0x41, 0x4e, 0x53, 0x57, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x15, 0x1a, 0x17, 0xca, 0xb5, 0x03, 0x13, 0x0a, 0x11, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x0a, 0x12, 0x57, 0x4f, 0x52, 0x4d, 0x48, 0x4f, 0x4c, 0x45, 0x5f, 0x48, 0x41, 0x4e, 0x44, 0x53, 0x48, 0x41, 0x4b, 0x45, 0x10, 0x28, 0x1a, 0x17, 0xca, 0xb5, 0x03, 0x13, 0x0a, 0x11, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x12, 0x2f, 0x0a, 0x12, 0x57, 0x4f, 0x52, 0x4d, 0x48, 0x4f, 0x4c, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x64, 0x1a, 0x17, 0xca, 0xb5, 0x03, 0x13, 0x0a, 0x11, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x0f, 0x57, 0x4f, 0x52, 0x4d, 0x48, 0x4f, 0x4c, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0xc8, 0x01, 0x1a, 0x14, 0xca, 0xb5, 0x03, 0x10, 0x0a, 0x0e, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x1a, 0x14, 0xca, 0xb5, 0x03, 0x10, 0x0a, 0x0e, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2a, 0xda, 0x01, 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x34, 0x0a, 0x15, 0x57, 0x4f, 0x52, 0x4d, 0x48, 0x4f, 0x4c, 0x45, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x00, 0x1a, 0x19, 0xca, 0xb5, 0x03, 0x15, 0x0a, 0x13, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x18, 0x57, 0x4f, 0x52, 0x4d, 0x48, 0x4f, 0x4c, 0x45, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x1a, 0x1c, 0xca, 0xb5, 0x03, 0x18, 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x32, 0x0a, 0x14, 0x57, 0x4f, 0x52, 0x4d, 0x48, 0x4f, 0x4c, 0x45, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x41, 0x43, 0x4b, 0x10, 0x02, 0x1a, 0x18, 0xca, 0xb5, 0x03, 0x14, 0x0a, 0x12, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x63, 0x6b, 0x1a, 0x1b, 0xca, 0xb5, 0x03, 0x17, 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0xca, 0x29, 0x0a, 0x03, 0x52, 0x50, 0x43, 0x12, 0x4a, 0x0a, 0x0b, 0x4b, 0x65, 0x79, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x35, 0x0a, 0x04, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x32, 0x0a, 0x03, 0x4b, 0x65, 0x79, 0x12, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x4b, 0x65, 0x79, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x4b, 0x65, 0x79, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x35, 0x0a, 0x04, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x3b, 0x0a, 0x0a, 0x53, 0x69, 0x67, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x12, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x3b, 0x0a, 0x06, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x41, 0x0a, 0x0c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x53, 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x12, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x12, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x20, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x12, 0x59, 0x0a, 0x14, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x12, 0x3e, 0x0a, 0x07, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x12, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x0d, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x4a, 0x0a, 0x0b, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x3e, 0x0a, 0x07, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x12, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x0d, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x4a, 0x0a, 0x0b, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x41, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x69, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x69, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x35, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3e, 0x0a, 0x07, 0x55, 0x73, 0x65, 0x72, 0x41, 0x64, 0x64, 0x12, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x06, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x06, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x53, 0x61, 0x76, 0x65, 0x12, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3e, 0x0a, 0x07, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x35, 0x0a, 0x04, 0x50, 0x75, 0x6c, 0x6c, 0x12, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x35, 0x0a, 0x04, 0x50, 0x75, 0x73, 0x68, 0x12, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x08, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x12, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x44, 0x0a, 0x09, 0x41, 0x75, 0x74, 0x68, 0x53, 0x65, 0x74, 0x75, 0x70, 0x12, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x53, 0x65, 0x74, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x53, 0x65, 0x74, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x41, 0x75, 0x74, 0x68, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x08, 0x41, 0x75, 0x74, 0x68, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x0d, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x35, 0x0a, 0x04, 0x52, 0x61, 0x6e, 0x64, 0x12, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x52, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x0f, 0x41, 0x75, 0x74, 0x68, 0x44, 0x65, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x44, 0x65, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x44, 0x65, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x0e, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x12, 0x41, 0x75, 0x74, 0x68, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x75, 0x74, 0x68, 0x12, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x55, 0x6e, 0x73, 0x79, 0x6e, 0x63, 0x12, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x55, 0x6e, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x55, 0x6e, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x0e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x65, 0x74, 0x12, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x12, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x55, 0x52, 0x4c, 0x12, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x08, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x12, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x12, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x06, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x12, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3e, 0x0a, 0x07, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x12, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x0e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x12, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x0d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x08, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x38, 0x0a, 0x05, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x00, 0x30, 0x01, 0x42, 0x0b, 0x5a, 0x09, 0x2e, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_rpc_proto_rawDescOnce sync.Once file_rpc_proto_rawDescData = file_rpc_proto_rawDesc ) func file_rpc_proto_rawDescGZIP() []byte { file_rpc_proto_rawDescOnce.Do(func() { file_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_rpc_proto_rawDescData) }) return file_rpc_proto_rawDescData } var file_rpc_proto_enumTypes = make([]protoimpl.EnumInfo, 11) var file_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 162) var file_rpc_proto_goTypes = []interface{}{ (EncryptMode)(0), // 0: service.EncryptMode (AuthStatus)(0), // 1: service.AuthStatus (AuthType)(0), // 2: service.AuthType (ExportType)(0), // 3: service.ExportType (SortDirection)(0), // 4: service.SortDirection (SecretType)(0), // 5: service.SecretType (Encoding)(0), // 6: service.Encoding (UserStatus)(0), // 7: service.UserStatus (MessageStatus)(0), // 8: service.MessageStatus (WormholeStatus)(0), // 9: service.WormholeStatus (WormholeMessageStatus)(0), // 10: service.WormholeMessageStatus (*SignRequest)(nil), // 11: service.SignRequest (*SignResponse)(nil), // 12: service.SignResponse (*SignFileInput)(nil), // 13: service.SignFileInput (*SignFileOutput)(nil), // 14: service.SignFileOutput (*VerifyRequest)(nil), // 15: service.VerifyRequest (*VerifyResponse)(nil), // 16: service.VerifyResponse (*VerifyDetachedRequest)(nil), // 17: service.VerifyDetachedRequest (*VerifyDetachedResponse)(nil), // 18: service.VerifyDetachedResponse (*VerifyInput)(nil), // 19: service.VerifyInput (*VerifyOutput)(nil), // 20: service.VerifyOutput (*VerifyFileInput)(nil), // 21: service.VerifyFileInput (*VerifyFileOutput)(nil), // 22: service.VerifyFileOutput (*VerifyDetachedFileInput)(nil), // 23: service.VerifyDetachedFileInput (*VerifyDetachedInput)(nil), // 24: service.VerifyDetachedInput (*Statement)(nil), // 25: service.Statement (*SigchainRequest)(nil), // 26: service.SigchainRequest (*SigchainResponse)(nil), // 27: service.SigchainResponse (*StatementRequest)(nil), // 28: service.StatementRequest (*StatementResponse)(nil), // 29: service.StatementResponse (*StatementCreateRequest)(nil), // 30: service.StatementCreateRequest (*StatementCreateResponse)(nil), // 31: service.StatementCreateResponse (*StatementRevokeRequest)(nil), // 32: service.StatementRevokeRequest (*StatementRevokeResponse)(nil), // 33: service.StatementRevokeResponse (*SignInput)(nil), // 34: service.SignInput (*SignOutput)(nil), // 35: service.SignOutput (*EncryptOptions)(nil), // 36: service.EncryptOptions (*EncryptRequest)(nil), // 37: service.EncryptRequest (*EncryptResponse)(nil), // 38: service.EncryptResponse (*EncryptFileInput)(nil), // 39: service.EncryptFileInput (*EncryptFileOutput)(nil), // 40: service.EncryptFileOutput (*EncryptInput)(nil), // 41: service.EncryptInput (*EncryptOutput)(nil), // 42: service.EncryptOutput (*DecryptRequest)(nil), // 43: service.DecryptRequest (*DecryptResponse)(nil), // 44: service.DecryptResponse (*DecryptFileInput)(nil), // 45: service.DecryptFileInput (*DecryptFileOutput)(nil), // 46: service.DecryptFileOutput (*DecryptInput)(nil), // 47: service.DecryptInput (*DecryptOutput)(nil), // 48: service.DecryptOutput (*RuntimeStatusRequest)(nil), // 49: service.RuntimeStatusRequest (*RuntimeStatusResponse)(nil), // 50: service.RuntimeStatusResponse (*AuthSetupRequest)(nil), // 51: service.AuthSetupRequest (*AuthSetupResponse)(nil), // 52: service.AuthSetupResponse (*AuthVaultRequest)(nil), // 53: service.AuthVaultRequest (*AuthVaultResponse)(nil), // 54: service.AuthVaultResponse (*AuthUnlockRequest)(nil), // 55: service.AuthUnlockRequest (*AuthUnlockResponse)(nil), // 56: service.AuthUnlockResponse (*AuthProvisionRequest)(nil), // 57: service.AuthProvisionRequest (*AuthProvisionResponse)(nil), // 58: service.AuthProvisionResponse (*AuthDeprovisionRequest)(nil), // 59: service.AuthDeprovisionRequest (*AuthDeprovisionResponse)(nil), // 60: service.AuthDeprovisionResponse (*AuthPasswordChangeRequest)(nil), // 61: service.AuthPasswordChangeRequest (*AuthPasswordChangeResponse)(nil), // 62: service.AuthPasswordChangeResponse (*AuthProvision)(nil), // 63: service.AuthProvision (*AuthProvisionsRequest)(nil), // 64: service.AuthProvisionsRequest (*AuthProvisionsResponse)(nil), // 65: service.AuthProvisionsResponse (*AuthLockRequest)(nil), // 66: service.AuthLockRequest (*AuthLockResponse)(nil), // 67: service.AuthLockResponse (*AuthResetRequest)(nil), // 68: service.AuthResetRequest (*AuthResetResponse)(nil), // 69: service.AuthResetResponse (*AuthRecoverRequest)(nil), // 70: service.AuthRecoverRequest (*AuthRecoverResponse)(nil), // 71: service.AuthRecoverResponse (*KeyGenerateRequest)(nil), // 72: service.KeyGenerateRequest (*KeyGenerateResponse)(nil), // 73: service.KeyGenerateResponse (*UserServiceRequest)(nil), // 74: service.UserServiceRequest (*UserServiceResponse)(nil), // 75: service.UserServiceResponse (*UserSignRequest)(nil), // 76: service.UserSignRequest (*UserSignResponse)(nil), // 77: service.UserSignResponse (*UserAddRequest)(nil), // 78: service.UserAddRequest (*UserAddResponse)(nil), // 79: service.UserAddResponse (*KeyExportRequest)(nil), // 80: service.KeyExportRequest (*KeyExportResponse)(nil), // 81: service.KeyExportResponse (*KeyImportRequest)(nil), // 82: service.KeyImportRequest (*KeyImportResponse)(nil), // 83: service.KeyImportResponse (*KeyRemoveRequest)(nil), // 84: service.KeyRemoveRequest (*KeyRemoveResponse)(nil), // 85: service.KeyRemoveResponse (*Key)(nil), // 86: service.Key (*KeyRequest)(nil), // 87: service.KeyRequest (*KeyResponse)(nil), // 88: service.KeyResponse (*KeysRequest)(nil), // 89: service.KeysRequest (*KeysResponse)(nil), // 90: service.KeysResponse (*Secret)(nil), // 91: service.Secret (*SecretRequest)(nil), // 92: service.SecretRequest (*SecretResponse)(nil), // 93: service.SecretResponse (*SecretSaveRequest)(nil), // 94: service.SecretSaveRequest (*SecretSaveResponse)(nil), // 95: service.SecretSaveResponse (*SecretRemoveRequest)(nil), // 96: service.SecretRemoveRequest (*SecretRemoveResponse)(nil), // 97: service.SecretRemoveResponse (*SecretsRequest)(nil), // 98: service.SecretsRequest (*SecretsResponse)(nil), // 99: service.SecretsResponse (*RandRequest)(nil), // 100: service.RandRequest (*RandResponse)(nil), // 101: service.RandResponse (*RandPasswordRequest)(nil), // 102: service.RandPasswordRequest (*RandPasswordResponse)(nil), // 103: service.RandPasswordResponse (*PullRequest)(nil), // 104: service.PullRequest (*PullResponse)(nil), // 105: service.PullResponse (*PushRequest)(nil), // 106: service.PushRequest (*PushResponse)(nil), // 107: service.PushResponse (*Collection)(nil), // 108: service.Collection (*CollectionsRequest)(nil), // 109: service.CollectionsRequest (*CollectionsResponse)(nil), // 110: service.CollectionsResponse (*Document)(nil), // 111: service.Document (*DocumentsRequest)(nil), // 112: service.DocumentsRequest (*DocumentsResponse)(nil), // 113: service.DocumentsResponse (*DocumentDeleteRequest)(nil), // 114: service.DocumentDeleteRequest (*DocumentDeleteResponse)(nil), // 115: service.DocumentDeleteResponse (*User)(nil), // 116: service.User (*UserRequest)(nil), // 117: service.UserRequest (*UserResponse)(nil), // 118: service.UserResponse (*UserSearchRequest)(nil), // 119: service.UserSearchRequest (*UserSearchResponse)(nil), // 120: service.UserSearchResponse (*SearchRequest)(nil), // 121: service.SearchRequest (*SearchResponse)(nil), // 122: service.SearchResponse (*VaultSyncRequest)(nil), // 123: service.VaultSyncRequest (*VaultSyncResponse)(nil), // 124: service.VaultSyncResponse (*VaultUnsyncRequest)(nil), // 125: service.VaultUnsyncRequest (*VaultUnsyncResponse)(nil), // 126: service.VaultUnsyncResponse (*VaultAuthRequest)(nil), // 127: service.VaultAuthRequest (*VaultAuthResponse)(nil), // 128: service.VaultAuthResponse (*VaultStatusRequest)(nil), // 129: service.VaultStatusRequest (*VaultStatusResponse)(nil), // 130: service.VaultStatusResponse (*VaultUpdateRequest)(nil), // 131: service.VaultUpdateRequest (*VaultUpdateResponse)(nil), // 132: service.VaultUpdateResponse (*Message)(nil), // 133: service.Message (*MessagePrepareRequest)(nil), // 134: service.MessagePrepareRequest (*MessagePrepareResponse)(nil), // 135: service.MessagePrepareResponse (*MessageCreateRequest)(nil), // 136: service.MessageCreateRequest (*MessageCreateResponse)(nil), // 137: service.MessageCreateResponse (*MessagesRequest)(nil), // 138: service.MessagesRequest (*MessagesResponse)(nil), // 139: service.MessagesResponse (*RelayRequest)(nil), // 140: service.RelayRequest (*RelayOutput)(nil), // 141: service.RelayOutput (*Channel)(nil), // 142: service.Channel (*ChannelsRequest)(nil), // 143: service.ChannelsRequest (*ChannelsResponse)(nil), // 144: service.ChannelsResponse (*ChannelCreateRequest)(nil), // 145: service.ChannelCreateRequest (*ChannelCreateResponse)(nil), // 146: service.ChannelCreateResponse (*ChannelLeaveRequest)(nil), // 147: service.ChannelLeaveRequest (*ChannelLeaveResponse)(nil), // 148: service.ChannelLeaveResponse (*ChannelReadRequest)(nil), // 149: service.ChannelReadRequest (*ChannelReadResponse)(nil), // 150: service.ChannelReadResponse (*ChannelInviteRequest)(nil), // 151: service.ChannelInviteRequest (*ChannelInviteResponse)(nil), // 152: service.ChannelInviteResponse (*Follow)(nil), // 153: service.Follow (*FollowRequest)(nil), // 154: service.FollowRequest (*FollowResponse)(nil), // 155: service.FollowResponse (*FollowsRequest)(nil), // 156: service.FollowsRequest (*FollowsResponse)(nil), // 157: service.FollowsResponse (*AdminSignURLRequest)(nil), // 158: service.AdminSignURLRequest (*AdminSignURLResponse)(nil), // 159: service.AdminSignURLResponse (*AdminCheckRequest)(nil), // 160: service.AdminCheckRequest (*AdminCheckResponse)(nil), // 161: service.AdminCheckResponse (*Config)(nil), // 162: service.Config (*ConfigGetRequest)(nil), // 163: service.ConfigGetRequest (*ConfigGetResponse)(nil), // 164: service.ConfigGetResponse (*ConfigSetRequest)(nil), // 165: service.ConfigSetRequest (*ConfigSetResponse)(nil), // 166: service.ConfigSetResponse (*WormholeInput)(nil), // 167: service.WormholeInput (*WormholeMessage)(nil), // 168: service.WormholeMessage (*WormholeOutput)(nil), // 169: service.WormholeOutput (*Config_App)(nil), // 170: service.Config.App (*Config_Encrypt)(nil), // 171: service.Config.Encrypt (*Config_Sign)(nil), // 172: service.Config.Sign } var file_rpc_proto_depIdxs = []int32{ 86, // 0: service.VerifyResponse.signer:type_name -> service.Key 86, // 1: service.VerifyDetachedResponse.signer:type_name -> service.Key 86, // 2: service.VerifyOutput.signer:type_name -> service.Key 86, // 3: service.VerifyFileOutput.signer:type_name -> service.Key 86, // 4: service.SigchainResponse.key:type_name -> service.Key 25, // 5: service.SigchainResponse.statements:type_name -> service.Statement 25, // 6: service.StatementResponse.statement:type_name -> service.Statement 25, // 7: service.StatementCreateResponse.statement:type_name -> service.Statement 25, // 8: service.StatementRevokeResponse.statement:type_name -> service.Statement 0, // 9: service.EncryptOptions.mode:type_name -> service.EncryptMode 36, // 10: service.EncryptRequest.options:type_name -> service.EncryptOptions 36, // 11: service.EncryptFileInput.options:type_name -> service.EncryptOptions 36, // 12: service.EncryptInput.options:type_name -> service.EncryptOptions 86, // 13: service.DecryptResponse.sender:type_name -> service.Key 0, // 14: service.DecryptResponse.mode:type_name -> service.EncryptMode 86, // 15: service.DecryptFileOutput.sender:type_name -> service.Key 0, // 16: service.DecryptFileOutput.mode:type_name -> service.EncryptMode 86, // 17: service.DecryptOutput.sender:type_name -> service.Key 0, // 18: service.DecryptOutput.mode:type_name -> service.EncryptMode 1, // 19: service.RuntimeStatusResponse.authStatus:type_name -> service.AuthStatus 2, // 20: service.AuthSetupRequest.type:type_name -> service.AuthType 2, // 21: service.AuthUnlockRequest.type:type_name -> service.AuthType 2, // 22: service.AuthProvisionRequest.type:type_name -> service.AuthType 63, // 23: service.AuthProvisionResponse.provision:type_name -> service.AuthProvision 2, // 24: service.AuthProvision.type:type_name -> service.AuthType 63, // 25: service.AuthProvisionsResponse.provisions:type_name -> service.AuthProvision 116, // 26: service.UserAddResponse.user:type_name -> service.User 25, // 27: service.UserAddResponse.statement:type_name -> service.Statement 3, // 28: service.KeyExportRequest.type:type_name -> service.ExportType 116, // 29: service.Key.user:type_name -> service.User 86, // 30: service.KeyResponse.key:type_name -> service.Key 4, // 31: service.KeysRequest.sortDirection:type_name -> service.SortDirection 86, // 32: service.KeysResponse.keys:type_name -> service.Key 4, // 33: service.KeysResponse.sortDirection:type_name -> service.SortDirection 5, // 34: service.Secret.type:type_name -> service.SecretType 91, // 35: service.SecretResponse.secret:type_name -> service.Secret 91, // 36: service.SecretSaveRequest.secret:type_name -> service.Secret 91, // 37: service.SecretSaveResponse.secret:type_name -> service.Secret 4, // 38: service.SecretsRequest.sortDirection:type_name -> service.SortDirection 91, // 39: service.SecretsResponse.secrets:type_name -> service.Secret 4, // 40: service.SecretsResponse.sortDirection:type_name -> service.SortDirection 6, // 41: service.RandRequest.encoding:type_name -> service.Encoding 108, // 42: service.CollectionsResponse.collections:type_name -> service.Collection 111, // 43: service.DocumentsResponse.documents:type_name -> service.Document 7, // 44: service.User.status:type_name -> service.UserStatus 116, // 45: service.UserResponse.user:type_name -> service.User 116, // 46: service.UserSearchResponse.users:type_name -> service.User 86, // 47: service.SearchResponse.keys:type_name -> service.Key 86, // 48: service.Message.sender:type_name -> service.Key 8, // 49: service.Message.status:type_name -> service.MessageStatus 133, // 50: service.MessagePrepareResponse.message:type_name -> service.Message 133, // 51: service.MessageCreateResponse.message:type_name -> service.Message 133, // 52: service.MessagesResponse.messages:type_name -> service.Message 142, // 53: service.ChannelsResponse.channels:type_name -> service.Channel 142, // 54: service.ChannelCreateResponse.channel:type_name -> service.Channel 133, // 55: service.ChannelInviteResponse.message:type_name -> service.Message 153, // 56: service.FollowResponse.follow:type_name -> service.Follow 153, // 57: service.FollowsResponse.follows:type_name -> service.Follow 170, // 58: service.Config.app:type_name -> service.Config.App 171, // 59: service.Config.encrypt:type_name -> service.Config.Encrypt 172, // 60: service.Config.sign:type_name -> service.Config.Sign 162, // 61: service.ConfigGetResponse.config:type_name -> service.Config 162, // 62: service.ConfigSetRequest.config:type_name -> service.Config 86, // 63: service.WormholeMessage.sender:type_name -> service.Key 86, // 64: service.WormholeMessage.recipient:type_name -> service.Key 10, // 65: service.WormholeMessage.status:type_name -> service.WormholeMessageStatus 168, // 66: service.WormholeOutput.message:type_name -> service.WormholeMessage 9, // 67: service.WormholeOutput.status:type_name -> service.WormholeStatus 72, // 68: service.RPC.KeyGenerate:input_type -> service.KeyGenerateRequest 89, // 69: service.RPC.Keys:input_type -> service.KeysRequest 87, // 70: service.RPC.Key:input_type -> service.KeyRequest 82, // 71: service.RPC.KeyImport:input_type -> service.KeyImportRequest 80, // 72: service.RPC.KeyExport:input_type -> service.KeyExportRequest 84, // 73: service.RPC.KeyRemove:input_type -> service.KeyRemoveRequest 11, // 74: service.RPC.Sign:input_type -> service.SignRequest 13, // 75: service.RPC.SignFile:input_type -> service.SignFileInput 34, // 76: service.RPC.SignStream:input_type -> service.SignInput 15, // 77: service.RPC.Verify:input_type -> service.VerifyRequest 21, // 78: service.RPC.VerifyFile:input_type -> service.VerifyFileInput 19, // 79: service.RPC.VerifyStream:input_type -> service.VerifyInput 17, // 80: service.RPC.VerifyDetached:input_type -> service.VerifyDetachedRequest 23, // 81: service.RPC.VerifyDetachedFile:input_type -> service.VerifyDetachedFileInput 24, // 82: service.RPC.VerifyDetachedStream:input_type -> service.VerifyDetachedInput 37, // 83: service.RPC.Encrypt:input_type -> service.EncryptRequest 41, // 84: service.RPC.EncryptStream:input_type -> service.EncryptInput 39, // 85: service.RPC.EncryptFile:input_type -> service.EncryptFileInput 43, // 86: service.RPC.Decrypt:input_type -> service.DecryptRequest 47, // 87: service.RPC.DecryptStream:input_type -> service.DecryptInput 45, // 88: service.RPC.DecryptFile:input_type -> service.DecryptFileInput 26, // 89: service.RPC.Sigchain:input_type -> service.SigchainRequest 28, // 90: service.RPC.Statement:input_type -> service.StatementRequest 30, // 91: service.RPC.StatementCreate:input_type -> service.StatementCreateRequest 32, // 92: service.RPC.StatementRevoke:input_type -> service.StatementRevokeRequest 117, // 93: service.RPC.User:input_type -> service.UserRequest 119, // 94: service.RPC.UserSearch:input_type -> service.UserSearchRequest 74, // 95: service.RPC.UserService:input_type -> service.UserServiceRequest 76, // 96: service.RPC.UserSign:input_type -> service.UserSignRequest 78, // 97: service.RPC.UserAdd:input_type -> service.UserAddRequest 121, // 98: service.RPC.Search:input_type -> service.SearchRequest 92, // 99: service.RPC.Secret:input_type -> service.SecretRequest 94, // 100: service.RPC.SecretSave:input_type -> service.SecretSaveRequest 96, // 101: service.RPC.SecretRemove:input_type -> service.SecretRemoveRequest 98, // 102: service.RPC.Secrets:input_type -> service.SecretsRequest 104, // 103: service.RPC.Pull:input_type -> service.PullRequest 106, // 104: service.RPC.Push:input_type -> service.PushRequest 167, // 105: service.RPC.Wormhole:input_type -> service.WormholeInput 51, // 106: service.RPC.AuthSetup:input_type -> service.AuthSetupRequest 53, // 107: service.RPC.AuthVault:input_type -> service.AuthVaultRequest 55, // 108: service.RPC.AuthUnlock:input_type -> service.AuthUnlockRequest 66, // 109: service.RPC.AuthLock:input_type -> service.AuthLockRequest 68, // 110: service.RPC.AuthReset:input_type -> service.AuthResetRequest 70, // 111: service.RPC.AuthRecover:input_type -> service.AuthRecoverRequest 49, // 112: service.RPC.RuntimeStatus:input_type -> service.RuntimeStatusRequest 100, // 113: service.RPC.Rand:input_type -> service.RandRequest 102, // 114: service.RPC.RandPassword:input_type -> service.RandPasswordRequest 57, // 115: service.RPC.AuthProvision:input_type -> service.AuthProvisionRequest 59, // 116: service.RPC.AuthDeprovision:input_type -> service.AuthDeprovisionRequest 64, // 117: service.RPC.AuthProvisions:input_type -> service.AuthProvisionsRequest 61, // 118: service.RPC.AuthPasswordChange:input_type -> service.AuthPasswordChangeRequest 127, // 119: service.RPC.VaultAuth:input_type -> service.VaultAuthRequest 123, // 120: service.RPC.VaultSync:input_type -> service.VaultSyncRequest 125, // 121: service.RPC.VaultUnsync:input_type -> service.VaultUnsyncRequest 129, // 122: service.RPC.VaultStatus:input_type -> service.VaultStatusRequest 131, // 123: service.RPC.VaultUpdate:input_type -> service.VaultUpdateRequest 109, // 124: service.RPC.Collections:input_type -> service.CollectionsRequest 112, // 125: service.RPC.Documents:input_type -> service.DocumentsRequest 114, // 126: service.RPC.DocumentDelete:input_type -> service.DocumentDeleteRequest 163, // 127: service.RPC.ConfigGet:input_type -> service.ConfigGetRequest 165, // 128: service.RPC.ConfigSet:input_type -> service.ConfigSetRequest 158, // 129: service.RPC.AdminSignURL:input_type -> service.AdminSignURLRequest 160, // 130: service.RPC.AdminCheck:input_type -> service.AdminCheckRequest 143, // 131: service.RPC.Channels:input_type -> service.ChannelsRequest 145, // 132: service.RPC.ChannelCreate:input_type -> service.ChannelCreateRequest 151, // 133: service.RPC.ChannelInvite:input_type -> service.ChannelInviteRequest 147, // 134: service.RPC.ChannelLeave:input_type -> service.ChannelLeaveRequest 149, // 135: service.RPC.ChannelRead:input_type -> service.ChannelReadRequest 154, // 136: service.RPC.Follow:input_type -> service.FollowRequest 156, // 137: service.RPC.Follows:input_type -> service.FollowsRequest 134, // 138: service.RPC.MessagePrepare:input_type -> service.MessagePrepareRequest 136, // 139: service.RPC.MessageCreate:input_type -> service.MessageCreateRequest 138, // 140: service.RPC.Messages:input_type -> service.MessagesRequest 140, // 141: service.RPC.Relay:input_type -> service.RelayRequest 73, // 142: service.RPC.KeyGenerate:output_type -> service.KeyGenerateResponse 90, // 143: service.RPC.Keys:output_type -> service.KeysResponse 88, // 144: service.RPC.Key:output_type -> service.KeyResponse 83, // 145: service.RPC.KeyImport:output_type -> service.KeyImportResponse 81, // 146: service.RPC.KeyExport:output_type -> service.KeyExportResponse 85, // 147: service.RPC.KeyRemove:output_type -> service.KeyRemoveResponse 12, // 148: service.RPC.Sign:output_type -> service.SignResponse 14, // 149: service.RPC.SignFile:output_type -> service.SignFileOutput 35, // 150: service.RPC.SignStream:output_type -> service.SignOutput 16, // 151: service.RPC.Verify:output_type -> service.VerifyResponse 22, // 152: service.RPC.VerifyFile:output_type -> service.VerifyFileOutput 20, // 153: service.RPC.VerifyStream:output_type -> service.VerifyOutput 18, // 154: service.RPC.VerifyDetached:output_type -> service.VerifyDetachedResponse 18, // 155: service.RPC.VerifyDetachedFile:output_type -> service.VerifyDetachedResponse 18, // 156: service.RPC.VerifyDetachedStream:output_type -> service.VerifyDetachedResponse 38, // 157: service.RPC.Encrypt:output_type -> service.EncryptResponse 42, // 158: service.RPC.EncryptStream:output_type -> service.EncryptOutput 40, // 159: service.RPC.EncryptFile:output_type -> service.EncryptFileOutput 44, // 160: service.RPC.Decrypt:output_type -> service.DecryptResponse 48, // 161: service.RPC.DecryptStream:output_type -> service.DecryptOutput 46, // 162: service.RPC.DecryptFile:output_type -> service.DecryptFileOutput 27, // 163: service.RPC.Sigchain:output_type -> service.SigchainResponse 29, // 164: service.RPC.Statement:output_type -> service.StatementResponse 31, // 165: service.RPC.StatementCreate:output_type -> service.StatementCreateResponse 33, // 166: service.RPC.StatementRevoke:output_type -> service.StatementRevokeResponse 118, // 167: service.RPC.User:output_type -> service.UserResponse 120, // 168: service.RPC.UserSearch:output_type -> service.UserSearchResponse 75, // 169: service.RPC.UserService:output_type -> service.UserServiceResponse 77, // 170: service.RPC.UserSign:output_type -> service.UserSignResponse 79, // 171: service.RPC.UserAdd:output_type -> service.UserAddResponse 122, // 172: service.RPC.Search:output_type -> service.SearchResponse 93, // 173: service.RPC.Secret:output_type -> service.SecretResponse 95, // 174: service.RPC.SecretSave:output_type -> service.SecretSaveResponse 97, // 175: service.RPC.SecretRemove:output_type -> service.SecretRemoveResponse 99, // 176: service.RPC.Secrets:output_type -> service.SecretsResponse 105, // 177: service.RPC.Pull:output_type -> service.PullResponse 107, // 178: service.RPC.Push:output_type -> service.PushResponse 169, // 179: service.RPC.Wormhole:output_type -> service.WormholeOutput 52, // 180: service.RPC.AuthSetup:output_type -> service.AuthSetupResponse 54, // 181: service.RPC.AuthVault:output_type -> service.AuthVaultResponse 56, // 182: service.RPC.AuthUnlock:output_type -> service.AuthUnlockResponse 67, // 183: service.RPC.AuthLock:output_type -> service.AuthLockResponse 69, // 184: service.RPC.AuthReset:output_type -> service.AuthResetResponse 71, // 185: service.RPC.AuthRecover:output_type -> service.AuthRecoverResponse 50, // 186: service.RPC.RuntimeStatus:output_type -> service.RuntimeStatusResponse 101, // 187: service.RPC.Rand:output_type -> service.RandResponse 103, // 188: service.RPC.RandPassword:output_type -> service.RandPasswordResponse 58, // 189: service.RPC.AuthProvision:output_type -> service.AuthProvisionResponse 60, // 190: service.RPC.AuthDeprovision:output_type -> service.AuthDeprovisionResponse 65, // 191: service.RPC.AuthProvisions:output_type -> service.AuthProvisionsResponse 62, // 192: service.RPC.AuthPasswordChange:output_type -> service.AuthPasswordChangeResponse 128, // 193: service.RPC.VaultAuth:output_type -> service.VaultAuthResponse 124, // 194: service.RPC.VaultSync:output_type -> service.VaultSyncResponse 126, // 195: service.RPC.VaultUnsync:output_type -> service.VaultUnsyncResponse 130, // 196: service.RPC.VaultStatus:output_type -> service.VaultStatusResponse 132, // 197: service.RPC.VaultUpdate:output_type -> service.VaultUpdateResponse 110, // 198: service.RPC.Collections:output_type -> service.CollectionsResponse 113, // 199: service.RPC.Documents:output_type -> service.DocumentsResponse 115, // 200: service.RPC.DocumentDelete:output_type -> service.DocumentDeleteResponse 164, // 201: service.RPC.ConfigGet:output_type -> service.ConfigGetResponse 166, // 202: service.RPC.ConfigSet:output_type -> service.ConfigSetResponse 159, // 203: service.RPC.AdminSignURL:output_type -> service.AdminSignURLResponse 161, // 204: service.RPC.AdminCheck:output_type -> service.AdminCheckResponse 144, // 205: service.RPC.Channels:output_type -> service.ChannelsResponse 146, // 206: service.RPC.ChannelCreate:output_type -> service.ChannelCreateResponse 152, // 207: service.RPC.ChannelInvite:output_type -> service.ChannelInviteResponse 148, // 208: service.RPC.ChannelLeave:output_type -> service.ChannelLeaveResponse 150, // 209: service.RPC.ChannelRead:output_type -> service.ChannelReadResponse 155, // 210: service.RPC.Follow:output_type -> service.FollowResponse 157, // 211: service.RPC.Follows:output_type -> service.FollowsResponse 135, // 212: service.RPC.MessagePrepare:output_type -> service.MessagePrepareResponse 137, // 213: service.RPC.MessageCreate:output_type -> service.MessageCreateResponse 139, // 214: service.RPC.Messages:output_type -> service.MessagesResponse 141, // 215: service.RPC.Relay:output_type -> service.RelayOutput 142, // [142:216] is the sub-list for method output_type 68, // [68:142] is the sub-list for method input_type 68, // [68:68] is the sub-list for extension type_name 68, // [68:68] is the sub-list for extension extendee 0, // [0:68] is the sub-list for field type_name } func init() { file_rpc_proto_init() } func file_rpc_proto_init() { if File_rpc_proto != nil { return } if !protoimpl.UnsafeEnabled { file_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SignRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SignResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SignFileInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SignFileOutput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VerifyRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VerifyResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VerifyDetachedRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VerifyDetachedResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VerifyInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VerifyOutput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VerifyFileInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VerifyFileOutput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VerifyDetachedFileInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VerifyDetachedInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Statement); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SigchainRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SigchainResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatementRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatementResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatementCreateRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatementCreateResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatementRevokeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatementRevokeResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SignInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SignOutput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EncryptOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EncryptRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EncryptResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EncryptFileInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EncryptFileOutput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EncryptInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EncryptOutput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DecryptRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DecryptResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DecryptFileInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DecryptFileOutput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DecryptInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DecryptOutput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RuntimeStatusRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RuntimeStatusResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthSetupRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthSetupResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthVaultRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthVaultResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthUnlockRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthUnlockResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthProvisionRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthProvisionResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthDeprovisionRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthDeprovisionResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthPasswordChangeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthPasswordChangeResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthProvision); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthProvisionsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthProvisionsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthLockRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthLockResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthResetRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthResetResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthRecoverRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthRecoverResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KeyGenerateRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KeyGenerateResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserServiceRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserServiceResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserSignRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserSignResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserAddRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserAddResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KeyExportRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KeyExportResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KeyImportRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KeyImportResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KeyRemoveRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KeyRemoveResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Key); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KeyRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KeyResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KeysRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KeysResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Secret); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecretRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecretResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecretSaveRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecretSaveResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecretRemoveRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecretRemoveResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecretsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecretsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RandRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RandResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RandPasswordRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RandPasswordResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PullRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PullResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PushRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PushResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Collection); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CollectionsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CollectionsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Document); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DocumentsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DocumentsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DocumentDeleteRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DocumentDeleteResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*User); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserSearchRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserSearchResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VaultSyncRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VaultSyncResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VaultUnsyncRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VaultUnsyncResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VaultAuthRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VaultAuthResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VaultStatusRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VaultStatusResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VaultUpdateRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VaultUpdateResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Message); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MessagePrepareRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MessagePrepareResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MessageCreateRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MessageCreateResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MessagesRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MessagesResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RelayRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RelayOutput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Channel); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelCreateRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelCreateResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelLeaveRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelLeaveResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelReadRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelReadResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelInviteRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelInviteResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Follow); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FollowRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FollowResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FollowsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FollowsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AdminSignURLRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AdminSignURLResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AdminCheckRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AdminCheckResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Config); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConfigGetRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConfigGetResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConfigSetRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConfigSetResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WormholeInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WormholeMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WormholeOutput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Config_App); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Config_Encrypt); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_rpc_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Config_Sign); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_rpc_proto_rawDesc, NumEnums: 11, NumMessages: 162, NumExtensions: 0, NumServices: 1, }, GoTypes: file_rpc_proto_goTypes, DependencyIndexes: file_rpc_proto_depIdxs, EnumInfos: file_rpc_proto_enumTypes, MessageInfos: file_rpc_proto_msgTypes, }.Build() File_rpc_proto = out.File file_rpc_proto_rawDesc = nil file_rpc_proto_goTypes = nil file_rpc_proto_depIdxs = nil }