// // Licensed to the Apache Software Foundation (ASF) under one or more // contributor license agreements. See the NOTICE file distributed with // this work for additional information regarding copyright ownership. // The ASF licenses this file to You under the Apache License, Version 2.0 // (the "License"); you may not use this file except in compliance with // the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 // protoc v4.22.0--rc2 // source: accountFiee.proto package accountFiee import ( _ "github.com/mwitkow/go-proto-validators" 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) ) type MsgType int32 const ( MsgType_UnknownMsgType MsgType = 0 //未知类型 MsgType_TextMsgType MsgType = 1 //文本 MsgType_ImageMsgType MsgType = 2 //图片 MsgType_AudioMsgType MsgType = 3 //音频 MsgType_VideoMsgType MsgType = 4 //视频 MsgType_FileType MsgType = 5 //文件 ) // Enum value maps for MsgType. var ( MsgType_name = map[int32]string{ 0: "UnknownMsgType", 1: "TextMsgType", 2: "ImageMsgType", 3: "AudioMsgType", 4: "VideoMsgType", 5: "FileType", } MsgType_value = map[string]int32{ "UnknownMsgType": 0, "TextMsgType": 1, "ImageMsgType": 2, "AudioMsgType": 3, "VideoMsgType": 4, "FileType": 5, } ) func (x MsgType) Enum() *MsgType { p := new(MsgType) *p = x return p } func (x MsgType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (MsgType) Descriptor() protoreflect.EnumDescriptor { return file_accountFiee_proto_enumTypes[0].Descriptor() } func (MsgType) Type() protoreflect.EnumType { return &file_accountFiee_proto_enumTypes[0] } func (x MsgType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use MsgType.Descriptor instead. func (MsgType) EnumDescriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{0} } type VerifySliderStatusRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NonceStr string `protobuf:"bytes,1,opt,name=nonceStr,proto3" json:"nonceStr,omitempty"` } func (x *VerifySliderStatusRequest) Reset() { *x = VerifySliderStatusRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VerifySliderStatusRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*VerifySliderStatusRequest) ProtoMessage() {} func (x *VerifySliderStatusRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 VerifySliderStatusRequest.ProtoReflect.Descriptor instead. func (*VerifySliderStatusRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{0} } func (x *VerifySliderStatusRequest) GetNonceStr() string { if x != nil { return x.NonceStr } return "" } type VerifySliderStatusResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NonceStr string `protobuf:"bytes,1,opt,name=nonceStr,proto3" json:"nonceStr,omitempty"` Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` } func (x *VerifySliderStatusResponse) Reset() { *x = VerifySliderStatusResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VerifySliderStatusResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*VerifySliderStatusResponse) ProtoMessage() {} func (x *VerifySliderStatusResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 VerifySliderStatusResponse.ProtoReflect.Descriptor instead. func (*VerifySliderStatusResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{1} } func (x *VerifySliderStatusResponse) GetNonceStr() string { if x != nil { return x.NonceStr } return "" } func (x *VerifySliderStatusResponse) GetStatus() int32 { if x != nil { return x.Status } return 0 } type SendNationMsgRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` TelNum string `protobuf:"bytes,2,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` Project string `protobuf:"bytes,3,opt,name=Project,json=project,proto3" json:"Project,omitempty"` SignNo uint32 `protobuf:"varint,4,opt,name=signNo,proto3" json:"signNo,omitempty"` MId uint32 `protobuf:"varint,5,opt,name=mId,proto3" json:"mId,omitempty"` Scope string `protobuf:"bytes,6,opt,name=scope,proto3" json:"scope,omitempty"` //标记模块 } func (x *SendNationMsgRequest) Reset() { *x = SendNationMsgRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SendNationMsgRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SendNationMsgRequest) ProtoMessage() {} func (x *SendNationMsgRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 SendNationMsgRequest.ProtoReflect.Descriptor instead. func (*SendNationMsgRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{2} } func (x *SendNationMsgRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *SendNationMsgRequest) GetTelNum() string { if x != nil { return x.TelNum } return "" } func (x *SendNationMsgRequest) GetProject() string { if x != nil { return x.Project } return "" } func (x *SendNationMsgRequest) GetSignNo() uint32 { if x != nil { return x.SignNo } return 0 } func (x *SendNationMsgRequest) GetMId() uint32 { if x != nil { return x.MId } return 0 } func (x *SendNationMsgRequest) GetScope() string { if x != nil { return x.Scope } return "" } type VerifySliderCaptchaResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NonceStr string `protobuf:"bytes,1,opt,name=nonceStr,proto3" json:"nonceStr,omitempty"` } func (x *VerifySliderCaptchaResponse) Reset() { *x = VerifySliderCaptchaResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VerifySliderCaptchaResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*VerifySliderCaptchaResponse) ProtoMessage() {} func (x *VerifySliderCaptchaResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 VerifySliderCaptchaResponse.ProtoReflect.Descriptor instead. func (*VerifySliderCaptchaResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{3} } func (x *VerifySliderCaptchaResponse) GetNonceStr() string { if x != nil { return x.NonceStr } return "" } type VerifySliderCaptchaRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NonceStr string `protobuf:"bytes,1,opt,name=nonceStr,proto3" json:"nonceStr,omitempty"` BlockX float32 `protobuf:"fixed32,2,opt,name=blockX,proto3" json:"blockX,omitempty"` } func (x *VerifySliderCaptchaRequest) Reset() { *x = VerifySliderCaptchaRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VerifySliderCaptchaRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*VerifySliderCaptchaRequest) ProtoMessage() {} func (x *VerifySliderCaptchaRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 VerifySliderCaptchaRequest.ProtoReflect.Descriptor instead. func (*VerifySliderCaptchaRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{4} } func (x *VerifySliderCaptchaRequest) GetNonceStr() string { if x != nil { return x.NonceStr } return "" } func (x *VerifySliderCaptchaRequest) GetBlockX() float32 { if x != nil { return x.BlockX } return 0 } type GenerateSliderCaptchaResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NonceStr string `protobuf:"bytes,1,opt,name=nonceStr,proto3" json:"nonceStr,omitempty"` CanvasSrc string `protobuf:"bytes,2,opt,name=canvasSrc,proto3" json:"canvasSrc,omitempty"` BlockSrc string `protobuf:"bytes,3,opt,name=blockSrc,proto3" json:"blockSrc,omitempty"` BlockY uint64 `protobuf:"varint,4,opt,name=blockY,proto3" json:"blockY,omitempty"` FaceY uint64 `protobuf:"varint,5,opt,name=faceY,proto3" json:"faceY,omitempty"` BlockX uint64 `protobuf:"varint,6,opt,name=blockX,proto3" json:"blockX,omitempty"` } func (x *GenerateSliderCaptchaResponse) Reset() { *x = GenerateSliderCaptchaResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GenerateSliderCaptchaResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GenerateSliderCaptchaResponse) ProtoMessage() {} func (x *GenerateSliderCaptchaResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 GenerateSliderCaptchaResponse.ProtoReflect.Descriptor instead. func (*GenerateSliderCaptchaResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{5} } func (x *GenerateSliderCaptchaResponse) GetNonceStr() string { if x != nil { return x.NonceStr } return "" } func (x *GenerateSliderCaptchaResponse) GetCanvasSrc() string { if x != nil { return x.CanvasSrc } return "" } func (x *GenerateSliderCaptchaResponse) GetBlockSrc() string { if x != nil { return x.BlockSrc } return "" } func (x *GenerateSliderCaptchaResponse) GetBlockY() uint64 { if x != nil { return x.BlockY } return 0 } func (x *GenerateSliderCaptchaResponse) GetFaceY() uint64 { if x != nil { return x.FaceY } return 0 } func (x *GenerateSliderCaptchaResponse) GetBlockX() uint64 { if x != nil { return x.BlockX } return 0 } type GenerateSliderCaptchaRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CanvasWidth uint64 `protobuf:"varint,1,opt,name=canvasWidth,proto3" json:"canvasWidth,omitempty"` CanvasHeight uint64 `protobuf:"varint,2,opt,name=canvasHeight,proto3" json:"canvasHeight,omitempty"` BlockWidth uint64 `protobuf:"varint,3,opt,name=blockWidth,proto3" json:"blockWidth,omitempty"` BlockHeight uint64 `protobuf:"varint,4,opt,name=blockHeight,proto3" json:"blockHeight,omitempty"` BlockRadius uint64 `protobuf:"varint,5,opt,name=blockRadius,proto3" json:"blockRadius,omitempty"` Place uint64 `protobuf:"varint,6,opt,name=place,proto3" json:"place,omitempty"` } func (x *GenerateSliderCaptchaRequest) Reset() { *x = GenerateSliderCaptchaRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GenerateSliderCaptchaRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GenerateSliderCaptchaRequest) ProtoMessage() {} func (x *GenerateSliderCaptchaRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 GenerateSliderCaptchaRequest.ProtoReflect.Descriptor instead. func (*GenerateSliderCaptchaRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{6} } func (x *GenerateSliderCaptchaRequest) GetCanvasWidth() uint64 { if x != nil { return x.CanvasWidth } return 0 } func (x *GenerateSliderCaptchaRequest) GetCanvasHeight() uint64 { if x != nil { return x.CanvasHeight } return 0 } func (x *GenerateSliderCaptchaRequest) GetBlockWidth() uint64 { if x != nil { return x.BlockWidth } return 0 } func (x *GenerateSliderCaptchaRequest) GetBlockHeight() uint64 { if x != nil { return x.BlockHeight } return 0 } func (x *GenerateSliderCaptchaRequest) GetBlockRadius() uint64 { if x != nil { return x.BlockRadius } return 0 } func (x *GenerateSliderCaptchaRequest) GetPlace() uint64 { if x != nil { return x.Place } return 0 } type CheckRealNameResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` } func (x *CheckRealNameResponse) Reset() { *x = CheckRealNameResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckRealNameResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckRealNameResponse) ProtoMessage() {} func (x *CheckRealNameResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 CheckRealNameResponse.ProtoReflect.Descriptor instead. func (*CheckRealNameResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{7} } func (x *CheckRealNameResponse) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *CheckRealNameResponse) GetStatus() string { if x != nil { return x.Status } return "" } type CheckRealNameRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Pass bool `protobuf:"varint,2,opt,name=pass,proto3" json:"pass,omitempty"` NotPassRemarks string `protobuf:"bytes,3,opt,name=notPassRemarks,proto3" json:"notPassRemarks,omitempty"` } func (x *CheckRealNameRequest) Reset() { *x = CheckRealNameRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckRealNameRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckRealNameRequest) ProtoMessage() {} func (x *CheckRealNameRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 CheckRealNameRequest.ProtoReflect.Descriptor instead. func (*CheckRealNameRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{8} } func (x *CheckRealNameRequest) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *CheckRealNameRequest) GetPass() bool { if x != nil { return x.Pass } return false } func (x *CheckRealNameRequest) GetNotPassRemarks() string { if x != nil { return x.NotPassRemarks } return "" } type UserListResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Count uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` Page uint64 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` PageSize uint64 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` UserList []*UserListInfo `protobuf:"bytes,4,rep,name=userList,proto3" json:"userList,omitempty"` } func (x *UserListResponse) Reset() { *x = UserListResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserListResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserListResponse) ProtoMessage() {} func (x *UserListResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 UserListResponse.ProtoReflect.Descriptor instead. func (*UserListResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{9} } func (x *UserListResponse) GetCount() uint64 { if x != nil { return x.Count } return 0 } func (x *UserListResponse) GetPage() uint64 { if x != nil { return x.Page } return 0 } func (x *UserListResponse) GetPageSize() uint64 { if x != nil { return x.PageSize } return 0 } func (x *UserListResponse) GetUserList() []*UserListInfo { if x != nil { return x.UserList } return nil } type UserListInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` Sex string `protobuf:"bytes,4,opt,name=sex,proto3" json:"sex,omitempty"` Nationality string `protobuf:"bytes,5,opt,name=nationality,proto3" json:"nationality,omitempty"` DocumentType int32 `protobuf:"varint,6,opt,name=documentType,proto3" json:"documentType,omitempty"` CertificatePicture string `protobuf:"bytes,7,opt,name=certificatePicture,proto3" json:"certificatePicture,omitempty"` Validity string `protobuf:"bytes,8,opt,name=validity,proto3" json:"validity,omitempty"` PlaceOfResidence string `protobuf:"bytes,9,opt,name=placeOfResidence,proto3" json:"placeOfResidence,omitempty"` GroupPhoto string `protobuf:"bytes,10,opt,name=groupPhoto,proto3" json:"groupPhoto,omitempty"` Attachment string `protobuf:"bytes,11,opt,name=attachment,proto3" json:"attachment,omitempty"` RegistrationTime string `protobuf:"bytes,12,opt,name=registrationTime,proto3" json:"registrationTime,omitempty"` AuditTime string `protobuf:"bytes,13,opt,name=auditTime,proto3" json:"auditTime,omitempty"` SubNum string `protobuf:"bytes,14,opt,name=subNum,proto3" json:"subNum,omitempty"` NotPassRemarks string `protobuf:"bytes,15,opt,name=notPassRemarks,proto3" json:"notPassRemarks,omitempty"` TelNum string `protobuf:"bytes,16,opt,name=telNum,proto3" json:"telNum,omitempty"` TelAreaCode string `protobuf:"bytes,17,opt,name=telAreaCode,proto3" json:"telAreaCode,omitempty"` Language string `protobuf:"bytes,18,opt,name=language,proto3" json:"language,omitempty"` SubscriberNumber string `protobuf:"bytes,19,opt,name=subscriberNumber,proto3" json:"subscriberNumber,omitempty"` NickName string `protobuf:"bytes,20,opt,name=nickName,proto3" json:"nickName,omitempty"` } func (x *UserListInfo) Reset() { *x = UserListInfo{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserListInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserListInfo) ProtoMessage() {} func (x *UserListInfo) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 UserListInfo.ProtoReflect.Descriptor instead. func (*UserListInfo) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{10} } func (x *UserListInfo) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *UserListInfo) GetStatus() int32 { if x != nil { return x.Status } return 0 } func (x *UserListInfo) GetName() string { if x != nil { return x.Name } return "" } func (x *UserListInfo) GetSex() string { if x != nil { return x.Sex } return "" } func (x *UserListInfo) GetNationality() string { if x != nil { return x.Nationality } return "" } func (x *UserListInfo) GetDocumentType() int32 { if x != nil { return x.DocumentType } return 0 } func (x *UserListInfo) GetCertificatePicture() string { if x != nil { return x.CertificatePicture } return "" } func (x *UserListInfo) GetValidity() string { if x != nil { return x.Validity } return "" } func (x *UserListInfo) GetPlaceOfResidence() string { if x != nil { return x.PlaceOfResidence } return "" } func (x *UserListInfo) GetGroupPhoto() string { if x != nil { return x.GroupPhoto } return "" } func (x *UserListInfo) GetAttachment() string { if x != nil { return x.Attachment } return "" } func (x *UserListInfo) GetRegistrationTime() string { if x != nil { return x.RegistrationTime } return "" } func (x *UserListInfo) GetAuditTime() string { if x != nil { return x.AuditTime } return "" } func (x *UserListInfo) GetSubNum() string { if x != nil { return x.SubNum } return "" } func (x *UserListInfo) GetNotPassRemarks() string { if x != nil { return x.NotPassRemarks } return "" } func (x *UserListInfo) GetTelNum() string { if x != nil { return x.TelNum } return "" } func (x *UserListInfo) GetTelAreaCode() string { if x != nil { return x.TelAreaCode } return "" } func (x *UserListInfo) GetLanguage() string { if x != nil { return x.Language } return "" } func (x *UserListInfo) GetSubscriberNumber() string { if x != nil { return x.SubscriberNumber } return "" } func (x *UserListInfo) GetNickName() string { if x != nil { return x.NickName } return "" } type UserListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` SubNum string `protobuf:"bytes,2,opt,name=subNum,proto3" json:"subNum,omitempty"` RealNameOrNot int32 `protobuf:"varint,3,opt,name=realNameOrNot,proto3" json:"realNameOrNot,omitempty"` Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` Sex string `protobuf:"bytes,5,opt,name=sex,proto3" json:"sex,omitempty"` DocumentType int32 `protobuf:"varint,6,opt,name=documentType,proto3" json:"documentType,omitempty"` AuditStatus int32 `protobuf:"varint,7,opt,name=auditStatus,proto3" json:"auditStatus,omitempty"` Page uint64 `protobuf:"varint,8,opt,name=page,proto3" json:"page,omitempty"` PageSize uint64 `protobuf:"varint,9,opt,name=pageSize,proto3" json:"pageSize,omitempty"` } func (x *UserListRequest) Reset() { *x = UserListRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserListRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserListRequest) ProtoMessage() {} func (x *UserListRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 UserListRequest.ProtoReflect.Descriptor instead. func (*UserListRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{11} } func (x *UserListRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *UserListRequest) GetSubNum() string { if x != nil { return x.SubNum } return "" } func (x *UserListRequest) GetRealNameOrNot() int32 { if x != nil { return x.RealNameOrNot } return 0 } func (x *UserListRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *UserListRequest) GetSex() string { if x != nil { return x.Sex } return "" } func (x *UserListRequest) GetDocumentType() int32 { if x != nil { return x.DocumentType } return 0 } func (x *UserListRequest) GetAuditStatus() int32 { if x != nil { return x.AuditStatus } return 0 } func (x *UserListRequest) GetPage() uint64 { if x != nil { return x.Page } return 0 } func (x *UserListRequest) GetPageSize() uint64 { if x != nil { return x.PageSize } return 0 } type UserInfoResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` Sex string `protobuf:"bytes,4,opt,name=sex,proto3" json:"sex,omitempty"` Nationality string `protobuf:"bytes,5,opt,name=nationality,proto3" json:"nationality,omitempty"` DocumentType int32 `protobuf:"varint,6,opt,name=documentType,proto3" json:"documentType,omitempty"` CertificatePicture string `protobuf:"bytes,7,opt,name=certificatePicture,proto3" json:"certificatePicture,omitempty"` Validity string `protobuf:"bytes,8,opt,name=validity,proto3" json:"validity,omitempty"` PlaceOfResidence string `protobuf:"bytes,9,opt,name=placeOfResidence,proto3" json:"placeOfResidence,omitempty"` GroupPhoto string `protobuf:"bytes,10,opt,name=groupPhoto,proto3" json:"groupPhoto,omitempty"` Attachment string `protobuf:"bytes,11,opt,name=attachment,proto3" json:"attachment,omitempty"` SubNum string `protobuf:"bytes,12,opt,name=subNum,proto3" json:"subNum,omitempty"` NotPassRemarks string `protobuf:"bytes,13,opt,name=notPassRemarks,proto3" json:"notPassRemarks,omitempty"` Domain string `protobuf:"bytes,14,opt,name=domain,proto3" json:"domain,omitempty"` Language string `protobuf:"bytes,15,opt,name=language,proto3" json:"language,omitempty"` SubscriberNumber string `protobuf:"bytes,16,opt,name=subscriberNumber,proto3" json:"subscriberNumber,omitempty"` NickName string `protobuf:"bytes,17,opt,name=nickName,proto3" json:"nickName,omitempty"` TelNum string `protobuf:"bytes,18,opt,name=telNum,proto3" json:"telNum,omitempty"` } func (x *UserInfoResponse) Reset() { *x = UserInfoResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserInfoResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserInfoResponse) ProtoMessage() {} func (x *UserInfoResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 UserInfoResponse.ProtoReflect.Descriptor instead. func (*UserInfoResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{12} } func (x *UserInfoResponse) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *UserInfoResponse) GetStatus() int32 { if x != nil { return x.Status } return 0 } func (x *UserInfoResponse) GetName() string { if x != nil { return x.Name } return "" } func (x *UserInfoResponse) GetSex() string { if x != nil { return x.Sex } return "" } func (x *UserInfoResponse) GetNationality() string { if x != nil { return x.Nationality } return "" } func (x *UserInfoResponse) GetDocumentType() int32 { if x != nil { return x.DocumentType } return 0 } func (x *UserInfoResponse) GetCertificatePicture() string { if x != nil { return x.CertificatePicture } return "" } func (x *UserInfoResponse) GetValidity() string { if x != nil { return x.Validity } return "" } func (x *UserInfoResponse) GetPlaceOfResidence() string { if x != nil { return x.PlaceOfResidence } return "" } func (x *UserInfoResponse) GetGroupPhoto() string { if x != nil { return x.GroupPhoto } return "" } func (x *UserInfoResponse) GetAttachment() string { if x != nil { return x.Attachment } return "" } func (x *UserInfoResponse) GetSubNum() string { if x != nil { return x.SubNum } return "" } func (x *UserInfoResponse) GetNotPassRemarks() string { if x != nil { return x.NotPassRemarks } return "" } func (x *UserInfoResponse) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *UserInfoResponse) GetLanguage() string { if x != nil { return x.Language } return "" } func (x *UserInfoResponse) GetSubscriberNumber() string { if x != nil { return x.SubscriberNumber } return "" } func (x *UserInfoResponse) GetNickName() string { if x != nil { return x.NickName } return "" } func (x *UserInfoResponse) GetTelNum() string { if x != nil { return x.TelNum } return "" } type RealNameResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` } func (x *RealNameResponse) Reset() { *x = RealNameResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RealNameResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RealNameResponse) ProtoMessage() {} func (x *RealNameResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 RealNameResponse.ProtoReflect.Descriptor instead. func (*RealNameResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{13} } func (x *RealNameResponse) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *RealNameResponse) GetStatus() string { if x != nil { return x.Status } return "" } type RealNameRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Sex string `protobuf:"bytes,3,opt,name=sex,proto3" json:"sex,omitempty"` Nationality string `protobuf:"bytes,4,opt,name=nationality,proto3" json:"nationality,omitempty"` DocumentType int32 `protobuf:"varint,5,opt,name=documentType,proto3" json:"documentType,omitempty"` CertificatePicture string `protobuf:"bytes,6,opt,name=certificatePicture,proto3" json:"certificatePicture,omitempty"` Validity string `protobuf:"bytes,7,opt,name=validity,proto3" json:"validity,omitempty"` PlaceOfResidence string `protobuf:"bytes,8,opt,name=placeOfResidence,proto3" json:"placeOfResidence,omitempty"` GroupPhoto string `protobuf:"bytes,9,opt,name=groupPhoto,proto3" json:"groupPhoto,omitempty"` Attachment string `protobuf:"bytes,10,opt,name=attachment,proto3" json:"attachment,omitempty"` } func (x *RealNameRequest) Reset() { *x = RealNameRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RealNameRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RealNameRequest) ProtoMessage() {} func (x *RealNameRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 RealNameRequest.ProtoReflect.Descriptor instead. func (*RealNameRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{14} } func (x *RealNameRequest) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *RealNameRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *RealNameRequest) GetSex() string { if x != nil { return x.Sex } return "" } func (x *RealNameRequest) GetNationality() string { if x != nil { return x.Nationality } return "" } func (x *RealNameRequest) GetDocumentType() int32 { if x != nil { return x.DocumentType } return 0 } func (x *RealNameRequest) GetCertificatePicture() string { if x != nil { return x.CertificatePicture } return "" } func (x *RealNameRequest) GetValidity() string { if x != nil { return x.Validity } return "" } func (x *RealNameRequest) GetPlaceOfResidence() string { if x != nil { return x.PlaceOfResidence } return "" } func (x *RealNameRequest) GetGroupPhoto() string { if x != nil { return x.GroupPhoto } return "" } func (x *RealNameRequest) GetAttachment() string { if x != nil { return x.Attachment } return "" } type RegisterResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` Status uint64 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token,omitempty"` } func (x *RegisterResponse) Reset() { *x = RegisterResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RegisterResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RegisterResponse) ProtoMessage() {} func (x *RegisterResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 RegisterResponse.ProtoReflect.Descriptor instead. func (*RegisterResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{15} } func (x *RegisterResponse) GetID() uint64 { if x != nil { return x.ID } return 0 } func (x *RegisterResponse) GetStatus() uint64 { if x != nil { return x.Status } return 0 } func (x *RegisterResponse) GetToken() string { if x != nil { return x.Token } return "" } type UsersByJobNumRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` JobNum []string `protobuf:"bytes,2,rep,name=jobNum,proto3" json:"jobNum,omitempty"` } func (x *UsersByJobNumRequest) Reset() { *x = UsersByJobNumRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UsersByJobNumRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UsersByJobNumRequest) ProtoMessage() {} func (x *UsersByJobNumRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 UsersByJobNumRequest.ProtoReflect.Descriptor instead. func (*UsersByJobNumRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{16} } func (x *UsersByJobNumRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *UsersByJobNumRequest) GetJobNum() []string { if x != nil { return x.JobNum } return nil } type QueryPersonnelWithTheSameNameRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Names []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"` Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` } func (x *QueryPersonnelWithTheSameNameRequest) Reset() { *x = QueryPersonnelWithTheSameNameRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *QueryPersonnelWithTheSameNameRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*QueryPersonnelWithTheSameNameRequest) ProtoMessage() {} func (x *QueryPersonnelWithTheSameNameRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 QueryPersonnelWithTheSameNameRequest.ProtoReflect.Descriptor instead. func (*QueryPersonnelWithTheSameNameRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{17} } func (x *QueryPersonnelWithTheSameNameRequest) GetNames() []string { if x != nil { return x.Names } return nil } func (x *QueryPersonnelWithTheSameNameRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *QueryPersonnelWithTheSameNameRequest) GetStatus() string { if x != nil { return x.Status } return "" } type QueryPersonnelWithTheSameNameResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Names []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"` Count uint64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` } func (x *QueryPersonnelWithTheSameNameResponse) Reset() { *x = QueryPersonnelWithTheSameNameResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *QueryPersonnelWithTheSameNameResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*QueryPersonnelWithTheSameNameResponse) ProtoMessage() {} func (x *QueryPersonnelWithTheSameNameResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 QueryPersonnelWithTheSameNameResponse.ProtoReflect.Descriptor instead. func (*QueryPersonnelWithTheSameNameResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{18} } func (x *QueryPersonnelWithTheSameNameResponse) GetNames() []string { if x != nil { return x.Names } return nil } func (x *QueryPersonnelWithTheSameNameResponse) GetCount() uint64 { if x != nil { return x.Count } return 0 } type ListV2Request struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` PageSize uint64 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize,omitempty"` Page uint64 `protobuf:"varint,3,opt,name=page,proto3" json:"page,omitempty"` Key string `protobuf:"bytes,4,opt,name=key,proto3" json:"key,omitempty"` NickName string `protobuf:"bytes,5,opt,name=nickName,proto3" json:"nickName,omitempty"` TelNum string `protobuf:"bytes,6,opt,name=telNum,proto3" json:"telNum,omitempty"` Status string `protobuf:"bytes,7,opt,name=status,proto3" json:"status,omitempty"` PositionName string `protobuf:"bytes,8,opt,name=positionName,proto3" json:"positionName,omitempty"` JobNum string `protobuf:"bytes,9,opt,name=jobNum,proto3" json:"jobNum,omitempty"` MailAccount string `protobuf:"bytes,10,opt,name=mailAccount,proto3" json:"mailAccount,omitempty"` StartEnterDate string `protobuf:"bytes,11,opt,name=startEnterDate,proto3" json:"startEnterDate,omitempty"` EndEnterDate string `protobuf:"bytes,12,opt,name=endEnterDate,proto3" json:"endEnterDate,omitempty"` PositionId uint32 `protobuf:"varint,13,opt,name=positionId,proto3" json:"positionId,omitempty"` DepartmentId uint32 `protobuf:"varint,14,opt,name=departmentId,proto3" json:"departmentId,omitempty"` DepartmentName string `protobuf:"bytes,15,opt,name=departmentName,proto3" json:"departmentName,omitempty"` DepartmentNames []string `protobuf:"bytes,16,rep,name=departmentNames,proto3" json:"departmentNames,omitempty"` PositionIds []uint32 `protobuf:"varint,17,rep,packed,name=positionIds,proto3" json:"positionIds,omitempty"` DepartmentIds []uint32 `protobuf:"varint,18,rep,packed,name=departmentIds,proto3" json:"departmentIds,omitempty"` } func (x *ListV2Request) Reset() { *x = ListV2Request{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListV2Request) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListV2Request) ProtoMessage() {} func (x *ListV2Request) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 ListV2Request.ProtoReflect.Descriptor instead. func (*ListV2Request) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{19} } func (x *ListV2Request) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *ListV2Request) GetPageSize() uint64 { if x != nil { return x.PageSize } return 0 } func (x *ListV2Request) GetPage() uint64 { if x != nil { return x.Page } return 0 } func (x *ListV2Request) GetKey() string { if x != nil { return x.Key } return "" } func (x *ListV2Request) GetNickName() string { if x != nil { return x.NickName } return "" } func (x *ListV2Request) GetTelNum() string { if x != nil { return x.TelNum } return "" } func (x *ListV2Request) GetStatus() string { if x != nil { return x.Status } return "" } func (x *ListV2Request) GetPositionName() string { if x != nil { return x.PositionName } return "" } func (x *ListV2Request) GetJobNum() string { if x != nil { return x.JobNum } return "" } func (x *ListV2Request) GetMailAccount() string { if x != nil { return x.MailAccount } return "" } func (x *ListV2Request) GetStartEnterDate() string { if x != nil { return x.StartEnterDate } return "" } func (x *ListV2Request) GetEndEnterDate() string { if x != nil { return x.EndEnterDate } return "" } func (x *ListV2Request) GetPositionId() uint32 { if x != nil { return x.PositionId } return 0 } func (x *ListV2Request) GetDepartmentId() uint32 { if x != nil { return x.DepartmentId } return 0 } func (x *ListV2Request) GetDepartmentName() string { if x != nil { return x.DepartmentName } return "" } func (x *ListV2Request) GetDepartmentNames() []string { if x != nil { return x.DepartmentNames } return nil } func (x *ListV2Request) GetPositionIds() []uint32 { if x != nil { return x.PositionIds } return nil } func (x *ListV2Request) GetDepartmentIds() []uint32 { if x != nil { return x.DepartmentIds } return nil } type SendClockInWechatRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` TelNum string `protobuf:"bytes,2,opt,name=telNum,proto3" json:"telNum,omitempty"` OperatedAt string `protobuf:"bytes,3,opt,name=operatedAt,proto3" json:"operatedAt,omitempty"` ClockType string `protobuf:"bytes,4,opt,name=clockType,proto3" json:"clockType,omitempty"` UserId uint32 `protobuf:"varint,5,opt,name=userId,proto3" json:"userId,omitempty"` GhId string `protobuf:"bytes,6,opt,name=ghId,proto3" json:"ghId,omitempty"` Address string `protobuf:"bytes,7,opt,name=address,proto3" json:"address,omitempty"` LogId uint64 `protobuf:"varint,8,opt,name=logId,proto3" json:"logId,omitempty"` } func (x *SendClockInWechatRequest) Reset() { *x = SendClockInWechatRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SendClockInWechatRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SendClockInWechatRequest) ProtoMessage() {} func (x *SendClockInWechatRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 SendClockInWechatRequest.ProtoReflect.Descriptor instead. func (*SendClockInWechatRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{20} } func (x *SendClockInWechatRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *SendClockInWechatRequest) GetTelNum() string { if x != nil { return x.TelNum } return "" } func (x *SendClockInWechatRequest) GetOperatedAt() string { if x != nil { return x.OperatedAt } return "" } func (x *SendClockInWechatRequest) GetClockType() string { if x != nil { return x.ClockType } return "" } func (x *SendClockInWechatRequest) GetUserId() uint32 { if x != nil { return x.UserId } return 0 } func (x *SendClockInWechatRequest) GetGhId() string { if x != nil { return x.GhId } return "" } func (x *SendClockInWechatRequest) GetAddress() string { if x != nil { return x.Address } return "" } func (x *SendClockInWechatRequest) GetLogId() uint64 { if x != nil { return x.LogId } return 0 } type MailAccountByNickNameRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` NickName string `protobuf:"bytes,2,opt,name=NickName,json=nickName,proto3" json:"NickName,omitempty"` ID uint32 `protobuf:"varint,3,opt,name=ID,proto3" json:"ID,omitempty"` } func (x *MailAccountByNickNameRequest) Reset() { *x = MailAccountByNickNameRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MailAccountByNickNameRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*MailAccountByNickNameRequest) ProtoMessage() {} func (x *MailAccountByNickNameRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 MailAccountByNickNameRequest.ProtoReflect.Descriptor instead. func (*MailAccountByNickNameRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{21} } func (x *MailAccountByNickNameRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *MailAccountByNickNameRequest) GetNickName() string { if x != nil { return x.NickName } return "" } func (x *MailAccountByNickNameRequest) GetID() uint32 { if x != nil { return x.ID } return 0 } type CreateMaiAccountRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ID uint32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` NickName string `protobuf:"bytes,2,opt,name=nickName,proto3" json:"nickName,omitempty"` Domain string `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain,omitempty"` } func (x *CreateMaiAccountRequest) Reset() { *x = CreateMaiAccountRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateMaiAccountRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateMaiAccountRequest) ProtoMessage() {} func (x *CreateMaiAccountRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 CreateMaiAccountRequest.ProtoReflect.Descriptor instead. func (*CreateMaiAccountRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{22} } func (x *CreateMaiAccountRequest) GetID() uint32 { if x != nil { return x.ID } return 0 } func (x *CreateMaiAccountRequest) GetNickName() string { if x != nil { return x.NickName } return "" } func (x *CreateMaiAccountRequest) GetDomain() string { if x != nil { return x.Domain } return "" } type MaiAccountResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields EnglishName string `protobuf:"bytes,1,opt,name=englishName,proto3" json:"englishName,omitempty"` MailAccount string `protobuf:"bytes,2,opt,name=mailAccount,proto3" json:"mailAccount,omitempty"` } func (x *MaiAccountResponse) Reset() { *x = MaiAccountResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MaiAccountResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*MaiAccountResponse) ProtoMessage() {} func (x *MaiAccountResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 MaiAccountResponse.ProtoReflect.Descriptor instead. func (*MaiAccountResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{23} } func (x *MaiAccountResponse) GetEnglishName() string { if x != nil { return x.EnglishName } return "" } func (x *MaiAccountResponse) GetMailAccount() string { if x != nil { return x.MailAccount } return "" } type FddCreateUserRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Openid string `protobuf:"bytes,1,opt,name=openid,proto3" json:"openid,omitempty"` WxUserId uint32 `protobuf:"varint,2,opt,name=wxUserId,proto3" json:"wxUserId,omitempty"` // string UserId = 3; CustomerId string `protobuf:"bytes,4,opt,name=customerId,proto3" json:"customerId,omitempty"` IsVerify bool `protobuf:"varint,5,opt,name=isVerify,proto3" json:"isVerify,omitempty"` TransactionNo string `protobuf:"bytes,6,opt,name=transactionNo,proto3" json:"transactionNo,omitempty"` } func (x *FddCreateUserRequest) Reset() { *x = FddCreateUserRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FddCreateUserRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FddCreateUserRequest) ProtoMessage() {} func (x *FddCreateUserRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 FddCreateUserRequest.ProtoReflect.Descriptor instead. func (*FddCreateUserRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{24} } func (x *FddCreateUserRequest) GetOpenid() string { if x != nil { return x.Openid } return "" } func (x *FddCreateUserRequest) GetWxUserId() uint32 { if x != nil { return x.WxUserId } return 0 } func (x *FddCreateUserRequest) GetCustomerId() string { if x != nil { return x.CustomerId } return "" } func (x *FddCreateUserRequest) GetIsVerify() bool { if x != nil { return x.IsVerify } return false } func (x *FddCreateUserRequest) GetTransactionNo() string { if x != nil { return x.TransactionNo } return "" } type WxBoxUserInfoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Openid string `protobuf:"bytes,2,opt,name=openid,proto3" json:"openid,omitempty"` GhId string `protobuf:"bytes,3,opt,name=ghId,proto3" json:"ghId,omitempty"` } func (x *WxBoxUserInfoRequest) Reset() { *x = WxBoxUserInfoRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WxBoxUserInfoRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*WxBoxUserInfoRequest) ProtoMessage() {} func (x *WxBoxUserInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 WxBoxUserInfoRequest.ProtoReflect.Descriptor instead. func (*WxBoxUserInfoRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{25} } func (x *WxBoxUserInfoRequest) GetOpenid() string { if x != nil { return x.Openid } return "" } func (x *WxBoxUserInfoRequest) GetGhId() string { if x != nil { return x.GhId } return "" } type WxGetOpenIdByCodeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` State string `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` GhId string `protobuf:"bytes,3,opt,name=ghId,proto3" json:"ghId,omitempty"` } func (x *WxGetOpenIdByCodeRequest) Reset() { *x = WxGetOpenIdByCodeRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WxGetOpenIdByCodeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*WxGetOpenIdByCodeRequest) ProtoMessage() {} func (x *WxGetOpenIdByCodeRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 WxGetOpenIdByCodeRequest.ProtoReflect.Descriptor instead. func (*WxGetOpenIdByCodeRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{26} } func (x *WxGetOpenIdByCodeRequest) GetCode() string { if x != nil { return x.Code } return "" } func (x *WxGetOpenIdByCodeRequest) GetState() string { if x != nil { return x.State } return "" } func (x *WxGetOpenIdByCodeRequest) GetGhId() string { if x != nil { return x.GhId } return "" } type WxGetOpenIdByCodeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OpenId string `protobuf:"bytes,1,opt,name=openId,proto3" json:"openId,omitempty"` } func (x *WxGetOpenIdByCodeResponse) Reset() { *x = WxGetOpenIdByCodeResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WxGetOpenIdByCodeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*WxGetOpenIdByCodeResponse) ProtoMessage() {} func (x *WxGetOpenIdByCodeResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 WxGetOpenIdByCodeResponse.ProtoReflect.Descriptor instead. func (*WxGetOpenIdByCodeResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{27} } func (x *WxGetOpenIdByCodeResponse) GetOpenId() string { if x != nil { return x.OpenId } return "" } type WxBoxTelNumByCodeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TelNum string `protobuf:"bytes,1,opt,name=telNum,proto3" json:"telNum,omitempty"` } func (x *WxBoxTelNumByCodeResponse) Reset() { *x = WxBoxTelNumByCodeResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WxBoxTelNumByCodeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*WxBoxTelNumByCodeResponse) ProtoMessage() {} func (x *WxBoxTelNumByCodeResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 WxBoxTelNumByCodeResponse.ProtoReflect.Descriptor instead. func (*WxBoxTelNumByCodeResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{28} } func (x *WxBoxTelNumByCodeResponse) GetTelNum() string { if x != nil { return x.TelNum } return "" } type WxBoxUserInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OpenId string `protobuf:"bytes,1,opt,name=openId,proto3" json:"openId,omitempty"` GhId string `protobuf:"bytes,2,opt,name=ghId,proto3" json:"ghId,omitempty"` IsNew bool `protobuf:"varint,3,opt,name=isNew,proto3" json:"isNew,omitempty"` User *UserInfo `protobuf:"bytes,4,opt,name=user,proto3" json:"user,omitempty"` WxUserId uint32 `protobuf:"varint,5,opt,name=wxUserId,proto3" json:"wxUserId,omitempty"` Fdd *FddInfo `protobuf:"bytes,6,opt,name=fdd,proto3" json:"fdd,omitempty"` } func (x *WxBoxUserInfo) Reset() { *x = WxBoxUserInfo{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WxBoxUserInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*WxBoxUserInfo) ProtoMessage() {} func (x *WxBoxUserInfo) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 WxBoxUserInfo.ProtoReflect.Descriptor instead. func (*WxBoxUserInfo) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{29} } func (x *WxBoxUserInfo) GetOpenId() string { if x != nil { return x.OpenId } return "" } func (x *WxBoxUserInfo) GetGhId() string { if x != nil { return x.GhId } return "" } func (x *WxBoxUserInfo) GetIsNew() bool { if x != nil { return x.IsNew } return false } func (x *WxBoxUserInfo) GetUser() *UserInfo { if x != nil { return x.User } return nil } func (x *WxBoxUserInfo) GetWxUserId() uint32 { if x != nil { return x.WxUserId } return 0 } func (x *WxBoxUserInfo) GetFdd() *FddInfo { if x != nil { return x.Fdd } return nil } type FddInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` CustomerId string `protobuf:"bytes,2,opt,name=customerId,proto3" json:"customerId,omitempty"` IsVerify bool `protobuf:"varint,3,opt,name=isVerify,proto3" json:"isVerify,omitempty"` TransactionNo string `protobuf:"bytes,4,opt,name=transactionNo,proto3" json:"transactionNo,omitempty"` } func (x *FddInfo) Reset() { *x = FddInfo{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FddInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*FddInfo) ProtoMessage() {} func (x *FddInfo) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 FddInfo.ProtoReflect.Descriptor instead. func (*FddInfo) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{30} } func (x *FddInfo) GetID() uint64 { if x != nil { return x.ID } return 0 } func (x *FddInfo) GetCustomerId() string { if x != nil { return x.CustomerId } return "" } func (x *FddInfo) GetIsVerify() bool { if x != nil { return x.IsVerify } return false } func (x *FddInfo) GetTransactionNo() string { if x != nil { return x.TransactionNo } return "" } type UserInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` NickName string `protobuf:"bytes,3,opt,name=nickName,proto3" json:"nickName,omitempty"` TelNum string `protobuf:"bytes,5,opt,name=telNum,proto3" json:"telNum,omitempty"` Avatar string `protobuf:"bytes,7,opt,name=avatar,proto3" json:"avatar,omitempty"` CreateAt string `protobuf:"bytes,8,opt,name=createAt,proto3" json:"createAt,omitempty"` RealNameID uint64 `protobuf:"varint,9,opt,name=realNameID,proto3" json:"realNameID,omitempty"` RealName string `protobuf:"bytes,10,opt,name=realName,proto3" json:"realName,omitempty"` IDNum string `protobuf:"bytes,11,opt,name=iDNum,proto3" json:"iDNum,omitempty"` Domain string `protobuf:"bytes,12,opt,name=domain,proto3" json:"domain,omitempty"` RealIDImgA string `protobuf:"bytes,17,opt,name=realIDImgA,proto3" json:"realIDImgA,omitempty"` RealIDImgB string `protobuf:"bytes,18,opt,name=realIDImgB,proto3" json:"realIDImgB,omitempty"` RealNameIDName string `protobuf:"bytes,19,opt,name=realNameIDName,proto3" json:"realNameIDName,omitempty"` Video string `protobuf:"bytes,20,opt,name=video,proto3" json:"video,omitempty"` } func (x *UserInfo) Reset() { *x = UserInfo{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserInfo) ProtoMessage() {} func (x *UserInfo) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 UserInfo.ProtoReflect.Descriptor instead. func (*UserInfo) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{31} } func (x *UserInfo) GetID() uint64 { if x != nil { return x.ID } return 0 } func (x *UserInfo) GetNickName() string { if x != nil { return x.NickName } return "" } func (x *UserInfo) GetTelNum() string { if x != nil { return x.TelNum } return "" } func (x *UserInfo) GetAvatar() string { if x != nil { return x.Avatar } return "" } func (x *UserInfo) GetCreateAt() string { if x != nil { return x.CreateAt } return "" } func (x *UserInfo) GetRealNameID() uint64 { if x != nil { return x.RealNameID } return 0 } func (x *UserInfo) GetRealName() string { if x != nil { return x.RealName } return "" } func (x *UserInfo) GetIDNum() string { if x != nil { return x.IDNum } return "" } func (x *UserInfo) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *UserInfo) GetRealIDImgA() string { if x != nil { return x.RealIDImgA } return "" } func (x *UserInfo) GetRealIDImgB() string { if x != nil { return x.RealIDImgB } return "" } func (x *UserInfo) GetRealNameIDName() string { if x != nil { return x.RealNameIDName } return "" } func (x *UserInfo) GetVideo() string { if x != nil { return x.Video } return "" } type CommonRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` } func (x *CommonRequest) Reset() { *x = CommonRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommonRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommonRequest) ProtoMessage() {} func (x *CommonRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 CommonRequest.ProtoReflect.Descriptor instead. func (*CommonRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{32} } func (x *CommonRequest) GetID() uint64 { if x != nil { return x.ID } return 0 } type WxAppRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields GhId string `protobuf:"bytes,1,opt,name=GhId,json=ID,proto3" json:"GhId,omitempty"` } func (x *WxAppRequest) Reset() { *x = WxAppRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WxAppRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*WxAppRequest) ProtoMessage() {} func (x *WxAppRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 WxAppRequest.ProtoReflect.Descriptor instead. func (*WxAppRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{33} } func (x *WxAppRequest) GetGhId() string { if x != nil { return x.GhId } return "" } type WxAppResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AppID string `protobuf:"bytes,1,opt,name=AppID,json=appID,proto3" json:"AppID,omitempty"` AppSecret string `protobuf:"bytes,2,opt,name=AppSecret,json=appSecret,proto3" json:"AppSecret,omitempty"` } func (x *WxAppResponse) Reset() { *x = WxAppResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WxAppResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*WxAppResponse) ProtoMessage() {} func (x *WxAppResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 WxAppResponse.ProtoReflect.Descriptor instead. func (*WxAppResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{34} } func (x *WxAppResponse) GetAppID() string { if x != nil { return x.AppID } return "" } func (x *WxAppResponse) GetAppSecret() string { if x != nil { return x.AppSecret } return "" } type WxUserUpdateRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields WxID uint32 `protobuf:"varint,1,opt,name=wxID,json=wxId,proto3" json:"wxID,omitempty"` UserID uint32 `protobuf:"varint,2,opt,name=userID,proto3" json:"userID,omitempty"` } func (x *WxUserUpdateRequest) Reset() { *x = WxUserUpdateRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WxUserUpdateRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*WxUserUpdateRequest) ProtoMessage() {} func (x *WxUserUpdateRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 WxUserUpdateRequest.ProtoReflect.Descriptor instead. func (*WxUserUpdateRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{35} } func (x *WxUserUpdateRequest) GetWxID() uint32 { if x != nil { return x.WxID } return 0 } func (x *WxUserUpdateRequest) GetUserID() uint32 { if x != nil { return x.UserID } return 0 } type WxUserOrCreateRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OpenID string `protobuf:"bytes,1,opt,name=OpenID,json=openID,proto3" json:"OpenID,omitempty"` GhID string `protobuf:"bytes,2,opt,name=GhID,json=ghID,proto3" json:"GhID,omitempty"` } func (x *WxUserOrCreateRequest) Reset() { *x = WxUserOrCreateRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WxUserOrCreateRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*WxUserOrCreateRequest) ProtoMessage() {} func (x *WxUserOrCreateRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 WxUserOrCreateRequest.ProtoReflect.Descriptor instead. func (*WxUserOrCreateRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{36} } func (x *WxUserOrCreateRequest) GetOpenID() string { if x != nil { return x.OpenID } return "" } func (x *WxUserOrCreateRequest) GetGhID() string { if x != nil { return x.GhID } return "" } type WxUserResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OpenID string `protobuf:"bytes,1,opt,name=OpenID,json=openID,proto3" json:"OpenID,omitempty"` UserID uint32 `protobuf:"varint,2,opt,name=UserID,json=userID,proto3" json:"UserID,omitempty"` GhID string `protobuf:"bytes,3,opt,name=GhID,json=ghID,proto3" json:"GhID,omitempty"` RoleAuth string `protobuf:"bytes,4,opt,name=RoleAuth,json=roleAuth,proto3" json:"RoleAuth,omitempty"` ID uint32 `protobuf:"varint,5,opt,name=ID,proto3" json:"ID,omitempty"` } func (x *WxUserResponse) Reset() { *x = WxUserResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WxUserResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*WxUserResponse) ProtoMessage() {} func (x *WxUserResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 WxUserResponse.ProtoReflect.Descriptor instead. func (*WxUserResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{37} } func (x *WxUserResponse) GetOpenID() string { if x != nil { return x.OpenID } return "" } func (x *WxUserResponse) GetUserID() uint32 { if x != nil { return x.UserID } return 0 } func (x *WxUserResponse) GetGhID() string { if x != nil { return x.GhID } return "" } func (x *WxUserResponse) GetRoleAuth() string { if x != nil { return x.RoleAuth } return "" } func (x *WxUserResponse) GetID() uint32 { if x != nil { return x.ID } return 0 } type LoginLogsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data []*LoginLog `protobuf:"bytes,1,rep,name=Data,json=data,proto3" json:"Data,omitempty"` } func (x *LoginLogsResponse) Reset() { *x = LoginLogsResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LoginLogsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoginLogsResponse) ProtoMessage() {} func (x *LoginLogsResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 LoginLogsResponse.ProtoReflect.Descriptor instead. func (*LoginLogsResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{38} } func (x *LoginLogsResponse) GetData() []*LoginLog { if x != nil { return x.Data } return nil } type LoginLog struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` ID uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` UserId uint64 `protobuf:"varint,3,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` Ip string `protobuf:"bytes,4,opt,name=Ip,json=ip,proto3" json:"Ip,omitempty"` Token string `protobuf:"bytes,5,opt,name=Token,json=token,proto3" json:"Token,omitempty"` Status uint64 `protobuf:"varint,6,opt,name=Status,json=status,proto3" json:"Status,omitempty"` ExpireDate string `protobuf:"bytes,7,opt,name=ExpireDate,json=expireDate,proto3" json:"ExpireDate,omitempty"` LastDate string `protobuf:"bytes,8,opt,name=LastDate,json=lastDate,proto3" json:"LastDate,omitempty"` LogoutDate string `protobuf:"bytes,9,opt,name=LogoutDate,json=logoutDate,proto3" json:"LogoutDate,omitempty"` CreatedAt string `protobuf:"bytes,10,opt,name=CreatedAt,json=createdAt,proto3" json:"CreatedAt,omitempty"` Address string `protobuf:"bytes,11,opt,name=Address,json=address,proto3" json:"Address,omitempty"` } func (x *LoginLog) Reset() { *x = LoginLog{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LoginLog) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoginLog) ProtoMessage() {} func (x *LoginLog) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 LoginLog.ProtoReflect.Descriptor instead. func (*LoginLog) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{39} } func (x *LoginLog) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *LoginLog) GetID() uint64 { if x != nil { return x.ID } return 0 } func (x *LoginLog) GetUserId() uint64 { if x != nil { return x.UserId } return 0 } func (x *LoginLog) GetIp() string { if x != nil { return x.Ip } return "" } func (x *LoginLog) GetToken() string { if x != nil { return x.Token } return "" } func (x *LoginLog) GetStatus() uint64 { if x != nil { return x.Status } return 0 } func (x *LoginLog) GetExpireDate() string { if x != nil { return x.ExpireDate } return "" } func (x *LoginLog) GetLastDate() string { if x != nil { return x.LastDate } return "" } func (x *LoginLog) GetLogoutDate() string { if x != nil { return x.LogoutDate } return "" } func (x *LoginLog) GetCreatedAt() string { if x != nil { return x.CreatedAt } return "" } func (x *LoginLog) GetAddress() string { if x != nil { return x.Address } return "" } type OnlineLogByIdRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` ID uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` } func (x *OnlineLogByIdRequest) Reset() { *x = OnlineLogByIdRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OnlineLogByIdRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*OnlineLogByIdRequest) ProtoMessage() {} func (x *OnlineLogByIdRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 OnlineLogByIdRequest.ProtoReflect.Descriptor instead. func (*OnlineLogByIdRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{40} } func (x *OnlineLogByIdRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *OnlineLogByIdRequest) GetID() uint64 { if x != nil { return x.ID } return 0 } type LoginInfosByUserIdRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` UserId uint64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` } func (x *LoginInfosByUserIdRequest) Reset() { *x = LoginInfosByUserIdRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LoginInfosByUserIdRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoginInfosByUserIdRequest) ProtoMessage() {} func (x *LoginInfosByUserIdRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 LoginInfosByUserIdRequest.ProtoReflect.Descriptor instead. func (*LoginInfosByUserIdRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{41} } func (x *LoginInfosByUserIdRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *LoginInfosByUserIdRequest) GetUserId() uint64 { if x != nil { return x.UserId } return 0 } type SendNewTelNumMsgRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` ID uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` NewTelNum string `protobuf:"bytes,3,opt,name=NewTelNum,json=newTelNum,proto3" json:"NewTelNum,omitempty"` Code string `protobuf:"bytes,4,opt,name=Code,json=code,proto3" json:"Code,omitempty"` Project string `protobuf:"bytes,5,opt,name=Project,json=project,proto3" json:"Project,omitempty"` SignNo uint32 `protobuf:"varint,6,opt,name=signNo,proto3" json:"signNo,omitempty"` } func (x *SendNewTelNumMsgRequest) Reset() { *x = SendNewTelNumMsgRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SendNewTelNumMsgRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SendNewTelNumMsgRequest) ProtoMessage() {} func (x *SendNewTelNumMsgRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 SendNewTelNumMsgRequest.ProtoReflect.Descriptor instead. func (*SendNewTelNumMsgRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{42} } func (x *SendNewTelNumMsgRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *SendNewTelNumMsgRequest) GetID() uint64 { if x != nil { return x.ID } return 0 } func (x *SendNewTelNumMsgRequest) GetNewTelNum() string { if x != nil { return x.NewTelNum } return "" } func (x *SendNewTelNumMsgRequest) GetCode() string { if x != nil { return x.Code } return "" } func (x *SendNewTelNumMsgRequest) GetProject() string { if x != nil { return x.Project } return "" } func (x *SendNewTelNumMsgRequest) GetSignNo() uint32 { if x != nil { return x.SignNo } return 0 } type UserByTelRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` Tel string `protobuf:"bytes,2,opt,name=Tel,json=tel,proto3" json:"Tel,omitempty"` } func (x *UserByTelRequest) Reset() { *x = UserByTelRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserByTelRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserByTelRequest) ProtoMessage() {} func (x *UserByTelRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 UserByTelRequest.ProtoReflect.Descriptor instead. func (*UserByTelRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{43} } func (x *UserByTelRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *UserByTelRequest) GetTel() string { if x != nil { return x.Tel } return "" } type CommonResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CommonResponse) Reset() { *x = CommonResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommonResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommonResponse) ProtoMessage() {} func (x *CommonResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 CommonResponse.ProtoReflect.Descriptor instead. func (*CommonResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{44} } type UsersByTelRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` Tels []string `protobuf:"bytes,2,rep,name=Tels,json=tels,proto3" json:"Tels,omitempty"` } func (x *UsersByTelRequest) Reset() { *x = UsersByTelRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UsersByTelRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UsersByTelRequest) ProtoMessage() {} func (x *UsersByTelRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 UsersByTelRequest.ProtoReflect.Descriptor instead. func (*UsersByTelRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{45} } func (x *UsersByTelRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *UsersByTelRequest) GetTels() []string { if x != nil { return x.Tels } return nil } type ListByIDsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` IDs []uint64 `protobuf:"varint,2,rep,packed,name=IDs,proto3" json:"IDs,omitempty"` OrderType uint64 `protobuf:"varint,3,opt,name=OrderType,proto3" json:"OrderType,omitempty"` Page uint64 `protobuf:"varint,4,opt,name=Page,json=page,proto3" json:"Page,omitempty"` PageSize uint64 `protobuf:"varint,5,opt,name=PageSize,json=pageSize,proto3" json:"PageSize,omitempty"` NickName string `protobuf:"bytes,6,opt,name=NickName,json=nickName,proto3" json:"NickName,omitempty"` InvitationCode []string `protobuf:"bytes,7,rep,name=InvitationCode,json=invitationCode,proto3" json:"InvitationCode,omitempty"` } func (x *ListByIDsRequest) Reset() { *x = ListByIDsRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListByIDsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListByIDsRequest) ProtoMessage() {} func (x *ListByIDsRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 ListByIDsRequest.ProtoReflect.Descriptor instead. func (*ListByIDsRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{46} } func (x *ListByIDsRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *ListByIDsRequest) GetIDs() []uint64 { if x != nil { return x.IDs } return nil } func (x *ListByIDsRequest) GetOrderType() uint64 { if x != nil { return x.OrderType } return 0 } func (x *ListByIDsRequest) GetPage() uint64 { if x != nil { return x.Page } return 0 } func (x *ListByIDsRequest) GetPageSize() uint64 { if x != nil { return x.PageSize } return 0 } func (x *ListByIDsRequest) GetNickName() string { if x != nil { return x.NickName } return "" } func (x *ListByIDsRequest) GetInvitationCode() []string { if x != nil { return x.InvitationCode } return nil } type SendMsgRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` TelNum string `protobuf:"bytes,2,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` // string TelNum = 2 [json_name = "telNum",(validator.field) = {regex: "^1\\d{10}$",human_error: "70002"}]; Project string `protobuf:"bytes,3,opt,name=Project,json=project,proto3" json:"Project,omitempty"` SignNo uint32 `protobuf:"varint,4,opt,name=signNo,proto3" json:"signNo,omitempty"` MId uint32 `protobuf:"varint,5,opt,name=mId,proto3" json:"mId,omitempty"` Scope string `protobuf:"bytes,6,opt,name=scope,proto3" json:"scope,omitempty"` //标记模块 Zone string `protobuf:"bytes,7,opt,name=zone,proto3" json:"zone,omitempty"` //地区 不同地区切换不同发送帐号 NonceStr string `protobuf:"bytes,8,opt,name=nonceStr,proto3" json:"nonceStr,omitempty"` } func (x *SendMsgRequest) Reset() { *x = SendMsgRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SendMsgRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SendMsgRequest) ProtoMessage() {} func (x *SendMsgRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 SendMsgRequest.ProtoReflect.Descriptor instead. func (*SendMsgRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{47} } func (x *SendMsgRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *SendMsgRequest) GetTelNum() string { if x != nil { return x.TelNum } return "" } func (x *SendMsgRequest) GetProject() string { if x != nil { return x.Project } return "" } func (x *SendMsgRequest) GetSignNo() uint32 { if x != nil { return x.SignNo } return 0 } func (x *SendMsgRequest) GetMId() uint32 { if x != nil { return x.MId } return 0 } func (x *SendMsgRequest) GetScope() string { if x != nil { return x.Scope } return "" } func (x *SendMsgRequest) GetZone() string { if x != nil { return x.Zone } return "" } func (x *SendMsgRequest) GetNonceStr() string { if x != nil { return x.NonceStr } return "" } type SendCustomMsgRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` TelNum string `protobuf:"bytes,2,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` Project string `protobuf:"bytes,3,opt,name=Project,json=project,proto3" json:"Project,omitempty"` Url string `protobuf:"bytes,4,opt,name=Url,proto3" json:"Url,omitempty"` ID uint64 `protobuf:"varint,5,opt,name=ID,proto3" json:"ID,omitempty"` MId uint64 `protobuf:"varint,6,opt,name=MId,json=mId,proto3" json:"MId,omitempty"` Location uint64 `protobuf:"varint,7,opt,name=Location,json=location,proto3" json:"Location,omitempty"` SigNo uint32 `protobuf:"varint,8,opt,name=SigNo,json=sigNo,proto3" json:"SigNo,omitempty"` } func (x *SendCustomMsgRequest) Reset() { *x = SendCustomMsgRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SendCustomMsgRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SendCustomMsgRequest) ProtoMessage() {} func (x *SendCustomMsgRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 SendCustomMsgRequest.ProtoReflect.Descriptor instead. func (*SendCustomMsgRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{48} } func (x *SendCustomMsgRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *SendCustomMsgRequest) GetTelNum() string { if x != nil { return x.TelNum } return "" } func (x *SendCustomMsgRequest) GetProject() string { if x != nil { return x.Project } return "" } func (x *SendCustomMsgRequest) GetUrl() string { if x != nil { return x.Url } return "" } func (x *SendCustomMsgRequest) GetID() uint64 { if x != nil { return x.ID } return 0 } func (x *SendCustomMsgRequest) GetMId() uint64 { if x != nil { return x.MId } return 0 } func (x *SendCustomMsgRequest) GetLocation() uint64 { if x != nil { return x.Location } return 0 } func (x *SendCustomMsgRequest) GetSigNo() uint32 { if x != nil { return x.SigNo } return 0 } type CheckMsgRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` TelNum string `protobuf:"bytes,2,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` Code string `protobuf:"bytes,3,opt,name=Code,json=code,proto3" json:"Code,omitempty"` Scope string `protobuf:"bytes,4,opt,name=scope,proto3" json:"scope,omitempty"` //标记模块 Zone string `protobuf:"bytes,5,opt,name=zone,proto3" json:"zone,omitempty"` //地区 不同地区切换不同发送帐号 } func (x *CheckMsgRequest) Reset() { *x = CheckMsgRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckMsgRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckMsgRequest) ProtoMessage() {} func (x *CheckMsgRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 CheckMsgRequest.ProtoReflect.Descriptor instead. func (*CheckMsgRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{49} } func (x *CheckMsgRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *CheckMsgRequest) GetTelNum() string { if x != nil { return x.TelNum } return "" } func (x *CheckMsgRequest) GetCode() string { if x != nil { return x.Code } return "" } func (x *CheckMsgRequest) GetScope() string { if x != nil { return x.Scope } return "" } func (x *CheckMsgRequest) GetZone() string { if x != nil { return x.Zone } return "" } type SendMsgStatusResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *SendMsgStatusResponse) Reset() { *x = SendMsgStatusResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SendMsgStatusResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SendMsgStatusResponse) ProtoMessage() {} func (x *SendMsgStatusResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 SendMsgStatusResponse.ProtoReflect.Descriptor instead. func (*SendMsgStatusResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{50} } type RemoveRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` ID uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` } func (x *RemoveRequest) Reset() { *x = RemoveRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RemoveRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RemoveRequest) ProtoMessage() {} func (x *RemoveRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 RemoveRequest.ProtoReflect.Descriptor instead. func (*RemoveRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{51} } func (x *RemoveRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *RemoveRequest) GetID() uint64 { if x != nil { return x.ID } return 0 } func (x *RemoveRequest) GetCode() string { if x != nil { return x.Code } return "" } type WriteOffRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` UserId uint64 `protobuf:"varint,3,opt,name=userId,proto3" json:"userId,omitempty"` Tel string `protobuf:"bytes,4,opt,name=tel,proto3" json:"tel,omitempty"` JonNum string `protobuf:"bytes,5,opt,name=jonNum,proto3" json:"jonNum,omitempty"` UserName string `protobuf:"bytes,6,opt,name=userName,proto3" json:"userName,omitempty"` EnterDate string `protobuf:"bytes,7,opt,name=enterDate,proto3" json:"enterDate,omitempty"` PositionName string `protobuf:"bytes,8,opt,name=positionName,proto3" json:"positionName,omitempty"` PositionId uint64 `protobuf:"varint,9,opt,name=positionId,proto3" json:"positionId,omitempty"` SiteName string `protobuf:"bytes,10,opt,name=siteName,proto3" json:"siteName,omitempty"` SiteId uint64 `protobuf:"varint,11,opt,name=siteId,proto3" json:"siteId,omitempty"` AuthUrl string `protobuf:"bytes,12,opt,name=authUrl,proto3" json:"authUrl,omitempty"` Type string `protobuf:"bytes,13,opt,name=type,proto3" json:"type,omitempty"` Status uint32 `protobuf:"varint,14,opt,name=status,proto3" json:"status,omitempty"` SubmitDate string `protobuf:"bytes,15,opt,name=submitDate,proto3" json:"submitDate,omitempty"` } func (x *WriteOffRequest) Reset() { *x = WriteOffRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WriteOffRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*WriteOffRequest) ProtoMessage() {} func (x *WriteOffRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 WriteOffRequest.ProtoReflect.Descriptor instead. func (*WriteOffRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{52} } func (x *WriteOffRequest) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *WriteOffRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *WriteOffRequest) GetUserId() uint64 { if x != nil { return x.UserId } return 0 } func (x *WriteOffRequest) GetTel() string { if x != nil { return x.Tel } return "" } func (x *WriteOffRequest) GetJonNum() string { if x != nil { return x.JonNum } return "" } func (x *WriteOffRequest) GetUserName() string { if x != nil { return x.UserName } return "" } func (x *WriteOffRequest) GetEnterDate() string { if x != nil { return x.EnterDate } return "" } func (x *WriteOffRequest) GetPositionName() string { if x != nil { return x.PositionName } return "" } func (x *WriteOffRequest) GetPositionId() uint64 { if x != nil { return x.PositionId } return 0 } func (x *WriteOffRequest) GetSiteName() string { if x != nil { return x.SiteName } return "" } func (x *WriteOffRequest) GetSiteId() uint64 { if x != nil { return x.SiteId } return 0 } func (x *WriteOffRequest) GetAuthUrl() string { if x != nil { return x.AuthUrl } return "" } func (x *WriteOffRequest) GetType() string { if x != nil { return x.Type } return "" } func (x *WriteOffRequest) GetStatus() uint32 { if x != nil { return x.Status } return 0 } func (x *WriteOffRequest) GetSubmitDate() string { if x != nil { return x.SubmitDate } return "" } type WriteOffListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Page uint64 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"` PageSize uint64 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize,omitempty"` Domain string `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain,omitempty"` UserName string `protobuf:"bytes,4,opt,name=userName,proto3" json:"userName,omitempty"` UserId uint64 `protobuf:"varint,5,opt,name=userId,proto3" json:"userId,omitempty"` SiteId uint64 `protobuf:"varint,6,opt,name=siteId,proto3" json:"siteId,omitempty"` Type string `protobuf:"bytes,7,opt,name=type,proto3" json:"type,omitempty"` Status uint32 `protobuf:"varint,8,opt,name=status,proto3" json:"status,omitempty"` } func (x *WriteOffListRequest) Reset() { *x = WriteOffListRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WriteOffListRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*WriteOffListRequest) ProtoMessage() {} func (x *WriteOffListRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 WriteOffListRequest.ProtoReflect.Descriptor instead. func (*WriteOffListRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{53} } func (x *WriteOffListRequest) GetPage() uint64 { if x != nil { return x.Page } return 0 } func (x *WriteOffListRequest) GetPageSize() uint64 { if x != nil { return x.PageSize } return 0 } func (x *WriteOffListRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *WriteOffListRequest) GetUserName() string { if x != nil { return x.UserName } return "" } func (x *WriteOffListRequest) GetUserId() uint64 { if x != nil { return x.UserId } return 0 } func (x *WriteOffListRequest) GetSiteId() uint64 { if x != nil { return x.SiteId } return 0 } func (x *WriteOffListRequest) GetType() string { if x != nil { return x.Type } return "" } func (x *WriteOffListRequest) GetStatus() uint32 { if x != nil { return x.Status } return 0 } type WriteOffApproveRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Status uint32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` } func (x *WriteOffApproveRequest) Reset() { *x = WriteOffApproveRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WriteOffApproveRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*WriteOffApproveRequest) ProtoMessage() {} func (x *WriteOffApproveRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 WriteOffApproveRequest.ProtoReflect.Descriptor instead. func (*WriteOffApproveRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{54} } func (x *WriteOffApproveRequest) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *WriteOffApproveRequest) GetStatus() uint32 { if x != nil { return x.Status } return 0 } type WriteOffListResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"` WriteOffList []*WriteOffRequest `protobuf:"bytes,2,rep,name=writeOffList,proto3" json:"writeOffList,omitempty"` } func (x *WriteOffListResponse) Reset() { *x = WriteOffListResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WriteOffListResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*WriteOffListResponse) ProtoMessage() {} func (x *WriteOffListResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 WriteOffListResponse.ProtoReflect.Descriptor instead. func (*WriteOffListResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{55} } func (x *WriteOffListResponse) GetTotal() int64 { if x != nil { return x.Total } return 0 } func (x *WriteOffListResponse) GetWriteOffList() []*WriteOffRequest { if x != nil { return x.WriteOffList } return nil } type RemoveResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RemoveResponse) Reset() { *x = RemoveResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RemoveResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RemoveResponse) ProtoMessage() {} func (x *RemoveResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 RemoveResponse.ProtoReflect.Descriptor instead. func (*RemoveResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{56} } type UpdateRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` //ID Domain string `protobuf:"bytes,2,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` Language string `protobuf:"bytes,3,opt,name=Language,json=language,proto3" json:"Language,omitempty"` NickName string `protobuf:"bytes,4,opt,name=NickName,json=nickName,proto3" json:"NickName,omitempty"` } func (x *UpdateRequest) Reset() { *x = UpdateRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateRequest) ProtoMessage() {} func (x *UpdateRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 UpdateRequest.ProtoReflect.Descriptor instead. func (*UpdateRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{57} } func (x *UpdateRequest) GetID() uint64 { if x != nil { return x.ID } return 0 } func (x *UpdateRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *UpdateRequest) GetLanguage() string { if x != nil { return x.Language } return "" } func (x *UpdateRequest) GetNickName() string { if x != nil { return x.NickName } return "" } type Operator struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ID uint32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` } func (x *Operator) Reset() { *x = Operator{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Operator) String() string { return protoimpl.X.MessageStringOf(x) } func (*Operator) ProtoMessage() {} func (x *Operator) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 Operator.ProtoReflect.Descriptor instead. func (*Operator) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{58} } func (x *Operator) GetID() uint32 { if x != nil { return x.ID } return 0 } func (x *Operator) GetName() string { if x != nil { return x.Name } return "" } type TrainVideo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TrainUUID string `protobuf:"bytes,1,opt,name=trainUUID,proto3" json:"trainUUID,omitempty"` TrainDesc string `protobuf:"bytes,2,opt,name=trainDesc,proto3" json:"trainDesc,omitempty"` Video string `protobuf:"bytes,3,opt,name=video,proto3" json:"video,omitempty"` SecurityCode string `protobuf:"bytes,31,opt,name=SecurityCode,json=securityCode,proto3" json:"SecurityCode,omitempty"` } func (x *TrainVideo) Reset() { *x = TrainVideo{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TrainVideo) String() string { return protoimpl.X.MessageStringOf(x) } func (*TrainVideo) ProtoMessage() {} func (x *TrainVideo) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 TrainVideo.ProtoReflect.Descriptor instead. func (*TrainVideo) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{59} } func (x *TrainVideo) GetTrainUUID() string { if x != nil { return x.TrainUUID } return "" } func (x *TrainVideo) GetTrainDesc() string { if x != nil { return x.TrainDesc } return "" } func (x *TrainVideo) GetVideo() string { if x != nil { return x.Video } return "" } func (x *TrainVideo) GetSecurityCode() string { if x != nil { return x.SecurityCode } return "" } type UpdateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *UpdateResponse) Reset() { *x = UpdateResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateResponse) ProtoMessage() {} func (x *UpdateResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 UpdateResponse.ProtoReflect.Descriptor instead. func (*UpdateResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{60} } type PrivacyInfoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` //ID Domain string `protobuf:"bytes,2,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` SecurityCode string `protobuf:"bytes,3,opt,name=SecurityCode,json=securityCode,proto3" json:"SecurityCode,omitempty"` } func (x *PrivacyInfoRequest) Reset() { *x = PrivacyInfoRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PrivacyInfoRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*PrivacyInfoRequest) ProtoMessage() {} func (x *PrivacyInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 PrivacyInfoRequest.ProtoReflect.Descriptor instead. func (*PrivacyInfoRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{61} } func (x *PrivacyInfoRequest) GetID() uint64 { if x != nil { return x.ID } return 0 } func (x *PrivacyInfoRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *PrivacyInfoRequest) GetSecurityCode() string { if x != nil { return x.SecurityCode } return "" } type ListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` PageSize uint64 `protobuf:"varint,2,opt,name=PageSize,json=pageSize,proto3" json:"PageSize,omitempty"` Page uint64 `protobuf:"varint,3,opt,name=Page,json=page,proto3" json:"Page,omitempty"` Key string `protobuf:"bytes,4,opt,name=key,proto3" json:"key,omitempty"` Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` TelNum string `protobuf:"bytes,6,opt,name=telNum,proto3" json:"telNum,omitempty"` StartEnterDate string `protobuf:"bytes,7,opt,name=startEnterDate,proto3" json:"startEnterDate,omitempty"` EndEnterDate string `protobuf:"bytes,8,opt,name=endEnterDate,proto3" json:"endEnterDate,omitempty"` } func (x *ListRequest) Reset() { *x = ListRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListRequest) ProtoMessage() {} func (x *ListRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 ListRequest.ProtoReflect.Descriptor instead. func (*ListRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{62} } func (x *ListRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *ListRequest) GetPageSize() uint64 { if x != nil { return x.PageSize } return 0 } func (x *ListRequest) GetPage() uint64 { if x != nil { return x.Page } return 0 } func (x *ListRequest) GetKey() string { if x != nil { return x.Key } return "" } func (x *ListRequest) GetStatus() string { if x != nil { return x.Status } return "" } func (x *ListRequest) GetTelNum() string { if x != nil { return x.TelNum } return "" } func (x *ListRequest) GetStartEnterDate() string { if x != nil { return x.StartEnterDate } return "" } func (x *ListRequest) GetEndEnterDate() string { if x != nil { return x.EndEnterDate } return "" } type ListResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Status string `protobuf:"bytes,1,opt,name=Status,json=status,proto3" json:"Status,omitempty"` Count uint64 `protobuf:"varint,2,opt,name=Count,json=count,proto3" json:"Count,omitempty"` Data []*AccountInfo `protobuf:"bytes,3,rep,name=Data,json=data,proto3" json:"Data,omitempty"` AllCount uint64 `protobuf:"varint,4,opt,name=AllCount,json=allCount,proto3" json:"AllCount,omitempty"` } func (x *ListResponse) Reset() { *x = ListResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListResponse) ProtoMessage() {} func (x *ListResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 ListResponse.ProtoReflect.Descriptor instead. func (*ListResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{63} } func (x *ListResponse) GetStatus() string { if x != nil { return x.Status } return "" } func (x *ListResponse) GetCount() uint64 { if x != nil { return x.Count } return 0 } func (x *ListResponse) GetData() []*AccountInfo { if x != nil { return x.Data } return nil } func (x *ListResponse) GetAllCount() uint64 { if x != nil { return x.AllCount } return 0 } type InfoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` ID uint64 `protobuf:"varint,2,opt,name=ID,json=id,proto3" json:"ID,omitempty"` Scene string `protobuf:"bytes,3,opt,name=scene,proto3" json:"scene,omitempty"` //场景值 base-默认仅仅user数据 } func (x *InfoRequest) Reset() { *x = InfoRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *InfoRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*InfoRequest) ProtoMessage() {} func (x *InfoRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 InfoRequest.ProtoReflect.Descriptor instead. func (*InfoRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{64} } func (x *InfoRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *InfoRequest) GetID() uint64 { if x != nil { return x.ID } return 0 } func (x *InfoRequest) GetScene() string { if x != nil { return x.Scene } return "" } type InfoResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Status string `protobuf:"bytes,1,opt,name=Status,json=status,proto3" json:"Status,omitempty"` Info *AccountInfo `protobuf:"bytes,2,opt,name=Info,json=accountInfo,proto3" json:"Info,omitempty"` IsExist bool `protobuf:"varint,3,opt,name=IsExist,json=isExist,proto3" json:"IsExist,omitempty"` } func (x *InfoResponse) Reset() { *x = InfoResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *InfoResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*InfoResponse) ProtoMessage() {} func (x *InfoResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 InfoResponse.ProtoReflect.Descriptor instead. func (*InfoResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{65} } func (x *InfoResponse) GetStatus() string { if x != nil { return x.Status } return "" } func (x *InfoResponse) GetInfo() *AccountInfo { if x != nil { return x.Info } return nil } func (x *InfoResponse) GetIsExist() bool { if x != nil { return x.IsExist } return false } type DecryptJwtResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Domain string `protobuf:"bytes,1,opt,name=Domain,json=status,proto3" json:"Domain,omitempty"` ID uint64 `protobuf:"varint,2,opt,name=ID,json=id,proto3" json:"ID,omitempty"` Account string `protobuf:"bytes,3,opt,name=Account,json=account,proto3" json:"Account,omitempty"` NickName string `protobuf:"bytes,4,opt,name=NickName,json=nickName,proto3" json:"NickName,omitempty"` IsOffline bool `protobuf:"varint,5,opt,name=IsOffline,json=isOffline,proto3" json:"IsOffline,omitempty"` } func (x *DecryptJwtResponse) Reset() { *x = DecryptJwtResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DecryptJwtResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DecryptJwtResponse) ProtoMessage() {} func (x *DecryptJwtResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 DecryptJwtResponse.ProtoReflect.Descriptor instead. func (*DecryptJwtResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{66} } func (x *DecryptJwtResponse) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *DecryptJwtResponse) GetID() uint64 { if x != nil { return x.ID } return 0 } func (x *DecryptJwtResponse) GetAccount() string { if x != nil { return x.Account } return "" } func (x *DecryptJwtResponse) GetNickName() string { if x != nil { return x.NickName } return "" } func (x *DecryptJwtResponse) GetIsOffline() bool { if x != nil { return x.IsOffline } return false } type DecryptJwtRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` Domain string `protobuf:"bytes,2,opt,name=Domain,proto3" json:"Domain,omitempty"` } func (x *DecryptJwtRequest) Reset() { *x = DecryptJwtRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DecryptJwtRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DecryptJwtRequest) ProtoMessage() {} func (x *DecryptJwtRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 DecryptJwtRequest.ProtoReflect.Descriptor instead. func (*DecryptJwtRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{67} } func (x *DecryptJwtRequest) GetToken() string { if x != nil { return x.Token } return "" } func (x *DecryptJwtRequest) GetDomain() string { if x != nil { return x.Domain } return "" } type CheckPwdRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Token string `protobuf:"bytes,1,opt,name=Token,json=token,proto3" json:"Token,omitempty"` Password string `protobuf:"bytes,2,opt,name=Password,json=password,proto3" json:"Password,omitempty"` } func (x *CheckPwdRequest) Reset() { *x = CheckPwdRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckPwdRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckPwdRequest) ProtoMessage() {} func (x *CheckPwdRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 CheckPwdRequest.ProtoReflect.Descriptor instead. func (*CheckPwdRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{68} } func (x *CheckPwdRequest) GetToken() string { if x != nil { return x.Token } return "" } func (x *CheckPwdRequest) GetPassword() string { if x != nil { return x.Password } return "" } type AuthenticationRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=Name,json=name,proto3" json:"Name,omitempty"` IDNum string `protobuf:"bytes,2,opt,name=IDNum,json=idNum,proto3" json:"IDNum,omitempty"` Token string `protobuf:"bytes,3,opt,name=Token,json=token,proto3" json:"Token,omitempty"` } func (x *AuthenticationRequest) Reset() { *x = AuthenticationRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthenticationRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthenticationRequest) ProtoMessage() {} func (x *AuthenticationRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 AuthenticationRequest.ProtoReflect.Descriptor instead. func (*AuthenticationRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{69} } func (x *AuthenticationRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *AuthenticationRequest) GetIDNum() string { if x != nil { return x.IDNum } return "" } func (x *AuthenticationRequest) GetToken() string { if x != nil { return x.Token } return "" } type RequestStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Status string `protobuf:"bytes,1,opt,name=Status,json=status,proto3" json:"Status,omitempty"` ID uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` IsExist bool `protobuf:"varint,3,opt,name=isExist,proto3" json:"isExist,omitempty"` } func (x *RequestStatus) Reset() { *x = RequestStatus{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RequestStatus) String() string { return protoimpl.X.MessageStringOf(x) } func (*RequestStatus) ProtoMessage() {} func (x *RequestStatus) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 RequestStatus.ProtoReflect.Descriptor instead. func (*RequestStatus) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{70} } func (x *RequestStatus) GetStatus() string { if x != nil { return x.Status } return "" } func (x *RequestStatus) GetID() uint64 { if x != nil { return x.ID } return 0 } func (x *RequestStatus) GetIsExist() bool { if x != nil { return x.IsExist } return false } type RegistRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` TelNum string `protobuf:"bytes,2,opt,name=telNum,proto3" json:"telNum,omitempty"` Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` Address string `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"` TelAreaCode string `protobuf:"bytes,5,opt,name=telAreaCode,proto3" json:"telAreaCode,omitempty"` Language string `protobuf:"bytes,6,opt,name=language,proto3" json:"language,omitempty"` NickName string `protobuf:"bytes,7,opt,name=nickName,proto3" json:"nickName,omitempty"` } func (x *RegistRequest) Reset() { *x = RegistRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RegistRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RegistRequest) ProtoMessage() {} func (x *RegistRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 RegistRequest.ProtoReflect.Descriptor instead. func (*RegistRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{71} } func (x *RegistRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *RegistRequest) GetTelNum() string { if x != nil { return x.TelNum } return "" } func (x *RegistRequest) GetCode() string { if x != nil { return x.Code } return "" } func (x *RegistRequest) GetAddress() string { if x != nil { return x.Address } return "" } func (x *RegistRequest) GetTelAreaCode() string { if x != nil { return x.TelAreaCode } return "" } func (x *RegistRequest) GetLanguage() string { if x != nil { return x.Language } return "" } func (x *RegistRequest) GetNickName() string { if x != nil { return x.NickName } return "" } type LoginRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` TelNum string `protobuf:"bytes,2,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` Code string `protobuf:"bytes,3,opt,name=Code,json=code,proto3" json:"Code,omitempty"` Password string `protobuf:"bytes,4,opt,name=Password,json=password,proto3" json:"Password,omitempty"` Ip string `protobuf:"bytes,5,opt,name=Ip,json=ip,proto3" json:"Ip,omitempty"` PassCheckIp bool `protobuf:"varint,6,opt,name=passCheckIp,proto3" json:"passCheckIp,omitempty"` TelAreaCode string `protobuf:"bytes,7,opt,name=telAreaCode,proto3" json:"telAreaCode,omitempty"` } func (x *LoginRequest) Reset() { *x = LoginRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LoginRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoginRequest) ProtoMessage() {} func (x *LoginRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 LoginRequest.ProtoReflect.Descriptor instead. func (*LoginRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{72} } func (x *LoginRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *LoginRequest) GetTelNum() string { if x != nil { return x.TelNum } return "" } func (x *LoginRequest) GetCode() string { if x != nil { return x.Code } return "" } func (x *LoginRequest) GetPassword() string { if x != nil { return x.Password } return "" } func (x *LoginRequest) GetIp() string { if x != nil { return x.Ip } return "" } func (x *LoginRequest) GetPassCheckIp() bool { if x != nil { return x.PassCheckIp } return false } func (x *LoginRequest) GetTelAreaCode() string { if x != nil { return x.TelAreaCode } return "" } type TokenInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AccountInfo *AccountInfo `protobuf:"bytes,1,opt,name=AccountInfo,json=accountInfo,proto3" json:"AccountInfo,omitempty"` Token string `protobuf:"bytes,2,opt,name=Token,json=token,proto3" json:"Token,omitempty"` RefreshToken string `protobuf:"bytes,4,opt,name=RefreshToken,json=refresh,proto3" json:"RefreshToken,omitempty"` IsSampleAddress bool `protobuf:"varint,3,opt,name=IsSampleAddress,json=isSampleAddress,proto3" json:"IsSampleAddress,omitempty"` NowAddress string `protobuf:"bytes,5,opt,name=nowAddress,proto3" json:"nowAddress,omitempty"` } func (x *TokenInfo) Reset() { *x = TokenInfo{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TokenInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*TokenInfo) ProtoMessage() {} func (x *TokenInfo) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 TokenInfo.ProtoReflect.Descriptor instead. func (*TokenInfo) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{73} } func (x *TokenInfo) GetAccountInfo() *AccountInfo { if x != nil { return x.AccountInfo } return nil } func (x *TokenInfo) GetToken() string { if x != nil { return x.Token } return "" } func (x *TokenInfo) GetRefreshToken() string { if x != nil { return x.RefreshToken } return "" } func (x *TokenInfo) GetIsSampleAddress() bool { if x != nil { return x.IsSampleAddress } return false } func (x *TokenInfo) GetNowAddress() string { if x != nil { return x.NowAddress } return "" } type Extend struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields JumpTo string `protobuf:"bytes,1,opt,name=JumpTo,json=jumpTo,proto3" json:"JumpTo,omitempty"` Lang string `protobuf:"bytes,2,opt,name=Lang,json=lang,proto3" json:"Lang,omitempty"` CanScan bool `protobuf:"varint,3,opt,name=CanScan,json=canScan,proto3" json:"CanScan,omitempty"` ResolutionRatio bool `protobuf:"varint,4,opt,name=ResolutionRatio,json=resolutionRatio,proto3" json:"ResolutionRatio,omitempty"` } func (x *Extend) Reset() { *x = Extend{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Extend) String() string { return protoimpl.X.MessageStringOf(x) } func (*Extend) ProtoMessage() {} func (x *Extend) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 Extend.ProtoReflect.Descriptor instead. func (*Extend) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{74} } func (x *Extend) GetJumpTo() string { if x != nil { return x.JumpTo } return "" } func (x *Extend) GetLang() string { if x != nil { return x.Lang } return "" } func (x *Extend) GetCanScan() bool { if x != nil { return x.CanScan } return false } func (x *Extend) GetResolutionRatio() bool { if x != nil { return x.ResolutionRatio } return false } type Department struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` Name string `protobuf:"bytes,2,opt,name=Name,json=name,proto3" json:"Name,omitempty"` } func (x *Department) Reset() { *x = Department{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Department) String() string { return protoimpl.X.MessageStringOf(x) } func (*Department) ProtoMessage() {} func (x *Department) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 Department.ProtoReflect.Descriptor instead. func (*Department) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{75} } func (x *Department) GetID() uint64 { if x != nil { return x.ID } return 0 } func (x *Department) GetName() string { if x != nil { return x.Name } return "" } // The response message containing the greetings type AccountInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` Account string `protobuf:"bytes,2,opt,name=Account,json=account,proto3" json:"Account,omitempty"` NickName string `protobuf:"bytes,3,opt,name=NickName,json=nickName,proto3" json:"NickName,omitempty"` Type int64 `protobuf:"varint,4,opt,name=Type,json=type,proto3" json:"Type,omitempty"` TelNum string `protobuf:"bytes,5,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` Status int32 `protobuf:"varint,6,opt,name=Status,json=status,proto3" json:"Status,omitempty"` Avatar string `protobuf:"bytes,7,opt,name=Avatar,json=avatar,proto3" json:"Avatar,omitempty"` CreateAt string `protobuf:"bytes,8,opt,name=CreateAt,json=createAt,proto3" json:"CreateAt,omitempty"` RealNameID uint64 `protobuf:"varint,9,opt,name=RealNameID,json=realNameID,proto3" json:"RealNameID,omitempty"` RealName string `protobuf:"bytes,10,opt,name=RealName,json=realName,proto3" json:"RealName,omitempty"` IDNum string `protobuf:"bytes,11,opt,name=IDNum,json=iDNum,proto3" json:"IDNum,omitempty"` MnemonicWords string `protobuf:"bytes,12,opt,name=MnemonicWords,json=mnemonicWords,proto3" json:"MnemonicWords,omitempty"` IsNeedChange uint64 `protobuf:"varint,13,opt,name=IsNeedChange,json=isNeedChange,proto3" json:"IsNeedChange,omitempty"` EnterDate string `protobuf:"bytes,14,opt,name=EnterDate,json=enterDate,proto3" json:"EnterDate,omitempty"` WorkYear float32 `protobuf:"fixed32,15,opt,name=WorkYear,json=workYear,proto3" json:"WorkYear,omitempty"` Domain string `protobuf:"bytes,16,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` Extend *Extend `protobuf:"bytes,17,opt,name=Extend,json=extend,proto3" json:"Extend,omitempty"` JobNum string `protobuf:"bytes,18,opt,name=JobNum,json=jobNum,proto3" json:"JobNum,omitempty"` BirthDate string `protobuf:"bytes,19,opt,name=BirthDate,json=birth_date,proto3" json:"BirthDate,omitempty"` Age uint64 `protobuf:"varint,20,opt,name=Age,json=age,proto3" json:"Age,omitempty"` Sex string `protobuf:"bytes,21,opt,name=Sex,json=sex,proto3" json:"Sex,omitempty"` Title string `protobuf:"bytes,22,opt,name=Title,json=title,proto3" json:"Title,omitempty"` Departments []*Department `protobuf:"bytes,23,rep,name=Departments,json=departments,proto3" json:"Departments,omitempty"` Ip string `protobuf:"bytes,24,opt,name=Ip,json=ip,proto3" json:"Ip,omitempty"` LoginDate string `protobuf:"bytes,25,opt,name=LoginDate,json=loginDate,proto3" json:"LoginDate,omitempty"` InvitationCode string `protobuf:"bytes,26,opt,name=InvitationCode,json=invitationCode,proto3" json:"InvitationCode,omitempty"` NowLogId uint64 `protobuf:"varint,27,opt,name=NowLogId,json=nowLogId,proto3" json:"NowLogId,omitempty"` CanScan bool `protobuf:"varint,28,opt,name=CanScan,json=canScan,proto3" json:"CanScan,omitempty"` LeftDate string `protobuf:"bytes,29,opt,name=LeftDate,json=leftDate,proto3" json:"LeftDate,omitempty"` Positions []*PositionUser `protobuf:"bytes,30,rep,name=Positions,json=positions,proto3" json:"Positions,omitempty"` Remark string `protobuf:"bytes,31,opt,name=Remark,json=remark,proto3" json:"Remark,omitempty"` RecentImg string `protobuf:"bytes,32,opt,name=recentImg,proto3" json:"recentImg,omitempty"` Clocks []*ClockUser `protobuf:"bytes,33,rep,name=clocks,proto3" json:"clocks,omitempty"` MailAccount string `protobuf:"bytes,34,opt,name=mailAccount,proto3" json:"mailAccount,omitempty"` ICNum string `protobuf:"bytes,35,opt,name=ICNum,json=icNum,proto3" json:"ICNum,omitempty"` EnglishName string `protobuf:"bytes,36,opt,name=englishName,proto3" json:"englishName,omitempty"` Train string `protobuf:"bytes,37,opt,name=Train,json=train,proto3" json:"Train,omitempty"` Certificate string `protobuf:"bytes,38,opt,name=Certificate,json=certificate,proto3" json:"Certificate,omitempty"` TrainVideos []*TrainVideo `protobuf:"bytes,39,rep,name=TrainVideos,json=trainVideos,proto3" json:"TrainVideos,omitempty"` Operator *Operator `protobuf:"bytes,40,opt,name=operator,proto3" json:"operator,omitempty"` UpdatedAt string `protobuf:"bytes,41,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` SecurityCode string `protobuf:"bytes,42,opt,name=SecurityCode,json=securityCode,proto3" json:"SecurityCode,omitempty"` BlockAddr string `protobuf:"bytes,43,opt,name=BlockAddr,json=blockAddr,proto3" json:"BlockAddr,omitempty"` } func (x *AccountInfo) Reset() { *x = AccountInfo{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AccountInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*AccountInfo) ProtoMessage() {} func (x *AccountInfo) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 AccountInfo.ProtoReflect.Descriptor instead. func (*AccountInfo) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{76} } func (x *AccountInfo) GetID() uint64 { if x != nil { return x.ID } return 0 } func (x *AccountInfo) GetAccount() string { if x != nil { return x.Account } return "" } func (x *AccountInfo) GetNickName() string { if x != nil { return x.NickName } return "" } func (x *AccountInfo) GetType() int64 { if x != nil { return x.Type } return 0 } func (x *AccountInfo) GetTelNum() string { if x != nil { return x.TelNum } return "" } func (x *AccountInfo) GetStatus() int32 { if x != nil { return x.Status } return 0 } func (x *AccountInfo) GetAvatar() string { if x != nil { return x.Avatar } return "" } func (x *AccountInfo) GetCreateAt() string { if x != nil { return x.CreateAt } return "" } func (x *AccountInfo) GetRealNameID() uint64 { if x != nil { return x.RealNameID } return 0 } func (x *AccountInfo) GetRealName() string { if x != nil { return x.RealName } return "" } func (x *AccountInfo) GetIDNum() string { if x != nil { return x.IDNum } return "" } func (x *AccountInfo) GetMnemonicWords() string { if x != nil { return x.MnemonicWords } return "" } func (x *AccountInfo) GetIsNeedChange() uint64 { if x != nil { return x.IsNeedChange } return 0 } func (x *AccountInfo) GetEnterDate() string { if x != nil { return x.EnterDate } return "" } func (x *AccountInfo) GetWorkYear() float32 { if x != nil { return x.WorkYear } return 0 } func (x *AccountInfo) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *AccountInfo) GetExtend() *Extend { if x != nil { return x.Extend } return nil } func (x *AccountInfo) GetJobNum() string { if x != nil { return x.JobNum } return "" } func (x *AccountInfo) GetBirthDate() string { if x != nil { return x.BirthDate } return "" } func (x *AccountInfo) GetAge() uint64 { if x != nil { return x.Age } return 0 } func (x *AccountInfo) GetSex() string { if x != nil { return x.Sex } return "" } func (x *AccountInfo) GetTitle() string { if x != nil { return x.Title } return "" } func (x *AccountInfo) GetDepartments() []*Department { if x != nil { return x.Departments } return nil } func (x *AccountInfo) GetIp() string { if x != nil { return x.Ip } return "" } func (x *AccountInfo) GetLoginDate() string { if x != nil { return x.LoginDate } return "" } func (x *AccountInfo) GetInvitationCode() string { if x != nil { return x.InvitationCode } return "" } func (x *AccountInfo) GetNowLogId() uint64 { if x != nil { return x.NowLogId } return 0 } func (x *AccountInfo) GetCanScan() bool { if x != nil { return x.CanScan } return false } func (x *AccountInfo) GetLeftDate() string { if x != nil { return x.LeftDate } return "" } func (x *AccountInfo) GetPositions() []*PositionUser { if x != nil { return x.Positions } return nil } func (x *AccountInfo) GetRemark() string { if x != nil { return x.Remark } return "" } func (x *AccountInfo) GetRecentImg() string { if x != nil { return x.RecentImg } return "" } func (x *AccountInfo) GetClocks() []*ClockUser { if x != nil { return x.Clocks } return nil } func (x *AccountInfo) GetMailAccount() string { if x != nil { return x.MailAccount } return "" } func (x *AccountInfo) GetICNum() string { if x != nil { return x.ICNum } return "" } func (x *AccountInfo) GetEnglishName() string { if x != nil { return x.EnglishName } return "" } func (x *AccountInfo) GetTrain() string { if x != nil { return x.Train } return "" } func (x *AccountInfo) GetCertificate() string { if x != nil { return x.Certificate } return "" } func (x *AccountInfo) GetTrainVideos() []*TrainVideo { if x != nil { return x.TrainVideos } return nil } func (x *AccountInfo) GetOperator() *Operator { if x != nil { return x.Operator } return nil } func (x *AccountInfo) GetUpdatedAt() string { if x != nil { return x.UpdatedAt } return "" } func (x *AccountInfo) GetSecurityCode() string { if x != nil { return x.SecurityCode } return "" } func (x *AccountInfo) GetBlockAddr() string { if x != nil { return x.BlockAddr } return "" } type UserInfoV2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` Account string `protobuf:"bytes,2,opt,name=Account,proto3" json:"Account,omitempty"` NickName string `protobuf:"bytes,3,opt,name=NickName,proto3" json:"NickName,omitempty"` TelNum string `protobuf:"bytes,4,opt,name=TelNum,proto3" json:"TelNum,omitempty"` Status string `protobuf:"bytes,5,opt,name=Status,proto3" json:"Status,omitempty"` Avatar string `protobuf:"bytes,6,opt,name=Avatar,proto3" json:"Avatar,omitempty"` CreateAt string `protobuf:"bytes,7,opt,name=CreateAt,proto3" json:"CreateAt,omitempty"` RealName string `protobuf:"bytes,8,opt,name=RealName,proto3" json:"RealName,omitempty"` IDNum string `protobuf:"bytes,9,opt,name=IDNum,proto3" json:"IDNum,omitempty"` EnterDate string `protobuf:"bytes,10,opt,name=EnterDate,proto3" json:"EnterDate,omitempty"` Extend *Extend `protobuf:"bytes,11,opt,name=Extend,proto3" json:"Extend,omitempty"` JobNum string `protobuf:"bytes,12,opt,name=JobNum,proto3" json:"JobNum,omitempty"` RecentImg string `protobuf:"bytes,13,opt,name=recentImg,proto3" json:"recentImg,omitempty"` MailAccount string `protobuf:"bytes,14,opt,name=mailAccount,proto3" json:"mailAccount,omitempty"` Operator *Operator `protobuf:"bytes,15,opt,name=operator,proto3" json:"operator,omitempty"` UpdatedAt string `protobuf:"bytes,16,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` } func (x *UserInfoV2) Reset() { *x = UserInfoV2{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserInfoV2) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserInfoV2) ProtoMessage() {} func (x *UserInfoV2) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 UserInfoV2.ProtoReflect.Descriptor instead. func (*UserInfoV2) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{77} } func (x *UserInfoV2) GetID() uint64 { if x != nil { return x.ID } return 0 } func (x *UserInfoV2) GetAccount() string { if x != nil { return x.Account } return "" } func (x *UserInfoV2) GetNickName() string { if x != nil { return x.NickName } return "" } func (x *UserInfoV2) GetTelNum() string { if x != nil { return x.TelNum } return "" } func (x *UserInfoV2) GetStatus() string { if x != nil { return x.Status } return "" } func (x *UserInfoV2) GetAvatar() string { if x != nil { return x.Avatar } return "" } func (x *UserInfoV2) GetCreateAt() string { if x != nil { return x.CreateAt } return "" } func (x *UserInfoV2) GetRealName() string { if x != nil { return x.RealName } return "" } func (x *UserInfoV2) GetIDNum() string { if x != nil { return x.IDNum } return "" } func (x *UserInfoV2) GetEnterDate() string { if x != nil { return x.EnterDate } return "" } func (x *UserInfoV2) GetExtend() *Extend { if x != nil { return x.Extend } return nil } func (x *UserInfoV2) GetJobNum() string { if x != nil { return x.JobNum } return "" } func (x *UserInfoV2) GetRecentImg() string { if x != nil { return x.RecentImg } return "" } func (x *UserInfoV2) GetMailAccount() string { if x != nil { return x.MailAccount } return "" } func (x *UserInfoV2) GetOperator() *Operator { if x != nil { return x.Operator } return nil } func (x *UserInfoV2) GetUpdatedAt() string { if x != nil { return x.UpdatedAt } return "" } type RefreshTokenRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RefreshToken string `protobuf:"bytes,1,opt,name=refreshToken,proto3" json:"refreshToken,omitempty"` Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` Ip string `protobuf:"bytes,3,opt,name=ip,proto3" json:"ip,omitempty"` } func (x *RefreshTokenRequest) Reset() { *x = RefreshTokenRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RefreshTokenRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RefreshTokenRequest) ProtoMessage() {} func (x *RefreshTokenRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 RefreshTokenRequest.ProtoReflect.Descriptor instead. func (*RefreshTokenRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{78} } func (x *RefreshTokenRequest) GetRefreshToken() string { if x != nil { return x.RefreshToken } return "" } func (x *RefreshTokenRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *RefreshTokenRequest) GetIp() string { if x != nil { return x.Ip } return "" } type PositionUser struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PositionID uint64 `protobuf:"varint,1,opt,name=PositionID,json=positionID,proto3" json:"PositionID,omitempty"` PositionName string `protobuf:"bytes,2,opt,name=PositionName,json=positionName,proto3" json:"PositionName,omitempty"` DepartmentId uint64 `protobuf:"varint,3,opt,name=DepartmentId,json=departmentId,proto3" json:"DepartmentId,omitempty"` DepartmentCode string `protobuf:"bytes,4,opt,name=DepartmentCode,json=departmentCode,proto3" json:"DepartmentCode,omitempty"` DepartmentName string `protobuf:"bytes,5,opt,name=DepartmentName,json=departmentName,proto3" json:"DepartmentName,omitempty"` UserId uint64 `protobuf:"varint,6,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` UserName string `protobuf:"bytes,7,opt,name=UserName,json=userName,proto3" json:"UserName,omitempty"` } func (x *PositionUser) Reset() { *x = PositionUser{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PositionUser) String() string { return protoimpl.X.MessageStringOf(x) } func (*PositionUser) ProtoMessage() {} func (x *PositionUser) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 PositionUser.ProtoReflect.Descriptor instead. func (*PositionUser) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{79} } func (x *PositionUser) GetPositionID() uint64 { if x != nil { return x.PositionID } return 0 } func (x *PositionUser) GetPositionName() string { if x != nil { return x.PositionName } return "" } func (x *PositionUser) GetDepartmentId() uint64 { if x != nil { return x.DepartmentId } return 0 } func (x *PositionUser) GetDepartmentCode() string { if x != nil { return x.DepartmentCode } return "" } func (x *PositionUser) GetDepartmentName() string { if x != nil { return x.DepartmentName } return "" } func (x *PositionUser) GetUserId() uint64 { if x != nil { return x.UserId } return 0 } func (x *PositionUser) GetUserName() string { if x != nil { return x.UserName } return "" } type JobNumGetInfoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields JobNum string `protobuf:"bytes,1,opt,name=jobNum,proto3" json:"jobNum,omitempty"` Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` } func (x *JobNumGetInfoRequest) Reset() { *x = JobNumGetInfoRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JobNumGetInfoRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*JobNumGetInfoRequest) ProtoMessage() {} func (x *JobNumGetInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 JobNumGetInfoRequest.ProtoReflect.Descriptor instead. func (*JobNumGetInfoRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{80} } func (x *JobNumGetInfoRequest) GetJobNum() string { if x != nil { return x.JobNum } return "" } func (x *JobNumGetInfoRequest) GetDomain() string { if x != nil { return x.Domain } return "" } type CreateClockDeviceRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields DeviceNum string `protobuf:"bytes,1,opt,name=deviceNum,proto3" json:"deviceNum,omitempty"` DeviceName string `protobuf:"bytes,2,opt,name=deviceName,proto3" json:"deviceName,omitempty"` DeviceSite string `protobuf:"bytes,3,opt,name=deviceSite,proto3" json:"deviceSite,omitempty"` } func (x *CreateClockDeviceRequest) Reset() { *x = CreateClockDeviceRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateClockDeviceRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateClockDeviceRequest) ProtoMessage() {} func (x *CreateClockDeviceRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 CreateClockDeviceRequest.ProtoReflect.Descriptor instead. func (*CreateClockDeviceRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{81} } func (x *CreateClockDeviceRequest) GetDeviceNum() string { if x != nil { return x.DeviceNum } return "" } func (x *CreateClockDeviceRequest) GetDeviceName() string { if x != nil { return x.DeviceName } return "" } func (x *CreateClockDeviceRequest) GetDeviceSite() string { if x != nil { return x.DeviceSite } return "" } type UpdateClockDeviceRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` DeviceNum string `protobuf:"bytes,2,opt,name=deviceNum,proto3" json:"deviceNum,omitempty"` DeviceName string `protobuf:"bytes,3,opt,name=deviceName,proto3" json:"deviceName,omitempty"` DeviceSite string `protobuf:"bytes,4,opt,name=deviceSite,proto3" json:"deviceSite,omitempty"` } func (x *UpdateClockDeviceRequest) Reset() { *x = UpdateClockDeviceRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateClockDeviceRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateClockDeviceRequest) ProtoMessage() {} func (x *UpdateClockDeviceRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 UpdateClockDeviceRequest.ProtoReflect.Descriptor instead. func (*UpdateClockDeviceRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{82} } func (x *UpdateClockDeviceRequest) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *UpdateClockDeviceRequest) GetDeviceNum() string { if x != nil { return x.DeviceNum } return "" } func (x *UpdateClockDeviceRequest) GetDeviceName() string { if x != nil { return x.DeviceName } return "" } func (x *UpdateClockDeviceRequest) GetDeviceSite() string { if x != nil { return x.DeviceSite } return "" } type ClockDeviceResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *ClockDeviceResponse) Reset() { *x = ClockDeviceResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClockDeviceResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClockDeviceResponse) ProtoMessage() {} func (x *ClockDeviceResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 ClockDeviceResponse.ProtoReflect.Descriptor instead. func (*ClockDeviceResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{83} } func (x *ClockDeviceResponse) GetId() uint64 { if x != nil { return x.Id } return 0 } type RemoveClockDeviceRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *RemoveClockDeviceRequest) Reset() { *x = RemoveClockDeviceRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RemoveClockDeviceRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RemoveClockDeviceRequest) ProtoMessage() {} func (x *RemoveClockDeviceRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 RemoveClockDeviceRequest.ProtoReflect.Descriptor instead. func (*RemoveClockDeviceRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{84} } func (x *RemoveClockDeviceRequest) GetId() uint64 { if x != nil { return x.Id } return 0 } type ClockDeviceListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` DeviceSite string `protobuf:"bytes,2,opt,name=deviceSite,proto3" json:"deviceSite,omitempty"` DeviceNum string `protobuf:"bytes,3,opt,name=deviceNum,proto3" json:"deviceNum,omitempty"` DeviceName string `protobuf:"bytes,4,opt,name=deviceName,proto3" json:"deviceName,omitempty"` Page uint64 `protobuf:"varint,5,opt,name=page,proto3" json:"page,omitempty"` PageSize uint64 `protobuf:"varint,6,opt,name=pageSize,proto3" json:"pageSize,omitempty"` Ids []uint64 `protobuf:"varint,7,rep,packed,name=ids,proto3" json:"ids,omitempty"` } func (x *ClockDeviceListRequest) Reset() { *x = ClockDeviceListRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClockDeviceListRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClockDeviceListRequest) ProtoMessage() {} func (x *ClockDeviceListRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 ClockDeviceListRequest.ProtoReflect.Descriptor instead. func (*ClockDeviceListRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{85} } func (x *ClockDeviceListRequest) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *ClockDeviceListRequest) GetDeviceSite() string { if x != nil { return x.DeviceSite } return "" } func (x *ClockDeviceListRequest) GetDeviceNum() string { if x != nil { return x.DeviceNum } return "" } func (x *ClockDeviceListRequest) GetDeviceName() string { if x != nil { return x.DeviceName } return "" } func (x *ClockDeviceListRequest) GetPage() uint64 { if x != nil { return x.Page } return 0 } func (x *ClockDeviceListRequest) GetPageSize() uint64 { if x != nil { return x.PageSize } return 0 } func (x *ClockDeviceListRequest) GetIds() []uint64 { if x != nil { return x.Ids } return nil } type ClockDeviceListResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Count uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` Data []*ClockDeviceInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` } func (x *ClockDeviceListResponse) Reset() { *x = ClockDeviceListResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClockDeviceListResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClockDeviceListResponse) ProtoMessage() {} func (x *ClockDeviceListResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 ClockDeviceListResponse.ProtoReflect.Descriptor instead. func (*ClockDeviceListResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{86} } func (x *ClockDeviceListResponse) GetCount() uint64 { if x != nil { return x.Count } return 0 } func (x *ClockDeviceListResponse) GetData() []*ClockDeviceInfo { if x != nil { return x.Data } return nil } type ClockUser struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` CreatedAt string `protobuf:"bytes,2,opt,name=createdAt,proto3" json:"createdAt,omitempty"` UpdatedAt string `protobuf:"bytes,3,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` DeletedAt string `protobuf:"bytes,4,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"` DeviceID uint64 `protobuf:"varint,5,opt,name=deviceID,proto3" json:"deviceID,omitempty"` UserId uint64 `protobuf:"varint,6,opt,name=userId,proto3" json:"userId,omitempty"` Status uint64 `protobuf:"varint,7,opt,name=status,proto3" json:"status,omitempty"` Device *ClockDeviceInfo `protobuf:"bytes,8,opt,name=device,proto3" json:"device,omitempty"` } func (x *ClockUser) Reset() { *x = ClockUser{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClockUser) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClockUser) ProtoMessage() {} func (x *ClockUser) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 ClockUser.ProtoReflect.Descriptor instead. func (*ClockUser) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{87} } func (x *ClockUser) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *ClockUser) GetCreatedAt() string { if x != nil { return x.CreatedAt } return "" } func (x *ClockUser) GetUpdatedAt() string { if x != nil { return x.UpdatedAt } return "" } func (x *ClockUser) GetDeletedAt() string { if x != nil { return x.DeletedAt } return "" } func (x *ClockUser) GetDeviceID() uint64 { if x != nil { return x.DeviceID } return 0 } func (x *ClockUser) GetUserId() uint64 { if x != nil { return x.UserId } return 0 } func (x *ClockUser) GetStatus() uint64 { if x != nil { return x.Status } return 0 } func (x *ClockUser) GetDevice() *ClockDeviceInfo { if x != nil { return x.Device } return nil } type ClockDeviceInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` CreateAt string `protobuf:"bytes,2,opt,name=createAt,proto3" json:"createAt,omitempty"` UpdateAt string `protobuf:"bytes,3,opt,name=updateAt,proto3" json:"updateAt,omitempty"` DeviceSite string `protobuf:"bytes,4,opt,name=deviceSite,proto3" json:"deviceSite,omitempty"` DeviceNum string `protobuf:"bytes,5,opt,name=deviceNum,proto3" json:"deviceNum,omitempty"` DeviceName string `protobuf:"bytes,6,opt,name=deviceName,proto3" json:"deviceName,omitempty"` UserNum uint64 `protobuf:"varint,7,opt,name=userNum,proto3" json:"userNum,omitempty"` Data []*ClockUserRel `protobuf:"bytes,8,rep,name=data,proto3" json:"data,omitempty"` } func (x *ClockDeviceInfo) Reset() { *x = ClockDeviceInfo{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClockDeviceInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClockDeviceInfo) ProtoMessage() {} func (x *ClockDeviceInfo) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 ClockDeviceInfo.ProtoReflect.Descriptor instead. func (*ClockDeviceInfo) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{88} } func (x *ClockDeviceInfo) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *ClockDeviceInfo) GetCreateAt() string { if x != nil { return x.CreateAt } return "" } func (x *ClockDeviceInfo) GetUpdateAt() string { if x != nil { return x.UpdateAt } return "" } func (x *ClockDeviceInfo) GetDeviceSite() string { if x != nil { return x.DeviceSite } return "" } func (x *ClockDeviceInfo) GetDeviceNum() string { if x != nil { return x.DeviceNum } return "" } func (x *ClockDeviceInfo) GetDeviceName() string { if x != nil { return x.DeviceName } return "" } func (x *ClockDeviceInfo) GetUserNum() uint64 { if x != nil { return x.UserNum } return 0 } func (x *ClockDeviceInfo) GetData() []*ClockUserRel { if x != nil { return x.Data } return nil } type ClockDeviceInfoResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Count uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` Data []*ClockUserRel `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` } func (x *ClockDeviceInfoResponse) Reset() { *x = ClockDeviceInfoResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClockDeviceInfoResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClockDeviceInfoResponse) ProtoMessage() {} func (x *ClockDeviceInfoResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 ClockDeviceInfoResponse.ProtoReflect.Descriptor instead. func (*ClockDeviceInfoResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{89} } func (x *ClockDeviceInfoResponse) GetCount() uint64 { if x != nil { return x.Count } return 0 } func (x *ClockDeviceInfoResponse) GetData() []*ClockUserRel { if x != nil { return x.Data } return nil } type ClockUserRel struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` CreateAt string `protobuf:"bytes,2,opt,name=createAt,proto3" json:"createAt,omitempty"` UpdateAt string `protobuf:"bytes,3,opt,name=updateAt,proto3" json:"updateAt,omitempty"` NickName string `protobuf:"bytes,4,opt,name=nickName,proto3" json:"nickName,omitempty"` JobNum string `protobuf:"bytes,5,opt,name=jobNum,proto3" json:"jobNum,omitempty"` IcNum string `protobuf:"bytes,6,opt,name=icNum,proto3" json:"icNum,omitempty"` } func (x *ClockUserRel) Reset() { *x = ClockUserRel{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClockUserRel) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClockUserRel) ProtoMessage() {} func (x *ClockUserRel) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 ClockUserRel.ProtoReflect.Descriptor instead. func (*ClockUserRel) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{90} } func (x *ClockUserRel) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *ClockUserRel) GetCreateAt() string { if x != nil { return x.CreateAt } return "" } func (x *ClockUserRel) GetUpdateAt() string { if x != nil { return x.UpdateAt } return "" } func (x *ClockUserRel) GetNickName() string { if x != nil { return x.NickName } return "" } func (x *ClockUserRel) GetJobNum() string { if x != nil { return x.JobNum } return "" } func (x *ClockUserRel) GetIcNum() string { if x != nil { return x.IcNum } return "" } type ClockDeviceInfoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Page uint64 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` PageSize uint64 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` } func (x *ClockDeviceInfoRequest) Reset() { *x = ClockDeviceInfoRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClockDeviceInfoRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClockDeviceInfoRequest) ProtoMessage() {} func (x *ClockDeviceInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 ClockDeviceInfoRequest.ProtoReflect.Descriptor instead. func (*ClockDeviceInfoRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{91} } func (x *ClockDeviceInfoRequest) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *ClockDeviceInfoRequest) GetPage() uint64 { if x != nil { return x.Page } return 0 } func (x *ClockDeviceInfoRequest) GetPageSize() uint64 { if x != nil { return x.PageSize } return 0 } type ClockBatchBindRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` UserId []uint64 `protobuf:"varint,2,rep,packed,name=userId,proto3" json:"userId,omitempty"` DeviceId []uint64 `protobuf:"varint,3,rep,packed,name=deviceId,proto3" json:"deviceId,omitempty"` } func (x *ClockBatchBindRequest) Reset() { *x = ClockBatchBindRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClockBatchBindRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClockBatchBindRequest) ProtoMessage() {} func (x *ClockBatchBindRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 ClockBatchBindRequest.ProtoReflect.Descriptor instead. func (*ClockBatchBindRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{92} } func (x *ClockBatchBindRequest) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *ClockBatchBindRequest) GetUserId() []uint64 { if x != nil { return x.UserId } return nil } func (x *ClockBatchBindRequest) GetDeviceId() []uint64 { if x != nil { return x.DeviceId } return nil } type ClockBatchListResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data []*ClockUserDeviceBatch `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"` } func (x *ClockBatchListResponse) Reset() { *x = ClockBatchListResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClockBatchListResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClockBatchListResponse) ProtoMessage() {} func (x *ClockBatchListResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 ClockBatchListResponse.ProtoReflect.Descriptor instead. func (*ClockBatchListResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{93} } func (x *ClockBatchListResponse) GetData() []*ClockUserDeviceBatch { if x != nil { return x.Data } return nil } type ClockUserDeviceBatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId uint64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` DeviceId uint64 `protobuf:"varint,2,opt,name=deviceId,proto3" json:"deviceId,omitempty"` JobNum string `protobuf:"bytes,3,opt,name=JobNum,proto3" json:"JobNum,omitempty"` DeviceNum string `protobuf:"bytes,4,opt,name=deviceNum,proto3" json:"deviceNum,omitempty"` DeviceName string `protobuf:"bytes,5,opt,name=deviceName,proto3" json:"deviceName,omitempty"` WorkStatus string `protobuf:"bytes,6,opt,name=workStatus,proto3" json:"workStatus,omitempty"` } func (x *ClockUserDeviceBatch) Reset() { *x = ClockUserDeviceBatch{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClockUserDeviceBatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClockUserDeviceBatch) ProtoMessage() {} func (x *ClockUserDeviceBatch) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 ClockUserDeviceBatch.ProtoReflect.Descriptor instead. func (*ClockUserDeviceBatch) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{94} } func (x *ClockUserDeviceBatch) GetUserId() uint64 { if x != nil { return x.UserId } return 0 } func (x *ClockUserDeviceBatch) GetDeviceId() uint64 { if x != nil { return x.DeviceId } return 0 } func (x *ClockUserDeviceBatch) GetJobNum() string { if x != nil { return x.JobNum } return "" } func (x *ClockUserDeviceBatch) GetDeviceNum() string { if x != nil { return x.DeviceNum } return "" } func (x *ClockUserDeviceBatch) GetDeviceName() string { if x != nil { return x.DeviceName } return "" } func (x *ClockUserDeviceBatch) GetWorkStatus() string { if x != nil { return x.WorkStatus } return "" } type ClockLogInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Sn string `protobuf:"bytes,2,opt,name=sn,proto3" json:"sn,omitempty"` UserId string `protobuf:"bytes,3,opt,name=userId,proto3" json:"userId,omitempty"` RecogType string `protobuf:"bytes,4,opt,name=recogType,proto3" json:"recogType,omitempty"` RecogTime string `protobuf:"bytes,5,opt,name=recogTime,proto3" json:"recogTime,omitempty"` Gender float32 `protobuf:"fixed32,6,opt,name=gender,proto3" json:"gender,omitempty"` Photo string `protobuf:"bytes,7,opt,name=photo,proto3" json:"photo,omitempty"` PassStatus float32 `protobuf:"fixed32,8,opt,name=passStatus,proto3" json:"passStatus,omitempty"` UserName string `protobuf:"bytes,9,opt,name=userName,proto3" json:"userName,omitempty"` UserType float32 `protobuf:"fixed32,10,opt,name=userType,proto3" json:"userType,omitempty"` Confidence string `protobuf:"bytes,11,opt,name=confidence,proto3" json:"confidence,omitempty"` Reflectivity float32 `protobuf:"fixed32,12,opt,name=reflectivity,proto3" json:"reflectivity,omitempty"` CardNumber string `protobuf:"bytes,13,opt,name=cardNumber,proto3" json:"cardNumber,omitempty"` PassWord string `protobuf:"bytes,14,opt,name=passWord,proto3" json:"passWord,omitempty"` QrCode string `protobuf:"bytes,15,opt,name=qrCode,proto3" json:"qrCode,omitempty"` Tel string `protobuf:"bytes,16,opt,name=tel,proto3" json:"tel,omitempty"` ReasonVisit string `protobuf:"bytes,17,opt,name=reasonVisit,proto3" json:"reasonVisit,omitempty"` ReceiverTel string `protobuf:"bytes,18,opt,name=receiverTel,proto3" json:"receiverTel,omitempty"` NumOfPeople uint64 `protobuf:"varint,19,opt,name=numOfPeople,proto3" json:"numOfPeople,omitempty"` } func (x *ClockLogInfo) Reset() { *x = ClockLogInfo{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClockLogInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClockLogInfo) ProtoMessage() {} func (x *ClockLogInfo) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 ClockLogInfo.ProtoReflect.Descriptor instead. func (*ClockLogInfo) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{95} } func (x *ClockLogInfo) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *ClockLogInfo) GetSn() string { if x != nil { return x.Sn } return "" } func (x *ClockLogInfo) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *ClockLogInfo) GetRecogType() string { if x != nil { return x.RecogType } return "" } func (x *ClockLogInfo) GetRecogTime() string { if x != nil { return x.RecogTime } return "" } func (x *ClockLogInfo) GetGender() float32 { if x != nil { return x.Gender } return 0 } func (x *ClockLogInfo) GetPhoto() string { if x != nil { return x.Photo } return "" } func (x *ClockLogInfo) GetPassStatus() float32 { if x != nil { return x.PassStatus } return 0 } func (x *ClockLogInfo) GetUserName() string { if x != nil { return x.UserName } return "" } func (x *ClockLogInfo) GetUserType() float32 { if x != nil { return x.UserType } return 0 } func (x *ClockLogInfo) GetConfidence() string { if x != nil { return x.Confidence } return "" } func (x *ClockLogInfo) GetReflectivity() float32 { if x != nil { return x.Reflectivity } return 0 } func (x *ClockLogInfo) GetCardNumber() string { if x != nil { return x.CardNumber } return "" } func (x *ClockLogInfo) GetPassWord() string { if x != nil { return x.PassWord } return "" } func (x *ClockLogInfo) GetQrCode() string { if x != nil { return x.QrCode } return "" } func (x *ClockLogInfo) GetTel() string { if x != nil { return x.Tel } return "" } func (x *ClockLogInfo) GetReasonVisit() string { if x != nil { return x.ReasonVisit } return "" } func (x *ClockLogInfo) GetReceiverTel() string { if x != nil { return x.ReceiverTel } return "" } func (x *ClockLogInfo) GetNumOfPeople() uint64 { if x != nil { return x.NumOfPeople } return 0 } type ClockLogReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Page uint64 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` PageSize uint64 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` UserName string `protobuf:"bytes,4,opt,name=userName,proto3" json:"userName,omitempty"` RecogType string `protobuf:"bytes,5,opt,name=recogType,proto3" json:"recogType,omitempty"` DeviceNum string `protobuf:"bytes,6,opt,name=deviceNum,proto3" json:"deviceNum,omitempty"` RecogDate string `protobuf:"bytes,7,opt,name=recogDate,proto3" json:"recogDate,omitempty"` UserId uint64 `protobuf:"varint,8,opt,name=userId,proto3" json:"userId,omitempty"` } func (x *ClockLogReq) Reset() { *x = ClockLogReq{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClockLogReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClockLogReq) ProtoMessage() {} func (x *ClockLogReq) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 ClockLogReq.ProtoReflect.Descriptor instead. func (*ClockLogReq) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{96} } func (x *ClockLogReq) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *ClockLogReq) GetPage() uint64 { if x != nil { return x.Page } return 0 } func (x *ClockLogReq) GetPageSize() uint64 { if x != nil { return x.PageSize } return 0 } func (x *ClockLogReq) GetUserName() string { if x != nil { return x.UserName } return "" } func (x *ClockLogReq) GetRecogType() string { if x != nil { return x.RecogType } return "" } func (x *ClockLogReq) GetDeviceNum() string { if x != nil { return x.DeviceNum } return "" } func (x *ClockLogReq) GetRecogDate() string { if x != nil { return x.RecogDate } return "" } func (x *ClockLogReq) GetUserId() uint64 { if x != nil { return x.UserId } return 0 } type ClockLogListResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data []*ClockLogInfo `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"` Count uint64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` } func (x *ClockLogListResponse) Reset() { *x = ClockLogListResponse{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClockLogListResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClockLogListResponse) ProtoMessage() {} func (x *ClockLogListResponse) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 ClockLogListResponse.ProtoReflect.Descriptor instead. func (*ClockLogListResponse) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{97} } func (x *ClockLogListResponse) GetData() []*ClockLogInfo { if x != nil { return x.Data } return nil } func (x *ClockLogListResponse) GetCount() uint64 { if x != nil { return x.Count } return 0 } type SubmitInfoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields FirstName string `protobuf:"bytes,1,opt,name=firstName,proto3" json:"firstName,omitempty"` LastName string `protobuf:"bytes,2,opt,name=lastName,proto3" json:"lastName,omitempty"` Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"` Company string `protobuf:"bytes,4,opt,name=company,proto3" json:"company,omitempty"` Phone string `protobuf:"bytes,5,opt,name=phone,proto3" json:"phone,omitempty"` } func (x *SubmitInfoRequest) Reset() { *x = SubmitInfoRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SubmitInfoRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SubmitInfoRequest) ProtoMessage() {} func (x *SubmitInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 SubmitInfoRequest.ProtoReflect.Descriptor instead. func (*SubmitInfoRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{98} } func (x *SubmitInfoRequest) GetFirstName() string { if x != nil { return x.FirstName } return "" } func (x *SubmitInfoRequest) GetLastName() string { if x != nil { return x.LastName } return "" } func (x *SubmitInfoRequest) GetEmail() string { if x != nil { return x.Email } return "" } func (x *SubmitInfoRequest) GetCompany() string { if x != nil { return x.Company } return "" } func (x *SubmitInfoRequest) GetPhone() string { if x != nil { return x.Phone } return "" } type CommonMsg struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` } func (x *CommonMsg) Reset() { *x = CommonMsg{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommonMsg) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommonMsg) ProtoMessage() {} func (x *CommonMsg) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 CommonMsg.ProtoReflect.Descriptor instead. func (*CommonMsg) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{99} } func (x *CommonMsg) GetMsg() string { if x != nil { return x.Msg } return "" } type ChatRecordData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` CreatedAt string `protobuf:"bytes,2,opt,name=createdAt,proto3" json:"createdAt,omitempty"` UpdatedAt string `protobuf:"bytes,3,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` DeletedAt int64 `protobuf:"varint,4,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"` SessionId string `protobuf:"bytes,5,opt,name=sessionId,proto3" json:"sessionId,omitempty"` //会话UID UserId int64 `protobuf:"varint,6,opt,name=userId,proto3" json:"userId,omitempty"` //用户ID Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"` //名称 Avatar string `protobuf:"bytes,8,opt,name=avatar,proto3" json:"avatar,omitempty"` //头像 MsgType MsgType `protobuf:"varint,9,opt,name=msgType,proto3,enum=accountFiee.MsgType" json:"msgType,omitempty"` //消息类型 Content string `protobuf:"bytes,10,opt,name=content,proto3" json:"content,omitempty"` //消息内容 Medias []*ChatMediaData `protobuf:"bytes,11,rep,name=medias,proto3" json:"medias,omitempty"` //媒体 WaiterRead int32 `protobuf:"varint,12,opt,name=waiterRead,proto3" json:"waiterRead,omitempty"` //客服是否已读 1=已读 2=未读 (被任意客服读取过均为已读) LocalStamp int64 `protobuf:"varint,13,opt,name=localStamp,proto3" json:"localStamp,omitempty"` //本地时间戳 用户端的消息唯一值,用于用户本地的一些逻辑处理 Domain string `protobuf:"bytes,14,opt,name=domain,proto3" json:"domain,omitempty"` //域 } func (x *ChatRecordData) Reset() { *x = ChatRecordData{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChatRecordData) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChatRecordData) ProtoMessage() {} func (x *ChatRecordData) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 ChatRecordData.ProtoReflect.Descriptor instead. func (*ChatRecordData) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{100} } func (x *ChatRecordData) GetID() int64 { if x != nil { return x.ID } return 0 } func (x *ChatRecordData) GetCreatedAt() string { if x != nil { return x.CreatedAt } return "" } func (x *ChatRecordData) GetUpdatedAt() string { if x != nil { return x.UpdatedAt } return "" } func (x *ChatRecordData) GetDeletedAt() int64 { if x != nil { return x.DeletedAt } return 0 } func (x *ChatRecordData) GetSessionId() string { if x != nil { return x.SessionId } return "" } func (x *ChatRecordData) GetUserId() int64 { if x != nil { return x.UserId } return 0 } func (x *ChatRecordData) GetName() string { if x != nil { return x.Name } return "" } func (x *ChatRecordData) GetAvatar() string { if x != nil { return x.Avatar } return "" } func (x *ChatRecordData) GetMsgType() MsgType { if x != nil { return x.MsgType } return MsgType_UnknownMsgType } func (x *ChatRecordData) GetContent() string { if x != nil { return x.Content } return "" } func (x *ChatRecordData) GetMedias() []*ChatMediaData { if x != nil { return x.Medias } return nil } func (x *ChatRecordData) GetWaiterRead() int32 { if x != nil { return x.WaiterRead } return 0 } func (x *ChatRecordData) GetLocalStamp() int64 { if x != nil { return x.LocalStamp } return 0 } func (x *ChatRecordData) GetDomain() string { if x != nil { return x.Domain } return "" } type CreateChatRecordResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data *ChatRecordData `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` } func (x *CreateChatRecordResp) Reset() { *x = CreateChatRecordResp{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateChatRecordResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateChatRecordResp) ProtoMessage() {} func (x *CreateChatRecordResp) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 CreateChatRecordResp.ProtoReflect.Descriptor instead. func (*CreateChatRecordResp) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{101} } func (x *CreateChatRecordResp) GetData() *ChatRecordData { if x != nil { return x.Data } return nil } func (x *CreateChatRecordResp) GetMsg() string { if x != nil { return x.Msg } return "" } type DeleteChatRecordRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //二选一,数据id Ids []int64 `protobuf:"varint,2,rep,packed,name=ids,proto3" json:"ids,omitempty"` //二选一,数据id列表 } func (x *DeleteChatRecordRequest) Reset() { *x = DeleteChatRecordRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeleteChatRecordRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteChatRecordRequest) ProtoMessage() {} func (x *DeleteChatRecordRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 DeleteChatRecordRequest.ProtoReflect.Descriptor instead. func (*DeleteChatRecordRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{102} } func (x *DeleteChatRecordRequest) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *DeleteChatRecordRequest) GetIds() []int64 { if x != nil { return x.Ids } return nil } type GetChatRecordByIdRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //数据id } func (x *GetChatRecordByIdRequest) Reset() { *x = GetChatRecordByIdRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetChatRecordByIdRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetChatRecordByIdRequest) ProtoMessage() {} func (x *GetChatRecordByIdRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 GetChatRecordByIdRequest.ProtoReflect.Descriptor instead. func (*GetChatRecordByIdRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{103} } func (x *GetChatRecordByIdRequest) GetId() int64 { if x != nil { return x.Id } return 0 } type GetChatRecordListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Query *ChatRecordData `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` Page int64 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` PageSize int64 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` Where string `protobuf:"bytes,4,opt,name=where,proto3" json:"where,omitempty"` Order string `protobuf:"bytes,5,opt,name=order,proto3" json:"order,omitempty"` } func (x *GetChatRecordListRequest) Reset() { *x = GetChatRecordListRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetChatRecordListRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetChatRecordListRequest) ProtoMessage() {} func (x *GetChatRecordListRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 GetChatRecordListRequest.ProtoReflect.Descriptor instead. func (*GetChatRecordListRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{104} } func (x *GetChatRecordListRequest) GetQuery() *ChatRecordData { if x != nil { return x.Query } return nil } func (x *GetChatRecordListRequest) GetPage() int64 { if x != nil { return x.Page } return 0 } func (x *GetChatRecordListRequest) GetPageSize() int64 { if x != nil { return x.PageSize } return 0 } func (x *GetChatRecordListRequest) GetWhere() string { if x != nil { return x.Where } return "" } func (x *GetChatRecordListRequest) GetOrder() string { if x != nil { return x.Order } return "" } type GetChatRecordListResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*ChatRecordData `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` Page int64 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` PageSize int64 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` Total int64 `protobuf:"varint,4,opt,name=Total,proto3" json:"Total,omitempty"` } func (x *GetChatRecordListResp) Reset() { *x = GetChatRecordListResp{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetChatRecordListResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetChatRecordListResp) ProtoMessage() {} func (x *GetChatRecordListResp) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 GetChatRecordListResp.ProtoReflect.Descriptor instead. func (*GetChatRecordListResp) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{105} } func (x *GetChatRecordListResp) GetList() []*ChatRecordData { if x != nil { return x.List } return nil } func (x *GetChatRecordListResp) GetPage() int64 { if x != nil { return x.Page } return 0 } func (x *GetChatRecordListResp) GetPageSize() int64 { if x != nil { return x.PageSize } return 0 } func (x *GetChatRecordListResp) GetTotal() int64 { if x != nil { return x.Total } return 0 } type RegisterWaiterRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Origin string `protobuf:"bytes,1,opt,name=origin,proto3" json:"origin,omitempty"` //来源 OriginId int64 `protobuf:"varint,2,opt,name=originId,proto3" json:"originId,omitempty"` //来源对应的用户ID NickName string `protobuf:"bytes,3,opt,name=nickName,proto3" json:"nickName,omitempty"` //名称 Avatar string `protobuf:"bytes,4,opt,name=avatar,proto3" json:"avatar,omitempty"` //头像 TelNum string `protobuf:"bytes,5,opt,name=telNum,proto3" json:"telNum,omitempty"` //电话 InvitationCode string `protobuf:"bytes,6,opt,name=invitationCode,proto3" json:"invitationCode,omitempty"` //邀请码 Account string `protobuf:"bytes,7,opt,name=account,proto3" json:"account,omitempty"` } func (x *RegisterWaiterRequest) Reset() { *x = RegisterWaiterRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RegisterWaiterRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RegisterWaiterRequest) ProtoMessage() {} func (x *RegisterWaiterRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 RegisterWaiterRequest.ProtoReflect.Descriptor instead. func (*RegisterWaiterRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{106} } func (x *RegisterWaiterRequest) GetOrigin() string { if x != nil { return x.Origin } return "" } func (x *RegisterWaiterRequest) GetOriginId() int64 { if x != nil { return x.OriginId } return 0 } func (x *RegisterWaiterRequest) GetNickName() string { if x != nil { return x.NickName } return "" } func (x *RegisterWaiterRequest) GetAvatar() string { if x != nil { return x.Avatar } return "" } func (x *RegisterWaiterRequest) GetTelNum() string { if x != nil { return x.TelNum } return "" } func (x *RegisterWaiterRequest) GetInvitationCode() string { if x != nil { return x.InvitationCode } return "" } func (x *RegisterWaiterRequest) GetAccount() string { if x != nil { return x.Account } return "" } type RegisterWaiterResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` } func (x *RegisterWaiterResp) Reset() { *x = RegisterWaiterResp{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RegisterWaiterResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*RegisterWaiterResp) ProtoMessage() {} func (x *RegisterWaiterResp) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 RegisterWaiterResp.ProtoReflect.Descriptor instead. func (*RegisterWaiterResp) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{107} } func (x *RegisterWaiterResp) GetUserId() int64 { if x != nil { return x.UserId } return 0 } type ChatMediaData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` CreatedAt string `protobuf:"bytes,2,opt,name=createdAt,proto3" json:"createdAt,omitempty"` UpdatedAt string `protobuf:"bytes,3,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` DeletedAt int64 `protobuf:"varint,4,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"` Url string `protobuf:"bytes,5,opt,name=url,proto3" json:"url,omitempty"` //url Md5 string `protobuf:"bytes,6,opt,name=md5,proto3" json:"md5,omitempty"` //md5值 Size string `protobuf:"bytes,7,opt,name=size,proto3" json:"size,omitempty"` //尺寸 Ext string `protobuf:"bytes,8,opt,name=ext,proto3" json:"ext,omitempty"` //后缀格式 ConvText string `protobuf:"bytes,9,opt,name=convText,proto3" json:"convText,omitempty"` //语音转文字内容 Duration int64 `protobuf:"varint,10,opt,name=duration,proto3" json:"duration,omitempty"` //时长 } func (x *ChatMediaData) Reset() { *x = ChatMediaData{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChatMediaData) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChatMediaData) ProtoMessage() {} func (x *ChatMediaData) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 ChatMediaData.ProtoReflect.Descriptor instead. func (*ChatMediaData) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{108} } func (x *ChatMediaData) GetID() int64 { if x != nil { return x.ID } return 0 } func (x *ChatMediaData) GetCreatedAt() string { if x != nil { return x.CreatedAt } return "" } func (x *ChatMediaData) GetUpdatedAt() string { if x != nil { return x.UpdatedAt } return "" } func (x *ChatMediaData) GetDeletedAt() int64 { if x != nil { return x.DeletedAt } return 0 } func (x *ChatMediaData) GetUrl() string { if x != nil { return x.Url } return "" } func (x *ChatMediaData) GetMd5() string { if x != nil { return x.Md5 } return "" } func (x *ChatMediaData) GetSize() string { if x != nil { return x.Size } return "" } func (x *ChatMediaData) GetExt() string { if x != nil { return x.Ext } return "" } func (x *ChatMediaData) GetConvText() string { if x != nil { return x.ConvText } return "" } func (x *ChatMediaData) GetDuration() int64 { if x != nil { return x.Duration } return 0 } type CreateChatMediaResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data *ChatMediaData `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` } func (x *CreateChatMediaResp) Reset() { *x = CreateChatMediaResp{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateChatMediaResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateChatMediaResp) ProtoMessage() {} func (x *CreateChatMediaResp) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 CreateChatMediaResp.ProtoReflect.Descriptor instead. func (*CreateChatMediaResp) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{109} } func (x *CreateChatMediaResp) GetData() *ChatMediaData { if x != nil { return x.Data } return nil } func (x *CreateChatMediaResp) GetMsg() string { if x != nil { return x.Msg } return "" } type DeleteChatMediaRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //二选一,数据id Ids []int64 `protobuf:"varint,2,rep,packed,name=ids,proto3" json:"ids,omitempty"` //二选一,数据id列表 } func (x *DeleteChatMediaRequest) Reset() { *x = DeleteChatMediaRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeleteChatMediaRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteChatMediaRequest) ProtoMessage() {} func (x *DeleteChatMediaRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 DeleteChatMediaRequest.ProtoReflect.Descriptor instead. func (*DeleteChatMediaRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{110} } func (x *DeleteChatMediaRequest) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *DeleteChatMediaRequest) GetIds() []int64 { if x != nil { return x.Ids } return nil } type GetChatMediaByIdRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //数据id } func (x *GetChatMediaByIdRequest) Reset() { *x = GetChatMediaByIdRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetChatMediaByIdRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetChatMediaByIdRequest) ProtoMessage() {} func (x *GetChatMediaByIdRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 GetChatMediaByIdRequest.ProtoReflect.Descriptor instead. func (*GetChatMediaByIdRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{111} } func (x *GetChatMediaByIdRequest) GetId() int64 { if x != nil { return x.Id } return 0 } type GetChatMediaListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Query *ChatMediaData `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` Page int64 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` PageSize int64 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` Where string `protobuf:"bytes,4,opt,name=where,proto3" json:"where,omitempty"` Order string `protobuf:"bytes,5,opt,name=order,proto3" json:"order,omitempty"` } func (x *GetChatMediaListRequest) Reset() { *x = GetChatMediaListRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetChatMediaListRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetChatMediaListRequest) ProtoMessage() {} func (x *GetChatMediaListRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 GetChatMediaListRequest.ProtoReflect.Descriptor instead. func (*GetChatMediaListRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{112} } func (x *GetChatMediaListRequest) GetQuery() *ChatMediaData { if x != nil { return x.Query } return nil } func (x *GetChatMediaListRequest) GetPage() int64 { if x != nil { return x.Page } return 0 } func (x *GetChatMediaListRequest) GetPageSize() int64 { if x != nil { return x.PageSize } return 0 } func (x *GetChatMediaListRequest) GetWhere() string { if x != nil { return x.Where } return "" } func (x *GetChatMediaListRequest) GetOrder() string { if x != nil { return x.Order } return "" } type GetChatMediaListResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*ChatMediaData `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` Page int64 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` PageSize int64 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` Total int64 `protobuf:"varint,4,opt,name=Total,proto3" json:"Total,omitempty"` } func (x *GetChatMediaListResp) Reset() { *x = GetChatMediaListResp{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetChatMediaListResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetChatMediaListResp) ProtoMessage() {} func (x *GetChatMediaListResp) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 GetChatMediaListResp.ProtoReflect.Descriptor instead. func (*GetChatMediaListResp) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{113} } func (x *GetChatMediaListResp) GetList() []*ChatMediaData { if x != nil { return x.List } return nil } func (x *GetChatMediaListResp) GetPage() int64 { if x != nil { return x.Page } return 0 } func (x *GetChatMediaListResp) GetPageSize() int64 { if x != nil { return x.PageSize } return 0 } func (x *GetChatMediaListResp) GetTotal() int64 { if x != nil { return x.Total } return 0 } type GetChatUserListRequest2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Page int64 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"` PageSize int64 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize,omitempty"` Where string `protobuf:"bytes,3,opt,name=where,proto3" json:"where,omitempty"` Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` UserIdIn []int64 `protobuf:"varint,5,rep,packed,name=userIdIn,proto3" json:"userIdIn,omitempty"` } func (x *GetChatUserListRequest2) Reset() { *x = GetChatUserListRequest2{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetChatUserListRequest2) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetChatUserListRequest2) ProtoMessage() {} func (x *GetChatUserListRequest2) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 GetChatUserListRequest2.ProtoReflect.Descriptor instead. func (*GetChatUserListRequest2) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{114} } func (x *GetChatUserListRequest2) GetPage() int64 { if x != nil { return x.Page } return 0 } func (x *GetChatUserListRequest2) GetPageSize() int64 { if x != nil { return x.PageSize } return 0 } func (x *GetChatUserListRequest2) GetWhere() string { if x != nil { return x.Where } return "" } func (x *GetChatUserListRequest2) GetName() string { if x != nil { return x.Name } return "" } func (x *GetChatUserListRequest2) GetUserIdIn() []int64 { if x != nil { return x.UserIdIn } return nil } type ChatUser2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Avatar string `protobuf:"bytes,3,opt,name=avatar,proto3" json:"avatar,omitempty"` Origin string `protobuf:"bytes,4,opt,name=origin,proto3" json:"origin,omitempty"` OriginId string `protobuf:"bytes,5,opt,name=originId,proto3" json:"originId,omitempty"` } func (x *ChatUser2) Reset() { *x = ChatUser2{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChatUser2) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChatUser2) ProtoMessage() {} func (x *ChatUser2) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 ChatUser2.ProtoReflect.Descriptor instead. func (*ChatUser2) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{115} } func (x *ChatUser2) GetUserId() int64 { if x != nil { return x.UserId } return 0 } func (x *ChatUser2) GetName() string { if x != nil { return x.Name } return "" } func (x *ChatUser2) GetAvatar() string { if x != nil { return x.Avatar } return "" } func (x *ChatUser2) GetOrigin() string { if x != nil { return x.Origin } return "" } func (x *ChatUser2) GetOriginId() string { if x != nil { return x.OriginId } return "" } type GetChatUserListResp2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*ChatUser2 `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` Page int64 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` PageSize int64 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` Total int64 `protobuf:"varint,4,opt,name=Total,proto3" json:"Total,omitempty"` Where string `protobuf:"bytes,5,opt,name=where,proto3" json:"where,omitempty"` } func (x *GetChatUserListResp2) Reset() { *x = GetChatUserListResp2{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetChatUserListResp2) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetChatUserListResp2) ProtoMessage() {} func (x *GetChatUserListResp2) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 GetChatUserListResp2.ProtoReflect.Descriptor instead. func (*GetChatUserListResp2) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{116} } func (x *GetChatUserListResp2) GetList() []*ChatUser2 { if x != nil { return x.List } return nil } func (x *GetChatUserListResp2) GetPage() int64 { if x != nil { return x.Page } return 0 } func (x *GetChatUserListResp2) GetPageSize() int64 { if x != nil { return x.PageSize } return 0 } func (x *GetChatUserListResp2) GetTotal() int64 { if x != nil { return x.Total } return 0 } func (x *GetChatUserListResp2) GetWhere() string { if x != nil { return x.Where } return "" } type ChatAutoReplyRulerData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` // CreatedAt string `protobuf:"bytes,2,opt,name=createdAt,proto3" json:"createdAt,omitempty"` // UpdatedAt string `protobuf:"bytes,3,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` // DeletedAt int64 `protobuf:"varint,4,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"` // Title string `protobuf:"bytes,5,opt,name=title,proto3" json:"title,omitempty"` //标题 Ruler string `protobuf:"bytes,6,opt,name=ruler,proto3" json:"ruler,omitempty"` //规则内容 RulerStatus int32 `protobuf:"varint,7,opt,name=rulerStatus,proto3" json:"rulerStatus,omitempty"` //规则状态: 1=启用 2=禁用 } func (x *ChatAutoReplyRulerData) Reset() { *x = ChatAutoReplyRulerData{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChatAutoReplyRulerData) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChatAutoReplyRulerData) ProtoMessage() {} func (x *ChatAutoReplyRulerData) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 ChatAutoReplyRulerData.ProtoReflect.Descriptor instead. func (*ChatAutoReplyRulerData) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{117} } func (x *ChatAutoReplyRulerData) GetID() int64 { if x != nil { return x.ID } return 0 } func (x *ChatAutoReplyRulerData) GetCreatedAt() string { if x != nil { return x.CreatedAt } return "" } func (x *ChatAutoReplyRulerData) GetUpdatedAt() string { if x != nil { return x.UpdatedAt } return "" } func (x *ChatAutoReplyRulerData) GetDeletedAt() int64 { if x != nil { return x.DeletedAt } return 0 } func (x *ChatAutoReplyRulerData) GetTitle() string { if x != nil { return x.Title } return "" } func (x *ChatAutoReplyRulerData) GetRuler() string { if x != nil { return x.Ruler } return "" } func (x *ChatAutoReplyRulerData) GetRulerStatus() int32 { if x != nil { return x.RulerStatus } return 0 } type CreateChatAutoReplyRulerResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data *ChatAutoReplyRulerData `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` } func (x *CreateChatAutoReplyRulerResp) Reset() { *x = CreateChatAutoReplyRulerResp{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateChatAutoReplyRulerResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateChatAutoReplyRulerResp) ProtoMessage() {} func (x *CreateChatAutoReplyRulerResp) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 CreateChatAutoReplyRulerResp.ProtoReflect.Descriptor instead. func (*CreateChatAutoReplyRulerResp) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{118} } func (x *CreateChatAutoReplyRulerResp) GetData() *ChatAutoReplyRulerData { if x != nil { return x.Data } return nil } func (x *CreateChatAutoReplyRulerResp) GetMsg() string { if x != nil { return x.Msg } return "" } type DeleteChatAutoReplyRulerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //二选一,数据id Ids []int64 `protobuf:"varint,2,rep,packed,name=ids,proto3" json:"ids,omitempty"` //二选一,数据id列表 } func (x *DeleteChatAutoReplyRulerRequest) Reset() { *x = DeleteChatAutoReplyRulerRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeleteChatAutoReplyRulerRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteChatAutoReplyRulerRequest) ProtoMessage() {} func (x *DeleteChatAutoReplyRulerRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 DeleteChatAutoReplyRulerRequest.ProtoReflect.Descriptor instead. func (*DeleteChatAutoReplyRulerRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{119} } func (x *DeleteChatAutoReplyRulerRequest) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *DeleteChatAutoReplyRulerRequest) GetIds() []int64 { if x != nil { return x.Ids } return nil } type GetChatAutoReplyRulerByIdRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //数据id } func (x *GetChatAutoReplyRulerByIdRequest) Reset() { *x = GetChatAutoReplyRulerByIdRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetChatAutoReplyRulerByIdRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetChatAutoReplyRulerByIdRequest) ProtoMessage() {} func (x *GetChatAutoReplyRulerByIdRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 GetChatAutoReplyRulerByIdRequest.ProtoReflect.Descriptor instead. func (*GetChatAutoReplyRulerByIdRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{120} } func (x *GetChatAutoReplyRulerByIdRequest) GetId() int64 { if x != nil { return x.Id } return 0 } type GetChatAutoReplyRulerListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Query *ChatAutoReplyRulerData `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` Page int64 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` PageSize int64 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` Where string `protobuf:"bytes,4,opt,name=where,proto3" json:"where,omitempty"` Order string `protobuf:"bytes,5,opt,name=order,proto3" json:"order,omitempty"` } func (x *GetChatAutoReplyRulerListRequest) Reset() { *x = GetChatAutoReplyRulerListRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetChatAutoReplyRulerListRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetChatAutoReplyRulerListRequest) ProtoMessage() {} func (x *GetChatAutoReplyRulerListRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 GetChatAutoReplyRulerListRequest.ProtoReflect.Descriptor instead. func (*GetChatAutoReplyRulerListRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{121} } func (x *GetChatAutoReplyRulerListRequest) GetQuery() *ChatAutoReplyRulerData { if x != nil { return x.Query } return nil } func (x *GetChatAutoReplyRulerListRequest) GetPage() int64 { if x != nil { return x.Page } return 0 } func (x *GetChatAutoReplyRulerListRequest) GetPageSize() int64 { if x != nil { return x.PageSize } return 0 } func (x *GetChatAutoReplyRulerListRequest) GetWhere() string { if x != nil { return x.Where } return "" } func (x *GetChatAutoReplyRulerListRequest) GetOrder() string { if x != nil { return x.Order } return "" } type GetChatAutoReplyRulerListResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*ChatAutoReplyRulerData `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` Page int64 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` PageSize int64 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` Total int64 `protobuf:"varint,4,opt,name=Total,proto3" json:"Total,omitempty"` } func (x *GetChatAutoReplyRulerListResp) Reset() { *x = GetChatAutoReplyRulerListResp{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetChatAutoReplyRulerListResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetChatAutoReplyRulerListResp) ProtoMessage() {} func (x *GetChatAutoReplyRulerListResp) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 GetChatAutoReplyRulerListResp.ProtoReflect.Descriptor instead. func (*GetChatAutoReplyRulerListResp) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{122} } func (x *GetChatAutoReplyRulerListResp) GetList() []*ChatAutoReplyRulerData { if x != nil { return x.List } return nil } func (x *GetChatAutoReplyRulerListResp) GetPage() int64 { if x != nil { return x.Page } return 0 } func (x *GetChatAutoReplyRulerListResp) GetPageSize() int64 { if x != nil { return x.PageSize } return 0 } func (x *GetChatAutoReplyRulerListResp) GetTotal() int64 { if x != nil { return x.Total } return 0 } type ChatUserData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` // CreatedAt string `protobuf:"bytes,2,opt,name=createdAt,proto3" json:"createdAt,omitempty"` // UpdatedAt string `protobuf:"bytes,3,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` // DeletedAt int64 `protobuf:"varint,4,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"` // NickName string `protobuf:"bytes,5,opt,name=nickName,proto3" json:"nickName,omitempty"` //昵称 Account string `protobuf:"bytes,6,opt,name=account,proto3" json:"account,omitempty"` //账号 Role int32 `protobuf:"varint,7,opt,name=role,proto3" json:"role,omitempty"` //聊天角色 1=用户 2=客服 Origin string `protobuf:"bytes,8,opt,name=origin,proto3" json:"origin,omitempty"` //数据来源 OriginId int64 `protobuf:"varint,9,opt,name=originId,proto3" json:"originId,omitempty"` //数据来源对应的用户ID Avatar string `protobuf:"bytes,10,opt,name=avatar,proto3" json:"avatar,omitempty"` //头像 } func (x *ChatUserData) Reset() { *x = ChatUserData{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChatUserData) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChatUserData) ProtoMessage() {} func (x *ChatUserData) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 ChatUserData.ProtoReflect.Descriptor instead. func (*ChatUserData) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{123} } func (x *ChatUserData) GetID() int64 { if x != nil { return x.ID } return 0 } func (x *ChatUserData) GetCreatedAt() string { if x != nil { return x.CreatedAt } return "" } func (x *ChatUserData) GetUpdatedAt() string { if x != nil { return x.UpdatedAt } return "" } func (x *ChatUserData) GetDeletedAt() int64 { if x != nil { return x.DeletedAt } return 0 } func (x *ChatUserData) GetNickName() string { if x != nil { return x.NickName } return "" } func (x *ChatUserData) GetAccount() string { if x != nil { return x.Account } return "" } func (x *ChatUserData) GetRole() int32 { if x != nil { return x.Role } return 0 } func (x *ChatUserData) GetOrigin() string { if x != nil { return x.Origin } return "" } func (x *ChatUserData) GetOriginId() int64 { if x != nil { return x.OriginId } return 0 } func (x *ChatUserData) GetAvatar() string { if x != nil { return x.Avatar } return "" } type CreateChatUserResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data *ChatUserData `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` } func (x *CreateChatUserResp) Reset() { *x = CreateChatUserResp{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateChatUserResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateChatUserResp) ProtoMessage() {} func (x *CreateChatUserResp) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 CreateChatUserResp.ProtoReflect.Descriptor instead. func (*CreateChatUserResp) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{124} } func (x *CreateChatUserResp) GetData() *ChatUserData { if x != nil { return x.Data } return nil } func (x *CreateChatUserResp) GetMsg() string { if x != nil { return x.Msg } return "" } type DeleteChatUserRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //二选一,数据id Ids []int64 `protobuf:"varint,2,rep,packed,name=ids,proto3" json:"ids,omitempty"` //二选一,数据id列表 } func (x *DeleteChatUserRequest) Reset() { *x = DeleteChatUserRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeleteChatUserRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteChatUserRequest) ProtoMessage() {} func (x *DeleteChatUserRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 DeleteChatUserRequest.ProtoReflect.Descriptor instead. func (*DeleteChatUserRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{125} } func (x *DeleteChatUserRequest) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *DeleteChatUserRequest) GetIds() []int64 { if x != nil { return x.Ids } return nil } type GetChatUserByIdRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //数据id } func (x *GetChatUserByIdRequest) Reset() { *x = GetChatUserByIdRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetChatUserByIdRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetChatUserByIdRequest) ProtoMessage() {} func (x *GetChatUserByIdRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 GetChatUserByIdRequest.ProtoReflect.Descriptor instead. func (*GetChatUserByIdRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{126} } func (x *GetChatUserByIdRequest) GetId() int64 { if x != nil { return x.Id } return 0 } type GetChatUserListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Query *ChatUserData `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` Page int64 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` PageSize int64 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` Where string `protobuf:"bytes,4,opt,name=where,proto3" json:"where,omitempty"` Order string `protobuf:"bytes,5,opt,name=order,proto3" json:"order,omitempty"` } func (x *GetChatUserListRequest) Reset() { *x = GetChatUserListRequest{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetChatUserListRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetChatUserListRequest) ProtoMessage() {} func (x *GetChatUserListRequest) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 GetChatUserListRequest.ProtoReflect.Descriptor instead. func (*GetChatUserListRequest) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{127} } func (x *GetChatUserListRequest) GetQuery() *ChatUserData { if x != nil { return x.Query } return nil } func (x *GetChatUserListRequest) GetPage() int64 { if x != nil { return x.Page } return 0 } func (x *GetChatUserListRequest) GetPageSize() int64 { if x != nil { return x.PageSize } return 0 } func (x *GetChatUserListRequest) GetWhere() string { if x != nil { return x.Where } return "" } func (x *GetChatUserListRequest) GetOrder() string { if x != nil { return x.Order } return "" } type GetChatUserListResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*ChatUserData `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` Page int64 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` PageSize int64 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` Total int64 `protobuf:"varint,4,opt,name=Total,proto3" json:"Total,omitempty"` } func (x *GetChatUserListResp) Reset() { *x = GetChatUserListResp{} if protoimpl.UnsafeEnabled { mi := &file_accountFiee_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetChatUserListResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetChatUserListResp) ProtoMessage() {} func (x *GetChatUserListResp) ProtoReflect() protoreflect.Message { mi := &file_accountFiee_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 GetChatUserListResp.ProtoReflect.Descriptor instead. func (*GetChatUserListResp) Descriptor() ([]byte, []int) { return file_accountFiee_proto_rawDescGZIP(), []int{128} } func (x *GetChatUserListResp) GetList() []*ChatUserData { if x != nil { return x.List } return nil } func (x *GetChatUserListResp) GetPage() int64 { if x != nil { return x.Page } return 0 } func (x *GetChatUserListResp) GetPageSize() int64 { if x != nil { return x.PageSize } return 0 } func (x *GetChatUserListResp) GetTotal() int64 { if x != nil { return x.Total } return 0 } var File_accountFiee_proto protoreflect.FileDescriptor var file_accountFiee_proto_rawDesc = []byte{ 0x0a, 0x11, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x1a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x77, 0x69, 0x74, 0x6b, 0x6f, 0x77, 0x2f, 0x67, 0x6f, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x37, 0x0a, 0x19, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x22, 0x50, 0x0a, 0x1a, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xbe, 0x01, 0x0a, 0x14, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x39, 0x0a, 0x1b, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x22, 0x50, 0x0a, 0x1a, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x58, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x58, 0x22, 0xbb, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x53, 0x72, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x53, 0x72, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x72, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x72, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x59, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x59, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x61, 0x63, 0x65, 0x59, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x66, 0x61, 0x63, 0x65, 0x59, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x58, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x58, 0x22, 0xde, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x57, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x64, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22, 0x3f, 0x0a, 0x15, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x62, 0x0a, 0x14, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x70, 0x61, 0x73, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x22, 0x8f, 0x01, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x82, 0x05, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x4f, 0x66, 0x52, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x4f, 0x66, 0x52, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x64, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x65, 0x6c, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x6c, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x83, 0x02, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4f, 0x72, 0x4e, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4f, 0x72, 0x4e, 0x6f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xb2, 0x04, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x4f, 0x66, 0x52, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x4f, 0x66, 0x52, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x22, 0x3a, 0x0a, 0x10, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xc5, 0x02, 0x0a, 0x0f, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 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, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x4f, 0x66, 0x52, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x4f, 0x66, 0x52, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x50, 0x0a, 0x10, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x46, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x22, 0x6c, 0x0a, 0x24, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x6e, 0x65, 0x6c, 0x57, 0x69, 0x74, 0x68, 0x54, 0x68, 0x65, 0x53, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x53, 0x0a, 0x25, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x6e, 0x65, 0x6c, 0x57, 0x69, 0x74, 0x68, 0x54, 0x68, 0x65, 0x53, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xcc, 0x04, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x22, 0xe4, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x68, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x68, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x6f, 0x67, 0x49, 0x64, 0x22, 0x82, 0x01, 0x0a, 0x1c, 0x4d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x79, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2b, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xe2, 0xdf, 0x1f, 0x0b, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x35, 0x58, 0x01, 0x78, 0x14, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x5d, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x69, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x58, 0x0a, 0x12, 0x4d, 0x61, 0x69, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xac, 0x01, 0x0a, 0x14, 0x46, 0x64, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x22, 0x42, 0x0a, 0x14, 0x57, 0x78, 0x42, 0x6f, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x68, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x68, 0x49, 0x64, 0x22, 0x58, 0x0a, 0x18, 0x57, 0x78, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x68, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x68, 0x49, 0x64, 0x22, 0x33, 0x0a, 0x19, 0x57, 0x78, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x22, 0x33, 0x0a, 0x19, 0x57, 0x78, 0x42, 0x6f, 0x78, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x22, 0xc0, 0x01, 0x0a, 0x0d, 0x57, 0x78, 0x42, 0x6f, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x68, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x68, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x12, 0x29, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x03, 0x66, 0x64, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x46, 0x64, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x03, 0x66, 0x64, 0x64, 0x22, 0x7b, 0x0a, 0x07, 0x46, 0x64, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x22, 0xea, 0x02, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x44, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x44, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, 0x41, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, 0x41, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, 0x42, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, 0x42, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x22, 0x1f, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x22, 0x20, 0x0a, 0x0c, 0x57, 0x78, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x04, 0x47, 0x68, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x44, 0x22, 0x43, 0x0a, 0x0d, 0x57, 0x78, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x70, 0x70, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x70, 0x70, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x5b, 0x0a, 0x13, 0x57, 0x78, 0x55, 0x73, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x77, 0x78, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x18, 0xe2, 0xdf, 0x1f, 0x14, 0x2a, 0x10, 0xe7, 0xbc, 0xba, 0xe5, 0xb0, 0x91, 0xe5, 0x8f, 0x82, 0xe6, 0x95, 0xb0, 0x77, 0x78, 0x49, 0x44, 0x58, 0x01, 0x52, 0x04, 0x77, 0x78, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x73, 0x0a, 0x15, 0x57, 0x78, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x06, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x14, 0xe2, 0xdf, 0x1f, 0x10, 0x2a, 0x0c, 0xe7, 0xbc, 0xba, 0xe5, 0xb0, 0x91, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x58, 0x01, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x12, 0x2c, 0x0a, 0x04, 0x47, 0x68, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xe2, 0xdf, 0x1f, 0x14, 0x2a, 0x10, 0xe7, 0xbc, 0xba, 0xe5, 0xb0, 0x91, 0xe5, 0x8f, 0x82, 0xe6, 0x95, 0xb0, 0x67, 0x68, 0x69, 0x64, 0x58, 0x01, 0x52, 0x04, 0x67, 0x68, 0x49, 0x44, 0x22, 0x80, 0x01, 0x0a, 0x0e, 0x57, 0x78, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x47, 0x68, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x68, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x3e, 0x0a, 0x11, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x9c, 0x02, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x61, 0x73, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x3e, 0x0a, 0x14, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4c, 0x6f, 0x67, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x22, 0x4b, 0x0a, 0x19, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0xca, 0x01, 0x0a, 0x17, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x65, 0x77, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x24, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x14, 0xe2, 0xdf, 0x1f, 0x10, 0x2a, 0x0c, 0xe7, 0xbc, 0xba, 0xe5, 0xb0, 0x91, 0xe5, 0x8f, 0x82, 0xe6, 0x95, 0xb0, 0x58, 0x01, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x65, 0x77, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x22, 0x4b, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x54, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x65, 0x6c, 0x22, 0x10, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x54, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x6c, 0x73, 0x22, 0xdd, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x49, 0x44, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x03, 0x49, 0x44, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xd9, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x22, 0xed, 0x01, 0x0a, 0x14, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2e, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x16, 0xe2, 0xdf, 0x1f, 0x12, 0x0a, 0x09, 0x5e, 0x31, 0x5c, 0x64, 0x7b, 0x31, 0x30, 0x7d, 0x24, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x32, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x72, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x69, 0x67, 0x4e, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x69, 0x67, 0x4e, 0x6f, 0x22, 0x9d, 0x01, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x21, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x33, 0x58, 0x01, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x10, 0x00, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x34, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x93, 0x03, 0x0a, 0x0f, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x69, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x74, 0x65, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x69, 0x74, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x75, 0x74, 0x68, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x44, 0x61, 0x74, 0x65, 0x22, 0xd5, 0x01, 0x0a, 0x13, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x74, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x69, 0x74, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x40, 0x0a, 0x16, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x6e, 0x0a, 0x14, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x40, 0x0a, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x10, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x2e, 0x0a, 0x08, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x55, 0x55, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x55, 0x55, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x10, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x0a, 0x12, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xf2, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x5a, 0x0a, 0x0b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x22, 0x75, 0x0a, 0x0c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x22, 0x90, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x73, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x41, 0x0a, 0x11, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x43, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x77, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x67, 0x0a, 0x15, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x49, 0x44, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0e, 0xe2, 0xdf, 0x1f, 0x0a, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x36, 0x80, 0x01, 0x12, 0x52, 0x05, 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x51, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x22, 0xc7, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x65, 0x6c, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x6c, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xd1, 0x01, 0x0a, 0x0c, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x65, 0x6c, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x6c, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xc6, 0x01, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x28, 0x0a, 0x0f, 0x49, 0x73, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x6f, 0x77, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, 0x77, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x78, 0x0a, 0x06, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x4a, 0x75, 0x6d, 0x70, 0x54, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x75, 0x6d, 0x70, 0x54, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x61, 0x6e, 0x53, 0x63, 0x61, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x61, 0x6e, 0x53, 0x63, 0x61, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x22, 0x30, 0x0a, 0x0a, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xb9, 0x0a, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x44, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x44, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x49, 0x73, 0x4e, 0x65, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x69, 0x73, 0x4e, 0x65, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x57, 0x6f, 0x72, 0x6b, 0x59, 0x65, 0x61, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x59, 0x65, 0x61, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2b, 0x0a, 0x06, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x06, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x1d, 0x0a, 0x09, 0x42, 0x69, 0x72, 0x74, 0x68, 0x44, 0x61, 0x74, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x69, 0x72, 0x74, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x41, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x53, 0x65, 0x78, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x39, 0x0a, 0x0b, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x77, 0x4c, 0x6f, 0x67, 0x49, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6e, 0x6f, 0x77, 0x4c, 0x6f, 0x67, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x61, 0x6e, 0x53, 0x63, 0x61, 0x6e, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x61, 0x6e, 0x53, 0x63, 0x61, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x65, 0x66, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x65, 0x66, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x09, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x67, 0x12, 0x2e, 0x0a, 0x06, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x06, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x22, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x43, 0x4e, 0x75, 0x6d, 0x18, 0x23, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x39, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x18, 0x27, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x12, 0x31, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x29, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, 0x22, 0xdc, 0x03, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x32, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x44, 0x4e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x49, 0x44, 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x06, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x61, 0x0a, 0x13, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x22, 0xfa, 0x01, 0x0a, 0x0c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x46, 0x0a, 0x14, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x78, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x22, 0x25, 0x0a, 0x13, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x2a, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0xc8, 0x01, 0x0a, 0x16, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x04, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x61, 0x0a, 0x17, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xf7, 0x01, 0x0a, 0x09, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x34, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x80, 0x02, 0x0a, 0x0f, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x2d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x6c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x5e, 0x0a, 0x17, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x6c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa0, 0x01, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x22, 0x58, 0x0a, 0x16, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x5b, 0x0a, 0x15, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x42, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, 0x4f, 0x0a, 0x16, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc0, 0x01, 0x0a, 0x14, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x98, 0x04, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x73, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x73, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x61, 0x72, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x72, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x57, 0x6f, 0x72, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x57, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x71, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x71, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x65, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x56, 0x69, 0x73, 0x69, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x56, 0x69, 0x73, 0x69, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x54, 0x65, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x54, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x4f, 0x66, 0x50, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x4f, 0x66, 0x50, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x22, 0xdb, 0x01, 0x0a, 0x0b, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x5b, 0x0a, 0x14, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x93, 0x01, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x22, 0x1d, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xb2, 0x03, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x2e, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x06, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x77, 0x61, 0x69, 0x74, 0x65, 0x72, 0x52, 0x65, 0x61, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x77, 0x61, 0x69, 0x74, 0x65, 0x72, 0x52, 0x65, 0x61, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x59, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2f, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x3b, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x2a, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0xa9, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x68, 0x65, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x77, 0x68, 0x65, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x8e, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2f, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0xd9, 0x01, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x61, 0x69, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x12, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x61, 0x69, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0xfb, 0x01, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x64, 0x35, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x64, 0x35, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x65, 0x78, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x76, 0x54, 0x65, 0x78, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x76, 0x54, 0x65, 0x78, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x57, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x3a, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x29, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0xa7, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x68, 0x65, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x77, 0x68, 0x65, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x8c, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x8f, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x32, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x68, 0x65, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x77, 0x68, 0x65, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x49, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x03, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x49, 0x6e, 0x22, 0x83, 0x01, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x9e, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x32, 0x12, 0x2a, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x32, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x68, 0x65, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x77, 0x68, 0x65, 0x72, 0x65, 0x22, 0xd0, 0x01, 0x0a, 0x16, 0x43, 0x68, 0x61, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x69, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x37, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x43, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x32, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0xb9, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x68, 0x65, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x77, 0x68, 0x65, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x9e, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x37, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x8e, 0x02, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x22, 0x55, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x39, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x28, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0xa5, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x68, 0x65, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x77, 0x68, 0x65, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x8a, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x2a, 0x72, 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x10, 0x05, 0x32, 0xeb, 0x2b, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x06, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x12, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x07, 0x4f, 0x66, 0x66, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x1a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x09, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4c, 0x6f, 0x67, 0x12, 0x26, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0d, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4c, 0x6f, 0x67, 0x42, 0x79, 0x49, 0x64, 0x12, 0x21, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4c, 0x6f, 0x67, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x08, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x77, 0x64, 0x12, 0x1c, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x77, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x07, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x12, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x58, 0x0a, 0x0d, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x12, 0x21, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x78, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x12, 0x21, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x08, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x73, 0x67, 0x12, 0x1c, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x65, 0x77, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x4d, 0x73, 0x67, 0x12, 0x24, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x65, 0x77, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x65, 0x77, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0a, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4a, 0x77, 0x74, 0x12, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x79, 0x49, 0x44, 0x73, 0x12, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x1a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x54, 0x65, 0x6c, 0x12, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x54, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x54, 0x65, 0x6c, 0x12, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x54, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x0b, 0x4f, 0x6e, 0x6c, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x12, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0c, 0x4f, 0x6e, 0x6c, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x73, 0x67, 0x12, 0x1c, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x15, 0x4d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x79, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x79, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4d, 0x61, 0x69, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x06, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x32, 0x12, 0x1a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x6e, 0x65, 0x6c, 0x57, 0x69, 0x74, 0x68, 0x54, 0x68, 0x65, 0x53, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x6e, 0x65, 0x6c, 0x57, 0x69, 0x74, 0x68, 0x54, 0x68, 0x65, 0x53, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x6e, 0x65, 0x6c, 0x57, 0x69, 0x74, 0x68, 0x54, 0x68, 0x65, 0x53, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x21, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x08, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x58, 0x0a, 0x0d, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x15, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x12, 0x29, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x13, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x12, 0x27, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x58, 0x0a, 0x0d, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x12, 0x21, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x12, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0e, 0x53, 0x61, 0x76, 0x65, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x1f, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0c, 0x53, 0x61, 0x76, 0x65, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x23, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x32, 0x12, 0x24, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x32, 0x1a, 0x21, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x32, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x61, 0x69, 0x74, 0x65, 0x72, 0x12, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x61, 0x69, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x61, 0x69, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x21, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0e, 0x53, 0x61, 0x76, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x24, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x25, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x12, 0x1a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x20, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x12, 0x1a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0d, 0x53, 0x61, 0x76, 0x65, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x12, 0x1a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x12, 0x23, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x22, 0x00, 0x12, 0x58, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x24, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x23, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x29, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x59, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x23, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x16, 0x53, 0x61, 0x76, 0x65, 0x43, 0x68, 0x61, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x23, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x2d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x22, 0x00, 0x12, 0x78, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x42, 0x10, 0x5a, 0x0e, 0x2e, 0x2f, 0x3b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_accountFiee_proto_rawDescOnce sync.Once file_accountFiee_proto_rawDescData = file_accountFiee_proto_rawDesc ) func file_accountFiee_proto_rawDescGZIP() []byte { file_accountFiee_proto_rawDescOnce.Do(func() { file_accountFiee_proto_rawDescData = protoimpl.X.CompressGZIP(file_accountFiee_proto_rawDescData) }) return file_accountFiee_proto_rawDescData } var file_accountFiee_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_accountFiee_proto_msgTypes = make([]protoimpl.MessageInfo, 129) var file_accountFiee_proto_goTypes = []interface{}{ (MsgType)(0), // 0: accountFiee.MsgType (*VerifySliderStatusRequest)(nil), // 1: accountFiee.VerifySliderStatusRequest (*VerifySliderStatusResponse)(nil), // 2: accountFiee.VerifySliderStatusResponse (*SendNationMsgRequest)(nil), // 3: accountFiee.SendNationMsgRequest (*VerifySliderCaptchaResponse)(nil), // 4: accountFiee.VerifySliderCaptchaResponse (*VerifySliderCaptchaRequest)(nil), // 5: accountFiee.VerifySliderCaptchaRequest (*GenerateSliderCaptchaResponse)(nil), // 6: accountFiee.GenerateSliderCaptchaResponse (*GenerateSliderCaptchaRequest)(nil), // 7: accountFiee.GenerateSliderCaptchaRequest (*CheckRealNameResponse)(nil), // 8: accountFiee.CheckRealNameResponse (*CheckRealNameRequest)(nil), // 9: accountFiee.CheckRealNameRequest (*UserListResponse)(nil), // 10: accountFiee.UserListResponse (*UserListInfo)(nil), // 11: accountFiee.UserListInfo (*UserListRequest)(nil), // 12: accountFiee.UserListRequest (*UserInfoResponse)(nil), // 13: accountFiee.UserInfoResponse (*RealNameResponse)(nil), // 14: accountFiee.RealNameResponse (*RealNameRequest)(nil), // 15: accountFiee.RealNameRequest (*RegisterResponse)(nil), // 16: accountFiee.RegisterResponse (*UsersByJobNumRequest)(nil), // 17: accountFiee.UsersByJobNumRequest (*QueryPersonnelWithTheSameNameRequest)(nil), // 18: accountFiee.QueryPersonnelWithTheSameNameRequest (*QueryPersonnelWithTheSameNameResponse)(nil), // 19: accountFiee.QueryPersonnelWithTheSameNameResponse (*ListV2Request)(nil), // 20: accountFiee.ListV2Request (*SendClockInWechatRequest)(nil), // 21: accountFiee.SendClockInWechatRequest (*MailAccountByNickNameRequest)(nil), // 22: accountFiee.MailAccountByNickNameRequest (*CreateMaiAccountRequest)(nil), // 23: accountFiee.CreateMaiAccountRequest (*MaiAccountResponse)(nil), // 24: accountFiee.MaiAccountResponse (*FddCreateUserRequest)(nil), // 25: accountFiee.FddCreateUserRequest (*WxBoxUserInfoRequest)(nil), // 26: accountFiee.WxBoxUserInfoRequest (*WxGetOpenIdByCodeRequest)(nil), // 27: accountFiee.WxGetOpenIdByCodeRequest (*WxGetOpenIdByCodeResponse)(nil), // 28: accountFiee.WxGetOpenIdByCodeResponse (*WxBoxTelNumByCodeResponse)(nil), // 29: accountFiee.WxBoxTelNumByCodeResponse (*WxBoxUserInfo)(nil), // 30: accountFiee.WxBoxUserInfo (*FddInfo)(nil), // 31: accountFiee.FddInfo (*UserInfo)(nil), // 32: accountFiee.UserInfo (*CommonRequest)(nil), // 33: accountFiee.CommonRequest (*WxAppRequest)(nil), // 34: accountFiee.WxAppRequest (*WxAppResponse)(nil), // 35: accountFiee.WxAppResponse (*WxUserUpdateRequest)(nil), // 36: accountFiee.WxUserUpdateRequest (*WxUserOrCreateRequest)(nil), // 37: accountFiee.WxUserOrCreateRequest (*WxUserResponse)(nil), // 38: accountFiee.WxUserResponse (*LoginLogsResponse)(nil), // 39: accountFiee.LoginLogsResponse (*LoginLog)(nil), // 40: accountFiee.LoginLog (*OnlineLogByIdRequest)(nil), // 41: accountFiee.OnlineLogByIdRequest (*LoginInfosByUserIdRequest)(nil), // 42: accountFiee.LoginInfosByUserIdRequest (*SendNewTelNumMsgRequest)(nil), // 43: accountFiee.SendNewTelNumMsgRequest (*UserByTelRequest)(nil), // 44: accountFiee.UserByTelRequest (*CommonResponse)(nil), // 45: accountFiee.CommonResponse (*UsersByTelRequest)(nil), // 46: accountFiee.UsersByTelRequest (*ListByIDsRequest)(nil), // 47: accountFiee.ListByIDsRequest (*SendMsgRequest)(nil), // 48: accountFiee.SendMsgRequest (*SendCustomMsgRequest)(nil), // 49: accountFiee.SendCustomMsgRequest (*CheckMsgRequest)(nil), // 50: accountFiee.CheckMsgRequest (*SendMsgStatusResponse)(nil), // 51: accountFiee.SendMsgStatusResponse (*RemoveRequest)(nil), // 52: accountFiee.RemoveRequest (*WriteOffRequest)(nil), // 53: accountFiee.WriteOffRequest (*WriteOffListRequest)(nil), // 54: accountFiee.WriteOffListRequest (*WriteOffApproveRequest)(nil), // 55: accountFiee.WriteOffApproveRequest (*WriteOffListResponse)(nil), // 56: accountFiee.WriteOffListResponse (*RemoveResponse)(nil), // 57: accountFiee.RemoveResponse (*UpdateRequest)(nil), // 58: accountFiee.UpdateRequest (*Operator)(nil), // 59: accountFiee.Operator (*TrainVideo)(nil), // 60: accountFiee.trainVideo (*UpdateResponse)(nil), // 61: accountFiee.UpdateResponse (*PrivacyInfoRequest)(nil), // 62: accountFiee.PrivacyInfoRequest (*ListRequest)(nil), // 63: accountFiee.ListRequest (*ListResponse)(nil), // 64: accountFiee.ListResponse (*InfoRequest)(nil), // 65: accountFiee.InfoRequest (*InfoResponse)(nil), // 66: accountFiee.InfoResponse (*DecryptJwtResponse)(nil), // 67: accountFiee.DecryptJwtResponse (*DecryptJwtRequest)(nil), // 68: accountFiee.DecryptJwtRequest (*CheckPwdRequest)(nil), // 69: accountFiee.CheckPwdRequest (*AuthenticationRequest)(nil), // 70: accountFiee.AuthenticationRequest (*RequestStatus)(nil), // 71: accountFiee.RequestStatus (*RegistRequest)(nil), // 72: accountFiee.RegistRequest (*LoginRequest)(nil), // 73: accountFiee.LoginRequest (*TokenInfo)(nil), // 74: accountFiee.TokenInfo (*Extend)(nil), // 75: accountFiee.Extend (*Department)(nil), // 76: accountFiee.Department (*AccountInfo)(nil), // 77: accountFiee.AccountInfo (*UserInfoV2)(nil), // 78: accountFiee.UserInfoV2 (*RefreshTokenRequest)(nil), // 79: accountFiee.RefreshTokenRequest (*PositionUser)(nil), // 80: accountFiee.PositionUser (*JobNumGetInfoRequest)(nil), // 81: accountFiee.JobNumGetInfoRequest (*CreateClockDeviceRequest)(nil), // 82: accountFiee.CreateClockDeviceRequest (*UpdateClockDeviceRequest)(nil), // 83: accountFiee.UpdateClockDeviceRequest (*ClockDeviceResponse)(nil), // 84: accountFiee.ClockDeviceResponse (*RemoveClockDeviceRequest)(nil), // 85: accountFiee.RemoveClockDeviceRequest (*ClockDeviceListRequest)(nil), // 86: accountFiee.ClockDeviceListRequest (*ClockDeviceListResponse)(nil), // 87: accountFiee.ClockDeviceListResponse (*ClockUser)(nil), // 88: accountFiee.ClockUser (*ClockDeviceInfo)(nil), // 89: accountFiee.ClockDeviceInfo (*ClockDeviceInfoResponse)(nil), // 90: accountFiee.ClockDeviceInfoResponse (*ClockUserRel)(nil), // 91: accountFiee.ClockUserRel (*ClockDeviceInfoRequest)(nil), // 92: accountFiee.ClockDeviceInfoRequest (*ClockBatchBindRequest)(nil), // 93: accountFiee.ClockBatchBindRequest (*ClockBatchListResponse)(nil), // 94: accountFiee.ClockBatchListResponse (*ClockUserDeviceBatch)(nil), // 95: accountFiee.ClockUserDeviceBatch (*ClockLogInfo)(nil), // 96: accountFiee.ClockLogInfo (*ClockLogReq)(nil), // 97: accountFiee.ClockLogReq (*ClockLogListResponse)(nil), // 98: accountFiee.ClockLogListResponse (*SubmitInfoRequest)(nil), // 99: accountFiee.SubmitInfoRequest (*CommonMsg)(nil), // 100: accountFiee.CommonMsg (*ChatRecordData)(nil), // 101: accountFiee.ChatRecordData (*CreateChatRecordResp)(nil), // 102: accountFiee.CreateChatRecordResp (*DeleteChatRecordRequest)(nil), // 103: accountFiee.DeleteChatRecordRequest (*GetChatRecordByIdRequest)(nil), // 104: accountFiee.GetChatRecordByIdRequest (*GetChatRecordListRequest)(nil), // 105: accountFiee.GetChatRecordListRequest (*GetChatRecordListResp)(nil), // 106: accountFiee.GetChatRecordListResp (*RegisterWaiterRequest)(nil), // 107: accountFiee.RegisterWaiterRequest (*RegisterWaiterResp)(nil), // 108: accountFiee.RegisterWaiterResp (*ChatMediaData)(nil), // 109: accountFiee.ChatMediaData (*CreateChatMediaResp)(nil), // 110: accountFiee.CreateChatMediaResp (*DeleteChatMediaRequest)(nil), // 111: accountFiee.DeleteChatMediaRequest (*GetChatMediaByIdRequest)(nil), // 112: accountFiee.GetChatMediaByIdRequest (*GetChatMediaListRequest)(nil), // 113: accountFiee.GetChatMediaListRequest (*GetChatMediaListResp)(nil), // 114: accountFiee.GetChatMediaListResp (*GetChatUserListRequest2)(nil), // 115: accountFiee.GetChatUserListRequest2 (*ChatUser2)(nil), // 116: accountFiee.ChatUser2 (*GetChatUserListResp2)(nil), // 117: accountFiee.GetChatUserListResp2 (*ChatAutoReplyRulerData)(nil), // 118: accountFiee.ChatAutoReplyRulerData (*CreateChatAutoReplyRulerResp)(nil), // 119: accountFiee.CreateChatAutoReplyRulerResp (*DeleteChatAutoReplyRulerRequest)(nil), // 120: accountFiee.DeleteChatAutoReplyRulerRequest (*GetChatAutoReplyRulerByIdRequest)(nil), // 121: accountFiee.GetChatAutoReplyRulerByIdRequest (*GetChatAutoReplyRulerListRequest)(nil), // 122: accountFiee.GetChatAutoReplyRulerListRequest (*GetChatAutoReplyRulerListResp)(nil), // 123: accountFiee.GetChatAutoReplyRulerListResp (*ChatUserData)(nil), // 124: accountFiee.ChatUserData (*CreateChatUserResp)(nil), // 125: accountFiee.CreateChatUserResp (*DeleteChatUserRequest)(nil), // 126: accountFiee.DeleteChatUserRequest (*GetChatUserByIdRequest)(nil), // 127: accountFiee.GetChatUserByIdRequest (*GetChatUserListRequest)(nil), // 128: accountFiee.GetChatUserListRequest (*GetChatUserListResp)(nil), // 129: accountFiee.GetChatUserListResp } var file_accountFiee_proto_depIdxs = []int32{ 11, // 0: accountFiee.UserListResponse.userList:type_name -> accountFiee.UserListInfo 32, // 1: accountFiee.WxBoxUserInfo.user:type_name -> accountFiee.UserInfo 31, // 2: accountFiee.WxBoxUserInfo.fdd:type_name -> accountFiee.FddInfo 40, // 3: accountFiee.LoginLogsResponse.Data:type_name -> accountFiee.LoginLog 53, // 4: accountFiee.WriteOffListResponse.writeOffList:type_name -> accountFiee.WriteOffRequest 77, // 5: accountFiee.ListResponse.Data:type_name -> accountFiee.AccountInfo 77, // 6: accountFiee.InfoResponse.Info:type_name -> accountFiee.AccountInfo 77, // 7: accountFiee.TokenInfo.AccountInfo:type_name -> accountFiee.AccountInfo 75, // 8: accountFiee.AccountInfo.Extend:type_name -> accountFiee.Extend 76, // 9: accountFiee.AccountInfo.Departments:type_name -> accountFiee.Department 80, // 10: accountFiee.AccountInfo.Positions:type_name -> accountFiee.PositionUser 88, // 11: accountFiee.AccountInfo.clocks:type_name -> accountFiee.ClockUser 60, // 12: accountFiee.AccountInfo.TrainVideos:type_name -> accountFiee.trainVideo 59, // 13: accountFiee.AccountInfo.operator:type_name -> accountFiee.Operator 75, // 14: accountFiee.UserInfoV2.Extend:type_name -> accountFiee.Extend 59, // 15: accountFiee.UserInfoV2.operator:type_name -> accountFiee.Operator 89, // 16: accountFiee.ClockDeviceListResponse.data:type_name -> accountFiee.ClockDeviceInfo 89, // 17: accountFiee.ClockUser.device:type_name -> accountFiee.ClockDeviceInfo 91, // 18: accountFiee.ClockDeviceInfo.data:type_name -> accountFiee.ClockUserRel 91, // 19: accountFiee.ClockDeviceInfoResponse.data:type_name -> accountFiee.ClockUserRel 95, // 20: accountFiee.ClockBatchListResponse.data:type_name -> accountFiee.ClockUserDeviceBatch 96, // 21: accountFiee.ClockLogListResponse.data:type_name -> accountFiee.ClockLogInfo 0, // 22: accountFiee.ChatRecordData.msgType:type_name -> accountFiee.MsgType 109, // 23: accountFiee.ChatRecordData.medias:type_name -> accountFiee.ChatMediaData 101, // 24: accountFiee.CreateChatRecordResp.data:type_name -> accountFiee.ChatRecordData 101, // 25: accountFiee.GetChatRecordListRequest.query:type_name -> accountFiee.ChatRecordData 101, // 26: accountFiee.GetChatRecordListResp.list:type_name -> accountFiee.ChatRecordData 109, // 27: accountFiee.CreateChatMediaResp.data:type_name -> accountFiee.ChatMediaData 109, // 28: accountFiee.GetChatMediaListRequest.query:type_name -> accountFiee.ChatMediaData 109, // 29: accountFiee.GetChatMediaListResp.list:type_name -> accountFiee.ChatMediaData 116, // 30: accountFiee.GetChatUserListResp2.list:type_name -> accountFiee.ChatUser2 118, // 31: accountFiee.CreateChatAutoReplyRulerResp.data:type_name -> accountFiee.ChatAutoReplyRulerData 118, // 32: accountFiee.GetChatAutoReplyRulerListRequest.query:type_name -> accountFiee.ChatAutoReplyRulerData 118, // 33: accountFiee.GetChatAutoReplyRulerListResp.list:type_name -> accountFiee.ChatAutoReplyRulerData 124, // 34: accountFiee.CreateChatUserResp.data:type_name -> accountFiee.ChatUserData 124, // 35: accountFiee.GetChatUserListRequest.query:type_name -> accountFiee.ChatUserData 124, // 36: accountFiee.GetChatUserListResp.list:type_name -> accountFiee.ChatUserData 73, // 37: accountFiee.AccountFiee.Login:input_type -> accountFiee.LoginRequest 79, // 38: accountFiee.AccountFiee.RefreshToken:input_type -> accountFiee.RefreshTokenRequest 68, // 39: accountFiee.AccountFiee.Logout:input_type -> accountFiee.DecryptJwtRequest 33, // 40: accountFiee.AccountFiee.OffLine:input_type -> accountFiee.CommonRequest 42, // 41: accountFiee.AccountFiee.OnlineLog:input_type -> accountFiee.LoginInfosByUserIdRequest 41, // 42: accountFiee.AccountFiee.OnlineLogById:input_type -> accountFiee.OnlineLogByIdRequest 69, // 43: accountFiee.AccountFiee.CheckPwd:input_type -> accountFiee.CheckPwdRequest 48, // 44: accountFiee.AccountFiee.SendMsg:input_type -> accountFiee.SendMsgRequest 49, // 45: accountFiee.AccountFiee.SendCustomMsg:input_type -> accountFiee.SendCustomMsgRequest 49, // 46: accountFiee.AccountFiee.SendExCustomMsg:input_type -> accountFiee.SendCustomMsgRequest 48, // 47: accountFiee.AccountFiee.SendMsgRegister:input_type -> accountFiee.SendMsgRequest 50, // 48: accountFiee.AccountFiee.CheckMsg:input_type -> accountFiee.CheckMsgRequest 43, // 49: accountFiee.AccountFiee.SendNewTelNumMsg:input_type -> accountFiee.SendNewTelNumMsgRequest 43, // 50: accountFiee.AccountFiee.UpdateTelNum:input_type -> accountFiee.SendNewTelNumMsgRequest 70, // 51: accountFiee.AccountFiee.Authentication:input_type -> accountFiee.AuthenticationRequest 68, // 52: accountFiee.AccountFiee.DecryptJwt:input_type -> accountFiee.DecryptJwtRequest 65, // 53: accountFiee.AccountFiee.Info:input_type -> accountFiee.InfoRequest 81, // 54: accountFiee.AccountFiee.JobNumGetInfo:input_type -> accountFiee.JobNumGetInfoRequest 63, // 55: accountFiee.AccountFiee.List:input_type -> accountFiee.ListRequest 63, // 56: accountFiee.AccountFiee.RandList:input_type -> accountFiee.ListRequest 47, // 57: accountFiee.AccountFiee.ListByIDs:input_type -> accountFiee.ListByIDsRequest 52, // 58: accountFiee.AccountFiee.Remove:input_type -> accountFiee.RemoveRequest 58, // 59: accountFiee.AccountFiee.Update:input_type -> accountFiee.UpdateRequest 46, // 60: accountFiee.AccountFiee.UsersByTel:input_type -> accountFiee.UsersByTelRequest 44, // 61: accountFiee.AccountFiee.UserByTel:input_type -> accountFiee.UserByTelRequest 48, // 62: accountFiee.AccountFiee.OnlySendMsg:input_type -> accountFiee.SendMsgRequest 50, // 63: accountFiee.AccountFiee.OnlyCheckMsg:input_type -> accountFiee.CheckMsgRequest 22, // 64: accountFiee.AccountFiee.MailAccountByNickName:input_type -> accountFiee.MailAccountByNickNameRequest 20, // 65: accountFiee.AccountFiee.ListV2:input_type -> accountFiee.ListV2Request 18, // 66: accountFiee.AccountFiee.QueryPersonnelWithTheSameName:input_type -> accountFiee.QueryPersonnelWithTheSameNameRequest 17, // 67: accountFiee.AccountFiee.UsersByJobNum:input_type -> accountFiee.UsersByJobNumRequest 15, // 68: accountFiee.AccountFiee.RealName:input_type -> accountFiee.RealNameRequest 72, // 69: accountFiee.AccountFiee.Register:input_type -> accountFiee.RegistRequest 12, // 70: accountFiee.AccountFiee.UserList:input_type -> accountFiee.UserListRequest 9, // 71: accountFiee.AccountFiee.CheckRealName:input_type -> accountFiee.CheckRealNameRequest 7, // 72: accountFiee.AccountFiee.GenerateSliderCaptcha:input_type -> accountFiee.GenerateSliderCaptchaRequest 5, // 73: accountFiee.AccountFiee.VerifySliderCaptcha:input_type -> accountFiee.VerifySliderCaptchaRequest 3, // 74: accountFiee.AccountFiee.SendNationMsg:input_type -> accountFiee.SendNationMsgRequest 1, // 75: accountFiee.AccountFiee.VerifySliderStatus:input_type -> accountFiee.VerifySliderStatusRequest 99, // 76: accountFiee.AccountFiee.SaveSubmitInfo:input_type -> accountFiee.SubmitInfoRequest 124, // 77: accountFiee.AccountFiee.CreateChatUser:input_type -> accountFiee.ChatUserData 124, // 78: accountFiee.AccountFiee.UpdateChatUser:input_type -> accountFiee.ChatUserData 124, // 79: accountFiee.AccountFiee.SaveChatUser:input_type -> accountFiee.ChatUserData 126, // 80: accountFiee.AccountFiee.DeleteChatUser:input_type -> accountFiee.DeleteChatUserRequest 127, // 81: accountFiee.AccountFiee.GetChatUserDetail:input_type -> accountFiee.GetChatUserByIdRequest 128, // 82: accountFiee.AccountFiee.GetChatUserList:input_type -> accountFiee.GetChatUserListRequest 115, // 83: accountFiee.AccountFiee.GetChatUserList2:input_type -> accountFiee.GetChatUserListRequest2 107, // 84: accountFiee.AccountFiee.RegisterWaiter:input_type -> accountFiee.RegisterWaiterRequest 101, // 85: accountFiee.AccountFiee.CreateChatRecord:input_type -> accountFiee.ChatRecordData 101, // 86: accountFiee.AccountFiee.UpdateChatRecord:input_type -> accountFiee.ChatRecordData 101, // 87: accountFiee.AccountFiee.SaveChatRecord:input_type -> accountFiee.ChatRecordData 103, // 88: accountFiee.AccountFiee.DeleteChatRecord:input_type -> accountFiee.DeleteChatRecordRequest 104, // 89: accountFiee.AccountFiee.GetChatRecordDetail:input_type -> accountFiee.GetChatRecordByIdRequest 105, // 90: accountFiee.AccountFiee.GetChatRecordList:input_type -> accountFiee.GetChatRecordListRequest 109, // 91: accountFiee.AccountFiee.CreateChatMedia:input_type -> accountFiee.ChatMediaData 109, // 92: accountFiee.AccountFiee.UpdateChatMedia:input_type -> accountFiee.ChatMediaData 109, // 93: accountFiee.AccountFiee.SaveChatMedia:input_type -> accountFiee.ChatMediaData 111, // 94: accountFiee.AccountFiee.DeleteChatMedia:input_type -> accountFiee.DeleteChatMediaRequest 112, // 95: accountFiee.AccountFiee.GetChatMediaDetail:input_type -> accountFiee.GetChatMediaByIdRequest 113, // 96: accountFiee.AccountFiee.GetChatMediaList:input_type -> accountFiee.GetChatMediaListRequest 118, // 97: accountFiee.AccountFiee.CreateChatAutoReplyRuler:input_type -> accountFiee.ChatAutoReplyRulerData 118, // 98: accountFiee.AccountFiee.UpdateChatAutoReplyRuler:input_type -> accountFiee.ChatAutoReplyRulerData 118, // 99: accountFiee.AccountFiee.SaveChatAutoReplyRuler:input_type -> accountFiee.ChatAutoReplyRulerData 120, // 100: accountFiee.AccountFiee.DeleteChatAutoReplyRuler:input_type -> accountFiee.DeleteChatAutoReplyRulerRequest 121, // 101: accountFiee.AccountFiee.GetChatAutoReplyRulerDetail:input_type -> accountFiee.GetChatAutoReplyRulerByIdRequest 122, // 102: accountFiee.AccountFiee.GetChatAutoReplyRulerList:input_type -> accountFiee.GetChatAutoReplyRulerListRequest 74, // 103: accountFiee.AccountFiee.Login:output_type -> accountFiee.TokenInfo 74, // 104: accountFiee.AccountFiee.RefreshToken:output_type -> accountFiee.TokenInfo 45, // 105: accountFiee.AccountFiee.Logout:output_type -> accountFiee.CommonResponse 45, // 106: accountFiee.AccountFiee.OffLine:output_type -> accountFiee.CommonResponse 39, // 107: accountFiee.AccountFiee.OnlineLog:output_type -> accountFiee.LoginLogsResponse 40, // 108: accountFiee.AccountFiee.OnlineLogById:output_type -> accountFiee.LoginLog 61, // 109: accountFiee.AccountFiee.CheckPwd:output_type -> accountFiee.UpdateResponse 51, // 110: accountFiee.AccountFiee.SendMsg:output_type -> accountFiee.SendMsgStatusResponse 51, // 111: accountFiee.AccountFiee.SendCustomMsg:output_type -> accountFiee.SendMsgStatusResponse 51, // 112: accountFiee.AccountFiee.SendExCustomMsg:output_type -> accountFiee.SendMsgStatusResponse 51, // 113: accountFiee.AccountFiee.SendMsgRegister:output_type -> accountFiee.SendMsgStatusResponse 51, // 114: accountFiee.AccountFiee.CheckMsg:output_type -> accountFiee.SendMsgStatusResponse 51, // 115: accountFiee.AccountFiee.SendNewTelNumMsg:output_type -> accountFiee.SendMsgStatusResponse 51, // 116: accountFiee.AccountFiee.UpdateTelNum:output_type -> accountFiee.SendMsgStatusResponse 71, // 117: accountFiee.AccountFiee.Authentication:output_type -> accountFiee.RequestStatus 67, // 118: accountFiee.AccountFiee.DecryptJwt:output_type -> accountFiee.DecryptJwtResponse 13, // 119: accountFiee.AccountFiee.Info:output_type -> accountFiee.UserInfoResponse 66, // 120: accountFiee.AccountFiee.JobNumGetInfo:output_type -> accountFiee.InfoResponse 64, // 121: accountFiee.AccountFiee.List:output_type -> accountFiee.ListResponse 64, // 122: accountFiee.AccountFiee.RandList:output_type -> accountFiee.ListResponse 64, // 123: accountFiee.AccountFiee.ListByIDs:output_type -> accountFiee.ListResponse 57, // 124: accountFiee.AccountFiee.Remove:output_type -> accountFiee.RemoveResponse 61, // 125: accountFiee.AccountFiee.Update:output_type -> accountFiee.UpdateResponse 64, // 126: accountFiee.AccountFiee.UsersByTel:output_type -> accountFiee.ListResponse 13, // 127: accountFiee.AccountFiee.UserByTel:output_type -> accountFiee.UserInfoResponse 51, // 128: accountFiee.AccountFiee.OnlySendMsg:output_type -> accountFiee.SendMsgStatusResponse 51, // 129: accountFiee.AccountFiee.OnlyCheckMsg:output_type -> accountFiee.SendMsgStatusResponse 24, // 130: accountFiee.AccountFiee.MailAccountByNickName:output_type -> accountFiee.MaiAccountResponse 64, // 131: accountFiee.AccountFiee.ListV2:output_type -> accountFiee.ListResponse 19, // 132: accountFiee.AccountFiee.QueryPersonnelWithTheSameName:output_type -> accountFiee.QueryPersonnelWithTheSameNameResponse 64, // 133: accountFiee.AccountFiee.UsersByJobNum:output_type -> accountFiee.ListResponse 14, // 134: accountFiee.AccountFiee.RealName:output_type -> accountFiee.RealNameResponse 16, // 135: accountFiee.AccountFiee.Register:output_type -> accountFiee.RegisterResponse 10, // 136: accountFiee.AccountFiee.UserList:output_type -> accountFiee.UserListResponse 8, // 137: accountFiee.AccountFiee.CheckRealName:output_type -> accountFiee.CheckRealNameResponse 6, // 138: accountFiee.AccountFiee.GenerateSliderCaptcha:output_type -> accountFiee.GenerateSliderCaptchaResponse 4, // 139: accountFiee.AccountFiee.VerifySliderCaptcha:output_type -> accountFiee.VerifySliderCaptchaResponse 51, // 140: accountFiee.AccountFiee.SendNationMsg:output_type -> accountFiee.SendMsgStatusResponse 2, // 141: accountFiee.AccountFiee.VerifySliderStatus:output_type -> accountFiee.VerifySliderStatusResponse 45, // 142: accountFiee.AccountFiee.SaveSubmitInfo:output_type -> accountFiee.CommonResponse 125, // 143: accountFiee.AccountFiee.CreateChatUser:output_type -> accountFiee.CreateChatUserResp 100, // 144: accountFiee.AccountFiee.UpdateChatUser:output_type -> accountFiee.CommonMsg 100, // 145: accountFiee.AccountFiee.SaveChatUser:output_type -> accountFiee.CommonMsg 100, // 146: accountFiee.AccountFiee.DeleteChatUser:output_type -> accountFiee.CommonMsg 124, // 147: accountFiee.AccountFiee.GetChatUserDetail:output_type -> accountFiee.ChatUserData 129, // 148: accountFiee.AccountFiee.GetChatUserList:output_type -> accountFiee.GetChatUserListResp 117, // 149: accountFiee.AccountFiee.GetChatUserList2:output_type -> accountFiee.GetChatUserListResp2 108, // 150: accountFiee.AccountFiee.RegisterWaiter:output_type -> accountFiee.RegisterWaiterResp 102, // 151: accountFiee.AccountFiee.CreateChatRecord:output_type -> accountFiee.CreateChatRecordResp 100, // 152: accountFiee.AccountFiee.UpdateChatRecord:output_type -> accountFiee.CommonMsg 100, // 153: accountFiee.AccountFiee.SaveChatRecord:output_type -> accountFiee.CommonMsg 100, // 154: accountFiee.AccountFiee.DeleteChatRecord:output_type -> accountFiee.CommonMsg 101, // 155: accountFiee.AccountFiee.GetChatRecordDetail:output_type -> accountFiee.ChatRecordData 106, // 156: accountFiee.AccountFiee.GetChatRecordList:output_type -> accountFiee.GetChatRecordListResp 110, // 157: accountFiee.AccountFiee.CreateChatMedia:output_type -> accountFiee.CreateChatMediaResp 100, // 158: accountFiee.AccountFiee.UpdateChatMedia:output_type -> accountFiee.CommonMsg 100, // 159: accountFiee.AccountFiee.SaveChatMedia:output_type -> accountFiee.CommonMsg 100, // 160: accountFiee.AccountFiee.DeleteChatMedia:output_type -> accountFiee.CommonMsg 109, // 161: accountFiee.AccountFiee.GetChatMediaDetail:output_type -> accountFiee.ChatMediaData 114, // 162: accountFiee.AccountFiee.GetChatMediaList:output_type -> accountFiee.GetChatMediaListResp 119, // 163: accountFiee.AccountFiee.CreateChatAutoReplyRuler:output_type -> accountFiee.CreateChatAutoReplyRulerResp 100, // 164: accountFiee.AccountFiee.UpdateChatAutoReplyRuler:output_type -> accountFiee.CommonMsg 100, // 165: accountFiee.AccountFiee.SaveChatAutoReplyRuler:output_type -> accountFiee.CommonMsg 100, // 166: accountFiee.AccountFiee.DeleteChatAutoReplyRuler:output_type -> accountFiee.CommonMsg 118, // 167: accountFiee.AccountFiee.GetChatAutoReplyRulerDetail:output_type -> accountFiee.ChatAutoReplyRulerData 123, // 168: accountFiee.AccountFiee.GetChatAutoReplyRulerList:output_type -> accountFiee.GetChatAutoReplyRulerListResp 103, // [103:169] is the sub-list for method output_type 37, // [37:103] is the sub-list for method input_type 37, // [37:37] is the sub-list for extension type_name 37, // [37:37] is the sub-list for extension extendee 0, // [0:37] is the sub-list for field type_name } func init() { file_accountFiee_proto_init() } func file_accountFiee_proto_init() { if File_accountFiee_proto != nil { return } if !protoimpl.UnsafeEnabled { file_accountFiee_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VerifySliderStatusRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VerifySliderStatusResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SendNationMsgRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VerifySliderCaptchaResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VerifySliderCaptchaRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GenerateSliderCaptchaResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GenerateSliderCaptchaRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckRealNameResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckRealNameRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserListResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserListInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserListRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserInfoResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RealNameResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RealNameRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegisterResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UsersByJobNumRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryPersonnelWithTheSameNameRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryPersonnelWithTheSameNameResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListV2Request); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SendClockInWechatRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MailAccountByNickNameRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateMaiAccountRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MaiAccountResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FddCreateUserRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WxBoxUserInfoRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WxGetOpenIdByCodeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WxGetOpenIdByCodeResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WxBoxTelNumByCodeResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WxBoxUserInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FddInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommonRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WxAppRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WxAppResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WxUserUpdateRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WxUserOrCreateRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WxUserResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoginLogsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoginLog); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OnlineLogByIdRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoginInfosByUserIdRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SendNewTelNumMsgRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserByTelRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommonResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UsersByTelRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListByIDsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SendMsgRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SendCustomMsgRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckMsgRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SendMsgStatusResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WriteOffRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WriteOffListRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WriteOffApproveRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WriteOffListResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Operator); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TrainVideo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PrivacyInfoRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InfoRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InfoResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DecryptJwtResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DecryptJwtRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckPwdRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthenticationRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RequestStatus); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegistRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoginRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TokenInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Extend); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Department); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AccountInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserInfoV2); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RefreshTokenRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PositionUser); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobNumGetInfoRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateClockDeviceRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateClockDeviceRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockDeviceResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveClockDeviceRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockDeviceListRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockDeviceListResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockUser); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockDeviceInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockDeviceInfoResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockUserRel); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockDeviceInfoRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockBatchBindRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockBatchListResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockUserDeviceBatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockLogInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockLogReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockLogListResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubmitInfoRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommonMsg); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChatRecordData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateChatRecordResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteChatRecordRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetChatRecordByIdRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetChatRecordListRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetChatRecordListResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegisterWaiterRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegisterWaiterResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChatMediaData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateChatMediaResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteChatMediaRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetChatMediaByIdRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetChatMediaListRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetChatMediaListResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetChatUserListRequest2); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChatUser2); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetChatUserListResp2); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChatAutoReplyRulerData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateChatAutoReplyRulerResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteChatAutoReplyRulerRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetChatAutoReplyRulerByIdRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetChatAutoReplyRulerListRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetChatAutoReplyRulerListResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChatUserData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateChatUserResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteChatUserRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetChatUserByIdRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetChatUserListRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_accountFiee_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetChatUserListResp); 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_accountFiee_proto_rawDesc, NumEnums: 1, NumMessages: 129, NumExtensions: 0, NumServices: 1, }, GoTypes: file_accountFiee_proto_goTypes, DependencyIndexes: file_accountFiee_proto_depIdxs, EnumInfos: file_accountFiee_proto_enumTypes, MessageInfos: file_accountFiee_proto_msgTypes, }.Build() File_accountFiee_proto = out.File file_accountFiee_proto_rawDesc = nil file_accountFiee_proto_goTypes = nil file_accountFiee_proto_depIdxs = nil }