message add ex field to return

test-v2.3.0release
Gordon 3 years ago
parent baece7eb3a
commit 7aefb7fa2b

@ -269,6 +269,7 @@ func (ws *WServer) sendMsgResp(conn *UserConn, m *Req, pb *pbChat.SendMsgResp) {
mReplyData.ClientMsgID = pb.GetClientMsgID() mReplyData.ClientMsgID = pb.GetClientMsgID()
mReplyData.ServerMsgID = pb.GetServerMsgID() mReplyData.ServerMsgID = pb.GetServerMsgID()
mReplyData.SendTime = pb.GetSendTime() mReplyData.SendTime = pb.GetSendTime()
mReplyData.Ex = pb.GetEx()
b, _ := proto.Marshal(&mReplyData) b, _ := proto.Marshal(&mReplyData)
mReply := Resp{ mReply := Resp{
ReqIdentifier: m.ReqIdentifier, ReqIdentifier: m.ReqIdentifier,

@ -348,7 +348,7 @@ func (rpc *rpcChat) SendMsg(_ context.Context, pb *pbChat.SendMsgReq) (*pbChat.S
log.Info(pb.OperationID, "rpc sendMsg come here ", pb.String()) log.Info(pb.OperationID, "rpc sendMsg come here ", pb.String())
flag, errCode, errMsg := isMessageHasReadEnabled(pb) flag, errCode, errMsg := isMessageHasReadEnabled(pb)
if !flag { if !flag {
return returnMsg(&replay, pb, errCode, errMsg, "", 0) return returnMsg(&replay, pb, errCode, errMsg, "", 0, "")
} }
t1 := time.Now() t1 := time.Now()
rpc.encapsulateMsgData(pb.MsgData) rpc.encapsulateMsgData(pb.MsgData)
@ -367,7 +367,7 @@ func (rpc *rpcChat) SendMsg(_ context.Context, pb *pbChat.SendMsgReq) (*pbChat.S
callbackResp.ErrCode = 201 callbackResp.ErrCode = 201
} }
log.NewDebug(pb.OperationID, utils.GetSelfFuncName(), "callbackMsgModify result", "end rpc and return", pb.MsgData) log.NewDebug(pb.OperationID, utils.GetSelfFuncName(), "callbackMsgModify result", "end rpc and return", pb.MsgData)
return returnMsg(&replay, pb, int32(callbackResp.ErrCode), callbackResp.ErrMsg, "", 0) return returnMsg(&replay, pb, int32(callbackResp.ErrCode), callbackResp.ErrMsg, "", 0, "")
} }
switch pb.MsgData.SessionType { switch pb.MsgData.SessionType {
case constant.SingleChatType: case constant.SingleChatType:
@ -385,13 +385,13 @@ func (rpc *rpcChat) SendMsg(_ context.Context, pb *pbChat.SendMsgReq) (*pbChat.S
} }
log.NewDebug(pb.OperationID, utils.GetSelfFuncName(), "callbackBeforeSendSingleMsg result", "end rpc and return", callbackResp) log.NewDebug(pb.OperationID, utils.GetSelfFuncName(), "callbackBeforeSendSingleMsg result", "end rpc and return", callbackResp)
promePkg.PromeInc(promePkg.SingleChatMsgProcessFailedCounter) promePkg.PromeInc(promePkg.SingleChatMsgProcessFailedCounter)
return returnMsg(&replay, pb, int32(callbackResp.ErrCode), callbackResp.ErrMsg, "", 0) return returnMsg(&replay, pb, int32(callbackResp.ErrCode), callbackResp.ErrMsg, "", 0, "")
} }
t1 = time.Now() t1 = time.Now()
flag, errCode, errMsg, _ = rpc.messageVerification(pb) flag, errCode, errMsg, _ = rpc.messageVerification(pb)
log.Debug(pb.OperationID, "messageVerification ", flag, " cost time: ", time.Since(t1)) log.Debug(pb.OperationID, "messageVerification ", flag, " cost time: ", time.Since(t1))
if !flag { if !flag {
return returnMsg(&replay, pb, errCode, errMsg, "", 0) return returnMsg(&replay, pb, errCode, errMsg, "", 0, "")
} }
t1 = time.Now() t1 = time.Now()
isSend := modifyMessageByUserMessageReceiveOpt(pb.MsgData.RecvID, pb.MsgData.SendID, constant.SingleChatType, pb) isSend := modifyMessageByUserMessageReceiveOpt(pb.MsgData.RecvID, pb.MsgData.SendID, constant.SingleChatType, pb)
@ -405,7 +405,7 @@ func (rpc *rpcChat) SendMsg(_ context.Context, pb *pbChat.SendMsgReq) (*pbChat.S
if err1 != nil { if err1 != nil {
log.NewError(msgToMQSingle.OperationID, "kafka send msg err :RecvID", msgToMQSingle.MsgData.RecvID, msgToMQSingle.String(), err1.Error()) log.NewError(msgToMQSingle.OperationID, "kafka send msg err :RecvID", msgToMQSingle.MsgData.RecvID, msgToMQSingle.String(), err1.Error())
promePkg.PromeInc(promePkg.SingleChatMsgProcessFailedCounter) promePkg.PromeInc(promePkg.SingleChatMsgProcessFailedCounter)
return returnMsg(&replay, pb, 201, "kafka send msg err", "", 0) return returnMsg(&replay, pb, 201, "kafka send msg err", "", 0, "")
} }
} }
if msgToMQSingle.MsgData.SendID != msgToMQSingle.MsgData.RecvID { //Filter messages sent to yourself if msgToMQSingle.MsgData.SendID != msgToMQSingle.MsgData.RecvID { //Filter messages sent to yourself
@ -415,7 +415,7 @@ func (rpc *rpcChat) SendMsg(_ context.Context, pb *pbChat.SendMsgReq) (*pbChat.S
if err2 != nil { if err2 != nil {
log.NewError(msgToMQSingle.OperationID, "kafka send msg err:SendID", msgToMQSingle.MsgData.SendID, msgToMQSingle.String()) log.NewError(msgToMQSingle.OperationID, "kafka send msg err:SendID", msgToMQSingle.MsgData.SendID, msgToMQSingle.String())
promePkg.PromeInc(promePkg.SingleChatMsgProcessFailedCounter) promePkg.PromeInc(promePkg.SingleChatMsgProcessFailedCounter)
return returnMsg(&replay, pb, 201, "kafka send msg err", "", 0) return returnMsg(&replay, pb, 201, "kafka send msg err", "", 0, "")
} }
} }
// callback // callback
@ -426,7 +426,7 @@ func (rpc *rpcChat) SendMsg(_ context.Context, pb *pbChat.SendMsgReq) (*pbChat.S
log.NewError(pb.OperationID, utils.GetSelfFuncName(), "callbackAfterSendSingleMsg resp: ", callbackResp) log.NewError(pb.OperationID, utils.GetSelfFuncName(), "callbackAfterSendSingleMsg resp: ", callbackResp)
} }
promePkg.PromeInc(promePkg.SingleChatMsgProcessSuccessCounter) promePkg.PromeInc(promePkg.SingleChatMsgProcessSuccessCounter)
return returnMsg(&replay, pb, 0, "", msgToMQSingle.MsgData.ServerMsgID, msgToMQSingle.MsgData.SendTime) return returnMsg(&replay, pb, 0, "", msgToMQSingle.MsgData.ServerMsgID, msgToMQSingle.MsgData.SendTime, msgToMQSingle.MsgData.Ex)
case constant.GroupChatType: case constant.GroupChatType:
// callback // callback
promePkg.PromeInc(promePkg.GroupChatMsgRecvSuccessCounter) promePkg.PromeInc(promePkg.GroupChatMsgRecvSuccessCounter)
@ -440,12 +440,12 @@ func (rpc *rpcChat) SendMsg(_ context.Context, pb *pbChat.SendMsgReq) (*pbChat.S
} }
log.NewDebug(pb.OperationID, utils.GetSelfFuncName(), "callbackBeforeSendSingleMsg result", "end rpc and return", callbackResp) log.NewDebug(pb.OperationID, utils.GetSelfFuncName(), "callbackBeforeSendSingleMsg result", "end rpc and return", callbackResp)
promePkg.PromeInc(promePkg.GroupChatMsgProcessFailedCounter) promePkg.PromeInc(promePkg.GroupChatMsgProcessFailedCounter)
return returnMsg(&replay, pb, int32(callbackResp.ErrCode), callbackResp.ErrMsg, "", 0) return returnMsg(&replay, pb, int32(callbackResp.ErrCode), callbackResp.ErrMsg, "", 0, "")
} }
var memberUserIDList []string var memberUserIDList []string
if flag, errCode, errMsg, memberUserIDList = rpc.messageVerification(pb); !flag { if flag, errCode, errMsg, memberUserIDList = rpc.messageVerification(pb); !flag {
promePkg.PromeInc(promePkg.GroupChatMsgProcessFailedCounter) promePkg.PromeInc(promePkg.GroupChatMsgProcessFailedCounter)
return returnMsg(&replay, pb, errCode, errMsg, "", 0) return returnMsg(&replay, pb, errCode, errMsg, "", 0, "")
} }
log.Debug(pb.OperationID, "GetGroupAllMember userID list", memberUserIDList, "len: ", len(memberUserIDList)) log.Debug(pb.OperationID, "GetGroupAllMember userID list", memberUserIDList, "len: ", len(memberUserIDList))
var addUidList []string var addUidList []string
@ -509,7 +509,7 @@ func (rpc *rpcChat) SendMsg(_ context.Context, pb *pbChat.SendMsgReq) (*pbChat.S
if !sendTag { if !sendTag {
log.NewWarn(pb.OperationID, "send tag is ", sendTag) log.NewWarn(pb.OperationID, "send tag is ", sendTag)
promePkg.PromeInc(promePkg.GroupChatMsgProcessFailedCounter) promePkg.PromeInc(promePkg.GroupChatMsgProcessFailedCounter)
return returnMsg(&replay, pb, 201, "kafka send msg err", "", 0) return returnMsg(&replay, pb, 201, "kafka send msg err", "", 0, "")
} else { } else {
if pb.MsgData.ContentType == constant.AtText { if pb.MsgData.ContentType == constant.AtText {
go func() { go func() {
@ -574,7 +574,7 @@ func (rpc *rpcChat) SendMsg(_ context.Context, pb *pbChat.SendMsgReq) (*pbChat.S
} }
log.Debug(pb.OperationID, "send msg cost time3 ", time.Since(t1), pb.MsgData.ClientMsgID) log.Debug(pb.OperationID, "send msg cost time3 ", time.Since(t1), pb.MsgData.ClientMsgID)
promePkg.PromeInc(promePkg.GroupChatMsgProcessSuccessCounter) promePkg.PromeInc(promePkg.GroupChatMsgProcessSuccessCounter)
return returnMsg(&replay, pb, 0, "", msgToMQSingle.MsgData.ServerMsgID, msgToMQSingle.MsgData.SendTime) return returnMsg(&replay, pb, 0, "", msgToMQSingle.MsgData.ServerMsgID, msgToMQSingle.MsgData.SendTime, msgToMQSingle.MsgData.Ex)
} }
case constant.NotificationChatType: case constant.NotificationChatType:
t1 = time.Now() t1 = time.Now()
@ -583,19 +583,19 @@ func (rpc *rpcChat) SendMsg(_ context.Context, pb *pbChat.SendMsgReq) (*pbChat.S
err1 := rpc.sendMsgToWriter(&msgToMQSingle, msgToMQSingle.MsgData.RecvID, constant.OnlineStatus) err1 := rpc.sendMsgToWriter(&msgToMQSingle, msgToMQSingle.MsgData.RecvID, constant.OnlineStatus)
if err1 != nil { if err1 != nil {
log.NewError(msgToMQSingle.OperationID, "kafka send msg err:RecvID", msgToMQSingle.MsgData.RecvID, msgToMQSingle.String()) log.NewError(msgToMQSingle.OperationID, "kafka send msg err:RecvID", msgToMQSingle.MsgData.RecvID, msgToMQSingle.String())
return returnMsg(&replay, pb, 201, "kafka send msg err", "", 0) return returnMsg(&replay, pb, 201, "kafka send msg err", "", 0, "")
} }
if msgToMQSingle.MsgData.SendID != msgToMQSingle.MsgData.RecvID { //Filter messages sent to yourself if msgToMQSingle.MsgData.SendID != msgToMQSingle.MsgData.RecvID { //Filter messages sent to yourself
err2 := rpc.sendMsgToWriter(&msgToMQSingle, msgToMQSingle.MsgData.SendID, constant.OnlineStatus) err2 := rpc.sendMsgToWriter(&msgToMQSingle, msgToMQSingle.MsgData.SendID, constant.OnlineStatus)
if err2 != nil { if err2 != nil {
log.NewError(msgToMQSingle.OperationID, "kafka send msg err:SendID", msgToMQSingle.MsgData.SendID, msgToMQSingle.String()) log.NewError(msgToMQSingle.OperationID, "kafka send msg err:SendID", msgToMQSingle.MsgData.SendID, msgToMQSingle.String())
return returnMsg(&replay, pb, 201, "kafka send msg err", "", 0) return returnMsg(&replay, pb, 201, "kafka send msg err", "", 0, "")
} }
} }
log.Debug(pb.OperationID, "send msg cost time ", time.Since(t1), pb.MsgData.ClientMsgID) log.Debug(pb.OperationID, "send msg cost time ", time.Since(t1), pb.MsgData.ClientMsgID)
return returnMsg(&replay, pb, 0, "", msgToMQSingle.MsgData.ServerMsgID, msgToMQSingle.MsgData.SendTime) return returnMsg(&replay, pb, 0, "", msgToMQSingle.MsgData.ServerMsgID, msgToMQSingle.MsgData.SendTime, msgToMQSingle.MsgData.Ex)
case constant.SuperGroupChatType: case constant.SuperGroupChatType:
promePkg.PromeInc(promePkg.WorkSuperGroupChatMsgRecvSuccessCounter) promePkg.PromeInc(promePkg.WorkSuperGroupChatMsgRecvSuccessCounter)
// callback // callback
@ -609,11 +609,11 @@ func (rpc *rpcChat) SendMsg(_ context.Context, pb *pbChat.SendMsgReq) (*pbChat.S
} }
promePkg.PromeInc(promePkg.WorkSuperGroupChatMsgProcessFailedCounter) promePkg.PromeInc(promePkg.WorkSuperGroupChatMsgProcessFailedCounter)
log.NewDebug(pb.OperationID, utils.GetSelfFuncName(), "callbackBeforeSendSuperGroupMsg result", "end rpc and return", callbackResp) log.NewDebug(pb.OperationID, utils.GetSelfFuncName(), "callbackBeforeSendSuperGroupMsg result", "end rpc and return", callbackResp)
return returnMsg(&replay, pb, int32(callbackResp.ErrCode), callbackResp.ErrMsg, "", 0) return returnMsg(&replay, pb, int32(callbackResp.ErrCode), callbackResp.ErrMsg, "", 0, "")
} }
if flag, errCode, errMsg, _ = rpc.messageVerification(pb); !flag { if flag, errCode, errMsg, _ = rpc.messageVerification(pb); !flag {
promePkg.PromeInc(promePkg.WorkSuperGroupChatMsgProcessFailedCounter) promePkg.PromeInc(promePkg.WorkSuperGroupChatMsgProcessFailedCounter)
return returnMsg(&replay, pb, errCode, errMsg, "", 0) return returnMsg(&replay, pb, errCode, errMsg, "", 0, "")
} }
msgToMQSingle.MsgData = pb.MsgData msgToMQSingle.MsgData = pb.MsgData
log.NewInfo(msgToMQSingle.OperationID, msgToMQSingle) log.NewInfo(msgToMQSingle.OperationID, msgToMQSingle)
@ -621,7 +621,7 @@ func (rpc *rpcChat) SendMsg(_ context.Context, pb *pbChat.SendMsgReq) (*pbChat.S
if err1 != nil { if err1 != nil {
log.NewError(msgToMQSingle.OperationID, "kafka send msg err:RecvID", msgToMQSingle.MsgData.RecvID, msgToMQSingle.String()) log.NewError(msgToMQSingle.OperationID, "kafka send msg err:RecvID", msgToMQSingle.MsgData.RecvID, msgToMQSingle.String())
promePkg.PromeInc(promePkg.WorkSuperGroupChatMsgProcessFailedCounter) promePkg.PromeInc(promePkg.WorkSuperGroupChatMsgProcessFailedCounter)
return returnMsg(&replay, pb, 201, "kafka send msg err", "", 0) return returnMsg(&replay, pb, 201, "kafka send msg err", "", 0, "")
} }
// callback // callback
callbackResp = callbackAfterSendGroupMsg(pb) callbackResp = callbackAfterSendGroupMsg(pb)
@ -629,10 +629,10 @@ func (rpc *rpcChat) SendMsg(_ context.Context, pb *pbChat.SendMsgReq) (*pbChat.S
log.NewError(pb.OperationID, utils.GetSelfFuncName(), "callbackAfterSendSuperGroupMsg resp: ", callbackResp) log.NewError(pb.OperationID, utils.GetSelfFuncName(), "callbackAfterSendSuperGroupMsg resp: ", callbackResp)
} }
promePkg.PromeInc(promePkg.WorkSuperGroupChatMsgProcessSuccessCounter) promePkg.PromeInc(promePkg.WorkSuperGroupChatMsgProcessSuccessCounter)
return returnMsg(&replay, pb, 0, "", msgToMQSingle.MsgData.ServerMsgID, msgToMQSingle.MsgData.SendTime) return returnMsg(&replay, pb, 0, "", msgToMQSingle.MsgData.ServerMsgID, msgToMQSingle.MsgData.SendTime, msgToMQSingle.MsgData.Ex)
default: default:
return returnMsg(&replay, pb, 203, "unknown sessionType", "", 0) return returnMsg(&replay, pb, 203, "unknown sessionType", "", 0, "")
} }
} }
@ -676,12 +676,13 @@ func GetMsgID(sendID string) string {
return utils.Md5(t + "-" + sendID + "-" + strconv.Itoa(rand.Int())) return utils.Md5(t + "-" + sendID + "-" + strconv.Itoa(rand.Int()))
} }
func returnMsg(replay *pbChat.SendMsgResp, pb *pbChat.SendMsgReq, errCode int32, errMsg, serverMsgID string, sendTime int64) (*pbChat.SendMsgResp, error) { func returnMsg(replay *pbChat.SendMsgResp, pb *pbChat.SendMsgReq, errCode int32, errMsg, serverMsgID string, sendTime int64, ex string) (*pbChat.SendMsgResp, error) {
replay.ErrCode = errCode replay.ErrCode = errCode
replay.ErrMsg = errMsg replay.ErrMsg = errMsg
replay.ServerMsgID = serverMsgID replay.ServerMsgID = serverMsgID
replay.ClientMsgID = pb.MsgData.ClientMsgID replay.ClientMsgID = pb.MsgData.ClientMsgID
replay.SendTime = sendTime replay.SendTime = sendTime
replay.Ex = ex
return replay, nil return replay, nil
} }

@ -20,7 +20,6 @@ type Invitation struct {
Status int32 `gorm:"column:status"` Status int32 `gorm:"column:status"`
} }
//
// message FriendInfo{ // message FriendInfo{
// string OwnerUserID = 1; // string OwnerUserID = 1;
// string Remark = 2; // string Remark = 2;
@ -83,6 +82,7 @@ func (FriendRequest) TableName() string {
// string CreatorUserID = 11; // string CreatorUserID = 11;
// int32 GroupType = 12; // int32 GroupType = 12;
// } // }
//
// open_im_sdk.GroupInfo (OwnerUserID , MemberCount )> imdb.Group // open_im_sdk.GroupInfo (OwnerUserID , MemberCount )> imdb.Group
type Group struct { type Group struct {
//`json:"operationID" binding:"required"` //`json:"operationID" binding:"required"`

@ -38,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} }
func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) }
func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) ProtoMessage() {}
func (*MsgDataToMQ) Descriptor() ([]byte, []int) { func (*MsgDataToMQ) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{0} return fileDescriptor_msg_53ecdffb017d9c40, []int{0}
} }
func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b)
@ -91,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} }
func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) }
func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) ProtoMessage() {}
func (*MsgDataToDB) Descriptor() ([]byte, []int) { func (*MsgDataToDB) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{1} return fileDescriptor_msg_53ecdffb017d9c40, []int{1}
} }
func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b)
@ -138,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} }
func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) }
func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) ProtoMessage() {}
func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{2} return fileDescriptor_msg_53ecdffb017d9c40, []int{2}
} }
func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b)
@ -193,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} }
func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) }
func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) ProtoMessage() {}
func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{3} return fileDescriptor_msg_53ecdffb017d9c40, []int{3}
} }
func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b)
@ -256,7 +256,6 @@ func (m *MsgDataToMongoByMQ) GetTriggerID() string {
// repeated GatherFormat SingleUserMsg = 5; // repeated GatherFormat SingleUserMsg = 5;
// repeated GatherFormat GroupUserMsg = 6; // repeated GatherFormat GroupUserMsg = 6;
// } // }
//
// message PullMessageBySeqListReq{ // message PullMessageBySeqListReq{
// string UserID = 1; // string UserID = 1;
// string OperationID = 2; // string OperationID = 2;
@ -274,7 +273,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_msg_de22c4c4e5c699f1, []int{4} return fileDescriptor_msg_53ecdffb017d9c40, []int{4}
} }
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)
@ -322,7 +321,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_msg_de22c4c4e5c699f1, []int{5} return fileDescriptor_msg_53ecdffb017d9c40, []int{5}
} }
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)
@ -383,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} }
func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) }
func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) ProtoMessage() {}
func (*SendMsgReq) Descriptor() ([]byte, []int) { func (*SendMsgReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{6} return fileDescriptor_msg_53ecdffb017d9c40, []int{6}
} }
func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { func (m *SendMsgReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) return xxx_messageInfo_SendMsgReq.Unmarshal(m, b)
@ -430,6 +429,7 @@ type SendMsgResp struct {
ServerMsgID string `protobuf:"bytes,4,opt,name=serverMsgID" json:"serverMsgID,omitempty"` ServerMsgID string `protobuf:"bytes,4,opt,name=serverMsgID" json:"serverMsgID,omitempty"`
ClientMsgID string `protobuf:"bytes,5,opt,name=clientMsgID" json:"clientMsgID,omitempty"` ClientMsgID string `protobuf:"bytes,5,opt,name=clientMsgID" json:"clientMsgID,omitempty"`
SendTime int64 `protobuf:"varint,6,opt,name=sendTime" json:"sendTime,omitempty"` SendTime int64 `protobuf:"varint,6,opt,name=sendTime" json:"sendTime,omitempty"`
Ex string `protobuf:"bytes,7,opt,name=ex" json:"ex,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
@ -439,7 +439,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} }
func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) }
func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) ProtoMessage() {}
func (*SendMsgResp) Descriptor() ([]byte, []int) { func (*SendMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{7} return fileDescriptor_msg_53ecdffb017d9c40, []int{7}
} }
func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { func (m *SendMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) return xxx_messageInfo_SendMsgResp.Unmarshal(m, b)
@ -494,6 +494,13 @@ func (m *SendMsgResp) GetSendTime() int64 {
return 0 return 0
} }
func (m *SendMsgResp) GetEx() string {
if m != nil {
return m.Ex
}
return ""
}
type ClearMsgReq struct { type ClearMsgReq struct {
UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"`
OpUserID string `protobuf:"bytes,2,opt,name=opUserID" json:"opUserID,omitempty"` OpUserID string `protobuf:"bytes,2,opt,name=opUserID" json:"opUserID,omitempty"`
@ -507,7 +514,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} }
func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) }
func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) ProtoMessage() {}
func (*ClearMsgReq) Descriptor() ([]byte, []int) { func (*ClearMsgReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{8} return fileDescriptor_msg_53ecdffb017d9c40, []int{8}
} }
func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b)
@ -560,7 +567,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} }
func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) }
func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) ProtoMessage() {}
func (*ClearMsgResp) Descriptor() ([]byte, []int) { func (*ClearMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{9} return fileDescriptor_msg_53ecdffb017d9c40, []int{9}
} }
func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b)
@ -609,7 +616,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} }
func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) }
func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) ProtoMessage() {}
func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{10} return fileDescriptor_msg_53ecdffb017d9c40, []int{10}
} }
func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b)
@ -676,7 +683,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} }
func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) }
func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) ProtoMessage() {}
func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{11} return fileDescriptor_msg_53ecdffb017d9c40, []int{11}
} }
func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b)
@ -722,7 +729,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} }
func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) }
func (*SetSendMsgStatusReq) ProtoMessage() {} func (*SetSendMsgStatusReq) ProtoMessage() {}
func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) { func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{12} return fileDescriptor_msg_53ecdffb017d9c40, []int{12}
} }
func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b)
@ -768,7 +775,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} }
func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) }
func (*SetSendMsgStatusResp) ProtoMessage() {} func (*SetSendMsgStatusResp) ProtoMessage() {}
func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) { func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{13} return fileDescriptor_msg_53ecdffb017d9c40, []int{13}
} }
func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b)
@ -813,7 +820,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} }
func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) }
func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) ProtoMessage() {}
func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{14} return fileDescriptor_msg_53ecdffb017d9c40, []int{14}
} }
func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b)
@ -853,7 +860,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} }
func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) }
func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) ProtoMessage() {}
func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{15} return fileDescriptor_msg_53ecdffb017d9c40, []int{15}
} }
func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b)
@ -908,7 +915,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} }
func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) }
func (*DelSuperGroupMsgReq) ProtoMessage() {} func (*DelSuperGroupMsgReq) ProtoMessage() {}
func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{16} return fileDescriptor_msg_53ecdffb017d9c40, []int{16}
} }
func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b)
@ -968,7 +975,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} }
func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) }
func (*DelSuperGroupMsgResp) ProtoMessage() {} func (*DelSuperGroupMsgResp) ProtoMessage() {}
func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{17} return fileDescriptor_msg_53ecdffb017d9c40, []int{17}
} }
func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b)
@ -1015,7 +1022,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} }
func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) }
func (*GetSuperGroupMsgReq) ProtoMessage() {} func (*GetSuperGroupMsgReq) ProtoMessage() {}
func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) { func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{18} return fileDescriptor_msg_53ecdffb017d9c40, []int{18}
} }
func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b)
@ -1069,7 +1076,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} }
func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) }
func (*GetSuperGroupMsgResp) ProtoMessage() {} func (*GetSuperGroupMsgResp) ProtoMessage() {}
func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) { func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{19} return fileDescriptor_msg_53ecdffb017d9c40, []int{19}
} }
func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b)
@ -1122,7 +1129,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} }
func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) } func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) }
func (*GetWriteDiffMsgReq) ProtoMessage() {} func (*GetWriteDiffMsgReq) ProtoMessage() {}
func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) { func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{20} return fileDescriptor_msg_53ecdffb017d9c40, []int{20}
} }
func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b)
@ -1169,7 +1176,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} }
func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) } func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) }
func (*GetWriteDiffMsgResp) ProtoMessage() {} func (*GetWriteDiffMsgResp) ProtoMessage() {}
func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) { func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{21} return fileDescriptor_msg_53ecdffb017d9c40, []int{21}
} }
func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b)
@ -1231,7 +1238,7 @@ func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessag
func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) }
func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {} func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {}
func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{22} return fileDescriptor_msg_53ecdffb017d9c40, []int{22}
} }
func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b)
@ -1350,7 +1357,7 @@ func (m *SetMessageReactionExtensionsReq) Reset() { *m = SetMessageReact
func (m *SetMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (m *SetMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) }
func (*SetMessageReactionExtensionsReq) ProtoMessage() {} func (*SetMessageReactionExtensionsReq) ProtoMessage() {}
func (*SetMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { func (*SetMessageReactionExtensionsReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{23} return fileDescriptor_msg_53ecdffb017d9c40, []int{23}
} }
func (m *SetMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { func (m *SetMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetMessageReactionExtensionsReq.Unmarshal(m, b) return xxx_messageInfo_SetMessageReactionExtensionsReq.Unmarshal(m, b)
@ -1470,7 +1477,7 @@ func (m *SetMessageReactionExtensionsResp) Reset() { *m = SetMessageReac
func (m *SetMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (m *SetMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) }
func (*SetMessageReactionExtensionsResp) ProtoMessage() {} func (*SetMessageReactionExtensionsResp) ProtoMessage() {}
func (*SetMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { func (*SetMessageReactionExtensionsResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{24} return fileDescriptor_msg_53ecdffb017d9c40, []int{24}
} }
func (m *SetMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { func (m *SetMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetMessageReactionExtensionsResp.Unmarshal(m, b) return xxx_messageInfo_SetMessageReactionExtensionsResp.Unmarshal(m, b)
@ -1555,7 +1562,7 @@ func (m *AddMessageReactionExtensionsReq) Reset() { *m = AddMessageReact
func (m *AddMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (m *AddMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) }
func (*AddMessageReactionExtensionsReq) ProtoMessage() {} func (*AddMessageReactionExtensionsReq) ProtoMessage() {}
func (*AddMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { func (*AddMessageReactionExtensionsReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{25} return fileDescriptor_msg_53ecdffb017d9c40, []int{25}
} }
func (m *AddMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { func (m *AddMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AddMessageReactionExtensionsReq.Unmarshal(m, b) return xxx_messageInfo_AddMessageReactionExtensionsReq.Unmarshal(m, b)
@ -1682,7 +1689,7 @@ func (m *AddMessageReactionExtensionsResp) Reset() { *m = AddMessageReac
func (m *AddMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (m *AddMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) }
func (*AddMessageReactionExtensionsResp) ProtoMessage() {} func (*AddMessageReactionExtensionsResp) ProtoMessage() {}
func (*AddMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { func (*AddMessageReactionExtensionsResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{26} return fileDescriptor_msg_53ecdffb017d9c40, []int{26}
} }
func (m *AddMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { func (m *AddMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AddMessageReactionExtensionsResp.Unmarshal(m, b) return xxx_messageInfo_AddMessageReactionExtensionsResp.Unmarshal(m, b)
@ -1761,7 +1768,7 @@ func (m *GetMessageListReactionExtensionsReq) Reset() { *m = GetMessageL
func (m *GetMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (m *GetMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) }
func (*GetMessageListReactionExtensionsReq) ProtoMessage() {} func (*GetMessageListReactionExtensionsReq) ProtoMessage() {}
func (*GetMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { func (*GetMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{27} return fileDescriptor_msg_53ecdffb017d9c40, []int{27}
} }
func (m *GetMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { func (m *GetMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMessageListReactionExtensionsReq.Unmarshal(m, b) return xxx_messageInfo_GetMessageListReactionExtensionsReq.Unmarshal(m, b)
@ -1846,7 +1853,7 @@ func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) String() string
} }
func (*GetMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} func (*GetMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {}
func (*GetMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { func (*GetMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{27, 0} return fileDescriptor_msg_53ecdffb017d9c40, []int{27, 0}
} }
func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) return xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b)
@ -1893,7 +1900,7 @@ func (m *GetMessageListReactionExtensionsResp) Reset() { *m = GetMessage
func (m *GetMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (m *GetMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) }
func (*GetMessageListReactionExtensionsResp) ProtoMessage() {} func (*GetMessageListReactionExtensionsResp) ProtoMessage() {}
func (*GetMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { func (*GetMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{28} return fileDescriptor_msg_53ecdffb017d9c40, []int{28}
} }
func (m *GetMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { func (m *GetMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMessageListReactionExtensionsResp.Unmarshal(m, b) return xxx_messageInfo_GetMessageListReactionExtensionsResp.Unmarshal(m, b)
@ -1948,7 +1955,7 @@ func (m *SingleMessageExtensionResult) Reset() { *m = SingleMessageExten
func (m *SingleMessageExtensionResult) String() string { return proto.CompactTextString(m) } func (m *SingleMessageExtensionResult) String() string { return proto.CompactTextString(m) }
func (*SingleMessageExtensionResult) ProtoMessage() {} func (*SingleMessageExtensionResult) ProtoMessage() {}
func (*SingleMessageExtensionResult) Descriptor() ([]byte, []int) { func (*SingleMessageExtensionResult) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{29} return fileDescriptor_msg_53ecdffb017d9c40, []int{29}
} }
func (m *SingleMessageExtensionResult) XXX_Unmarshal(b []byte) error { func (m *SingleMessageExtensionResult) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SingleMessageExtensionResult.Unmarshal(m, b) return xxx_messageInfo_SingleMessageExtensionResult.Unmarshal(m, b)
@ -2010,7 +2017,7 @@ func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessa
func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) }
func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {} func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {}
func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{30} return fileDescriptor_msg_53ecdffb017d9c40, []int{30}
} }
func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b)
@ -2079,7 +2086,7 @@ func (m *DeleteMessageListReactionExtensionsReq) Reset() {
func (m *DeleteMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (m *DeleteMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) }
func (*DeleteMessageListReactionExtensionsReq) ProtoMessage() {} func (*DeleteMessageListReactionExtensionsReq) ProtoMessage() {}
func (*DeleteMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { func (*DeleteMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{31} return fileDescriptor_msg_53ecdffb017d9c40, []int{31}
} }
func (m *DeleteMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { func (m *DeleteMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteMessageListReactionExtensionsReq.Unmarshal(m, b) return xxx_messageInfo_DeleteMessageListReactionExtensionsReq.Unmarshal(m, b)
@ -2177,7 +2184,7 @@ func (m *DeleteMessageListReactionExtensionsResp) Reset() {
func (m *DeleteMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (m *DeleteMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) }
func (*DeleteMessageListReactionExtensionsResp) ProtoMessage() {} func (*DeleteMessageListReactionExtensionsResp) ProtoMessage() {}
func (*DeleteMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { func (*DeleteMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{32} return fileDescriptor_msg_53ecdffb017d9c40, []int{32}
} }
func (m *DeleteMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { func (m *DeleteMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteMessageListReactionExtensionsResp.Unmarshal(m, b) return xxx_messageInfo_DeleteMessageListReactionExtensionsResp.Unmarshal(m, b)
@ -2231,7 +2238,7 @@ func (m *ExtendMsgResp) Reset() { *m = ExtendMsgResp{} }
func (m *ExtendMsgResp) String() string { return proto.CompactTextString(m) } func (m *ExtendMsgResp) String() string { return proto.CompactTextString(m) }
func (*ExtendMsgResp) ProtoMessage() {} func (*ExtendMsgResp) ProtoMessage() {}
func (*ExtendMsgResp) Descriptor() ([]byte, []int) { func (*ExtendMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{33} return fileDescriptor_msg_53ecdffb017d9c40, []int{33}
} }
func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error { func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b) return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b)
@ -2287,7 +2294,7 @@ func (m *ExtendMsg) Reset() { *m = ExtendMsg{} }
func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } func (m *ExtendMsg) String() string { return proto.CompactTextString(m) }
func (*ExtendMsg) ProtoMessage() {} func (*ExtendMsg) ProtoMessage() {}
func (*ExtendMsg) Descriptor() ([]byte, []int) { func (*ExtendMsg) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{34} return fileDescriptor_msg_53ecdffb017d9c40, []int{34}
} }
func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { func (m *ExtendMsg) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) return xxx_messageInfo_ExtendMsg.Unmarshal(m, b)
@ -2355,7 +2362,7 @@ func (m *KeyValueResp) Reset() { *m = KeyValueResp{} }
func (m *KeyValueResp) String() string { return proto.CompactTextString(m) } func (m *KeyValueResp) String() string { return proto.CompactTextString(m) }
func (*KeyValueResp) ProtoMessage() {} func (*KeyValueResp) ProtoMessage() {}
func (*KeyValueResp) Descriptor() ([]byte, []int) { func (*KeyValueResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{35} return fileDescriptor_msg_53ecdffb017d9c40, []int{35}
} }
func (m *KeyValueResp) XXX_Unmarshal(b []byte) error { func (m *KeyValueResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KeyValueResp.Unmarshal(m, b) return xxx_messageInfo_KeyValueResp.Unmarshal(m, b)
@ -2409,7 +2416,7 @@ func (m *MsgDataToModifyByMQ) Reset() { *m = MsgDataToModifyByMQ{} }
func (m *MsgDataToModifyByMQ) String() string { return proto.CompactTextString(m) } func (m *MsgDataToModifyByMQ) String() string { return proto.CompactTextString(m) }
func (*MsgDataToModifyByMQ) ProtoMessage() {} func (*MsgDataToModifyByMQ) ProtoMessage() {}
func (*MsgDataToModifyByMQ) Descriptor() ([]byte, []int) { func (*MsgDataToModifyByMQ) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_de22c4c4e5c699f1, []int{36} return fileDescriptor_msg_53ecdffb017d9c40, []int{36}
} }
func (m *MsgDataToModifyByMQ) XXX_Unmarshal(b []byte) error { func (m *MsgDataToModifyByMQ) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgDataToModifyByMQ.Unmarshal(m, b) return xxx_messageInfo_MsgDataToModifyByMQ.Unmarshal(m, b)
@ -3032,120 +3039,120 @@ var _Msg_serviceDesc = grpc.ServiceDesc{
Metadata: "msg/msg.proto", Metadata: "msg/msg.proto",
} }
func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_de22c4c4e5c699f1) } func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_53ecdffb017d9c40) }
var fileDescriptor_msg_de22c4c4e5c699f1 = []byte{ var fileDescriptor_msg_53ecdffb017d9c40 = []byte{
// 1780 bytes of a gzipped FileDescriptorProto // 1785 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0x4f, 0x6f, 0xdb, 0xc8, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0x4f, 0x6f, 0xdb, 0xc8,
0x15, 0x07, 0x45, 0x4b, 0xb2, 0x9e, 0xec, 0xd8, 0x19, 0x3b, 0xae, 0xc2, 0x18, 0x88, 0xc2, 0xfc, 0x15, 0x07, 0x45, 0x53, 0xb2, 0x9e, 0xec, 0xb5, 0x77, 0xec, 0x75, 0xb5, 0x5c, 0x03, 0xd1, 0x72,
0x73, 0x9a, 0x44, 0x46, 0xdd, 0x02, 0x29, 0x9a, 0x02, 0x4d, 0x1c, 0xb9, 0x8a, 0x91, 0xaa, 0x8e, 0xb3, 0x1b, 0xa7, 0x49, 0x64, 0xd4, 0x2d, 0x90, 0xa2, 0x29, 0xd0, 0xc4, 0x91, 0xab, 0x18, 0xa9,
0x29, 0xb7, 0x05, 0xda, 0x83, 0xc3, 0x48, 0x23, 0x86, 0xb0, 0x44, 0xd2, 0x1c, 0x2a, 0xb6, 0xfa, 0xea, 0x98, 0x72, 0x5b, 0xa0, 0x3d, 0x38, 0x8c, 0x34, 0x62, 0x08, 0x4b, 0x24, 0xcd, 0xa1, 0x62,
0xef, 0x50, 0xa0, 0x7b, 0xcb, 0x61, 0x8f, 0x7b, 0xda, 0xdb, 0xde, 0xf2, 0x09, 0xf6, 0xb4, 0x1f, 0xab, 0xff, 0x0e, 0x05, 0xda, 0x5b, 0x0e, 0x3d, 0xf6, 0x0b, 0xf4, 0x16, 0xf4, 0x03, 0xf4, 0xd4,
0x20, 0xd8, 0xcb, 0x7e, 0x8b, 0xfd, 0x12, 0x8b, 0x99, 0xa1, 0xa4, 0xe1, 0x3f, 0x91, 0x96, 0x03, 0x0f, 0x10, 0xf4, 0xd2, 0x6f, 0xd1, 0x2f, 0x51, 0xcc, 0x0c, 0x29, 0x0d, 0xff, 0x89, 0xb4, 0x1c,
0x07, 0xd8, 0xdd, 0x9b, 0x66, 0xe6, 0xcd, 0x9b, 0xf7, 0x7b, 0xef, 0xf7, 0x66, 0x86, 0xf3, 0x04, 0x38, 0x40, 0xdb, 0x9b, 0x66, 0xe6, 0xcd, 0x9b, 0xf7, 0x7b, 0xef, 0xf7, 0x66, 0x86, 0xf3, 0x04,
0x8b, 0x7d, 0x62, 0x6c, 0xf6, 0x89, 0x51, 0x73, 0x5c, 0xdb, 0xb3, 0x91, 0xdc, 0x27, 0x86, 0xb2, 0xab, 0x23, 0x62, 0xee, 0x8e, 0x88, 0xd9, 0x74, 0x3d, 0xc7, 0x77, 0x90, 0x3c, 0x22, 0xa6, 0xba,
0xb1, 0xe7, 0x60, 0xeb, 0xe1, 0x6e, 0xf3, 0x61, 0x0b, 0xbb, 0x6f, 0xb1, 0xbb, 0xe9, 0x1c, 0x19, 0x73, 0xe4, 0x62, 0xfb, 0xc1, 0x61, 0xe7, 0x41, 0x17, 0x7b, 0x6f, 0xb0, 0xb7, 0xeb, 0x9e, 0x99,
0x9b, 0x6c, 0x78, 0x93, 0x74, 0x8e, 0x0e, 0x4f, 0xc8, 0xe6, 0x09, 0xe1, 0xe2, 0x4a, 0x2d, 0x55, 0xbb, 0x6c, 0x78, 0x97, 0xf4, 0xcf, 0x4e, 0x2f, 0xc8, 0xee, 0x05, 0xe1, 0xe2, 0x6a, 0x33, 0x57,
0xd2, 0xd5, 0x1d, 0x07, 0xbb, 0xbe, 0xbc, 0xfa, 0x2f, 0x28, 0x37, 0x89, 0x51, 0xd7, 0x3d, 0xfd, 0xd2, 0x33, 0x5c, 0x17, 0x7b, 0x81, 0xbc, 0xf6, 0x1b, 0xa8, 0x75, 0x88, 0xd9, 0x32, 0x7c, 0xe3,
0xc0, 0x6e, 0xee, 0xa3, 0x55, 0xc8, 0x7b, 0xf6, 0x11, 0xb6, 0x2a, 0x52, 0x55, 0xda, 0x28, 0x69, 0xc4, 0xe9, 0x1c, 0xa3, 0x4d, 0x50, 0x7c, 0xe7, 0x0c, 0xdb, 0x75, 0xa9, 0x21, 0xed, 0x54, 0x75,
0xbc, 0x81, 0xaa, 0x50, 0xb6, 0x1d, 0xec, 0xea, 0x9e, 0x69, 0x5b, 0xbb, 0xf5, 0x4a, 0x8e, 0x8d, 0xde, 0x40, 0x0d, 0xa8, 0x39, 0x2e, 0xf6, 0x0c, 0xdf, 0x72, 0xec, 0xc3, 0x56, 0xbd, 0xc4, 0xc6,
0x89, 0x5d, 0xe8, 0x37, 0x50, 0xec, 0x73, 0x35, 0x15, 0xb9, 0x2a, 0x6d, 0x94, 0xb7, 0x94, 0x1a, 0xc4, 0x2e, 0xf4, 0x3d, 0xa8, 0x8c, 0xb8, 0x9a, 0xba, 0xdc, 0x90, 0x76, 0x6a, 0x7b, 0x6a, 0x93,
0x61, 0x06, 0x1c, 0xea, 0x8e, 0x79, 0xe8, 0xe8, 0xae, 0xde, 0x27, 0x35, 0x7f, 0x21, 0x6d, 0x24, 0x30, 0x03, 0x4e, 0x0d, 0xd7, 0x3a, 0x75, 0x0d, 0xcf, 0x18, 0x91, 0x66, 0xb0, 0x90, 0x1e, 0x8a,
0xaa, 0x62, 0x61, 0xf1, 0xfa, 0xb6, 0xa8, 0x44, 0xca, 0xac, 0x24, 0xdd, 0x38, 0xf5, 0x9d, 0x04, 0x6a, 0x58, 0x58, 0xbc, 0xb5, 0x2f, 0x2a, 0x91, 0x0a, 0x2b, 0xc9, 0x37, 0x4e, 0x7b, 0x2b, 0xc1,
0x4b, 0x2f, 0x07, 0xe4, 0x8d, 0x08, 0xb4, 0x0a, 0xe5, 0x3d, 0x61, 0x16, 0x87, 0x2b, 0x76, 0x89, 0xda, 0x8b, 0x31, 0x79, 0x2d, 0x02, 0x6d, 0x40, 0xed, 0x48, 0x98, 0xc5, 0xe1, 0x8a, 0x5d, 0xa2,
0xd6, 0xe4, 0xb2, 0x5b, 0xa3, 0xc2, 0x82, 0x33, 0x20, 0x6f, 0x0e, 0xec, 0xbf, 0x10, 0xec, 0xee, 0x35, 0xa5, 0xe2, 0xd6, 0x68, 0xb0, 0xe2, 0x8e, 0xc9, 0xeb, 0x13, 0xe7, 0x67, 0x04, 0x7b, 0x87,
0xd6, 0x99, 0x37, 0x4a, 0x5a, 0xa0, 0x4f, 0xfd, 0x4a, 0x02, 0x34, 0xb1, 0xc5, 0xb6, 0x0c, 0x7b, 0x2d, 0xe6, 0x8d, 0xaa, 0x1e, 0xe9, 0xd3, 0xfe, 0x2a, 0x01, 0x9a, 0xd9, 0xe2, 0xd8, 0xa6, 0xb3,
0x7b, 0xd8, 0xdc, 0x47, 0x15, 0x28, 0xf6, 0x74, 0xe2, 0xb5, 0xf0, 0x31, 0x33, 0x67, 0x4e, 0x1b, 0x3f, 0xe9, 0x1c, 0xa3, 0x3a, 0x54, 0x86, 0x06, 0xf1, 0xbb, 0xf8, 0x9c, 0x99, 0xb3, 0xa4, 0x87,
0x35, 0xd1, 0x2d, 0x58, 0xd4, 0x0d, 0xc3, 0xc5, 0x46, 0x10, 0x64, 0xb0, 0x13, 0x6d, 0x41, 0xb9, 0x4d, 0x74, 0x1b, 0x56, 0x0d, 0xd3, 0xf4, 0xb0, 0x19, 0x05, 0x19, 0xed, 0x44, 0x7b, 0x50, 0x1b,
0x8f, 0x09, 0xd1, 0x0d, 0xfc, 0x27, 0x93, 0x78, 0x15, 0xb9, 0x2a, 0x6f, 0x94, 0xb7, 0x96, 0x6b, 0x61, 0x42, 0x0c, 0x13, 0xff, 0xc4, 0x22, 0x7e, 0x5d, 0x6e, 0xc8, 0x3b, 0xb5, 0xbd, 0xf5, 0x26,
0x94, 0x4a, 0x02, 0x72, 0x4d, 0x14, 0x42, 0xeb, 0x50, 0xf2, 0x5c, 0xd3, 0x30, 0x98, 0xad, 0x73, 0xa5, 0x92, 0x80, 0x5c, 0x17, 0x85, 0xd0, 0x36, 0x54, 0x7d, 0xcf, 0x32, 0x4d, 0x66, 0xeb, 0x12,
0x4c, 0xeb, 0xa4, 0x43, 0xfd, 0x33, 0xa0, 0x06, 0xf6, 0x9a, 0xfa, 0xe9, 0x53, 0xab, 0xd3, 0x34, 0xd3, 0x3a, 0xeb, 0xd0, 0x7e, 0x0a, 0xa8, 0x8d, 0xfd, 0x8e, 0x71, 0xf9, 0xc4, 0xee, 0x77, 0x2c,
0xad, 0x16, 0x3e, 0xd6, 0xf0, 0x31, 0x5a, 0x83, 0x82, 0x0f, 0x8e, 0x7b, 0xcd, 0x6f, 0x85, 0x5d, 0xbb, 0x8b, 0xcf, 0x75, 0x7c, 0x8e, 0xb6, 0xa0, 0x1c, 0x80, 0xe3, 0x5e, 0x0b, 0x5a, 0x71, 0x97,
0x9a, 0x8b, 0xb8, 0x54, 0x3d, 0x81, 0x95, 0x88, 0x3e, 0xe2, 0x50, 0xe0, 0x3b, 0xae, 0xfb, 0xcc, 0x96, 0x12, 0x2e, 0xd5, 0x2e, 0x60, 0x23, 0xa1, 0x8f, 0xb8, 0x14, 0xf8, 0x81, 0xe7, 0x3d, 0x75,
0xee, 0x60, 0xa6, 0x31, 0xaf, 0x8d, 0x9a, 0x74, 0xa9, 0x1d, 0xd7, 0x6d, 0x12, 0xc3, 0xd7, 0xe6, 0xfa, 0x98, 0x69, 0x54, 0xf4, 0xb0, 0x49, 0x97, 0x3a, 0xf0, 0xbc, 0x0e, 0x31, 0x03, 0x6d, 0x41,
0xb7, 0x68, 0x7f, 0x53, 0x3f, 0xa5, 0x9e, 0xa2, 0xfe, 0x5d, 0xd4, 0xfc, 0x16, 0xeb, 0x67, 0x7a, 0x8b, 0xf6, 0x77, 0x8c, 0x4b, 0xea, 0x29, 0xea, 0xdf, 0x55, 0x3d, 0x68, 0xb1, 0x7e, 0xa6, 0x97,
0x19, 0x16, 0xda, 0xcf, 0x5a, 0xea, 0x3f, 0x01, 0x5a, 0xd8, 0xea, 0x34, 0x89, 0x41, 0x01, 0x5c, 0x61, 0xa1, 0xfd, 0xac, 0xa5, 0xfd, 0x1a, 0xa0, 0x8b, 0xed, 0x7e, 0x87, 0x98, 0x14, 0xc0, 0xcd,
0x2c, 0xc9, 0xbf, 0x94, 0xa0, 0x3c, 0x5e, 0x9c, 0xa3, 0xc5, 0x41, 0xb4, 0x78, 0x82, 0x16, 0x07, 0x92, 0xfc, 0x6f, 0x12, 0xd4, 0xa6, 0x8b, 0x73, 0xb4, 0x38, 0x8a, 0x16, 0xcf, 0xd0, 0xe2, 0x08,
0xd0, 0xf2, 0x16, 0xb5, 0x8c, 0xaf, 0xd3, 0x24, 0xc6, 0x38, 0x4c, 0x62, 0x17, 0x95, 0x68, 0xf7, 0x5a, 0xde, 0xa2, 0x96, 0xf1, 0x75, 0x3a, 0xc4, 0x9c, 0x86, 0x49, 0xec, 0xa2, 0x12, 0xbd, 0xa1,
0x4c, 0x6c, 0x79, 0x5c, 0x22, 0xcf, 0x25, 0x84, 0x2e, 0xa4, 0xc0, 0x3c, 0xc1, 0x56, 0xe7, 0xc0, 0x85, 0x6d, 0x9f, 0x4b, 0x28, 0x5c, 0x42, 0xe8, 0x42, 0x2a, 0x2c, 0x13, 0x6c, 0xf7, 0x4f, 0xac,
0xec, 0xe3, 0x4a, 0xa1, 0x2a, 0x6d, 0xc8, 0xda, 0xb8, 0xad, 0xb6, 0xa1, 0xfc, 0xac, 0x87, 0x75, 0x11, 0xae, 0x97, 0x1b, 0xd2, 0x8e, 0xac, 0x4f, 0xdb, 0xe8, 0x13, 0x28, 0xe1, 0xcb, 0x7a, 0x85,
0xd7, 0x77, 0xcf, 0x1a, 0x14, 0x06, 0x81, 0xf8, 0xf2, 0x16, 0x55, 0x61, 0x3b, 0x7e, 0xe4, 0xb9, 0x4d, 0x2a, 0xe1, 0x4b, 0xad, 0x07, 0xb5, 0xa7, 0x43, 0x6c, 0x78, 0x81, 0xbb, 0xb6, 0xa0, 0x3c,
0x81, 0xe3, 0x76, 0xd8, 0x79, 0x72, 0x34, 0x09, 0x9f, 0xc0, 0xc2, 0x64, 0x91, 0x59, 0xdc, 0xa0, 0x8e, 0xc4, 0x9b, 0xb7, 0xa8, 0x4a, 0xc7, 0x0d, 0x98, 0xc0, 0x0d, 0x9e, 0xb6, 0xe3, 0xce, 0x94,
0x7e, 0x21, 0xc1, 0x52, 0x0b, 0x53, 0x3c, 0x01, 0x2e, 0xc6, 0xda, 0x5a, 0x81, 0xa2, 0xe1, 0xda, 0x93, 0x49, 0xf9, 0x18, 0x56, 0x66, 0x8b, 0x2c, 0xe2, 0x16, 0xed, 0x2f, 0x12, 0xac, 0x75, 0x31,
0x03, 0x67, 0x6c, 0xea, 0xa8, 0x49, 0x67, 0xf4, 0x39, 0x45, 0x7c, 0xea, 0xf0, 0x56, 0x18, 0xc1, 0xc5, 0x17, 0xe1, 0x66, 0xaa, 0xad, 0x75, 0xa8, 0x98, 0x9e, 0x33, 0x76, 0xa7, 0xa6, 0x86, 0x4d,
0x5c, 0x34, 0xfc, 0x22, 0xfe, 0x7c, 0x10, 0xbf, 0x5a, 0x87, 0xe5, 0xa0, 0x69, 0x33, 0x21, 0xdc, 0x3a, 0x63, 0xc4, 0x29, 0x13, 0x50, 0x89, 0xb7, 0xe2, 0x08, 0x96, 0x92, 0x74, 0x10, 0xf1, 0x2b,
0x83, 0x95, 0x16, 0xf6, 0x7c, 0xb2, 0xb4, 0x3c, 0xdd, 0x1b, 0x10, 0x2d, 0x6a, 0x9a, 0x14, 0x35, 0x51, 0xfc, 0x5a, 0x0b, 0xd6, 0xa3, 0xa6, 0x2d, 0x84, 0xf0, 0x08, 0x36, 0xba, 0xd8, 0x0f, 0xc8,
0x6d, 0x0d, 0x0a, 0x84, 0x89, 0x33, 0x85, 0x79, 0xcd, 0x6f, 0xa9, 0xcf, 0x61, 0x35, 0xaa, 0x70, 0xd3, 0xf5, 0x0d, 0x7f, 0x4c, 0xf4, 0xa4, 0x69, 0x52, 0xd2, 0xb4, 0x2d, 0x28, 0x13, 0x26, 0xce,
0x26, 0xd3, 0x1e, 0xb1, 0xd4, 0x3d, 0xbb, 0x69, 0xea, 0x2b, 0x58, 0x6d, 0x7c, 0x14, 0x13, 0x04, 0x14, 0x2a, 0x7a, 0xd0, 0xd2, 0x9e, 0xc1, 0x66, 0x52, 0xe1, 0x42, 0xa6, 0x3d, 0x64, 0xa9, 0x7c,
0x90, 0x72, 0x00, 0xe4, 0xff, 0x25, 0x58, 0xa9, 0xe3, 0x5e, 0x6b, 0xe0, 0x60, 0xb7, 0x41, 0xa3, 0x75, 0xd3, 0xb4, 0x97, 0xb0, 0xd9, 0xfe, 0x20, 0x26, 0x08, 0x20, 0xe5, 0x08, 0xc8, 0x3f, 0x4a,
0xec, 0xf3, 0x58, 0x8c, 0x97, 0x14, 0xe2, 0xeb, 0x84, 0x37, 0xb9, 0x24, 0xde, 0xc8, 0x41, 0xde, 0xb0, 0xd1, 0xc2, 0xc3, 0xee, 0xd8, 0xc5, 0x5e, 0x9b, 0x46, 0x39, 0xe0, 0xb1, 0x18, 0x2f, 0x29,
0xa4, 0xf2, 0x83, 0x3a, 0x3b, 0x6a, 0xc6, 0x4c, 0xce, 0x6e, 0x73, 0x67, 0x87, 0x01, 0xa5, 0xf3, 0xc6, 0xd7, 0x19, 0x6f, 0x4a, 0x59, 0xbc, 0x91, 0xa3, 0xbc, 0xc9, 0xe5, 0x07, 0x75, 0x76, 0xd2,
0x60, 0x19, 0x64, 0xca, 0xec, 0x1c, 0x63, 0x36, 0xfd, 0x99, 0x0c, 0x48, 0xfd, 0x2f, 0x0f, 0xcc, 0x8c, 0x85, 0x9c, 0xdd, 0xe3, 0xce, 0x8e, 0x03, 0xca, 0xe7, 0xc1, 0x3a, 0xc8, 0x94, 0xd9, 0x25,
0xf9, 0xcd, 0x9d, 0x71, 0x5f, 0x7c, 0xce, 0x0e, 0x97, 0xbf, 0xb9, 0xa6, 0x87, 0xeb, 0x66, 0xb7, 0xc6, 0x6c, 0xfa, 0x33, 0x1b, 0x90, 0xf6, 0x7b, 0x1e, 0x98, 0xeb, 0x9b, 0xbb, 0xe0, 0x3e, 0xf9,
0x3b, 0x3b, 0x46, 0xf5, 0x3f, 0xcc, 0x5d, 0x41, 0x4d, 0x17, 0x08, 0xe4, 0xf3, 0x3c, 0xa8, 0x4d, 0x8c, 0x1d, 0x36, 0xbf, 0xf0, 0x2c, 0x1f, 0xb7, 0xac, 0xc1, 0x60, 0x71, 0x8c, 0xda, 0xef, 0x98,
0xbb, 0x63, 0x76, 0x87, 0x4d, 0x7e, 0xb2, 0x6a, 0x58, 0x6f, 0x53, 0x63, 0x77, 0x4e, 0x3d, 0x6c, 0xbb, 0xa2, 0x9a, 0x6e, 0x10, 0xc8, 0x9f, 0x15, 0xd0, 0x3a, 0x4e, 0xdf, 0x1a, 0x4c, 0x3a, 0xfc,
0x11, 0xd3, 0xb6, 0x32, 0x66, 0x31, 0xdd, 0xa3, 0xed, 0x81, 0xdb, 0xc6, 0x93, 0x0d, 0x76, 0xd4, 0xa4, 0xd5, 0xb1, 0xd1, 0xa3, 0xc6, 0x1e, 0x5c, 0xfa, 0xd8, 0x26, 0x96, 0x63, 0x17, 0xcc, 0x62,
0x0e, 0x90, 0x59, 0x8e, 0x6e, 0xbe, 0x04, 0x13, 0xba, 0xd0, 0xc1, 0xd0, 0xc1, 0x8c, 0x9a, 0x79, 0xba, 0x67, 0x3b, 0x63, 0xaf, 0x87, 0x67, 0x1b, 0x6c, 0xd8, 0x8e, 0x90, 0x59, 0x4e, 0x6e, 0xbe,
0x4d, 0xec, 0x42, 0xa7, 0x70, 0xc5, 0x0d, 0x1b, 0xc5, 0x2e, 0x09, 0x79, 0x76, 0x49, 0xd8, 0xe6, 0x04, 0x13, 0xba, 0xd0, 0xc9, 0xc4, 0xc5, 0x8c, 0x9a, 0x8a, 0x2e, 0x76, 0xa1, 0x4b, 0xf8, 0xcc,
0x97, 0x84, 0x54, 0x0c, 0x35, 0x2d, 0x4e, 0xc9, 0x8e, 0xe5, 0xb9, 0x43, 0x2d, 0x7e, 0x81, 0xf0, 0x8b, 0x1b, 0xc5, 0x2e, 0x0d, 0x0a, 0xbb, 0x34, 0xec, 0xf3, 0x4b, 0x43, 0x2e, 0x86, 0xa6, 0x9e,
0xc9, 0x54, 0x88, 0x9e, 0x4c, 0x0f, 0x20, 0x87, 0x4f, 0x2b, 0x45, 0xe6, 0xef, 0xf5, 0x9a, 0x61, 0xa6, 0xe4, 0xc0, 0xf6, 0xbd, 0x89, 0x9e, 0xbe, 0x40, 0xfc, 0xa4, 0x2a, 0x27, 0x4f, 0xaa, 0xfb,
0xdb, 0x46, 0x0f, 0xf3, 0xcb, 0xe9, 0xeb, 0x41, 0xb7, 0xd6, 0xf2, 0x5c, 0xd3, 0x32, 0xfe, 0xaa, 0xd3, 0xd3, 0xa8, 0xb6, 0xb7, 0xdd, 0x34, 0x1d, 0xc7, 0x1c, 0x62, 0x7e, 0x59, 0x7d, 0x35, 0x1e,
0xf7, 0x06, 0x58, 0xcb, 0xe1, 0x53, 0xf4, 0x04, 0x16, 0x74, 0xcf, 0xd3, 0xdb, 0x6f, 0x70, 0x67, 0x34, 0xbb, 0xbe, 0x67, 0xd9, 0xe6, 0xcf, 0x8d, 0xe1, 0x18, 0xd3, 0xb3, 0x0a, 0x3d, 0x86, 0x15,
0xd7, 0xea, 0xda, 0x95, 0xf9, 0x0c, 0xf3, 0x02, 0x33, 0x28, 0x2d, 0x4c, 0xc2, 0x80, 0x54, 0x4a, 0xc3, 0xf7, 0x8d, 0xde, 0x6b, 0xdc, 0x3f, 0xb4, 0x07, 0x4e, 0x7d, 0xb9, 0xc0, 0xbc, 0xc8, 0x0c,
0x55, 0x69, 0x63, 0x5e, 0x1b, 0x35, 0xd1, 0x16, 0xac, 0x9a, 0x84, 0x9a, 0xef, 0x5a, 0x7a, 0x6f, 0x4a, 0x0b, 0x8b, 0x30, 0x20, 0xf5, 0x6a, 0x43, 0xda, 0x59, 0xd6, 0xc3, 0x26, 0xda, 0x83, 0x4d,
0x02, 0xbc, 0x02, 0x4c, 0x2c, 0x76, 0x0c, 0xd5, 0x00, 0xf5, 0x89, 0xf1, 0x47, 0xd3, 0x25, 0x1e, 0x8b, 0x50, 0xf3, 0x3d, 0xdb, 0x18, 0xce, 0x80, 0xd7, 0x81, 0x89, 0xa5, 0x8e, 0xa1, 0x26, 0xa0,
0xf7, 0x1f, 0x3b, 0x61, 0xcb, 0xec, 0x84, 0x8d, 0x19, 0x51, 0x30, 0x28, 0xc9, 0x4e, 0xa4, 0xdc, 0x11, 0x31, 0x7f, 0x6c, 0x79, 0xc4, 0xe7, 0xfe, 0x63, 0x27, 0x6e, 0x8d, 0x9d, 0xb8, 0x29, 0x23,
0x3e, 0xc2, 0x43, 0x9f, 0x1b, 0xf4, 0x27, 0xfa, 0x15, 0xe4, 0xdf, 0x52, 0x10, 0xfe, 0x1d, 0xf4, 0x2a, 0x06, 0x35, 0xdb, 0x89, 0x94, 0xdb, 0x67, 0x78, 0x12, 0x70, 0x83, 0xfe, 0x44, 0xdf, 0x01,
0x5a, 0x0c, 0x21, 0x5f, 0xe0, 0x21, 0xc7, 0xc9, 0x25, 0x7f, 0x97, 0xfb, 0xad, 0xa4, 0x7e, 0x9d, 0xe5, 0x0d, 0x05, 0x11, 0xdc, 0x49, 0xbf, 0x48, 0x21, 0xe4, 0x73, 0x3c, 0xe1, 0x38, 0xb9, 0xe4,
0x87, 0xeb, 0xf4, 0x40, 0xfa, 0x34, 0x84, 0xac, 0x01, 0x1a, 0xfd, 0x7e, 0xd9, 0xd3, 0xbd, 0xae, 0x0f, 0x4a, 0xdf, 0x97, 0xb4, 0xbf, 0x2b, 0x70, 0x8b, 0x1e, 0x48, 0x1f, 0x87, 0x90, 0x4d, 0x40,
0xed, 0xf6, 0xfd, 0x2d, 0x33, 0xaf, 0xc5, 0x8c, 0x84, 0x09, 0x9c, 0x8f, 0x12, 0x78, 0x90, 0x44, 0xe1, 0xef, 0x17, 0x43, 0xc3, 0x1f, 0x38, 0xde, 0x28, 0xd8, 0x32, 0x15, 0x3d, 0x65, 0x24, 0x4e,
0xe0, 0x02, 0x23, 0xf0, 0x1f, 0x18, 0x81, 0x53, 0x00, 0x9f, 0x9f, 0xbd, 0xc5, 0x24, 0xf6, 0xce, 0x60, 0x25, 0x49, 0xe0, 0x71, 0x16, 0x81, 0xcb, 0x8c, 0xc0, 0x3f, 0x62, 0x04, 0xce, 0x01, 0x7c,
0xcf, 0xc8, 0xde, 0xd2, 0x79, 0xd8, 0x0b, 0xd9, 0xd8, 0x5b, 0x3e, 0x33, 0x7b, 0x17, 0x3e, 0x35, 0x7d, 0xf6, 0x56, 0xb2, 0xd8, 0xbb, 0xbc, 0x20, 0x7b, 0xab, 0xd7, 0x61, 0x2f, 0x14, 0x63, 0x6f,
0x7b, 0xbf, 0x97, 0xa0, 0x3a, 0x3d, 0x98, 0xb3, 0xde, 0xa3, 0xc5, 0x68, 0xca, 0xd1, 0x68, 0xc6, 0xed, 0xca, 0xec, 0x5d, 0xf9, 0xd8, 0xec, 0xfd, 0xb7, 0x04, 0x8d, 0xf9, 0xc1, 0x5c, 0xf4, 0x5e,
0xfb, 0x63, 0x2e, 0xc9, 0x1f, 0x62, 0x34, 0xf2, 0xc1, 0x68, 0xdc, 0x83, 0x82, 0x8b, 0xc9, 0xa0, 0x2d, 0x46, 0x53, 0x4e, 0x46, 0x33, 0xdd, 0x1f, 0x4b, 0x59, 0xfe, 0x10, 0xa3, 0xa1, 0x44, 0xa3,
0x37, 0x62, 0xe8, 0x65, 0xc6, 0xd0, 0x31, 0x58, 0x4c, 0x1c, 0xcd, 0x17, 0x50, 0x3f, 0xe4, 0xe1, 0x71, 0x17, 0xca, 0x1e, 0x26, 0xe3, 0x61, 0xc8, 0xd0, 0x4f, 0x19, 0x43, 0xa7, 0x60, 0x31, 0x71,
0xfa, 0xd3, 0x4e, 0xe7, 0xa7, 0x95, 0xab, 0x29, 0x80, 0x7f, 0xce, 0xd5, 0xf3, 0xe6, 0x2a, 0xcd, 0xf5, 0x40, 0x40, 0x7b, 0xaf, 0xc0, 0xad, 0x27, 0xfd, 0xfe, 0xff, 0x56, 0xae, 0xe6, 0x00, 0xfe,
0x46, 0x82, 0x8f, 0x2b, 0x8b, 0xfc, 0x9e, 0x44, 0xf0, 0xf1, 0x45, 0x66, 0xef, 0xf4, 0xf0, 0xfe, 0x7f, 0xae, 0x5e, 0x37, 0x57, 0x69, 0x36, 0x12, 0x7c, 0x5e, 0x5f, 0xe5, 0xf7, 0x24, 0x82, 0xcf,
0x98, 0xb2, 0xf7, 0x3b, 0x19, 0x6e, 0x36, 0xc6, 0x7b, 0x15, 0x75, 0xe7, 0x39, 0x32, 0x38, 0xf1, 0x6f, 0x32, 0x7b, 0xe7, 0x87, 0xf7, 0xbf, 0x29, 0x7b, 0xff, 0x25, 0xc3, 0x57, 0xed, 0xe9, 0x5e,
0xfb, 0x5a, 0xcc, 0x6e, 0x39, 0x94, 0xdd, 0xe9, 0xd7, 0xbf, 0x24, 0xba, 0xe5, 0xa7, 0xd0, 0xad, 0x45, 0xdd, 0x79, 0x8d, 0x0c, 0xce, 0xfc, 0xbe, 0x16, 0xb3, 0x5b, 0x8e, 0x65, 0x77, 0xfe, 0xf5,
0x0a, 0x65, 0x6f, 0xe8, 0xe0, 0x17, 0x78, 0x38, 0xce, 0xdd, 0x92, 0x26, 0x76, 0x21, 0x02, 0x6b, 0x2f, 0x8b, 0x6e, 0xca, 0x1c, 0xba, 0x35, 0xa0, 0xe6, 0x4f, 0x5c, 0xfc, 0x1c, 0x4f, 0xa6, 0xb9,
0xfd, 0x60, 0x8c, 0x47, 0xc2, 0x45, 0xe6, 0xb4, 0xc7, 0xcc, 0x69, 0x19, 0x7c, 0x53, 0x6b, 0x46, 0x5b, 0xd5, 0xc5, 0x2e, 0x44, 0x60, 0x6b, 0x14, 0x8d, 0x71, 0x28, 0x5c, 0x61, 0x4e, 0x7b, 0xc4,
0xd4, 0x68, 0x09, 0xaa, 0x95, 0x2e, 0xa0, 0xa8, 0x74, 0x98, 0x1b, 0x52, 0x56, 0x6e, 0xe4, 0x92, 0x9c, 0x56, 0xc0, 0x37, 0xcd, 0x4e, 0x42, 0x8d, 0x9e, 0xa1, 0x5a, 0x1d, 0x00, 0x4a, 0x4a, 0xc7,
0xb8, 0xa1, 0xbe, 0x97, 0xe0, 0x56, 0xba, 0xe9, 0x33, 0x11, 0xb9, 0x05, 0x2b, 0xc4, 0xb4, 0x8c, 0xb9, 0x21, 0x15, 0xe5, 0x46, 0x29, 0x8b, 0x1b, 0xda, 0x3b, 0x09, 0x6e, 0xe7, 0x9b, 0xbe, 0x10,
0x1e, 0x1e, 0x03, 0x61, 0x4c, 0xe3, 0xef, 0x75, 0x37, 0xf8, 0x4d, 0x46, 0x1c, 0x1f, 0x2f, 0xc8, 0x91, 0xbb, 0xb0, 0x41, 0x2c, 0xdb, 0x1c, 0xe2, 0x29, 0x10, 0xc6, 0x34, 0xfe, 0x7e, 0xf7, 0x25,
0x05, 0xb5, 0xb8, 0xd9, 0xea, 0x87, 0x1c, 0xac, 0x4f, 0x9b, 0x35, 0x83, 0x9d, 0x6e, 0xd2, 0x3e, 0xbf, 0xc9, 0x88, 0xe3, 0xd3, 0x05, 0xb9, 0xa0, 0x9e, 0x36, 0x5b, 0x7b, 0x5f, 0x82, 0xed, 0x79,
0xce, 0x2d, 0xfd, 0x7d, 0xaa, 0xa5, 0xe7, 0xdf, 0xc4, 0xe7, 0x22, 0x81, 0xbc, 0xa8, 0x4d, 0xec, 0xb3, 0x16, 0xb0, 0xd3, 0xcb, 0xda, 0xc7, 0xb9, 0xa5, 0x3f, 0xcc, 0xb5, 0xf4, 0xfa, 0x9b, 0xf8,
0x1b, 0x09, 0x6e, 0xa6, 0x7e, 0x10, 0xcd, 0xf8, 0x91, 0x59, 0x26, 0x83, 0x76, 0x1b, 0x13, 0x22, 0x52, 0x22, 0x90, 0x37, 0xb5, 0x89, 0xfd, 0x43, 0x82, 0xaf, 0x72, 0x3f, 0x88, 0x16, 0xfc, 0xc8,
0x38, 0x13, 0x31, 0x67, 0x32, 0xdd, 0xa3, 0x87, 0x42, 0x4d, 0x14, 0x43, 0x5b, 0x00, 0x5d, 0xdd, 0xac, 0x91, 0x71, 0xaf, 0x87, 0x09, 0x11, 0x9c, 0x89, 0x98, 0x33, 0x99, 0xee, 0xf0, 0xe1, 0x50,
0xec, 0xe1, 0x0e, 0x9b, 0x34, 0x97, 0x38, 0x49, 0x90, 0x52, 0xdf, 0xcb, 0x70, 0xa7, 0x8e, 0x7b, 0x17, 0xc5, 0xd0, 0x1e, 0xc0, 0xc0, 0xb0, 0x86, 0xb8, 0xcf, 0x26, 0x2d, 0x65, 0x4e, 0x12, 0xa4,
0xd8, 0xc3, 0x9f, 0x70, 0x77, 0xfa, 0xf8, 0xf7, 0x8b, 0xf4, 0x4f, 0xca, 0xa4, 0xfd, 0xae, 0x78, 0xb4, 0x77, 0x32, 0x7c, 0xd3, 0xc2, 0x43, 0xec, 0xe3, 0x8f, 0xb8, 0x3b, 0x7d, 0xf8, 0xfb, 0x45,
0xe6, 0xe3, 0x75, 0x3e, 0xf1, 0xf0, 0xd8, 0x4f, 0xca, 0x8e, 0x12, 0x8b, 0xcd, 0x54, 0x9e, 0xc5, 0xfe, 0x27, 0x65, 0xd6, 0x7e, 0x57, 0xb9, 0xf2, 0xf1, 0xba, 0x9c, 0x79, 0x78, 0x1c, 0x67, 0x65,
0xcf, 0x54, 0x3f, 0x93, 0xe0, 0x6e, 0xa6, 0x78, 0xcd, 0xc4, 0xbb, 0x33, 0x9c, 0x69, 0x36, 0x2c, 0x47, 0x95, 0xc5, 0x66, 0x2e, 0xcf, 0xd2, 0x67, 0x6a, 0x7f, 0x92, 0xe0, 0x4e, 0xa1, 0x78, 0x2d,
0x06, 0x58, 0x85, 0x1e, 0x40, 0x09, 0x8f, 0x3a, 0xfc, 0xda, 0xcc, 0xa5, 0x10, 0xf9, 0x26, 0x02, 0xc4, 0xbb, 0x2b, 0x9c, 0x69, 0x0e, 0xac, 0x46, 0x58, 0x85, 0xee, 0x43, 0x15, 0x87, 0x1d, 0x41,
0xa2, 0x6d, 0xb9, 0x24, 0xdb, 0xe4, 0xc0, 0x83, 0xd7, 0xb7, 0x39, 0x28, 0x8d, 0x55, 0xa1, 0xc3, 0xad, 0xe6, 0x93, 0x18, 0xf9, 0x66, 0x02, 0xa2, 0x6d, 0xa5, 0x2c, 0xdb, 0xe4, 0xc8, 0x83, 0xd7,
0x24, 0xd7, 0x4a, 0xcc, 0xf0, 0x7b, 0xc1, 0x95, 0xcf, 0xbf, 0xcb, 0xe4, 0xb2, 0x1e, 0x17, 0x72, 0x3f, 0x4b, 0x50, 0x9d, 0xaa, 0x42, 0xa7, 0x59, 0xae, 0x95, 0x98, 0xe1, 0x77, 0xa3, 0x2b, 0x5f,
0x22, 0x1b, 0xd4, 0xd0, 0x65, 0x91, 0x6f, 0x5c, 0xc1, 0xeb, 0xe0, 0x25, 0x76, 0xfd, 0xe4, 0x2f, 0x7f, 0x97, 0x29, 0x15, 0x3d, 0x2e, 0xe4, 0x4c, 0x36, 0x68, 0xb1, 0xcb, 0x22, 0xdf, 0xb8, 0xa2,
0xc7, 0x39, 0x7c, 0xaa, 0xfc, 0xe3, 0x8c, 0x3b, 0xd9, 0xdd, 0xe0, 0x4e, 0x16, 0x13, 0x3f, 0x61, 0xd7, 0x41, 0xfe, 0xec, 0xae, 0x84, 0xcf, 0xee, 0xea, 0xaf, 0xae, 0xb8, 0x93, 0xdd, 0x89, 0xee,
0xff, 0x1a, 0xc2, 0x82, 0x38, 0x84, 0x1e, 0xc1, 0xfc, 0x91, 0xdf, 0xf6, 0x03, 0x38, 0x95, 0xa1, 0x64, 0x29, 0xf1, 0x13, 0xf6, 0xaf, 0x09, 0xac, 0x88, 0x43, 0xe8, 0x21, 0x2c, 0x9f, 0x05, 0xed,
0x63, 0xe1, 0x19, 0x82, 0xf9, 0x4e, 0x82, 0x15, 0xa1, 0xbc, 0x45, 0x7d, 0xc4, 0xea, 0x5b, 0x91, 0x20, 0x80, 0x73, 0x19, 0x3a, 0x15, 0x5e, 0x20, 0x98, 0x6f, 0x25, 0xd8, 0x10, 0xca, 0x5d, 0xd4,
0x2a, 0x96, 0x94, 0xa1, 0x8a, 0x95, 0x3b, 0x73, 0x15, 0x4b, 0x0e, 0x55, 0xb1, 0xb6, 0xfe, 0x07, 0x47, 0xac, 0xde, 0x95, 0xa8, 0x6a, 0x49, 0x05, 0xaa, 0x5a, 0xa5, 0x2b, 0x57, 0xb5, 0xe4, 0x58,
0x20, 0xf7, 0x89, 0x81, 0x5e, 0xc1, 0x52, 0xa8, 0xfa, 0x84, 0x6e, 0xc7, 0xf8, 0x20, 0x5a, 0xf1, 0x55, 0x6b, 0xef, 0x0f, 0x00, 0xf2, 0x88, 0x98, 0xe8, 0x25, 0xac, 0xc5, 0xaa, 0x51, 0xe8, 0xeb,
0x52, 0xee, 0x64, 0x11, 0x23, 0x0e, 0xb2, 0x61, 0xf5, 0xe5, 0xa0, 0xd7, 0xf3, 0xb3, 0x77, 0x7b, 0x14, 0x1f, 0x24, 0x2b, 0x60, 0xea, 0x37, 0x45, 0xc4, 0x88, 0x8b, 0x1c, 0xd8, 0x7c, 0x31, 0x1e,
0xd8, 0xc2, 0xc7, 0xcc, 0xbe, 0x5f, 0xc6, 0xcc, 0x8f, 0x13, 0xa4, 0x6b, 0xdd, 0xcf, 0x2c, 0xcb, 0x0e, 0x83, 0xec, 0xdd, 0x9f, 0x74, 0xf1, 0x39, 0xb3, 0xef, 0xdb, 0x29, 0xf3, 0xd3, 0x04, 0xe9,
0xf2, 0xb2, 0xe8, 0xbf, 0xac, 0xa3, 0x25, 0xff, 0x09, 0x64, 0x54, 0xe5, 0x52, 0x96, 0x83, 0x1d, 0x5a, 0xf7, 0x0a, 0xcb, 0xb2, 0xbc, 0xac, 0x04, 0x2f, 0xeb, 0x68, 0x2d, 0x78, 0x02, 0x09, 0xab,
0xc4, 0x41, 0xfb, 0x00, 0x75, 0xdc, 0x6b, 0x12, 0x83, 0x27, 0x41, 0xcc, 0x42, 0x93, 0x61, 0xaa, 0x5e, 0xea, 0x7a, 0xb4, 0x83, 0xb8, 0xe8, 0x18, 0xa0, 0x85, 0x87, 0x1d, 0x62, 0xf2, 0x24, 0x48,
0xe1, 0x46, 0x8a, 0x04, 0x71, 0x50, 0x03, 0x96, 0xc3, 0x6f, 0xde, 0xa8, 0xc2, 0x16, 0x8e, 0x79, 0x59, 0x68, 0x36, 0x4c, 0x35, 0x7c, 0x99, 0x23, 0x41, 0x5c, 0xd4, 0x86, 0xf5, 0xf8, 0x9b, 0x37,
0x91, 0x57, 0xae, 0x26, 0x8c, 0x10, 0x07, 0x6d, 0xc2, 0xfc, 0xa8, 0x3c, 0x84, 0xb8, 0xe5, 0x42, 0xaa, 0xb3, 0x85, 0x53, 0x5e, 0xe4, 0xd5, 0xcf, 0x33, 0x46, 0x88, 0x8b, 0x76, 0x61, 0x39, 0x2c,
0x49, 0x4a, 0xb9, 0x1c, 0xea, 0x21, 0x0e, 0x7a, 0x0c, 0x0b, 0x62, 0xc5, 0x05, 0xad, 0x8e, 0x9f, 0x0f, 0x21, 0x6e, 0xb9, 0x50, 0x92, 0x52, 0x3f, 0x8d, 0xf5, 0x10, 0x17, 0x3d, 0x82, 0x15, 0xb1,
0x80, 0x84, 0xfa, 0x90, 0x72, 0x25, 0xa6, 0x97, 0x9b, 0x1d, 0xae, 0x8b, 0xf8, 0x66, 0xc7, 0xd4, 0xe2, 0x82, 0x36, 0xa7, 0x4f, 0x40, 0x42, 0x7d, 0x48, 0xfd, 0x2c, 0xa5, 0x97, 0x9b, 0x1d, 0xaf,
0x5f, 0x7c, 0xb3, 0x63, 0x0b, 0x29, 0x0d, 0x58, 0x6e, 0xc4, 0x2b, 0x6a, 0x24, 0x2a, 0x6a, 0x4c, 0x8b, 0x04, 0x66, 0xa7, 0xd4, 0x5f, 0x02, 0xb3, 0x53, 0x0b, 0x29, 0x6d, 0x58, 0x6f, 0xa7, 0x2b,
0x51, 0x14, 0xe3, 0xc8, 0x98, 0x4a, 0x80, 0xa0, 0x28, 0xe2, 0xc8, 0x3a, 0x63, 0xb9, 0xf8, 0x18, 0x6a, 0x67, 0x2a, 0x6a, 0xcf, 0x51, 0x94, 0xe2, 0xc8, 0x94, 0x4a, 0x80, 0xa0, 0x28, 0xe1, 0xc8,
0x8e, 0x7e, 0x31, 0x92, 0x0e, 0x3d, 0xb6, 0x2b, 0x95, 0xf8, 0x01, 0xe2, 0xa0, 0x23, 0x58, 0x9f, 0x16, 0x63, 0xb9, 0xf8, 0x18, 0x8e, 0xbe, 0x15, 0x4a, 0xc7, 0x1e, 0xdb, 0xd5, 0x7a, 0xfa, 0x00,
0xf6, 0x00, 0x83, 0x6e, 0x65, 0x79, 0x70, 0x53, 0x6e, 0x67, 0x90, 0x22, 0x0e, 0x3a, 0x81, 0x6a, 0x71, 0xd1, 0x19, 0x6c, 0xcf, 0x7b, 0x80, 0x41, 0xb7, 0x8b, 0x3c, 0xb8, 0xa9, 0x5f, 0x17, 0x90,
0xda, 0x55, 0x1b, 0x6d, 0x64, 0xfd, 0x98, 0x50, 0xee, 0x65, 0x94, 0xe4, 0x28, 0xa7, 0x7d, 0xa8, 0x22, 0x2e, 0xba, 0x80, 0x46, 0xde, 0x55, 0x1b, 0xed, 0x14, 0xfd, 0x98, 0x50, 0xef, 0x16, 0x94,
0xfa, 0x28, 0x53, 0x9e, 0x2a, 0x7c, 0x94, 0xa9, 0x5f, 0xbc, 0xff, 0x86, 0xeb, 0x81, 0xc3, 0x3d, 0xe4, 0x28, 0xe7, 0x7d, 0xa8, 0x06, 0x28, 0x73, 0x9e, 0x2a, 0x02, 0x94, 0xb9, 0x5f, 0xbc, 0xbf,
0x66, 0xbd, 0xfb, 0xa3, 0xfc, 0xc8, 0x70, 0x65, 0x53, 0x1e, 0x64, 0x17, 0x26, 0xce, 0xf6, 0xb5, 0x85, 0x5b, 0x91, 0xc3, 0x3d, 0x65, 0xbd, 0x7b, 0x61, 0x7e, 0x14, 0xb8, 0xb2, 0xa9, 0xf7, 0x8b,
0xbf, 0x5f, 0xdd, 0x73, 0xb0, 0x75, 0xb8, 0xdb, 0x14, 0xfe, 0x12, 0xd2, 0x27, 0xc6, 0xe3, 0x3e, 0x0b, 0x13, 0x77, 0xff, 0x8b, 0x5f, 0x7e, 0x7e, 0xe4, 0x62, 0xfb, 0xf4, 0xb0, 0x23, 0xfc, 0x45,
0x31, 0x5e, 0x17, 0x58, 0xf3, 0xd7, 0x3f, 0x04, 0x00, 0x00, 0xff, 0xff, 0x3c, 0x0f, 0xb1, 0x43, 0x64, 0x44, 0xcc, 0x47, 0x23, 0x62, 0xbe, 0x2a, 0xb3, 0xe6, 0x77, 0xff, 0x13, 0x00, 0x00, 0xff,
0x7b, 0x22, 0x00, 0x00, 0xff, 0x4c, 0x17, 0xe7, 0xd8, 0x8b, 0x22, 0x00, 0x00,
} }

@ -76,6 +76,7 @@ message SendMsgResp {
string serverMsgID = 4; string serverMsgID = 4;
string clientMsgID = 5; string clientMsgID = 5;
int64 sendTime = 6; int64 sendTime = 6;
string ex = 7;
} }

File diff suppressed because it is too large Load Diff

@ -241,6 +241,7 @@ message UserSendMsgResp {
string serverMsgID = 1; string serverMsgID = 1;
string clientMsgID = 2; string clientMsgID = 2;
int64 sendTime = 3; int64 sendTime = 3;
string ex = 4;
} }
message MsgData { message MsgData {

Loading…
Cancel
Save