diff --git a/internal/api/auth/auth.go b/internal/api/auth/auth.go index 4a912beca..76effddf2 100644 --- a/internal/api/auth/auth.go +++ b/internal/api/auth/auth.go @@ -81,6 +81,6 @@ func UserToken(c *gin.Context) { resp := api.UserTokenResp{CommResp: api.CommResp{ErrCode: reply.CommonResp.ErrCode, ErrMsg: reply.CommonResp.ErrMsg}, UserToken: api.UserTokenInfo{UserID: req.FromUserID, Token: reply.Token, ExpiredTime: reply.ExpiredTime}} - c.JSON(http.StatusOK, resp) log.NewInfo(req.OperationID, "UserRegister return ", resp) + c.JSON(http.StatusOK, resp) } diff --git a/internal/api/friend/friend.go b/internal/api/friend/friend.go index 55be48d69..85ec67e5e 100644 --- a/internal/api/friend/friend.go +++ b/internal/api/friend/friend.go @@ -17,12 +17,12 @@ import ( func AddBlacklist(c *gin.Context) { params := api.AddBlacklistReq{} if err := c.BindJSON(¶ms); err != nil { - c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) log.NewError("0", "BindJSON failed ", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } req := &rpc.AddBlacklistReq{} - utils.CopyStructFields(req.CommID, params) + utils.CopyStructFields(req.CommID, ¶ms) var ok bool ok, req.CommID.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) if !ok { @@ -41,20 +41,19 @@ func AddBlacklist(c *gin.Context) { return } resp := api.AddBlacklistResp{CommResp: api.CommResp{ErrCode: RpcResp.CommonResp.ErrCode, ErrMsg: RpcResp.CommonResp.ErrMsg}} - c.JSON(http.StatusOK, resp) log.NewInfo(req.CommID.OperationID, "AddBlacklist api return ", resp) + c.JSON(http.StatusOK, resp) } func ImportFriend(c *gin.Context) { params := api.ImportFriendReq{} if err := c.BindJSON(¶ms); err != nil { - - c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) log.NewError("0", "BindJSON failed ", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } req := &rpc.ImportFriendReq{} - utils.CopyStructFields(req, params) + utils.CopyStructFields(req, ¶ms) var ok bool ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) if !ok { @@ -74,8 +73,8 @@ func ImportFriend(c *gin.Context) { } resp := api.ImportFriendResp{CommResp: api.CommResp{ErrCode: RpcResp.CommonResp.ErrCode, ErrMsg: RpcResp.CommonResp.ErrMsg}, Data: RpcResp.FailedFriendUserIDList} - c.JSON(http.StatusOK, resp) log.NewInfo(req.OperationID, "ImportFriend api return ", resp) + c.JSON(http.StatusOK, resp) } func AddFriend(c *gin.Context) { @@ -106,8 +105,8 @@ func AddFriend(c *gin.Context) { } resp := api.AddFriendResp{CommResp: api.CommResp{ErrCode: RpcResp.CommonResp.ErrCode, ErrMsg: RpcResp.CommonResp.ErrMsg}} - c.JSON(http.StatusOK, resp) log.NewInfo(req.CommID.OperationID, "AddFriend api return ", resp) + c.JSON(http.StatusOK, resp) } func AddFriendResponse(c *gin.Context) { @@ -118,7 +117,7 @@ func AddFriendResponse(c *gin.Context) { return } req := &rpc.AddFriendResponseReq{} - utils.CopyStructFields(req.CommID, params) + utils.CopyStructFields(req.CommID, ¶ms) var ok bool ok, req.CommID.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) if !ok { @@ -126,7 +125,7 @@ func AddFriendResponse(c *gin.Context) { c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) return } - utils.CopyStructFields(&req, params) + utils.CopyStructFields(&req, ¶ms) log.NewInfo(req.CommID.OperationID, "AddFriendResponse args ", req.String()) etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImFriendName) @@ -139,8 +138,8 @@ func AddFriendResponse(c *gin.Context) { } resp := api.AddFriendResponseResp{CommResp: api.CommResp{ErrCode: RpcResp.CommonResp.ErrCode, ErrMsg: RpcResp.CommonResp.ErrMsg}} - c.JSON(http.StatusOK, resp) log.NewInfo(req.CommID.OperationID, "AddFriendResponse api return ", resp) + c.JSON(http.StatusOK, resp) } func DeleteFriend(c *gin.Context) { @@ -151,7 +150,7 @@ func DeleteFriend(c *gin.Context) { return } req := &rpc.DeleteFriendReq{} - utils.CopyStructFields(req.CommID, params) + utils.CopyStructFields(req.CommID, ¶ms) var ok bool ok, req.CommID.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) if !ok { @@ -171,8 +170,8 @@ func DeleteFriend(c *gin.Context) { } resp := api.DeleteFriendResp{CommResp: api.CommResp{ErrCode: RpcResp.CommonResp.ErrCode, ErrMsg: RpcResp.CommonResp.ErrMsg}} - c.JSON(http.StatusOK, resp) log.NewInfo(req.CommID.OperationID, "DeleteFriend api return ", resp) + c.JSON(http.StatusOK, resp) } func GetBlacklist(c *gin.Context) { @@ -183,7 +182,7 @@ func GetBlacklist(c *gin.Context) { return } req := &rpc.GetBlacklistReq{} - utils.CopyStructFields(req.CommID, params) + utils.CopyStructFields(req.CommID, ¶ms) var ok bool ok, req.CommID.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) if !ok { @@ -203,9 +202,13 @@ func GetBlacklist(c *gin.Context) { } resp := api.GetBlackListResp{CommResp: api.CommResp{ErrCode: RpcResp.ErrCode, ErrMsg: RpcResp.ErrMsg}} - utils.CopyStructFields(&resp.BlackUserInfoList, RpcResp.BlackUserInfoList) + for _, v := range RpcResp.BlackUserInfoList { + black := api.BlackUserInfo{} + utils.CopyStructFields(&black, v) + resp.BlackUserInfoList = append(resp.BlackUserInfoList, &black) + } log.NewInfo(req.CommID.OperationID, "GetBlacklist api return ", resp) - + c.JSON(http.StatusOK, resp) } func SetFriendComment(c *gin.Context) { @@ -236,8 +239,9 @@ func SetFriendComment(c *gin.Context) { return } resp := api.SetFriendCommentResp{CommResp: api.CommResp{ErrCode: RpcResp.CommonResp.ErrCode, ErrMsg: RpcResp.CommonResp.ErrMsg}} - c.JSON(http.StatusOK, resp) + log.NewInfo(req.CommID.OperationID, "SetFriendComment api return ", resp) + c.JSON(http.StatusOK, resp) } func RemoveBlacklist(c *gin.Context) { diff --git a/internal/api/user/user.go b/internal/api/user/user.go index c312e462d..3a2620d51 100644 --- a/internal/api/user/user.go +++ b/internal/api/user/user.go @@ -6,6 +6,7 @@ import ( "Open_IM/pkg/common/log" "Open_IM/pkg/common/token_verify" "Open_IM/pkg/grpc-etcdv3/getcdv3" + open_im_sdk "Open_IM/pkg/proto/sdk_ws" rpc "Open_IM/pkg/proto/user" "Open_IM/pkg/utils" "context" @@ -17,6 +18,7 @@ import ( func GetUserInfo(c *gin.Context) { params := api.GetUserInfoReq{} if err := c.BindJSON(¶ms); err != nil { + log.NewError("0", "BindJSON failed ", err.Error()) c.JSON(http.StatusBadRequest, gin.H{"errCode": http.StatusBadRequest, "errMsg": err.Error()}) return } @@ -40,21 +42,21 @@ func GetUserInfo(c *gin.Context) { return } - resp := api.GetUserInfoResp{CommResp: api.CommResp{ErrCode: RpcResp.CommonResp.ErrCode, ErrMsg: RpcResp.CommonResp.ErrMsg}} - resp.UserInfoList = RpcResp.UserInfoList - c.JSON(http.StatusOK, resp) - + resp := api.GetUserInfoResp{CommResp: api.CommResp{ErrCode: RpcResp.CommonResp.ErrCode, ErrMsg: RpcResp.CommonResp.ErrMsg}, UserInfoList: RpcResp.UserInfoList} log.NewInfo(req.OperationID, "GetUserInfo api return ", resp) + c.JSON(http.StatusOK, resp) } func UpdateUserInfo(c *gin.Context) { - params := api.GetUserInfoReq{} + params := api.UpdateUserInfoReq{} if err := c.BindJSON(¶ms); err != nil { + log.NewError("0", "BindJSON failed ", err.Error()) c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } - req := &rpc.UpdateUserInfoReq{} - utils.CopyStructFields(&req, params) + req := &rpc.UpdateUserInfoReq{UserInfo: &open_im_sdk.UserInfo{}} + utils.CopyStructFields(req.UserInfo, ¶ms) + req.OperationID = params.OperationID var ok bool ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) if !ok { @@ -72,6 +74,7 @@ func UpdateUserInfo(c *gin.Context) { c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "call rpc server failed"}) return } - c.JSON(http.StatusOK, gin.H{"errCode": RpcResp.CommonResp.ErrCode, "errMsg": RpcResp.CommonResp.ErrMsg}) - log.NewInfo(req.OperationID, "UpdateUserInfo api return ", RpcResp.CommonResp) + resp := api.UpdateUserInfoResp{CommResp: api.CommResp{ErrCode: RpcResp.CommonResp.ErrCode, ErrMsg: RpcResp.CommonResp.ErrMsg}} + log.NewInfo(req.OperationID, "UpdateUserInfo api return ", resp) + c.JSON(http.StatusOK, resp) } diff --git a/internal/rpc/auth/auth.go b/internal/rpc/auth/auth.go index 166df967a..70ebfcbc0 100644 --- a/internal/rpc/auth/auth.go +++ b/internal/rpc/auth/auth.go @@ -48,7 +48,7 @@ func (rpc *rpcAuth) UserToken(_ context.Context, req *pbAuth.UserTokenReq) (*pbA } log.NewInfo(req.OperationID, "rpc UserToken return ") - return &pbAuth.UserTokenResp{Token: tokens, ExpiredTime: expTime}, nil + return &pbAuth.UserTokenResp{CommonResp: &pbAuth.CommonResp{}, Token: tokens, ExpiredTime: expTime}, nil } type rpcAuth struct { diff --git a/internal/rpc/friend/firend.go b/internal/rpc/friend/firend.go index 8836bf40e..b334cb1e3 100644 --- a/internal/rpc/friend/firend.go +++ b/internal/rpc/friend/firend.go @@ -434,7 +434,6 @@ func (s *friendServer) GetFriendApplyList(ctx context.Context, req *pbFriend.Get var userInfo sdkws.FriendRequest utils.CopyStructFields(&userInfo, applyUserInfo) appleUserList = append(appleUserList, &userInfo) - } log.NewInfo(req.CommID.OperationID, "rpc GetFriendApplyList ok", pbFriend.GetFriendApplyListResp{FriendRequestList: appleUserList}) return &pbFriend.GetFriendApplyListResp{FriendRequestList: appleUserList}, nil diff --git a/pkg/base_info/friend_api_struct.go b/pkg/base_info/friend_api_struct.go index 94a48662b..b5cee09e5 100644 --- a/pkg/base_info/friend_api_struct.go +++ b/pkg/base_info/friend_api_struct.go @@ -54,7 +54,7 @@ type GetBlackListReq struct { } type GetBlackListResp struct { CommResp - BlackUserInfoList []*blackUserInfo `json:"data"` + BlackUserInfoList []*BlackUserInfo `json:"data"` } //type PublicUserInfo struct { @@ -64,7 +64,7 @@ type GetBlackListResp struct { // Gender int32 `json:"gender"` //} -type blackUserInfo struct { +type BlackUserInfo struct { open_im_sdk.PublicUserInfo } diff --git a/pkg/base_info/public_struct.go b/pkg/base_info/public_struct.go index 679b58082..8993cb0a9 100644 --- a/pkg/base_info/public_struct.go +++ b/pkg/base_info/public_struct.go @@ -7,11 +7,11 @@ import ( type UserInfo struct { UserID string `json:"userID" binding:"required,min=1,max=64"` - Nickname string `json:"nickname" binding:"required,min=1,max=64"` + Nickname string `json:"nickname" binding:"omitempty,min=1,max=64"` FaceUrl string `json:"faceUrl" binding:"omitempty,max=1024"` Gender int32 `json:"gender" binding:"omitempty,oneof=0 1 2"` PhoneNumber string `json:"phoneNumber" binding:"omitempty,max=32"` - Birth string `json:"birth" binding:"omitempty,max=16"` + Birth int64 `json:"birth" binding:"omitempty"` Email string `json:"email" binding:"omitempty,max=64"` Ex string `json:"ex" binding:"omitempty,max=1024"` } diff --git a/pkg/base_info/user_api_struct.go b/pkg/base_info/user_api_struct.go index ff4695011..8b9d54b4f 100644 --- a/pkg/base_info/user_api_struct.go +++ b/pkg/base_info/user_api_struct.go @@ -12,3 +12,12 @@ type GetUserInfoResp struct { CommResp UserInfoList []*open_im_sdk.UserInfo `json:"data"` } + +type UpdateUserInfoReq struct { + UserInfo + OperationID string `json:"operationID" binding:"required"` +} + +type UpdateUserInfoResp struct { + CommResp +} diff --git a/pkg/common/db/mysql_model/im_mysql_model/model_struct.go b/pkg/common/db/mysql_model/im_mysql_model/model_struct.go index ac6ea4f86..ae2d9dc43 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/model_struct.go +++ b/pkg/common/db/mysql_model/im_mysql_model/model_struct.go @@ -140,7 +140,7 @@ type User struct { FaceUrl string `gorm:"column:face_url"` Gender int32 `gorm:"column:gender"` PhoneNumber string `gorm:"column:phone_number"` - Birth string `gorm:"column:birth"` + Birth time.Time `gorm:"column:birth"` Email string `gorm:"column:email"` Ex string `gorm:"column:ex"` CreateTime time.Time `gorm:"column:create_time"` diff --git a/pkg/common/db/mysql_model/im_mysql_model/user_model.go b/pkg/common/db/mysql_model/im_mysql_model/user_model.go index 4025d2db3..376a4b267 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/user_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/user_model.go @@ -33,6 +33,9 @@ func UserRegister(user User) error { return err } user.CreateTime = time.Now() + if user.Birth != 0 { + user.Birth = utils.UnixSecondToTime(user.Birth) + } err = dbConn.Table("user").Create(&user).Error if err != nil { @@ -80,6 +83,9 @@ func UpdateUserInfo(user User) error { if err != nil { return err } + if user.Birth != 0 { + user.Birth = utils.UnixSecondToTime(user.Birth) + } err = dbConn.Table("user").Where("user_id=?", user.UserID).Update(&user).Error return err } diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index 3b087bdde..b9857aad1 100644 --- a/pkg/proto/sdk_ws/ws.pb.go +++ b/pkg/proto/sdk_ws/ws.pb.go @@ -40,7 +40,7 @@ func (m *GroupInfo) Reset() { *m = GroupInfo{} } func (m *GroupInfo) String() string { return proto.CompactTextString(m) } func (*GroupInfo) ProtoMessage() {} func (*GroupInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{0} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{0} } func (m *GroupInfo) XXX_Unmarshal(b []byte) error { 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 (*GroupMemberFullInfo) ProtoMessage() {} func (*GroupMemberFullInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{1} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{1} } func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error { 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 (*PublicUserInfo) ProtoMessage() {} func (*PublicUserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{2} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{2} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -330,7 +330,7 @@ type UserInfo struct { FaceUrl string `protobuf:"bytes,3,opt,name=FaceUrl" json:"FaceUrl,omitempty"` Gender int32 `protobuf:"varint,4,opt,name=Gender" json:"Gender,omitempty"` PhoneNumber string `protobuf:"bytes,5,opt,name=PhoneNumber" json:"PhoneNumber,omitempty"` - Birth string `protobuf:"bytes,6,opt,name=Birth" json:"Birth,omitempty"` + Birth int64 `protobuf:"varint,6,opt,name=Birth" json:"Birth,omitempty"` Email string `protobuf:"bytes,7,opt,name=Email" json:"Email,omitempty"` Ex string `protobuf:"bytes,8,opt,name=Ex" json:"Ex,omitempty"` CreateTime int64 `protobuf:"varint,9,opt,name=CreateTime" json:"CreateTime,omitempty"` @@ -344,7 +344,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} } func (m *UserInfo) String() string { return proto.CompactTextString(m) } func (*UserInfo) ProtoMessage() {} func (*UserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{3} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{3} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -399,11 +399,11 @@ func (m *UserInfo) GetPhoneNumber() string { return "" } -func (m *UserInfo) GetBirth() string { +func (m *UserInfo) GetBirth() int64 { if m != nil { return m.Birth } - return "" + return 0 } func (m *UserInfo) GetEmail() string { @@ -451,7 +451,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} } func (m *FriendInfo) String() string { return proto.CompactTextString(m) } func (*FriendInfo) ProtoMessage() {} func (*FriendInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{4} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{4} } func (m *FriendInfo) XXX_Unmarshal(b []byte) error { 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 (*BlackInfo) ProtoMessage() {} func (*BlackInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{5} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{5} } func (m *BlackInfo) XXX_Unmarshal(b []byte) error { 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 (*GroupRequest) ProtoMessage() {} func (*GroupRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{6} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{6} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -719,7 +719,7 @@ func (m *FriendRequest) Reset() { *m = FriendRequest{} } func (m *FriendRequest) String() string { return proto.CompactTextString(m) } func (*FriendRequest) ProtoMessage() {} func (*FriendRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{7} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{7} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -818,7 +818,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{8} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{8} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -893,7 +893,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{9} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{9} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -948,7 +948,7 @@ func (m *PullMessageReq) Reset() { *m = PullMessageReq{} } func (m *PullMessageReq) String() string { return proto.CompactTextString(m) } func (*PullMessageReq) ProtoMessage() {} func (*PullMessageReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{10} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{10} } func (m *PullMessageReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageReq.Unmarshal(m, b) @@ -1012,7 +1012,7 @@ func (m *PullMessageResp) Reset() { *m = PullMessageResp{} } func (m *PullMessageResp) String() string { return proto.CompactTextString(m) } func (*PullMessageResp) ProtoMessage() {} func (*PullMessageResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{11} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{11} } func (m *PullMessageResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageResp.Unmarshal(m, b) @@ -1084,7 +1084,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{12} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{12} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1116,7 +1116,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{13} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{13} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1164,7 +1164,7 @@ func (m *GatherFormat) Reset() { *m = GatherFormat{} } func (m *GatherFormat) String() string { return proto.CompactTextString(m) } func (*GatherFormat) ProtoMessage() {} func (*GatherFormat) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{14} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{14} } func (m *GatherFormat) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GatherFormat.Unmarshal(m, b) @@ -1211,7 +1211,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{15} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{15} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1280,7 +1280,7 @@ func (m *MsgData) Reset() { *m = MsgData{} } func (m *MsgData) String() string { return proto.CompactTextString(m) } func (*MsgData) ProtoMessage() {} func (*MsgData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{16} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{16} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -1441,7 +1441,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{17} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{17} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -1508,7 +1508,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} } func (m *TipsComm) String() string { return proto.CompactTextString(m) } func (*TipsComm) ProtoMessage() {} func (*TipsComm) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{18} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{18} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -1557,7 +1557,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} } func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } func (*MemberEnterTips) ProtoMessage() {} func (*MemberEnterTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{19} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{19} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -1612,7 +1612,7 @@ func (m *MemberLeaveTips) Reset() { *m = MemberLeaveTips{} } func (m *MemberLeaveTips) String() string { return proto.CompactTextString(m) } func (*MemberLeaveTips) ProtoMessage() {} func (*MemberLeaveTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{20} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{20} } func (m *MemberLeaveTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberLeaveTips.Unmarshal(m, b) @@ -1667,7 +1667,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} } func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } func (*MemberInvitedTips) ProtoMessage() {} func (*MemberInvitedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{21} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{21} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -1729,7 +1729,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} } func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } func (*MemberKickedTips) ProtoMessage() {} func (*MemberKickedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{22} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{22} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -1792,7 +1792,7 @@ func (m *MemberInfoChangedTips) Reset() { *m = MemberInfoChangedTips{} } func (m *MemberInfoChangedTips) String() string { return proto.CompactTextString(m) } func (*MemberInfoChangedTips) ProtoMessage() {} func (*MemberInfoChangedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{23} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{23} } func (m *MemberInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInfoChangedTips.Unmarshal(m, b) @@ -1861,7 +1861,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} } func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } func (*GroupCreatedTips) ProtoMessage() {} func (*GroupCreatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{24} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{24} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -1922,7 +1922,7 @@ func (m *GroupInfoChangedTips) Reset() { *m = GroupInfoChangedTips{} } func (m *GroupInfoChangedTips) String() string { return proto.CompactTextString(m) } func (*GroupInfoChangedTips) ProtoMessage() {} func (*GroupInfoChangedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{25} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{25} } func (m *GroupInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoChangedTips.Unmarshal(m, b) @@ -1976,7 +1976,7 @@ func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTi func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } func (*JoinGroupApplicationTips) ProtoMessage() {} func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{26} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{26} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -2031,7 +2031,7 @@ func (m *ApplicationProcessedTips) Reset() { *m = ApplicationProcessedTi func (m *ApplicationProcessedTips) String() string { return proto.CompactTextString(m) } func (*ApplicationProcessedTips) ProtoMessage() {} func (*ApplicationProcessedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{27} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{27} } func (m *ApplicationProcessedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ApplicationProcessedTips.Unmarshal(m, b) @@ -2092,7 +2092,7 @@ func (m *FriendApplication) Reset() { *m = FriendApplication{} } func (m *FriendApplication) String() string { return proto.CompactTextString(m) } func (*FriendApplication) ProtoMessage() {} func (*FriendApplication) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{28} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{28} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -2145,7 +2145,7 @@ func (m *FromToUserID) Reset() { *m = FromToUserID{} } func (m *FromToUserID) String() string { return proto.CompactTextString(m) } func (*FromToUserID) ProtoMessage() {} func (*FromToUserID) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{29} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{29} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -2191,7 +2191,7 @@ func (m *FriendApplicationAddedTips) Reset() { *m = FriendApplicationAdd func (m *FriendApplicationAddedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationAddedTips) ProtoMessage() {} func (*FriendApplicationAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{30} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{30} } func (m *FriendApplicationAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationAddedTips.Unmarshal(m, b) @@ -2230,7 +2230,7 @@ func (m *FriendApplicationProcessedTips) Reset() { *m = FriendApplicatio func (m *FriendApplicationProcessedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationProcessedTips) ProtoMessage() {} func (*FriendApplicationProcessedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{31} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{31} } func (m *FriendApplicationProcessedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationProcessedTips.Unmarshal(m, b) @@ -2271,7 +2271,7 @@ func (m *FriendAddedTips) Reset() { *m = FriendAddedTips{} } func (m *FriendAddedTips) String() string { return proto.CompactTextString(m) } func (*FriendAddedTips) ProtoMessage() {} func (*FriendAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{32} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{32} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -2324,7 +2324,7 @@ func (m *FriendDeletedTips) Reset() { *m = FriendDeletedTips{} } func (m *FriendDeletedTips) String() string { return proto.CompactTextString(m) } func (*FriendDeletedTips) ProtoMessage() {} func (*FriendDeletedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{33} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{33} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -2362,7 +2362,7 @@ func (m *BlackAddedTips) Reset() { *m = BlackAddedTips{} } func (m *BlackAddedTips) String() string { return proto.CompactTextString(m) } func (*BlackAddedTips) ProtoMessage() {} func (*BlackAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{34} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{34} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -2400,7 +2400,7 @@ func (m *BlackDeletedTips) Reset() { *m = BlackDeletedTips{} } func (m *BlackDeletedTips) String() string { return proto.CompactTextString(m) } func (*BlackDeletedTips) ProtoMessage() {} func (*BlackDeletedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{35} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{35} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -2438,7 +2438,7 @@ func (m *FriendInfoChangedTips) Reset() { *m = FriendInfoChangedTips{} } func (m *FriendInfoChangedTips) String() string { return proto.CompactTextString(m) } func (*FriendInfoChangedTips) ProtoMessage() {} func (*FriendInfoChangedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{36} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{36} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -2477,7 +2477,7 @@ func (m *SelfInfoUpdatedTips) Reset() { *m = SelfInfoUpdatedTips{} } func (m *SelfInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (*SelfInfoUpdatedTips) ProtoMessage() {} func (*SelfInfoUpdatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b7876bd3c094d103, []int{37} + return fileDescriptor_ws_c6aceb61f76d5c8d, []int{37} } func (m *SelfInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SelfInfoUpdatedTips.Unmarshal(m, b) @@ -2546,10 +2546,10 @@ func init() { proto.RegisterType((*SelfInfoUpdatedTips)(nil), "open_im_sdk.SelfInfoUpdatedTips") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_b7876bd3c094d103) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_c6aceb61f76d5c8d) } -var fileDescriptor_ws_b7876bd3c094d103 = []byte{ - // 1922 bytes of a gzipped FileDescriptorProto +var fileDescriptor_ws_c6aceb61f76d5c8d = []byte{ + // 1923 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x59, 0xcd, 0x8f, 0x1b, 0x49, 0x15, 0x57, 0xb7, 0xdd, 0xfe, 0x78, 0xf6, 0x8c, 0x27, 0x9d, 0x64, 0xb6, 0x09, 0xab, 0xc8, 0xb4, 0x56, 0x68, 0x84, 0x20, 0x2b, 0x65, 0x85, 0xb4, 0x04, 0x2d, 0xe0, 0x19, 0xcf, 0xe4, 0x83, 0x38, @@ -2580,95 +2580,95 @@ var fileDescriptor_ws_b7876bd3c094d103 = []byte{ 0x68, 0x65, 0x68, 0x0c, 0x2d, 0x34, 0xd2, 0x41, 0x5a, 0xd6, 0x6c, 0x41, 0xab, 0x0e, 0x56, 0x74, 0x07, 0xf7, 0xa1, 0xf6, 0x90, 0xd0, 0x80, 0x24, 0x3c, 0x60, 0x96, 0x27, 0xa9, 0x0d, 0x8e, 0x5b, 0x9b, 0x1c, 0x77, 0x7f, 0x6b, 0x42, 0xe3, 0x23, 0x9b, 0xd6, 0x85, 0xd6, 0xe9, 0x79, 0x4c, 0xc9, - 0xb3, 0x0c, 0x8b, 0x49, 0x26, 0x53, 0x85, 0xec, 0x5b, 0x60, 0x1d, 0x86, 0x49, 0x7a, 0x2e, 0xb3, - 0x29, 0x08, 0x44, 0x8f, 0xe7, 0x7e, 0x28, 0x52, 0xd8, 0xf4, 0x04, 0x21, 0x23, 0xde, 0x28, 0xf6, - 0x81, 0xbe, 0xb3, 0x9a, 0x6b, 0x3b, 0x6b, 0x3d, 0x30, 0xb0, 0x31, 0x30, 0xff, 0x32, 0x00, 0x4e, - 0x92, 0x90, 0xd0, 0x80, 0x87, 0x66, 0x65, 0x4b, 0x1b, 0xeb, 0x5b, 0x7a, 0x1f, 0x6a, 0x1e, 0x99, - 0xfb, 0xc9, 0x2c, 0x2f, 0x79, 0x41, 0xad, 0x18, 0x54, 0x59, 0x33, 0xe8, 0xfb, 0xb9, 0x1e, 0x94, - 0xc3, 0x43, 0xd5, 0xba, 0x7f, 0xfb, 0x9e, 0xd2, 0xf6, 0xee, 0xe5, 0xf9, 0xf1, 0x14, 0x46, 0xdc, - 0x49, 0xbd, 0x20, 0x90, 0x05, 0x2b, 0x72, 0x5b, 0x02, 0x1b, 0xea, 0xb5, 0x76, 0x49, 0xbd, 0xd6, - 0x8b, 0x7a, 0xfd, 0xbb, 0x01, 0xcd, 0xc3, 0xc8, 0x1f, 0xcf, 0xb6, 0x74, 0x5a, 0x77, 0xce, 0x5c, - 0x73, 0xae, 0x07, 0x3b, 0x5c, 0x5c, 0xee, 0x02, 0xf7, 0xbf, 0x75, 0xff, 0x9b, 0x9a, 0x7f, 0xfa, - 0x06, 0xf1, 0xf4, 0x15, 0xba, 0xa3, 0xd5, 0x77, 0x3b, 0x6a, 0x5d, 0xe2, 0x68, 0xad, 0x70, 0xf4, - 0xd7, 0x26, 0xb4, 0x79, 0xb3, 0xf2, 0xc8, 0x32, 0x23, 0x2c, 0x7d, 0x6b, 0xed, 0x2b, 0x3d, 0xce, - 0xd4, 0x7b, 0x9c, 0x0b, 0xed, 0x47, 0x3e, 0x0d, 0x22, 0xe2, 0x11, 0x96, 0x45, 0x69, 0x7e, 0x8e, - 0xa8, 0x98, 0x28, 0x8a, 0xe5, 0x80, 0x4d, 0xe5, 0x09, 0x22, 0x29, 0x74, 0x4a, 0xf0, 0xe1, 0x27, - 0x61, 0x71, 0x09, 0xa0, 0x4e, 0x8f, 0x2c, 0x79, 0x48, 0x6b, 0x3c, 0xa4, 0x39, 0x59, 0xea, 0x94, - 0xb6, 0xd6, 0x55, 0x9d, 0x65, 0x4e, 0x04, 0xcd, 0x05, 0x34, 0x44, 0x4e, 0x4a, 0x64, 0xf5, 0xe4, - 0x70, 0xbf, 0x36, 0x61, 0x47, 0x14, 0x56, 0x1e, 0x8b, 0xbb, 0x58, 0x92, 0xf1, 0x5c, 0x8b, 0x87, - 0x82, 0x60, 0x3f, 0x38, 0x8b, 0xb5, 0xfe, 0x5e, 0xd0, 0x1b, 0xa3, 0x62, 0x6d, 0x19, 0x15, 0xbd, - 0x9a, 0xac, 0xb5, 0x6a, 0xfa, 0x0c, 0x76, 0x84, 0x1c, 0xbd, 0xa8, 0x75, 0x50, 0x8f, 0x6d, 0x7d, - 0x35, 0xb6, 0x57, 0x8d, 0xce, 0x7f, 0x0d, 0x70, 0x4e, 0xb3, 0x28, 0x1a, 0x10, 0xc6, 0xfc, 0x29, - 0x39, 0x7c, 0x33, 0x22, 0xcb, 0xa7, 0x21, 0x4b, 0x3d, 0xc2, 0x16, 0x98, 0x28, 0x92, 0x24, 0x47, - 0x71, 0x40, 0x78, 0x94, 0x2c, 0x2f, 0x27, 0xd1, 0x45, 0x92, 0x24, 0x68, 0x81, 0xec, 0x06, 0x82, - 0x42, 0x7c, 0xee, 0xbf, 0x1e, 0x91, 0xa5, 0xec, 0x04, 0x92, 0xe2, 0x78, 0x48, 0x11, 0xaf, 0x4a, - 0x9c, 0x53, 0xf6, 0x8f, 0x61, 0x87, 0x85, 0x74, 0x2a, 0x92, 0x2b, 0x8a, 0xa5, 0x72, 0xd0, 0xba, - 0xff, 0x0d, 0x6d, 0x03, 0x3d, 0xf4, 0xd3, 0x73, 0x92, 0x9c, 0xc4, 0xc9, 0xdc, 0x4f, 0x3d, 0x9d, - 0xdf, 0xfe, 0x0a, 0xda, 0x53, 0x2c, 0xd8, 0x7c, 0x7d, 0xed, 0x5d, 0xeb, 0x35, 0x76, 0x77, 0x0e, - 0x9f, 0x6c, 0xf6, 0x9e, 0x9b, 0x9c, 0x69, 0x3b, 0x46, 0x50, 0xd8, 0x35, 0x62, 0xbe, 0xf9, 0xc2, - 0x98, 0x16, 0x05, 0xa2, 0x42, 0x18, 0x36, 0x26, 0xe4, 0x38, 0x95, 0x6e, 0x05, 0xeb, 0x5b, 0x92, - 0xee, 0xaf, 0xf0, 0xb8, 0x2c, 0xd4, 0x5d, 0xa6, 0xe5, 0x0e, 0x34, 0x18, 0x59, 0x1e, 0x92, 0x69, - 0x48, 0x65, 0xdf, 0x29, 0x68, 0x5c, 0xc3, 0xc8, 0xf2, 0x98, 0x06, 0x79, 0x90, 0x05, 0xb5, 0x6a, - 0x59, 0x75, 0xcd, 0x32, 0xec, 0xfa, 0x1d, 0xcd, 0x80, 0xff, 0x8b, 0x24, 0xdf, 0x02, 0xfb, 0x21, - 0x49, 0x07, 0xfe, 0xeb, 0x1e, 0x0d, 0x06, 0xdc, 0x24, 0x8f, 0x2c, 0xdd, 0x63, 0xb8, 0xb9, 0x86, - 0xb2, 0x85, 0xe2, 0x9c, 0xf1, 0x16, 0xe7, 0x4c, 0xd5, 0x39, 0xf7, 0x11, 0xb4, 0x55, 0xd5, 0xb8, - 0xc1, 0xc2, 0x40, 0x26, 0xd3, 0x0c, 0x03, 0xfb, 0x00, 0xaa, 0x11, 0x56, 0x82, 0xc9, 0x6d, 0xbe, - 0xa5, 0xd9, 0x3c, 0x60, 0xd3, 0xbe, 0x9f, 0xfa, 0x1e, 0xe7, 0x70, 0x97, 0xd0, 0x41, 0x8b, 0x47, - 0x84, 0x06, 0x03, 0x36, 0xe5, 0xc6, 0x74, 0xa1, 0x35, 0x22, 0xc9, 0x05, 0x77, 0xa3, 0x3c, 0xa1, - 0x14, 0x08, 0x39, 0x8e, 0xa2, 0x90, 0xd0, 0x54, 0x70, 0xc8, 0x6a, 0x54, 0x20, 0x51, 0x49, 0x34, - 0x50, 0x8e, 0xe7, 0x82, 0x76, 0xff, 0x62, 0x41, 0x5d, 0x1a, 0x21, 0xaa, 0x8a, 0x06, 0x65, 0x25, - 0x0a, 0x0a, 0xf1, 0x84, 0x8c, 0x2f, 0xca, 0x59, 0x57, 0x50, 0x58, 0x37, 0x53, 0x79, 0x72, 0xc8, - 0xc9, 0x48, 0x92, 0x68, 0xd3, 0x58, 0xb1, 0x49, 0xd6, 0xa1, 0x02, 0x21, 0x07, 0x53, 0xfc, 0x92, - 0x33, 0x92, 0x02, 0xd9, 0xdf, 0x81, 0x3d, 0xc6, 0xe7, 0xa9, 0xd3, 0xc8, 0x4f, 0x27, 0x71, 0x32, - 0x97, 0xed, 0xd0, 0xf2, 0xd6, 0x70, 0x3c, 0x24, 0x05, 0x56, 0x4c, 0x71, 0xa2, 0x2d, 0xae, 0xa0, - 0xd8, 0x5f, 0x05, 0xc2, 0x47, 0x38, 0xef, 0xa9, 0x1c, 0xab, 0x74, 0x50, 0xd8, 0xc6, 0x58, 0x18, - 0x53, 0x7e, 0x5b, 0x68, 0x72, 0xa5, 0x2a, 0x84, 0x9e, 0xcf, 0xd9, 0x14, 0x0f, 0x0c, 0x39, 0x5c, - 0xe5, 0x24, 0xf7, 0x3c, 0xa6, 0x29, 0xa1, 0x29, 0x5f, 0xdb, 0x12, 0x6b, 0x15, 0x08, 0xd7, 0x4a, - 0x92, 0xdf, 0x43, 0xda, 0x5e, 0x4e, 0x62, 0x5f, 0x9f, 0xc4, 0xc9, 0x98, 0xf0, 0xbe, 0xb1, 0xd3, - 0xad, 0x60, 0x5f, 0x2f, 0x00, 0x7b, 0x0f, 0x2a, 0x8c, 0x2c, 0x9d, 0x5d, 0x9e, 0x40, 0xfc, 0xa9, - 0xe5, 0xb5, 0xa3, 0xe7, 0x15, 0x4f, 0x81, 0x71, 0x79, 0xd2, 0xec, 0x89, 0x53, 0xa0, 0x44, 0xec, - 0x1f, 0x42, 0x7d, 0xb8, 0xc0, 0x9e, 0xc0, 0x9c, 0x1b, 0xbc, 0x2e, 0xbf, 0xb5, 0xa9, 0x2e, 0xef, - 0x49, 0x9e, 0x63, 0x9a, 0x26, 0x6f, 0xbc, 0x7c, 0x85, 0x7d, 0x02, 0x9d, 0x78, 0x32, 0x89, 0x42, - 0x4a, 0x4e, 0x33, 0x76, 0xce, 0xc7, 0x1e, 0x9b, 0x8f, 0x3d, 0x9f, 0x6a, 0x42, 0x86, 0x3a, 0x8f, - 0xb7, 0xba, 0xe8, 0xce, 0x03, 0x68, 0xab, 0x0a, 0xd0, 0xc5, 0x19, 0x79, 0x23, 0xab, 0x0f, 0x7f, - 0xe2, 0x48, 0x7c, 0xe1, 0x47, 0x99, 0x98, 0xbc, 0x1a, 0x9e, 0x20, 0x1e, 0x98, 0x5f, 0x1a, 0xee, - 0x6f, 0x0c, 0xe8, 0xac, 0x28, 0x40, 0xee, 0xb3, 0x30, 0x8d, 0x88, 0x94, 0x20, 0x08, 0xdb, 0x86, - 0x6a, 0x9f, 0xb0, 0xb1, 0x2c, 0x5e, 0xfe, 0x5b, 0x1e, 0x82, 0x95, 0x62, 0xa8, 0x76, 0xa1, 0x1d, - 0x0e, 0x47, 0x28, 0x68, 0x14, 0x67, 0x34, 0xc8, 0xaf, 0xc3, 0x2a, 0x86, 0xc5, 0x13, 0x0e, 0x47, - 0x87, 0x7e, 0x30, 0x25, 0xe2, 0xd2, 0x6a, 0x71, 0x9b, 0x74, 0xd0, 0xed, 0x43, 0xe3, 0x2c, 0x5c, - 0xb0, 0xa3, 0x78, 0x3e, 0xc7, 0x8d, 0xd3, 0x27, 0x29, 0x4e, 0xf4, 0x06, 0xcf, 0xb4, 0xa4, 0xb0, - 0x48, 0xfa, 0x64, 0xe2, 0x67, 0x51, 0x8a, 0xac, 0xf9, 0x96, 0x55, 0x20, 0xf7, 0x4f, 0x06, 0x74, - 0xc4, 0x5d, 0xf4, 0x98, 0xa6, 0x24, 0x41, 0xcc, 0xfe, 0x2e, 0x58, 0x7c, 0x32, 0xe3, 0xc2, 0x5a, - 0xf7, 0xf7, 0xf5, 0xe6, 0x97, 0xbf, 0x1a, 0x78, 0x82, 0xc9, 0x3e, 0x84, 0x16, 0x06, 0xd5, 0xa7, - 0x29, 0x1f, 0xbb, 0x4d, 0xbe, 0xa6, 0xbb, 0xbe, 0x46, 0xbf, 0xf1, 0x7a, 0xea, 0x22, 0xf4, 0x78, - 0x98, 0x9f, 0x1d, 0x4a, 0xf7, 0xd0, 0x41, 0xf7, 0x8f, 0x85, 0xad, 0x4f, 0x89, 0x7f, 0x41, 0xde, - 0xc3, 0xd6, 0x9f, 0x00, 0xf0, 0xa5, 0xc9, 0x95, 0x4c, 0x55, 0xd6, 0x6c, 0x69, 0xe9, 0x3f, 0x0d, - 0xb8, 0x21, 0x84, 0x3c, 0xa6, 0x17, 0x61, 0x4a, 0x82, 0xf7, 0xb0, 0xf5, 0x4b, 0xa8, 0x0d, 0x17, - 0x57, 0xb2, 0x53, 0xf2, 0xdb, 0x4f, 0xa0, 0x23, 0xd5, 0x22, 0x59, 0x0c, 0x07, 0xdb, 0x88, 0x58, - 0x5d, 0xb8, 0xee, 0x6f, 0x75, 0x93, 0xbf, 0xff, 0x30, 0x60, 0x4f, 0x48, 0xfa, 0x69, 0x38, 0x9e, - 0x7d, 0x64, 0x77, 0x1f, 0xc1, 0xae, 0xd0, 0x7a, 0x65, 0x6f, 0x57, 0xd6, 0x6d, 0xe9, 0xec, 0x7f, - 0x0c, 0xb8, 0x9d, 0x27, 0x77, 0x12, 0x1f, 0x9d, 0xe3, 0x55, 0x57, 0x78, 0x8c, 0x53, 0x37, 0x27, - 0x79, 0x4b, 0x16, 0x23, 0x8e, 0x82, 0x5c, 0xc3, 0xc7, 0x1f, 0x41, 0xf3, 0x24, 0xa4, 0x7e, 0xa4, - 0xdc, 0xfc, 0xde, 0xbd, 0xb8, 0x5c, 0x82, 0x1d, 0x7c, 0x90, 0xc9, 0x1e, 0x2d, 0xdf, 0x83, 0x72, - 0xba, 0xcc, 0x93, 0xb5, 0x45, 0x9e, 0xdc, 0xbf, 0x19, 0xb0, 0xc7, 0x7f, 0x89, 0xdb, 0xc4, 0xfb, - 0xa4, 0xfa, 0x01, 0xd4, 0xe5, 0x9b, 0xd9, 0xd6, 0x71, 0xc8, 0x17, 0xe0, 0x0e, 0x96, 0x2d, 0xe0, - 0x2a, 0x89, 0x56, 0xd6, 0x6c, 0x99, 0xe4, 0x3f, 0x18, 0x70, 0xab, 0x30, 0x5c, 0xcd, 0x31, 0x4e, - 0x41, 0x92, 0x2c, 0x93, 0xac, 0x42, 0x65, 0x30, 0xcc, 0xab, 0xd5, 0x7d, 0xe5, 0x6a, 0x35, 0xe1, - 0x7e, 0x6d, 0x80, 0xf3, 0x24, 0x0e, 0x29, 0xe7, 0xe9, 0x2d, 0x16, 0x91, 0x7c, 0x72, 0x7d, 0x8f, - 0x8c, 0xfc, 0x00, 0x9a, 0x52, 0x00, 0x4d, 0xa5, 0xd9, 0x97, 0x3e, 0x2c, 0x94, 0xdc, 0xe2, 0x06, - 0xea, 0xb3, 0xe2, 0xf5, 0x57, 0x52, 0xee, 0x9f, 0x0d, 0x70, 0x14, 0xa3, 0x4e, 0x93, 0x78, 0x4c, - 0x18, 0xfb, 0xc8, 0xad, 0x81, 0x1b, 0xa7, 0x5c, 0x9e, 0x6b, 0xea, 0xb5, 0x99, 0x1b, 0x5d, 0xd5, - 0x8c, 0x9e, 0xc1, 0x0d, 0x71, 0x7f, 0x57, 0x2c, 0xc7, 0x39, 0xaa, 0x17, 0x88, 0xe1, 0x47, 0xcc, - 0xe9, 0x39, 0xa9, 0x3f, 0xa8, 0xc8, 0xd7, 0xf1, 0xf2, 0x41, 0xe5, 0x2e, 0x40, 0x2f, 0x08, 0x7e, - 0x11, 0x27, 0x41, 0x48, 0xa7, 0x32, 0x3a, 0x0a, 0xe2, 0x3e, 0x81, 0x36, 0x4e, 0x72, 0xc5, 0x7d, - 0xff, 0x1a, 0x6f, 0x05, 0xee, 0x2f, 0xe1, 0xce, 0x9a, 0xe1, 0xbd, 0x20, 0x90, 0xe1, 0xfe, 0x4a, - 0xd7, 0x24, 0xa3, 0xae, 0x5f, 0x6a, 0x54, 0x06, 0x4f, 0x63, 0x77, 0x5f, 0xc0, 0xdd, 0x35, 0xe1, - 0x7a, 0x3e, 0xaf, 0xa9, 0xe0, 0x77, 0x06, 0x74, 0xa4, 0x86, 0xc2, 0xe6, 0xcf, 0xa1, 0x26, 0x20, - 0x29, 0xec, 0x93, 0x15, 0x61, 0xf9, 0x7b, 0xa2, 0x27, 0xd9, 0xd6, 0xf7, 0xb5, 0xb9, 0x61, 0x5f, - 0xdb, 0x5f, 0xac, 0x6c, 0xb7, 0x4b, 0xcb, 0x3c, 0xdf, 0x69, 0x5e, 0x5e, 0x16, 0x7d, 0x12, 0x91, - 0xf4, 0xc3, 0xf8, 0x3c, 0x84, 0x5d, 0xfe, 0x3a, 0xf7, 0xc1, 0xb2, 0xf4, 0x33, 0xd8, 0xe3, 0x02, - 0x3f, 0xa0, 0x8d, 0x3f, 0x87, 0xdb, 0x65, 0xa0, 0xd5, 0x26, 0x78, 0x4d, 0xb9, 0xdf, 0x83, 0x9b, - 0x23, 0x12, 0x4d, 0x50, 0xea, 0xf3, 0x45, 0x50, 0x9c, 0x22, 0x6f, 0x79, 0x38, 0x7c, 0x59, 0xe3, - 0x7f, 0x60, 0x7d, 0xf1, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x97, 0x0c, 0x33, 0xae, 0xd3, 0x1a, - 0x00, 0x00, + 0xb3, 0x0c, 0x8b, 0x49, 0x26, 0x53, 0x85, 0xec, 0x5b, 0x60, 0x1d, 0x86, 0x49, 0x7a, 0xce, 0xb3, + 0x59, 0xf1, 0x04, 0x81, 0xe8, 0xf1, 0xdc, 0x0f, 0x45, 0x0a, 0x9b, 0x9e, 0x20, 0x64, 0xc4, 0x1b, + 0xc5, 0x3e, 0xd0, 0x77, 0x56, 0x73, 0x6d, 0x67, 0xad, 0x07, 0x06, 0x36, 0x06, 0xe6, 0x5f, 0x06, + 0xc0, 0x49, 0x12, 0x12, 0x1a, 0xf0, 0xd0, 0xac, 0x6c, 0x69, 0x63, 0x7d, 0x4b, 0xef, 0x43, 0xcd, + 0x23, 0x73, 0x3f, 0x99, 0xe5, 0x25, 0x2f, 0xa8, 0x15, 0x83, 0x2a, 0x6b, 0x06, 0x7d, 0x3f, 0xd7, + 0x83, 0x72, 0x78, 0xa8, 0x5a, 0xf7, 0x6f, 0xdf, 0x53, 0xda, 0xde, 0xbd, 0x3c, 0x3f, 0x9e, 0xc2, + 0x88, 0x3b, 0xa9, 0x17, 0x04, 0xb2, 0x60, 0x45, 0x6e, 0x4b, 0x60, 0x43, 0xbd, 0xd6, 0x2e, 0xa9, + 0xd7, 0x7a, 0x51, 0xaf, 0x7f, 0x37, 0xa0, 0x79, 0x18, 0xf9, 0xe3, 0xd9, 0x96, 0x4e, 0xeb, 0xce, + 0x99, 0x6b, 0xce, 0xf5, 0x60, 0x87, 0x8b, 0xcb, 0x5d, 0xe0, 0xfe, 0xb7, 0xee, 0x7f, 0x53, 0xf3, + 0x4f, 0xdf, 0x20, 0x9e, 0xbe, 0x42, 0x77, 0xb4, 0xfa, 0x6e, 0x47, 0xad, 0x4b, 0x1c, 0xad, 0x15, + 0x8e, 0xfe, 0xda, 0x84, 0x36, 0x6f, 0x56, 0x1e, 0x59, 0x66, 0x84, 0xa5, 0x6f, 0xad, 0x7d, 0xa5, + 0xc7, 0x99, 0x7a, 0x8f, 0x73, 0xa1, 0xfd, 0xc8, 0xa7, 0x41, 0x44, 0x3c, 0xc2, 0xb2, 0x28, 0xcd, + 0xcf, 0x11, 0x15, 0x13, 0x45, 0xb1, 0x1c, 0xb0, 0xa9, 0x3c, 0x41, 0x24, 0x85, 0x4e, 0x09, 0x3e, + 0xfc, 0x24, 0x2c, 0x2e, 0x01, 0xd4, 0xe9, 0x91, 0x25, 0x0f, 0xa9, 0xd8, 0x01, 0x39, 0x59, 0xea, + 0x94, 0xb6, 0xd6, 0x55, 0x9d, 0x65, 0x4e, 0x04, 0xcd, 0x05, 0x34, 0x44, 0x4e, 0x4a, 0x64, 0xf5, + 0xe4, 0x70, 0xbf, 0x36, 0x61, 0x47, 0x14, 0x56, 0x1e, 0x8b, 0xbb, 0x58, 0x92, 0xf1, 0x5c, 0x8b, + 0x87, 0x82, 0x60, 0x3f, 0x38, 0x8b, 0xb5, 0xfe, 0x5e, 0xd0, 0x1b, 0xa3, 0x62, 0x6d, 0x19, 0x15, + 0xbd, 0x9a, 0xac, 0xb5, 0x6a, 0xfa, 0x0c, 0x76, 0x84, 0x1c, 0xbd, 0xa8, 0x75, 0x50, 0x8f, 0x6d, + 0x7d, 0x35, 0xb6, 0x57, 0x8d, 0xce, 0x7f, 0x0d, 0x70, 0x4e, 0xb3, 0x28, 0x1a, 0x10, 0xc6, 0xfc, + 0x29, 0x39, 0x7c, 0x33, 0x22, 0xcb, 0xa7, 0x21, 0x4b, 0x3d, 0xc2, 0x16, 0x98, 0x28, 0x92, 0x24, + 0x47, 0x71, 0x40, 0x78, 0x94, 0x2c, 0x2f, 0x27, 0xd1, 0x45, 0x92, 0x24, 0x68, 0x81, 0xec, 0x06, + 0x82, 0x42, 0x7c, 0xee, 0xbf, 0x1e, 0x91, 0xa5, 0xec, 0x04, 0x92, 0xe2, 0x78, 0x48, 0x11, 0xaf, + 0x4a, 0x9c, 0x53, 0xf6, 0x8f, 0x61, 0x87, 0x85, 0x74, 0x2a, 0x92, 0x2b, 0x8a, 0xa5, 0x72, 0xd0, + 0xba, 0xff, 0x0d, 0x6d, 0x03, 0x3d, 0xf4, 0xd3, 0x73, 0x92, 0x9c, 0xc4, 0xc9, 0xdc, 0x4f, 0x3d, + 0x9d, 0xdf, 0xfe, 0x0a, 0xda, 0x53, 0x2c, 0xd8, 0x7c, 0x7d, 0xed, 0x5d, 0xeb, 0x35, 0x76, 0x77, + 0x0e, 0x9f, 0x6c, 0xf6, 0x9e, 0x9b, 0x9c, 0x69, 0x3b, 0x46, 0x50, 0xd8, 0x35, 0x62, 0xbe, 0xf9, + 0xc2, 0x98, 0x16, 0x05, 0xa2, 0x42, 0x18, 0x36, 0x26, 0xe4, 0x38, 0x95, 0x6e, 0x05, 0xeb, 0x5b, + 0x92, 0xee, 0xaf, 0xf0, 0xb8, 0x2c, 0xd4, 0x5d, 0xa6, 0xe5, 0x0e, 0x34, 0x18, 0x59, 0x1e, 0x92, + 0x69, 0x48, 0x65, 0xdf, 0x29, 0x68, 0x5c, 0xc3, 0xc8, 0xf2, 0x98, 0x06, 0x79, 0x90, 0x05, 0xb5, + 0x6a, 0x59, 0x75, 0xcd, 0x32, 0xec, 0xfa, 0x1d, 0xcd, 0x80, 0xff, 0x8b, 0x24, 0xdf, 0x02, 0xfb, + 0x21, 0x49, 0x07, 0xfe, 0xeb, 0x1e, 0x0d, 0x06, 0xdc, 0x24, 0x8f, 0x2c, 0xdd, 0x63, 0xb8, 0xb9, + 0x86, 0xb2, 0x85, 0xe2, 0x9c, 0xf1, 0x16, 0xe7, 0x4c, 0xd5, 0x39, 0xf7, 0x11, 0xb4, 0x55, 0xd5, + 0xb8, 0xc1, 0xc2, 0x40, 0x26, 0xd3, 0x0c, 0x03, 0xfb, 0x00, 0xaa, 0x11, 0x56, 0x82, 0xc9, 0x6d, + 0xbe, 0xa5, 0xd9, 0x3c, 0x60, 0xd3, 0xbe, 0x9f, 0xfa, 0x1e, 0xe7, 0x70, 0x97, 0xd0, 0x41, 0x8b, + 0x47, 0x84, 0x06, 0x03, 0x36, 0xe5, 0xc6, 0x74, 0xa1, 0x35, 0x22, 0xc9, 0x05, 0x77, 0xa3, 0x3c, + 0xa1, 0x14, 0x08, 0x39, 0x8e, 0xa2, 0x90, 0xd0, 0x54, 0x70, 0xc8, 0x6a, 0x54, 0x20, 0x51, 0x49, + 0x34, 0x50, 0x8e, 0xe7, 0x82, 0x76, 0xff, 0x62, 0x41, 0x5d, 0x1a, 0x21, 0xaa, 0x8a, 0x06, 0x65, + 0x25, 0x0a, 0x0a, 0xf1, 0x84, 0x8c, 0x2f, 0xca, 0x59, 0x57, 0x50, 0x58, 0x37, 0x53, 0x79, 0x72, + 0xc8, 0xc9, 0x48, 0x92, 0x68, 0xd3, 0x58, 0xb1, 0x49, 0xd6, 0xa1, 0x02, 0x21, 0x07, 0x53, 0xfc, + 0x92, 0x33, 0x92, 0x02, 0xd9, 0xdf, 0x81, 0x3d, 0xc6, 0xe7, 0xa9, 0xd3, 0xc8, 0x4f, 0x27, 0x71, + 0x32, 0x97, 0xed, 0xd0, 0xf2, 0xd6, 0x70, 0x3c, 0x24, 0x05, 0x56, 0x4c, 0x71, 0xa2, 0x2d, 0xae, + 0xa0, 0xd8, 0x5f, 0x05, 0xc2, 0x47, 0x38, 0xef, 0xa9, 0x1c, 0xab, 0x74, 0x50, 0xd8, 0xc6, 0x58, + 0x18, 0x53, 0x7e, 0x5b, 0x68, 0x72, 0xa5, 0x2a, 0x84, 0x9e, 0xcf, 0xd9, 0x14, 0x0f, 0x0c, 0x39, + 0x5c, 0xe5, 0x24, 0xf7, 0x3c, 0xa6, 0x29, 0xa1, 0x29, 0x5f, 0xdb, 0x12, 0x6b, 0x15, 0x08, 0xd7, + 0x4a, 0x92, 0xdf, 0x43, 0xda, 0x5e, 0x4e, 0x62, 0x5f, 0x9f, 0xc4, 0xc9, 0x98, 0xf0, 0xbe, 0xb1, + 0xd3, 0xad, 0x60, 0x5f, 0x2f, 0x00, 0x7b, 0x0f, 0x2a, 0x8c, 0x2c, 0x9d, 0x5d, 0x9e, 0x40, 0xfc, + 0xa9, 0xe5, 0xb5, 0xa3, 0xe7, 0x15, 0x4f, 0x81, 0x71, 0x79, 0xd2, 0xec, 0x89, 0x53, 0xa0, 0x44, + 0xec, 0x1f, 0x42, 0x7d, 0xb8, 0xc0, 0x9e, 0xc0, 0x9c, 0x1b, 0xbc, 0x2e, 0xbf, 0xb5, 0xa9, 0x2e, + 0xef, 0x49, 0x9e, 0x63, 0x9a, 0x26, 0x6f, 0xbc, 0x7c, 0x85, 0x7d, 0x02, 0x9d, 0x78, 0x32, 0x89, + 0x42, 0x4a, 0x4e, 0x33, 0x76, 0xce, 0xc7, 0x1e, 0x9b, 0x8f, 0x3d, 0x9f, 0x6a, 0x42, 0x86, 0x3a, + 0x8f, 0xb7, 0xba, 0xe8, 0xce, 0x03, 0x68, 0xab, 0x0a, 0xd0, 0xc5, 0x19, 0x79, 0x23, 0xab, 0x0f, + 0x7f, 0xe2, 0x48, 0x7c, 0xe1, 0x47, 0x99, 0x98, 0xbc, 0x1a, 0x9e, 0x20, 0x1e, 0x98, 0x5f, 0x1a, + 0xee, 0x6f, 0x0c, 0xe8, 0xac, 0x28, 0x40, 0xee, 0xb3, 0x30, 0x8d, 0x88, 0x94, 0x20, 0x08, 0xdb, + 0x86, 0x6a, 0x9f, 0xb0, 0xb1, 0x2c, 0x5e, 0xfe, 0x5b, 0x1e, 0x82, 0x95, 0x62, 0xa8, 0x76, 0xa1, + 0x1d, 0x0e, 0x47, 0x28, 0x68, 0x14, 0x67, 0x34, 0xc8, 0xaf, 0xc3, 0x2a, 0x86, 0xc5, 0x13, 0x0e, + 0x47, 0x87, 0x7e, 0x30, 0x25, 0xe2, 0xd2, 0x6a, 0x71, 0x9b, 0x74, 0xd0, 0xed, 0x43, 0xe3, 0x2c, + 0x5c, 0xb0, 0xa3, 0x78, 0x3e, 0xc7, 0x8d, 0xd3, 0x27, 0x29, 0x4e, 0xf4, 0x06, 0xcf, 0xb4, 0xa4, + 0xb0, 0x48, 0xfa, 0x64, 0xe2, 0x67, 0x51, 0x8a, 0xac, 0xf9, 0x96, 0x55, 0x20, 0xf7, 0x4f, 0x06, + 0x74, 0xc4, 0x5d, 0xf4, 0x98, 0xa6, 0x24, 0x41, 0xcc, 0xfe, 0x2e, 0x58, 0x7c, 0x32, 0xe3, 0xc2, + 0x5a, 0xf7, 0xf7, 0xf5, 0xe6, 0x97, 0xbf, 0x1a, 0x78, 0x82, 0xc9, 0x3e, 0x84, 0x16, 0x06, 0xd5, + 0xa7, 0x29, 0x1f, 0xbb, 0x4d, 0xbe, 0xa6, 0xbb, 0xbe, 0x46, 0xbf, 0xf1, 0x7a, 0xea, 0x22, 0xf4, + 0x78, 0x98, 0x9f, 0x1d, 0x4a, 0xf7, 0xd0, 0x41, 0xf7, 0x8f, 0x85, 0xad, 0x4f, 0x89, 0x7f, 0x41, + 0xde, 0xc3, 0xd6, 0x9f, 0x00, 0xf0, 0xa5, 0xc9, 0x95, 0x4c, 0x55, 0xd6, 0x6c, 0x69, 0xe9, 0x3f, + 0x0d, 0xb8, 0x21, 0x84, 0x3c, 0xa6, 0x17, 0x61, 0x4a, 0x82, 0xf7, 0xb0, 0xf5, 0x4b, 0xa8, 0x0d, + 0x17, 0x57, 0xb2, 0x53, 0xf2, 0xdb, 0x4f, 0xa0, 0x23, 0xd5, 0x22, 0x59, 0x0c, 0x07, 0xdb, 0x88, + 0x58, 0x5d, 0xb8, 0xee, 0x6f, 0x75, 0x93, 0xbf, 0xff, 0x30, 0x60, 0x4f, 0x48, 0xfa, 0x69, 0x38, + 0x9e, 0x7d, 0x64, 0x77, 0x1f, 0xc1, 0xae, 0xd0, 0x7a, 0x65, 0x6f, 0x57, 0xd6, 0x6d, 0xe9, 0xec, + 0x7f, 0x0c, 0xb8, 0x9d, 0x27, 0x77, 0x12, 0x1f, 0x9d, 0xe3, 0x55, 0x57, 0x78, 0x8c, 0x53, 0x37, + 0x27, 0x79, 0x4b, 0x16, 0x23, 0x8e, 0x82, 0x5c, 0xc3, 0xc7, 0x1f, 0x41, 0xf3, 0x24, 0xa4, 0x7e, + 0xa4, 0xdc, 0xfc, 0xde, 0xbd, 0xb8, 0x5c, 0x82, 0x1d, 0x7c, 0x90, 0xc9, 0x1e, 0x2d, 0xdf, 0x83, + 0x72, 0xba, 0xcc, 0x93, 0xb5, 0x45, 0x9e, 0xdc, 0xbf, 0x19, 0xb0, 0xc7, 0x7f, 0x89, 0xdb, 0xc4, + 0xfb, 0xa4, 0xfa, 0x01, 0xd4, 0xe5, 0x9b, 0xd9, 0xd6, 0x71, 0xc8, 0x17, 0xe0, 0x0e, 0x96, 0x2d, + 0xe0, 0x2a, 0x89, 0x56, 0xd6, 0x6c, 0x99, 0xe4, 0x3f, 0x18, 0x70, 0xab, 0x30, 0x5c, 0xcd, 0x31, + 0x4e, 0x41, 0x92, 0x2c, 0x93, 0xac, 0x42, 0x65, 0x30, 0xcc, 0xab, 0xd5, 0x7d, 0xe5, 0x6a, 0x35, + 0xe1, 0x7e, 0x6d, 0x80, 0xf3, 0x24, 0x0e, 0x29, 0xe7, 0xe9, 0x2d, 0x16, 0x91, 0x7c, 0x72, 0x7d, + 0x8f, 0x8c, 0xfc, 0x00, 0x9a, 0x52, 0x00, 0x4d, 0xa5, 0xd9, 0x97, 0x3e, 0x2c, 0x94, 0xdc, 0xe2, + 0x06, 0xea, 0xb3, 0xe2, 0xf5, 0x57, 0x52, 0xee, 0x9f, 0x0d, 0x70, 0x14, 0xa3, 0x4e, 0x93, 0x78, + 0x4c, 0x18, 0xfb, 0xc8, 0xad, 0x81, 0x1b, 0xa7, 0x5c, 0x9e, 0x6b, 0xea, 0xb5, 0x99, 0x1b, 0x5d, + 0xd5, 0x8c, 0x9e, 0xc1, 0x0d, 0x71, 0x7f, 0x57, 0x2c, 0xc7, 0x39, 0xaa, 0x17, 0x88, 0xe1, 0x47, + 0xcc, 0xe9, 0x39, 0xa9, 0x3f, 0xa8, 0xc8, 0xd7, 0xf1, 0xf2, 0x41, 0xe5, 0x2e, 0x40, 0x2f, 0x08, + 0x7e, 0x11, 0x27, 0x41, 0x48, 0xa7, 0x32, 0x3a, 0x0a, 0xe2, 0x3e, 0x81, 0x36, 0x4e, 0x72, 0xc5, + 0x7d, 0xff, 0x1a, 0x6f, 0x05, 0xee, 0x2f, 0xe1, 0xce, 0x9a, 0xe1, 0xbd, 0x20, 0x90, 0xe1, 0xfe, + 0x4a, 0xd7, 0x24, 0xa3, 0xae, 0x5f, 0x6a, 0x54, 0x06, 0x4f, 0x63, 0x77, 0x5f, 0xc0, 0xdd, 0x35, + 0xe1, 0x7a, 0x3e, 0xaf, 0xa9, 0xe0, 0x77, 0x06, 0x74, 0xa4, 0x86, 0xc2, 0xe6, 0xcf, 0xa1, 0x26, + 0x20, 0x29, 0xec, 0x93, 0x15, 0x61, 0xf9, 0x7b, 0xa2, 0x27, 0xd9, 0xd6, 0xf7, 0xb5, 0xb9, 0x61, + 0x5f, 0xdb, 0x5f, 0xac, 0x6c, 0xb7, 0x4b, 0xcb, 0x3c, 0xdf, 0x69, 0x5e, 0x5e, 0x16, 0x7d, 0x12, + 0x91, 0xf4, 0xc3, 0xf8, 0x3c, 0x84, 0x5d, 0xfe, 0x3a, 0xf7, 0xc1, 0xb2, 0xf4, 0x33, 0xd8, 0xe3, + 0x02, 0x3f, 0xa0, 0x8d, 0x3f, 0x87, 0xdb, 0x65, 0xa0, 0xd5, 0x26, 0x78, 0x4d, 0xb9, 0xdf, 0x83, + 0x9b, 0x23, 0x12, 0x4d, 0x50, 0xea, 0xf3, 0x45, 0x50, 0x9c, 0x22, 0x6f, 0x79, 0x38, 0x7c, 0x59, + 0xe3, 0x7f, 0x60, 0x7d, 0xf1, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd4, 0x0b, 0x22, 0x82, 0xd3, + 0x1a, 0x00, 0x00, } diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 0dfde946b..d757cc41f 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -48,7 +48,7 @@ message UserInfo{ string FaceUrl = 3; int32 Gender = 4; string PhoneNumber = 5; - string Birth = 6; + int64 Birth = 6; string Email = 7; string Ex = 8; int64 CreateTime = 9;