// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 // protoc v3.17.1 // source: oidb0x88d.proto package oidb import ( reflect "reflect" sync "sync" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" ) 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 D88DGroupHeadPortraitInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PicId *uint32 `protobuf:"varint,1,opt,name=picId" json:"picId,omitempty"` } func (x *D88DGroupHeadPortraitInfo) Reset() { *x = D88DGroupHeadPortraitInfo{} if protoimpl.UnsafeEnabled { mi := &file_oidb0x88d_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *D88DGroupHeadPortraitInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*D88DGroupHeadPortraitInfo) ProtoMessage() {} func (x *D88DGroupHeadPortraitInfo) ProtoReflect() protoreflect.Message { mi := &file_oidb0x88d_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 D88DGroupHeadPortraitInfo.ProtoReflect.Descriptor instead. func (*D88DGroupHeadPortraitInfo) Descriptor() ([]byte, []int) { return file_oidb0x88d_proto_rawDescGZIP(), []int{0} } func (x *D88DGroupHeadPortraitInfo) GetPicId() uint32 { if x != nil && x.PicId != nil { return *x.PicId } return 0 } type D88DGroupHeadPortrait struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PicCount *uint32 `protobuf:"varint,1,opt,name=picCount" json:"picCount,omitempty"` MsgInfo []*D88DGroupHeadPortraitInfo `protobuf:"bytes,2,rep,name=msgInfo" json:"msgInfo,omitempty"` DefaultId *uint32 `protobuf:"varint,3,opt,name=defaultId" json:"defaultId,omitempty"` VerifyingPicCnt *uint32 `protobuf:"varint,4,opt,name=verifyingPicCnt" json:"verifyingPicCnt,omitempty"` MsgVerifyingPicInfo []*D88DGroupHeadPortraitInfo `protobuf:"bytes,5,rep,name=msgVerifyingPicInfo" json:"msgVerifyingPicInfo,omitempty"` } func (x *D88DGroupHeadPortrait) Reset() { *x = D88DGroupHeadPortrait{} if protoimpl.UnsafeEnabled { mi := &file_oidb0x88d_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *D88DGroupHeadPortrait) String() string { return protoimpl.X.MessageStringOf(x) } func (*D88DGroupHeadPortrait) ProtoMessage() {} func (x *D88DGroupHeadPortrait) ProtoReflect() protoreflect.Message { mi := &file_oidb0x88d_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 D88DGroupHeadPortrait.ProtoReflect.Descriptor instead. func (*D88DGroupHeadPortrait) Descriptor() ([]byte, []int) { return file_oidb0x88d_proto_rawDescGZIP(), []int{1} } func (x *D88DGroupHeadPortrait) GetPicCount() uint32 { if x != nil && x.PicCount != nil { return *x.PicCount } return 0 } func (x *D88DGroupHeadPortrait) GetMsgInfo() []*D88DGroupHeadPortraitInfo { if x != nil { return x.MsgInfo } return nil } func (x *D88DGroupHeadPortrait) GetDefaultId() uint32 { if x != nil && x.DefaultId != nil { return *x.DefaultId } return 0 } func (x *D88DGroupHeadPortrait) GetVerifyingPicCnt() uint32 { if x != nil && x.VerifyingPicCnt != nil { return *x.VerifyingPicCnt } return 0 } func (x *D88DGroupHeadPortrait) GetMsgVerifyingPicInfo() []*D88DGroupHeadPortraitInfo { if x != nil { return x.MsgVerifyingPicInfo } return nil } type D88DGroupExInfoOnly struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TribeId *uint32 `protobuf:"varint,1,opt,name=tribeId" json:"tribeId,omitempty"` MoneyForAddGroup *uint32 `protobuf:"varint,2,opt,name=moneyForAddGroup" json:"moneyForAddGroup,omitempty"` } func (x *D88DGroupExInfoOnly) Reset() { *x = D88DGroupExInfoOnly{} if protoimpl.UnsafeEnabled { mi := &file_oidb0x88d_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *D88DGroupExInfoOnly) String() string { return protoimpl.X.MessageStringOf(x) } func (*D88DGroupExInfoOnly) ProtoMessage() {} func (x *D88DGroupExInfoOnly) ProtoReflect() protoreflect.Message { mi := &file_oidb0x88d_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 D88DGroupExInfoOnly.ProtoReflect.Descriptor instead. func (*D88DGroupExInfoOnly) Descriptor() ([]byte, []int) { return file_oidb0x88d_proto_rawDescGZIP(), []int{2} } func (x *D88DGroupExInfoOnly) GetTribeId() uint32 { if x != nil && x.TribeId != nil { return *x.TribeId } return 0 } func (x *D88DGroupExInfoOnly) GetMoneyForAddGroup() uint32 { if x != nil && x.MoneyForAddGroup != nil { return *x.MoneyForAddGroup } return 0 } type D88DGroupInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields GroupOwner *uint64 `protobuf:"varint,1,opt,name=groupOwner" json:"groupOwner,omitempty"` GroupCreateTime *uint32 `protobuf:"varint,2,opt,name=groupCreateTime" json:"groupCreateTime,omitempty"` GroupFlag *uint32 `protobuf:"varint,3,opt,name=groupFlag" json:"groupFlag,omitempty"` GroupFlagExt *uint32 `protobuf:"varint,4,opt,name=groupFlagExt" json:"groupFlagExt,omitempty"` GroupMemberMaxNum *uint32 `protobuf:"varint,5,opt,name=groupMemberMaxNum" json:"groupMemberMaxNum,omitempty"` GroupMemberNum *uint32 `protobuf:"varint,6,opt,name=groupMemberNum" json:"groupMemberNum,omitempty"` GroupOption *uint32 `protobuf:"varint,7,opt,name=groupOption" json:"groupOption,omitempty"` GroupClassExt *uint32 `protobuf:"varint,8,opt,name=groupClassExt" json:"groupClassExt,omitempty"` GroupSpecialClass *uint32 `protobuf:"varint,9,opt,name=groupSpecialClass" json:"groupSpecialClass,omitempty"` GroupLevel *uint32 `protobuf:"varint,10,opt,name=groupLevel" json:"groupLevel,omitempty"` GroupFace *uint32 `protobuf:"varint,11,opt,name=groupFace" json:"groupFace,omitempty"` GroupDefaultPage *uint32 `protobuf:"varint,12,opt,name=groupDefaultPage" json:"groupDefaultPage,omitempty"` GroupInfoSeq *uint32 `protobuf:"varint,13,opt,name=groupInfoSeq" json:"groupInfoSeq,omitempty"` GroupRoamingTime *uint32 `protobuf:"varint,14,opt,name=groupRoamingTime" json:"groupRoamingTime,omitempty"` GroupName []byte `protobuf:"bytes,15,opt,name=groupName" json:"groupName,omitempty"` GroupMemo []byte `protobuf:"bytes,16,opt,name=groupMemo" json:"groupMemo,omitempty"` GroupFingerMemo []byte `protobuf:"bytes,17,opt,name=groupFingerMemo" json:"groupFingerMemo,omitempty"` GroupClassText []byte `protobuf:"bytes,18,opt,name=groupClassText" json:"groupClassText,omitempty"` GroupAllianceCode []uint32 `protobuf:"varint,19,rep,name=groupAllianceCode" json:"groupAllianceCode,omitempty"` GroupExtraAadmNum *uint32 `protobuf:"varint,20,opt,name=groupExtraAadmNum" json:"groupExtraAadmNum,omitempty"` GroupUin *uint64 `protobuf:"varint,21,opt,name=groupUin" json:"groupUin,omitempty"` GroupCurMsgSeq *uint32 `protobuf:"varint,22,opt,name=groupCurMsgSeq" json:"groupCurMsgSeq,omitempty"` GroupLastMsgTime *uint32 `protobuf:"varint,23,opt,name=groupLastMsgTime" json:"groupLastMsgTime,omitempty"` GroupQuestion []byte `protobuf:"bytes,24,opt,name=groupQuestion" json:"groupQuestion,omitempty"` GroupAnswer []byte `protobuf:"bytes,25,opt,name=groupAnswer" json:"groupAnswer,omitempty"` GroupVisitorMaxNum *uint32 `protobuf:"varint,26,opt,name=groupVisitorMaxNum" json:"groupVisitorMaxNum,omitempty"` GroupVisitorCurNum *uint32 `protobuf:"varint,27,opt,name=groupVisitorCurNum" json:"groupVisitorCurNum,omitempty"` LevelNameSeq *uint32 `protobuf:"varint,28,opt,name=levelNameSeq" json:"levelNameSeq,omitempty"` GroupAdminMaxNum *uint32 `protobuf:"varint,29,opt,name=groupAdminMaxNum" json:"groupAdminMaxNum,omitempty"` GroupAioSkinTimestamp *uint32 `protobuf:"varint,30,opt,name=groupAioSkinTimestamp" json:"groupAioSkinTimestamp,omitempty"` GroupBoardSkinTimestamp *uint32 `protobuf:"varint,31,opt,name=groupBoardSkinTimestamp" json:"groupBoardSkinTimestamp,omitempty"` GroupAioSkinUrl []byte `protobuf:"bytes,32,opt,name=groupAioSkinUrl" json:"groupAioSkinUrl,omitempty"` GroupBoardSkinUrl []byte `protobuf:"bytes,33,opt,name=groupBoardSkinUrl" json:"groupBoardSkinUrl,omitempty"` GroupCoverSkinTimestamp *uint32 `protobuf:"varint,34,opt,name=groupCoverSkinTimestamp" json:"groupCoverSkinTimestamp,omitempty"` GroupCoverSkinUrl []byte `protobuf:"bytes,35,opt,name=groupCoverSkinUrl" json:"groupCoverSkinUrl,omitempty"` GroupGrade *uint32 `protobuf:"varint,36,opt,name=groupGrade" json:"groupGrade,omitempty"` ActiveMemberNum *uint32 `protobuf:"varint,37,opt,name=activeMemberNum" json:"activeMemberNum,omitempty"` CertificationType *uint32 `protobuf:"varint,38,opt,name=certificationType" json:"certificationType,omitempty"` CertificationText []byte `protobuf:"bytes,39,opt,name=certificationText" json:"certificationText,omitempty"` GroupRichFingerMemo []byte `protobuf:"bytes,40,opt,name=groupRichFingerMemo" json:"groupRichFingerMemo,omitempty"` TagRecord []*D88DTagRecord `protobuf:"bytes,41,rep,name=tagRecord" json:"tagRecord,omitempty"` GroupGeoInfo *D88DGroupGeoInfo `protobuf:"bytes,42,opt,name=groupGeoInfo" json:"groupGeoInfo,omitempty"` HeadPortraitSeq *uint32 `protobuf:"varint,43,opt,name=headPortraitSeq" json:"headPortraitSeq,omitempty"` MsgHeadPortrait *D88DGroupHeadPortrait `protobuf:"bytes,44,opt,name=msgHeadPortrait" json:"msgHeadPortrait,omitempty"` ShutupTimestamp *uint32 `protobuf:"varint,45,opt,name=shutupTimestamp" json:"shutupTimestamp,omitempty"` ShutupTimestampMe *uint32 `protobuf:"varint,46,opt,name=shutupTimestampMe" json:"shutupTimestampMe,omitempty"` CreateSourceFlag *uint32 `protobuf:"varint,47,opt,name=createSourceFlag" json:"createSourceFlag,omitempty"` CmduinMsgSeq *uint32 `protobuf:"varint,48,opt,name=cmduinMsgSeq" json:"cmduinMsgSeq,omitempty"` CmduinJoinTime *uint32 `protobuf:"varint,49,opt,name=cmduinJoinTime" json:"cmduinJoinTime,omitempty"` CmduinUinFlag *uint32 `protobuf:"varint,50,opt,name=cmduinUinFlag" json:"cmduinUinFlag,omitempty"` CmduinFlagEx *uint32 `protobuf:"varint,51,opt,name=cmduinFlagEx" json:"cmduinFlagEx,omitempty"` CmduinNewMobileFlag *uint32 `protobuf:"varint,52,opt,name=cmduinNewMobileFlag" json:"cmduinNewMobileFlag,omitempty"` CmduinReadMsgSeq *uint32 `protobuf:"varint,53,opt,name=cmduinReadMsgSeq" json:"cmduinReadMsgSeq,omitempty"` CmduinLastMsgTime *uint32 `protobuf:"varint,54,opt,name=cmduinLastMsgTime" json:"cmduinLastMsgTime,omitempty"` GroupTypeFlag *uint32 `protobuf:"varint,55,opt,name=groupTypeFlag" json:"groupTypeFlag,omitempty"` AppPrivilegeFlag *uint32 `protobuf:"varint,56,opt,name=appPrivilegeFlag" json:"appPrivilegeFlag,omitempty"` StGroupExInfo *D88DGroupExInfoOnly `protobuf:"bytes,57,opt,name=stGroupExInfo" json:"stGroupExInfo,omitempty"` GroupSecLevel *uint32 `protobuf:"varint,58,opt,name=groupSecLevel" json:"groupSecLevel,omitempty"` GroupSecLevelInfo *uint32 `protobuf:"varint,59,opt,name=groupSecLevelInfo" json:"groupSecLevelInfo,omitempty"` CmduinPrivilege *uint32 `protobuf:"varint,60,opt,name=cmduinPrivilege" json:"cmduinPrivilege,omitempty"` PoidInfo []byte `protobuf:"bytes,61,opt,name=poidInfo" json:"poidInfo,omitempty"` CmduinFlagEx2 *uint32 `protobuf:"varint,62,opt,name=cmduinFlagEx2" json:"cmduinFlagEx2,omitempty"` ConfUin *uint64 `protobuf:"varint,63,opt,name=confUin" json:"confUin,omitempty"` ConfMaxMsgSeq *uint32 `protobuf:"varint,64,opt,name=confMaxMsgSeq" json:"confMaxMsgSeq,omitempty"` ConfToGroupTime *uint32 `protobuf:"varint,65,opt,name=confToGroupTime" json:"confToGroupTime,omitempty"` PasswordRedbagTime *uint32 `protobuf:"varint,66,opt,name=passwordRedbagTime" json:"passwordRedbagTime,omitempty"` SubscriptionUin *uint64 `protobuf:"varint,67,opt,name=subscriptionUin" json:"subscriptionUin,omitempty"` MemberListChangeSeq *uint32 `protobuf:"varint,68,opt,name=memberListChangeSeq" json:"memberListChangeSeq,omitempty"` MembercardSeq *uint32 `protobuf:"varint,69,opt,name=membercardSeq" json:"membercardSeq,omitempty"` RootId *uint64 `protobuf:"varint,70,opt,name=rootId" json:"rootId,omitempty"` ParentId *uint64 `protobuf:"varint,71,opt,name=parentId" json:"parentId,omitempty"` TeamSeq *uint32 `protobuf:"varint,72,opt,name=teamSeq" json:"teamSeq,omitempty"` HistoryMsgBeginTime *uint64 `protobuf:"varint,73,opt,name=historyMsgBeginTime" json:"historyMsgBeginTime,omitempty"` InviteNoAuthNumLimit *uint64 `protobuf:"varint,74,opt,name=inviteNoAuthNumLimit" json:"inviteNoAuthNumLimit,omitempty"` CmduinHistoryMsgSeq *uint32 `protobuf:"varint,75,opt,name=cmduinHistoryMsgSeq" json:"cmduinHistoryMsgSeq,omitempty"` CmduinJoinMsgSeq *uint32 `protobuf:"varint,76,opt,name=cmduinJoinMsgSeq" json:"cmduinJoinMsgSeq,omitempty"` GroupFlagext3 *uint32 `protobuf:"varint,77,opt,name=groupFlagext3" json:"groupFlagext3,omitempty"` GroupOpenAppid *uint32 `protobuf:"varint,78,opt,name=groupOpenAppid" json:"groupOpenAppid,omitempty"` IsConfGroup *uint32 `protobuf:"varint,79,opt,name=isConfGroup" json:"isConfGroup,omitempty"` IsModifyConfGroupFace *uint32 `protobuf:"varint,80,opt,name=isModifyConfGroupFace" json:"isModifyConfGroupFace,omitempty"` IsModifyConfGroupName *uint32 `protobuf:"varint,81,opt,name=isModifyConfGroupName" json:"isModifyConfGroupName,omitempty"` NoFingerOpenFlag *uint32 `protobuf:"varint,82,opt,name=noFingerOpenFlag" json:"noFingerOpenFlag,omitempty"` NoCodeFingerOpenFlag *uint32 `protobuf:"varint,83,opt,name=noCodeFingerOpenFlag" json:"noCodeFingerOpenFlag,omitempty"` } func (x *D88DGroupInfo) Reset() { *x = D88DGroupInfo{} if protoimpl.UnsafeEnabled { mi := &file_oidb0x88d_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *D88DGroupInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*D88DGroupInfo) ProtoMessage() {} func (x *D88DGroupInfo) ProtoReflect() protoreflect.Message { mi := &file_oidb0x88d_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 D88DGroupInfo.ProtoReflect.Descriptor instead. func (*D88DGroupInfo) Descriptor() ([]byte, []int) { return file_oidb0x88d_proto_rawDescGZIP(), []int{3} } func (x *D88DGroupInfo) GetGroupOwner() uint64 { if x != nil && x.GroupOwner != nil { return *x.GroupOwner } return 0 } func (x *D88DGroupInfo) GetGroupCreateTime() uint32 { if x != nil && x.GroupCreateTime != nil { return *x.GroupCreateTime } return 0 } func (x *D88DGroupInfo) GetGroupFlag() uint32 { if x != nil && x.GroupFlag != nil { return *x.GroupFlag } return 0 } func (x *D88DGroupInfo) GetGroupFlagExt() uint32 { if x != nil && x.GroupFlagExt != nil { return *x.GroupFlagExt } return 0 } func (x *D88DGroupInfo) GetGroupMemberMaxNum() uint32 { if x != nil && x.GroupMemberMaxNum != nil { return *x.GroupMemberMaxNum } return 0 } func (x *D88DGroupInfo) GetGroupMemberNum() uint32 { if x != nil && x.GroupMemberNum != nil { return *x.GroupMemberNum } return 0 } func (x *D88DGroupInfo) GetGroupOption() uint32 { if x != nil && x.GroupOption != nil { return *x.GroupOption } return 0 } func (x *D88DGroupInfo) GetGroupClassExt() uint32 { if x != nil && x.GroupClassExt != nil { return *x.GroupClassExt } return 0 } func (x *D88DGroupInfo) GetGroupSpecialClass() uint32 { if x != nil && x.GroupSpecialClass != nil { return *x.GroupSpecialClass } return 0 } func (x *D88DGroupInfo) GetGroupLevel() uint32 { if x != nil && x.GroupLevel != nil { return *x.GroupLevel } return 0 } func (x *D88DGroupInfo) GetGroupFace() uint32 { if x != nil && x.GroupFace != nil { return *x.GroupFace } return 0 } func (x *D88DGroupInfo) GetGroupDefaultPage() uint32 { if x != nil && x.GroupDefaultPage != nil { return *x.GroupDefaultPage } return 0 } func (x *D88DGroupInfo) GetGroupInfoSeq() uint32 { if x != nil && x.GroupInfoSeq != nil { return *x.GroupInfoSeq } return 0 } func (x *D88DGroupInfo) GetGroupRoamingTime() uint32 { if x != nil && x.GroupRoamingTime != nil { return *x.GroupRoamingTime } return 0 } func (x *D88DGroupInfo) GetGroupName() []byte { if x != nil { return x.GroupName } return nil } func (x *D88DGroupInfo) GetGroupMemo() []byte { if x != nil { return x.GroupMemo } return nil } func (x *D88DGroupInfo) GetGroupFingerMemo() []byte { if x != nil { return x.GroupFingerMemo } return nil } func (x *D88DGroupInfo) GetGroupClassText() []byte { if x != nil { return x.GroupClassText } return nil } func (x *D88DGroupInfo) GetGroupAllianceCode() []uint32 { if x != nil { return x.GroupAllianceCode } return nil } func (x *D88DGroupInfo) GetGroupExtraAadmNum() uint32 { if x != nil && x.GroupExtraAadmNum != nil { return *x.GroupExtraAadmNum } return 0 } func (x *D88DGroupInfo) GetGroupUin() uint64 { if x != nil && x.GroupUin != nil { return *x.GroupUin } return 0 } func (x *D88DGroupInfo) GetGroupCurMsgSeq() uint32 { if x != nil && x.GroupCurMsgSeq != nil { return *x.GroupCurMsgSeq } return 0 } func (x *D88DGroupInfo) GetGroupLastMsgTime() uint32 { if x != nil && x.GroupLastMsgTime != nil { return *x.GroupLastMsgTime } return 0 } func (x *D88DGroupInfo) GetGroupQuestion() []byte { if x != nil { return x.GroupQuestion } return nil } func (x *D88DGroupInfo) GetGroupAnswer() []byte { if x != nil { return x.GroupAnswer } return nil } func (x *D88DGroupInfo) GetGroupVisitorMaxNum() uint32 { if x != nil && x.GroupVisitorMaxNum != nil { return *x.GroupVisitorMaxNum } return 0 } func (x *D88DGroupInfo) GetGroupVisitorCurNum() uint32 { if x != nil && x.GroupVisitorCurNum != nil { return *x.GroupVisitorCurNum } return 0 } func (x *D88DGroupInfo) GetLevelNameSeq() uint32 { if x != nil && x.LevelNameSeq != nil { return *x.LevelNameSeq } return 0 } func (x *D88DGroupInfo) GetGroupAdminMaxNum() uint32 { if x != nil && x.GroupAdminMaxNum != nil { return *x.GroupAdminMaxNum } return 0 } func (x *D88DGroupInfo) GetGroupAioSkinTimestamp() uint32 { if x != nil && x.GroupAioSkinTimestamp != nil { return *x.GroupAioSkinTimestamp } return 0 } func (x *D88DGroupInfo) GetGroupBoardSkinTimestamp() uint32 { if x != nil && x.GroupBoardSkinTimestamp != nil { return *x.GroupBoardSkinTimestamp } return 0 } func (x *D88DGroupInfo) GetGroupAioSkinUrl() []byte { if x != nil { return x.GroupAioSkinUrl } return nil } func (x *D88DGroupInfo) GetGroupBoardSkinUrl() []byte { if x != nil { return x.GroupBoardSkinUrl } return nil } func (x *D88DGroupInfo) GetGroupCoverSkinTimestamp() uint32 { if x != nil && x.GroupCoverSkinTimestamp != nil { return *x.GroupCoverSkinTimestamp } return 0 } func (x *D88DGroupInfo) GetGroupCoverSkinUrl() []byte { if x != nil { return x.GroupCoverSkinUrl } return nil } func (x *D88DGroupInfo) GetGroupGrade() uint32 { if x != nil && x.GroupGrade != nil { return *x.GroupGrade } return 0 } func (x *D88DGroupInfo) GetActiveMemberNum() uint32 { if x != nil && x.ActiveMemberNum != nil { return *x.ActiveMemberNum } return 0 } func (x *D88DGroupInfo) GetCertificationType() uint32 { if x != nil && x.CertificationType != nil { return *x.CertificationType } return 0 } func (x *D88DGroupInfo) GetCertificationText() []byte { if x != nil { return x.CertificationText } return nil } func (x *D88DGroupInfo) GetGroupRichFingerMemo() []byte { if x != nil { return x.GroupRichFingerMemo } return nil } func (x *D88DGroupInfo) GetTagRecord() []*D88DTagRecord { if x != nil { return x.TagRecord } return nil } func (x *D88DGroupInfo) GetGroupGeoInfo() *D88DGroupGeoInfo { if x != nil { return x.GroupGeoInfo } return nil } func (x *D88DGroupInfo) GetHeadPortraitSeq() uint32 { if x != nil && x.HeadPortraitSeq != nil { return *x.HeadPortraitSeq } return 0 } func (x *D88DGroupInfo) GetMsgHeadPortrait() *D88DGroupHeadPortrait { if x != nil { return x.MsgHeadPortrait } return nil } func (x *D88DGroupInfo) GetShutupTimestamp() uint32 { if x != nil && x.ShutupTimestamp != nil { return *x.ShutupTimestamp } return 0 } func (x *D88DGroupInfo) GetShutupTimestampMe() uint32 { if x != nil && x.ShutupTimestampMe != nil { return *x.ShutupTimestampMe } return 0 } func (x *D88DGroupInfo) GetCreateSourceFlag() uint32 { if x != nil && x.CreateSourceFlag != nil { return *x.CreateSourceFlag } return 0 } func (x *D88DGroupInfo) GetCmduinMsgSeq() uint32 { if x != nil && x.CmduinMsgSeq != nil { return *x.CmduinMsgSeq } return 0 } func (x *D88DGroupInfo) GetCmduinJoinTime() uint32 { if x != nil && x.CmduinJoinTime != nil { return *x.CmduinJoinTime } return 0 } func (x *D88DGroupInfo) GetCmduinUinFlag() uint32 { if x != nil && x.CmduinUinFlag != nil { return *x.CmduinUinFlag } return 0 } func (x *D88DGroupInfo) GetCmduinFlagEx() uint32 { if x != nil && x.CmduinFlagEx != nil { return *x.CmduinFlagEx } return 0 } func (x *D88DGroupInfo) GetCmduinNewMobileFlag() uint32 { if x != nil && x.CmduinNewMobileFlag != nil { return *x.CmduinNewMobileFlag } return 0 } func (x *D88DGroupInfo) GetCmduinReadMsgSeq() uint32 { if x != nil && x.CmduinReadMsgSeq != nil { return *x.CmduinReadMsgSeq } return 0 } func (x *D88DGroupInfo) GetCmduinLastMsgTime() uint32 { if x != nil && x.CmduinLastMsgTime != nil { return *x.CmduinLastMsgTime } return 0 } func (x *D88DGroupInfo) GetGroupTypeFlag() uint32 { if x != nil && x.GroupTypeFlag != nil { return *x.GroupTypeFlag } return 0 } func (x *D88DGroupInfo) GetAppPrivilegeFlag() uint32 { if x != nil && x.AppPrivilegeFlag != nil { return *x.AppPrivilegeFlag } return 0 } func (x *D88DGroupInfo) GetStGroupExInfo() *D88DGroupExInfoOnly { if x != nil { return x.StGroupExInfo } return nil } func (x *D88DGroupInfo) GetGroupSecLevel() uint32 { if x != nil && x.GroupSecLevel != nil { return *x.GroupSecLevel } return 0 } func (x *D88DGroupInfo) GetGroupSecLevelInfo() uint32 { if x != nil && x.GroupSecLevelInfo != nil { return *x.GroupSecLevelInfo } return 0 } func (x *D88DGroupInfo) GetCmduinPrivilege() uint32 { if x != nil && x.CmduinPrivilege != nil { return *x.CmduinPrivilege } return 0 } func (x *D88DGroupInfo) GetPoidInfo() []byte { if x != nil { return x.PoidInfo } return nil } func (x *D88DGroupInfo) GetCmduinFlagEx2() uint32 { if x != nil && x.CmduinFlagEx2 != nil { return *x.CmduinFlagEx2 } return 0 } func (x *D88DGroupInfo) GetConfUin() uint64 { if x != nil && x.ConfUin != nil { return *x.ConfUin } return 0 } func (x *D88DGroupInfo) GetConfMaxMsgSeq() uint32 { if x != nil && x.ConfMaxMsgSeq != nil { return *x.ConfMaxMsgSeq } return 0 } func (x *D88DGroupInfo) GetConfToGroupTime() uint32 { if x != nil && x.ConfToGroupTime != nil { return *x.ConfToGroupTime } return 0 } func (x *D88DGroupInfo) GetPasswordRedbagTime() uint32 { if x != nil && x.PasswordRedbagTime != nil { return *x.PasswordRedbagTime } return 0 } func (x *D88DGroupInfo) GetSubscriptionUin() uint64 { if x != nil && x.SubscriptionUin != nil { return *x.SubscriptionUin } return 0 } func (x *D88DGroupInfo) GetMemberListChangeSeq() uint32 { if x != nil && x.MemberListChangeSeq != nil { return *x.MemberListChangeSeq } return 0 } func (x *D88DGroupInfo) GetMembercardSeq() uint32 { if x != nil && x.MembercardSeq != nil { return *x.MembercardSeq } return 0 } func (x *D88DGroupInfo) GetRootId() uint64 { if x != nil && x.RootId != nil { return *x.RootId } return 0 } func (x *D88DGroupInfo) GetParentId() uint64 { if x != nil && x.ParentId != nil { return *x.ParentId } return 0 } func (x *D88DGroupInfo) GetTeamSeq() uint32 { if x != nil && x.TeamSeq != nil { return *x.TeamSeq } return 0 } func (x *D88DGroupInfo) GetHistoryMsgBeginTime() uint64 { if x != nil && x.HistoryMsgBeginTime != nil { return *x.HistoryMsgBeginTime } return 0 } func (x *D88DGroupInfo) GetInviteNoAuthNumLimit() uint64 { if x != nil && x.InviteNoAuthNumLimit != nil { return *x.InviteNoAuthNumLimit } return 0 } func (x *D88DGroupInfo) GetCmduinHistoryMsgSeq() uint32 { if x != nil && x.CmduinHistoryMsgSeq != nil { return *x.CmduinHistoryMsgSeq } return 0 } func (x *D88DGroupInfo) GetCmduinJoinMsgSeq() uint32 { if x != nil && x.CmduinJoinMsgSeq != nil { return *x.CmduinJoinMsgSeq } return 0 } func (x *D88DGroupInfo) GetGroupFlagext3() uint32 { if x != nil && x.GroupFlagext3 != nil { return *x.GroupFlagext3 } return 0 } func (x *D88DGroupInfo) GetGroupOpenAppid() uint32 { if x != nil && x.GroupOpenAppid != nil { return *x.GroupOpenAppid } return 0 } func (x *D88DGroupInfo) GetIsConfGroup() uint32 { if x != nil && x.IsConfGroup != nil { return *x.IsConfGroup } return 0 } func (x *D88DGroupInfo) GetIsModifyConfGroupFace() uint32 { if x != nil && x.IsModifyConfGroupFace != nil { return *x.IsModifyConfGroupFace } return 0 } func (x *D88DGroupInfo) GetIsModifyConfGroupName() uint32 { if x != nil && x.IsModifyConfGroupName != nil { return *x.IsModifyConfGroupName } return 0 } func (x *D88DGroupInfo) GetNoFingerOpenFlag() uint32 { if x != nil && x.NoFingerOpenFlag != nil { return *x.NoFingerOpenFlag } return 0 } func (x *D88DGroupInfo) GetNoCodeFingerOpenFlag() uint32 { if x != nil && x.NoCodeFingerOpenFlag != nil { return *x.NoCodeFingerOpenFlag } return 0 } type ReqGroupInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields GroupCode *uint64 `protobuf:"varint,1,opt,name=groupCode" json:"groupCode,omitempty"` Stgroupinfo *D88DGroupInfo `protobuf:"bytes,2,opt,name=stgroupinfo" json:"stgroupinfo,omitempty"` LastGetGroupNameTime *uint32 `protobuf:"varint,3,opt,name=lastGetGroupNameTime" json:"lastGetGroupNameTime,omitempty"` } func (x *ReqGroupInfo) Reset() { *x = ReqGroupInfo{} if protoimpl.UnsafeEnabled { mi := &file_oidb0x88d_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReqGroupInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReqGroupInfo) ProtoMessage() {} func (x *ReqGroupInfo) ProtoReflect() protoreflect.Message { mi := &file_oidb0x88d_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 ReqGroupInfo.ProtoReflect.Descriptor instead. func (*ReqGroupInfo) Descriptor() ([]byte, []int) { return file_oidb0x88d_proto_rawDescGZIP(), []int{4} } func (x *ReqGroupInfo) GetGroupCode() uint64 { if x != nil && x.GroupCode != nil { return *x.GroupCode } return 0 } func (x *ReqGroupInfo) GetStgroupinfo() *D88DGroupInfo { if x != nil { return x.Stgroupinfo } return nil } func (x *ReqGroupInfo) GetLastGetGroupNameTime() uint32 { if x != nil && x.LastGetGroupNameTime != nil { return *x.LastGetGroupNameTime } return 0 } type D88DReqBody struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AppId *uint32 `protobuf:"varint,1,opt,name=appId" json:"appId,omitempty"` ReqGroupInfo []*ReqGroupInfo `protobuf:"bytes,2,rep,name=reqGroupInfo" json:"reqGroupInfo,omitempty"` PcClientVersion *uint32 `protobuf:"varint,3,opt,name=pcClientVersion" json:"pcClientVersion,omitempty"` } func (x *D88DReqBody) Reset() { *x = D88DReqBody{} if protoimpl.UnsafeEnabled { mi := &file_oidb0x88d_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *D88DReqBody) String() string { return protoimpl.X.MessageStringOf(x) } func (*D88DReqBody) ProtoMessage() {} func (x *D88DReqBody) ProtoReflect() protoreflect.Message { mi := &file_oidb0x88d_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 D88DReqBody.ProtoReflect.Descriptor instead. func (*D88DReqBody) Descriptor() ([]byte, []int) { return file_oidb0x88d_proto_rawDescGZIP(), []int{5} } func (x *D88DReqBody) GetAppId() uint32 { if x != nil && x.AppId != nil { return *x.AppId } return 0 } func (x *D88DReqBody) GetReqGroupInfo() []*ReqGroupInfo { if x != nil { return x.ReqGroupInfo } return nil } func (x *D88DReqBody) GetPcClientVersion() uint32 { if x != nil && x.PcClientVersion != nil { return *x.PcClientVersion } return 0 } type RspGroupInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields GroupCode *uint64 `protobuf:"varint,1,opt,name=groupCode" json:"groupCode,omitempty"` Result *uint32 `protobuf:"varint,2,opt,name=result" json:"result,omitempty"` GroupInfo *D88DGroupInfo `protobuf:"bytes,3,opt,name=groupInfo" json:"groupInfo,omitempty"` } func (x *RspGroupInfo) Reset() { *x = RspGroupInfo{} if protoimpl.UnsafeEnabled { mi := &file_oidb0x88d_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RspGroupInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*RspGroupInfo) ProtoMessage() {} func (x *RspGroupInfo) ProtoReflect() protoreflect.Message { mi := &file_oidb0x88d_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 RspGroupInfo.ProtoReflect.Descriptor instead. func (*RspGroupInfo) Descriptor() ([]byte, []int) { return file_oidb0x88d_proto_rawDescGZIP(), []int{6} } func (x *RspGroupInfo) GetGroupCode() uint64 { if x != nil && x.GroupCode != nil { return *x.GroupCode } return 0 } func (x *RspGroupInfo) GetResult() uint32 { if x != nil && x.Result != nil { return *x.Result } return 0 } func (x *RspGroupInfo) GetGroupInfo() *D88DGroupInfo { if x != nil { return x.GroupInfo } return nil } type D88DRspBody struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RspGroupInfo []*RspGroupInfo `protobuf:"bytes,1,rep,name=rspGroupInfo" json:"rspGroupInfo,omitempty"` StrErrorInfo []byte `protobuf:"bytes,2,opt,name=strErrorInfo" json:"strErrorInfo,omitempty"` } func (x *D88DRspBody) Reset() { *x = D88DRspBody{} if protoimpl.UnsafeEnabled { mi := &file_oidb0x88d_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *D88DRspBody) String() string { return protoimpl.X.MessageStringOf(x) } func (*D88DRspBody) ProtoMessage() {} func (x *D88DRspBody) ProtoReflect() protoreflect.Message { mi := &file_oidb0x88d_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 D88DRspBody.ProtoReflect.Descriptor instead. func (*D88DRspBody) Descriptor() ([]byte, []int) { return file_oidb0x88d_proto_rawDescGZIP(), []int{7} } func (x *D88DRspBody) GetRspGroupInfo() []*RspGroupInfo { if x != nil { return x.RspGroupInfo } return nil } func (x *D88DRspBody) GetStrErrorInfo() []byte { if x != nil { return x.StrErrorInfo } return nil } type D88DTagRecord struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields FromUin *uint64 `protobuf:"varint,1,opt,name=fromUin" json:"fromUin,omitempty"` GroupCode *uint64 `protobuf:"varint,2,opt,name=groupCode" json:"groupCode,omitempty"` TagId []byte `protobuf:"bytes,3,opt,name=tagId" json:"tagId,omitempty"` SetTime *uint64 `protobuf:"varint,4,opt,name=setTime" json:"setTime,omitempty"` GoodNum *uint32 `protobuf:"varint,5,opt,name=goodNum" json:"goodNum,omitempty"` BadNum *uint32 `protobuf:"varint,6,opt,name=badNum" json:"badNum,omitempty"` TagLen *uint32 `protobuf:"varint,7,opt,name=tagLen" json:"tagLen,omitempty"` TagValue []byte `protobuf:"bytes,8,opt,name=tagValue" json:"tagValue,omitempty"` } func (x *D88DTagRecord) Reset() { *x = D88DTagRecord{} if protoimpl.UnsafeEnabled { mi := &file_oidb0x88d_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *D88DTagRecord) String() string { return protoimpl.X.MessageStringOf(x) } func (*D88DTagRecord) ProtoMessage() {} func (x *D88DTagRecord) ProtoReflect() protoreflect.Message { mi := &file_oidb0x88d_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 D88DTagRecord.ProtoReflect.Descriptor instead. func (*D88DTagRecord) Descriptor() ([]byte, []int) { return file_oidb0x88d_proto_rawDescGZIP(), []int{8} } func (x *D88DTagRecord) GetFromUin() uint64 { if x != nil && x.FromUin != nil { return *x.FromUin } return 0 } func (x *D88DTagRecord) GetGroupCode() uint64 { if x != nil && x.GroupCode != nil { return *x.GroupCode } return 0 } func (x *D88DTagRecord) GetTagId() []byte { if x != nil { return x.TagId } return nil } func (x *D88DTagRecord) GetSetTime() uint64 { if x != nil && x.SetTime != nil { return *x.SetTime } return 0 } func (x *D88DTagRecord) GetGoodNum() uint32 { if x != nil && x.GoodNum != nil { return *x.GoodNum } return 0 } func (x *D88DTagRecord) GetBadNum() uint32 { if x != nil && x.BadNum != nil { return *x.BadNum } return 0 } func (x *D88DTagRecord) GetTagLen() uint32 { if x != nil && x.TagLen != nil { return *x.TagLen } return 0 } func (x *D88DTagRecord) GetTagValue() []byte { if x != nil { return x.TagValue } return nil } type D88DGroupGeoInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Owneruin *uint64 `protobuf:"varint,1,opt,name=owneruin" json:"owneruin,omitempty"` Settime *uint32 `protobuf:"varint,2,opt,name=settime" json:"settime,omitempty"` Cityid *uint32 `protobuf:"varint,3,opt,name=cityid" json:"cityid,omitempty"` Longitude *int64 `protobuf:"varint,4,opt,name=longitude" json:"longitude,omitempty"` Latitude *int64 `protobuf:"varint,5,opt,name=latitude" json:"latitude,omitempty"` Geocontent []byte `protobuf:"bytes,6,opt,name=geocontent" json:"geocontent,omitempty"` PoiId *uint64 `protobuf:"varint,7,opt,name=poiId" json:"poiId,omitempty"` } func (x *D88DGroupGeoInfo) Reset() { *x = D88DGroupGeoInfo{} if protoimpl.UnsafeEnabled { mi := &file_oidb0x88d_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *D88DGroupGeoInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*D88DGroupGeoInfo) ProtoMessage() {} func (x *D88DGroupGeoInfo) ProtoReflect() protoreflect.Message { mi := &file_oidb0x88d_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 D88DGroupGeoInfo.ProtoReflect.Descriptor instead. func (*D88DGroupGeoInfo) Descriptor() ([]byte, []int) { return file_oidb0x88d_proto_rawDescGZIP(), []int{9} } func (x *D88DGroupGeoInfo) GetOwneruin() uint64 { if x != nil && x.Owneruin != nil { return *x.Owneruin } return 0 } func (x *D88DGroupGeoInfo) GetSettime() uint32 { if x != nil && x.Settime != nil { return *x.Settime } return 0 } func (x *D88DGroupGeoInfo) GetCityid() uint32 { if x != nil && x.Cityid != nil { return *x.Cityid } return 0 } func (x *D88DGroupGeoInfo) GetLongitude() int64 { if x != nil && x.Longitude != nil { return *x.Longitude } return 0 } func (x *D88DGroupGeoInfo) GetLatitude() int64 { if x != nil && x.Latitude != nil { return *x.Latitude } return 0 } func (x *D88DGroupGeoInfo) GetGeocontent() []byte { if x != nil { return x.Geocontent } return nil } func (x *D88DGroupGeoInfo) GetPoiId() uint64 { if x != nil && x.PoiId != nil { return *x.PoiId } return 0 } var File_oidb0x88d_proto protoreflect.FileDescriptor var file_oidb0x88d_proto_rawDesc = []byte{ 0x0a, 0x0f, 0x6f, 0x69, 0x64, 0x62, 0x30, 0x78, 0x38, 0x38, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x31, 0x0a, 0x19, 0x44, 0x38, 0x38, 0x44, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x65, 0x61, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x72, 0x61, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x69, 0x63, 0x49, 0x64, 0x22, 0xff, 0x01, 0x0a, 0x15, 0x44, 0x38, 0x38, 0x44, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x65, 0x61, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x72, 0x61, 0x69, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x69, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x69, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x44, 0x38, 0x38, 0x44, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x65, 0x61, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x72, 0x61, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x63, 0x43, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x63, 0x43, 0x6e, 0x74, 0x12, 0x4c, 0x0a, 0x13, 0x6d, 0x73, 0x67, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x44, 0x38, 0x38, 0x44, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x65, 0x61, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x72, 0x61, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x13, 0x6d, 0x73, 0x67, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x5b, 0x0a, 0x13, 0x44, 0x38, 0x38, 0x44, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x62, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x72, 0x69, 0x62, 0x65, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0xaa, 0x1b, 0x0a, 0x0d, 0x44, 0x38, 0x38, 0x44, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x6c, 0x61, 0x67, 0x45, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x6c, 0x61, 0x67, 0x45, 0x78, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x45, 0x78, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x45, 0x78, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x61, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x61, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x65, 0x71, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x10, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x6f, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x6f, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x6f, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x54, 0x65, 0x78, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x54, 0x65, 0x78, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x78, 0x74, 0x72, 0x61, 0x41, 0x61, 0x64, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x78, 0x74, 0x72, 0x61, 0x41, 0x61, 0x64, 0x6d, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x69, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x69, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x75, 0x72, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x75, 0x72, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x10, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x61, 0x73, 0x74, 0x4d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x61, 0x73, 0x74, 0x4d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x12, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x56, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x4d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x56, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x4d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x12, 0x2e, 0x0a, 0x12, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x56, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x43, 0x75, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x56, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x43, 0x75, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x71, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x10, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x12, 0x34, 0x0a, 0x15, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x69, 0x6f, 0x53, 0x6b, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x69, 0x6f, 0x53, 0x6b, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x38, 0x0a, 0x17, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x6b, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x6b, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x28, 0x0a, 0x0f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x69, 0x6f, 0x53, 0x6b, 0x69, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x69, 0x6f, 0x53, 0x6b, 0x69, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x6b, 0x69, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x6b, 0x69, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x38, 0x0a, 0x17, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x6b, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x6b, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2c, 0x0a, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x6b, 0x69, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x6b, 0x69, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x69, 0x63, 0x68, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x6f, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x13, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x69, 0x63, 0x68, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x6f, 0x12, 0x2c, 0x0a, 0x09, 0x74, 0x61, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x29, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x38, 0x38, 0x44, 0x54, 0x61, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x09, 0x74, 0x61, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x35, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x47, 0x65, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x38, 0x38, 0x44, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x47, 0x65, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x47, 0x65, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x68, 0x65, 0x61, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x72, 0x61, 0x69, 0x74, 0x53, 0x65, 0x71, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x68, 0x65, 0x61, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x72, 0x61, 0x69, 0x74, 0x53, 0x65, 0x71, 0x12, 0x40, 0x0a, 0x0f, 0x6d, 0x73, 0x67, 0x48, 0x65, 0x61, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x72, 0x61, 0x69, 0x74, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x44, 0x38, 0x38, 0x44, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x65, 0x61, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x72, 0x61, 0x69, 0x74, 0x52, 0x0f, 0x6d, 0x73, 0x67, 0x48, 0x65, 0x61, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x72, 0x61, 0x69, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x68, 0x75, 0x74, 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, 0x68, 0x75, 0x74, 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x68, 0x75, 0x74, 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x65, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x73, 0x68, 0x75, 0x74, 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6d, 0x64, 0x75, 0x69, 0x6e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x18, 0x30, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6d, 0x64, 0x75, 0x69, 0x6e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6d, 0x64, 0x75, 0x69, 0x6e, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x31, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6d, 0x64, 0x75, 0x69, 0x6e, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6d, 0x64, 0x75, 0x69, 0x6e, 0x55, 0x69, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6d, 0x64, 0x75, 0x69, 0x6e, 0x55, 0x69, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6d, 0x64, 0x75, 0x69, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x45, 0x78, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6d, 0x64, 0x75, 0x69, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x45, 0x78, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6d, 0x64, 0x75, 0x69, 0x6e, 0x4e, 0x65, 0x77, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x6d, 0x64, 0x75, 0x69, 0x6e, 0x4e, 0x65, 0x77, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6d, 0x64, 0x75, 0x69, 0x6e, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x6d, 0x64, 0x75, 0x69, 0x6e, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x6d, 0x64, 0x75, 0x69, 0x6e, 0x4c, 0x61, 0x73, 0x74, 0x4d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x6d, 0x64, 0x75, 0x69, 0x6e, 0x4c, 0x61, 0x73, 0x74, 0x4d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x70, 0x70, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x3a, 0x0a, 0x0d, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x39, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x44, 0x38, 0x38, 0x44, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x0d, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x6d, 0x64, 0x75, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6d, 0x64, 0x75, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x69, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x70, 0x6f, 0x69, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6d, 0x64, 0x75, 0x69, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x45, 0x78, 0x32, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6d, 0x64, 0x75, 0x69, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x45, 0x78, 0x32, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x55, 0x69, 0x6e, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x55, 0x69, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x4d, 0x61, 0x78, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x18, 0x40, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x4d, 0x61, 0x78, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x54, 0x6f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x41, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x54, 0x6f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x64, 0x62, 0x61, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x42, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x64, 0x62, 0x61, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x69, 0x6e, 0x18, 0x43, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x13, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x65, 0x71, 0x18, 0x44, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x63, 0x61, 0x72, 0x64, 0x53, 0x65, 0x71, 0x18, 0x45, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x63, 0x61, 0x72, 0x64, 0x53, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x74, 0x49, 0x64, 0x18, 0x46, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x47, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x53, 0x65, 0x71, 0x18, 0x48, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x53, 0x65, 0x71, 0x12, 0x30, 0x0a, 0x13, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4d, 0x73, 0x67, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x49, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4d, 0x73, 0x67, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x41, 0x75, 0x74, 0x68, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x4a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x41, 0x75, 0x74, 0x68, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6d, 0x64, 0x75, 0x69, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x18, 0x4b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x6d, 0x64, 0x75, 0x69, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6d, 0x64, 0x75, 0x69, 0x6e, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x18, 0x4c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x6d, 0x64, 0x75, 0x69, 0x6e, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x6c, 0x61, 0x67, 0x65, 0x78, 0x74, 0x33, 0x18, 0x4d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x6c, 0x61, 0x67, 0x65, 0x78, 0x74, 0x33, 0x12, 0x26, 0x0a, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x70, 0x70, 0x69, 0x64, 0x18, 0x4e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x70, 0x70, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x4f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x34, 0x0a, 0x15, 0x69, 0x73, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x61, 0x63, 0x65, 0x18, 0x50, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x69, 0x73, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x61, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x69, 0x73, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x51, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x69, 0x73, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x6e, 0x6f, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x52, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6e, 0x6f, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x32, 0x0a, 0x14, 0x6e, 0x6f, 0x43, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x53, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x6e, 0x6f, 0x43, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x22, 0x92, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x71, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x73, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x38, 0x38, 0x44, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x73, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x0b, 0x44, 0x38, 0x38, 0x44, 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x52, 0x65, 0x71, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x63, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x63, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x72, 0x0a, 0x0c, 0x52, 0x73, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x38, 0x38, 0x44, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x64, 0x0a, 0x0b, 0x44, 0x38, 0x38, 0x44, 0x52, 0x73, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x31, 0x0a, 0x0c, 0x72, 0x73, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x52, 0x73, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x72, 0x73, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x73, 0x74, 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xdd, 0x01, 0x0a, 0x0d, 0x44, 0x38, 0x38, 0x44, 0x54, 0x61, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x72, 0x6f, 0x6d, 0x55, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x66, 0x72, 0x6f, 0x6d, 0x55, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x6f, 0x6f, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x6f, 0x6f, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x62, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x67, 0x4c, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x61, 0x67, 0x4c, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x74, 0x61, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xd0, 0x01, 0x0a, 0x10, 0x44, 0x38, 0x38, 0x44, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x47, 0x65, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x75, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x75, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x69, 0x74, 0x79, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x69, 0x74, 0x79, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x67, 0x65, 0x6f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, 0x69, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x70, 0x6f, 0x69, 0x49, 0x64, 0x42, 0x09, 0x5a, 0x07, 0x2e, 0x2f, 0x3b, 0x6f, 0x69, 0x64, 0x62, } var ( file_oidb0x88d_proto_rawDescOnce sync.Once file_oidb0x88d_proto_rawDescData = file_oidb0x88d_proto_rawDesc ) func file_oidb0x88d_proto_rawDescGZIP() []byte { file_oidb0x88d_proto_rawDescOnce.Do(func() { file_oidb0x88d_proto_rawDescData = protoimpl.X.CompressGZIP(file_oidb0x88d_proto_rawDescData) }) return file_oidb0x88d_proto_rawDescData } var file_oidb0x88d_proto_msgTypes = make([]protoimpl.MessageInfo, 10) var file_oidb0x88d_proto_goTypes = []interface{}{ (*D88DGroupHeadPortraitInfo)(nil), // 0: D88DGroupHeadPortraitInfo (*D88DGroupHeadPortrait)(nil), // 1: D88DGroupHeadPortrait (*D88DGroupExInfoOnly)(nil), // 2: D88DGroupExInfoOnly (*D88DGroupInfo)(nil), // 3: D88DGroupInfo (*ReqGroupInfo)(nil), // 4: ReqGroupInfo (*D88DReqBody)(nil), // 5: D88DReqBody (*RspGroupInfo)(nil), // 6: RspGroupInfo (*D88DRspBody)(nil), // 7: D88DRspBody (*D88DTagRecord)(nil), // 8: D88DTagRecord (*D88DGroupGeoInfo)(nil), // 9: D88DGroupGeoInfo } var file_oidb0x88d_proto_depIdxs = []int32{ 0, // 0: D88DGroupHeadPortrait.msgInfo:type_name -> D88DGroupHeadPortraitInfo 0, // 1: D88DGroupHeadPortrait.msgVerifyingPicInfo:type_name -> D88DGroupHeadPortraitInfo 8, // 2: D88DGroupInfo.tagRecord:type_name -> D88DTagRecord 9, // 3: D88DGroupInfo.groupGeoInfo:type_name -> D88DGroupGeoInfo 1, // 4: D88DGroupInfo.msgHeadPortrait:type_name -> D88DGroupHeadPortrait 2, // 5: D88DGroupInfo.stGroupExInfo:type_name -> D88DGroupExInfoOnly 3, // 6: ReqGroupInfo.stgroupinfo:type_name -> D88DGroupInfo 4, // 7: D88DReqBody.reqGroupInfo:type_name -> ReqGroupInfo 3, // 8: RspGroupInfo.groupInfo:type_name -> D88DGroupInfo 6, // 9: D88DRspBody.rspGroupInfo:type_name -> RspGroupInfo 10, // [10:10] is the sub-list for method output_type 10, // [10:10] is the sub-list for method input_type 10, // [10:10] is the sub-list for extension type_name 10, // [10:10] is the sub-list for extension extendee 0, // [0:10] is the sub-list for field type_name } func init() { file_oidb0x88d_proto_init() } func file_oidb0x88d_proto_init() { if File_oidb0x88d_proto != nil { return } if !protoimpl.UnsafeEnabled { file_oidb0x88d_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*D88DGroupHeadPortraitInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_oidb0x88d_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*D88DGroupHeadPortrait); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_oidb0x88d_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*D88DGroupExInfoOnly); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_oidb0x88d_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*D88DGroupInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_oidb0x88d_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReqGroupInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_oidb0x88d_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*D88DReqBody); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_oidb0x88d_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RspGroupInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_oidb0x88d_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*D88DRspBody); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_oidb0x88d_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*D88DTagRecord); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_oidb0x88d_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*D88DGroupGeoInfo); 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_oidb0x88d_proto_rawDesc, NumEnums: 0, NumMessages: 10, NumExtensions: 0, NumServices: 0, }, GoTypes: file_oidb0x88d_proto_goTypes, DependencyIndexes: file_oidb0x88d_proto_depIdxs, MessageInfos: file_oidb0x88d_proto_msgTypes, }.Build() File_oidb0x88d_proto = out.File file_oidb0x88d_proto_rawDesc = nil file_oidb0x88d_proto_goTypes = nil file_oidb0x88d_proto_depIdxs = nil }