This commit is contained in:
withchao 2023-01-29 18:37:38 +08:00
parent f76afd3185
commit 4c6e02f805
3 changed files with 288 additions and 226 deletions

View File

@ -388,12 +388,10 @@ func (s *groupServer) GetGroupAllMember(ctx context.Context, req *pbGroup.GetGro
func (s *groupServer) GetGroupMemberList(ctx context.Context, req *pbGroup.GetGroupMemberListReq) (*pbGroup.GetGroupMemberListResp, error) {
resp := &pbGroup.GetGroupMemberListResp{}
memberList, err := relation.GetGroupMemberByGroupID(req.GroupID, req.Filter, req.NextSeq, 30)
memberList, err := s.GroupInterface.GetGroupMemberFilterList(ctx, req.GroupID, req.Filter, req.NextSeq, 30)
if err != nil {
return nil, err
}
for _, v := range memberList {
var node open_im_sdk.GroupMemberFullInfo
utils.CopyStructFields(&node, &v)
@ -543,15 +541,14 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou
func (s *groupServer) GetGroupMembersInfo(ctx context.Context, req *pbGroup.GetGroupMembersInfoReq) (*pbGroup.GetGroupMembersInfoResp, error) {
resp := &pbGroup.GetGroupMembersInfoResp{}
resp.MemberList = []*open_im_sdk.GroupMemberFullInfo{}
for _, userID := range req.MemberList {
groupMember, err := rocksCache.GetGroupMemberInfoFromCache(ctx, req.GroupID, userID)
members, err := s.GroupInterface.GetGroupMemberListByUserID(ctx, req.GroupID, req.MemberList)
if err != nil {
return nil, err
}
for _, member := range members {
var memberNode open_im_sdk.GroupMemberFullInfo
utils.CopyStructFields(&memberNode, groupMember)
memberNode.JoinTime = int32(groupMember.JoinTime.Unix())
utils.CopyStructFields(&memberNode, member)
memberNode.JoinTime = member.JoinTime.UnixMilli()
resp.MemberList = append(resp.MemberList, &memberNode)
}
return resp, nil

View File

@ -19,6 +19,8 @@ type GroupInterface interface {
TakeGroupByID(ctx context.Context, groupID string) (group *relation.Group, err error)
GetJoinedGroupList(ctx context.Context, userID string) ([]*relation.Group, error)
GetGroupMemberList(ctx context.Context, groupID string) ([]*relation.GroupMember, error)
GetGroupMemberListByUserID(ctx context.Context, groupID string, userIDs []string) ([]*relation.GroupMember, error)
GetGroupMemberFilterList(ctx context.Context, groupID string, filter int32, begin int32, maxNumber int32) ([]*relation.GroupMember, error) // relation.GetGroupMemberByGroupID(req.GroupID, req.Filter, req.NextSeq, 30)
GetGroupMemberNum(ctx context.Context, groupIDs []string) (map[string]int, error)
GetGroupOwnerUserID(ctx context.Context, groupIDs []string) (map[string]string, error)
@ -32,10 +34,57 @@ type GroupInterface interface {
GetSuperGroupByID(ctx context.Context, groupID string) (superGroup *unrelation.SuperGroup, err error)
}
var _ GroupInterface = (*GroupController)(nil)
type GroupController struct {
database GroupDataBaseInterface
}
func (g *GroupController) GetJoinedGroupList(ctx context.Context, userID string) ([]*relation.Group, error) {
//TODO implement me
panic("implement me")
}
func (g *GroupController) GetGroupMemberList(ctx context.Context, groupID string) ([]*relation.GroupMember, error) {
//TODO implement me
panic("implement me")
}
func (g *GroupController) GetGroupMemberListByUserID(ctx context.Context, groupID string, userIDs []string) ([]*relation.GroupMember, error) {
//TODO implement me
panic("implement me")
}
func (g *GroupController) GetGroupMemberFilterList(ctx context.Context, groupID string, filter int32, begin int32, maxNumber int32) ([]*relation.GroupMember, error) {
//TODO implement me
panic("implement me")
}
func (g *GroupController) GetGroupMemberNum(ctx context.Context, groupIDs []string) (map[string]int, error) {
//TODO implement me
panic("implement me")
}
func (g *GroupController) GetGroupOwnerUserID(ctx context.Context, groupIDs []string) (map[string]string, error) {
//TODO implement me
panic("implement me")
}
func (g *GroupController) CreateGroupMember(ctx context.Context, groupMember []*relation.GroupMember) error {
//TODO implement me
panic("implement me")
}
func (g *GroupController) CreateGroupRequest(ctx context.Context, requests []*relation.GroupRequest) error {
//TODO implement me
panic("implement me")
}
func (g *GroupController) AddUserToSuperGroup(ctx context.Context, groupID string, userIDs []string) error {
//TODO implement me
panic("implement me")
}
func NewGroupController(db *gorm.DB, rdb redis.UniversalClient, mgoDB *mongo.Client) GroupInterface {
groupController := &GroupController{database: newGroupDatabase(db, rdb, mgoDB)}
return groupController

View File

@ -29,7 +29,7 @@ type CreateGroupReq struct {
InitMemberList []string `protobuf:"bytes,1,rep,name=initMemberList" json:"initMemberList,omitempty"`
GroupInfo *sdk_ws.GroupInfo `protobuf:"bytes,2,opt,name=groupInfo" json:"groupInfo,omitempty"`
AdminUserIDs []string `protobuf:"bytes,3,rep,name=adminUserIDs" json:"adminUserIDs,omitempty"`
OwnerUserID string `protobuf:"bytes,5,opt,name=ownerUserID" json:"ownerUserID,omitempty"`
OwnerUserID string `protobuf:"bytes,4,opt,name=ownerUserID" json:"ownerUserID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -39,7 +39,7 @@ func (m *CreateGroupReq) Reset() { *m = CreateGroupReq{} }
func (m *CreateGroupReq) String() string { return proto.CompactTextString(m) }
func (*CreateGroupReq) ProtoMessage() {}
func (*CreateGroupReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{0}
return fileDescriptor_group_3be6490d3e5fcc92, []int{0}
}
func (m *CreateGroupReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateGroupReq.Unmarshal(m, b)
@ -88,7 +88,7 @@ func (m *CreateGroupReq) GetOwnerUserID() string {
}
type CreateGroupResp struct {
GroupInfo *sdk_ws.GroupInfo `protobuf:"bytes,3,opt,name=groupInfo" json:"groupInfo,omitempty"`
GroupInfo *sdk_ws.GroupInfo `protobuf:"bytes,1,opt,name=groupInfo" json:"groupInfo,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -98,7 +98,7 @@ func (m *CreateGroupResp) Reset() { *m = CreateGroupResp{} }
func (m *CreateGroupResp) String() string { return proto.CompactTextString(m) }
func (*CreateGroupResp) ProtoMessage() {}
func (*CreateGroupResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{1}
return fileDescriptor_group_3be6490d3e5fcc92, []int{1}
}
func (m *CreateGroupResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateGroupResp.Unmarshal(m, b)
@ -136,7 +136,7 @@ func (m *GetGroupsInfoReq) Reset() { *m = GetGroupsInfoReq{} }
func (m *GetGroupsInfoReq) String() string { return proto.CompactTextString(m) }
func (*GetGroupsInfoReq) ProtoMessage() {}
func (*GetGroupsInfoReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{2}
return fileDescriptor_group_3be6490d3e5fcc92, []int{2}
}
func (m *GetGroupsInfoReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupsInfoReq.Unmarshal(m, b)
@ -164,7 +164,7 @@ func (m *GetGroupsInfoReq) GetGroupIDList() []string {
}
type GetGroupsInfoResp struct {
GroupInfoList []*sdk_ws.GroupInfo `protobuf:"bytes,3,rep,name=groupInfoList" json:"groupInfoList,omitempty"`
GroupInfoList []*sdk_ws.GroupInfo `protobuf:"bytes,1,rep,name=groupInfoList" json:"groupInfoList,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -174,7 +174,7 @@ func (m *GetGroupsInfoResp) Reset() { *m = GetGroupsInfoResp{} }
func (m *GetGroupsInfoResp) String() string { return proto.CompactTextString(m) }
func (*GetGroupsInfoResp) ProtoMessage() {}
func (*GetGroupsInfoResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{3}
return fileDescriptor_group_3be6490d3e5fcc92, []int{3}
}
func (m *GetGroupsInfoResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupsInfoResp.Unmarshal(m, b)
@ -212,7 +212,7 @@ func (m *SetGroupInfoReq) Reset() { *m = SetGroupInfoReq{} }
func (m *SetGroupInfoReq) String() string { return proto.CompactTextString(m) }
func (*SetGroupInfoReq) ProtoMessage() {}
func (*SetGroupInfoReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{4}
return fileDescriptor_group_3be6490d3e5fcc92, []int{4}
}
func (m *SetGroupInfoReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetGroupInfoReq.Unmarshal(m, b)
@ -249,7 +249,7 @@ func (m *SetGroupInfoResp) Reset() { *m = SetGroupInfoResp{} }
func (m *SetGroupInfoResp) String() string { return proto.CompactTextString(m) }
func (*SetGroupInfoResp) ProtoMessage() {}
func (*SetGroupInfoResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{5}
return fileDescriptor_group_3be6490d3e5fcc92, []int{5}
}
func (m *SetGroupInfoResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetGroupInfoResp.Unmarshal(m, b)
@ -271,7 +271,7 @@ var xxx_messageInfo_SetGroupInfoResp proto.InternalMessageInfo
type GetGroupApplicationListReq struct {
Pagination *sdk_ws.RequestPagination `protobuf:"bytes,1,opt,name=pagination" json:"pagination,omitempty"`
FromUserID string `protobuf:"bytes,3,opt,name=fromUserID" json:"fromUserID,omitempty"`
FromUserID string `protobuf:"bytes,2,opt,name=fromUserID" json:"fromUserID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -281,7 +281,7 @@ func (m *GetGroupApplicationListReq) Reset() { *m = GetGroupApplicationL
func (m *GetGroupApplicationListReq) String() string { return proto.CompactTextString(m) }
func (*GetGroupApplicationListReq) ProtoMessage() {}
func (*GetGroupApplicationListReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{6}
return fileDescriptor_group_3be6490d3e5fcc92, []int{6}
}
func (m *GetGroupApplicationListReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupApplicationListReq.Unmarshal(m, b)
@ -317,7 +317,7 @@ func (m *GetGroupApplicationListReq) GetFromUserID() string {
type GetGroupApplicationListResp struct {
Total int32 `protobuf:"varint,1,opt,name=total" json:"total,omitempty"`
GroupRequestList []*sdk_ws.GroupRequest `protobuf:"bytes,3,rep,name=groupRequestList" json:"groupRequestList,omitempty"`
GroupRequestList []*sdk_ws.GroupRequest `protobuf:"bytes,2,rep,name=groupRequestList" json:"groupRequestList,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -327,7 +327,7 @@ func (m *GetGroupApplicationListResp) Reset() { *m = GetGroupApplication
func (m *GetGroupApplicationListResp) String() string { return proto.CompactTextString(m) }
func (*GetGroupApplicationListResp) ProtoMessage() {}
func (*GetGroupApplicationListResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{7}
return fileDescriptor_group_3be6490d3e5fcc92, []int{7}
}
func (m *GetGroupApplicationListResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupApplicationListResp.Unmarshal(m, b)
@ -373,7 +373,7 @@ func (m *GetUserReqApplicationListReq) Reset() { *m = GetUserReqApplicat
func (m *GetUserReqApplicationListReq) String() string { return proto.CompactTextString(m) }
func (*GetUserReqApplicationListReq) ProtoMessage() {}
func (*GetUserReqApplicationListReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{8}
return fileDescriptor_group_3be6490d3e5fcc92, []int{8}
}
func (m *GetUserReqApplicationListReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUserReqApplicationListReq.Unmarshal(m, b)
@ -419,7 +419,7 @@ func (m *GetUserReqApplicationListResp) Reset() { *m = GetUserReqApplica
func (m *GetUserReqApplicationListResp) String() string { return proto.CompactTextString(m) }
func (*GetUserReqApplicationListResp) ProtoMessage() {}
func (*GetUserReqApplicationListResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{9}
return fileDescriptor_group_3be6490d3e5fcc92, []int{9}
}
func (m *GetUserReqApplicationListResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUserReqApplicationListResp.Unmarshal(m, b)
@ -466,7 +466,7 @@ func (m *TransferGroupOwnerReq) Reset() { *m = TransferGroupOwnerReq{} }
func (m *TransferGroupOwnerReq) String() string { return proto.CompactTextString(m) }
func (*TransferGroupOwnerReq) ProtoMessage() {}
func (*TransferGroupOwnerReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{10}
return fileDescriptor_group_3be6490d3e5fcc92, []int{10}
}
func (m *TransferGroupOwnerReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TransferGroupOwnerReq.Unmarshal(m, b)
@ -517,7 +517,7 @@ func (m *TransferGroupOwnerResp) Reset() { *m = TransferGroupOwnerResp{}
func (m *TransferGroupOwnerResp) String() string { return proto.CompactTextString(m) }
func (*TransferGroupOwnerResp) ProtoMessage() {}
func (*TransferGroupOwnerResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{11}
return fileDescriptor_group_3be6490d3e5fcc92, []int{11}
}
func (m *TransferGroupOwnerResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TransferGroupOwnerResp.Unmarshal(m, b)
@ -540,8 +540,8 @@ var xxx_messageInfo_TransferGroupOwnerResp proto.InternalMessageInfo
type JoinGroupReq struct {
GroupID string `protobuf:"bytes,1,opt,name=groupID" json:"groupID,omitempty"`
ReqMessage string `protobuf:"bytes,2,opt,name=reqMessage" json:"reqMessage,omitempty"`
JoinSource int32 `protobuf:"varint,5,opt,name=joinSource" json:"joinSource,omitempty"`
InviterUserID string `protobuf:"bytes,6,opt,name=inviterUserID" json:"inviterUserID,omitempty"`
JoinSource int32 `protobuf:"varint,3,opt,name=joinSource" json:"joinSource,omitempty"`
InviterUserID string `protobuf:"bytes,4,opt,name=inviterUserID" json:"inviterUserID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -551,7 +551,7 @@ func (m *JoinGroupReq) Reset() { *m = JoinGroupReq{} }
func (m *JoinGroupReq) String() string { return proto.CompactTextString(m) }
func (*JoinGroupReq) ProtoMessage() {}
func (*JoinGroupReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{12}
return fileDescriptor_group_3be6490d3e5fcc92, []int{12}
}
func (m *JoinGroupReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_JoinGroupReq.Unmarshal(m, b)
@ -609,7 +609,7 @@ func (m *JoinGroupResp) Reset() { *m = JoinGroupResp{} }
func (m *JoinGroupResp) String() string { return proto.CompactTextString(m) }
func (*JoinGroupResp) ProtoMessage() {}
func (*JoinGroupResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{13}
return fileDescriptor_group_3be6490d3e5fcc92, []int{13}
}
func (m *JoinGroupResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_JoinGroupResp.Unmarshal(m, b)
@ -630,10 +630,10 @@ func (m *JoinGroupResp) XXX_DiscardUnknown() {
var xxx_messageInfo_JoinGroupResp proto.InternalMessageInfo
type GroupApplicationResponseReq struct {
GroupID string `protobuf:"bytes,3,opt,name=groupID" json:"groupID,omitempty"`
FromUserID string `protobuf:"bytes,4,opt,name=fromUserID" json:"fromUserID,omitempty"`
HandledMsg string `protobuf:"bytes,5,opt,name=handledMsg" json:"handledMsg,omitempty"`
HandleResult int32 `protobuf:"varint,6,opt,name=handleResult" json:"handleResult,omitempty"`
GroupID string `protobuf:"bytes,1,opt,name=groupID" json:"groupID,omitempty"`
FromUserID string `protobuf:"bytes,2,opt,name=fromUserID" json:"fromUserID,omitempty"`
HandledMsg string `protobuf:"bytes,3,opt,name=handledMsg" json:"handledMsg,omitempty"`
HandleResult int32 `protobuf:"varint,4,opt,name=handleResult" json:"handleResult,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -643,7 +643,7 @@ func (m *GroupApplicationResponseReq) Reset() { *m = GroupApplicationRes
func (m *GroupApplicationResponseReq) String() string { return proto.CompactTextString(m) }
func (*GroupApplicationResponseReq) ProtoMessage() {}
func (*GroupApplicationResponseReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{14}
return fileDescriptor_group_3be6490d3e5fcc92, []int{14}
}
func (m *GroupApplicationResponseReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupApplicationResponseReq.Unmarshal(m, b)
@ -701,7 +701,7 @@ func (m *GroupApplicationResponseResp) Reset() { *m = GroupApplicationRe
func (m *GroupApplicationResponseResp) String() string { return proto.CompactTextString(m) }
func (*GroupApplicationResponseResp) ProtoMessage() {}
func (*GroupApplicationResponseResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{15}
return fileDescriptor_group_3be6490d3e5fcc92, []int{15}
}
func (m *GroupApplicationResponseResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupApplicationResponseResp.Unmarshal(m, b)
@ -732,7 +732,7 @@ func (m *QuitGroupReq) Reset() { *m = QuitGroupReq{} }
func (m *QuitGroupReq) String() string { return proto.CompactTextString(m) }
func (*QuitGroupReq) ProtoMessage() {}
func (*QuitGroupReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{16}
return fileDescriptor_group_3be6490d3e5fcc92, []int{16}
}
func (m *QuitGroupReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_QuitGroupReq.Unmarshal(m, b)
@ -769,7 +769,7 @@ func (m *QuitGroupResp) Reset() { *m = QuitGroupResp{} }
func (m *QuitGroupResp) String() string { return proto.CompactTextString(m) }
func (*QuitGroupResp) ProtoMessage() {}
func (*QuitGroupResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{17}
return fileDescriptor_group_3be6490d3e5fcc92, []int{17}
}
func (m *QuitGroupResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_QuitGroupResp.Unmarshal(m, b)
@ -791,8 +791,9 @@ var xxx_messageInfo_QuitGroupResp proto.InternalMessageInfo
type GetGroupMemberListReq struct {
GroupID string `protobuf:"bytes,1,opt,name=groupID" json:"groupID,omitempty"`
Filter int32 `protobuf:"varint,4,opt,name=filter" json:"filter,omitempty"`
Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=pagination" json:"pagination,omitempty"`
Filter int32 `protobuf:"varint,2,opt,name=filter" json:"filter,omitempty"`
NextSeq int32 `protobuf:"varint,3,opt,name=nextSeq" json:"nextSeq,omitempty"`
Pagination *sdk_ws.RequestPagination `protobuf:"bytes,4,opt,name=pagination" json:"pagination,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -802,7 +803,7 @@ func (m *GetGroupMemberListReq) Reset() { *m = GetGroupMemberListReq{} }
func (m *GetGroupMemberListReq) String() string { return proto.CompactTextString(m) }
func (*GetGroupMemberListReq) ProtoMessage() {}
func (*GetGroupMemberListReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{18}
return fileDescriptor_group_3be6490d3e5fcc92, []int{18}
}
func (m *GetGroupMemberListReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupMemberListReq.Unmarshal(m, b)
@ -836,6 +837,13 @@ func (m *GetGroupMemberListReq) GetFilter() int32 {
return 0
}
func (m *GetGroupMemberListReq) GetNextSeq() int32 {
if m != nil {
return m.NextSeq
}
return 0
}
func (m *GetGroupMemberListReq) GetPagination() *sdk_ws.RequestPagination {
if m != nil {
return m.Pagination
@ -845,7 +853,8 @@ func (m *GetGroupMemberListReq) GetPagination() *sdk_ws.RequestPagination {
type GetGroupMemberListResp struct {
Total int32 `protobuf:"varint,1,opt,name=total" json:"total,omitempty"`
MemberList []*sdk_ws.GroupMemberFullInfo `protobuf:"bytes,3,rep,name=memberList" json:"memberList,omitempty"`
MemberList []*sdk_ws.GroupMemberFullInfo `protobuf:"bytes,2,rep,name=memberList" json:"memberList,omitempty"`
NextSeq int32 `protobuf:"varint,3,opt,name=nextSeq" json:"nextSeq,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -855,7 +864,7 @@ func (m *GetGroupMemberListResp) Reset() { *m = GetGroupMemberListResp{}
func (m *GetGroupMemberListResp) String() string { return proto.CompactTextString(m) }
func (*GetGroupMemberListResp) ProtoMessage() {}
func (*GetGroupMemberListResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{19}
return fileDescriptor_group_3be6490d3e5fcc92, []int{19}
}
func (m *GetGroupMemberListResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupMemberListResp.Unmarshal(m, b)
@ -889,6 +898,13 @@ func (m *GetGroupMemberListResp) GetMemberList() []*sdk_ws.GroupMemberFullInfo {
return nil
}
func (m *GetGroupMemberListResp) GetNextSeq() int32 {
if m != nil {
return m.NextSeq
}
return 0
}
type GetGroupMembersInfoReq struct {
GroupID string `protobuf:"bytes,1,opt,name=groupID" json:"groupID,omitempty"`
MemberList []string `protobuf:"bytes,2,rep,name=memberList" json:"memberList,omitempty"`
@ -901,7 +917,7 @@ func (m *GetGroupMembersInfoReq) Reset() { *m = GetGroupMembersInfoReq{}
func (m *GetGroupMembersInfoReq) String() string { return proto.CompactTextString(m) }
func (*GetGroupMembersInfoReq) ProtoMessage() {}
func (*GetGroupMembersInfoReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{20}
return fileDescriptor_group_3be6490d3e5fcc92, []int{20}
}
func (m *GetGroupMembersInfoReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupMembersInfoReq.Unmarshal(m, b)
@ -936,7 +952,7 @@ func (m *GetGroupMembersInfoReq) GetMemberList() []string {
}
type GetGroupMembersInfoResp struct {
MemberList []*sdk_ws.GroupMemberFullInfo `protobuf:"bytes,3,rep,name=memberList" json:"memberList,omitempty"`
MemberList []*sdk_ws.GroupMemberFullInfo `protobuf:"bytes,1,rep,name=memberList" json:"memberList,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -946,7 +962,7 @@ func (m *GetGroupMembersInfoResp) Reset() { *m = GetGroupMembersInfoResp
func (m *GetGroupMembersInfoResp) String() string { return proto.CompactTextString(m) }
func (*GetGroupMembersInfoResp) ProtoMessage() {}
func (*GetGroupMembersInfoResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{21}
return fileDescriptor_group_3be6490d3e5fcc92, []int{21}
}
func (m *GetGroupMembersInfoResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupMembersInfoResp.Unmarshal(m, b)
@ -986,7 +1002,7 @@ func (m *KickGroupMemberReq) Reset() { *m = KickGroupMemberReq{} }
func (m *KickGroupMemberReq) String() string { return proto.CompactTextString(m) }
func (*KickGroupMemberReq) ProtoMessage() {}
func (*KickGroupMemberReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{22}
return fileDescriptor_group_3be6490d3e5fcc92, []int{22}
}
func (m *KickGroupMemberReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KickGroupMemberReq.Unmarshal(m, b)
@ -1037,7 +1053,7 @@ func (m *KickGroupMemberResp) Reset() { *m = KickGroupMemberResp{} }
func (m *KickGroupMemberResp) String() string { return proto.CompactTextString(m) }
func (*KickGroupMemberResp) ProtoMessage() {}
func (*KickGroupMemberResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{23}
return fileDescriptor_group_3be6490d3e5fcc92, []int{23}
}
func (m *KickGroupMemberResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KickGroupMemberResp.Unmarshal(m, b)
@ -1069,7 +1085,7 @@ func (m *GetJoinedGroupListReq) Reset() { *m = GetJoinedGroupListReq{} }
func (m *GetJoinedGroupListReq) String() string { return proto.CompactTextString(m) }
func (*GetJoinedGroupListReq) ProtoMessage() {}
func (*GetJoinedGroupListReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{24}
return fileDescriptor_group_3be6490d3e5fcc92, []int{24}
}
func (m *GetJoinedGroupListReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetJoinedGroupListReq.Unmarshal(m, b)
@ -1105,7 +1121,7 @@ func (m *GetJoinedGroupListReq) GetPagination() *sdk_ws.RequestPagination {
type GetJoinedGroupListResp struct {
Total int32 `protobuf:"varint,1,opt,name=total" json:"total,omitempty"`
GroupList []*sdk_ws.GroupInfo `protobuf:"bytes,3,rep,name=groupList" json:"groupList,omitempty"`
GroupList []*sdk_ws.GroupInfo `protobuf:"bytes,2,rep,name=groupList" json:"groupList,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -1115,7 +1131,7 @@ func (m *GetJoinedGroupListResp) Reset() { *m = GetJoinedGroupListResp{}
func (m *GetJoinedGroupListResp) String() string { return proto.CompactTextString(m) }
func (*GetJoinedGroupListResp) ProtoMessage() {}
func (*GetJoinedGroupListResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{25}
return fileDescriptor_group_3be6490d3e5fcc92, []int{25}
}
func (m *GetJoinedGroupListResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetJoinedGroupListResp.Unmarshal(m, b)
@ -1150,9 +1166,9 @@ func (m *GetJoinedGroupListResp) GetGroupList() []*sdk_ws.GroupInfo {
}
type InviteUserToGroupReq struct {
GroupID string `protobuf:"bytes,3,opt,name=groupID" json:"groupID,omitempty"`
Reason string `protobuf:"bytes,4,opt,name=reason" json:"reason,omitempty"`
InvitedUserIDList []string `protobuf:"bytes,5,rep,name=invitedUserIDList" json:"invitedUserIDList,omitempty"`
GroupID string `protobuf:"bytes,1,opt,name=groupID" json:"groupID,omitempty"`
Reason string `protobuf:"bytes,2,opt,name=reason" json:"reason,omitempty"`
InvitedUserIDList []string `protobuf:"bytes,3,rep,name=invitedUserIDList" json:"invitedUserIDList,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -1162,7 +1178,7 @@ func (m *InviteUserToGroupReq) Reset() { *m = InviteUserToGroupReq{} }
func (m *InviteUserToGroupReq) String() string { return proto.CompactTextString(m) }
func (*InviteUserToGroupReq) ProtoMessage() {}
func (*InviteUserToGroupReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{26}
return fileDescriptor_group_3be6490d3e5fcc92, []int{26}
}
func (m *InviteUserToGroupReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InviteUserToGroupReq.Unmarshal(m, b)
@ -1213,7 +1229,7 @@ func (m *InviteUserToGroupResp) Reset() { *m = InviteUserToGroupResp{} }
func (m *InviteUserToGroupResp) String() string { return proto.CompactTextString(m) }
func (*InviteUserToGroupResp) ProtoMessage() {}
func (*InviteUserToGroupResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{27}
return fileDescriptor_group_3be6490d3e5fcc92, []int{27}
}
func (m *InviteUserToGroupResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InviteUserToGroupResp.Unmarshal(m, b)
@ -1235,8 +1251,8 @@ var xxx_messageInfo_InviteUserToGroupResp proto.InternalMessageInfo
type GetGroupAllMemberReq struct {
GroupID string `protobuf:"bytes,1,opt,name=groupID" json:"groupID,omitempty"`
Offset int32 `protobuf:"varint,4,opt,name=offset" json:"offset,omitempty"`
Count int32 `protobuf:"varint,5,opt,name=count" json:"count,omitempty"`
Offset int32 `protobuf:"varint,2,opt,name=offset" json:"offset,omitempty"`
Count int32 `protobuf:"varint,3,opt,name=count" json:"count,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -1246,7 +1262,7 @@ func (m *GetGroupAllMemberReq) Reset() { *m = GetGroupAllMemberReq{} }
func (m *GetGroupAllMemberReq) String() string { return proto.CompactTextString(m) }
func (*GetGroupAllMemberReq) ProtoMessage() {}
func (*GetGroupAllMemberReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{28}
return fileDescriptor_group_3be6490d3e5fcc92, []int{28}
}
func (m *GetGroupAllMemberReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupAllMemberReq.Unmarshal(m, b)
@ -1288,7 +1304,7 @@ func (m *GetGroupAllMemberReq) GetCount() int32 {
}
type GetGroupAllMemberResp struct {
MemberList []*sdk_ws.GroupMemberFullInfo `protobuf:"bytes,3,rep,name=memberList" json:"memberList,omitempty"`
MemberList []*sdk_ws.GroupMemberFullInfo `protobuf:"bytes,1,rep,name=memberList" json:"memberList,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -1298,7 +1314,7 @@ func (m *GetGroupAllMemberResp) Reset() { *m = GetGroupAllMemberResp{} }
func (m *GetGroupAllMemberResp) String() string { return proto.CompactTextString(m) }
func (*GetGroupAllMemberResp) ProtoMessage() {}
func (*GetGroupAllMemberResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{29}
return fileDescriptor_group_3be6490d3e5fcc92, []int{29}
}
func (m *GetGroupAllMemberResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupAllMemberResp.Unmarshal(m, b)
@ -1338,7 +1354,7 @@ func (m *CMSGroup) Reset() { *m = CMSGroup{} }
func (m *CMSGroup) String() string { return proto.CompactTextString(m) }
func (*CMSGroup) ProtoMessage() {}
func (*CMSGroup) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{30}
return fileDescriptor_group_3be6490d3e5fcc92, []int{30}
}
func (m *CMSGroup) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CMSGroup.Unmarshal(m, b)
@ -1392,7 +1408,7 @@ func (m *GetGroupsReq) Reset() { *m = GetGroupsReq{} }
func (m *GetGroupsReq) String() string { return proto.CompactTextString(m) }
func (*GetGroupsReq) ProtoMessage() {}
func (*GetGroupsReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{31}
return fileDescriptor_group_3be6490d3e5fcc92, []int{31}
}
func (m *GetGroupsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupsReq.Unmarshal(m, b)
@ -1435,7 +1451,7 @@ func (m *GetGroupsReq) GetGroupID() string {
type GetGroupsResp struct {
Groups []*CMSGroup `protobuf:"bytes,1,rep,name=groups" json:"groups,omitempty"`
GroupNum int32 `protobuf:"varint,3,opt,name=GroupNum" json:"GroupNum,omitempty"`
GroupNum int32 `protobuf:"varint,2,opt,name=GroupNum" json:"GroupNum,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -1445,7 +1461,7 @@ func (m *GetGroupsResp) Reset() { *m = GetGroupsResp{} }
func (m *GetGroupsResp) String() string { return proto.CompactTextString(m) }
func (*GetGroupsResp) ProtoMessage() {}
func (*GetGroupsResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{32}
return fileDescriptor_group_3be6490d3e5fcc92, []int{32}
}
func (m *GetGroupsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupsResp.Unmarshal(m, b)
@ -1490,7 +1506,7 @@ func (m *GetGroupMemberReq) Reset() { *m = GetGroupMemberReq{} }
func (m *GetGroupMemberReq) String() string { return proto.CompactTextString(m) }
func (*GetGroupMemberReq) ProtoMessage() {}
func (*GetGroupMemberReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{33}
return fileDescriptor_group_3be6490d3e5fcc92, []int{33}
}
func (m *GetGroupMemberReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupMemberReq.Unmarshal(m, b)
@ -1530,7 +1546,7 @@ func (m *GetGroupMembersCMSReq) Reset() { *m = GetGroupMembersCMSReq{} }
func (m *GetGroupMembersCMSReq) String() string { return proto.CompactTextString(m) }
func (*GetGroupMembersCMSReq) ProtoMessage() {}
func (*GetGroupMembersCMSReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{34}
return fileDescriptor_group_3be6490d3e5fcc92, []int{34}
}
func (m *GetGroupMembersCMSReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupMembersCMSReq.Unmarshal(m, b)
@ -1584,7 +1600,7 @@ func (m *GetGroupMembersCMSResp) Reset() { *m = GetGroupMembersCMSResp{}
func (m *GetGroupMembersCMSResp) String() string { return proto.CompactTextString(m) }
func (*GetGroupMembersCMSResp) ProtoMessage() {}
func (*GetGroupMembersCMSResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{35}
return fileDescriptor_group_3be6490d3e5fcc92, []int{35}
}
func (m *GetGroupMembersCMSResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupMembersCMSResp.Unmarshal(m, b)
@ -1626,7 +1642,7 @@ func (m *GetGroupMembersCMSResp) GetMemberNums() int32 {
}
type DismissGroupReq struct {
GroupID string `protobuf:"bytes,3,opt,name=groupID" json:"groupID,omitempty"`
GroupID string `protobuf:"bytes,1,opt,name=groupID" json:"groupID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -1636,7 +1652,7 @@ func (m *DismissGroupReq) Reset() { *m = DismissGroupReq{} }
func (m *DismissGroupReq) String() string { return proto.CompactTextString(m) }
func (*DismissGroupReq) ProtoMessage() {}
func (*DismissGroupReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{36}
return fileDescriptor_group_3be6490d3e5fcc92, []int{36}
}
func (m *DismissGroupReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DismissGroupReq.Unmarshal(m, b)
@ -1673,7 +1689,7 @@ func (m *DismissGroupResp) Reset() { *m = DismissGroupResp{} }
func (m *DismissGroupResp) String() string { return proto.CompactTextString(m) }
func (*DismissGroupResp) ProtoMessage() {}
func (*DismissGroupResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{37}
return fileDescriptor_group_3be6490d3e5fcc92, []int{37}
}
func (m *DismissGroupResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DismissGroupResp.Unmarshal(m, b)
@ -1694,9 +1710,9 @@ func (m *DismissGroupResp) XXX_DiscardUnknown() {
var xxx_messageInfo_DismissGroupResp proto.InternalMessageInfo
type MuteGroupMemberReq struct {
GroupID string `protobuf:"bytes,3,opt,name=groupID" json:"groupID,omitempty"`
UserID string `protobuf:"bytes,4,opt,name=userID" json:"userID,omitempty"`
MutedSeconds uint32 `protobuf:"varint,5,opt,name=mutedSeconds" json:"mutedSeconds,omitempty"`
GroupID string `protobuf:"bytes,1,opt,name=groupID" json:"groupID,omitempty"`
UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"`
MutedSeconds uint32 `protobuf:"varint,3,opt,name=mutedSeconds" json:"mutedSeconds,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -1706,7 +1722,7 @@ func (m *MuteGroupMemberReq) Reset() { *m = MuteGroupMemberReq{} }
func (m *MuteGroupMemberReq) String() string { return proto.CompactTextString(m) }
func (*MuteGroupMemberReq) ProtoMessage() {}
func (*MuteGroupMemberReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{38}
return fileDescriptor_group_3be6490d3e5fcc92, []int{38}
}
func (m *MuteGroupMemberReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MuteGroupMemberReq.Unmarshal(m, b)
@ -1757,7 +1773,7 @@ func (m *MuteGroupMemberResp) Reset() { *m = MuteGroupMemberResp{} }
func (m *MuteGroupMemberResp) String() string { return proto.CompactTextString(m) }
func (*MuteGroupMemberResp) ProtoMessage() {}
func (*MuteGroupMemberResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{39}
return fileDescriptor_group_3be6490d3e5fcc92, []int{39}
}
func (m *MuteGroupMemberResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MuteGroupMemberResp.Unmarshal(m, b)
@ -1778,8 +1794,8 @@ func (m *MuteGroupMemberResp) XXX_DiscardUnknown() {
var xxx_messageInfo_MuteGroupMemberResp proto.InternalMessageInfo
type CancelMuteGroupMemberReq struct {
GroupID string `protobuf:"bytes,3,opt,name=groupID" json:"groupID,omitempty"`
UserID string `protobuf:"bytes,4,opt,name=userID" json:"userID,omitempty"`
GroupID string `protobuf:"bytes,1,opt,name=groupID" json:"groupID,omitempty"`
UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -1789,7 +1805,7 @@ func (m *CancelMuteGroupMemberReq) Reset() { *m = CancelMuteGroupMemberR
func (m *CancelMuteGroupMemberReq) String() string { return proto.CompactTextString(m) }
func (*CancelMuteGroupMemberReq) ProtoMessage() {}
func (*CancelMuteGroupMemberReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{40}
return fileDescriptor_group_3be6490d3e5fcc92, []int{40}
}
func (m *CancelMuteGroupMemberReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CancelMuteGroupMemberReq.Unmarshal(m, b)
@ -1833,7 +1849,7 @@ func (m *CancelMuteGroupMemberResp) Reset() { *m = CancelMuteGroupMember
func (m *CancelMuteGroupMemberResp) String() string { return proto.CompactTextString(m) }
func (*CancelMuteGroupMemberResp) ProtoMessage() {}
func (*CancelMuteGroupMemberResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{41}
return fileDescriptor_group_3be6490d3e5fcc92, []int{41}
}
func (m *CancelMuteGroupMemberResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CancelMuteGroupMemberResp.Unmarshal(m, b)
@ -1854,7 +1870,7 @@ func (m *CancelMuteGroupMemberResp) XXX_DiscardUnknown() {
var xxx_messageInfo_CancelMuteGroupMemberResp proto.InternalMessageInfo
type MuteGroupReq struct {
GroupID string `protobuf:"bytes,3,opt,name=groupID" json:"groupID,omitempty"`
GroupID string `protobuf:"bytes,1,opt,name=groupID" json:"groupID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -1864,7 +1880,7 @@ func (m *MuteGroupReq) Reset() { *m = MuteGroupReq{} }
func (m *MuteGroupReq) String() string { return proto.CompactTextString(m) }
func (*MuteGroupReq) ProtoMessage() {}
func (*MuteGroupReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{42}
return fileDescriptor_group_3be6490d3e5fcc92, []int{42}
}
func (m *MuteGroupReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MuteGroupReq.Unmarshal(m, b)
@ -1901,7 +1917,7 @@ func (m *MuteGroupResp) Reset() { *m = MuteGroupResp{} }
func (m *MuteGroupResp) String() string { return proto.CompactTextString(m) }
func (*MuteGroupResp) ProtoMessage() {}
func (*MuteGroupResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{43}
return fileDescriptor_group_3be6490d3e5fcc92, []int{43}
}
func (m *MuteGroupResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MuteGroupResp.Unmarshal(m, b)
@ -1922,7 +1938,7 @@ func (m *MuteGroupResp) XXX_DiscardUnknown() {
var xxx_messageInfo_MuteGroupResp proto.InternalMessageInfo
type CancelMuteGroupReq struct {
GroupID string `protobuf:"bytes,3,opt,name=groupID" json:"groupID,omitempty"`
GroupID string `protobuf:"bytes,1,opt,name=groupID" json:"groupID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -1932,7 +1948,7 @@ func (m *CancelMuteGroupReq) Reset() { *m = CancelMuteGroupReq{} }
func (m *CancelMuteGroupReq) String() string { return proto.CompactTextString(m) }
func (*CancelMuteGroupReq) ProtoMessage() {}
func (*CancelMuteGroupReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{44}
return fileDescriptor_group_3be6490d3e5fcc92, []int{44}
}
func (m *CancelMuteGroupReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CancelMuteGroupReq.Unmarshal(m, b)
@ -1969,7 +1985,7 @@ func (m *CancelMuteGroupResp) Reset() { *m = CancelMuteGroupResp{} }
func (m *CancelMuteGroupResp) String() string { return proto.CompactTextString(m) }
func (*CancelMuteGroupResp) ProtoMessage() {}
func (*CancelMuteGroupResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{45}
return fileDescriptor_group_3be6490d3e5fcc92, []int{45}
}
func (m *CancelMuteGroupResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CancelMuteGroupResp.Unmarshal(m, b)
@ -1992,7 +2008,7 @@ var xxx_messageInfo_CancelMuteGroupResp proto.InternalMessageInfo
type SetGroupMemberNicknameReq struct {
GroupID string `protobuf:"bytes,1,opt,name=groupID" json:"groupID,omitempty"`
Nickname string `protobuf:"bytes,2,opt,name=nickname" json:"nickname,omitempty"`
UserID string `protobuf:"bytes,5,opt,name=userID" json:"userID,omitempty"`
UserID string `protobuf:"bytes,3,opt,name=userID" json:"userID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -2002,7 +2018,7 @@ func (m *SetGroupMemberNicknameReq) Reset() { *m = SetGroupMemberNicknam
func (m *SetGroupMemberNicknameReq) String() string { return proto.CompactTextString(m) }
func (*SetGroupMemberNicknameReq) ProtoMessage() {}
func (*SetGroupMemberNicknameReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{46}
return fileDescriptor_group_3be6490d3e5fcc92, []int{46}
}
func (m *SetGroupMemberNicknameReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetGroupMemberNicknameReq.Unmarshal(m, b)
@ -2053,7 +2069,7 @@ func (m *SetGroupMemberNicknameResp) Reset() { *m = SetGroupMemberNickna
func (m *SetGroupMemberNicknameResp) String() string { return proto.CompactTextString(m) }
func (*SetGroupMemberNicknameResp) ProtoMessage() {}
func (*SetGroupMemberNicknameResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{47}
return fileDescriptor_group_3be6490d3e5fcc92, []int{47}
}
func (m *SetGroupMemberNicknameResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetGroupMemberNicknameResp.Unmarshal(m, b)
@ -2085,7 +2101,7 @@ func (m *GetJoinedSuperGroupListReq) Reset() { *m = GetJoinedSuperGroupL
func (m *GetJoinedSuperGroupListReq) String() string { return proto.CompactTextString(m) }
func (*GetJoinedSuperGroupListReq) ProtoMessage() {}
func (*GetJoinedSuperGroupListReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{48}
return fileDescriptor_group_3be6490d3e5fcc92, []int{48}
}
func (m *GetJoinedSuperGroupListReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetJoinedSuperGroupListReq.Unmarshal(m, b)
@ -2121,7 +2137,7 @@ func (m *GetJoinedSuperGroupListReq) GetUserID() string {
type GetJoinedSuperGroupListResp struct {
Total int32 `protobuf:"varint,1,opt,name=total" json:"total,omitempty"`
GroupList []*sdk_ws.GroupInfo `protobuf:"bytes,3,rep,name=groupList" json:"groupList,omitempty"`
GroupList []*sdk_ws.GroupInfo `protobuf:"bytes,2,rep,name=groupList" json:"groupList,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -2131,7 +2147,7 @@ func (m *GetJoinedSuperGroupListResp) Reset() { *m = GetJoinedSuperGroup
func (m *GetJoinedSuperGroupListResp) String() string { return proto.CompactTextString(m) }
func (*GetJoinedSuperGroupListResp) ProtoMessage() {}
func (*GetJoinedSuperGroupListResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{49}
return fileDescriptor_group_3be6490d3e5fcc92, []int{49}
}
func (m *GetJoinedSuperGroupListResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetJoinedSuperGroupListResp.Unmarshal(m, b)
@ -2176,7 +2192,7 @@ func (m *GetSuperGroupsInfoReq) Reset() { *m = GetSuperGroupsInfoReq{} }
func (m *GetSuperGroupsInfoReq) String() string { return proto.CompactTextString(m) }
func (*GetSuperGroupsInfoReq) ProtoMessage() {}
func (*GetSuperGroupsInfoReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{50}
return fileDescriptor_group_3be6490d3e5fcc92, []int{50}
}
func (m *GetSuperGroupsInfoReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetSuperGroupsInfoReq.Unmarshal(m, b)
@ -2204,7 +2220,7 @@ func (m *GetSuperGroupsInfoReq) GetGroupIDList() []string {
}
type GetSuperGroupsInfoResp struct {
GroupInfoList []*sdk_ws.GroupInfo `protobuf:"bytes,3,rep,name=groupInfoList" json:"groupInfoList,omitempty"`
GroupInfoList []*sdk_ws.GroupInfo `protobuf:"bytes,1,rep,name=groupInfoList" json:"groupInfoList,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -2214,7 +2230,7 @@ func (m *GetSuperGroupsInfoResp) Reset() { *m = GetSuperGroupsInfoResp{}
func (m *GetSuperGroupsInfoResp) String() string { return proto.CompactTextString(m) }
func (*GetSuperGroupsInfoResp) ProtoMessage() {}
func (*GetSuperGroupsInfoResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{51}
return fileDescriptor_group_3be6490d3e5fcc92, []int{51}
}
func (m *GetSuperGroupsInfoResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetSuperGroupsInfoResp.Unmarshal(m, b)
@ -2244,10 +2260,10 @@ func (m *GetSuperGroupsInfoResp) GetGroupInfoList() []*sdk_ws.GroupInfo {
type SetGroupMemberInfoReq struct {
GroupID string `protobuf:"bytes,1,opt,name=groupID" json:"groupID,omitempty"`
UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"`
Nickname *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=nickname" json:"nickname,omitempty"`
FaceURL *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=faceURL" json:"faceURL,omitempty"`
RoleLevel *wrapperspb.Int32Value `protobuf:"bytes,7,opt,name=roleLevel" json:"roleLevel,omitempty"`
Ex *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=ex" json:"ex,omitempty"`
Nickname *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=nickname" json:"nickname,omitempty"`
FaceURL *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=faceURL" json:"faceURL,omitempty"`
RoleLevel *wrapperspb.Int32Value `protobuf:"bytes,5,opt,name=roleLevel" json:"roleLevel,omitempty"`
Ex *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=ex" json:"ex,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -2257,7 +2273,7 @@ func (m *SetGroupMemberInfoReq) Reset() { *m = SetGroupMemberInfoReq{} }
func (m *SetGroupMemberInfoReq) String() string { return proto.CompactTextString(m) }
func (*SetGroupMemberInfoReq) ProtoMessage() {}
func (*SetGroupMemberInfoReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{52}
return fileDescriptor_group_3be6490d3e5fcc92, []int{52}
}
func (m *SetGroupMemberInfoReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetGroupMemberInfoReq.Unmarshal(m, b)
@ -2329,7 +2345,7 @@ func (m *SetGroupMemberInfoResp) Reset() { *m = SetGroupMemberInfoResp{}
func (m *SetGroupMemberInfoResp) String() string { return proto.CompactTextString(m) }
func (*SetGroupMemberInfoResp) ProtoMessage() {}
func (*SetGroupMemberInfoResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{53}
return fileDescriptor_group_3be6490d3e5fcc92, []int{53}
}
func (m *SetGroupMemberInfoResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetGroupMemberInfoResp.Unmarshal(m, b)
@ -2360,7 +2376,7 @@ func (m *GetGroupAbstractInfoReq) Reset() { *m = GetGroupAbstractInfoReq
func (m *GetGroupAbstractInfoReq) String() string { return proto.CompactTextString(m) }
func (*GetGroupAbstractInfoReq) ProtoMessage() {}
func (*GetGroupAbstractInfoReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{54}
return fileDescriptor_group_3be6490d3e5fcc92, []int{54}
}
func (m *GetGroupAbstractInfoReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupAbstractInfoReq.Unmarshal(m, b)
@ -2400,7 +2416,7 @@ func (m *GroupAbstractInfo) Reset() { *m = GroupAbstractInfo{} }
func (m *GroupAbstractInfo) String() string { return proto.CompactTextString(m) }
func (*GroupAbstractInfo) ProtoMessage() {}
func (*GroupAbstractInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{55}
return fileDescriptor_group_3be6490d3e5fcc92, []int{55}
}
func (m *GroupAbstractInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupAbstractInfo.Unmarshal(m, b)
@ -2452,7 +2468,7 @@ func (m *GetGroupAbstractInfoResp) Reset() { *m = GetGroupAbstractInfoRe
func (m *GetGroupAbstractInfoResp) String() string { return proto.CompactTextString(m) }
func (*GetGroupAbstractInfoResp) ProtoMessage() {}
func (*GetGroupAbstractInfoResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_0c9461c2b49843c3, []int{56}
return fileDescriptor_group_3be6490d3e5fcc92, []int{56}
}
func (m *GetGroupAbstractInfoResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupAbstractInfoResp.Unmarshal(m, b)
@ -3484,125 +3500,125 @@ var _Group_serviceDesc = grpc.ServiceDesc{
Metadata: "group/group.proto",
}
func init() { proto.RegisterFile("group/group.proto", fileDescriptor_group_0c9461c2b49843c3) }
func init() { proto.RegisterFile("group/group.proto", fileDescriptor_group_3be6490d3e5fcc92) }
var fileDescriptor_group_0c9461c2b49843c3 = []byte{
// 1871 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0x5f, 0x6f, 0x1b, 0xb9,
0x11, 0xc7, 0xca, 0x91, 0x63, 0x4f, 0xec, 0x93, 0x43, 0x47, 0xb6, 0xb2, 0x71, 0x12, 0x1f, 0x2f,
0xbd, 0x1a, 0x6d, 0x22, 0x17, 0xb9, 0xf6, 0xd0, 0x6b, 0x0b, 0x5c, 0xef, 0x92, 0x26, 0xe7, 0x9e,
0xe5, 0x34, 0xab, 0x5c, 0x0f, 0x38, 0xb4, 0x75, 0xd7, 0x12, 0xb5, 0xb7, 0xb1, 0xb4, 0x4b, 0x2f,
0x77, 0xed, 0xa0, 0x68, 0x81, 0xb6, 0x0f, 0x7d, 0xea, 0x9f, 0x87, 0x3e, 0xf6, 0xad, 0xe8, 0xa7,
0xe8, 0x5b, 0xbf, 0x59, 0x41, 0x2e, 0x97, 0xe2, 0x2e, 0xb9, 0x92, 0x1d, 0xe8, 0x5e, 0x04, 0xec,
0x70, 0x86, 0xfc, 0x71, 0x38, 0x33, 0xfc, 0x0d, 0x05, 0x37, 0x83, 0x24, 0xce, 0xe8, 0xbe, 0xf8,
0xed, 0xd2, 0x24, 0x4e, 0x63, 0xd4, 0x14, 0x1f, 0xee, 0xde, 0x0b, 0x4a, 0xa2, 0x47, 0x07, 0xbd,
0x47, 0x7d, 0x92, 0x9c, 0x93, 0x64, 0x9f, 0x9e, 0x06, 0xfb, 0x42, 0x61, 0x9f, 0x0d, 0x4f, 0x8f,
0x2f, 0xd8, 0xfe, 0x05, 0xcb, 0x0d, 0xdc, 0xee, 0x5c, 0xcd, 0xc4, 0xa7, 0x94, 0x24, 0x52, 0x1f,
0xff, 0xd7, 0x81, 0x77, 0x9e, 0x24, 0xc4, 0x4f, 0xc9, 0x73, 0xbe, 0x92, 0x47, 0xce, 0xd0, 0xfb,
0xf0, 0x4e, 0x18, 0x85, 0x69, 0x8f, 0x4c, 0x4e, 0x48, 0x72, 0x18, 0xb2, 0xb4, 0xe3, 0xec, 0x2e,
0xed, 0xad, 0x7a, 0x15, 0x29, 0xfa, 0x11, 0xac, 0x0a, 0x74, 0x07, 0xd1, 0x28, 0xee, 0x34, 0x76,
0x9d, 0xbd, 0x1b, 0x8f, 0x77, 0xba, 0x4c, 0x2c, 0x7b, 0xec, 0xd3, 0xf0, 0x98, 0xfa, 0x89, 0x3f,
0x61, 0xdd, 0xe7, 0x85, 0x8e, 0x37, 0x55, 0x47, 0x18, 0xd6, 0xfc, 0xe1, 0x24, 0x8c, 0xbe, 0x60,
0x24, 0x39, 0x78, 0xca, 0x3a, 0x4b, 0x62, 0x85, 0x92, 0x0c, 0xed, 0xc2, 0x8d, 0xf8, 0x22, 0x22,
0x49, 0xfe, 0xdd, 0x69, 0xee, 0x3a, 0x7b, 0xab, 0x9e, 0x2e, 0xc2, 0x3d, 0x68, 0x95, 0xb0, 0x33,
0x5a, 0x06, 0xb5, 0x74, 0x25, 0x50, 0xf8, 0xfb, 0xb0, 0xf1, 0x9c, 0xa4, 0x62, 0x88, 0x89, 0x31,
0x72, 0xc6, 0x41, 0xe4, 0x0a, 0x4f, 0x35, 0x4f, 0xe8, 0x22, 0xfc, 0x25, 0xdc, 0xac, 0x58, 0x31,
0x8a, 0x3e, 0x85, 0x75, 0x35, 0xaf, 0x30, 0xe4, 0x1b, 0x9c, 0x07, 0xa5, 0x6c, 0x82, 0x8f, 0xa1,
0xd5, 0x97, 0x13, 0x17, 0x68, 0x0e, 0xa1, 0xa5, 0x74, 0x9e, 0xc5, 0x49, 0x9f, 0x70, 0x44, 0x7c,
0x8f, 0x78, 0xd6, 0xc4, 0xb9, 0xa6, 0x57, 0x35, 0xc5, 0x08, 0x36, 0xca, 0x0b, 0x30, 0x8a, 0xff,
0xec, 0x80, 0x5b, 0x6c, 0xe7, 0x13, 0x4a, 0xc7, 0xe1, 0xc0, 0x4f, 0xc3, 0x38, 0xe2, 0x80, 0x38,
0x80, 0xa7, 0x00, 0xd4, 0x0f, 0xc2, 0x48, 0x08, 0xe5, 0xda, 0x0f, 0x2c, 0x6b, 0x7b, 0xe4, 0x2c,
0x23, 0x2c, 0xfd, 0x85, 0xd2, 0xf5, 0x34, 0x3b, 0x74, 0x0f, 0x60, 0x94, 0xc4, 0x13, 0x79, 0xb0,
0x4b, 0xe2, 0x60, 0x35, 0x09, 0xfe, 0xa3, 0x03, 0x77, 0x6a, 0x41, 0x30, 0x8a, 0x6e, 0x41, 0x33,
0x8d, 0x53, 0x7f, 0x2c, 0x00, 0x34, 0xbd, 0xfc, 0x03, 0x7d, 0x0e, 0x1b, 0x81, 0x8c, 0x61, 0xbe,
0xb6, 0xe6, 0xf6, 0xfb, 0x75, 0xde, 0x91, 0xaa, 0x9e, 0x61, 0x88, 0x7f, 0x0f, 0x3b, 0xcf, 0x49,
0xca, 0xf1, 0x78, 0xe4, 0xcc, 0xe2, 0x88, 0x2d, 0x58, 0xce, 0x72, 0xf8, 0x8e, 0x80, 0x2f, 0xbf,
0x2a, 0x0e, 0x6a, 0xbc, 0x9d, 0x83, 0xf8, 0x29, 0xdc, 0x9d, 0xb1, 0xfc, 0x95, 0x5c, 0xd0, 0x78,
0x5b, 0x17, 0xfc, 0xc9, 0x81, 0xf6, 0xab, 0xc4, 0x8f, 0xd8, 0x88, 0x24, 0x42, 0xf5, 0x05, 0x4f,
0x3d, 0xbe, 0xf9, 0x0e, 0x5c, 0x97, 0x19, 0x20, 0x77, 0x5f, 0x7c, 0xf2, 0xda, 0x11, 0x8f, 0x87,
0x2f, 0xb4, 0xb4, 0x6d, 0x08, 0x85, 0x8a, 0x94, 0xeb, 0x45, 0xe4, 0x42, 0xd7, 0xcb, 0xa3, 0xa0,
0x22, 0xc5, 0x1d, 0xd8, 0xb2, 0x41, 0x60, 0x14, 0xff, 0xdd, 0x81, 0xb5, 0x9f, 0xc7, 0x61, 0xa4,
0xca, 0x56, 0x3d, 0xa8, 0x7b, 0x00, 0x09, 0x39, 0xeb, 0x11, 0xc6, 0xfc, 0x80, 0x48, 0x40, 0x9a,
0x84, 0x8f, 0xbf, 0x8e, 0xc3, 0xa8, 0x1f, 0x67, 0xc9, 0x80, 0x88, 0x3a, 0xd3, 0xf4, 0x34, 0x09,
0x7a, 0x00, 0xeb, 0x61, 0x74, 0x1e, 0xa6, 0x0a, 0xeb, 0xb2, 0x98, 0xa2, 0x2c, 0xc4, 0x2d, 0x58,
0xd7, 0xf0, 0x30, 0x8a, 0xff, 0xc5, 0xa3, 0xb8, 0x12, 0xc2, 0x7c, 0x20, 0x8e, 0x18, 0xa9, 0x00,
0x5e, 0x32, 0x00, 0x6b, 0xf9, 0x71, 0xad, 0x9a, 0x1f, 0x7c, 0xfc, 0x6b, 0x3f, 0x1a, 0x8e, 0xc9,
0xb0, 0xc7, 0x02, 0x59, 0x18, 0x35, 0x09, 0xaf, 0xae, 0xf9, 0x97, 0x47, 0x58, 0x36, 0x4e, 0x05,
0xde, 0xa6, 0x57, 0x92, 0xe1, 0x7b, 0xb0, 0x53, 0x0f, 0x8e, 0x51, 0xbc, 0x07, 0x6b, 0x2f, 0xb3,
0x30, 0x9d, 0xef, 0x5e, 0xbe, 0x71, 0x4d, 0x93, 0x51, 0xfc, 0x0f, 0x07, 0xda, 0x45, 0xfa, 0x4e,
0xef, 0x8b, 0xd9, 0x67, 0xb4, 0x05, 0xcb, 0xa3, 0x70, 0x9c, 0x92, 0x44, 0x6c, 0xb7, 0xe9, 0xc9,
0xaf, 0x05, 0xe5, 0xd3, 0x39, 0x6c, 0xd9, 0x00, 0xd5, 0xe6, 0xd1, 0x33, 0x80, 0xc9, 0xf4, 0xfa,
0xcb, 0x8b, 0xc8, 0xfb, 0x75, 0x19, 0x94, 0xcf, 0xf8, 0x2c, 0x1b, 0x8f, 0x45, 0x15, 0xd5, 0x2c,
0xb1, 0x57, 0x5d, 0x57, 0xdd, 0x2b, 0x33, 0xa3, 0x55, 0x5b, 0xbb, 0x21, 0x2e, 0x1c, 0x7d, 0x4e,
0x1f, 0xb6, 0xad, 0x73, 0x32, 0xba, 0x30, 0xd8, 0x09, 0xa0, 0xcf, 0xc3, 0xc1, 0xa9, 0xa6, 0x36,
0x1b, 0xf2, 0x77, 0x60, 0xe3, 0x34, 0x1c, 0x9c, 0x92, 0x61, 0x1e, 0x9f, 0x1a, 0x70, 0x43, 0xce,
0x0f, 0x3a, 0x21, 0x3e, 0x8b, 0x23, 0x19, 0xf4, 0xf2, 0x0b, 0xb7, 0x61, 0xd3, 0x58, 0x93, 0x51,
0xfc, 0x07, 0x11, 0x4a, 0x3c, 0xb1, 0xc8, 0x50, 0x8c, 0x15, 0xa1, 0x54, 0xce, 0x11, 0xc7, 0xc8,
0x91, 0xc5, 0x04, 0xce, 0x6b, 0x71, 0x80, 0xc6, 0xf2, 0xb5, 0x81, 0x53, 0xd0, 0x8f, 0x4b, 0xdf,
0xf9, 0x53, 0x75, 0x7c, 0x0e, 0xb7, 0x0e, 0x44, 0x45, 0xe1, 0x3b, 0x78, 0x15, 0xdb, 0x32, 0x6f,
0xc9, 0x48, 0x1a, 0xe9, 0xcb, 0x6b, 0xba, 0x2f, 0xd1, 0x43, 0xb8, 0x99, 0xd7, 0x26, 0xfd, 0x40,
0x9a, 0xe2, 0x40, 0xcc, 0x01, 0xbc, 0x0d, 0x6d, 0xcb, 0xba, 0x8c, 0xe2, 0xdf, 0xc0, 0x2d, 0x75,
0x0b, 0x8f, 0xc7, 0x97, 0x09, 0x84, 0x2d, 0x58, 0x8e, 0x47, 0x23, 0x46, 0xd2, 0x22, 0x8b, 0xf3,
0x2f, 0xee, 0xac, 0x41, 0x9c, 0x45, 0xa9, 0x2c, 0xae, 0xf9, 0x07, 0x3e, 0x9e, 0x96, 0x09, 0x6d,
0xfe, 0x05, 0xc6, 0xf1, 0xbf, 0x1d, 0x58, 0x79, 0xd2, 0xeb, 0x0b, 0xb5, 0x32, 0x33, 0x74, 0xae,
0x46, 0x57, 0xbb, 0x80, 0x02, 0x75, 0xfd, 0x70, 0x37, 0x1d, 0xf9, 0x93, 0xe2, 0x26, 0xb1, 0x8c,
0xf0, 0x84, 0x28, 0x4b, 0xd5, 0xd9, 0x19, 0x72, 0xfc, 0x57, 0x07, 0xd6, 0x14, 0x81, 0x5c, 0x1c,
0xc7, 0xda, 0x91, 0xdb, 0xd5, 0x90, 0x4e, 0x05, 0xf5, 0x31, 0x85, 0x5f, 0xc1, 0xba, 0x86, 0x86,
0x51, 0xf4, 0x6d, 0x58, 0x16, 0x63, 0x4c, 0x90, 0xdf, 0x1b, 0x8f, 0x5b, 0xdd, 0xbc, 0x41, 0x29,
0x1c, 0xeb, 0xc9, 0x61, 0xe4, 0xc2, 0x8a, 0x10, 0x1c, 0x65, 0x13, 0x31, 0x69, 0xd3, 0x53, 0xdf,
0xf8, 0xd1, 0x94, 0x24, 0x5f, 0x22, 0x8e, 0xf0, 0x3f, 0x8d, 0x1b, 0x84, 0x3d, 0xe9, 0xf5, 0x67,
0xc7, 0x9e, 0x0b, 0x2b, 0x59, 0xf9, 0x64, 0xd4, 0x77, 0xc5, 0xa5, 0x4b, 0x6f, 0x59, 0x0c, 0xfe,
0xe7, 0x18, 0xe5, 0x5c, 0xa0, 0x62, 0x14, 0xfd, 0x14, 0xae, 0xe7, 0x71, 0x57, 0x78, 0xe9, 0xb2,
0xe1, 0x5a, 0x98, 0xa1, 0x9f, 0x59, 0xea, 0xd5, 0xb7, 0xac, 0x10, 0xf3, 0x4b, 0xba, 0x9e, 0x5a,
0xe7, 0x33, 0x1e, 0x65, 0x13, 0x26, 0x8f, 0x41, 0x93, 0xe0, 0xef, 0x42, 0xeb, 0x69, 0xc8, 0x26,
0x21, 0x63, 0xf3, 0xeb, 0x0b, 0x6f, 0x10, 0xca, 0xca, 0x8c, 0xe2, 0xd7, 0x80, 0x7a, 0x99, 0xec,
0xb8, 0xac, 0x47, 0x69, 0xd6, 0xa8, 0x4c, 0xe7, 0x31, 0x05, 0x51, 0xc6, 0xb0, 0x36, 0xc9, 0x52,
0x32, 0xec, 0x93, 0x41, 0x1c, 0x0d, 0x99, 0xa8, 0x0c, 0xeb, 0x5e, 0x49, 0xc6, 0xef, 0x04, 0x63,
0x2d, 0x46, 0xf1, 0x21, 0x74, 0x9e, 0xf8, 0xd1, 0x80, 0x8c, 0x17, 0x01, 0x04, 0xdf, 0x81, 0xdb,
0x35, 0xb3, 0xe5, 0x2c, 0x48, 0x89, 0x67, 0xfb, 0xaa, 0x05, 0xeb, 0x9a, 0x26, 0xa3, 0xb8, 0x0b,
0xa8, 0x32, 0xef, 0xec, 0x09, 0xda, 0xb0, 0x69, 0xe8, 0x33, 0x8a, 0x43, 0xb8, 0xdd, 0x2f, 0xc5,
0xdc, 0x51, 0x38, 0x38, 0x8d, 0xfc, 0x09, 0x99, 0x9b, 0x0d, 0x91, 0x54, 0x2c, 0xb2, 0xa1, 0xf8,
0xd6, 0x3c, 0xd1, 0x2c, 0x79, 0x62, 0x07, 0xdc, 0xba, 0xa5, 0x18, 0xc5, 0xbf, 0x13, 0x8d, 0x61,
0x7e, 0x15, 0xf6, 0x33, 0x2a, 0x09, 0xf9, 0x62, 0x1b, 0xc3, 0x29, 0xb2, 0x46, 0x09, 0x59, 0x2c,
0xfa, 0x41, 0xfb, 0xda, 0xdf, 0xc8, 0x5d, 0xfc, 0x91, 0xa8, 0x3f, 0xd3, 0xa5, 0xae, 0xf0, 0x1e,
0xf0, 0x2b, 0x51, 0x24, 0x0c, 0xd3, 0x05, 0x3d, 0x0a, 0xfc, 0xa7, 0x01, 0xed, 0xf2, 0x21, 0xcd,
0x67, 0x94, 0x35, 0x5e, 0x45, 0x3f, 0xd4, 0x62, 0xa4, 0x29, 0x2f, 0xc4, 0x20, 0x8e, 0x83, 0x31,
0xc9, 0x1f, 0x87, 0x4e, 0xb2, 0x51, 0xb7, 0x9f, 0x26, 0x61, 0x14, 0xfc, 0xd2, 0x1f, 0x67, 0x44,
0x8b, 0xa0, 0x0f, 0xe1, 0xfa, 0xc8, 0x1f, 0x90, 0x2f, 0xbc, 0x43, 0xd1, 0x5b, 0xcc, 0x33, 0x2c,
0x94, 0xd1, 0x47, 0xb0, 0x9a, 0xc4, 0x63, 0x72, 0x48, 0xce, 0xc9, 0xb8, 0x73, 0x5d, 0x58, 0xde,
0x31, 0x2c, 0x0f, 0xa2, 0xf4, 0x83, 0xc7, 0xb9, 0xe1, 0x54, 0x1b, 0x3d, 0x84, 0x06, 0x79, 0xd3,
0x59, 0xb9, 0xc4, 0x6a, 0x0d, 0xf2, 0x86, 0xf7, 0x8d, 0x36, 0x2f, 0x31, 0x8a, 0x7f, 0x30, 0xa5,
0xcf, 0x9f, 0x9c, 0xb0, 0x34, 0xf1, 0x07, 0x69, 0xe1, 0x41, 0x17, 0x56, 0xa4, 0xcb, 0x98, 0x3c,
0x58, 0xf5, 0x8d, 0xff, 0xe6, 0xc0, 0x4d, 0xc3, 0x68, 0x86, 0xcf, 0x1f, 0xca, 0xd7, 0xbc, 0x5e,
0x51, 0x7a, 0x4f, 0x48, 0x22, 0xdc, 0xdf, 0xf4, 0xcc, 0x01, 0xf4, 0x3d, 0xd8, 0x0c, 0xca, 0xcd,
0xc9, 0x67, 0x3e, 0xfb, 0x5a, 0x54, 0x88, 0x6b, 0x9e, 0x6d, 0x08, 0x0f, 0xa1, 0x63, 0xdf, 0x06,
0xa3, 0xe8, 0x33, 0xc9, 0x56, 0xf4, 0x81, 0xe2, 0x5e, 0xea, 0xc8, 0xdb, 0xdb, 0xb4, 0xb4, 0xd8,
0x3c, 0xfe, 0xcb, 0x06, 0xe4, 0x2f, 0x90, 0xe8, 0x27, 0x70, 0x63, 0x30, 0x7d, 0x6a, 0x43, 0xed,
0x82, 0x04, 0x94, 0x9e, 0x0e, 0xdd, 0x2d, 0x9b, 0x98, 0x51, 0xf4, 0x21, 0xac, 0xbe, 0x2e, 0x7a,
0x63, 0xb4, 0x29, 0x95, 0xf4, 0xee, 0xdd, 0xbd, 0x65, 0x0a, 0x73, 0xbb, 0xb3, 0xa2, 0xb5, 0x54,
0x76, 0x7a, 0x5b, 0xaa, 0xec, 0x4a, 0x1d, 0xa8, 0xc8, 0x34, 0xfd, 0x4d, 0x0e, 0x6d, 0x17, 0xdb,
0xae, 0xbc, 0xef, 0xb9, 0x1d, 0xfb, 0x00, 0xa3, 0xe8, 0x63, 0x58, 0x63, 0xda, 0xeb, 0x18, 0x2a,
0xf6, 0x56, 0x79, 0x93, 0x73, 0xb7, 0xad, 0x72, 0x46, 0xd1, 0x6f, 0x61, 0x3b, 0xb0, 0x3f, 0x62,
0xa1, 0x77, 0x2b, 0xab, 0x9a, 0x0f, 0x4c, 0x2e, 0x9e, 0xa7, 0xc2, 0x28, 0x1a, 0xc1, 0xed, 0xa0,
0xee, 0x95, 0x08, 0xbd, 0x37, 0x9d, 0xa0, 0xf6, 0x19, 0xcb, 0x7d, 0x30, 0x5f, 0x89, 0x51, 0xf4,
0x12, 0x50, 0x6a, 0xbc, 0xc2, 0xa0, 0x1d, 0x69, 0x6b, 0x7d, 0x23, 0x72, 0xef, 0xce, 0x18, 0x65,
0x14, 0x0d, 0xa0, 0x13, 0xd4, 0x3c, 0x3f, 0x20, 0x5c, 0x8a, 0x51, 0xeb, 0xe3, 0x89, 0xfb, 0xde,
0x5c, 0x9d, 0x1c, 0x77, 0x60, 0xb4, 0xfd, 0x0a, 0xb7, 0xf5, 0x89, 0x42, 0xe1, 0xae, 0x79, 0x2f,
0x78, 0x05, 0x9b, 0x81, 0xd9, 0x7d, 0x23, 0xbb, 0x95, 0x8a, 0xb2, 0x7b, 0xb3, 0x86, 0x45, 0xc6,
0xb6, 0x4e, 0xcb, 0xcd, 0x2f, 0xba, 0x2d, 0x4d, 0xcc, 0x46, 0xdc, 0x75, 0xeb, 0x86, 0xd4, 0x96,
0x2b, 0x0d, 0xab, 0xbe, 0x65, 0xb3, 0x95, 0xd6, 0xb7, 0x6c, 0xeb, 0x74, 0x8f, 0x8a, 0x6e, 0x52,
0xeb, 0x0f, 0xd1, 0x1d, 0x69, 0x63, 0xeb, 0x58, 0xdd, 0x9d, 0xfa, 0xc1, 0x3c, 0xa9, 0x55, 0xb6,
0xa9, 0xa4, 0xd6, 0x3b, 0x20, 0x95, 0xd4, 0xe5, 0x46, 0xe4, 0x25, 0x20, 0x93, 0x7d, 0xd7, 0x9c,
0xa6, 0x6c, 0x17, 0x6a, 0x4e, 0x53, 0xd1, 0xf6, 0x8f, 0x61, 0x4d, 0x27, 0xb8, 0x2a, 0xc7, 0x2b,
0x14, 0x59, 0xe5, 0x78, 0x95, 0x0d, 0xf3, 0x83, 0xab, 0xd0, 0x46, 0x75, 0x70, 0x26, 0x39, 0x55,
0x07, 0x67, 0x61, 0x9a, 0xe8, 0x2b, 0x68, 0x5b, 0x69, 0x28, 0xba, 0x5f, 0xd4, 0xd4, 0x1a, 0xca,
0xeb, 0xee, 0xce, 0x56, 0xc8, 0x3d, 0xae, 0xc4, 0xca, 0xe3, 0x3a, 0x2d, 0x55, 0x1e, 0x2f, 0x71,
0x4f, 0xbe, 0xbb, 0xca, 0xa4, 0x6a, 0x77, 0x26, 0xb5, 0x55, 0xbb, 0xb3, 0xb0, 0x58, 0x5e, 0x0b,
0x6b, 0x08, 0x9c, 0x5e, 0x0b, 0x6b, 0xc8, 0xa5, 0x5e, 0x0b, 0x6b, 0x39, 0x60, 0x1e, 0x1d, 0x15,
0xda, 0xa5, 0x47, 0x87, 0x49, 0xe6, 0xf4, 0xe8, 0xb0, 0xf1, 0xb5, 0x5f, 0x57, 0x49, 0x44, 0xc1,
0x87, 0xd1, 0x6e, 0xa5, 0xe6, 0x1b, 0xcc, 0xdc, 0x7d, 0x77, 0x8e, 0x46, 0x8e, 0xd8, 0xe4, 0x28,
0x0a, 0xb1, 0x95, 0xe4, 0x29, 0xc4, 0x76, 0x72, 0x83, 0xbe, 0xd4, 0x5e, 0x6c, 0x74, 0x9e, 0x52,
0xad, 0x3f, 0x15, 0xe6, 0xe3, 0xde, 0x9f, 0x39, 0xce, 0xe8, 0xa7, 0xf7, 0xbf, 0xba, 0xfb, 0x82,
0x92, 0xe8, 0xf8, 0xa0, 0xa7, 0xfd, 0xa3, 0x28, 0x6c, 0x7e, 0x2c, 0x7e, 0x4f, 0x96, 0x85, 0xe8,
0x83, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0x22, 0x4e, 0x92, 0x9d, 0xc4, 0x1c, 0x00, 0x00,
var fileDescriptor_group_3be6490d3e5fcc92 = []byte{
// 1859 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x59, 0x4f, 0x4f, 0x1c, 0xcb,
0x11, 0xd7, 0x2c, 0x06, 0x43, 0x19, 0x0c, 0x34, 0x2c, 0x2c, 0x03, 0x06, 0xdc, 0x76, 0x1c, 0x94,
0xd8, 0x4b, 0x64, 0x27, 0x56, 0x9c, 0x44, 0x72, 0x6c, 0x88, 0x31, 0x31, 0x0b, 0xf1, 0x2c, 0x8e,
0x25, 0x2b, 0x09, 0x19, 0x76, 0x7b, 0xc7, 0x03, 0xbb, 0x33, 0xcd, 0xf4, 0x0c, 0x58, 0x51, 0x22,
0x25, 0x39, 0xe4, 0x94, 0x44, 0x91, 0x72, 0xcc, 0x2d, 0xca, 0x25, 0x5f, 0xe1, 0xdd, 0xde, 0x37,
0x7b, 0x9a, 0xee, 0x9e, 0xde, 0x9e, 0x7f, 0xbb, 0x98, 0xc7, 0x7b, 0x97, 0x95, 0xba, 0xba, 0x6a,
0xba, 0xaa, 0xba, 0xaa, 0xfa, 0x57, 0xb5, 0x30, 0xeb, 0x04, 0x7e, 0x44, 0x37, 0xf9, 0x6f, 0x9d,
0x06, 0x7e, 0xe8, 0xa3, 0x51, 0xbe, 0x30, 0x37, 0x0e, 0x28, 0xf1, 0x1e, 0xed, 0x36, 0x1e, 0x35,
0x49, 0x70, 0x4e, 0x82, 0x4d, 0x7a, 0xea, 0x6c, 0x72, 0x86, 0x4d, 0xd6, 0x3e, 0x3d, 0xba, 0x60,
0x9b, 0x17, 0x4c, 0x08, 0x98, 0xf5, 0xa1, 0x9c, 0x81, 0x4d, 0x29, 0x09, 0x24, 0x3f, 0xfe, 0xc2,
0x80, 0xdb, 0x5b, 0x01, 0xb1, 0x43, 0xb2, 0x13, 0x9f, 0x64, 0x91, 0x33, 0xf4, 0x00, 0x6e, 0xbb,
0x9e, 0x1b, 0x36, 0x48, 0xef, 0x98, 0x04, 0x7b, 0x2e, 0x0b, 0x6b, 0xc6, 0xfa, 0xc8, 0xc6, 0x84,
0x95, 0xa1, 0xa2, 0x9f, 0xc0, 0x04, 0xd7, 0x6e, 0xd7, 0xeb, 0xf8, 0xb5, 0xca, 0xba, 0xb1, 0x71,
0xeb, 0xf1, 0x4a, 0x9d, 0xf1, 0x63, 0x8f, 0x6c, 0xea, 0x1e, 0x51, 0x3b, 0xb0, 0x7b, 0xac, 0xbe,
0x93, 0xf0, 0x58, 0x7d, 0x76, 0x84, 0x61, 0xd2, 0x6e, 0xf7, 0x5c, 0xef, 0x1d, 0x23, 0xc1, 0xee,
0x36, 0xab, 0x8d, 0xf0, 0x13, 0x52, 0x34, 0xb4, 0x0e, 0xb7, 0xfc, 0x0b, 0x8f, 0x04, 0x62, 0x5d,
0xbb, 0xb1, 0x6e, 0x6c, 0x4c, 0x58, 0x3a, 0x09, 0x37, 0x60, 0x3a, 0xa5, 0x3b, 0xa3, 0x69, 0xa5,
0x8c, 0xcf, 0x52, 0x0a, 0xff, 0x10, 0x66, 0x76, 0x48, 0xc8, 0xb7, 0x18, 0xdf, 0x23, 0x67, 0xb1,
0x12, 0x82, 0x61, 0x5b, 0xf3, 0x84, 0x4e, 0xc2, 0xef, 0x61, 0x36, 0x23, 0xc5, 0x28, 0x7a, 0x09,
0x53, 0xea, 0xbb, 0x4a, 0x70, 0x98, 0x2a, 0x69, 0x11, 0x7c, 0x04, 0xd3, 0x4d, 0xf9, 0xe1, 0x44,
0x9b, 0x3d, 0x98, 0x56, 0x3c, 0xaf, 0xfc, 0xa0, 0x49, 0x42, 0x69, 0x23, 0x1e, 0xf4, 0x61, 0xc1,
0x69, 0x65, 0x45, 0x31, 0x82, 0x99, 0xf4, 0x01, 0x8c, 0xe2, 0xbf, 0x1a, 0x60, 0x26, 0xe6, 0xbc,
0xa0, 0xb4, 0xeb, 0xb6, 0xec, 0xd0, 0xf5, 0xbd, 0x58, 0xa1, 0x58, 0x81, 0x6d, 0x00, 0x6a, 0x3b,
0xae, 0xc7, 0x89, 0xf2, 0xec, 0xfb, 0x05, 0x67, 0x5b, 0xe4, 0x2c, 0x22, 0x2c, 0xfc, 0x95, 0xe2,
0xb5, 0x34, 0x39, 0xb4, 0x0a, 0xd0, 0x09, 0xfc, 0x9e, 0xbc, 0xd8, 0x0a, 0xbf, 0x58, 0x8d, 0x82,
0xff, 0x6c, 0xc0, 0x72, 0xa9, 0x12, 0x8c, 0xa2, 0x79, 0x18, 0x0d, 0xfd, 0xd0, 0xee, 0x72, 0x05,
0x46, 0x2d, 0xb1, 0x40, 0x6f, 0x60, 0xc6, 0x91, 0x31, 0x1c, 0x9f, 0xcd, 0xdd, 0x5e, 0xe1, 0x6e,
0x5f, 0x2b, 0xf3, 0x8e, 0x64, 0xb5, 0x72, 0x82, 0xf8, 0x8f, 0xb0, 0xb2, 0x43, 0xc2, 0x58, 0x1f,
0x8b, 0x9c, 0x15, 0x38, 0x62, 0x01, 0xc6, 0x22, 0xa1, 0xbe, 0xc1, 0xd5, 0x97, 0xab, 0x8c, 0x83,
0x2a, 0x57, 0x73, 0x50, 0x7c, 0x0b, 0x77, 0x06, 0x1c, 0xff, 0xed, 0xb8, 0xe0, 0x2f, 0x06, 0x54,
0x0f, 0x03, 0xdb, 0x63, 0x1d, 0x12, 0x70, 0xd6, 0x83, 0x38, 0xf5, 0x62, 0xe3, 0x6b, 0x70, 0x53,
0x66, 0x80, 0xb4, 0x3e, 0x59, 0xc6, 0xb5, 0xc3, 0xef, 0xb6, 0x0f, 0xb4, 0xb4, 0x15, 0xb7, 0x9b,
0xa1, 0xc6, 0x7c, 0x1e, 0xb9, 0xd0, 0xf9, 0x46, 0x04, 0x5f, 0x9a, 0x8a, 0x6b, 0xb0, 0x50, 0xa4,
0x02, 0xa3, 0xf8, 0x9f, 0x06, 0x4c, 0xfe, 0xd2, 0x77, 0x3d, 0x55, 0xb6, 0xca, 0x95, 0x5a, 0x05,
0x08, 0xc8, 0x59, 0x83, 0x30, 0x66, 0x3b, 0x24, 0x09, 0xb7, 0x3e, 0x25, 0xde, 0x3f, 0xf1, 0x5d,
0xaf, 0xe9, 0x47, 0x41, 0x8b, 0x70, 0x45, 0x46, 0x2d, 0x8d, 0x82, 0xee, 0xc3, 0x94, 0xeb, 0x9d,
0xbb, 0x61, 0xa6, 0x14, 0xa5, 0x89, 0x78, 0x1a, 0xa6, 0x34, 0x7d, 0x18, 0xc5, 0xff, 0x89, 0xa3,
0x38, 0x13, 0xc2, 0xf1, 0x86, 0xef, 0x31, 0x32, 0x54, 0xe1, 0x41, 0xf9, 0x11, 0xef, 0x7f, 0xb4,
0xbd, 0x76, 0x97, 0xb4, 0x1b, 0xcc, 0x91, 0x9e, 0xd3, 0x28, 0x71, 0x75, 0x15, 0x2b, 0x8b, 0xb0,
0xa8, 0x1b, 0x72, 0x7d, 0x47, 0xad, 0x14, 0x0d, 0xaf, 0xc2, 0x4a, 0xb9, 0x72, 0x8c, 0xe2, 0x0d,
0x98, 0x7c, 0x1b, 0xb9, 0xe1, 0x70, 0xf7, 0xc6, 0x86, 0x6b, 0x9c, 0x8c, 0xe2, 0xff, 0x1b, 0x50,
0x4d, 0xd2, 0xb7, 0xff, 0x5e, 0x0c, 0x36, 0x79, 0x01, 0xc6, 0x3a, 0x6e, 0x37, 0x24, 0x01, 0x37,
0x77, 0xd4, 0x92, 0xab, 0x58, 0xc2, 0x23, 0x9f, 0xc2, 0x26, 0x39, 0x93, 0x17, 0x93, 0x2c, 0x33,
0x99, 0x76, 0xe3, 0x8a, 0x99, 0xf6, 0x2f, 0x03, 0x16, 0x8a, 0x74, 0x2d, 0x4d, 0xb1, 0x57, 0x00,
0xbd, 0xfe, 0xcb, 0x28, 0x92, 0xeb, 0x41, 0x59, 0x72, 0x89, 0x2f, 0xbe, 0x8a, 0xba, 0x5d, 0x5e,
0x60, 0x35, 0xc9, 0x72, 0xc3, 0xb0, 0x95, 0xd5, 0x48, 0x3d, 0x46, 0x03, 0x23, 0x26, 0xa3, 0xd5,
0x84, 0x7e, 0x1a, 0xb6, 0x61, 0xb1, 0xf0, 0x9b, 0x8c, 0x66, 0x0c, 0x32, 0xae, 0x6a, 0x10, 0x0e,
0x00, 0xbd, 0x71, 0x5b, 0xa7, 0x1a, 0xdb, 0x60, 0x95, 0xbf, 0x07, 0x33, 0xa7, 0x6e, 0xeb, 0x94,
0xb4, 0x45, 0x50, 0x6b, 0x8a, 0xe7, 0xe8, 0x71, 0x74, 0x04, 0xc4, 0x66, 0xbe, 0x27, 0x83, 0x5d,
0xae, 0x70, 0x15, 0xe6, 0x72, 0x67, 0x32, 0x8a, 0xff, 0xc4, 0xe3, 0x2f, 0xce, 0x46, 0xd2, 0xe6,
0x7b, 0x49, 0xfc, 0xa5, 0x13, 0xcb, 0xc8, 0x25, 0xd6, 0xf5, 0x54, 0xef, 0x13, 0x7e, 0x81, 0xb9,
0xe3, 0x4b, 0x43, 0x2a, 0xc1, 0x2c, 0x5a, 0x44, 0x5d, 0x06, 0xb3, 0x70, 0xaf, 0x9f, 0xc3, 0xfc,
0x2e, 0x2f, 0x43, 0xb1, 0x05, 0x87, 0xfe, 0x25, 0xaa, 0x61, 0xdf, 0x97, 0x15, 0xdd, 0x97, 0xe8,
0x21, 0xcc, 0x8a, 0x82, 0xa6, 0x5f, 0x88, 0xc0, 0x65, 0xf9, 0x0d, 0xbc, 0x08, 0xd5, 0x82, 0x73,
0x19, 0xc5, 0xbf, 0x83, 0x79, 0xf5, 0x74, 0x77, 0xbb, 0x97, 0x09, 0x84, 0x05, 0x18, 0xf3, 0x3b,
0x1d, 0x46, 0xc2, 0x24, 0xf5, 0xc5, 0x2a, 0x76, 0x56, 0xcb, 0x8f, 0xbc, 0x50, 0xe6, 0x87, 0x58,
0xe0, 0xa3, 0x7e, 0x6d, 0xd1, 0xbe, 0x7f, 0x8d, 0x71, 0xfc, 0x5f, 0x03, 0xc6, 0xb7, 0x1a, 0x4d,
0xce, 0xf6, 0x75, 0xe0, 0x24, 0xaa, 0x03, 0x72, 0xd4, 0x9b, 0x15, 0xbb, 0x69, 0xdf, 0xee, 0x25,
0xcf, 0x4f, 0xc1, 0x4e, 0x9c, 0x10, 0x69, 0xaa, 0x7a, 0x15, 0x73, 0x74, 0xfc, 0x77, 0x03, 0x26,
0x15, 0xea, 0xbc, 0x3e, 0x60, 0xb6, 0x22, 0xcd, 0xd5, 0x34, 0xed, 0x13, 0xf4, 0x2b, 0x1c, 0x49,
0x3f, 0x01, 0x87, 0x30, 0xa5, 0x69, 0xc3, 0x28, 0xfa, 0x2e, 0x8c, 0xf1, 0x3d, 0x26, 0x2f, 0x62,
0xba, 0x2e, 0xba, 0x9a, 0xc4, 0xb1, 0x96, 0xdc, 0x46, 0x26, 0x8c, 0x73, 0xc2, 0x7e, 0xd4, 0x93,
0xd7, 0xaf, 0xd6, 0xf8, 0x51, 0x1f, 0x59, 0x5f, 0x22, 0x8e, 0xf0, 0xbf, 0x73, 0xcf, 0x0e, 0xdb,
0x6a, 0x34, 0x07, 0xc7, 0x9e, 0x09, 0xe3, 0x51, 0xfa, 0x66, 0xd4, 0x3a, 0xe3, 0xd2, 0x91, 0x2b,
0x16, 0x83, 0x2f, 0x73, 0x0f, 0x8c, 0xd0, 0x8a, 0x51, 0xf4, 0x73, 0xb8, 0x29, 0xe2, 0x8e, 0x7d,
0x66, 0xb8, 0x26, 0x62, 0xe8, 0x17, 0x05, 0xf5, 0xea, 0x3b, 0x85, 0x2a, 0x8a, 0x97, 0xbd, 0x1c,
0x8f, 0x8b, 0x2f, 0xee, 0x47, 0x3d, 0x96, 0x00, 0xa0, 0x3e, 0x05, 0x7f, 0x1f, 0xa6, 0xb7, 0x5d,
0xd6, 0x73, 0x19, 0xbb, 0x04, 0x1c, 0x40, 0x30, 0x93, 0x66, 0x66, 0x14, 0x9f, 0x00, 0x6a, 0x44,
0xb2, 0x4d, 0xbb, 0x64, 0x49, 0x88, 0x74, 0xf0, 0x93, 0xa0, 0x6b, 0x0c, 0x93, 0xbd, 0x28, 0x24,
0xed, 0x26, 0x69, 0xf9, 0x5e, 0x5b, 0xa8, 0x3a, 0x65, 0xa5, 0x68, 0xf1, 0x9b, 0x90, 0x3b, 0x8b,
0x51, 0xbc, 0x07, 0xb5, 0x2d, 0xdb, 0x6b, 0x91, 0xee, 0x75, 0x28, 0x82, 0x97, 0x61, 0xa9, 0xe4,
0x6b, 0x02, 0x3a, 0x29, 0xf2, 0x50, 0xe8, 0xa4, 0x71, 0x32, 0x8a, 0xeb, 0x80, 0x32, 0xdf, 0x1d,
0xfc, 0x81, 0x2a, 0xcc, 0xe5, 0xf8, 0x19, 0xc5, 0x2e, 0x2c, 0x35, 0x53, 0x31, 0xb7, 0xef, 0xb6,
0x4e, 0x3d, 0xbb, 0x47, 0x86, 0x66, 0x83, 0x27, 0x19, 0x93, 0x6c, 0x48, 0xd6, 0x9a, 0x27, 0x46,
0x52, 0x9e, 0x58, 0x01, 0xb3, 0xec, 0x28, 0x46, 0xf1, 0x1f, 0x78, 0x37, 0x29, 0x9e, 0xc2, 0x66,
0x44, 0x25, 0x8a, 0xbf, 0xde, 0x6e, 0xb2, 0xec, 0x8e, 0x7c, 0xde, 0x44, 0x16, 0x9f, 0xfd, 0x8d,
0xbc, 0xc5, 0xcf, 0x78, 0xfd, 0xe9, 0x1f, 0xf5, 0x19, 0x43, 0x84, 0xdf, 0xf0, 0x22, 0x91, 0x13,
0xbd, 0xa6, 0x49, 0xc2, 0xff, 0x2a, 0x50, 0x4d, 0x5f, 0xd2, 0x70, 0x44, 0x59, 0x96, 0x82, 0x3f,
0xd6, 0x62, 0x64, 0x44, 0x3e, 0x88, 0x8e, 0xef, 0x3b, 0x5d, 0x22, 0x26, 0x4a, 0xc7, 0x51, 0xa7,
0xde, 0x0c, 0x03, 0xd7, 0x73, 0x7e, 0x6d, 0x77, 0x23, 0xa2, 0x45, 0xd0, 0x53, 0xb8, 0xd9, 0xb1,
0x5b, 0xe4, 0x9d, 0xb5, 0x27, 0xd1, 0xfa, 0x60, 0xc1, 0x84, 0x19, 0x3d, 0x83, 0x89, 0xc0, 0xef,
0x92, 0x3d, 0x72, 0x4e, 0xba, 0xb5, 0x51, 0x2e, 0xb9, 0x9c, 0x93, 0xdc, 0xf5, 0xc2, 0x27, 0x8f,
0x85, 0x60, 0x9f, 0x1b, 0x3d, 0x84, 0x0a, 0xf9, 0x54, 0x1b, 0xbb, 0xc4, 0x69, 0x15, 0xf2, 0x29,
0x6e, 0x36, 0x8b, 0xbc, 0xc4, 0x28, 0xfe, 0x51, 0x1f, 0x3e, 0xbf, 0x38, 0x66, 0x61, 0x60, 0xb7,
0xc2, 0xc4, 0x83, 0x26, 0x8c, 0x4b, 0x97, 0x31, 0x79, 0xb1, 0x6a, 0x8d, 0xff, 0x61, 0xc0, 0x6c,
0x4e, 0x68, 0x80, 0xcf, 0x1f, 0xca, 0x11, 0x60, 0x23, 0x29, 0xbd, 0xc7, 0xaa, 0x1f, 0xca, 0x6f,
0xa0, 0x1f, 0xc0, 0x9c, 0x93, 0x6e, 0x5b, 0x5e, 0xdb, 0xec, 0x23, 0xbf, 0x94, 0x1b, 0x56, 0xd1,
0x16, 0x6e, 0x43, 0xad, 0xd8, 0x0c, 0x46, 0xd1, 0x6b, 0x89, 0x56, 0xf4, 0x8d, 0xe4, 0x5d, 0xaa,
0xc9, 0xd7, 0x3b, 0x2f, 0x59, 0x20, 0xf3, 0xf8, 0x6f, 0x33, 0x20, 0xc6, 0x96, 0xe8, 0x67, 0x70,
0xab, 0xd5, 0x9f, 0xcf, 0xa1, 0x6a, 0x02, 0x02, 0x52, 0xf3, 0x46, 0x73, 0xa1, 0x88, 0xcc, 0x28,
0x7a, 0x0a, 0x13, 0x27, 0x49, 0x43, 0x8d, 0xe6, 0x24, 0x93, 0xde, 0xf2, 0x9b, 0xf3, 0x79, 0xa2,
0x90, 0x3b, 0x4b, 0xfa, 0x51, 0x25, 0xa7, 0xf7, 0xb2, 0x4a, 0x2e, 0xd5, 0xb6, 0xf2, 0x4c, 0xd3,
0x07, 0x79, 0x68, 0x31, 0x31, 0x3b, 0x33, 0x14, 0x34, 0x6b, 0xc5, 0x1b, 0x8c, 0xa2, 0xe7, 0x30,
0xc9, 0xb4, 0x91, 0x1a, 0x4a, 0x6c, 0xcb, 0x0c, 0xf2, 0xcc, 0xc5, 0x42, 0x3a, 0xa3, 0xe8, 0xf7,
0xb0, 0xe8, 0x14, 0x4f, 0xbe, 0xd0, 0xdd, 0xcc, 0xa9, 0xf9, 0xa9, 0x94, 0x89, 0x87, 0xb1, 0x30,
0x8a, 0x3a, 0xb0, 0xe4, 0x94, 0x8d, 0x96, 0xd0, 0xbd, 0xfe, 0x07, 0x4a, 0x67, 0x5f, 0xe6, 0xfd,
0xe1, 0x4c, 0x8c, 0xa2, 0xb7, 0x80, 0xc2, 0xdc, 0xe8, 0x06, 0xad, 0x48, 0xd9, 0xc2, 0xc1, 0x92,
0x79, 0x67, 0xc0, 0x2e, 0xa3, 0xa8, 0x05, 0x35, 0xa7, 0x64, 0x66, 0x81, 0x70, 0x2a, 0x46, 0x0b,
0x27, 0x2e, 0xe6, 0xbd, 0xa1, 0x3c, 0x42, 0x6f, 0x27, 0x37, 0x10, 0x50, 0x7a, 0x17, 0xce, 0x35,
0x94, 0xde, 0x25, 0x93, 0x84, 0x43, 0x98, 0x73, 0xf2, 0xdd, 0x37, 0x2a, 0x96, 0x52, 0x51, 0xb6,
0x3a, 0x68, 0x9b, 0x67, 0xec, 0xf4, 0x69, 0xba, 0xf9, 0x45, 0x4b, 0x52, 0x24, 0xdf, 0x88, 0x9b,
0x66, 0xd9, 0x96, 0x32, 0x39, 0xd3, 0xb0, 0xea, 0x26, 0xe7, 0x5b, 0x69, 0xdd, 0xe4, 0xa2, 0x4e,
0x77, 0x3f, 0xe9, 0x26, 0xb5, 0xfe, 0x10, 0x2d, 0x4b, 0x99, 0xa2, 0x8e, 0xd5, 0x5c, 0x29, 0xdf,
0x14, 0x49, 0xad, 0xb2, 0x4d, 0x25, 0xb5, 0xde, 0x01, 0xa9, 0xa4, 0x4e, 0x37, 0x22, 0x6f, 0x01,
0xe5, 0xd1, 0x77, 0xc9, 0x6d, 0xca, 0x76, 0xa1, 0xe4, 0x36, 0x15, 0x6c, 0x7f, 0x0e, 0x93, 0x3a,
0xc0, 0x55, 0x39, 0x9e, 0x81, 0xc8, 0x2a, 0xc7, 0xb3, 0x68, 0x38, 0xbe, 0xb8, 0x0c, 0x6c, 0x54,
0x17, 0x97, 0x07, 0xa7, 0xea, 0xe2, 0x0a, 0x90, 0x26, 0xfa, 0x00, 0xd5, 0x42, 0x18, 0x8a, 0xd6,
0x92, 0x9a, 0x5a, 0x02, 0x79, 0xcd, 0xf5, 0xc1, 0x0c, 0xc2, 0xe3, 0x8a, 0xac, 0x3c, 0xae, 0xc3,
0x52, 0xe5, 0xf1, 0x14, 0xf6, 0x8c, 0xad, 0xcb, 0x7c, 0x54, 0x59, 0x97, 0x87, 0xb6, 0xca, 0xba,
0x02, 0x14, 0x1b, 0xd7, 0xc2, 0x12, 0x00, 0xa7, 0xd7, 0xc2, 0x12, 0x70, 0xa9, 0xd7, 0xc2, 0x52,
0x0c, 0x28, 0xa2, 0x23, 0x03, 0xbb, 0xf4, 0xe8, 0xc8, 0x83, 0x39, 0x3d, 0x3a, 0x8a, 0xf0, 0xda,
0x6f, 0xb3, 0x20, 0x22, 0xc1, 0xc3, 0x68, 0x3d, 0x53, 0xf3, 0x73, 0xc8, 0xdc, 0xbc, 0x3b, 0x84,
0x43, 0x68, 0x9c, 0xc7, 0x28, 0x4a, 0xe3, 0x42, 0x90, 0xa7, 0x34, 0x2e, 0x06, 0x37, 0xe8, 0xbd,
0x36, 0xb1, 0xd1, 0x71, 0x4a, 0xb6, 0xfe, 0x64, 0x90, 0x8f, 0xb9, 0x36, 0x70, 0x9f, 0xd1, 0x97,
0x6b, 0x1f, 0xee, 0x1c, 0x50, 0xe2, 0x1d, 0xed, 0x36, 0xb4, 0xbf, 0x21, 0xb9, 0xcc, 0x4f, 0xf9,
0xef, 0xf1, 0x18, 0x27, 0x3d, 0xf9, 0x2a, 0x00, 0x00, 0xff, 0xff, 0x94, 0x0b, 0x60, 0xde, 0xf9,
0x1c, 0x00, 0x00,
}