| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950 | // Code generated by protoc-gen-go. DO NOT EDIT.// versions:// 	protoc-gen-go v1.26.0-devel// 	protoc        v3.15.8// source: chat.protopackage chatimport (	common "git.ikuban.com/server/pw-protobuf/api/common"	protoreflect "google.golang.org/protobuf/reflect/protoreflect"	protoimpl "google.golang.org/protobuf/runtime/protoimpl"	emptypb "google.golang.org/protobuf/types/known/emptypb"	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 FindNotReplyNumReply struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	PersonNum  int64 `protobuf:"varint,1,opt,name=personNum,proto3" json:"personNum"`   // 未接待人数	MessageNum int64 `protobuf:"varint,2,opt,name=messageNum,proto3" json:"messageNum"` // 消息数}func (x *FindNotReplyNumReply) Reset() {	*x = FindNotReplyNumReply{}	if protoimpl.UnsafeEnabled {		mi := &file_chat_proto_msgTypes[0]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *FindNotReplyNumReply) String() string {	return protoimpl.X.MessageStringOf(x)}func (*FindNotReplyNumReply) ProtoMessage() {}func (x *FindNotReplyNumReply) ProtoReflect() protoreflect.Message {	mi := &file_chat_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 FindNotReplyNumReply.ProtoReflect.Descriptor instead.func (*FindNotReplyNumReply) Descriptor() ([]byte, []int) {	return file_chat_proto_rawDescGZIP(), []int{0}}func (x *FindNotReplyNumReply) GetPersonNum() int64 {	if x != nil {		return x.PersonNum	}	return 0}func (x *FindNotReplyNumReply) GetMessageNum() int64 {	if x != nil {		return x.MessageNum	}	return 0}type FindRecommendPersonListRequest struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	NextId     string `protobuf:"bytes,1,opt,name=nextId,proto3" json:"nextId"`	Offset     int64  `protobuf:"varint,2,opt,name=offset,proto3" json:"offset"`	PersonID   string `protobuf:"bytes,3,opt,name=personID,proto3" json:"personID"`     // 查询目标的ID	PersonType string `protobuf:"bytes,4,opt,name=personType,proto3" json:"personType"` // 类型	Sex        int64  `protobuf:"varint,5,opt,name=sex,proto3" json:"sex"`              // 性别(不筛选就是0)}func (x *FindRecommendPersonListRequest) Reset() {	*x = FindRecommendPersonListRequest{}	if protoimpl.UnsafeEnabled {		mi := &file_chat_proto_msgTypes[1]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *FindRecommendPersonListRequest) String() string {	return protoimpl.X.MessageStringOf(x)}func (*FindRecommendPersonListRequest) ProtoMessage() {}func (x *FindRecommendPersonListRequest) ProtoReflect() protoreflect.Message {	mi := &file_chat_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 FindRecommendPersonListRequest.ProtoReflect.Descriptor instead.func (*FindRecommendPersonListRequest) Descriptor() ([]byte, []int) {	return file_chat_proto_rawDescGZIP(), []int{1}}func (x *FindRecommendPersonListRequest) GetNextId() string {	if x != nil {		return x.NextId	}	return ""}func (x *FindRecommendPersonListRequest) GetOffset() int64 {	if x != nil {		return x.Offset	}	return 0}func (x *FindRecommendPersonListRequest) GetPersonID() string {	if x != nil {		return x.PersonID	}	return ""}func (x *FindRecommendPersonListRequest) GetPersonType() string {	if x != nil {		return x.PersonType	}	return ""}func (x *FindRecommendPersonListRequest) GetSex() int64 {	if x != nil {		return x.Sex	}	return 0}type FindRoomCardMsgRequest struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	UserIdentifyId    string `protobuf:"bytes,1,opt,name=userIdentifyId,proto3" json:"userIdentifyId"`       // 身份ID	PartnerIdentifyId string `protobuf:"bytes,2,opt,name=partnerIdentifyId,proto3" json:"partnerIdentifyId"` // 身份ID}func (x *FindRoomCardMsgRequest) Reset() {	*x = FindRoomCardMsgRequest{}	if protoimpl.UnsafeEnabled {		mi := &file_chat_proto_msgTypes[2]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *FindRoomCardMsgRequest) String() string {	return protoimpl.X.MessageStringOf(x)}func (*FindRoomCardMsgRequest) ProtoMessage() {}func (x *FindRoomCardMsgRequest) ProtoReflect() protoreflect.Message {	mi := &file_chat_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 FindRoomCardMsgRequest.ProtoReflect.Descriptor instead.func (*FindRoomCardMsgRequest) Descriptor() ([]byte, []int) {	return file_chat_proto_rawDescGZIP(), []int{2}}func (x *FindRoomCardMsgRequest) GetUserIdentifyId() string {	if x != nil {		return x.UserIdentifyId	}	return ""}func (x *FindRoomCardMsgRequest) GetPartnerIdentifyId() string {	if x != nil {		return x.PartnerIdentifyId	}	return ""}type PartnerGetAwardReply struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	Balance int64 `protobuf:"varint,1,opt,name=balance,proto3" json:"balance"`}func (x *PartnerGetAwardReply) Reset() {	*x = PartnerGetAwardReply{}	if protoimpl.UnsafeEnabled {		mi := &file_chat_proto_msgTypes[3]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *PartnerGetAwardReply) String() string {	return protoimpl.X.MessageStringOf(x)}func (*PartnerGetAwardReply) ProtoMessage() {}func (x *PartnerGetAwardReply) ProtoReflect() protoreflect.Message {	mi := &file_chat_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 PartnerGetAwardReply.ProtoReflect.Descriptor instead.func (*PartnerGetAwardReply) Descriptor() ([]byte, []int) {	return file_chat_proto_rawDescGZIP(), []int{3}}func (x *PartnerGetAwardReply) GetBalance() int64 {	if x != nil {		return x.Balance	}	return 0}type PartnerGetAwardRequest struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	UserIdentifyId    string `protobuf:"bytes,1,opt,name=userIdentifyId,proto3" json:"userIdentifyId"`       // 身份ID	PartnerIdentifyId string `protobuf:"bytes,2,opt,name=partnerIdentifyId,proto3" json:"partnerIdentifyId"` // 身份ID	AwardType         string `protobuf:"bytes,3,opt,name=awardType,proto3" json:"awardType"`}func (x *PartnerGetAwardRequest) Reset() {	*x = PartnerGetAwardRequest{}	if protoimpl.UnsafeEnabled {		mi := &file_chat_proto_msgTypes[4]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *PartnerGetAwardRequest) String() string {	return protoimpl.X.MessageStringOf(x)}func (*PartnerGetAwardRequest) ProtoMessage() {}func (x *PartnerGetAwardRequest) ProtoReflect() protoreflect.Message {	mi := &file_chat_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 PartnerGetAwardRequest.ProtoReflect.Descriptor instead.func (*PartnerGetAwardRequest) Descriptor() ([]byte, []int) {	return file_chat_proto_rawDescGZIP(), []int{4}}func (x *PartnerGetAwardRequest) GetUserIdentifyId() string {	if x != nil {		return x.UserIdentifyId	}	return ""}func (x *PartnerGetAwardRequest) GetPartnerIdentifyId() string {	if x != nil {		return x.PartnerIdentifyId	}	return ""}func (x *PartnerGetAwardRequest) GetAwardType() string {	if x != nil {		return x.AwardType	}	return ""}type PartnerFindRoomListRequest struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	NextId           int64  `protobuf:"varint,1,opt,name=nextId,proto3" json:"nextId"`	Offset           int64  `protobuf:"varint,2,opt,name=offset,proto3" json:"offset"`	IdentifyId       string `protobuf:"bytes,3,opt,name=IdentifyId,proto3" json:"IdentifyId"`	IsFindNotReply   bool   `protobuf:"varint,4,opt,name=isFindNotReply,proto3" json:"isFindNotReply"`     // 是否查询没回复过的内容	IsWithinSevenDay bool   `protobuf:"varint,5,opt,name=isWithinSevenDay,proto3" json:"isWithinSevenDay"` // 是否在七日内}func (x *PartnerFindRoomListRequest) Reset() {	*x = PartnerFindRoomListRequest{}	if protoimpl.UnsafeEnabled {		mi := &file_chat_proto_msgTypes[5]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *PartnerFindRoomListRequest) String() string {	return protoimpl.X.MessageStringOf(x)}func (*PartnerFindRoomListRequest) ProtoMessage() {}func (x *PartnerFindRoomListRequest) ProtoReflect() protoreflect.Message {	mi := &file_chat_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 PartnerFindRoomListRequest.ProtoReflect.Descriptor instead.func (*PartnerFindRoomListRequest) Descriptor() ([]byte, []int) {	return file_chat_proto_rawDescGZIP(), []int{5}}func (x *PartnerFindRoomListRequest) GetNextId() int64 {	if x != nil {		return x.NextId	}	return 0}func (x *PartnerFindRoomListRequest) GetOffset() int64 {	if x != nil {		return x.Offset	}	return 0}func (x *PartnerFindRoomListRequest) GetIdentifyId() string {	if x != nil {		return x.IdentifyId	}	return ""}func (x *PartnerFindRoomListRequest) GetIsFindNotReply() bool {	if x != nil {		return x.IsFindNotReply	}	return false}func (x *PartnerFindRoomListRequest) GetIsWithinSevenDay() bool {	if x != nil {		return x.IsWithinSevenDay	}	return false}type UserFindRoomListRequest struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	NextId           int64  `protobuf:"varint,1,opt,name=nextId,proto3" json:"nextId"`	Offset           int64  `protobuf:"varint,2,opt,name=offset,proto3" json:"offset"`	IdentifyId       string `protobuf:"bytes,3,opt,name=IdentifyId,proto3" json:"IdentifyId"`	IsWithinSevenDay bool   `protobuf:"varint,4,opt,name=isWithinSevenDay,proto3" json:"isWithinSevenDay"` // 是否在七日内}func (x *UserFindRoomListRequest) Reset() {	*x = UserFindRoomListRequest{}	if protoimpl.UnsafeEnabled {		mi := &file_chat_proto_msgTypes[6]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *UserFindRoomListRequest) String() string {	return protoimpl.X.MessageStringOf(x)}func (*UserFindRoomListRequest) ProtoMessage() {}func (x *UserFindRoomListRequest) ProtoReflect() protoreflect.Message {	mi := &file_chat_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 UserFindRoomListRequest.ProtoReflect.Descriptor instead.func (*UserFindRoomListRequest) Descriptor() ([]byte, []int) {	return file_chat_proto_rawDescGZIP(), []int{6}}func (x *UserFindRoomListRequest) GetNextId() int64 {	if x != nil {		return x.NextId	}	return 0}func (x *UserFindRoomListRequest) GetOffset() int64 {	if x != nil {		return x.Offset	}	return 0}func (x *UserFindRoomListRequest) GetIdentifyId() string {	if x != nil {		return x.IdentifyId	}	return ""}func (x *UserFindRoomListRequest) GetIsWithinSevenDay() bool {	if x != nil {		return x.IsWithinSevenDay	}	return false}type UserFindRoomListReply struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	List   []*UserRoomInfo `protobuf:"bytes,1,rep,name=list,proto3" json:"list"`	NextId int64           `protobuf:"varint,2,opt,name=nextId,proto3" json:"nextId"`}func (x *UserFindRoomListReply) Reset() {	*x = UserFindRoomListReply{}	if protoimpl.UnsafeEnabled {		mi := &file_chat_proto_msgTypes[7]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *UserFindRoomListReply) String() string {	return protoimpl.X.MessageStringOf(x)}func (*UserFindRoomListReply) ProtoMessage() {}func (x *UserFindRoomListReply) ProtoReflect() protoreflect.Message {	mi := &file_chat_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 UserFindRoomListReply.ProtoReflect.Descriptor instead.func (*UserFindRoomListReply) Descriptor() ([]byte, []int) {	return file_chat_proto_rawDescGZIP(), []int{7}}func (x *UserFindRoomListReply) GetList() []*UserRoomInfo {	if x != nil {		return x.List	}	return nil}func (x *UserFindRoomListReply) GetNextId() int64 {	if x != nil {		return x.NextId	}	return 0}type UserRoomInfo struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	PersonType  string `protobuf:"bytes,1,opt,name=personType,proto3" json:"personType"`    // 用户类型	PersonId    string `protobuf:"bytes,2,opt,name=personId,proto3" json:"personId"`        // 用户ID	UnreadNum   int64  `protobuf:"varint,3,opt,name=unreadNum,proto3" json:"unreadNum"`     // 用户未读数	LastContent string `protobuf:"bytes,4,opt,name=lastContent,proto3" json:"lastContent"`  // 上次发送内容	LastTime    int64  `protobuf:"varint,5,opt,name=lastTime,proto3" json:"lastTime"`       // 上次发送时间	Likeability int64  `protobuf:"varint,6,opt,name=likeability,proto3" json:"likeability"` // 好感度	RoomId      int64  `protobuf:"varint,7,opt,name=roomId,proto3" json:"roomId"`           // 房间ID}func (x *UserRoomInfo) Reset() {	*x = UserRoomInfo{}	if protoimpl.UnsafeEnabled {		mi := &file_chat_proto_msgTypes[8]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *UserRoomInfo) String() string {	return protoimpl.X.MessageStringOf(x)}func (*UserRoomInfo) ProtoMessage() {}func (x *UserRoomInfo) ProtoReflect() protoreflect.Message {	mi := &file_chat_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 UserRoomInfo.ProtoReflect.Descriptor instead.func (*UserRoomInfo) Descriptor() ([]byte, []int) {	return file_chat_proto_rawDescGZIP(), []int{8}}func (x *UserRoomInfo) GetPersonType() string {	if x != nil {		return x.PersonType	}	return ""}func (x *UserRoomInfo) GetPersonId() string {	if x != nil {		return x.PersonId	}	return ""}func (x *UserRoomInfo) GetUnreadNum() int64 {	if x != nil {		return x.UnreadNum	}	return 0}func (x *UserRoomInfo) GetLastContent() string {	if x != nil {		return x.LastContent	}	return ""}func (x *UserRoomInfo) GetLastTime() int64 {	if x != nil {		return x.LastTime	}	return 0}func (x *UserRoomInfo) GetLikeability() int64 {	if x != nil {		return x.Likeability	}	return 0}func (x *UserRoomInfo) GetRoomId() int64 {	if x != nil {		return x.RoomId	}	return 0}type PartnerFindRoomListReply struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	List   []*PartnerRoomInfo `protobuf:"bytes,1,rep,name=list,proto3" json:"list"`	NextId int64              `protobuf:"varint,2,opt,name=nextId,proto3" json:"nextId"`}func (x *PartnerFindRoomListReply) Reset() {	*x = PartnerFindRoomListReply{}	if protoimpl.UnsafeEnabled {		mi := &file_chat_proto_msgTypes[9]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *PartnerFindRoomListReply) String() string {	return protoimpl.X.MessageStringOf(x)}func (*PartnerFindRoomListReply) ProtoMessage() {}func (x *PartnerFindRoomListReply) ProtoReflect() protoreflect.Message {	mi := &file_chat_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 PartnerFindRoomListReply.ProtoReflect.Descriptor instead.func (*PartnerFindRoomListReply) Descriptor() ([]byte, []int) {	return file_chat_proto_rawDescGZIP(), []int{9}}func (x *PartnerFindRoomListReply) GetList() []*PartnerRoomInfo {	if x != nil {		return x.List	}	return nil}func (x *PartnerFindRoomListReply) GetNextId() int64 {	if x != nil {		return x.NextId	}	return 0}type PartnerRoomInfo struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	PersonSendNum     int64  `protobuf:"varint,1,opt,name=personSendNum,proto3" json:"personSendNum"`          // 用户发送数	PersonId          string `protobuf:"bytes,2,opt,name=personId,proto3" json:"personId"`                     // 用户ID	UnreadNum         int64  `protobuf:"varint,3,opt,name=unreadNum,proto3" json:"unreadNum"`                  // 接待者未读数	LastContent       string `protobuf:"bytes,4,opt,name=lastContent,proto3" json:"lastContent"`               // 上次发送内容	LastTime          int64  `protobuf:"varint,5,opt,name=lastTime,proto3" json:"lastTime"`                    // 上次发送时间	Benefit           int64  `protobuf:"varint,6,opt,name=benefit,proto3" json:"benefit"`                      // 收益	Type              string `protobuf:"bytes,7,opt,name=type,proto3" json:"type"`                             // 类型(新客:new,付费:pay)	Sex               int64  `protobuf:"varint,8,opt,name=sex,proto3" json:"sex"`                              // 性别	AvatarUrl         string `protobuf:"bytes,9,opt,name=avatarUrl,proto3" json:"avatarUrl"`                   // 头像	Nickname          string `protobuf:"bytes,10,opt,name=nickname,proto3" json:"nickname"`                    // 昵称	Age               int64  `protobuf:"varint,11,opt,name=age,proto3" json:"age"`                             // 年龄	Likeability       int64  `protobuf:"varint,12,opt,name=likeability,proto3" json:"likeability"`             // 好感度	RoomId            int64  `protobuf:"varint,13,opt,name=roomId,proto3" json:"roomId"`                       // 房间号ID	PersonSendBaseNum int64  `protobuf:"varint,14,opt,name=personSendBaseNum,proto3" json:"personSendBaseNum"` // 用户发送基数}func (x *PartnerRoomInfo) Reset() {	*x = PartnerRoomInfo{}	if protoimpl.UnsafeEnabled {		mi := &file_chat_proto_msgTypes[10]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *PartnerRoomInfo) String() string {	return protoimpl.X.MessageStringOf(x)}func (*PartnerRoomInfo) ProtoMessage() {}func (x *PartnerRoomInfo) ProtoReflect() protoreflect.Message {	mi := &file_chat_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 PartnerRoomInfo.ProtoReflect.Descriptor instead.func (*PartnerRoomInfo) Descriptor() ([]byte, []int) {	return file_chat_proto_rawDescGZIP(), []int{10}}func (x *PartnerRoomInfo) GetPersonSendNum() int64 {	if x != nil {		return x.PersonSendNum	}	return 0}func (x *PartnerRoomInfo) GetPersonId() string {	if x != nil {		return x.PersonId	}	return ""}func (x *PartnerRoomInfo) GetUnreadNum() int64 {	if x != nil {		return x.UnreadNum	}	return 0}func (x *PartnerRoomInfo) GetLastContent() string {	if x != nil {		return x.LastContent	}	return ""}func (x *PartnerRoomInfo) GetLastTime() int64 {	if x != nil {		return x.LastTime	}	return 0}func (x *PartnerRoomInfo) GetBenefit() int64 {	if x != nil {		return x.Benefit	}	return 0}func (x *PartnerRoomInfo) GetType() string {	if x != nil {		return x.Type	}	return ""}func (x *PartnerRoomInfo) GetSex() int64 {	if x != nil {		return x.Sex	}	return 0}func (x *PartnerRoomInfo) GetAvatarUrl() string {	if x != nil {		return x.AvatarUrl	}	return ""}func (x *PartnerRoomInfo) GetNickname() string {	if x != nil {		return x.Nickname	}	return ""}func (x *PartnerRoomInfo) GetAge() int64 {	if x != nil {		return x.Age	}	return 0}func (x *PartnerRoomInfo) GetLikeability() int64 {	if x != nil {		return x.Likeability	}	return 0}func (x *PartnerRoomInfo) GetRoomId() int64 {	if x != nil {		return x.RoomId	}	return 0}func (x *PartnerRoomInfo) GetPersonSendBaseNum() int64 {	if x != nil {		return x.PersonSendBaseNum	}	return 0}type CreateChatRoomParam struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	PersonId1         string `protobuf:"bytes,1,opt,name=personId1,proto3" json:"personId1"`	PersonIdentifyID1 string `protobuf:"bytes,2,opt,name=personIdentifyID1,proto3" json:"personIdentifyID1"` // 身份ID	PersonType1       string `protobuf:"bytes,3,opt,name=personType1,proto3" json:"personType1"`             // 类型	PersonId2         string `protobuf:"bytes,4,opt,name=personId2,proto3" json:"personId2"`	PersonIdentifyID2 string `protobuf:"bytes,5,opt,name=personIdentifyID2,proto3" json:"personIdentifyID2"` // 身份ID	PersonType2       string `protobuf:"bytes,6,opt,name=personType2,proto3" json:"personType2"`             // 类型	Source            string `protobuf:"bytes,7,opt,name=source,proto3" json:"source"`                       // 来源}func (x *CreateChatRoomParam) Reset() {	*x = CreateChatRoomParam{}	if protoimpl.UnsafeEnabled {		mi := &file_chat_proto_msgTypes[11]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *CreateChatRoomParam) String() string {	return protoimpl.X.MessageStringOf(x)}func (*CreateChatRoomParam) ProtoMessage() {}func (x *CreateChatRoomParam) ProtoReflect() protoreflect.Message {	mi := &file_chat_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 CreateChatRoomParam.ProtoReflect.Descriptor instead.func (*CreateChatRoomParam) Descriptor() ([]byte, []int) {	return file_chat_proto_rawDescGZIP(), []int{11}}func (x *CreateChatRoomParam) GetPersonId1() string {	if x != nil {		return x.PersonId1	}	return ""}func (x *CreateChatRoomParam) GetPersonIdentifyID1() string {	if x != nil {		return x.PersonIdentifyID1	}	return ""}func (x *CreateChatRoomParam) GetPersonType1() string {	if x != nil {		return x.PersonType1	}	return ""}func (x *CreateChatRoomParam) GetPersonId2() string {	if x != nil {		return x.PersonId2	}	return ""}func (x *CreateChatRoomParam) GetPersonIdentifyID2() string {	if x != nil {		return x.PersonIdentifyID2	}	return ""}func (x *CreateChatRoomParam) GetPersonType2() string {	if x != nil {		return x.PersonType2	}	return ""}func (x *CreateChatRoomParam) GetSource() string {	if x != nil {		return x.Source	}	return ""}type SetBlackChatParam struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	PersonIdentifyId string `protobuf:"bytes,1,opt,name=personIdentifyId,proto3" json:"personIdentifyId"` // 拉黑者的身份ID	RoomId           int64  `protobuf:"varint,2,opt,name=roomId,proto3" json:"roomId"`                    // 房间ID}func (x *SetBlackChatParam) Reset() {	*x = SetBlackChatParam{}	if protoimpl.UnsafeEnabled {		mi := &file_chat_proto_msgTypes[12]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *SetBlackChatParam) String() string {	return protoimpl.X.MessageStringOf(x)}func (*SetBlackChatParam) ProtoMessage() {}func (x *SetBlackChatParam) ProtoReflect() protoreflect.Message {	mi := &file_chat_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 SetBlackChatParam.ProtoReflect.Descriptor instead.func (*SetBlackChatParam) Descriptor() ([]byte, []int) {	return file_chat_proto_rawDescGZIP(), []int{12}}func (x *SetBlackChatParam) GetPersonIdentifyId() string {	if x != nil {		return x.PersonIdentifyId	}	return ""}func (x *SetBlackChatParam) GetRoomId() int64 {	if x != nil {		return x.RoomId	}	return 0}type ReceiveRequest struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	Method       string `protobuf:"bytes,1,opt,name=method,proto3" json:"method"`	Data         []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data"`	Id           string `protobuf:"bytes,3,opt,name=id,proto3" json:"id"`	WebsocketTag string `protobuf:"bytes,4,opt,name=websocketTag,proto3" json:"websocketTag"`	PersonType   string `protobuf:"bytes,5,opt,name=personType,proto3" json:"personType"`	PersonId     string `protobuf:"bytes,6,opt,name=personId,proto3" json:"personId"`}func (x *ReceiveRequest) Reset() {	*x = ReceiveRequest{}	if protoimpl.UnsafeEnabled {		mi := &file_chat_proto_msgTypes[13]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *ReceiveRequest) String() string {	return protoimpl.X.MessageStringOf(x)}func (*ReceiveRequest) ProtoMessage() {}func (x *ReceiveRequest) ProtoReflect() protoreflect.Message {	mi := &file_chat_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 ReceiveRequest.ProtoReflect.Descriptor instead.func (*ReceiveRequest) Descriptor() ([]byte, []int) {	return file_chat_proto_rawDescGZIP(), []int{13}}func (x *ReceiveRequest) GetMethod() string {	if x != nil {		return x.Method	}	return ""}func (x *ReceiveRequest) GetData() []byte {	if x != nil {		return x.Data	}	return nil}func (x *ReceiveRequest) GetId() string {	if x != nil {		return x.Id	}	return ""}func (x *ReceiveRequest) GetWebsocketTag() string {	if x != nil {		return x.WebsocketTag	}	return ""}func (x *ReceiveRequest) GetPersonType() string {	if x != nil {		return x.PersonType	}	return ""}func (x *ReceiveRequest) GetPersonId() string {	if x != nil {		return x.PersonId	}	return ""}type ReceiveReply struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields}func (x *ReceiveReply) Reset() {	*x = ReceiveReply{}	if protoimpl.UnsafeEnabled {		mi := &file_chat_proto_msgTypes[14]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *ReceiveReply) String() string {	return protoimpl.X.MessageStringOf(x)}func (*ReceiveReply) ProtoMessage() {}func (x *ReceiveReply) ProtoReflect() protoreflect.Message {	mi := &file_chat_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 ReceiveReply.ProtoReflect.Descriptor instead.func (*ReceiveReply) Descriptor() ([]byte, []int) {	return file_chat_proto_rawDescGZIP(), []int{14}}type CheckUserPartnerIsRelationshipReply struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	IsBuildRelationship bool  `protobuf:"varint,1,opt,name=isBuildRelationship,proto3" json:"isBuildRelationship"`	RoomId              int64 `protobuf:"varint,2,opt,name=roomId,proto3" json:"roomId"`}func (x *CheckUserPartnerIsRelationshipReply) Reset() {	*x = CheckUserPartnerIsRelationshipReply{}	if protoimpl.UnsafeEnabled {		mi := &file_chat_proto_msgTypes[15]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *CheckUserPartnerIsRelationshipReply) String() string {	return protoimpl.X.MessageStringOf(x)}func (*CheckUserPartnerIsRelationshipReply) ProtoMessage() {}func (x *CheckUserPartnerIsRelationshipReply) ProtoReflect() protoreflect.Message {	mi := &file_chat_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 CheckUserPartnerIsRelationshipReply.ProtoReflect.Descriptor instead.func (*CheckUserPartnerIsRelationshipReply) Descriptor() ([]byte, []int) {	return file_chat_proto_rawDescGZIP(), []int{15}}func (x *CheckUserPartnerIsRelationshipReply) GetIsBuildRelationship() bool {	if x != nil {		return x.IsBuildRelationship	}	return false}func (x *CheckUserPartnerIsRelationshipReply) GetRoomId() int64 {	if x != nil {		return x.RoomId	}	return 0}type RoomReply struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	RoomId int64 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId"`}func (x *RoomReply) Reset() {	*x = RoomReply{}	if protoimpl.UnsafeEnabled {		mi := &file_chat_proto_msgTypes[16]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *RoomReply) String() string {	return protoimpl.X.MessageStringOf(x)}func (*RoomReply) ProtoMessage() {}func (x *RoomReply) ProtoReflect() protoreflect.Message {	mi := &file_chat_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 RoomReply.ProtoReflect.Descriptor instead.func (*RoomReply) Descriptor() ([]byte, []int) {	return file_chat_proto_rawDescGZIP(), []int{16}}func (x *RoomReply) GetRoomId() int64 {	if x != nil {		return x.RoomId	}	return 0}type FindChatRoomMsgRequest struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	RoomId     int64  `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId"`	PersonType string `protobuf:"bytes,2,opt,name=personType,proto3" json:"personType"` // 类型	PersonID   string `protobuf:"bytes,3,opt,name=personID,proto3" json:"personID"`     // 查询目标的ID}func (x *FindChatRoomMsgRequest) Reset() {	*x = FindChatRoomMsgRequest{}	if protoimpl.UnsafeEnabled {		mi := &file_chat_proto_msgTypes[17]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *FindChatRoomMsgRequest) String() string {	return protoimpl.X.MessageStringOf(x)}func (*FindChatRoomMsgRequest) ProtoMessage() {}func (x *FindChatRoomMsgRequest) ProtoReflect() protoreflect.Message {	mi := &file_chat_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 FindChatRoomMsgRequest.ProtoReflect.Descriptor instead.func (*FindChatRoomMsgRequest) Descriptor() ([]byte, []int) {	return file_chat_proto_rawDescGZIP(), []int{17}}func (x *FindChatRoomMsgRequest) GetRoomId() int64 {	if x != nil {		return x.RoomId	}	return 0}func (x *FindChatRoomMsgRequest) GetPersonType() string {	if x != nil {		return x.PersonType	}	return ""}func (x *FindChatRoomMsgRequest) GetPersonID() string {	if x != nil {		return x.PersonID	}	return ""}type FindChatRecordListRequest struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	NextId     int64  `protobuf:"varint,1,opt,name=nextId,proto3" json:"nextId"`	Offset     int64  `protobuf:"varint,2,opt,name=offset,proto3" json:"offset"`	RoomId     int64  `protobuf:"varint,3,opt,name=roomId,proto3" json:"roomId"`	PersonType string `protobuf:"bytes,4,opt,name=personType,proto3" json:"personType"` // 类型	PersonID   string `protobuf:"bytes,5,opt,name=personID,proto3" json:"personID"`     // 查询目标的ID}func (x *FindChatRecordListRequest) Reset() {	*x = FindChatRecordListRequest{}	if protoimpl.UnsafeEnabled {		mi := &file_chat_proto_msgTypes[18]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *FindChatRecordListRequest) String() string {	return protoimpl.X.MessageStringOf(x)}func (*FindChatRecordListRequest) ProtoMessage() {}func (x *FindChatRecordListRequest) ProtoReflect() protoreflect.Message {	mi := &file_chat_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 FindChatRecordListRequest.ProtoReflect.Descriptor instead.func (*FindChatRecordListRequest) Descriptor() ([]byte, []int) {	return file_chat_proto_rawDescGZIP(), []int{18}}func (x *FindChatRecordListRequest) GetNextId() int64 {	if x != nil {		return x.NextId	}	return 0}func (x *FindChatRecordListRequest) GetOffset() int64 {	if x != nil {		return x.Offset	}	return 0}func (x *FindChatRecordListRequest) GetRoomId() int64 {	if x != nil {		return x.RoomId	}	return 0}func (x *FindChatRecordListRequest) GetPersonType() string {	if x != nil {		return x.PersonType	}	return ""}func (x *FindChatRecordListRequest) GetPersonID() string {	if x != nil {		return x.PersonID	}	return ""}var File_chat_proto protoreflect.FileDescriptorvar file_chat_proto_rawDesc = []byte{	0x0a, 0x0a, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x61, 0x70,	0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72,	0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f,	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x54, 0x0a, 0x14,	0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4e, 0x75, 0x6d, 0x52,	0x65, 0x70, 0x6c, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x75,	0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e,	0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d,	0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e,	0x75, 0x6d, 0x22, 0x9e, 0x01, 0x0a, 0x1e, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x6d,	0x6d, 0x65, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18,	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a,	0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f,	0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49,	0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49,	0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18,	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x54, 0x79, 0x70,	0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03,	0x73, 0x65, 0x78, 0x22, 0x6e, 0x0a, 0x16, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x43,	0x61, 0x72, 0x64, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a,	0x0e, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x49, 0x64, 0x18,	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74,	0x69, 0x66, 0x79, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72,	0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,	0x52, 0x11, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,	0x79, 0x49, 0x64, 0x22, 0x30, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x47, 0x65,	0x74, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x62,	0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x61,	0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x8c, 0x01, 0x0a, 0x16, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65,	0x72, 0x47, 0x65, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,	0x12, 0x26, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79,	0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64,	0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x61, 0x72, 0x74,	0x6e, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20,	0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e,	0x74, 0x69, 0x66, 0x79, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x77, 0x61, 0x72, 0x64, 0x54,	0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x77, 0x61, 0x72, 0x64,	0x54, 0x79, 0x70, 0x65, 0x22, 0xc0, 0x01, 0x0a, 0x1a, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72,	0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75,	0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20,	0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f,	0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66,	0x73, 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x49,	0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,	0x79, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x74,	0x52, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x46,	0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2a, 0x0a, 0x10, 0x69,	0x73, 0x57, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x18,	0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x57, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x53,	0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x22, 0x95, 0x01, 0x0a, 0x17, 0x55, 0x73, 0x65, 0x72,	0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75,	0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20,	0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f,	0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66,	0x73, 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x49,	0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,	0x79, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x69, 0x73, 0x57, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x53,	0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69,	0x73, 0x57, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x22,	0x5b, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c,	0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2a, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74,	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61,	0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04,	0x6c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x02,	0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x22, 0xe0, 0x01, 0x0a,	0x0c, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a,	0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,	0x09, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a,	0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,	0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x6e, 0x72,	0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x6e,	0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x43,	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61,	0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x73,	0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c, 0x61, 0x73,	0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x69, 0x6b, 0x65, 0x61, 0x62, 0x69,	0x6c, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6c, 0x69, 0x6b, 0x65,	0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49,	0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22,	0x61, 0x0a, 0x18, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f,	0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2d, 0x0a, 0x04, 0x6c,	0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e,	0x63, 0x68, 0x61, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d,	0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65,	0x78, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74,	0x49, 0x64, 0x22, 0xa3, 0x03, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x52, 0x6f,	0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e,	0x53, 0x65, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70,	0x65, 0x72, 0x73, 0x6f, 0x6e, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08,	0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,	0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x6e, 0x72, 0x65,	0x61, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x6e, 0x72,	0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6f,	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73,	0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74,	0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74,	0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x65, 0x6e, 0x65, 0x66, 0x69, 0x74, 0x18,	0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x65, 0x6e, 0x65, 0x66, 0x69, 0x74, 0x12, 0x12,	0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79,	0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52,	0x03, 0x73, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72,	0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55,	0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a,	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10,	0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x67, 0x65,	0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x69, 0x6b, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18,	0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6c, 0x69, 0x6b, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69,	0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01,	0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x65,	0x72, 0x73, 0x6f, 0x6e, 0x53, 0x65, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x65, 0x4e, 0x75, 0x6d, 0x18,	0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x53, 0x65, 0x6e,	0x64, 0x42, 0x61, 0x73, 0x65, 0x4e, 0x75, 0x6d, 0x22, 0x89, 0x02, 0x0a, 0x13, 0x43, 0x72, 0x65,	0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d,	0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x31, 0x18, 0x01, 0x20,	0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x31, 0x12, 0x2c,	0x0a, 0x11, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79,	0x49, 0x44, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x65, 0x72, 0x73, 0x6f,	0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x49, 0x44, 0x31, 0x12, 0x20, 0x0a, 0x0b,	0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x31, 0x18, 0x03, 0x20, 0x01, 0x28,	0x09, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x31, 0x12, 0x1c,	0x0a, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28,	0x09, 0x52, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x32, 0x12, 0x2c, 0x0a, 0x11,	0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x49, 0x44,	0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49,	0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x49, 0x44, 0x32, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65,	0x72, 0x73, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,	0x0b, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x32, 0x12, 0x16, 0x0a, 0x06,	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f,	0x75, 0x72, 0x63, 0x65, 0x22, 0x57, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x42, 0x6c, 0x61, 0x63, 0x6b,	0x43, 0x68, 0x61, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x65, 0x72,	0x73, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20,	0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74,	0x69, 0x66, 0x79, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18,	0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0xac, 0x01,	0x0a, 0x0e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,	0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,	0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61,	0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02,	0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c,	0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01,	0x28, 0x09, 0x52, 0x0c, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x61, 0x67,	0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05,	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65,	0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01,	0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x0e, 0x0a, 0x0c,	0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x6f, 0x0a, 0x23,	0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72,	0x49, 0x73, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65,	0x70, 0x6c, 0x79, 0x12, 0x30, 0x0a, 0x13, 0x69, 0x73, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65,	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,	0x52, 0x13, 0x69, 0x73, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f,	0x6e, 0x73, 0x68, 0x69, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18,	0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x23, 0x0a,	0x09, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f,	0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d,	0x49, 0x64, 0x22, 0x6c, 0x0a, 0x16, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f,	0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06,	0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f,	0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x54, 0x79,	0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e,	0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44,	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44,	0x22, 0x9f, 0x01, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63,	0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16,	0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,	0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74,	0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x16,	0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,	0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e,	0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x73,	0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e,	0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e,	0x49, 0x44, 0x32, 0x87, 0x0a, 0x0a, 0x04, 0x43, 0x68, 0x61, 0x74, 0x12, 0x7a, 0x0a, 0x1e, 0x43,	0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49,	0x73, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x12, 0x29, 0x2e,	0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41,	0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,	0x79, 0x49, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x2d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,	0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x72,	0x74, 0x6e, 0x65, 0x72, 0x49, 0x73, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68,	0x69, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x44, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74,	0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e,	0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52,	0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,	0x68, 0x61, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x62, 0x0a,	0x14, 0x46, 0x69, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f,	0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,	0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x41, 0x6e, 0x64, 0x50, 0x65,	0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x70,	0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65,	0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c,	0x79, 0x12, 0x69, 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65,	0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x2e, 0x61,	0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f,	0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52,	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,	0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x65, 0x72,	0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x61, 0x0a, 0x13,	0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c,	0x69, 0x73, 0x74, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x50,	0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69,	0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e,	0x63, 0x68, 0x61, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64,	0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12,	0x58, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c,	0x69, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x55,	0x73, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52,	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61,	0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69,	0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x07, 0x52, 0x65, 0x63,	0x65, 0x69, 0x76, 0x65, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e,	0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16,	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76,	0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64,	0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23,	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68,	0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75,	0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,	0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52,	0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0f, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68,	0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e,	0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f,	0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70,	0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f,	0x6d, 0x4d, 0x73, 0x67, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x42, 0x6c, 0x61,	0x63, 0x6b, 0x43, 0x68, 0x61, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61,	0x74, 0x2e, 0x53, 0x65, 0x74, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x74, 0x50, 0x61,	0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x43, 0x0a,	0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70,	0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x43,	0x68, 0x61, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,	0x22, 0x00, 0x12, 0x3d, 0x0a, 0x06, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x19, 0x2e, 0x61,	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74,	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22,	0x00, 0x12, 0x55, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74, 0x41,	0x77, 0x61, 0x72, 0x64, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e,	0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52,	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61,	0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74, 0x41, 0x77, 0x61, 0x72,	0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0f, 0x46, 0x69, 0x6e, 0x64,	0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x73, 0x67, 0x12, 0x20, 0x2e, 0x61, 0x70,	0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x43,	0x61, 0x72, 0x64, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e,	0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x43,	0x68, 0x61, 0x74, 0x4d, 0x73, 0x67, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0f, 0x46, 0x69, 0x6e, 0x64,	0x4e, 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4e, 0x75, 0x6d, 0x12, 0x1d, 0x2e, 0x61, 0x70,	0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,	0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69,	0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x52, 0x65, 0x70,	0x6c, 0x79, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x42, 0x3d, 0x0a, 0x08,	0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x50, 0x01, 0x5a, 0x2f, 0x67, 0x69, 0x74, 0x2e,	0x69, 0x6b, 0x75, 0x62, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65,	0x72, 0x2f, 0x70, 0x77, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x70,	0x69, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x3b, 0x63, 0x68, 0x61, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f,	0x74, 0x6f, 0x33,}var (	file_chat_proto_rawDescOnce sync.Once	file_chat_proto_rawDescData = file_chat_proto_rawDesc)func file_chat_proto_rawDescGZIP() []byte {	file_chat_proto_rawDescOnce.Do(func() {		file_chat_proto_rawDescData = protoimpl.X.CompressGZIP(file_chat_proto_rawDescData)	})	return file_chat_proto_rawDescData}var file_chat_proto_msgTypes = make([]protoimpl.MessageInfo, 19)var file_chat_proto_goTypes = []interface{}{	(*FindNotReplyNumReply)(nil),                 // 0: api.chat.FindNotReplyNumReply	(*FindRecommendPersonListRequest)(nil),       // 1: api.chat.FindRecommendPersonListRequest	(*FindRoomCardMsgRequest)(nil),               // 2: api.chat.FindRoomCardMsgRequest	(*PartnerGetAwardReply)(nil),                 // 3: api.chat.PartnerGetAwardReply	(*PartnerGetAwardRequest)(nil),               // 4: api.chat.PartnerGetAwardRequest	(*PartnerFindRoomListRequest)(nil),           // 5: api.chat.PartnerFindRoomListRequest	(*UserFindRoomListRequest)(nil),              // 6: api.chat.UserFindRoomListRequest	(*UserFindRoomListReply)(nil),                // 7: api.chat.UserFindRoomListReply	(*UserRoomInfo)(nil),                         // 8: api.chat.UserRoomInfo	(*PartnerFindRoomListReply)(nil),             // 9: api.chat.PartnerFindRoomListReply	(*PartnerRoomInfo)(nil),                      // 10: api.chat.PartnerRoomInfo	(*CreateChatRoomParam)(nil),                  // 11: api.chat.CreateChatRoomParam	(*SetBlackChatParam)(nil),                    // 12: api.chat.SetBlackChatParam	(*ReceiveRequest)(nil),                       // 13: api.chat.ReceiveRequest	(*ReceiveReply)(nil),                         // 14: api.chat.ReceiveReply	(*CheckUserPartnerIsRelationshipReply)(nil),  // 15: api.chat.CheckUserPartnerIsRelationshipReply	(*RoomReply)(nil),                            // 16: api.chat.RoomReply	(*FindChatRoomMsgRequest)(nil),               // 17: api.chat.FindChatRoomMsgRequest	(*FindChatRecordListRequest)(nil),            // 18: api.chat.FindChatRecordListRequest	(*common.UserAndPartnerIdentifyIdParam)(nil), // 19: api.common.UserAndPartnerIdentifyIdParam	(*common.ListPageAndPersonRequest)(nil),      // 20: api.common.ListPageAndPersonRequest	(*common.ReportRequest)(nil),                 // 21: api.common.ReportRequest	(*common.IdentifyIdRequest)(nil),             // 22: api.common.IdentifyIdRequest	(*common.RecommendPersonListReply)(nil),      // 23: api.common.RecommendPersonListReply	(*common.ChatRecordListReply)(nil),           // 24: api.common.ChatRecordListReply	(*common.ChatRoomMsg)(nil),                   // 25: api.common.ChatRoomMsg	(*emptypb.Empty)(nil),                        // 26: google.protobuf.Empty	(*common.RoomChatMsg)(nil),                   // 27: api.common.RoomChatMsg}var file_chat_proto_depIdxs = []int32{	8,  // 0: api.chat.UserFindRoomListReply.list:type_name -> api.chat.UserRoomInfo	10, // 1: api.chat.PartnerFindRoomListReply.list:type_name -> api.chat.PartnerRoomInfo	19, // 2: api.chat.Chat.CheckUserPartnerIsRelationship:input_type -> api.common.UserAndPartnerIdentifyIdParam	11, // 3: api.chat.Chat.CreateChatRoom:input_type -> api.chat.CreateChatRoomParam	20, // 4: api.chat.Chat.FindOnlinePersonList:input_type -> api.common.ListPageAndPersonRequest	1,  // 5: api.chat.Chat.FindRecommendPersonList:input_type -> api.chat.FindRecommendPersonListRequest	5,  // 6: api.chat.Chat.PartnerFindRoomList:input_type -> api.chat.PartnerFindRoomListRequest	6,  // 7: api.chat.Chat.UserFindRoomList:input_type -> api.chat.UserFindRoomListRequest	13, // 8: api.chat.Chat.Receive:input_type -> api.chat.ReceiveRequest	18, // 9: api.chat.Chat.FindChatRecordList:input_type -> api.chat.FindChatRecordListRequest	17, // 10: api.chat.Chat.FindChatRoomMsg:input_type -> api.chat.FindChatRoomMsgRequest	12, // 11: api.chat.Chat.SetBlackChat:input_type -> api.chat.SetBlackChatParam	12, // 12: api.chat.Chat.DeleteChat:input_type -> api.chat.SetBlackChatParam	21, // 13: api.chat.Chat.Report:input_type -> api.common.ReportRequest	4,  // 14: api.chat.Chat.PartnerGetAward:input_type -> api.chat.PartnerGetAwardRequest	2,  // 15: api.chat.Chat.FindRoomCardMsg:input_type -> api.chat.FindRoomCardMsgRequest	22, // 16: api.chat.Chat.FindNotReplyNum:input_type -> api.common.IdentifyIdRequest	15, // 17: api.chat.Chat.CheckUserPartnerIsRelationship:output_type -> api.chat.CheckUserPartnerIsRelationshipReply	16, // 18: api.chat.Chat.CreateChatRoom:output_type -> api.chat.RoomReply	23, // 19: api.chat.Chat.FindOnlinePersonList:output_type -> api.common.RecommendPersonListReply	23, // 20: api.chat.Chat.FindRecommendPersonList:output_type -> api.common.RecommendPersonListReply	9,  // 21: api.chat.Chat.PartnerFindRoomList:output_type -> api.chat.PartnerFindRoomListReply	7,  // 22: api.chat.Chat.UserFindRoomList:output_type -> api.chat.UserFindRoomListReply	14, // 23: api.chat.Chat.Receive:output_type -> api.chat.ReceiveReply	24, // 24: api.chat.Chat.FindChatRecordList:output_type -> api.common.ChatRecordListReply	25, // 25: api.chat.Chat.FindChatRoomMsg:output_type -> api.common.ChatRoomMsg	26, // 26: api.chat.Chat.SetBlackChat:output_type -> google.protobuf.Empty	26, // 27: api.chat.Chat.DeleteChat:output_type -> google.protobuf.Empty	26, // 28: api.chat.Chat.Report:output_type -> google.protobuf.Empty	3,  // 29: api.chat.Chat.PartnerGetAward:output_type -> api.chat.PartnerGetAwardReply	27, // 30: api.chat.Chat.FindRoomCardMsg:output_type -> api.common.RoomChatMsg	0,  // 31: api.chat.Chat.FindNotReplyNum:output_type -> api.chat.FindNotReplyNumReply	17, // [17:32] is the sub-list for method output_type	2,  // [2:17] is the sub-list for method input_type	2,  // [2:2] is the sub-list for extension type_name	2,  // [2:2] is the sub-list for extension extendee	0,  // [0:2] is the sub-list for field type_name}func init() { file_chat_proto_init() }func file_chat_proto_init() {	if File_chat_proto != nil {		return	}	if !protoimpl.UnsafeEnabled {		file_chat_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*FindNotReplyNumReply); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_chat_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*FindRecommendPersonListRequest); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_chat_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*FindRoomCardMsgRequest); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_chat_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*PartnerGetAwardReply); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_chat_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*PartnerGetAwardRequest); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_chat_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*PartnerFindRoomListRequest); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_chat_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*UserFindRoomListRequest); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_chat_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*UserFindRoomListReply); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_chat_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*UserRoomInfo); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_chat_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*PartnerFindRoomListReply); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_chat_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*PartnerRoomInfo); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_chat_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*CreateChatRoomParam); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_chat_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*SetBlackChatParam); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_chat_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*ReceiveRequest); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_chat_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*ReceiveReply); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_chat_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*CheckUserPartnerIsRelationshipReply); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_chat_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*RoomReply); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_chat_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*FindChatRoomMsgRequest); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_chat_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*FindChatRecordListRequest); 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_chat_proto_rawDesc,			NumEnums:      0,			NumMessages:   19,			NumExtensions: 0,			NumServices:   1,		},		GoTypes:           file_chat_proto_goTypes,		DependencyIndexes: file_chat_proto_depIdxs,		MessageInfos:      file_chat_proto_msgTypes,	}.Build()	File_chat_proto = out.File	file_chat_proto_rawDesc = nil	file_chat_proto_goTypes = nil	file_chat_proto_depIdxs = nil}
 |