Merge branch 'tuoyun' of github.com:OpenIMSDK/Open-IM-Server into office_tag

pull/218/head
wangchuxiao 3 years ago
commit 46605479e9

@ -67,6 +67,7 @@ func main() {
groupRouterGroup.POST("/get_group_members_info", group.GetGroupMembersInfo) //1 groupRouterGroup.POST("/get_group_members_info", group.GetGroupMembersInfo) //1
groupRouterGroup.POST("/invite_user_to_group", group.InviteUserToGroup) //1 groupRouterGroup.POST("/invite_user_to_group", group.InviteUserToGroup) //1
groupRouterGroup.POST("/get_joined_group_list", group.GetJoinedGroupList) //1 groupRouterGroup.POST("/get_joined_group_list", group.GetJoinedGroupList) //1
groupRouterGroup.POST("/dismiss_group", group.DismissGroup)
} }
//certificate //certificate
authRouterGroup := r.Group("/auth") authRouterGroup := r.Group("/auth")

@ -340,6 +340,17 @@ notification:
defaultTips: defaultTips:
tips: "entered the group" # group info changed by xx tips: "entered the group" # group info changed by xx
groupDismissed:
conversation:
reliabilityLevel: 3
unreadCount: true
offlinePush:
switch: false
title: "groupDismissed title"
desc: "groupDismissed desc"
ext: "groupDismissed ext"
defaultTips:
tips: "group dismissed"
#############################friend################################# #############################friend#################################
friendApplicationAdded: friendApplicationAdded:

@ -536,3 +536,35 @@ func TransferGroupOwner(c *gin.Context) {
log.NewInfo(req.OperationID, "TransferGroupOwner api return ", resp) log.NewInfo(req.OperationID, "TransferGroupOwner api return ", resp)
c.JSON(http.StatusOK, resp) c.JSON(http.StatusOK, resp)
} }
func DismissGroup(c *gin.Context) {
params := api.DismissGroupReq{}
if err := c.BindJSON(&params); err != nil {
log.NewError("0", "BindJSON failed ", err.Error())
c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()})
return
}
req := &rpc.DismissGroupReq{}
utils.CopyStructFields(req, &params)
var ok bool
ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID)
if !ok {
log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token"))
c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"})
return
}
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), " args ", req.String())
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName)
client := rpc.NewGroupClient(etcdConn)
reply, err := client.DismissGroup(context.Background(), req)
if err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), " failed ", req.String())
c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()})
return
}
resp := api.DismissGroupResp{CommResp: api.CommResp{ErrCode: reply.CommonResp.ErrCode, ErrMsg: reply.CommonResp.ErrMsg}}
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), " api return ", resp)
c.JSON(http.StatusOK, resp)
}

@ -937,3 +937,27 @@ func (s *groupServer) GetUserReqApplicationList(_ context.Context, req *pbGroup.
} }
return resp, nil return resp, nil
} }
func (s *groupServer) DismissGroup(ctx context.Context, req *pbGroup.DismissGroupReq) (*pbGroup.DismissGroupResp, error) {
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc args ", req.String())
if !token_verify.IsMangerUserID(req.OpUserID) && !imdb.IsGroupOwnerAdmin(req.GroupID, req.OpUserID) {
log.NewError(req.OperationID, "verify failed ", req.OpUserID, req.GroupID)
return &pbGroup.DismissGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}}, nil
}
err := imdb.OperateGroupStatus(req.GroupID, constant.GroupStatusDismissed)
if err != nil {
log.NewError(req.OperationID, "OperateGroupStatus failed ", req.GroupID, constant.GroupStatusDismissed)
return &pbGroup.DismissGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil
}
chat.GroupDismissedNotification(req)
err = imdb.DeleteGroupMemberByGroupID(req.GroupID)
if err != nil {
log.NewError(req.OperationID, "DeleteGroupMemberByGroupID failed ", req.GroupID)
return &pbGroup.DismissGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil
}
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc return ", pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""})
return &pbGroup.DismissGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil
}

@ -157,7 +157,9 @@ func groupNotification(contentType int32, m proto.Message, sendID, groupID, recv
case constant.MemberInvitedNotification: // case constant.MemberInvitedNotification: //
tips.DefaultTips = toNickname + " " + cn.MemberInvited.DefaultTips.Tips tips.DefaultTips = toNickname + " " + cn.MemberInvited.DefaultTips.Tips
case constant.MemberEnterNotification: case constant.MemberEnterNotification:
tips.DefaultTips = toNickname + " " + cn.MemberInvited.DefaultTips.Tips tips.DefaultTips = toNickname + " " + cn.MemberEnter.DefaultTips.Tips
case constant.GroupDismissedNotification:
tips.DefaultTips = toNickname + "" + cn.GroupDismissed.DefaultTips.Tips
default: default:
log.Error(operationID, "contentType failed ", contentType) log.Error(operationID, "contentType failed ", contentType)
return return
@ -324,6 +326,19 @@ func GroupOwnerTransferredNotification(req *pbGroup.TransferGroupOwnerReq) {
groupNotification(constant.GroupOwnerTransferredNotification, &GroupOwnerTransferredTips, req.OpUserID, req.GroupID, "", req.OperationID) groupNotification(constant.GroupOwnerTransferredNotification, &GroupOwnerTransferredTips, req.OpUserID, req.GroupID, "", req.OperationID)
} }
func GroupDismissedNotification(req *pbGroup.DismissGroupReq) {
tips := open_im_sdk.GroupDismissedTips{Group: &open_im_sdk.GroupInfo{}, OpUser: &open_im_sdk.GroupMemberFullInfo{}}
if err := setGroupInfo(req.GroupID, tips.Group); err != nil {
log.NewError(req.OperationID, "setGroupInfo failed ", err.Error(), req.GroupID)
return
}
if err := setOpUserInfo(req.OpUserID, req.GroupID, tips.OpUser); err != nil {
log.Error(req.OperationID, "setOpUserInfo failed", req.OpUserID, req.GroupID)
return
}
groupNotification(constant.GroupDismissedNotification, &tips, req.OpUserID, req.GroupID, "", req.OperationID)
}
//message MemberKickedTips{ //message MemberKickedTips{
// GroupInfo Group = 1; // GroupInfo Group = 1;
// GroupMemberFullInfo OpUser = 2; // GroupMemberFullInfo OpUser = 2;

@ -503,6 +503,14 @@ func Notification(n *NotificationMsg) {
ex = config.Config.Notification.ConversationOptUpdate.OfflinePush.Ext ex = config.Config.Notification.ConversationOptUpdate.OfflinePush.Ext
reliabilityLevel = config.Config.Notification.ConversationOptUpdate.Conversation.ReliabilityLevel reliabilityLevel = config.Config.Notification.ConversationOptUpdate.Conversation.ReliabilityLevel
unReadCount = config.Config.Notification.ConversationOptUpdate.Conversation.UnreadCount unReadCount = config.Config.Notification.ConversationOptUpdate.Conversation.UnreadCount
case constant.GroupDismissedNotification:
pushSwitch = config.Config.Notification.GroupDismissed.OfflinePush.PushSwitch
title = config.Config.Notification.GroupDismissed.OfflinePush.Title
desc = config.Config.Notification.GroupDismissed.OfflinePush.Desc
ex = config.Config.Notification.GroupDismissed.OfflinePush.Ext
reliabilityLevel = config.Config.Notification.GroupDismissed.Conversation.ReliabilityLevel
unReadCount = config.Config.Notification.GroupDismissed.Conversation.UnreadCount
} }
switch reliabilityLevel { switch reliabilityLevel {
case constant.UnreliableNotification: case constant.UnreliableNotification:

@ -177,3 +177,11 @@ type TransferGroupOwnerReq struct {
type TransferGroupOwnerResp struct { type TransferGroupOwnerResp struct {
CommResp CommResp
} }
type DismissGroupReq struct {
GroupID string `json:"groupID" binding:"required"`
OperationID string `json:"operationID" binding:"required"`
}
type DismissGroupResp struct {
CommResp
}

@ -251,6 +251,13 @@ type config struct {
OfflinePush POfflinePush `yaml:"offlinePush"` OfflinePush POfflinePush `yaml:"offlinePush"`
DefaultTips PDefaultTips `yaml:"defaultTips"` DefaultTips PDefaultTips `yaml:"defaultTips"`
} `yaml:"memberEnter"` } `yaml:"memberEnter"`
GroupDismissed struct {
Conversation PConversation `yaml:"conversation"`
OfflinePush POfflinePush `yaml:"offlinePush"`
DefaultTips PDefaultTips `yaml:"defaultTips"`
} `yaml:"groupDismissed"`
////////////////////////user/////////////////////// ////////////////////////user///////////////////////
UserInfoUpdated struct { UserInfoUpdated struct {
Conversation PConversation `yaml:"conversation"` Conversation PConversation `yaml:"conversation"`

@ -77,6 +77,7 @@ const (
MemberKickedNotification = 1508 MemberKickedNotification = 1508
MemberInvitedNotification = 1509 MemberInvitedNotification = 1509
MemberEnterNotification = 1510 MemberEnterNotification = 1510
GroupDismissedNotification = 1511
SignalingNotificationBegin = 1600 SignalingNotificationBegin = 1600
SignalingNotification = 1601 SignalingNotification = 1601
@ -129,9 +130,10 @@ const (
IsSenderSync = "senderSync" IsSenderSync = "senderSync"
//GroupStatus //GroupStatus
GroupOk = 0 GroupOk = 0
GroupBanChat = 1 GroupBanChat = 1
GroupDisband = 2 GroupStatusDismissed = 2
GroupBaned = 3 GroupBaned = 3
GroupBanPrivateChat = 4 GroupBanPrivateChat = 4

@ -103,6 +103,18 @@ func DeleteGroupMemberByGroupIDAndUserID(groupID, userID string) error {
return nil return nil
} }
func DeleteGroupMemberByGroupID(groupID string) error {
dbConn, err := db.DB.MysqlDB.DefaultGormDB()
if err != nil {
return err
}
err = dbConn.Table("group_members").Where("group_id=? ", groupID).Delete(db.GroupMember{}).Error
if err != nil {
return err
}
return nil
}
func UpdateGroupMemberInfo(groupMemberInfo db.GroupMember) error { func UpdateGroupMemberInfo(groupMemberInfo db.GroupMember) error {
dbConn, err := db.DB.MysqlDB.DefaultGormDB() dbConn, err := db.DB.MysqlDB.DefaultGormDB()
if err != nil { if err != nil {

File diff suppressed because it is too large Load Diff

@ -318,6 +318,15 @@ message AddGroupMembersCMSResp {
repeated string failed = 2; repeated string failed = 2;
} }
message DismissGroupReq{
string opUserID = 1; //group member or app manager
string operationID = 2;
string groupID = 3;
}
message DismissGroupResp{
CommonResp commonResp = 1;
}
service group{ service group{
rpc createGroup(CreateGroupReq) returns(CreateGroupResp); rpc createGroup(CreateGroupReq) returns(CreateGroupResp);
@ -345,6 +354,8 @@ service group{
rpc GetGroupMembersCMS(GetGroupMembersCMSReq) returns(GetGroupMembersCMSResp); rpc GetGroupMembersCMS(GetGroupMembersCMSReq) returns(GetGroupMembersCMSResp);
rpc RemoveGroupMembersCMS(RemoveGroupMembersCMSReq) returns(RemoveGroupMembersCMSResp); rpc RemoveGroupMembersCMS(RemoveGroupMembersCMSReq) returns(RemoveGroupMembersCMSResp);
rpc AddGroupMembersCMS(AddGroupMembersCMSReq) returns(AddGroupMembersCMSResp); rpc AddGroupMembersCMS(AddGroupMembersCMSReq) returns(AddGroupMembersCMSResp);
rpc DismissGroup(DismissGroupReq) returns(DismissGroupResp);
} }

@ -40,7 +40,7 @@ func (m *GroupInfo) Reset() { *m = GroupInfo{} }
func (m *GroupInfo) String() string { return proto.CompactTextString(m) } func (m *GroupInfo) String() string { return proto.CompactTextString(m) }
func (*GroupInfo) ProtoMessage() {} func (*GroupInfo) ProtoMessage() {}
func (*GroupInfo) Descriptor() ([]byte, []int) { func (*GroupInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{0} return fileDescriptor_ws_489fb152692e30da, []int{0}
} }
func (m *GroupInfo) XXX_Unmarshal(b []byte) error { func (m *GroupInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupInfo.Unmarshal(m, b) return xxx_messageInfo_GroupInfo.Unmarshal(m, b)
@ -164,7 +164,7 @@ func (m *GroupMemberFullInfo) Reset() { *m = GroupMemberFullInfo{} }
func (m *GroupMemberFullInfo) String() string { return proto.CompactTextString(m) } func (m *GroupMemberFullInfo) String() string { return proto.CompactTextString(m) }
func (*GroupMemberFullInfo) ProtoMessage() {} func (*GroupMemberFullInfo) ProtoMessage() {}
func (*GroupMemberFullInfo) Descriptor() ([]byte, []int) { func (*GroupMemberFullInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{1} return fileDescriptor_ws_489fb152692e30da, []int{1}
} }
func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error { func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupMemberFullInfo.Unmarshal(m, b) return xxx_messageInfo_GroupMemberFullInfo.Unmarshal(m, b)
@ -269,7 +269,7 @@ func (m *PublicUserInfo) Reset() { *m = PublicUserInfo{} }
func (m *PublicUserInfo) String() string { return proto.CompactTextString(m) } func (m *PublicUserInfo) String() string { return proto.CompactTextString(m) }
func (*PublicUserInfo) ProtoMessage() {} func (*PublicUserInfo) ProtoMessage() {}
func (*PublicUserInfo) Descriptor() ([]byte, []int) { func (*PublicUserInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{2} return fileDescriptor_ws_489fb152692e30da, []int{2}
} }
func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b)
@ -344,7 +344,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} }
func (m *UserInfo) String() string { return proto.CompactTextString(m) } func (m *UserInfo) String() string { return proto.CompactTextString(m) }
func (*UserInfo) ProtoMessage() {} func (*UserInfo) ProtoMessage() {}
func (*UserInfo) Descriptor() ([]byte, []int) { func (*UserInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{3} return fileDescriptor_ws_489fb152692e30da, []int{3}
} }
func (m *UserInfo) XXX_Unmarshal(b []byte) error { func (m *UserInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UserInfo.Unmarshal(m, b) return xxx_messageInfo_UserInfo.Unmarshal(m, b)
@ -451,7 +451,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} }
func (m *FriendInfo) String() string { return proto.CompactTextString(m) } func (m *FriendInfo) String() string { return proto.CompactTextString(m) }
func (*FriendInfo) ProtoMessage() {} func (*FriendInfo) ProtoMessage() {}
func (*FriendInfo) Descriptor() ([]byte, []int) { func (*FriendInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{4} return fileDescriptor_ws_489fb152692e30da, []int{4}
} }
func (m *FriendInfo) XXX_Unmarshal(b []byte) error { func (m *FriendInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendInfo.Unmarshal(m, b) return xxx_messageInfo_FriendInfo.Unmarshal(m, b)
@ -536,7 +536,7 @@ func (m *BlackInfo) Reset() { *m = BlackInfo{} }
func (m *BlackInfo) String() string { return proto.CompactTextString(m) } func (m *BlackInfo) String() string { return proto.CompactTextString(m) }
func (*BlackInfo) ProtoMessage() {} func (*BlackInfo) ProtoMessage() {}
func (*BlackInfo) Descriptor() ([]byte, []int) { func (*BlackInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{5} return fileDescriptor_ws_489fb152692e30da, []int{5}
} }
func (m *BlackInfo) XXX_Unmarshal(b []byte) error { func (m *BlackInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BlackInfo.Unmarshal(m, b) return xxx_messageInfo_BlackInfo.Unmarshal(m, b)
@ -617,7 +617,7 @@ func (m *GroupRequest) Reset() { *m = GroupRequest{} }
func (m *GroupRequest) String() string { return proto.CompactTextString(m) } func (m *GroupRequest) String() string { return proto.CompactTextString(m) }
func (*GroupRequest) ProtoMessage() {} func (*GroupRequest) ProtoMessage() {}
func (*GroupRequest) Descriptor() ([]byte, []int) { func (*GroupRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{6} return fileDescriptor_ws_489fb152692e30da, []int{6}
} }
func (m *GroupRequest) XXX_Unmarshal(b []byte) error { func (m *GroupRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupRequest.Unmarshal(m, b) return xxx_messageInfo_GroupRequest.Unmarshal(m, b)
@ -725,7 +725,7 @@ func (m *FriendRequest) Reset() { *m = FriendRequest{} }
func (m *FriendRequest) String() string { return proto.CompactTextString(m) } func (m *FriendRequest) String() string { return proto.CompactTextString(m) }
func (*FriendRequest) ProtoMessage() {} func (*FriendRequest) ProtoMessage() {}
func (*FriendRequest) Descriptor() ([]byte, []int) { func (*FriendRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{7} return fileDescriptor_ws_489fb152692e30da, []int{7}
} }
func (m *FriendRequest) XXX_Unmarshal(b []byte) error { func (m *FriendRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendRequest.Unmarshal(m, b) return xxx_messageInfo_FriendRequest.Unmarshal(m, b)
@ -863,7 +863,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe
func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) }
func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) ProtoMessage() {}
func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{8} return fileDescriptor_ws_489fb152692e30da, []int{8}
} }
func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b)
@ -917,7 +917,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq
func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) }
func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) ProtoMessage() {}
func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{9} return fileDescriptor_ws_489fb152692e30da, []int{9}
} }
func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b)
@ -968,7 +968,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} }
func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) }
func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) ProtoMessage() {}
func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{10} return fileDescriptor_ws_489fb152692e30da, []int{10}
} }
func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b)
@ -1000,7 +1000,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} }
func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) }
func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) ProtoMessage() {}
func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{11} return fileDescriptor_ws_489fb152692e30da, []int{11}
} }
func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b)
@ -1047,7 +1047,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} }
func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) }
func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) ProtoMessage() {}
func (*UserSendMsgResp) Descriptor() ([]byte, []int) { func (*UserSendMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{12} return fileDescriptor_ws_489fb152692e30da, []int{12}
} }
func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b)
@ -1116,7 +1116,7 @@ func (m *MsgData) Reset() { *m = MsgData{} }
func (m *MsgData) String() string { return proto.CompactTextString(m) } func (m *MsgData) String() string { return proto.CompactTextString(m) }
func (*MsgData) ProtoMessage() {} func (*MsgData) ProtoMessage() {}
func (*MsgData) Descriptor() ([]byte, []int) { func (*MsgData) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{13} return fileDescriptor_ws_489fb152692e30da, []int{13}
} }
func (m *MsgData) XXX_Unmarshal(b []byte) error { func (m *MsgData) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgData.Unmarshal(m, b) return xxx_messageInfo_MsgData.Unmarshal(m, b)
@ -1277,7 +1277,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} }
func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) }
func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) ProtoMessage() {}
func (*OfflinePushInfo) Descriptor() ([]byte, []int) { func (*OfflinePushInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{14} return fileDescriptor_ws_489fb152692e30da, []int{14}
} }
func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b)
@ -1345,7 +1345,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} }
func (m *TipsComm) String() string { return proto.CompactTextString(m) } func (m *TipsComm) String() string { return proto.CompactTextString(m) }
func (*TipsComm) ProtoMessage() {} func (*TipsComm) ProtoMessage() {}
func (*TipsComm) Descriptor() ([]byte, []int) { func (*TipsComm) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{15} return fileDescriptor_ws_489fb152692e30da, []int{15}
} }
func (m *TipsComm) XXX_Unmarshal(b []byte) error { func (m *TipsComm) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TipsComm.Unmarshal(m, b) return xxx_messageInfo_TipsComm.Unmarshal(m, b)
@ -1402,7 +1402,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} }
func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) }
func (*GroupCreatedTips) ProtoMessage() {} func (*GroupCreatedTips) ProtoMessage() {}
func (*GroupCreatedTips) Descriptor() ([]byte, []int) { func (*GroupCreatedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{16} return fileDescriptor_ws_489fb152692e30da, []int{16}
} }
func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b)
@ -1471,7 +1471,7 @@ func (m *GroupInfoSetTips) Reset() { *m = GroupInfoSetTips{} }
func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) } func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) }
func (*GroupInfoSetTips) ProtoMessage() {} func (*GroupInfoSetTips) ProtoMessage() {}
func (*GroupInfoSetTips) Descriptor() ([]byte, []int) { func (*GroupInfoSetTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{17} return fileDescriptor_ws_489fb152692e30da, []int{17}
} }
func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b)
@ -1526,7 +1526,7 @@ func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTi
func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) }
func (*JoinGroupApplicationTips) ProtoMessage() {} func (*JoinGroupApplicationTips) ProtoMessage() {}
func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{18} return fileDescriptor_ws_489fb152692e30da, []int{18}
} }
func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b)
@ -1582,7 +1582,7 @@ func (m *MemberQuitTips) Reset() { *m = MemberQuitTips{} }
func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) } func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) }
func (*MemberQuitTips) ProtoMessage() {} func (*MemberQuitTips) ProtoMessage() {}
func (*MemberQuitTips) Descriptor() ([]byte, []int) { func (*MemberQuitTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{19} return fileDescriptor_ws_489fb152692e30da, []int{19}
} }
func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b)
@ -1637,7 +1637,7 @@ func (m *GroupApplicationAcceptedTips) Reset() { *m = GroupApplicationAc
func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) } func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) }
func (*GroupApplicationAcceptedTips) ProtoMessage() {} func (*GroupApplicationAcceptedTips) ProtoMessage() {}
func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) { func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{20} return fileDescriptor_ws_489fb152692e30da, []int{20}
} }
func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b)
@ -1692,7 +1692,7 @@ func (m *GroupApplicationRejectedTips) Reset() { *m = GroupApplicationRe
func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) }
func (*GroupApplicationRejectedTips) ProtoMessage() {} func (*GroupApplicationRejectedTips) ProtoMessage() {}
func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) { func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{21} return fileDescriptor_ws_489fb152692e30da, []int{21}
} }
func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b)
@ -1748,7 +1748,7 @@ func (m *GroupOwnerTransferredTips) Reset() { *m = GroupOwnerTransferred
func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) } func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) }
func (*GroupOwnerTransferredTips) ProtoMessage() {} func (*GroupOwnerTransferredTips) ProtoMessage() {}
func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) { func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{22} return fileDescriptor_ws_489fb152692e30da, []int{22}
} }
func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b)
@ -1811,7 +1811,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} }
func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) }
func (*MemberKickedTips) ProtoMessage() {} func (*MemberKickedTips) ProtoMessage() {}
func (*MemberKickedTips) Descriptor() ([]byte, []int) { func (*MemberKickedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{23} return fileDescriptor_ws_489fb152692e30da, []int{23}
} }
func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b)
@ -1874,7 +1874,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} }
func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) }
func (*MemberInvitedTips) ProtoMessage() {} func (*MemberInvitedTips) ProtoMessage() {}
func (*MemberInvitedTips) Descriptor() ([]byte, []int) { func (*MemberInvitedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{24} return fileDescriptor_ws_489fb152692e30da, []int{24}
} }
func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b)
@ -1936,7 +1936,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} }
func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) }
func (*MemberEnterTips) ProtoMessage() {} func (*MemberEnterTips) ProtoMessage() {}
func (*MemberEnterTips) Descriptor() ([]byte, []int) { func (*MemberEnterTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{25} return fileDescriptor_ws_489fb152692e30da, []int{25}
} }
func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b)
@ -1977,6 +1977,60 @@ func (m *MemberEnterTips) GetOperationTime() int64 {
return 0 return 0
} }
type GroupDismissedTips struct {
Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"`
OperationTime int64 `protobuf:"varint,3,opt,name=operationTime" json:"operationTime,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GroupDismissedTips) Reset() { *m = GroupDismissedTips{} }
func (m *GroupDismissedTips) String() string { return proto.CompactTextString(m) }
func (*GroupDismissedTips) ProtoMessage() {}
func (*GroupDismissedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_489fb152692e30da, []int{26}
}
func (m *GroupDismissedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupDismissedTips.Unmarshal(m, b)
}
func (m *GroupDismissedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GroupDismissedTips.Marshal(b, m, deterministic)
}
func (dst *GroupDismissedTips) XXX_Merge(src proto.Message) {
xxx_messageInfo_GroupDismissedTips.Merge(dst, src)
}
func (m *GroupDismissedTips) XXX_Size() int {
return xxx_messageInfo_GroupDismissedTips.Size(m)
}
func (m *GroupDismissedTips) XXX_DiscardUnknown() {
xxx_messageInfo_GroupDismissedTips.DiscardUnknown(m)
}
var xxx_messageInfo_GroupDismissedTips proto.InternalMessageInfo
func (m *GroupDismissedTips) GetGroup() *GroupInfo {
if m != nil {
return m.Group
}
return nil
}
func (m *GroupDismissedTips) GetOpUser() *GroupMemberFullInfo {
if m != nil {
return m.OpUser
}
return nil
}
func (m *GroupDismissedTips) GetOperationTime() int64 {
if m != nil {
return m.OperationTime
}
return 0
}
type FriendApplication struct { type FriendApplication struct {
AddTime int64 `protobuf:"varint,1,opt,name=addTime" json:"addTime,omitempty"` AddTime int64 `protobuf:"varint,1,opt,name=addTime" json:"addTime,omitempty"`
AddSource string `protobuf:"bytes,2,opt,name=addSource" json:"addSource,omitempty"` AddSource string `protobuf:"bytes,2,opt,name=addSource" json:"addSource,omitempty"`
@ -1990,7 +2044,7 @@ func (m *FriendApplication) Reset() { *m = FriendApplication{} }
func (m *FriendApplication) String() string { return proto.CompactTextString(m) } func (m *FriendApplication) String() string { return proto.CompactTextString(m) }
func (*FriendApplication) ProtoMessage() {} func (*FriendApplication) ProtoMessage() {}
func (*FriendApplication) Descriptor() ([]byte, []int) { func (*FriendApplication) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{26} return fileDescriptor_ws_489fb152692e30da, []int{27}
} }
func (m *FriendApplication) XXX_Unmarshal(b []byte) error { func (m *FriendApplication) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendApplication.Unmarshal(m, b) return xxx_messageInfo_FriendApplication.Unmarshal(m, b)
@ -2043,7 +2097,7 @@ func (m *FromToUserID) Reset() { *m = FromToUserID{} }
func (m *FromToUserID) String() string { return proto.CompactTextString(m) } func (m *FromToUserID) String() string { return proto.CompactTextString(m) }
func (*FromToUserID) ProtoMessage() {} func (*FromToUserID) ProtoMessage() {}
func (*FromToUserID) Descriptor() ([]byte, []int) { func (*FromToUserID) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{27} return fileDescriptor_ws_489fb152692e30da, []int{28}
} }
func (m *FromToUserID) XXX_Unmarshal(b []byte) error { func (m *FromToUserID) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FromToUserID.Unmarshal(m, b) return xxx_messageInfo_FromToUserID.Unmarshal(m, b)
@ -2089,7 +2143,7 @@ func (m *FriendApplicationTips) Reset() { *m = FriendApplicationTips{} }
func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) } func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) }
func (*FriendApplicationTips) ProtoMessage() {} func (*FriendApplicationTips) ProtoMessage() {}
func (*FriendApplicationTips) Descriptor() ([]byte, []int) { func (*FriendApplicationTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{28} return fileDescriptor_ws_489fb152692e30da, []int{29}
} }
func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b)
@ -2129,7 +2183,7 @@ func (m *FriendApplicationApprovedTips) Reset() { *m = FriendApplication
func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) } func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) }
func (*FriendApplicationApprovedTips) ProtoMessage() {} func (*FriendApplicationApprovedTips) ProtoMessage() {}
func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) { func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{29} return fileDescriptor_ws_489fb152692e30da, []int{30}
} }
func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b)
@ -2176,7 +2230,7 @@ func (m *FriendApplicationRejectedTips) Reset() { *m = FriendApplication
func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) }
func (*FriendApplicationRejectedTips) ProtoMessage() {} func (*FriendApplicationRejectedTips) ProtoMessage() {}
func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) { func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{30} return fileDescriptor_ws_489fb152692e30da, []int{31}
} }
func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b)
@ -2224,7 +2278,7 @@ func (m *FriendAddedTips) Reset() { *m = FriendAddedTips{} }
func (m *FriendAddedTips) String() string { return proto.CompactTextString(m) } func (m *FriendAddedTips) String() string { return proto.CompactTextString(m) }
func (*FriendAddedTips) ProtoMessage() {} func (*FriendAddedTips) ProtoMessage() {}
func (*FriendAddedTips) Descriptor() ([]byte, []int) { func (*FriendAddedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{31} return fileDescriptor_ws_489fb152692e30da, []int{32}
} }
func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b)
@ -2277,7 +2331,7 @@ func (m *FriendDeletedTips) Reset() { *m = FriendDeletedTips{} }
func (m *FriendDeletedTips) String() string { return proto.CompactTextString(m) } func (m *FriendDeletedTips) String() string { return proto.CompactTextString(m) }
func (*FriendDeletedTips) ProtoMessage() {} func (*FriendDeletedTips) ProtoMessage() {}
func (*FriendDeletedTips) Descriptor() ([]byte, []int) { func (*FriendDeletedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{32} return fileDescriptor_ws_489fb152692e30da, []int{33}
} }
func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b)
@ -2315,7 +2369,7 @@ func (m *BlackAddedTips) Reset() { *m = BlackAddedTips{} }
func (m *BlackAddedTips) String() string { return proto.CompactTextString(m) } func (m *BlackAddedTips) String() string { return proto.CompactTextString(m) }
func (*BlackAddedTips) ProtoMessage() {} func (*BlackAddedTips) ProtoMessage() {}
func (*BlackAddedTips) Descriptor() ([]byte, []int) { func (*BlackAddedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{33} return fileDescriptor_ws_489fb152692e30da, []int{34}
} }
func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b)
@ -2353,7 +2407,7 @@ func (m *BlackDeletedTips) Reset() { *m = BlackDeletedTips{} }
func (m *BlackDeletedTips) String() string { return proto.CompactTextString(m) } func (m *BlackDeletedTips) String() string { return proto.CompactTextString(m) }
func (*BlackDeletedTips) ProtoMessage() {} func (*BlackDeletedTips) ProtoMessage() {}
func (*BlackDeletedTips) Descriptor() ([]byte, []int) { func (*BlackDeletedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{34} return fileDescriptor_ws_489fb152692e30da, []int{35}
} }
func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b)
@ -2391,7 +2445,7 @@ func (m *FriendInfoChangedTips) Reset() { *m = FriendInfoChangedTips{} }
func (m *FriendInfoChangedTips) String() string { return proto.CompactTextString(m) } func (m *FriendInfoChangedTips) String() string { return proto.CompactTextString(m) }
func (*FriendInfoChangedTips) ProtoMessage() {} func (*FriendInfoChangedTips) ProtoMessage() {}
func (*FriendInfoChangedTips) Descriptor() ([]byte, []int) { func (*FriendInfoChangedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{35} return fileDescriptor_ws_489fb152692e30da, []int{36}
} }
func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b)
@ -2430,7 +2484,7 @@ func (m *UserInfoUpdatedTips) Reset() { *m = UserInfoUpdatedTips{} }
func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) }
func (*UserInfoUpdatedTips) ProtoMessage() {} func (*UserInfoUpdatedTips) ProtoMessage() {}
func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) { func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{36} return fileDescriptor_ws_489fb152692e30da, []int{37}
} }
func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b)
@ -2469,7 +2523,7 @@ func (m *ConversationUpdateTips) Reset() { *m = ConversationUpdateTips{}
func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) } func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) }
func (*ConversationUpdateTips) ProtoMessage() {} func (*ConversationUpdateTips) ProtoMessage() {}
func (*ConversationUpdateTips) Descriptor() ([]byte, []int) { func (*ConversationUpdateTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{37} return fileDescriptor_ws_489fb152692e30da, []int{38}
} }
func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b)
@ -2509,7 +2563,7 @@ func (m *RequestPagination) Reset() { *m = RequestPagination{} }
func (m *RequestPagination) String() string { return proto.CompactTextString(m) } func (m *RequestPagination) String() string { return proto.CompactTextString(m) }
func (*RequestPagination) ProtoMessage() {} func (*RequestPagination) ProtoMessage() {}
func (*RequestPagination) Descriptor() ([]byte, []int) { func (*RequestPagination) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{38} return fileDescriptor_ws_489fb152692e30da, []int{39}
} }
func (m *RequestPagination) XXX_Unmarshal(b []byte) error { func (m *RequestPagination) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RequestPagination.Unmarshal(m, b) return xxx_messageInfo_RequestPagination.Unmarshal(m, b)
@ -2555,7 +2609,7 @@ func (m *ResponsePagination) Reset() { *m = ResponsePagination{} }
func (m *ResponsePagination) String() string { return proto.CompactTextString(m) } func (m *ResponsePagination) String() string { return proto.CompactTextString(m) }
func (*ResponsePagination) ProtoMessage() {} func (*ResponsePagination) ProtoMessage() {}
func (*ResponsePagination) Descriptor() ([]byte, []int) { func (*ResponsePagination) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{39} return fileDescriptor_ws_489fb152692e30da, []int{40}
} }
func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { func (m *ResponsePagination) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) return xxx_messageInfo_ResponsePagination.Unmarshal(m, b)
@ -2608,7 +2662,7 @@ func (m *SignalReq) Reset() { *m = SignalReq{} }
func (m *SignalReq) String() string { return proto.CompactTextString(m) } func (m *SignalReq) String() string { return proto.CompactTextString(m) }
func (*SignalReq) ProtoMessage() {} func (*SignalReq) ProtoMessage() {}
func (*SignalReq) Descriptor() ([]byte, []int) { func (*SignalReq) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{40} return fileDescriptor_ws_489fb152692e30da, []int{41}
} }
func (m *SignalReq) XXX_Unmarshal(b []byte) error { func (m *SignalReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalReq.Unmarshal(m, b) return xxx_messageInfo_SignalReq.Unmarshal(m, b)
@ -2875,7 +2929,7 @@ func (m *SignalResp) Reset() { *m = SignalResp{} }
func (m *SignalResp) String() string { return proto.CompactTextString(m) } func (m *SignalResp) String() string { return proto.CompactTextString(m) }
func (*SignalResp) ProtoMessage() {} func (*SignalResp) ProtoMessage() {}
func (*SignalResp) Descriptor() ([]byte, []int) { func (*SignalResp) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{41} return fileDescriptor_ws_489fb152692e30da, []int{42}
} }
func (m *SignalResp) XXX_Unmarshal(b []byte) error { func (m *SignalResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalResp.Unmarshal(m, b) return xxx_messageInfo_SignalResp.Unmarshal(m, b)
@ -3143,7 +3197,7 @@ func (m *InvitationInfo) Reset() { *m = InvitationInfo{} }
func (m *InvitationInfo) String() string { return proto.CompactTextString(m) } func (m *InvitationInfo) String() string { return proto.CompactTextString(m) }
func (*InvitationInfo) ProtoMessage() {} func (*InvitationInfo) ProtoMessage() {}
func (*InvitationInfo) Descriptor() ([]byte, []int) { func (*InvitationInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{42} return fileDescriptor_ws_489fb152692e30da, []int{43}
} }
func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { func (m *InvitationInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) return xxx_messageInfo_InvitationInfo.Unmarshal(m, b)
@ -3239,7 +3293,7 @@ func (m *ParticipantMetaData) Reset() { *m = ParticipantMetaData{} }
func (m *ParticipantMetaData) String() string { return proto.CompactTextString(m) } func (m *ParticipantMetaData) String() string { return proto.CompactTextString(m) }
func (*ParticipantMetaData) ProtoMessage() {} func (*ParticipantMetaData) ProtoMessage() {}
func (*ParticipantMetaData) Descriptor() ([]byte, []int) { func (*ParticipantMetaData) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{43} return fileDescriptor_ws_489fb152692e30da, []int{44}
} }
func (m *ParticipantMetaData) XXX_Unmarshal(b []byte) error { func (m *ParticipantMetaData) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ParticipantMetaData.Unmarshal(m, b) return xxx_messageInfo_ParticipantMetaData.Unmarshal(m, b)
@ -3294,7 +3348,7 @@ func (m *SignalInviteReq) Reset() { *m = SignalInviteReq{} }
func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) } func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) }
func (*SignalInviteReq) ProtoMessage() {} func (*SignalInviteReq) ProtoMessage() {}
func (*SignalInviteReq) Descriptor() ([]byte, []int) { func (*SignalInviteReq) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{44} return fileDescriptor_ws_489fb152692e30da, []int{45}
} }
func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b)
@ -3355,7 +3409,7 @@ func (m *SignalInviteReply) Reset() { *m = SignalInviteReply{} }
func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) } func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) }
func (*SignalInviteReply) ProtoMessage() {} func (*SignalInviteReply) ProtoMessage() {}
func (*SignalInviteReply) Descriptor() ([]byte, []int) { func (*SignalInviteReply) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{45} return fileDescriptor_ws_489fb152692e30da, []int{46}
} }
func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b)
@ -3410,7 +3464,7 @@ func (m *SignalInviteInGroupReq) Reset() { *m = SignalInviteInGroupReq{}
func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) } func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) }
func (*SignalInviteInGroupReq) ProtoMessage() {} func (*SignalInviteInGroupReq) ProtoMessage() {}
func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) { func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{46} return fileDescriptor_ws_489fb152692e30da, []int{47}
} }
func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b)
@ -3471,7 +3525,7 @@ func (m *SignalInviteInGroupReply) Reset() { *m = SignalInviteInGroupRep
func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) } func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) }
func (*SignalInviteInGroupReply) ProtoMessage() {} func (*SignalInviteInGroupReply) ProtoMessage() {}
func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) { func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{47} return fileDescriptor_ws_489fb152692e30da, []int{48}
} }
func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b)
@ -3526,7 +3580,7 @@ func (m *SignalCancelReq) Reset() { *m = SignalCancelReq{} }
func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) } func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) }
func (*SignalCancelReq) ProtoMessage() {} func (*SignalCancelReq) ProtoMessage() {}
func (*SignalCancelReq) Descriptor() ([]byte, []int) { func (*SignalCancelReq) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{48} return fileDescriptor_ws_489fb152692e30da, []int{49}
} }
func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b)
@ -3584,7 +3638,7 @@ func (m *SignalCancelReply) Reset() { *m = SignalCancelReply{} }
func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) } func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) }
func (*SignalCancelReply) ProtoMessage() {} func (*SignalCancelReply) ProtoMessage() {}
func (*SignalCancelReply) Descriptor() ([]byte, []int) { func (*SignalCancelReply) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{49} return fileDescriptor_ws_489fb152692e30da, []int{50}
} }
func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b)
@ -3619,7 +3673,7 @@ func (m *SignalAcceptReq) Reset() { *m = SignalAcceptReq{} }
func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) } func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) }
func (*SignalAcceptReq) ProtoMessage() {} func (*SignalAcceptReq) ProtoMessage() {}
func (*SignalAcceptReq) Descriptor() ([]byte, []int) { func (*SignalAcceptReq) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{50} return fileDescriptor_ws_489fb152692e30da, []int{51}
} }
func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b)
@ -3687,7 +3741,7 @@ func (m *SignalAcceptReply) Reset() { *m = SignalAcceptReply{} }
func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) } func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) }
func (*SignalAcceptReply) ProtoMessage() {} func (*SignalAcceptReply) ProtoMessage() {}
func (*SignalAcceptReply) Descriptor() ([]byte, []int) { func (*SignalAcceptReply) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{51} return fileDescriptor_ws_489fb152692e30da, []int{52}
} }
func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b)
@ -3741,7 +3795,7 @@ func (m *SignalHungUpReq) Reset() { *m = SignalHungUpReq{} }
func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) } func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) }
func (*SignalHungUpReq) ProtoMessage() {} func (*SignalHungUpReq) ProtoMessage() {}
func (*SignalHungUpReq) Descriptor() ([]byte, []int) { func (*SignalHungUpReq) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{52} return fileDescriptor_ws_489fb152692e30da, []int{53}
} }
func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b)
@ -3792,7 +3846,7 @@ func (m *SignalHungUpReply) Reset() { *m = SignalHungUpReply{} }
func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) } func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) }
func (*SignalHungUpReply) ProtoMessage() {} func (*SignalHungUpReply) ProtoMessage() {}
func (*SignalHungUpReply) Descriptor() ([]byte, []int) { func (*SignalHungUpReply) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{53} return fileDescriptor_ws_489fb152692e30da, []int{54}
} }
func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b)
@ -3827,7 +3881,7 @@ func (m *SignalRejectReq) Reset() { *m = SignalRejectReq{} }
func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) } func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) }
func (*SignalRejectReq) ProtoMessage() {} func (*SignalRejectReq) ProtoMessage() {}
func (*SignalRejectReq) Descriptor() ([]byte, []int) { func (*SignalRejectReq) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{54} return fileDescriptor_ws_489fb152692e30da, []int{55}
} }
func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b)
@ -3892,7 +3946,7 @@ func (m *SignalRejectReply) Reset() { *m = SignalRejectReply{} }
func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) } func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) }
func (*SignalRejectReply) ProtoMessage() {} func (*SignalRejectReply) ProtoMessage() {}
func (*SignalRejectReply) Descriptor() ([]byte, []int) { func (*SignalRejectReply) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{55} return fileDescriptor_ws_489fb152692e30da, []int{56}
} }
func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b)
@ -3926,7 +3980,7 @@ func (m *DelMsgListReq) Reset() { *m = DelMsgListReq{} }
func (m *DelMsgListReq) String() string { return proto.CompactTextString(m) } func (m *DelMsgListReq) String() string { return proto.CompactTextString(m) }
func (*DelMsgListReq) ProtoMessage() {} func (*DelMsgListReq) ProtoMessage() {}
func (*DelMsgListReq) Descriptor() ([]byte, []int) { func (*DelMsgListReq) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{56} return fileDescriptor_ws_489fb152692e30da, []int{57}
} }
func (m *DelMsgListReq) XXX_Unmarshal(b []byte) error { func (m *DelMsgListReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DelMsgListReq.Unmarshal(m, b) return xxx_messageInfo_DelMsgListReq.Unmarshal(m, b)
@ -3986,7 +4040,7 @@ func (m *DelMsgListResp) Reset() { *m = DelMsgListResp{} }
func (m *DelMsgListResp) String() string { return proto.CompactTextString(m) } func (m *DelMsgListResp) String() string { return proto.CompactTextString(m) }
func (*DelMsgListResp) ProtoMessage() {} func (*DelMsgListResp) ProtoMessage() {}
func (*DelMsgListResp) Descriptor() ([]byte, []int) { func (*DelMsgListResp) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c5c79ae5b343c043, []int{57} return fileDescriptor_ws_489fb152692e30da, []int{58}
} }
func (m *DelMsgListResp) XXX_Unmarshal(b []byte) error { func (m *DelMsgListResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DelMsgListResp.Unmarshal(m, b) return xxx_messageInfo_DelMsgListResp.Unmarshal(m, b)
@ -4048,6 +4102,7 @@ func init() {
proto.RegisterType((*MemberKickedTips)(nil), "server_api_params.MemberKickedTips") proto.RegisterType((*MemberKickedTips)(nil), "server_api_params.MemberKickedTips")
proto.RegisterType((*MemberInvitedTips)(nil), "server_api_params.MemberInvitedTips") proto.RegisterType((*MemberInvitedTips)(nil), "server_api_params.MemberInvitedTips")
proto.RegisterType((*MemberEnterTips)(nil), "server_api_params.MemberEnterTips") proto.RegisterType((*MemberEnterTips)(nil), "server_api_params.MemberEnterTips")
proto.RegisterType((*GroupDismissedTips)(nil), "server_api_params.GroupDismissedTips")
proto.RegisterType((*FriendApplication)(nil), "server_api_params.FriendApplication") proto.RegisterType((*FriendApplication)(nil), "server_api_params.FriendApplication")
proto.RegisterType((*FromToUserID)(nil), "server_api_params.FromToUserID") proto.RegisterType((*FromToUserID)(nil), "server_api_params.FromToUserID")
proto.RegisterType((*FriendApplicationTips)(nil), "server_api_params.FriendApplicationTips") proto.RegisterType((*FriendApplicationTips)(nil), "server_api_params.FriendApplicationTips")
@ -4082,169 +4137,170 @@ func init() {
proto.RegisterType((*DelMsgListResp)(nil), "server_api_params.DelMsgListResp") proto.RegisterType((*DelMsgListResp)(nil), "server_api_params.DelMsgListResp")
} }
func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_c5c79ae5b343c043) } func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_489fb152692e30da) }
var fileDescriptor_ws_c5c79ae5b343c043 = []byte{ var fileDescriptor_ws_489fb152692e30da = []byte{
// 2572 bytes of a gzipped FileDescriptorProto // 2589 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xcb, 0x6f, 0x24, 0x49, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xcd, 0x6f, 0xe4, 0x48,
0xd1, 0xff, 0xaa, 0xda, 0xdd, 0x76, 0x87, 0xdd, 0x7e, 0x94, 0xf7, 0x33, 0xcd, 0x30, 0x3b, 0x98, 0x15, 0xc7, 0xee, 0x74, 0x27, 0xfd, 0x92, 0x4e, 0x27, 0xce, 0x12, 0x9a, 0x61, 0x76, 0x08, 0x56,
0x92, 0xb5, 0x0c, 0x0b, 0x78, 0xd1, 0x20, 0x24, 0x98, 0x85, 0x41, 0x7e, 0xcc, 0x6b, 0xb1, 0x67, 0xb4, 0x0c, 0x0b, 0x64, 0xd1, 0x20, 0x24, 0xd8, 0x85, 0x41, 0xf9, 0x98, 0xaf, 0x25, 0x3d, 0x93,
0xbc, 0xd5, 0x33, 0x2c, 0x02, 0xa4, 0x51, 0xba, 0x2b, 0xdd, 0xae, 0x75, 0x75, 0x66, 0x75, 0x3d, 0x75, 0xcf, 0xb0, 0x08, 0x90, 0x46, 0x95, 0x76, 0xa5, 0xe3, 0x8d, 0x5d, 0xe5, 0x76, 0xd9, 0x99,
0x3c, 0x63, 0x09, 0x09, 0x09, 0x24, 0xc4, 0x8d, 0x13, 0x5c, 0x91, 0xb8, 0x20, 0x24, 0x84, 0xf6, 0x89, 0x84, 0x84, 0x04, 0x12, 0xe2, 0xc6, 0x09, 0xae, 0x48, 0x5c, 0x10, 0x12, 0x5a, 0xed, 0x01,
0x00, 0xe2, 0x82, 0x38, 0xf1, 0x0f, 0x70, 0xe6, 0xc6, 0x99, 0x2b, 0x07, 0x24, 0x24, 0x50, 0x66, 0xc4, 0x05, 0x71, 0xe2, 0x1f, 0xe0, 0xcc, 0x8d, 0x33, 0x57, 0x0e, 0x48, 0x48, 0xa0, 0xfa, 0xb0,
0x64, 0x55, 0x65, 0x56, 0x75, 0xdb, 0xbd, 0x96, 0xb5, 0x03, 0x1a, 0x6e, 0x1d, 0x51, 0x19, 0x91, 0x5d, 0x65, 0x77, 0x27, 0xbd, 0x51, 0xb4, 0x03, 0x1a, 0x6e, 0xfd, 0x9e, 0xeb, 0xbd, 0x7a, 0xf5,
0x91, 0xf1, 0x8b, 0x88, 0x8c, 0xcc, 0x6c, 0x58, 0x4a, 0xfc, 0x93, 0x67, 0xcf, 0x93, 0xb7, 0x9e, 0x7e, 0xef, 0xbd, 0x7a, 0x7e, 0x6e, 0xe8, 0x32, 0xff, 0xe4, 0xe9, 0x33, 0xf6, 0xc6, 0x33, 0xb6,
0x27, 0x9b, 0x51, 0xcc, 0x53, 0xee, 0xac, 0x24, 0x34, 0x3e, 0xa5, 0xf1, 0x33, 0x12, 0x05, 0xcf, 0x15, 0x27, 0x34, 0xa5, 0xce, 0x2a, 0xc3, 0xc9, 0x29, 0x4e, 0x9e, 0xa2, 0x38, 0x78, 0x1a, 0xa3,
0x22, 0x12, 0x93, 0x61, 0xe2, 0xfe, 0xdd, 0x86, 0xf6, 0xfd, 0x98, 0x67, 0xd1, 0x43, 0x76, 0xc4, 0x04, 0x45, 0xcc, 0xfd, 0x87, 0x0d, 0xed, 0x7b, 0x09, 0xcd, 0xe2, 0x07, 0xe4, 0x88, 0x3a, 0x3d,
0x9d, 0x2e, 0xcc, 0x0e, 0x24, 0xb1, 0xdb, 0xb5, 0xd6, 0xad, 0x9b, 0x6d, 0x2f, 0x27, 0x9d, 0xeb, 0x98, 0x1f, 0x09, 0x62, 0xaf, 0x67, 0x6d, 0x58, 0x37, 0xdb, 0x5e, 0x4e, 0x3a, 0xd7, 0xa1, 0x2d,
0xd0, 0x96, 0x3f, 0x1f, 0x91, 0x21, 0xed, 0xda, 0xf2, 0x5b, 0xc9, 0x70, 0x5c, 0x58, 0x60, 0x3c, 0x7e, 0x3e, 0x44, 0x11, 0xee, 0xd9, 0xe2, 0x59, 0xc9, 0x70, 0x5c, 0x58, 0x22, 0x34, 0x0d, 0x8e,
0x0d, 0x8e, 0x82, 0x3e, 0x49, 0x03, 0xce, 0xba, 0x0d, 0x39, 0xc0, 0xe0, 0x89, 0x31, 0x01, 0x4b, 0x82, 0x21, 0x4a, 0x03, 0x4a, 0x7a, 0x0d, 0xb1, 0xc0, 0xe0, 0xf1, 0x35, 0x01, 0x49, 0x13, 0xea,
0x63, 0xee, 0x67, 0x7d, 0x39, 0x66, 0x06, 0xc7, 0xe8, 0x3c, 0x31, 0xff, 0x11, 0xe9, 0xd3, 0xa7, 0x67, 0x43, 0xb1, 0x66, 0x4e, 0xae, 0xd1, 0x79, 0x7c, 0xff, 0x23, 0x34, 0xc4, 0x4f, 0xbc, 0xfd,
0xde, 0x5e, 0xb7, 0x89, 0xf3, 0x2b, 0xd2, 0x59, 0x87, 0x79, 0xfe, 0x9c, 0xd1, 0xf8, 0x69, 0x42, 0x5e, 0x53, 0xee, 0xaf, 0x48, 0x67, 0x03, 0x16, 0xe9, 0x33, 0x82, 0x93, 0x27, 0x0c, 0x27, 0x0f,
0xe3, 0x87, 0xbb, 0xdd, 0x96, 0xfc, 0xaa, 0xb3, 0x9c, 0x1b, 0x00, 0xfd, 0x98, 0x92, 0x94, 0x3e, 0xf6, 0x7a, 0x2d, 0xf1, 0x54, 0x67, 0x39, 0x37, 0x00, 0x86, 0x09, 0x46, 0x29, 0x7e, 0x1c, 0x44,
0x09, 0x86, 0xb4, 0x3b, 0xbb, 0x6e, 0xdd, 0xec, 0x78, 0x1a, 0x47, 0x68, 0x18, 0xd2, 0xe1, 0x21, 0xb8, 0x37, 0xbf, 0x61, 0xdd, 0xec, 0x78, 0x1a, 0x87, 0x6b, 0x88, 0x70, 0x74, 0x88, 0x93, 0x5d,
0x8d, 0x77, 0x78, 0xc6, 0xd2, 0xee, 0x9c, 0x1c, 0xa0, 0xb3, 0x9c, 0x45, 0xb0, 0xe9, 0x8b, 0x6e, 0x9a, 0x91, 0xb4, 0xb7, 0x20, 0x16, 0xe8, 0x2c, 0x67, 0x19, 0x6c, 0xfc, 0xbc, 0xd7, 0x16, 0xaa,
0x5b, 0xaa, 0xb6, 0xe9, 0x0b, 0x67, 0x0d, 0x5a, 0x49, 0x4a, 0xd2, 0x2c, 0xe9, 0xc2, 0xba, 0x75, 0x6d, 0xfc, 0xdc, 0x59, 0x87, 0x16, 0x4b, 0x51, 0x9a, 0xb1, 0x1e, 0x6c, 0x58, 0x37, 0x9b, 0x9e,
0xb3, 0xe9, 0x29, 0xca, 0xd9, 0x80, 0x8e, 0xd4, 0xcb, 0x73, 0x6b, 0xe6, 0xa5, 0x88, 0xc9, 0x2c, 0xa2, 0x9c, 0x4d, 0xe8, 0x08, 0xbd, 0x34, 0xb7, 0x66, 0x51, 0x88, 0x98, 0xcc, 0xc2, 0x63, 0x8f,
0x3c, 0xf6, 0xe4, 0x2c, 0xa2, 0xdd, 0x05, 0xa9, 0xa0, 0x64, 0xb8, 0xbf, 0xb7, 0x61, 0x55, 0xfa, 0xcf, 0x62, 0xdc, 0x5b, 0x12, 0x0a, 0x4a, 0x86, 0xfb, 0x07, 0x1b, 0xd6, 0x84, 0xdf, 0xfb, 0xc2,
0x7d, 0x5f, 0x1a, 0x70, 0x2f, 0x0b, 0xc3, 0x0b, 0x10, 0x58, 0x83, 0x56, 0x86, 0xd3, 0xa1, 0xfb, 0x80, 0xbb, 0x59, 0x18, 0x5e, 0x80, 0xc0, 0x3a, 0xb4, 0x32, 0xb9, 0x9d, 0x74, 0xbf, 0xa2, 0xf8,
0x15, 0x25, 0xe6, 0x89, 0x79, 0x48, 0xf7, 0xe8, 0x29, 0x0d, 0xa5, 0xe3, 0x9b, 0x5e, 0xc9, 0x70, 0x3e, 0x09, 0x0d, 0xf1, 0x3e, 0x3e, 0xc5, 0xa1, 0x70, 0x7c, 0xd3, 0x2b, 0x19, 0xce, 0x35, 0x58,
0xae, 0xc1, 0xdc, 0xfb, 0x3c, 0x60, 0xd2, 0x27, 0x33, 0xf2, 0x63, 0x41, 0x8b, 0x6f, 0x2c, 0xe8, 0x78, 0x8f, 0x06, 0x44, 0xf8, 0x64, 0x4e, 0x3c, 0x2c, 0x68, 0xfe, 0x8c, 0x04, 0xc3, 0x13, 0xc2,
0x9f, 0x30, 0x01, 0x29, 0xba, 0xbb, 0xa0, 0x75, 0x24, 0x5a, 0x26, 0x12, 0x6f, 0xc0, 0x22, 0x89, 0x21, 0x95, 0xee, 0x2e, 0x68, 0x1d, 0x89, 0x96, 0x89, 0xc4, 0x6b, 0xb0, 0x8c, 0xe2, 0xb8, 0x8f,
0xa2, 0x7d, 0xc2, 0x06, 0x34, 0xc6, 0x49, 0x67, 0xa5, 0xde, 0x0a, 0x57, 0xe0, 0x21, 0x66, 0xea, 0xc8, 0x08, 0x27, 0x72, 0xd3, 0x79, 0xa1, 0xb7, 0xc2, 0xe5, 0x78, 0xf0, 0x9d, 0x06, 0x34, 0x4b,
0xf1, 0x2c, 0xee, 0x53, 0xe9, 0xee, 0xa6, 0xa7, 0x71, 0x84, 0x1e, 0x1e, 0xd1, 0x58, 0x73, 0x23, 0x86, 0x58, 0xb8, 0xbb, 0xe9, 0x69, 0x1c, 0xae, 0x87, 0xc6, 0x38, 0xd1, 0xdc, 0x28, 0x3d, 0x5f,
0x7a, 0xbe, 0xc2, 0x55, 0xa8, 0x40, 0x8e, 0x8a, 0xfb, 0x23, 0x0b, 0x16, 0x0f, 0xb2, 0xc3, 0x30, 0xe1, 0x2a, 0x54, 0x20, 0x47, 0xc5, 0xfd, 0x89, 0x05, 0xcb, 0x07, 0xd9, 0x61, 0x18, 0x0c, 0xc5,
0xe8, 0xcb, 0x01, 0xc2, 0x69, 0xa5, 0x6b, 0x2c, 0xc3, 0x35, 0xfa, 0x02, 0xed, 0xc9, 0x0b, 0x6c, 0x02, 0xee, 0xb4, 0xd2, 0x35, 0x96, 0xe1, 0x1a, 0xfd, 0x80, 0xf6, 0xf4, 0x03, 0x36, 0xcc, 0x03,
0x98, 0x0b, 0x5c, 0x83, 0xd6, 0x80, 0x32, 0x9f, 0xc6, 0xca, 0x61, 0x8a, 0x52, 0x86, 0x34, 0x0b, 0xae, 0x43, 0x6b, 0x84, 0x89, 0x8f, 0x13, 0xe5, 0x30, 0x45, 0x29, 0x43, 0x9a, 0x85, 0x21, 0xbf,
0x43, 0x7e, 0x66, 0xc3, 0xdc, 0x47, 0x6c, 0xc2, 0x3a, 0xcc, 0x47, 0xc7, 0x9c, 0xd1, 0x47, 0x99, 0xb0, 0x61, 0xe1, 0x23, 0x36, 0x61, 0x03, 0x16, 0xe3, 0x63, 0x4a, 0xf0, 0xc3, 0x8c, 0x07, 0x8d,
0x08, 0x1a, 0x65, 0x8b, 0xce, 0x72, 0x5e, 0x83, 0xe6, 0x61, 0x10, 0xa7, 0xc7, 0x12, 0xb5, 0x8e, 0xb2, 0x45, 0x67, 0x39, 0xaf, 0x40, 0xf3, 0x30, 0x48, 0xd2, 0x63, 0x81, 0x5a, 0xc7, 0x93, 0x04,
0x87, 0x84, 0xe0, 0xd2, 0x21, 0x09, 0x10, 0xaa, 0xb6, 0x87, 0x84, 0x5a, 0xd0, 0x5c, 0x11, 0xef, 0xe7, 0xe2, 0x08, 0x05, 0x12, 0xaa, 0xb6, 0x27, 0x09, 0x75, 0xa0, 0x85, 0x22, 0xde, 0xcd, 0x0c,
0x66, 0x06, 0xb5, 0x6b, 0x19, 0x54, 0x47, 0x1e, 0xc6, 0x21, 0xef, 0xfe, 0xc3, 0x02, 0xb8, 0x17, 0x6a, 0xd7, 0x32, 0xa8, 0x8e, 0x3c, 0x4c, 0x42, 0xde, 0xfd, 0xa7, 0x05, 0x70, 0x37, 0x09, 0x30,
0x07, 0x94, 0xf9, 0xd2, 0x35, 0x95, 0xd4, 0xb5, 0xea, 0xa9, 0xbb, 0x06, 0xad, 0x98, 0x0e, 0x49, 0xf1, 0x85, 0x6b, 0x2a, 0xa9, 0x6b, 0xd5, 0x53, 0x77, 0x1d, 0x5a, 0x09, 0x8e, 0x50, 0x72, 0x92,
0x7c, 0x92, 0x87, 0x36, 0x52, 0x15, 0x83, 0x1a, 0x35, 0x83, 0xde, 0x06, 0x38, 0x92, 0xf3, 0x08, 0x87, 0xb6, 0xa4, 0x2a, 0x06, 0x35, 0x6a, 0x06, 0xbd, 0x05, 0x70, 0x24, 0xf6, 0xe1, 0x7a, 0x84,
0x3d, 0xd2, 0x55, 0xf3, 0xb7, 0x3e, 0xb1, 0x59, 0x2b, 0x72, 0x9b, 0x39, 0x4a, 0x9e, 0x36, 0x5c, 0xab, 0x16, 0x6f, 0x7d, 0x6a, 0xab, 0x56, 0xe4, 0xb6, 0x72, 0x94, 0x3c, 0x6d, 0x39, 0xcf, 0x1b,
0xe4, 0x0d, 0xf1, 0x7d, 0x15, 0x9e, 0x4d, 0xcc, 0x9b, 0x82, 0x31, 0x26, 0x3a, 0x5b, 0xe7, 0x44, 0xe4, 0xfb, 0x2a, 0x3c, 0x9b, 0x32, 0x6f, 0x0a, 0xc6, 0x84, 0xe8, 0x6c, 0x9d, 0x13, 0x9d, 0xf3,
0xe7, 0x6c, 0x11, 0x14, 0x7f, 0xb3, 0xa0, 0xbd, 0x1d, 0x92, 0xfe, 0xc9, 0x94, 0x4b, 0x37, 0x97, 0x45, 0x50, 0xfc, 0xdd, 0x82, 0xf6, 0x4e, 0x88, 0x86, 0x27, 0x33, 0x1e, 0xdd, 0x3c, 0xa2, 0x5d,
0x68, 0xd7, 0x96, 0x78, 0x1f, 0x3a, 0x87, 0x42, 0x5d, 0xbe, 0x04, 0xe9, 0x85, 0xf9, 0x5b, 0x9f, 0x3b, 0xe2, 0x3d, 0xe8, 0x1c, 0x72, 0x75, 0xf9, 0x11, 0x84, 0x17, 0x16, 0x6f, 0x7d, 0x66, 0xc2,
0x1a, 0xb3, 0x4a, 0x33, 0x29, 0x3c, 0x53, 0xce, 0x5c, 0xee, 0xcc, 0xc5, 0xcb, 0x6d, 0x9e, 0xb3, 0x29, 0xcd, 0xa4, 0xf0, 0x4c, 0x39, 0xf3, 0xb8, 0x73, 0x17, 0x1f, 0xb7, 0x79, 0xce, 0x71, 0x5b,
0xdc, 0x56, 0xb1, 0xdc, 0x3f, 0xdb, 0xb0, 0x20, 0xcb, 0x98, 0x47, 0x47, 0x19, 0x4d, 0x52, 0xe7, 0xc5, 0x71, 0xff, 0x62, 0xc3, 0x92, 0x28, 0x63, 0x1e, 0x1e, 0x67, 0x98, 0xa5, 0xce, 0x37, 0x60,
0x6b, 0x30, 0x97, 0xe5, 0xa6, 0x5a, 0xd3, 0x9a, 0x5a, 0x88, 0x38, 0xb7, 0x55, 0xd1, 0x94, 0xf2, 0x21, 0xcb, 0x4d, 0xb5, 0x66, 0x35, 0xb5, 0x10, 0x71, 0xde, 0x54, 0x45, 0x53, 0xc8, 0xdb, 0x42,
0xb6, 0x94, 0xbf, 0x3e, 0x46, 0xbe, 0xd8, 0xb1, 0xbc, 0x72, 0xb8, 0xd8, 0x60, 0x8e, 0x09, 0xf3, 0xfe, 0xfa, 0x04, 0xf9, 0xe2, 0xc6, 0xf2, 0xca, 0xe5, 0xfc, 0x82, 0x39, 0x46, 0xc4, 0x0f, 0xb1,
0x43, 0xea, 0xd1, 0x24, 0x0b, 0x53, 0x55, 0x0b, 0x0d, 0x1e, 0x46, 0xda, 0x68, 0x3f, 0x19, 0xa8, 0x87, 0x59, 0x16, 0xa6, 0xaa, 0x16, 0x1a, 0x3c, 0x19, 0x69, 0xe3, 0x3e, 0x1b, 0xa9, 0xeb, 0x47,
0xed, 0x47, 0x51, 0xc2, 0x3b, 0x38, 0x4e, 0x7c, 0xc2, 0xa5, 0x97, 0x0c, 0x91, 0xa8, 0x31, 0x1d, 0x51, 0xdc, 0x3b, 0x72, 0x1d, 0x7f, 0x24, 0x8f, 0x5e, 0x32, 0x78, 0xa2, 0x26, 0x78, 0x2c, 0x10,
0x49, 0x84, 0x30, 0xad, 0x72, 0xb2, 0x9c, 0x53, 0x79, 0x0d, 0x03, 0xc1, 0xe0, 0x09, 0x88, 0x91, 0x92, 0x69, 0x95, 0x93, 0xe5, 0x9e, 0xca, 0x6b, 0x32, 0x10, 0x0c, 0x1e, 0x87, 0x58, 0xd2, 0x42,
0x96, 0x0a, 0x70, 0xdf, 0xd1, 0x38, 0xd5, 0x6d, 0xc7, 0xfd, 0x4b, 0x03, 0x3a, 0x98, 0x3e, 0xb9, 0x81, 0xbc, 0x77, 0x34, 0x4e, 0xf5, 0xda, 0x71, 0xff, 0xda, 0x80, 0x8e, 0x4c, 0x9f, 0xdc, 0xa9,
0x53, 0x6f, 0x88, 0x38, 0xe7, 0x43, 0x23, 0x8a, 0x34, 0x8e, 0xb0, 0x42, 0x50, 0x8f, 0xcc, 0x42, 0x37, 0x78, 0x9c, 0xd3, 0xc8, 0x88, 0x22, 0x8d, 0xc3, 0xad, 0xe0, 0xd4, 0x43, 0xb3, 0xd0, 0x18,
0x63, 0xf0, 0x44, 0x28, 0x0a, 0xfa, 0x9e, 0x51, 0x70, 0x74, 0x56, 0x3e, 0xcb, 0x7d, 0xbd, 0xf0, 0x3c, 0x1e, 0x8a, 0x9c, 0xbe, 0x6b, 0x14, 0x1c, 0x9d, 0x95, 0xef, 0x72, 0x4f, 0x2f, 0x3c, 0x1a,
0x68, 0x1c, 0x51, 0xca, 0x52, 0x6e, 0x44, 0x47, 0x41, 0x0b, 0xd9, 0x94, 0x17, 0xf3, 0x63, 0x7c, 0x87, 0x97, 0xb2, 0x94, 0x1a, 0xd1, 0x51, 0xd0, 0x5c, 0x36, 0xa5, 0xc5, 0xfe, 0x32, 0x3e, 0x34,
0x68, 0x1c, 0xe1, 0xdf, 0x94, 0xe7, 0x73, 0xa3, 0x93, 0x4a, 0x06, 0x6a, 0x56, 0xf3, 0xe2, 0x46, 0x0e, 0xf7, 0x6f, 0x4a, 0xf3, 0xbd, 0xa5, 0x93, 0x4a, 0x86, 0xd4, 0xac, 0xf6, 0x95, 0x17, 0x45,
0x51, 0xd0, 0x35, 0x54, 0xdb, 0xe7, 0xa2, 0x0a, 0x06, 0xaa, 0x66, 0x72, 0xcd, 0xd7, 0x92, 0x6b, 0x41, 0xd7, 0x50, 0x6d, 0x9f, 0x8b, 0x2a, 0x18, 0xa8, 0x9a, 0xc9, 0xb5, 0x58, 0x4b, 0xae, 0x4d,
0x03, 0x3a, 0xa8, 0x27, 0x0f, 0xfa, 0x05, 0xdc, 0xc8, 0x0d, 0xa6, 0x19, 0x1b, 0x9d, 0x6a, 0x6c, 0xe8, 0x48, 0x3d, 0x79, 0xd0, 0x2f, 0xc9, 0x8b, 0xdc, 0x60, 0x9a, 0xb1, 0xd1, 0xa9, 0xc6, 0x86,
0x98, 0xe8, 0x2e, 0x4e, 0x40, 0x77, 0xa9, 0x40, 0xf7, 0x7b, 0xd0, 0x3d, 0xc8, 0xc2, 0x70, 0x9f, 0x89, 0xee, 0xf2, 0x14, 0x74, 0xbb, 0x05, 0xba, 0x3f, 0x80, 0xde, 0x41, 0x16, 0x86, 0x7d, 0xcc,
0x26, 0x09, 0x19, 0xd0, 0xed, 0xb3, 0x1e, 0x1d, 0xed, 0x05, 0x49, 0xea, 0xd1, 0x24, 0x12, 0x71, 0x18, 0x1a, 0xe1, 0x9d, 0xb3, 0x01, 0x1e, 0xef, 0x07, 0x2c, 0xf5, 0x30, 0x8b, 0x79, 0x9c, 0xe1,
0x46, 0xe3, 0x78, 0x87, 0xfb, 0x54, 0x82, 0xdc, 0xf4, 0x72, 0x52, 0xac, 0x90, 0xc6, 0xb1, 0x30, 0x24, 0xd9, 0xa5, 0x3e, 0x16, 0x20, 0x37, 0xbd, 0x9c, 0xe4, 0x27, 0xc4, 0x49, 0xc2, 0x0d, 0x50,
0x40, 0x55, 0x48, 0xa4, 0x9c, 0x4d, 0x98, 0x09, 0x83, 0x44, 0xc4, 0x7a, 0xe3, 0xe6, 0xfc, 0xad, 0x15, 0x52, 0x52, 0xce, 0x16, 0xcc, 0x85, 0x01, 0xe3, 0xb1, 0xde, 0xb8, 0xb9, 0x78, 0xeb, 0xda,
0x6b, 0x63, 0x52, 0x65, 0x3f, 0x19, 0xec, 0x92, 0x94, 0x78, 0x72, 0x9c, 0x3b, 0x84, 0x8f, 0x8d, 0x84, 0x54, 0xe9, 0xb3, 0xd1, 0x1e, 0x4a, 0x91, 0x27, 0xd6, 0xb9, 0x11, 0x7c, 0x62, 0xf2, 0xee,
0x9f, 0x7d, 0x34, 0x71, 0x07, 0x13, 0x35, 0x4c, 0x16, 0x81, 0x80, 0xb3, 0xa2, 0xf9, 0xd0, 0x59, 0xe3, 0xa9, 0x37, 0x18, 0xaf, 0x61, 0xa2, 0x08, 0x04, 0x94, 0x14, 0xcd, 0x87, 0xce, 0xe2, 0x66,
0xc2, 0xec, 0x04, 0xf5, 0x48, 0x3b, 0x3a, 0x5e, 0x4e, 0xba, 0xaf, 0x81, 0x73, 0x9f, 0xa6, 0xfb, 0x33, 0xa9, 0x47, 0xd8, 0xd1, 0xf1, 0x72, 0xd2, 0x7d, 0x05, 0x9c, 0x7b, 0x38, 0xed, 0xa3, 0xe7,
0xe4, 0xc5, 0x16, 0xf3, 0xf7, 0x03, 0xd6, 0xa3, 0x23, 0x8f, 0x8e, 0xdc, 0xbb, 0xb0, 0x5a, 0xe3, 0xdb, 0xc4, 0xef, 0x07, 0x64, 0x80, 0xc7, 0x1e, 0x1e, 0xbb, 0x77, 0x60, 0xad, 0xc6, 0x65, 0x31,
0x26, 0x91, 0x30, 0x60, 0x48, 0x5e, 0xf4, 0xe8, 0x48, 0x1a, 0xd0, 0xf1, 0x14, 0x25, 0xf9, 0x72, 0x37, 0x20, 0x42, 0xcf, 0x07, 0x78, 0x2c, 0x0c, 0xe8, 0x78, 0x8a, 0x12, 0x7c, 0xb1, 0x4a, 0x95,
0x94, 0x2a, 0x8f, 0x8a, 0x72, 0x47, 0xb0, 0x24, 0x10, 0xea, 0x51, 0xe6, 0xef, 0x27, 0x03, 0xa9, 0x47, 0x45, 0xb9, 0x63, 0xe8, 0x72, 0x84, 0x06, 0x98, 0xf8, 0x7d, 0x36, 0x12, 0x2a, 0x36, 0x60,
0x62, 0x1d, 0xe6, 0xd1, 0x03, 0xfb, 0xc9, 0xa0, 0xac, 0xb7, 0x1a, 0x4b, 0x8c, 0xe8, 0x87, 0x01, 0x51, 0x7a, 0xa0, 0xcf, 0x46, 0x65, 0xbd, 0xd5, 0x58, 0x7c, 0xc5, 0x30, 0x0c, 0x30, 0x49, 0xe5,
0x65, 0x29, 0x8e, 0x50, 0xab, 0xd1, 0x58, 0x22, 0x18, 0x13, 0xca, 0xfc, 0x62, 0xcb, 0x69, 0x78, 0x0a, 0x75, 0x1a, 0x8d, 0xc5, 0x83, 0x91, 0x61, 0xe2, 0x17, 0x57, 0x4e, 0xc3, 0x2b, 0x68, 0xf7,
0x05, 0xed, 0xfe, 0xa1, 0x09, 0xb3, 0xca, 0xa1, 0xb2, 0x3b, 0x14, 0x5b, 0x5c, 0xe1, 0x2f, 0xa4, 0x8f, 0x4d, 0x98, 0x57, 0x0e, 0x15, 0xdd, 0x21, 0xbf, 0xe2, 0x0a, 0x7f, 0x49, 0x4a, 0x06, 0xe3,
0x30, 0x18, 0xfb, 0xa7, 0x65, 0x9f, 0x86, 0x94, 0xde, 0xd9, 0x35, 0xcc, 0xce, 0xae, 0x62, 0xd3, 0xf0, 0xb4, 0xec, 0xd3, 0x24, 0xa5, 0x77, 0x76, 0x0d, 0xb3, 0xb3, 0xab, 0xd8, 0x34, 0x57, 0xb7,
0x4c, 0xdd, 0xa6, 0xca, 0xba, 0x9a, 0xf5, 0x75, 0xbd, 0x09, 0xcb, 0x89, 0x4c, 0x98, 0x83, 0x90, 0xa9, 0x72, 0xae, 0x66, 0xfd, 0x5c, 0xaf, 0xc3, 0x0a, 0x13, 0x09, 0x73, 0x10, 0xa2, 0xf4, 0x88,
0xa4, 0x47, 0x3c, 0x1e, 0xaa, 0x1d, 0xab, 0xe9, 0xd5, 0xf8, 0xa2, 0xd8, 0x23, 0xaf, 0x48, 0x58, 0x26, 0x91, 0xba, 0xb1, 0x9a, 0x5e, 0x8d, 0xcf, 0x8b, 0xbd, 0xe4, 0x15, 0x09, 0x2b, 0x33, 0xb2,
0xcc, 0xc8, 0x0a, 0x57, 0xa4, 0x07, 0x72, 0xf2, 0xc4, 0xc5, 0x56, 0xc1, 0x64, 0xa2, 0x6d, 0x49, 0xc2, 0xe5, 0xe9, 0x21, 0x39, 0x79, 0xe2, 0xca, 0x56, 0xc1, 0x64, 0x4a, 0xdb, 0x18, 0x0b, 0x28,
0x12, 0x70, 0x26, 0x3b, 0x5d, 0xcc, 0x4f, 0x9d, 0x25, 0x56, 0x3e, 0x4c, 0x06, 0xf7, 0x62, 0x3e, 0x11, 0x9d, 0xae, 0xcc, 0x4f, 0x9d, 0xc5, 0x4f, 0x1e, 0xb1, 0xd1, 0xdd, 0x84, 0x46, 0xaa, 0x61,
0x54, 0x0d, 0x43, 0x4e, 0xca, 0x95, 0x73, 0x96, 0x52, 0x96, 0x4a, 0xd9, 0x79, 0x94, 0xd5, 0x58, 0xc8, 0x49, 0x71, 0x72, 0x4a, 0x52, 0x4c, 0x52, 0x21, 0xbb, 0x28, 0x65, 0x35, 0x16, 0x97, 0x55,
0x42, 0x56, 0x91, 0x32, 0x39, 0x17, 0xbc, 0x9c, 0x74, 0x96, 0xa1, 0x91, 0xd0, 0x91, 0xca, 0x38, 0xa4, 0x48, 0xce, 0x25, 0x2f, 0x27, 0x9d, 0x15, 0x68, 0x30, 0x3c, 0x56, 0x19, 0xc7, 0x7f, 0x1a,
0xf1, 0xd3, 0x40, 0x6e, 0xc9, 0x44, 0xae, 0x52, 0x0a, 0x96, 0xe5, 0x57, 0xbd, 0x14, 0x94, 0xbd, 0xc8, 0x75, 0x4d, 0xe4, 0x2a, 0xa5, 0x60, 0x45, 0x3c, 0xd5, 0x4b, 0x41, 0xd9, 0xeb, 0xaf, 0x1a,
0xfe, 0x8a, 0xd1, 0xeb, 0x6f, 0xc1, 0x2c, 0x8f, 0x44, 0x9c, 0x27, 0x5d, 0x47, 0xe6, 0xd8, 0xa7, 0xbd, 0xfe, 0x36, 0xcc, 0xd3, 0x98, 0xc7, 0x39, 0xeb, 0x39, 0x22, 0xc7, 0x3e, 0x3b, 0x3d, 0xc7,
0x27, 0xe7, 0xd8, 0xe6, 0x63, 0x1c, 0x79, 0x97, 0xa5, 0xf1, 0x99, 0x97, 0xcb, 0x39, 0x7b, 0xb0, 0xb6, 0x1e, 0xc9, 0x95, 0x77, 0x48, 0x9a, 0x9c, 0x79, 0xb9, 0x9c, 0xb3, 0x0f, 0x5d, 0x7a, 0x74,
0xc4, 0x8f, 0x8e, 0xc2, 0x80, 0xd1, 0x83, 0x2c, 0x39, 0x96, 0x3b, 0xdb, 0xaa, 0xdc, 0xd9, 0xdc, 0x14, 0x06, 0x04, 0x1f, 0x64, 0xec, 0x58, 0xdc, 0x6c, 0x6b, 0xe2, 0x66, 0x73, 0x27, 0xa8, 0x7a,
0x31, 0xaa, 0x1e, 0x9b, 0x23, 0xbd, 0xaa, 0xe8, 0xb5, 0xdb, 0xb0, 0xa0, 0x4f, 0x23, 0xdc, 0x70, 0x64, 0xae, 0xf4, 0xaa, 0xa2, 0xd7, 0xde, 0x84, 0x25, 0x7d, 0x1b, 0xee, 0x86, 0x13, 0x7c, 0xa6,
0x42, 0xcf, 0x54, 0x0c, 0x8a, 0x9f, 0xa2, 0xd9, 0x3b, 0x25, 0x61, 0x86, 0xdb, 0xc0, 0x9c, 0x87, 0x62, 0x90, 0xff, 0xe4, 0xcd, 0xde, 0x29, 0x0a, 0x33, 0x79, 0x0d, 0x2c, 0x78, 0x92, 0x78, 0xd3,
0xc4, 0x6d, 0xfb, 0xcb, 0x96, 0xfb, 0x53, 0x0b, 0x96, 0x2a, 0x13, 0x88, 0xd1, 0x69, 0x90, 0x86, 0xfe, 0xaa, 0xe5, 0xfe, 0xdc, 0x82, 0x6e, 0x65, 0x03, 0xbe, 0x3a, 0x0d, 0xd2, 0x10, 0x2b, 0x0d,
0x54, 0x69, 0x40, 0xc2, 0x71, 0x60, 0xc6, 0xa7, 0x49, 0x5f, 0x85, 0xb0, 0xfc, 0xad, 0x2a, 0x59, 0x92, 0x70, 0x1c, 0x98, 0xf3, 0x31, 0x1b, 0xaa, 0x10, 0x16, 0xbf, 0x55, 0x25, 0x6b, 0x14, 0xed,
0xa3, 0x68, 0x17, 0xc5, 0x81, 0xee, 0x71, 0x4f, 0x28, 0xea, 0xf1, 0x8c, 0xf9, 0xc5, 0x81, 0x4e, 0x22, 0x7f, 0xa1, 0x7b, 0x34, 0xe0, 0x8a, 0x06, 0x34, 0x23, 0x7e, 0xf1, 0x42, 0xa7, 0xf1, 0x78,
0xe3, 0x89, 0x10, 0x0a, 0x1e, 0xf7, 0xb6, 0x89, 0x3f, 0xa0, 0x78, 0xec, 0x6a, 0x4a, 0x9b, 0x4c, 0x08, 0x05, 0x8f, 0x06, 0x3b, 0xc8, 0x1f, 0x61, 0xf9, 0xda, 0xd5, 0x14, 0x36, 0x99, 0x4c, 0xd7,
0xa6, 0xeb, 0xc3, 0xdc, 0x93, 0x20, 0x4a, 0x76, 0xf8, 0x70, 0x28, 0x80, 0xf0, 0x69, 0x2a, 0x7a, 0x87, 0x85, 0xc7, 0x41, 0xcc, 0x76, 0x69, 0x14, 0x71, 0x20, 0x7c, 0x9c, 0xf2, 0x5e, 0xd5, 0x12,
0x55, 0x4b, 0xe2, 0xad, 0x28, 0x11, 0x2a, 0x3e, 0x3d, 0x22, 0x59, 0x98, 0x8a, 0xa1, 0x79, 0xe2, 0x78, 0x2b, 0x8a, 0x87, 0x8a, 0x8f, 0x8f, 0x50, 0x16, 0xa6, 0x7c, 0x69, 0x9e, 0xb8, 0x1a, 0x4b,
0x6a, 0x2c, 0x79, 0xe0, 0x48, 0x38, 0xdb, 0x45, 0x69, 0xb4, 0x53, 0xe3, 0xb8, 0x7f, 0xb2, 0x61, 0xbc, 0x70, 0x30, 0x4a, 0xf6, 0xa4, 0xb4, 0xb4, 0x53, 0xe3, 0xb8, 0x7f, 0xb6, 0x61, 0x45, 0x34,
0x59, 0x36, 0x0e, 0x3b, 0x12, 0x76, 0x5f, 0x0a, 0xdd, 0x82, 0xa6, 0x4c, 0x43, 0xd5, 0xac, 0x9c, 0x0e, 0xbb, 0x02, 0x76, 0x5f, 0x08, 0xdd, 0x82, 0xa6, 0x48, 0x43, 0xd5, 0xac, 0x9c, 0xdf, 0x6c,
0xdf, 0x6c, 0xe0, 0x50, 0xe7, 0x0e, 0xb4, 0x78, 0x24, 0x5b, 0x4e, 0xec, 0x50, 0xde, 0x98, 0x24, 0xc8, 0xa5, 0xce, 0x6d, 0x68, 0xd1, 0x58, 0xb4, 0x9c, 0xb2, 0x43, 0x79, 0x6d, 0x9a, 0x90, 0xf9,
0x64, 0x9e, 0xed, 0x3c, 0x25, 0xe5, 0xdc, 0x03, 0xc0, 0x63, 0xe7, 0x5e, 0x59, 0xba, 0xa7, 0xd5, 0x6e, 0xe7, 0x29, 0x29, 0xe7, 0x2e, 0x80, 0x7c, 0xed, 0xdc, 0x2f, 0x4b, 0xf7, 0xac, 0x3a, 0x34,
0xa1, 0x49, 0x0a, 0xe7, 0x16, 0x65, 0xb8, 0x38, 0xe0, 0x35, 0x3c, 0x93, 0xe9, 0x3c, 0x82, 0x45, 0x49, 0xee, 0xdc, 0xa2, 0x0c, 0x17, 0x2f, 0x78, 0x0d, 0xcf, 0x64, 0x3a, 0x0f, 0x61, 0x59, 0x98,
0x69, 0xf6, 0xe3, 0xbc, 0xeb, 0x94, 0x18, 0x4c, 0x3f, 0x63, 0x45, 0xda, 0xfd, 0x85, 0xa5, 0xdc, 0xfd, 0x28, 0xef, 0x3a, 0x05, 0x06, 0xb3, 0xef, 0x58, 0x91, 0x76, 0x7f, 0x65, 0x29, 0x37, 0xf2,
0x28, 0xbe, 0xf6, 0x28, 0xfa, 0xbe, 0x74, 0x89, 0x75, 0x29, 0x97, 0x5c, 0x83, 0xb9, 0x61, 0xa6, 0xa7, 0x03, 0x2c, 0x7d, 0x5f, 0xba, 0xc4, 0xba, 0x94, 0x4b, 0xae, 0xc1, 0x42, 0x94, 0x69, 0x4d,
0x35, 0xc1, 0x0d, 0xaf, 0xa0, 0x4b, 0x88, 0x1a, 0x53, 0x43, 0xe4, 0xfe, 0xd2, 0x82, 0xee, 0x3b, 0x70, 0xc3, 0x2b, 0xe8, 0x12, 0xa2, 0xc6, 0xcc, 0x10, 0xb9, 0xbf, 0xb6, 0xa0, 0xf7, 0x36, 0x0d,
0x3c, 0x60, 0xf2, 0xc3, 0x56, 0x14, 0x85, 0xea, 0x16, 0xe2, 0xd2, 0x98, 0x7f, 0x1d, 0xda, 0x04, 0x88, 0x78, 0xb0, 0x1d, 0xc7, 0xa1, 0x9a, 0x42, 0x5c, 0x1a, 0xf3, 0x6f, 0x42, 0x1b, 0x49, 0x35,
0xd5, 0xb0, 0x54, 0xc1, 0x3e, 0x45, 0x63, 0x5b, 0xca, 0x68, 0x3d, 0x4a, 0x43, 0xef, 0x51, 0xdc, 0x24, 0x55, 0xb0, 0xcf, 0xd0, 0xd8, 0x96, 0x32, 0x5a, 0x8f, 0xd2, 0xd0, 0x7b, 0x14, 0xf7, 0x7d,
0xdf, 0x58, 0xb0, 0x88, 0x4e, 0x79, 0x37, 0x0b, 0xd2, 0x4b, 0xdb, 0xb7, 0x0d, 0x73, 0xa3, 0x2c, 0x0b, 0x96, 0xa5, 0x53, 0xde, 0xc9, 0x82, 0xf4, 0xd2, 0xf6, 0xed, 0xc0, 0xc2, 0x38, 0x0b, 0xd2,
0x48, 0x2f, 0x11, 0x95, 0x85, 0x5c, 0x3d, 0x9e, 0x1a, 0x63, 0xe2, 0xc9, 0xfd, 0xc0, 0x82, 0xeb, 0x4b, 0x44, 0x65, 0x21, 0x57, 0x8f, 0xa7, 0xc6, 0x84, 0x78, 0x72, 0x3f, 0xb0, 0xe0, 0x7a, 0xd5,
0x55, 0xb7, 0x6e, 0xf5, 0xfb, 0x34, 0x7a, 0x99, 0x29, 0x65, 0xf4, 0x68, 0x33, 0x95, 0x1e, 0x6d, 0xad, 0xdb, 0xc3, 0x21, 0x8e, 0x5f, 0x64, 0x4a, 0x19, 0x3d, 0xda, 0x5c, 0xa5, 0x47, 0x9b, 0x68,
0xac, 0xc9, 0x1e, 0x7d, 0x9f, 0xf6, 0xff, 0x73, 0x4d, 0xfe, 0xa1, 0x0d, 0x1f, 0xbf, 0x5f, 0x24, 0xb2, 0x87, 0xdf, 0xc3, 0xc3, 0xff, 0x5e, 0x93, 0x7f, 0x6c, 0xc3, 0x27, 0xef, 0x15, 0x89, 0xf7,
0xde, 0x93, 0x98, 0xb0, 0xe4, 0x88, 0xc6, 0xf1, 0x4b, 0xb4, 0x77, 0x0f, 0x3a, 0x8c, 0x3e, 0x2f, 0x38, 0x41, 0x84, 0x1d, 0xe1, 0x24, 0x79, 0x81, 0xf6, 0xee, 0x43, 0x87, 0xe0, 0x67, 0xa5, 0x4d,
0x6d, 0x52, 0xe9, 0x38, 0xad, 0x1a, 0x53, 0x78, 0xba, 0xda, 0xe5, 0xfe, 0xd3, 0x82, 0x65, 0xd4, 0x2a, 0x1d, 0x67, 0x55, 0x63, 0x0a, 0xcf, 0x56, 0xbb, 0xdc, 0x7f, 0x59, 0xb0, 0x22, 0xf5, 0x7c,
0xf3, 0x8d, 0xa0, 0x7f, 0xf2, 0x12, 0x17, 0xff, 0x08, 0x16, 0x4f, 0xa4, 0x05, 0x82, 0xba, 0x44, 0x2b, 0x18, 0x9e, 0xbc, 0xc0, 0xc3, 0x3f, 0x84, 0xe5, 0x13, 0x61, 0x01, 0xa7, 0x2e, 0x51, 0xb6,
0xd9, 0xae, 0x48, 0x4f, 0xb9, 0xfc, 0x7f, 0x59, 0xb0, 0x82, 0x8a, 0x1e, 0xb2, 0xd3, 0xe0, 0x65, 0x2b, 0xd2, 0x33, 0x1e, 0xff, 0xdf, 0x16, 0xac, 0x4a, 0x45, 0x0f, 0xc8, 0x69, 0xf0, 0x22, 0x83,
0x06, 0xeb, 0x01, 0x2c, 0x05, 0x68, 0xc2, 0x25, 0x1d, 0x50, 0x15, 0x9f, 0xd2, 0x03, 0xbf, 0xb3, 0xf5, 0x00, 0xba, 0x81, 0x34, 0xe1, 0x92, 0x0e, 0xa8, 0x8a, 0xcf, 0xe8, 0x81, 0xdf, 0x5b, 0xd0,
0x60, 0x09, 0x35, 0xdd, 0x65, 0x29, 0x8d, 0x2f, 0xbd, 0xfe, 0x07, 0x30, 0x4f, 0x59, 0x1a, 0x13, 0x95, 0x9a, 0xee, 0x90, 0x14, 0x27, 0x97, 0x3e, 0xff, 0x7d, 0x58, 0xc4, 0x24, 0x4d, 0x10, 0xb9,
0x76, 0x99, 0x0a, 0xa9, 0x8b, 0x4e, 0x59, 0x24, 0x4f, 0x60, 0x05, 0x8f, 0xf0, 0x5a, 0xc5, 0x11, 0x4c, 0x85, 0xd4, 0x45, 0x67, 0x2c, 0x92, 0xef, 0x5b, 0xe0, 0x08, 0x55, 0x7b, 0x01, 0x8b, 0x02,
0xbd, 0x2c, 0xf1, 0xb1, 0x3d, 0xb5, 0xa4, 0x50, 0x4e, 0x9a, 0x97, 0x33, 0xea, 0x76, 0xbd, 0xbc, 0xc6, 0x5e, 0x20, 0x74, 0xb3, 0x19, 0x7c, 0x02, 0xab, 0x72, 0xe6, 0xa0, 0x95, 0x48, 0xde, 0x7c,
0x9c, 0xb9, 0x01, 0x40, 0x7c, 0xff, 0x3d, 0x1e, 0xfb, 0x01, 0xcb, 0xb7, 0x0f, 0x8d, 0xe3, 0xbe, 0x23, 0x5f, 0xf6, 0xd3, 0x96, 0x10, 0xca, 0x49, 0x73, 0x9a, 0xa4, 0x3e, 0x07, 0x94, 0xd3, 0xa4,
0x03, 0x0b, 0xa2, 0x9b, 0x7e, 0xa2, 0x1d, 0xc6, 0xcf, 0xbd, 0x2e, 0xd0, 0x0f, 0xf2, 0xb6, 0x79, 0x1b, 0x00, 0xc8, 0xf7, 0xdf, 0xa5, 0x89, 0x1f, 0x90, 0xfc, 0xbe, 0xd3, 0x38, 0xee, 0xdb, 0xb0,
0x90, 0x77, 0xbf, 0x0b, 0xff, 0x5f, 0x33, 0x5c, 0x7a, 0x7d, 0x07, 0xef, 0x18, 0xf2, 0x49, 0x94, 0xc4, 0xdb, 0xff, 0xc7, 0xda, 0xf4, 0xe0, 0xdc, 0xf9, 0x86, 0x3e, 0x79, 0xb0, 0xcd, 0xc9, 0x83,
0xf3, 0x3f, 0x39, 0xc6, 0x85, 0xba, 0x2d, 0x9e, 0x21, 0xe4, 0xfe, 0xc0, 0x82, 0xd7, 0x6b, 0xea, 0xfb, 0x7d, 0xf8, 0x78, 0xcd, 0x70, 0xe1, 0xeb, 0x5d, 0x39, 0x14, 0xc9, 0x37, 0x51, 0x2e, 0xff,
0xb7, 0xa2, 0x28, 0xe6, 0xa7, 0x2a, 0xb8, 0xaf, 0x62, 0x1a, 0xb3, 0xb4, 0xda, 0xd5, 0xd2, 0x3a, 0xf4, 0x04, 0xef, 0xe9, 0xb6, 0x78, 0x86, 0x90, 0xfb, 0x23, 0x0b, 0x5e, 0xad, 0xa9, 0xdf, 0x8e,
0xd6, 0x08, 0x63, 0x3b, 0xf8, 0x08, 0x8c, 0xf8, 0x95, 0x05, 0x4b, 0xca, 0x08, 0xdf, 0x57, 0xd3, 0xe3, 0x84, 0x9e, 0x2a, 0x48, 0xaf, 0x62, 0x1b, 0xf3, 0x2e, 0xb0, 0xab, 0x77, 0xc1, 0x44, 0x23,
0x7e, 0x09, 0x5a, 0x78, 0x3f, 0xa9, 0x26, 0x7c, 0x7d, 0xec, 0x84, 0xf9, 0xbd, 0xaa, 0xa7, 0x06, 0x8c, 0xfb, 0xeb, 0x23, 0x30, 0xe2, 0x37, 0x16, 0x74, 0x95, 0x11, 0xbe, 0xaf, 0xb6, 0xfd, 0x0a,
0xd7, 0x23, 0xd2, 0x1e, 0xd7, 0x06, 0x7e, 0xa5, 0xa8, 0x00, 0x53, 0xdf, 0x20, 0x2a, 0x01, 0xf7, 0xb4, 0xe4, 0x40, 0x55, 0x6d, 0xf8, 0xea, 0xc4, 0x0d, 0xf3, 0x41, 0xb0, 0xa7, 0x16, 0xd7, 0x23,
0x5b, 0x79, 0x30, 0xef, 0xd2, 0x90, 0x5e, 0xa5, 0x8f, 0xdc, 0xa7, 0xb0, 0x28, 0x2f, 0x4b, 0x4b, 0xd2, 0x9e, 0xd4, 0xb7, 0x7e, 0xad, 0x88, 0xfb, 0x99, 0x47, 0x9e, 0x4a, 0xc0, 0xfd, 0x4e, 0x1e,
0x1f, 0x5c, 0x89, 0xda, 0xf7, 0x60, 0x59, 0xaa, 0xbd, 0x72, 0x7b, 0x8b, 0xec, 0x10, 0xfe, 0xd9, 0xcc, 0x7b, 0x38, 0xc4, 0x57, 0xe9, 0x23, 0xf7, 0x09, 0x2c, 0x8b, 0xe9, 0x6e, 0xe9, 0x83, 0x2b,
0x39, 0x26, 0x6c, 0x70, 0x95, 0xda, 0x3f, 0x0f, 0xab, 0xb9, 0xef, 0x9f, 0x46, 0x7e, 0x71, 0x44, 0x51, 0xfb, 0x2e, 0xac, 0x08, 0xb5, 0x57, 0x6e, 0x6f, 0x91, 0x1d, 0xdc, 0x3f, 0xbb, 0xc7, 0x88,
0x99, 0x70, 0x31, 0xe3, 0x7e, 0x01, 0xd6, 0x76, 0x38, 0x3b, 0xa5, 0x71, 0x22, 0x51, 0x46, 0x91, 0x8c, 0xae, 0x52, 0xfb, 0x17, 0x61, 0x2d, 0xf7, 0xfd, 0x93, 0xd8, 0x2f, 0xde, 0xa9, 0xa6, 0x4c,
0x5c, 0xc2, 0x48, 0x7e, 0x45, 0xb9, 0x3d, 0x58, 0x51, 0x57, 0x8a, 0x07, 0x64, 0x10, 0x30, 0xac, 0x92, 0xdc, 0x2f, 0xc1, 0xfa, 0x2e, 0x25, 0xa7, 0x38, 0x61, 0x02, 0x65, 0x29, 0x92, 0x4b, 0x18,
0x4a, 0x37, 0x00, 0x22, 0x32, 0xc8, 0x9f, 0x14, 0xf0, 0xde, 0x49, 0xe3, 0x88, 0xef, 0xc9, 0x31, 0xc9, 0xaf, 0x28, 0x77, 0x00, 0xab, 0x6a, 0x06, 0x7a, 0x80, 0x46, 0x01, 0x91, 0x55, 0xe9, 0x06,
0x7f, 0xae, 0xbe, 0xdb, 0xf8, 0xbd, 0xe4, 0xb8, 0xdf, 0x04, 0xc7, 0xa3, 0x49, 0xc4, 0x59, 0x42, 0x40, 0x8c, 0x46, 0xf9, 0x37, 0x10, 0x39, 0x28, 0xd3, 0x38, 0xfc, 0x39, 0x3b, 0xa6, 0xcf, 0xd4,
0x35, 0xad, 0xeb, 0x30, 0xbf, 0x93, 0xc5, 0x31, 0x65, 0x62, 0xaa, 0xfc, 0x7e, 0x5d, 0x67, 0x09, 0x73, 0x5b, 0x3e, 0x2f, 0x39, 0xee, 0xb7, 0xc1, 0xf1, 0x30, 0x8b, 0x29, 0x61, 0x58, 0xd3, 0xba,
0xbd, 0xbd, 0x52, 0x2f, 0xde, 0x55, 0x68, 0x1c, 0xf7, 0xe7, 0x0d, 0x68, 0xf7, 0x82, 0x01, 0x23, 0x01, 0x8b, 0xbb, 0x59, 0x92, 0x60, 0xc2, 0xb7, 0xca, 0x3f, 0x08, 0xe8, 0x2c, 0xae, 0x77, 0x50,
0xa1, 0x47, 0x47, 0xce, 0x57, 0xa1, 0x85, 0x3b, 0x88, 0x72, 0xed, 0xb8, 0xb3, 0x33, 0x8e, 0xc6, 0xea, 0x95, 0xc3, 0x15, 0x8d, 0xe3, 0xfe, 0xb2, 0x01, 0xed, 0x41, 0x30, 0x22, 0x28, 0xf4, 0xf0,
0xad, 0xd2, 0xa3, 0xa3, 0x07, 0xff, 0xe7, 0x29, 0x19, 0xe7, 0x5d, 0xe8, 0xe0, 0xaf, 0x87, 0x78, 0xd8, 0xf9, 0x3a, 0xb4, 0xe4, 0x95, 0xa7, 0x5c, 0x3b, 0xe9, 0x65, 0x5f, 0xae, 0x96, 0x77, 0xbb,
0x22, 0x50, 0x1b, 0xc0, 0x67, 0x2e, 0x50, 0xa2, 0x46, 0xa3, 0x2e, 0x53, 0x83, 0x30, 0xa8, 0x4f, 0x87, 0xc7, 0xf7, 0x3f, 0xe6, 0x29, 0x19, 0xe7, 0x1d, 0xe8, 0xc8, 0x5f, 0x0f, 0xe4, 0x2b, 0x8c,
0x58, 0x5f, 0xbd, 0xb9, 0x9d, 0x67, 0xd0, 0x8e, 0x1c, 0xa6, 0x0c, 0x42, 0x19, 0x21, 0x4d, 0x64, 0xaa, 0xfd, 0x9f, 0xbb, 0x40, 0x89, 0x5a, 0x2d, 0x75, 0x99, 0x1a, 0xb8, 0x41, 0x43, 0x44, 0x86,
0xcf, 0xac, 0x5e, 0x2d, 0x26, 0x4b, 0x63, 0x6b, 0xad, 0xa4, 0x51, 0x46, 0x48, 0x1f, 0x67, 0x6c, 0xea, 0x23, 0xe1, 0x79, 0x06, 0xed, 0x8a, 0x65, 0xca, 0x20, 0x29, 0xc3, 0xa5, 0x91, 0x68, 0xf2,
0xf0, 0x34, 0x52, 0x47, 0xb9, 0xc9, 0xd2, 0x0f, 0xe4, 0x30, 0x25, 0x8d, 0x32, 0x42, 0x3a, 0x96, 0xd5, 0x67, 0x96, 0xe9, 0xd2, 0xf2, 0x5d, 0x40, 0x49, 0x4b, 0x19, 0x2e, 0x7d, 0x9c, 0x91, 0xd1,
0xd5, 0x4e, 0x3a, 0xfd, 0x3c, 0x69, 0x2c, 0x8a, 0x4a, 0x1a, 0x65, 0xb6, 0xdb, 0x30, 0x1b, 0x91, 0x93, 0x58, 0xbd, 0x7b, 0x4e, 0x97, 0xbe, 0x2f, 0x96, 0x29, 0x69, 0x29, 0xc3, 0xa5, 0x13, 0x51,
0xb3, 0x90, 0x13, 0xdf, 0xfd, 0x75, 0x03, 0x20, 0x1f, 0x98, 0xc8, 0x1e, 0xc3, 0x80, 0x68, 0xe3, 0xed, 0x84, 0xd3, 0xcf, 0x93, 0x96, 0x45, 0x51, 0x49, 0x4b, 0x99, 0x9d, 0x36, 0xcc, 0xc7, 0xe8,
0x42, 0x88, 0xa2, 0xf0, 0x4c, 0x03, 0xa9, 0x37, 0x1e, 0xa4, 0xcf, 0x4e, 0x0b, 0x12, 0x6a, 0xab, 0x2c, 0xa4, 0xc8, 0x77, 0x7f, 0xdb, 0x00, 0xc8, 0x17, 0x32, 0x71, 0xb3, 0x1a, 0x10, 0x6d, 0x5e,
0xc0, 0x74, 0xa7, 0x02, 0xd3, 0xc6, 0x85, 0x30, 0x29, 0xa3, 0x14, 0x50, 0x77, 0x2a, 0x40, 0x6d, 0x08, 0x51, 0x1c, 0x9e, 0x69, 0x20, 0x0d, 0x26, 0x83, 0xf4, 0xf9, 0x59, 0x41, 0x92, 0xda, 0x2a,
0x5c, 0x08, 0x94, 0x92, 0x57, 0x50, 0xdd, 0xa9, 0x40, 0xb5, 0x71, 0x21, 0x54, 0x4a, 0x5e, 0x81, 0x30, 0xdd, 0xae, 0xc0, 0xb4, 0x79, 0x21, 0x4c, 0xca, 0x28, 0x05, 0xd4, 0xed, 0x0a, 0x50, 0x9b,
0x75, 0xa7, 0x02, 0xd6, 0xc6, 0x85, 0x60, 0x29, 0xf9, 0x3a, 0x5c, 0x1f, 0xd8, 0xb0, 0x28, 0x5d, 0x17, 0x02, 0xa5, 0xe4, 0x15, 0x54, 0xb7, 0x2b, 0x50, 0x6d, 0x5e, 0x08, 0x95, 0x92, 0x57, 0x60,
0x86, 0xf7, 0xb6, 0xec, 0x88, 0xcb, 0xeb, 0x19, 0xe9, 0x2e, 0xf3, 0x85, 0xca, 0x64, 0x3a, 0x9f, 0xdd, 0xae, 0x80, 0xb5, 0x79, 0x21, 0x58, 0x4a, 0xbe, 0x0e, 0xd7, 0x07, 0x36, 0x2c, 0x0b, 0x97,
0x83, 0x15, 0x64, 0xa8, 0x17, 0x0d, 0xd9, 0xfe, 0xd9, 0xeb, 0x8d, 0x9b, 0x6d, 0xaf, 0xfe, 0x41, 0xc9, 0x41, 0x33, 0x39, 0xa2, 0x62, 0x9e, 0x24, 0xdc, 0x65, 0x7e, 0x52, 0x33, 0x99, 0xce, 0x17,
0xde, 0xb4, 0x65, 0x49, 0xca, 0x87, 0xbb, 0x24, 0x25, 0x79, 0xb7, 0x52, 0x72, 0xf4, 0x7b, 0xd0, 0x60, 0x55, 0x32, 0xd4, 0x27, 0x18, 0xd1, 0xaf, 0xda, 0x1b, 0x8d, 0x9b, 0x6d, 0xaf, 0xfe, 0x40,
0x99, 0xda, 0x0b, 0x77, 0xcc, 0xf9, 0xb0, 0xb8, 0xe0, 0x54, 0x94, 0x90, 0x48, 0x83, 0x21, 0xe5, 0x8c, 0x06, 0x33, 0x96, 0xd2, 0x68, 0x0f, 0xa5, 0x28, 0xef, 0x56, 0x4a, 0x8e, 0x3e, 0xb8, 0x9d,
0x59, 0xaa, 0xca, 0x44, 0x4e, 0x8a, 0x3d, 0x76, 0x48, 0xfd, 0x80, 0xc8, 0xdb, 0x43, 0xf5, 0xac, 0xab, 0x7d, 0x92, 0x4f, 0x28, 0x8d, 0x8a, 0x89, 0xac, 0xa2, 0xb8, 0x44, 0x1a, 0x44, 0x98, 0x66,
0x50, 0x30, 0x64, 0x65, 0x2b, 0x6f, 0x43, 0xd5, 0x0b, 0x74, 0xc9, 0xb9, 0xf8, 0xe6, 0xd2, 0xfd, 0xa9, 0x2a, 0x13, 0x39, 0xc9, 0xef, 0xd8, 0x08, 0xfb, 0x01, 0x12, 0xe3, 0x4e, 0xf5, 0x1d, 0xa4,
0xab, 0x05, 0xab, 0x07, 0x24, 0x4e, 0x83, 0x7e, 0x10, 0x11, 0x96, 0xee, 0xd3, 0x94, 0xc8, 0x35, 0x60, 0x88, 0xca, 0x56, 0x8e, 0x6f, 0xd5, 0x27, 0xf3, 0x92, 0x73, 0xf1, 0xa8, 0xd5, 0xfd, 0x9b,
0x18, 0xcf, 0x54, 0xd6, 0x87, 0x7b, 0xa6, 0x3a, 0x80, 0xa5, 0x41, 0xd9, 0x64, 0x6a, 0x0f, 0x5d, 0x05, 0x6b, 0x07, 0x28, 0x49, 0x83, 0x61, 0x10, 0x23, 0x92, 0xf6, 0x71, 0x8a, 0xc4, 0x19, 0x8c,
0x53, 0xb7, 0xd2, 0x15, 0x71, 0xe3, 0xcd, 0xad, 0xf1, 0xa1, 0xdf, 0xdc, 0xdc, 0x1f, 0xdb, 0xb0, 0xef, 0x6a, 0xd6, 0x87, 0xfb, 0xae, 0x76, 0x00, 0xdd, 0x51, 0xd9, 0x5f, 0x6a, 0x5f, 0xe6, 0x66,
0x54, 0x29, 0x9d, 0xa2, 0x45, 0xc4, 0xcd, 0xbf, 0x88, 0x89, 0x82, 0x76, 0xb6, 0x00, 0x82, 0x22, 0xee, 0xfd, 0x2b, 0xe2, 0xc6, 0x47, 0xc2, 0xc6, 0x87, 0xfe, 0x48, 0xe8, 0xfe, 0xd4, 0x86, 0x6e,
0x8c, 0xce, 0xb9, 0x0b, 0x31, 0x63, 0xcd, 0xd3, 0x84, 0xc6, 0x5d, 0x89, 0x36, 0x2e, 0x7d, 0x25, 0xa5, 0x74, 0xf2, 0x16, 0x51, 0x5e, 0xfe, 0x45, 0x4c, 0x14, 0xb4, 0xb3, 0x0d, 0x10, 0x14, 0x61,
0x2a, 0x9a, 0xfb, 0xa8, 0x04, 0x49, 0x25, 0xea, 0x38, 0x6f, 0x8e, 0x81, 0xd2, 0xd3, 0x45, 0xdd, 0x74, 0xce, 0xf0, 0xc6, 0x8c, 0x35, 0x4f, 0x13, 0x9a, 0x34, 0xc3, 0x6d, 0x5c, 0x7a, 0x86, 0xcb,
0xef, 0xc0, 0x4a, 0xad, 0x42, 0xc9, 0x1b, 0x52, 0x7e, 0x42, 0x59, 0x71, 0x43, 0x2a, 0x08, 0x2d, 0xdf, 0x46, 0xe2, 0x12, 0x24, 0x95, 0xa8, 0x93, 0xbc, 0x39, 0x01, 0x4a, 0x4f, 0x17, 0x75, 0xbf,
0x58, 0xed, 0x6a, 0xb0, 0x86, 0xc1, 0xa9, 0xfe, 0xa8, 0xaf, 0x48, 0xf7, 0x27, 0x36, 0xac, 0x8d, 0x07, 0xab, 0xb5, 0x0a, 0x25, 0x46, 0xba, 0xf4, 0x04, 0x93, 0x62, 0xa4, 0xcb, 0x09, 0x2d, 0x58,
0xdf, 0x5d, 0x5e, 0x55, 0x77, 0x1f, 0x42, 0x77, 0x52, 0x25, 0xbf, 0x32, 0xaf, 0x97, 0xd1, 0x5d, 0xed, 0x6a, 0xb0, 0x86, 0xc1, 0xa9, 0xfe, 0x2f, 0x04, 0x45, 0xba, 0x3f, 0xb3, 0x61, 0x7d, 0xf2,
0xec, 0xc3, 0xaf, 0xaa, 0xbb, 0x57, 0xf3, 0xe8, 0xd6, 0xb6, 0x3a, 0xf7, 0xb7, 0x85, 0x7f, 0x8a, 0xed, 0xf2, 0xb2, 0xba, 0xfb, 0x10, 0x7a, 0xd3, 0x2a, 0xf9, 0x95, 0x79, 0xbd, 0x8c, 0xee, 0xe2,
0x4e, 0xe3, 0x15, 0xf5, 0x8f, 0xf3, 0x26, 0x2c, 0xe3, 0x32, 0xb5, 0x37, 0x34, 0x6c, 0x5c, 0x6b, 0x1e, 0x7e, 0x59, 0xdd, 0xbd, 0x96, 0x47, 0xb7, 0x76, 0xd5, 0xb9, 0xbf, 0x2b, 0xfc, 0x53, 0x74,
0xfc, 0xb2, 0x52, 0x68, 0xdb, 0xfe, 0x95, 0xc5, 0xec, 0x1f, 0xad, 0x1c, 0x93, 0xa2, 0x7f, 0xfb, 0x1a, 0x2f, 0xa9, 0x7f, 0x9c, 0xd7, 0x61, 0x45, 0x1e, 0x53, 0xfb, 0xe8, 0x27, 0x1b, 0xd7, 0x1a,
0xaf, 0xc2, 0xa4, 0x8c, 0x34, 0xad, 0xa9, 0xd1, 0x22, 0xad, 0xe8, 0x2b, 0xff, 0x17, 0x69, 0x17, 0xbf, 0xac, 0x14, 0xda, 0xb5, 0x7f, 0x65, 0x31, 0xfb, 0x27, 0x2b, 0xc7, 0xa4, 0xe8, 0xdf, 0xfe,
0x47, 0x5a, 0xe1, 0x4b, 0xad, 0xc1, 0x73, 0xbf, 0x0f, 0x9d, 0x5d, 0x1a, 0xee, 0x27, 0x83, 0xfc, 0xa7, 0x30, 0x29, 0x23, 0x4d, 0x6b, 0x6a, 0xb4, 0x48, 0x2b, 0xfa, 0xca, 0xff, 0x47, 0xda, 0xc5,
0xf5, 0xfe, 0x3c, 0x47, 0x4e, 0xfa, 0xe7, 0xe0, 0xc4, 0x77, 0xfb, 0xea, 0x9b, 0xff, 0x4c, 0xed, 0x91, 0x56, 0xf8, 0x52, 0x6b, 0xf0, 0xdc, 0x1f, 0x42, 0x67, 0x0f, 0x87, 0x7d, 0x36, 0xca, 0xff,
0xcd, 0xdf, 0xdd, 0x86, 0x45, 0xdd, 0x80, 0xcb, 0xfc, 0x79, 0x61, 0xfb, 0xfa, 0xb7, 0xaf, 0x6d, 0x6e, 0x70, 0x9e, 0x23, 0xa7, 0xfd, 0xd5, 0x71, 0xea, 0x1f, 0x0d, 0xaa, 0x7f, 0x52, 0x98, 0xab,
0xbe, 0x85, 0xff, 0x51, 0x7d, 0xbb, 0xe6, 0xc4, 0xc3, 0x96, 0xfc, 0xcf, 0xea, 0x17, 0xff, 0x1d, 0xfd, 0x49, 0xc1, 0xdd, 0x81, 0x65, 0xdd, 0x80, 0xcb, 0xfc, 0xdb, 0x62, 0xe7, 0xfa, 0x77, 0xaf,
0x00, 0x00, 0xff, 0xff, 0x62, 0x4e, 0xe4, 0x43, 0xc6, 0x2a, 0x00, 0x00, 0x6d, 0xbd, 0x21, 0xff, 0x54, 0xfb, 0x56, 0xcd, 0x89, 0x87, 0x2d, 0xf1, 0x27, 0xdb, 0x2f, 0xff,
0x27, 0x00, 0x00, 0xff, 0xff, 0xd8, 0x98, 0x6b, 0xf4, 0x77, 0x2b, 0x00, 0x00,
} }

@ -254,6 +254,12 @@ message MemberEnterTips{
int64 operationTime = 3; int64 operationTime = 3;
} }
message GroupDismissedTips{
GroupInfo group = 1;
GroupMemberFullInfo opUser = 2;
int64 operationTime = 3;
}
//////////////////////friend///////////////////// //////////////////////friend/////////////////////
//message FriendInfo{ //message FriendInfo{

Loading…
Cancel
Save