From 51c2f845d86f83b78477facaa5ac33681058a4fd Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 11 Mar 2022 17:37:01 +0800 Subject: [PATCH 001/129] opt --- cmd/open_im_api/main.go | 15 +- config/config.yaml | 14 +- internal/api/conversation/conversation.go | 267 ++- internal/api/third/minio_init.go | 4 +- internal/rpc/msg/conversation_notification.go | 5 +- internal/rpc/msg/send_msg.go | 2 +- internal/rpc/user/user.go | 184 +- pkg/base_info/conversation_api_struct.go | 81 +- pkg/common/config/config.go | 2 +- pkg/common/db/model_struct.go | 5 + .../mysql_model/im_mysql_model/message_cms.go | 4 +- .../mysql_model/im_mysql_model/user_model.go | 54 + pkg/common/db/redisModel.go | 6 +- pkg/common/log/logrus.go | 15 +- pkg/proto/proto_dir.cfg | 21 +- pkg/proto/sdk_ws/ws.proto | 30 - pkg/proto/user/user.pb.go | 1990 ++++++++++------- pkg/proto/user/user.proto | 95 +- 18 files changed, 1781 insertions(+), 1013 deletions(-) diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index 551a37a0e..36815617d 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -97,14 +97,19 @@ func main() { } //Conversation conversationGroup := r.Group("/conversation") - { - conversationGroup.POST("/set_receive_message_opt", conversation.SetReceiveMessageOpt) //1 - conversationGroup.POST("/get_receive_message_opt", conversation.GetReceiveMessageOpt) //1 - conversationGroup.POST("/get_all_conversation_message_opt", conversation.GetAllConversationMessageOpt) //1 + { //1 + conversationGroup.POST("/get_all_conversations", conversation.GetAllConversations) + conversationGroup.POST("/get_conversation", conversation.GetConversation) + conversationGroup.POST("/get_conversations", conversation.GetConversations) + conversationGroup.POST("/set_conversation", conversation.SetConversation) + conversationGroup.POST("/batch_set_conversation", conversation.BatchSetConversations) } apiThird.MinioInit() log.NewPrivateLog("api") ginPort := flag.Int("port", 10000, "get ginServerPort from cmd,default 10000 as port") flag.Parse() - r.Run(":" + strconv.Itoa(*ginPort)) + err := r.Run(":" + strconv.Itoa(*ginPort)) + if err != nil { + log.NewError("", utils.GetSelfFuncName(), "start gin failed", err.Error()) + } } diff --git a/config/config.yaml b/config/config.yaml index dfaeaaed1..c318fa19f 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -8,7 +8,7 @@ etcd: etcdAddr: [ 127.0.0.1:2379 ] #单机部署时,默认即可 mysql: - dbMysqlAddress: [ 127.0.0.1:13306 ] #mysql地址 目前仅支持单机,默认即可 + dbMysqlAddress: [ 43.128.5.63:13306 ] #mysql地址 目前仅支持单机,默认即可 dbMysqlUserName: root #mysql用户名,建议修改 dbMysqlPassword: openIM # mysql密码,建议修改 dbMysqlDatabaseName: openIM_v2 #默认即可 @@ -19,7 +19,7 @@ mysql: dbMaxLifeTime: 120 mongo: - dbAddress: [ 127.0.0.1:37017 ] #redis地址 目前仅支持单机,默认即可 + dbAddress: [ 43.128.5.63:37017 ] #redis地址 目前仅支持单机,默认即可 dbDirect: false dbTimeout: 10 dbDatabase: openIM #mongo db 默认即可 @@ -30,7 +30,7 @@ mongo: dbRetainChatRecords: 3650 #mongo保存离线消息时间(天),根据需求修改 redis: - dbAddress: 127.0.0.1:16379 #redis地址 目前仅支持单机,默认即可 + dbAddress: 43.128.5.63:16379 #redis地址 目前仅支持单机,默认即可 dbMaxIdle: 128 dbMaxActive: 0 dbIdleTimeout: 120 @@ -133,7 +133,7 @@ log: rotationTime: 24 remainRotationCount: 3 #日志数量 #日志级别 6表示全都打印,测试阶段建议设置为6 - remainLogLevel: 4 + remainLogLevel: 6 elasticSearchSwitch: false elasticSearchAddr: [ 127.0.0.1:9201 ] elasticSearchUser: "" @@ -200,21 +200,21 @@ callback: callbackbeforeSendSingleMsg: enable: false # 回调是否启用 callbackTimeOut: 2 # 回调超时时间 - CallbackFailedContinue: true # 回调超时是否继续执行代码 + callbackFailedContinue: true # 回调超时是否继续执行代码 callbackAfterSendSingleMsg: enable: false callbackTimeOut: 2 callbackBeforeSendGroupMsg: enable: false callbackTimeOut: 2 - CallbackFailedContinue: true + callbackFailedContinue: true callbackAfterSendGroupMsg: enable: false callbackTimeOut: 2 callbackWordFilter: enable: false callbackTimeOut: 2 - CallbackFailedContinue: true + callbackFailedContinue: true notification: diff --git a/internal/api/conversation/conversation.go b/internal/api/conversation/conversation.go index 3971fbad7..1ea49ed31 100644 --- a/internal/api/conversation/conversation.go +++ b/internal/api/conversation/conversation.go @@ -4,10 +4,8 @@ import ( api "Open_IM/pkg/base_info" "Open_IM/pkg/common/config" "Open_IM/pkg/common/log" - "Open_IM/pkg/common/token_verify" "Open_IM/pkg/grpc-etcdv3/getcdv3" - "Open_IM/pkg/proto/user" - rpc "Open_IM/pkg/proto/user" + pbUser "Open_IM/pkg/proto/user" "Open_IM/pkg/utils" "context" "github.com/gin-gonic/gin" @@ -15,111 +13,194 @@ import ( "strings" ) -func GetAllConversationMessageOpt(c *gin.Context) { - params := api.GetAllConversationMessageOptReq{} - if err := c.BindJSON(¶ms); err != nil { +func SetConversation(c *gin.Context) { + var ( + req api.SetConversationReq + resp api.SetConversationResp + reqPb pbUser.SetConversationReq + ) + if err := c.BindJSON(&req); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "bind json failed", err.Error()) c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "bind json failed " + err.Error()}) return } - req := &rpc.GetAllConversationMsgOptReq{} - utils.CopyStructFields(req, ¶ms) - var ok bool - ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) - if !ok { - log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed or not set token in header"}) - return - } - log.NewInfo(params.OperationID, "GetAllConversationMessageOpt args ", req.String()) - etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName) - client := user.NewUserClient(etcdConn) - RpcResp, err := client.GetAllConversationMsgOpt(context.Background(), req) + reqPb.Conversation = &pbUser.Conversation{} + err := utils.CopyStructFields(&reqPb, req) + err = utils.CopyStructFields(reqPb.Conversation, req.Conversation) if err != nil { - log.NewError(params.OperationID, "GetAllConversationMsgOpt rpc failed, ", req, err.Error()) + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", reqPb.String()) + etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName) + client := pbUser.NewUserClient(etcdConn) + respPb, err := client.SetConversation(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "SetConversation rpc failed, ", reqPb.String(), err.Error()) c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": "GetAllConversationMsgOpt rpc failed, " + err.Error()}) return } - optResult := make([]*api.OptResult, 0) - for _, v := range RpcResp.ConversationOptResultList { - temp := new(api.OptResult) - temp.ConversationID = v.ConversationID - temp.Result = &v.Result - optResult = append(optResult, temp) + resp.ErrMsg = respPb.CommonResp.ErrMsg + resp.ErrCode = respPb.CommonResp.ErrCode + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) + c.JSON(http.StatusOK, resp) +} + +func BatchSetConversations(c *gin.Context) { + var ( + req api.BatchSetConversationsReq + resp api.BatchSetConversationsResp + reqPb pbUser.BatchSetConversationsReq + ) + if err := c.BindJSON(&req); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "bind json failed", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "bind json failed " + err.Error()}) + return } - resp := api.GetAllConversationMessageOptResp{CommResp: api.CommResp{ErrCode: RpcResp.CommonResp.ErrCode, ErrMsg: RpcResp.CommonResp.ErrMsg}, ConversationOptResultList: optResult} - log.NewInfo(req.OperationID, "GetAllConversationMsgOpt api return: ", resp) + if err := utils.CopyStructFields(&reqPb, req); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", reqPb.String()) + etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName) + client := pbUser.NewUserClient(etcdConn) + respPb, err := client.BatchSetConversations(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "SetConversation rpc failed, ", reqPb.String(), err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": "GetAllConversationMsgOpt rpc failed, " + err.Error()}) + return + } + if err := utils.CopyStructFields(&resp.Data, respPb); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + } + resp.ErrMsg = respPb.CommonResp.ErrMsg + resp.ErrCode = respPb.CommonResp.ErrCode + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) + c.JSON(http.StatusOK, resp) +} + +func GetAllConversations(c *gin.Context) { + var ( + req api.GetAllConversationsReq + resp api.GetAllConversationsResp + reqPb pbUser.GetAllConversationsReq + ) + if err := c.BindJSON(&req); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "bind json failed", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "bind json failed " + err.Error()}) + return + } + if err := utils.CopyStructFields(&reqPb, req); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", reqPb.String()) + etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName) + client := pbUser.NewUserClient(etcdConn) + respPb, err := client.GetAllConversations(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "SetConversation rpc failed, ", reqPb.String(), err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": "GetAllConversationMsgOpt rpc failed, " + err.Error()}) + return + } + resp.ErrMsg = respPb.CommonResp.ErrMsg + resp.ErrCode = respPb.CommonResp.ErrCode + if err := utils.CopyStructFields(&resp.Conversations, respPb.Conversations); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed, ", err.Error()) + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) + c.JSON(http.StatusOK, resp) +} + +func GetConversation(c *gin.Context) { + var ( + req api.GetConversationReq + resp api.GetConversationResp + reqPb pbUser.GetConversationReq + ) + if err := c.BindJSON(&req); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "bind json failed", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "bind json failed " + err.Error()}) + return + } + if err := utils.CopyStructFields(&reqPb, req); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", reqPb.String()) + etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName) + client := pbUser.NewUserClient(etcdConn) + respPb, err := client.GetConversation(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "SetConversation rpc failed, ", reqPb.String(), err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": "GetAllConversationMsgOpt rpc failed, " + err.Error()}) + return + } + resp.ErrMsg = respPb.CommonResp.ErrMsg + resp.ErrCode = respPb.CommonResp.ErrCode + if err := utils.CopyStructFields(&resp.Conversation, respPb.Conversation); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) + c.JSON(http.StatusOK, resp) +} + + +func GetConversations(c *gin.Context) { + var ( + req api.GetConversationsReq + resp api.GetConversationsResp + reqPb pbUser.GetConversationsReq + ) + if err := c.BindJSON(&req); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "bind json failed", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "bind json failed " + err.Error()}) + return + } + if err := utils.CopyStructFields(&reqPb, req); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", reqPb.String()) + etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName) + client := pbUser.NewUserClient(etcdConn) + respPb, err := client.GetConversations(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "SetConversation rpc failed, ", reqPb.String(), err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": "GetAllConversationMsgOpt rpc failed, " + err.Error()}) + return + } + resp.ErrMsg = respPb.CommonResp.ErrMsg + resp.ErrCode = respPb.CommonResp.ErrCode + if err := utils.CopyStructFields(&resp.Conversations, respPb.Conversations); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) + c.JSON(http.StatusOK, resp) +} + + + + + + + + +func GetAllConversationMessageOpt(c *gin.Context) { + var ( + _ api.GetAllConversationMessageOptReq + resp api.GetAllConversationMessageOptResp + ) c.JSON(http.StatusOK, resp) } func GetReceiveMessageOpt(c *gin.Context) { - params := api.GetReceiveMessageOptReq{} - if err := c.BindJSON(¶ms); err != nil { - c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "bind json failed " + err.Error()}) - return - } - req := &rpc.GetReceiveMessageOptReq{} - utils.CopyStructFields(req, ¶ms) - var ok bool - ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) - if !ok { - log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) - return - } - log.NewInfo(params.OperationID, "GetReceiveMessageOpt args ", req.String()) - etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName) - client := user.NewUserClient(etcdConn) - RpcResp, err := client.GetReceiveMessageOpt(context.Background(), req) - if err != nil { - log.NewError(params.OperationID, "GetReceiveMessageOpt rpc failed, ", req, err.Error()) - c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": "GetReceiveMessageOpt rpc failed, " + err.Error()}) - return - } - optResult := make([]*api.OptResult, 0) - for _, v := range RpcResp.ConversationOptResultList { - temp := new(api.OptResult) - temp.ConversationID = v.ConversationID - temp.Result = &v.Result - optResult = append(optResult, temp) - } - resp := api.GetReceiveMessageOptResp{CommResp: api.CommResp{ErrCode: RpcResp.CommonResp.ErrCode, ErrMsg: RpcResp.CommonResp.ErrMsg}, ConversationOptResultList: optResult} - log.NewInfo(req.OperationID, "GetReceiveMessageOpt api return: ", resp) + var ( + _ api.GetReceiveMessageOptReq + resp api.GetReceiveMessageOptResp + ) c.JSON(http.StatusOK, resp) } func SetReceiveMessageOpt(c *gin.Context) { - params := api.SetReceiveMessageOptReq{} - if err := c.BindJSON(¶ms); err != nil { - log.NewError(params.OperationID, utils.GetSelfFuncName(), "bind json failed", err.Error()) - c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "bind json failed " + err.Error()}) - return - } - req := &rpc.SetReceiveMessageOptReq{} - utils.CopyStructFields(req, ¶ms) - var ok bool - ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) - if !ok { - log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) - return - } - log.NewInfo(params.OperationID, "SetReceiveMessageOpt args ", req.String()) - etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName) - client := user.NewUserClient(etcdConn) - RpcResp, err := client.SetReceiveMessageOpt(context.Background(), req) - if err != nil { - log.NewError(params.OperationID, "SetReceiveMessageOpt rpc failed, ", req, err.Error()) - c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": "SetReceiveMessageOpt rpc failed, " + err.Error()}) - return - } - optResult := make([]*api.OptResult, 0) - for _, v := range RpcResp.ConversationOptResultList { - temp := new(api.OptResult) - temp.ConversationID = v.ConversationID - temp.Result = &v.Result - optResult = append(optResult, temp) - } - resp := api.SetReceiveMessageOptResp{CommResp: api.CommResp{ErrCode: RpcResp.CommonResp.ErrCode, ErrMsg: RpcResp.CommonResp.ErrMsg}, ConversationOptResultList: optResult} - log.NewInfo(req.OperationID, "SetReceiveMessageOpt api return: ", resp) + var ( + _ api.SetReceiveMessageOptReq + resp api.SetReceiveMessageOptResp + ) c.JSON(http.StatusOK, resp) } diff --git a/internal/api/third/minio_init.go b/internal/api/third/minio_init.go index 29338ee77..a5a8cbe4f 100644 --- a/internal/api/third/minio_init.go +++ b/internal/api/third/minio_init.go @@ -45,8 +45,8 @@ func MinioInit() { // 自动化桶public的代码 //err = minioClient.SetBucketPolicy(context.Background(), config.Config.Credential.Minio.Bucket, policy.BucketPolicyReadWrite) //if err != nil { - // log.NewError("", utils.GetSelfFuncName(), "SetBucketPolicy failed please set in ", err.Error()) - // return`z + // log.NewError("", utils.GetSelfFuncName(), "SetBucketPolicy failed please set in web", err.Error()) + // return //} log.NewInfo("", utils.GetSelfFuncName(), "minio create and set policy success") } diff --git a/internal/rpc/msg/conversation_notification.go b/internal/rpc/msg/conversation_notification.go index cd9a7a6be..598ba1cc7 100644 --- a/internal/rpc/msg/conversation_notification.go +++ b/internal/rpc/msg/conversation_notification.go @@ -44,9 +44,8 @@ func conversationNotification(contentType int32, m proto.Message, operationID, u Notification(&n) } -// 客户端调用设置opt接口后调用 -func SetReceiveMessageOptNotification(operationID, opUserID, userID string) { - log.NewInfo(operationID, utils.GetSelfFuncName(), "operation user: ", opUserID, "operation id: ", userID) +func SetConversationNotification(operationID, userID string) { + log.NewInfo(operationID, utils.GetSelfFuncName(), "userID: ", userID) conversationUpdateTips := open_im_sdk.ConversationUpdateTips{ UserID: userID, } diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index af8f40b4f..b65c2ea2c 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -274,7 +274,7 @@ func returnMsg(replay *pbChat.SendMsgResp, pb *pbChat.SendMsgReq, errCode int32, func modifyMessageByUserMessageReceiveOpt(userID, sourceID string, sessionType int, pb *pbChat.SendMsgReq) bool { conversationID := utils.GetConversationIDBySessionType(sourceID, sessionType) - opt, err := db.DB.GetSingleConversationMsgOpt(userID, conversationID) + opt, err := db.DB.GetSingleConversationRecvMsgOpt(userID, conversationID) if err != nil && err != redis.ErrNil { log.NewError(pb.OperationID, "GetSingleConversationMsgOpt from redis err", conversationID, pb.String(), err.Error()) return true diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index b0ebf593a..73e689d05 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -88,63 +88,165 @@ func (s *userServer) GetUserInfo(ctx context.Context, req *pbUser.GetUserInfoReq userInfoList = append(userInfoList, &userInfo) } } else { - return &pbUser.GetUserInfoResp{CommonResp: &pbUser.CommonResp{ErrCode: constant.ErrArgs.ErrCode, ErrMsg: constant.ErrArgs.ErrMsg}}, nil } log.NewInfo(req.OperationID, "GetUserInfo rpc return ", pbUser.GetUserInfoResp{CommonResp: &pbUser.CommonResp{}, UserInfoList: userInfoList}) return &pbUser.GetUserInfoResp{CommonResp: &pbUser.CommonResp{}, UserInfoList: userInfoList}, nil } -func (s *userServer) SetReceiveMessageOpt(ctx context.Context, req *pbUser.SetReceiveMessageOptReq) (*pbUser.SetReceiveMessageOptResp, error) { - log.NewInfo(req.OperationID, "SetReceiveMessageOpt args ", req.String()) - m := make(map[string]int, len(req.ConversationIDList)) - for _, v := range req.ConversationIDList { - m[v] = int(req.Opt) - } - err := db.DB.SetMultiConversationMsgOpt(req.FromUserID, m) - if err != nil { - log.NewError(req.OperationID, "SetMultiConversationMsgOpt failed ", err.Error(), req) - return &pbUser.SetReceiveMessageOptResp{CommonResp: &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil - } - resp := pbUser.SetReceiveMessageOptResp{CommonResp: &pbUser.CommonResp{}} - for _, v := range req.ConversationIDList { - resp.ConversationOptResultList = append(resp.ConversationOptResultList, &pbUser.OptResult{ConversationID: v, Result: req.Opt}) +func (s *userServer) BatchSetConversations(ctx context.Context, req *pbUser.BatchSetConversationsReq) (*pbUser.BatchSetConversationsResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) + resp := &pbUser.BatchSetConversationsResp{} + for _, v := range req.Conversations { + conversation := db.Conversation{} + if err := utils.CopyStructFields(&conversation, v); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), v.String(), "CopyStructFields failed", err.Error()) + } + if err := db.DB.SetSingleConversationRecvMsgOpt(req.OwnerUserID, v.ConversationID, v.RecvMsgOpt); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "cache failed, rpc return", err.Error()) + resp.CommonResp = &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg} + return resp, nil + } + if err := imdb.SetConversation(conversation); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "SetConversation error", err.Error()) + resp.Failed = append(resp.Failed, v.ConversationID) + continue + } + resp.Success = append(resp.Success, v.ConversationID) } - chat.SetReceiveMessageOptNotification(req.OperationID, req.OpUserID, req.FromUserID) - log.NewInfo(req.OperationID, "SetReceiveMessageOpt rpc return ", resp.String()) - return &resp, nil + chat.SetConversationNotification(req.OperationID, req.OwnerUserID) + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc return", resp.String()) + resp.CommonResp = &pbUser.CommonResp{} + return resp, nil } -func (s *userServer) GetReceiveMessageOpt(ctx context.Context, req *pbUser.GetReceiveMessageOptReq) (*pbUser.GetReceiveMessageOptResp, error) { - log.NewInfo(req.OperationID, "GetReceiveMessageOpt args ", req.String()) - m, err := db.DB.GetMultiConversationMsgOpt(req.FromUserID, req.ConversationIDList) +func (s *userServer) GetAllConversations(ctx context.Context, req *pbUser.GetAllConversationsReq) (*pbUser.GetAllConversationsResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) + resp := &pbUser.GetAllConversationsResp{Conversations: []*pbUser.Conversation{}} + conversations, err := imdb.GetUserAllConversations(req.OwnerUserID) if err != nil { - log.NewError(req.OperationID, "GetMultiConversationMsgOpt failed ", err.Error(), req.FromUserID, req.ConversationIDList) - return &pbUser.GetReceiveMessageOptResp{CommonResp: &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetConversations error", err.Error()) + resp.CommonResp = &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg} + return resp, nil } - resp := pbUser.GetReceiveMessageOptResp{CommonResp: &pbUser.CommonResp{}} - for k, v := range m { - resp.ConversationOptResultList = append(resp.ConversationOptResultList, &pbUser.OptResult{ConversationID: k, Result: int32(v)}) + if err = utils.CopyStructFields(&resp.Conversations, conversations); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields error", err.Error()) } - log.NewInfo(req.OperationID, "GetReceiveMessageOpt rpc return ", resp.String()) - return &resp, nil + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc return", resp.String()) + resp.CommonResp = &pbUser.CommonResp{} + return resp, nil } -func (s *userServer) GetAllConversationMsgOpt(ctx context.Context, req *pbUser.GetAllConversationMsgOptReq) (*pbUser.GetAllConversationMsgOptResp, error) { - log.NewInfo(req.OperationID, "GetAllConversationMsgOpt args ", req.String()) - m, err := db.DB.GetAllConversationMsgOpt(req.FromUserID) - if err != nil { - log.NewError(req.OperationID, "GetAllConversationMsgOpt failed ", err.Error(), req.FromUserID) - return &pbUser.GetAllConversationMsgOptResp{CommonResp: &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil - } - resp := pbUser.GetAllConversationMsgOptResp{CommonResp: &pbUser.CommonResp{}} - for k, v := range m { - resp.ConversationOptResultList = append(resp.ConversationOptResultList, &pbUser.OptResult{ConversationID: k, Result: int32(v)}) - } - log.NewInfo(req.OperationID, "GetAllConversationMsgOpt rpc return ", resp.String()) - return &resp, nil +func (s *userServer) GetConversation(ctx context.Context, req *pbUser.GetConversationReq) (*pbUser.GetConversationResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) + resp := &pbUser.GetConversationResp{Conversation: &pbUser.Conversation{}} + conversation, err := imdb.GetConversation(req.OwnerUserID, req.ConversationID) + if err != nil{ + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetConversation error", err.Error()) + resp.CommonResp = &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg} + return resp, nil + } + if err := utils.CopyStructFields(resp.Conversation, &conversation); err != nil { + log.Debug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields error", conversation, err.Error()) + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) + resp.CommonResp = &pbUser.CommonResp{} + return resp, nil } + +func (s *userServer) GetConversations(ctx context.Context, req *pbUser.GetConversationsReq) (*pbUser.GetConversationsResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) + resp := &pbUser.GetConversationsResp{Conversations: []*pbUser.Conversation{}} + conversations, err := imdb.GetConversations(req.OwnerUserID, req.ConversationIDs) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetConversations error", err.Error()) + resp.CommonResp = &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg} + return resp, nil + } + if err := utils.CopyStructFields(&resp.Conversations, conversations); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", conversations, err.Error()) + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) + resp.CommonResp = &pbUser.CommonResp{} + return resp, nil +} + +func (s *userServer) SetConversation(ctx context.Context, req *pbUser.SetConversationReq) (*pbUser.SetConversationResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) + resp := &pbUser.SetConversationResp{} + var conversation db.Conversation + if err := utils.CopyStructFields(&conversation, req.Conversation); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", *req.Conversation, err.Error()) + } + if err := db.DB.SetSingleConversationRecvMsgOpt(req.Conversation.OwnerUserID, req.Conversation.ConversationID, req.Conversation.RecvMsgOpt); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "cache failed, rpc return", err.Error()) + resp.CommonResp = &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg} + return resp, nil + } + err := imdb.SetConversation(conversation) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "SetConversation error", err.Error()) + resp.CommonResp = &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg} + return resp, nil + } + chat.SetConversationNotification(req.OperationID, req.Conversation.OwnerUserID) + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc return", resp.String()) + resp.CommonResp = &pbUser.CommonResp{} + return resp, nil +} + +//func (s *userServer) SetReceiveMessageOpt(ctx context.Context, req *pbUser.SetReceiveMessageOptReq) (*pbUser.SetReceiveMessageOptResp, error) { +// log.NewInfo(req.OperationID, "SetReceiveMessageOpt args ", req.String()) +// m := make(map[string]int, len(req.ConversationIDList)) +// for _, v := range req.ConversationIDList { +// m[v] = int(req.Opt) +// } +// err := db.DB.SetMultiConversationMsgOpt(req.FromUserID, m) +// if err != nil { +// log.NewError(req.OperationID, "SetMultiConversationMsgOpt failed ", err.Error(), req) +// return &pbUser.SetReceiveMessageOptResp{CommonResp: &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil +// } +// resp := pbUser.SetReceiveMessageOptResp{CommonResp: &pbUser.CommonResp{}} +// +// for _, v := range req.ConversationIDList { +// resp.ConversationOptResultList = append(resp.ConversationOptResultList, &pbUser.OptResult{ConversationID: v, Result: req.Opt}) +// } +// chat.SetReceiveMessageOptNotification(req.OperationID, req.OpUserID, req.FromUserID) +// log.NewInfo(req.OperationID, "SetReceiveMessageOpt rpc return ", resp.String()) +// return &resp, nil +//} +// +//func (s *userServer) GetReceiveMessageOpt(ctx context.Context, req *pbUser.GetReceiveMessageOptReq) (*pbUser.GetReceiveMessageOptResp, error) { +// log.NewInfo(req.OperationID, "GetReceiveMessageOpt args ", req.String()) +// m, err := db.DB.GetMultiConversationMsgOpt(req.FromUserID, req.ConversationIDList) +// if err != nil { +// log.NewError(req.OperationID, "GetMultiConversationMsgOpt failed ", err.Error(), req.FromUserID, req.ConversationIDList) +// return &pbUser.GetReceiveMessageOptResp{CommonResp: &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil +// } +// resp := pbUser.GetReceiveMessageOptResp{CommonResp: &pbUser.CommonResp{}} +// for k, v := range m { +// resp.ConversationOptResultList = append(resp.ConversationOptResultList, &pbUser.OptResult{ConversationID: k, Result: int32(v)}) +// } +// log.NewInfo(req.OperationID, "GetReceiveMessageOpt rpc return ", resp.String()) +// return &resp, nil +//} +// +//func (s *userServer) GetAllConversationMsgOpt(ctx context.Context, req *pbUser.GetAllConversationMsgOptReq) (*pbUser.GetAllConversationMsgOptResp, error) { +// log.NewInfo(req.OperationID, "GetAllConversationMsgOpt args ", req.String()) +// m, err := db.DB.GetAllConversationMsgOpt(req.FromUserID) +// if err != nil { +// log.NewError(req.OperationID, "GetAllConversationMsgOpt failed ", err.Error(), req.FromUserID) +// return &pbUser.GetAllConversationMsgOptResp{CommonResp: &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil +// } +// resp := pbUser.GetAllConversationMsgOptResp{CommonResp: &pbUser.CommonResp{}} +// for k, v := range m { +// resp.ConversationOptResultList = append(resp.ConversationOptResultList, &pbUser.OptResult{ConversationID: k, Result: int32(v)}) +// } +// log.NewInfo(req.OperationID, "GetAllConversationMsgOpt rpc return ", resp.String()) +// return &resp, nil +//} + func (s *userServer) DeleteUsers(_ context.Context, req *pbUser.DeleteUsersReq) (*pbUser.DeleteUsersResp, error) { log.NewInfo(req.OperationID, "DeleteUsers args ", req.String()) if !token_verify.IsMangerUserID(req.OpUserID) { diff --git a/pkg/base_info/conversation_api_struct.go b/pkg/base_info/conversation_api_struct.go index 95aa8527f..45139a1fa 100644 --- a/pkg/base_info/conversation_api_struct.go +++ b/pkg/base_info/conversation_api_struct.go @@ -32,17 +32,72 @@ type SetReceiveMessageOptResp struct { ConversationOptResultList []*OptResult `json:"data"` } -//type Conversation struct { -// OwnerUserID string `gorm:"column:owner_user_id;primary_key;type:char(128)" json:"OwnerUserID"` -// ConversationID string `gorm:"column:conversation_id;primary_key;type:char(128)" json:"conversationID"` -// ConversationType int32 `gorm:"column:conversation_type" json:"conversationType"` -// UserID string `gorm:"column:user_id;type:char(64)" json:"userID"` -// GroupID string `gorm:"column:group_id;type:char(128)" json:"groupID"` -// RecvMsgOpt int32 `gorm:"column:recv_msg_opt" json:"recvMsgOpt"` -// UnreadCount int32 `gorm:"column:unread_count" json:"unreadCount"` -// DraftTextTime int64 `gorm:"column:draft_text_time" json:"draftTextTime"` -// IsPinned bool `gorm:"column:is_pinned" json:"isPinned"` -// AttachedInfo string `gorm:"column:attached_info;type:varchar(1024)" json:"attachedInfo"` -// Ex string `gorm:"column:ex;type:varchar(1024)" json:"ex"` -//} +type Conversation struct { + OwnerUserID string `json:"ownerUserID" binding:"required"` + ConversationID string `json:"conversationID"` + ConversationType int32 `json:"conversationType"` + UserID string `json:"userID"` + GroupID string `json:"groupID"` + RecvMsgOpt int32 `json:"recvMsgOpt"` + UnreadCount int32 `json:"unreadCount"` + DraftTextTime int64 `json:"draftTextTime"` + IsPinned bool `json:"isPinned"` + IsPrivateChat bool `json:"isPrivateChat"` + AttachedInfo string `json:"attachedInfo"` + Ex string `json:"ex"` +} +type SetConversationReq struct { + Conversation + OperationID string `json:"operationID" binding:"required"` +} + +type SetConversationResp struct { + CommResp +} + +type BatchSetConversationsReq struct { + Conversations []Conversation `json:"conversations" binding:"required"` + OwnerUserID string `json:"ownerUserID" binding:"required"` + OperationID string `json:"operationID" binding:"required"` +} + +type BatchSetConversationsResp struct { + CommResp + Data struct{ + Success []string `json:"success"` + Failed []string `json:"failed"` + } `json:"data"` +} + +type GetConversationReq struct { + ConversationID string `json:"conversationID" binding:"required"` + OwnerUserID string `json:"ownerUserID" binding:"required"` + OperationID string `json:"operationID" binding:"required"` +} + +type GetConversationResp struct { + CommResp + Conversation Conversation `json:"data"` +} + +type GetAllConversationsReq struct { + OwnerUserID string `json:"ownerUserID" binding:"required"` + OperationID string `json:"operationID" binding:"required"` +} + +type GetAllConversationsResp struct { + CommResp + Conversations []Conversation `json:"data"` +} + +type GetConversationsReq struct { + ConversationIDs []string `json:"conversationIDs" binding:"required"` + OwnerUserID string `json:"ownerUserID" binding:"required"` + OperationID string `json:"operationID" binding:"required"` +} + +type GetConversationsResp struct { + CommResp + Conversations []Conversation `json:"data"` +} \ No newline at end of file diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index 282440672..e29d7c6b0 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -22,7 +22,7 @@ var Config config type callBackConfig struct { Enable bool `yaml:"enable"` CallbackTimeOut int `yaml:"callbackTimeOut"` - CallbackFailedContinue bool `CallbackFailedContinue` + CallbackFailedContinue bool `callbackFailedContinue` } type config struct { diff --git a/pkg/common/db/model_struct.go b/pkg/common/db/model_struct.go index 184f51e9d..e9e5454cd 100644 --- a/pkg/common/db/model_struct.go +++ b/pkg/common/db/model_struct.go @@ -213,6 +213,11 @@ type Conversation struct { UnreadCount int32 `gorm:"column:unread_count" json:"unreadCount"` DraftTextTime int64 `gorm:"column:draft_text_time" json:"draftTextTime"` IsPinned bool `gorm:"column:is_pinned" json:"isPinned"` + IsPrivateChat bool `gorm:"column:is_private_chat" json:"isPrivateChat"` AttachedInfo string `gorm:"column:attached_info;type:varchar(1024)" json:"attachedInfo"` Ex string `gorm:"column:ex;type:varchar(1024)" json:"ex"` } + +func (Conversation) TableName() string { + return "conversations" +} \ No newline at end of file diff --git a/pkg/common/db/mysql_model/im_mysql_model/message_cms.go b/pkg/common/db/mysql_model/im_mysql_model/message_cms.go index 811943667..eb4b0cc52 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/message_cms.go +++ b/pkg/common/db/mysql_model/im_mysql_model/message_cms.go @@ -2,6 +2,8 @@ package im_mysql_model import ( "Open_IM/pkg/common/db" + "Open_IM/pkg/common/log" + "Open_IM/pkg/utils" "fmt" ) @@ -30,7 +32,6 @@ func GetChatLog(chatLog db.ChatLog, pageNumber, showNumber int32) ([]db.ChatLog, if chatLog.SendTime.Unix() > 0 { db = db.Where("send_time > ? and send_time < ?", chatLog.SendTime, chatLog.SendTime.AddDate(0, 0, 1)) } - err = db.Find(&chatLogs).Error return chatLogs, err } @@ -58,6 +59,7 @@ func GetChatLogCount(chatLog db.ChatLog) (int64, error) { db = db.Where("recv_id = ?", chatLog.RecvID) } if chatLog.SendTime.Unix() > 0 { + log.NewDebug("", utils.GetSelfFuncName(), chatLog.SendTime, chatLog.SendTime.AddDate(0, 0, 1)) db = db.Where("send_time > ? and send_time < ?", chatLog.SendTime, chatLog.SendTime.AddDate(0, 0, 1)) } 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 7492d6a38..260a096c5 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 @@ -4,6 +4,7 @@ import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db" + "Open_IM/pkg/common/log" "Open_IM/pkg/utils" "fmt" "time" @@ -291,3 +292,56 @@ func GetBlockUsersNumCount() (int32, error) { } return count, nil } + +func SetConversation(conversation db.Conversation) error { + dbConn, err := db.DB.MysqlDB.DefaultGormDB() + if err != nil { + return err + } + dbConn.LogMode(true) + newConversation := conversation + if dbConn.Model(&db.Conversation{}).Find(&newConversation).RowsAffected == 0 { + log.NewDebug("", utils.GetSelfFuncName(), "conversation", conversation, "not exist in db, create") + return dbConn.Model(&db.Conversation{}).Create(conversation).Error + // if exist, then update record + } else { + log.NewDebug("", utils.GetSelfFuncName(), "conversation", conversation, "exist in db, update") + //force update + return dbConn.Model(&db.Conversation{}).Update(conversation). + Update(map[string]interface{}{"recv_msg_opt": conversation.RecvMsgOpt, "is_pinned": conversation.IsPinned, "is_private_chat": conversation.IsPrivateChat}).Error + } +} + +func GetUserAllConversations(ownerUserID string) ([]db.Conversation, error) { + var conversations []db.Conversation + dbConn, err := db.DB.MysqlDB.DefaultGormDB() + if err != nil { + return conversations, err + } + dbConn.LogMode(true) + err = dbConn.Model(&db.Conversation{}).Where("owner_user_id=?", ownerUserID).Find(&conversations).Error + return conversations, err +} + +func GetConversation(OwnerUserID, conversationID string) (db.Conversation, error) { + var conversation db.Conversation + dbConn, err := db.DB.MysqlDB.DefaultGormDB() + if err != nil { + return conversation, err + } + err = dbConn.Model(&db.Conversation{ + OwnerUserID: OwnerUserID, + ConversationID: conversationID, + }).Find(&conversation).Error + return conversation, err +} + +func GetConversations(OwnerUserID string, conversationIDs []string) ([]db.Conversation, error) { + var conversations []db.Conversation + dbConn, err := db.DB.MysqlDB.DefaultGormDB() + if err != nil { + return conversations, err + } + err = dbConn.Model(&db.Conversation{}).Where("conversation_id IN (?) and owner_user_id=?", conversationIDs, OwnerUserID).Find(&conversations).Error + return conversations, err +} \ No newline at end of file diff --git a/pkg/common/db/redisModel.go b/pkg/common/db/redisModel.go index c8529b97c..c5594da9a 100644 --- a/pkg/common/db/redisModel.go +++ b/pkg/common/db/redisModel.go @@ -111,12 +111,14 @@ func (d *DataBases) DeleteTokenByUidPid(userID string, platformID int32, fields _, err := d.Exec("HDEL", key, redis.Args{}.Add().AddFlat(fields)...) return err } -func (d *DataBases) SetSingleConversationMsgOpt(userID, conversationID string, opt int) error { + +func (d *DataBases) SetSingleConversationRecvMsgOpt(userID, conversationID string, opt int32) error { key := conversationReceiveMessageOpt + userID _, err := d.Exec("HSet", key, conversationID, opt) return err } -func (d *DataBases) GetSingleConversationMsgOpt(userID, conversationID string) (int, error) { + +func (d *DataBases) GetSingleConversationRecvMsgOpt(userID, conversationID string) (int, error) { key := conversationReceiveMessageOpt + userID return redis.Int(d.Exec("HGet", key, conversationID)) } diff --git a/pkg/common/log/logrus.go b/pkg/common/log/logrus.go index a5e0ae7dd..63485e8d9 100644 --- a/pkg/common/log/logrus.go +++ b/pkg/common/log/logrus.go @@ -2,7 +2,6 @@ package log import ( "Open_IM/pkg/common/config" - "bufio" "fmt" "os" "time" @@ -33,13 +32,13 @@ func loggerInit(moduleName string) *Logger { //All logs will be printed logger.SetLevel(logrus.Level(config.Config.Log.RemainLogLevel)) //Close std console output - src, err := os.OpenFile(os.DevNull, os.O_APPEND|os.O_WRONLY, os.ModeAppend) - if err != nil { - panic(err.Error()) - } - writer := bufio.NewWriter(src) - logger.SetOutput(writer) - //logger.SetOutput(os.Stdout) + //src, err := os.OpenFile(os.DevNull, os.O_APPEND|os.O_WRONLY, os.ModeAppend) + //if err != nil { + // panic(err.Error()) + //} + //writer := bufio.NewWriter(src) + //logger.SetOutput(writer) + logger.SetOutput(os.Stdout) //Log Console Print Style Setting logger.SetFormatter(&nested.Formatter{ TimestampFormat: "2006-01-02 15:04:05.000", diff --git a/pkg/proto/proto_dir.cfg b/pkg/proto/proto_dir.cfg index 4a9853fbd..6383ac619 100644 --- a/pkg/proto/proto_dir.cfg +++ b/pkg/proto/proto_dir.cfg @@ -1,15 +1,14 @@ all_proto=( - message_cms/message_cms.proto - admin_cms/admin_cms.proto - statistics/statistics.proto - auth/auth.proto - friend/friend.proto - group/group.proto + #message_cms/message_cms.proto + #admin_cms/admin_cms.proto + #statistics/statistics.proto + #auth/auth.proto + #friend/friend.proto + #group/group.proto user/user.proto - chat/chat.proto - push/push.proto - relay/relay.proto - sdk_ws/ws.proto - + #chat/chat.proto + #push/push.proto + #relay/relay.proto + #sdk_ws/ws.proto ) diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index cb622b96c..5d200cce6 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -338,36 +338,6 @@ message ConversationUpdateTips{ } -///callback -message CommonCallbackURLReq { - string CallbackCommand = 1 [json_name = "code"]; - string OpenIMServerID = 2; - string OperationID = 3; -} - -message CommonCallbackURLResp { - string Code = 1 [json_name = "code"]; - string Msg = 2 [json_name = "msg"]; - string OperationID = 3 [json_name = "operationID"]; -} - -message CallbackBeforeSendMsgReq { - commonReq CommonCallbackURLReq = 1; - -} - -message CallbackBeforeSendMsgResp { - commonResp CommonCallbackURLResp = 1; - string FromUserID = 2; -} - -message CallbackAfterAddFriendReq { - commonReq CommonCallbackURLReq = 1; -} - -message CallbackAfterAddFriendResp { - commonResp CommonCallbackURLResp = 1; -} ///cms diff --git a/pkg/proto/user/user.pb.go b/pkg/proto/user/user.pb.go index aecc22680..efa105b60 100644 --- a/pkg/proto/user/user.pb.go +++ b/pkg/proto/user/user.pb.go @@ -6,7 +6,6 @@ package user - import ( sdk_ws "Open_IM/pkg/proto/sdk_ws" context "context" @@ -655,20 +654,27 @@ func (x *UpdateUserInfoResp) GetCommonResp() *CommonResp { return nil } -type SetReceiveMessageOptReq struct { +type Conversation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - FromUserID string `protobuf:"bytes,1,opt,name=FromUserID,proto3" json:"FromUserID,omitempty"` - Opt int32 `protobuf:"varint,2,opt,name=opt,proto3" json:"opt,omitempty"` - ConversationIDList []string `protobuf:"bytes,3,rep,name=conversationIDList,proto3" json:"conversationIDList,omitempty"` - OperationID string `protobuf:"bytes,4,opt,name=operationID,proto3" json:"operationID,omitempty"` - OpUserID string `protobuf:"bytes,5,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` + OwnerUserID string `protobuf:"bytes,1,opt,name=OwnerUserID,proto3" json:"OwnerUserID,omitempty"` + ConversationID string `protobuf:"bytes,2,opt,name=ConversationID,proto3" json:"ConversationID,omitempty"` + RecvMsgOpt int32 `protobuf:"varint,3,opt,name=RecvMsgOpt,proto3" json:"RecvMsgOpt,omitempty"` + ConversationType int32 `protobuf:"varint,4,opt,name=ConversationType,proto3" json:"ConversationType,omitempty"` + UserID string `protobuf:"bytes,5,opt,name=UserID,proto3" json:"UserID,omitempty"` + GroupID string `protobuf:"bytes,6,opt,name=GroupID,proto3" json:"GroupID,omitempty"` + UnreadCount int32 `protobuf:"varint,7,opt,name=UnreadCount,proto3" json:"UnreadCount,omitempty"` + DraftTextTime int64 `protobuf:"varint,8,opt,name=DraftTextTime,proto3" json:"DraftTextTime,omitempty"` + IsPinned bool `protobuf:"varint,9,opt,name=IsPinned,proto3" json:"IsPinned,omitempty"` + AttachedInfo string `protobuf:"bytes,10,opt,name=AttachedInfo,proto3" json:"AttachedInfo,omitempty"` + IsPrivateChat bool `protobuf:"varint,11,opt,name=IsPrivateChat,proto3" json:"IsPrivateChat,omitempty"` + Ex string `protobuf:"bytes,12,opt,name=Ex,proto3" json:"Ex,omitempty"` } -func (x *SetReceiveMessageOptReq) Reset() { - *x = SetReceiveMessageOptReq{} +func (x *Conversation) Reset() { + *x = Conversation{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -676,13 +682,13 @@ func (x *SetReceiveMessageOptReq) Reset() { } } -func (x *SetReceiveMessageOptReq) String() string { +func (x *Conversation) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SetReceiveMessageOptReq) ProtoMessage() {} +func (*Conversation) ProtoMessage() {} -func (x *SetReceiveMessageOptReq) ProtoReflect() protoreflect.Message { +func (x *Conversation) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -694,57 +700,106 @@ func (x *SetReceiveMessageOptReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SetReceiveMessageOptReq.ProtoReflect.Descriptor instead. -func (*SetReceiveMessageOptReq) Descriptor() ([]byte, []int) { +// Deprecated: Use Conversation.ProtoReflect.Descriptor instead. +func (*Conversation) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{11} } -func (x *SetReceiveMessageOptReq) GetFromUserID() string { +func (x *Conversation) GetOwnerUserID() string { if x != nil { - return x.FromUserID + return x.OwnerUserID } return "" } -func (x *SetReceiveMessageOptReq) GetOpt() int32 { +func (x *Conversation) GetConversationID() string { if x != nil { - return x.Opt + return x.ConversationID + } + return "" +} + +func (x *Conversation) GetRecvMsgOpt() int32 { + if x != nil { + return x.RecvMsgOpt } return 0 } -func (x *SetReceiveMessageOptReq) GetConversationIDList() []string { +func (x *Conversation) GetConversationType() int32 { if x != nil { - return x.ConversationIDList + return x.ConversationType } - return nil + return 0 } -func (x *SetReceiveMessageOptReq) GetOperationID() string { +func (x *Conversation) GetUserID() string { if x != nil { - return x.OperationID + return x.UserID } return "" } -func (x *SetReceiveMessageOptReq) GetOpUserID() string { +func (x *Conversation) GetGroupID() string { if x != nil { - return x.OpUserID + return x.GroupID } return "" } -type OptResult struct { +func (x *Conversation) GetUnreadCount() int32 { + if x != nil { + return x.UnreadCount + } + return 0 +} + +func (x *Conversation) GetDraftTextTime() int64 { + if x != nil { + return x.DraftTextTime + } + return 0 +} + +func (x *Conversation) GetIsPinned() bool { + if x != nil { + return x.IsPinned + } + return false +} + +func (x *Conversation) GetAttachedInfo() string { + if x != nil { + return x.AttachedInfo + } + return "" +} + +func (x *Conversation) GetIsPrivateChat() bool { + if x != nil { + return x.IsPrivateChat + } + return false +} + +func (x *Conversation) GetEx() string { + if x != nil { + return x.Ex + } + return "" +} + +type SetConversationReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ConversationID string `protobuf:"bytes,1,opt,name=conversationID,proto3" json:"conversationID,omitempty"` - Result int32 `protobuf:"varint,2,opt,name=result,proto3" json:"result,omitempty"` //-1: failed; 0:default; 1: not receive ; 2: not jpush + Conversation *Conversation `protobuf:"bytes,1,opt,name=Conversation,proto3" json:"Conversation,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` } -func (x *OptResult) Reset() { - *x = OptResult{} +func (x *SetConversationReq) Reset() { + *x = SetConversationReq{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -752,13 +807,13 @@ func (x *OptResult) Reset() { } } -func (x *OptResult) String() string { +func (x *SetConversationReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*OptResult) ProtoMessage() {} +func (*SetConversationReq) ProtoMessage() {} -func (x *OptResult) ProtoReflect() protoreflect.Message { +func (x *SetConversationReq) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -770,36 +825,35 @@ func (x *OptResult) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use OptResult.ProtoReflect.Descriptor instead. -func (*OptResult) Descriptor() ([]byte, []int) { +// Deprecated: Use SetConversationReq.ProtoReflect.Descriptor instead. +func (*SetConversationReq) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{12} } -func (x *OptResult) GetConversationID() string { +func (x *SetConversationReq) GetConversation() *Conversation { if x != nil { - return x.ConversationID + return x.Conversation + } + return nil +} + +func (x *SetConversationReq) GetOperationID() string { + if x != nil { + return x.OperationID } return "" } -func (x *OptResult) GetResult() int32 { - if x != nil { - return x.Result - } - return 0 -} - -type SetReceiveMessageOptResp struct { +type SetConversationResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` - ConversationOptResultList []*OptResult `protobuf:"bytes,2,rep,name=conversationOptResultList,proto3" json:"conversationOptResultList,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` } -func (x *SetReceiveMessageOptResp) Reset() { - *x = SetReceiveMessageOptResp{} +func (x *SetConversationResp) Reset() { + *x = SetConversationResp{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -807,13 +861,13 @@ func (x *SetReceiveMessageOptResp) Reset() { } } -func (x *SetReceiveMessageOptResp) String() string { +func (x *SetConversationResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SetReceiveMessageOptResp) ProtoMessage() {} +func (*SetConversationResp) ProtoMessage() {} -func (x *SetReceiveMessageOptResp) ProtoReflect() protoreflect.Message { +func (x *SetConversationResp) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -825,38 +879,30 @@ func (x *SetReceiveMessageOptResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SetReceiveMessageOptResp.ProtoReflect.Descriptor instead. -func (*SetReceiveMessageOptResp) Descriptor() ([]byte, []int) { +// Deprecated: Use SetConversationResp.ProtoReflect.Descriptor instead. +func (*SetConversationResp) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{13} } -func (x *SetReceiveMessageOptResp) GetCommonResp() *CommonResp { +func (x *SetConversationResp) GetCommonResp() *CommonResp { if x != nil { return x.CommonResp } return nil } -func (x *SetReceiveMessageOptResp) GetConversationOptResultList() []*OptResult { - if x != nil { - return x.ConversationOptResultList - } - return nil -} - -type GetReceiveMessageOptReq struct { +type GetConversationReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - FromUserID string `protobuf:"bytes,1,opt,name=FromUserID,proto3" json:"FromUserID,omitempty"` - ConversationIDList []string `protobuf:"bytes,2,rep,name=conversationIDList,proto3" json:"conversationIDList,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=operationID,proto3" json:"operationID,omitempty"` - OpUserID string `protobuf:"bytes,4,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` + ConversationID string `protobuf:"bytes,1,opt,name=ConversationID,proto3" json:"ConversationID,omitempty"` + OwnerUserID string `protobuf:"bytes,2,opt,name=OwnerUserID,proto3" json:"OwnerUserID,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` } -func (x *GetReceiveMessageOptReq) Reset() { - *x = GetReceiveMessageOptReq{} +func (x *GetConversationReq) Reset() { + *x = GetConversationReq{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -864,13 +910,13 @@ func (x *GetReceiveMessageOptReq) Reset() { } } -func (x *GetReceiveMessageOptReq) String() string { +func (x *GetConversationReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetReceiveMessageOptReq) ProtoMessage() {} +func (*GetConversationReq) ProtoMessage() {} -func (x *GetReceiveMessageOptReq) ProtoReflect() protoreflect.Message { +func (x *GetConversationReq) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -882,50 +928,43 @@ func (x *GetReceiveMessageOptReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetReceiveMessageOptReq.ProtoReflect.Descriptor instead. -func (*GetReceiveMessageOptReq) Descriptor() ([]byte, []int) { +// Deprecated: Use GetConversationReq.ProtoReflect.Descriptor instead. +func (*GetConversationReq) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{14} } -func (x *GetReceiveMessageOptReq) GetFromUserID() string { +func (x *GetConversationReq) GetConversationID() string { if x != nil { - return x.FromUserID + return x.ConversationID } return "" } -func (x *GetReceiveMessageOptReq) GetConversationIDList() []string { +func (x *GetConversationReq) GetOwnerUserID() string { if x != nil { - return x.ConversationIDList + return x.OwnerUserID } - return nil + return "" } -func (x *GetReceiveMessageOptReq) GetOperationID() string { +func (x *GetConversationReq) GetOperationID() string { if x != nil { return x.OperationID } return "" } -func (x *GetReceiveMessageOptReq) GetOpUserID() string { - if x != nil { - return x.OpUserID - } - return "" -} - -type GetReceiveMessageOptResp struct { +type GetConversationResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` - ConversationOptResultList []*OptResult `protobuf:"bytes,3,rep,name=conversationOptResultList,proto3" json:"conversationOptResultList,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + Conversation *Conversation `protobuf:"bytes,2,opt,name=Conversation,proto3" json:"Conversation,omitempty"` } -func (x *GetReceiveMessageOptResp) Reset() { - *x = GetReceiveMessageOptResp{} +func (x *GetConversationResp) Reset() { + *x = GetConversationResp{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -933,13 +972,13 @@ func (x *GetReceiveMessageOptResp) Reset() { } } -func (x *GetReceiveMessageOptResp) String() string { +func (x *GetConversationResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetReceiveMessageOptResp) ProtoMessage() {} +func (*GetConversationResp) ProtoMessage() {} -func (x *GetReceiveMessageOptResp) ProtoReflect() protoreflect.Message { +func (x *GetConversationResp) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -951,37 +990,37 @@ func (x *GetReceiveMessageOptResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetReceiveMessageOptResp.ProtoReflect.Descriptor instead. -func (*GetReceiveMessageOptResp) Descriptor() ([]byte, []int) { +// Deprecated: Use GetConversationResp.ProtoReflect.Descriptor instead. +func (*GetConversationResp) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{15} } -func (x *GetReceiveMessageOptResp) GetCommonResp() *CommonResp { +func (x *GetConversationResp) GetCommonResp() *CommonResp { if x != nil { return x.CommonResp } return nil } -func (x *GetReceiveMessageOptResp) GetConversationOptResultList() []*OptResult { +func (x *GetConversationResp) GetConversation() *Conversation { if x != nil { - return x.ConversationOptResultList + return x.Conversation } return nil } -type GetAllConversationMsgOptReq struct { +type GetConversationsReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - FromUserID string `protobuf:"bytes,1,opt,name=FromUserID,proto3" json:"FromUserID,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=operationID,proto3" json:"operationID,omitempty"` - OpUserID string `protobuf:"bytes,3,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` + OwnerUserID string `protobuf:"bytes,1,opt,name=OwnerUserID,proto3" json:"OwnerUserID,omitempty"` + ConversationIDs []string `protobuf:"bytes,2,rep,name=ConversationIDs,proto3" json:"ConversationIDs,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` } -func (x *GetAllConversationMsgOptReq) Reset() { - *x = GetAllConversationMsgOptReq{} +func (x *GetConversationsReq) Reset() { + *x = GetConversationsReq{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -989,13 +1028,13 @@ func (x *GetAllConversationMsgOptReq) Reset() { } } -func (x *GetAllConversationMsgOptReq) String() string { +func (x *GetConversationsReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetAllConversationMsgOptReq) ProtoMessage() {} +func (*GetConversationsReq) ProtoMessage() {} -func (x *GetAllConversationMsgOptReq) ProtoReflect() protoreflect.Message { +func (x *GetConversationsReq) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1007,43 +1046,43 @@ func (x *GetAllConversationMsgOptReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetAllConversationMsgOptReq.ProtoReflect.Descriptor instead. -func (*GetAllConversationMsgOptReq) Descriptor() ([]byte, []int) { +// Deprecated: Use GetConversationsReq.ProtoReflect.Descriptor instead. +func (*GetConversationsReq) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{16} } -func (x *GetAllConversationMsgOptReq) GetFromUserID() string { +func (x *GetConversationsReq) GetOwnerUserID() string { if x != nil { - return x.FromUserID + return x.OwnerUserID } return "" } -func (x *GetAllConversationMsgOptReq) GetOperationID() string { +func (x *GetConversationsReq) GetConversationIDs() []string { + if x != nil { + return x.ConversationIDs + } + return nil +} + +func (x *GetConversationsReq) GetOperationID() string { if x != nil { return x.OperationID } return "" } -func (x *GetAllConversationMsgOptReq) GetOpUserID() string { - if x != nil { - return x.OpUserID - } - return "" -} - -type GetAllConversationMsgOptResp struct { +type GetConversationsResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` - ConversationOptResultList []*OptResult `protobuf:"bytes,3,rep,name=conversationOptResultList,proto3" json:"conversationOptResultList,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + Conversations []*Conversation `protobuf:"bytes,2,rep,name=Conversations,proto3" json:"Conversations,omitempty"` } -func (x *GetAllConversationMsgOptResp) Reset() { - *x = GetAllConversationMsgOptResp{} +func (x *GetConversationsResp) Reset() { + *x = GetConversationsResp{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1051,13 +1090,13 @@ func (x *GetAllConversationMsgOptResp) Reset() { } } -func (x *GetAllConversationMsgOptResp) String() string { +func (x *GetConversationsResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetAllConversationMsgOptResp) ProtoMessage() {} +func (*GetConversationsResp) ProtoMessage() {} -func (x *GetAllConversationMsgOptResp) ProtoReflect() protoreflect.Message { +func (x *GetConversationsResp) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1069,21 +1108,257 @@ func (x *GetAllConversationMsgOptResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetAllConversationMsgOptResp.ProtoReflect.Descriptor instead. -func (*GetAllConversationMsgOptResp) Descriptor() ([]byte, []int) { +// Deprecated: Use GetConversationsResp.ProtoReflect.Descriptor instead. +func (*GetConversationsResp) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{17} } -func (x *GetAllConversationMsgOptResp) GetCommonResp() *CommonResp { +func (x *GetConversationsResp) GetCommonResp() *CommonResp { if x != nil { return x.CommonResp } return nil } -func (x *GetAllConversationMsgOptResp) GetConversationOptResultList() []*OptResult { +func (x *GetConversationsResp) GetConversations() []*Conversation { if x != nil { - return x.ConversationOptResultList + return x.Conversations + } + return nil +} + +type GetAllConversationsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OwnerUserID string `protobuf:"bytes,1,opt,name=OwnerUserID,proto3" json:"OwnerUserID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` +} + +func (x *GetAllConversationsReq) Reset() { + *x = GetAllConversationsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_user_user_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetAllConversationsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAllConversationsReq) ProtoMessage() {} + +func (x *GetAllConversationsReq) ProtoReflect() protoreflect.Message { + mi := &file_user_user_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAllConversationsReq.ProtoReflect.Descriptor instead. +func (*GetAllConversationsReq) Descriptor() ([]byte, []int) { + return file_user_user_proto_rawDescGZIP(), []int{18} +} + +func (x *GetAllConversationsReq) GetOwnerUserID() string { + if x != nil { + return x.OwnerUserID + } + return "" +} + +func (x *GetAllConversationsReq) GetOperationID() string { + if x != nil { + return x.OperationID + } + return "" +} + +type GetAllConversationsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + Conversations []*Conversation `protobuf:"bytes,2,rep,name=Conversations,proto3" json:"Conversations,omitempty"` +} + +func (x *GetAllConversationsResp) Reset() { + *x = GetAllConversationsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_user_user_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetAllConversationsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAllConversationsResp) ProtoMessage() {} + +func (x *GetAllConversationsResp) ProtoReflect() protoreflect.Message { + mi := &file_user_user_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAllConversationsResp.ProtoReflect.Descriptor instead. +func (*GetAllConversationsResp) Descriptor() ([]byte, []int) { + return file_user_user_proto_rawDescGZIP(), []int{19} +} + +func (x *GetAllConversationsResp) GetCommonResp() *CommonResp { + if x != nil { + return x.CommonResp + } + return nil +} + +func (x *GetAllConversationsResp) GetConversations() []*Conversation { + if x != nil { + return x.Conversations + } + return nil +} + +type BatchSetConversationsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Conversations []*Conversation `protobuf:"bytes,1,rep,name=Conversations,proto3" json:"Conversations,omitempty"` + OwnerUserID string `protobuf:"bytes,2,opt,name=OwnerUserID,proto3" json:"OwnerUserID,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` +} + +func (x *BatchSetConversationsReq) Reset() { + *x = BatchSetConversationsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_user_user_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchSetConversationsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchSetConversationsReq) ProtoMessage() {} + +func (x *BatchSetConversationsReq) ProtoReflect() protoreflect.Message { + mi := &file_user_user_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchSetConversationsReq.ProtoReflect.Descriptor instead. +func (*BatchSetConversationsReq) Descriptor() ([]byte, []int) { + return file_user_user_proto_rawDescGZIP(), []int{20} +} + +func (x *BatchSetConversationsReq) GetConversations() []*Conversation { + if x != nil { + return x.Conversations + } + return nil +} + +func (x *BatchSetConversationsReq) GetOwnerUserID() string { + if x != nil { + return x.OwnerUserID + } + return "" +} + +func (x *BatchSetConversationsReq) GetOperationID() string { + if x != nil { + return x.OperationID + } + return "" +} + +type BatchSetConversationsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` + Success []string `protobuf:"bytes,2,rep,name=Success,proto3" json:"Success,omitempty"` + Failed []string `protobuf:"bytes,3,rep,name=Failed,proto3" json:"Failed,omitempty"` +} + +func (x *BatchSetConversationsResp) Reset() { + *x = BatchSetConversationsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_user_user_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchSetConversationsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchSetConversationsResp) ProtoMessage() {} + +func (x *BatchSetConversationsResp) ProtoReflect() protoreflect.Message { + mi := &file_user_user_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchSetConversationsResp.ProtoReflect.Descriptor instead. +func (*BatchSetConversationsResp) Descriptor() ([]byte, []int) { + return file_user_user_proto_rawDescGZIP(), []int{21} +} + +func (x *BatchSetConversationsResp) GetCommonResp() *CommonResp { + if x != nil { + return x.CommonResp + } + return nil +} + +func (x *BatchSetConversationsResp) GetSuccess() []string { + if x != nil { + return x.Success + } + return nil +} + +func (x *BatchSetConversationsResp) GetFailed() []string { + if x != nil { + return x.Failed } return nil } @@ -1100,7 +1375,7 @@ type ResignUserReq struct { func (x *ResignUserReq) Reset() { *x = ResignUserReq{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[18] + mi := &file_user_user_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1113,7 +1388,7 @@ func (x *ResignUserReq) String() string { func (*ResignUserReq) ProtoMessage() {} func (x *ResignUserReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[18] + mi := &file_user_user_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1126,7 +1401,7 @@ func (x *ResignUserReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ResignUserReq.ProtoReflect.Descriptor instead. func (*ResignUserReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{18} + return file_user_user_proto_rawDescGZIP(), []int{22} } func (x *ResignUserReq) GetUserId() string { @@ -1154,7 +1429,7 @@ type ResignUserResp struct { func (x *ResignUserResp) Reset() { *x = ResignUserResp{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[19] + mi := &file_user_user_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1167,7 +1442,7 @@ func (x *ResignUserResp) String() string { func (*ResignUserResp) ProtoMessage() {} func (x *ResignUserResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[19] + mi := &file_user_user_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1180,7 +1455,7 @@ func (x *ResignUserResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ResignUserResp.ProtoReflect.Descriptor instead. func (*ResignUserResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{19} + return file_user_user_proto_rawDescGZIP(), []int{23} } func (x *ResignUserResp) GetCommonResp() *CommonResp { @@ -1202,7 +1477,7 @@ type GetUserByIdReq struct { func (x *GetUserByIdReq) Reset() { *x = GetUserByIdReq{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[20] + mi := &file_user_user_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1215,7 +1490,7 @@ func (x *GetUserByIdReq) String() string { func (*GetUserByIdReq) ProtoMessage() {} func (x *GetUserByIdReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[20] + mi := &file_user_user_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1228,7 +1503,7 @@ func (x *GetUserByIdReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUserByIdReq.ProtoReflect.Descriptor instead. func (*GetUserByIdReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{20} + return file_user_user_proto_rawDescGZIP(), []int{24} } func (x *GetUserByIdReq) GetUserId() string { @@ -1260,7 +1535,7 @@ type User struct { func (x *User) Reset() { *x = User{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[21] + mi := &file_user_user_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1273,7 +1548,7 @@ func (x *User) String() string { func (*User) ProtoMessage() {} func (x *User) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[21] + mi := &file_user_user_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1286,7 +1561,7 @@ func (x *User) ProtoReflect() protoreflect.Message { // Deprecated: Use User.ProtoReflect.Descriptor instead. func (*User) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{21} + return file_user_user_proto_rawDescGZIP(), []int{25} } func (x *User) GetProfilePhoto() string { @@ -1336,7 +1611,7 @@ type GetUserByIdResp struct { func (x *GetUserByIdResp) Reset() { *x = GetUserByIdResp{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[22] + mi := &file_user_user_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1349,7 +1624,7 @@ func (x *GetUserByIdResp) String() string { func (*GetUserByIdResp) ProtoMessage() {} func (x *GetUserByIdResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[22] + mi := &file_user_user_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1362,7 +1637,7 @@ func (x *GetUserByIdResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUserByIdResp.ProtoReflect.Descriptor instead. func (*GetUserByIdResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{22} + return file_user_user_proto_rawDescGZIP(), []int{26} } func (x *GetUserByIdResp) GetCommonResp() *CommonResp { @@ -1392,7 +1667,7 @@ type GetUsersByNameReq struct { func (x *GetUsersByNameReq) Reset() { *x = GetUsersByNameReq{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[23] + mi := &file_user_user_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1405,7 +1680,7 @@ func (x *GetUsersByNameReq) String() string { func (*GetUsersByNameReq) ProtoMessage() {} func (x *GetUsersByNameReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[23] + mi := &file_user_user_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1418,7 +1693,7 @@ func (x *GetUsersByNameReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUsersByNameReq.ProtoReflect.Descriptor instead. func (*GetUsersByNameReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{23} + return file_user_user_proto_rawDescGZIP(), []int{27} } func (x *GetUsersByNameReq) GetUserName() string { @@ -1455,7 +1730,7 @@ type GetUsersByNameResp struct { func (x *GetUsersByNameResp) Reset() { *x = GetUsersByNameResp{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[24] + mi := &file_user_user_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1468,7 +1743,7 @@ func (x *GetUsersByNameResp) String() string { func (*GetUsersByNameResp) ProtoMessage() {} func (x *GetUsersByNameResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[24] + mi := &file_user_user_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1481,7 +1756,7 @@ func (x *GetUsersByNameResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUsersByNameResp.ProtoReflect.Descriptor instead. func (*GetUsersByNameResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{24} + return file_user_user_proto_rawDescGZIP(), []int{28} } func (x *GetUsersByNameResp) GetUsers() []*User { @@ -1521,7 +1796,7 @@ type AlterUserReq struct { func (x *AlterUserReq) Reset() { *x = AlterUserReq{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[25] + mi := &file_user_user_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1534,7 +1809,7 @@ func (x *AlterUserReq) String() string { func (*AlterUserReq) ProtoMessage() {} func (x *AlterUserReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[25] + mi := &file_user_user_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1547,7 +1822,7 @@ func (x *AlterUserReq) ProtoReflect() protoreflect.Message { // Deprecated: Use AlterUserReq.ProtoReflect.Descriptor instead. func (*AlterUserReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{25} + return file_user_user_proto_rawDescGZIP(), []int{29} } func (x *AlterUserReq) GetUserId() string { @@ -1603,7 +1878,7 @@ type AlterUserResp struct { func (x *AlterUserResp) Reset() { *x = AlterUserResp{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[26] + mi := &file_user_user_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1616,7 +1891,7 @@ func (x *AlterUserResp) String() string { func (*AlterUserResp) ProtoMessage() {} func (x *AlterUserResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[26] + mi := &file_user_user_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1629,7 +1904,7 @@ func (x *AlterUserResp) ProtoReflect() protoreflect.Message { // Deprecated: Use AlterUserResp.ProtoReflect.Descriptor instead. func (*AlterUserResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{26} + return file_user_user_proto_rawDescGZIP(), []int{30} } func (x *AlterUserResp) GetCommonResp() *CommonResp { @@ -1652,7 +1927,7 @@ type GetUsersReq struct { func (x *GetUsersReq) Reset() { *x = GetUsersReq{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[27] + mi := &file_user_user_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1665,7 +1940,7 @@ func (x *GetUsersReq) String() string { func (*GetUsersReq) ProtoMessage() {} func (x *GetUsersReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[27] + mi := &file_user_user_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1678,7 +1953,7 @@ func (x *GetUsersReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUsersReq.ProtoReflect.Descriptor instead. func (*GetUsersReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{27} + return file_user_user_proto_rawDescGZIP(), []int{31} } func (x *GetUsersReq) GetOperationID() string { @@ -1716,7 +1991,7 @@ type GetUsersResp struct { func (x *GetUsersResp) Reset() { *x = GetUsersResp{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[28] + mi := &file_user_user_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1729,7 +2004,7 @@ func (x *GetUsersResp) String() string { func (*GetUsersResp) ProtoMessage() {} func (x *GetUsersResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[28] + mi := &file_user_user_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1742,7 +2017,7 @@ func (x *GetUsersResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUsersResp.ProtoReflect.Descriptor instead. func (*GetUsersResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{28} + return file_user_user_proto_rawDescGZIP(), []int{32} } func (x *GetUsersResp) GetCommonResp() *CommonResp { @@ -1788,7 +2063,7 @@ type AddUserReq struct { func (x *AddUserReq) Reset() { *x = AddUserReq{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[29] + mi := &file_user_user_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1801,7 +2076,7 @@ func (x *AddUserReq) String() string { func (*AddUserReq) ProtoMessage() {} func (x *AddUserReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[29] + mi := &file_user_user_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1814,7 +2089,7 @@ func (x *AddUserReq) ProtoReflect() protoreflect.Message { // Deprecated: Use AddUserReq.ProtoReflect.Descriptor instead. func (*AddUserReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{29} + return file_user_user_proto_rawDescGZIP(), []int{33} } func (x *AddUserReq) GetOperationID() string { @@ -1863,7 +2138,7 @@ type AddUserResp struct { func (x *AddUserResp) Reset() { *x = AddUserResp{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[30] + mi := &file_user_user_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1876,7 +2151,7 @@ func (x *AddUserResp) String() string { func (*AddUserResp) ProtoMessage() {} func (x *AddUserResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[30] + mi := &file_user_user_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1889,7 +2164,7 @@ func (x *AddUserResp) ProtoReflect() protoreflect.Message { // Deprecated: Use AddUserResp.ProtoReflect.Descriptor instead. func (*AddUserResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{30} + return file_user_user_proto_rawDescGZIP(), []int{34} } func (x *AddUserResp) GetCommonResp() *CommonResp { @@ -1913,7 +2188,7 @@ type BlockUserReq struct { func (x *BlockUserReq) Reset() { *x = BlockUserReq{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[31] + mi := &file_user_user_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1926,7 +2201,7 @@ func (x *BlockUserReq) String() string { func (*BlockUserReq) ProtoMessage() {} func (x *BlockUserReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[31] + mi := &file_user_user_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1939,7 +2214,7 @@ func (x *BlockUserReq) ProtoReflect() protoreflect.Message { // Deprecated: Use BlockUserReq.ProtoReflect.Descriptor instead. func (*BlockUserReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{31} + return file_user_user_proto_rawDescGZIP(), []int{35} } func (x *BlockUserReq) GetUserId() string { @@ -1981,7 +2256,7 @@ type BlockUserResp struct { func (x *BlockUserResp) Reset() { *x = BlockUserResp{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[32] + mi := &file_user_user_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1994,7 +2269,7 @@ func (x *BlockUserResp) String() string { func (*BlockUserResp) ProtoMessage() {} func (x *BlockUserResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[32] + mi := &file_user_user_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2007,7 +2282,7 @@ func (x *BlockUserResp) ProtoReflect() protoreflect.Message { // Deprecated: Use BlockUserResp.ProtoReflect.Descriptor instead. func (*BlockUserResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{32} + return file_user_user_proto_rawDescGZIP(), []int{36} } func (x *BlockUserResp) GetCommonResp() *CommonResp { @@ -2030,7 +2305,7 @@ type UnBlockUserReq struct { func (x *UnBlockUserReq) Reset() { *x = UnBlockUserReq{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[33] + mi := &file_user_user_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2043,7 +2318,7 @@ func (x *UnBlockUserReq) String() string { func (*UnBlockUserReq) ProtoMessage() {} func (x *UnBlockUserReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[33] + mi := &file_user_user_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2056,7 +2331,7 @@ func (x *UnBlockUserReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UnBlockUserReq.ProtoReflect.Descriptor instead. func (*UnBlockUserReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{33} + return file_user_user_proto_rawDescGZIP(), []int{37} } func (x *UnBlockUserReq) GetUserId() string { @@ -2091,7 +2366,7 @@ type UnBlockUserResp struct { func (x *UnBlockUserResp) Reset() { *x = UnBlockUserResp{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[34] + mi := &file_user_user_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2104,7 +2379,7 @@ func (x *UnBlockUserResp) String() string { func (*UnBlockUserResp) ProtoMessage() {} func (x *UnBlockUserResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[34] + mi := &file_user_user_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2117,7 +2392,7 @@ func (x *UnBlockUserResp) ProtoReflect() protoreflect.Message { // Deprecated: Use UnBlockUserResp.ProtoReflect.Descriptor instead. func (*UnBlockUserResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{34} + return file_user_user_proto_rawDescGZIP(), []int{38} } func (x *UnBlockUserResp) GetCommonResp() *CommonResp { @@ -2140,7 +2415,7 @@ type GetBlockUsersReq struct { func (x *GetBlockUsersReq) Reset() { *x = GetBlockUsersReq{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[35] + mi := &file_user_user_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2153,7 +2428,7 @@ func (x *GetBlockUsersReq) String() string { func (*GetBlockUsersReq) ProtoMessage() {} func (x *GetBlockUsersReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[35] + mi := &file_user_user_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2166,7 +2441,7 @@ func (x *GetBlockUsersReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBlockUsersReq.ProtoReflect.Descriptor instead. func (*GetBlockUsersReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{35} + return file_user_user_proto_rawDescGZIP(), []int{39} } func (x *GetBlockUsersReq) GetPagination() *sdk_ws.RequestPagination { @@ -2203,7 +2478,7 @@ type BlockUser struct { func (x *BlockUser) Reset() { *x = BlockUser{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[36] + mi := &file_user_user_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2216,7 +2491,7 @@ func (x *BlockUser) String() string { func (*BlockUser) ProtoMessage() {} func (x *BlockUser) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[36] + mi := &file_user_user_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2229,7 +2504,7 @@ func (x *BlockUser) ProtoReflect() protoreflect.Message { // Deprecated: Use BlockUser.ProtoReflect.Descriptor instead. func (*BlockUser) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{36} + return file_user_user_proto_rawDescGZIP(), []int{40} } func (x *BlockUser) GetUser() *User { @@ -2267,7 +2542,7 @@ type GetBlockUsersResp struct { func (x *GetBlockUsersResp) Reset() { *x = GetBlockUsersResp{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[37] + mi := &file_user_user_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2280,7 +2555,7 @@ func (x *GetBlockUsersResp) String() string { func (*GetBlockUsersResp) ProtoMessage() {} func (x *GetBlockUsersResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[37] + mi := &file_user_user_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2293,7 +2568,7 @@ func (x *GetBlockUsersResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBlockUsersResp.ProtoReflect.Descriptor instead. func (*GetBlockUsersResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{37} + return file_user_user_proto_rawDescGZIP(), []int{41} } func (x *GetBlockUsersResp) GetCommonResp() *CommonResp { @@ -2336,7 +2611,7 @@ type GetBlockUserByIdReq struct { func (x *GetBlockUserByIdReq) Reset() { *x = GetBlockUserByIdReq{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[38] + mi := &file_user_user_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2349,7 +2624,7 @@ func (x *GetBlockUserByIdReq) String() string { func (*GetBlockUserByIdReq) ProtoMessage() {} func (x *GetBlockUserByIdReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[38] + mi := &file_user_user_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2362,7 +2637,7 @@ func (x *GetBlockUserByIdReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBlockUserByIdReq.ProtoReflect.Descriptor instead. func (*GetBlockUserByIdReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{38} + return file_user_user_proto_rawDescGZIP(), []int{42} } func (x *GetBlockUserByIdReq) GetUserId() string { @@ -2390,7 +2665,7 @@ type GetBlockUserByIdResp struct { func (x *GetBlockUserByIdResp) Reset() { *x = GetBlockUserByIdResp{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[39] + mi := &file_user_user_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2403,7 +2678,7 @@ func (x *GetBlockUserByIdResp) String() string { func (*GetBlockUserByIdResp) ProtoMessage() {} func (x *GetBlockUserByIdResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[39] + mi := &file_user_user_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2416,7 +2691,7 @@ func (x *GetBlockUserByIdResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBlockUserByIdResp.ProtoReflect.Descriptor instead. func (*GetBlockUserByIdResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{39} + return file_user_user_proto_rawDescGZIP(), []int{43} } func (x *GetBlockUserByIdResp) GetBlockUser() *BlockUser { @@ -2439,7 +2714,7 @@ type DeleteUserReq struct { func (x *DeleteUserReq) Reset() { *x = DeleteUserReq{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[40] + mi := &file_user_user_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2452,7 +2727,7 @@ func (x *DeleteUserReq) String() string { func (*DeleteUserReq) ProtoMessage() {} func (x *DeleteUserReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[40] + mi := &file_user_user_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2465,7 +2740,7 @@ func (x *DeleteUserReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteUserReq.ProtoReflect.Descriptor instead. func (*DeleteUserReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{40} + return file_user_user_proto_rawDescGZIP(), []int{44} } func (x *DeleteUserReq) GetUserId() string { @@ -2493,12 +2768,14 @@ type DeleteUserResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` } func (x *DeleteUserResp) Reset() { *x = DeleteUserResp{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[41] + mi := &file_user_user_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2511,7 +2788,7 @@ func (x *DeleteUserResp) String() string { func (*DeleteUserResp) ProtoMessage() {} func (x *DeleteUserResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[41] + mi := &file_user_user_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2524,7 +2801,14 @@ func (x *DeleteUserResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteUserResp.ProtoReflect.Descriptor instead. func (*DeleteUserResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{41} + return file_user_user_proto_rawDescGZIP(), []int{45} +} + +func (x *DeleteUserResp) GetCommonResp() *CommonResp { + if x != nil { + return x.CommonResp + } + return nil } type AccountCheckResp_SingleUserStatus struct { @@ -2539,7 +2823,7 @@ type AccountCheckResp_SingleUserStatus struct { func (x *AccountCheckResp_SingleUserStatus) Reset() { *x = AccountCheckResp_SingleUserStatus{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[42] + mi := &file_user_user_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2552,7 +2836,7 @@ func (x *AccountCheckResp_SingleUserStatus) String() string { func (*AccountCheckResp_SingleUserStatus) ProtoMessage() {} func (x *AccountCheckResp_SingleUserStatus) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[42] + mi := &file_user_user_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2669,325 +2953,372 @@ var file_user_user_proto_rawDesc = []byte{ 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0xb9, 0x01, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x52, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, - 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x03, 0x6f, 0x70, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x44, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x44, 0x22, 0x4b, 0x0a, 0x09, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x22, 0x9b, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, - 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x4d, 0x0a, 0x19, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, - 0x70, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x52, 0x19, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xa7, - 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x46, 0x72, - 0x6f, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, - 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x9b, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, - 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, + 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x94, 0x03, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x77, 0x6e, 0x65, + 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, + 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, + 0x70, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, + 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, + 0x12, 0x20, 0x0a, 0x0b, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x44, 0x72, 0x61, 0x66, 0x74, 0x54, 0x65, 0x78, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x44, 0x72, 0x61, 0x66, 0x74, + 0x54, 0x65, 0x78, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x73, 0x50, 0x69, + 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x49, 0x73, 0x50, 0x69, + 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, + 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x41, 0x74, 0x74, 0x61, + 0x63, 0x68, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x49, 0x73, 0x50, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0d, 0x49, 0x73, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x45, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x45, 0x78, 0x22, 0x6e, + 0x0a, 0x12, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x12, 0x36, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x75, 0x73, 0x65, + 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, + 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x47, + 0x0a, 0x13, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4d, 0x0a, 0x19, 0x63, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x75, 0x73, 0x65, - 0x72, 0x2e, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x19, 0x63, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x7b, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, - 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x4f, - 0x70, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x46, 0x72, 0x6f, 0x6d, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x44, 0x22, 0x9f, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, + 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x80, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x26, + 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x77, 0x6e, + 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x7f, 0x0a, 0x13, 0x47, 0x65, + 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, + 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x43, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x01, 0x0a, 0x13, + 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, + 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x73, 0x12, + 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x44, 0x22, 0x82, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, + 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x38, 0x0a, 0x0d, + 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x5c, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, + 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x85, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x30, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x38, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, + 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x43, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x98, 0x01, 0x0a, + 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x12, 0x38, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x7f, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4d, 0x0a, 0x19, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4c, - 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x75, 0x73, 0x65, 0x72, - 0x2e, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x19, 0x63, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x49, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x55, - 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, - 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, - 0x22, 0x42, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x22, 0x4a, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, - 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, - 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, - 0x22, 0x98, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x50, 0x72, 0x6f, - 0x66, 0x69, 0x6c, 0x65, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x0a, - 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x07, 0x49, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x63, 0x0a, 0x0f, 0x47, - 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, - 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x1e, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, - 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, - 0x22, 0x97, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4e, - 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, - 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x50, 0x61, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x99, 0x01, 0x0a, 0x12, 0x47, - 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x20, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0a, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, - 0x65, 0x72, 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, - 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, - 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x55, 0x73, - 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x73, 0x22, 0xb8, 0x01, 0x0a, 0x0c, 0x41, 0x6c, 0x74, 0x65, 0x72, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x22, 0x41, 0x0a, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x22, 0x91, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x44, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, - 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xc3, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, - 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, - 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x75, - 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x75, 0x73, 0x65, 0x72, - 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x0a, 0x50, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x67, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x73, 0x22, 0x98, - 0x01, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, - 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, - 0x20, 0x0a, 0x0b, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x3f, 0x0a, 0x0b, 0x41, 0x64, 0x64, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, - 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, - 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x8c, 0x01, 0x0a, 0x0c, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x6e, 0x64, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x45, 0x6e, 0x64, - 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, - 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x41, 0x0a, 0x0d, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, - 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x66, 0x0a, 0x0e, - 0x55, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x16, - 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x0f, 0x55, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, - 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, - 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x9e, 0x01, 0x0a, 0x10, 0x47, 0x65, - 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x44, - 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, - 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x22, 0x7f, 0x0a, 0x09, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x42, 0x65, 0x67, 0x69, 0x6e, - 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x10, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x6e, 0x64, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x45, 0x6e, 0x64, - 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xd9, 0x01, 0x0a, 0x11, - 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x12, 0x16, 0x0a, 0x06, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x06, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x22, 0x49, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x69, + 0x67, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x44, 0x22, 0x42, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x55, 0x73, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, + 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x4a, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, + 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x44, 0x22, 0x98, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x68, 0x6f, 0x74, 0x6f, + 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x49, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x63, + 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x2f, 0x0a, 0x0a, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x0a, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, - 0x73, 0x65, 0x72, 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x55, - 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x55, - 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x73, 0x22, 0x50, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x12, 0x17, - 0x0a, 0x07, 0x55, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0a, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, + 0x73, 0x65, 0x72, 0x22, 0x97, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, + 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, + 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, 0x73, 0x65, + 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x99, 0x01, + 0x0a, 0x12, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, + 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x73, 0x22, 0xb8, 0x01, 0x0a, 0x0c, 0x41, 0x6c, + 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x50, 0x68, 0x6f, 0x6e, 0x65, + 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x22, 0x41, 0x0a, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, + 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x91, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x55, + 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x44, 0x0a, 0x0a, 0x50, 0x61, 0x67, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xc3, 0x01, 0x0a, 0x0c, + 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, + 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x75, + 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x45, + 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, + 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, + 0x73, 0x22, 0x98, 0x01, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x3f, 0x0a, 0x0b, + 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x8c, 0x01, + 0x0a, 0x0c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x16, + 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x6e, 0x64, 0x44, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x45, 0x6e, 0x64, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, + 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, + 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x41, 0x0a, 0x0d, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, + 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, + 0x66, 0x0a, 0x0e, 0x55, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, + 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, + 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x0f, 0x55, 0x6e, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, + 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x9e, 0x01, 0x0a, + 0x10, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x12, 0x44, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, + 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x50, 0x61, 0x67, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x45, 0x0a, 0x14, 0x47, 0x65, 0x74, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x2d, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, - 0x22, 0x66, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x22, 0x7f, 0x0a, + 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x04, 0x55, 0x73, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x42, 0x65, + 0x67, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x6e, 0x64, 0x44, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x45, 0x6e, 0x64, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xd9, + 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2f, 0x0a, 0x0a, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, + 0x73, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x75, 0x73, 0x65, + 0x72, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x0a, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, + 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x73, 0x22, 0x50, 0x0a, 0x13, 0x47, 0x65, + 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x55, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, - 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x10, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x32, 0xdd, 0x09, 0x0a, 0x04, 0x75, - 0x73, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, - 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x43, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x17, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x75, 0x73, 0x65, - 0x72, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x73, 0x12, 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x75, 0x73, 0x65, 0x72, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x3d, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, - 0x12, 0x15, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x44, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, - 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x55, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x12, 0x1d, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x53, - 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x4f, 0x70, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x53, 0x65, - 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, - 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, - 0x65, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x12, 0x1d, - 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, - 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, - 0x18, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x12, 0x21, 0x2e, 0x75, 0x73, 0x65, 0x72, - 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x75, - 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x3d, 0x0a, 0x0c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x12, 0x15, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x3a, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x12, 0x14, - 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, - 0x64, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x0e, 0x47, - 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x2e, - 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4e, - 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x37, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x12, 0x13, - 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x69, 0x67, - 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x34, 0x0a, 0x09, 0x41, 0x6c, 0x74, - 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, 0x6c, - 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x75, 0x73, 0x65, - 0x72, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x31, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x11, 0x2e, 0x75, 0x73, - 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x12, - 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x12, 0x10, 0x2e, - 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, - 0x11, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x34, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x12, - 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x0b, 0x55, 0x6e, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x12, 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, - 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, - 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x40, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, - 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x12, 0x19, 0x2e, 0x75, 0x73, 0x65, - 0x72, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, - 0x49, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x37, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, - 0x13, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0d, 0x5a, 0x0b, 0x2e, 0x2f, - 0x75, 0x73, 0x65, 0x72, 0x3b, 0x75, 0x73, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x45, 0x0a, 0x14, + 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, + 0x73, 0x65, 0x72, 0x22, 0x66, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x55, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, + 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, + 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x42, 0x0a, 0x0e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, + 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x32, + 0xd5, 0x0a, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, + 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, + 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, + 0x18, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x0b, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x15, + 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x15, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, + 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x75, + 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x0c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x12, 0x15, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x75, 0x73, + 0x65, 0x72, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, + 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x1a, 0x19, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x13, 0x47, + 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x1c, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, + 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x1a, 0x1d, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x49, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x19, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1a, + 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x15, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x53, + 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x1a, 0x19, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x0b, + 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x12, 0x14, 0x2e, 0x75, 0x73, + 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, + 0x71, 0x1a, 0x15, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, + 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x2e, 0x75, 0x73, 0x65, + 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, + 0x65, 0x72, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x37, 0x0a, + 0x0a, 0x52, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x12, 0x13, 0x2e, 0x75, 0x73, + 0x65, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x1a, 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x55, 0x73, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x34, 0x0a, 0x09, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x55, + 0x73, 0x65, 0x72, 0x12, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, + 0x6c, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x08, + 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x11, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, + 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x75, 0x73, + 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x2e, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x12, 0x10, 0x2e, 0x75, 0x73, 0x65, + 0x72, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x75, + 0x73, 0x65, 0x72, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x34, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x12, 0x12, 0x2e, 0x75, + 0x73, 0x65, 0x72, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x1a, 0x13, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x0b, 0x55, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x55, 0x73, 0x65, 0x72, 0x12, 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x6e, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x75, 0x73, 0x65, + 0x72, 0x2e, 0x55, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x40, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, + 0x72, 0x73, 0x12, 0x16, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x75, 0x73, 0x65, + 0x72, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, + 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x12, 0x19, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, + 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, + 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x37, + 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x13, 0x2e, 0x75, + 0x73, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x1a, 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0d, 0x5a, 0x0b, 0x2e, 0x2f, 0x75, 0x73, 0x65, + 0x72, 0x3b, 0x75, 0x73, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3002,7 +3333,7 @@ func file_user_user_proto_rawDescGZIP() []byte { return file_user_user_proto_rawDescData } -var file_user_user_proto_msgTypes = make([]protoimpl.MessageInfo, 43) +var file_user_user_proto_msgTypes = make([]protoimpl.MessageInfo, 47) var file_user_user_proto_goTypes = []interface{}{ (*CommonResp)(nil), // 0: user.CommonResp (*DeleteUsersReq)(nil), // 1: user.DeleteUsersReq @@ -3015,120 +3346,133 @@ var file_user_user_proto_goTypes = []interface{}{ (*GetUserInfoResp)(nil), // 8: user.GetUserInfoResp (*UpdateUserInfoReq)(nil), // 9: user.UpdateUserInfoReq (*UpdateUserInfoResp)(nil), // 10: user.UpdateUserInfoResp - (*SetReceiveMessageOptReq)(nil), // 11: user.SetReceiveMessageOptReq - (*OptResult)(nil), // 12: user.OptResult - (*SetReceiveMessageOptResp)(nil), // 13: user.SetReceiveMessageOptResp - (*GetReceiveMessageOptReq)(nil), // 14: user.GetReceiveMessageOptReq - (*GetReceiveMessageOptResp)(nil), // 15: user.GetReceiveMessageOptResp - (*GetAllConversationMsgOptReq)(nil), // 16: user.GetAllConversationMsgOptReq - (*GetAllConversationMsgOptResp)(nil), // 17: user.GetAllConversationMsgOptResp - (*ResignUserReq)(nil), // 18: user.ResignUserReq - (*ResignUserResp)(nil), // 19: user.ResignUserResp - (*GetUserByIdReq)(nil), // 20: user.GetUserByIdReq - (*User)(nil), // 21: user.User - (*GetUserByIdResp)(nil), // 22: user.GetUserByIdResp - (*GetUsersByNameReq)(nil), // 23: user.GetUsersByNameReq - (*GetUsersByNameResp)(nil), // 24: user.GetUsersByNameResp - (*AlterUserReq)(nil), // 25: user.AlterUserReq - (*AlterUserResp)(nil), // 26: user.AlterUserResp - (*GetUsersReq)(nil), // 27: user.GetUsersReq - (*GetUsersResp)(nil), // 28: user.GetUsersResp - (*AddUserReq)(nil), // 29: user.AddUserReq - (*AddUserResp)(nil), // 30: user.AddUserResp - (*BlockUserReq)(nil), // 31: user.BlockUserReq - (*BlockUserResp)(nil), // 32: user.BlockUserResp - (*UnBlockUserReq)(nil), // 33: user.UnBlockUserReq - (*UnBlockUserResp)(nil), // 34: user.UnBlockUserResp - (*GetBlockUsersReq)(nil), // 35: user.GetBlockUsersReq - (*BlockUser)(nil), // 36: user.BlockUser - (*GetBlockUsersResp)(nil), // 37: user.GetBlockUsersResp - (*GetBlockUserByIdReq)(nil), // 38: user.GetBlockUserByIdReq - (*GetBlockUserByIdResp)(nil), // 39: user.GetBlockUserByIdResp - (*DeleteUserReq)(nil), // 40: user.DeleteUserReq - (*DeleteUserResp)(nil), // 41: user.DeleteUserResp - (*AccountCheckResp_SingleUserStatus)(nil), // 42: user.AccountCheckResp.SingleUserStatus - (*sdk_ws.UserInfo)(nil), // 43: server_api_params.UserInfo - (*sdk_ws.RequestPagination)(nil), // 44: server_api_params.RequestPagination - (*sdk_ws.ResponsePagination)(nil), // 45: server_api_params.ResponsePagination + (*Conversation)(nil), // 11: user.Conversation + (*SetConversationReq)(nil), // 12: user.SetConversationReq + (*SetConversationResp)(nil), // 13: user.SetConversationResp + (*GetConversationReq)(nil), // 14: user.GetConversationReq + (*GetConversationResp)(nil), // 15: user.GetConversationResp + (*GetConversationsReq)(nil), // 16: user.GetConversationsReq + (*GetConversationsResp)(nil), // 17: user.GetConversationsResp + (*GetAllConversationsReq)(nil), // 18: user.GetAllConversationsReq + (*GetAllConversationsResp)(nil), // 19: user.GetAllConversationsResp + (*BatchSetConversationsReq)(nil), // 20: user.BatchSetConversationsReq + (*BatchSetConversationsResp)(nil), // 21: user.BatchSetConversationsResp + (*ResignUserReq)(nil), // 22: user.ResignUserReq + (*ResignUserResp)(nil), // 23: user.ResignUserResp + (*GetUserByIdReq)(nil), // 24: user.GetUserByIdReq + (*User)(nil), // 25: user.User + (*GetUserByIdResp)(nil), // 26: user.GetUserByIdResp + (*GetUsersByNameReq)(nil), // 27: user.GetUsersByNameReq + (*GetUsersByNameResp)(nil), // 28: user.GetUsersByNameResp + (*AlterUserReq)(nil), // 29: user.AlterUserReq + (*AlterUserResp)(nil), // 30: user.AlterUserResp + (*GetUsersReq)(nil), // 31: user.GetUsersReq + (*GetUsersResp)(nil), // 32: user.GetUsersResp + (*AddUserReq)(nil), // 33: user.AddUserReq + (*AddUserResp)(nil), // 34: user.AddUserResp + (*BlockUserReq)(nil), // 35: user.BlockUserReq + (*BlockUserResp)(nil), // 36: user.BlockUserResp + (*UnBlockUserReq)(nil), // 37: user.UnBlockUserReq + (*UnBlockUserResp)(nil), // 38: user.UnBlockUserResp + (*GetBlockUsersReq)(nil), // 39: user.GetBlockUsersReq + (*BlockUser)(nil), // 40: user.BlockUser + (*GetBlockUsersResp)(nil), // 41: user.GetBlockUsersResp + (*GetBlockUserByIdReq)(nil), // 42: user.GetBlockUserByIdReq + (*GetBlockUserByIdResp)(nil), // 43: user.GetBlockUserByIdResp + (*DeleteUserReq)(nil), // 44: user.DeleteUserReq + (*DeleteUserResp)(nil), // 45: user.DeleteUserResp + (*AccountCheckResp_SingleUserStatus)(nil), // 46: user.AccountCheckResp.SingleUserStatus + (*sdk_ws.UserInfo)(nil), // 47: server_api_params.UserInfo + (*sdk_ws.RequestPagination)(nil), // 48: server_api_params.RequestPagination + (*sdk_ws.ResponsePagination)(nil), // 49: server_api_params.ResponsePagination } var file_user_user_proto_depIdxs = []int32{ 0, // 0: user.DeleteUsersResp.CommonResp:type_name -> user.CommonResp 0, // 1: user.GetAllUserIDResp.CommonResp:type_name -> user.CommonResp 0, // 2: user.AccountCheckResp.commonResp:type_name -> user.CommonResp - 42, // 3: user.AccountCheckResp.ResultList:type_name -> user.AccountCheckResp.SingleUserStatus + 46, // 3: user.AccountCheckResp.ResultList:type_name -> user.AccountCheckResp.SingleUserStatus 0, // 4: user.GetUserInfoResp.commonResp:type_name -> user.CommonResp - 43, // 5: user.GetUserInfoResp.UserInfoList:type_name -> server_api_params.UserInfo - 43, // 6: user.UpdateUserInfoReq.UserInfo:type_name -> server_api_params.UserInfo + 47, // 5: user.GetUserInfoResp.UserInfoList:type_name -> server_api_params.UserInfo + 47, // 6: user.UpdateUserInfoReq.UserInfo:type_name -> server_api_params.UserInfo 0, // 7: user.UpdateUserInfoResp.commonResp:type_name -> user.CommonResp - 0, // 8: user.SetReceiveMessageOptResp.commonResp:type_name -> user.CommonResp - 12, // 9: user.SetReceiveMessageOptResp.conversationOptResultList:type_name -> user.OptResult - 0, // 10: user.GetReceiveMessageOptResp.commonResp:type_name -> user.CommonResp - 12, // 11: user.GetReceiveMessageOptResp.conversationOptResultList:type_name -> user.OptResult - 0, // 12: user.GetAllConversationMsgOptResp.commonResp:type_name -> user.CommonResp - 12, // 13: user.GetAllConversationMsgOptResp.conversationOptResultList:type_name -> user.OptResult - 0, // 14: user.ResignUserResp.commonResp:type_name -> user.CommonResp - 0, // 15: user.GetUserByIdResp.CommonResp:type_name -> user.CommonResp - 21, // 16: user.GetUserByIdResp.user:type_name -> user.User - 44, // 17: user.GetUsersByNameReq.Pagination:type_name -> server_api_params.RequestPagination - 21, // 18: user.GetUsersByNameResp.users:type_name -> user.User - 45, // 19: user.GetUsersByNameResp.Pagination:type_name -> server_api_params.ResponsePagination - 0, // 20: user.AlterUserResp.CommonResp:type_name -> user.CommonResp - 44, // 21: user.GetUsersReq.Pagination:type_name -> server_api_params.RequestPagination - 0, // 22: user.GetUsersResp.CommonResp:type_name -> user.CommonResp - 21, // 23: user.GetUsersResp.user:type_name -> user.User - 45, // 24: user.GetUsersResp.Pagination:type_name -> server_api_params.ResponsePagination - 0, // 25: user.AddUserResp.CommonResp:type_name -> user.CommonResp - 0, // 26: user.BlockUserResp.CommonResp:type_name -> user.CommonResp - 0, // 27: user.UnBlockUserResp.CommonResp:type_name -> user.CommonResp - 44, // 28: user.GetBlockUsersReq.Pagination:type_name -> server_api_params.RequestPagination - 21, // 29: user.BlockUser.User:type_name -> user.User - 0, // 30: user.GetBlockUsersResp.CommonResp:type_name -> user.CommonResp - 36, // 31: user.GetBlockUsersResp.BlockUsers:type_name -> user.BlockUser - 45, // 32: user.GetBlockUsersResp.Pagination:type_name -> server_api_params.ResponsePagination - 36, // 33: user.GetBlockUserByIdResp.BlockUser:type_name -> user.BlockUser - 7, // 34: user.user.GetUserInfo:input_type -> user.GetUserInfoReq - 9, // 35: user.user.UpdateUserInfo:input_type -> user.UpdateUserInfoReq - 1, // 36: user.user.DeleteUsers:input_type -> user.DeleteUsersReq - 3, // 37: user.user.GetAllUserID:input_type -> user.GetAllUserIDReq - 11, // 38: user.user.SetReceiveMessageOpt:input_type -> user.SetReceiveMessageOptReq - 14, // 39: user.user.GetReceiveMessageOpt:input_type -> user.GetReceiveMessageOptReq - 16, // 40: user.user.GetAllConversationMsgOpt:input_type -> user.GetAllConversationMsgOptReq - 5, // 41: user.user.AccountCheck:input_type -> user.AccountCheckReq - 20, // 42: user.user.GetUserById:input_type -> user.GetUserByIdReq - 23, // 43: user.user.GetUsersByName:input_type -> user.GetUsersByNameReq - 18, // 44: user.user.ResignUser:input_type -> user.ResignUserReq - 25, // 45: user.user.AlterUser:input_type -> user.AlterUserReq - 27, // 46: user.user.GetUsers:input_type -> user.GetUsersReq - 29, // 47: user.user.AddUser:input_type -> user.AddUserReq - 31, // 48: user.user.BlockUser:input_type -> user.BlockUserReq - 33, // 49: user.user.UnBlockUser:input_type -> user.UnBlockUserReq - 35, // 50: user.user.GetBlockUsers:input_type -> user.GetBlockUsersReq - 38, // 51: user.user.GetBlockUserById:input_type -> user.GetBlockUserByIdReq - 40, // 52: user.user.DeleteUser:input_type -> user.DeleteUserReq - 8, // 53: user.user.GetUserInfo:output_type -> user.GetUserInfoResp - 10, // 54: user.user.UpdateUserInfo:output_type -> user.UpdateUserInfoResp - 2, // 55: user.user.DeleteUsers:output_type -> user.DeleteUsersResp - 4, // 56: user.user.GetAllUserID:output_type -> user.GetAllUserIDResp - 13, // 57: user.user.SetReceiveMessageOpt:output_type -> user.SetReceiveMessageOptResp - 15, // 58: user.user.GetReceiveMessageOpt:output_type -> user.GetReceiveMessageOptResp - 17, // 59: user.user.GetAllConversationMsgOpt:output_type -> user.GetAllConversationMsgOptResp - 6, // 60: user.user.AccountCheck:output_type -> user.AccountCheckResp - 22, // 61: user.user.GetUserById:output_type -> user.GetUserByIdResp - 24, // 62: user.user.GetUsersByName:output_type -> user.GetUsersByNameResp - 19, // 63: user.user.ResignUser:output_type -> user.ResignUserResp - 26, // 64: user.user.AlterUser:output_type -> user.AlterUserResp - 28, // 65: user.user.GetUsers:output_type -> user.GetUsersResp - 30, // 66: user.user.AddUser:output_type -> user.AddUserResp - 32, // 67: user.user.BlockUser:output_type -> user.BlockUserResp - 34, // 68: user.user.UnBlockUser:output_type -> user.UnBlockUserResp - 37, // 69: user.user.GetBlockUsers:output_type -> user.GetBlockUsersResp - 39, // 70: user.user.GetBlockUserById:output_type -> user.GetBlockUserByIdResp - 41, // 71: user.user.DeleteUser:output_type -> user.DeleteUserResp - 53, // [53:72] is the sub-list for method output_type - 34, // [34:53] is the sub-list for method input_type - 34, // [34:34] is the sub-list for extension type_name - 34, // [34:34] is the sub-list for extension extendee - 0, // [0:34] is the sub-list for field type_name + 11, // 8: user.SetConversationReq.Conversation:type_name -> user.Conversation + 0, // 9: user.SetConversationResp.commonResp:type_name -> user.CommonResp + 0, // 10: user.GetConversationResp.commonResp:type_name -> user.CommonResp + 11, // 11: user.GetConversationResp.Conversation:type_name -> user.Conversation + 0, // 12: user.GetConversationsResp.commonResp:type_name -> user.CommonResp + 11, // 13: user.GetConversationsResp.Conversations:type_name -> user.Conversation + 0, // 14: user.GetAllConversationsResp.commonResp:type_name -> user.CommonResp + 11, // 15: user.GetAllConversationsResp.Conversations:type_name -> user.Conversation + 11, // 16: user.BatchSetConversationsReq.Conversations:type_name -> user.Conversation + 0, // 17: user.BatchSetConversationsResp.commonResp:type_name -> user.CommonResp + 0, // 18: user.ResignUserResp.commonResp:type_name -> user.CommonResp + 0, // 19: user.GetUserByIdResp.CommonResp:type_name -> user.CommonResp + 25, // 20: user.GetUserByIdResp.user:type_name -> user.User + 48, // 21: user.GetUsersByNameReq.Pagination:type_name -> server_api_params.RequestPagination + 25, // 22: user.GetUsersByNameResp.users:type_name -> user.User + 49, // 23: user.GetUsersByNameResp.Pagination:type_name -> server_api_params.ResponsePagination + 0, // 24: user.AlterUserResp.CommonResp:type_name -> user.CommonResp + 48, // 25: user.GetUsersReq.Pagination:type_name -> server_api_params.RequestPagination + 0, // 26: user.GetUsersResp.CommonResp:type_name -> user.CommonResp + 25, // 27: user.GetUsersResp.user:type_name -> user.User + 49, // 28: user.GetUsersResp.Pagination:type_name -> server_api_params.ResponsePagination + 0, // 29: user.AddUserResp.CommonResp:type_name -> user.CommonResp + 0, // 30: user.BlockUserResp.CommonResp:type_name -> user.CommonResp + 0, // 31: user.UnBlockUserResp.CommonResp:type_name -> user.CommonResp + 48, // 32: user.GetBlockUsersReq.Pagination:type_name -> server_api_params.RequestPagination + 25, // 33: user.BlockUser.User:type_name -> user.User + 0, // 34: user.GetBlockUsersResp.CommonResp:type_name -> user.CommonResp + 40, // 35: user.GetBlockUsersResp.BlockUsers:type_name -> user.BlockUser + 49, // 36: user.GetBlockUsersResp.Pagination:type_name -> server_api_params.ResponsePagination + 40, // 37: user.GetBlockUserByIdResp.BlockUser:type_name -> user.BlockUser + 0, // 38: user.DeleteUserResp.CommonResp:type_name -> user.CommonResp + 7, // 39: user.user.GetUserInfo:input_type -> user.GetUserInfoReq + 9, // 40: user.user.UpdateUserInfo:input_type -> user.UpdateUserInfoReq + 1, // 41: user.user.DeleteUsers:input_type -> user.DeleteUsersReq + 3, // 42: user.user.GetAllUserID:input_type -> user.GetAllUserIDReq + 5, // 43: user.user.AccountCheck:input_type -> user.AccountCheckReq + 14, // 44: user.user.GetConversation:input_type -> user.GetConversationReq + 18, // 45: user.user.GetAllConversations:input_type -> user.GetAllConversationsReq + 16, // 46: user.user.GetConversations:input_type -> user.GetConversationsReq + 20, // 47: user.user.BatchSetConversations:input_type -> user.BatchSetConversationsReq + 12, // 48: user.user.SetConversation:input_type -> user.SetConversationReq + 24, // 49: user.user.GetUserById:input_type -> user.GetUserByIdReq + 27, // 50: user.user.GetUsersByName:input_type -> user.GetUsersByNameReq + 22, // 51: user.user.ResignUser:input_type -> user.ResignUserReq + 29, // 52: user.user.AlterUser:input_type -> user.AlterUserReq + 31, // 53: user.user.GetUsers:input_type -> user.GetUsersReq + 33, // 54: user.user.AddUser:input_type -> user.AddUserReq + 35, // 55: user.user.BlockUser:input_type -> user.BlockUserReq + 37, // 56: user.user.UnBlockUser:input_type -> user.UnBlockUserReq + 39, // 57: user.user.GetBlockUsers:input_type -> user.GetBlockUsersReq + 42, // 58: user.user.GetBlockUserById:input_type -> user.GetBlockUserByIdReq + 44, // 59: user.user.DeleteUser:input_type -> user.DeleteUserReq + 8, // 60: user.user.GetUserInfo:output_type -> user.GetUserInfoResp + 10, // 61: user.user.UpdateUserInfo:output_type -> user.UpdateUserInfoResp + 2, // 62: user.user.DeleteUsers:output_type -> user.DeleteUsersResp + 4, // 63: user.user.GetAllUserID:output_type -> user.GetAllUserIDResp + 6, // 64: user.user.AccountCheck:output_type -> user.AccountCheckResp + 15, // 65: user.user.GetConversation:output_type -> user.GetConversationResp + 19, // 66: user.user.GetAllConversations:output_type -> user.GetAllConversationsResp + 17, // 67: user.user.GetConversations:output_type -> user.GetConversationsResp + 21, // 68: user.user.BatchSetConversations:output_type -> user.BatchSetConversationsResp + 13, // 69: user.user.SetConversation:output_type -> user.SetConversationResp + 26, // 70: user.user.GetUserById:output_type -> user.GetUserByIdResp + 28, // 71: user.user.GetUsersByName:output_type -> user.GetUsersByNameResp + 23, // 72: user.user.ResignUser:output_type -> user.ResignUserResp + 30, // 73: user.user.AlterUser:output_type -> user.AlterUserResp + 32, // 74: user.user.GetUsers:output_type -> user.GetUsersResp + 34, // 75: user.user.AddUser:output_type -> user.AddUserResp + 36, // 76: user.user.BlockUser:output_type -> user.BlockUserResp + 38, // 77: user.user.UnBlockUser:output_type -> user.UnBlockUserResp + 41, // 78: user.user.GetBlockUsers:output_type -> user.GetBlockUsersResp + 43, // 79: user.user.GetBlockUserById:output_type -> user.GetBlockUserByIdResp + 45, // 80: user.user.DeleteUser:output_type -> user.DeleteUserResp + 60, // [60:81] is the sub-list for method output_type + 39, // [39:60] is the sub-list for method input_type + 39, // [39:39] is the sub-list for extension type_name + 39, // [39:39] is the sub-list for extension extendee + 0, // [0:39] is the sub-list for field type_name } func init() { file_user_user_proto_init() } @@ -3270,7 +3614,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetReceiveMessageOptReq); i { + switch v := v.(*Conversation); i { case 0: return &v.state case 1: @@ -3282,7 +3626,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OptResult); i { + switch v := v.(*SetConversationReq); i { case 0: return &v.state case 1: @@ -3294,7 +3638,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetReceiveMessageOptResp); i { + switch v := v.(*SetConversationResp); i { case 0: return &v.state case 1: @@ -3306,7 +3650,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetReceiveMessageOptReq); i { + switch v := v.(*GetConversationReq); i { case 0: return &v.state case 1: @@ -3318,7 +3662,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetReceiveMessageOptResp); i { + switch v := v.(*GetConversationResp); i { case 0: return &v.state case 1: @@ -3330,7 +3674,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAllConversationMsgOptReq); i { + switch v := v.(*GetConversationsReq); i { case 0: return &v.state case 1: @@ -3342,7 +3686,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAllConversationMsgOptResp); i { + switch v := v.(*GetConversationsResp); i { case 0: return &v.state case 1: @@ -3354,7 +3698,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResignUserReq); i { + switch v := v.(*GetAllConversationsReq); i { case 0: return &v.state case 1: @@ -3366,7 +3710,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResignUserResp); i { + switch v := v.(*GetAllConversationsResp); i { case 0: return &v.state case 1: @@ -3378,7 +3722,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserByIdReq); i { + switch v := v.(*BatchSetConversationsReq); i { case 0: return &v.state case 1: @@ -3390,7 +3734,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*User); i { + switch v := v.(*BatchSetConversationsResp); i { case 0: return &v.state case 1: @@ -3402,7 +3746,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserByIdResp); i { + switch v := v.(*ResignUserReq); i { case 0: return &v.state case 1: @@ -3414,7 +3758,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUsersByNameReq); i { + switch v := v.(*ResignUserResp); i { case 0: return &v.state case 1: @@ -3426,7 +3770,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUsersByNameResp); i { + switch v := v.(*GetUserByIdReq); i { case 0: return &v.state case 1: @@ -3438,7 +3782,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterUserReq); i { + switch v := v.(*User); i { case 0: return &v.state case 1: @@ -3450,7 +3794,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterUserResp); i { + switch v := v.(*GetUserByIdResp); i { case 0: return &v.state case 1: @@ -3462,7 +3806,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUsersReq); i { + switch v := v.(*GetUsersByNameReq); i { case 0: return &v.state case 1: @@ -3474,7 +3818,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUsersResp); i { + switch v := v.(*GetUsersByNameResp); i { case 0: return &v.state case 1: @@ -3486,7 +3830,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddUserReq); i { + switch v := v.(*AlterUserReq); i { case 0: return &v.state case 1: @@ -3498,7 +3842,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddUserResp); i { + switch v := v.(*AlterUserResp); i { case 0: return &v.state case 1: @@ -3510,7 +3854,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BlockUserReq); i { + switch v := v.(*GetUsersReq); i { case 0: return &v.state case 1: @@ -3522,7 +3866,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BlockUserResp); i { + switch v := v.(*GetUsersResp); i { case 0: return &v.state case 1: @@ -3534,7 +3878,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnBlockUserReq); i { + switch v := v.(*AddUserReq); i { case 0: return &v.state case 1: @@ -3546,7 +3890,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnBlockUserResp); i { + switch v := v.(*AddUserResp); i { case 0: return &v.state case 1: @@ -3558,7 +3902,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetBlockUsersReq); i { + switch v := v.(*BlockUserReq); i { case 0: return &v.state case 1: @@ -3570,7 +3914,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BlockUser); i { + switch v := v.(*BlockUserResp); i { case 0: return &v.state case 1: @@ -3582,7 +3926,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetBlockUsersResp); i { + switch v := v.(*UnBlockUserReq); i { case 0: return &v.state case 1: @@ -3594,7 +3938,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetBlockUserByIdReq); i { + switch v := v.(*UnBlockUserResp); i { case 0: return &v.state case 1: @@ -3606,7 +3950,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetBlockUserByIdResp); i { + switch v := v.(*GetBlockUsersReq); i { case 0: return &v.state case 1: @@ -3618,7 +3962,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteUserReq); i { + switch v := v.(*BlockUser); i { case 0: return &v.state case 1: @@ -3630,7 +3974,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteUserResp); i { + switch v := v.(*GetBlockUsersResp); i { case 0: return &v.state case 1: @@ -3642,6 +3986,54 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetBlockUserByIdReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_user_user_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetBlockUserByIdResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_user_user_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteUserReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_user_user_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteUserResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_user_user_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AccountCheckResp_SingleUserStatus); i { case 0: return &v.state @@ -3660,7 +4052,7 @@ func file_user_user_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_user_user_proto_rawDesc, NumEnums: 0, - NumMessages: 43, + NumMessages: 47, NumExtensions: 0, NumServices: 1, }, @@ -3690,10 +4082,12 @@ type UserClient interface { UpdateUserInfo(ctx context.Context, in *UpdateUserInfoReq, opts ...grpc.CallOption) (*UpdateUserInfoResp, error) DeleteUsers(ctx context.Context, in *DeleteUsersReq, opts ...grpc.CallOption) (*DeleteUsersResp, error) GetAllUserID(ctx context.Context, in *GetAllUserIDReq, opts ...grpc.CallOption) (*GetAllUserIDResp, error) - SetReceiveMessageOpt(ctx context.Context, in *SetReceiveMessageOptReq, opts ...grpc.CallOption) (*SetReceiveMessageOptResp, error) - GetReceiveMessageOpt(ctx context.Context, in *GetReceiveMessageOptReq, opts ...grpc.CallOption) (*GetReceiveMessageOptResp, error) - GetAllConversationMsgOpt(ctx context.Context, in *GetAllConversationMsgOptReq, opts ...grpc.CallOption) (*GetAllConversationMsgOptResp, error) AccountCheck(ctx context.Context, in *AccountCheckReq, opts ...grpc.CallOption) (*AccountCheckResp, error) + GetConversation(ctx context.Context, in *GetConversationReq, opts ...grpc.CallOption) (*GetConversationResp, error) + GetAllConversations(ctx context.Context, in *GetAllConversationsReq, opts ...grpc.CallOption) (*GetAllConversationsResp, error) + GetConversations(ctx context.Context, in *GetConversationsReq, opts ...grpc.CallOption) (*GetConversationsResp, error) + BatchSetConversations(ctx context.Context, in *BatchSetConversationsReq, opts ...grpc.CallOption) (*BatchSetConversationsResp, error) + SetConversation(ctx context.Context, in *SetConversationReq, opts ...grpc.CallOption) (*SetConversationResp, error) GetUserById(ctx context.Context, in *GetUserByIdReq, opts ...grpc.CallOption) (*GetUserByIdResp, error) GetUsersByName(ctx context.Context, in *GetUsersByNameReq, opts ...grpc.CallOption) (*GetUsersByNameResp, error) ResignUser(ctx context.Context, in *ResignUserReq, opts ...grpc.CallOption) (*ResignUserResp, error) @@ -3751,33 +4145,6 @@ func (c *userClient) GetAllUserID(ctx context.Context, in *GetAllUserIDReq, opts return out, nil } -func (c *userClient) SetReceiveMessageOpt(ctx context.Context, in *SetReceiveMessageOptReq, opts ...grpc.CallOption) (*SetReceiveMessageOptResp, error) { - out := new(SetReceiveMessageOptResp) - err := c.cc.Invoke(ctx, "/user.user/SetReceiveMessageOpt", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userClient) GetReceiveMessageOpt(ctx context.Context, in *GetReceiveMessageOptReq, opts ...grpc.CallOption) (*GetReceiveMessageOptResp, error) { - out := new(GetReceiveMessageOptResp) - err := c.cc.Invoke(ctx, "/user.user/GetReceiveMessageOpt", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userClient) GetAllConversationMsgOpt(ctx context.Context, in *GetAllConversationMsgOptReq, opts ...grpc.CallOption) (*GetAllConversationMsgOptResp, error) { - out := new(GetAllConversationMsgOptResp) - err := c.cc.Invoke(ctx, "/user.user/GetAllConversationMsgOpt", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *userClient) AccountCheck(ctx context.Context, in *AccountCheckReq, opts ...grpc.CallOption) (*AccountCheckResp, error) { out := new(AccountCheckResp) err := c.cc.Invoke(ctx, "/user.user/AccountCheck", in, out, opts...) @@ -3787,6 +4154,51 @@ func (c *userClient) AccountCheck(ctx context.Context, in *AccountCheckReq, opts return out, nil } +func (c *userClient) GetConversation(ctx context.Context, in *GetConversationReq, opts ...grpc.CallOption) (*GetConversationResp, error) { + out := new(GetConversationResp) + err := c.cc.Invoke(ctx, "/user.user/GetConversation", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *userClient) GetAllConversations(ctx context.Context, in *GetAllConversationsReq, opts ...grpc.CallOption) (*GetAllConversationsResp, error) { + out := new(GetAllConversationsResp) + err := c.cc.Invoke(ctx, "/user.user/GetAllConversations", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *userClient) GetConversations(ctx context.Context, in *GetConversationsReq, opts ...grpc.CallOption) (*GetConversationsResp, error) { + out := new(GetConversationsResp) + err := c.cc.Invoke(ctx, "/user.user/GetConversations", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *userClient) BatchSetConversations(ctx context.Context, in *BatchSetConversationsReq, opts ...grpc.CallOption) (*BatchSetConversationsResp, error) { + out := new(BatchSetConversationsResp) + err := c.cc.Invoke(ctx, "/user.user/BatchSetConversations", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *userClient) SetConversation(ctx context.Context, in *SetConversationReq, opts ...grpc.CallOption) (*SetConversationResp, error) { + out := new(SetConversationResp) + err := c.cc.Invoke(ctx, "/user.user/SetConversation", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *userClient) GetUserById(ctx context.Context, in *GetUserByIdReq, opts ...grpc.CallOption) (*GetUserByIdResp, error) { out := new(GetUserByIdResp) err := c.cc.Invoke(ctx, "/user.user/GetUserById", in, out, opts...) @@ -3892,10 +4304,12 @@ type UserServer interface { UpdateUserInfo(context.Context, *UpdateUserInfoReq) (*UpdateUserInfoResp, error) DeleteUsers(context.Context, *DeleteUsersReq) (*DeleteUsersResp, error) GetAllUserID(context.Context, *GetAllUserIDReq) (*GetAllUserIDResp, error) - SetReceiveMessageOpt(context.Context, *SetReceiveMessageOptReq) (*SetReceiveMessageOptResp, error) - GetReceiveMessageOpt(context.Context, *GetReceiveMessageOptReq) (*GetReceiveMessageOptResp, error) - GetAllConversationMsgOpt(context.Context, *GetAllConversationMsgOptReq) (*GetAllConversationMsgOptResp, error) AccountCheck(context.Context, *AccountCheckReq) (*AccountCheckResp, error) + GetConversation(context.Context, *GetConversationReq) (*GetConversationResp, error) + GetAllConversations(context.Context, *GetAllConversationsReq) (*GetAllConversationsResp, error) + GetConversations(context.Context, *GetConversationsReq) (*GetConversationsResp, error) + BatchSetConversations(context.Context, *BatchSetConversationsReq) (*BatchSetConversationsResp, error) + SetConversation(context.Context, *SetConversationReq) (*SetConversationResp, error) GetUserById(context.Context, *GetUserByIdReq) (*GetUserByIdResp, error) GetUsersByName(context.Context, *GetUsersByNameReq) (*GetUsersByNameResp, error) ResignUser(context.Context, *ResignUserReq) (*ResignUserResp, error) @@ -3925,18 +4339,24 @@ func (*UnimplementedUserServer) DeleteUsers(context.Context, *DeleteUsersReq) (* func (*UnimplementedUserServer) GetAllUserID(context.Context, *GetAllUserIDReq) (*GetAllUserIDResp, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAllUserID not implemented") } -func (*UnimplementedUserServer) SetReceiveMessageOpt(context.Context, *SetReceiveMessageOptReq) (*SetReceiveMessageOptResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetReceiveMessageOpt not implemented") -} -func (*UnimplementedUserServer) GetReceiveMessageOpt(context.Context, *GetReceiveMessageOptReq) (*GetReceiveMessageOptResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetReceiveMessageOpt not implemented") -} -func (*UnimplementedUserServer) GetAllConversationMsgOpt(context.Context, *GetAllConversationMsgOptReq) (*GetAllConversationMsgOptResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetAllConversationMsgOpt not implemented") -} func (*UnimplementedUserServer) AccountCheck(context.Context, *AccountCheckReq) (*AccountCheckResp, error) { return nil, status.Errorf(codes.Unimplemented, "method AccountCheck not implemented") } +func (*UnimplementedUserServer) GetConversation(context.Context, *GetConversationReq) (*GetConversationResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetConversation not implemented") +} +func (*UnimplementedUserServer) GetAllConversations(context.Context, *GetAllConversationsReq) (*GetAllConversationsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAllConversations not implemented") +} +func (*UnimplementedUserServer) GetConversations(context.Context, *GetConversationsReq) (*GetConversationsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetConversations not implemented") +} +func (*UnimplementedUserServer) BatchSetConversations(context.Context, *BatchSetConversationsReq) (*BatchSetConversationsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method BatchSetConversations not implemented") +} +func (*UnimplementedUserServer) SetConversation(context.Context, *SetConversationReq) (*SetConversationResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetConversation not implemented") +} func (*UnimplementedUserServer) GetUserById(context.Context, *GetUserByIdReq) (*GetUserByIdResp, error) { return nil, status.Errorf(codes.Unimplemented, "method GetUserById not implemented") } @@ -4047,60 +4467,6 @@ func _User_GetAllUserID_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } -func _User_SetReceiveMessageOpt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SetReceiveMessageOptReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).SetReceiveMessageOpt(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/user.user/SetReceiveMessageOpt", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).SetReceiveMessageOpt(ctx, req.(*SetReceiveMessageOptReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _User_GetReceiveMessageOpt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetReceiveMessageOptReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).GetReceiveMessageOpt(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/user.user/GetReceiveMessageOpt", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).GetReceiveMessageOpt(ctx, req.(*GetReceiveMessageOptReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _User_GetAllConversationMsgOpt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetAllConversationMsgOptReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).GetAllConversationMsgOpt(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/user.user/GetAllConversationMsgOpt", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).GetAllConversationMsgOpt(ctx, req.(*GetAllConversationMsgOptReq)) - } - return interceptor(ctx, in, info, handler) -} - func _User_AccountCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(AccountCheckReq) if err := dec(in); err != nil { @@ -4119,6 +4485,96 @@ func _User_AccountCheck_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } +func _User_GetConversation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetConversationReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserServer).GetConversation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/user.user/GetConversation", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserServer).GetConversation(ctx, req.(*GetConversationReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _User_GetAllConversations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAllConversationsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserServer).GetAllConversations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/user.user/GetAllConversations", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserServer).GetAllConversations(ctx, req.(*GetAllConversationsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _User_GetConversations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetConversationsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserServer).GetConversations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/user.user/GetConversations", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserServer).GetConversations(ctx, req.(*GetConversationsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _User_BatchSetConversations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BatchSetConversationsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserServer).BatchSetConversations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/user.user/BatchSetConversations", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserServer).BatchSetConversations(ctx, req.(*BatchSetConversationsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _User_SetConversation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetConversationReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserServer).SetConversation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/user.user/SetConversation", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserServer).SetConversation(ctx, req.(*SetConversationReq)) + } + return interceptor(ctx, in, info, handler) +} + func _User_GetUserById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetUserByIdReq) if err := dec(in); err != nil { @@ -4337,22 +4793,30 @@ var _User_serviceDesc = grpc.ServiceDesc{ MethodName: "GetAllUserID", Handler: _User_GetAllUserID_Handler, }, - { - MethodName: "SetReceiveMessageOpt", - Handler: _User_SetReceiveMessageOpt_Handler, - }, - { - MethodName: "GetReceiveMessageOpt", - Handler: _User_GetReceiveMessageOpt_Handler, - }, - { - MethodName: "GetAllConversationMsgOpt", - Handler: _User_GetAllConversationMsgOpt_Handler, - }, { MethodName: "AccountCheck", Handler: _User_AccountCheck_Handler, }, + { + MethodName: "GetConversation", + Handler: _User_GetConversation_Handler, + }, + { + MethodName: "GetAllConversations", + Handler: _User_GetAllConversations_Handler, + }, + { + MethodName: "GetConversations", + Handler: _User_GetConversations_Handler, + }, + { + MethodName: "BatchSetConversations", + Handler: _User_BatchSetConversations_Handler, + }, + { + MethodName: "SetConversation", + Handler: _User_SetConversation_Handler, + }, { MethodName: "GetUserById", Handler: _User_GetUserById_Handler, diff --git a/pkg/proto/user/user.proto b/pkg/proto/user/user.proto index 298b8da84..0a266f3a2 100644 --- a/pkg/proto/user/user.proto +++ b/pkg/proto/user/user.proto @@ -67,44 +67,72 @@ message UpdateUserInfoResp{ CommonResp commonResp = 1; } +message Conversation{ + string OwnerUserID = 1; + string ConversationID = 2; + int32 RecvMsgOpt = 3; + int32 ConversationType = 4; + string UserID = 5; + string GroupID = 6; + int32 UnreadCount = 7; + int64 DraftTextTime = 8; + bool IsPinned = 9; + string AttachedInfo = 10; + bool IsPrivateChat = 11; + string Ex = 12; +} -message SetReceiveMessageOptReq{ - string FromUserID = 1; - int32 opt = 2; - repeated string conversationIDList = 3; - string operationID = 4; - string OpUserID = 5; +message SetConversationReq{ + Conversation Conversation = 1; + string OperationID = 2; } -message OptResult{ - string conversationID = 1; - int32 result = 2; //-1: failed; 0:default; 1: not receive ; 2: not jpush -} -message SetReceiveMessageOptResp{ + +message SetConversationResp{ CommonResp commonResp = 1; - repeated OptResult conversationOptResultList = 2; } - -message GetReceiveMessageOptReq{ - string FromUserID = 1; - repeated string conversationIDList = 2; - string operationID = 3; - string OpUserID = 4; +message GetConversationReq{ + string ConversationID = 1; + string OwnerUserID = 2; + string OperationID = 3; } -message GetReceiveMessageOptResp{ + +message GetConversationResp{ CommonResp commonResp = 1; - repeated OptResult conversationOptResultList = 3; + Conversation Conversation = 2; } - -message GetAllConversationMsgOptReq{ - string FromUserID = 1; - string operationID = 2; - string OpUserID = 3; +message GetConversationsReq{ + string OwnerUserID = 1; + repeated string ConversationIDs = 2; + string OperationID = 3; } -message GetAllConversationMsgOptResp{ + +message GetConversationsResp{ CommonResp commonResp = 1; - repeated OptResult conversationOptResultList = 3; + repeated Conversation Conversations = 2; +} + +message GetAllConversationsReq{ + string OwnerUserID = 1; + string OperationID = 2; +} + +message GetAllConversationsResp{ + CommonResp commonResp = 1; + repeated Conversation Conversations = 2; +} + +message BatchSetConversationsReq{ + repeated Conversation Conversations = 1; + string OwnerUserID = 2; + string OperationID = 3; +} + +message BatchSetConversationsResp{ + CommonResp commonResp = 1; + repeated string Success = 2; + repeated string Failed = 3; } message ResignUserReq{ @@ -130,7 +158,7 @@ message User{ } message GetUserByIdResp{ - CommonResp CommonResp = 1; + CommonResp CommonResp = 1; User user = 2; } @@ -241,7 +269,7 @@ message DeleteUserReq { } message DeleteUserResp { - + CommonResp CommonResp = 1; } service user { @@ -249,10 +277,13 @@ service user { rpc UpdateUserInfo(UpdateUserInfoReq) returns(UpdateUserInfoResp); rpc DeleteUsers(DeleteUsersReq)returns(DeleteUsersResp); rpc GetAllUserID(GetAllUserIDReq)returns(GetAllUserIDResp); - rpc SetReceiveMessageOpt(SetReceiveMessageOptReq)returns(SetReceiveMessageOptResp); - rpc GetReceiveMessageOpt(GetReceiveMessageOptReq)returns(GetReceiveMessageOptResp); - rpc GetAllConversationMsgOpt(GetAllConversationMsgOptReq)returns(GetAllConversationMsgOptResp); + rpc AccountCheck(AccountCheckReq)returns(AccountCheckResp); + rpc GetConversation(GetConversationReq)returns(GetConversationResp); + rpc GetAllConversations(GetAllConversationsReq)returns(GetAllConversationsResp); + rpc GetConversations(GetConversationsReq)returns(GetConversationsResp); + rpc BatchSetConversations(BatchSetConversationsReq)returns(BatchSetConversationsResp); + rpc SetConversation(SetConversationReq)returns(SetConversationResp); rpc GetUserById(GetUserByIdReq) returns (GetUserByIdResp); rpc GetUsersByName(GetUsersByNameReq) returns (GetUsersByNameResp); From 0ce164079e953f78727fd0c5e72edee44a572f72 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 10:00:28 +0800 Subject: [PATCH 002/129] ws modify --- internal/msg_gateway/gate/validate.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/internal/msg_gateway/gate/validate.go b/internal/msg_gateway/gate/validate.go index c763ff1b2..ec4df9b77 100644 --- a/internal/msg_gateway/gate/validate.go +++ b/internal/msg_gateway/gate/validate.go @@ -58,7 +58,19 @@ type SeqListData struct { func (ws *WServer) argsValidate(m *Req, r int32) (isPass bool, errCode int32, errMsg string, returnData interface{}) { switch r { - case constant.WSSendMsg | constant.WSSendSignalMsg: + case constant.WSSendMsg: + data := open_im_sdk.MsgData{} + if err := proto.Unmarshal(m.Data, &data); err != nil { + log.ErrorByKv("Decode Data struct err", "", "err", err.Error(), "reqIdentifier", r) + return false, 203, err.Error(), nil + } + if err := validate.Struct(data); err != nil { + log.ErrorByKv("data args validate err", "", "err", err.Error(), "reqIdentifier", r) + return false, 204, err.Error(), nil + + } + return true, 0, "", data + case constant.WSSendSignalMsg: data := open_im_sdk.MsgData{} if err := proto.Unmarshal(m.Data, &data); err != nil { log.ErrorByKv("Decode Data struct err", "", "err", err.Error(), "reqIdentifier", r) From 98f2806be61ff00dd6939edfec23943885b6e421 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Mon, 14 Mar 2022 10:38:35 +0800 Subject: [PATCH 003/129] signaling --- pkg/proto/sdk_ws/ws.pb.go | 1515 ++++++++++++++++++++++++++++++++----- pkg/proto/sdk_ws/ws.proto | 5 +- 2 files changed, 1349 insertions(+), 171 deletions(-) diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index accf94ecf..365178174 100644 --- a/pkg/proto/sdk_ws/ws.pb.go +++ b/pkg/proto/sdk_ws/ws.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // source: sdk_ws/ws.proto -package server_api_params +package server_api_params // import "./sdk_ws" import proto "github.com/golang/protobuf/proto" import fmt "fmt" @@ -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_c2d3d5fccaf1040a, []int{0} + return fileDescriptor_ws_2b9410622756034a, []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_c2d3d5fccaf1040a, []int{1} + return fileDescriptor_ws_2b9410622756034a, []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_c2d3d5fccaf1040a, []int{2} + return fileDescriptor_ws_2b9410622756034a, []int{2} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -344,7 +344,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} } func (m *UserInfo) String() string { return proto.CompactTextString(m) } func (*UserInfo) ProtoMessage() {} func (*UserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{3} + return fileDescriptor_ws_2b9410622756034a, []int{3} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -451,7 +451,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} } func (m *FriendInfo) String() string { return proto.CompactTextString(m) } func (*FriendInfo) ProtoMessage() {} func (*FriendInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{4} + return fileDescriptor_ws_2b9410622756034a, []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_c2d3d5fccaf1040a, []int{5} + return fileDescriptor_ws_2b9410622756034a, []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_c2d3d5fccaf1040a, []int{6} + return fileDescriptor_ws_2b9410622756034a, []int{6} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -725,7 +725,7 @@ func (m *FriendRequest) Reset() { *m = FriendRequest{} } func (m *FriendRequest) String() string { return proto.CompactTextString(m) } func (*FriendRequest) ProtoMessage() {} func (*FriendRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{7} + return fileDescriptor_ws_2b9410622756034a, []int{7} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -863,7 +863,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{8} + return fileDescriptor_ws_2b9410622756034a, []int{8} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -917,7 +917,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{9} + return fileDescriptor_ws_2b9410622756034a, []int{9} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -968,7 +968,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{10} + return fileDescriptor_ws_2b9410622756034a, []int{10} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1000,7 +1000,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{11} + return fileDescriptor_ws_2b9410622756034a, []int{11} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1047,7 +1047,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{12} + return fileDescriptor_ws_2b9410622756034a, []int{12} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1116,7 +1116,7 @@ func (m *MsgData) Reset() { *m = MsgData{} } func (m *MsgData) String() string { return proto.CompactTextString(m) } func (*MsgData) ProtoMessage() {} func (*MsgData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{13} + return fileDescriptor_ws_2b9410622756034a, []int{13} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -1277,7 +1277,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{14} + return fileDescriptor_ws_2b9410622756034a, []int{14} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -1345,7 +1345,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} } func (m *TipsComm) String() string { return proto.CompactTextString(m) } func (*TipsComm) ProtoMessage() {} func (*TipsComm) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{15} + return fileDescriptor_ws_2b9410622756034a, []int{15} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -1402,7 +1402,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} } func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } func (*GroupCreatedTips) ProtoMessage() {} func (*GroupCreatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{16} + return fileDescriptor_ws_2b9410622756034a, []int{16} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -1471,7 +1471,7 @@ func (m *GroupInfoSetTips) Reset() { *m = GroupInfoSetTips{} } func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupInfoSetTips) ProtoMessage() {} func (*GroupInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{17} + return fileDescriptor_ws_2b9410622756034a, []int{17} } func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) @@ -1526,7 +1526,7 @@ func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTi func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } func (*JoinGroupApplicationTips) ProtoMessage() {} func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{18} + return fileDescriptor_ws_2b9410622756034a, []int{18} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -1582,7 +1582,7 @@ func (m *MemberQuitTips) Reset() { *m = MemberQuitTips{} } func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) } func (*MemberQuitTips) ProtoMessage() {} func (*MemberQuitTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{19} + return fileDescriptor_ws_2b9410622756034a, []int{19} } func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) @@ -1637,7 +1637,7 @@ func (m *GroupApplicationAcceptedTips) Reset() { *m = GroupApplicationAc func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationAcceptedTips) ProtoMessage() {} func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{20} + return fileDescriptor_ws_2b9410622756034a, []int{20} } func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) @@ -1692,7 +1692,7 @@ func (m *GroupApplicationRejectedTips) Reset() { *m = GroupApplicationRe func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationRejectedTips) ProtoMessage() {} func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{21} + return fileDescriptor_ws_2b9410622756034a, []int{21} } func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) @@ -1748,7 +1748,7 @@ func (m *GroupOwnerTransferredTips) Reset() { *m = GroupOwnerTransferred func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) } func (*GroupOwnerTransferredTips) ProtoMessage() {} func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{22} + return fileDescriptor_ws_2b9410622756034a, []int{22} } func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) @@ -1811,7 +1811,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} } func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } func (*MemberKickedTips) ProtoMessage() {} func (*MemberKickedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{23} + return fileDescriptor_ws_2b9410622756034a, []int{23} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -1874,7 +1874,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} } func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } func (*MemberInvitedTips) ProtoMessage() {} func (*MemberInvitedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{24} + return fileDescriptor_ws_2b9410622756034a, []int{24} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -1936,7 +1936,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} } func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } func (*MemberEnterTips) ProtoMessage() {} func (*MemberEnterTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{25} + return fileDescriptor_ws_2b9410622756034a, []int{25} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -1990,7 +1990,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_c2d3d5fccaf1040a, []int{26} + return fileDescriptor_ws_2b9410622756034a, []int{26} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -2043,7 +2043,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_c2d3d5fccaf1040a, []int{27} + return fileDescriptor_ws_2b9410622756034a, []int{27} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -2089,7 +2089,7 @@ func (m *FriendApplicationTips) Reset() { *m = FriendApplicationTips{} } func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationTips) ProtoMessage() {} func (*FriendApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{28} + return fileDescriptor_ws_2b9410622756034a, []int{28} } func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) @@ -2129,7 +2129,7 @@ func (m *FriendApplicationApprovedTips) Reset() { *m = FriendApplication func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationApprovedTips) ProtoMessage() {} func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{29} + return fileDescriptor_ws_2b9410622756034a, []int{29} } func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) @@ -2176,7 +2176,7 @@ func (m *FriendApplicationRejectedTips) Reset() { *m = FriendApplication func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationRejectedTips) ProtoMessage() {} func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{30} + return fileDescriptor_ws_2b9410622756034a, []int{30} } func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) @@ -2224,7 +2224,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_c2d3d5fccaf1040a, []int{31} + return fileDescriptor_ws_2b9410622756034a, []int{31} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -2277,7 +2277,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_c2d3d5fccaf1040a, []int{32} + return fileDescriptor_ws_2b9410622756034a, []int{32} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -2315,7 +2315,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_c2d3d5fccaf1040a, []int{33} + return fileDescriptor_ws_2b9410622756034a, []int{33} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -2353,7 +2353,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_c2d3d5fccaf1040a, []int{34} + return fileDescriptor_ws_2b9410622756034a, []int{34} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -2391,7 +2391,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_c2d3d5fccaf1040a, []int{35} + return fileDescriptor_ws_2b9410622756034a, []int{35} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -2430,7 +2430,7 @@ func (m *UserInfoUpdatedTips) Reset() { *m = UserInfoUpdatedTips{} } func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (*UserInfoUpdatedTips) ProtoMessage() {} func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{36} + return fileDescriptor_ws_2b9410622756034a, []int{36} } func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) @@ -2469,7 +2469,7 @@ func (m *ConversationUpdateTips) Reset() { *m = ConversationUpdateTips{} func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) } func (*ConversationUpdateTips) ProtoMessage() {} func (*ConversationUpdateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{37} + return fileDescriptor_ws_2b9410622756034a, []int{37} } func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) @@ -2509,7 +2509,7 @@ func (m *RequestPagination) Reset() { *m = RequestPagination{} } func (m *RequestPagination) String() string { return proto.CompactTextString(m) } func (*RequestPagination) ProtoMessage() {} func (*RequestPagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{38} + return fileDescriptor_ws_2b9410622756034a, []int{38} } func (m *RequestPagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RequestPagination.Unmarshal(m, b) @@ -2555,7 +2555,7 @@ func (m *ResponsePagination) Reset() { *m = ResponsePagination{} } func (m *ResponsePagination) String() string { return proto.CompactTextString(m) } func (*ResponsePagination) ProtoMessage() {} func (*ResponsePagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c2d3d5fccaf1040a, []int{39} + return fileDescriptor_ws_2b9410622756034a, []int{39} } func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) @@ -2589,6 +2589,1139 @@ func (m *ResponsePagination) GetShowNumber() int32 { return 0 } +// /////////////////signal////////////// +type SignalReq struct { + // Types that are valid to be assigned to Payload: + // *SignalReq_Invite + // *SignalReq_InviteInGroup + // *SignalReq_Cancel + // *SignalReq_Accept + // *SignalReq_HungUp + // *SignalReq_Reject + Payload isSignalReq_Payload `protobuf_oneof:"payload"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalReq) Reset() { *m = SignalReq{} } +func (m *SignalReq) String() string { return proto.CompactTextString(m) } +func (*SignalReq) ProtoMessage() {} +func (*SignalReq) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_2b9410622756034a, []int{40} +} +func (m *SignalReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalReq.Unmarshal(m, b) +} +func (m *SignalReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalReq.Marshal(b, m, deterministic) +} +func (dst *SignalReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalReq.Merge(dst, src) +} +func (m *SignalReq) XXX_Size() int { + return xxx_messageInfo_SignalReq.Size(m) +} +func (m *SignalReq) XXX_DiscardUnknown() { + xxx_messageInfo_SignalReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalReq proto.InternalMessageInfo + +type isSignalReq_Payload interface { + isSignalReq_Payload() +} + +type SignalReq_Invite struct { + Invite *SignalInviteReq `protobuf:"bytes,1,opt,name=invite,oneof"` +} +type SignalReq_InviteInGroup struct { + InviteInGroup *SignalInviteInGroupReq `protobuf:"bytes,2,opt,name=inviteInGroup,oneof"` +} +type SignalReq_Cancel struct { + Cancel *SignalCancelReq `protobuf:"bytes,3,opt,name=cancel,oneof"` +} +type SignalReq_Accept struct { + Accept *SignalAcceptReq `protobuf:"bytes,4,opt,name=accept,oneof"` +} +type SignalReq_HungUp struct { + HungUp *SignalHungUpReq `protobuf:"bytes,5,opt,name=hungUp,oneof"` +} +type SignalReq_Reject struct { + Reject *SignalRejectReq `protobuf:"bytes,6,opt,name=reject,oneof"` +} + +func (*SignalReq_Invite) isSignalReq_Payload() {} +func (*SignalReq_InviteInGroup) isSignalReq_Payload() {} +func (*SignalReq_Cancel) isSignalReq_Payload() {} +func (*SignalReq_Accept) isSignalReq_Payload() {} +func (*SignalReq_HungUp) isSignalReq_Payload() {} +func (*SignalReq_Reject) isSignalReq_Payload() {} + +func (m *SignalReq) GetPayload() isSignalReq_Payload { + if m != nil { + return m.Payload + } + return nil +} + +func (m *SignalReq) GetInvite() *SignalInviteReq { + if x, ok := m.GetPayload().(*SignalReq_Invite); ok { + return x.Invite + } + return nil +} + +func (m *SignalReq) GetInviteInGroup() *SignalInviteInGroupReq { + if x, ok := m.GetPayload().(*SignalReq_InviteInGroup); ok { + return x.InviteInGroup + } + return nil +} + +func (m *SignalReq) GetCancel() *SignalCancelReq { + if x, ok := m.GetPayload().(*SignalReq_Cancel); ok { + return x.Cancel + } + return nil +} + +func (m *SignalReq) GetAccept() *SignalAcceptReq { + if x, ok := m.GetPayload().(*SignalReq_Accept); ok { + return x.Accept + } + return nil +} + +func (m *SignalReq) GetHungUp() *SignalHungUpReq { + if x, ok := m.GetPayload().(*SignalReq_HungUp); ok { + return x.HungUp + } + return nil +} + +func (m *SignalReq) GetReject() *SignalRejectReq { + if x, ok := m.GetPayload().(*SignalReq_Reject); ok { + return x.Reject + } + return nil +} + +// XXX_OneofFuncs is for the internal use of the proto package. +func (*SignalReq) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { + return _SignalReq_OneofMarshaler, _SignalReq_OneofUnmarshaler, _SignalReq_OneofSizer, []interface{}{ + (*SignalReq_Invite)(nil), + (*SignalReq_InviteInGroup)(nil), + (*SignalReq_Cancel)(nil), + (*SignalReq_Accept)(nil), + (*SignalReq_HungUp)(nil), + (*SignalReq_Reject)(nil), + } +} + +func _SignalReq_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { + m := msg.(*SignalReq) + // payload + switch x := m.Payload.(type) { + case *SignalReq_Invite: + b.EncodeVarint(1<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.Invite); err != nil { + return err + } + case *SignalReq_InviteInGroup: + b.EncodeVarint(2<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.InviteInGroup); err != nil { + return err + } + case *SignalReq_Cancel: + b.EncodeVarint(3<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.Cancel); err != nil { + return err + } + case *SignalReq_Accept: + b.EncodeVarint(4<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.Accept); err != nil { + return err + } + case *SignalReq_HungUp: + b.EncodeVarint(5<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.HungUp); err != nil { + return err + } + case *SignalReq_Reject: + b.EncodeVarint(6<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.Reject); err != nil { + return err + } + case nil: + default: + return fmt.Errorf("SignalReq.Payload has unexpected type %T", x) + } + return nil +} + +func _SignalReq_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { + m := msg.(*SignalReq) + switch tag { + case 1: // payload.invite + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalInviteReq) + err := b.DecodeMessage(msg) + m.Payload = &SignalReq_Invite{msg} + return true, err + case 2: // payload.inviteInGroup + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalInviteInGroupReq) + err := b.DecodeMessage(msg) + m.Payload = &SignalReq_InviteInGroup{msg} + return true, err + case 3: // payload.cancel + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalCancelReq) + err := b.DecodeMessage(msg) + m.Payload = &SignalReq_Cancel{msg} + return true, err + case 4: // payload.accept + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalAcceptReq) + err := b.DecodeMessage(msg) + m.Payload = &SignalReq_Accept{msg} + return true, err + case 5: // payload.hungUp + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalHungUpReq) + err := b.DecodeMessage(msg) + m.Payload = &SignalReq_HungUp{msg} + return true, err + case 6: // payload.reject + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalRejectReq) + err := b.DecodeMessage(msg) + m.Payload = &SignalReq_Reject{msg} + return true, err + default: + return false, nil + } +} + +func _SignalReq_OneofSizer(msg proto.Message) (n int) { + m := msg.(*SignalReq) + // payload + switch x := m.Payload.(type) { + case *SignalReq_Invite: + s := proto.Size(x.Invite) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *SignalReq_InviteInGroup: + s := proto.Size(x.InviteInGroup) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *SignalReq_Cancel: + s := proto.Size(x.Cancel) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *SignalReq_Accept: + s := proto.Size(x.Accept) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *SignalReq_HungUp: + s := proto.Size(x.HungUp) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *SignalReq_Reject: + s := proto.Size(x.Reject) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case nil: + default: + panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) + } + return n +} + +type SignalResp struct { + // Types that are valid to be assigned to Payload: + // *SignalResp_Invite + // *SignalResp_InviteInGroup + // *SignalResp_Cancel + // *SignalResp_Accept + // *SignalResp_HungUp + // *SignalResp_Reject + Payload isSignalResp_Payload `protobuf_oneof:"payload"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalResp) Reset() { *m = SignalResp{} } +func (m *SignalResp) String() string { return proto.CompactTextString(m) } +func (*SignalResp) ProtoMessage() {} +func (*SignalResp) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_2b9410622756034a, []int{41} +} +func (m *SignalResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalResp.Unmarshal(m, b) +} +func (m *SignalResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalResp.Marshal(b, m, deterministic) +} +func (dst *SignalResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalResp.Merge(dst, src) +} +func (m *SignalResp) XXX_Size() int { + return xxx_messageInfo_SignalResp.Size(m) +} +func (m *SignalResp) XXX_DiscardUnknown() { + xxx_messageInfo_SignalResp.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalResp proto.InternalMessageInfo + +type isSignalResp_Payload interface { + isSignalResp_Payload() +} + +type SignalResp_Invite struct { + Invite *SignalInviteReply `protobuf:"bytes,1,opt,name=invite,oneof"` +} +type SignalResp_InviteInGroup struct { + InviteInGroup *SignalInviteInGroupReply `protobuf:"bytes,2,opt,name=inviteInGroup,oneof"` +} +type SignalResp_Cancel struct { + Cancel *SignalCancelReply `protobuf:"bytes,3,opt,name=cancel,oneof"` +} +type SignalResp_Accept struct { + Accept *SignalAcceptReply `protobuf:"bytes,4,opt,name=accept,oneof"` +} +type SignalResp_HungUp struct { + HungUp *SignalHungUpReply `protobuf:"bytes,5,opt,name=hungUp,oneof"` +} +type SignalResp_Reject struct { + Reject *SignalRejectReply `protobuf:"bytes,6,opt,name=reject,oneof"` +} + +func (*SignalResp_Invite) isSignalResp_Payload() {} +func (*SignalResp_InviteInGroup) isSignalResp_Payload() {} +func (*SignalResp_Cancel) isSignalResp_Payload() {} +func (*SignalResp_Accept) isSignalResp_Payload() {} +func (*SignalResp_HungUp) isSignalResp_Payload() {} +func (*SignalResp_Reject) isSignalResp_Payload() {} + +func (m *SignalResp) GetPayload() isSignalResp_Payload { + if m != nil { + return m.Payload + } + return nil +} + +func (m *SignalResp) GetInvite() *SignalInviteReply { + if x, ok := m.GetPayload().(*SignalResp_Invite); ok { + return x.Invite + } + return nil +} + +func (m *SignalResp) GetInviteInGroup() *SignalInviteInGroupReply { + if x, ok := m.GetPayload().(*SignalResp_InviteInGroup); ok { + return x.InviteInGroup + } + return nil +} + +func (m *SignalResp) GetCancel() *SignalCancelReply { + if x, ok := m.GetPayload().(*SignalResp_Cancel); ok { + return x.Cancel + } + return nil +} + +func (m *SignalResp) GetAccept() *SignalAcceptReply { + if x, ok := m.GetPayload().(*SignalResp_Accept); ok { + return x.Accept + } + return nil +} + +func (m *SignalResp) GetHungUp() *SignalHungUpReply { + if x, ok := m.GetPayload().(*SignalResp_HungUp); ok { + return x.HungUp + } + return nil +} + +func (m *SignalResp) GetReject() *SignalRejectReply { + if x, ok := m.GetPayload().(*SignalResp_Reject); ok { + return x.Reject + } + return nil +} + +// XXX_OneofFuncs is for the internal use of the proto package. +func (*SignalResp) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { + return _SignalResp_OneofMarshaler, _SignalResp_OneofUnmarshaler, _SignalResp_OneofSizer, []interface{}{ + (*SignalResp_Invite)(nil), + (*SignalResp_InviteInGroup)(nil), + (*SignalResp_Cancel)(nil), + (*SignalResp_Accept)(nil), + (*SignalResp_HungUp)(nil), + (*SignalResp_Reject)(nil), + } +} + +func _SignalResp_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { + m := msg.(*SignalResp) + // payload + switch x := m.Payload.(type) { + case *SignalResp_Invite: + b.EncodeVarint(1<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.Invite); err != nil { + return err + } + case *SignalResp_InviteInGroup: + b.EncodeVarint(2<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.InviteInGroup); err != nil { + return err + } + case *SignalResp_Cancel: + b.EncodeVarint(3<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.Cancel); err != nil { + return err + } + case *SignalResp_Accept: + b.EncodeVarint(4<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.Accept); err != nil { + return err + } + case *SignalResp_HungUp: + b.EncodeVarint(5<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.HungUp); err != nil { + return err + } + case *SignalResp_Reject: + b.EncodeVarint(6<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.Reject); err != nil { + return err + } + case nil: + default: + return fmt.Errorf("SignalResp.Payload has unexpected type %T", x) + } + return nil +} + +func _SignalResp_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { + m := msg.(*SignalResp) + switch tag { + case 1: // payload.invite + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalInviteReply) + err := b.DecodeMessage(msg) + m.Payload = &SignalResp_Invite{msg} + return true, err + case 2: // payload.inviteInGroup + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalInviteInGroupReply) + err := b.DecodeMessage(msg) + m.Payload = &SignalResp_InviteInGroup{msg} + return true, err + case 3: // payload.cancel + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalCancelReply) + err := b.DecodeMessage(msg) + m.Payload = &SignalResp_Cancel{msg} + return true, err + case 4: // payload.accept + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalAcceptReply) + err := b.DecodeMessage(msg) + m.Payload = &SignalResp_Accept{msg} + return true, err + case 5: // payload.hungUp + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalHungUpReply) + err := b.DecodeMessage(msg) + m.Payload = &SignalResp_HungUp{msg} + return true, err + case 6: // payload.reject + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(SignalRejectReply) + err := b.DecodeMessage(msg) + m.Payload = &SignalResp_Reject{msg} + return true, err + default: + return false, nil + } +} + +func _SignalResp_OneofSizer(msg proto.Message) (n int) { + m := msg.(*SignalResp) + // payload + switch x := m.Payload.(type) { + case *SignalResp_Invite: + s := proto.Size(x.Invite) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *SignalResp_InviteInGroup: + s := proto.Size(x.InviteInGroup) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *SignalResp_Cancel: + s := proto.Size(x.Cancel) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *SignalResp_Accept: + s := proto.Size(x.Accept) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *SignalResp_HungUp: + s := proto.Size(x.HungUp) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *SignalResp_Reject: + s := proto.Size(x.Reject) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case nil: + default: + panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) + } + return n +} + +type InvitationInfo struct { + InviterUserID string `protobuf:"bytes,1,opt,name=inviterUserID" json:"inviterUserID,omitempty"` + InviteeUserIDList []string `protobuf:"bytes,2,rep,name=inviteeUserIDList" json:"inviteeUserIDList,omitempty"` + CustomData string `protobuf:"bytes,3,opt,name=customData" json:"customData,omitempty"` + GroupID string `protobuf:"bytes,4,opt,name=groupID" json:"groupID,omitempty"` + RoomID string `protobuf:"bytes,5,opt,name=roomID" json:"roomID,omitempty"` + Timeout int32 `protobuf:"varint,6,opt,name=timeout" json:"timeout,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *InvitationInfo) Reset() { *m = InvitationInfo{} } +func (m *InvitationInfo) String() string { return proto.CompactTextString(m) } +func (*InvitationInfo) ProtoMessage() {} +func (*InvitationInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_2b9410622756034a, []int{42} +} +func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) +} +func (m *InvitationInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_InvitationInfo.Marshal(b, m, deterministic) +} +func (dst *InvitationInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_InvitationInfo.Merge(dst, src) +} +func (m *InvitationInfo) XXX_Size() int { + return xxx_messageInfo_InvitationInfo.Size(m) +} +func (m *InvitationInfo) XXX_DiscardUnknown() { + xxx_messageInfo_InvitationInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_InvitationInfo proto.InternalMessageInfo + +func (m *InvitationInfo) GetInviterUserID() string { + if m != nil { + return m.InviterUserID + } + return "" +} + +func (m *InvitationInfo) GetInviteeUserIDList() []string { + if m != nil { + return m.InviteeUserIDList + } + return nil +} + +func (m *InvitationInfo) GetCustomData() string { + if m != nil { + return m.CustomData + } + return "" +} + +func (m *InvitationInfo) GetGroupID() string { + if m != nil { + return m.GroupID + } + return "" +} + +func (m *InvitationInfo) GetRoomID() string { + if m != nil { + return m.RoomID + } + return "" +} + +func (m *InvitationInfo) GetTimeout() int32 { + if m != nil { + return m.Timeout + } + return 0 +} + +type SignalInviteReq struct { + Invitation *InvitationInfo `protobuf:"bytes,1,opt,name=invitation" json:"invitation,omitempty"` + OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,2,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalInviteReq) Reset() { *m = SignalInviteReq{} } +func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) } +func (*SignalInviteReq) ProtoMessage() {} +func (*SignalInviteReq) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_2b9410622756034a, []int{43} +} +func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) +} +func (m *SignalInviteReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalInviteReq.Marshal(b, m, deterministic) +} +func (dst *SignalInviteReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalInviteReq.Merge(dst, src) +} +func (m *SignalInviteReq) XXX_Size() int { + return xxx_messageInfo_SignalInviteReq.Size(m) +} +func (m *SignalInviteReq) XXX_DiscardUnknown() { + xxx_messageInfo_SignalInviteReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalInviteReq proto.InternalMessageInfo + +func (m *SignalInviteReq) GetInvitation() *InvitationInfo { + if m != nil { + return m.Invitation + } + return nil +} + +func (m *SignalInviteReq) GetOfflinePushInfo() *OfflinePushInfo { + if m != nil { + return m.OfflinePushInfo + } + return nil +} + +type SignalInviteReply struct { + Token string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` + LiveURL string `protobuf:"bytes,3,opt,name=liveURL" json:"liveURL,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalInviteReply) Reset() { *m = SignalInviteReply{} } +func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) } +func (*SignalInviteReply) ProtoMessage() {} +func (*SignalInviteReply) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_2b9410622756034a, []int{44} +} +func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) +} +func (m *SignalInviteReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalInviteReply.Marshal(b, m, deterministic) +} +func (dst *SignalInviteReply) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalInviteReply.Merge(dst, src) +} +func (m *SignalInviteReply) XXX_Size() int { + return xxx_messageInfo_SignalInviteReply.Size(m) +} +func (m *SignalInviteReply) XXX_DiscardUnknown() { + xxx_messageInfo_SignalInviteReply.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalInviteReply proto.InternalMessageInfo + +func (m *SignalInviteReply) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +func (m *SignalInviteReply) GetLiveURL() string { + if m != nil { + return m.LiveURL + } + return "" +} + +type SignalInviteInGroupReq struct { + Invitation *InvitationInfo `protobuf:"bytes,1,opt,name=invitation" json:"invitation,omitempty"` + OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,2,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalInviteInGroupReq) Reset() { *m = SignalInviteInGroupReq{} } +func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) } +func (*SignalInviteInGroupReq) ProtoMessage() {} +func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_2b9410622756034a, []int{45} +} +func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) +} +func (m *SignalInviteInGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalInviteInGroupReq.Marshal(b, m, deterministic) +} +func (dst *SignalInviteInGroupReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalInviteInGroupReq.Merge(dst, src) +} +func (m *SignalInviteInGroupReq) XXX_Size() int { + return xxx_messageInfo_SignalInviteInGroupReq.Size(m) +} +func (m *SignalInviteInGroupReq) XXX_DiscardUnknown() { + xxx_messageInfo_SignalInviteInGroupReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalInviteInGroupReq proto.InternalMessageInfo + +func (m *SignalInviteInGroupReq) GetInvitation() *InvitationInfo { + if m != nil { + return m.Invitation + } + return nil +} + +func (m *SignalInviteInGroupReq) GetOfflinePushInfo() *OfflinePushInfo { + if m != nil { + return m.OfflinePushInfo + } + return nil +} + +type SignalInviteInGroupReply struct { + Token string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` + RoomID string `protobuf:"bytes,2,opt,name=roomID" json:"roomID,omitempty"` + LiveURL string `protobuf:"bytes,3,opt,name=liveURL" json:"liveURL,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalInviteInGroupReply) Reset() { *m = SignalInviteInGroupReply{} } +func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) } +func (*SignalInviteInGroupReply) ProtoMessage() {} +func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_2b9410622756034a, []int{46} +} +func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) +} +func (m *SignalInviteInGroupReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalInviteInGroupReply.Marshal(b, m, deterministic) +} +func (dst *SignalInviteInGroupReply) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalInviteInGroupReply.Merge(dst, src) +} +func (m *SignalInviteInGroupReply) XXX_Size() int { + return xxx_messageInfo_SignalInviteInGroupReply.Size(m) +} +func (m *SignalInviteInGroupReply) XXX_DiscardUnknown() { + xxx_messageInfo_SignalInviteInGroupReply.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalInviteInGroupReply proto.InternalMessageInfo + +func (m *SignalInviteInGroupReply) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +func (m *SignalInviteInGroupReply) GetRoomID() string { + if m != nil { + return m.RoomID + } + return "" +} + +func (m *SignalInviteInGroupReply) GetLiveURL() string { + if m != nil { + return m.LiveURL + } + return "" +} + +type SignalCancelReq struct { + InviterUserID string `protobuf:"bytes,1,opt,name=inviterUserID" json:"inviterUserID,omitempty"` + Invitation *SignalInviteReq `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalCancelReq) Reset() { *m = SignalCancelReq{} } +func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) } +func (*SignalCancelReq) ProtoMessage() {} +func (*SignalCancelReq) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_2b9410622756034a, []int{47} +} +func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) +} +func (m *SignalCancelReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalCancelReq.Marshal(b, m, deterministic) +} +func (dst *SignalCancelReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalCancelReq.Merge(dst, src) +} +func (m *SignalCancelReq) XXX_Size() int { + return xxx_messageInfo_SignalCancelReq.Size(m) +} +func (m *SignalCancelReq) XXX_DiscardUnknown() { + xxx_messageInfo_SignalCancelReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalCancelReq proto.InternalMessageInfo + +func (m *SignalCancelReq) GetInviterUserID() string { + if m != nil { + return m.InviterUserID + } + return "" +} + +func (m *SignalCancelReq) GetInvitation() *SignalInviteReq { + if m != nil { + return m.Invitation + } + return nil +} + +type SignalCancelReply struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalCancelReply) Reset() { *m = SignalCancelReply{} } +func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) } +func (*SignalCancelReply) ProtoMessage() {} +func (*SignalCancelReply) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_2b9410622756034a, []int{48} +} +func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) +} +func (m *SignalCancelReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalCancelReply.Marshal(b, m, deterministic) +} +func (dst *SignalCancelReply) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalCancelReply.Merge(dst, src) +} +func (m *SignalCancelReply) XXX_Size() int { + return xxx_messageInfo_SignalCancelReply.Size(m) +} +func (m *SignalCancelReply) XXX_DiscardUnknown() { + xxx_messageInfo_SignalCancelReply.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalCancelReply proto.InternalMessageInfo + +type SignalAcceptReq struct { + InviteeUserID string `protobuf:"bytes,1,opt,name=inviteeUserID" json:"inviteeUserID,omitempty"` + Invitation *SignalInviteReq `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalAcceptReq) Reset() { *m = SignalAcceptReq{} } +func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) } +func (*SignalAcceptReq) ProtoMessage() {} +func (*SignalAcceptReq) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_2b9410622756034a, []int{49} +} +func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) +} +func (m *SignalAcceptReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalAcceptReq.Marshal(b, m, deterministic) +} +func (dst *SignalAcceptReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalAcceptReq.Merge(dst, src) +} +func (m *SignalAcceptReq) XXX_Size() int { + return xxx_messageInfo_SignalAcceptReq.Size(m) +} +func (m *SignalAcceptReq) XXX_DiscardUnknown() { + xxx_messageInfo_SignalAcceptReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalAcceptReq proto.InternalMessageInfo + +func (m *SignalAcceptReq) GetInviteeUserID() string { + if m != nil { + return m.InviteeUserID + } + return "" +} + +func (m *SignalAcceptReq) GetInvitation() *SignalInviteReq { + if m != nil { + return m.Invitation + } + return nil +} + +type SignalAcceptReply struct { + Token string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` + RoomID string `protobuf:"bytes,2,opt,name=roomID" json:"roomID,omitempty"` + LiveURL string `protobuf:"bytes,3,opt,name=liveURL" json:"liveURL,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalAcceptReply) Reset() { *m = SignalAcceptReply{} } +func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) } +func (*SignalAcceptReply) ProtoMessage() {} +func (*SignalAcceptReply) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_2b9410622756034a, []int{50} +} +func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) +} +func (m *SignalAcceptReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalAcceptReply.Marshal(b, m, deterministic) +} +func (dst *SignalAcceptReply) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalAcceptReply.Merge(dst, src) +} +func (m *SignalAcceptReply) XXX_Size() int { + return xxx_messageInfo_SignalAcceptReply.Size(m) +} +func (m *SignalAcceptReply) XXX_DiscardUnknown() { + xxx_messageInfo_SignalAcceptReply.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalAcceptReply proto.InternalMessageInfo + +func (m *SignalAcceptReply) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +func (m *SignalAcceptReply) GetRoomID() string { + if m != nil { + return m.RoomID + } + return "" +} + +func (m *SignalAcceptReply) GetLiveURL() string { + if m != nil { + return m.LiveURL + } + return "" +} + +type SignalHungUpReq struct { + UserID string `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"` + Invitation *SignalInviteReq `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalHungUpReq) Reset() { *m = SignalHungUpReq{} } +func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) } +func (*SignalHungUpReq) ProtoMessage() {} +func (*SignalHungUpReq) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_2b9410622756034a, []int{51} +} +func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) +} +func (m *SignalHungUpReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalHungUpReq.Marshal(b, m, deterministic) +} +func (dst *SignalHungUpReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalHungUpReq.Merge(dst, src) +} +func (m *SignalHungUpReq) XXX_Size() int { + return xxx_messageInfo_SignalHungUpReq.Size(m) +} +func (m *SignalHungUpReq) XXX_DiscardUnknown() { + xxx_messageInfo_SignalHungUpReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalHungUpReq proto.InternalMessageInfo + +func (m *SignalHungUpReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *SignalHungUpReq) GetInvitation() *SignalInviteReq { + if m != nil { + return m.Invitation + } + return nil +} + +type SignalHungUpReply struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalHungUpReply) Reset() { *m = SignalHungUpReply{} } +func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) } +func (*SignalHungUpReply) ProtoMessage() {} +func (*SignalHungUpReply) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_2b9410622756034a, []int{52} +} +func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) +} +func (m *SignalHungUpReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalHungUpReply.Marshal(b, m, deterministic) +} +func (dst *SignalHungUpReply) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalHungUpReply.Merge(dst, src) +} +func (m *SignalHungUpReply) XXX_Size() int { + return xxx_messageInfo_SignalHungUpReply.Size(m) +} +func (m *SignalHungUpReply) XXX_DiscardUnknown() { + xxx_messageInfo_SignalHungUpReply.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalHungUpReply proto.InternalMessageInfo + +type SignalRejectReq struct { + InviteeUserID string `protobuf:"bytes,1,opt,name=inviteeUserID" json:"inviteeUserID,omitempty"` + Invitation *SignalInviteReq `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalRejectReq) Reset() { *m = SignalRejectReq{} } +func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) } +func (*SignalRejectReq) ProtoMessage() {} +func (*SignalRejectReq) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_2b9410622756034a, []int{53} +} +func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) +} +func (m *SignalRejectReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalRejectReq.Marshal(b, m, deterministic) +} +func (dst *SignalRejectReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalRejectReq.Merge(dst, src) +} +func (m *SignalRejectReq) XXX_Size() int { + return xxx_messageInfo_SignalRejectReq.Size(m) +} +func (m *SignalRejectReq) XXX_DiscardUnknown() { + xxx_messageInfo_SignalRejectReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalRejectReq proto.InternalMessageInfo + +func (m *SignalRejectReq) GetInviteeUserID() string { + if m != nil { + return m.InviteeUserID + } + return "" +} + +func (m *SignalRejectReq) GetInvitation() *SignalInviteReq { + if m != nil { + return m.Invitation + } + return nil +} + +type SignalRejectReply struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignalRejectReply) Reset() { *m = SignalRejectReply{} } +func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) } +func (*SignalRejectReply) ProtoMessage() {} +func (*SignalRejectReply) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_2b9410622756034a, []int{54} +} +func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) +} +func (m *SignalRejectReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignalRejectReply.Marshal(b, m, deterministic) +} +func (dst *SignalRejectReply) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignalRejectReply.Merge(dst, src) +} +func (m *SignalRejectReply) XXX_Size() int { + return xxx_messageInfo_SignalRejectReply.Size(m) +} +func (m *SignalRejectReply) XXX_DiscardUnknown() { + xxx_messageInfo_SignalRejectReply.DiscardUnknown(m) +} + +var xxx_messageInfo_SignalRejectReply proto.InternalMessageInfo + func init() { proto.RegisterType((*GroupInfo)(nil), "server_api_params.GroupInfo") proto.RegisterType((*GroupMemberFullInfo)(nil), "server_api_params.GroupMemberFullInfo") @@ -2631,136 +3764,178 @@ func init() { proto.RegisterType((*ConversationUpdateTips)(nil), "server_api_params.ConversationUpdateTips") proto.RegisterType((*RequestPagination)(nil), "server_api_params.RequestPagination") proto.RegisterType((*ResponsePagination)(nil), "server_api_params.ResponsePagination") + proto.RegisterType((*SignalReq)(nil), "server_api_params.SignalReq") + proto.RegisterType((*SignalResp)(nil), "server_api_params.SignalResp") + proto.RegisterType((*InvitationInfo)(nil), "server_api_params.InvitationInfo") + proto.RegisterType((*SignalInviteReq)(nil), "server_api_params.SignalInviteReq") + proto.RegisterType((*SignalInviteReply)(nil), "server_api_params.SignalInviteReply") + proto.RegisterType((*SignalInviteInGroupReq)(nil), "server_api_params.SignalInviteInGroupReq") + proto.RegisterType((*SignalInviteInGroupReply)(nil), "server_api_params.SignalInviteInGroupReply") + proto.RegisterType((*SignalCancelReq)(nil), "server_api_params.SignalCancelReq") + proto.RegisterType((*SignalCancelReply)(nil), "server_api_params.SignalCancelReply") + proto.RegisterType((*SignalAcceptReq)(nil), "server_api_params.SignalAcceptReq") + proto.RegisterType((*SignalAcceptReply)(nil), "server_api_params.SignalAcceptReply") + proto.RegisterType((*SignalHungUpReq)(nil), "server_api_params.SignalHungUpReq") + proto.RegisterType((*SignalHungUpReply)(nil), "server_api_params.SignalHungUpReply") + proto.RegisterType((*SignalRejectReq)(nil), "server_api_params.SignalRejectReq") + proto.RegisterType((*SignalRejectReply)(nil), "server_api_params.SignalRejectReply") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_c2d3d5fccaf1040a) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_2b9410622756034a) } -var fileDescriptor_ws_c2d3d5fccaf1040a = []byte{ - // 2005 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0x4f, 0x6f, 0x23, 0x49, - 0x15, 0x57, 0xdb, 0xb1, 0x13, 0x3f, 0xc7, 0x71, 0xd2, 0xb3, 0x04, 0x13, 0x66, 0x87, 0xd0, 0x5a, - 0x2d, 0x23, 0x24, 0xb2, 0x68, 0x10, 0x12, 0xec, 0x0a, 0x50, 0xfe, 0x4c, 0xc2, 0x2c, 0x71, 0x12, - 0xda, 0x19, 0x16, 0x21, 0xa4, 0x51, 0xc7, 0xfd, 0xec, 0xf4, 0xa6, 0x5d, 0xd5, 0xae, 0xea, 0x4e, - 0x66, 0x24, 0x4e, 0x20, 0xf1, 0x0d, 0xe0, 0x03, 0x70, 0x41, 0x5c, 0x10, 0x17, 0xc4, 0x85, 0x23, - 0x5f, 0x80, 0x33, 0x5f, 0x81, 0x2b, 0x07, 0x24, 0x24, 0x50, 0xfd, 0xe9, 0xee, 0xaa, 0xb6, 0x93, - 0xb5, 0xa2, 0x68, 0x87, 0x9b, 0xdf, 0xaf, 0xeb, 0xbd, 0x7a, 0xff, 0xeb, 0x55, 0x19, 0xba, 0x3c, - 0xbc, 0x7a, 0x75, 0xc3, 0x3f, 0xb8, 0xe1, 0x3b, 0x09, 0xa3, 0x29, 0x75, 0x37, 0x38, 0xb2, 0x6b, - 0x64, 0xaf, 0x82, 0x24, 0x7a, 0x95, 0x04, 0x2c, 0x98, 0x70, 0xef, 0x5f, 0x35, 0x68, 0x1d, 0x31, - 0x9a, 0x25, 0x2f, 0xc8, 0x88, 0xba, 0x3d, 0x58, 0x1e, 0x4b, 0xe2, 0xa0, 0xe7, 0x6c, 0x3b, 0x4f, - 0x5b, 0x7e, 0x4e, 0xba, 0x8f, 0xa1, 0x25, 0x7f, 0x9e, 0x04, 0x13, 0xec, 0xd5, 0xe4, 0xb7, 0x12, - 0x70, 0x3d, 0x58, 0x25, 0x34, 0x8d, 0x46, 0xd1, 0x30, 0x48, 0x23, 0x4a, 0x7a, 0x75, 0xb9, 0xc0, - 0xc2, 0xc4, 0x9a, 0x88, 0xa4, 0x8c, 0x86, 0xd9, 0x50, 0xae, 0x59, 0x52, 0x6b, 0x4c, 0x4c, 0xec, - 0x3f, 0x0a, 0x86, 0xf8, 0xd2, 0x3f, 0xee, 0x35, 0xd4, 0xfe, 0x9a, 0x74, 0xb7, 0xa1, 0x4d, 0x6f, - 0x08, 0xb2, 0x97, 0x1c, 0xd9, 0x8b, 0x83, 0x5e, 0x53, 0x7e, 0x35, 0x21, 0xf7, 0x09, 0xc0, 0x90, - 0x61, 0x90, 0xe2, 0x79, 0x34, 0xc1, 0xde, 0xf2, 0xb6, 0xf3, 0xb4, 0xe3, 0x1b, 0x88, 0x90, 0x30, - 0xc1, 0xc9, 0x05, 0xb2, 0x7d, 0x9a, 0x91, 0xb4, 0xb7, 0x22, 0x17, 0x98, 0x90, 0xbb, 0x06, 0x35, - 0x7c, 0xdd, 0x6b, 0x49, 0xd1, 0x35, 0x7c, 0xed, 0x6e, 0x42, 0x93, 0xa7, 0x41, 0x9a, 0xf1, 0x1e, - 0x6c, 0x3b, 0x4f, 0x1b, 0xbe, 0xa6, 0xdc, 0xf7, 0xa0, 0x23, 0xe5, 0xd2, 0x5c, 0x9b, 0xb6, 0x64, - 0xb1, 0xc1, 0xc2, 0x63, 0xe7, 0x6f, 0x12, 0xec, 0xad, 0x4a, 0x01, 0x25, 0xe0, 0xfd, 0xa5, 0x06, - 0x8f, 0xa4, 0xdf, 0xfb, 0x52, 0x81, 0xc3, 0x2c, 0x8e, 0x3f, 0x23, 0x02, 0x9b, 0xd0, 0xcc, 0xd4, - 0x76, 0xca, 0xfd, 0x9a, 0x12, 0xfb, 0x30, 0x1a, 0xe3, 0x31, 0x5e, 0x63, 0x2c, 0x1d, 0xdf, 0xf0, - 0x4b, 0xc0, 0xdd, 0x82, 0x95, 0x4f, 0x69, 0x44, 0xa4, 0x4f, 0x96, 0xe4, 0xc7, 0x82, 0x16, 0xdf, - 0x48, 0x34, 0xbc, 0x22, 0x22, 0xa4, 0xca, 0xdd, 0x05, 0x6d, 0x46, 0xa2, 0x69, 0x47, 0xe2, 0x7d, - 0x58, 0x0b, 0x92, 0xa4, 0x1f, 0x90, 0x31, 0x32, 0xb5, 0xe9, 0xb2, 0x94, 0x5b, 0x41, 0x45, 0x3c, - 0xc4, 0x4e, 0x03, 0x9a, 0xb1, 0x21, 0x4a, 0x77, 0x37, 0x7c, 0x03, 0x11, 0x72, 0x68, 0x82, 0xcc, - 0x70, 0xa3, 0xf2, 0x7c, 0x05, 0xd5, 0x51, 0x81, 0x3c, 0x2a, 0xde, 0xaf, 0x1d, 0x58, 0x3b, 0xcb, - 0x2e, 0xe2, 0x68, 0x28, 0x17, 0x08, 0xa7, 0x95, 0xae, 0x71, 0x2c, 0xd7, 0x98, 0x06, 0xd6, 0x6e, - 0x37, 0xb0, 0x6e, 0x1b, 0xb8, 0x09, 0xcd, 0x31, 0x92, 0x10, 0x99, 0x76, 0x98, 0xa6, 0xb4, 0x22, - 0x8d, 0x42, 0x91, 0xdf, 0xd6, 0x60, 0xe5, 0x73, 0x56, 0x61, 0x1b, 0xda, 0xc9, 0x25, 0x25, 0x78, - 0x92, 0x89, 0xa4, 0xd1, 0xba, 0x98, 0x90, 0xfb, 0x0e, 0x34, 0x2e, 0x22, 0x96, 0x5e, 0xca, 0xa8, - 0x75, 0x7c, 0x45, 0x08, 0x14, 0x27, 0x41, 0xa4, 0x42, 0xd5, 0xf2, 0x15, 0xa1, 0x0d, 0x5a, 0x29, - 0xf2, 0xdd, 0xae, 0xa0, 0xd6, 0x4c, 0x05, 0xcd, 0x46, 0x1e, 0xe6, 0x45, 0xde, 0xfb, 0xb7, 0x03, - 0x70, 0xc8, 0x22, 0x24, 0xa1, 0x74, 0x4d, 0xa5, 0x74, 0x9d, 0xd9, 0xd2, 0xdd, 0x84, 0x26, 0xc3, - 0x49, 0xc0, 0xae, 0xf2, 0xd4, 0x56, 0x54, 0x45, 0xa1, 0xfa, 0x8c, 0x42, 0x1f, 0x01, 0x8c, 0xe4, - 0x3e, 0x42, 0x8e, 0x74, 0x55, 0xfb, 0xd9, 0x97, 0x77, 0x66, 0x9a, 0xdc, 0x4e, 0x1e, 0x25, 0xdf, - 0x58, 0x2e, 0xea, 0x26, 0x08, 0x43, 0x9d, 0x9e, 0x0d, 0x55, 0x37, 0x05, 0x30, 0x27, 0x3b, 0x9b, - 0x77, 0x64, 0xe7, 0x72, 0x91, 0x14, 0xff, 0x74, 0xa0, 0xb5, 0x17, 0x07, 0xc3, 0xab, 0x05, 0x4d, - 0xb7, 0x4d, 0xac, 0xcd, 0x98, 0x78, 0x04, 0x9d, 0x0b, 0x21, 0x2e, 0x37, 0x41, 0x7a, 0xa1, 0xfd, - 0xec, 0xab, 0x73, 0xac, 0xb4, 0x8b, 0xc2, 0xb7, 0xf9, 0x6c, 0x73, 0x97, 0x3e, 0xdb, 0xdc, 0xc6, - 0x1d, 0xe6, 0x36, 0x0b, 0x73, 0xff, 0x5e, 0x83, 0x55, 0xd9, 0xc6, 0x7c, 0x9c, 0x66, 0xc8, 0x53, - 0xf7, 0x7b, 0xb0, 0x92, 0xe5, 0xaa, 0x3a, 0x8b, 0xaa, 0x5a, 0xb0, 0xb8, 0x1f, 0xea, 0xa6, 0x29, - 0xf9, 0x6b, 0x92, 0xff, 0xf1, 0x1c, 0xfe, 0xe2, 0xc4, 0xf2, 0xcb, 0xe5, 0xe2, 0x80, 0xb9, 0x0c, - 0x48, 0x18, 0xa3, 0x8f, 0x3c, 0x8b, 0x53, 0xdd, 0x0b, 0x2d, 0x4c, 0x65, 0xda, 0xb4, 0xcf, 0xc7, - 0xfa, 0xf8, 0xd1, 0x94, 0xf0, 0x8e, 0x5a, 0x27, 0x3e, 0x29, 0xd3, 0x4b, 0x40, 0x14, 0x2a, 0xc3, - 0xa9, 0x8c, 0x90, 0x2a, 0xab, 0x9c, 0x2c, 0xf7, 0xd4, 0x5e, 0x53, 0x89, 0x60, 0x61, 0x22, 0xc4, - 0x8a, 0x96, 0x02, 0xd4, 0xb9, 0x63, 0x20, 0xd5, 0x63, 0xc7, 0xfb, 0x47, 0x1d, 0x3a, 0xaa, 0x7c, - 0x72, 0xa7, 0x3e, 0x11, 0x79, 0x4e, 0x27, 0x56, 0x16, 0x19, 0x88, 0xd0, 0x42, 0x50, 0x27, 0x76, - 0xa3, 0xb1, 0x30, 0x91, 0x8a, 0x82, 0x3e, 0xb4, 0x1a, 0x8e, 0x09, 0xe5, 0xbb, 0x1c, 0x99, 0x8d, - 0xc7, 0x40, 0x44, 0x2b, 0x4b, 0xa9, 0x95, 0x1d, 0x05, 0x2d, 0x78, 0x53, 0x5a, 0xec, 0xaf, 0xf2, - 0xc3, 0x40, 0x84, 0x7f, 0x53, 0x9a, 0xef, 0xad, 0x9c, 0x54, 0x02, 0x4a, 0xb2, 0xde, 0x57, 0x1d, - 0x14, 0x05, 0x3d, 0x13, 0xd5, 0xd6, 0x9d, 0x51, 0x05, 0x2b, 0xaa, 0x76, 0x71, 0xb5, 0x67, 0x8a, - 0xeb, 0x3d, 0xe8, 0x28, 0x39, 0x79, 0xd2, 0xaf, 0xaa, 0x83, 0xdc, 0x02, 0xed, 0xdc, 0xe8, 0x54, - 0x73, 0xc3, 0x8e, 0xee, 0xda, 0x2d, 0xd1, 0xed, 0x16, 0xd1, 0xfd, 0x05, 0xf4, 0xce, 0xb2, 0x38, - 0xee, 0x23, 0xe7, 0xc1, 0x18, 0xf7, 0xde, 0x0c, 0x70, 0x7a, 0x1c, 0xf1, 0xd4, 0x47, 0x9e, 0x88, - 0x3c, 0x43, 0xc6, 0xf6, 0x69, 0x88, 0x32, 0xc8, 0x0d, 0x3f, 0x27, 0x85, 0x85, 0xc8, 0x98, 0x50, - 0x40, 0x77, 0x48, 0x45, 0xb9, 0x3b, 0xb0, 0x14, 0x47, 0x5c, 0xe4, 0x7a, 0xfd, 0x69, 0xfb, 0xd9, - 0xd6, 0x9c, 0x52, 0xe9, 0xf3, 0xf1, 0x41, 0x90, 0x06, 0xbe, 0x5c, 0xe7, 0x4d, 0xe0, 0x8b, 0xf3, - 0x77, 0x9f, 0xde, 0x7a, 0x82, 0x89, 0x1e, 0x26, 0x9b, 0x40, 0x44, 0x49, 0x31, 0x7c, 0x98, 0x90, - 0x50, 0x9b, 0x2b, 0x39, 0x52, 0x8f, 0x8e, 0x9f, 0x93, 0xde, 0x3b, 0xe0, 0x1e, 0x61, 0xda, 0x0f, - 0x5e, 0xef, 0x92, 0xb0, 0x1f, 0x91, 0x01, 0x4e, 0x7d, 0x9c, 0x7a, 0xcf, 0xe1, 0xd1, 0x0c, 0xca, - 0x13, 0xa1, 0xc0, 0x24, 0x78, 0x3d, 0xc0, 0xa9, 0x54, 0xa0, 0xe3, 0x6b, 0x4a, 0xe2, 0x72, 0x95, - 0x6e, 0x8f, 0x9a, 0xf2, 0xa6, 0xd0, 0x15, 0x11, 0x1a, 0x20, 0x09, 0xfb, 0x7c, 0x2c, 0x45, 0x6c, - 0x43, 0x5b, 0x79, 0xa0, 0xcf, 0xc7, 0x65, 0xbf, 0x35, 0x20, 0xb1, 0x62, 0x18, 0x47, 0x48, 0x52, - 0xb5, 0x42, 0x5b, 0x63, 0x40, 0x22, 0x19, 0x39, 0x92, 0xb0, 0x38, 0x72, 0xea, 0x7e, 0x41, 0x7b, - 0x7f, 0x6d, 0xc0, 0xb2, 0x76, 0xa8, 0x9c, 0x0e, 0xc5, 0x11, 0x57, 0xf8, 0x4b, 0x51, 0x2a, 0x19, - 0x87, 0xd7, 0xe5, 0x9c, 0xa6, 0x28, 0x73, 0xb2, 0xab, 0xdb, 0x93, 0x5d, 0x45, 0xa7, 0xa5, 0x59, - 0x9d, 0x2a, 0x76, 0x35, 0x66, 0xed, 0xfa, 0x3a, 0xac, 0x73, 0x59, 0x30, 0x67, 0x71, 0x90, 0x8e, - 0x28, 0x9b, 0xe8, 0x13, 0xab, 0xe1, 0xcf, 0xe0, 0xa2, 0xd9, 0x2b, 0xac, 0x28, 0x58, 0x55, 0x91, - 0x15, 0x54, 0x94, 0x87, 0x42, 0xf2, 0xc2, 0x55, 0xa3, 0x82, 0x0d, 0x2a, 0xdd, 0x38, 0x8f, 0x28, - 0x91, 0x93, 0xae, 0xaa, 0x4f, 0x13, 0x12, 0x96, 0x4f, 0xf8, 0xf8, 0x90, 0xd1, 0x89, 0x1e, 0x18, - 0x72, 0x52, 0x5a, 0x4e, 0x49, 0x8a, 0x24, 0x95, 0xbc, 0x6d, 0xc5, 0x6b, 0x40, 0x82, 0x57, 0x93, - 0xb2, 0x38, 0x57, 0xfd, 0x9c, 0x74, 0xd7, 0xa1, 0xce, 0x71, 0xaa, 0x2b, 0x4e, 0xfc, 0xb4, 0x22, - 0xd7, 0xb5, 0x23, 0x57, 0x69, 0x05, 0xeb, 0xf2, 0xab, 0xd9, 0x0a, 0xca, 0x59, 0x7f, 0xc3, 0x9a, - 0xf5, 0x77, 0x61, 0x99, 0x26, 0x22, 0xcf, 0x79, 0xcf, 0x95, 0x35, 0xf6, 0xb5, 0xdb, 0x6b, 0x6c, - 0xe7, 0x54, 0xad, 0x7c, 0x4e, 0x52, 0xf6, 0xc6, 0xcf, 0xf9, 0xdc, 0x63, 0xe8, 0xd2, 0xd1, 0x28, - 0x8e, 0x08, 0x9e, 0x65, 0xfc, 0x52, 0x9e, 0x6c, 0x8f, 0xe4, 0xc9, 0xe6, 0xcd, 0x11, 0x75, 0x6a, - 0xaf, 0xf4, 0xab, 0xac, 0x5b, 0x1f, 0xc2, 0xaa, 0xb9, 0x8d, 0x70, 0xc3, 0x15, 0xbe, 0xd1, 0x39, - 0x28, 0x7e, 0x8a, 0x61, 0xef, 0x3a, 0x88, 0x33, 0x75, 0x0c, 0xac, 0xf8, 0x8a, 0xf8, 0xb0, 0xf6, - 0x1d, 0xc7, 0xfb, 0x8d, 0x03, 0xdd, 0xca, 0x06, 0x62, 0x75, 0x1a, 0xa5, 0x31, 0x6a, 0x09, 0x8a, - 0x70, 0x5d, 0x58, 0x0a, 0x91, 0x0f, 0x75, 0x0a, 0xcb, 0xdf, 0xba, 0x93, 0xd5, 0x8b, 0x71, 0x51, - 0x5c, 0xe8, 0x4e, 0x07, 0x42, 0xd0, 0x80, 0x66, 0x24, 0x2c, 0x2e, 0x74, 0x06, 0x26, 0x52, 0x28, - 0x3a, 0x1d, 0xec, 0x05, 0xe1, 0x18, 0xd5, 0xb5, 0xab, 0x21, 0x75, 0xb2, 0x41, 0x2f, 0x84, 0x95, - 0xf3, 0x28, 0xe1, 0xfb, 0x74, 0x32, 0x11, 0x81, 0x08, 0x31, 0x15, 0xb3, 0xaa, 0x23, 0xe3, 0xad, - 0x29, 0x91, 0x2a, 0x21, 0x8e, 0x82, 0x2c, 0x4e, 0xc5, 0xd2, 0xbc, 0x70, 0x0d, 0x48, 0x5e, 0x38, - 0x38, 0x25, 0x07, 0x8a, 0x5b, 0xe9, 0x69, 0x20, 0xde, 0xdf, 0x6a, 0xb0, 0x2e, 0x07, 0x87, 0x7d, - 0x19, 0xf6, 0x50, 0x32, 0x3d, 0x83, 0x86, 0x2c, 0x43, 0x3d, 0xac, 0xdc, 0x3d, 0x6c, 0xa8, 0xa5, - 0xee, 0xf7, 0xa1, 0x49, 0x13, 0x39, 0x72, 0xaa, 0x09, 0xe5, 0xfd, 0xdb, 0x98, 0xec, 0xbb, 0x9d, - 0xaf, 0xb9, 0xdc, 0x43, 0x00, 0x75, 0xed, 0x3c, 0x2e, 0x5b, 0xf7, 0xa2, 0x32, 0x0c, 0x4e, 0xe1, - 0xdc, 0xa2, 0x0d, 0x17, 0x17, 0xbc, 0xba, 0x6f, 0x83, 0xee, 0x09, 0xac, 0x49, 0xb5, 0x4f, 0xf3, - 0xa9, 0x53, 0xc6, 0x60, 0xf1, 0x1d, 0x2b, 0xdc, 0xde, 0xef, 0x1c, 0xed, 0x46, 0xf1, 0x75, 0x80, - 0xca, 0xf7, 0xa5, 0x4b, 0x9c, 0x7b, 0xb9, 0x64, 0x0b, 0x56, 0x26, 0x99, 0x31, 0x04, 0xd7, 0xfd, - 0x82, 0x2e, 0x43, 0x54, 0x5f, 0x38, 0x44, 0xde, 0xef, 0x1d, 0xe8, 0x7d, 0x4c, 0x23, 0x22, 0x3f, - 0xec, 0x26, 0x49, 0xac, 0x5f, 0x21, 0xee, 0x1d, 0xf3, 0x1f, 0x40, 0x2b, 0x50, 0x62, 0x48, 0xaa, - 0xc3, 0xbe, 0xc0, 0x60, 0x5b, 0xf2, 0x18, 0x33, 0x4a, 0xdd, 0x9c, 0x51, 0xbc, 0x3f, 0x3a, 0xb0, - 0xa6, 0x9c, 0xf2, 0xe3, 0x2c, 0x4a, 0xef, 0xad, 0xdf, 0x1e, 0xac, 0x4c, 0xb3, 0x28, 0xbd, 0x47, - 0x56, 0x16, 0x7c, 0xb3, 0xf9, 0x54, 0x9f, 0x93, 0x4f, 0xde, 0x9f, 0x1c, 0x78, 0x5c, 0x75, 0xeb, - 0xee, 0x70, 0x88, 0xc9, 0xdb, 0x2c, 0x29, 0x6b, 0x46, 0x5b, 0xaa, 0xcc, 0x68, 0x73, 0x55, 0xf6, - 0xf1, 0x53, 0x1c, 0xfe, 0xff, 0xaa, 0xfc, 0xab, 0x1a, 0x7c, 0xe9, 0xa8, 0x28, 0xbc, 0x73, 0x16, - 0x10, 0x3e, 0x42, 0xc6, 0xde, 0xa2, 0xbe, 0xc7, 0xd0, 0x21, 0x78, 0x53, 0xea, 0xa4, 0xcb, 0x71, - 0x51, 0x31, 0x36, 0xf3, 0x62, 0xbd, 0xcb, 0xfb, 0x8f, 0x03, 0xeb, 0x4a, 0xce, 0x8f, 0xa2, 0xe1, - 0xd5, 0x5b, 0x34, 0xfe, 0x04, 0xd6, 0xae, 0xa4, 0x06, 0x82, 0xba, 0x47, 0xdb, 0xae, 0x70, 0x2f, - 0x68, 0xfe, 0x7f, 0x1d, 0xd8, 0x50, 0x82, 0x5e, 0x90, 0xeb, 0xe8, 0x6d, 0x26, 0xeb, 0x19, 0x74, - 0x23, 0xa5, 0xc2, 0x3d, 0x1d, 0x50, 0x65, 0x5f, 0xd0, 0x03, 0x7f, 0x76, 0xa0, 0xab, 0x24, 0x3d, - 0x27, 0x29, 0xb2, 0x7b, 0xdb, 0xff, 0x43, 0x68, 0x23, 0x49, 0x59, 0x40, 0xee, 0xd3, 0x21, 0x4d, - 0xd6, 0x05, 0x9b, 0xe4, 0x15, 0x6c, 0xa8, 0x2b, 0xbc, 0xd1, 0x71, 0xc4, 0x2c, 0x1b, 0x84, 0x6a, - 0x3c, 0x75, 0x24, 0x53, 0x4e, 0xda, 0x8f, 0x33, 0xfa, 0x75, 0xbd, 0x7c, 0x9c, 0x79, 0x02, 0x10, - 0x84, 0xe1, 0x27, 0x94, 0x85, 0x11, 0xc9, 0x8f, 0x0f, 0x03, 0xf1, 0x3e, 0x86, 0x55, 0x31, 0x4d, - 0x9f, 0x1b, 0x97, 0xf1, 0x3b, 0x9f, 0x0b, 0xcc, 0x8b, 0x7c, 0xcd, 0xbe, 0xc8, 0x7b, 0x3f, 0x87, - 0x2f, 0xcc, 0x28, 0x2e, 0xbd, 0xbe, 0xaf, 0xde, 0x18, 0xf2, 0x4d, 0xb4, 0xf3, 0xbf, 0x32, 0xc7, - 0x85, 0xa6, 0x2e, 0xbe, 0xc5, 0xe4, 0xfd, 0xd2, 0x81, 0x77, 0x67, 0xc4, 0xef, 0x26, 0x09, 0xa3, - 0xd7, 0x3a, 0xb9, 0x1f, 0x62, 0x1b, 0xbb, 0xb5, 0xd6, 0xaa, 0xad, 0x75, 0xae, 0x12, 0xd6, 0x71, - 0xf0, 0x39, 0x28, 0xf1, 0x07, 0x07, 0xba, 0x5a, 0x89, 0x30, 0xd4, 0xdb, 0x7e, 0x1b, 0x9a, 0xea, - 0x7d, 0x52, 0x6f, 0xf8, 0xee, 0xdc, 0x0d, 0xf3, 0x77, 0x55, 0x5f, 0x2f, 0x9e, 0xcd, 0xc8, 0xda, - 0xbc, 0x31, 0xf0, 0xbb, 0x45, 0x07, 0x58, 0xf8, 0x05, 0x51, 0x33, 0x78, 0x3f, 0xcd, 0x93, 0xf9, - 0x00, 0x63, 0x7c, 0x48, 0x1f, 0x79, 0x2f, 0x61, 0x4d, 0x3e, 0x96, 0x96, 0x3e, 0x78, 0x10, 0xb1, - 0x9f, 0xc0, 0xba, 0x14, 0xfb, 0xe0, 0xfa, 0x16, 0xd5, 0x21, 0xfc, 0xb3, 0x7f, 0x19, 0x90, 0xf1, - 0x43, 0x4a, 0xff, 0x06, 0x3c, 0xca, 0x7d, 0xff, 0x32, 0x09, 0x8b, 0x2b, 0xca, 0x2d, 0x0f, 0x33, - 0xde, 0x37, 0x61, 0x73, 0x9f, 0x92, 0x6b, 0x64, 0x5c, 0x46, 0x59, 0xb1, 0xe4, 0x1c, 0x56, 0xf1, - 0x6b, 0xca, 0x1b, 0xc0, 0x86, 0x7e, 0x52, 0x3c, 0x0b, 0xc6, 0x11, 0x51, 0x5d, 0xe9, 0x09, 0x40, - 0x12, 0x8c, 0xf3, 0xbf, 0x14, 0xd4, 0xbb, 0x93, 0x81, 0x88, 0xef, 0xfc, 0x92, 0xde, 0xe8, 0xef, - 0x35, 0xf5, 0xbd, 0x44, 0xbc, 0x9f, 0x80, 0xeb, 0x23, 0x4f, 0x28, 0xe1, 0x68, 0x48, 0xdd, 0x86, - 0xf6, 0x7e, 0xc6, 0x18, 0x12, 0xb1, 0x55, 0xfe, 0xbe, 0x6e, 0x42, 0x42, 0xee, 0xa0, 0x94, 0xab, - 0xde, 0x2a, 0x0c, 0x64, 0xef, 0xf1, 0xcf, 0xb6, 0x76, 0x3e, 0x50, 0xff, 0x60, 0x7e, 0x34, 0xe3, - 0xc6, 0x8b, 0xa6, 0xfc, 0x47, 0xf3, 0x5b, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xe1, 0x45, 0x08, - 0x08, 0xe4, 0x1c, 0x00, 0x00, +var fileDescriptor_ws_2b9410622756034a = []byte{ + // 2433 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0xdd, 0x6f, 0xe4, 0x48, + 0x11, 0xc7, 0x9e, 0xcc, 0x24, 0x53, 0x93, 0xc9, 0x87, 0xf7, 0x08, 0xc3, 0xb2, 0xb7, 0x04, 0x2b, + 0x3a, 0x96, 0xaf, 0x1c, 0x5a, 0x84, 0x04, 0x7b, 0xb0, 0x28, 0x99, 0xec, 0xd7, 0x91, 0xec, 0xe6, + 0x3c, 0xbb, 0x1c, 0x02, 0xa4, 0x95, 0x33, 0xee, 0x99, 0xf8, 0x62, 0x77, 0x7b, 0xfc, 0x91, 0x6c, + 0x04, 0x4f, 0x20, 0xf1, 0x1f, 0xc0, 0x2b, 0xd2, 0xbd, 0x20, 0x24, 0x84, 0x78, 0x41, 0xbc, 0xf0, + 0xc8, 0x1f, 0x00, 0xcf, 0xfc, 0x0b, 0xbc, 0xf2, 0x80, 0x84, 0xc4, 0xa9, 0xbb, 0xda, 0x76, 0xb7, + 0x3d, 0x93, 0x8c, 0xa2, 0x68, 0xf7, 0xde, 0x52, 0xe5, 0xae, 0xea, 0xaa, 0xfa, 0x55, 0x55, 0x57, + 0xf7, 0x04, 0x56, 0x13, 0xef, 0xe4, 0xe5, 0x59, 0xf2, 0xee, 0x59, 0xb2, 0x1d, 0xc5, 0x2c, 0x65, + 0xd6, 0x7a, 0x42, 0xe2, 0x53, 0x12, 0xbf, 0x74, 0x23, 0xff, 0x65, 0xe4, 0xc6, 0x6e, 0x98, 0xd8, + 0xff, 0x31, 0xa1, 0xfd, 0x28, 0x66, 0x59, 0xf4, 0x84, 0x8e, 0x98, 0xd5, 0x83, 0xc5, 0xb1, 0x20, + 0xf6, 0x7a, 0xc6, 0xa6, 0x71, 0xa7, 0xed, 0xe4, 0xa4, 0x75, 0x0b, 0xda, 0xe2, 0xcf, 0xa7, 0x6e, + 0x48, 0x7a, 0xa6, 0xf8, 0x56, 0x32, 0x2c, 0x1b, 0x96, 0x29, 0x4b, 0xfd, 0x91, 0x3f, 0x74, 0x53, + 0x9f, 0xd1, 0x5e, 0x43, 0x2c, 0xd0, 0x78, 0x7c, 0x8d, 0x4f, 0xd3, 0x98, 0x79, 0xd9, 0x50, 0xac, + 0x59, 0xc0, 0x35, 0x2a, 0x8f, 0xef, 0x3f, 0x72, 0x87, 0xe4, 0x85, 0xb3, 0xdf, 0x6b, 0xe2, 0xfe, + 0x92, 0xb4, 0x36, 0xa1, 0xc3, 0xce, 0x28, 0x89, 0x5f, 0x24, 0x24, 0x7e, 0xb2, 0xd7, 0x6b, 0x89, + 0xaf, 0x2a, 0xcb, 0xba, 0x0d, 0x30, 0x8c, 0x89, 0x9b, 0x92, 0xe7, 0x7e, 0x48, 0x7a, 0x8b, 0x9b, + 0xc6, 0x9d, 0xae, 0xa3, 0x70, 0xb8, 0x86, 0x90, 0x84, 0x47, 0x24, 0xee, 0xb3, 0x8c, 0xa6, 0xbd, + 0x25, 0xb1, 0x40, 0x65, 0x59, 0x2b, 0x60, 0x92, 0x57, 0xbd, 0xb6, 0x50, 0x6d, 0x92, 0x57, 0xd6, + 0x06, 0xb4, 0x92, 0xd4, 0x4d, 0xb3, 0xa4, 0x07, 0x9b, 0xc6, 0x9d, 0xa6, 0x23, 0x29, 0x6b, 0x0b, + 0xba, 0x42, 0x2f, 0xcb, 0xad, 0xe9, 0x08, 0x11, 0x9d, 0x59, 0x44, 0xec, 0xf9, 0x79, 0x44, 0x7a, + 0xcb, 0x42, 0x41, 0xc9, 0xb0, 0xff, 0x6a, 0xc2, 0x0d, 0x11, 0xf7, 0x03, 0x61, 0xc0, 0xc3, 0x2c, + 0x08, 0x2e, 0x41, 0x60, 0x03, 0x5a, 0x19, 0x6e, 0x87, 0xe1, 0x97, 0x14, 0xdf, 0x27, 0x66, 0x01, + 0xd9, 0x27, 0xa7, 0x24, 0x10, 0x81, 0x6f, 0x3a, 0x25, 0xc3, 0xba, 0x09, 0x4b, 0x1f, 0x31, 0x9f, + 0x8a, 0x98, 0x2c, 0x88, 0x8f, 0x05, 0xcd, 0xbf, 0x51, 0x7f, 0x78, 0x42, 0x39, 0xa4, 0x18, 0xee, + 0x82, 0x56, 0x91, 0x68, 0xe9, 0x48, 0xbc, 0x03, 0x2b, 0x6e, 0x14, 0x1d, 0xb8, 0x74, 0x4c, 0x62, + 0xdc, 0x74, 0x51, 0xe8, 0xad, 0x70, 0x39, 0x1e, 0x7c, 0xa7, 0x01, 0xcb, 0xe2, 0x21, 0x11, 0xe1, + 0x6e, 0x3a, 0x0a, 0x87, 0xeb, 0x61, 0x11, 0x89, 0x95, 0x30, 0x62, 0xe4, 0x2b, 0x5c, 0x89, 0x0a, + 0xe4, 0xa8, 0xd8, 0xbf, 0x36, 0x60, 0xe5, 0x30, 0x3b, 0x0a, 0xfc, 0xa1, 0x58, 0xc0, 0x83, 0x56, + 0x86, 0xc6, 0xd0, 0x42, 0xa3, 0x3a, 0x68, 0xce, 0x76, 0xb0, 0xa1, 0x3b, 0xb8, 0x01, 0xad, 0x31, + 0xa1, 0x1e, 0x89, 0x65, 0xc0, 0x24, 0x25, 0x0d, 0x69, 0x16, 0x86, 0xfc, 0xd6, 0x84, 0xa5, 0xd7, + 0x6c, 0xc2, 0x26, 0x74, 0xa2, 0x63, 0x46, 0xc9, 0xd3, 0x8c, 0x27, 0x8d, 0xb4, 0x45, 0x65, 0x59, + 0x6f, 0x41, 0xf3, 0xc8, 0x8f, 0xd3, 0x63, 0x81, 0x5a, 0xd7, 0x41, 0x82, 0x73, 0x49, 0xe8, 0xfa, + 0x08, 0x55, 0xdb, 0x41, 0x42, 0x3a, 0xb4, 0x54, 0xe4, 0xbb, 0x5e, 0x41, 0xed, 0x5a, 0x05, 0xd5, + 0x91, 0x87, 0x69, 0xc8, 0xdb, 0xff, 0x35, 0x00, 0x1e, 0xc6, 0x3e, 0xa1, 0x9e, 0x08, 0x4d, 0xa5, + 0x74, 0x8d, 0x7a, 0xe9, 0x6e, 0x40, 0x2b, 0x26, 0xa1, 0x1b, 0x9f, 0xe4, 0xa9, 0x8d, 0x54, 0xc5, + 0xa0, 0x46, 0xcd, 0xa0, 0xf7, 0x00, 0x46, 0x62, 0x1f, 0xae, 0x47, 0x84, 0xaa, 0x73, 0xf7, 0x0b, + 0xdb, 0xb5, 0x26, 0xb7, 0x9d, 0xa3, 0xe4, 0x28, 0xcb, 0x79, 0xdd, 0xb8, 0x9e, 0x27, 0xd3, 0xb3, + 0x89, 0x75, 0x53, 0x30, 0xa6, 0x64, 0x67, 0xeb, 0x82, 0xec, 0x5c, 0x2c, 0x92, 0xe2, 0xdf, 0x06, + 0xb4, 0x77, 0x03, 0x77, 0x78, 0x32, 0xa7, 0xeb, 0xba, 0x8b, 0x66, 0xcd, 0xc5, 0x47, 0xd0, 0x3d, + 0xe2, 0xea, 0x72, 0x17, 0x44, 0x14, 0x3a, 0x77, 0xbf, 0x34, 0xc5, 0x4b, 0xbd, 0x28, 0x1c, 0x5d, + 0x4e, 0x77, 0x77, 0xe1, 0x72, 0x77, 0x9b, 0x17, 0xb8, 0xdb, 0x2a, 0xdc, 0xfd, 0xa7, 0x09, 0xcb, + 0xa2, 0x8d, 0x39, 0x64, 0x92, 0x91, 0x24, 0xb5, 0xbe, 0x0f, 0x4b, 0x59, 0x6e, 0xaa, 0x31, 0xaf, + 0xa9, 0x85, 0x88, 0x75, 0x4f, 0x36, 0x4d, 0x21, 0x6f, 0x0a, 0xf9, 0x5b, 0x53, 0xe4, 0x8b, 0x13, + 0xcb, 0x29, 0x97, 0xf3, 0x03, 0xe6, 0xd8, 0xa5, 0x5e, 0x40, 0x1c, 0x92, 0x64, 0x41, 0x2a, 0x7b, + 0xa1, 0xc6, 0xc3, 0x4c, 0x9b, 0x1c, 0x24, 0x63, 0x79, 0xfc, 0x48, 0x8a, 0x47, 0x07, 0xd7, 0xf1, + 0x4f, 0xe8, 0x7a, 0xc9, 0xe0, 0x85, 0x1a, 0x93, 0x89, 0x40, 0x08, 0xcb, 0x2a, 0x27, 0xcb, 0x3d, + 0x65, 0xd4, 0x30, 0x11, 0x34, 0x1e, 0x87, 0x18, 0x69, 0xa1, 0x00, 0xcf, 0x1d, 0x85, 0x53, 0x3d, + 0x76, 0xec, 0x7f, 0x35, 0xa0, 0x8b, 0xe5, 0x93, 0x07, 0xf5, 0x36, 0xcf, 0x73, 0x16, 0x6a, 0x59, + 0xa4, 0x70, 0xb8, 0x15, 0x9c, 0x7a, 0xaa, 0x37, 0x1a, 0x8d, 0xc7, 0x53, 0x91, 0xd3, 0x0f, 0xb5, + 0x86, 0xa3, 0xb2, 0xf2, 0x5d, 0x1e, 0xa9, 0x8d, 0x47, 0xe1, 0xf0, 0x56, 0x96, 0x32, 0x2d, 0x3b, + 0x0a, 0x9a, 0xcb, 0xa6, 0xac, 0xd8, 0x1f, 0xf3, 0x43, 0xe1, 0xf0, 0xf8, 0xa6, 0x2c, 0xdf, 0x1b, + 0x83, 0x54, 0x32, 0x50, 0xb3, 0xdc, 0x17, 0x0f, 0x8a, 0x82, 0xae, 0xa1, 0xda, 0xbe, 0x10, 0x55, + 0xd0, 0x50, 0xd5, 0x8b, 0xab, 0x53, 0x2b, 0xae, 0x2d, 0xe8, 0xa2, 0x9e, 0x3c, 0xe9, 0x97, 0xf1, + 0x20, 0xd7, 0x98, 0x7a, 0x6e, 0x74, 0xab, 0xb9, 0xa1, 0xa3, 0xbb, 0x32, 0x03, 0xdd, 0xd5, 0x02, + 0xdd, 0x5f, 0x40, 0xef, 0x30, 0x0b, 0x82, 0x03, 0x92, 0x24, 0xee, 0x98, 0xec, 0x9e, 0x0f, 0xc8, + 0x64, 0xdf, 0x4f, 0x52, 0x87, 0x24, 0x11, 0xcf, 0x33, 0x12, 0xc7, 0x7d, 0xe6, 0x11, 0x01, 0x72, + 0xd3, 0xc9, 0x49, 0xee, 0x21, 0x89, 0x63, 0x6e, 0x80, 0xec, 0x90, 0x48, 0x59, 0xdb, 0xb0, 0x10, + 0xf8, 0x09, 0xcf, 0xf5, 0xc6, 0x9d, 0xce, 0xdd, 0x9b, 0x53, 0x4a, 0xe5, 0x20, 0x19, 0xef, 0xb9, + 0xa9, 0xeb, 0x88, 0x75, 0x76, 0x08, 0x9f, 0x9b, 0xbe, 0xfb, 0x64, 0xe6, 0x09, 0xc6, 0x7b, 0x98, + 0x68, 0x02, 0x3e, 0xa3, 0xc5, 0xf0, 0xa1, 0xb2, 0xb8, 0xd9, 0x09, 0xea, 0x11, 0x76, 0x74, 0x9d, + 0x9c, 0xb4, 0xdf, 0x02, 0xeb, 0x11, 0x49, 0x0f, 0xdc, 0x57, 0x3b, 0xd4, 0x3b, 0xf0, 0xe9, 0x80, + 0x4c, 0x1c, 0x32, 0xb1, 0x1f, 0xc0, 0x8d, 0x1a, 0x37, 0x89, 0xb8, 0x01, 0xa1, 0xfb, 0x6a, 0x40, + 0x26, 0xc2, 0x80, 0xae, 0x23, 0x29, 0xc1, 0x17, 0xab, 0x64, 0x7b, 0x94, 0x94, 0x3d, 0x81, 0x55, + 0x8e, 0xd0, 0x80, 0x50, 0xef, 0x20, 0x19, 0x0b, 0x15, 0x9b, 0xd0, 0xc1, 0x08, 0x1c, 0x24, 0xe3, + 0xb2, 0xdf, 0x2a, 0x2c, 0xbe, 0x62, 0x18, 0xf8, 0x84, 0xa6, 0xb8, 0x42, 0x7a, 0xa3, 0xb0, 0x78, + 0x32, 0x26, 0x84, 0x7a, 0xc5, 0x91, 0xd3, 0x70, 0x0a, 0xda, 0xfe, 0x5b, 0x13, 0x16, 0x65, 0x40, + 0xc5, 0x74, 0xc8, 0x8f, 0xb8, 0x22, 0x5e, 0x48, 0x61, 0x32, 0x0e, 0x4f, 0xcb, 0x39, 0x0d, 0x29, + 0x75, 0xb2, 0x6b, 0xe8, 0x93, 0x5d, 0xc5, 0xa6, 0x85, 0xba, 0x4d, 0x15, 0xbf, 0x9a, 0x75, 0xbf, + 0xbe, 0x0a, 0x6b, 0x89, 0x28, 0x98, 0xc3, 0xc0, 0x4d, 0x47, 0x2c, 0x0e, 0xe5, 0x89, 0xd5, 0x74, + 0x6a, 0x7c, 0xde, 0xec, 0x91, 0x57, 0x14, 0x2c, 0x56, 0x64, 0x85, 0xcb, 0xcb, 0x03, 0x39, 0x79, + 0xe1, 0xe2, 0xa8, 0xa0, 0x33, 0xd1, 0xb6, 0x24, 0xf1, 0x19, 0x15, 0x93, 0x2e, 0xd6, 0xa7, 0xca, + 0xe2, 0x9e, 0x87, 0xc9, 0xf8, 0x61, 0xcc, 0x42, 0x39, 0x30, 0xe4, 0xa4, 0xf0, 0x9c, 0xd1, 0x94, + 0xd0, 0x54, 0xc8, 0x76, 0x50, 0x56, 0x61, 0x71, 0x59, 0x49, 0x8a, 0xe2, 0x5c, 0x76, 0x72, 0xd2, + 0x5a, 0x83, 0x46, 0x42, 0x26, 0xb2, 0xe2, 0xf8, 0x9f, 0x1a, 0x72, 0xab, 0x3a, 0x72, 0x95, 0x56, + 0xb0, 0x26, 0xbe, 0xaa, 0xad, 0xa0, 0x9c, 0xf5, 0xd7, 0xb5, 0x59, 0x7f, 0x07, 0x16, 0x59, 0xc4, + 0xf3, 0x3c, 0xe9, 0x59, 0xa2, 0xc6, 0xbe, 0x3c, 0xbb, 0xc6, 0xb6, 0x9f, 0xe1, 0xca, 0x07, 0x34, + 0x8d, 0xcf, 0x9d, 0x5c, 0xce, 0xda, 0x87, 0x55, 0x36, 0x1a, 0x05, 0x3e, 0x25, 0x87, 0x59, 0x72, + 0x2c, 0x4e, 0xb6, 0x1b, 0xe2, 0x64, 0xb3, 0xa7, 0xa8, 0x7a, 0xa6, 0xaf, 0x74, 0xaa, 0xa2, 0x37, + 0xef, 0xc1, 0xb2, 0xba, 0x0d, 0x0f, 0xc3, 0x09, 0x39, 0x97, 0x39, 0xc8, 0xff, 0xe4, 0xc3, 0xde, + 0xa9, 0x1b, 0x64, 0x78, 0x0c, 0x2c, 0x39, 0x48, 0xdc, 0x33, 0xbf, 0x63, 0xd8, 0xbf, 0x31, 0x60, + 0xb5, 0xb2, 0x01, 0x5f, 0x9d, 0xfa, 0x69, 0x40, 0xa4, 0x06, 0x24, 0x2c, 0x0b, 0x16, 0x3c, 0x92, + 0x0c, 0x65, 0x0a, 0x8b, 0xbf, 0x65, 0x27, 0x6b, 0x14, 0xe3, 0x22, 0xbf, 0xd0, 0x3d, 0x1b, 0x70, + 0x45, 0x03, 0x96, 0x51, 0xaf, 0xb8, 0xd0, 0x29, 0x3c, 0x9e, 0x42, 0xfe, 0xb3, 0xc1, 0xae, 0xeb, + 0x8d, 0x09, 0x5e, 0xbb, 0x9a, 0xc2, 0x26, 0x9d, 0x69, 0x7b, 0xb0, 0xf4, 0xdc, 0x8f, 0x92, 0x3e, + 0x0b, 0x43, 0x0e, 0x84, 0x47, 0x52, 0x3e, 0xab, 0x1a, 0x02, 0x6f, 0x49, 0xf1, 0x54, 0xf1, 0xc8, + 0xc8, 0xcd, 0x82, 0x94, 0x2f, 0xcd, 0x0b, 0x57, 0x61, 0x89, 0x0b, 0x47, 0xc2, 0xe8, 0x1e, 0x4a, + 0xa3, 0x9d, 0x0a, 0xc7, 0xfe, 0xbb, 0x09, 0x6b, 0x62, 0x70, 0xe8, 0x0b, 0xd8, 0x3d, 0x21, 0x74, + 0x17, 0x9a, 0xa2, 0x0c, 0xe5, 0xb0, 0x72, 0xf1, 0xb0, 0x81, 0x4b, 0xad, 0xfb, 0xd0, 0x62, 0x91, + 0x18, 0x39, 0x71, 0x42, 0x79, 0x67, 0x96, 0x90, 0x7e, 0xb7, 0x73, 0xa4, 0x94, 0xf5, 0x10, 0x00, + 0xaf, 0x9d, 0xfb, 0x65, 0xeb, 0x9e, 0x57, 0x87, 0x22, 0xc9, 0x83, 0x5b, 0xb4, 0xe1, 0xe2, 0x82, + 0xd7, 0x70, 0x74, 0xa6, 0xf5, 0x14, 0x56, 0x84, 0xd9, 0xcf, 0xf2, 0xa9, 0x53, 0x60, 0x30, 0xff, + 0x8e, 0x15, 0x69, 0xfb, 0x63, 0x43, 0x86, 0x91, 0x7f, 0x1d, 0x10, 0x8c, 0x7d, 0x19, 0x12, 0xe3, + 0x4a, 0x21, 0xb9, 0x09, 0x4b, 0x61, 0xa6, 0x0c, 0xc1, 0x0d, 0xa7, 0xa0, 0x4b, 0x88, 0x1a, 0x73, + 0x43, 0x64, 0xff, 0xde, 0x80, 0xde, 0xfb, 0xcc, 0xa7, 0xe2, 0xc3, 0x4e, 0x14, 0x05, 0xf2, 0x15, + 0xe2, 0xca, 0x98, 0xff, 0x00, 0xda, 0x2e, 0xaa, 0xa1, 0xa9, 0x84, 0x7d, 0x8e, 0xc1, 0xb6, 0x94, + 0x51, 0x66, 0x94, 0x86, 0x3a, 0xa3, 0xd8, 0x7f, 0x32, 0x60, 0x05, 0x83, 0xf2, 0x41, 0xe6, 0xa7, + 0x57, 0xb6, 0x6f, 0x17, 0x96, 0x26, 0x99, 0x9f, 0x5e, 0x21, 0x2b, 0x0b, 0xb9, 0x7a, 0x3e, 0x35, + 0xa6, 0xe4, 0x93, 0xfd, 0x67, 0x03, 0x6e, 0x55, 0xc3, 0xba, 0x33, 0x1c, 0x92, 0xe8, 0x4d, 0x96, + 0x94, 0x36, 0xa3, 0x2d, 0x54, 0x66, 0xb4, 0xa9, 0x26, 0x3b, 0xe4, 0x23, 0x32, 0xfc, 0xf4, 0x9a, + 0xfc, 0x2b, 0x13, 0x3e, 0xff, 0xa8, 0x28, 0xbc, 0xe7, 0xb1, 0x4b, 0x93, 0x11, 0x89, 0xe3, 0x37, + 0x68, 0xef, 0x3e, 0x74, 0x29, 0x39, 0x2b, 0x6d, 0x92, 0xe5, 0x38, 0xaf, 0x1a, 0x5d, 0x78, 0xbe, + 0xde, 0x65, 0xff, 0xcf, 0x80, 0x35, 0xd4, 0xf3, 0x43, 0x7f, 0x78, 0xf2, 0x06, 0x9d, 0x7f, 0x0a, + 0x2b, 0x27, 0xc2, 0x02, 0x4e, 0x5d, 0xa1, 0x6d, 0x57, 0xa4, 0xe7, 0x74, 0xff, 0xff, 0x06, 0xac, + 0xa3, 0xa2, 0x27, 0xf4, 0xd4, 0x7f, 0x93, 0xc9, 0x7a, 0x08, 0xab, 0x3e, 0x9a, 0x70, 0xc5, 0x00, + 0x54, 0xc5, 0xe7, 0x8c, 0xc0, 0x5f, 0x0c, 0x58, 0x45, 0x4d, 0x0f, 0x68, 0x4a, 0xe2, 0x2b, 0xfb, + 0xff, 0x18, 0x3a, 0x84, 0xa6, 0xb1, 0x4b, 0xaf, 0xd2, 0x21, 0x55, 0xd1, 0x39, 0x9b, 0xe4, 0x09, + 0xac, 0xe3, 0x15, 0x5e, 0xe9, 0x38, 0x7c, 0x96, 0x75, 0x3d, 0x1c, 0x4f, 0x0d, 0x21, 0x94, 0x93, + 0xfa, 0xe3, 0x8c, 0x7c, 0x5d, 0x2f, 0x1f, 0x67, 0x6e, 0x03, 0xb8, 0x9e, 0xf7, 0x21, 0x8b, 0x3d, + 0x9f, 0xe6, 0xc7, 0x87, 0xc2, 0xb1, 0xdf, 0x87, 0x65, 0x3e, 0x4d, 0x3f, 0x57, 0x2e, 0xe3, 0x17, + 0x3e, 0x17, 0xa8, 0x17, 0x79, 0x53, 0xbf, 0xc8, 0xdb, 0x3f, 0x83, 0xcf, 0xd6, 0x0c, 0x17, 0x51, + 0xef, 0xe3, 0x1b, 0x43, 0xbe, 0x89, 0x0c, 0xfe, 0x17, 0xa7, 0x84, 0x50, 0xb5, 0xc5, 0xd1, 0x84, + 0xec, 0x5f, 0x1a, 0xf0, 0x76, 0x4d, 0xfd, 0x4e, 0x14, 0xc5, 0xec, 0x54, 0x26, 0xf7, 0x75, 0x6c, + 0xa3, 0xb7, 0x56, 0xb3, 0xda, 0x5a, 0xa7, 0x1a, 0xa1, 0x1d, 0x07, 0xaf, 0xc1, 0x88, 0x3f, 0x18, + 0xb0, 0x2a, 0x8d, 0xf0, 0x3c, 0xb9, 0xed, 0xb7, 0xa1, 0x85, 0xef, 0x93, 0x72, 0xc3, 0xb7, 0xa7, + 0x6e, 0x98, 0xbf, 0xab, 0x3a, 0x72, 0x71, 0x3d, 0x23, 0xcd, 0x69, 0x63, 0xe0, 0x77, 0x8b, 0x0e, + 0x30, 0xf7, 0x0b, 0xa2, 0x14, 0xb0, 0x7f, 0x9c, 0x27, 0xf3, 0x1e, 0x09, 0xc8, 0x75, 0xc6, 0xc8, + 0x7e, 0x01, 0x2b, 0xe2, 0xb1, 0xb4, 0x8c, 0xc1, 0xb5, 0xa8, 0xfd, 0x10, 0xd6, 0x84, 0xda, 0x6b, + 0xb7, 0xb7, 0xa8, 0x0e, 0x1e, 0x9f, 0xfe, 0xb1, 0x4b, 0xc7, 0xd7, 0xa9, 0xfd, 0x1b, 0x70, 0x23, + 0x8f, 0xfd, 0x8b, 0xc8, 0x2b, 0xae, 0x28, 0x33, 0x1e, 0x66, 0xec, 0x6f, 0xc2, 0x46, 0x9f, 0xd1, + 0x53, 0x12, 0x27, 0x02, 0x65, 0x14, 0xc9, 0x25, 0xb4, 0xe2, 0x97, 0x94, 0x3d, 0x80, 0x75, 0xf9, + 0xa4, 0x78, 0xe8, 0x8e, 0x7d, 0x8a, 0x5d, 0xe9, 0x36, 0x40, 0xe4, 0x8e, 0xf3, 0x9f, 0x14, 0xf0, + 0xdd, 0x49, 0xe1, 0xf0, 0xef, 0xc9, 0x31, 0x3b, 0x93, 0xdf, 0x4d, 0xfc, 0x5e, 0x72, 0xec, 0x1f, + 0x81, 0xe5, 0x90, 0x24, 0x62, 0x34, 0x21, 0x8a, 0xd6, 0x4d, 0xe8, 0xf4, 0xb3, 0x38, 0x26, 0x94, + 0x6f, 0x95, 0xbf, 0xaf, 0xab, 0x2c, 0xae, 0x77, 0x50, 0xea, 0xc5, 0xb7, 0x0a, 0x85, 0x63, 0xff, + 0xae, 0x01, 0xed, 0x81, 0x3f, 0xa6, 0x6e, 0xe0, 0x90, 0x89, 0xf5, 0x3d, 0x68, 0xe1, 0x09, 0x22, + 0x43, 0x3b, 0xed, 0xee, 0x8c, 0xab, 0xf1, 0xa8, 0x74, 0xc8, 0xe4, 0xf1, 0x67, 0x1c, 0x29, 0x63, + 0x7d, 0x00, 0x5d, 0xfc, 0xeb, 0x09, 0xde, 0x08, 0xe4, 0x01, 0xf0, 0x95, 0x4b, 0x94, 0xc8, 0xd5, + 0xa8, 0x4b, 0xd7, 0xc0, 0x0d, 0x1a, 0xba, 0x74, 0x28, 0x7f, 0x73, 0xbb, 0xc8, 0xa0, 0xbe, 0x58, + 0x26, 0x0d, 0x42, 0x19, 0x2e, 0xed, 0x8a, 0x99, 0x59, 0xfe, 0x6a, 0x31, 0x5b, 0x1a, 0x47, 0x6b, + 0x29, 0x8d, 0x32, 0x5c, 0xfa, 0x38, 0xa3, 0xe3, 0x17, 0x91, 0xbc, 0xca, 0xcd, 0x96, 0x7e, 0x2c, + 0x96, 0x49, 0x69, 0x94, 0xe1, 0xd2, 0xb1, 0xe8, 0x76, 0x22, 0xe8, 0x17, 0x49, 0x63, 0x53, 0x94, + 0xd2, 0x28, 0xb3, 0xdb, 0x86, 0xc5, 0xc8, 0x3d, 0x0f, 0x98, 0xeb, 0xd9, 0x7f, 0x6c, 0x00, 0xe4, + 0x0b, 0x13, 0x31, 0x63, 0x68, 0x10, 0x6d, 0x5d, 0x0a, 0x51, 0x14, 0x9c, 0x2b, 0x20, 0x0d, 0xa6, + 0x83, 0xf4, 0xb5, 0x79, 0x41, 0x42, 0x6d, 0x15, 0x98, 0xee, 0x57, 0x60, 0xda, 0xba, 0x14, 0x26, + 0x69, 0x94, 0x04, 0xea, 0x7e, 0x05, 0xa8, 0xad, 0x4b, 0x81, 0x92, 0xf2, 0x12, 0xaa, 0xfb, 0x15, + 0xa8, 0xb6, 0x2e, 0x85, 0x4a, 0xca, 0x4b, 0xb0, 0xee, 0x57, 0xc0, 0xda, 0xba, 0x14, 0x2c, 0x29, + 0x5f, 0x87, 0xeb, 0x1f, 0x06, 0xac, 0x88, 0x90, 0xe1, 0xbb, 0x2d, 0x1d, 0x31, 0xf1, 0x3c, 0x23, + 0xc2, 0xa5, 0xff, 0x42, 0xa5, 0x33, 0xad, 0xaf, 0xc3, 0x3a, 0x32, 0xe4, 0x2f, 0x1a, 0x62, 0xfc, + 0x33, 0x37, 0x1b, 0x77, 0xda, 0x4e, 0xfd, 0x83, 0x78, 0x69, 0xcb, 0x92, 0x94, 0x85, 0x7b, 0x6e, + 0xea, 0xe6, 0xd3, 0x4a, 0xc9, 0x51, 0xdf, 0x41, 0x17, 0x6a, 0xbf, 0x70, 0xc7, 0x8c, 0x85, 0xc5, + 0x03, 0xa7, 0xa4, 0xb8, 0x44, 0xea, 0x87, 0x84, 0x65, 0xa9, 0x6c, 0x13, 0x39, 0x69, 0x7f, 0x6c, + 0xc0, 0x6a, 0xa5, 0xea, 0xad, 0x1d, 0x00, 0xbf, 0xf0, 0xf2, 0x82, 0xdf, 0xa0, 0xf4, 0x50, 0x38, + 0x8a, 0xd0, 0xb4, 0x17, 0x3b, 0xf3, 0xca, 0x2f, 0x76, 0x76, 0x1f, 0xd6, 0x6b, 0x69, 0x2f, 0x9e, + 0xdd, 0xd8, 0x09, 0xa1, 0xc5, 0xb3, 0x1b, 0x27, 0xb8, 0xa7, 0x81, 0x7f, 0xaa, 0xfe, 0x22, 0x2c, + 0x49, 0x3e, 0x2f, 0x6c, 0x4c, 0x6f, 0x4d, 0x9f, 0x3e, 0x87, 0x8f, 0xa0, 0x37, 0xab, 0x40, 0x67, + 0xf8, 0x5d, 0x22, 0x6f, 0x56, 0x91, 0x9f, 0x11, 0x8f, 0x9f, 0xe7, 0xc0, 0x17, 0xdd, 0x75, 0xce, + 0x64, 0xde, 0xd5, 0xa2, 0x65, 0xce, 0x7b, 0x98, 0xa8, 0xe1, 0xb2, 0x6f, 0xe4, 0x88, 0x2a, 0x3d, + 0xa3, 0xb4, 0xa8, 0xe8, 0xd8, 0xa5, 0x45, 0x64, 0x9a, 0x45, 0xe4, 0x1a, 0x2d, 0xfa, 0x69, 0x6e, + 0x91, 0xd2, 0x85, 0xae, 0x2d, 0xd6, 0x61, 0xee, 0x59, 0x71, 0x9a, 0xcc, 0x9a, 0x30, 0xae, 0x37, + 0xba, 0x4a, 0x47, 0x2c, 0xa3, 0x5b, 0x9c, 0x49, 0xaf, 0x31, 0xba, 0x85, 0x45, 0x4a, 0x8f, 0xdd, + 0xbd, 0xf5, 0x93, 0x9b, 0xdb, 0xef, 0xe2, 0x7f, 0x58, 0xbd, 0x57, 0x53, 0x77, 0xd4, 0x12, 0xff, + 0x71, 0xf5, 0xad, 0x4f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xab, 0x48, 0xc0, 0x80, 0x84, 0x25, 0x00, + 0x00, } diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 5919a6c2f..9c730e37b 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -380,21 +380,24 @@ message InvitationInfo { repeated string inviteeUserIDList = 2; string customData = 3; string groupID = 4; + string roomID = 5; + int32 timeout = 6; } message SignalInviteReq { InvitationInfo invitation = 1; + OfflinePushInfo offlinePushInfo = 2; } message SignalInviteReply { string token = 1; - string roomID = 2; string liveURL = 3; } message SignalInviteInGroupReq { InvitationInfo invitation = 1; + OfflinePushInfo offlinePushInfo = 2; } message SignalInviteInGroupReply { From b52317f56b57df2eb344ffe34268a48cbf049b02 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Mon, 14 Mar 2022 10:58:41 +0800 Subject: [PATCH 004/129] signaling --- pkg/proto/sdk_ws/ws.pb.go | 426 +++++++++++++++++++------------------- pkg/proto/sdk_ws/ws.proto | 1 + 2 files changed, 218 insertions(+), 209 deletions(-) diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index 365178174..67e7dd785 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_2b9410622756034a, []int{0} + return fileDescriptor_ws_611b928416bf1207, []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_2b9410622756034a, []int{1} + return fileDescriptor_ws_611b928416bf1207, []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_2b9410622756034a, []int{2} + return fileDescriptor_ws_611b928416bf1207, []int{2} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -344,7 +344,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} } func (m *UserInfo) String() string { return proto.CompactTextString(m) } func (*UserInfo) ProtoMessage() {} func (*UserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{3} + return fileDescriptor_ws_611b928416bf1207, []int{3} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -451,7 +451,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} } func (m *FriendInfo) String() string { return proto.CompactTextString(m) } func (*FriendInfo) ProtoMessage() {} func (*FriendInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{4} + return fileDescriptor_ws_611b928416bf1207, []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_2b9410622756034a, []int{5} + return fileDescriptor_ws_611b928416bf1207, []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_2b9410622756034a, []int{6} + return fileDescriptor_ws_611b928416bf1207, []int{6} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -725,7 +725,7 @@ func (m *FriendRequest) Reset() { *m = FriendRequest{} } func (m *FriendRequest) String() string { return proto.CompactTextString(m) } func (*FriendRequest) ProtoMessage() {} func (*FriendRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{7} + return fileDescriptor_ws_611b928416bf1207, []int{7} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -863,7 +863,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{8} + return fileDescriptor_ws_611b928416bf1207, []int{8} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -917,7 +917,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{9} + return fileDescriptor_ws_611b928416bf1207, []int{9} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -968,7 +968,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{10} + return fileDescriptor_ws_611b928416bf1207, []int{10} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1000,7 +1000,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{11} + return fileDescriptor_ws_611b928416bf1207, []int{11} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1047,7 +1047,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{12} + return fileDescriptor_ws_611b928416bf1207, []int{12} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1116,7 +1116,7 @@ func (m *MsgData) Reset() { *m = MsgData{} } func (m *MsgData) String() string { return proto.CompactTextString(m) } func (*MsgData) ProtoMessage() {} func (*MsgData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{13} + return fileDescriptor_ws_611b928416bf1207, []int{13} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -1277,7 +1277,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{14} + return fileDescriptor_ws_611b928416bf1207, []int{14} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -1345,7 +1345,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} } func (m *TipsComm) String() string { return proto.CompactTextString(m) } func (*TipsComm) ProtoMessage() {} func (*TipsComm) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{15} + return fileDescriptor_ws_611b928416bf1207, []int{15} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -1402,7 +1402,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} } func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } func (*GroupCreatedTips) ProtoMessage() {} func (*GroupCreatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{16} + return fileDescriptor_ws_611b928416bf1207, []int{16} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -1471,7 +1471,7 @@ func (m *GroupInfoSetTips) Reset() { *m = GroupInfoSetTips{} } func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupInfoSetTips) ProtoMessage() {} func (*GroupInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{17} + return fileDescriptor_ws_611b928416bf1207, []int{17} } func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) @@ -1526,7 +1526,7 @@ func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTi func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } func (*JoinGroupApplicationTips) ProtoMessage() {} func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{18} + return fileDescriptor_ws_611b928416bf1207, []int{18} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -1582,7 +1582,7 @@ func (m *MemberQuitTips) Reset() { *m = MemberQuitTips{} } func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) } func (*MemberQuitTips) ProtoMessage() {} func (*MemberQuitTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{19} + return fileDescriptor_ws_611b928416bf1207, []int{19} } func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) @@ -1637,7 +1637,7 @@ func (m *GroupApplicationAcceptedTips) Reset() { *m = GroupApplicationAc func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationAcceptedTips) ProtoMessage() {} func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{20} + return fileDescriptor_ws_611b928416bf1207, []int{20} } func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) @@ -1692,7 +1692,7 @@ func (m *GroupApplicationRejectedTips) Reset() { *m = GroupApplicationRe func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationRejectedTips) ProtoMessage() {} func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{21} + return fileDescriptor_ws_611b928416bf1207, []int{21} } func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) @@ -1748,7 +1748,7 @@ func (m *GroupOwnerTransferredTips) Reset() { *m = GroupOwnerTransferred func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) } func (*GroupOwnerTransferredTips) ProtoMessage() {} func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{22} + return fileDescriptor_ws_611b928416bf1207, []int{22} } func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) @@ -1811,7 +1811,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} } func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } func (*MemberKickedTips) ProtoMessage() {} func (*MemberKickedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{23} + return fileDescriptor_ws_611b928416bf1207, []int{23} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -1874,7 +1874,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} } func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } func (*MemberInvitedTips) ProtoMessage() {} func (*MemberInvitedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{24} + return fileDescriptor_ws_611b928416bf1207, []int{24} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -1936,7 +1936,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} } func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } func (*MemberEnterTips) ProtoMessage() {} func (*MemberEnterTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{25} + return fileDescriptor_ws_611b928416bf1207, []int{25} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -1990,7 +1990,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_2b9410622756034a, []int{26} + return fileDescriptor_ws_611b928416bf1207, []int{26} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -2043,7 +2043,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_2b9410622756034a, []int{27} + return fileDescriptor_ws_611b928416bf1207, []int{27} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -2089,7 +2089,7 @@ func (m *FriendApplicationTips) Reset() { *m = FriendApplicationTips{} } func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationTips) ProtoMessage() {} func (*FriendApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{28} + return fileDescriptor_ws_611b928416bf1207, []int{28} } func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) @@ -2129,7 +2129,7 @@ func (m *FriendApplicationApprovedTips) Reset() { *m = FriendApplication func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationApprovedTips) ProtoMessage() {} func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{29} + return fileDescriptor_ws_611b928416bf1207, []int{29} } func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) @@ -2176,7 +2176,7 @@ func (m *FriendApplicationRejectedTips) Reset() { *m = FriendApplication func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationRejectedTips) ProtoMessage() {} func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{30} + return fileDescriptor_ws_611b928416bf1207, []int{30} } func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) @@ -2224,7 +2224,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_2b9410622756034a, []int{31} + return fileDescriptor_ws_611b928416bf1207, []int{31} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -2277,7 +2277,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_2b9410622756034a, []int{32} + return fileDescriptor_ws_611b928416bf1207, []int{32} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -2315,7 +2315,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_2b9410622756034a, []int{33} + return fileDescriptor_ws_611b928416bf1207, []int{33} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -2353,7 +2353,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_2b9410622756034a, []int{34} + return fileDescriptor_ws_611b928416bf1207, []int{34} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -2391,7 +2391,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_2b9410622756034a, []int{35} + return fileDescriptor_ws_611b928416bf1207, []int{35} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -2430,7 +2430,7 @@ func (m *UserInfoUpdatedTips) Reset() { *m = UserInfoUpdatedTips{} } func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (*UserInfoUpdatedTips) ProtoMessage() {} func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{36} + return fileDescriptor_ws_611b928416bf1207, []int{36} } func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) @@ -2469,7 +2469,7 @@ func (m *ConversationUpdateTips) Reset() { *m = ConversationUpdateTips{} func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) } func (*ConversationUpdateTips) ProtoMessage() {} func (*ConversationUpdateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{37} + return fileDescriptor_ws_611b928416bf1207, []int{37} } func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) @@ -2509,7 +2509,7 @@ func (m *RequestPagination) Reset() { *m = RequestPagination{} } func (m *RequestPagination) String() string { return proto.CompactTextString(m) } func (*RequestPagination) ProtoMessage() {} func (*RequestPagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{38} + return fileDescriptor_ws_611b928416bf1207, []int{38} } func (m *RequestPagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RequestPagination.Unmarshal(m, b) @@ -2555,7 +2555,7 @@ func (m *ResponsePagination) Reset() { *m = ResponsePagination{} } func (m *ResponsePagination) String() string { return proto.CompactTextString(m) } func (*ResponsePagination) ProtoMessage() {} func (*ResponsePagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{39} + return fileDescriptor_ws_611b928416bf1207, []int{39} } func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) @@ -2608,7 +2608,7 @@ func (m *SignalReq) Reset() { *m = SignalReq{} } func (m *SignalReq) String() string { return proto.CompactTextString(m) } func (*SignalReq) ProtoMessage() {} func (*SignalReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{40} + return fileDescriptor_ws_611b928416bf1207, []int{40} } func (m *SignalReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalReq.Unmarshal(m, b) @@ -2875,7 +2875,7 @@ func (m *SignalResp) Reset() { *m = SignalResp{} } func (m *SignalResp) String() string { return proto.CompactTextString(m) } func (*SignalResp) ProtoMessage() {} func (*SignalResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{41} + return fileDescriptor_ws_611b928416bf1207, []int{41} } func (m *SignalResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalResp.Unmarshal(m, b) @@ -3131,6 +3131,7 @@ type InvitationInfo struct { GroupID string `protobuf:"bytes,4,opt,name=groupID" json:"groupID,omitempty"` RoomID string `protobuf:"bytes,5,opt,name=roomID" json:"roomID,omitempty"` Timeout int32 `protobuf:"varint,6,opt,name=timeout" json:"timeout,omitempty"` + MediaType string `protobuf:"bytes,7,opt,name=mediaType" json:"mediaType,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -3140,7 +3141,7 @@ func (m *InvitationInfo) Reset() { *m = InvitationInfo{} } func (m *InvitationInfo) String() string { return proto.CompactTextString(m) } func (*InvitationInfo) ProtoMessage() {} func (*InvitationInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{42} + return fileDescriptor_ws_611b928416bf1207, []int{42} } func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) @@ -3202,6 +3203,13 @@ func (m *InvitationInfo) GetTimeout() int32 { return 0 } +func (m *InvitationInfo) GetMediaType() string { + if m != nil { + return m.MediaType + } + return "" +} + type SignalInviteReq struct { Invitation *InvitationInfo `protobuf:"bytes,1,opt,name=invitation" json:"invitation,omitempty"` OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,2,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` @@ -3214,7 +3222,7 @@ func (m *SignalInviteReq) Reset() { *m = SignalInviteReq{} } func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteReq) ProtoMessage() {} func (*SignalInviteReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{43} + return fileDescriptor_ws_611b928416bf1207, []int{43} } func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) @@ -3260,7 +3268,7 @@ func (m *SignalInviteReply) Reset() { *m = SignalInviteReply{} } func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteReply) ProtoMessage() {} func (*SignalInviteReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{44} + return fileDescriptor_ws_611b928416bf1207, []int{44} } func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) @@ -3306,7 +3314,7 @@ func (m *SignalInviteInGroupReq) Reset() { *m = SignalInviteInGroupReq{} func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReq) ProtoMessage() {} func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{45} + return fileDescriptor_ws_611b928416bf1207, []int{45} } func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) @@ -3353,7 +3361,7 @@ func (m *SignalInviteInGroupReply) Reset() { *m = SignalInviteInGroupRep func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReply) ProtoMessage() {} func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{46} + return fileDescriptor_ws_611b928416bf1207, []int{46} } func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) @@ -3406,7 +3414,7 @@ func (m *SignalCancelReq) Reset() { *m = SignalCancelReq{} } func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) } func (*SignalCancelReq) ProtoMessage() {} func (*SignalCancelReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{47} + return fileDescriptor_ws_611b928416bf1207, []int{47} } func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) @@ -3450,7 +3458,7 @@ func (m *SignalCancelReply) Reset() { *m = SignalCancelReply{} } func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) } func (*SignalCancelReply) ProtoMessage() {} func (*SignalCancelReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{48} + return fileDescriptor_ws_611b928416bf1207, []int{48} } func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) @@ -3482,7 +3490,7 @@ func (m *SignalAcceptReq) Reset() { *m = SignalAcceptReq{} } func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReq) ProtoMessage() {} func (*SignalAcceptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{49} + return fileDescriptor_ws_611b928416bf1207, []int{49} } func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) @@ -3529,7 +3537,7 @@ func (m *SignalAcceptReply) Reset() { *m = SignalAcceptReply{} } func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReply) ProtoMessage() {} func (*SignalAcceptReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{50} + return fileDescriptor_ws_611b928416bf1207, []int{50} } func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) @@ -3582,7 +3590,7 @@ func (m *SignalHungUpReq) Reset() { *m = SignalHungUpReq{} } func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReq) ProtoMessage() {} func (*SignalHungUpReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{51} + return fileDescriptor_ws_611b928416bf1207, []int{51} } func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) @@ -3626,7 +3634,7 @@ func (m *SignalHungUpReply) Reset() { *m = SignalHungUpReply{} } func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReply) ProtoMessage() {} func (*SignalHungUpReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{52} + return fileDescriptor_ws_611b928416bf1207, []int{52} } func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) @@ -3658,7 +3666,7 @@ func (m *SignalRejectReq) Reset() { *m = SignalRejectReq{} } func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) } func (*SignalRejectReq) ProtoMessage() {} func (*SignalRejectReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{53} + return fileDescriptor_ws_611b928416bf1207, []int{53} } func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) @@ -3702,7 +3710,7 @@ func (m *SignalRejectReply) Reset() { *m = SignalRejectReply{} } func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) } func (*SignalRejectReply) ProtoMessage() {} func (*SignalRejectReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_2b9410622756034a, []int{54} + return fileDescriptor_ws_611b928416bf1207, []int{54} } func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) @@ -3781,161 +3789,161 @@ func init() { proto.RegisterType((*SignalRejectReply)(nil), "server_api_params.SignalRejectReply") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_2b9410622756034a) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_611b928416bf1207) } -var fileDescriptor_ws_2b9410622756034a = []byte{ - // 2433 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0xdd, 0x6f, 0xe4, 0x48, - 0x11, 0xc7, 0x9e, 0xcc, 0x24, 0x53, 0x93, 0xc9, 0x87, 0xf7, 0x08, 0xc3, 0xb2, 0xb7, 0x04, 0x2b, - 0x3a, 0x96, 0xaf, 0x1c, 0x5a, 0x84, 0x04, 0x7b, 0xb0, 0x28, 0x99, 0xec, 0xd7, 0x91, 0xec, 0xe6, - 0x3c, 0xbb, 0x1c, 0x02, 0xa4, 0x95, 0x33, 0xee, 0x99, 0xf8, 0x62, 0x77, 0x7b, 0xfc, 0x91, 0x6c, - 0x04, 0x4f, 0x20, 0xf1, 0x1f, 0xc0, 0x2b, 0xd2, 0xbd, 0x20, 0x24, 0x84, 0x78, 0x41, 0xbc, 0xf0, - 0xc8, 0x1f, 0x00, 0xcf, 0xfc, 0x0b, 0xbc, 0xf2, 0x80, 0x84, 0xc4, 0xa9, 0xbb, 0xda, 0x76, 0xb7, - 0x3d, 0x93, 0x8c, 0xa2, 0x68, 0xf7, 0xde, 0x52, 0xe5, 0xae, 0xea, 0xaa, 0xfa, 0x55, 0x55, 0x57, - 0xf7, 0x04, 0x56, 0x13, 0xef, 0xe4, 0xe5, 0x59, 0xf2, 0xee, 0x59, 0xb2, 0x1d, 0xc5, 0x2c, 0x65, +var fileDescriptor_ws_611b928416bf1207 = []byte{ + // 2446 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0xcd, 0x6f, 0x23, 0x49, + 0x15, 0xa7, 0xdb, 0xb1, 0x13, 0x3f, 0xc7, 0xf9, 0xe8, 0x59, 0x82, 0x19, 0x66, 0x87, 0xd0, 0x8a, + 0x96, 0xe1, 0x2b, 0x8b, 0x06, 0x21, 0xc1, 0x2c, 0x0c, 0x4a, 0x9c, 0xf9, 0x5a, 0x92, 0x99, 0x6c, + 0x7b, 0x86, 0x45, 0x80, 0x34, 0xea, 0xb8, 0xcb, 0x4e, 0x6f, 0xba, 0xab, 0xda, 0xfd, 0x91, 0x4c, + 0x04, 0x27, 0x90, 0xf8, 0x0f, 0xe0, 0x8a, 0xb4, 0x17, 0x84, 0x84, 0x10, 0x17, 0xc4, 0x85, 0x23, + 0xff, 0x00, 0x67, 0xfe, 0x05, 0xc4, 0x8d, 0x03, 0x12, 0x12, 0xab, 0xaa, 0x57, 0xdd, 0x5d, 0xd5, + 0x6d, 0x27, 0x56, 0x14, 0xcd, 0xec, 0xcd, 0xef, 0x55, 0xbd, 0x57, 0xaf, 0x7e, 0xef, 0xa3, 0x5e, + 0x55, 0x1b, 0x56, 0x13, 0xef, 0xe4, 0xe5, 0x59, 0xf2, 0xee, 0x59, 0xb2, 0x1d, 0xc5, 0x2c, 0x65, 0xd6, 0x7a, 0x42, 0xe2, 0x53, 0x12, 0xbf, 0x74, 0x23, 0xff, 0x65, 0xe4, 0xc6, 0x6e, 0x98, 0xd8, 0xff, 0x31, 0xa1, 0xfd, 0x28, 0x66, 0x59, 0xf4, 0x84, 0x8e, 0x98, 0xd5, 0x83, 0xc5, 0xb1, 0x20, - 0xf6, 0x7a, 0xc6, 0xa6, 0x71, 0xa7, 0xed, 0xe4, 0xa4, 0x75, 0x0b, 0xda, 0xe2, 0xcf, 0xa7, 0x6e, - 0x48, 0x7a, 0xa6, 0xf8, 0x56, 0x32, 0x2c, 0x1b, 0x96, 0x29, 0x4b, 0xfd, 0x91, 0x3f, 0x74, 0x53, - 0x9f, 0xd1, 0x5e, 0x43, 0x2c, 0xd0, 0x78, 0x7c, 0x8d, 0x4f, 0xd3, 0x98, 0x79, 0xd9, 0x50, 0xac, - 0x59, 0xc0, 0x35, 0x2a, 0x8f, 0xef, 0x3f, 0x72, 0x87, 0xe4, 0x85, 0xb3, 0xdf, 0x6b, 0xe2, 0xfe, - 0x92, 0xb4, 0x36, 0xa1, 0xc3, 0xce, 0x28, 0x89, 0x5f, 0x24, 0x24, 0x7e, 0xb2, 0xd7, 0x6b, 0x89, - 0xaf, 0x2a, 0xcb, 0xba, 0x0d, 0x30, 0x8c, 0x89, 0x9b, 0x92, 0xe7, 0x7e, 0x48, 0x7a, 0x8b, 0x9b, - 0xc6, 0x9d, 0xae, 0xa3, 0x70, 0xb8, 0x86, 0x90, 0x84, 0x47, 0x24, 0xee, 0xb3, 0x8c, 0xa6, 0xbd, - 0x25, 0xb1, 0x40, 0x65, 0x59, 0x2b, 0x60, 0x92, 0x57, 0xbd, 0xb6, 0x50, 0x6d, 0x92, 0x57, 0xd6, - 0x06, 0xb4, 0x92, 0xd4, 0x4d, 0xb3, 0xa4, 0x07, 0x9b, 0xc6, 0x9d, 0xa6, 0x23, 0x29, 0x6b, 0x0b, - 0xba, 0x42, 0x2f, 0xcb, 0xad, 0xe9, 0x08, 0x11, 0x9d, 0x59, 0x44, 0xec, 0xf9, 0x79, 0x44, 0x7a, - 0xcb, 0x42, 0x41, 0xc9, 0xb0, 0xff, 0x6a, 0xc2, 0x0d, 0x11, 0xf7, 0x03, 0x61, 0xc0, 0xc3, 0x2c, - 0x08, 0x2e, 0x41, 0x60, 0x03, 0x5a, 0x19, 0x6e, 0x87, 0xe1, 0x97, 0x14, 0xdf, 0x27, 0x66, 0x01, - 0xd9, 0x27, 0xa7, 0x24, 0x10, 0x81, 0x6f, 0x3a, 0x25, 0xc3, 0xba, 0x09, 0x4b, 0x1f, 0x31, 0x9f, - 0x8a, 0x98, 0x2c, 0x88, 0x8f, 0x05, 0xcd, 0xbf, 0x51, 0x7f, 0x78, 0x42, 0x39, 0xa4, 0x18, 0xee, - 0x82, 0x56, 0x91, 0x68, 0xe9, 0x48, 0xbc, 0x03, 0x2b, 0x6e, 0x14, 0x1d, 0xb8, 0x74, 0x4c, 0x62, - 0xdc, 0x74, 0x51, 0xe8, 0xad, 0x70, 0x39, 0x1e, 0x7c, 0xa7, 0x01, 0xcb, 0xe2, 0x21, 0x11, 0xe1, - 0x6e, 0x3a, 0x0a, 0x87, 0xeb, 0x61, 0x11, 0x89, 0x95, 0x30, 0x62, 0xe4, 0x2b, 0x5c, 0x89, 0x0a, - 0xe4, 0xa8, 0xd8, 0xbf, 0x36, 0x60, 0xe5, 0x30, 0x3b, 0x0a, 0xfc, 0xa1, 0x58, 0xc0, 0x83, 0x56, - 0x86, 0xc6, 0xd0, 0x42, 0xa3, 0x3a, 0x68, 0xce, 0x76, 0xb0, 0xa1, 0x3b, 0xb8, 0x01, 0xad, 0x31, - 0xa1, 0x1e, 0x89, 0x65, 0xc0, 0x24, 0x25, 0x0d, 0x69, 0x16, 0x86, 0xfc, 0xd6, 0x84, 0xa5, 0xd7, - 0x6c, 0xc2, 0x26, 0x74, 0xa2, 0x63, 0x46, 0xc9, 0xd3, 0x8c, 0x27, 0x8d, 0xb4, 0x45, 0x65, 0x59, - 0x6f, 0x41, 0xf3, 0xc8, 0x8f, 0xd3, 0x63, 0x81, 0x5a, 0xd7, 0x41, 0x82, 0x73, 0x49, 0xe8, 0xfa, - 0x08, 0x55, 0xdb, 0x41, 0x42, 0x3a, 0xb4, 0x54, 0xe4, 0xbb, 0x5e, 0x41, 0xed, 0x5a, 0x05, 0xd5, - 0x91, 0x87, 0x69, 0xc8, 0xdb, 0xff, 0x35, 0x00, 0x1e, 0xc6, 0x3e, 0xa1, 0x9e, 0x08, 0x4d, 0xa5, - 0x74, 0x8d, 0x7a, 0xe9, 0x6e, 0x40, 0x2b, 0x26, 0xa1, 0x1b, 0x9f, 0xe4, 0xa9, 0x8d, 0x54, 0xc5, - 0xa0, 0x46, 0xcd, 0xa0, 0xf7, 0x00, 0x46, 0x62, 0x1f, 0xae, 0x47, 0x84, 0xaa, 0x73, 0xf7, 0x0b, - 0xdb, 0xb5, 0x26, 0xb7, 0x9d, 0xa3, 0xe4, 0x28, 0xcb, 0x79, 0xdd, 0xb8, 0x9e, 0x27, 0xd3, 0xb3, - 0x89, 0x75, 0x53, 0x30, 0xa6, 0x64, 0x67, 0xeb, 0x82, 0xec, 0x5c, 0x2c, 0x92, 0xe2, 0xdf, 0x06, - 0xb4, 0x77, 0x03, 0x77, 0x78, 0x32, 0xa7, 0xeb, 0xba, 0x8b, 0x66, 0xcd, 0xc5, 0x47, 0xd0, 0x3d, - 0xe2, 0xea, 0x72, 0x17, 0x44, 0x14, 0x3a, 0x77, 0xbf, 0x34, 0xc5, 0x4b, 0xbd, 0x28, 0x1c, 0x5d, - 0x4e, 0x77, 0x77, 0xe1, 0x72, 0x77, 0x9b, 0x17, 0xb8, 0xdb, 0x2a, 0xdc, 0xfd, 0xa7, 0x09, 0xcb, - 0xa2, 0x8d, 0x39, 0x64, 0x92, 0x91, 0x24, 0xb5, 0xbe, 0x0f, 0x4b, 0x59, 0x6e, 0xaa, 0x31, 0xaf, - 0xa9, 0x85, 0x88, 0x75, 0x4f, 0x36, 0x4d, 0x21, 0x6f, 0x0a, 0xf9, 0x5b, 0x53, 0xe4, 0x8b, 0x13, - 0xcb, 0x29, 0x97, 0xf3, 0x03, 0xe6, 0xd8, 0xa5, 0x5e, 0x40, 0x1c, 0x92, 0x64, 0x41, 0x2a, 0x7b, - 0xa1, 0xc6, 0xc3, 0x4c, 0x9b, 0x1c, 0x24, 0x63, 0x79, 0xfc, 0x48, 0x8a, 0x47, 0x07, 0xd7, 0xf1, - 0x4f, 0xe8, 0x7a, 0xc9, 0xe0, 0x85, 0x1a, 0x93, 0x89, 0x40, 0x08, 0xcb, 0x2a, 0x27, 0xcb, 0x3d, - 0x65, 0xd4, 0x30, 0x11, 0x34, 0x1e, 0x87, 0x18, 0x69, 0xa1, 0x00, 0xcf, 0x1d, 0x85, 0x53, 0x3d, - 0x76, 0xec, 0x7f, 0x35, 0xa0, 0x8b, 0xe5, 0x93, 0x07, 0xf5, 0x36, 0xcf, 0x73, 0x16, 0x6a, 0x59, - 0xa4, 0x70, 0xb8, 0x15, 0x9c, 0x7a, 0xaa, 0x37, 0x1a, 0x8d, 0xc7, 0x53, 0x91, 0xd3, 0x0f, 0xb5, - 0x86, 0xa3, 0xb2, 0xf2, 0x5d, 0x1e, 0xa9, 0x8d, 0x47, 0xe1, 0xf0, 0x56, 0x96, 0x32, 0x2d, 0x3b, - 0x0a, 0x9a, 0xcb, 0xa6, 0xac, 0xd8, 0x1f, 0xf3, 0x43, 0xe1, 0xf0, 0xf8, 0xa6, 0x2c, 0xdf, 0x1b, - 0x83, 0x54, 0x32, 0x50, 0xb3, 0xdc, 0x17, 0x0f, 0x8a, 0x82, 0xae, 0xa1, 0xda, 0xbe, 0x10, 0x55, - 0xd0, 0x50, 0xd5, 0x8b, 0xab, 0x53, 0x2b, 0xae, 0x2d, 0xe8, 0xa2, 0x9e, 0x3c, 0xe9, 0x97, 0xf1, - 0x20, 0xd7, 0x98, 0x7a, 0x6e, 0x74, 0xab, 0xb9, 0xa1, 0xa3, 0xbb, 0x32, 0x03, 0xdd, 0xd5, 0x02, - 0xdd, 0x5f, 0x40, 0xef, 0x30, 0x0b, 0x82, 0x03, 0x92, 0x24, 0xee, 0x98, 0xec, 0x9e, 0x0f, 0xc8, - 0x64, 0xdf, 0x4f, 0x52, 0x87, 0x24, 0x11, 0xcf, 0x33, 0x12, 0xc7, 0x7d, 0xe6, 0x11, 0x01, 0x72, - 0xd3, 0xc9, 0x49, 0xee, 0x21, 0x89, 0x63, 0x6e, 0x80, 0xec, 0x90, 0x48, 0x59, 0xdb, 0xb0, 0x10, - 0xf8, 0x09, 0xcf, 0xf5, 0xc6, 0x9d, 0xce, 0xdd, 0x9b, 0x53, 0x4a, 0xe5, 0x20, 0x19, 0xef, 0xb9, - 0xa9, 0xeb, 0x88, 0x75, 0x76, 0x08, 0x9f, 0x9b, 0xbe, 0xfb, 0x64, 0xe6, 0x09, 0xc6, 0x7b, 0x98, - 0x68, 0x02, 0x3e, 0xa3, 0xc5, 0xf0, 0xa1, 0xb2, 0xb8, 0xd9, 0x09, 0xea, 0x11, 0x76, 0x74, 0x9d, - 0x9c, 0xb4, 0xdf, 0x02, 0xeb, 0x11, 0x49, 0x0f, 0xdc, 0x57, 0x3b, 0xd4, 0x3b, 0xf0, 0xe9, 0x80, - 0x4c, 0x1c, 0x32, 0xb1, 0x1f, 0xc0, 0x8d, 0x1a, 0x37, 0x89, 0xb8, 0x01, 0xa1, 0xfb, 0x6a, 0x40, - 0x26, 0xc2, 0x80, 0xae, 0x23, 0x29, 0xc1, 0x17, 0xab, 0x64, 0x7b, 0x94, 0x94, 0x3d, 0x81, 0x55, - 0x8e, 0xd0, 0x80, 0x50, 0xef, 0x20, 0x19, 0x0b, 0x15, 0x9b, 0xd0, 0xc1, 0x08, 0x1c, 0x24, 0xe3, - 0xb2, 0xdf, 0x2a, 0x2c, 0xbe, 0x62, 0x18, 0xf8, 0x84, 0xa6, 0xb8, 0x42, 0x7a, 0xa3, 0xb0, 0x78, - 0x32, 0x26, 0x84, 0x7a, 0xc5, 0x91, 0xd3, 0x70, 0x0a, 0xda, 0xfe, 0x5b, 0x13, 0x16, 0x65, 0x40, - 0xc5, 0x74, 0xc8, 0x8f, 0xb8, 0x22, 0x5e, 0x48, 0x61, 0x32, 0x0e, 0x4f, 0xcb, 0x39, 0x0d, 0x29, - 0x75, 0xb2, 0x6b, 0xe8, 0x93, 0x5d, 0xc5, 0xa6, 0x85, 0xba, 0x4d, 0x15, 0xbf, 0x9a, 0x75, 0xbf, - 0xbe, 0x0a, 0x6b, 0x89, 0x28, 0x98, 0xc3, 0xc0, 0x4d, 0x47, 0x2c, 0x0e, 0xe5, 0x89, 0xd5, 0x74, - 0x6a, 0x7c, 0xde, 0xec, 0x91, 0x57, 0x14, 0x2c, 0x56, 0x64, 0x85, 0xcb, 0xcb, 0x03, 0x39, 0x79, - 0xe1, 0xe2, 0xa8, 0xa0, 0x33, 0xd1, 0xb6, 0x24, 0xf1, 0x19, 0x15, 0x93, 0x2e, 0xd6, 0xa7, 0xca, - 0xe2, 0x9e, 0x87, 0xc9, 0xf8, 0x61, 0xcc, 0x42, 0x39, 0x30, 0xe4, 0xa4, 0xf0, 0x9c, 0xd1, 0x94, - 0xd0, 0x54, 0xc8, 0x76, 0x50, 0x56, 0x61, 0x71, 0x59, 0x49, 0x8a, 0xe2, 0x5c, 0x76, 0x72, 0xd2, - 0x5a, 0x83, 0x46, 0x42, 0x26, 0xb2, 0xe2, 0xf8, 0x9f, 0x1a, 0x72, 0xab, 0x3a, 0x72, 0x95, 0x56, - 0xb0, 0x26, 0xbe, 0xaa, 0xad, 0xa0, 0x9c, 0xf5, 0xd7, 0xb5, 0x59, 0x7f, 0x07, 0x16, 0x59, 0xc4, - 0xf3, 0x3c, 0xe9, 0x59, 0xa2, 0xc6, 0xbe, 0x3c, 0xbb, 0xc6, 0xb6, 0x9f, 0xe1, 0xca, 0x07, 0x34, - 0x8d, 0xcf, 0x9d, 0x5c, 0xce, 0xda, 0x87, 0x55, 0x36, 0x1a, 0x05, 0x3e, 0x25, 0x87, 0x59, 0x72, - 0x2c, 0x4e, 0xb6, 0x1b, 0xe2, 0x64, 0xb3, 0xa7, 0xa8, 0x7a, 0xa6, 0xaf, 0x74, 0xaa, 0xa2, 0x37, - 0xef, 0xc1, 0xb2, 0xba, 0x0d, 0x0f, 0xc3, 0x09, 0x39, 0x97, 0x39, 0xc8, 0xff, 0xe4, 0xc3, 0xde, - 0xa9, 0x1b, 0x64, 0x78, 0x0c, 0x2c, 0x39, 0x48, 0xdc, 0x33, 0xbf, 0x63, 0xd8, 0xbf, 0x31, 0x60, - 0xb5, 0xb2, 0x01, 0x5f, 0x9d, 0xfa, 0x69, 0x40, 0xa4, 0x06, 0x24, 0x2c, 0x0b, 0x16, 0x3c, 0x92, - 0x0c, 0x65, 0x0a, 0x8b, 0xbf, 0x65, 0x27, 0x6b, 0x14, 0xe3, 0x22, 0xbf, 0xd0, 0x3d, 0x1b, 0x70, - 0x45, 0x03, 0x96, 0x51, 0xaf, 0xb8, 0xd0, 0x29, 0x3c, 0x9e, 0x42, 0xfe, 0xb3, 0xc1, 0xae, 0xeb, - 0x8d, 0x09, 0x5e, 0xbb, 0x9a, 0xc2, 0x26, 0x9d, 0x69, 0x7b, 0xb0, 0xf4, 0xdc, 0x8f, 0x92, 0x3e, - 0x0b, 0x43, 0x0e, 0x84, 0x47, 0x52, 0x3e, 0xab, 0x1a, 0x02, 0x6f, 0x49, 0xf1, 0x54, 0xf1, 0xc8, - 0xc8, 0xcd, 0x82, 0x94, 0x2f, 0xcd, 0x0b, 0x57, 0x61, 0x89, 0x0b, 0x47, 0xc2, 0xe8, 0x1e, 0x4a, - 0xa3, 0x9d, 0x0a, 0xc7, 0xfe, 0xbb, 0x09, 0x6b, 0x62, 0x70, 0xe8, 0x0b, 0xd8, 0x3d, 0x21, 0x74, - 0x17, 0x9a, 0xa2, 0x0c, 0xe5, 0xb0, 0x72, 0xf1, 0xb0, 0x81, 0x4b, 0xad, 0xfb, 0xd0, 0x62, 0x91, - 0x18, 0x39, 0x71, 0x42, 0x79, 0x67, 0x96, 0x90, 0x7e, 0xb7, 0x73, 0xa4, 0x94, 0xf5, 0x10, 0x00, - 0xaf, 0x9d, 0xfb, 0x65, 0xeb, 0x9e, 0x57, 0x87, 0x22, 0xc9, 0x83, 0x5b, 0xb4, 0xe1, 0xe2, 0x82, - 0xd7, 0x70, 0x74, 0xa6, 0xf5, 0x14, 0x56, 0x84, 0xd9, 0xcf, 0xf2, 0xa9, 0x53, 0x60, 0x30, 0xff, - 0x8e, 0x15, 0x69, 0xfb, 0x63, 0x43, 0x86, 0x91, 0x7f, 0x1d, 0x10, 0x8c, 0x7d, 0x19, 0x12, 0xe3, - 0x4a, 0x21, 0xb9, 0x09, 0x4b, 0x61, 0xa6, 0x0c, 0xc1, 0x0d, 0xa7, 0xa0, 0x4b, 0x88, 0x1a, 0x73, - 0x43, 0x64, 0xff, 0xde, 0x80, 0xde, 0xfb, 0xcc, 0xa7, 0xe2, 0xc3, 0x4e, 0x14, 0x05, 0xf2, 0x15, - 0xe2, 0xca, 0x98, 0xff, 0x00, 0xda, 0x2e, 0xaa, 0xa1, 0xa9, 0x84, 0x7d, 0x8e, 0xc1, 0xb6, 0x94, - 0x51, 0x66, 0x94, 0x86, 0x3a, 0xa3, 0xd8, 0x7f, 0x32, 0x60, 0x05, 0x83, 0xf2, 0x41, 0xe6, 0xa7, - 0x57, 0xb6, 0x6f, 0x17, 0x96, 0x26, 0x99, 0x9f, 0x5e, 0x21, 0x2b, 0x0b, 0xb9, 0x7a, 0x3e, 0x35, - 0xa6, 0xe4, 0x93, 0xfd, 0x67, 0x03, 0x6e, 0x55, 0xc3, 0xba, 0x33, 0x1c, 0x92, 0xe8, 0x4d, 0x96, - 0x94, 0x36, 0xa3, 0x2d, 0x54, 0x66, 0xb4, 0xa9, 0x26, 0x3b, 0xe4, 0x23, 0x32, 0xfc, 0xf4, 0x9a, - 0xfc, 0x2b, 0x13, 0x3e, 0xff, 0xa8, 0x28, 0xbc, 0xe7, 0xb1, 0x4b, 0x93, 0x11, 0x89, 0xe3, 0x37, - 0x68, 0xef, 0x3e, 0x74, 0x29, 0x39, 0x2b, 0x6d, 0x92, 0xe5, 0x38, 0xaf, 0x1a, 0x5d, 0x78, 0xbe, - 0xde, 0x65, 0xff, 0xcf, 0x80, 0x35, 0xd4, 0xf3, 0x43, 0x7f, 0x78, 0xf2, 0x06, 0x9d, 0x7f, 0x0a, - 0x2b, 0x27, 0xc2, 0x02, 0x4e, 0x5d, 0xa1, 0x6d, 0x57, 0xa4, 0xe7, 0x74, 0xff, 0xff, 0x06, 0xac, - 0xa3, 0xa2, 0x27, 0xf4, 0xd4, 0x7f, 0x93, 0xc9, 0x7a, 0x08, 0xab, 0x3e, 0x9a, 0x70, 0xc5, 0x00, - 0x54, 0xc5, 0xe7, 0x8c, 0xc0, 0x5f, 0x0c, 0x58, 0x45, 0x4d, 0x0f, 0x68, 0x4a, 0xe2, 0x2b, 0xfb, - 0xff, 0x18, 0x3a, 0x84, 0xa6, 0xb1, 0x4b, 0xaf, 0xd2, 0x21, 0x55, 0xd1, 0x39, 0x9b, 0xe4, 0x09, - 0xac, 0xe3, 0x15, 0x5e, 0xe9, 0x38, 0x7c, 0x96, 0x75, 0x3d, 0x1c, 0x4f, 0x0d, 0x21, 0x94, 0x93, - 0xfa, 0xe3, 0x8c, 0x7c, 0x5d, 0x2f, 0x1f, 0x67, 0x6e, 0x03, 0xb8, 0x9e, 0xf7, 0x21, 0x8b, 0x3d, - 0x9f, 0xe6, 0xc7, 0x87, 0xc2, 0xb1, 0xdf, 0x87, 0x65, 0x3e, 0x4d, 0x3f, 0x57, 0x2e, 0xe3, 0x17, - 0x3e, 0x17, 0xa8, 0x17, 0x79, 0x53, 0xbf, 0xc8, 0xdb, 0x3f, 0x83, 0xcf, 0xd6, 0x0c, 0x17, 0x51, - 0xef, 0xe3, 0x1b, 0x43, 0xbe, 0x89, 0x0c, 0xfe, 0x17, 0xa7, 0x84, 0x50, 0xb5, 0xc5, 0xd1, 0x84, - 0xec, 0x5f, 0x1a, 0xf0, 0x76, 0x4d, 0xfd, 0x4e, 0x14, 0xc5, 0xec, 0x54, 0x26, 0xf7, 0x75, 0x6c, - 0xa3, 0xb7, 0x56, 0xb3, 0xda, 0x5a, 0xa7, 0x1a, 0xa1, 0x1d, 0x07, 0xaf, 0xc1, 0x88, 0x3f, 0x18, - 0xb0, 0x2a, 0x8d, 0xf0, 0x3c, 0xb9, 0xed, 0xb7, 0xa1, 0x85, 0xef, 0x93, 0x72, 0xc3, 0xb7, 0xa7, - 0x6e, 0x98, 0xbf, 0xab, 0x3a, 0x72, 0x71, 0x3d, 0x23, 0xcd, 0x69, 0x63, 0xe0, 0x77, 0x8b, 0x0e, - 0x30, 0xf7, 0x0b, 0xa2, 0x14, 0xb0, 0x7f, 0x9c, 0x27, 0xf3, 0x1e, 0x09, 0xc8, 0x75, 0xc6, 0xc8, - 0x7e, 0x01, 0x2b, 0xe2, 0xb1, 0xb4, 0x8c, 0xc1, 0xb5, 0xa8, 0xfd, 0x10, 0xd6, 0x84, 0xda, 0x6b, - 0xb7, 0xb7, 0xa8, 0x0e, 0x1e, 0x9f, 0xfe, 0xb1, 0x4b, 0xc7, 0xd7, 0xa9, 0xfd, 0x1b, 0x70, 0x23, - 0x8f, 0xfd, 0x8b, 0xc8, 0x2b, 0xae, 0x28, 0x33, 0x1e, 0x66, 0xec, 0x6f, 0xc2, 0x46, 0x9f, 0xd1, - 0x53, 0x12, 0x27, 0x02, 0x65, 0x14, 0xc9, 0x25, 0xb4, 0xe2, 0x97, 0x94, 0x3d, 0x80, 0x75, 0xf9, - 0xa4, 0x78, 0xe8, 0x8e, 0x7d, 0x8a, 0x5d, 0xe9, 0x36, 0x40, 0xe4, 0x8e, 0xf3, 0x9f, 0x14, 0xf0, - 0xdd, 0x49, 0xe1, 0xf0, 0xef, 0xc9, 0x31, 0x3b, 0x93, 0xdf, 0x4d, 0xfc, 0x5e, 0x72, 0xec, 0x1f, - 0x81, 0xe5, 0x90, 0x24, 0x62, 0x34, 0x21, 0x8a, 0xd6, 0x4d, 0xe8, 0xf4, 0xb3, 0x38, 0x26, 0x94, - 0x6f, 0x95, 0xbf, 0xaf, 0xab, 0x2c, 0xae, 0x77, 0x50, 0xea, 0xc5, 0xb7, 0x0a, 0x85, 0x63, 0xff, - 0xae, 0x01, 0xed, 0x81, 0x3f, 0xa6, 0x6e, 0xe0, 0x90, 0x89, 0xf5, 0x3d, 0x68, 0xe1, 0x09, 0x22, - 0x43, 0x3b, 0xed, 0xee, 0x8c, 0xab, 0xf1, 0xa8, 0x74, 0xc8, 0xe4, 0xf1, 0x67, 0x1c, 0x29, 0x63, - 0x7d, 0x00, 0x5d, 0xfc, 0xeb, 0x09, 0xde, 0x08, 0xe4, 0x01, 0xf0, 0x95, 0x4b, 0x94, 0xc8, 0xd5, - 0xa8, 0x4b, 0xd7, 0xc0, 0x0d, 0x1a, 0xba, 0x74, 0x28, 0x7f, 0x73, 0xbb, 0xc8, 0xa0, 0xbe, 0x58, - 0x26, 0x0d, 0x42, 0x19, 0x2e, 0xed, 0x8a, 0x99, 0x59, 0xfe, 0x6a, 0x31, 0x5b, 0x1a, 0x47, 0x6b, - 0x29, 0x8d, 0x32, 0x5c, 0xfa, 0x38, 0xa3, 0xe3, 0x17, 0x91, 0xbc, 0xca, 0xcd, 0x96, 0x7e, 0x2c, - 0x96, 0x49, 0x69, 0x94, 0xe1, 0xd2, 0xb1, 0xe8, 0x76, 0x22, 0xe8, 0x17, 0x49, 0x63, 0x53, 0x94, - 0xd2, 0x28, 0xb3, 0xdb, 0x86, 0xc5, 0xc8, 0x3d, 0x0f, 0x98, 0xeb, 0xd9, 0x7f, 0x6c, 0x00, 0xe4, - 0x0b, 0x13, 0x31, 0x63, 0x68, 0x10, 0x6d, 0x5d, 0x0a, 0x51, 0x14, 0x9c, 0x2b, 0x20, 0x0d, 0xa6, - 0x83, 0xf4, 0xb5, 0x79, 0x41, 0x42, 0x6d, 0x15, 0x98, 0xee, 0x57, 0x60, 0xda, 0xba, 0x14, 0x26, - 0x69, 0x94, 0x04, 0xea, 0x7e, 0x05, 0xa8, 0xad, 0x4b, 0x81, 0x92, 0xf2, 0x12, 0xaa, 0xfb, 0x15, - 0xa8, 0xb6, 0x2e, 0x85, 0x4a, 0xca, 0x4b, 0xb0, 0xee, 0x57, 0xc0, 0xda, 0xba, 0x14, 0x2c, 0x29, - 0x5f, 0x87, 0xeb, 0x1f, 0x06, 0xac, 0x88, 0x90, 0xe1, 0xbb, 0x2d, 0x1d, 0x31, 0xf1, 0x3c, 0x23, - 0xc2, 0xa5, 0xff, 0x42, 0xa5, 0x33, 0xad, 0xaf, 0xc3, 0x3a, 0x32, 0xe4, 0x2f, 0x1a, 0x62, 0xfc, - 0x33, 0x37, 0x1b, 0x77, 0xda, 0x4e, 0xfd, 0x83, 0x78, 0x69, 0xcb, 0x92, 0x94, 0x85, 0x7b, 0x6e, - 0xea, 0xe6, 0xd3, 0x4a, 0xc9, 0x51, 0xdf, 0x41, 0x17, 0x6a, 0xbf, 0x70, 0xc7, 0x8c, 0x85, 0xc5, - 0x03, 0xa7, 0xa4, 0xb8, 0x44, 0xea, 0x87, 0x84, 0x65, 0xa9, 0x6c, 0x13, 0x39, 0x69, 0x7f, 0x6c, - 0xc0, 0x6a, 0xa5, 0xea, 0xad, 0x1d, 0x00, 0xbf, 0xf0, 0xf2, 0x82, 0xdf, 0xa0, 0xf4, 0x50, 0x38, - 0x8a, 0xd0, 0xb4, 0x17, 0x3b, 0xf3, 0xca, 0x2f, 0x76, 0x76, 0x1f, 0xd6, 0x6b, 0x69, 0x2f, 0x9e, - 0xdd, 0xd8, 0x09, 0xa1, 0xc5, 0xb3, 0x1b, 0x27, 0xb8, 0xa7, 0x81, 0x7f, 0xaa, 0xfe, 0x22, 0x2c, - 0x49, 0x3e, 0x2f, 0x6c, 0x4c, 0x6f, 0x4d, 0x9f, 0x3e, 0x87, 0x8f, 0xa0, 0x37, 0xab, 0x40, 0x67, - 0xf8, 0x5d, 0x22, 0x6f, 0x56, 0x91, 0x9f, 0x11, 0x8f, 0x9f, 0xe7, 0xc0, 0x17, 0xdd, 0x75, 0xce, - 0x64, 0xde, 0xd5, 0xa2, 0x65, 0xce, 0x7b, 0x98, 0xa8, 0xe1, 0xb2, 0x6f, 0xe4, 0x88, 0x2a, 0x3d, - 0xa3, 0xb4, 0xa8, 0xe8, 0xd8, 0xa5, 0x45, 0x64, 0x9a, 0x45, 0xe4, 0x1a, 0x2d, 0xfa, 0x69, 0x6e, - 0x91, 0xd2, 0x85, 0xae, 0x2d, 0xd6, 0x61, 0xee, 0x59, 0x71, 0x9a, 0xcc, 0x9a, 0x30, 0xae, 0x37, - 0xba, 0x4a, 0x47, 0x2c, 0xa3, 0x5b, 0x9c, 0x49, 0xaf, 0x31, 0xba, 0x85, 0x45, 0x4a, 0x8f, 0xdd, - 0xbd, 0xf5, 0x93, 0x9b, 0xdb, 0xef, 0xe2, 0x7f, 0x58, 0xbd, 0x57, 0x53, 0x77, 0xd4, 0x12, 0xff, - 0x71, 0xf5, 0xad, 0x4f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xab, 0x48, 0xc0, 0x80, 0x84, 0x25, 0x00, - 0x00, + 0xf6, 0x7a, 0xc6, 0xa6, 0x71, 0xa7, 0xed, 0xe4, 0xa4, 0x75, 0x0b, 0xda, 0xe2, 0xe7, 0x53, 0x37, + 0x24, 0x3d, 0x53, 0x8c, 0x95, 0x0c, 0xcb, 0x86, 0x65, 0xca, 0x52, 0x7f, 0xe4, 0x0f, 0xdd, 0xd4, + 0x67, 0xb4, 0xd7, 0x10, 0x13, 0x34, 0x1e, 0x9f, 0xe3, 0xd3, 0x34, 0x66, 0x5e, 0x36, 0x14, 0x73, + 0x16, 0x70, 0x8e, 0xca, 0xe3, 0xeb, 0x8f, 0xdc, 0x21, 0x79, 0xe1, 0xec, 0xf7, 0x9a, 0xb8, 0xbe, + 0x24, 0xad, 0x4d, 0xe8, 0xb0, 0x33, 0x4a, 0xe2, 0x17, 0x09, 0x89, 0x9f, 0xec, 0xf5, 0x5a, 0x62, + 0x54, 0x65, 0x59, 0xb7, 0x01, 0x86, 0x31, 0x71, 0x53, 0xf2, 0xdc, 0x0f, 0x49, 0x6f, 0x71, 0xd3, + 0xb8, 0xd3, 0x75, 0x14, 0x0e, 0xd7, 0x10, 0x92, 0xf0, 0x88, 0xc4, 0x7d, 0x96, 0xd1, 0xb4, 0xb7, + 0x24, 0x26, 0xa8, 0x2c, 0x6b, 0x05, 0x4c, 0xf2, 0xaa, 0xd7, 0x16, 0xaa, 0x4d, 0xf2, 0xca, 0xda, + 0x80, 0x56, 0x92, 0xba, 0x69, 0x96, 0xf4, 0x60, 0xd3, 0xb8, 0xd3, 0x74, 0x24, 0x65, 0x6d, 0x41, + 0x57, 0xe8, 0x65, 0xb9, 0x35, 0x1d, 0x21, 0xa2, 0x33, 0x0b, 0xc4, 0x9e, 0x9f, 0x47, 0xa4, 0xb7, + 0x2c, 0x14, 0x94, 0x0c, 0xfb, 0xaf, 0x26, 0xdc, 0x10, 0xb8, 0x1f, 0x08, 0x03, 0x1e, 0x66, 0x41, + 0x70, 0x89, 0x07, 0x36, 0xa0, 0x95, 0xe1, 0x72, 0x08, 0xbf, 0xa4, 0xf8, 0x3a, 0x31, 0x0b, 0xc8, + 0x3e, 0x39, 0x25, 0x81, 0x00, 0xbe, 0xe9, 0x94, 0x0c, 0xeb, 0x26, 0x2c, 0x7d, 0xc4, 0x7c, 0x2a, + 0x30, 0x59, 0x10, 0x83, 0x05, 0xcd, 0xc7, 0xa8, 0x3f, 0x3c, 0xa1, 0xdc, 0xa5, 0x08, 0x77, 0x41, + 0xab, 0x9e, 0x68, 0xe9, 0x9e, 0x78, 0x07, 0x56, 0xdc, 0x28, 0x3a, 0x70, 0xe9, 0x98, 0xc4, 0xb8, + 0xe8, 0xa2, 0xd0, 0x5b, 0xe1, 0x72, 0x7f, 0xf0, 0x95, 0x06, 0x2c, 0x8b, 0x87, 0x44, 0xc0, 0xdd, + 0x74, 0x14, 0x0e, 0xd7, 0xc3, 0x22, 0x12, 0x2b, 0x30, 0x22, 0xf2, 0x15, 0xae, 0xf4, 0x0a, 0xe4, + 0x5e, 0xb1, 0x7f, 0x6d, 0xc0, 0xca, 0x61, 0x76, 0x14, 0xf8, 0x43, 0x31, 0x81, 0x83, 0x56, 0x42, + 0x63, 0x68, 0xd0, 0xa8, 0x1b, 0x34, 0x67, 0x6f, 0xb0, 0xa1, 0x6f, 0x70, 0x03, 0x5a, 0x63, 0x42, + 0x3d, 0x12, 0x4b, 0xc0, 0x24, 0x25, 0x0d, 0x69, 0x16, 0x86, 0xfc, 0xd6, 0x84, 0xa5, 0xd7, 0x6c, + 0xc2, 0x26, 0x74, 0xa2, 0x63, 0x46, 0xc9, 0xd3, 0x8c, 0x07, 0x8d, 0xb4, 0x45, 0x65, 0x59, 0x6f, + 0x41, 0xf3, 0xc8, 0x8f, 0xd3, 0x63, 0xe1, 0xb5, 0xae, 0x83, 0x04, 0xe7, 0x92, 0xd0, 0xf5, 0xd1, + 0x55, 0x6d, 0x07, 0x09, 0xb9, 0xa1, 0xa5, 0x22, 0xde, 0xf5, 0x0c, 0x6a, 0xd7, 0x32, 0xa8, 0xee, + 0x79, 0x98, 0xe6, 0x79, 0xfb, 0xbf, 0x06, 0xc0, 0xc3, 0xd8, 0x27, 0xd4, 0x13, 0xd0, 0x54, 0x52, + 0xd7, 0xa8, 0xa7, 0xee, 0x06, 0xb4, 0x62, 0x12, 0xba, 0xf1, 0x49, 0x1e, 0xda, 0x48, 0x55, 0x0c, + 0x6a, 0xd4, 0x0c, 0x7a, 0x0f, 0x60, 0x24, 0xd6, 0xe1, 0x7a, 0x04, 0x54, 0x9d, 0xbb, 0x5f, 0xd8, + 0xae, 0x15, 0xb9, 0xed, 0xdc, 0x4b, 0x8e, 0x32, 0x9d, 0xe7, 0x8d, 0xeb, 0x79, 0x32, 0x3c, 0x9b, + 0x98, 0x37, 0x05, 0x63, 0x4a, 0x74, 0xb6, 0x2e, 0x88, 0xce, 0xc5, 0x22, 0x28, 0xfe, 0x65, 0x40, + 0x7b, 0x37, 0x70, 0x87, 0x27, 0x73, 0x6e, 0x5d, 0xdf, 0xa2, 0x59, 0xdb, 0xe2, 0x23, 0xe8, 0x1e, + 0x71, 0x75, 0xf9, 0x16, 0x04, 0x0a, 0x9d, 0xbb, 0x5f, 0x9a, 0xb2, 0x4b, 0x3d, 0x29, 0x1c, 0x5d, + 0x4e, 0xdf, 0xee, 0xc2, 0xe5, 0xdb, 0x6d, 0x5e, 0xb0, 0xdd, 0x56, 0xb1, 0xdd, 0x7f, 0x98, 0xb0, + 0x2c, 0xca, 0x98, 0x43, 0x26, 0x19, 0x49, 0x52, 0xeb, 0xfb, 0xb0, 0x94, 0xe5, 0xa6, 0x1a, 0xf3, + 0x9a, 0x5a, 0x88, 0x58, 0xf7, 0x64, 0xd1, 0x14, 0xf2, 0xa6, 0x90, 0xbf, 0x35, 0x45, 0xbe, 0x38, + 0xb1, 0x9c, 0x72, 0x3a, 0x3f, 0x60, 0x8e, 0x5d, 0xea, 0x05, 0xc4, 0x21, 0x49, 0x16, 0xa4, 0xb2, + 0x16, 0x6a, 0x3c, 0x8c, 0xb4, 0xc9, 0x41, 0x32, 0x96, 0xc7, 0x8f, 0xa4, 0x38, 0x3a, 0x38, 0x8f, + 0x0f, 0xe1, 0xd6, 0x4b, 0x06, 0x4f, 0xd4, 0x98, 0x4c, 0x84, 0x87, 0x30, 0xad, 0x72, 0xb2, 0x5c, + 0x53, 0xa2, 0x86, 0x81, 0xa0, 0xf1, 0xb8, 0x8b, 0x91, 0x16, 0x0a, 0xf0, 0xdc, 0x51, 0x38, 0xd5, + 0x63, 0xc7, 0xfe, 0x67, 0x03, 0xba, 0x98, 0x3e, 0x39, 0xa8, 0xb7, 0x79, 0x9c, 0xb3, 0x50, 0x8b, + 0x22, 0x85, 0xc3, 0xad, 0xe0, 0xd4, 0x53, 0xbd, 0xd0, 0x68, 0x3c, 0x1e, 0x8a, 0x9c, 0x7e, 0xa8, + 0x15, 0x1c, 0x95, 0x95, 0xaf, 0xf2, 0x48, 0x2d, 0x3c, 0x0a, 0x87, 0x97, 0xb2, 0x94, 0x69, 0xd1, + 0x51, 0xd0, 0x5c, 0x36, 0x65, 0xc5, 0xfa, 0x18, 0x1f, 0x0a, 0x87, 0xe3, 0x9b, 0xb2, 0x7c, 0x6d, + 0x04, 0xa9, 0x64, 0xa0, 0x66, 0xb9, 0x2e, 0x1e, 0x14, 0x05, 0x5d, 0xf3, 0x6a, 0xfb, 0x42, 0xaf, + 0x82, 0xe6, 0x55, 0x3d, 0xb9, 0x3a, 0xb5, 0xe4, 0xda, 0x82, 0x2e, 0xea, 0xc9, 0x83, 0x7e, 0x19, + 0x0f, 0x72, 0x8d, 0xa9, 0xc7, 0x46, 0xb7, 0x1a, 0x1b, 0xba, 0x77, 0x57, 0x66, 0x78, 0x77, 0xb5, + 0xf0, 0xee, 0x2f, 0xa0, 0x77, 0x98, 0x05, 0xc1, 0x01, 0x49, 0x12, 0x77, 0x4c, 0x76, 0xcf, 0x07, + 0x64, 0xb2, 0xef, 0x27, 0xa9, 0x43, 0x92, 0x88, 0xc7, 0x19, 0x89, 0xe3, 0x3e, 0xf3, 0x88, 0x70, + 0x72, 0xd3, 0xc9, 0x49, 0xbe, 0x43, 0x12, 0xc7, 0xdc, 0x00, 0x59, 0x21, 0x91, 0xb2, 0xb6, 0x61, + 0x21, 0xf0, 0x13, 0x1e, 0xeb, 0x8d, 0x3b, 0x9d, 0xbb, 0x37, 0xa7, 0xa4, 0xca, 0x41, 0x32, 0xde, + 0x73, 0x53, 0xd7, 0x11, 0xf3, 0xec, 0x10, 0x3e, 0x37, 0x7d, 0xf5, 0xc9, 0xcc, 0x13, 0x8c, 0xd7, + 0x30, 0x51, 0x04, 0x7c, 0x46, 0x8b, 0xe6, 0x43, 0x65, 0x71, 0xb3, 0x13, 0xd4, 0x23, 0xec, 0xe8, + 0x3a, 0x39, 0x69, 0xbf, 0x05, 0xd6, 0x23, 0x92, 0x1e, 0xb8, 0xaf, 0x76, 0xa8, 0x77, 0xe0, 0xd3, + 0x01, 0x99, 0x38, 0x64, 0x62, 0x3f, 0x80, 0x1b, 0x35, 0x6e, 0x12, 0x71, 0x03, 0x42, 0xf7, 0xd5, + 0x80, 0x4c, 0x84, 0x01, 0x5d, 0x47, 0x52, 0x82, 0x2f, 0x66, 0xc9, 0xf2, 0x28, 0x29, 0x7b, 0x02, + 0xab, 0xdc, 0x43, 0x03, 0x42, 0xbd, 0x83, 0x64, 0x2c, 0x54, 0x6c, 0x42, 0x07, 0x11, 0x38, 0x48, + 0xc6, 0x65, 0xbd, 0x55, 0x58, 0x7c, 0xc6, 0x30, 0xf0, 0x09, 0x4d, 0x71, 0x86, 0xdc, 0x8d, 0xc2, + 0xe2, 0xc1, 0x98, 0x10, 0xea, 0x15, 0x47, 0x4e, 0xc3, 0x29, 0x68, 0xfb, 0x6f, 0x4d, 0x58, 0x94, + 0x80, 0x8a, 0xee, 0x90, 0x1f, 0x71, 0x05, 0x5e, 0x48, 0x61, 0x30, 0x0e, 0x4f, 0xcb, 0x3e, 0x0d, + 0x29, 0xb5, 0xb3, 0x6b, 0xe8, 0x9d, 0x5d, 0xc5, 0xa6, 0x85, 0xba, 0x4d, 0x95, 0x7d, 0x35, 0xeb, + 0xfb, 0xfa, 0x2a, 0xac, 0x25, 0x22, 0x61, 0x0e, 0x03, 0x37, 0x1d, 0xb1, 0x38, 0x94, 0x27, 0x56, + 0xd3, 0xa9, 0xf1, 0x79, 0xb1, 0x47, 0x5e, 0x91, 0xb0, 0x98, 0x91, 0x15, 0x2e, 0x4f, 0x0f, 0xe4, + 0xe4, 0x89, 0x8b, 0xad, 0x82, 0xce, 0x44, 0xdb, 0x92, 0xc4, 0x67, 0x54, 0x74, 0xba, 0x98, 0x9f, + 0x2a, 0x8b, 0xef, 0x3c, 0x4c, 0xc6, 0x0f, 0x63, 0x16, 0xca, 0x86, 0x21, 0x27, 0xc5, 0xce, 0x19, + 0x4d, 0x09, 0x4d, 0x85, 0x6c, 0x07, 0x65, 0x15, 0x16, 0x97, 0x95, 0xa4, 0x48, 0xce, 0x65, 0x27, + 0x27, 0xad, 0x35, 0x68, 0x24, 0x64, 0x22, 0x33, 0x8e, 0xff, 0xd4, 0x3c, 0xb7, 0xaa, 0x7b, 0xae, + 0x52, 0x0a, 0xd6, 0xc4, 0xa8, 0x5a, 0x0a, 0xca, 0x5e, 0x7f, 0x5d, 0xeb, 0xf5, 0x77, 0x60, 0x91, + 0x45, 0x3c, 0xce, 0x93, 0x9e, 0x25, 0x72, 0xec, 0xcb, 0xb3, 0x73, 0x6c, 0xfb, 0x19, 0xce, 0x7c, + 0x40, 0xd3, 0xf8, 0xdc, 0xc9, 0xe5, 0xac, 0x7d, 0x58, 0x65, 0xa3, 0x51, 0xe0, 0x53, 0x72, 0x98, + 0x25, 0xc7, 0xe2, 0x64, 0xbb, 0x21, 0x4e, 0x36, 0x7b, 0x8a, 0xaa, 0x67, 0xfa, 0x4c, 0xa7, 0x2a, + 0x7a, 0xf3, 0x1e, 0x2c, 0xab, 0xcb, 0x70, 0x18, 0x4e, 0xc8, 0xb9, 0x8c, 0x41, 0xfe, 0x93, 0x37, + 0x7b, 0xa7, 0x6e, 0x90, 0xe1, 0x31, 0xb0, 0xe4, 0x20, 0x71, 0xcf, 0xfc, 0x8e, 0x61, 0xff, 0xc6, + 0x80, 0xd5, 0xca, 0x02, 0x7c, 0x76, 0xea, 0xa7, 0x01, 0x91, 0x1a, 0x90, 0xb0, 0x2c, 0x58, 0xf0, + 0x48, 0x32, 0x94, 0x21, 0x2c, 0x7e, 0xcb, 0x4a, 0xd6, 0x28, 0xda, 0x45, 0x7e, 0xa1, 0x7b, 0x36, + 0xe0, 0x8a, 0x06, 0x2c, 0xa3, 0x5e, 0x71, 0xa1, 0x53, 0x78, 0x3c, 0x84, 0xfc, 0x67, 0x83, 0x5d, + 0xd7, 0x1b, 0x13, 0xbc, 0x76, 0x35, 0x85, 0x4d, 0x3a, 0xd3, 0xf6, 0x60, 0xe9, 0xb9, 0x1f, 0x25, + 0x7d, 0x16, 0x86, 0xdc, 0x11, 0x1e, 0x49, 0x79, 0xaf, 0x6a, 0x08, 0x7f, 0x4b, 0x8a, 0x87, 0x8a, + 0x47, 0x46, 0x6e, 0x16, 0xa4, 0x7c, 0x6a, 0x9e, 0xb8, 0x0a, 0x4b, 0x5c, 0x38, 0x12, 0x46, 0xf7, + 0x50, 0x1a, 0xed, 0x54, 0x38, 0xf6, 0xdf, 0x4d, 0x58, 0x13, 0x8d, 0x43, 0x5f, 0xb8, 0xdd, 0x13, + 0x42, 0x77, 0xa1, 0x29, 0xd2, 0x50, 0x36, 0x2b, 0x17, 0x37, 0x1b, 0x38, 0xd5, 0xba, 0x0f, 0x2d, + 0x16, 0x89, 0x96, 0x13, 0x3b, 0x94, 0x77, 0x66, 0x09, 0xe9, 0x77, 0x3b, 0x47, 0x4a, 0x59, 0x0f, + 0x01, 0xf0, 0xda, 0xb9, 0x5f, 0x96, 0xee, 0x79, 0x75, 0x28, 0x92, 0x1c, 0xdc, 0xa2, 0x0c, 0x17, + 0x17, 0xbc, 0x86, 0xa3, 0x33, 0xad, 0xa7, 0xb0, 0x22, 0xcc, 0x7e, 0x96, 0x77, 0x9d, 0xc2, 0x07, + 0xf3, 0xaf, 0x58, 0x91, 0xb6, 0x3f, 0x36, 0x24, 0x8c, 0x7c, 0x74, 0x40, 0x10, 0xfb, 0x12, 0x12, + 0xe3, 0x4a, 0x90, 0xdc, 0x84, 0xa5, 0x30, 0x53, 0x9a, 0xe0, 0x86, 0x53, 0xd0, 0xa5, 0x8b, 0x1a, + 0x73, 0xbb, 0xc8, 0xfe, 0xbd, 0x01, 0xbd, 0xf7, 0x99, 0x4f, 0xc5, 0xc0, 0x4e, 0x14, 0x05, 0xf2, + 0x15, 0xe2, 0xca, 0x3e, 0xff, 0x01, 0xb4, 0x5d, 0x54, 0x43, 0x53, 0xe9, 0xf6, 0x39, 0x1a, 0xdb, + 0x52, 0x46, 0xe9, 0x51, 0x1a, 0x6a, 0x8f, 0x62, 0xff, 0xc9, 0x80, 0x15, 0x04, 0xe5, 0x83, 0xcc, + 0x4f, 0xaf, 0x6c, 0xdf, 0x2e, 0x2c, 0x4d, 0x32, 0x3f, 0xbd, 0x42, 0x54, 0x16, 0x72, 0xf5, 0x78, + 0x6a, 0x4c, 0x89, 0x27, 0xfb, 0xcf, 0x06, 0xdc, 0xaa, 0xc2, 0xba, 0x33, 0x1c, 0x92, 0xe8, 0x4d, + 0xa6, 0x94, 0xd6, 0xa3, 0x2d, 0x54, 0x7a, 0xb4, 0xa9, 0x26, 0x3b, 0xe4, 0x23, 0x32, 0xfc, 0xf4, + 0x9a, 0xfc, 0x2b, 0x13, 0x3e, 0xff, 0xa8, 0x48, 0xbc, 0xe7, 0xb1, 0x4b, 0x93, 0x11, 0x89, 0xe3, + 0x37, 0x68, 0xef, 0x3e, 0x74, 0x29, 0x39, 0x2b, 0x6d, 0x92, 0xe9, 0x38, 0xaf, 0x1a, 0x5d, 0x78, + 0xbe, 0xda, 0x65, 0xff, 0xcf, 0x80, 0x35, 0xd4, 0xf3, 0x43, 0x7f, 0x78, 0xf2, 0x06, 0x37, 0xff, + 0x14, 0x56, 0x4e, 0x84, 0x05, 0x9c, 0xba, 0x42, 0xd9, 0xae, 0x48, 0xcf, 0xb9, 0xfd, 0xff, 0x1b, + 0xb0, 0x8e, 0x8a, 0x9e, 0xd0, 0x53, 0xff, 0x4d, 0x06, 0xeb, 0x21, 0xac, 0xfa, 0x68, 0xc2, 0x15, + 0x01, 0xa8, 0x8a, 0xcf, 0x89, 0xc0, 0x5f, 0x0c, 0x58, 0x45, 0x4d, 0x0f, 0x68, 0x4a, 0xe2, 0x2b, + 0xef, 0xff, 0x31, 0x74, 0x08, 0x4d, 0x63, 0x97, 0x5e, 0xa5, 0x42, 0xaa, 0xa2, 0x73, 0x16, 0xc9, + 0x13, 0x58, 0xc7, 0x2b, 0xbc, 0x52, 0x71, 0x78, 0x2f, 0xeb, 0x7a, 0xd8, 0x9e, 0x1a, 0x42, 0x28, + 0x27, 0xf5, 0xc7, 0x19, 0xf9, 0xba, 0x5e, 0x3e, 0xce, 0xdc, 0x06, 0x70, 0x3d, 0xef, 0x43, 0x16, + 0x7b, 0x3e, 0xcd, 0x8f, 0x0f, 0x85, 0x63, 0xbf, 0x0f, 0xcb, 0xbc, 0x9b, 0x7e, 0xae, 0x5c, 0xc6, + 0x2f, 0x7c, 0x2e, 0x50, 0x2f, 0xf2, 0xa6, 0x7e, 0x91, 0xb7, 0x7f, 0x06, 0x9f, 0xad, 0x19, 0x2e, + 0x50, 0xef, 0xe3, 0x1b, 0x43, 0xbe, 0x88, 0x04, 0xff, 0x8b, 0x53, 0x20, 0x54, 0x6d, 0x71, 0x34, + 0x21, 0xfb, 0x97, 0x06, 0xbc, 0x5d, 0x53, 0xbf, 0x13, 0x45, 0x31, 0x3b, 0x95, 0xc1, 0x7d, 0x1d, + 0xcb, 0xe8, 0xa5, 0xd5, 0xac, 0x96, 0xd6, 0xa9, 0x46, 0x68, 0xc7, 0xc1, 0x6b, 0x30, 0xe2, 0x0f, + 0x06, 0xac, 0x4a, 0x23, 0x3c, 0x4f, 0x2e, 0xfb, 0x6d, 0x68, 0xe1, 0xfb, 0xa4, 0x5c, 0xf0, 0xed, + 0xa9, 0x0b, 0xe6, 0xef, 0xaa, 0x8e, 0x9c, 0x5c, 0x8f, 0x48, 0x73, 0x5a, 0x1b, 0xf8, 0xdd, 0xa2, + 0x02, 0xcc, 0xfd, 0x82, 0x28, 0x05, 0xec, 0x1f, 0xe7, 0xc1, 0xbc, 0x47, 0x02, 0x72, 0x9d, 0x18, + 0xd9, 0x2f, 0x60, 0x45, 0x3c, 0x96, 0x96, 0x18, 0x5c, 0x8b, 0xda, 0x0f, 0x61, 0x4d, 0xa8, 0xbd, + 0x76, 0x7b, 0x8b, 0xec, 0xe0, 0xf8, 0xf4, 0x8f, 0x5d, 0x3a, 0xbe, 0x4e, 0xed, 0xdf, 0x80, 0x1b, + 0x39, 0xf6, 0x2f, 0x22, 0xaf, 0xb8, 0xa2, 0xcc, 0x78, 0x98, 0xb1, 0xbf, 0x09, 0x1b, 0x7d, 0x46, + 0x4f, 0x49, 0x9c, 0x08, 0x2f, 0xa3, 0x48, 0x2e, 0xa1, 0x25, 0xbf, 0xa4, 0xec, 0x01, 0xac, 0xcb, + 0x27, 0xc5, 0x43, 0x77, 0xec, 0x53, 0xac, 0x4a, 0xb7, 0x01, 0x22, 0x77, 0x9c, 0x7f, 0x52, 0xc0, + 0x77, 0x27, 0x85, 0xc3, 0xc7, 0x93, 0x63, 0x76, 0x26, 0xc7, 0x4d, 0x1c, 0x2f, 0x39, 0xf6, 0x8f, + 0xc0, 0x72, 0x48, 0x12, 0x31, 0x9a, 0x10, 0x45, 0xeb, 0x26, 0x74, 0xfa, 0x59, 0x1c, 0x13, 0xca, + 0x97, 0xca, 0xdf, 0xd7, 0x55, 0x16, 0xd7, 0x3b, 0x28, 0xf5, 0xe2, 0x5b, 0x85, 0xc2, 0xb1, 0x7f, + 0xd7, 0x80, 0xf6, 0xc0, 0x1f, 0x53, 0x37, 0x70, 0xc8, 0xc4, 0xfa, 0x1e, 0xb4, 0xf0, 0x04, 0x91, + 0xd0, 0x4e, 0xbb, 0x3b, 0xe3, 0x6c, 0x3c, 0x2a, 0x1d, 0x32, 0x79, 0xfc, 0x19, 0x47, 0xca, 0x58, + 0x1f, 0x40, 0x17, 0x7f, 0x3d, 0xc1, 0x1b, 0x81, 0x3c, 0x00, 0xbe, 0x72, 0x89, 0x12, 0x39, 0x1b, + 0x75, 0xe9, 0x1a, 0xb8, 0x41, 0x43, 0x97, 0x0e, 0xe5, 0x37, 0xb7, 0x8b, 0x0c, 0xea, 0x8b, 0x69, + 0xd2, 0x20, 0x94, 0xe1, 0xd2, 0xae, 0xe8, 0x99, 0xe5, 0x57, 0x8b, 0xd9, 0xd2, 0xd8, 0x5a, 0x4b, + 0x69, 0x94, 0xe1, 0xd2, 0xc7, 0x19, 0x1d, 0xbf, 0x88, 0xe4, 0x55, 0x6e, 0xb6, 0xf4, 0x63, 0x31, + 0x4d, 0x4a, 0xa3, 0x0c, 0x97, 0x8e, 0x45, 0xb5, 0x13, 0xa0, 0x5f, 0x24, 0x8d, 0x45, 0x51, 0x4a, + 0xa3, 0xcc, 0x6e, 0x1b, 0x16, 0x23, 0xf7, 0x3c, 0x60, 0xae, 0x67, 0xff, 0xb1, 0x01, 0x90, 0x4f, + 0x4c, 0x44, 0x8f, 0xa1, 0xb9, 0x68, 0xeb, 0x52, 0x17, 0x45, 0xc1, 0xb9, 0xe2, 0xa4, 0xc1, 0x74, + 0x27, 0x7d, 0x6d, 0x5e, 0x27, 0xa1, 0xb6, 0x8a, 0x9b, 0xee, 0x57, 0xdc, 0xb4, 0x75, 0xa9, 0x9b, + 0xa4, 0x51, 0xd2, 0x51, 0xf7, 0x2b, 0x8e, 0xda, 0xba, 0xd4, 0x51, 0x52, 0x5e, 0xba, 0xea, 0x7e, + 0xc5, 0x55, 0x5b, 0x97, 0xba, 0x4a, 0xca, 0x4b, 0x67, 0xdd, 0xaf, 0x38, 0x6b, 0xeb, 0x52, 0x67, + 0x49, 0xf9, 0xba, 0xbb, 0xfe, 0x6d, 0xc0, 0x8a, 0x80, 0x0c, 0xdf, 0x6d, 0xe9, 0x88, 0x89, 0xe7, + 0x19, 0x01, 0x97, 0xfe, 0x85, 0x4a, 0x67, 0x5a, 0x5f, 0x87, 0x75, 0x64, 0xc8, 0x2f, 0x1a, 0xa2, + 0xfd, 0x33, 0x37, 0x1b, 0x77, 0xda, 0x4e, 0x7d, 0x40, 0xbc, 0xb4, 0x65, 0x49, 0xca, 0xc2, 0x3d, + 0x37, 0x75, 0xf3, 0x6e, 0xa5, 0xe4, 0xa8, 0xef, 0xa0, 0x0b, 0xb5, 0x2f, 0xdc, 0x31, 0x63, 0x61, + 0xf1, 0xc0, 0x29, 0x29, 0x2e, 0x91, 0xfa, 0x21, 0x61, 0x59, 0x2a, 0xcb, 0x44, 0x4e, 0xf2, 0x33, + 0x36, 0x24, 0x9e, 0xef, 0x8a, 0xd7, 0x43, 0xf9, 0x59, 0xa1, 0x60, 0xd8, 0x1f, 0x1b, 0xb0, 0x5a, + 0xa9, 0x09, 0xd6, 0x0e, 0x80, 0x5f, 0x60, 0x70, 0xc1, 0x17, 0x2a, 0x1d, 0x28, 0x47, 0x11, 0x9a, + 0xf6, 0x9e, 0x67, 0x5e, 0xf9, 0x3d, 0xcf, 0xee, 0xc3, 0x7a, 0x2d, 0x29, 0xc4, 0xa3, 0x1c, 0x3b, + 0x21, 0xb4, 0x78, 0x94, 0xe3, 0x04, 0xc7, 0x21, 0xf0, 0x4f, 0xd5, 0xef, 0xc5, 0x92, 0xe4, 0xdd, + 0xc4, 0xc6, 0xf4, 0xc2, 0xf5, 0xe9, 0xdb, 0xf0, 0x11, 0xf4, 0x66, 0xa5, 0xef, 0x8c, 0x7d, 0x97, + 0x71, 0x61, 0x56, 0xe3, 0x62, 0x06, 0x1e, 0x3f, 0xcf, 0x1d, 0x5f, 0xd4, 0xde, 0x39, 0x43, 0x7d, + 0x57, 0x43, 0xcb, 0x9c, 0xf7, 0xa8, 0x51, 0xe1, 0xb2, 0x6f, 0xe4, 0x1e, 0x55, 0x2a, 0x4a, 0x69, + 0x51, 0x51, 0xcf, 0x4b, 0x8b, 0xc8, 0x34, 0x8b, 0xc8, 0x35, 0x5a, 0xf4, 0xd3, 0xdc, 0x22, 0xa5, + 0x46, 0x5d, 0x1b, 0xd6, 0x61, 0xbe, 0xb3, 0xe2, 0xac, 0x99, 0xd5, 0x7f, 0x5c, 0x2f, 0xba, 0x4a, + 0xbd, 0x2c, 0xd1, 0x2d, 0x4e, 0xac, 0xd7, 0x88, 0x6e, 0x61, 0x91, 0x52, 0x81, 0x77, 0x6f, 0xfd, + 0xe4, 0xe6, 0xf6, 0xbb, 0xf8, 0xff, 0xab, 0xf7, 0x6a, 0xea, 0x8e, 0x5a, 0xe2, 0xff, 0x58, 0xdf, + 0xfa, 0x24, 0x00, 0x00, 0xff, 0xff, 0x09, 0x99, 0x1f, 0x27, 0xa2, 0x25, 0x00, 0x00, } diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 9c730e37b..710eb5046 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -382,6 +382,7 @@ message InvitationInfo { string groupID = 4; string roomID = 5; int32 timeout = 6; + string mediaType = 7; } From bba84b4d1161021ba2dde8608d1740720f2ce7c3 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 14:28:35 +0800 Subject: [PATCH 005/129] ws proto modify --- pkg/proto/sdk_ws/ws.proto | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 710eb5046..380287d12 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -383,6 +383,8 @@ message InvitationInfo { string roomID = 5; int32 timeout = 6; string mediaType = 7; + int32 PlatformID = 8; + } From 6136ac41168846029293250e8522873c5ae9d681 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 14:59:23 +0800 Subject: [PATCH 006/129] ws proto modify --- pkg/proto/sdk_ws/ws.proto | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 380287d12..2196bc645 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -384,6 +384,8 @@ message InvitationInfo { int32 timeout = 6; string mediaType = 7; int32 PlatformID = 8; + int32 sessionType = 9; + } From 564f77bcdcdacfc896e93b685201c6ca28fb4916 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Mon, 14 Mar 2022 15:04:34 +0800 Subject: [PATCH 007/129] signaling --- pkg/proto/sdk_ws/ws.pb.go | 427 ++++++++++++++++++++------------------ 1 file changed, 222 insertions(+), 205 deletions(-) diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index 67e7dd785..2704928d6 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_611b928416bf1207, []int{0} + return fileDescriptor_ws_54638c92053840f2, []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_611b928416bf1207, []int{1} + return fileDescriptor_ws_54638c92053840f2, []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_611b928416bf1207, []int{2} + return fileDescriptor_ws_54638c92053840f2, []int{2} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -344,7 +344,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} } func (m *UserInfo) String() string { return proto.CompactTextString(m) } func (*UserInfo) ProtoMessage() {} func (*UserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{3} + return fileDescriptor_ws_54638c92053840f2, []int{3} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -451,7 +451,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} } func (m *FriendInfo) String() string { return proto.CompactTextString(m) } func (*FriendInfo) ProtoMessage() {} func (*FriendInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{4} + return fileDescriptor_ws_54638c92053840f2, []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_611b928416bf1207, []int{5} + return fileDescriptor_ws_54638c92053840f2, []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_611b928416bf1207, []int{6} + return fileDescriptor_ws_54638c92053840f2, []int{6} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -725,7 +725,7 @@ func (m *FriendRequest) Reset() { *m = FriendRequest{} } func (m *FriendRequest) String() string { return proto.CompactTextString(m) } func (*FriendRequest) ProtoMessage() {} func (*FriendRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{7} + return fileDescriptor_ws_54638c92053840f2, []int{7} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -863,7 +863,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{8} + return fileDescriptor_ws_54638c92053840f2, []int{8} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -917,7 +917,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{9} + return fileDescriptor_ws_54638c92053840f2, []int{9} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -968,7 +968,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{10} + return fileDescriptor_ws_54638c92053840f2, []int{10} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1000,7 +1000,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{11} + return fileDescriptor_ws_54638c92053840f2, []int{11} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1047,7 +1047,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{12} + return fileDescriptor_ws_54638c92053840f2, []int{12} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1116,7 +1116,7 @@ func (m *MsgData) Reset() { *m = MsgData{} } func (m *MsgData) String() string { return proto.CompactTextString(m) } func (*MsgData) ProtoMessage() {} func (*MsgData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{13} + return fileDescriptor_ws_54638c92053840f2, []int{13} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -1277,7 +1277,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{14} + return fileDescriptor_ws_54638c92053840f2, []int{14} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -1345,7 +1345,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} } func (m *TipsComm) String() string { return proto.CompactTextString(m) } func (*TipsComm) ProtoMessage() {} func (*TipsComm) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{15} + return fileDescriptor_ws_54638c92053840f2, []int{15} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -1402,7 +1402,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} } func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } func (*GroupCreatedTips) ProtoMessage() {} func (*GroupCreatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{16} + return fileDescriptor_ws_54638c92053840f2, []int{16} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -1471,7 +1471,7 @@ func (m *GroupInfoSetTips) Reset() { *m = GroupInfoSetTips{} } func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupInfoSetTips) ProtoMessage() {} func (*GroupInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{17} + return fileDescriptor_ws_54638c92053840f2, []int{17} } func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) @@ -1526,7 +1526,7 @@ func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTi func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } func (*JoinGroupApplicationTips) ProtoMessage() {} func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{18} + return fileDescriptor_ws_54638c92053840f2, []int{18} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -1582,7 +1582,7 @@ func (m *MemberQuitTips) Reset() { *m = MemberQuitTips{} } func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) } func (*MemberQuitTips) ProtoMessage() {} func (*MemberQuitTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{19} + return fileDescriptor_ws_54638c92053840f2, []int{19} } func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) @@ -1637,7 +1637,7 @@ func (m *GroupApplicationAcceptedTips) Reset() { *m = GroupApplicationAc func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationAcceptedTips) ProtoMessage() {} func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{20} + return fileDescriptor_ws_54638c92053840f2, []int{20} } func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) @@ -1692,7 +1692,7 @@ func (m *GroupApplicationRejectedTips) Reset() { *m = GroupApplicationRe func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationRejectedTips) ProtoMessage() {} func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{21} + return fileDescriptor_ws_54638c92053840f2, []int{21} } func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) @@ -1748,7 +1748,7 @@ func (m *GroupOwnerTransferredTips) Reset() { *m = GroupOwnerTransferred func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) } func (*GroupOwnerTransferredTips) ProtoMessage() {} func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{22} + return fileDescriptor_ws_54638c92053840f2, []int{22} } func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) @@ -1811,7 +1811,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} } func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } func (*MemberKickedTips) ProtoMessage() {} func (*MemberKickedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{23} + return fileDescriptor_ws_54638c92053840f2, []int{23} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -1874,7 +1874,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} } func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } func (*MemberInvitedTips) ProtoMessage() {} func (*MemberInvitedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{24} + return fileDescriptor_ws_54638c92053840f2, []int{24} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -1936,7 +1936,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} } func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } func (*MemberEnterTips) ProtoMessage() {} func (*MemberEnterTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{25} + return fileDescriptor_ws_54638c92053840f2, []int{25} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -1990,7 +1990,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_611b928416bf1207, []int{26} + return fileDescriptor_ws_54638c92053840f2, []int{26} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -2043,7 +2043,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_611b928416bf1207, []int{27} + return fileDescriptor_ws_54638c92053840f2, []int{27} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -2089,7 +2089,7 @@ func (m *FriendApplicationTips) Reset() { *m = FriendApplicationTips{} } func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationTips) ProtoMessage() {} func (*FriendApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{28} + return fileDescriptor_ws_54638c92053840f2, []int{28} } func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) @@ -2129,7 +2129,7 @@ func (m *FriendApplicationApprovedTips) Reset() { *m = FriendApplication func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationApprovedTips) ProtoMessage() {} func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{29} + return fileDescriptor_ws_54638c92053840f2, []int{29} } func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) @@ -2176,7 +2176,7 @@ func (m *FriendApplicationRejectedTips) Reset() { *m = FriendApplication func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationRejectedTips) ProtoMessage() {} func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{30} + return fileDescriptor_ws_54638c92053840f2, []int{30} } func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) @@ -2224,7 +2224,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_611b928416bf1207, []int{31} + return fileDescriptor_ws_54638c92053840f2, []int{31} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -2277,7 +2277,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_611b928416bf1207, []int{32} + return fileDescriptor_ws_54638c92053840f2, []int{32} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -2315,7 +2315,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_611b928416bf1207, []int{33} + return fileDescriptor_ws_54638c92053840f2, []int{33} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -2353,7 +2353,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_611b928416bf1207, []int{34} + return fileDescriptor_ws_54638c92053840f2, []int{34} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -2391,7 +2391,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_611b928416bf1207, []int{35} + return fileDescriptor_ws_54638c92053840f2, []int{35} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -2430,7 +2430,7 @@ func (m *UserInfoUpdatedTips) Reset() { *m = UserInfoUpdatedTips{} } func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (*UserInfoUpdatedTips) ProtoMessage() {} func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{36} + return fileDescriptor_ws_54638c92053840f2, []int{36} } func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) @@ -2469,7 +2469,7 @@ func (m *ConversationUpdateTips) Reset() { *m = ConversationUpdateTips{} func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) } func (*ConversationUpdateTips) ProtoMessage() {} func (*ConversationUpdateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{37} + return fileDescriptor_ws_54638c92053840f2, []int{37} } func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) @@ -2509,7 +2509,7 @@ func (m *RequestPagination) Reset() { *m = RequestPagination{} } func (m *RequestPagination) String() string { return proto.CompactTextString(m) } func (*RequestPagination) ProtoMessage() {} func (*RequestPagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{38} + return fileDescriptor_ws_54638c92053840f2, []int{38} } func (m *RequestPagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RequestPagination.Unmarshal(m, b) @@ -2555,7 +2555,7 @@ func (m *ResponsePagination) Reset() { *m = ResponsePagination{} } func (m *ResponsePagination) String() string { return proto.CompactTextString(m) } func (*ResponsePagination) ProtoMessage() {} func (*ResponsePagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{39} + return fileDescriptor_ws_54638c92053840f2, []int{39} } func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) @@ -2608,7 +2608,7 @@ func (m *SignalReq) Reset() { *m = SignalReq{} } func (m *SignalReq) String() string { return proto.CompactTextString(m) } func (*SignalReq) ProtoMessage() {} func (*SignalReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{40} + return fileDescriptor_ws_54638c92053840f2, []int{40} } func (m *SignalReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalReq.Unmarshal(m, b) @@ -2875,7 +2875,7 @@ func (m *SignalResp) Reset() { *m = SignalResp{} } func (m *SignalResp) String() string { return proto.CompactTextString(m) } func (*SignalResp) ProtoMessage() {} func (*SignalResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{41} + return fileDescriptor_ws_54638c92053840f2, []int{41} } func (m *SignalResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalResp.Unmarshal(m, b) @@ -3132,6 +3132,8 @@ type InvitationInfo struct { RoomID string `protobuf:"bytes,5,opt,name=roomID" json:"roomID,omitempty"` Timeout int32 `protobuf:"varint,6,opt,name=timeout" json:"timeout,omitempty"` MediaType string `protobuf:"bytes,7,opt,name=mediaType" json:"mediaType,omitempty"` + PlatformID int32 `protobuf:"varint,8,opt,name=PlatformID" json:"PlatformID,omitempty"` + SessionType int32 `protobuf:"varint,9,opt,name=sessionType" json:"sessionType,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -3141,7 +3143,7 @@ func (m *InvitationInfo) Reset() { *m = InvitationInfo{} } func (m *InvitationInfo) String() string { return proto.CompactTextString(m) } func (*InvitationInfo) ProtoMessage() {} func (*InvitationInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{42} + return fileDescriptor_ws_54638c92053840f2, []int{42} } func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) @@ -3210,6 +3212,20 @@ func (m *InvitationInfo) GetMediaType() string { return "" } +func (m *InvitationInfo) GetPlatformID() int32 { + if m != nil { + return m.PlatformID + } + return 0 +} + +func (m *InvitationInfo) GetSessionType() int32 { + if m != nil { + return m.SessionType + } + return 0 +} + type SignalInviteReq struct { Invitation *InvitationInfo `protobuf:"bytes,1,opt,name=invitation" json:"invitation,omitempty"` OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,2,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` @@ -3222,7 +3238,7 @@ func (m *SignalInviteReq) Reset() { *m = SignalInviteReq{} } func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteReq) ProtoMessage() {} func (*SignalInviteReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{43} + return fileDescriptor_ws_54638c92053840f2, []int{43} } func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) @@ -3268,7 +3284,7 @@ func (m *SignalInviteReply) Reset() { *m = SignalInviteReply{} } func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteReply) ProtoMessage() {} func (*SignalInviteReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{44} + return fileDescriptor_ws_54638c92053840f2, []int{44} } func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) @@ -3314,7 +3330,7 @@ func (m *SignalInviteInGroupReq) Reset() { *m = SignalInviteInGroupReq{} func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReq) ProtoMessage() {} func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{45} + return fileDescriptor_ws_54638c92053840f2, []int{45} } func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) @@ -3361,7 +3377,7 @@ func (m *SignalInviteInGroupReply) Reset() { *m = SignalInviteInGroupRep func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReply) ProtoMessage() {} func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{46} + return fileDescriptor_ws_54638c92053840f2, []int{46} } func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) @@ -3414,7 +3430,7 @@ func (m *SignalCancelReq) Reset() { *m = SignalCancelReq{} } func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) } func (*SignalCancelReq) ProtoMessage() {} func (*SignalCancelReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{47} + return fileDescriptor_ws_54638c92053840f2, []int{47} } func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) @@ -3458,7 +3474,7 @@ func (m *SignalCancelReply) Reset() { *m = SignalCancelReply{} } func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) } func (*SignalCancelReply) ProtoMessage() {} func (*SignalCancelReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{48} + return fileDescriptor_ws_54638c92053840f2, []int{48} } func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) @@ -3490,7 +3506,7 @@ func (m *SignalAcceptReq) Reset() { *m = SignalAcceptReq{} } func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReq) ProtoMessage() {} func (*SignalAcceptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{49} + return fileDescriptor_ws_54638c92053840f2, []int{49} } func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) @@ -3537,7 +3553,7 @@ func (m *SignalAcceptReply) Reset() { *m = SignalAcceptReply{} } func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReply) ProtoMessage() {} func (*SignalAcceptReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{50} + return fileDescriptor_ws_54638c92053840f2, []int{50} } func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) @@ -3590,7 +3606,7 @@ func (m *SignalHungUpReq) Reset() { *m = SignalHungUpReq{} } func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReq) ProtoMessage() {} func (*SignalHungUpReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{51} + return fileDescriptor_ws_54638c92053840f2, []int{51} } func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) @@ -3634,7 +3650,7 @@ func (m *SignalHungUpReply) Reset() { *m = SignalHungUpReply{} } func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReply) ProtoMessage() {} func (*SignalHungUpReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{52} + return fileDescriptor_ws_54638c92053840f2, []int{52} } func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) @@ -3666,7 +3682,7 @@ func (m *SignalRejectReq) Reset() { *m = SignalRejectReq{} } func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) } func (*SignalRejectReq) ProtoMessage() {} func (*SignalRejectReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{53} + return fileDescriptor_ws_54638c92053840f2, []int{53} } func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) @@ -3710,7 +3726,7 @@ func (m *SignalRejectReply) Reset() { *m = SignalRejectReply{} } func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) } func (*SignalRejectReply) ProtoMessage() {} func (*SignalRejectReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_611b928416bf1207, []int{54} + return fileDescriptor_ws_54638c92053840f2, []int{54} } func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) @@ -3789,161 +3805,162 @@ func init() { proto.RegisterType((*SignalRejectReply)(nil), "server_api_params.SignalRejectReply") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_611b928416bf1207) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_54638c92053840f2) } -var fileDescriptor_ws_611b928416bf1207 = []byte{ - // 2446 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0xcd, 0x6f, 0x23, 0x49, - 0x15, 0xa7, 0xdb, 0xb1, 0x13, 0x3f, 0xc7, 0xf9, 0xe8, 0x59, 0x82, 0x19, 0x66, 0x87, 0xd0, 0x8a, - 0x96, 0xe1, 0x2b, 0x8b, 0x06, 0x21, 0xc1, 0x2c, 0x0c, 0x4a, 0x9c, 0xf9, 0x5a, 0x92, 0x99, 0x6c, - 0x7b, 0x86, 0x45, 0x80, 0x34, 0xea, 0xb8, 0xcb, 0x4e, 0x6f, 0xba, 0xab, 0xda, 0xfd, 0x91, 0x4c, - 0x04, 0x27, 0x90, 0xf8, 0x0f, 0xe0, 0x8a, 0xb4, 0x17, 0x84, 0x84, 0x10, 0x17, 0xc4, 0x85, 0x23, - 0xff, 0x00, 0x67, 0xfe, 0x05, 0xc4, 0x8d, 0x03, 0x12, 0x12, 0xab, 0xaa, 0x57, 0xdd, 0x5d, 0xd5, - 0x6d, 0x27, 0x56, 0x14, 0xcd, 0xec, 0xcd, 0xef, 0x55, 0xbd, 0x57, 0xaf, 0x7e, 0xef, 0xa3, 0x5e, - 0x55, 0x1b, 0x56, 0x13, 0xef, 0xe4, 0xe5, 0x59, 0xf2, 0xee, 0x59, 0xb2, 0x1d, 0xc5, 0x2c, 0x65, - 0xd6, 0x7a, 0x42, 0xe2, 0x53, 0x12, 0xbf, 0x74, 0x23, 0xff, 0x65, 0xe4, 0xc6, 0x6e, 0x98, 0xd8, - 0xff, 0x31, 0xa1, 0xfd, 0x28, 0x66, 0x59, 0xf4, 0x84, 0x8e, 0x98, 0xd5, 0x83, 0xc5, 0xb1, 0x20, - 0xf6, 0x7a, 0xc6, 0xa6, 0x71, 0xa7, 0xed, 0xe4, 0xa4, 0x75, 0x0b, 0xda, 0xe2, 0xe7, 0x53, 0x37, - 0x24, 0x3d, 0x53, 0x8c, 0x95, 0x0c, 0xcb, 0x86, 0x65, 0xca, 0x52, 0x7f, 0xe4, 0x0f, 0xdd, 0xd4, - 0x67, 0xb4, 0xd7, 0x10, 0x13, 0x34, 0x1e, 0x9f, 0xe3, 0xd3, 0x34, 0x66, 0x5e, 0x36, 0x14, 0x73, - 0x16, 0x70, 0x8e, 0xca, 0xe3, 0xeb, 0x8f, 0xdc, 0x21, 0x79, 0xe1, 0xec, 0xf7, 0x9a, 0xb8, 0xbe, - 0x24, 0xad, 0x4d, 0xe8, 0xb0, 0x33, 0x4a, 0xe2, 0x17, 0x09, 0x89, 0x9f, 0xec, 0xf5, 0x5a, 0x62, - 0x54, 0x65, 0x59, 0xb7, 0x01, 0x86, 0x31, 0x71, 0x53, 0xf2, 0xdc, 0x0f, 0x49, 0x6f, 0x71, 0xd3, - 0xb8, 0xd3, 0x75, 0x14, 0x0e, 0xd7, 0x10, 0x92, 0xf0, 0x88, 0xc4, 0x7d, 0x96, 0xd1, 0xb4, 0xb7, - 0x24, 0x26, 0xa8, 0x2c, 0x6b, 0x05, 0x4c, 0xf2, 0xaa, 0xd7, 0x16, 0xaa, 0x4d, 0xf2, 0xca, 0xda, - 0x80, 0x56, 0x92, 0xba, 0x69, 0x96, 0xf4, 0x60, 0xd3, 0xb8, 0xd3, 0x74, 0x24, 0x65, 0x6d, 0x41, - 0x57, 0xe8, 0x65, 0xb9, 0x35, 0x1d, 0x21, 0xa2, 0x33, 0x0b, 0xc4, 0x9e, 0x9f, 0x47, 0xa4, 0xb7, - 0x2c, 0x14, 0x94, 0x0c, 0xfb, 0xaf, 0x26, 0xdc, 0x10, 0xb8, 0x1f, 0x08, 0x03, 0x1e, 0x66, 0x41, - 0x70, 0x89, 0x07, 0x36, 0xa0, 0x95, 0xe1, 0x72, 0x08, 0xbf, 0xa4, 0xf8, 0x3a, 0x31, 0x0b, 0xc8, - 0x3e, 0x39, 0x25, 0x81, 0x00, 0xbe, 0xe9, 0x94, 0x0c, 0xeb, 0x26, 0x2c, 0x7d, 0xc4, 0x7c, 0x2a, - 0x30, 0x59, 0x10, 0x83, 0x05, 0xcd, 0xc7, 0xa8, 0x3f, 0x3c, 0xa1, 0xdc, 0xa5, 0x08, 0x77, 0x41, +var fileDescriptor_ws_54638c92053840f2 = []byte{ + // 2459 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0xcd, 0x6f, 0xe4, 0x48, + 0x15, 0xc7, 0xee, 0x74, 0x27, 0xfd, 0x3a, 0x9d, 0x0f, 0xcf, 0x12, 0x9a, 0x61, 0x76, 0x08, 0x56, + 0xb4, 0x0c, 0x5f, 0x59, 0x34, 0x08, 0x09, 0x66, 0x61, 0x50, 0xd2, 0x99, 0xaf, 0x25, 0x99, 0xc9, + 0xba, 0x67, 0x58, 0x04, 0x48, 0x23, 0xa7, 0x5d, 0xdd, 0xf1, 0xc6, 0xae, 0x72, 0xfb, 0x23, 0x99, + 0x08, 0x4e, 0x20, 0xf1, 0x1f, 0xc0, 0x15, 0x69, 0x2f, 0x08, 0x09, 0xa1, 0xbd, 0x20, 0x2e, 0x1c, + 0xf9, 0x07, 0x38, 0xf3, 0x2f, 0x70, 0xe5, 0x80, 0x84, 0xc4, 0xaa, 0xea, 0x95, 0xed, 0x2a, 0xbb, + 0x3b, 0x69, 0x45, 0xd1, 0xcc, 0xde, 0xfa, 0x3d, 0xd7, 0x7b, 0xf5, 0xea, 0xf7, 0x3e, 0xea, 0xf9, + 0xb9, 0x61, 0x35, 0xf1, 0x4e, 0x5e, 0x9e, 0x25, 0xef, 0x9e, 0x25, 0xdb, 0x51, 0xcc, 0x52, 0x66, + 0xad, 0x27, 0x24, 0x3e, 0x25, 0xf1, 0x4b, 0x37, 0xf2, 0x5f, 0x46, 0x6e, 0xec, 0x86, 0x89, 0xfd, + 0x1f, 0x13, 0xda, 0x8f, 0x62, 0x96, 0x45, 0x4f, 0xe8, 0x88, 0x59, 0x3d, 0x58, 0x1c, 0x0b, 0x62, + 0xaf, 0x67, 0x6c, 0x1a, 0x77, 0xda, 0x4e, 0x4e, 0x5a, 0xb7, 0xa0, 0x2d, 0x7e, 0x3e, 0x75, 0x43, + 0xd2, 0x33, 0xc5, 0xb3, 0x92, 0x61, 0xd9, 0xb0, 0x4c, 0x59, 0xea, 0x8f, 0xfc, 0xa1, 0x9b, 0xfa, + 0x8c, 0xf6, 0x1a, 0x62, 0x81, 0xc6, 0xe3, 0x6b, 0x7c, 0x9a, 0xc6, 0xcc, 0xcb, 0x86, 0x62, 0xcd, + 0x02, 0xae, 0x51, 0x79, 0x7c, 0xff, 0x91, 0x3b, 0x24, 0x2f, 0x9c, 0xfd, 0x5e, 0x13, 0xf7, 0x97, + 0xa4, 0xb5, 0x09, 0x1d, 0x76, 0x46, 0x49, 0xfc, 0x22, 0x21, 0xf1, 0x93, 0xbd, 0x5e, 0x4b, 0x3c, + 0x55, 0x59, 0xd6, 0x6d, 0x80, 0x61, 0x4c, 0xdc, 0x94, 0x3c, 0xf7, 0x43, 0xd2, 0x5b, 0xdc, 0x34, + 0xee, 0x74, 0x1d, 0x85, 0xc3, 0x35, 0x84, 0x24, 0x3c, 0x22, 0x71, 0x9f, 0x65, 0x34, 0xed, 0x2d, + 0x89, 0x05, 0x2a, 0xcb, 0x5a, 0x01, 0x93, 0xbc, 0xea, 0xb5, 0x85, 0x6a, 0x93, 0xbc, 0xb2, 0x36, + 0xa0, 0x95, 0xa4, 0x6e, 0x9a, 0x25, 0x3d, 0xd8, 0x34, 0xee, 0x34, 0x1d, 0x49, 0x59, 0x5b, 0xd0, + 0x15, 0x7a, 0x59, 0x6e, 0x4d, 0x47, 0x88, 0xe8, 0xcc, 0x02, 0xb1, 0xe7, 0xe7, 0x11, 0xe9, 0x2d, + 0x0b, 0x05, 0x25, 0xc3, 0xfe, 0x9b, 0x09, 0x37, 0x04, 0xee, 0x07, 0xc2, 0x80, 0x87, 0x59, 0x10, + 0x5c, 0xe2, 0x81, 0x0d, 0x68, 0x65, 0xb8, 0x1d, 0xc2, 0x2f, 0x29, 0xbe, 0x4f, 0xcc, 0x02, 0xb2, + 0x4f, 0x4e, 0x49, 0x20, 0x80, 0x6f, 0x3a, 0x25, 0xc3, 0xba, 0x09, 0x4b, 0x1f, 0x31, 0x9f, 0x0a, + 0x4c, 0x16, 0xc4, 0xc3, 0x82, 0xe6, 0xcf, 0xa8, 0x3f, 0x3c, 0xa1, 0xdc, 0xa5, 0x08, 0x77, 0x41, 0xab, 0x9e, 0x68, 0xe9, 0x9e, 0x78, 0x07, 0x56, 0xdc, 0x28, 0x3a, 0x70, 0xe9, 0x98, 0xc4, 0xb8, - 0xe8, 0xa2, 0xd0, 0x5b, 0xe1, 0x72, 0x7f, 0xf0, 0x95, 0x06, 0x2c, 0x8b, 0x87, 0x44, 0xc0, 0xdd, + 0xe9, 0xa2, 0xd0, 0x5b, 0xe1, 0x72, 0x7f, 0xf0, 0x9d, 0x06, 0x2c, 0x8b, 0x87, 0x44, 0xc0, 0xdd, 0x74, 0x14, 0x0e, 0xd7, 0xc3, 0x22, 0x12, 0x2b, 0x30, 0x22, 0xf2, 0x15, 0xae, 0xf4, 0x0a, 0xe4, - 0x5e, 0xb1, 0x7f, 0x6d, 0xc0, 0xca, 0x61, 0x76, 0x14, 0xf8, 0x43, 0x31, 0x81, 0x83, 0x56, 0x42, - 0x63, 0x68, 0xd0, 0xa8, 0x1b, 0x34, 0x67, 0x6f, 0xb0, 0xa1, 0x6f, 0x70, 0x03, 0x5a, 0x63, 0x42, - 0x3d, 0x12, 0x4b, 0xc0, 0x24, 0x25, 0x0d, 0x69, 0x16, 0x86, 0xfc, 0xd6, 0x84, 0xa5, 0xd7, 0x6c, + 0x5e, 0xb1, 0x7f, 0x6b, 0xc0, 0xca, 0x61, 0x76, 0x14, 0xf8, 0x43, 0xb1, 0x80, 0x83, 0x56, 0x42, + 0x63, 0x68, 0xd0, 0xa8, 0x07, 0x34, 0x67, 0x1f, 0xb0, 0xa1, 0x1f, 0x70, 0x03, 0x5a, 0x63, 0x42, + 0x3d, 0x12, 0x4b, 0xc0, 0x24, 0x25, 0x0d, 0x69, 0x16, 0x86, 0xfc, 0xde, 0x84, 0xa5, 0xd7, 0x6c, 0xc2, 0x26, 0x74, 0xa2, 0x63, 0x46, 0xc9, 0xd3, 0x8c, 0x07, 0x8d, 0xb4, 0x45, 0x65, 0x59, 0x6f, 0x41, 0xf3, 0xc8, 0x8f, 0xd3, 0x63, 0xe1, 0xb5, 0xae, 0x83, 0x04, 0xe7, 0x92, 0xd0, 0xf5, 0xd1, - 0x55, 0x6d, 0x07, 0x09, 0xb9, 0xa1, 0xa5, 0x22, 0xde, 0xf5, 0x0c, 0x6a, 0xd7, 0x32, 0xa8, 0xee, + 0x55, 0x6d, 0x07, 0x09, 0x79, 0xa0, 0xa5, 0x22, 0xde, 0xf5, 0x0c, 0x6a, 0xd7, 0x32, 0xa8, 0xee, 0x79, 0x98, 0xe6, 0x79, 0xfb, 0xbf, 0x06, 0xc0, 0xc3, 0xd8, 0x27, 0xd4, 0x13, 0xd0, 0x54, 0x52, 0xd7, 0xa8, 0xa7, 0xee, 0x06, 0xb4, 0x62, 0x12, 0xba, 0xf1, 0x49, 0x1e, 0xda, 0x48, 0x55, 0x0c, - 0x6a, 0xd4, 0x0c, 0x7a, 0x0f, 0x60, 0x24, 0xd6, 0xe1, 0x7a, 0x04, 0x54, 0x9d, 0xbb, 0x5f, 0xd8, - 0xae, 0x15, 0xb9, 0xed, 0xdc, 0x4b, 0x8e, 0x32, 0x9d, 0xe7, 0x8d, 0xeb, 0x79, 0x32, 0x3c, 0x9b, - 0x98, 0x37, 0x05, 0x63, 0x4a, 0x74, 0xb6, 0x2e, 0x88, 0xce, 0xc5, 0x22, 0x28, 0xfe, 0x65, 0x40, - 0x7b, 0x37, 0x70, 0x87, 0x27, 0x73, 0x6e, 0x5d, 0xdf, 0xa2, 0x59, 0xdb, 0xe2, 0x23, 0xe8, 0x1e, - 0x71, 0x75, 0xf9, 0x16, 0x04, 0x0a, 0x9d, 0xbb, 0x5f, 0x9a, 0xb2, 0x4b, 0x3d, 0x29, 0x1c, 0x5d, - 0x4e, 0xdf, 0xee, 0xc2, 0xe5, 0xdb, 0x6d, 0x5e, 0xb0, 0xdd, 0x56, 0xb1, 0xdd, 0x7f, 0x98, 0xb0, - 0x2c, 0xca, 0x98, 0x43, 0x26, 0x19, 0x49, 0x52, 0xeb, 0xfb, 0xb0, 0x94, 0xe5, 0xa6, 0x1a, 0xf3, - 0x9a, 0x5a, 0x88, 0x58, 0xf7, 0x64, 0xd1, 0x14, 0xf2, 0xa6, 0x90, 0xbf, 0x35, 0x45, 0xbe, 0x38, - 0xb1, 0x9c, 0x72, 0x3a, 0x3f, 0x60, 0x8e, 0x5d, 0xea, 0x05, 0xc4, 0x21, 0x49, 0x16, 0xa4, 0xb2, - 0x16, 0x6a, 0x3c, 0x8c, 0xb4, 0xc9, 0x41, 0x32, 0x96, 0xc7, 0x8f, 0xa4, 0x38, 0x3a, 0x38, 0x8f, - 0x0f, 0xe1, 0xd6, 0x4b, 0x06, 0x4f, 0xd4, 0x98, 0x4c, 0x84, 0x87, 0x30, 0xad, 0x72, 0xb2, 0x5c, - 0x53, 0xa2, 0x86, 0x81, 0xa0, 0xf1, 0xb8, 0x8b, 0x91, 0x16, 0x0a, 0xf0, 0xdc, 0x51, 0x38, 0xd5, - 0x63, 0xc7, 0xfe, 0x67, 0x03, 0xba, 0x98, 0x3e, 0x39, 0xa8, 0xb7, 0x79, 0x9c, 0xb3, 0x50, 0x8b, - 0x22, 0x85, 0xc3, 0xad, 0xe0, 0xd4, 0x53, 0xbd, 0xd0, 0x68, 0x3c, 0x1e, 0x8a, 0x9c, 0x7e, 0xa8, - 0x15, 0x1c, 0x95, 0x95, 0xaf, 0xf2, 0x48, 0x2d, 0x3c, 0x0a, 0x87, 0x97, 0xb2, 0x94, 0x69, 0xd1, - 0x51, 0xd0, 0x5c, 0x36, 0x65, 0xc5, 0xfa, 0x18, 0x1f, 0x0a, 0x87, 0xe3, 0x9b, 0xb2, 0x7c, 0x6d, - 0x04, 0xa9, 0x64, 0xa0, 0x66, 0xb9, 0x2e, 0x1e, 0x14, 0x05, 0x5d, 0xf3, 0x6a, 0xfb, 0x42, 0xaf, - 0x82, 0xe6, 0x55, 0x3d, 0xb9, 0x3a, 0xb5, 0xe4, 0xda, 0x82, 0x2e, 0xea, 0xc9, 0x83, 0x7e, 0x19, - 0x0f, 0x72, 0x8d, 0xa9, 0xc7, 0x46, 0xb7, 0x1a, 0x1b, 0xba, 0x77, 0x57, 0x66, 0x78, 0x77, 0xb5, - 0xf0, 0xee, 0x2f, 0xa0, 0x77, 0x98, 0x05, 0xc1, 0x01, 0x49, 0x12, 0x77, 0x4c, 0x76, 0xcf, 0x07, - 0x64, 0xb2, 0xef, 0x27, 0xa9, 0x43, 0x92, 0x88, 0xc7, 0x19, 0x89, 0xe3, 0x3e, 0xf3, 0x88, 0x70, - 0x72, 0xd3, 0xc9, 0x49, 0xbe, 0x43, 0x12, 0xc7, 0xdc, 0x00, 0x59, 0x21, 0x91, 0xb2, 0xb6, 0x61, - 0x21, 0xf0, 0x13, 0x1e, 0xeb, 0x8d, 0x3b, 0x9d, 0xbb, 0x37, 0xa7, 0xa4, 0xca, 0x41, 0x32, 0xde, - 0x73, 0x53, 0xd7, 0x11, 0xf3, 0xec, 0x10, 0x3e, 0x37, 0x7d, 0xf5, 0xc9, 0xcc, 0x13, 0x8c, 0xd7, - 0x30, 0x51, 0x04, 0x7c, 0x46, 0x8b, 0xe6, 0x43, 0x65, 0x71, 0xb3, 0x13, 0xd4, 0x23, 0xec, 0xe8, - 0x3a, 0x39, 0x69, 0xbf, 0x05, 0xd6, 0x23, 0x92, 0x1e, 0xb8, 0xaf, 0x76, 0xa8, 0x77, 0xe0, 0xd3, - 0x01, 0x99, 0x38, 0x64, 0x62, 0x3f, 0x80, 0x1b, 0x35, 0x6e, 0x12, 0x71, 0x03, 0x42, 0xf7, 0xd5, - 0x80, 0x4c, 0x84, 0x01, 0x5d, 0x47, 0x52, 0x82, 0x2f, 0x66, 0xc9, 0xf2, 0x28, 0x29, 0x7b, 0x02, - 0xab, 0xdc, 0x43, 0x03, 0x42, 0xbd, 0x83, 0x64, 0x2c, 0x54, 0x6c, 0x42, 0x07, 0x11, 0x38, 0x48, - 0xc6, 0x65, 0xbd, 0x55, 0x58, 0x7c, 0xc6, 0x30, 0xf0, 0x09, 0x4d, 0x71, 0x86, 0xdc, 0x8d, 0xc2, - 0xe2, 0xc1, 0x98, 0x10, 0xea, 0x15, 0x47, 0x4e, 0xc3, 0x29, 0x68, 0xfb, 0x6f, 0x4d, 0x58, 0x94, - 0x80, 0x8a, 0xee, 0x90, 0x1f, 0x71, 0x05, 0x5e, 0x48, 0x61, 0x30, 0x0e, 0x4f, 0xcb, 0x3e, 0x0d, - 0x29, 0xb5, 0xb3, 0x6b, 0xe8, 0x9d, 0x5d, 0xc5, 0xa6, 0x85, 0xba, 0x4d, 0x95, 0x7d, 0x35, 0xeb, - 0xfb, 0xfa, 0x2a, 0xac, 0x25, 0x22, 0x61, 0x0e, 0x03, 0x37, 0x1d, 0xb1, 0x38, 0x94, 0x27, 0x56, - 0xd3, 0xa9, 0xf1, 0x79, 0xb1, 0x47, 0x5e, 0x91, 0xb0, 0x98, 0x91, 0x15, 0x2e, 0x4f, 0x0f, 0xe4, - 0xe4, 0x89, 0x8b, 0xad, 0x82, 0xce, 0x44, 0xdb, 0x92, 0xc4, 0x67, 0x54, 0x74, 0xba, 0x98, 0x9f, - 0x2a, 0x8b, 0xef, 0x3c, 0x4c, 0xc6, 0x0f, 0x63, 0x16, 0xca, 0x86, 0x21, 0x27, 0xc5, 0xce, 0x19, - 0x4d, 0x09, 0x4d, 0x85, 0x6c, 0x07, 0x65, 0x15, 0x16, 0x97, 0x95, 0xa4, 0x48, 0xce, 0x65, 0x27, - 0x27, 0xad, 0x35, 0x68, 0x24, 0x64, 0x22, 0x33, 0x8e, 0xff, 0xd4, 0x3c, 0xb7, 0xaa, 0x7b, 0xae, - 0x52, 0x0a, 0xd6, 0xc4, 0xa8, 0x5a, 0x0a, 0xca, 0x5e, 0x7f, 0x5d, 0xeb, 0xf5, 0x77, 0x60, 0x91, - 0x45, 0x3c, 0xce, 0x93, 0x9e, 0x25, 0x72, 0xec, 0xcb, 0xb3, 0x73, 0x6c, 0xfb, 0x19, 0xce, 0x7c, - 0x40, 0xd3, 0xf8, 0xdc, 0xc9, 0xe5, 0xac, 0x7d, 0x58, 0x65, 0xa3, 0x51, 0xe0, 0x53, 0x72, 0x98, - 0x25, 0xc7, 0xe2, 0x64, 0xbb, 0x21, 0x4e, 0x36, 0x7b, 0x8a, 0xaa, 0x67, 0xfa, 0x4c, 0xa7, 0x2a, - 0x7a, 0xf3, 0x1e, 0x2c, 0xab, 0xcb, 0x70, 0x18, 0x4e, 0xc8, 0xb9, 0x8c, 0x41, 0xfe, 0x93, 0x37, - 0x7b, 0xa7, 0x6e, 0x90, 0xe1, 0x31, 0xb0, 0xe4, 0x20, 0x71, 0xcf, 0xfc, 0x8e, 0x61, 0xff, 0xc6, - 0x80, 0xd5, 0xca, 0x02, 0x7c, 0x76, 0xea, 0xa7, 0x01, 0x91, 0x1a, 0x90, 0xb0, 0x2c, 0x58, 0xf0, - 0x48, 0x32, 0x94, 0x21, 0x2c, 0x7e, 0xcb, 0x4a, 0xd6, 0x28, 0xda, 0x45, 0x7e, 0xa1, 0x7b, 0x36, - 0xe0, 0x8a, 0x06, 0x2c, 0xa3, 0x5e, 0x71, 0xa1, 0x53, 0x78, 0x3c, 0x84, 0xfc, 0x67, 0x83, 0x5d, - 0xd7, 0x1b, 0x13, 0xbc, 0x76, 0x35, 0x85, 0x4d, 0x3a, 0xd3, 0xf6, 0x60, 0xe9, 0xb9, 0x1f, 0x25, - 0x7d, 0x16, 0x86, 0xdc, 0x11, 0x1e, 0x49, 0x79, 0xaf, 0x6a, 0x08, 0x7f, 0x4b, 0x8a, 0x87, 0x8a, - 0x47, 0x46, 0x6e, 0x16, 0xa4, 0x7c, 0x6a, 0x9e, 0xb8, 0x0a, 0x4b, 0x5c, 0x38, 0x12, 0x46, 0xf7, - 0x50, 0x1a, 0xed, 0x54, 0x38, 0xf6, 0xdf, 0x4d, 0x58, 0x13, 0x8d, 0x43, 0x5f, 0xb8, 0xdd, 0x13, - 0x42, 0x77, 0xa1, 0x29, 0xd2, 0x50, 0x36, 0x2b, 0x17, 0x37, 0x1b, 0x38, 0xd5, 0xba, 0x0f, 0x2d, - 0x16, 0x89, 0x96, 0x13, 0x3b, 0x94, 0x77, 0x66, 0x09, 0xe9, 0x77, 0x3b, 0x47, 0x4a, 0x59, 0x0f, - 0x01, 0xf0, 0xda, 0xb9, 0x5f, 0x96, 0xee, 0x79, 0x75, 0x28, 0x92, 0x1c, 0xdc, 0xa2, 0x0c, 0x17, - 0x17, 0xbc, 0x86, 0xa3, 0x33, 0xad, 0xa7, 0xb0, 0x22, 0xcc, 0x7e, 0x96, 0x77, 0x9d, 0xc2, 0x07, - 0xf3, 0xaf, 0x58, 0x91, 0xb6, 0x3f, 0x36, 0x24, 0x8c, 0x7c, 0x74, 0x40, 0x10, 0xfb, 0x12, 0x12, - 0xe3, 0x4a, 0x90, 0xdc, 0x84, 0xa5, 0x30, 0x53, 0x9a, 0xe0, 0x86, 0x53, 0xd0, 0xa5, 0x8b, 0x1a, - 0x73, 0xbb, 0xc8, 0xfe, 0xbd, 0x01, 0xbd, 0xf7, 0x99, 0x4f, 0xc5, 0xc0, 0x4e, 0x14, 0x05, 0xf2, - 0x15, 0xe2, 0xca, 0x3e, 0xff, 0x01, 0xb4, 0x5d, 0x54, 0x43, 0x53, 0xe9, 0xf6, 0x39, 0x1a, 0xdb, - 0x52, 0x46, 0xe9, 0x51, 0x1a, 0x6a, 0x8f, 0x62, 0xff, 0xc9, 0x80, 0x15, 0x04, 0xe5, 0x83, 0xcc, - 0x4f, 0xaf, 0x6c, 0xdf, 0x2e, 0x2c, 0x4d, 0x32, 0x3f, 0xbd, 0x42, 0x54, 0x16, 0x72, 0xf5, 0x78, - 0x6a, 0x4c, 0x89, 0x27, 0xfb, 0xcf, 0x06, 0xdc, 0xaa, 0xc2, 0xba, 0x33, 0x1c, 0x92, 0xe8, 0x4d, - 0xa6, 0x94, 0xd6, 0xa3, 0x2d, 0x54, 0x7a, 0xb4, 0xa9, 0x26, 0x3b, 0xe4, 0x23, 0x32, 0xfc, 0xf4, - 0x9a, 0xfc, 0x2b, 0x13, 0x3e, 0xff, 0xa8, 0x48, 0xbc, 0xe7, 0xb1, 0x4b, 0x93, 0x11, 0x89, 0xe3, - 0x37, 0x68, 0xef, 0x3e, 0x74, 0x29, 0x39, 0x2b, 0x6d, 0x92, 0xe9, 0x38, 0xaf, 0x1a, 0x5d, 0x78, - 0xbe, 0xda, 0x65, 0xff, 0xcf, 0x80, 0x35, 0xd4, 0xf3, 0x43, 0x7f, 0x78, 0xf2, 0x06, 0x37, 0xff, - 0x14, 0x56, 0x4e, 0x84, 0x05, 0x9c, 0xba, 0x42, 0xd9, 0xae, 0x48, 0xcf, 0xb9, 0xfd, 0xff, 0x1b, - 0xb0, 0x8e, 0x8a, 0x9e, 0xd0, 0x53, 0xff, 0x4d, 0x06, 0xeb, 0x21, 0xac, 0xfa, 0x68, 0xc2, 0x15, - 0x01, 0xa8, 0x8a, 0xcf, 0x89, 0xc0, 0x5f, 0x0c, 0x58, 0x45, 0x4d, 0x0f, 0x68, 0x4a, 0xe2, 0x2b, - 0xef, 0xff, 0x31, 0x74, 0x08, 0x4d, 0x63, 0x97, 0x5e, 0xa5, 0x42, 0xaa, 0xa2, 0x73, 0x16, 0xc9, - 0x13, 0x58, 0xc7, 0x2b, 0xbc, 0x52, 0x71, 0x78, 0x2f, 0xeb, 0x7a, 0xd8, 0x9e, 0x1a, 0x42, 0x28, - 0x27, 0xf5, 0xc7, 0x19, 0xf9, 0xba, 0x5e, 0x3e, 0xce, 0xdc, 0x06, 0x70, 0x3d, 0xef, 0x43, 0x16, - 0x7b, 0x3e, 0xcd, 0x8f, 0x0f, 0x85, 0x63, 0xbf, 0x0f, 0xcb, 0xbc, 0x9b, 0x7e, 0xae, 0x5c, 0xc6, - 0x2f, 0x7c, 0x2e, 0x50, 0x2f, 0xf2, 0xa6, 0x7e, 0x91, 0xb7, 0x7f, 0x06, 0x9f, 0xad, 0x19, 0x2e, - 0x50, 0xef, 0xe3, 0x1b, 0x43, 0xbe, 0x88, 0x04, 0xff, 0x8b, 0x53, 0x20, 0x54, 0x6d, 0x71, 0x34, - 0x21, 0xfb, 0x97, 0x06, 0xbc, 0x5d, 0x53, 0xbf, 0x13, 0x45, 0x31, 0x3b, 0x95, 0xc1, 0x7d, 0x1d, - 0xcb, 0xe8, 0xa5, 0xd5, 0xac, 0x96, 0xd6, 0xa9, 0x46, 0x68, 0xc7, 0xc1, 0x6b, 0x30, 0xe2, 0x0f, - 0x06, 0xac, 0x4a, 0x23, 0x3c, 0x4f, 0x2e, 0xfb, 0x6d, 0x68, 0xe1, 0xfb, 0xa4, 0x5c, 0xf0, 0xed, - 0xa9, 0x0b, 0xe6, 0xef, 0xaa, 0x8e, 0x9c, 0x5c, 0x8f, 0x48, 0x73, 0x5a, 0x1b, 0xf8, 0xdd, 0xa2, - 0x02, 0xcc, 0xfd, 0x82, 0x28, 0x05, 0xec, 0x1f, 0xe7, 0xc1, 0xbc, 0x47, 0x02, 0x72, 0x9d, 0x18, - 0xd9, 0x2f, 0x60, 0x45, 0x3c, 0x96, 0x96, 0x18, 0x5c, 0x8b, 0xda, 0x0f, 0x61, 0x4d, 0xa8, 0xbd, - 0x76, 0x7b, 0x8b, 0xec, 0xe0, 0xf8, 0xf4, 0x8f, 0x5d, 0x3a, 0xbe, 0x4e, 0xed, 0xdf, 0x80, 0x1b, - 0x39, 0xf6, 0x2f, 0x22, 0xaf, 0xb8, 0xa2, 0xcc, 0x78, 0x98, 0xb1, 0xbf, 0x09, 0x1b, 0x7d, 0x46, - 0x4f, 0x49, 0x9c, 0x08, 0x2f, 0xa3, 0x48, 0x2e, 0xa1, 0x25, 0xbf, 0xa4, 0xec, 0x01, 0xac, 0xcb, - 0x27, 0xc5, 0x43, 0x77, 0xec, 0x53, 0xac, 0x4a, 0xb7, 0x01, 0x22, 0x77, 0x9c, 0x7f, 0x52, 0xc0, - 0x77, 0x27, 0x85, 0xc3, 0xc7, 0x93, 0x63, 0x76, 0x26, 0xc7, 0x4d, 0x1c, 0x2f, 0x39, 0xf6, 0x8f, - 0xc0, 0x72, 0x48, 0x12, 0x31, 0x9a, 0x10, 0x45, 0xeb, 0x26, 0x74, 0xfa, 0x59, 0x1c, 0x13, 0xca, - 0x97, 0xca, 0xdf, 0xd7, 0x55, 0x16, 0xd7, 0x3b, 0x28, 0xf5, 0xe2, 0x5b, 0x85, 0xc2, 0xb1, 0x7f, - 0xd7, 0x80, 0xf6, 0xc0, 0x1f, 0x53, 0x37, 0x70, 0xc8, 0xc4, 0xfa, 0x1e, 0xb4, 0xf0, 0x04, 0x91, - 0xd0, 0x4e, 0xbb, 0x3b, 0xe3, 0x6c, 0x3c, 0x2a, 0x1d, 0x32, 0x79, 0xfc, 0x19, 0x47, 0xca, 0x58, - 0x1f, 0x40, 0x17, 0x7f, 0x3d, 0xc1, 0x1b, 0x81, 0x3c, 0x00, 0xbe, 0x72, 0x89, 0x12, 0x39, 0x1b, - 0x75, 0xe9, 0x1a, 0xb8, 0x41, 0x43, 0x97, 0x0e, 0xe5, 0x37, 0xb7, 0x8b, 0x0c, 0xea, 0x8b, 0x69, - 0xd2, 0x20, 0x94, 0xe1, 0xd2, 0xae, 0xe8, 0x99, 0xe5, 0x57, 0x8b, 0xd9, 0xd2, 0xd8, 0x5a, 0x4b, - 0x69, 0x94, 0xe1, 0xd2, 0xc7, 0x19, 0x1d, 0xbf, 0x88, 0xe4, 0x55, 0x6e, 0xb6, 0xf4, 0x63, 0x31, - 0x4d, 0x4a, 0xa3, 0x0c, 0x97, 0x8e, 0x45, 0xb5, 0x13, 0xa0, 0x5f, 0x24, 0x8d, 0x45, 0x51, 0x4a, - 0xa3, 0xcc, 0x6e, 0x1b, 0x16, 0x23, 0xf7, 0x3c, 0x60, 0xae, 0x67, 0xff, 0xb1, 0x01, 0x90, 0x4f, - 0x4c, 0x44, 0x8f, 0xa1, 0xb9, 0x68, 0xeb, 0x52, 0x17, 0x45, 0xc1, 0xb9, 0xe2, 0xa4, 0xc1, 0x74, - 0x27, 0x7d, 0x6d, 0x5e, 0x27, 0xa1, 0xb6, 0x8a, 0x9b, 0xee, 0x57, 0xdc, 0xb4, 0x75, 0xa9, 0x9b, - 0xa4, 0x51, 0xd2, 0x51, 0xf7, 0x2b, 0x8e, 0xda, 0xba, 0xd4, 0x51, 0x52, 0x5e, 0xba, 0xea, 0x7e, - 0xc5, 0x55, 0x5b, 0x97, 0xba, 0x4a, 0xca, 0x4b, 0x67, 0xdd, 0xaf, 0x38, 0x6b, 0xeb, 0x52, 0x67, - 0x49, 0xf9, 0xba, 0xbb, 0xfe, 0x6d, 0xc0, 0x8a, 0x80, 0x0c, 0xdf, 0x6d, 0xe9, 0x88, 0x89, 0xe7, - 0x19, 0x01, 0x97, 0xfe, 0x85, 0x4a, 0x67, 0x5a, 0x5f, 0x87, 0x75, 0x64, 0xc8, 0x2f, 0x1a, 0xa2, - 0xfd, 0x33, 0x37, 0x1b, 0x77, 0xda, 0x4e, 0x7d, 0x40, 0xbc, 0xb4, 0x65, 0x49, 0xca, 0xc2, 0x3d, - 0x37, 0x75, 0xf3, 0x6e, 0xa5, 0xe4, 0xa8, 0xef, 0xa0, 0x0b, 0xb5, 0x2f, 0xdc, 0x31, 0x63, 0x61, - 0xf1, 0xc0, 0x29, 0x29, 0x2e, 0x91, 0xfa, 0x21, 0x61, 0x59, 0x2a, 0xcb, 0x44, 0x4e, 0xf2, 0x33, - 0x36, 0x24, 0x9e, 0xef, 0x8a, 0xd7, 0x43, 0xf9, 0x59, 0xa1, 0x60, 0xd8, 0x1f, 0x1b, 0xb0, 0x5a, - 0xa9, 0x09, 0xd6, 0x0e, 0x80, 0x5f, 0x60, 0x70, 0xc1, 0x17, 0x2a, 0x1d, 0x28, 0x47, 0x11, 0x9a, - 0xf6, 0x9e, 0x67, 0x5e, 0xf9, 0x3d, 0xcf, 0xee, 0xc3, 0x7a, 0x2d, 0x29, 0xc4, 0xa3, 0x1c, 0x3b, - 0x21, 0xb4, 0x78, 0x94, 0xe3, 0x04, 0xc7, 0x21, 0xf0, 0x4f, 0xd5, 0xef, 0xc5, 0x92, 0xe4, 0xdd, - 0xc4, 0xc6, 0xf4, 0xc2, 0xf5, 0xe9, 0xdb, 0xf0, 0x11, 0xf4, 0x66, 0xa5, 0xef, 0x8c, 0x7d, 0x97, - 0x71, 0x61, 0x56, 0xe3, 0x62, 0x06, 0x1e, 0x3f, 0xcf, 0x1d, 0x5f, 0xd4, 0xde, 0x39, 0x43, 0x7d, - 0x57, 0x43, 0xcb, 0x9c, 0xf7, 0xa8, 0x51, 0xe1, 0xb2, 0x6f, 0xe4, 0x1e, 0x55, 0x2a, 0x4a, 0x69, - 0x51, 0x51, 0xcf, 0x4b, 0x8b, 0xc8, 0x34, 0x8b, 0xc8, 0x35, 0x5a, 0xf4, 0xd3, 0xdc, 0x22, 0xa5, - 0x46, 0x5d, 0x1b, 0xd6, 0x61, 0xbe, 0xb3, 0xe2, 0xac, 0x99, 0xd5, 0x7f, 0x5c, 0x2f, 0xba, 0x4a, - 0xbd, 0x2c, 0xd1, 0x2d, 0x4e, 0xac, 0xd7, 0x88, 0x6e, 0x61, 0x91, 0x52, 0x81, 0x77, 0x6f, 0xfd, - 0xe4, 0xe6, 0xf6, 0xbb, 0xf8, 0xff, 0xab, 0xf7, 0x6a, 0xea, 0x8e, 0x5a, 0xe2, 0xff, 0x58, 0xdf, - 0xfa, 0x24, 0x00, 0x00, 0xff, 0xff, 0x09, 0x99, 0x1f, 0x27, 0xa2, 0x25, 0x00, 0x00, + 0x6a, 0xd4, 0x0c, 0x7a, 0x0f, 0x60, 0x24, 0xf6, 0xe1, 0x7a, 0x04, 0x54, 0x9d, 0xbb, 0x5f, 0xda, + 0xae, 0x15, 0xb9, 0xed, 0xdc, 0x4b, 0x8e, 0xb2, 0x9c, 0xe7, 0x8d, 0xeb, 0x79, 0x32, 0x3c, 0x9b, + 0x98, 0x37, 0x05, 0x63, 0x4a, 0x74, 0xb6, 0x2e, 0x88, 0xce, 0xc5, 0x22, 0x28, 0xfe, 0x6d, 0x40, + 0x7b, 0x37, 0x70, 0x87, 0x27, 0x73, 0x1e, 0x5d, 0x3f, 0xa2, 0x59, 0x3b, 0xe2, 0x23, 0xe8, 0x1e, + 0x71, 0x75, 0xf9, 0x11, 0x04, 0x0a, 0x9d, 0xbb, 0x5f, 0x99, 0x72, 0x4a, 0x3d, 0x29, 0x1c, 0x5d, + 0x4e, 0x3f, 0xee, 0xc2, 0xe5, 0xc7, 0x6d, 0x5e, 0x70, 0xdc, 0x56, 0x71, 0xdc, 0x7f, 0x9a, 0xb0, + 0x2c, 0xca, 0x98, 0x43, 0x26, 0x19, 0x49, 0x52, 0xeb, 0x87, 0xb0, 0x94, 0xe5, 0xa6, 0x1a, 0xf3, + 0x9a, 0x5a, 0x88, 0x58, 0xf7, 0x64, 0xd1, 0x14, 0xf2, 0xa6, 0x90, 0xbf, 0x35, 0x45, 0xbe, 0xb8, + 0xb1, 0x9c, 0x72, 0x39, 0xbf, 0x60, 0x8e, 0x5d, 0xea, 0x05, 0xc4, 0x21, 0x49, 0x16, 0xa4, 0xb2, + 0x16, 0x6a, 0x3c, 0x8c, 0xb4, 0xc9, 0x41, 0x32, 0x96, 0xd7, 0x8f, 0xa4, 0x38, 0x3a, 0xb8, 0x8e, + 0x3f, 0xc2, 0xa3, 0x97, 0x0c, 0x9e, 0xa8, 0x31, 0x99, 0x08, 0x0f, 0x61, 0x5a, 0xe5, 0x64, 0xb9, + 0xa7, 0x44, 0x0d, 0x03, 0x41, 0xe3, 0x71, 0x17, 0x23, 0x2d, 0x14, 0xe0, 0xbd, 0xa3, 0x70, 0xaa, + 0xd7, 0x8e, 0xfd, 0xaf, 0x06, 0x74, 0x31, 0x7d, 0x72, 0x50, 0x6f, 0xf3, 0x38, 0x67, 0xa1, 0x16, + 0x45, 0x0a, 0x87, 0x5b, 0xc1, 0xa9, 0xa7, 0x7a, 0xa1, 0xd1, 0x78, 0x3c, 0x14, 0x39, 0xfd, 0x50, + 0x2b, 0x38, 0x2a, 0x2b, 0xdf, 0xe5, 0x91, 0x5a, 0x78, 0x14, 0x0e, 0x2f, 0x65, 0x29, 0xd3, 0xa2, + 0xa3, 0xa0, 0xb9, 0x6c, 0xca, 0x8a, 0xfd, 0x31, 0x3e, 0x14, 0x0e, 0xc7, 0x37, 0x65, 0xf9, 0xde, + 0x08, 0x52, 0xc9, 0x40, 0xcd, 0x72, 0x5f, 0xbc, 0x28, 0x0a, 0xba, 0xe6, 0xd5, 0xf6, 0x85, 0x5e, + 0x05, 0xcd, 0xab, 0x7a, 0x72, 0x75, 0x6a, 0xc9, 0xb5, 0x05, 0x5d, 0xd4, 0x93, 0x07, 0xfd, 0x32, + 0x5e, 0xe4, 0x1a, 0x53, 0x8f, 0x8d, 0x6e, 0x35, 0x36, 0x74, 0xef, 0xae, 0xcc, 0xf0, 0xee, 0x6a, + 0xe1, 0xdd, 0x5f, 0x41, 0xef, 0x30, 0x0b, 0x82, 0x03, 0x92, 0x24, 0xee, 0x98, 0xec, 0x9e, 0x0f, + 0xc8, 0x64, 0xdf, 0x4f, 0x52, 0x87, 0x24, 0x11, 0x8f, 0x33, 0x12, 0xc7, 0x7d, 0xe6, 0x11, 0xe1, + 0xe4, 0xa6, 0x93, 0x93, 0xfc, 0x84, 0x24, 0x8e, 0xb9, 0x01, 0xb2, 0x42, 0x22, 0x65, 0x6d, 0xc3, + 0x42, 0xe0, 0x27, 0x3c, 0xd6, 0x1b, 0x77, 0x3a, 0x77, 0x6f, 0x4e, 0x49, 0x95, 0x83, 0x64, 0xbc, + 0xe7, 0xa6, 0xae, 0x23, 0xd6, 0xd9, 0x21, 0x7c, 0x61, 0xfa, 0xee, 0x93, 0x99, 0x37, 0x18, 0xaf, + 0x61, 0xa2, 0x08, 0xf8, 0x8c, 0x16, 0xcd, 0x87, 0xca, 0xe2, 0x66, 0x27, 0xa8, 0x47, 0xd8, 0xd1, + 0x75, 0x72, 0xd2, 0x7e, 0x0b, 0xac, 0x47, 0x24, 0x3d, 0x70, 0x5f, 0xed, 0x50, 0xef, 0xc0, 0xa7, + 0x03, 0x32, 0x71, 0xc8, 0xc4, 0x7e, 0x00, 0x37, 0x6a, 0xdc, 0x24, 0xe2, 0x06, 0x84, 0xee, 0xab, + 0x01, 0x99, 0x08, 0x03, 0xba, 0x8e, 0xa4, 0x04, 0x5f, 0xac, 0x92, 0xe5, 0x51, 0x52, 0xf6, 0x04, + 0x56, 0xb9, 0x87, 0x06, 0x84, 0x7a, 0x07, 0xc9, 0x58, 0xa8, 0xd8, 0x84, 0x0e, 0x22, 0x70, 0x90, + 0x8c, 0xcb, 0x7a, 0xab, 0xb0, 0xf8, 0x8a, 0x61, 0xe0, 0x13, 0x9a, 0xe2, 0x0a, 0x79, 0x1a, 0x85, + 0xc5, 0x83, 0x31, 0x21, 0xd4, 0x2b, 0xae, 0x9c, 0x86, 0x53, 0xd0, 0xf6, 0xdf, 0x9b, 0xb0, 0x28, + 0x01, 0x15, 0xdd, 0x21, 0xbf, 0xe2, 0x0a, 0xbc, 0x90, 0xc2, 0x60, 0x1c, 0x9e, 0x96, 0x7d, 0x1a, + 0x52, 0x6a, 0x67, 0xd7, 0xd0, 0x3b, 0xbb, 0x8a, 0x4d, 0x0b, 0x75, 0x9b, 0x2a, 0xe7, 0x6a, 0xd6, + 0xcf, 0xf5, 0x75, 0x58, 0x4b, 0x44, 0xc2, 0x1c, 0x06, 0x6e, 0x3a, 0x62, 0x71, 0x28, 0x6f, 0xac, + 0xa6, 0x53, 0xe3, 0xf3, 0x62, 0x8f, 0xbc, 0x22, 0x61, 0x31, 0x23, 0x2b, 0x5c, 0x9e, 0x1e, 0xc8, + 0xc9, 0x13, 0x17, 0x5b, 0x05, 0x9d, 0x89, 0xb6, 0x25, 0x89, 0xcf, 0xa8, 0xe8, 0x74, 0x31, 0x3f, + 0x55, 0x16, 0x3f, 0x79, 0x98, 0x8c, 0x1f, 0xc6, 0x2c, 0x94, 0x0d, 0x43, 0x4e, 0x8a, 0x93, 0x33, + 0x9a, 0x12, 0x9a, 0x0a, 0xd9, 0x0e, 0xca, 0x2a, 0x2c, 0x2e, 0x2b, 0x49, 0x91, 0x9c, 0xcb, 0x4e, + 0x4e, 0x5a, 0x6b, 0xd0, 0x48, 0xc8, 0x44, 0x66, 0x1c, 0xff, 0xa9, 0x79, 0x6e, 0x55, 0xf7, 0x5c, + 0xa5, 0x14, 0xac, 0x89, 0xa7, 0x6a, 0x29, 0x28, 0x7b, 0xfd, 0x75, 0xad, 0xd7, 0xdf, 0x81, 0x45, + 0x16, 0xf1, 0x38, 0x4f, 0x7a, 0x96, 0xc8, 0xb1, 0xaf, 0xce, 0xce, 0xb1, 0xed, 0x67, 0xb8, 0xf2, + 0x01, 0x4d, 0xe3, 0x73, 0x27, 0x97, 0xb3, 0xf6, 0x61, 0x95, 0x8d, 0x46, 0x81, 0x4f, 0xc9, 0x61, + 0x96, 0x1c, 0x8b, 0x9b, 0xed, 0x86, 0xb8, 0xd9, 0xec, 0x29, 0xaa, 0x9e, 0xe9, 0x2b, 0x9d, 0xaa, + 0xe8, 0xcd, 0x7b, 0xb0, 0xac, 0x6e, 0xc3, 0x61, 0x38, 0x21, 0xe7, 0x32, 0x06, 0xf9, 0x4f, 0xde, + 0xec, 0x9d, 0xba, 0x41, 0x86, 0xd7, 0xc0, 0x92, 0x83, 0xc4, 0x3d, 0xf3, 0x7b, 0x86, 0xfd, 0x3b, + 0x03, 0x56, 0x2b, 0x1b, 0xf0, 0xd5, 0xa9, 0x9f, 0x06, 0x44, 0x6a, 0x40, 0xc2, 0xb2, 0x60, 0xc1, + 0x23, 0xc9, 0x50, 0x86, 0xb0, 0xf8, 0x2d, 0x2b, 0x59, 0xa3, 0x68, 0x17, 0xf9, 0x0b, 0xdd, 0xb3, + 0x01, 0x57, 0x34, 0x60, 0x19, 0xf5, 0x8a, 0x17, 0x3a, 0x85, 0xc7, 0x43, 0xc8, 0x7f, 0x36, 0xd8, + 0x75, 0xbd, 0x31, 0xc1, 0xd7, 0xae, 0xa6, 0xb0, 0x49, 0x67, 0xda, 0x1e, 0x2c, 0x3d, 0xf7, 0xa3, + 0xa4, 0xcf, 0xc2, 0x90, 0x3b, 0xc2, 0x23, 0x29, 0xef, 0x55, 0x0d, 0xe1, 0x6f, 0x49, 0xf1, 0x50, + 0xf1, 0xc8, 0xc8, 0xcd, 0x82, 0x94, 0x2f, 0xcd, 0x13, 0x57, 0x61, 0x89, 0x17, 0x8e, 0x84, 0xd1, + 0x3d, 0x94, 0x46, 0x3b, 0x15, 0x8e, 0xfd, 0x0f, 0x13, 0xd6, 0x44, 0xe3, 0xd0, 0x17, 0x6e, 0xf7, + 0x84, 0xd0, 0x5d, 0x68, 0x8a, 0x34, 0x94, 0xcd, 0xca, 0xc5, 0xcd, 0x06, 0x2e, 0xb5, 0xee, 0x43, + 0x8b, 0x45, 0xa2, 0xe5, 0xc4, 0x0e, 0xe5, 0x9d, 0x59, 0x42, 0xfa, 0xbb, 0x9d, 0x23, 0xa5, 0xac, + 0x87, 0x00, 0xf8, 0xda, 0xb9, 0x5f, 0x96, 0xee, 0x79, 0x75, 0x28, 0x92, 0x1c, 0xdc, 0xa2, 0x0c, + 0x17, 0x2f, 0x78, 0x0d, 0x47, 0x67, 0x5a, 0x4f, 0x61, 0x45, 0x98, 0xfd, 0x2c, 0xef, 0x3a, 0x85, + 0x0f, 0xe6, 0xdf, 0xb1, 0x22, 0x6d, 0x7f, 0x6c, 0x48, 0x18, 0xf9, 0xd3, 0x01, 0x41, 0xec, 0x4b, + 0x48, 0x8c, 0x2b, 0x41, 0x72, 0x13, 0x96, 0xc2, 0x4c, 0x69, 0x82, 0x1b, 0x4e, 0x41, 0x97, 0x2e, + 0x6a, 0xcc, 0xed, 0x22, 0xfb, 0x8f, 0x06, 0xf4, 0xde, 0x67, 0x3e, 0x15, 0x0f, 0x76, 0xa2, 0x28, + 0x90, 0x53, 0x88, 0x2b, 0xfb, 0xfc, 0x47, 0xd0, 0x76, 0x51, 0x0d, 0x4d, 0xa5, 0xdb, 0xe7, 0x68, + 0x6c, 0x4b, 0x19, 0xa5, 0x47, 0x69, 0xa8, 0x3d, 0x8a, 0xfd, 0x17, 0x03, 0x56, 0x10, 0x94, 0x0f, + 0x32, 0x3f, 0xbd, 0xb2, 0x7d, 0xbb, 0xb0, 0x34, 0xc9, 0xfc, 0xf4, 0x0a, 0x51, 0x59, 0xc8, 0xd5, + 0xe3, 0xa9, 0x31, 0x25, 0x9e, 0xec, 0x4f, 0x0c, 0xb8, 0x55, 0x85, 0x75, 0x67, 0x38, 0x24, 0xd1, + 0x9b, 0x4c, 0x29, 0xad, 0x47, 0x5b, 0xa8, 0xf4, 0x68, 0x53, 0x4d, 0x76, 0xc8, 0x47, 0x64, 0xf8, + 0xd9, 0x35, 0xf9, 0x37, 0x26, 0x7c, 0xf1, 0x51, 0x91, 0x78, 0xcf, 0x63, 0x97, 0x26, 0x23, 0x12, + 0xc7, 0x6f, 0xd0, 0xde, 0x7d, 0xe8, 0x52, 0x72, 0x56, 0xda, 0x24, 0xd3, 0x71, 0x5e, 0x35, 0xba, + 0xf0, 0x7c, 0xb5, 0xcb, 0xfe, 0x9f, 0x01, 0x6b, 0xa8, 0xe7, 0xc7, 0xfe, 0xf0, 0xe4, 0x0d, 0x1e, + 0xfe, 0x29, 0xac, 0x9c, 0x08, 0x0b, 0x38, 0x75, 0x85, 0xb2, 0x5d, 0x91, 0x9e, 0xf3, 0xf8, 0xff, + 0x37, 0x60, 0x1d, 0x15, 0x3d, 0xa1, 0xa7, 0xfe, 0x9b, 0x0c, 0xd6, 0x43, 0x58, 0xf5, 0xd1, 0x84, + 0x2b, 0x02, 0x50, 0x15, 0x9f, 0x13, 0x81, 0xbf, 0x1a, 0xb0, 0x8a, 0x9a, 0x1e, 0xd0, 0x94, 0xc4, + 0x57, 0x3e, 0xff, 0x63, 0xe8, 0x10, 0x9a, 0xc6, 0x2e, 0xbd, 0x4a, 0x85, 0x54, 0x45, 0xe7, 0x2c, + 0x92, 0x27, 0xb0, 0x8e, 0xaf, 0xf0, 0x4a, 0xc5, 0xe1, 0xbd, 0xac, 0xeb, 0x61, 0x7b, 0x6a, 0x08, + 0xa1, 0x9c, 0xd4, 0x87, 0x33, 0x72, 0xba, 0x5e, 0x0e, 0x67, 0x6e, 0x03, 0xb8, 0x9e, 0xf7, 0x21, + 0x8b, 0x3d, 0x9f, 0xe6, 0xd7, 0x87, 0xc2, 0xb1, 0xdf, 0x87, 0x65, 0xde, 0x4d, 0x3f, 0x57, 0x5e, + 0xc6, 0x2f, 0x1c, 0x17, 0xa8, 0x2f, 0xf2, 0xa6, 0xfe, 0x22, 0x6f, 0xff, 0x02, 0x3e, 0x5f, 0x33, + 0x5c, 0xa0, 0xde, 0xc7, 0x19, 0x43, 0xbe, 0x89, 0x04, 0xff, 0xcb, 0x53, 0x20, 0x54, 0x6d, 0x71, + 0x34, 0x21, 0xfb, 0xd7, 0x06, 0xbc, 0x5d, 0x53, 0xbf, 0x13, 0x45, 0x31, 0x3b, 0x95, 0xc1, 0x7d, + 0x1d, 0xdb, 0xe8, 0xa5, 0xd5, 0xac, 0x96, 0xd6, 0xa9, 0x46, 0x68, 0xd7, 0xc1, 0x6b, 0x30, 0xe2, + 0x4f, 0x06, 0xac, 0x4a, 0x23, 0x3c, 0x4f, 0x6e, 0xfb, 0x5d, 0x68, 0xe1, 0x7c, 0x52, 0x6e, 0xf8, + 0xf6, 0xd4, 0x0d, 0xf3, 0xb9, 0xaa, 0x23, 0x17, 0xd7, 0x23, 0xd2, 0x9c, 0xd6, 0x06, 0x7e, 0xbf, + 0xa8, 0x00, 0x73, 0x4f, 0x10, 0xa5, 0x80, 0xfd, 0xd3, 0x3c, 0x98, 0xf7, 0x48, 0x40, 0xae, 0x13, + 0x23, 0xfb, 0x05, 0xac, 0x88, 0x61, 0x69, 0x89, 0xc1, 0xb5, 0xa8, 0xfd, 0x10, 0xd6, 0x84, 0xda, + 0x6b, 0xb7, 0xb7, 0xc8, 0x0e, 0x8e, 0x4f, 0xff, 0xd8, 0xa5, 0xe3, 0xeb, 0xd4, 0xfe, 0x2d, 0xb8, + 0x91, 0x63, 0xff, 0x22, 0xf2, 0x8a, 0x57, 0x94, 0x19, 0x83, 0x19, 0xfb, 0xdb, 0xb0, 0xd1, 0x67, + 0xf4, 0x94, 0xc4, 0x89, 0xf0, 0x32, 0x8a, 0xe4, 0x12, 0x5a, 0xf2, 0x4b, 0xca, 0x1e, 0xc0, 0xba, + 0x1c, 0x29, 0x1e, 0xba, 0x63, 0x9f, 0x62, 0x55, 0xba, 0x0d, 0x10, 0xb9, 0xe3, 0xfc, 0x93, 0x02, + 0xce, 0x9d, 0x14, 0x0e, 0x7f, 0x9e, 0x1c, 0xb3, 0x33, 0xf9, 0xdc, 0xc4, 0xe7, 0x25, 0xc7, 0xfe, + 0x09, 0x58, 0x0e, 0x49, 0x22, 0x46, 0x13, 0xa2, 0x68, 0xdd, 0x84, 0x4e, 0x3f, 0x8b, 0x63, 0x42, + 0xf9, 0x56, 0xf9, 0x7c, 0x5d, 0x65, 0x71, 0xbd, 0x83, 0x52, 0x2f, 0xce, 0x2a, 0x14, 0x8e, 0xfd, + 0x87, 0x06, 0xb4, 0x07, 0xfe, 0x98, 0xba, 0x81, 0x43, 0x26, 0xd6, 0x0f, 0xa0, 0x85, 0x37, 0x88, + 0x84, 0x76, 0xda, 0xbb, 0x33, 0xae, 0xc6, 0xab, 0xd2, 0x21, 0x93, 0xc7, 0x9f, 0x73, 0xa4, 0x8c, + 0xf5, 0x01, 0x74, 0xf1, 0xd7, 0x13, 0x7c, 0x23, 0x90, 0x17, 0xc0, 0xd7, 0x2e, 0x51, 0x22, 0x57, + 0xa3, 0x2e, 0x5d, 0x03, 0x37, 0x68, 0xe8, 0xd2, 0xa1, 0xfc, 0xe6, 0x76, 0x91, 0x41, 0x7d, 0xb1, + 0x4c, 0x1a, 0x84, 0x32, 0x5c, 0xda, 0x15, 0x3d, 0xb3, 0xfc, 0x6a, 0x31, 0x5b, 0x1a, 0x5b, 0x6b, + 0x29, 0x8d, 0x32, 0x5c, 0xfa, 0x38, 0xa3, 0xe3, 0x17, 0x91, 0x7c, 0x95, 0x9b, 0x2d, 0xfd, 0x58, + 0x2c, 0x93, 0xd2, 0x28, 0xc3, 0xa5, 0x63, 0x51, 0xed, 0x04, 0xe8, 0x17, 0x49, 0x63, 0x51, 0x94, + 0xd2, 0x28, 0xb3, 0xdb, 0x86, 0xc5, 0xc8, 0x3d, 0x0f, 0x98, 0xeb, 0xd9, 0x7f, 0x6e, 0x00, 0xe4, + 0x0b, 0x13, 0xd1, 0x63, 0x68, 0x2e, 0xda, 0xba, 0xd4, 0x45, 0x51, 0x70, 0xae, 0x38, 0x69, 0x30, + 0xdd, 0x49, 0xdf, 0x98, 0xd7, 0x49, 0xa8, 0xad, 0xe2, 0xa6, 0xfb, 0x15, 0x37, 0x6d, 0x5d, 0xea, + 0x26, 0x69, 0x94, 0x74, 0xd4, 0xfd, 0x8a, 0xa3, 0xb6, 0x2e, 0x75, 0x94, 0x94, 0x97, 0xae, 0xba, + 0x5f, 0x71, 0xd5, 0xd6, 0xa5, 0xae, 0x92, 0xf2, 0xd2, 0x59, 0xf7, 0x2b, 0xce, 0xda, 0xba, 0xd4, + 0x59, 0x52, 0xbe, 0xee, 0xae, 0x4f, 0x4c, 0x58, 0x11, 0x90, 0xe1, 0xdc, 0x96, 0x8e, 0x98, 0x18, + 0xcf, 0x08, 0xb8, 0xf4, 0x2f, 0x54, 0x3a, 0xd3, 0xfa, 0x26, 0xac, 0x23, 0x43, 0x7e, 0xd1, 0x10, + 0xed, 0x9f, 0xb9, 0xd9, 0xb8, 0xd3, 0x76, 0xea, 0x0f, 0xc4, 0xa4, 0x2d, 0x4b, 0x52, 0x16, 0xee, + 0xb9, 0xa9, 0x9b, 0x77, 0x2b, 0x25, 0x47, 0x9d, 0x83, 0x2e, 0xd4, 0xbe, 0x70, 0xc7, 0x8c, 0x85, + 0xc5, 0x80, 0x53, 0x52, 0x5c, 0x22, 0xf5, 0x43, 0xc2, 0xb2, 0x54, 0x96, 0x89, 0x9c, 0xe4, 0x77, + 0x6c, 0x48, 0x3c, 0xdf, 0x15, 0xd3, 0x43, 0xf9, 0x59, 0xa1, 0x60, 0x70, 0x4b, 0x94, 0x69, 0xa8, + 0xfc, 0x02, 0xad, 0xcc, 0x41, 0x2f, 0x9d, 0x5c, 0xda, 0x1f, 0x1b, 0xb0, 0x5a, 0xa9, 0x2a, 0xd6, + 0x0e, 0x80, 0x5f, 0xa0, 0x78, 0xc1, 0x37, 0x2e, 0x1d, 0x6a, 0x47, 0x11, 0x9a, 0x36, 0x11, 0x34, + 0xaf, 0x3c, 0x11, 0xb4, 0xfb, 0xb0, 0x5e, 0x4b, 0x2b, 0x31, 0xd6, 0x63, 0x27, 0x84, 0x16, 0x63, + 0x3d, 0x4e, 0x70, 0x24, 0x03, 0xff, 0x54, 0xfd, 0xe2, 0x2c, 0x49, 0xde, 0x8f, 0x6c, 0x4c, 0x2f, + 0x7d, 0x9f, 0xbd, 0x03, 0x1f, 0x41, 0x6f, 0x56, 0x01, 0x98, 0x71, 0xee, 0x32, 0xb2, 0xcc, 0x6a, + 0x64, 0xcd, 0xc0, 0xe3, 0x97, 0xb9, 0xe3, 0x8b, 0xea, 0x3d, 0x67, 0xb2, 0xec, 0x6a, 0x68, 0x99, + 0xf3, 0x5e, 0x56, 0x2a, 0x5c, 0xf6, 0x8d, 0xdc, 0xa3, 0x4a, 0x4d, 0x2a, 0x2d, 0x2a, 0x6e, 0x84, + 0xd2, 0x22, 0x32, 0xcd, 0x22, 0x72, 0x8d, 0x16, 0xfd, 0x3c, 0xb7, 0x48, 0xa9, 0x72, 0xd7, 0x86, + 0x75, 0x98, 0x9f, 0xac, 0xb8, 0xad, 0x66, 0x75, 0x30, 0xd7, 0x8b, 0xae, 0x52, 0x71, 0x4b, 0x74, + 0x8b, 0x3b, 0xef, 0x35, 0xa2, 0x5b, 0x58, 0xa4, 0xd4, 0xf0, 0xdd, 0x5b, 0x3f, 0xbb, 0xb9, 0xfd, + 0x2e, 0xfe, 0x83, 0xeb, 0xbd, 0x9a, 0xba, 0xa3, 0x96, 0xf8, 0x47, 0xd7, 0x77, 0x3e, 0x0d, 0x00, + 0x00, 0xff, 0xff, 0x8a, 0xb0, 0x57, 0xc2, 0xe4, 0x25, 0x00, 0x00, } From 965dac5ff9eb2e0c97ebe6490276ed7897b68fbb Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 15:14:14 +0800 Subject: [PATCH 008/129] constant --- pkg/common/constant/constant.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 7e1971c64..d89ae677c 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -77,7 +77,11 @@ const ( MemberKickedNotification = 1508 MemberInvitedNotification = 1509 MemberEnterNotification = 1510 - NotificationEnd = 2000 + + SignalingNotificationBegin = 1600 + SignalingNotification = 1601 + SignalingNotificationEnd = 1699 + NotificationEnd = 2000 //MsgFrom UserMsgType = 100 From d60039454aa6df1ccdb718a139c9a63589a34329 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 16:04:49 +0800 Subject: [PATCH 009/129] add Signal message --- internal/msg_gateway/gate/logic.go | 35 ++++---- internal/msg_gateway/gate/validate.go | 124 +++++++++++++++++++++++++- 2 files changed, 140 insertions(+), 19 deletions(-) diff --git a/internal/msg_gateway/gate/logic.go b/internal/msg_gateway/gate/logic.go index 8e5fdcdac..8c40b8c81 100644 --- a/internal/msg_gateway/gate/logic.go +++ b/internal/msg_gateway/gate/logic.go @@ -199,15 +199,16 @@ func (ws *WServer) sendSignalMsgReq(conn *UserConn, m *Req) { sendMsgCount++ log.NewInfo(m.OperationID, "Ws call success to sendSignalMsgReq start", m.MsgIncr, m.ReqIdentifier, m.SendID) nReply := new(pbChat.SendMsgResp) - isPass, errCode, errMsg, pData := ws.argsValidate(m, constant.WSSendMsg) - if isPass { - data := pData.(sdk_ws.MsgData) + isPass, errCode, errMsg, pData := ws.argsValidate(m, constant.WSSendSignalMsg) + isPass2, errCode2, errMsg2, signalResp, msgData := ws.signalMessageAssemble(pData.(*sdk_ws.SignalReq)) + + if isPass && isPass2 { pbData := pbChat.SendMsgReq{ Token: m.Token, OperationID: m.OperationID, - MsgData: &data, + MsgData: msgData, } - log.NewInfo(m.OperationID, "Ws call success to sendSignalMsgReq middle", m.ReqIdentifier, m.SendID, m.MsgIncr, data) + log.NewInfo(m.OperationID, "Ws call success to sendSignalMsgReq middle", m.ReqIdentifier, m.SendID, m.MsgIncr, msgData) etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName) client := pbChat.NewChatClient(etcdConn) reply, err := client.SendMsg(context.Background(), &pbData) @@ -215,32 +216,30 @@ func (ws *WServer) sendSignalMsgReq(conn *UserConn, m *Req) { log.NewError(pbData.OperationID, "rpc sendMsg err", err.Error()) nReply.ErrCode = 200 nReply.ErrMsg = err.Error() - ws.sendSignalMsgResp(conn, m, nReply) + ws.sendSignalMsgResp(conn, 200, err.Error(), m, signalResp) } else { log.NewInfo(pbData.OperationID, "rpc call success to sendMsgReq", reply.String()) - ws.sendSignalMsgResp(conn, m, reply) + ws.sendSignalMsgResp(conn, 0, "", m, signalResp) } } else { - nReply.ErrCode = errCode - nReply.ErrMsg = errMsg - ws.sendSignalMsgResp(conn, m, nReply) + if isPass { + ws.sendSignalMsgResp(conn, errCode2, errMsg2, m, signalResp) + } else { + ws.sendSignalMsgResp(conn, errCode, errMsg, m, signalResp) + } } } -func (ws *WServer) sendSignalMsgResp(conn *UserConn, m *Req, pb *pbChat.SendMsgResp) { +func (ws *WServer) sendSignalMsgResp(conn *UserConn, errCode int32, errMsg string, m *Req, pb *sdk_ws.SignalResp) { // := make(map[string]interface{}) - var mReplyData sdk_ws.UserSendMsgResp - mReplyData.ClientMsgID = pb.GetClientMsgID() - mReplyData.ServerMsgID = pb.GetServerMsgID() - mReplyData.SendTime = pb.GetSendTime() - b, _ := proto.Marshal(&mReplyData) + b, _ := proto.Marshal(pb) mReply := Resp{ ReqIdentifier: m.ReqIdentifier, MsgIncr: m.MsgIncr, - ErrCode: pb.GetErrCode(), - ErrMsg: pb.GetErrMsg(), + ErrCode: errCode, + ErrMsg: errMsg, OperationID: m.OperationID, Data: b, } diff --git a/internal/msg_gateway/gate/validate.go b/internal/msg_gateway/gate/validate.go index ec4df9b77..76dbabd2a 100644 --- a/internal/msg_gateway/gate/validate.go +++ b/internal/msg_gateway/gate/validate.go @@ -7,9 +7,12 @@ package gate import ( + "Open_IM/internal/msg_gateway/gate/open_im_media" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/log" open_im_sdk "Open_IM/pkg/proto/sdk_ws" + "Open_IM/pkg/utils" + "errors" "github.com/golang/protobuf/proto" ) @@ -71,7 +74,7 @@ func (ws *WServer) argsValidate(m *Req, r int32) (isPass bool, errCode int32, er } return true, 0, "", data case constant.WSSendSignalMsg: - data := open_im_sdk.MsgData{} + data := open_im_sdk.SignalReq{} if err := proto.Unmarshal(m.Data, &data); err != nil { log.ErrorByKv("Decode Data struct err", "", "err", err.Error(), "reqIdentifier", r) return false, 203, err.Error(), nil @@ -113,3 +116,122 @@ func (ws *WServer) argsValidate(m *Req, r int32) (isPass bool, errCode int32, er //} else } + +func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq) (isPass bool, errCode int32, errMsg string, r *open_im_sdk.SignalResp, msgData *open_im_sdk.MsgData) { + var msg open_im_sdk.MsgData + var resp open_im_sdk.SignalResp + media := open_im_media.NewMedia() + msg.MsgFrom = constant.UserMsgType + msg.ContentType = constant.SignalingNotification + reqData, e := proto.Marshal(s) + if e != nil { + return false, 201, e.Error(), nil, nil + } + msg.Content = reqData + msg.CreateTime = utils.GetCurrentTimestampByMill() + options := make(map[string]bool, 6) + utils.SetSwitchFromOptions(options, constant.IsHistory, false) + utils.SetSwitchFromOptions(options, constant.IsPersistent, false) + utils.SetSwitchFromOptions(options, constant.IsSenderSync, false) + utils.SetSwitchFromOptions(options, constant.IsConversationUpdate, false) + utils.SetSwitchFromOptions(options, constant.IsUnreadCount, false) + utils.SetSwitchFromOptions(options, constant.IsOfflinePush, true) + msg.Options = options + switch payload := s.Payload.(type) { + case *open_im_sdk.SignalReq_Invite: + _, err := media.CreateRoom(payload.Invite.Invitation.RoomID) + if err != nil { + return false, 201, err.Error(), nil, nil + + } + token, err2 := media.GetJoinToken(payload.Invite.Invitation.RoomID, payload.Invite.Invitation.InviterUserID) + if err2 != nil { + return false, 201, err2.Error(), nil, nil + } + invite := open_im_sdk.SignalResp_Invite{&open_im_sdk.SignalInviteReply{ + Token: token, + LiveURL: media.GetUrl(), + }} + resp.Payload = &invite + msg.SenderPlatformID = payload.Invite.Invitation.PlatformID + msg.SessionType = payload.Invite.Invitation.SessionType + msg.OfflinePushInfo = payload.Invite.OfflinePushInfo + msg.SendID = payload.Invite.Invitation.InviterUserID + if len(payload.Invite.Invitation.InviteeUserIDList) > 0 { + msg.RecvID = payload.Invite.Invitation.InviteeUserIDList[0] + } else { + return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil + } + msg.ClientMsgID = utils.GetMsgID(payload.Invite.Invitation.InviterUserID) + return true, 0, "", &resp, &msg + case *open_im_sdk.SignalReq_InviteInGroup: + _, err := media.CreateRoom(payload.InviteInGroup.Invitation.RoomID) + if err != nil { + return false, 201, err.Error(), nil, nil + + } + token, err2 := media.GetJoinToken(payload.InviteInGroup.Invitation.RoomID, payload.InviteInGroup.Invitation.InviterUserID) + if err2 != nil { + return false, 201, err2.Error(), nil, nil + } + inviteGroup := open_im_sdk.SignalResp_InviteInGroup{&open_im_sdk.SignalInviteInGroupReply{ + RoomID: payload.InviteInGroup.Invitation.RoomID, + Token: token, + LiveURL: media.GetUrl(), + }} + resp.Payload = &inviteGroup + msg.SenderPlatformID = payload.InviteInGroup.Invitation.PlatformID + msg.SessionType = payload.InviteInGroup.Invitation.SessionType + msg.OfflinePushInfo = payload.InviteInGroup.OfflinePushInfo + msg.SendID = payload.InviteInGroup.Invitation.InviterUserID + if len(payload.InviteInGroup.Invitation.InviteeUserIDList) > 0 { + msg.GroupID = payload.InviteInGroup.Invitation.GroupID + } else { + return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil + } + msg.ClientMsgID = utils.GetMsgID(payload.InviteInGroup.Invitation.InviterUserID) + + return true, 0, "", &resp, &msg + case *open_im_sdk.SignalReq_Cancel: + // cancel:=open_im_sdk.SignalResp_Cancel{&open_im_sdk.SignalCancelReply{ + // }} + // resp.Payload = &cancel + // msg.OfflinePushInfo = payload.Cancel.Invitation.OfflinePushInfo + // msg.SendID = payload.Cancel.Invitation.Invitation.InviterUserID + // msg.SessionType = payload.Cancel.Invitation.Invitation.SessionType + // if len(payload.Cancel.Invitation.Invitation.InviteeUserIDList) > 0 { + // switch payload.Cancel.Invitation.Invitation.SessionType { + // case constant.SingleChatType: + // msg.RecvID = payload.Cancel.Invitation.Invitation.InviteeUserIDList[0] + // case constant.GroupChatType: + // msg.GroupID = payload.Cancel.Invitation.Invitation.GroupID + // } + // }else { + // return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil + // } + // msg.ClientMsgID = utils.GetMsgID(payload.Cancel.Invitation.Invitation.InviterUserID) + // return true, 0, "", &resp, &msg + //case *open_im_sdk.SignalReq_Accept: + // cancel:=open_im_sdk.SignalResp_Accept{&open_im_sdk.SignalCancelReply{ + // }} + // resp.Payload = &cancel + // msg.OfflinePushInfo = payload.Cancel.Invitation.OfflinePushInfo + // msg.SendID = payload.Cancel.Invitation.Invitation.InviterUserID + // msg.SessionType = payload.Cancel.Invitation.Invitation.SessionType + // if len(payload.Cancel.Invitation.Invitation.InviteeUserIDList) > 0 { + // switch payload.Cancel.Invitation.Invitation.SessionType { + // case constant.SingleChatType: + // msg.RecvID = payload.Cancel.Invitation.Invitation.InviteeUserIDList[0] + // case constant.GroupChatType: + // msg.GroupID = payload.Cancel.Invitation.Invitation.GroupID + // } + // }else { + // return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil + // } + // msg.ClientMsgID = utils.GetMsgID(payload.Cancel.Invitation.Invitation.InviterUserID) + // return true, 0, "", &resp, &msg + case *open_im_sdk.SignalReq_HungUp: + case *open_im_sdk.SignalReq_Reject: + } + return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil +} From 433fef99925a2f7bc9768279437b9b23b1f347c2 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 16:05:16 +0800 Subject: [PATCH 010/129] add Signal message --- .../msg_gateway/gate/open_im_media/room.go | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 internal/msg_gateway/gate/open_im_media/room.go diff --git a/internal/msg_gateway/gate/open_im_media/room.go b/internal/msg_gateway/gate/open_im_media/room.go new file mode 100644 index 000000000..0a394df48 --- /dev/null +++ b/internal/msg_gateway/gate/open_im_media/room.go @@ -0,0 +1,57 @@ +package open_im_media + +import ( + "context" + "github.com/livekit/protocol/livekit" + lksdk "github.com/livekit/server-sdk-go" + "time" + + "github.com/livekit/protocol/auth" +) + +const ( + MediaAddress = "ws://43.128.5.63:7880" + ApiKey = "" + ApiSecret = "" +) + +var roomClient *lksdk.RoomServiceClient + +type Media struct { + MediaAddress string + ApiKey string + ApiSecret string +} + +func NewMedia() *Media { + return &Media{MediaAddress: MediaAddress, + ApiKey: ApiKey, + ApiSecret: ApiSecret} +} +func (m *Media) GetUrl() string { + return m.MediaAddress +} +func (m *Media) GetJoinToken(room, identity string) (string, error) { + at := auth.NewAccessToken(m.ApiKey, m.ApiSecret) + grant := &auth.VideoGrant{ + RoomJoin: true, + Room: room, + } + at.AddGrant(grant). + SetIdentity(identity). + SetValidFor(time.Hour) + + return at.ToJWT() +} + +func init() { + roomClient = lksdk.NewRoomServiceClient(MediaAddress, ApiKey, ApiSecret) +} + +func (m *Media) CreateRoom(roomName string) (*livekit.Room, error) { + return roomClient.CreateRoom(context.Background(), &livekit.CreateRoomRequest{ + Name: roomName, + EmptyTimeout: 60 * 3, + }) + +} From 9659638f0cce83cd03d55b77ae7bfc84ee79f16a Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 16:33:59 +0800 Subject: [PATCH 011/129] add Signal message --- internal/msg_gateway/gate/logic.go | 3 +- internal/msg_gateway/gate/validate.go | 100 ++++++++++++++++---------- 2 files changed, 64 insertions(+), 39 deletions(-) diff --git a/internal/msg_gateway/gate/logic.go b/internal/msg_gateway/gate/logic.go index 8c40b8c81..b6c88da48 100644 --- a/internal/msg_gateway/gate/logic.go +++ b/internal/msg_gateway/gate/logic.go @@ -196,12 +196,10 @@ func (ws *WServer) sendMsgResp(conn *UserConn, m *Req, pb *pbChat.SendMsgResp) { } func (ws *WServer) sendSignalMsgReq(conn *UserConn, m *Req) { - sendMsgCount++ log.NewInfo(m.OperationID, "Ws call success to sendSignalMsgReq start", m.MsgIncr, m.ReqIdentifier, m.SendID) nReply := new(pbChat.SendMsgResp) isPass, errCode, errMsg, pData := ws.argsValidate(m, constant.WSSendSignalMsg) isPass2, errCode2, errMsg2, signalResp, msgData := ws.signalMessageAssemble(pData.(*sdk_ws.SignalReq)) - if isPass && isPass2 { pbData := pbChat.SendMsgReq{ Token: m.Token, @@ -224,6 +222,7 @@ func (ws *WServer) sendSignalMsgReq(conn *UserConn, m *Req) { } else { if isPass { + log.NewError(m.OperationID, isPass2, errCode2, errMsg2, *signalResp, *msgData) ws.sendSignalMsgResp(conn, errCode2, errMsg2, m, signalResp) } else { ws.sendSignalMsgResp(conn, errCode, errMsg, m, signalResp) diff --git a/internal/msg_gateway/gate/validate.go b/internal/msg_gateway/gate/validate.go index 76dbabd2a..7ec0a5dcb 100644 --- a/internal/msg_gateway/gate/validate.go +++ b/internal/msg_gateway/gate/validate.go @@ -193,45 +193,71 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq) (isPass bool, return true, 0, "", &resp, &msg case *open_im_sdk.SignalReq_Cancel: - // cancel:=open_im_sdk.SignalResp_Cancel{&open_im_sdk.SignalCancelReply{ - // }} - // resp.Payload = &cancel - // msg.OfflinePushInfo = payload.Cancel.Invitation.OfflinePushInfo - // msg.SendID = payload.Cancel.Invitation.Invitation.InviterUserID - // msg.SessionType = payload.Cancel.Invitation.Invitation.SessionType - // if len(payload.Cancel.Invitation.Invitation.InviteeUserIDList) > 0 { - // switch payload.Cancel.Invitation.Invitation.SessionType { - // case constant.SingleChatType: - // msg.RecvID = payload.Cancel.Invitation.Invitation.InviteeUserIDList[0] - // case constant.GroupChatType: - // msg.GroupID = payload.Cancel.Invitation.Invitation.GroupID - // } - // }else { - // return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil - // } - // msg.ClientMsgID = utils.GetMsgID(payload.Cancel.Invitation.Invitation.InviterUserID) - // return true, 0, "", &resp, &msg - //case *open_im_sdk.SignalReq_Accept: - // cancel:=open_im_sdk.SignalResp_Accept{&open_im_sdk.SignalCancelReply{ - // }} - // resp.Payload = &cancel - // msg.OfflinePushInfo = payload.Cancel.Invitation.OfflinePushInfo - // msg.SendID = payload.Cancel.Invitation.Invitation.InviterUserID - // msg.SessionType = payload.Cancel.Invitation.Invitation.SessionType - // if len(payload.Cancel.Invitation.Invitation.InviteeUserIDList) > 0 { - // switch payload.Cancel.Invitation.Invitation.SessionType { - // case constant.SingleChatType: - // msg.RecvID = payload.Cancel.Invitation.Invitation.InviteeUserIDList[0] - // case constant.GroupChatType: - // msg.GroupID = payload.Cancel.Invitation.Invitation.GroupID - // } - // }else { - // return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil - // } - // msg.ClientMsgID = utils.GetMsgID(payload.Cancel.Invitation.Invitation.InviterUserID) - // return true, 0, "", &resp, &msg + cancel := open_im_sdk.SignalResp_Cancel{&open_im_sdk.SignalCancelReply{}} + resp.Payload = &cancel + msg.OfflinePushInfo = payload.Cancel.Invitation.OfflinePushInfo + msg.SendID = payload.Cancel.Invitation.Invitation.InviterUserID + msg.SenderPlatformID = payload.Cancel.Invitation.Invitation.PlatformID + msg.SessionType = payload.Cancel.Invitation.Invitation.SessionType + if len(payload.Cancel.Invitation.Invitation.InviteeUserIDList) > 0 { + switch payload.Cancel.Invitation.Invitation.SessionType { + case constant.SingleChatType: + msg.RecvID = payload.Cancel.Invitation.Invitation.InviteeUserIDList[0] + case constant.GroupChatType: + msg.GroupID = payload.Cancel.Invitation.Invitation.GroupID + } + } else { + return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil + } + msg.ClientMsgID = utils.GetMsgID(payload.Cancel.InviterUserID) + return true, 0, "", &resp, &msg + case *open_im_sdk.SignalReq_Accept: + token, err2 := media.GetJoinToken(payload.Accept.Invitation.Invitation.RoomID, payload.Accept.InviteeUserID) + if err2 != nil { + return false, 201, err2.Error(), nil, nil + } + cancel := open_im_sdk.SignalResp_Accept{&open_im_sdk.SignalAcceptReply{ + Token: token, + LiveURL: media.GetUrl(), + RoomID: payload.Accept.Invitation.Invitation.RoomID, + }} + resp.Payload = &cancel + msg.OfflinePushInfo = payload.Accept.Invitation.OfflinePushInfo + msg.SendID = payload.Accept.InviteeUserID + msg.SenderPlatformID = payload.Accept.Invitation.Invitation.PlatformID + msg.SessionType = payload.Accept.Invitation.Invitation.SessionType + if len(payload.Accept.Invitation.Invitation.InviteeUserIDList) > 0 { + switch payload.Accept.Invitation.Invitation.SessionType { + case constant.SingleChatType: + msg.RecvID = payload.Accept.Invitation.Invitation.InviterUserID + case constant.GroupChatType: + msg.GroupID = payload.Accept.Invitation.Invitation.GroupID + } + } else { + return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil + } + msg.ClientMsgID = utils.GetMsgID(payload.Accept.InviteeUserID) + return true, 0, "", &resp, &msg case *open_im_sdk.SignalReq_HungUp: case *open_im_sdk.SignalReq_Reject: + cancel := open_im_sdk.SignalResp_Reject{&open_im_sdk.SignalRejectReply{}} + resp.Payload = &cancel + msg.OfflinePushInfo = payload.Reject.Invitation.OfflinePushInfo + msg.SendID = payload.Reject.InviteeUserID + msg.SenderPlatformID = payload.Reject.Invitation.Invitation.PlatformID + msg.SessionType = payload.Reject.Invitation.Invitation.SessionType + if len(payload.Reject.Invitation.Invitation.InviteeUserIDList) > 0 { + switch payload.Reject.Invitation.Invitation.SessionType { + case constant.SingleChatType: + msg.RecvID = payload.Reject.Invitation.Invitation.InviterUserID + case constant.GroupChatType: + msg.GroupID = payload.Reject.Invitation.Invitation.GroupID + } + } else { + return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil + } + msg.ClientMsgID = utils.GetMsgID(payload.Reject.InviteeUserID) + return true, 0, "", &resp, &msg } return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil } From cf6379283bcf829b6307cf21076e23f4d7738ebd Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 16:47:18 +0800 Subject: [PATCH 012/129] add Signal message --- internal/msg_gateway/gate/open_im_media/room.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/msg_gateway/gate/open_im_media/room.go b/internal/msg_gateway/gate/open_im_media/room.go index 0a394df48..e73487a77 100644 --- a/internal/msg_gateway/gate/open_im_media/room.go +++ b/internal/msg_gateway/gate/open_im_media/room.go @@ -11,8 +11,8 @@ import ( const ( MediaAddress = "ws://43.128.5.63:7880" - ApiKey = "" - ApiSecret = "" + ApiKey = "APIGPW3gnFTzqHH" + ApiSecret = "23ztfSqsfQ8hKkHzHTl3Z4bvaxro0snjk5jwbp5p6Q3" ) var roomClient *lksdk.RoomServiceClient From 4f5fff96e094eb0adbecfcad980a72828862b838 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 16:49:04 +0800 Subject: [PATCH 013/129] add Signal message --- go.mod | 7 ++- go.sum | 163 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 168 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index 9fbbf033a..64564be1c 100644 --- a/go.mod +++ b/go.mod @@ -30,6 +30,9 @@ require ( github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible github.com/lestrrat-go/strftime v1.0.4 // indirect github.com/lib/pq v1.2.0 // indirect + github.com/livekit/protocol v0.11.14-0.20220223195254-d8c251e13231 + github.com/livekit/server-sdk-go v0.9.1 + github.com/magefile/mage v1.11.0 // indirect github.com/mattn/go-sqlite3 v1.14.6 // indirect github.com/minio/minio-go/v7 v7.0.22 github.com/mitchellh/mapstructure v1.4.2 @@ -47,8 +50,8 @@ require ( go.etcd.io/etcd v0.0.0-20200402134248-51bdeb39e698 go.mongodb.org/mongo-driver v1.8.3 golang.org/x/image v0.0.0-20210220032944-ac19c3e999fb - golang.org/x/net v0.0.0-20210917221730-978cfadd31cf - google.golang.org/grpc v1.40.0 + golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd + google.golang.org/grpc v1.42.0 google.golang.org/protobuf v1.27.1 gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df diff --git a/go.sum b/go.sum index 2385d32f5..ffea306b0 100644 --- a/go.sum +++ b/go.sum @@ -49,7 +49,10 @@ github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWX github.com/Shopify/toxiproxy v2.1.4+incompatible h1:TKdv8HiTLgE5wdJuEML90aBgNWsokNbMijUGhmcoBJc= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/alibabacloud-go/darabonba-openapi v0.1.11 h1:w59gtSA0s87p0U5NNG/N/PIHsRP3rtj7qCP9hx9+GL8= github.com/alibabacloud-go/darabonba-openapi v0.1.11/go.mod h1:MPJMxv7HYrFm5m9uOZWkDYsAWyZztEgnBRfk9Fg0eIU= github.com/alibabacloud-go/darabonba-string v1.0.0/go.mod h1:93cTfV3vuPhhEwGGpKKqhVW4jLe7tDpo3LUM0i0g6mA= @@ -85,10 +88,16 @@ github.com/aws/aws-sdk-go v1.38.3/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zK github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0 h1:HWo1m869IqiPhD389kmkxeTalrjNbbJTC8LXupb+sl0= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bep/debounce v1.2.0 h1:wXds8Kq8qRfwAOpAxHrJDbCXgC5aHSzgQb/0gKsHQqo= +github.com/bep/debounce v1.2.0/go.mod h1:H8yggRPQKLUhUoqrJC1bO2xNya7vanpDl7xR3ISbCJ0= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bwmarrin/snowflake v0.3.0 h1:xm67bEhkKh6ij1790JB83OujPR5CzNe8QuQqAgISZN0= github.com/bwmarrin/snowflake v0.3.0/go.mod h1:NdZxfVWX+oR6y2K0o6qAYv6gIOP9rjG0/E9WsDpxqwE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= @@ -110,9 +119,13 @@ github.com/denisenkom/go-mssqldb v0.0.0-20191124224453-732737034ffd h1:83Wprp6RO github.com/denisenkom/go-mssqldb v0.0.0-20191124224453-732737034ffd/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/eapache/channels v1.1.0 h1:F1taHcn7/F0i8DYqKXJnyhJcVpp2kgFcNePxXtnyu4k= +github.com/eapache/channels v1.1.0/go.mod h1:jMm2qB5Ubtg9zLd+inMZd2/NUvXgzmWXsDaLyQIGfH0= github.com/eapache/go-resiliency v1.2.0 h1:v7g92e/KSN71Rq7vSThKaWIq68fL4YHvWyiUKorFR1Q= github.com/eapache/go-resiliency v1.2.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 h1:YEetp8/yCZMuEPMUDHG0CW/brkkEp8mzqk2+ODEitlw= @@ -131,6 +144,8 @@ github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8 github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/frankban/quicktest v1.14.0 h1:+cqqvzZV87b4adx/5ayVOaYZ2CrvM4ejQvUdBzPPUss= github.com/frankban/quicktest v1.14.0/go.mod h1:NeW+ay9A/U67EYXNFA1nPE8e/tnQv/09mUdL/ijj8og= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= github.com/garyburd/redigo v1.6.2 h1:yE/pwKCrbLpLpQICzYTeZ7JsTA/C53wFTJHaEtRqniM= @@ -144,7 +159,16 @@ github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9 github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-logr/logr v1.0.0-rc1/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v1.1.0 h1:nAbevmWlS2Ic4m4+/An5NXkaGqlqpbBgdcuThZxnZyI= +github.com/go-logr/logr v1.1.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/stdr v1.0.0 h1:y5pcs7gk8uL+w55/cmuTqhhg5Vjsn8NhlZgr8atE60c= +github.com/go-logr/stdr v1.0.0/go.mod h1:ALK2+RP34e8Kg4N/jgsMDWyZb/T282UsFmhyUqyzpmc= github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= @@ -153,11 +177,14 @@ github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD87 github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/validator/v10 v10.4.1 h1:pH2c5ADXtd66mxoE0Zm9SUhxE20r7aM3F26W0hOn+GE= github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= +github.com/go-redis/redis/v8 v8.11.3 h1:GCjoYp8c+yQTJfc0n69iwSiHjvuAdruxl7elnZCxgt8= +github.com/go-redis/redis/v8 v8.11.3/go.mod h1:xNJ9xDG09FsIPwh3bWdk+0oDWHbtF9rPN0F/oD9XeKc= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= @@ -244,6 +271,9 @@ github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm4 github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= @@ -281,6 +311,7 @@ github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO github.com/hashicorp/mdns v1.0.1/go.mod h1:4gW7WsVCke5TE7EPeYliwHlRUyBtfCwuFwuMg2DmyNY= github.com/hashicorp/memberlist v0.2.2/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= github.com/hashicorp/serf v0.9.5/go.mod h1:UWDWwZeL5cuWDJdl0C6wrvrUwEqtQ4ZKBKKENpqIUyk= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= @@ -300,6 +331,7 @@ github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9q github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= @@ -310,6 +342,9 @@ github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1 github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= +github.com/jxskiss/base62 v0.0.0-20191017122030-4f11678b909b h1:XUr8tvMEILhphQPp3TFcIudb5KTOzFeD0pJyDn5+5QI= +github.com/jxskiss/base62 v0.0.0-20191017122030-4f11678b909b/go.mod h1:a5Mn24iYVJRUQSkFupGByqykzD+k+wFI8J91zGHuPf8= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= @@ -320,6 +355,7 @@ github.com/klauspost/cpuid v1.2.3/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgo github.com/klauspost/cpuid v1.3.1 h1:5JNjFYYQrZeKRJ0734q51WCEEn2huer72Dc7K+R/b6s= github.com/klauspost/cpuid v1.3.1/go.mod h1:bYW4mA6ZgKPob1/Dlai2LviZJO7KGI3uoWLd42rAQw4= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= @@ -341,6 +377,16 @@ github.com/lestrrat-go/strftime v1.0.4/go.mod h1:E1nN3pCbtMSu1yjSVeyuRFVm/U0xoR7 github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.2.0 h1:LXpIM/LZ5xGFhOpXAQUIMM1HdyqzVYM13zNdjCEEcA0= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lithammer/shortuuid/v3 v3.0.6/go.mod h1:vMk8ke37EmiewwolSO1NLW8vP4ZaKlRuDIi8tWWmAts= +github.com/lithammer/shortuuid/v3 v3.0.7 h1:trX0KTHy4Pbwo/6ia8fscyHoGA+mf1jWbPJVuvyJQQ8= +github.com/lithammer/shortuuid/v3 v3.0.7/go.mod h1:vMk8ke37EmiewwolSO1NLW8vP4ZaKlRuDIi8tWWmAts= +github.com/livekit/protocol v0.11.13 h1:5iWXKTeFMfERpE/0ocoLUOQtPV1BKwas151nZm0YVt0= +github.com/livekit/protocol v0.11.13/go.mod h1:YoHW9YbWbPnuVsgwBB4hAINKT+V68jmfh9zXBSSn6Wg= +github.com/livekit/protocol v0.11.14-0.20220223195254-d8c251e13231 h1:2bSLRW/t4sosQkqoxI9b6PN296FBw4Xiy9cT9tZPi3w= +github.com/livekit/protocol v0.11.14-0.20220223195254-d8c251e13231/go.mod h1:3pHsWUtQmWaH8mG0cXrQWpbf3Vo+kj0U+In77CEXu90= +github.com/livekit/server-sdk-go v0.9.1 h1:AhshcG4o1Domyo0rfB5lYKnczOZT5nOQQPIkG9jFfE0= +github.com/livekit/server-sdk-go v0.9.1/go.mod h1:I31XJ1SmfUW7DFX3sltpVf9GwvuTO0jr05zscP1nrwA= +github.com/magefile/mage v1.11.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= @@ -361,6 +407,7 @@ github.com/mattn/go-sqlite3 v1.14.6 h1:dNPt6NO46WmLVt2DLNpwczCmdV5boIZ6g/tlDrlRU github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/maxbrunsfeld/counterfeiter/v6 v6.3.0/go.mod h1:fcEyUyXZXoV4Abw8DX0t7wyL8mCDxXyU4iAFZfT3IHw= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= github.com/minio/md5-simd v1.1.0 h1:QPfiOqlZH+Cj9teu0t9b1nTBfPbyTl16Of5MeuShdK4= @@ -385,19 +432,75 @@ github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9 github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ= github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olivere/elastic/v7 v7.0.23 h1:b7tjMogDMhf2CisGI+L02LXLVa0ZyE82Z15XfW1e8t8= github.com/olivere/elastic/v7 v7.0.23/go.mod h1:OuWmD2DiuYhddWegBKPWQuelVKBLrW0fa/VUYgxuGTY= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= +github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= +github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc= +github.com/onsi/gomega v1.15.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0= +github.com/onsi/gomega v1.17.0 h1:9Luw4uT5HTjHTN8+aNcSThgH1vdXnmdJ8xIfZ4wyTRE= +github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM= github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pion/datachannel v1.5.2 h1:piB93s8LGmbECrpO84DnkIVWasRMk3IimbcXkTQLE6E= +github.com/pion/datachannel v1.5.2/go.mod h1:FTGQWaHrdCwIJ1rw6xBIfZVkslikjShim5yr05XFuCQ= +github.com/pion/dtls/v2 v2.1.2/go.mod h1:o6+WvyLDAlXF7YiPB/RlskRoeK+/JtuaZa5emwQcWus= +github.com/pion/dtls/v2 v2.1.3 h1:3UF7udADqous+M2R5Uo2q/YaP4EzUoWKdfX2oscCUio= +github.com/pion/dtls/v2 v2.1.3/go.mod h1:o6+WvyLDAlXF7YiPB/RlskRoeK+/JtuaZa5emwQcWus= +github.com/pion/ice/v2 v2.2.1 h1:R3MeuJZpU1ty3diPqpD5OxaxcZ15eprAc+EtUiSoFxg= +github.com/pion/ice/v2 v2.2.1/go.mod h1:Op8jlPtjeiycsXh93Cs4jK82C9j/kh7vef6ztIOvtIQ= +github.com/pion/interceptor v0.1.7/go.mod h1:Lh3JSl/cbJ2wP8I3ccrjh1K/deRGRn3UlSPuOTiHb6U= +github.com/pion/interceptor v0.1.8 h1:5K27KMw8enTB1jVDFrjadK8sZjI5JbPJ91OVfiih5fE= +github.com/pion/interceptor v0.1.8/go.mod h1:Lh3JSl/cbJ2wP8I3ccrjh1K/deRGRn3UlSPuOTiHb6U= +github.com/pion/logging v0.2.2 h1:M9+AIj/+pxNsDfAT64+MAVgJO0rsyLnoJKCqf//DoeY= +github.com/pion/logging v0.2.2/go.mod h1:k0/tDVsRCX2Mb2ZEmTqNa7CWsQPc+YYCB7Q+5pahoms= +github.com/pion/mdns v0.0.5 h1:Q2oj/JB3NqfzY9xGZ1fPzZzK7sDSD8rZPOvcIQ10BCw= +github.com/pion/mdns v0.0.5/go.mod h1:UgssrvdD3mxpi8tMxAXbsppL3vJ4Jipw1mTCW+al01g= +github.com/pion/randutil v0.1.0 h1:CFG1UdESneORglEsnimhUjf33Rwjubwj6xfiOXBa3mA= +github.com/pion/randutil v0.1.0/go.mod h1:XcJrSMMbbMRhASFVOlj/5hQial/Y8oH/HVo7TBZq+j8= +github.com/pion/rtcp v1.2.6/go.mod h1:52rMNPWFsjr39z9B9MhnkqhPLoeHTv1aN63o/42bWE0= +github.com/pion/rtcp v1.2.9 h1:1ujStwg++IOLIEoOiIQ2s+qBuJ1VN81KW+9pMPsif+U= +github.com/pion/rtcp v1.2.9/go.mod h1:qVPhiCzAm4D/rxb6XzKeyZiQK69yJpbUDJSF7TgrqNo= +github.com/pion/rtp v1.7.0/go.mod h1:bDb5n+BFZxXx0Ea7E5qe+klMuqiBrP+w8XSjiWtCUko= +github.com/pion/rtp v1.7.4 h1:4dMbjb1SuynU5OpA3kz1zHK+u+eOCQjW3MAeVHf1ODA= +github.com/pion/rtp v1.7.4/go.mod h1:bDb5n+BFZxXx0Ea7E5qe+klMuqiBrP+w8XSjiWtCUko= +github.com/pion/sctp v1.8.0/go.mod h1:xFe9cLMZ5Vj6eOzpyiKjT9SwGM4KpK/8Jbw5//jc+0s= +github.com/pion/sctp v1.8.2 h1:yBBCIrUMJ4yFICL3RIvR4eh/H2BTTvlligmSTy+3kiA= +github.com/pion/sctp v1.8.2/go.mod h1:xFe9cLMZ5Vj6eOzpyiKjT9SwGM4KpK/8Jbw5//jc+0s= +github.com/pion/sdp/v3 v3.0.4 h1:2Kf+dgrzJflNCSw3TV5v2VLeI0s/qkzy2r5jlR0wzf8= +github.com/pion/sdp/v3 v3.0.4/go.mod h1:bNiSknmJE0HYBprTHXKPQ3+JjacTv5uap92ueJZKsRk= +github.com/pion/srtp/v2 v2.0.5 h1:ks3wcTvIUE/GHndO3FAvROQ9opy0uLELpwHJaQ1yqhQ= +github.com/pion/srtp/v2 v2.0.5/go.mod h1:8k6AJlal740mrZ6WYxc4Dg6qDqqhxoRG2GSjlUhDF0A= +github.com/pion/stun v0.3.5 h1:uLUCBCkQby4S1cf6CGuR9QrVOKcvUwFeemaC865QHDg= +github.com/pion/stun v0.3.5/go.mod h1:gDMim+47EeEtfWogA37n6qXZS88L5V6LqFcf+DZA2UA= +github.com/pion/transport v0.12.2/go.mod h1:N3+vZQD9HlDP5GWkZ85LohxNsDcNgofQmyL6ojX5d8Q= +github.com/pion/transport v0.12.3/go.mod h1:OViWW9SP2peE/HbwBvARicmAVnesphkNkCVZIWJ6q9A= +github.com/pion/transport v0.13.0 h1:KWTA5ZrQogizzYwPEciGtHPLwpAjE91FgXnyu+Hv2uY= +github.com/pion/transport v0.13.0/go.mod h1:yxm9uXpK9bpBBWkITk13cLo1y5/ur5VQpG22ny6EP7g= +github.com/pion/turn/v2 v2.0.8 h1:KEstL92OUN3k5k8qxsXHpr7WWfrdp7iJZHx99ud8muw= +github.com/pion/turn/v2 v2.0.8/go.mod h1:+y7xl719J8bAEVpSXBXvTxStjJv3hbz9YFflvkpcGPw= +github.com/pion/udp v0.1.1 h1:8UAPvyqmsxK8oOjloDk4wUt63TzFe9WEJkg5lChlj7o= +github.com/pion/udp v0.1.1/go.mod h1:6AFo+CMdKQm7UiA0eUPA8/eVCTx8jBIITLZHc9DWX5M= +github.com/pion/webrtc/v3 v3.1.25-0.20220225075517-37e16a3b15a3 h1:TzOKzLajJt/Le720iy7bFry5HBBLWB3v6n9jEO4WJDs= +github.com/pion/webrtc/v3 v3.1.25-0.20220225075517-37e16a3b15a3/go.mod h1:mO/yv7fBN3Lp7YNlnYcTj1jtpvNvssJG+7eh6itZ4xM= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -410,15 +513,26 @@ github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSg github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v1.0.0 h1:vrDKnkGzuGvhNAL56c7DBz29ZL+KxnoR0x7enabFceM= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= +github.com/prometheus/client_golang v1.11.0 h1:HNkLOAEQMIDv/K+04rukrLx6ch7msSRwf3/SASFAGtQ= +github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4 h1:gQz4mCbXsO+nc9n1hCxHcGA3Zx3Eo+UHZoInFGUIXNM= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= +github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/common v0.4.1 h1:K0MGApIoQvMw27RTdJkPbr3JZ7DNbtxQNyi5STVM6Kw= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= +github.com/prometheus/common v0.26.0 h1:iMAkS2TDoNWnKM+Kopnx/8tnEStIfpYA0ur0xQzzhMQ= +github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2 h1:6LJUbpNm42llc4HRCuvApCSWB/WfhuNo9K98Q9sNGfs= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4= +github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5 h1:mZHayPoR0lNmnHyvtYjDeq0zlVHn9K/ZXoy17ylucdo= @@ -432,9 +546,12 @@ github.com/rs/xid v1.2.1 h1:mhH9Nq+C1fY2l1XIpgxIiUOfNpRBYH1kKcr+qfKgjRc= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/sagikazarmark/crypt v0.1.0/go.mod h1:B/mN0msZuINBtQ1zZLEQcegFJJf9vnYIR88KRMEuODE= +github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= +github.com/sclevine/spec v1.4.0/go.mod h1:LvpgJaFyvQzRvc1kaDs0bulYwzC70PbiYjC4QnFHkOM= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= @@ -471,6 +588,8 @@ github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/tencentyun/qcloud-cos-sts-sdk v0.0.0-20210325043845-84a0811633ca h1:G/aIr3WiUesWHL2YGYgEqjM5tCAJ43Ml+0C18wDkWWs= github.com/tencentyun/qcloud-cos-sts-sdk v0.0.0-20210325043845-84a0811633ca/go.mod h1:b18KQa4IxHbxeseW1GcZox53d7J0z39VNONTxvvlkXw= +github.com/thoas/go-funk v0.9.0 h1:Yzu8aTjTb1sqHZzSZLBt4qaZrFfjNizhA7IfnefjEzo= +github.com/thoas/go-funk v0.9.0/go.mod h1:+IWnUfUmFO1+WVYQWQtIJHeRRdaIyyYglZN7xzUPe4Q= github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/tjfoc/gmsm v1.3.2 h1:7JVkAn5bvUJ7HtU08iW6UiD+UTmJTIToHCfeFzkcCxM= @@ -478,6 +597,8 @@ github.com/tjfoc/gmsm v1.3.2/go.mod h1:HaUcFuY0auTiaHB9MHFGCPx5IaLhTUd2atbCFBQXn github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 h1:LnC5Kc/wtumK+WB441p7ynQJzVuNRJiqddSIE3IlSEQ= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/twitchtv/twirp v8.1.0+incompatible h1:KGXanpa9LXdVE/V5P/tA27rkKFmXRGCtSNT7zdeeVOY= +github.com/twitchtv/twirp v8.1.0+incompatible/go.mod h1:RRJoFSAmTEh2weEqWtpPE3vFK5YBhA6bqp2l1kfCC5A= github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs= @@ -540,8 +661,11 @@ golang.org/x/crypto v0.0.0-20191219195013-becbf705a915/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210314154223-e6e6c4f2bb5b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 h1:HWj/xjIHfjYU5nVXpTM0s39J9CbLn7Cc5a7IC5rwsMQ= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20220131195533-30dcbda58838 h1:71vQrMauZZhcTVK6KdYM+rklehEEwb3E+ZhaE5jrPrE= +golang.org/x/crypto v0.0.0-20220131195533-30dcbda58838/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -580,6 +704,7 @@ golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -590,6 +715,7 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -605,21 +731,30 @@ golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201006153459-a7d1128ccaa0/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201026091529-146b70c837a4/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201201195509-5d6afe98e0b7/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210917221730-978cfadd31cf h1:R150MpwJIv1MpS0N/pc+NhTM8ajzvlmxlY5OYsrevXQ= golang.org/x/net v0.0.0-20210917221730-978cfadd31cf/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211201190559-0a0e4e1bb54c/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd h1:O7DYs+zxREGLKzKoMQrtrEacpb0ZVXA5rIwylE2Xchk= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -635,6 +770,7 @@ golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -648,6 +784,7 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cO golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -661,13 +798,17 @@ golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -683,6 +824,7 @@ golang.org/x/sys v0.0.0-20200509044756-6aff5f38e54f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -690,7 +832,9 @@ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -700,6 +844,7 @@ golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -707,8 +852,11 @@ golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf h1:2ucpDCmfkl8Bd/FsLtiD653Wf96cW37s+iGx93zsu4k= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e h1:fLOSk5Q00efkSvAm+4xcoXD+RRmLmmulPn5I3Y9F2EM= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -718,6 +866,8 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -771,9 +921,11 @@ golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20201023174141-c8cfbd0f21e6/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= @@ -898,8 +1050,11 @@ gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b h1:QRR6H1YWRnHb4Y/HeNFCTJLFVxaq6wH4YuVdsUOr75U= +gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df h1:n7WqCuqOuCbNr617RXOY0AWRXxgwEyPp2z+p0+hgMuE= gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df/go.mod h1:LRQQ+SO6ZHR7tOkpBDuZnXENFzX8qRjMDMyPD6BRkCw= gopkg.in/ini.v1 v1.56.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= @@ -909,11 +1064,19 @@ gopkg.in/ini.v1 v1.63.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 h1:VpOs+IwYnYBaFnrNAeB8UUWtL3vEUnzSCL1nVjPhqrw= gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI= +gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= From 7c08249e0841828a06c9585abc1e6499e3cfba50 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 16:51:16 +0800 Subject: [PATCH 014/129] add Signal message --- go.mod | 1 - 1 file changed, 1 deletion(-) diff --git a/go.mod b/go.mod index 64564be1c..f2c70b05c 100644 --- a/go.mod +++ b/go.mod @@ -32,7 +32,6 @@ require ( github.com/lib/pq v1.2.0 // indirect github.com/livekit/protocol v0.11.14-0.20220223195254-d8c251e13231 github.com/livekit/server-sdk-go v0.9.1 - github.com/magefile/mage v1.11.0 // indirect github.com/mattn/go-sqlite3 v1.14.6 // indirect github.com/minio/minio-go/v7 v7.0.22 github.com/mitchellh/mapstructure v1.4.2 From d4b33a1342bf6b653366331a188224b7abe2f658 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 14 Mar 2022 17:00:03 +0800 Subject: [PATCH 015/129] cfg --- config/config.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index c318fa19f..2b4e0de18 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -8,7 +8,7 @@ etcd: etcdAddr: [ 127.0.0.1:2379 ] #单机部署时,默认即可 mysql: - dbMysqlAddress: [ 43.128.5.63:13306 ] #mysql地址 目前仅支持单机,默认即可 + dbMysqlAddress: [ 127.0.0.1:13306 ] #mysql地址 目前仅支持单机,默认即可 dbMysqlUserName: root #mysql用户名,建议修改 dbMysqlPassword: openIM # mysql密码,建议修改 dbMysqlDatabaseName: openIM_v2 #默认即可 @@ -19,7 +19,7 @@ mysql: dbMaxLifeTime: 120 mongo: - dbAddress: [ 43.128.5.63:37017 ] #redis地址 目前仅支持单机,默认即可 + dbAddress: [ 127.0.0.1:37017 ] #redis地址 目前仅支持单机,默认即可 dbDirect: false dbTimeout: 10 dbDatabase: openIM #mongo db 默认即可 @@ -30,7 +30,7 @@ mongo: dbRetainChatRecords: 3650 #mongo保存离线消息时间(天),根据需求修改 redis: - dbAddress: 43.128.5.63:16379 #redis地址 目前仅支持单机,默认即可 + dbAddress: 127.0.0.1:16379 #redis地址 目前仅支持单机,默认即可 dbMaxIdle: 128 dbMaxActive: 0 dbIdleTimeout: 120 From 91fa2300164c37c7e720d366292b828e4b63ee14 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 17:12:26 +0800 Subject: [PATCH 016/129] add Signal message --- go.mod | 3 ++- go.sum | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index f2c70b05c..b89fbc2b7 100644 --- a/go.mod +++ b/go.mod @@ -51,6 +51,7 @@ require ( golang.org/x/image v0.0.0-20210220032944-ac19c3e999fb golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd google.golang.org/grpc v1.42.0 + google.golang.org/grpc/examples v0.0.0-20220311002955-722367c4a737 // indirect google.golang.org/protobuf v1.27.1 gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df @@ -59,4 +60,4 @@ require ( sigs.k8s.io/yaml v1.2.0 // indirect ) -replace google.golang.org/grpc => google.golang.org/grpc v1.29.1 +replace google.golang.org/grpc => google.golang.org/grpc v1.34.0 diff --git a/go.sum b/go.sum index ffea306b0..575640626 100644 --- a/go.sum +++ b/go.sum @@ -102,6 +102,7 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa h1:OaNxuTZr7kxeODyLWsRMC+OD03aFUH+mW6r2d+MWa5Y= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= @@ -133,6 +134,7 @@ github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1 github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5 h1:Yzb9+7DPaBjB8zlTR87/ElzFsnQfuHnVUVqpZZIcV5Y= github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0= @@ -271,6 +273,7 @@ github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm4 github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -1001,6 +1004,7 @@ google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEY google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200806141610-86f49bd18e98/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= @@ -1027,7 +1031,11 @@ google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71 h1:z+ErRPu0+KS02Td google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/grpc v1.29.1 h1:EC2SB8S04d2r73uptxphDSUG+kTKVgjRPF+N3xpxRB4= google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.34.0 h1:raiipEjMOIC/TO2AvyTxP25XFdLxNIBwzDh3FM3XztI= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= +google.golang.org/grpc/examples v0.0.0-20220311002955-722367c4a737 h1:rLsBNkV6Gc/K6J87wfvo/BSg/TQGd28++7sS+hs8qDw= +google.golang.org/grpc/examples v0.0.0-20220311002955-722367c4a737/go.mod h1:wKDg0brwMZpaizQ1i7IzYcJjH1TmbJudYdnQC9+J+LE= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= From e9d10bc012fef9ebdab913bd2f48df098bd18e8e Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 17:13:13 +0800 Subject: [PATCH 017/129] add Signal message --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index b89fbc2b7..8c5005ea7 100644 --- a/go.mod +++ b/go.mod @@ -60,4 +60,4 @@ require ( sigs.k8s.io/yaml v1.2.0 // indirect ) -replace google.golang.org/grpc => google.golang.org/grpc v1.34.0 +replace google.golang.org/grpc => google.golang.org/grpc v1.32.0 From 63f48a3c4c0cfe5b301999ab53f04d633805a470 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 17:13:57 +0800 Subject: [PATCH 018/129] add Signal message --- go.sum | 2 ++ 1 file changed, 2 insertions(+) diff --git a/go.sum b/go.sum index 575640626..ba09c0f5f 100644 --- a/go.sum +++ b/go.sum @@ -1031,6 +1031,8 @@ google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71 h1:z+ErRPu0+KS02Td google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/grpc v1.29.1 h1:EC2SB8S04d2r73uptxphDSUG+kTKVgjRPF+N3xpxRB4= google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.32.0 h1:zWTV+LMdc3kaiJMSTOFz2UgSBgx8RNQoTGiZu3fR9S0= +google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.34.0 h1:raiipEjMOIC/TO2AvyTxP25XFdLxNIBwzDh3FM3XztI= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= From 8ba136e0a317710bef2c3b8450dfbce47b138fb1 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 17:15:55 +0800 Subject: [PATCH 019/129] add Signal message --- go.mod | 2 +- go.sum | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 8c5005ea7..1f71bcc55 100644 --- a/go.mod +++ b/go.mod @@ -60,4 +60,4 @@ require ( sigs.k8s.io/yaml v1.2.0 // indirect ) -replace google.golang.org/grpc => google.golang.org/grpc v1.32.0 +replace google.golang.org/grpc => google.golang.org/grpc v1.29.0 diff --git a/go.sum b/go.sum index ba09c0f5f..99d2fca0f 100644 --- a/go.sum +++ b/go.sum @@ -1029,6 +1029,8 @@ google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwy google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71 h1:z+ErRPu0+KS02Td3fOAgdX+lnPDh/VyaABEJPD4JRQs= google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/grpc v1.29.0 h1:2pJjwYOdkZ9HlN4sWRYBg9ttH5bCOlsueaM+b/oYjwo= +google.golang.org/grpc v1.29.0/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.29.1 h1:EC2SB8S04d2r73uptxphDSUG+kTKVgjRPF+N3xpxRB4= google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.32.0 h1:zWTV+LMdc3kaiJMSTOFz2UgSBgx8RNQoTGiZu3fR9S0= From e5d348140cbc3da6fa841275bee65ec7ac85cfa6 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 17:17:40 +0800 Subject: [PATCH 020/129] add Signal message --- script/path_info.cfg | 2 -- script/start_all.sh | 1 - 2 files changed, 3 deletions(-) diff --git a/script/path_info.cfg b/script/path_info.cfg index 7fe9622b6..88cf33e6a 100644 --- a/script/path_info.cfg +++ b/script/path_info.cfg @@ -53,7 +53,6 @@ service_source_root=( ${msg_source_root} ${push_source_root} ${sdk_server_source_root} - ${timer_task_source_root} ${demo_server_source_root} ) #service filename @@ -74,7 +73,6 @@ service_names=( ${msg_name} ${push_name} ${sdk_server_name} - ${timer_task_name} ${demo_server_name} ) diff --git a/script/start_all.sh b/script/start_all.sh index dd9420adc..4354eace9 100644 --- a/script/start_all.sh +++ b/script/start_all.sh @@ -9,7 +9,6 @@ need_to_start_server_shell=( push_start.sh msg_transfer_start.sh sdk_svr_start.sh - timer_start.sh demo_svr_start.sh ) From 69daec4f864dc4354da8769de39c3d845989766b Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 17:19:50 +0800 Subject: [PATCH 021/129] remove timer --- script/check_all.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/script/check_all.sh b/script/check_all.sh index b94aa893a..d0f48597b 100644 --- a/script/check_all.sh +++ b/script/check_all.sh @@ -52,13 +52,13 @@ else fi -check=$(ps aux | grep -w ./${timer_task_name} | grep -v grep | wc -l) -if [ $check -ge 1 ]; then - echo -e ${GREEN_PREFIX}"none port has been listening,belongs service is openImMsgTimer"${COLOR_SUFFIX} -else - echo -e ${RED_PREFIX}"openImMsgTimer service does not start normally"${COLOR_SUFFIX} - echo -e ${RED_PREFIX}"please check ../logs/openIM.log "${COLOR_SUFFIX} - exit -1 -fi +#check=$(ps aux | grep -w ./${timer_task_name} | grep -v grep | wc -l) +#if [ $check -ge 1 ]; then +# echo -e ${GREEN_PREFIX}"none port has been listening,belongs service is openImMsgTimer"${COLOR_SUFFIX} +#else +# echo -e ${RED_PREFIX}"openImMsgTimer service does not start normally"${COLOR_SUFFIX} +# echo -e ${RED_PREFIX}"please check ../logs/openIM.log "${COLOR_SUFFIX} +# exit -1 +#fi echo -e ${YELLOW_PREFIX}"all services launch success"${COLOR_SUFFIX} From 82b899f8830bdab07d90046f46a7b163d62da82a Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 17:34:54 +0800 Subject: [PATCH 022/129] etcd version --- go.mod | 7 +++++-- go.sum | 10 ++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index 1f71bcc55..9ecaba979 100644 --- a/go.mod +++ b/go.mod @@ -10,6 +10,8 @@ require ( github.com/alibabacloud-go/tea v1.1.17 github.com/antonfisher/nested-logrus-formatter v1.3.0 github.com/bwmarrin/snowflake v0.3.0 + github.com/coreos/etcd v3.3.27+incompatible // indirect + github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f // indirect github.com/eapache/go-resiliency v1.2.0 // indirect github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 // indirect github.com/eapache/queue v1.1.0 // indirect @@ -46,7 +48,8 @@ require ( github.com/stretchr/testify v1.7.0 github.com/tencentyun/qcloud-cos-sts-sdk v0.0.0-20210325043845-84a0811633ca github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 // indirect - go.etcd.io/etcd v0.0.0-20200402134248-51bdeb39e698 + go.etcd.io/etcd v3.3.27+incompatible + //go.etcd.io/etcd v0.0.0-20200402134248-51bdeb39e698 go.mongodb.org/mongo-driver v1.8.3 golang.org/x/image v0.0.0-20210220032944-ac19c3e999fb golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd @@ -60,4 +63,4 @@ require ( sigs.k8s.io/yaml v1.2.0 // indirect ) -replace google.golang.org/grpc => google.golang.org/grpc v1.29.0 +replace google.golang.org/grpc => google.golang.org/grpc v1.33.2 diff --git a/go.sum b/go.sum index 99d2fca0f..d0f6611ed 100644 --- a/go.sum +++ b/go.sum @@ -105,12 +105,17 @@ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGX github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa h1:OaNxuTZr7kxeODyLWsRMC+OD03aFUH+mW6r2d+MWa5Y= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/coreos/etcd v0.5.0-alpha.5 h1:0Qi6Jzjk2CDuuGlIeecpu+em2nrjhOgz2wsIwCmQHmc= +github.com/coreos/etcd v3.3.27+incompatible h1:QIudLb9KeBsE5zyYxd1mjzRSkzLg9Wf9QlRwFgd6oTA= +github.com/coreos/etcd v3.3.27+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= github.com/coreos/go-systemd/v22 v22.3.2 h1:D9/bQk5vlXQFZ6Kwuu6zaiXJ9oTPe68++AzAJc1DzSI= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f h1:lBNOc5arjvs8E5mO2tbpBpLoyyu8B6e44T7hJy6potg= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -627,6 +632,9 @@ go.etcd.io/bbolt v1.3.4 h1:hi1bXHMVrlQh6WwxAy+qZCV/SYIlqo+Ushwdpa4tAKg= go.etcd.io/bbolt v1.3.4/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= go.etcd.io/etcd v0.0.0-20200402134248-51bdeb39e698 h1:jWtjCJX1qxhHISBMLRztWwR+EXkI7MJAF2HjHAE/x/I= go.etcd.io/etcd v0.0.0-20200402134248-51bdeb39e698/go.mod h1:YoUyTScD3Vcv2RBm3eGVOq7i1ULiz3OuXoQFWOirmAM= +go.etcd.io/etcd v0.5.0-alpha.5 h1:VOolFSo3XgsmnYDLozjvZ6JL6AAwIDu1Yx1y+4EYLDo= +go.etcd.io/etcd v3.3.27+incompatible h1:5hMrpf6REqTHV2LW2OclNpRtxI0k9ZplMemJsMSWju0= +go.etcd.io/etcd v3.3.27+incompatible/go.mod h1:yaeTdrJi5lOmYerz05bd8+V7KubZs8YSFZfzsF9A6aI= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= @@ -1035,6 +1043,8 @@ google.golang.org/grpc v1.29.1 h1:EC2SB8S04d2r73uptxphDSUG+kTKVgjRPF+N3xpxRB4= google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.32.0 h1:zWTV+LMdc3kaiJMSTOFz2UgSBgx8RNQoTGiZu3fR9S0= google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.2 h1:EQyQC3sa8M+p6Ulc8yy9SWSS2GVwyRc83gAbG8lrl4o= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0 h1:raiipEjMOIC/TO2AvyTxP25XFdLxNIBwzDh3FM3XztI= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= From 9bec4b27138c930f06cd4bf03b8db0acba0ff957 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 17:36:48 +0800 Subject: [PATCH 023/129] etcd version --- go.mod | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index 9ecaba979..01b046bd5 100644 --- a/go.mod +++ b/go.mod @@ -48,8 +48,8 @@ require ( github.com/stretchr/testify v1.7.0 github.com/tencentyun/qcloud-cos-sts-sdk v0.0.0-20210325043845-84a0811633ca github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 // indirect - go.etcd.io/etcd v3.3.27+incompatible - //go.etcd.io/etcd v0.0.0-20200402134248-51bdeb39e698 + //go.etcd.io/etcd v3.3.27+incompatible + go.etcd.io/etcd v0.0.0-20200402134248-51bdeb39e698 go.mongodb.org/mongo-driver v1.8.3 golang.org/x/image v0.0.0-20210220032944-ac19c3e999fb golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd From d4098180b60f567256f4a53da5695ecb973a22be Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 17:38:15 +0800 Subject: [PATCH 024/129] etcd version --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 01b046bd5..b2fcd1c06 100644 --- a/go.mod +++ b/go.mod @@ -63,4 +63,4 @@ require ( sigs.k8s.io/yaml v1.2.0 // indirect ) -replace google.golang.org/grpc => google.golang.org/grpc v1.33.2 +replace google.golang.org/grpc => google.golang.org/grpc v1.29.0 From 6cb6c60eba7c76510ebe072e40af19d237cdf32c Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 17:39:36 +0800 Subject: [PATCH 025/129] etcd version --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index b2fcd1c06..0af5d5b33 100644 --- a/go.mod +++ b/go.mod @@ -63,4 +63,4 @@ require ( sigs.k8s.io/yaml v1.2.0 // indirect ) -replace google.golang.org/grpc => google.golang.org/grpc v1.29.0 +replace google.golang.org/grpc => google.golang.org/grpc v1.27.0 From a5f831e81e28d04b959c5c9e04ac24d9c1b5132f Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 17:41:05 +0800 Subject: [PATCH 026/129] grpc version --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 0af5d5b33..b2fcd1c06 100644 --- a/go.mod +++ b/go.mod @@ -63,4 +63,4 @@ require ( sigs.k8s.io/yaml v1.2.0 // indirect ) -replace google.golang.org/grpc => google.golang.org/grpc v1.27.0 +replace google.golang.org/grpc => google.golang.org/grpc v1.29.0 From bae5042eea946371a25f6d61fd693f37973e69de Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 17:56:20 +0800 Subject: [PATCH 027/129] grpc version --- .../msg_gateway/gate/open_im_media/room.go | 39 +++++++++---------- 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/internal/msg_gateway/gate/open_im_media/room.go b/internal/msg_gateway/gate/open_im_media/room.go index e73487a77..56295a237 100644 --- a/internal/msg_gateway/gate/open_im_media/room.go +++ b/internal/msg_gateway/gate/open_im_media/room.go @@ -1,12 +1,7 @@ package open_im_media import ( - "context" "github.com/livekit/protocol/livekit" - lksdk "github.com/livekit/server-sdk-go" - "time" - - "github.com/livekit/protocol/auth" ) const ( @@ -15,7 +10,7 @@ const ( ApiSecret = "23ztfSqsfQ8hKkHzHTl3Z4bvaxro0snjk5jwbp5p6Q3" ) -var roomClient *lksdk.RoomServiceClient +//var roomClient *lksdk.RoomServiceClient type Media struct { MediaAddress string @@ -32,26 +27,28 @@ func (m *Media) GetUrl() string { return m.MediaAddress } func (m *Media) GetJoinToken(room, identity string) (string, error) { - at := auth.NewAccessToken(m.ApiKey, m.ApiSecret) - grant := &auth.VideoGrant{ - RoomJoin: true, - Room: room, - } - at.AddGrant(grant). - SetIdentity(identity). - SetValidFor(time.Hour) - - return at.ToJWT() + return identity, nil + //at := auth.NewAccessToken(m.ApiKey, m.ApiSecret) + //grant := &auth.VideoGrant{ + // RoomJoin: true, + // Room: room, + //} + //at.AddGrant(grant). + // SetIdentity(identity). + // SetValidFor(time.Hour) + // + //return at.ToJWT() } func init() { - roomClient = lksdk.NewRoomServiceClient(MediaAddress, ApiKey, ApiSecret) + //roomClient = lksdk.NewRoomServiceClient(MediaAddress, ApiKey, ApiSecret) } func (m *Media) CreateRoom(roomName string) (*livekit.Room, error) { - return roomClient.CreateRoom(context.Background(), &livekit.CreateRoomRequest{ - Name: roomName, - EmptyTimeout: 60 * 3, - }) + return nil, nil + //return roomClient.CreateRoom(context.Background(), &livekit.CreateRoomRequest{ + // Name: roomName, + // EmptyTimeout: 60 * 3, + //}) } From c0ca3569fde5fb14b93edb899c90e235ad22d214 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 17:58:32 +0800 Subject: [PATCH 028/129] grpc version --- go.mod | 1 - 1 file changed, 1 deletion(-) diff --git a/go.mod b/go.mod index b2fcd1c06..327aec7cf 100644 --- a/go.mod +++ b/go.mod @@ -32,7 +32,6 @@ require ( github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible github.com/lestrrat-go/strftime v1.0.4 // indirect github.com/lib/pq v1.2.0 // indirect - github.com/livekit/protocol v0.11.14-0.20220223195254-d8c251e13231 github.com/livekit/server-sdk-go v0.9.1 github.com/mattn/go-sqlite3 v1.14.6 // indirect github.com/minio/minio-go/v7 v7.0.22 From fb22b8bba5547c892e15c2fb666d6beaa479d99d Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 18:00:12 +0800 Subject: [PATCH 029/129] grpc version --- internal/msg_gateway/gate/open_im_media/room.go | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/internal/msg_gateway/gate/open_im_media/room.go b/internal/msg_gateway/gate/open_im_media/room.go index 56295a237..7e0be262e 100644 --- a/internal/msg_gateway/gate/open_im_media/room.go +++ b/internal/msg_gateway/gate/open_im_media/room.go @@ -1,8 +1,6 @@ package open_im_media -import ( - "github.com/livekit/protocol/livekit" -) +import "github.com/livekit/protocol/livekit" const ( MediaAddress = "ws://43.128.5.63:7880" From a2f367778431d0bb81514520dec08fa0d0455547 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 18:01:50 +0800 Subject: [PATCH 030/129] grpc version --- internal/msg_gateway/gate/open_im_media/room.go | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/internal/msg_gateway/gate/open_im_media/room.go b/internal/msg_gateway/gate/open_im_media/room.go index 7e0be262e..76356d886 100644 --- a/internal/msg_gateway/gate/open_im_media/room.go +++ b/internal/msg_gateway/gate/open_im_media/room.go @@ -1,7 +1,5 @@ package open_im_media -import "github.com/livekit/protocol/livekit" - const ( MediaAddress = "ws://43.128.5.63:7880" ApiKey = "APIGPW3gnFTzqHH" @@ -42,7 +40,7 @@ func init() { //roomClient = lksdk.NewRoomServiceClient(MediaAddress, ApiKey, ApiSecret) } -func (m *Media) CreateRoom(roomName string) (*livekit.Room, error) { +func (m *Media) CreateRoom(roomName string) (error, error) { return nil, nil //return roomClient.CreateRoom(context.Background(), &livekit.CreateRoomRequest{ // Name: roomName, From 4954dcead8716d9b6a6ba94b4b118425755508e3 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 18:19:03 +0800 Subject: [PATCH 031/129] grpc version --- internal/msg_gateway/gate/validate.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/msg_gateway/gate/validate.go b/internal/msg_gateway/gate/validate.go index 7ec0a5dcb..81a93f210 100644 --- a/internal/msg_gateway/gate/validate.go +++ b/internal/msg_gateway/gate/validate.go @@ -84,7 +84,7 @@ func (ws *WServer) argsValidate(m *Req, r int32) (isPass bool, errCode int32, er return false, 204, err.Error(), nil } - return true, 0, "", data + return true, 0, "", &data case constant.WSPullMsgBySeqList: data := open_im_sdk.PullMessageBySeqListReq{} if err := proto.Unmarshal(m.Data, &data); err != nil { From d34e729e32657675d9b42452e947619c87c515a1 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 18:22:48 +0800 Subject: [PATCH 032/129] signal update --- internal/msg_gateway/gate/logic.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/msg_gateway/gate/logic.go b/internal/msg_gateway/gate/logic.go index b6c88da48..d2048eb74 100644 --- a/internal/msg_gateway/gate/logic.go +++ b/internal/msg_gateway/gate/logic.go @@ -222,7 +222,7 @@ func (ws *WServer) sendSignalMsgReq(conn *UserConn, m *Req) { } else { if isPass { - log.NewError(m.OperationID, isPass2, errCode2, errMsg2, *signalResp, *msgData) + log.NewError(m.OperationID, isPass2, errCode2, errMsg2) ws.sendSignalMsgResp(conn, errCode2, errMsg2, m, signalResp) } else { ws.sendSignalMsgResp(conn, errCode, errMsg, m, signalResp) From 347b1dd31ceaf7d1597a71bb9795ec472e8955ef Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 14 Mar 2022 18:33:00 +0800 Subject: [PATCH 033/129] livekit --- internal/rpc/rtc/rtc.go | 43 ++++ pkg/call_back_struct/common.go | 8 +- pkg/proto/proto_dir.cfg | 21 +- pkg/proto/rtc/rtc.pb.go | 418 +++++++++++++++++++++++++++++++++ pkg/proto/rtc/rtc.proto | 26 ++ pkg/proto/sdk_ws/ws.proto | 3 - 6 files changed, 501 insertions(+), 18 deletions(-) create mode 100644 internal/rpc/rtc/rtc.go create mode 100644 pkg/proto/rtc/rtc.pb.go create mode 100644 pkg/proto/rtc/rtc.proto diff --git a/internal/rpc/rtc/rtc.go b/internal/rpc/rtc/rtc.go new file mode 100644 index 000000000..14befba6c --- /dev/null +++ b/internal/rpc/rtc/rtc.go @@ -0,0 +1,43 @@ +package rtc + +import ( + "Open_IM/pkg/common/log" + pbRtc "Open_IM/pkg/proto/rtc" + "Open_IM/pkg/utils" + "context" + "time" + + "github.com/livekit/protocol/auth" + //lksdk "github.com/livekit/server-sdk-go" +) + +type RtcService struct { + +} + +func (r *RtcService) GetJoinToken(_ context.Context, req *pbRtc.GetJoinTokenReq) (resp *pbRtc.GetJoinTokenResp, err error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) + resp = &pbRtc.GetJoinTokenResp{} + canPublish := true + canSubscribe := true + at := auth.NewAccessToken(req.ApiKey, req.ApiSecret) + grant := &auth.VideoGrant{ + RoomJoin: true, + Room: req.Room, + CanPublish: &canPublish, + CanSubscribe: &canSubscribe, + } + at.AddGrant(grant). + SetIdentity(req.Identity). + // optional + SetName("participant-name"). + SetValidFor(time.Hour) + jwt, err := at.ToJWT() + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "toJwt failed", err.Error(), "jwt: ", jwt) + } + resp.Jwt = jwt + resp.CommonResp = &pbRtc.CommonResp{} + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) + return resp, err +} \ No newline at end of file diff --git a/pkg/call_back_struct/common.go b/pkg/call_back_struct/common.go index e2bf510f4..bc9ad5dac 100644 --- a/pkg/call_back_struct/common.go +++ b/pkg/call_back_struct/common.go @@ -17,10 +17,8 @@ type CommonCallbackReq struct { } type CommonCallbackResp struct { - ActionCode int `json:"actionCode"` - ErrCode int `json:"errCode"` - ErrMsg string `json:"errMsg"` + ActionCode int `json:"actionCode"` + ErrCode int `json:"errCode"` + ErrMsg string `json:"errMsg"` OperationID string `json:"operationID"` } - - diff --git a/pkg/proto/proto_dir.cfg b/pkg/proto/proto_dir.cfg index 6383ac619..bc7945472 100644 --- a/pkg/proto/proto_dir.cfg +++ b/pkg/proto/proto_dir.cfg @@ -1,14 +1,15 @@ all_proto=( - #message_cms/message_cms.proto - #admin_cms/admin_cms.proto - #statistics/statistics.proto - #auth/auth.proto - #friend/friend.proto - #group/group.proto + message_cms/message_cms.proto + admin_cms/admin_cms.proto + statistics/statistics.proto + auth/auth.proto + friend/friend.proto + group/group.proto user/user.proto - #chat/chat.proto - #push/push.proto - #relay/relay.proto - #sdk_ws/ws.proto + rtc/rtc.proto + chat/chat.proto + push/push.proto + relay/relay.proto + sdk_ws/ws.proto ) diff --git a/pkg/proto/rtc/rtc.pb.go b/pkg/proto/rtc/rtc.pb.go new file mode 100644 index 000000000..0c993917b --- /dev/null +++ b/pkg/proto/rtc/rtc.pb.go @@ -0,0 +1,418 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.1 +// protoc v3.15.5 +// source: rtc/rtc.proto + +package rtc + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type CommonResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ErrCode int32 `protobuf:"varint,1,opt,name=errCode,proto3" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg,proto3" json:"errMsg,omitempty"` +} + +func (x *CommonResp) Reset() { + *x = CommonResp{} + if protoimpl.UnsafeEnabled { + mi := &file_rtc_rtc_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommonResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommonResp) ProtoMessage() {} + +func (x *CommonResp) ProtoReflect() protoreflect.Message { + mi := &file_rtc_rtc_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CommonResp.ProtoReflect.Descriptor instead. +func (*CommonResp) Descriptor() ([]byte, []int) { + return file_rtc_rtc_proto_rawDescGZIP(), []int{0} +} + +func (x *CommonResp) GetErrCode() int32 { + if x != nil { + return x.ErrCode + } + return 0 +} + +func (x *CommonResp) GetErrMsg() string { + if x != nil { + return x.ErrMsg + } + return "" +} + +type GetJoinTokenReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ApiKey string `protobuf:"bytes,1,opt,name=apiKey,proto3" json:"apiKey,omitempty"` + ApiSecret string `protobuf:"bytes,2,opt,name=apiSecret,proto3" json:"apiSecret,omitempty"` + Room string `protobuf:"bytes,3,opt,name=room,proto3" json:"room,omitempty"` + Identity string `protobuf:"bytes,4,opt,name=identity,proto3" json:"identity,omitempty"` + OperationID string `protobuf:"bytes,5,opt,name=operationID,proto3" json:"operationID,omitempty"` +} + +func (x *GetJoinTokenReq) Reset() { + *x = GetJoinTokenReq{} + if protoimpl.UnsafeEnabled { + mi := &file_rtc_rtc_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetJoinTokenReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetJoinTokenReq) ProtoMessage() {} + +func (x *GetJoinTokenReq) ProtoReflect() protoreflect.Message { + mi := &file_rtc_rtc_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetJoinTokenReq.ProtoReflect.Descriptor instead. +func (*GetJoinTokenReq) Descriptor() ([]byte, []int) { + return file_rtc_rtc_proto_rawDescGZIP(), []int{1} +} + +func (x *GetJoinTokenReq) GetApiKey() string { + if x != nil { + return x.ApiKey + } + return "" +} + +func (x *GetJoinTokenReq) GetApiSecret() string { + if x != nil { + return x.ApiSecret + } + return "" +} + +func (x *GetJoinTokenReq) GetRoom() string { + if x != nil { + return x.Room + } + return "" +} + +func (x *GetJoinTokenReq) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *GetJoinTokenReq) GetOperationID() string { + if x != nil { + return x.OperationID + } + return "" +} + +type GetJoinTokenResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` + Jwt string `protobuf:"bytes,2,opt,name=jwt,proto3" json:"jwt,omitempty"` +} + +func (x *GetJoinTokenResp) Reset() { + *x = GetJoinTokenResp{} + if protoimpl.UnsafeEnabled { + mi := &file_rtc_rtc_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetJoinTokenResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetJoinTokenResp) ProtoMessage() {} + +func (x *GetJoinTokenResp) ProtoReflect() protoreflect.Message { + mi := &file_rtc_rtc_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetJoinTokenResp.ProtoReflect.Descriptor instead. +func (*GetJoinTokenResp) Descriptor() ([]byte, []int) { + return file_rtc_rtc_proto_rawDescGZIP(), []int{2} +} + +func (x *GetJoinTokenResp) GetCommonResp() *CommonResp { + if x != nil { + return x.CommonResp + } + return nil +} + +func (x *GetJoinTokenResp) GetJwt() string { + if x != nil { + return x.Jwt + } + return "" +} + +var File_rtc_rtc_proto protoreflect.FileDescriptor + +var file_rtc_rtc_proto_rawDesc = []byte{ + 0x0a, 0x0d, 0x72, 0x74, 0x63, 0x2f, 0x72, 0x74, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x03, 0x72, 0x74, 0x63, 0x22, 0x3e, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, + 0x72, 0x4d, 0x73, 0x67, 0x22, 0x99, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x70, 0x69, 0x4b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, + 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x70, 0x69, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x70, 0x69, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, + 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x20, + 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, + 0x22, 0x55, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x2f, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x72, 0x74, 0x63, 0x2e, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6a, 0x77, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6a, 0x77, 0x74, 0x32, 0x49, 0x0a, 0x0a, 0x52, 0x74, 0x63, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x2e, 0x72, 0x74, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x4a, + 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x72, 0x74, + 0x63, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x42, 0x0b, 0x5a, 0x09, 0x2e, 0x2f, 0x72, 0x74, 0x63, 0x3b, 0x72, 0x74, 0x63, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_rtc_rtc_proto_rawDescOnce sync.Once + file_rtc_rtc_proto_rawDescData = file_rtc_rtc_proto_rawDesc +) + +func file_rtc_rtc_proto_rawDescGZIP() []byte { + file_rtc_rtc_proto_rawDescOnce.Do(func() { + file_rtc_rtc_proto_rawDescData = protoimpl.X.CompressGZIP(file_rtc_rtc_proto_rawDescData) + }) + return file_rtc_rtc_proto_rawDescData +} + +var file_rtc_rtc_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_rtc_rtc_proto_goTypes = []interface{}{ + (*CommonResp)(nil), // 0: rtc.CommonResp + (*GetJoinTokenReq)(nil), // 1: rtc.GetJoinTokenReq + (*GetJoinTokenResp)(nil), // 2: rtc.GetJoinTokenResp +} +var file_rtc_rtc_proto_depIdxs = []int32{ + 0, // 0: rtc.GetJoinTokenResp.CommonResp:type_name -> rtc.CommonResp + 1, // 1: rtc.RtcService.GetJoinToken:input_type -> rtc.GetJoinTokenReq + 2, // 2: rtc.RtcService.GetJoinToken:output_type -> rtc.GetJoinTokenResp + 2, // [2:3] is the sub-list for method output_type + 1, // [1:2] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_rtc_rtc_proto_init() } +func file_rtc_rtc_proto_init() { + if File_rtc_rtc_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_rtc_rtc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommonResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rtc_rtc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetJoinTokenReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rtc_rtc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetJoinTokenResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_rtc_rtc_proto_rawDesc, + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_rtc_rtc_proto_goTypes, + DependencyIndexes: file_rtc_rtc_proto_depIdxs, + MessageInfos: file_rtc_rtc_proto_msgTypes, + }.Build() + File_rtc_rtc_proto = out.File + file_rtc_rtc_proto_rawDesc = nil + file_rtc_rtc_proto_goTypes = nil + file_rtc_rtc_proto_depIdxs = nil +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// RtcServiceClient is the client API for RtcService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type RtcServiceClient interface { + GetJoinToken(ctx context.Context, in *GetJoinTokenReq, opts ...grpc.CallOption) (*GetJoinTokenResp, error) +} + +type rtcServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewRtcServiceClient(cc grpc.ClientConnInterface) RtcServiceClient { + return &rtcServiceClient{cc} +} + +func (c *rtcServiceClient) GetJoinToken(ctx context.Context, in *GetJoinTokenReq, opts ...grpc.CallOption) (*GetJoinTokenResp, error) { + out := new(GetJoinTokenResp) + err := c.cc.Invoke(ctx, "/rtc.RtcService/GetJoinToken", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// RtcServiceServer is the server API for RtcService service. +type RtcServiceServer interface { + GetJoinToken(context.Context, *GetJoinTokenReq) (*GetJoinTokenResp, error) +} + +// UnimplementedRtcServiceServer can be embedded to have forward compatible implementations. +type UnimplementedRtcServiceServer struct { +} + +func (*UnimplementedRtcServiceServer) GetJoinToken(context.Context, *GetJoinTokenReq) (*GetJoinTokenResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetJoinToken not implemented") +} + +func RegisterRtcServiceServer(s *grpc.Server, srv RtcServiceServer) { + s.RegisterService(&_RtcService_serviceDesc, srv) +} + +func _RtcService_GetJoinToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetJoinTokenReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RtcServiceServer).GetJoinToken(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/rtc.RtcService/GetJoinToken", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RtcServiceServer).GetJoinToken(ctx, req.(*GetJoinTokenReq)) + } + return interceptor(ctx, in, info, handler) +} + +var _RtcService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "rtc.RtcService", + HandlerType: (*RtcServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetJoinToken", + Handler: _RtcService_GetJoinToken_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "rtc/rtc.proto", +} diff --git a/pkg/proto/rtc/rtc.proto b/pkg/proto/rtc/rtc.proto new file mode 100644 index 000000000..48ab8478c --- /dev/null +++ b/pkg/proto/rtc/rtc.proto @@ -0,0 +1,26 @@ +syntax = "proto3"; +option go_package = "./rtc;rtc"; +package rtc; + +message CommonResp{ + int32 errCode = 1; + string errMsg = 2; +} + +message GetJoinTokenReq{ + string apiKey = 1; + string apiSecret = 2; + string room = 3; + string identity = 4; + string operationID = 5; +} + +message GetJoinTokenResp{ + CommonResp CommonResp = 1; + string jwt = 2; +} + +service RtcService { + rpc GetJoinToken(GetJoinTokenReq) returns(GetJoinTokenResp); +} + diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 1b1f7676a..1fd83178d 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -442,6 +442,3 @@ message SignalRejectReply { } - - - From cb68f83451c31884ccc579838a8750e984e148ec Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 18:39:59 +0800 Subject: [PATCH 034/129] signal update --- internal/msg_gateway/gate/logic.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/msg_gateway/gate/logic.go b/internal/msg_gateway/gate/logic.go index d2048eb74..a78c075c7 100644 --- a/internal/msg_gateway/gate/logic.go +++ b/internal/msg_gateway/gate/logic.go @@ -199,6 +199,7 @@ func (ws *WServer) sendSignalMsgReq(conn *UserConn, m *Req) { log.NewInfo(m.OperationID, "Ws call success to sendSignalMsgReq start", m.MsgIncr, m.ReqIdentifier, m.SendID) nReply := new(pbChat.SendMsgResp) isPass, errCode, errMsg, pData := ws.argsValidate(m, constant.WSSendSignalMsg) + log.NewInfo(m.OperationID, "args is ", pData.(*sdk_ws.SignalReq)) isPass2, errCode2, errMsg2, signalResp, msgData := ws.signalMessageAssemble(pData.(*sdk_ws.SignalReq)) if isPass && isPass2 { pbData := pbChat.SendMsgReq{ From 02d0b4c99b9234c3eb9ebf2e82b78157424c81e2 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 19:41:00 +0800 Subject: [PATCH 035/129] ws.proto --- pkg/proto/sdk_ws/ws.proto | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 1fd83178d..61515548f 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -404,7 +404,8 @@ message SignalInviteInGroupReply { message SignalCancelReq { string inviterUserID = 1; - SignalInviteReq invitation = 2; + InvitationInfo invitation = 2; + OfflinePushInfo offlinePushInfo = 3; } message SignalCancelReply { @@ -413,7 +414,8 @@ message SignalCancelReply { message SignalAcceptReq { string inviteeUserID = 1; - SignalInviteReq invitation = 2; + InvitationInfo invitation = 2; + OfflinePushInfo offlinePushInfo = 3; } message SignalAcceptReply { @@ -424,7 +426,8 @@ message SignalAcceptReply { message SignalHungUpReq { string UserID = 1; - SignalInviteReq invitation = 2; + InvitationInfo invitation = 2; + OfflinePushInfo offlinePushInfo = 3; } message SignalHungUpReply { @@ -434,7 +437,8 @@ message SignalHungUpReply { message SignalRejectReq { string inviteeUserID = 1; - SignalInviteReq invitation = 2; + InvitationInfo invitation = 2; + OfflinePushInfo offlinePushInfo = 3; } message SignalRejectReply { From fa535300552232b9a26ee9b3a3c87aed7fab61b3 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Mon, 14 Mar 2022 19:44:23 +0800 Subject: [PATCH 036/129] signaling --- pkg/proto/sdk_ws/ws.pb.go | 472 ++++++++++++++++++++------------------ pkg/proto/sdk_ws/ws.proto | 7 +- 2 files changed, 257 insertions(+), 222 deletions(-) diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index 2704928d6..1599bdea0 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_54638c92053840f2, []int{0} + return fileDescriptor_ws_7a7c19d0410cd72b, []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_54638c92053840f2, []int{1} + return fileDescriptor_ws_7a7c19d0410cd72b, []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_54638c92053840f2, []int{2} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{2} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -344,7 +344,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} } func (m *UserInfo) String() string { return proto.CompactTextString(m) } func (*UserInfo) ProtoMessage() {} func (*UserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{3} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{3} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -451,7 +451,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} } func (m *FriendInfo) String() string { return proto.CompactTextString(m) } func (*FriendInfo) ProtoMessage() {} func (*FriendInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{4} + return fileDescriptor_ws_7a7c19d0410cd72b, []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_54638c92053840f2, []int{5} + return fileDescriptor_ws_7a7c19d0410cd72b, []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_54638c92053840f2, []int{6} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{6} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -725,7 +725,7 @@ func (m *FriendRequest) Reset() { *m = FriendRequest{} } func (m *FriendRequest) String() string { return proto.CompactTextString(m) } func (*FriendRequest) ProtoMessage() {} func (*FriendRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{7} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{7} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -863,7 +863,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{8} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{8} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -917,7 +917,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{9} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{9} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -968,7 +968,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{10} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{10} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1000,7 +1000,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{11} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{11} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1047,7 +1047,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{12} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{12} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1116,7 +1116,7 @@ func (m *MsgData) Reset() { *m = MsgData{} } func (m *MsgData) String() string { return proto.CompactTextString(m) } func (*MsgData) ProtoMessage() {} func (*MsgData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{13} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{13} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -1277,7 +1277,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{14} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{14} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -1345,7 +1345,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} } func (m *TipsComm) String() string { return proto.CompactTextString(m) } func (*TipsComm) ProtoMessage() {} func (*TipsComm) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{15} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{15} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -1402,7 +1402,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} } func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } func (*GroupCreatedTips) ProtoMessage() {} func (*GroupCreatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{16} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{16} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -1471,7 +1471,7 @@ func (m *GroupInfoSetTips) Reset() { *m = GroupInfoSetTips{} } func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupInfoSetTips) ProtoMessage() {} func (*GroupInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{17} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{17} } func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) @@ -1526,7 +1526,7 @@ func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTi func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } func (*JoinGroupApplicationTips) ProtoMessage() {} func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{18} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{18} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -1582,7 +1582,7 @@ func (m *MemberQuitTips) Reset() { *m = MemberQuitTips{} } func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) } func (*MemberQuitTips) ProtoMessage() {} func (*MemberQuitTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{19} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{19} } func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) @@ -1637,7 +1637,7 @@ func (m *GroupApplicationAcceptedTips) Reset() { *m = GroupApplicationAc func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationAcceptedTips) ProtoMessage() {} func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{20} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{20} } func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) @@ -1692,7 +1692,7 @@ func (m *GroupApplicationRejectedTips) Reset() { *m = GroupApplicationRe func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationRejectedTips) ProtoMessage() {} func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{21} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{21} } func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) @@ -1748,7 +1748,7 @@ func (m *GroupOwnerTransferredTips) Reset() { *m = GroupOwnerTransferred func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) } func (*GroupOwnerTransferredTips) ProtoMessage() {} func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{22} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{22} } func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) @@ -1811,7 +1811,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} } func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } func (*MemberKickedTips) ProtoMessage() {} func (*MemberKickedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{23} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{23} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -1874,7 +1874,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} } func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } func (*MemberInvitedTips) ProtoMessage() {} func (*MemberInvitedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{24} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{24} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -1936,7 +1936,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} } func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } func (*MemberEnterTips) ProtoMessage() {} func (*MemberEnterTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{25} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{25} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -1990,7 +1990,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_54638c92053840f2, []int{26} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{26} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -2043,7 +2043,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_54638c92053840f2, []int{27} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{27} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -2089,7 +2089,7 @@ func (m *FriendApplicationTips) Reset() { *m = FriendApplicationTips{} } func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationTips) ProtoMessage() {} func (*FriendApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{28} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{28} } func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) @@ -2129,7 +2129,7 @@ func (m *FriendApplicationApprovedTips) Reset() { *m = FriendApplication func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationApprovedTips) ProtoMessage() {} func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{29} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{29} } func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) @@ -2176,7 +2176,7 @@ func (m *FriendApplicationRejectedTips) Reset() { *m = FriendApplication func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationRejectedTips) ProtoMessage() {} func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{30} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{30} } func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) @@ -2224,7 +2224,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_54638c92053840f2, []int{31} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{31} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -2277,7 +2277,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_54638c92053840f2, []int{32} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{32} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -2315,7 +2315,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_54638c92053840f2, []int{33} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{33} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -2353,7 +2353,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_54638c92053840f2, []int{34} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{34} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -2391,7 +2391,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_54638c92053840f2, []int{35} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{35} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -2430,7 +2430,7 @@ func (m *UserInfoUpdatedTips) Reset() { *m = UserInfoUpdatedTips{} } func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (*UserInfoUpdatedTips) ProtoMessage() {} func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{36} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{36} } func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) @@ -2469,7 +2469,7 @@ func (m *ConversationUpdateTips) Reset() { *m = ConversationUpdateTips{} func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) } func (*ConversationUpdateTips) ProtoMessage() {} func (*ConversationUpdateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{37} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{37} } func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) @@ -2509,7 +2509,7 @@ func (m *RequestPagination) Reset() { *m = RequestPagination{} } func (m *RequestPagination) String() string { return proto.CompactTextString(m) } func (*RequestPagination) ProtoMessage() {} func (*RequestPagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{38} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{38} } func (m *RequestPagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RequestPagination.Unmarshal(m, b) @@ -2555,7 +2555,7 @@ func (m *ResponsePagination) Reset() { *m = ResponsePagination{} } func (m *ResponsePagination) String() string { return proto.CompactTextString(m) } func (*ResponsePagination) ProtoMessage() {} func (*ResponsePagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{39} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{39} } func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) @@ -2608,7 +2608,7 @@ func (m *SignalReq) Reset() { *m = SignalReq{} } func (m *SignalReq) String() string { return proto.CompactTextString(m) } func (*SignalReq) ProtoMessage() {} func (*SignalReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{40} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{40} } func (m *SignalReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalReq.Unmarshal(m, b) @@ -2875,7 +2875,7 @@ func (m *SignalResp) Reset() { *m = SignalResp{} } func (m *SignalResp) String() string { return proto.CompactTextString(m) } func (*SignalResp) ProtoMessage() {} func (*SignalResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{41} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{41} } func (m *SignalResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalResp.Unmarshal(m, b) @@ -3143,7 +3143,7 @@ func (m *InvitationInfo) Reset() { *m = InvitationInfo{} } func (m *InvitationInfo) String() string { return proto.CompactTextString(m) } func (*InvitationInfo) ProtoMessage() {} func (*InvitationInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{42} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{42} } func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) @@ -3238,7 +3238,7 @@ func (m *SignalInviteReq) Reset() { *m = SignalInviteReq{} } func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteReq) ProtoMessage() {} func (*SignalInviteReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{43} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{43} } func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) @@ -3284,7 +3284,7 @@ func (m *SignalInviteReply) Reset() { *m = SignalInviteReply{} } func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteReply) ProtoMessage() {} func (*SignalInviteReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{44} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{44} } func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) @@ -3330,7 +3330,7 @@ func (m *SignalInviteInGroupReq) Reset() { *m = SignalInviteInGroupReq{} func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReq) ProtoMessage() {} func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{45} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{45} } func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) @@ -3377,7 +3377,7 @@ func (m *SignalInviteInGroupReply) Reset() { *m = SignalInviteInGroupRep func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReply) ProtoMessage() {} func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{46} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{46} } func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) @@ -3420,7 +3420,8 @@ func (m *SignalInviteInGroupReply) GetLiveURL() string { type SignalCancelReq struct { InviterUserID string `protobuf:"bytes,1,opt,name=inviterUserID" json:"inviterUserID,omitempty"` - Invitation *SignalInviteReq `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` + Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` + OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -3430,7 +3431,7 @@ func (m *SignalCancelReq) Reset() { *m = SignalCancelReq{} } func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) } func (*SignalCancelReq) ProtoMessage() {} func (*SignalCancelReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{47} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{47} } func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) @@ -3457,13 +3458,20 @@ func (m *SignalCancelReq) GetInviterUserID() string { return "" } -func (m *SignalCancelReq) GetInvitation() *SignalInviteReq { +func (m *SignalCancelReq) GetInvitation() *InvitationInfo { if m != nil { return m.Invitation } return nil } +func (m *SignalCancelReq) GetOfflinePushInfo() *OfflinePushInfo { + if m != nil { + return m.OfflinePushInfo + } + return nil +} + type SignalCancelReply struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -3474,7 +3482,7 @@ func (m *SignalCancelReply) Reset() { *m = SignalCancelReply{} } func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) } func (*SignalCancelReply) ProtoMessage() {} func (*SignalCancelReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{48} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{48} } func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) @@ -3496,7 +3504,8 @@ var xxx_messageInfo_SignalCancelReply proto.InternalMessageInfo type SignalAcceptReq struct { InviteeUserID string `protobuf:"bytes,1,opt,name=inviteeUserID" json:"inviteeUserID,omitempty"` - Invitation *SignalInviteReq `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` + Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` + OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -3506,7 +3515,7 @@ func (m *SignalAcceptReq) Reset() { *m = SignalAcceptReq{} } func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReq) ProtoMessage() {} func (*SignalAcceptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{49} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{49} } func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) @@ -3533,13 +3542,20 @@ func (m *SignalAcceptReq) GetInviteeUserID() string { return "" } -func (m *SignalAcceptReq) GetInvitation() *SignalInviteReq { +func (m *SignalAcceptReq) GetInvitation() *InvitationInfo { if m != nil { return m.Invitation } return nil } +func (m *SignalAcceptReq) GetOfflinePushInfo() *OfflinePushInfo { + if m != nil { + return m.OfflinePushInfo + } + return nil +} + type SignalAcceptReply struct { Token string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` RoomID string `protobuf:"bytes,2,opt,name=roomID" json:"roomID,omitempty"` @@ -3553,7 +3569,7 @@ func (m *SignalAcceptReply) Reset() { *m = SignalAcceptReply{} } func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReply) ProtoMessage() {} func (*SignalAcceptReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{50} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{50} } func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) @@ -3596,7 +3612,8 @@ func (m *SignalAcceptReply) GetLiveURL() string { type SignalHungUpReq struct { UserID string `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"` - Invitation *SignalInviteReq `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` + Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` + OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -3606,7 +3623,7 @@ func (m *SignalHungUpReq) Reset() { *m = SignalHungUpReq{} } func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReq) ProtoMessage() {} func (*SignalHungUpReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{51} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{51} } func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) @@ -3633,13 +3650,20 @@ func (m *SignalHungUpReq) GetUserID() string { return "" } -func (m *SignalHungUpReq) GetInvitation() *SignalInviteReq { +func (m *SignalHungUpReq) GetInvitation() *InvitationInfo { if m != nil { return m.Invitation } return nil } +func (m *SignalHungUpReq) GetOfflinePushInfo() *OfflinePushInfo { + if m != nil { + return m.OfflinePushInfo + } + return nil +} + type SignalHungUpReply struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -3650,7 +3674,7 @@ func (m *SignalHungUpReply) Reset() { *m = SignalHungUpReply{} } func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReply) ProtoMessage() {} func (*SignalHungUpReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{52} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{52} } func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) @@ -3672,7 +3696,8 @@ var xxx_messageInfo_SignalHungUpReply proto.InternalMessageInfo type SignalRejectReq struct { InviteeUserID string `protobuf:"bytes,1,opt,name=inviteeUserID" json:"inviteeUserID,omitempty"` - Invitation *SignalInviteReq `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` + Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` + OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -3682,7 +3707,7 @@ func (m *SignalRejectReq) Reset() { *m = SignalRejectReq{} } func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) } func (*SignalRejectReq) ProtoMessage() {} func (*SignalRejectReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{53} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{53} } func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) @@ -3709,13 +3734,20 @@ func (m *SignalRejectReq) GetInviteeUserID() string { return "" } -func (m *SignalRejectReq) GetInvitation() *SignalInviteReq { +func (m *SignalRejectReq) GetInvitation() *InvitationInfo { if m != nil { return m.Invitation } return nil } +func (m *SignalRejectReq) GetOfflinePushInfo() *OfflinePushInfo { + if m != nil { + return m.OfflinePushInfo + } + return nil +} + type SignalRejectReply struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -3726,7 +3758,7 @@ func (m *SignalRejectReply) Reset() { *m = SignalRejectReply{} } func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) } func (*SignalRejectReply) ProtoMessage() {} func (*SignalRejectReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_54638c92053840f2, []int{54} + return fileDescriptor_ws_7a7c19d0410cd72b, []int{54} } func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) @@ -3805,162 +3837,162 @@ func init() { proto.RegisterType((*SignalRejectReply)(nil), "server_api_params.SignalRejectReply") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_54638c92053840f2) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_7a7c19d0410cd72b) } -var fileDescriptor_ws_54638c92053840f2 = []byte{ - // 2459 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0xcd, 0x6f, 0xe4, 0x48, - 0x15, 0xc7, 0xee, 0x74, 0x27, 0xfd, 0x3a, 0x9d, 0x0f, 0xcf, 0x12, 0x9a, 0x61, 0x76, 0x08, 0x56, - 0xb4, 0x0c, 0x5f, 0x59, 0x34, 0x08, 0x09, 0x66, 0x61, 0x50, 0xd2, 0x99, 0xaf, 0x25, 0x99, 0xc9, - 0xba, 0x67, 0x58, 0x04, 0x48, 0x23, 0xa7, 0x5d, 0xdd, 0xf1, 0xc6, 0xae, 0x72, 0xfb, 0x23, 0x99, - 0x08, 0x4e, 0x20, 0xf1, 0x1f, 0xc0, 0x15, 0x69, 0x2f, 0x08, 0x09, 0xa1, 0xbd, 0x20, 0x2e, 0x1c, - 0xf9, 0x07, 0x38, 0xf3, 0x2f, 0x70, 0xe5, 0x80, 0x84, 0xc4, 0xaa, 0xea, 0x95, 0xed, 0x2a, 0xbb, - 0x3b, 0x69, 0x45, 0xd1, 0xcc, 0xde, 0xfa, 0x3d, 0xd7, 0x7b, 0xf5, 0xea, 0xf7, 0x3e, 0xea, 0xf9, - 0xb9, 0x61, 0x35, 0xf1, 0x4e, 0x5e, 0x9e, 0x25, 0xef, 0x9e, 0x25, 0xdb, 0x51, 0xcc, 0x52, 0x66, - 0xad, 0x27, 0x24, 0x3e, 0x25, 0xf1, 0x4b, 0x37, 0xf2, 0x5f, 0x46, 0x6e, 0xec, 0x86, 0x89, 0xfd, - 0x1f, 0x13, 0xda, 0x8f, 0x62, 0x96, 0x45, 0x4f, 0xe8, 0x88, 0x59, 0x3d, 0x58, 0x1c, 0x0b, 0x62, - 0xaf, 0x67, 0x6c, 0x1a, 0x77, 0xda, 0x4e, 0x4e, 0x5a, 0xb7, 0xa0, 0x2d, 0x7e, 0x3e, 0x75, 0x43, - 0xd2, 0x33, 0xc5, 0xb3, 0x92, 0x61, 0xd9, 0xb0, 0x4c, 0x59, 0xea, 0x8f, 0xfc, 0xa1, 0x9b, 0xfa, - 0x8c, 0xf6, 0x1a, 0x62, 0x81, 0xc6, 0xe3, 0x6b, 0x7c, 0x9a, 0xc6, 0xcc, 0xcb, 0x86, 0x62, 0xcd, - 0x02, 0xae, 0x51, 0x79, 0x7c, 0xff, 0x91, 0x3b, 0x24, 0x2f, 0x9c, 0xfd, 0x5e, 0x13, 0xf7, 0x97, - 0xa4, 0xb5, 0x09, 0x1d, 0x76, 0x46, 0x49, 0xfc, 0x22, 0x21, 0xf1, 0x93, 0xbd, 0x5e, 0x4b, 0x3c, - 0x55, 0x59, 0xd6, 0x6d, 0x80, 0x61, 0x4c, 0xdc, 0x94, 0x3c, 0xf7, 0x43, 0xd2, 0x5b, 0xdc, 0x34, - 0xee, 0x74, 0x1d, 0x85, 0xc3, 0x35, 0x84, 0x24, 0x3c, 0x22, 0x71, 0x9f, 0x65, 0x34, 0xed, 0x2d, - 0x89, 0x05, 0x2a, 0xcb, 0x5a, 0x01, 0x93, 0xbc, 0xea, 0xb5, 0x85, 0x6a, 0x93, 0xbc, 0xb2, 0x36, - 0xa0, 0x95, 0xa4, 0x6e, 0x9a, 0x25, 0x3d, 0xd8, 0x34, 0xee, 0x34, 0x1d, 0x49, 0x59, 0x5b, 0xd0, - 0x15, 0x7a, 0x59, 0x6e, 0x4d, 0x47, 0x88, 0xe8, 0xcc, 0x02, 0xb1, 0xe7, 0xe7, 0x11, 0xe9, 0x2d, - 0x0b, 0x05, 0x25, 0xc3, 0xfe, 0x9b, 0x09, 0x37, 0x04, 0xee, 0x07, 0xc2, 0x80, 0x87, 0x59, 0x10, - 0x5c, 0xe2, 0x81, 0x0d, 0x68, 0x65, 0xb8, 0x1d, 0xc2, 0x2f, 0x29, 0xbe, 0x4f, 0xcc, 0x02, 0xb2, - 0x4f, 0x4e, 0x49, 0x20, 0x80, 0x6f, 0x3a, 0x25, 0xc3, 0xba, 0x09, 0x4b, 0x1f, 0x31, 0x9f, 0x0a, - 0x4c, 0x16, 0xc4, 0xc3, 0x82, 0xe6, 0xcf, 0xa8, 0x3f, 0x3c, 0xa1, 0xdc, 0xa5, 0x08, 0x77, 0x41, - 0xab, 0x9e, 0x68, 0xe9, 0x9e, 0x78, 0x07, 0x56, 0xdc, 0x28, 0x3a, 0x70, 0xe9, 0x98, 0xc4, 0xb8, - 0xe9, 0xa2, 0xd0, 0x5b, 0xe1, 0x72, 0x7f, 0xf0, 0x9d, 0x06, 0x2c, 0x8b, 0x87, 0x44, 0xc0, 0xdd, - 0x74, 0x14, 0x0e, 0xd7, 0xc3, 0x22, 0x12, 0x2b, 0x30, 0x22, 0xf2, 0x15, 0xae, 0xf4, 0x0a, 0xe4, - 0x5e, 0xb1, 0x7f, 0x6b, 0xc0, 0xca, 0x61, 0x76, 0x14, 0xf8, 0x43, 0xb1, 0x80, 0x83, 0x56, 0x42, - 0x63, 0x68, 0xd0, 0xa8, 0x07, 0x34, 0x67, 0x1f, 0xb0, 0xa1, 0x1f, 0x70, 0x03, 0x5a, 0x63, 0x42, - 0x3d, 0x12, 0x4b, 0xc0, 0x24, 0x25, 0x0d, 0x69, 0x16, 0x86, 0xfc, 0xde, 0x84, 0xa5, 0xd7, 0x6c, - 0xc2, 0x26, 0x74, 0xa2, 0x63, 0x46, 0xc9, 0xd3, 0x8c, 0x07, 0x8d, 0xb4, 0x45, 0x65, 0x59, 0x6f, - 0x41, 0xf3, 0xc8, 0x8f, 0xd3, 0x63, 0xe1, 0xb5, 0xae, 0x83, 0x04, 0xe7, 0x92, 0xd0, 0xf5, 0xd1, - 0x55, 0x6d, 0x07, 0x09, 0x79, 0xa0, 0xa5, 0x22, 0xde, 0xf5, 0x0c, 0x6a, 0xd7, 0x32, 0xa8, 0xee, - 0x79, 0x98, 0xe6, 0x79, 0xfb, 0xbf, 0x06, 0xc0, 0xc3, 0xd8, 0x27, 0xd4, 0x13, 0xd0, 0x54, 0x52, - 0xd7, 0xa8, 0xa7, 0xee, 0x06, 0xb4, 0x62, 0x12, 0xba, 0xf1, 0x49, 0x1e, 0xda, 0x48, 0x55, 0x0c, - 0x6a, 0xd4, 0x0c, 0x7a, 0x0f, 0x60, 0x24, 0xf6, 0xe1, 0x7a, 0x04, 0x54, 0x9d, 0xbb, 0x5f, 0xda, - 0xae, 0x15, 0xb9, 0xed, 0xdc, 0x4b, 0x8e, 0xb2, 0x9c, 0xe7, 0x8d, 0xeb, 0x79, 0x32, 0x3c, 0x9b, - 0x98, 0x37, 0x05, 0x63, 0x4a, 0x74, 0xb6, 0x2e, 0x88, 0xce, 0xc5, 0x22, 0x28, 0xfe, 0x6d, 0x40, - 0x7b, 0x37, 0x70, 0x87, 0x27, 0x73, 0x1e, 0x5d, 0x3f, 0xa2, 0x59, 0x3b, 0xe2, 0x23, 0xe8, 0x1e, - 0x71, 0x75, 0xf9, 0x11, 0x04, 0x0a, 0x9d, 0xbb, 0x5f, 0x99, 0x72, 0x4a, 0x3d, 0x29, 0x1c, 0x5d, - 0x4e, 0x3f, 0xee, 0xc2, 0xe5, 0xc7, 0x6d, 0x5e, 0x70, 0xdc, 0x56, 0x71, 0xdc, 0x7f, 0x9a, 0xb0, - 0x2c, 0xca, 0x98, 0x43, 0x26, 0x19, 0x49, 0x52, 0xeb, 0x87, 0xb0, 0x94, 0xe5, 0xa6, 0x1a, 0xf3, - 0x9a, 0x5a, 0x88, 0x58, 0xf7, 0x64, 0xd1, 0x14, 0xf2, 0xa6, 0x90, 0xbf, 0x35, 0x45, 0xbe, 0xb8, - 0xb1, 0x9c, 0x72, 0x39, 0xbf, 0x60, 0x8e, 0x5d, 0xea, 0x05, 0xc4, 0x21, 0x49, 0x16, 0xa4, 0xb2, - 0x16, 0x6a, 0x3c, 0x8c, 0xb4, 0xc9, 0x41, 0x32, 0x96, 0xd7, 0x8f, 0xa4, 0x38, 0x3a, 0xb8, 0x8e, - 0x3f, 0xc2, 0xa3, 0x97, 0x0c, 0x9e, 0xa8, 0x31, 0x99, 0x08, 0x0f, 0x61, 0x5a, 0xe5, 0x64, 0xb9, - 0xa7, 0x44, 0x0d, 0x03, 0x41, 0xe3, 0x71, 0x17, 0x23, 0x2d, 0x14, 0xe0, 0xbd, 0xa3, 0x70, 0xaa, - 0xd7, 0x8e, 0xfd, 0xaf, 0x06, 0x74, 0x31, 0x7d, 0x72, 0x50, 0x6f, 0xf3, 0x38, 0x67, 0xa1, 0x16, - 0x45, 0x0a, 0x87, 0x5b, 0xc1, 0xa9, 0xa7, 0x7a, 0xa1, 0xd1, 0x78, 0x3c, 0x14, 0x39, 0xfd, 0x50, - 0x2b, 0x38, 0x2a, 0x2b, 0xdf, 0xe5, 0x91, 0x5a, 0x78, 0x14, 0x0e, 0x2f, 0x65, 0x29, 0xd3, 0xa2, - 0xa3, 0xa0, 0xb9, 0x6c, 0xca, 0x8a, 0xfd, 0x31, 0x3e, 0x14, 0x0e, 0xc7, 0x37, 0x65, 0xf9, 0xde, - 0x08, 0x52, 0xc9, 0x40, 0xcd, 0x72, 0x5f, 0xbc, 0x28, 0x0a, 0xba, 0xe6, 0xd5, 0xf6, 0x85, 0x5e, - 0x05, 0xcd, 0xab, 0x7a, 0x72, 0x75, 0x6a, 0xc9, 0xb5, 0x05, 0x5d, 0xd4, 0x93, 0x07, 0xfd, 0x32, - 0x5e, 0xe4, 0x1a, 0x53, 0x8f, 0x8d, 0x6e, 0x35, 0x36, 0x74, 0xef, 0xae, 0xcc, 0xf0, 0xee, 0x6a, - 0xe1, 0xdd, 0x5f, 0x41, 0xef, 0x30, 0x0b, 0x82, 0x03, 0x92, 0x24, 0xee, 0x98, 0xec, 0x9e, 0x0f, - 0xc8, 0x64, 0xdf, 0x4f, 0x52, 0x87, 0x24, 0x11, 0x8f, 0x33, 0x12, 0xc7, 0x7d, 0xe6, 0x11, 0xe1, - 0xe4, 0xa6, 0x93, 0x93, 0xfc, 0x84, 0x24, 0x8e, 0xb9, 0x01, 0xb2, 0x42, 0x22, 0x65, 0x6d, 0xc3, - 0x42, 0xe0, 0x27, 0x3c, 0xd6, 0x1b, 0x77, 0x3a, 0x77, 0x6f, 0x4e, 0x49, 0x95, 0x83, 0x64, 0xbc, - 0xe7, 0xa6, 0xae, 0x23, 0xd6, 0xd9, 0x21, 0x7c, 0x61, 0xfa, 0xee, 0x93, 0x99, 0x37, 0x18, 0xaf, - 0x61, 0xa2, 0x08, 0xf8, 0x8c, 0x16, 0xcd, 0x87, 0xca, 0xe2, 0x66, 0x27, 0xa8, 0x47, 0xd8, 0xd1, - 0x75, 0x72, 0xd2, 0x7e, 0x0b, 0xac, 0x47, 0x24, 0x3d, 0x70, 0x5f, 0xed, 0x50, 0xef, 0xc0, 0xa7, - 0x03, 0x32, 0x71, 0xc8, 0xc4, 0x7e, 0x00, 0x37, 0x6a, 0xdc, 0x24, 0xe2, 0x06, 0x84, 0xee, 0xab, - 0x01, 0x99, 0x08, 0x03, 0xba, 0x8e, 0xa4, 0x04, 0x5f, 0xac, 0x92, 0xe5, 0x51, 0x52, 0xf6, 0x04, - 0x56, 0xb9, 0x87, 0x06, 0x84, 0x7a, 0x07, 0xc9, 0x58, 0xa8, 0xd8, 0x84, 0x0e, 0x22, 0x70, 0x90, - 0x8c, 0xcb, 0x7a, 0xab, 0xb0, 0xf8, 0x8a, 0x61, 0xe0, 0x13, 0x9a, 0xe2, 0x0a, 0x79, 0x1a, 0x85, - 0xc5, 0x83, 0x31, 0x21, 0xd4, 0x2b, 0xae, 0x9c, 0x86, 0x53, 0xd0, 0xf6, 0xdf, 0x9b, 0xb0, 0x28, - 0x01, 0x15, 0xdd, 0x21, 0xbf, 0xe2, 0x0a, 0xbc, 0x90, 0xc2, 0x60, 0x1c, 0x9e, 0x96, 0x7d, 0x1a, - 0x52, 0x6a, 0x67, 0xd7, 0xd0, 0x3b, 0xbb, 0x8a, 0x4d, 0x0b, 0x75, 0x9b, 0x2a, 0xe7, 0x6a, 0xd6, - 0xcf, 0xf5, 0x75, 0x58, 0x4b, 0x44, 0xc2, 0x1c, 0x06, 0x6e, 0x3a, 0x62, 0x71, 0x28, 0x6f, 0xac, - 0xa6, 0x53, 0xe3, 0xf3, 0x62, 0x8f, 0xbc, 0x22, 0x61, 0x31, 0x23, 0x2b, 0x5c, 0x9e, 0x1e, 0xc8, - 0xc9, 0x13, 0x17, 0x5b, 0x05, 0x9d, 0x89, 0xb6, 0x25, 0x89, 0xcf, 0xa8, 0xe8, 0x74, 0x31, 0x3f, - 0x55, 0x16, 0x3f, 0x79, 0x98, 0x8c, 0x1f, 0xc6, 0x2c, 0x94, 0x0d, 0x43, 0x4e, 0x8a, 0x93, 0x33, - 0x9a, 0x12, 0x9a, 0x0a, 0xd9, 0x0e, 0xca, 0x2a, 0x2c, 0x2e, 0x2b, 0x49, 0x91, 0x9c, 0xcb, 0x4e, - 0x4e, 0x5a, 0x6b, 0xd0, 0x48, 0xc8, 0x44, 0x66, 0x1c, 0xff, 0xa9, 0x79, 0x6e, 0x55, 0xf7, 0x5c, - 0xa5, 0x14, 0xac, 0x89, 0xa7, 0x6a, 0x29, 0x28, 0x7b, 0xfd, 0x75, 0xad, 0xd7, 0xdf, 0x81, 0x45, - 0x16, 0xf1, 0x38, 0x4f, 0x7a, 0x96, 0xc8, 0xb1, 0xaf, 0xce, 0xce, 0xb1, 0xed, 0x67, 0xb8, 0xf2, - 0x01, 0x4d, 0xe3, 0x73, 0x27, 0x97, 0xb3, 0xf6, 0x61, 0x95, 0x8d, 0x46, 0x81, 0x4f, 0xc9, 0x61, - 0x96, 0x1c, 0x8b, 0x9b, 0xed, 0x86, 0xb8, 0xd9, 0xec, 0x29, 0xaa, 0x9e, 0xe9, 0x2b, 0x9d, 0xaa, - 0xe8, 0xcd, 0x7b, 0xb0, 0xac, 0x6e, 0xc3, 0x61, 0x38, 0x21, 0xe7, 0x32, 0x06, 0xf9, 0x4f, 0xde, - 0xec, 0x9d, 0xba, 0x41, 0x86, 0xd7, 0xc0, 0x92, 0x83, 0xc4, 0x3d, 0xf3, 0x7b, 0x86, 0xfd, 0x3b, - 0x03, 0x56, 0x2b, 0x1b, 0xf0, 0xd5, 0xa9, 0x9f, 0x06, 0x44, 0x6a, 0x40, 0xc2, 0xb2, 0x60, 0xc1, - 0x23, 0xc9, 0x50, 0x86, 0xb0, 0xf8, 0x2d, 0x2b, 0x59, 0xa3, 0x68, 0x17, 0xf9, 0x0b, 0xdd, 0xb3, - 0x01, 0x57, 0x34, 0x60, 0x19, 0xf5, 0x8a, 0x17, 0x3a, 0x85, 0xc7, 0x43, 0xc8, 0x7f, 0x36, 0xd8, - 0x75, 0xbd, 0x31, 0xc1, 0xd7, 0xae, 0xa6, 0xb0, 0x49, 0x67, 0xda, 0x1e, 0x2c, 0x3d, 0xf7, 0xa3, - 0xa4, 0xcf, 0xc2, 0x90, 0x3b, 0xc2, 0x23, 0x29, 0xef, 0x55, 0x0d, 0xe1, 0x6f, 0x49, 0xf1, 0x50, - 0xf1, 0xc8, 0xc8, 0xcd, 0x82, 0x94, 0x2f, 0xcd, 0x13, 0x57, 0x61, 0x89, 0x17, 0x8e, 0x84, 0xd1, - 0x3d, 0x94, 0x46, 0x3b, 0x15, 0x8e, 0xfd, 0x0f, 0x13, 0xd6, 0x44, 0xe3, 0xd0, 0x17, 0x6e, 0xf7, - 0x84, 0xd0, 0x5d, 0x68, 0x8a, 0x34, 0x94, 0xcd, 0xca, 0xc5, 0xcd, 0x06, 0x2e, 0xb5, 0xee, 0x43, - 0x8b, 0x45, 0xa2, 0xe5, 0xc4, 0x0e, 0xe5, 0x9d, 0x59, 0x42, 0xfa, 0xbb, 0x9d, 0x23, 0xa5, 0xac, - 0x87, 0x00, 0xf8, 0xda, 0xb9, 0x5f, 0x96, 0xee, 0x79, 0x75, 0x28, 0x92, 0x1c, 0xdc, 0xa2, 0x0c, - 0x17, 0x2f, 0x78, 0x0d, 0x47, 0x67, 0x5a, 0x4f, 0x61, 0x45, 0x98, 0xfd, 0x2c, 0xef, 0x3a, 0x85, - 0x0f, 0xe6, 0xdf, 0xb1, 0x22, 0x6d, 0x7f, 0x6c, 0x48, 0x18, 0xf9, 0xd3, 0x01, 0x41, 0xec, 0x4b, - 0x48, 0x8c, 0x2b, 0x41, 0x72, 0x13, 0x96, 0xc2, 0x4c, 0x69, 0x82, 0x1b, 0x4e, 0x41, 0x97, 0x2e, - 0x6a, 0xcc, 0xed, 0x22, 0xfb, 0x8f, 0x06, 0xf4, 0xde, 0x67, 0x3e, 0x15, 0x0f, 0x76, 0xa2, 0x28, - 0x90, 0x53, 0x88, 0x2b, 0xfb, 0xfc, 0x47, 0xd0, 0x76, 0x51, 0x0d, 0x4d, 0xa5, 0xdb, 0xe7, 0x68, - 0x6c, 0x4b, 0x19, 0xa5, 0x47, 0x69, 0xa8, 0x3d, 0x8a, 0xfd, 0x17, 0x03, 0x56, 0x10, 0x94, 0x0f, - 0x32, 0x3f, 0xbd, 0xb2, 0x7d, 0xbb, 0xb0, 0x34, 0xc9, 0xfc, 0xf4, 0x0a, 0x51, 0x59, 0xc8, 0xd5, - 0xe3, 0xa9, 0x31, 0x25, 0x9e, 0xec, 0x4f, 0x0c, 0xb8, 0x55, 0x85, 0x75, 0x67, 0x38, 0x24, 0xd1, - 0x9b, 0x4c, 0x29, 0xad, 0x47, 0x5b, 0xa8, 0xf4, 0x68, 0x53, 0x4d, 0x76, 0xc8, 0x47, 0x64, 0xf8, - 0xd9, 0x35, 0xf9, 0x37, 0x26, 0x7c, 0xf1, 0x51, 0x91, 0x78, 0xcf, 0x63, 0x97, 0x26, 0x23, 0x12, - 0xc7, 0x6f, 0xd0, 0xde, 0x7d, 0xe8, 0x52, 0x72, 0x56, 0xda, 0x24, 0xd3, 0x71, 0x5e, 0x35, 0xba, - 0xf0, 0x7c, 0xb5, 0xcb, 0xfe, 0x9f, 0x01, 0x6b, 0xa8, 0xe7, 0xc7, 0xfe, 0xf0, 0xe4, 0x0d, 0x1e, - 0xfe, 0x29, 0xac, 0x9c, 0x08, 0x0b, 0x38, 0x75, 0x85, 0xb2, 0x5d, 0x91, 0x9e, 0xf3, 0xf8, 0xff, - 0x37, 0x60, 0x1d, 0x15, 0x3d, 0xa1, 0xa7, 0xfe, 0x9b, 0x0c, 0xd6, 0x43, 0x58, 0xf5, 0xd1, 0x84, - 0x2b, 0x02, 0x50, 0x15, 0x9f, 0x13, 0x81, 0xbf, 0x1a, 0xb0, 0x8a, 0x9a, 0x1e, 0xd0, 0x94, 0xc4, - 0x57, 0x3e, 0xff, 0x63, 0xe8, 0x10, 0x9a, 0xc6, 0x2e, 0xbd, 0x4a, 0x85, 0x54, 0x45, 0xe7, 0x2c, - 0x92, 0x27, 0xb0, 0x8e, 0xaf, 0xf0, 0x4a, 0xc5, 0xe1, 0xbd, 0xac, 0xeb, 0x61, 0x7b, 0x6a, 0x08, - 0xa1, 0x9c, 0xd4, 0x87, 0x33, 0x72, 0xba, 0x5e, 0x0e, 0x67, 0x6e, 0x03, 0xb8, 0x9e, 0xf7, 0x21, - 0x8b, 0x3d, 0x9f, 0xe6, 0xd7, 0x87, 0xc2, 0xb1, 0xdf, 0x87, 0x65, 0xde, 0x4d, 0x3f, 0x57, 0x5e, - 0xc6, 0x2f, 0x1c, 0x17, 0xa8, 0x2f, 0xf2, 0xa6, 0xfe, 0x22, 0x6f, 0xff, 0x02, 0x3e, 0x5f, 0x33, - 0x5c, 0xa0, 0xde, 0xc7, 0x19, 0x43, 0xbe, 0x89, 0x04, 0xff, 0xcb, 0x53, 0x20, 0x54, 0x6d, 0x71, - 0x34, 0x21, 0xfb, 0xd7, 0x06, 0xbc, 0x5d, 0x53, 0xbf, 0x13, 0x45, 0x31, 0x3b, 0x95, 0xc1, 0x7d, - 0x1d, 0xdb, 0xe8, 0xa5, 0xd5, 0xac, 0x96, 0xd6, 0xa9, 0x46, 0x68, 0xd7, 0xc1, 0x6b, 0x30, 0xe2, - 0x4f, 0x06, 0xac, 0x4a, 0x23, 0x3c, 0x4f, 0x6e, 0xfb, 0x5d, 0x68, 0xe1, 0x7c, 0x52, 0x6e, 0xf8, - 0xf6, 0xd4, 0x0d, 0xf3, 0xb9, 0xaa, 0x23, 0x17, 0xd7, 0x23, 0xd2, 0x9c, 0xd6, 0x06, 0x7e, 0xbf, - 0xa8, 0x00, 0x73, 0x4f, 0x10, 0xa5, 0x80, 0xfd, 0xd3, 0x3c, 0x98, 0xf7, 0x48, 0x40, 0xae, 0x13, - 0x23, 0xfb, 0x05, 0xac, 0x88, 0x61, 0x69, 0x89, 0xc1, 0xb5, 0xa8, 0xfd, 0x10, 0xd6, 0x84, 0xda, - 0x6b, 0xb7, 0xb7, 0xc8, 0x0e, 0x8e, 0x4f, 0xff, 0xd8, 0xa5, 0xe3, 0xeb, 0xd4, 0xfe, 0x2d, 0xb8, - 0x91, 0x63, 0xff, 0x22, 0xf2, 0x8a, 0x57, 0x94, 0x19, 0x83, 0x19, 0xfb, 0xdb, 0xb0, 0xd1, 0x67, - 0xf4, 0x94, 0xc4, 0x89, 0xf0, 0x32, 0x8a, 0xe4, 0x12, 0x5a, 0xf2, 0x4b, 0xca, 0x1e, 0xc0, 0xba, - 0x1c, 0x29, 0x1e, 0xba, 0x63, 0x9f, 0x62, 0x55, 0xba, 0x0d, 0x10, 0xb9, 0xe3, 0xfc, 0x93, 0x02, - 0xce, 0x9d, 0x14, 0x0e, 0x7f, 0x9e, 0x1c, 0xb3, 0x33, 0xf9, 0xdc, 0xc4, 0xe7, 0x25, 0xc7, 0xfe, - 0x09, 0x58, 0x0e, 0x49, 0x22, 0x46, 0x13, 0xa2, 0x68, 0xdd, 0x84, 0x4e, 0x3f, 0x8b, 0x63, 0x42, - 0xf9, 0x56, 0xf9, 0x7c, 0x5d, 0x65, 0x71, 0xbd, 0x83, 0x52, 0x2f, 0xce, 0x2a, 0x14, 0x8e, 0xfd, - 0x87, 0x06, 0xb4, 0x07, 0xfe, 0x98, 0xba, 0x81, 0x43, 0x26, 0xd6, 0x0f, 0xa0, 0x85, 0x37, 0x88, - 0x84, 0x76, 0xda, 0xbb, 0x33, 0xae, 0xc6, 0xab, 0xd2, 0x21, 0x93, 0xc7, 0x9f, 0x73, 0xa4, 0x8c, - 0xf5, 0x01, 0x74, 0xf1, 0xd7, 0x13, 0x7c, 0x23, 0x90, 0x17, 0xc0, 0xd7, 0x2e, 0x51, 0x22, 0x57, - 0xa3, 0x2e, 0x5d, 0x03, 0x37, 0x68, 0xe8, 0xd2, 0xa1, 0xfc, 0xe6, 0x76, 0x91, 0x41, 0x7d, 0xb1, - 0x4c, 0x1a, 0x84, 0x32, 0x5c, 0xda, 0x15, 0x3d, 0xb3, 0xfc, 0x6a, 0x31, 0x5b, 0x1a, 0x5b, 0x6b, - 0x29, 0x8d, 0x32, 0x5c, 0xfa, 0x38, 0xa3, 0xe3, 0x17, 0x91, 0x7c, 0x95, 0x9b, 0x2d, 0xfd, 0x58, - 0x2c, 0x93, 0xd2, 0x28, 0xc3, 0xa5, 0x63, 0x51, 0xed, 0x04, 0xe8, 0x17, 0x49, 0x63, 0x51, 0x94, - 0xd2, 0x28, 0xb3, 0xdb, 0x86, 0xc5, 0xc8, 0x3d, 0x0f, 0x98, 0xeb, 0xd9, 0x7f, 0x6e, 0x00, 0xe4, - 0x0b, 0x13, 0xd1, 0x63, 0x68, 0x2e, 0xda, 0xba, 0xd4, 0x45, 0x51, 0x70, 0xae, 0x38, 0x69, 0x30, - 0xdd, 0x49, 0xdf, 0x98, 0xd7, 0x49, 0xa8, 0xad, 0xe2, 0xa6, 0xfb, 0x15, 0x37, 0x6d, 0x5d, 0xea, - 0x26, 0x69, 0x94, 0x74, 0xd4, 0xfd, 0x8a, 0xa3, 0xb6, 0x2e, 0x75, 0x94, 0x94, 0x97, 0xae, 0xba, - 0x5f, 0x71, 0xd5, 0xd6, 0xa5, 0xae, 0x92, 0xf2, 0xd2, 0x59, 0xf7, 0x2b, 0xce, 0xda, 0xba, 0xd4, - 0x59, 0x52, 0xbe, 0xee, 0xae, 0x4f, 0x4c, 0x58, 0x11, 0x90, 0xe1, 0xdc, 0x96, 0x8e, 0x98, 0x18, - 0xcf, 0x08, 0xb8, 0xf4, 0x2f, 0x54, 0x3a, 0xd3, 0xfa, 0x26, 0xac, 0x23, 0x43, 0x7e, 0xd1, 0x10, - 0xed, 0x9f, 0xb9, 0xd9, 0xb8, 0xd3, 0x76, 0xea, 0x0f, 0xc4, 0xa4, 0x2d, 0x4b, 0x52, 0x16, 0xee, - 0xb9, 0xa9, 0x9b, 0x77, 0x2b, 0x25, 0x47, 0x9d, 0x83, 0x2e, 0xd4, 0xbe, 0x70, 0xc7, 0x8c, 0x85, - 0xc5, 0x80, 0x53, 0x52, 0x5c, 0x22, 0xf5, 0x43, 0xc2, 0xb2, 0x54, 0x96, 0x89, 0x9c, 0xe4, 0x77, - 0x6c, 0x48, 0x3c, 0xdf, 0x15, 0xd3, 0x43, 0xf9, 0x59, 0xa1, 0x60, 0x70, 0x4b, 0x94, 0x69, 0xa8, - 0xfc, 0x02, 0xad, 0xcc, 0x41, 0x2f, 0x9d, 0x5c, 0xda, 0x1f, 0x1b, 0xb0, 0x5a, 0xa9, 0x2a, 0xd6, - 0x0e, 0x80, 0x5f, 0xa0, 0x78, 0xc1, 0x37, 0x2e, 0x1d, 0x6a, 0x47, 0x11, 0x9a, 0x36, 0x11, 0x34, - 0xaf, 0x3c, 0x11, 0xb4, 0xfb, 0xb0, 0x5e, 0x4b, 0x2b, 0x31, 0xd6, 0x63, 0x27, 0x84, 0x16, 0x63, - 0x3d, 0x4e, 0x70, 0x24, 0x03, 0xff, 0x54, 0xfd, 0xe2, 0x2c, 0x49, 0xde, 0x8f, 0x6c, 0x4c, 0x2f, - 0x7d, 0x9f, 0xbd, 0x03, 0x1f, 0x41, 0x6f, 0x56, 0x01, 0x98, 0x71, 0xee, 0x32, 0xb2, 0xcc, 0x6a, - 0x64, 0xcd, 0xc0, 0xe3, 0x97, 0xb9, 0xe3, 0x8b, 0xea, 0x3d, 0x67, 0xb2, 0xec, 0x6a, 0x68, 0x99, - 0xf3, 0x5e, 0x56, 0x2a, 0x5c, 0xf6, 0x8d, 0xdc, 0xa3, 0x4a, 0x4d, 0x2a, 0x2d, 0x2a, 0x6e, 0x84, - 0xd2, 0x22, 0x32, 0xcd, 0x22, 0x72, 0x8d, 0x16, 0xfd, 0x3c, 0xb7, 0x48, 0xa9, 0x72, 0xd7, 0x86, - 0x75, 0x98, 0x9f, 0xac, 0xb8, 0xad, 0x66, 0x75, 0x30, 0xd7, 0x8b, 0xae, 0x52, 0x71, 0x4b, 0x74, - 0x8b, 0x3b, 0xef, 0x35, 0xa2, 0x5b, 0x58, 0xa4, 0xd4, 0xf0, 0xdd, 0x5b, 0x3f, 0xbb, 0xb9, 0xfd, - 0x2e, 0xfe, 0x83, 0xeb, 0xbd, 0x9a, 0xba, 0xa3, 0x96, 0xf8, 0x47, 0xd7, 0x77, 0x3e, 0x0d, 0x00, - 0x00, 0xff, 0xff, 0x8a, 0xb0, 0x57, 0xc2, 0xe4, 0x25, 0x00, 0x00, +var fileDescriptor_ws_7a7c19d0410cd72b = []byte{ + // 2464 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0x4b, 0x6f, 0x24, 0x49, + 0xf1, 0xff, 0x57, 0xb5, 0xbb, 0xed, 0x8e, 0x76, 0xfb, 0x51, 0xb3, 0x7f, 0xd3, 0x0c, 0xb3, 0x83, + 0x29, 0x59, 0xcb, 0xf0, 0xf2, 0xa2, 0x41, 0x48, 0x30, 0x0b, 0x83, 0xfc, 0x98, 0xd7, 0x62, 0xcf, + 0x78, 0xab, 0x67, 0x58, 0x04, 0x48, 0xa3, 0x72, 0x57, 0xba, 0x5d, 0xeb, 0xea, 0xcc, 0xea, 0x7a, + 0xd8, 0x63, 0x89, 0x13, 0x48, 0x7c, 0x03, 0xb8, 0x22, 0xed, 0x05, 0x21, 0x21, 0xb4, 0x17, 0x84, + 0x84, 0x38, 0x72, 0xe0, 0xca, 0x99, 0xaf, 0xc0, 0x95, 0x03, 0x12, 0x12, 0x28, 0x33, 0xb2, 0xb2, + 0x32, 0xab, 0xba, 0xed, 0x96, 0x65, 0xed, 0x0c, 0xb7, 0x8e, 0xa8, 0x8c, 0xc8, 0x88, 0xf8, 0x45, + 0x44, 0x46, 0x65, 0x35, 0x2c, 0xa7, 0xc1, 0xc9, 0xcb, 0xb3, 0xf4, 0xdd, 0xb3, 0x74, 0x33, 0x4e, + 0x58, 0xc6, 0x9c, 0xd5, 0x94, 0x24, 0xa7, 0x24, 0x79, 0xe9, 0xc7, 0xe1, 0xcb, 0xd8, 0x4f, 0xfc, + 0x51, 0xea, 0xfe, 0xd3, 0x86, 0xf6, 0xa3, 0x84, 0xe5, 0xf1, 0x13, 0x7a, 0xc4, 0x9c, 0x1e, 0xcc, + 0x0f, 0x05, 0xb1, 0xdb, 0xb3, 0xd6, 0xad, 0x3b, 0x6d, 0xaf, 0x20, 0x9d, 0x5b, 0xd0, 0x16, 0x3f, + 0x9f, 0xfa, 0x23, 0xd2, 0xb3, 0xc5, 0xb3, 0x92, 0xe1, 0xb8, 0xb0, 0x48, 0x59, 0x16, 0x1e, 0x85, + 0x03, 0x3f, 0x0b, 0x19, 0xed, 0x35, 0xc4, 0x02, 0x83, 0xc7, 0xd7, 0x84, 0x34, 0x4b, 0x58, 0x90, + 0x0f, 0xc4, 0x9a, 0x39, 0x5c, 0xa3, 0xf3, 0xf8, 0xfe, 0x47, 0xfe, 0x80, 0xbc, 0xf0, 0xf6, 0x7a, + 0x4d, 0xdc, 0x5f, 0x92, 0xce, 0x3a, 0x74, 0xd8, 0x19, 0x25, 0xc9, 0x8b, 0x94, 0x24, 0x4f, 0x76, + 0x7b, 0x2d, 0xf1, 0x54, 0x67, 0x39, 0xb7, 0x01, 0x06, 0x09, 0xf1, 0x33, 0xf2, 0x3c, 0x1c, 0x91, + 0xde, 0xfc, 0xba, 0x75, 0xa7, 0xeb, 0x69, 0x1c, 0xae, 0x61, 0x44, 0x46, 0x87, 0x24, 0xd9, 0x61, + 0x39, 0xcd, 0x7a, 0x0b, 0x62, 0x81, 0xce, 0x72, 0x96, 0xc0, 0x26, 0xaf, 0x7a, 0x6d, 0xa1, 0xda, + 0x26, 0xaf, 0x9c, 0x35, 0x68, 0xa5, 0x99, 0x9f, 0xe5, 0x69, 0x0f, 0xd6, 0xad, 0x3b, 0x4d, 0x4f, + 0x52, 0xce, 0x06, 0x74, 0x85, 0x5e, 0x56, 0x58, 0xd3, 0x11, 0x22, 0x26, 0x53, 0x45, 0xec, 0xf9, + 0x79, 0x4c, 0x7a, 0x8b, 0x42, 0x41, 0xc9, 0x70, 0xff, 0x68, 0xc3, 0x0d, 0x11, 0xf7, 0x7d, 0x61, + 0xc0, 0xc3, 0x3c, 0x8a, 0x2e, 0x41, 0x60, 0x0d, 0x5a, 0x39, 0x6e, 0x87, 0xe1, 0x97, 0x14, 0xdf, + 0x27, 0x61, 0x11, 0xd9, 0x23, 0xa7, 0x24, 0x12, 0x81, 0x6f, 0x7a, 0x25, 0xc3, 0xb9, 0x09, 0x0b, + 0x1f, 0xb1, 0x90, 0x8a, 0x98, 0xcc, 0x89, 0x87, 0x8a, 0xe6, 0xcf, 0x68, 0x38, 0x38, 0xa1, 0x1c, + 0x52, 0x0c, 0xb7, 0xa2, 0x75, 0x24, 0x5a, 0x26, 0x12, 0xef, 0xc0, 0x92, 0x1f, 0xc7, 0xfb, 0x3e, + 0x1d, 0x92, 0x04, 0x37, 0x9d, 0x17, 0x7a, 0x2b, 0x5c, 0x8e, 0x07, 0xdf, 0xa9, 0xcf, 0xf2, 0x64, + 0x40, 0x44, 0xb8, 0x9b, 0x9e, 0xc6, 0xe1, 0x7a, 0x58, 0x4c, 0x12, 0x2d, 0x8c, 0x18, 0xf9, 0x0a, + 0x57, 0xa2, 0x02, 0x05, 0x2a, 0xee, 0x2f, 0x2c, 0x58, 0x3a, 0xc8, 0x0f, 0xa3, 0x70, 0x20, 0x16, + 0xf0, 0xa0, 0x95, 0xa1, 0xb1, 0x8c, 0xd0, 0xe8, 0x0e, 0xda, 0xd3, 0x1d, 0x6c, 0x98, 0x0e, 0xae, + 0x41, 0x6b, 0x48, 0x68, 0x40, 0x12, 0x19, 0x30, 0x49, 0x49, 0x43, 0x9a, 0xca, 0x90, 0x5f, 0xd9, + 0xb0, 0xf0, 0x29, 0x9b, 0xb0, 0x0e, 0x9d, 0xf8, 0x98, 0x51, 0xf2, 0x34, 0xe7, 0x49, 0x23, 0x6d, + 0xd1, 0x59, 0xce, 0x5b, 0xd0, 0x3c, 0x0c, 0x93, 0xec, 0x58, 0xa0, 0xd6, 0xf5, 0x90, 0xe0, 0x5c, + 0x32, 0xf2, 0x43, 0x84, 0xaa, 0xed, 0x21, 0x21, 0x1d, 0x5a, 0x50, 0xf9, 0x6e, 0x56, 0x50, 0xbb, + 0x56, 0x41, 0x75, 0xe4, 0x61, 0x12, 0xf2, 0xee, 0xbf, 0x2c, 0x80, 0x87, 0x49, 0x48, 0x68, 0x20, + 0x42, 0x53, 0x29, 0x5d, 0xab, 0x5e, 0xba, 0x6b, 0xd0, 0x4a, 0xc8, 0xc8, 0x4f, 0x4e, 0x8a, 0xd4, + 0x46, 0xaa, 0x62, 0x50, 0xa3, 0x66, 0xd0, 0x7b, 0x00, 0x47, 0x62, 0x1f, 0xae, 0x47, 0x84, 0xaa, + 0x73, 0xf7, 0x73, 0x9b, 0xb5, 0x26, 0xb7, 0x59, 0xa0, 0xe4, 0x69, 0xcb, 0x79, 0xdd, 0xf8, 0x41, + 0x20, 0xd3, 0xb3, 0x89, 0x75, 0xa3, 0x18, 0x13, 0xb2, 0xb3, 0x75, 0x41, 0x76, 0xce, 0xab, 0xa4, + 0xf8, 0x87, 0x05, 0xed, 0xed, 0xc8, 0x1f, 0x9c, 0xcc, 0xe8, 0xba, 0xe9, 0xa2, 0x5d, 0x73, 0xf1, + 0x11, 0x74, 0x0f, 0xb9, 0xba, 0xc2, 0x05, 0x11, 0x85, 0xce, 0xdd, 0x2f, 0x4c, 0xf0, 0xd2, 0x2c, + 0x0a, 0xcf, 0x94, 0x33, 0xdd, 0x9d, 0xbb, 0xdc, 0xdd, 0xe6, 0x05, 0xee, 0xb6, 0x94, 0xbb, 0x7f, + 0xb3, 0x61, 0x51, 0xb4, 0x31, 0x8f, 0x8c, 0x73, 0x92, 0x66, 0xce, 0x77, 0x61, 0x21, 0x2f, 0x4c, + 0xb5, 0x66, 0x35, 0x55, 0x89, 0x38, 0xf7, 0x64, 0xd3, 0x14, 0xf2, 0xb6, 0x90, 0xbf, 0x35, 0x41, + 0x5e, 0x9d, 0x58, 0x5e, 0xb9, 0x9c, 0x1f, 0x30, 0xc7, 0x3e, 0x0d, 0x22, 0xe2, 0x91, 0x34, 0x8f, + 0x32, 0xd9, 0x0b, 0x0d, 0x1e, 0x66, 0xda, 0x78, 0x3f, 0x1d, 0xca, 0xe3, 0x47, 0x52, 0x3c, 0x3a, + 0xb8, 0x8e, 0x3f, 0x42, 0xd7, 0x4b, 0x06, 0x2f, 0xd4, 0x84, 0x8c, 0x05, 0x42, 0x58, 0x56, 0x05, + 0x59, 0xee, 0x29, 0xa3, 0x86, 0x89, 0x60, 0xf0, 0x38, 0xc4, 0x48, 0x0b, 0x05, 0x78, 0xee, 0x68, + 0x9c, 0xea, 0xb1, 0xe3, 0xfe, 0xbd, 0x01, 0x5d, 0x2c, 0x9f, 0x22, 0xa8, 0xb7, 0x79, 0x9e, 0xb3, + 0x91, 0x91, 0x45, 0x1a, 0x87, 0x5b, 0xc1, 0xa9, 0xa7, 0x66, 0xa3, 0x31, 0x78, 0x3c, 0x15, 0x39, + 0xfd, 0xd0, 0x68, 0x38, 0x3a, 0xab, 0xd8, 0xe5, 0x91, 0xde, 0x78, 0x34, 0x0e, 0x6f, 0x65, 0x19, + 0x33, 0xb2, 0x43, 0xd1, 0x5c, 0x36, 0x63, 0x6a, 0x7f, 0xcc, 0x0f, 0x8d, 0xc3, 0xe3, 0x9b, 0xb1, + 0x62, 0x6f, 0x0c, 0x52, 0xc9, 0x40, 0xcd, 0x72, 0x5f, 0x3c, 0x28, 0x14, 0x5d, 0x43, 0xb5, 0x7d, + 0x21, 0xaa, 0x60, 0xa0, 0x6a, 0x16, 0x57, 0xa7, 0x56, 0x5c, 0x1b, 0xd0, 0x45, 0x3d, 0x45, 0xd2, + 0x2f, 0xe2, 0x41, 0x6e, 0x30, 0xcd, 0xdc, 0xe8, 0x56, 0x73, 0xc3, 0x44, 0x77, 0x69, 0x0a, 0xba, + 0xcb, 0x0a, 0xdd, 0x9f, 0x42, 0xef, 0x20, 0x8f, 0xa2, 0x7d, 0x92, 0xa6, 0xfe, 0x90, 0x6c, 0x9f, + 0xf7, 0xc9, 0x78, 0x2f, 0x4c, 0x33, 0x8f, 0xa4, 0x31, 0xcf, 0x33, 0x92, 0x24, 0x3b, 0x2c, 0x20, + 0x02, 0xe4, 0xa6, 0x57, 0x90, 0xdc, 0x43, 0x92, 0x24, 0xdc, 0x00, 0xd9, 0x21, 0x91, 0x72, 0x36, + 0x61, 0x2e, 0x0a, 0x53, 0x9e, 0xeb, 0x8d, 0x3b, 0x9d, 0xbb, 0x37, 0x27, 0x94, 0xca, 0x7e, 0x3a, + 0xdc, 0xf5, 0x33, 0xdf, 0x13, 0xeb, 0xdc, 0x11, 0x7c, 0x66, 0xf2, 0xee, 0xe3, 0xa9, 0x27, 0x18, + 0xef, 0x61, 0xa2, 0x09, 0x84, 0x8c, 0xaa, 0xe1, 0x43, 0x67, 0x71, 0xb3, 0x53, 0xd4, 0x23, 0xec, + 0xe8, 0x7a, 0x05, 0xe9, 0xbe, 0x05, 0xce, 0x23, 0x92, 0xed, 0xfb, 0xaf, 0xb6, 0x68, 0xb0, 0x1f, + 0xd2, 0x3e, 0x19, 0x7b, 0x64, 0xec, 0x3e, 0x80, 0x1b, 0x35, 0x6e, 0x1a, 0x73, 0x03, 0x46, 0xfe, + 0xab, 0x3e, 0x19, 0x0b, 0x03, 0xba, 0x9e, 0xa4, 0x04, 0x5f, 0xac, 0x92, 0xed, 0x51, 0x52, 0xee, + 0x18, 0x96, 0x39, 0x42, 0x7d, 0x42, 0x83, 0xfd, 0x74, 0x28, 0x54, 0xac, 0x43, 0x07, 0x23, 0xb0, + 0x9f, 0x0e, 0xcb, 0x7e, 0xab, 0xb1, 0xf8, 0x8a, 0x41, 0x14, 0x12, 0x9a, 0xe1, 0x0a, 0xe9, 0x8d, + 0xc6, 0xe2, 0xc9, 0x98, 0x12, 0x1a, 0xa8, 0x23, 0xa7, 0xe1, 0x29, 0xda, 0xfd, 0x73, 0x13, 0xe6, + 0x65, 0x40, 0xc5, 0x74, 0xc8, 0x8f, 0x38, 0x15, 0x2f, 0xa4, 0x30, 0x19, 0x07, 0xa7, 0xe5, 0x9c, + 0x86, 0x94, 0x3e, 0xd9, 0x35, 0xcc, 0xc9, 0xae, 0x62, 0xd3, 0x5c, 0xdd, 0xa6, 0x8a, 0x5f, 0xcd, + 0xba, 0x5f, 0x5f, 0x86, 0x95, 0x54, 0x14, 0xcc, 0x41, 0xe4, 0x67, 0x47, 0x2c, 0x19, 0xc9, 0x13, + 0xab, 0xe9, 0xd5, 0xf8, 0xbc, 0xd9, 0x23, 0x4f, 0x15, 0x2c, 0x56, 0x64, 0x85, 0xcb, 0xcb, 0x03, + 0x39, 0x45, 0xe1, 0xe2, 0xa8, 0x60, 0x32, 0xd1, 0xb6, 0x34, 0x0d, 0x19, 0x15, 0x93, 0x2e, 0xd6, + 0xa7, 0xce, 0xe2, 0x9e, 0x8f, 0xd2, 0xe1, 0xc3, 0x84, 0x8d, 0xe4, 0xc0, 0x50, 0x90, 0xc2, 0x73, + 0x46, 0x33, 0x42, 0x33, 0x21, 0xdb, 0x41, 0x59, 0x8d, 0xc5, 0x65, 0x25, 0x29, 0x8a, 0x73, 0xd1, + 0x2b, 0x48, 0x67, 0x05, 0x1a, 0x29, 0x19, 0xcb, 0x8a, 0xe3, 0x3f, 0x0d, 0xe4, 0x96, 0x4d, 0xe4, + 0x2a, 0xad, 0x60, 0x45, 0x3c, 0xd5, 0x5b, 0x41, 0x39, 0xeb, 0xaf, 0x1a, 0xb3, 0xfe, 0x16, 0xcc, + 0xb3, 0x98, 0xe7, 0x79, 0xda, 0x73, 0x44, 0x8d, 0x7d, 0x71, 0x7a, 0x8d, 0x6d, 0x3e, 0xc3, 0x95, + 0x0f, 0x68, 0x96, 0x9c, 0x7b, 0x85, 0x9c, 0xb3, 0x07, 0xcb, 0xec, 0xe8, 0x28, 0x0a, 0x29, 0x39, + 0xc8, 0xd3, 0x63, 0x71, 0xb2, 0xdd, 0x10, 0x27, 0x9b, 0x3b, 0x41, 0xd5, 0x33, 0x73, 0xa5, 0x57, + 0x15, 0xbd, 0x79, 0x0f, 0x16, 0xf5, 0x6d, 0x78, 0x18, 0x4e, 0xc8, 0xb9, 0xcc, 0x41, 0xfe, 0x93, + 0x0f, 0x7b, 0xa7, 0x7e, 0x94, 0xe3, 0x31, 0xb0, 0xe0, 0x21, 0x71, 0xcf, 0xfe, 0x96, 0xe5, 0xfe, + 0xd2, 0x82, 0xe5, 0xca, 0x06, 0x7c, 0x75, 0x16, 0x66, 0x11, 0x91, 0x1a, 0x90, 0x70, 0x1c, 0x98, + 0x0b, 0x48, 0x3a, 0x90, 0x29, 0x2c, 0x7e, 0xcb, 0x4e, 0xd6, 0x50, 0xe3, 0x22, 0x7f, 0xa1, 0x7b, + 0xd6, 0xe7, 0x8a, 0xfa, 0x2c, 0xa7, 0x81, 0x7a, 0xa1, 0xd3, 0x78, 0x3c, 0x85, 0xc2, 0x67, 0xfd, + 0x6d, 0x3f, 0x18, 0x12, 0x7c, 0xed, 0x6a, 0x0a, 0x9b, 0x4c, 0xa6, 0x1b, 0xc0, 0xc2, 0xf3, 0x30, + 0x4e, 0x77, 0xd8, 0x68, 0xc4, 0x81, 0x08, 0x48, 0xc6, 0x67, 0x55, 0x4b, 0xe0, 0x2d, 0x29, 0x9e, + 0x2a, 0x01, 0x39, 0xf2, 0xf3, 0x28, 0xe3, 0x4b, 0x8b, 0xc2, 0xd5, 0x58, 0xe2, 0x85, 0x23, 0x65, + 0x74, 0x17, 0xa5, 0xd1, 0x4e, 0x8d, 0xe3, 0xfe, 0xc5, 0x86, 0x15, 0x31, 0x38, 0xec, 0x08, 0xd8, + 0x03, 0x21, 0x74, 0x17, 0x9a, 0xa2, 0x0c, 0xe5, 0xb0, 0x72, 0xf1, 0xb0, 0x81, 0x4b, 0x9d, 0xfb, + 0xd0, 0x62, 0xb1, 0x18, 0x39, 0x71, 0x42, 0x79, 0x67, 0x9a, 0x90, 0xf9, 0x6e, 0xe7, 0x49, 0x29, + 0xe7, 0x21, 0x00, 0xbe, 0x76, 0xee, 0x95, 0xad, 0x7b, 0x56, 0x1d, 0x9a, 0x24, 0x0f, 0xae, 0x6a, + 0xc3, 0xea, 0x05, 0xaf, 0xe1, 0x99, 0x4c, 0xe7, 0x29, 0x2c, 0x09, 0xb3, 0x9f, 0x15, 0x53, 0xa7, + 0xc0, 0x60, 0xf6, 0x1d, 0x2b, 0xd2, 0xee, 0xc7, 0x96, 0x0c, 0x23, 0x7f, 0xda, 0x27, 0x18, 0xfb, + 0x32, 0x24, 0xd6, 0x95, 0x42, 0x72, 0x13, 0x16, 0x46, 0xb9, 0x36, 0x04, 0x37, 0x3c, 0x45, 0x97, + 0x10, 0x35, 0x66, 0x86, 0xc8, 0xfd, 0x8d, 0x05, 0xbd, 0xf7, 0x59, 0x48, 0xc5, 0x83, 0xad, 0x38, + 0x8e, 0xe4, 0x2d, 0xc4, 0x95, 0x31, 0xff, 0x1e, 0xb4, 0x7d, 0x54, 0x43, 0x33, 0x09, 0xfb, 0x0c, + 0x83, 0x6d, 0x29, 0xa3, 0xcd, 0x28, 0x0d, 0x7d, 0x46, 0x71, 0x7f, 0x6f, 0xc1, 0x12, 0x06, 0xe5, + 0x83, 0x3c, 0xcc, 0xae, 0x6c, 0xdf, 0x36, 0x2c, 0x8c, 0xf3, 0x30, 0xbb, 0x42, 0x56, 0x2a, 0xb9, + 0x7a, 0x3e, 0x35, 0x26, 0xe4, 0x93, 0xfb, 0x89, 0x05, 0xb7, 0xaa, 0x61, 0xdd, 0x1a, 0x0c, 0x48, + 0xfc, 0x3a, 0x4b, 0xca, 0x98, 0xd1, 0xe6, 0x2a, 0x33, 0xda, 0x44, 0x93, 0x3d, 0xf2, 0x11, 0x19, + 0xbc, 0xb9, 0x26, 0xff, 0xdc, 0x86, 0xcf, 0x3e, 0x52, 0x85, 0xf7, 0x3c, 0xf1, 0x69, 0x7a, 0x44, + 0x92, 0xe4, 0x35, 0xda, 0xbb, 0x07, 0x5d, 0x4a, 0xce, 0x4a, 0x9b, 0x64, 0x39, 0xce, 0xaa, 0xc6, + 0x14, 0x9e, 0xad, 0x77, 0xb9, 0xff, 0xb6, 0x60, 0x05, 0xf5, 0x7c, 0x3f, 0x1c, 0x9c, 0xbc, 0x46, + 0xe7, 0x9f, 0xc2, 0xd2, 0x89, 0xb0, 0x80, 0x53, 0x57, 0x68, 0xdb, 0x15, 0xe9, 0x19, 0xdd, 0xff, + 0x8f, 0x05, 0xab, 0xa8, 0xe8, 0x09, 0x3d, 0x0d, 0x5f, 0x67, 0xb2, 0x1e, 0xc0, 0x72, 0x88, 0x26, + 0x5c, 0x31, 0x00, 0x55, 0xf1, 0x19, 0x23, 0xf0, 0x07, 0x0b, 0x96, 0x51, 0xd3, 0x03, 0x9a, 0x91, + 0xe4, 0xca, 0xfe, 0x3f, 0x86, 0x0e, 0xa1, 0x59, 0xe2, 0xd3, 0xab, 0x74, 0x48, 0x5d, 0x74, 0xc6, + 0x26, 0x79, 0x02, 0xab, 0xf8, 0x0a, 0xaf, 0x75, 0x1c, 0x3e, 0xcb, 0xfa, 0x01, 0x8e, 0xa7, 0x96, + 0x10, 0x2a, 0x48, 0xf3, 0x72, 0x46, 0xde, 0xae, 0x97, 0x97, 0x33, 0xb7, 0x01, 0xfc, 0x20, 0xf8, + 0x90, 0x25, 0x41, 0x48, 0x8b, 0xe3, 0x43, 0xe3, 0xb8, 0xef, 0xc3, 0x22, 0x9f, 0xa6, 0x9f, 0x6b, + 0x2f, 0xe3, 0x17, 0x5e, 0x17, 0xe8, 0x2f, 0xf2, 0xb6, 0xf9, 0x22, 0xef, 0xfe, 0x04, 0xfe, 0xbf, + 0x66, 0xb8, 0x88, 0xfa, 0x0e, 0xde, 0x31, 0x14, 0x9b, 0xc8, 0xe0, 0x7f, 0x7e, 0x42, 0x08, 0x75, + 0x5b, 0x3c, 0x43, 0xc8, 0xfd, 0x99, 0x05, 0x6f, 0xd7, 0xd4, 0x6f, 0xc5, 0x71, 0xc2, 0x4e, 0x65, + 0x72, 0x5f, 0xc7, 0x36, 0x66, 0x6b, 0xb5, 0xab, 0xad, 0x75, 0xa2, 0x11, 0xc6, 0x71, 0xf0, 0x29, + 0x18, 0xf1, 0x5b, 0x0b, 0x96, 0xa5, 0x11, 0x41, 0x20, 0xb7, 0xfd, 0x26, 0xb4, 0xf0, 0x7e, 0x52, + 0x6e, 0xf8, 0xf6, 0xc4, 0x0d, 0x8b, 0x7b, 0x55, 0x4f, 0x2e, 0xae, 0x67, 0xa4, 0x3d, 0x69, 0x0c, + 0xfc, 0xb6, 0xea, 0x00, 0x33, 0xdf, 0x20, 0x4a, 0x01, 0xf7, 0x87, 0x45, 0x32, 0xef, 0x92, 0x88, + 0x5c, 0x67, 0x8c, 0xdc, 0x17, 0xb0, 0x24, 0x2e, 0x4b, 0xcb, 0x18, 0x5c, 0x8b, 0xda, 0x0f, 0x61, + 0x45, 0xa8, 0xbd, 0x76, 0x7b, 0x55, 0x75, 0xf0, 0xf8, 0xec, 0x1c, 0xfb, 0x74, 0x78, 0x9d, 0xda, + 0xbf, 0x06, 0x37, 0x8a, 0xd8, 0xbf, 0x88, 0x03, 0xf5, 0x8a, 0x32, 0xe5, 0x62, 0xc6, 0xfd, 0x3a, + 0xac, 0xed, 0x30, 0x7a, 0x4a, 0x92, 0x54, 0xa0, 0x8c, 0x22, 0x85, 0x84, 0x51, 0xfc, 0x92, 0x72, + 0xfb, 0xb0, 0x2a, 0xaf, 0x14, 0x0f, 0xfc, 0x61, 0x48, 0xb1, 0x2b, 0xdd, 0x06, 0x88, 0xfd, 0x61, + 0xf1, 0x49, 0x01, 0xef, 0x9d, 0x34, 0x0e, 0x7f, 0x9e, 0x1e, 0xb3, 0x33, 0xf9, 0xdc, 0xc6, 0xe7, + 0x25, 0xc7, 0xfd, 0x01, 0x38, 0x1e, 0x49, 0x63, 0x46, 0x53, 0xa2, 0x69, 0x5d, 0x87, 0xce, 0x4e, + 0x9e, 0x24, 0x84, 0xf2, 0xad, 0x8a, 0xfb, 0x75, 0x9d, 0xc5, 0xf5, 0xf6, 0x4b, 0xbd, 0x78, 0x57, + 0xa1, 0x71, 0xdc, 0x5f, 0x37, 0xa0, 0xdd, 0x0f, 0x87, 0xd4, 0x8f, 0x3c, 0x32, 0x76, 0xbe, 0x03, + 0x2d, 0x3c, 0x41, 0x64, 0x68, 0x27, 0xbd, 0x3b, 0xe3, 0x6a, 0x3c, 0x2a, 0x3d, 0x32, 0x7e, 0xfc, + 0x7f, 0x9e, 0x94, 0x71, 0x3e, 0x80, 0x2e, 0xfe, 0x7a, 0x82, 0x6f, 0x04, 0xf2, 0x00, 0xf8, 0xd2, + 0x25, 0x4a, 0xe4, 0x6a, 0xd4, 0x65, 0x6a, 0xe0, 0x06, 0x0d, 0x7c, 0x3a, 0x90, 0xdf, 0xdc, 0x2e, + 0x32, 0x68, 0x47, 0x2c, 0x93, 0x06, 0xa1, 0x0c, 0x97, 0xf6, 0xc5, 0xcc, 0x2c, 0xbf, 0x5a, 0x4c, + 0x97, 0xc6, 0xd1, 0x5a, 0x4a, 0xa3, 0x0c, 0x97, 0x3e, 0xce, 0xe9, 0xf0, 0x45, 0x2c, 0x5f, 0xe5, + 0xa6, 0x4b, 0x3f, 0x16, 0xcb, 0xa4, 0x34, 0xca, 0x70, 0xe9, 0x44, 0x74, 0x3b, 0x11, 0xf4, 0x8b, + 0xa4, 0xb1, 0x29, 0x4a, 0x69, 0x94, 0xd9, 0x6e, 0xc3, 0x7c, 0xec, 0x9f, 0x47, 0xcc, 0x0f, 0xdc, + 0xdf, 0x35, 0x00, 0x8a, 0x85, 0xa9, 0x98, 0x31, 0x0c, 0x88, 0x36, 0x2e, 0x85, 0x28, 0x8e, 0xce, + 0x35, 0x90, 0xfa, 0x93, 0x41, 0xfa, 0xca, 0xac, 0x20, 0xa1, 0xb6, 0x0a, 0x4c, 0xf7, 0x2b, 0x30, + 0x6d, 0x5c, 0x0a, 0x93, 0x34, 0x4a, 0x02, 0x75, 0xbf, 0x02, 0xd4, 0xc6, 0xa5, 0x40, 0x49, 0x79, + 0x09, 0xd5, 0xfd, 0x0a, 0x54, 0x1b, 0x97, 0x42, 0x25, 0xe5, 0x25, 0x58, 0xf7, 0x2b, 0x60, 0x6d, + 0x5c, 0x0a, 0x96, 0x94, 0xaf, 0xc3, 0xf5, 0x89, 0x0d, 0x4b, 0x22, 0x64, 0x78, 0x6f, 0x4b, 0x8f, + 0x98, 0xb8, 0x9e, 0x11, 0xe1, 0x32, 0xbf, 0x50, 0x99, 0x4c, 0xe7, 0xab, 0xb0, 0x8a, 0x0c, 0xf9, + 0x45, 0x43, 0x8c, 0x7f, 0xf6, 0x7a, 0xe3, 0x4e, 0xdb, 0xab, 0x3f, 0x10, 0x37, 0x6d, 0x79, 0x9a, + 0xb1, 0xd1, 0xae, 0x9f, 0xf9, 0xc5, 0xb4, 0x52, 0x72, 0xf4, 0x7b, 0xd0, 0xb9, 0xda, 0x17, 0xee, + 0x84, 0xb1, 0x91, 0xba, 0xe0, 0x94, 0x14, 0x97, 0xc8, 0xc2, 0x11, 0x61, 0x79, 0x26, 0xdb, 0x44, + 0x41, 0xf2, 0x33, 0x76, 0x44, 0x82, 0xd0, 0x17, 0xb7, 0x87, 0xf2, 0xb3, 0x82, 0x62, 0x70, 0x4b, + 0xb4, 0xdb, 0x50, 0xf9, 0x05, 0x5a, 0xbb, 0x07, 0xbd, 0xf4, 0xe6, 0xd2, 0xfd, 0xd8, 0x82, 0xe5, + 0x4a, 0x57, 0x71, 0xb6, 0x00, 0x42, 0x15, 0xc5, 0x0b, 0xbe, 0x71, 0x99, 0xa1, 0xf6, 0x34, 0xa1, + 0x49, 0x37, 0x82, 0xf6, 0x95, 0x6f, 0x04, 0xdd, 0x1d, 0x58, 0xad, 0x95, 0x95, 0xb8, 0xd6, 0x63, + 0x27, 0x84, 0xaa, 0x6b, 0x3d, 0x4e, 0xf0, 0x48, 0x46, 0xe1, 0xa9, 0xfe, 0xc5, 0x59, 0x92, 0x7c, + 0x1e, 0x59, 0x9b, 0xdc, 0xfa, 0xde, 0x3c, 0x87, 0x0f, 0xa1, 0x37, 0xad, 0x01, 0x4c, 0xf1, 0xbb, + 0xcc, 0x2c, 0xbb, 0x9a, 0x59, 0x53, 0xe2, 0xf1, 0x57, 0x85, 0xbc, 0x6a, 0xdf, 0x33, 0x56, 0x8b, + 0x19, 0x2e, 0xfb, 0x9a, 0xc2, 0xd5, 0xb8, 0x7a, 0xb8, 0x6e, 0x14, 0xf9, 0xa1, 0x75, 0x38, 0xcd, + 0x3f, 0x75, 0xc0, 0x94, 0xfe, 0x91, 0x49, 0xfe, 0x91, 0x37, 0xd5, 0xbf, 0x1f, 0x17, 0xfe, 0x69, + 0x1d, 0xf8, 0xda, 0xf2, 0xe0, 0x4f, 0x2a, 0x4e, 0xea, 0x28, 0x9d, 0x36, 0x5e, 0xbd, 0xc1, 0xc8, + 0x6b, 0x67, 0x8b, 0x86, 0xbc, 0x3a, 0xde, 0xff, 0x57, 0x91, 0x57, 0xfe, 0x69, 0x67, 0xdf, 0xf6, + 0xad, 0x1f, 0xdd, 0xdc, 0x7c, 0x17, 0xff, 0xf9, 0xf6, 0x5e, 0x4d, 0xe7, 0x61, 0x4b, 0xfc, 0x13, + 0xee, 0x1b, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xb8, 0x68, 0xa2, 0x99, 0x1c, 0x27, 0x00, 0x00, } diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 61515548f..ff4d3f90d 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -376,8 +376,6 @@ message InvitationInfo { string mediaType = 7; int32 PlatformID = 8; int32 sessionType = 9; - - } @@ -446,3 +444,8 @@ message SignalRejectReply { } + + + + + From 470bdb6efb8c87e34e1b41041153c928e7a580ea Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 19:46:01 +0800 Subject: [PATCH 037/129] ws modify --- internal/msg_gateway/gate/validate.go | 48 +++++++++++++-------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/internal/msg_gateway/gate/validate.go b/internal/msg_gateway/gate/validate.go index 81a93f210..a8d686fc8 100644 --- a/internal/msg_gateway/gate/validate.go +++ b/internal/msg_gateway/gate/validate.go @@ -195,16 +195,16 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq) (isPass bool, case *open_im_sdk.SignalReq_Cancel: cancel := open_im_sdk.SignalResp_Cancel{&open_im_sdk.SignalCancelReply{}} resp.Payload = &cancel - msg.OfflinePushInfo = payload.Cancel.Invitation.OfflinePushInfo - msg.SendID = payload.Cancel.Invitation.Invitation.InviterUserID - msg.SenderPlatformID = payload.Cancel.Invitation.Invitation.PlatformID - msg.SessionType = payload.Cancel.Invitation.Invitation.SessionType - if len(payload.Cancel.Invitation.Invitation.InviteeUserIDList) > 0 { - switch payload.Cancel.Invitation.Invitation.SessionType { + msg.OfflinePushInfo = payload.Cancel.OfflinePushInfo + msg.SendID = payload.Cancel.Invitation.InviterUserID + msg.SenderPlatformID = payload.Cancel.Invitation.PlatformID + msg.SessionType = payload.Cancel.Invitation.SessionType + if len(payload.Cancel.Invitation.InviteeUserIDList) > 0 { + switch payload.Cancel.Invitation.SessionType { case constant.SingleChatType: - msg.RecvID = payload.Cancel.Invitation.Invitation.InviteeUserIDList[0] + msg.RecvID = payload.Cancel.Invitation.InviteeUserIDList[0] case constant.GroupChatType: - msg.GroupID = payload.Cancel.Invitation.Invitation.GroupID + msg.GroupID = payload.Cancel.Invitation.GroupID } } else { return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil @@ -212,26 +212,26 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq) (isPass bool, msg.ClientMsgID = utils.GetMsgID(payload.Cancel.InviterUserID) return true, 0, "", &resp, &msg case *open_im_sdk.SignalReq_Accept: - token, err2 := media.GetJoinToken(payload.Accept.Invitation.Invitation.RoomID, payload.Accept.InviteeUserID) + token, err2 := media.GetJoinToken(payload.Accept.Invitation.RoomID, payload.Accept.InviteeUserID) if err2 != nil { return false, 201, err2.Error(), nil, nil } cancel := open_im_sdk.SignalResp_Accept{&open_im_sdk.SignalAcceptReply{ Token: token, LiveURL: media.GetUrl(), - RoomID: payload.Accept.Invitation.Invitation.RoomID, + RoomID: payload.Accept.Invitation.RoomID, }} resp.Payload = &cancel - msg.OfflinePushInfo = payload.Accept.Invitation.OfflinePushInfo + msg.OfflinePushInfo = payload.Accept.OfflinePushInfo msg.SendID = payload.Accept.InviteeUserID - msg.SenderPlatformID = payload.Accept.Invitation.Invitation.PlatformID - msg.SessionType = payload.Accept.Invitation.Invitation.SessionType - if len(payload.Accept.Invitation.Invitation.InviteeUserIDList) > 0 { - switch payload.Accept.Invitation.Invitation.SessionType { + msg.SenderPlatformID = payload.Accept.Invitation.PlatformID + msg.SessionType = payload.Accept.Invitation.SessionType + if len(payload.Accept.Invitation.InviteeUserIDList) > 0 { + switch payload.Accept.Invitation.SessionType { case constant.SingleChatType: - msg.RecvID = payload.Accept.Invitation.Invitation.InviterUserID + msg.RecvID = payload.Accept.Invitation.InviterUserID case constant.GroupChatType: - msg.GroupID = payload.Accept.Invitation.Invitation.GroupID + msg.GroupID = payload.Accept.Invitation.GroupID } } else { return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil @@ -242,16 +242,16 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq) (isPass bool, case *open_im_sdk.SignalReq_Reject: cancel := open_im_sdk.SignalResp_Reject{&open_im_sdk.SignalRejectReply{}} resp.Payload = &cancel - msg.OfflinePushInfo = payload.Reject.Invitation.OfflinePushInfo + msg.OfflinePushInfo = payload.Reject.OfflinePushInfo msg.SendID = payload.Reject.InviteeUserID - msg.SenderPlatformID = payload.Reject.Invitation.Invitation.PlatformID - msg.SessionType = payload.Reject.Invitation.Invitation.SessionType - if len(payload.Reject.Invitation.Invitation.InviteeUserIDList) > 0 { - switch payload.Reject.Invitation.Invitation.SessionType { + msg.SenderPlatformID = payload.Reject.Invitation.PlatformID + msg.SessionType = payload.Reject.Invitation.SessionType + if len(payload.Reject.Invitation.InviteeUserIDList) > 0 { + switch payload.Reject.Invitation.SessionType { case constant.SingleChatType: - msg.RecvID = payload.Reject.Invitation.Invitation.InviterUserID + msg.RecvID = payload.Reject.Invitation.InviterUserID case constant.GroupChatType: - msg.GroupID = payload.Reject.Invitation.Invitation.GroupID + msg.GroupID = payload.Reject.Invitation.GroupID } } else { return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil From 1d3f05c22b38708ae0be2a06e70afb7af6f88b97 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 14 Mar 2022 20:02:42 +0800 Subject: [PATCH 038/129] rtc --- cmd/rpc/open_im_rtc/main.go | 27 +++++++++++++++++++++++++++ go.mod | 1 + 2 files changed, 28 insertions(+) create mode 100644 cmd/rpc/open_im_rtc/main.go diff --git a/cmd/rpc/open_im_rtc/main.go b/cmd/rpc/open_im_rtc/main.go new file mode 100644 index 000000000..e093a361f --- /dev/null +++ b/cmd/rpc/open_im_rtc/main.go @@ -0,0 +1,27 @@ +package main + +import ( + "Open_IM/internal/rpc/rtc" + "Open_IM/pkg/common/log" + rtcPb "Open_IM/pkg/proto/rtc" + "Open_IM/pkg/utils" + "google.golang.org/grpc" + "google.golang.org/grpc/reflection" + "net" +) + +func main() { + lis, err := net.Listen("tcp", "0.0.0.0:11300") + if err != nil { + log.NewError("", utils.GetSelfFuncName(), err.Error()) + } // 创建 RPC 服务容器 + grpcServer := grpc.NewServer() + rtcPb.RegisterRtcServiceServer(grpcServer, &rtc.RtcService{}) + + reflection.Register(grpcServer) + + if err := grpcServer.Serve(lis); err != nil { + log.NewError("", utils.GetSelfFuncName(), err.Error()) + } + log.NewInfo("", utils.GetSelfFuncName(), "start success") +} \ No newline at end of file diff --git a/go.mod b/go.mod index 327aec7cf..7973c238a 100644 --- a/go.mod +++ b/go.mod @@ -32,6 +32,7 @@ require ( github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible github.com/lestrrat-go/strftime v1.0.4 // indirect github.com/lib/pq v1.2.0 // indirect + github.com/livekit/protocol v0.11.14-0.20220223195254-d8c251e13231 // indirect github.com/livekit/server-sdk-go v0.9.1 github.com/mattn/go-sqlite3 v1.14.6 // indirect github.com/minio/minio-go/v7 v7.0.22 From 9b61fb1f856453497fd2d6cfa0703066e7dcb0e6 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 14 Mar 2022 20:57:40 +0800 Subject: [PATCH 039/129] ws modify --- pkg/proto/sdk_ws/ws.proto | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index ff4d3f90d..54d13a928 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -380,8 +380,9 @@ message InvitationInfo { message SignalInviteReq { - InvitationInfo invitation = 1; - OfflinePushInfo offlinePushInfo = 2; + string opUserID = 1; + InvitationInfo invitation = 2; + OfflinePushInfo offlinePushInfo = 3; } message SignalInviteReply { @@ -390,8 +391,9 @@ message SignalInviteReply { } message SignalInviteInGroupReq { - InvitationInfo invitation = 1; - OfflinePushInfo offlinePushInfo = 2; + string opUserID = 1; + InvitationInfo invitation = 2; + OfflinePushInfo offlinePushInfo = 3; } message SignalInviteInGroupReply { @@ -401,7 +403,7 @@ message SignalInviteInGroupReply { } message SignalCancelReq { - string inviterUserID = 1; + string opUserID = 1; InvitationInfo invitation = 2; OfflinePushInfo offlinePushInfo = 3; } @@ -411,7 +413,7 @@ message SignalCancelReply { } message SignalAcceptReq { - string inviteeUserID = 1; + string opUserID = 1; InvitationInfo invitation = 2; OfflinePushInfo offlinePushInfo = 3; } @@ -423,7 +425,7 @@ message SignalAcceptReply { } message SignalHungUpReq { - string UserID = 1; + string opUserID = 1; InvitationInfo invitation = 2; OfflinePushInfo offlinePushInfo = 3; } From 83fffe717e1888d9019feed2d45ee608f80b10ec Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Tue, 15 Mar 2022 09:47:17 +0800 Subject: [PATCH 040/129] signaling --- pkg/proto/sdk_ws/ws.pb.go | 466 ++++++++++++++++++++------------------ 1 file changed, 241 insertions(+), 225 deletions(-) diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index 1599bdea0..94a44ff2a 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_7a7c19d0410cd72b, []int{0} + return fileDescriptor_ws_013c9875881bc16b, []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_7a7c19d0410cd72b, []int{1} + return fileDescriptor_ws_013c9875881bc16b, []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_7a7c19d0410cd72b, []int{2} + return fileDescriptor_ws_013c9875881bc16b, []int{2} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -344,7 +344,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} } func (m *UserInfo) String() string { return proto.CompactTextString(m) } func (*UserInfo) ProtoMessage() {} func (*UserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{3} + return fileDescriptor_ws_013c9875881bc16b, []int{3} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -451,7 +451,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} } func (m *FriendInfo) String() string { return proto.CompactTextString(m) } func (*FriendInfo) ProtoMessage() {} func (*FriendInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{4} + return fileDescriptor_ws_013c9875881bc16b, []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_7a7c19d0410cd72b, []int{5} + return fileDescriptor_ws_013c9875881bc16b, []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_7a7c19d0410cd72b, []int{6} + return fileDescriptor_ws_013c9875881bc16b, []int{6} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -725,7 +725,7 @@ func (m *FriendRequest) Reset() { *m = FriendRequest{} } func (m *FriendRequest) String() string { return proto.CompactTextString(m) } func (*FriendRequest) ProtoMessage() {} func (*FriendRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{7} + return fileDescriptor_ws_013c9875881bc16b, []int{7} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -863,7 +863,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{8} + return fileDescriptor_ws_013c9875881bc16b, []int{8} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -917,7 +917,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{9} + return fileDescriptor_ws_013c9875881bc16b, []int{9} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -968,7 +968,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{10} + return fileDescriptor_ws_013c9875881bc16b, []int{10} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1000,7 +1000,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{11} + return fileDescriptor_ws_013c9875881bc16b, []int{11} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1047,7 +1047,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{12} + return fileDescriptor_ws_013c9875881bc16b, []int{12} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1116,7 +1116,7 @@ func (m *MsgData) Reset() { *m = MsgData{} } func (m *MsgData) String() string { return proto.CompactTextString(m) } func (*MsgData) ProtoMessage() {} func (*MsgData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{13} + return fileDescriptor_ws_013c9875881bc16b, []int{13} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -1277,7 +1277,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{14} + return fileDescriptor_ws_013c9875881bc16b, []int{14} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -1345,7 +1345,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} } func (m *TipsComm) String() string { return proto.CompactTextString(m) } func (*TipsComm) ProtoMessage() {} func (*TipsComm) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{15} + return fileDescriptor_ws_013c9875881bc16b, []int{15} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -1402,7 +1402,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} } func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } func (*GroupCreatedTips) ProtoMessage() {} func (*GroupCreatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{16} + return fileDescriptor_ws_013c9875881bc16b, []int{16} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -1471,7 +1471,7 @@ func (m *GroupInfoSetTips) Reset() { *m = GroupInfoSetTips{} } func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupInfoSetTips) ProtoMessage() {} func (*GroupInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{17} + return fileDescriptor_ws_013c9875881bc16b, []int{17} } func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) @@ -1526,7 +1526,7 @@ func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTi func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } func (*JoinGroupApplicationTips) ProtoMessage() {} func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{18} + return fileDescriptor_ws_013c9875881bc16b, []int{18} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -1582,7 +1582,7 @@ func (m *MemberQuitTips) Reset() { *m = MemberQuitTips{} } func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) } func (*MemberQuitTips) ProtoMessage() {} func (*MemberQuitTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{19} + return fileDescriptor_ws_013c9875881bc16b, []int{19} } func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) @@ -1637,7 +1637,7 @@ func (m *GroupApplicationAcceptedTips) Reset() { *m = GroupApplicationAc func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationAcceptedTips) ProtoMessage() {} func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{20} + return fileDescriptor_ws_013c9875881bc16b, []int{20} } func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) @@ -1692,7 +1692,7 @@ func (m *GroupApplicationRejectedTips) Reset() { *m = GroupApplicationRe func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationRejectedTips) ProtoMessage() {} func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{21} + return fileDescriptor_ws_013c9875881bc16b, []int{21} } func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) @@ -1748,7 +1748,7 @@ func (m *GroupOwnerTransferredTips) Reset() { *m = GroupOwnerTransferred func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) } func (*GroupOwnerTransferredTips) ProtoMessage() {} func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{22} + return fileDescriptor_ws_013c9875881bc16b, []int{22} } func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) @@ -1811,7 +1811,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} } func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } func (*MemberKickedTips) ProtoMessage() {} func (*MemberKickedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{23} + return fileDescriptor_ws_013c9875881bc16b, []int{23} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -1874,7 +1874,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} } func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } func (*MemberInvitedTips) ProtoMessage() {} func (*MemberInvitedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{24} + return fileDescriptor_ws_013c9875881bc16b, []int{24} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -1936,7 +1936,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} } func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } func (*MemberEnterTips) ProtoMessage() {} func (*MemberEnterTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{25} + return fileDescriptor_ws_013c9875881bc16b, []int{25} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -1990,7 +1990,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_7a7c19d0410cd72b, []int{26} + return fileDescriptor_ws_013c9875881bc16b, []int{26} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -2043,7 +2043,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_7a7c19d0410cd72b, []int{27} + return fileDescriptor_ws_013c9875881bc16b, []int{27} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -2089,7 +2089,7 @@ func (m *FriendApplicationTips) Reset() { *m = FriendApplicationTips{} } func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationTips) ProtoMessage() {} func (*FriendApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{28} + return fileDescriptor_ws_013c9875881bc16b, []int{28} } func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) @@ -2129,7 +2129,7 @@ func (m *FriendApplicationApprovedTips) Reset() { *m = FriendApplication func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationApprovedTips) ProtoMessage() {} func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{29} + return fileDescriptor_ws_013c9875881bc16b, []int{29} } func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) @@ -2176,7 +2176,7 @@ func (m *FriendApplicationRejectedTips) Reset() { *m = FriendApplication func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationRejectedTips) ProtoMessage() {} func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{30} + return fileDescriptor_ws_013c9875881bc16b, []int{30} } func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) @@ -2224,7 +2224,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_7a7c19d0410cd72b, []int{31} + return fileDescriptor_ws_013c9875881bc16b, []int{31} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -2277,7 +2277,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_7a7c19d0410cd72b, []int{32} + return fileDescriptor_ws_013c9875881bc16b, []int{32} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -2315,7 +2315,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_7a7c19d0410cd72b, []int{33} + return fileDescriptor_ws_013c9875881bc16b, []int{33} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -2353,7 +2353,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_7a7c19d0410cd72b, []int{34} + return fileDescriptor_ws_013c9875881bc16b, []int{34} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -2391,7 +2391,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_7a7c19d0410cd72b, []int{35} + return fileDescriptor_ws_013c9875881bc16b, []int{35} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -2430,7 +2430,7 @@ func (m *UserInfoUpdatedTips) Reset() { *m = UserInfoUpdatedTips{} } func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (*UserInfoUpdatedTips) ProtoMessage() {} func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{36} + return fileDescriptor_ws_013c9875881bc16b, []int{36} } func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) @@ -2469,7 +2469,7 @@ func (m *ConversationUpdateTips) Reset() { *m = ConversationUpdateTips{} func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) } func (*ConversationUpdateTips) ProtoMessage() {} func (*ConversationUpdateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{37} + return fileDescriptor_ws_013c9875881bc16b, []int{37} } func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) @@ -2509,7 +2509,7 @@ func (m *RequestPagination) Reset() { *m = RequestPagination{} } func (m *RequestPagination) String() string { return proto.CompactTextString(m) } func (*RequestPagination) ProtoMessage() {} func (*RequestPagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{38} + return fileDescriptor_ws_013c9875881bc16b, []int{38} } func (m *RequestPagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RequestPagination.Unmarshal(m, b) @@ -2555,7 +2555,7 @@ func (m *ResponsePagination) Reset() { *m = ResponsePagination{} } func (m *ResponsePagination) String() string { return proto.CompactTextString(m) } func (*ResponsePagination) ProtoMessage() {} func (*ResponsePagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{39} + return fileDescriptor_ws_013c9875881bc16b, []int{39} } func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) @@ -2608,7 +2608,7 @@ func (m *SignalReq) Reset() { *m = SignalReq{} } func (m *SignalReq) String() string { return proto.CompactTextString(m) } func (*SignalReq) ProtoMessage() {} func (*SignalReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{40} + return fileDescriptor_ws_013c9875881bc16b, []int{40} } func (m *SignalReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalReq.Unmarshal(m, b) @@ -2875,7 +2875,7 @@ func (m *SignalResp) Reset() { *m = SignalResp{} } func (m *SignalResp) String() string { return proto.CompactTextString(m) } func (*SignalResp) ProtoMessage() {} func (*SignalResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{41} + return fileDescriptor_ws_013c9875881bc16b, []int{41} } func (m *SignalResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalResp.Unmarshal(m, b) @@ -3143,7 +3143,7 @@ func (m *InvitationInfo) Reset() { *m = InvitationInfo{} } func (m *InvitationInfo) String() string { return proto.CompactTextString(m) } func (*InvitationInfo) ProtoMessage() {} func (*InvitationInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{42} + return fileDescriptor_ws_013c9875881bc16b, []int{42} } func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) @@ -3227,8 +3227,9 @@ func (m *InvitationInfo) GetSessionType() int32 { } type SignalInviteReq struct { - Invitation *InvitationInfo `protobuf:"bytes,1,opt,name=invitation" json:"invitation,omitempty"` - OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,2,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` + OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -3238,7 +3239,7 @@ func (m *SignalInviteReq) Reset() { *m = SignalInviteReq{} } func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteReq) ProtoMessage() {} func (*SignalInviteReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{43} + return fileDescriptor_ws_013c9875881bc16b, []int{43} } func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) @@ -3258,6 +3259,13 @@ func (m *SignalInviteReq) XXX_DiscardUnknown() { var xxx_messageInfo_SignalInviteReq proto.InternalMessageInfo +func (m *SignalInviteReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + func (m *SignalInviteReq) GetInvitation() *InvitationInfo { if m != nil { return m.Invitation @@ -3284,7 +3292,7 @@ func (m *SignalInviteReply) Reset() { *m = SignalInviteReply{} } func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteReply) ProtoMessage() {} func (*SignalInviteReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{44} + return fileDescriptor_ws_013c9875881bc16b, []int{44} } func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) @@ -3319,8 +3327,9 @@ func (m *SignalInviteReply) GetLiveURL() string { } type SignalInviteInGroupReq struct { - Invitation *InvitationInfo `protobuf:"bytes,1,opt,name=invitation" json:"invitation,omitempty"` - OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,2,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` + OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -3330,7 +3339,7 @@ func (m *SignalInviteInGroupReq) Reset() { *m = SignalInviteInGroupReq{} func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReq) ProtoMessage() {} func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{45} + return fileDescriptor_ws_013c9875881bc16b, []int{45} } func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) @@ -3350,6 +3359,13 @@ func (m *SignalInviteInGroupReq) XXX_DiscardUnknown() { var xxx_messageInfo_SignalInviteInGroupReq proto.InternalMessageInfo +func (m *SignalInviteInGroupReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + func (m *SignalInviteInGroupReq) GetInvitation() *InvitationInfo { if m != nil { return m.Invitation @@ -3377,7 +3393,7 @@ func (m *SignalInviteInGroupReply) Reset() { *m = SignalInviteInGroupRep func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReply) ProtoMessage() {} func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{46} + return fileDescriptor_ws_013c9875881bc16b, []int{46} } func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) @@ -3419,7 +3435,7 @@ func (m *SignalInviteInGroupReply) GetLiveURL() string { } type SignalCancelReq struct { - InviterUserID string `protobuf:"bytes,1,opt,name=inviterUserID" json:"inviterUserID,omitempty"` + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -3431,7 +3447,7 @@ func (m *SignalCancelReq) Reset() { *m = SignalCancelReq{} } func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) } func (*SignalCancelReq) ProtoMessage() {} func (*SignalCancelReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{47} + return fileDescriptor_ws_013c9875881bc16b, []int{47} } func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) @@ -3451,9 +3467,9 @@ func (m *SignalCancelReq) XXX_DiscardUnknown() { var xxx_messageInfo_SignalCancelReq proto.InternalMessageInfo -func (m *SignalCancelReq) GetInviterUserID() string { +func (m *SignalCancelReq) GetOpUserID() string { if m != nil { - return m.InviterUserID + return m.OpUserID } return "" } @@ -3482,7 +3498,7 @@ func (m *SignalCancelReply) Reset() { *m = SignalCancelReply{} } func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) } func (*SignalCancelReply) ProtoMessage() {} func (*SignalCancelReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{48} + return fileDescriptor_ws_013c9875881bc16b, []int{48} } func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) @@ -3503,7 +3519,7 @@ func (m *SignalCancelReply) XXX_DiscardUnknown() { var xxx_messageInfo_SignalCancelReply proto.InternalMessageInfo type SignalAcceptReq struct { - InviteeUserID string `protobuf:"bytes,1,opt,name=inviteeUserID" json:"inviteeUserID,omitempty"` + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -3515,7 +3531,7 @@ func (m *SignalAcceptReq) Reset() { *m = SignalAcceptReq{} } func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReq) ProtoMessage() {} func (*SignalAcceptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{49} + return fileDescriptor_ws_013c9875881bc16b, []int{49} } func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) @@ -3535,9 +3551,9 @@ func (m *SignalAcceptReq) XXX_DiscardUnknown() { var xxx_messageInfo_SignalAcceptReq proto.InternalMessageInfo -func (m *SignalAcceptReq) GetInviteeUserID() string { +func (m *SignalAcceptReq) GetOpUserID() string { if m != nil { - return m.InviteeUserID + return m.OpUserID } return "" } @@ -3569,7 +3585,7 @@ func (m *SignalAcceptReply) Reset() { *m = SignalAcceptReply{} } func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReply) ProtoMessage() {} func (*SignalAcceptReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{50} + return fileDescriptor_ws_013c9875881bc16b, []int{50} } func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) @@ -3611,7 +3627,7 @@ func (m *SignalAcceptReply) GetLiveURL() string { } type SignalHungUpReq struct { - UserID string `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"` + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -3623,7 +3639,7 @@ func (m *SignalHungUpReq) Reset() { *m = SignalHungUpReq{} } func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReq) ProtoMessage() {} func (*SignalHungUpReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{51} + return fileDescriptor_ws_013c9875881bc16b, []int{51} } func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) @@ -3643,9 +3659,9 @@ func (m *SignalHungUpReq) XXX_DiscardUnknown() { var xxx_messageInfo_SignalHungUpReq proto.InternalMessageInfo -func (m *SignalHungUpReq) GetUserID() string { +func (m *SignalHungUpReq) GetOpUserID() string { if m != nil { - return m.UserID + return m.OpUserID } return "" } @@ -3674,7 +3690,7 @@ func (m *SignalHungUpReply) Reset() { *m = SignalHungUpReply{} } func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReply) ProtoMessage() {} func (*SignalHungUpReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{52} + return fileDescriptor_ws_013c9875881bc16b, []int{52} } func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) @@ -3707,7 +3723,7 @@ func (m *SignalRejectReq) Reset() { *m = SignalRejectReq{} } func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) } func (*SignalRejectReq) ProtoMessage() {} func (*SignalRejectReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{53} + return fileDescriptor_ws_013c9875881bc16b, []int{53} } func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) @@ -3758,7 +3774,7 @@ func (m *SignalRejectReply) Reset() { *m = SignalRejectReply{} } func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) } func (*SignalRejectReply) ProtoMessage() {} func (*SignalRejectReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_7a7c19d0410cd72b, []int{54} + return fileDescriptor_ws_013c9875881bc16b, []int{54} } func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) @@ -3837,162 +3853,162 @@ func init() { proto.RegisterType((*SignalRejectReply)(nil), "server_api_params.SignalRejectReply") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_7a7c19d0410cd72b) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_013c9875881bc16b) } -var fileDescriptor_ws_7a7c19d0410cd72b = []byte{ - // 2464 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0x4b, 0x6f, 0x24, 0x49, - 0xf1, 0xff, 0x57, 0xb5, 0xbb, 0xed, 0x8e, 0x76, 0xfb, 0x51, 0xb3, 0x7f, 0xd3, 0x0c, 0xb3, 0x83, - 0x29, 0x59, 0xcb, 0xf0, 0xf2, 0xa2, 0x41, 0x48, 0x30, 0x0b, 0x83, 0xfc, 0x98, 0xd7, 0x62, 0xcf, - 0x78, 0xab, 0x67, 0x58, 0x04, 0x48, 0xa3, 0x72, 0x57, 0xba, 0x5d, 0xeb, 0xea, 0xcc, 0xea, 0x7a, - 0xd8, 0x63, 0x89, 0x13, 0x48, 0x7c, 0x03, 0xb8, 0x22, 0xed, 0x05, 0x21, 0x21, 0xb4, 0x17, 0x84, - 0x84, 0x38, 0x72, 0xe0, 0xca, 0x99, 0xaf, 0xc0, 0x95, 0x03, 0x12, 0x12, 0x28, 0x33, 0xb2, 0xb2, - 0x32, 0xab, 0xba, 0xed, 0x96, 0x65, 0xed, 0x0c, 0xb7, 0x8e, 0xa8, 0x8c, 0xc8, 0x88, 0xf8, 0x45, - 0x44, 0x46, 0x65, 0x35, 0x2c, 0xa7, 0xc1, 0xc9, 0xcb, 0xb3, 0xf4, 0xdd, 0xb3, 0x74, 0x33, 0x4e, - 0x58, 0xc6, 0x9c, 0xd5, 0x94, 0x24, 0xa7, 0x24, 0x79, 0xe9, 0xc7, 0xe1, 0xcb, 0xd8, 0x4f, 0xfc, - 0x51, 0xea, 0xfe, 0xd3, 0x86, 0xf6, 0xa3, 0x84, 0xe5, 0xf1, 0x13, 0x7a, 0xc4, 0x9c, 0x1e, 0xcc, - 0x0f, 0x05, 0xb1, 0xdb, 0xb3, 0xd6, 0xad, 0x3b, 0x6d, 0xaf, 0x20, 0x9d, 0x5b, 0xd0, 0x16, 0x3f, - 0x9f, 0xfa, 0x23, 0xd2, 0xb3, 0xc5, 0xb3, 0x92, 0xe1, 0xb8, 0xb0, 0x48, 0x59, 0x16, 0x1e, 0x85, - 0x03, 0x3f, 0x0b, 0x19, 0xed, 0x35, 0xc4, 0x02, 0x83, 0xc7, 0xd7, 0x84, 0x34, 0x4b, 0x58, 0x90, - 0x0f, 0xc4, 0x9a, 0x39, 0x5c, 0xa3, 0xf3, 0xf8, 0xfe, 0x47, 0xfe, 0x80, 0xbc, 0xf0, 0xf6, 0x7a, - 0x4d, 0xdc, 0x5f, 0x92, 0xce, 0x3a, 0x74, 0xd8, 0x19, 0x25, 0xc9, 0x8b, 0x94, 0x24, 0x4f, 0x76, - 0x7b, 0x2d, 0xf1, 0x54, 0x67, 0x39, 0xb7, 0x01, 0x06, 0x09, 0xf1, 0x33, 0xf2, 0x3c, 0x1c, 0x91, - 0xde, 0xfc, 0xba, 0x75, 0xa7, 0xeb, 0x69, 0x1c, 0xae, 0x61, 0x44, 0x46, 0x87, 0x24, 0xd9, 0x61, - 0x39, 0xcd, 0x7a, 0x0b, 0x62, 0x81, 0xce, 0x72, 0x96, 0xc0, 0x26, 0xaf, 0x7a, 0x6d, 0xa1, 0xda, - 0x26, 0xaf, 0x9c, 0x35, 0x68, 0xa5, 0x99, 0x9f, 0xe5, 0x69, 0x0f, 0xd6, 0xad, 0x3b, 0x4d, 0x4f, - 0x52, 0xce, 0x06, 0x74, 0x85, 0x5e, 0x56, 0x58, 0xd3, 0x11, 0x22, 0x26, 0x53, 0x45, 0xec, 0xf9, - 0x79, 0x4c, 0x7a, 0x8b, 0x42, 0x41, 0xc9, 0x70, 0xff, 0x68, 0xc3, 0x0d, 0x11, 0xf7, 0x7d, 0x61, - 0xc0, 0xc3, 0x3c, 0x8a, 0x2e, 0x41, 0x60, 0x0d, 0x5a, 0x39, 0x6e, 0x87, 0xe1, 0x97, 0x14, 0xdf, - 0x27, 0x61, 0x11, 0xd9, 0x23, 0xa7, 0x24, 0x12, 0x81, 0x6f, 0x7a, 0x25, 0xc3, 0xb9, 0x09, 0x0b, - 0x1f, 0xb1, 0x90, 0x8a, 0x98, 0xcc, 0x89, 0x87, 0x8a, 0xe6, 0xcf, 0x68, 0x38, 0x38, 0xa1, 0x1c, - 0x52, 0x0c, 0xb7, 0xa2, 0x75, 0x24, 0x5a, 0x26, 0x12, 0xef, 0xc0, 0x92, 0x1f, 0xc7, 0xfb, 0x3e, - 0x1d, 0x92, 0x04, 0x37, 0x9d, 0x17, 0x7a, 0x2b, 0x5c, 0x8e, 0x07, 0xdf, 0xa9, 0xcf, 0xf2, 0x64, - 0x40, 0x44, 0xb8, 0x9b, 0x9e, 0xc6, 0xe1, 0x7a, 0x58, 0x4c, 0x12, 0x2d, 0x8c, 0x18, 0xf9, 0x0a, - 0x57, 0xa2, 0x02, 0x05, 0x2a, 0xee, 0x2f, 0x2c, 0x58, 0x3a, 0xc8, 0x0f, 0xa3, 0x70, 0x20, 0x16, - 0xf0, 0xa0, 0x95, 0xa1, 0xb1, 0x8c, 0xd0, 0xe8, 0x0e, 0xda, 0xd3, 0x1d, 0x6c, 0x98, 0x0e, 0xae, - 0x41, 0x6b, 0x48, 0x68, 0x40, 0x12, 0x19, 0x30, 0x49, 0x49, 0x43, 0x9a, 0xca, 0x90, 0x5f, 0xd9, - 0xb0, 0xf0, 0x29, 0x9b, 0xb0, 0x0e, 0x9d, 0xf8, 0x98, 0x51, 0xf2, 0x34, 0xe7, 0x49, 0x23, 0x6d, - 0xd1, 0x59, 0xce, 0x5b, 0xd0, 0x3c, 0x0c, 0x93, 0xec, 0x58, 0xa0, 0xd6, 0xf5, 0x90, 0xe0, 0x5c, - 0x32, 0xf2, 0x43, 0x84, 0xaa, 0xed, 0x21, 0x21, 0x1d, 0x5a, 0x50, 0xf9, 0x6e, 0x56, 0x50, 0xbb, - 0x56, 0x41, 0x75, 0xe4, 0x61, 0x12, 0xf2, 0xee, 0xbf, 0x2c, 0x80, 0x87, 0x49, 0x48, 0x68, 0x20, - 0x42, 0x53, 0x29, 0x5d, 0xab, 0x5e, 0xba, 0x6b, 0xd0, 0x4a, 0xc8, 0xc8, 0x4f, 0x4e, 0x8a, 0xd4, - 0x46, 0xaa, 0x62, 0x50, 0xa3, 0x66, 0xd0, 0x7b, 0x00, 0x47, 0x62, 0x1f, 0xae, 0x47, 0x84, 0xaa, - 0x73, 0xf7, 0x73, 0x9b, 0xb5, 0x26, 0xb7, 0x59, 0xa0, 0xe4, 0x69, 0xcb, 0x79, 0xdd, 0xf8, 0x41, - 0x20, 0xd3, 0xb3, 0x89, 0x75, 0xa3, 0x18, 0x13, 0xb2, 0xb3, 0x75, 0x41, 0x76, 0xce, 0xab, 0xa4, - 0xf8, 0x87, 0x05, 0xed, 0xed, 0xc8, 0x1f, 0x9c, 0xcc, 0xe8, 0xba, 0xe9, 0xa2, 0x5d, 0x73, 0xf1, - 0x11, 0x74, 0x0f, 0xb9, 0xba, 0xc2, 0x05, 0x11, 0x85, 0xce, 0xdd, 0x2f, 0x4c, 0xf0, 0xd2, 0x2c, - 0x0a, 0xcf, 0x94, 0x33, 0xdd, 0x9d, 0xbb, 0xdc, 0xdd, 0xe6, 0x05, 0xee, 0xb6, 0x94, 0xbb, 0x7f, - 0xb3, 0x61, 0x51, 0xb4, 0x31, 0x8f, 0x8c, 0x73, 0x92, 0x66, 0xce, 0x77, 0x61, 0x21, 0x2f, 0x4c, - 0xb5, 0x66, 0x35, 0x55, 0x89, 0x38, 0xf7, 0x64, 0xd3, 0x14, 0xf2, 0xb6, 0x90, 0xbf, 0x35, 0x41, - 0x5e, 0x9d, 0x58, 0x5e, 0xb9, 0x9c, 0x1f, 0x30, 0xc7, 0x3e, 0x0d, 0x22, 0xe2, 0x91, 0x34, 0x8f, - 0x32, 0xd9, 0x0b, 0x0d, 0x1e, 0x66, 0xda, 0x78, 0x3f, 0x1d, 0xca, 0xe3, 0x47, 0x52, 0x3c, 0x3a, - 0xb8, 0x8e, 0x3f, 0x42, 0xd7, 0x4b, 0x06, 0x2f, 0xd4, 0x84, 0x8c, 0x05, 0x42, 0x58, 0x56, 0x05, - 0x59, 0xee, 0x29, 0xa3, 0x86, 0x89, 0x60, 0xf0, 0x38, 0xc4, 0x48, 0x0b, 0x05, 0x78, 0xee, 0x68, - 0x9c, 0xea, 0xb1, 0xe3, 0xfe, 0xbd, 0x01, 0x5d, 0x2c, 0x9f, 0x22, 0xa8, 0xb7, 0x79, 0x9e, 0xb3, - 0x91, 0x91, 0x45, 0x1a, 0x87, 0x5b, 0xc1, 0xa9, 0xa7, 0x66, 0xa3, 0x31, 0x78, 0x3c, 0x15, 0x39, - 0xfd, 0xd0, 0x68, 0x38, 0x3a, 0xab, 0xd8, 0xe5, 0x91, 0xde, 0x78, 0x34, 0x0e, 0x6f, 0x65, 0x19, - 0x33, 0xb2, 0x43, 0xd1, 0x5c, 0x36, 0x63, 0x6a, 0x7f, 0xcc, 0x0f, 0x8d, 0xc3, 0xe3, 0x9b, 0xb1, - 0x62, 0x6f, 0x0c, 0x52, 0xc9, 0x40, 0xcd, 0x72, 0x5f, 0x3c, 0x28, 0x14, 0x5d, 0x43, 0xb5, 0x7d, - 0x21, 0xaa, 0x60, 0xa0, 0x6a, 0x16, 0x57, 0xa7, 0x56, 0x5c, 0x1b, 0xd0, 0x45, 0x3d, 0x45, 0xd2, - 0x2f, 0xe2, 0x41, 0x6e, 0x30, 0xcd, 0xdc, 0xe8, 0x56, 0x73, 0xc3, 0x44, 0x77, 0x69, 0x0a, 0xba, - 0xcb, 0x0a, 0xdd, 0x9f, 0x42, 0xef, 0x20, 0x8f, 0xa2, 0x7d, 0x92, 0xa6, 0xfe, 0x90, 0x6c, 0x9f, - 0xf7, 0xc9, 0x78, 0x2f, 0x4c, 0x33, 0x8f, 0xa4, 0x31, 0xcf, 0x33, 0x92, 0x24, 0x3b, 0x2c, 0x20, - 0x02, 0xe4, 0xa6, 0x57, 0x90, 0xdc, 0x43, 0x92, 0x24, 0xdc, 0x00, 0xd9, 0x21, 0x91, 0x72, 0x36, - 0x61, 0x2e, 0x0a, 0x53, 0x9e, 0xeb, 0x8d, 0x3b, 0x9d, 0xbb, 0x37, 0x27, 0x94, 0xca, 0x7e, 0x3a, - 0xdc, 0xf5, 0x33, 0xdf, 0x13, 0xeb, 0xdc, 0x11, 0x7c, 0x66, 0xf2, 0xee, 0xe3, 0xa9, 0x27, 0x18, - 0xef, 0x61, 0xa2, 0x09, 0x84, 0x8c, 0xaa, 0xe1, 0x43, 0x67, 0x71, 0xb3, 0x53, 0xd4, 0x23, 0xec, - 0xe8, 0x7a, 0x05, 0xe9, 0xbe, 0x05, 0xce, 0x23, 0x92, 0xed, 0xfb, 0xaf, 0xb6, 0x68, 0xb0, 0x1f, - 0xd2, 0x3e, 0x19, 0x7b, 0x64, 0xec, 0x3e, 0x80, 0x1b, 0x35, 0x6e, 0x1a, 0x73, 0x03, 0x46, 0xfe, - 0xab, 0x3e, 0x19, 0x0b, 0x03, 0xba, 0x9e, 0xa4, 0x04, 0x5f, 0xac, 0x92, 0xed, 0x51, 0x52, 0xee, - 0x18, 0x96, 0x39, 0x42, 0x7d, 0x42, 0x83, 0xfd, 0x74, 0x28, 0x54, 0xac, 0x43, 0x07, 0x23, 0xb0, - 0x9f, 0x0e, 0xcb, 0x7e, 0xab, 0xb1, 0xf8, 0x8a, 0x41, 0x14, 0x12, 0x9a, 0xe1, 0x0a, 0xe9, 0x8d, - 0xc6, 0xe2, 0xc9, 0x98, 0x12, 0x1a, 0xa8, 0x23, 0xa7, 0xe1, 0x29, 0xda, 0xfd, 0x73, 0x13, 0xe6, - 0x65, 0x40, 0xc5, 0x74, 0xc8, 0x8f, 0x38, 0x15, 0x2f, 0xa4, 0x30, 0x19, 0x07, 0xa7, 0xe5, 0x9c, - 0x86, 0x94, 0x3e, 0xd9, 0x35, 0xcc, 0xc9, 0xae, 0x62, 0xd3, 0x5c, 0xdd, 0xa6, 0x8a, 0x5f, 0xcd, - 0xba, 0x5f, 0x5f, 0x86, 0x95, 0x54, 0x14, 0xcc, 0x41, 0xe4, 0x67, 0x47, 0x2c, 0x19, 0xc9, 0x13, - 0xab, 0xe9, 0xd5, 0xf8, 0xbc, 0xd9, 0x23, 0x4f, 0x15, 0x2c, 0x56, 0x64, 0x85, 0xcb, 0xcb, 0x03, - 0x39, 0x45, 0xe1, 0xe2, 0xa8, 0x60, 0x32, 0xd1, 0xb6, 0x34, 0x0d, 0x19, 0x15, 0x93, 0x2e, 0xd6, - 0xa7, 0xce, 0xe2, 0x9e, 0x8f, 0xd2, 0xe1, 0xc3, 0x84, 0x8d, 0xe4, 0xc0, 0x50, 0x90, 0xc2, 0x73, - 0x46, 0x33, 0x42, 0x33, 0x21, 0xdb, 0x41, 0x59, 0x8d, 0xc5, 0x65, 0x25, 0x29, 0x8a, 0x73, 0xd1, - 0x2b, 0x48, 0x67, 0x05, 0x1a, 0x29, 0x19, 0xcb, 0x8a, 0xe3, 0x3f, 0x0d, 0xe4, 0x96, 0x4d, 0xe4, - 0x2a, 0xad, 0x60, 0x45, 0x3c, 0xd5, 0x5b, 0x41, 0x39, 0xeb, 0xaf, 0x1a, 0xb3, 0xfe, 0x16, 0xcc, - 0xb3, 0x98, 0xe7, 0x79, 0xda, 0x73, 0x44, 0x8d, 0x7d, 0x71, 0x7a, 0x8d, 0x6d, 0x3e, 0xc3, 0x95, - 0x0f, 0x68, 0x96, 0x9c, 0x7b, 0x85, 0x9c, 0xb3, 0x07, 0xcb, 0xec, 0xe8, 0x28, 0x0a, 0x29, 0x39, - 0xc8, 0xd3, 0x63, 0x71, 0xb2, 0xdd, 0x10, 0x27, 0x9b, 0x3b, 0x41, 0xd5, 0x33, 0x73, 0xa5, 0x57, - 0x15, 0xbd, 0x79, 0x0f, 0x16, 0xf5, 0x6d, 0x78, 0x18, 0x4e, 0xc8, 0xb9, 0xcc, 0x41, 0xfe, 0x93, - 0x0f, 0x7b, 0xa7, 0x7e, 0x94, 0xe3, 0x31, 0xb0, 0xe0, 0x21, 0x71, 0xcf, 0xfe, 0x96, 0xe5, 0xfe, - 0xd2, 0x82, 0xe5, 0xca, 0x06, 0x7c, 0x75, 0x16, 0x66, 0x11, 0x91, 0x1a, 0x90, 0x70, 0x1c, 0x98, - 0x0b, 0x48, 0x3a, 0x90, 0x29, 0x2c, 0x7e, 0xcb, 0x4e, 0xd6, 0x50, 0xe3, 0x22, 0x7f, 0xa1, 0x7b, - 0xd6, 0xe7, 0x8a, 0xfa, 0x2c, 0xa7, 0x81, 0x7a, 0xa1, 0xd3, 0x78, 0x3c, 0x85, 0xc2, 0x67, 0xfd, - 0x6d, 0x3f, 0x18, 0x12, 0x7c, 0xed, 0x6a, 0x0a, 0x9b, 0x4c, 0xa6, 0x1b, 0xc0, 0xc2, 0xf3, 0x30, - 0x4e, 0x77, 0xd8, 0x68, 0xc4, 0x81, 0x08, 0x48, 0xc6, 0x67, 0x55, 0x4b, 0xe0, 0x2d, 0x29, 0x9e, - 0x2a, 0x01, 0x39, 0xf2, 0xf3, 0x28, 0xe3, 0x4b, 0x8b, 0xc2, 0xd5, 0x58, 0xe2, 0x85, 0x23, 0x65, - 0x74, 0x17, 0xa5, 0xd1, 0x4e, 0x8d, 0xe3, 0xfe, 0xc5, 0x86, 0x15, 0x31, 0x38, 0xec, 0x08, 0xd8, - 0x03, 0x21, 0x74, 0x17, 0x9a, 0xa2, 0x0c, 0xe5, 0xb0, 0x72, 0xf1, 0xb0, 0x81, 0x4b, 0x9d, 0xfb, - 0xd0, 0x62, 0xb1, 0x18, 0x39, 0x71, 0x42, 0x79, 0x67, 0x9a, 0x90, 0xf9, 0x6e, 0xe7, 0x49, 0x29, - 0xe7, 0x21, 0x00, 0xbe, 0x76, 0xee, 0x95, 0xad, 0x7b, 0x56, 0x1d, 0x9a, 0x24, 0x0f, 0xae, 0x6a, - 0xc3, 0xea, 0x05, 0xaf, 0xe1, 0x99, 0x4c, 0xe7, 0x29, 0x2c, 0x09, 0xb3, 0x9f, 0x15, 0x53, 0xa7, - 0xc0, 0x60, 0xf6, 0x1d, 0x2b, 0xd2, 0xee, 0xc7, 0x96, 0x0c, 0x23, 0x7f, 0xda, 0x27, 0x18, 0xfb, - 0x32, 0x24, 0xd6, 0x95, 0x42, 0x72, 0x13, 0x16, 0x46, 0xb9, 0x36, 0x04, 0x37, 0x3c, 0x45, 0x97, - 0x10, 0x35, 0x66, 0x86, 0xc8, 0xfd, 0x8d, 0x05, 0xbd, 0xf7, 0x59, 0x48, 0xc5, 0x83, 0xad, 0x38, - 0x8e, 0xe4, 0x2d, 0xc4, 0x95, 0x31, 0xff, 0x1e, 0xb4, 0x7d, 0x54, 0x43, 0x33, 0x09, 0xfb, 0x0c, - 0x83, 0x6d, 0x29, 0xa3, 0xcd, 0x28, 0x0d, 0x7d, 0x46, 0x71, 0x7f, 0x6f, 0xc1, 0x12, 0x06, 0xe5, - 0x83, 0x3c, 0xcc, 0xae, 0x6c, 0xdf, 0x36, 0x2c, 0x8c, 0xf3, 0x30, 0xbb, 0x42, 0x56, 0x2a, 0xb9, - 0x7a, 0x3e, 0x35, 0x26, 0xe4, 0x93, 0xfb, 0x89, 0x05, 0xb7, 0xaa, 0x61, 0xdd, 0x1a, 0x0c, 0x48, - 0xfc, 0x3a, 0x4b, 0xca, 0x98, 0xd1, 0xe6, 0x2a, 0x33, 0xda, 0x44, 0x93, 0x3d, 0xf2, 0x11, 0x19, - 0xbc, 0xb9, 0x26, 0xff, 0xdc, 0x86, 0xcf, 0x3e, 0x52, 0x85, 0xf7, 0x3c, 0xf1, 0x69, 0x7a, 0x44, - 0x92, 0xe4, 0x35, 0xda, 0xbb, 0x07, 0x5d, 0x4a, 0xce, 0x4a, 0x9b, 0x64, 0x39, 0xce, 0xaa, 0xc6, - 0x14, 0x9e, 0xad, 0x77, 0xb9, 0xff, 0xb6, 0x60, 0x05, 0xf5, 0x7c, 0x3f, 0x1c, 0x9c, 0xbc, 0x46, - 0xe7, 0x9f, 0xc2, 0xd2, 0x89, 0xb0, 0x80, 0x53, 0x57, 0x68, 0xdb, 0x15, 0xe9, 0x19, 0xdd, 0xff, - 0x8f, 0x05, 0xab, 0xa8, 0xe8, 0x09, 0x3d, 0x0d, 0x5f, 0x67, 0xb2, 0x1e, 0xc0, 0x72, 0x88, 0x26, - 0x5c, 0x31, 0x00, 0x55, 0xf1, 0x19, 0x23, 0xf0, 0x07, 0x0b, 0x96, 0x51, 0xd3, 0x03, 0x9a, 0x91, - 0xe4, 0xca, 0xfe, 0x3f, 0x86, 0x0e, 0xa1, 0x59, 0xe2, 0xd3, 0xab, 0x74, 0x48, 0x5d, 0x74, 0xc6, - 0x26, 0x79, 0x02, 0xab, 0xf8, 0x0a, 0xaf, 0x75, 0x1c, 0x3e, 0xcb, 0xfa, 0x01, 0x8e, 0xa7, 0x96, - 0x10, 0x2a, 0x48, 0xf3, 0x72, 0x46, 0xde, 0xae, 0x97, 0x97, 0x33, 0xb7, 0x01, 0xfc, 0x20, 0xf8, - 0x90, 0x25, 0x41, 0x48, 0x8b, 0xe3, 0x43, 0xe3, 0xb8, 0xef, 0xc3, 0x22, 0x9f, 0xa6, 0x9f, 0x6b, - 0x2f, 0xe3, 0x17, 0x5e, 0x17, 0xe8, 0x2f, 0xf2, 0xb6, 0xf9, 0x22, 0xef, 0xfe, 0x04, 0xfe, 0xbf, - 0x66, 0xb8, 0x88, 0xfa, 0x0e, 0xde, 0x31, 0x14, 0x9b, 0xc8, 0xe0, 0x7f, 0x7e, 0x42, 0x08, 0x75, - 0x5b, 0x3c, 0x43, 0xc8, 0xfd, 0x99, 0x05, 0x6f, 0xd7, 0xd4, 0x6f, 0xc5, 0x71, 0xc2, 0x4e, 0x65, - 0x72, 0x5f, 0xc7, 0x36, 0x66, 0x6b, 0xb5, 0xab, 0xad, 0x75, 0xa2, 0x11, 0xc6, 0x71, 0xf0, 0x29, - 0x18, 0xf1, 0x5b, 0x0b, 0x96, 0xa5, 0x11, 0x41, 0x20, 0xb7, 0xfd, 0x26, 0xb4, 0xf0, 0x7e, 0x52, - 0x6e, 0xf8, 0xf6, 0xc4, 0x0d, 0x8b, 0x7b, 0x55, 0x4f, 0x2e, 0xae, 0x67, 0xa4, 0x3d, 0x69, 0x0c, - 0xfc, 0xb6, 0xea, 0x00, 0x33, 0xdf, 0x20, 0x4a, 0x01, 0xf7, 0x87, 0x45, 0x32, 0xef, 0x92, 0x88, - 0x5c, 0x67, 0x8c, 0xdc, 0x17, 0xb0, 0x24, 0x2e, 0x4b, 0xcb, 0x18, 0x5c, 0x8b, 0xda, 0x0f, 0x61, - 0x45, 0xa8, 0xbd, 0x76, 0x7b, 0x55, 0x75, 0xf0, 0xf8, 0xec, 0x1c, 0xfb, 0x74, 0x78, 0x9d, 0xda, - 0xbf, 0x06, 0x37, 0x8a, 0xd8, 0xbf, 0x88, 0x03, 0xf5, 0x8a, 0x32, 0xe5, 0x62, 0xc6, 0xfd, 0x3a, - 0xac, 0xed, 0x30, 0x7a, 0x4a, 0x92, 0x54, 0xa0, 0x8c, 0x22, 0x85, 0x84, 0x51, 0xfc, 0x92, 0x72, - 0xfb, 0xb0, 0x2a, 0xaf, 0x14, 0x0f, 0xfc, 0x61, 0x48, 0xb1, 0x2b, 0xdd, 0x06, 0x88, 0xfd, 0x61, - 0xf1, 0x49, 0x01, 0xef, 0x9d, 0x34, 0x0e, 0x7f, 0x9e, 0x1e, 0xb3, 0x33, 0xf9, 0xdc, 0xc6, 0xe7, - 0x25, 0xc7, 0xfd, 0x01, 0x38, 0x1e, 0x49, 0x63, 0x46, 0x53, 0xa2, 0x69, 0x5d, 0x87, 0xce, 0x4e, - 0x9e, 0x24, 0x84, 0xf2, 0xad, 0x8a, 0xfb, 0x75, 0x9d, 0xc5, 0xf5, 0xf6, 0x4b, 0xbd, 0x78, 0x57, - 0xa1, 0x71, 0xdc, 0x5f, 0x37, 0xa0, 0xdd, 0x0f, 0x87, 0xd4, 0x8f, 0x3c, 0x32, 0x76, 0xbe, 0x03, - 0x2d, 0x3c, 0x41, 0x64, 0x68, 0x27, 0xbd, 0x3b, 0xe3, 0x6a, 0x3c, 0x2a, 0x3d, 0x32, 0x7e, 0xfc, - 0x7f, 0x9e, 0x94, 0x71, 0x3e, 0x80, 0x2e, 0xfe, 0x7a, 0x82, 0x6f, 0x04, 0xf2, 0x00, 0xf8, 0xd2, - 0x25, 0x4a, 0xe4, 0x6a, 0xd4, 0x65, 0x6a, 0xe0, 0x06, 0x0d, 0x7c, 0x3a, 0x90, 0xdf, 0xdc, 0x2e, - 0x32, 0x68, 0x47, 0x2c, 0x93, 0x06, 0xa1, 0x0c, 0x97, 0xf6, 0xc5, 0xcc, 0x2c, 0xbf, 0x5a, 0x4c, - 0x97, 0xc6, 0xd1, 0x5a, 0x4a, 0xa3, 0x0c, 0x97, 0x3e, 0xce, 0xe9, 0xf0, 0x45, 0x2c, 0x5f, 0xe5, - 0xa6, 0x4b, 0x3f, 0x16, 0xcb, 0xa4, 0x34, 0xca, 0x70, 0xe9, 0x44, 0x74, 0x3b, 0x11, 0xf4, 0x8b, - 0xa4, 0xb1, 0x29, 0x4a, 0x69, 0x94, 0xd9, 0x6e, 0xc3, 0x7c, 0xec, 0x9f, 0x47, 0xcc, 0x0f, 0xdc, - 0xdf, 0x35, 0x00, 0x8a, 0x85, 0xa9, 0x98, 0x31, 0x0c, 0x88, 0x36, 0x2e, 0x85, 0x28, 0x8e, 0xce, - 0x35, 0x90, 0xfa, 0x93, 0x41, 0xfa, 0xca, 0xac, 0x20, 0xa1, 0xb6, 0x0a, 0x4c, 0xf7, 0x2b, 0x30, - 0x6d, 0x5c, 0x0a, 0x93, 0x34, 0x4a, 0x02, 0x75, 0xbf, 0x02, 0xd4, 0xc6, 0xa5, 0x40, 0x49, 0x79, - 0x09, 0xd5, 0xfd, 0x0a, 0x54, 0x1b, 0x97, 0x42, 0x25, 0xe5, 0x25, 0x58, 0xf7, 0x2b, 0x60, 0x6d, - 0x5c, 0x0a, 0x96, 0x94, 0xaf, 0xc3, 0xf5, 0x89, 0x0d, 0x4b, 0x22, 0x64, 0x78, 0x6f, 0x4b, 0x8f, - 0x98, 0xb8, 0x9e, 0x11, 0xe1, 0x32, 0xbf, 0x50, 0x99, 0x4c, 0xe7, 0xab, 0xb0, 0x8a, 0x0c, 0xf9, - 0x45, 0x43, 0x8c, 0x7f, 0xf6, 0x7a, 0xe3, 0x4e, 0xdb, 0xab, 0x3f, 0x10, 0x37, 0x6d, 0x79, 0x9a, - 0xb1, 0xd1, 0xae, 0x9f, 0xf9, 0xc5, 0xb4, 0x52, 0x72, 0xf4, 0x7b, 0xd0, 0xb9, 0xda, 0x17, 0xee, - 0x84, 0xb1, 0x91, 0xba, 0xe0, 0x94, 0x14, 0x97, 0xc8, 0xc2, 0x11, 0x61, 0x79, 0x26, 0xdb, 0x44, - 0x41, 0xf2, 0x33, 0x76, 0x44, 0x82, 0xd0, 0x17, 0xb7, 0x87, 0xf2, 0xb3, 0x82, 0x62, 0x70, 0x4b, - 0xb4, 0xdb, 0x50, 0xf9, 0x05, 0x5a, 0xbb, 0x07, 0xbd, 0xf4, 0xe6, 0xd2, 0xfd, 0xd8, 0x82, 0xe5, - 0x4a, 0x57, 0x71, 0xb6, 0x00, 0x42, 0x15, 0xc5, 0x0b, 0xbe, 0x71, 0x99, 0xa1, 0xf6, 0x34, 0xa1, - 0x49, 0x37, 0x82, 0xf6, 0x95, 0x6f, 0x04, 0xdd, 0x1d, 0x58, 0xad, 0x95, 0x95, 0xb8, 0xd6, 0x63, - 0x27, 0x84, 0xaa, 0x6b, 0x3d, 0x4e, 0xf0, 0x48, 0x46, 0xe1, 0xa9, 0xfe, 0xc5, 0x59, 0x92, 0x7c, - 0x1e, 0x59, 0x9b, 0xdc, 0xfa, 0xde, 0x3c, 0x87, 0x0f, 0xa1, 0x37, 0xad, 0x01, 0x4c, 0xf1, 0xbb, - 0xcc, 0x2c, 0xbb, 0x9a, 0x59, 0x53, 0xe2, 0xf1, 0x57, 0x85, 0xbc, 0x6a, 0xdf, 0x33, 0x56, 0x8b, - 0x19, 0x2e, 0xfb, 0x9a, 0xc2, 0xd5, 0xb8, 0x7a, 0xb8, 0x6e, 0x14, 0xf9, 0xa1, 0x75, 0x38, 0xcd, - 0x3f, 0x75, 0xc0, 0x94, 0xfe, 0x91, 0x49, 0xfe, 0x91, 0x37, 0xd5, 0xbf, 0x1f, 0x17, 0xfe, 0x69, - 0x1d, 0xf8, 0xda, 0xf2, 0xe0, 0x4f, 0x2a, 0x4e, 0xea, 0x28, 0x9d, 0x36, 0x5e, 0xbd, 0xc1, 0xc8, - 0x6b, 0x67, 0x8b, 0x86, 0xbc, 0x3a, 0xde, 0xff, 0x57, 0x91, 0x57, 0xfe, 0x69, 0x67, 0xdf, 0xf6, - 0xad, 0x1f, 0xdd, 0xdc, 0x7c, 0x17, 0xff, 0xf9, 0xf6, 0x5e, 0x4d, 0xe7, 0x61, 0x4b, 0xfc, 0x13, - 0xee, 0x1b, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xb8, 0x68, 0xa2, 0x99, 0x1c, 0x27, 0x00, 0x00, +var fileDescriptor_ws_013c9875881bc16b = []byte{ + // 2454 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x1a, 0x4d, 0x6f, 0x1c, 0x49, + 0x95, 0x9e, 0xf1, 0x8c, 0x3d, 0x6f, 0x3c, 0xfe, 0xe8, 0x2c, 0x66, 0x08, 0xd9, 0x60, 0x5a, 0xd6, + 0x12, 0xbe, 0xbc, 0x28, 0x08, 0x09, 0xb2, 0x10, 0xe4, 0x8f, 0x7c, 0x2d, 0x76, 0xe2, 0xed, 0x49, + 0x58, 0x04, 0x48, 0x51, 0x7b, 0xba, 0x3c, 0xee, 0x75, 0x77, 0x55, 0x4f, 0x7f, 0x38, 0xb1, 0xc4, + 0x09, 0x24, 0xfe, 0x01, 0x5c, 0x91, 0xb8, 0x20, 0x24, 0x84, 0xf6, 0x82, 0xb8, 0x20, 0x4e, 0x20, + 0x71, 0xe5, 0xcc, 0x5f, 0xe0, 0xca, 0x01, 0x09, 0x09, 0x54, 0xf5, 0xaa, 0xab, 0xab, 0xba, 0x67, + 0xec, 0x91, 0xe5, 0xdd, 0x6c, 0x6e, 0xf3, 0x5e, 0xd7, 0x7b, 0xf5, 0xbe, 0xdf, 0xeb, 0xd7, 0x03, + 0xcb, 0xa9, 0x7f, 0xf2, 0xfc, 0x45, 0xfa, 0xf6, 0x8b, 0x74, 0x33, 0x4e, 0x58, 0xc6, 0xec, 0xd5, + 0x94, 0x24, 0xa7, 0x24, 0x79, 0xee, 0xc5, 0xc1, 0xf3, 0xd8, 0x4b, 0xbc, 0x28, 0x75, 0xfe, 0xdd, + 0x80, 0xce, 0x83, 0x84, 0xe5, 0xf1, 0x23, 0x7a, 0xc4, 0xec, 0x3e, 0xcc, 0x8f, 0x04, 0xb0, 0xdb, + 0xb7, 0xd6, 0xad, 0x5b, 0x1d, 0xb7, 0x00, 0xed, 0x1b, 0xd0, 0x11, 0x3f, 0x1f, 0x7b, 0x11, 0xe9, + 0x37, 0xc4, 0xb3, 0x12, 0x61, 0x3b, 0xb0, 0x48, 0x59, 0x16, 0x1c, 0x05, 0x43, 0x2f, 0x0b, 0x18, + 0xed, 0x37, 0xc5, 0x01, 0x03, 0xc7, 0xcf, 0x04, 0x34, 0x4b, 0x98, 0x9f, 0x0f, 0xc5, 0x99, 0x39, + 0x3c, 0xa3, 0xe3, 0xf8, 0xfd, 0x47, 0xde, 0x90, 0x3c, 0x73, 0xf7, 0xfa, 0x2d, 0xbc, 0x5f, 0x82, + 0xf6, 0x3a, 0x74, 0xd9, 0x0b, 0x4a, 0x92, 0x67, 0x29, 0x49, 0x1e, 0xed, 0xf6, 0xdb, 0xe2, 0xa9, + 0x8e, 0xb2, 0x6f, 0x02, 0x0c, 0x13, 0xe2, 0x65, 0xe4, 0x69, 0x10, 0x91, 0xfe, 0xfc, 0xba, 0x75, + 0xab, 0xe7, 0x6a, 0x18, 0xce, 0x21, 0x22, 0xd1, 0x21, 0x49, 0x76, 0x58, 0x4e, 0xb3, 0xfe, 0x82, + 0x38, 0xa0, 0xa3, 0xec, 0x25, 0x68, 0x90, 0x97, 0xfd, 0x8e, 0x60, 0xdd, 0x20, 0x2f, 0xed, 0x35, + 0x68, 0xa7, 0x99, 0x97, 0xe5, 0x69, 0x1f, 0xd6, 0xad, 0x5b, 0x2d, 0x57, 0x42, 0xf6, 0x06, 0xf4, + 0x04, 0x5f, 0x56, 0x48, 0xd3, 0x15, 0x24, 0x26, 0x52, 0x59, 0xec, 0xe9, 0x59, 0x4c, 0xfa, 0x8b, + 0x82, 0x41, 0x89, 0x70, 0xfe, 0xd4, 0x80, 0x6b, 0xc2, 0xee, 0xfb, 0x42, 0x80, 0xfb, 0x79, 0x18, + 0x5e, 0xe0, 0x81, 0x35, 0x68, 0xe7, 0x78, 0x1d, 0x9a, 0x5f, 0x42, 0xfc, 0x9e, 0x84, 0x85, 0x64, + 0x8f, 0x9c, 0x92, 0x50, 0x18, 0xbe, 0xe5, 0x96, 0x08, 0xfb, 0x3a, 0x2c, 0x7c, 0xc0, 0x02, 0x2a, + 0x6c, 0x32, 0x27, 0x1e, 0x2a, 0x98, 0x3f, 0xa3, 0xc1, 0xf0, 0x84, 0x72, 0x97, 0xa2, 0xb9, 0x15, + 0xac, 0x7b, 0xa2, 0x6d, 0x7a, 0xe2, 0x2d, 0x58, 0xf2, 0xe2, 0x78, 0xdf, 0xa3, 0x23, 0x92, 0xe0, + 0xa5, 0xf3, 0x82, 0x6f, 0x05, 0xcb, 0xfd, 0xc1, 0x6f, 0x1a, 0xb0, 0x3c, 0x19, 0x12, 0x61, 0xee, + 0x96, 0xab, 0x61, 0x38, 0x1f, 0x16, 0x93, 0x44, 0x33, 0x23, 0x5a, 0xbe, 0x82, 0x95, 0x5e, 0x81, + 0xc2, 0x2b, 0xce, 0x2f, 0x2c, 0x58, 0x3a, 0xc8, 0x0f, 0xc3, 0x60, 0x28, 0x0e, 0x70, 0xa3, 0x95, + 0xa6, 0xb1, 0x0c, 0xd3, 0xe8, 0x0a, 0x36, 0xa6, 0x2b, 0xd8, 0x34, 0x15, 0x5c, 0x83, 0xf6, 0x88, + 0x50, 0x9f, 0x24, 0xd2, 0x60, 0x12, 0x92, 0x82, 0xb4, 0x94, 0x20, 0xbf, 0x6a, 0xc0, 0xc2, 0xc7, + 0x2c, 0xc2, 0x3a, 0x74, 0xe3, 0x63, 0x46, 0xc9, 0xe3, 0x9c, 0x07, 0x8d, 0x94, 0x45, 0x47, 0xd9, + 0x6f, 0x40, 0xeb, 0x30, 0x48, 0xb2, 0x63, 0xe1, 0xb5, 0x9e, 0x8b, 0x00, 0xc7, 0x92, 0xc8, 0x0b, + 0xd0, 0x55, 0x1d, 0x17, 0x01, 0xa9, 0xd0, 0x82, 0x8a, 0x77, 0x33, 0x83, 0x3a, 0xb5, 0x0c, 0xaa, + 0x7b, 0x1e, 0x26, 0x79, 0xde, 0xf9, 0x8f, 0x05, 0x70, 0x3f, 0x09, 0x08, 0xf5, 0x85, 0x69, 0x2a, + 0xa9, 0x6b, 0xd5, 0x53, 0x77, 0x0d, 0xda, 0x09, 0x89, 0xbc, 0xe4, 0xa4, 0x08, 0x6d, 0x84, 0x2a, + 0x02, 0x35, 0x6b, 0x02, 0xbd, 0x03, 0x70, 0x24, 0xee, 0xe1, 0x7c, 0x84, 0xa9, 0xba, 0xb7, 0x3f, + 0xb7, 0x59, 0x2b, 0x72, 0x9b, 0x85, 0x97, 0x5c, 0xed, 0x38, 0xcf, 0x1b, 0xcf, 0xf7, 0x65, 0x78, + 0xb6, 0x30, 0x6f, 0x14, 0x62, 0x42, 0x74, 0xb6, 0xcf, 0x89, 0xce, 0x79, 0x15, 0x14, 0xff, 0xb2, + 0xa0, 0xb3, 0x1d, 0x7a, 0xc3, 0x93, 0x19, 0x55, 0x37, 0x55, 0x6c, 0xd4, 0x54, 0x7c, 0x00, 0xbd, + 0x43, 0xce, 0xae, 0x50, 0x41, 0x58, 0xa1, 0x7b, 0xfb, 0x0b, 0x13, 0xb4, 0x34, 0x93, 0xc2, 0x35, + 0xe9, 0x4c, 0x75, 0xe7, 0x2e, 0x56, 0xb7, 0x75, 0x8e, 0xba, 0x6d, 0xa5, 0xee, 0x3f, 0x1a, 0xb0, + 0x28, 0xca, 0x98, 0x4b, 0xc6, 0x39, 0x49, 0x33, 0xfb, 0xbb, 0xb0, 0x90, 0x17, 0xa2, 0x5a, 0xb3, + 0x8a, 0xaa, 0x48, 0xec, 0x3b, 0xb2, 0x68, 0x0a, 0xfa, 0x86, 0xa0, 0xbf, 0x31, 0x81, 0x5e, 0x75, + 0x2c, 0xb7, 0x3c, 0xce, 0x1b, 0xcc, 0xb1, 0x47, 0xfd, 0x90, 0xb8, 0x24, 0xcd, 0xc3, 0x4c, 0xd6, + 0x42, 0x03, 0x87, 0x91, 0x36, 0xde, 0x4f, 0x47, 0xb2, 0xfd, 0x48, 0x88, 0x5b, 0x07, 0xcf, 0xf1, + 0x47, 0xa8, 0x7a, 0x89, 0xe0, 0x89, 0x9a, 0x90, 0xb1, 0xf0, 0x10, 0xa6, 0x55, 0x01, 0x96, 0x77, + 0x4a, 0xab, 0x61, 0x20, 0x18, 0x38, 0xee, 0x62, 0x84, 0x05, 0x03, 0xec, 0x3b, 0x1a, 0xa6, 0xda, + 0x76, 0x9c, 0x7f, 0x36, 0xa1, 0x87, 0xe9, 0x53, 0x18, 0xf5, 0x26, 0x8f, 0x73, 0x16, 0x19, 0x51, + 0xa4, 0x61, 0xb8, 0x14, 0x1c, 0x7a, 0x6c, 0x16, 0x1a, 0x03, 0xc7, 0x43, 0x91, 0xc3, 0xf7, 0x8d, + 0x82, 0xa3, 0xa3, 0x8a, 0x5b, 0x1e, 0xe8, 0x85, 0x47, 0xc3, 0xf0, 0x52, 0x96, 0x31, 0x23, 0x3a, + 0x14, 0xcc, 0x69, 0x33, 0xa6, 0xee, 0xc7, 0xf8, 0xd0, 0x30, 0xdc, 0xbe, 0x19, 0x2b, 0xee, 0x46, + 0x23, 0x95, 0x08, 0xe4, 0x2c, 0xef, 0xc5, 0x46, 0xa1, 0xe0, 0x9a, 0x57, 0x3b, 0xe7, 0x7a, 0x15, + 0x0c, 0xaf, 0x9a, 0xc9, 0xd5, 0xad, 0x25, 0xd7, 0x06, 0xf4, 0x90, 0x4f, 0x11, 0xf4, 0x8b, 0xd8, + 0xc8, 0x0d, 0xa4, 0x19, 0x1b, 0xbd, 0x6a, 0x6c, 0x98, 0xde, 0x5d, 0x9a, 0xe2, 0xdd, 0x65, 0xe5, + 0xdd, 0x9f, 0x42, 0xff, 0x20, 0x0f, 0xc3, 0x7d, 0x92, 0xa6, 0xde, 0x88, 0x6c, 0x9f, 0x0d, 0xc8, + 0x78, 0x2f, 0x48, 0x33, 0x97, 0xa4, 0x31, 0x8f, 0x33, 0x92, 0x24, 0x3b, 0xcc, 0x27, 0xc2, 0xc9, + 0x2d, 0xb7, 0x00, 0xb9, 0x86, 0x24, 0x49, 0xb8, 0x00, 0xb2, 0x42, 0x22, 0x64, 0x6f, 0xc2, 0x5c, + 0x18, 0xa4, 0x3c, 0xd6, 0x9b, 0xb7, 0xba, 0xb7, 0xaf, 0x4f, 0x48, 0x95, 0xfd, 0x74, 0xb4, 0xeb, + 0x65, 0x9e, 0x2b, 0xce, 0x39, 0x11, 0x7c, 0x66, 0xf2, 0xed, 0xe3, 0xa9, 0x1d, 0x8c, 0xd7, 0x30, + 0x51, 0x04, 0x02, 0x46, 0xd5, 0xf0, 0xa1, 0xa3, 0xb8, 0xd8, 0x29, 0xf2, 0x11, 0x72, 0xf4, 0xdc, + 0x02, 0x74, 0xde, 0x00, 0xfb, 0x01, 0xc9, 0xf6, 0xbd, 0x97, 0x5b, 0xd4, 0xdf, 0x0f, 0xe8, 0x80, + 0x8c, 0x5d, 0x32, 0x76, 0xee, 0xc1, 0xb5, 0x1a, 0x36, 0x8d, 0xb9, 0x00, 0x91, 0xf7, 0x72, 0x40, + 0xc6, 0x42, 0x80, 0x9e, 0x2b, 0x21, 0x81, 0x17, 0xa7, 0x64, 0x79, 0x94, 0x90, 0x33, 0x86, 0x65, + 0xee, 0xa1, 0x01, 0xa1, 0xfe, 0x7e, 0x3a, 0x12, 0x2c, 0xd6, 0xa1, 0x8b, 0x16, 0xd8, 0x4f, 0x47, + 0x65, 0xbd, 0xd5, 0x50, 0xfc, 0xc4, 0x30, 0x0c, 0x08, 0xcd, 0xf0, 0x84, 0xd4, 0x46, 0x43, 0xf1, + 0x60, 0x4c, 0x09, 0xf5, 0x55, 0xcb, 0x69, 0xba, 0x0a, 0x76, 0xfe, 0xdc, 0x82, 0x79, 0x69, 0x50, + 0x31, 0x1d, 0xf2, 0x16, 0xa7, 0xec, 0x85, 0x10, 0x06, 0xe3, 0xf0, 0xb4, 0x9c, 0xd3, 0x10, 0xd2, + 0x27, 0xbb, 0xa6, 0x39, 0xd9, 0x55, 0x64, 0x9a, 0xab, 0xcb, 0x54, 0xd1, 0xab, 0x55, 0xd7, 0xeb, + 0xcb, 0xb0, 0x92, 0x8a, 0x84, 0x39, 0x08, 0xbd, 0xec, 0x88, 0x25, 0x91, 0xec, 0x58, 0x2d, 0xb7, + 0x86, 0xe7, 0xc5, 0x1e, 0x71, 0x2a, 0x61, 0x31, 0x23, 0x2b, 0x58, 0x9e, 0x1e, 0x88, 0x29, 0x12, + 0x17, 0x47, 0x05, 0x13, 0x89, 0xb2, 0xa5, 0x69, 0xc0, 0xa8, 0x98, 0x74, 0x31, 0x3f, 0x75, 0x14, + 0xd7, 0x3c, 0x4a, 0x47, 0xf7, 0x13, 0x16, 0xc9, 0x81, 0xa1, 0x00, 0x85, 0xe6, 0x8c, 0x66, 0x84, + 0x66, 0x82, 0xb6, 0x8b, 0xb4, 0x1a, 0x8a, 0xd3, 0x4a, 0x50, 0x24, 0xe7, 0xa2, 0x5b, 0x80, 0xf6, + 0x0a, 0x34, 0x53, 0x32, 0x96, 0x19, 0xc7, 0x7f, 0x1a, 0x9e, 0x5b, 0x36, 0x3d, 0x57, 0x29, 0x05, + 0x2b, 0xe2, 0xa9, 0x5e, 0x0a, 0xca, 0x59, 0x7f, 0xd5, 0x98, 0xf5, 0xb7, 0x60, 0x9e, 0xc5, 0x3c, + 0xce, 0xd3, 0xbe, 0x2d, 0x72, 0xec, 0x8b, 0xd3, 0x73, 0x6c, 0xf3, 0x09, 0x9e, 0xbc, 0x47, 0xb3, + 0xe4, 0xcc, 0x2d, 0xe8, 0xec, 0x3d, 0x58, 0x66, 0x47, 0x47, 0x61, 0x40, 0xc9, 0x41, 0x9e, 0x1e, + 0x8b, 0xce, 0x76, 0x4d, 0x74, 0x36, 0x67, 0x02, 0xab, 0x27, 0xe6, 0x49, 0xb7, 0x4a, 0x7a, 0xfd, + 0x0e, 0x2c, 0xea, 0xd7, 0x70, 0x33, 0x9c, 0x90, 0x33, 0x19, 0x83, 0xfc, 0x27, 0x1f, 0xf6, 0x4e, + 0xbd, 0x30, 0xc7, 0x36, 0xb0, 0xe0, 0x22, 0x70, 0xa7, 0xf1, 0x2d, 0xcb, 0xf9, 0xa5, 0x05, 0xcb, + 0x95, 0x0b, 0xf8, 0xe9, 0x2c, 0xc8, 0x42, 0x22, 0x39, 0x20, 0x60, 0xdb, 0x30, 0xe7, 0x93, 0x74, + 0x28, 0x43, 0x58, 0xfc, 0x96, 0x95, 0xac, 0xa9, 0xc6, 0x45, 0xfe, 0x42, 0xf7, 0x64, 0xc0, 0x19, + 0x0d, 0x58, 0x4e, 0x7d, 0xf5, 0x42, 0xa7, 0xe1, 0x78, 0x08, 0x05, 0x4f, 0x06, 0xdb, 0x9e, 0x3f, + 0x22, 0xf8, 0xda, 0xd5, 0x12, 0x32, 0x99, 0x48, 0xc7, 0x87, 0x85, 0xa7, 0x41, 0x9c, 0xee, 0xb0, + 0x28, 0xe2, 0x8e, 0xf0, 0x49, 0xc6, 0x67, 0x55, 0x4b, 0xf8, 0x5b, 0x42, 0x3c, 0x54, 0x7c, 0x72, + 0xe4, 0xe5, 0x61, 0xc6, 0x8f, 0x16, 0x89, 0xab, 0xa1, 0xc4, 0x0b, 0x47, 0xca, 0xe8, 0x2e, 0x52, + 0xa3, 0x9c, 0x1a, 0xc6, 0xf9, 0x6b, 0x03, 0x56, 0xc4, 0xe0, 0xb0, 0x23, 0xdc, 0xee, 0x0b, 0xa2, + 0xdb, 0xd0, 0x12, 0x69, 0x28, 0x87, 0x95, 0xf3, 0x87, 0x0d, 0x3c, 0x6a, 0xdf, 0x85, 0x36, 0x8b, + 0xc5, 0xc8, 0x89, 0x13, 0xca, 0x5b, 0xd3, 0x88, 0xcc, 0x77, 0x3b, 0x57, 0x52, 0xd9, 0xf7, 0x01, + 0xf0, 0xb5, 0x73, 0xaf, 0x2c, 0xdd, 0xb3, 0xf2, 0xd0, 0x28, 0xb9, 0x71, 0x55, 0x19, 0x56, 0x2f, + 0x78, 0x4d, 0xd7, 0x44, 0xda, 0x8f, 0x61, 0x49, 0x88, 0xfd, 0xa4, 0x98, 0x3a, 0x85, 0x0f, 0x66, + 0xbf, 0xb1, 0x42, 0xed, 0xfc, 0xc6, 0x92, 0x66, 0xe4, 0x4f, 0x07, 0x04, 0x6d, 0x5f, 0x9a, 0xc4, + 0xba, 0x94, 0x49, 0xae, 0xc3, 0x42, 0x94, 0x6b, 0x43, 0x70, 0xd3, 0x55, 0x70, 0xe9, 0xa2, 0xe6, + 0xcc, 0x2e, 0x72, 0x7e, 0x6b, 0x41, 0xff, 0x5d, 0x16, 0x50, 0xf1, 0x60, 0x2b, 0x8e, 0x43, 0xb9, + 0x85, 0xb8, 0xb4, 0xcf, 0xbf, 0x07, 0x1d, 0x0f, 0xd9, 0xd0, 0x4c, 0xba, 0x7d, 0x86, 0xc1, 0xb6, + 0xa4, 0xd1, 0x66, 0x94, 0xa6, 0x3e, 0xa3, 0x38, 0x7f, 0xb0, 0x60, 0x09, 0x8d, 0xf2, 0x5e, 0x1e, + 0x64, 0x97, 0x96, 0x6f, 0x1b, 0x16, 0xc6, 0x79, 0x90, 0x5d, 0x22, 0x2a, 0x15, 0x5d, 0x3d, 0x9e, + 0x9a, 0x13, 0xe2, 0xc9, 0xf9, 0xd0, 0x82, 0x1b, 0x55, 0xb3, 0x6e, 0x0d, 0x87, 0x24, 0x7e, 0x95, + 0x29, 0x65, 0xcc, 0x68, 0x73, 0x95, 0x19, 0x6d, 0xa2, 0xc8, 0x2e, 0xf9, 0x80, 0x0c, 0x3f, 0xb9, + 0x22, 0xff, 0xbc, 0x01, 0x9f, 0x7d, 0xa0, 0x12, 0xef, 0x69, 0xe2, 0xd1, 0xf4, 0x88, 0x24, 0xc9, + 0x2b, 0x94, 0x77, 0x0f, 0x7a, 0x94, 0xbc, 0x28, 0x65, 0x92, 0xe9, 0x38, 0x2b, 0x1b, 0x93, 0x78, + 0xb6, 0xda, 0xe5, 0xfc, 0xd7, 0x82, 0x15, 0xe4, 0xf3, 0xfd, 0x60, 0x78, 0xf2, 0x0a, 0x95, 0x7f, + 0x0c, 0x4b, 0x27, 0x42, 0x02, 0x0e, 0x5d, 0xa2, 0x6c, 0x57, 0xa8, 0x67, 0x54, 0xff, 0x7f, 0x16, + 0xac, 0x22, 0xa3, 0x47, 0xf4, 0x34, 0x78, 0x95, 0xc1, 0x7a, 0x00, 0xcb, 0x01, 0x8a, 0x70, 0x49, + 0x03, 0x54, 0xc9, 0x67, 0xb4, 0xc0, 0x1f, 0x2d, 0x58, 0x46, 0x4e, 0xf7, 0x68, 0x46, 0x92, 0x4b, + 0xeb, 0xff, 0x10, 0xba, 0x84, 0x66, 0x89, 0x47, 0x2f, 0x53, 0x21, 0x75, 0xd2, 0x19, 0x8b, 0xe4, + 0x09, 0xac, 0xe2, 0x2b, 0xbc, 0x56, 0x71, 0xf8, 0x2c, 0xeb, 0xf9, 0x38, 0x9e, 0x5a, 0x82, 0xa8, + 0x00, 0xcd, 0xe5, 0x8c, 0xdc, 0xae, 0x97, 0xcb, 0x99, 0x9b, 0x00, 0x9e, 0xef, 0xbf, 0xcf, 0x12, + 0x3f, 0xa0, 0x45, 0xfb, 0xd0, 0x30, 0xce, 0xbb, 0xb0, 0xc8, 0xa7, 0xe9, 0xa7, 0xda, 0xcb, 0xf8, + 0xb9, 0xeb, 0x02, 0xfd, 0x45, 0xbe, 0x61, 0xbe, 0xc8, 0x3b, 0x3f, 0x81, 0x4f, 0xd7, 0x04, 0x17, + 0x56, 0xdf, 0xc1, 0x1d, 0x43, 0x71, 0x89, 0x34, 0xfe, 0xe7, 0x27, 0x98, 0x50, 0x97, 0xc5, 0x35, + 0x88, 0x9c, 0x9f, 0x59, 0xf0, 0x66, 0x8d, 0xfd, 0x56, 0x1c, 0x27, 0xec, 0x54, 0x06, 0xf7, 0x55, + 0x5c, 0x63, 0x96, 0xd6, 0x46, 0xb5, 0xb4, 0x4e, 0x14, 0xc2, 0x68, 0x07, 0x1f, 0x83, 0x10, 0xbf, + 0xb3, 0x60, 0x59, 0x0a, 0xe1, 0xfb, 0xf2, 0xda, 0x6f, 0x42, 0x1b, 0xf7, 0x93, 0xf2, 0xc2, 0x37, + 0x27, 0x5e, 0x58, 0xec, 0x55, 0x5d, 0x79, 0xb8, 0x1e, 0x91, 0x8d, 0x49, 0x63, 0xe0, 0xb7, 0x55, + 0x05, 0x98, 0x79, 0x83, 0x28, 0x09, 0x9c, 0x1f, 0x16, 0xc1, 0xbc, 0x4b, 0x42, 0x72, 0x95, 0x36, + 0x72, 0x9e, 0xc1, 0x92, 0x58, 0x96, 0x96, 0x36, 0xb8, 0x12, 0xb6, 0xef, 0xc3, 0x8a, 0x60, 0x7b, + 0xe5, 0xf2, 0xaa, 0xec, 0xe0, 0xf6, 0xd9, 0x39, 0xf6, 0xe8, 0xe8, 0x2a, 0xb9, 0x7f, 0x0d, 0xae, + 0x15, 0xb6, 0x7f, 0x16, 0xfb, 0xea, 0x15, 0x65, 0xca, 0x62, 0xc6, 0xf9, 0x3a, 0xac, 0xed, 0x30, + 0x7a, 0x4a, 0x92, 0x54, 0x78, 0x19, 0x49, 0x0a, 0x0a, 0x23, 0xf9, 0x25, 0xe4, 0x0c, 0x60, 0x55, + 0xae, 0x14, 0x0f, 0xbc, 0x51, 0x40, 0xb1, 0x2a, 0xdd, 0x04, 0x88, 0xbd, 0x51, 0xf1, 0x49, 0x01, + 0xf7, 0x4e, 0x1a, 0x86, 0x3f, 0x4f, 0x8f, 0xd9, 0x0b, 0xf9, 0xbc, 0x81, 0xcf, 0x4b, 0x8c, 0xf3, + 0x03, 0xb0, 0x5d, 0x92, 0xc6, 0x8c, 0xa6, 0x44, 0xe3, 0xba, 0x0e, 0xdd, 0x9d, 0x3c, 0x49, 0x08, + 0xe5, 0x57, 0x15, 0xfb, 0x75, 0x1d, 0xc5, 0xf9, 0x0e, 0x4a, 0xbe, 0xb8, 0xab, 0xd0, 0x30, 0xce, + 0xaf, 0x9b, 0xd0, 0x19, 0x04, 0x23, 0xea, 0x85, 0x2e, 0x19, 0xdb, 0xdf, 0x81, 0x36, 0x76, 0x10, + 0x69, 0xda, 0x49, 0xef, 0xce, 0x78, 0x1a, 0x5b, 0xa5, 0x4b, 0xc6, 0x0f, 0x3f, 0xe5, 0x4a, 0x1a, + 0xfb, 0x3d, 0xe8, 0xe1, 0xaf, 0x47, 0xf8, 0x46, 0x20, 0x1b, 0xc0, 0x97, 0x2e, 0x60, 0x22, 0x4f, + 0x23, 0x2f, 0x93, 0x03, 0x17, 0x68, 0xe8, 0xd1, 0xa1, 0xfc, 0xe6, 0x76, 0x9e, 0x40, 0x3b, 0xe2, + 0x98, 0x14, 0x08, 0x69, 0x38, 0xb5, 0x27, 0x66, 0x66, 0xf9, 0xd5, 0x62, 0x3a, 0x35, 0x8e, 0xd6, + 0x92, 0x1a, 0x69, 0x38, 0xf5, 0x71, 0x4e, 0x47, 0xcf, 0x62, 0xf9, 0x2a, 0x37, 0x9d, 0xfa, 0xa1, + 0x38, 0x26, 0xa9, 0x91, 0x86, 0x53, 0x27, 0xa2, 0xda, 0x09, 0xa3, 0x9f, 0x47, 0x8d, 0x45, 0x51, + 0x52, 0x23, 0xcd, 0x76, 0x07, 0xe6, 0x63, 0xef, 0x2c, 0x64, 0x9e, 0xef, 0xfc, 0xbe, 0x09, 0x50, + 0x1c, 0x4c, 0xc5, 0x8c, 0x61, 0xb8, 0x68, 0xe3, 0x42, 0x17, 0xc5, 0xe1, 0x99, 0xe6, 0xa4, 0xc1, + 0x64, 0x27, 0x7d, 0x65, 0x56, 0x27, 0x21, 0xb7, 0x8a, 0x9b, 0xee, 0x56, 0xdc, 0xb4, 0x71, 0xa1, + 0x9b, 0xa4, 0x50, 0xd2, 0x51, 0x77, 0x2b, 0x8e, 0xda, 0xb8, 0xd0, 0x51, 0x92, 0x5e, 0xba, 0xea, + 0x6e, 0xc5, 0x55, 0x1b, 0x17, 0xba, 0x4a, 0xd2, 0x4b, 0x67, 0xdd, 0xad, 0x38, 0x6b, 0xe3, 0x42, + 0x67, 0x49, 0xfa, 0xba, 0xbb, 0x3e, 0x6c, 0xc0, 0x92, 0x30, 0x19, 0xee, 0x6d, 0xe9, 0x11, 0x13, + 0xeb, 0x19, 0x61, 0x2e, 0xf3, 0x0b, 0x95, 0x89, 0xb4, 0xbf, 0x0a, 0xab, 0x88, 0x90, 0x5f, 0x34, + 0xc4, 0xf8, 0xd7, 0x58, 0x6f, 0xde, 0xea, 0xb8, 0xf5, 0x07, 0x62, 0xd3, 0x96, 0xa7, 0x19, 0x8b, + 0x76, 0xbd, 0xcc, 0x2b, 0xa6, 0x95, 0x12, 0xa3, 0xef, 0x41, 0xe7, 0x6a, 0x5f, 0xb8, 0x13, 0xc6, + 0x22, 0xb5, 0xe0, 0x94, 0x10, 0xa7, 0xc8, 0x82, 0x88, 0xb0, 0x3c, 0x93, 0x65, 0xa2, 0x00, 0x79, + 0x8f, 0x8d, 0x88, 0x1f, 0x78, 0x62, 0x7b, 0x28, 0x3f, 0x2b, 0x28, 0x04, 0x97, 0x44, 0xdb, 0x86, + 0xca, 0x2f, 0xd0, 0xda, 0x1e, 0xf4, 0xc2, 0xcd, 0xa5, 0xf3, 0x17, 0x0b, 0x96, 0x2b, 0x55, 0x85, + 0x4f, 0x4f, 0xd8, 0x17, 0x95, 0xb9, 0x14, 0x6c, 0x6f, 0x01, 0x04, 0xca, 0xc2, 0xe7, 0xac, 0x09, + 0x4c, 0x37, 0xb8, 0x1a, 0xd1, 0xa4, 0x6d, 0x61, 0xf3, 0xd2, 0xdb, 0x42, 0x67, 0x07, 0x56, 0x6b, + 0x29, 0x27, 0x56, 0x7e, 0xec, 0x84, 0x50, 0xb5, 0xf2, 0xe3, 0x00, 0xb7, 0x72, 0x18, 0x9c, 0xea, + 0x5f, 0xa3, 0x25, 0xe8, 0xfc, 0xcd, 0x82, 0xb5, 0xc9, 0x65, 0xf1, 0xf5, 0x32, 0xc6, 0x21, 0xf4, + 0xa7, 0x15, 0x8e, 0x29, 0x36, 0x29, 0x23, 0xb2, 0x51, 0x8d, 0xc8, 0x29, 0xb6, 0x2a, 0x23, 0x46, + 0x95, 0xfd, 0xd7, 0xcb, 0x48, 0xd7, 0x8a, 0x88, 0xd1, 0xea, 0xa1, 0xa6, 0x95, 0x6a, 0x47, 0xaf, + 0x97, 0x56, 0x3f, 0x2e, 0xb4, 0xd2, 0xaa, 0xf4, 0x47, 0xe0, 0x73, 0xd5, 0x6e, 0x5f, 0x53, 0x9f, + 0x6b, 0x3d, 0xc8, 0xf9, 0xbb, 0xd2, 0x4a, 0x8d, 0x01, 0x65, 0xbf, 0x20, 0x93, 0xfa, 0x05, 0xf9, + 0xc4, 0xeb, 0xa7, 0xf5, 0xc8, 0xed, 0x1b, 0x3f, 0xba, 0xbe, 0xf9, 0x36, 0xfe, 0x43, 0xee, 0x9d, + 0x1a, 0xcf, 0xc3, 0xb6, 0xf8, 0xc7, 0xdc, 0x37, 0xfe, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x01, 0x1b, + 0xfc, 0xb1, 0x44, 0x27, 0x00, 0x00, } From 38e5b1f85354e175cb78b4ec4213e4be6720448f Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 15 Mar 2022 09:50:37 +0800 Subject: [PATCH 041/129] server modify --- internal/msg_gateway/gate/validate.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/msg_gateway/gate/validate.go b/internal/msg_gateway/gate/validate.go index a8d686fc8..97b7e6edb 100644 --- a/internal/msg_gateway/gate/validate.go +++ b/internal/msg_gateway/gate/validate.go @@ -209,10 +209,10 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq) (isPass bool, } else { return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil } - msg.ClientMsgID = utils.GetMsgID(payload.Cancel.InviterUserID) + msg.ClientMsgID = utils.GetMsgID(payload.Cancel.OpUserID) return true, 0, "", &resp, &msg case *open_im_sdk.SignalReq_Accept: - token, err2 := media.GetJoinToken(payload.Accept.Invitation.RoomID, payload.Accept.InviteeUserID) + token, err2 := media.GetJoinToken(payload.Accept.Invitation.RoomID, payload.Accept.OpUserID) if err2 != nil { return false, 201, err2.Error(), nil, nil } @@ -223,7 +223,7 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq) (isPass bool, }} resp.Payload = &cancel msg.OfflinePushInfo = payload.Accept.OfflinePushInfo - msg.SendID = payload.Accept.InviteeUserID + msg.SendID = payload.Accept.OpUserID msg.SenderPlatformID = payload.Accept.Invitation.PlatformID msg.SessionType = payload.Accept.Invitation.SessionType if len(payload.Accept.Invitation.InviteeUserIDList) > 0 { @@ -236,7 +236,7 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq) (isPass bool, } else { return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil } - msg.ClientMsgID = utils.GetMsgID(payload.Accept.InviteeUserID) + msg.ClientMsgID = utils.GetMsgID(payload.Accept.OpUserID) return true, 0, "", &resp, &msg case *open_im_sdk.SignalReq_HungUp: case *open_im_sdk.SignalReq_Reject: From bde88ecc79e4a24fd6ef9f2c7f4af4802ae8f250 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 15 Mar 2022 10:00:45 +0800 Subject: [PATCH 042/129] server modify --- pkg/proto/sdk_ws/ws.proto | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 54d13a928..e73dbc138 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -387,6 +387,7 @@ message SignalInviteReq { message SignalInviteReply { string token = 1; + string roomID = 2; string liveURL = 3; } From 185f3c05fbe1ddb4f1becf6ff28871559c9d9bde Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Tue, 15 Mar 2022 10:02:52 +0800 Subject: [PATCH 043/129] signaling --- pkg/proto/sdk_ws/ws.pb.go | 425 +++++++++++++++++++------------------- 1 file changed, 216 insertions(+), 209 deletions(-) diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index 94a44ff2a..5bcd767a5 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_013c9875881bc16b, []int{0} + return fileDescriptor_ws_64ff1f13269cfb11, []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_013c9875881bc16b, []int{1} + return fileDescriptor_ws_64ff1f13269cfb11, []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_013c9875881bc16b, []int{2} + return fileDescriptor_ws_64ff1f13269cfb11, []int{2} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -344,7 +344,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} } func (m *UserInfo) String() string { return proto.CompactTextString(m) } func (*UserInfo) ProtoMessage() {} func (*UserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{3} + return fileDescriptor_ws_64ff1f13269cfb11, []int{3} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -451,7 +451,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} } func (m *FriendInfo) String() string { return proto.CompactTextString(m) } func (*FriendInfo) ProtoMessage() {} func (*FriendInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{4} + return fileDescriptor_ws_64ff1f13269cfb11, []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_013c9875881bc16b, []int{5} + return fileDescriptor_ws_64ff1f13269cfb11, []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_013c9875881bc16b, []int{6} + return fileDescriptor_ws_64ff1f13269cfb11, []int{6} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -725,7 +725,7 @@ func (m *FriendRequest) Reset() { *m = FriendRequest{} } func (m *FriendRequest) String() string { return proto.CompactTextString(m) } func (*FriendRequest) ProtoMessage() {} func (*FriendRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{7} + return fileDescriptor_ws_64ff1f13269cfb11, []int{7} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -863,7 +863,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{8} + return fileDescriptor_ws_64ff1f13269cfb11, []int{8} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -917,7 +917,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{9} + return fileDescriptor_ws_64ff1f13269cfb11, []int{9} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -968,7 +968,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{10} + return fileDescriptor_ws_64ff1f13269cfb11, []int{10} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1000,7 +1000,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{11} + return fileDescriptor_ws_64ff1f13269cfb11, []int{11} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1047,7 +1047,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{12} + return fileDescriptor_ws_64ff1f13269cfb11, []int{12} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1116,7 +1116,7 @@ func (m *MsgData) Reset() { *m = MsgData{} } func (m *MsgData) String() string { return proto.CompactTextString(m) } func (*MsgData) ProtoMessage() {} func (*MsgData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{13} + return fileDescriptor_ws_64ff1f13269cfb11, []int{13} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -1277,7 +1277,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{14} + return fileDescriptor_ws_64ff1f13269cfb11, []int{14} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -1345,7 +1345,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} } func (m *TipsComm) String() string { return proto.CompactTextString(m) } func (*TipsComm) ProtoMessage() {} func (*TipsComm) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{15} + return fileDescriptor_ws_64ff1f13269cfb11, []int{15} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -1402,7 +1402,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} } func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } func (*GroupCreatedTips) ProtoMessage() {} func (*GroupCreatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{16} + return fileDescriptor_ws_64ff1f13269cfb11, []int{16} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -1471,7 +1471,7 @@ func (m *GroupInfoSetTips) Reset() { *m = GroupInfoSetTips{} } func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupInfoSetTips) ProtoMessage() {} func (*GroupInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{17} + return fileDescriptor_ws_64ff1f13269cfb11, []int{17} } func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) @@ -1526,7 +1526,7 @@ func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTi func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } func (*JoinGroupApplicationTips) ProtoMessage() {} func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{18} + return fileDescriptor_ws_64ff1f13269cfb11, []int{18} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -1582,7 +1582,7 @@ func (m *MemberQuitTips) Reset() { *m = MemberQuitTips{} } func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) } func (*MemberQuitTips) ProtoMessage() {} func (*MemberQuitTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{19} + return fileDescriptor_ws_64ff1f13269cfb11, []int{19} } func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) @@ -1637,7 +1637,7 @@ func (m *GroupApplicationAcceptedTips) Reset() { *m = GroupApplicationAc func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationAcceptedTips) ProtoMessage() {} func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{20} + return fileDescriptor_ws_64ff1f13269cfb11, []int{20} } func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) @@ -1692,7 +1692,7 @@ func (m *GroupApplicationRejectedTips) Reset() { *m = GroupApplicationRe func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationRejectedTips) ProtoMessage() {} func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{21} + return fileDescriptor_ws_64ff1f13269cfb11, []int{21} } func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) @@ -1748,7 +1748,7 @@ func (m *GroupOwnerTransferredTips) Reset() { *m = GroupOwnerTransferred func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) } func (*GroupOwnerTransferredTips) ProtoMessage() {} func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{22} + return fileDescriptor_ws_64ff1f13269cfb11, []int{22} } func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) @@ -1811,7 +1811,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} } func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } func (*MemberKickedTips) ProtoMessage() {} func (*MemberKickedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{23} + return fileDescriptor_ws_64ff1f13269cfb11, []int{23} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -1874,7 +1874,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} } func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } func (*MemberInvitedTips) ProtoMessage() {} func (*MemberInvitedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{24} + return fileDescriptor_ws_64ff1f13269cfb11, []int{24} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -1936,7 +1936,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} } func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } func (*MemberEnterTips) ProtoMessage() {} func (*MemberEnterTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{25} + return fileDescriptor_ws_64ff1f13269cfb11, []int{25} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -1990,7 +1990,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_013c9875881bc16b, []int{26} + return fileDescriptor_ws_64ff1f13269cfb11, []int{26} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -2043,7 +2043,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_013c9875881bc16b, []int{27} + return fileDescriptor_ws_64ff1f13269cfb11, []int{27} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -2089,7 +2089,7 @@ func (m *FriendApplicationTips) Reset() { *m = FriendApplicationTips{} } func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationTips) ProtoMessage() {} func (*FriendApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{28} + return fileDescriptor_ws_64ff1f13269cfb11, []int{28} } func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) @@ -2129,7 +2129,7 @@ func (m *FriendApplicationApprovedTips) Reset() { *m = FriendApplication func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationApprovedTips) ProtoMessage() {} func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{29} + return fileDescriptor_ws_64ff1f13269cfb11, []int{29} } func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) @@ -2176,7 +2176,7 @@ func (m *FriendApplicationRejectedTips) Reset() { *m = FriendApplication func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationRejectedTips) ProtoMessage() {} func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{30} + return fileDescriptor_ws_64ff1f13269cfb11, []int{30} } func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) @@ -2224,7 +2224,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_013c9875881bc16b, []int{31} + return fileDescriptor_ws_64ff1f13269cfb11, []int{31} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -2277,7 +2277,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_013c9875881bc16b, []int{32} + return fileDescriptor_ws_64ff1f13269cfb11, []int{32} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -2315,7 +2315,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_013c9875881bc16b, []int{33} + return fileDescriptor_ws_64ff1f13269cfb11, []int{33} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -2353,7 +2353,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_013c9875881bc16b, []int{34} + return fileDescriptor_ws_64ff1f13269cfb11, []int{34} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -2391,7 +2391,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_013c9875881bc16b, []int{35} + return fileDescriptor_ws_64ff1f13269cfb11, []int{35} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -2430,7 +2430,7 @@ func (m *UserInfoUpdatedTips) Reset() { *m = UserInfoUpdatedTips{} } func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (*UserInfoUpdatedTips) ProtoMessage() {} func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{36} + return fileDescriptor_ws_64ff1f13269cfb11, []int{36} } func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) @@ -2469,7 +2469,7 @@ func (m *ConversationUpdateTips) Reset() { *m = ConversationUpdateTips{} func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) } func (*ConversationUpdateTips) ProtoMessage() {} func (*ConversationUpdateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{37} + return fileDescriptor_ws_64ff1f13269cfb11, []int{37} } func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) @@ -2509,7 +2509,7 @@ func (m *RequestPagination) Reset() { *m = RequestPagination{} } func (m *RequestPagination) String() string { return proto.CompactTextString(m) } func (*RequestPagination) ProtoMessage() {} func (*RequestPagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{38} + return fileDescriptor_ws_64ff1f13269cfb11, []int{38} } func (m *RequestPagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RequestPagination.Unmarshal(m, b) @@ -2555,7 +2555,7 @@ func (m *ResponsePagination) Reset() { *m = ResponsePagination{} } func (m *ResponsePagination) String() string { return proto.CompactTextString(m) } func (*ResponsePagination) ProtoMessage() {} func (*ResponsePagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{39} + return fileDescriptor_ws_64ff1f13269cfb11, []int{39} } func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) @@ -2608,7 +2608,7 @@ func (m *SignalReq) Reset() { *m = SignalReq{} } func (m *SignalReq) String() string { return proto.CompactTextString(m) } func (*SignalReq) ProtoMessage() {} func (*SignalReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{40} + return fileDescriptor_ws_64ff1f13269cfb11, []int{40} } func (m *SignalReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalReq.Unmarshal(m, b) @@ -2875,7 +2875,7 @@ func (m *SignalResp) Reset() { *m = SignalResp{} } func (m *SignalResp) String() string { return proto.CompactTextString(m) } func (*SignalResp) ProtoMessage() {} func (*SignalResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{41} + return fileDescriptor_ws_64ff1f13269cfb11, []int{41} } func (m *SignalResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalResp.Unmarshal(m, b) @@ -3143,7 +3143,7 @@ func (m *InvitationInfo) Reset() { *m = InvitationInfo{} } func (m *InvitationInfo) String() string { return proto.CompactTextString(m) } func (*InvitationInfo) ProtoMessage() {} func (*InvitationInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{42} + return fileDescriptor_ws_64ff1f13269cfb11, []int{42} } func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) @@ -3239,7 +3239,7 @@ func (m *SignalInviteReq) Reset() { *m = SignalInviteReq{} } func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteReq) ProtoMessage() {} func (*SignalInviteReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{43} + return fileDescriptor_ws_64ff1f13269cfb11, []int{43} } func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) @@ -3282,6 +3282,7 @@ func (m *SignalInviteReq) GetOfflinePushInfo() *OfflinePushInfo { type SignalInviteReply struct { Token string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` + RoomID string `protobuf:"bytes,2,opt,name=roomID" json:"roomID,omitempty"` LiveURL string `protobuf:"bytes,3,opt,name=liveURL" json:"liveURL,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -3292,7 +3293,7 @@ func (m *SignalInviteReply) Reset() { *m = SignalInviteReply{} } func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteReply) ProtoMessage() {} func (*SignalInviteReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{44} + return fileDescriptor_ws_64ff1f13269cfb11, []int{44} } func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) @@ -3319,6 +3320,13 @@ func (m *SignalInviteReply) GetToken() string { return "" } +func (m *SignalInviteReply) GetRoomID() string { + if m != nil { + return m.RoomID + } + return "" +} + func (m *SignalInviteReply) GetLiveURL() string { if m != nil { return m.LiveURL @@ -3339,7 +3347,7 @@ func (m *SignalInviteInGroupReq) Reset() { *m = SignalInviteInGroupReq{} func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReq) ProtoMessage() {} func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{45} + return fileDescriptor_ws_64ff1f13269cfb11, []int{45} } func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) @@ -3393,7 +3401,7 @@ func (m *SignalInviteInGroupReply) Reset() { *m = SignalInviteInGroupRep func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReply) ProtoMessage() {} func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{46} + return fileDescriptor_ws_64ff1f13269cfb11, []int{46} } func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) @@ -3447,7 +3455,7 @@ func (m *SignalCancelReq) Reset() { *m = SignalCancelReq{} } func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) } func (*SignalCancelReq) ProtoMessage() {} func (*SignalCancelReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{47} + return fileDescriptor_ws_64ff1f13269cfb11, []int{47} } func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) @@ -3498,7 +3506,7 @@ func (m *SignalCancelReply) Reset() { *m = SignalCancelReply{} } func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) } func (*SignalCancelReply) ProtoMessage() {} func (*SignalCancelReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{48} + return fileDescriptor_ws_64ff1f13269cfb11, []int{48} } func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) @@ -3531,7 +3539,7 @@ func (m *SignalAcceptReq) Reset() { *m = SignalAcceptReq{} } func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReq) ProtoMessage() {} func (*SignalAcceptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{49} + return fileDescriptor_ws_64ff1f13269cfb11, []int{49} } func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) @@ -3585,7 +3593,7 @@ func (m *SignalAcceptReply) Reset() { *m = SignalAcceptReply{} } func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReply) ProtoMessage() {} func (*SignalAcceptReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{50} + return fileDescriptor_ws_64ff1f13269cfb11, []int{50} } func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) @@ -3639,7 +3647,7 @@ func (m *SignalHungUpReq) Reset() { *m = SignalHungUpReq{} } func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReq) ProtoMessage() {} func (*SignalHungUpReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{51} + return fileDescriptor_ws_64ff1f13269cfb11, []int{51} } func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) @@ -3690,7 +3698,7 @@ func (m *SignalHungUpReply) Reset() { *m = SignalHungUpReply{} } func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReply) ProtoMessage() {} func (*SignalHungUpReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{52} + return fileDescriptor_ws_64ff1f13269cfb11, []int{52} } func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) @@ -3723,7 +3731,7 @@ func (m *SignalRejectReq) Reset() { *m = SignalRejectReq{} } func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) } func (*SignalRejectReq) ProtoMessage() {} func (*SignalRejectReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{53} + return fileDescriptor_ws_64ff1f13269cfb11, []int{53} } func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) @@ -3774,7 +3782,7 @@ func (m *SignalRejectReply) Reset() { *m = SignalRejectReply{} } func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) } func (*SignalRejectReply) ProtoMessage() {} func (*SignalRejectReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_013c9875881bc16b, []int{54} + return fileDescriptor_ws_64ff1f13269cfb11, []int{54} } func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) @@ -3853,162 +3861,161 @@ func init() { proto.RegisterType((*SignalRejectReply)(nil), "server_api_params.SignalRejectReply") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_013c9875881bc16b) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_64ff1f13269cfb11) } -var fileDescriptor_ws_013c9875881bc16b = []byte{ - // 2454 bytes of a gzipped FileDescriptorProto +var fileDescriptor_ws_64ff1f13269cfb11 = []byte{ + // 2447 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x1a, 0x4d, 0x6f, 0x1c, 0x49, 0x95, 0x9e, 0xf1, 0x8c, 0x3d, 0x6f, 0x3c, 0xfe, 0xe8, 0x2c, 0x66, 0x08, 0xd9, 0x60, 0x5a, 0xd6, 0x12, 0xbe, 0xbc, 0x28, 0x08, 0x09, 0xb2, 0x10, 0xe4, 0x8f, 0x7c, 0x2d, 0x76, 0xe2, 0xed, 0x49, - 0x58, 0x04, 0x48, 0x51, 0x7b, 0xba, 0x3c, 0xee, 0x75, 0x77, 0x55, 0x4f, 0x7f, 0x38, 0xb1, 0xc4, - 0x09, 0x24, 0xfe, 0x01, 0x5c, 0x91, 0xb8, 0x20, 0x24, 0x84, 0xf6, 0x82, 0xb8, 0x20, 0x4e, 0x20, - 0x71, 0xe5, 0xcc, 0x5f, 0xe0, 0xca, 0x01, 0x09, 0x09, 0x54, 0xf5, 0xaa, 0xab, 0xab, 0xba, 0x67, - 0xec, 0x91, 0xe5, 0xdd, 0x6c, 0x6e, 0xf3, 0x5e, 0xd7, 0x7b, 0xf5, 0xbe, 0xdf, 0xeb, 0xd7, 0x03, - 0xcb, 0xa9, 0x7f, 0xf2, 0xfc, 0x45, 0xfa, 0xf6, 0x8b, 0x74, 0x33, 0x4e, 0x58, 0xc6, 0xec, 0xd5, - 0x94, 0x24, 0xa7, 0x24, 0x79, 0xee, 0xc5, 0xc1, 0xf3, 0xd8, 0x4b, 0xbc, 0x28, 0x75, 0xfe, 0xdd, - 0x80, 0xce, 0x83, 0x84, 0xe5, 0xf1, 0x23, 0x7a, 0xc4, 0xec, 0x3e, 0xcc, 0x8f, 0x04, 0xb0, 0xdb, - 0xb7, 0xd6, 0xad, 0x5b, 0x1d, 0xb7, 0x00, 0xed, 0x1b, 0xd0, 0x11, 0x3f, 0x1f, 0x7b, 0x11, 0xe9, - 0x37, 0xc4, 0xb3, 0x12, 0x61, 0x3b, 0xb0, 0x48, 0x59, 0x16, 0x1c, 0x05, 0x43, 0x2f, 0x0b, 0x18, - 0xed, 0x37, 0xc5, 0x01, 0x03, 0xc7, 0xcf, 0x04, 0x34, 0x4b, 0x98, 0x9f, 0x0f, 0xc5, 0x99, 0x39, - 0x3c, 0xa3, 0xe3, 0xf8, 0xfd, 0x47, 0xde, 0x90, 0x3c, 0x73, 0xf7, 0xfa, 0x2d, 0xbc, 0x5f, 0x82, - 0xf6, 0x3a, 0x74, 0xd9, 0x0b, 0x4a, 0x92, 0x67, 0x29, 0x49, 0x1e, 0xed, 0xf6, 0xdb, 0xe2, 0xa9, - 0x8e, 0xb2, 0x6f, 0x02, 0x0c, 0x13, 0xe2, 0x65, 0xe4, 0x69, 0x10, 0x91, 0xfe, 0xfc, 0xba, 0x75, - 0xab, 0xe7, 0x6a, 0x18, 0xce, 0x21, 0x22, 0xd1, 0x21, 0x49, 0x76, 0x58, 0x4e, 0xb3, 0xfe, 0x82, - 0x38, 0xa0, 0xa3, 0xec, 0x25, 0x68, 0x90, 0x97, 0xfd, 0x8e, 0x60, 0xdd, 0x20, 0x2f, 0xed, 0x35, - 0x68, 0xa7, 0x99, 0x97, 0xe5, 0x69, 0x1f, 0xd6, 0xad, 0x5b, 0x2d, 0x57, 0x42, 0xf6, 0x06, 0xf4, - 0x04, 0x5f, 0x56, 0x48, 0xd3, 0x15, 0x24, 0x26, 0x52, 0x59, 0xec, 0xe9, 0x59, 0x4c, 0xfa, 0x8b, - 0x82, 0x41, 0x89, 0x70, 0xfe, 0xd4, 0x80, 0x6b, 0xc2, 0xee, 0xfb, 0x42, 0x80, 0xfb, 0x79, 0x18, - 0x5e, 0xe0, 0x81, 0x35, 0x68, 0xe7, 0x78, 0x1d, 0x9a, 0x5f, 0x42, 0xfc, 0x9e, 0x84, 0x85, 0x64, - 0x8f, 0x9c, 0x92, 0x50, 0x18, 0xbe, 0xe5, 0x96, 0x08, 0xfb, 0x3a, 0x2c, 0x7c, 0xc0, 0x02, 0x2a, - 0x6c, 0x32, 0x27, 0x1e, 0x2a, 0x98, 0x3f, 0xa3, 0xc1, 0xf0, 0x84, 0x72, 0x97, 0xa2, 0xb9, 0x15, - 0xac, 0x7b, 0xa2, 0x6d, 0x7a, 0xe2, 0x2d, 0x58, 0xf2, 0xe2, 0x78, 0xdf, 0xa3, 0x23, 0x92, 0xe0, - 0xa5, 0xf3, 0x82, 0x6f, 0x05, 0xcb, 0xfd, 0xc1, 0x6f, 0x1a, 0xb0, 0x3c, 0x19, 0x12, 0x61, 0xee, - 0x96, 0xab, 0x61, 0x38, 0x1f, 0x16, 0x93, 0x44, 0x33, 0x23, 0x5a, 0xbe, 0x82, 0x95, 0x5e, 0x81, - 0xc2, 0x2b, 0xce, 0x2f, 0x2c, 0x58, 0x3a, 0xc8, 0x0f, 0xc3, 0x60, 0x28, 0x0e, 0x70, 0xa3, 0x95, - 0xa6, 0xb1, 0x0c, 0xd3, 0xe8, 0x0a, 0x36, 0xa6, 0x2b, 0xd8, 0x34, 0x15, 0x5c, 0x83, 0xf6, 0x88, - 0x50, 0x9f, 0x24, 0xd2, 0x60, 0x12, 0x92, 0x82, 0xb4, 0x94, 0x20, 0xbf, 0x6a, 0xc0, 0xc2, 0xc7, - 0x2c, 0xc2, 0x3a, 0x74, 0xe3, 0x63, 0x46, 0xc9, 0xe3, 0x9c, 0x07, 0x8d, 0x94, 0x45, 0x47, 0xd9, - 0x6f, 0x40, 0xeb, 0x30, 0x48, 0xb2, 0x63, 0xe1, 0xb5, 0x9e, 0x8b, 0x00, 0xc7, 0x92, 0xc8, 0x0b, - 0xd0, 0x55, 0x1d, 0x17, 0x01, 0xa9, 0xd0, 0x82, 0x8a, 0x77, 0x33, 0x83, 0x3a, 0xb5, 0x0c, 0xaa, - 0x7b, 0x1e, 0x26, 0x79, 0xde, 0xf9, 0x8f, 0x05, 0x70, 0x3f, 0x09, 0x08, 0xf5, 0x85, 0x69, 0x2a, - 0xa9, 0x6b, 0xd5, 0x53, 0x77, 0x0d, 0xda, 0x09, 0x89, 0xbc, 0xe4, 0xa4, 0x08, 0x6d, 0x84, 0x2a, - 0x02, 0x35, 0x6b, 0x02, 0xbd, 0x03, 0x70, 0x24, 0xee, 0xe1, 0x7c, 0x84, 0xa9, 0xba, 0xb7, 0x3f, - 0xb7, 0x59, 0x2b, 0x72, 0x9b, 0x85, 0x97, 0x5c, 0xed, 0x38, 0xcf, 0x1b, 0xcf, 0xf7, 0x65, 0x78, - 0xb6, 0x30, 0x6f, 0x14, 0x62, 0x42, 0x74, 0xb6, 0xcf, 0x89, 0xce, 0x79, 0x15, 0x14, 0xff, 0xb2, - 0xa0, 0xb3, 0x1d, 0x7a, 0xc3, 0x93, 0x19, 0x55, 0x37, 0x55, 0x6c, 0xd4, 0x54, 0x7c, 0x00, 0xbd, - 0x43, 0xce, 0xae, 0x50, 0x41, 0x58, 0xa1, 0x7b, 0xfb, 0x0b, 0x13, 0xb4, 0x34, 0x93, 0xc2, 0x35, - 0xe9, 0x4c, 0x75, 0xe7, 0x2e, 0x56, 0xb7, 0x75, 0x8e, 0xba, 0x6d, 0xa5, 0xee, 0x3f, 0x1a, 0xb0, - 0x28, 0xca, 0x98, 0x4b, 0xc6, 0x39, 0x49, 0x33, 0xfb, 0xbb, 0xb0, 0x90, 0x17, 0xa2, 0x5a, 0xb3, - 0x8a, 0xaa, 0x48, 0xec, 0x3b, 0xb2, 0x68, 0x0a, 0xfa, 0x86, 0xa0, 0xbf, 0x31, 0x81, 0x5e, 0x75, - 0x2c, 0xb7, 0x3c, 0xce, 0x1b, 0xcc, 0xb1, 0x47, 0xfd, 0x90, 0xb8, 0x24, 0xcd, 0xc3, 0x4c, 0xd6, - 0x42, 0x03, 0x87, 0x91, 0x36, 0xde, 0x4f, 0x47, 0xb2, 0xfd, 0x48, 0x88, 0x5b, 0x07, 0xcf, 0xf1, - 0x47, 0xa8, 0x7a, 0x89, 0xe0, 0x89, 0x9a, 0x90, 0xb1, 0xf0, 0x10, 0xa6, 0x55, 0x01, 0x96, 0x77, - 0x4a, 0xab, 0x61, 0x20, 0x18, 0x38, 0xee, 0x62, 0x84, 0x05, 0x03, 0xec, 0x3b, 0x1a, 0xa6, 0xda, - 0x76, 0x9c, 0x7f, 0x36, 0xa1, 0x87, 0xe9, 0x53, 0x18, 0xf5, 0x26, 0x8f, 0x73, 0x16, 0x19, 0x51, - 0xa4, 0x61, 0xb8, 0x14, 0x1c, 0x7a, 0x6c, 0x16, 0x1a, 0x03, 0xc7, 0x43, 0x91, 0xc3, 0xf7, 0x8d, - 0x82, 0xa3, 0xa3, 0x8a, 0x5b, 0x1e, 0xe8, 0x85, 0x47, 0xc3, 0xf0, 0x52, 0x96, 0x31, 0x23, 0x3a, - 0x14, 0xcc, 0x69, 0x33, 0xa6, 0xee, 0xc7, 0xf8, 0xd0, 0x30, 0xdc, 0xbe, 0x19, 0x2b, 0xee, 0x46, - 0x23, 0x95, 0x08, 0xe4, 0x2c, 0xef, 0xc5, 0x46, 0xa1, 0xe0, 0x9a, 0x57, 0x3b, 0xe7, 0x7a, 0x15, - 0x0c, 0xaf, 0x9a, 0xc9, 0xd5, 0xad, 0x25, 0xd7, 0x06, 0xf4, 0x90, 0x4f, 0x11, 0xf4, 0x8b, 0xd8, - 0xc8, 0x0d, 0xa4, 0x19, 0x1b, 0xbd, 0x6a, 0x6c, 0x98, 0xde, 0x5d, 0x9a, 0xe2, 0xdd, 0x65, 0xe5, - 0xdd, 0x9f, 0x42, 0xff, 0x20, 0x0f, 0xc3, 0x7d, 0x92, 0xa6, 0xde, 0x88, 0x6c, 0x9f, 0x0d, 0xc8, - 0x78, 0x2f, 0x48, 0x33, 0x97, 0xa4, 0x31, 0x8f, 0x33, 0x92, 0x24, 0x3b, 0xcc, 0x27, 0xc2, 0xc9, - 0x2d, 0xb7, 0x00, 0xb9, 0x86, 0x24, 0x49, 0xb8, 0x00, 0xb2, 0x42, 0x22, 0x64, 0x6f, 0xc2, 0x5c, - 0x18, 0xa4, 0x3c, 0xd6, 0x9b, 0xb7, 0xba, 0xb7, 0xaf, 0x4f, 0x48, 0x95, 0xfd, 0x74, 0xb4, 0xeb, - 0x65, 0x9e, 0x2b, 0xce, 0x39, 0x11, 0x7c, 0x66, 0xf2, 0xed, 0xe3, 0xa9, 0x1d, 0x8c, 0xd7, 0x30, - 0x51, 0x04, 0x02, 0x46, 0xd5, 0xf0, 0xa1, 0xa3, 0xb8, 0xd8, 0x29, 0xf2, 0x11, 0x72, 0xf4, 0xdc, - 0x02, 0x74, 0xde, 0x00, 0xfb, 0x01, 0xc9, 0xf6, 0xbd, 0x97, 0x5b, 0xd4, 0xdf, 0x0f, 0xe8, 0x80, - 0x8c, 0x5d, 0x32, 0x76, 0xee, 0xc1, 0xb5, 0x1a, 0x36, 0x8d, 0xb9, 0x00, 0x91, 0xf7, 0x72, 0x40, - 0xc6, 0x42, 0x80, 0x9e, 0x2b, 0x21, 0x81, 0x17, 0xa7, 0x64, 0x79, 0x94, 0x90, 0x33, 0x86, 0x65, - 0xee, 0xa1, 0x01, 0xa1, 0xfe, 0x7e, 0x3a, 0x12, 0x2c, 0xd6, 0xa1, 0x8b, 0x16, 0xd8, 0x4f, 0x47, - 0x65, 0xbd, 0xd5, 0x50, 0xfc, 0xc4, 0x30, 0x0c, 0x08, 0xcd, 0xf0, 0x84, 0xd4, 0x46, 0x43, 0xf1, - 0x60, 0x4c, 0x09, 0xf5, 0x55, 0xcb, 0x69, 0xba, 0x0a, 0x76, 0xfe, 0xdc, 0x82, 0x79, 0x69, 0x50, - 0x31, 0x1d, 0xf2, 0x16, 0xa7, 0xec, 0x85, 0x10, 0x06, 0xe3, 0xf0, 0xb4, 0x9c, 0xd3, 0x10, 0xd2, - 0x27, 0xbb, 0xa6, 0x39, 0xd9, 0x55, 0x64, 0x9a, 0xab, 0xcb, 0x54, 0xd1, 0xab, 0x55, 0xd7, 0xeb, - 0xcb, 0xb0, 0x92, 0x8a, 0x84, 0x39, 0x08, 0xbd, 0xec, 0x88, 0x25, 0x91, 0xec, 0x58, 0x2d, 0xb7, - 0x86, 0xe7, 0xc5, 0x1e, 0x71, 0x2a, 0x61, 0x31, 0x23, 0x2b, 0x58, 0x9e, 0x1e, 0x88, 0x29, 0x12, - 0x17, 0x47, 0x05, 0x13, 0x89, 0xb2, 0xa5, 0x69, 0xc0, 0xa8, 0x98, 0x74, 0x31, 0x3f, 0x75, 0x14, - 0xd7, 0x3c, 0x4a, 0x47, 0xf7, 0x13, 0x16, 0xc9, 0x81, 0xa1, 0x00, 0x85, 0xe6, 0x8c, 0x66, 0x84, - 0x66, 0x82, 0xb6, 0x8b, 0xb4, 0x1a, 0x8a, 0xd3, 0x4a, 0x50, 0x24, 0xe7, 0xa2, 0x5b, 0x80, 0xf6, - 0x0a, 0x34, 0x53, 0x32, 0x96, 0x19, 0xc7, 0x7f, 0x1a, 0x9e, 0x5b, 0x36, 0x3d, 0x57, 0x29, 0x05, - 0x2b, 0xe2, 0xa9, 0x5e, 0x0a, 0xca, 0x59, 0x7f, 0xd5, 0x98, 0xf5, 0xb7, 0x60, 0x9e, 0xc5, 0x3c, - 0xce, 0xd3, 0xbe, 0x2d, 0x72, 0xec, 0x8b, 0xd3, 0x73, 0x6c, 0xf3, 0x09, 0x9e, 0xbc, 0x47, 0xb3, - 0xe4, 0xcc, 0x2d, 0xe8, 0xec, 0x3d, 0x58, 0x66, 0x47, 0x47, 0x61, 0x40, 0xc9, 0x41, 0x9e, 0x1e, - 0x8b, 0xce, 0x76, 0x4d, 0x74, 0x36, 0x67, 0x02, 0xab, 0x27, 0xe6, 0x49, 0xb7, 0x4a, 0x7a, 0xfd, - 0x0e, 0x2c, 0xea, 0xd7, 0x70, 0x33, 0x9c, 0x90, 0x33, 0x19, 0x83, 0xfc, 0x27, 0x1f, 0xf6, 0x4e, - 0xbd, 0x30, 0xc7, 0x36, 0xb0, 0xe0, 0x22, 0x70, 0xa7, 0xf1, 0x2d, 0xcb, 0xf9, 0xa5, 0x05, 0xcb, - 0x95, 0x0b, 0xf8, 0xe9, 0x2c, 0xc8, 0x42, 0x22, 0x39, 0x20, 0x60, 0xdb, 0x30, 0xe7, 0x93, 0x74, - 0x28, 0x43, 0x58, 0xfc, 0x96, 0x95, 0xac, 0xa9, 0xc6, 0x45, 0xfe, 0x42, 0xf7, 0x64, 0xc0, 0x19, - 0x0d, 0x58, 0x4e, 0x7d, 0xf5, 0x42, 0xa7, 0xe1, 0x78, 0x08, 0x05, 0x4f, 0x06, 0xdb, 0x9e, 0x3f, - 0x22, 0xf8, 0xda, 0xd5, 0x12, 0x32, 0x99, 0x48, 0xc7, 0x87, 0x85, 0xa7, 0x41, 0x9c, 0xee, 0xb0, - 0x28, 0xe2, 0x8e, 0xf0, 0x49, 0xc6, 0x67, 0x55, 0x4b, 0xf8, 0x5b, 0x42, 0x3c, 0x54, 0x7c, 0x72, - 0xe4, 0xe5, 0x61, 0xc6, 0x8f, 0x16, 0x89, 0xab, 0xa1, 0xc4, 0x0b, 0x47, 0xca, 0xe8, 0x2e, 0x52, - 0xa3, 0x9c, 0x1a, 0xc6, 0xf9, 0x6b, 0x03, 0x56, 0xc4, 0xe0, 0xb0, 0x23, 0xdc, 0xee, 0x0b, 0xa2, - 0xdb, 0xd0, 0x12, 0x69, 0x28, 0x87, 0x95, 0xf3, 0x87, 0x0d, 0x3c, 0x6a, 0xdf, 0x85, 0x36, 0x8b, - 0xc5, 0xc8, 0x89, 0x13, 0xca, 0x5b, 0xd3, 0x88, 0xcc, 0x77, 0x3b, 0x57, 0x52, 0xd9, 0xf7, 0x01, - 0xf0, 0xb5, 0x73, 0xaf, 0x2c, 0xdd, 0xb3, 0xf2, 0xd0, 0x28, 0xb9, 0x71, 0x55, 0x19, 0x56, 0x2f, - 0x78, 0x4d, 0xd7, 0x44, 0xda, 0x8f, 0x61, 0x49, 0x88, 0xfd, 0xa4, 0x98, 0x3a, 0x85, 0x0f, 0x66, - 0xbf, 0xb1, 0x42, 0xed, 0xfc, 0xc6, 0x92, 0x66, 0xe4, 0x4f, 0x07, 0x04, 0x6d, 0x5f, 0x9a, 0xc4, - 0xba, 0x94, 0x49, 0xae, 0xc3, 0x42, 0x94, 0x6b, 0x43, 0x70, 0xd3, 0x55, 0x70, 0xe9, 0xa2, 0xe6, - 0xcc, 0x2e, 0x72, 0x7e, 0x6b, 0x41, 0xff, 0x5d, 0x16, 0x50, 0xf1, 0x60, 0x2b, 0x8e, 0x43, 0xb9, - 0x85, 0xb8, 0xb4, 0xcf, 0xbf, 0x07, 0x1d, 0x0f, 0xd9, 0xd0, 0x4c, 0xba, 0x7d, 0x86, 0xc1, 0xb6, - 0xa4, 0xd1, 0x66, 0x94, 0xa6, 0x3e, 0xa3, 0x38, 0x7f, 0xb0, 0x60, 0x09, 0x8d, 0xf2, 0x5e, 0x1e, - 0x64, 0x97, 0x96, 0x6f, 0x1b, 0x16, 0xc6, 0x79, 0x90, 0x5d, 0x22, 0x2a, 0x15, 0x5d, 0x3d, 0x9e, - 0x9a, 0x13, 0xe2, 0xc9, 0xf9, 0xd0, 0x82, 0x1b, 0x55, 0xb3, 0x6e, 0x0d, 0x87, 0x24, 0x7e, 0x95, - 0x29, 0x65, 0xcc, 0x68, 0x73, 0x95, 0x19, 0x6d, 0xa2, 0xc8, 0x2e, 0xf9, 0x80, 0x0c, 0x3f, 0xb9, - 0x22, 0xff, 0xbc, 0x01, 0x9f, 0x7d, 0xa0, 0x12, 0xef, 0x69, 0xe2, 0xd1, 0xf4, 0x88, 0x24, 0xc9, - 0x2b, 0x94, 0x77, 0x0f, 0x7a, 0x94, 0xbc, 0x28, 0x65, 0x92, 0xe9, 0x38, 0x2b, 0x1b, 0x93, 0x78, - 0xb6, 0xda, 0xe5, 0xfc, 0xd7, 0x82, 0x15, 0xe4, 0xf3, 0xfd, 0x60, 0x78, 0xf2, 0x0a, 0x95, 0x7f, - 0x0c, 0x4b, 0x27, 0x42, 0x02, 0x0e, 0x5d, 0xa2, 0x6c, 0x57, 0xa8, 0x67, 0x54, 0xff, 0x7f, 0x16, - 0xac, 0x22, 0xa3, 0x47, 0xf4, 0x34, 0x78, 0x95, 0xc1, 0x7a, 0x00, 0xcb, 0x01, 0x8a, 0x70, 0x49, - 0x03, 0x54, 0xc9, 0x67, 0xb4, 0xc0, 0x1f, 0x2d, 0x58, 0x46, 0x4e, 0xf7, 0x68, 0x46, 0x92, 0x4b, - 0xeb, 0xff, 0x10, 0xba, 0x84, 0x66, 0x89, 0x47, 0x2f, 0x53, 0x21, 0x75, 0xd2, 0x19, 0x8b, 0xe4, - 0x09, 0xac, 0xe2, 0x2b, 0xbc, 0x56, 0x71, 0xf8, 0x2c, 0xeb, 0xf9, 0x38, 0x9e, 0x5a, 0x82, 0xa8, - 0x00, 0xcd, 0xe5, 0x8c, 0xdc, 0xae, 0x97, 0xcb, 0x99, 0x9b, 0x00, 0x9e, 0xef, 0xbf, 0xcf, 0x12, - 0x3f, 0xa0, 0x45, 0xfb, 0xd0, 0x30, 0xce, 0xbb, 0xb0, 0xc8, 0xa7, 0xe9, 0xa7, 0xda, 0xcb, 0xf8, - 0xb9, 0xeb, 0x02, 0xfd, 0x45, 0xbe, 0x61, 0xbe, 0xc8, 0x3b, 0x3f, 0x81, 0x4f, 0xd7, 0x04, 0x17, - 0x56, 0xdf, 0xc1, 0x1d, 0x43, 0x71, 0x89, 0x34, 0xfe, 0xe7, 0x27, 0x98, 0x50, 0x97, 0xc5, 0x35, - 0x88, 0x9c, 0x9f, 0x59, 0xf0, 0x66, 0x8d, 0xfd, 0x56, 0x1c, 0x27, 0xec, 0x54, 0x06, 0xf7, 0x55, - 0x5c, 0x63, 0x96, 0xd6, 0x46, 0xb5, 0xb4, 0x4e, 0x14, 0xc2, 0x68, 0x07, 0x1f, 0x83, 0x10, 0xbf, - 0xb3, 0x60, 0x59, 0x0a, 0xe1, 0xfb, 0xf2, 0xda, 0x6f, 0x42, 0x1b, 0xf7, 0x93, 0xf2, 0xc2, 0x37, - 0x27, 0x5e, 0x58, 0xec, 0x55, 0x5d, 0x79, 0xb8, 0x1e, 0x91, 0x8d, 0x49, 0x63, 0xe0, 0xb7, 0x55, - 0x05, 0x98, 0x79, 0x83, 0x28, 0x09, 0x9c, 0x1f, 0x16, 0xc1, 0xbc, 0x4b, 0x42, 0x72, 0x95, 0x36, - 0x72, 0x9e, 0xc1, 0x92, 0x58, 0x96, 0x96, 0x36, 0xb8, 0x12, 0xb6, 0xef, 0xc3, 0x8a, 0x60, 0x7b, - 0xe5, 0xf2, 0xaa, 0xec, 0xe0, 0xf6, 0xd9, 0x39, 0xf6, 0xe8, 0xe8, 0x2a, 0xb9, 0x7f, 0x0d, 0xae, - 0x15, 0xb6, 0x7f, 0x16, 0xfb, 0xea, 0x15, 0x65, 0xca, 0x62, 0xc6, 0xf9, 0x3a, 0xac, 0xed, 0x30, - 0x7a, 0x4a, 0x92, 0x54, 0x78, 0x19, 0x49, 0x0a, 0x0a, 0x23, 0xf9, 0x25, 0xe4, 0x0c, 0x60, 0x55, - 0xae, 0x14, 0x0f, 0xbc, 0x51, 0x40, 0xb1, 0x2a, 0xdd, 0x04, 0x88, 0xbd, 0x51, 0xf1, 0x49, 0x01, - 0xf7, 0x4e, 0x1a, 0x86, 0x3f, 0x4f, 0x8f, 0xd9, 0x0b, 0xf9, 0xbc, 0x81, 0xcf, 0x4b, 0x8c, 0xf3, - 0x03, 0xb0, 0x5d, 0x92, 0xc6, 0x8c, 0xa6, 0x44, 0xe3, 0xba, 0x0e, 0xdd, 0x9d, 0x3c, 0x49, 0x08, - 0xe5, 0x57, 0x15, 0xfb, 0x75, 0x1d, 0xc5, 0xf9, 0x0e, 0x4a, 0xbe, 0xb8, 0xab, 0xd0, 0x30, 0xce, - 0xaf, 0x9b, 0xd0, 0x19, 0x04, 0x23, 0xea, 0x85, 0x2e, 0x19, 0xdb, 0xdf, 0x81, 0x36, 0x76, 0x10, - 0x69, 0xda, 0x49, 0xef, 0xce, 0x78, 0x1a, 0x5b, 0xa5, 0x4b, 0xc6, 0x0f, 0x3f, 0xe5, 0x4a, 0x1a, - 0xfb, 0x3d, 0xe8, 0xe1, 0xaf, 0x47, 0xf8, 0x46, 0x20, 0x1b, 0xc0, 0x97, 0x2e, 0x60, 0x22, 0x4f, - 0x23, 0x2f, 0x93, 0x03, 0x17, 0x68, 0xe8, 0xd1, 0xa1, 0xfc, 0xe6, 0x76, 0x9e, 0x40, 0x3b, 0xe2, - 0x98, 0x14, 0x08, 0x69, 0x38, 0xb5, 0x27, 0x66, 0x66, 0xf9, 0xd5, 0x62, 0x3a, 0x35, 0x8e, 0xd6, - 0x92, 0x1a, 0x69, 0x38, 0xf5, 0x71, 0x4e, 0x47, 0xcf, 0x62, 0xf9, 0x2a, 0x37, 0x9d, 0xfa, 0xa1, - 0x38, 0x26, 0xa9, 0x91, 0x86, 0x53, 0x27, 0xa2, 0xda, 0x09, 0xa3, 0x9f, 0x47, 0x8d, 0x45, 0x51, - 0x52, 0x23, 0xcd, 0x76, 0x07, 0xe6, 0x63, 0xef, 0x2c, 0x64, 0x9e, 0xef, 0xfc, 0xbe, 0x09, 0x50, - 0x1c, 0x4c, 0xc5, 0x8c, 0x61, 0xb8, 0x68, 0xe3, 0x42, 0x17, 0xc5, 0xe1, 0x99, 0xe6, 0xa4, 0xc1, - 0x64, 0x27, 0x7d, 0x65, 0x56, 0x27, 0x21, 0xb7, 0x8a, 0x9b, 0xee, 0x56, 0xdc, 0xb4, 0x71, 0xa1, - 0x9b, 0xa4, 0x50, 0xd2, 0x51, 0x77, 0x2b, 0x8e, 0xda, 0xb8, 0xd0, 0x51, 0x92, 0x5e, 0xba, 0xea, - 0x6e, 0xc5, 0x55, 0x1b, 0x17, 0xba, 0x4a, 0xd2, 0x4b, 0x67, 0xdd, 0xad, 0x38, 0x6b, 0xe3, 0x42, - 0x67, 0x49, 0xfa, 0xba, 0xbb, 0x3e, 0x6c, 0xc0, 0x92, 0x30, 0x19, 0xee, 0x6d, 0xe9, 0x11, 0x13, - 0xeb, 0x19, 0x61, 0x2e, 0xf3, 0x0b, 0x95, 0x89, 0xb4, 0xbf, 0x0a, 0xab, 0x88, 0x90, 0x5f, 0x34, - 0xc4, 0xf8, 0xd7, 0x58, 0x6f, 0xde, 0xea, 0xb8, 0xf5, 0x07, 0x62, 0xd3, 0x96, 0xa7, 0x19, 0x8b, - 0x76, 0xbd, 0xcc, 0x2b, 0xa6, 0x95, 0x12, 0xa3, 0xef, 0x41, 0xe7, 0x6a, 0x5f, 0xb8, 0x13, 0xc6, - 0x22, 0xb5, 0xe0, 0x94, 0x10, 0xa7, 0xc8, 0x82, 0x88, 0xb0, 0x3c, 0x93, 0x65, 0xa2, 0x00, 0x79, - 0x8f, 0x8d, 0x88, 0x1f, 0x78, 0x62, 0x7b, 0x28, 0x3f, 0x2b, 0x28, 0x04, 0x97, 0x44, 0xdb, 0x86, - 0xca, 0x2f, 0xd0, 0xda, 0x1e, 0xf4, 0xc2, 0xcd, 0xa5, 0xf3, 0x17, 0x0b, 0x96, 0x2b, 0x55, 0x85, - 0x4f, 0x4f, 0xd8, 0x17, 0x95, 0xb9, 0x14, 0x6c, 0x6f, 0x01, 0x04, 0xca, 0xc2, 0xe7, 0xac, 0x09, - 0x4c, 0x37, 0xb8, 0x1a, 0xd1, 0xa4, 0x6d, 0x61, 0xf3, 0xd2, 0xdb, 0x42, 0x67, 0x07, 0x56, 0x6b, - 0x29, 0x27, 0x56, 0x7e, 0xec, 0x84, 0x50, 0xb5, 0xf2, 0xe3, 0x00, 0xb7, 0x72, 0x18, 0x9c, 0xea, - 0x5f, 0xa3, 0x25, 0xe8, 0xfc, 0xcd, 0x82, 0xb5, 0xc9, 0x65, 0xf1, 0xf5, 0x32, 0xc6, 0x21, 0xf4, - 0xa7, 0x15, 0x8e, 0x29, 0x36, 0x29, 0x23, 0xb2, 0x51, 0x8d, 0xc8, 0x29, 0xb6, 0x2a, 0x23, 0x46, - 0x95, 0xfd, 0xd7, 0xcb, 0x48, 0xd7, 0x8a, 0x88, 0xd1, 0xea, 0xa1, 0xa6, 0x95, 0x6a, 0x47, 0xaf, - 0x97, 0x56, 0x3f, 0x2e, 0xb4, 0xd2, 0xaa, 0xf4, 0x47, 0xe0, 0x73, 0xd5, 0x6e, 0x5f, 0x53, 0x9f, - 0x6b, 0x3d, 0xc8, 0xf9, 0xbb, 0xd2, 0x4a, 0x8d, 0x01, 0x65, 0xbf, 0x20, 0x93, 0xfa, 0x05, 0xf9, - 0xc4, 0xeb, 0xa7, 0xf5, 0xc8, 0xed, 0x1b, 0x3f, 0xba, 0xbe, 0xf9, 0x36, 0xfe, 0x43, 0xee, 0x9d, - 0x1a, 0xcf, 0xc3, 0xb6, 0xf8, 0xc7, 0xdc, 0x37, 0xfe, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x01, 0x1b, - 0xfc, 0xb1, 0x44, 0x27, 0x00, 0x00, + 0x58, 0x04, 0x48, 0x51, 0x7b, 0xba, 0x66, 0xdc, 0xeb, 0xee, 0xaa, 0x9e, 0xfe, 0x70, 0x62, 0x89, + 0x13, 0x48, 0xfc, 0x03, 0xb8, 0x22, 0x71, 0x41, 0x48, 0x08, 0xed, 0x05, 0x71, 0x41, 0x9c, 0x40, + 0xe2, 0xca, 0x99, 0xbf, 0xc0, 0x95, 0x03, 0x12, 0x12, 0xa8, 0xea, 0x55, 0x57, 0x57, 0x75, 0x8f, + 0xed, 0x91, 0xe5, 0xdd, 0x6c, 0x6e, 0xf3, 0x5e, 0xd5, 0x7b, 0xf5, 0xea, 0x7d, 0xd7, 0xeb, 0x81, + 0xe5, 0xd4, 0x3f, 0x7e, 0xfe, 0x22, 0x7d, 0xfb, 0x45, 0xba, 0x19, 0x27, 0x2c, 0x63, 0xf6, 0x6a, + 0x4a, 0x92, 0x13, 0x92, 0x3c, 0xf7, 0xe2, 0xe0, 0x79, 0xec, 0x25, 0x5e, 0x94, 0x3a, 0xff, 0x6e, + 0x40, 0xe7, 0x41, 0xc2, 0xf2, 0xf8, 0x11, 0x1d, 0x31, 0xbb, 0x0f, 0xf3, 0x63, 0x01, 0xec, 0xf6, + 0xad, 0x75, 0xeb, 0x56, 0xc7, 0x2d, 0x40, 0xfb, 0x06, 0x74, 0xc4, 0xcf, 0xc7, 0x5e, 0x44, 0xfa, + 0x0d, 0xb1, 0x56, 0x22, 0x6c, 0x07, 0x16, 0x29, 0xcb, 0x82, 0x51, 0x30, 0xf4, 0xb2, 0x80, 0xd1, + 0x7e, 0x53, 0x6c, 0x30, 0x70, 0x7c, 0x4f, 0x40, 0xb3, 0x84, 0xf9, 0xf9, 0x50, 0xec, 0x99, 0xc3, + 0x3d, 0x3a, 0x8e, 0x9f, 0x3f, 0xf2, 0x86, 0xe4, 0x99, 0xbb, 0xd7, 0x6f, 0xe1, 0xf9, 0x12, 0xb4, + 0xd7, 0xa1, 0xcb, 0x5e, 0x50, 0x92, 0x3c, 0x4b, 0x49, 0xf2, 0x68, 0xb7, 0xdf, 0x16, 0xab, 0x3a, + 0xca, 0xbe, 0x09, 0x30, 0x4c, 0x88, 0x97, 0x91, 0xa7, 0x41, 0x44, 0xfa, 0xf3, 0xeb, 0xd6, 0xad, + 0x9e, 0xab, 0x61, 0x38, 0x87, 0x88, 0x44, 0x87, 0x24, 0xd9, 0x61, 0x39, 0xcd, 0xfa, 0x0b, 0x62, + 0x83, 0x8e, 0xb2, 0x97, 0xa0, 0x41, 0x5e, 0xf6, 0x3b, 0x82, 0x75, 0x83, 0xbc, 0xb4, 0xd7, 0xa0, + 0x9d, 0x66, 0x5e, 0x96, 0xa7, 0x7d, 0x58, 0xb7, 0x6e, 0xb5, 0x5c, 0x09, 0xd9, 0x1b, 0xd0, 0x13, + 0x7c, 0x59, 0x21, 0x4d, 0x57, 0x90, 0x98, 0x48, 0xa5, 0xb1, 0xa7, 0xa7, 0x31, 0xe9, 0x2f, 0x0a, + 0x06, 0x25, 0xc2, 0xf9, 0x53, 0x03, 0xae, 0x09, 0xbd, 0xef, 0x0b, 0x01, 0xee, 0xe7, 0x61, 0x78, + 0x81, 0x05, 0xd6, 0xa0, 0x9d, 0xe3, 0x71, 0xa8, 0x7e, 0x09, 0xf1, 0x73, 0x12, 0x16, 0x92, 0x3d, + 0x72, 0x42, 0x42, 0xa1, 0xf8, 0x96, 0x5b, 0x22, 0xec, 0xeb, 0xb0, 0xf0, 0x01, 0x0b, 0xa8, 0xd0, + 0xc9, 0x9c, 0x58, 0x54, 0x30, 0x5f, 0xa3, 0xc1, 0xf0, 0x98, 0x72, 0x93, 0xa2, 0xba, 0x15, 0xac, + 0x5b, 0xa2, 0x6d, 0x5a, 0xe2, 0x2d, 0x58, 0xf2, 0xe2, 0x78, 0xdf, 0xa3, 0x63, 0x92, 0xe0, 0xa1, + 0xf3, 0x82, 0x6f, 0x05, 0xcb, 0xed, 0xc1, 0x4f, 0x1a, 0xb0, 0x3c, 0x19, 0x12, 0xa1, 0xee, 0x96, + 0xab, 0x61, 0x38, 0x1f, 0x16, 0x93, 0x44, 0x53, 0x23, 0x6a, 0xbe, 0x82, 0x95, 0x56, 0x81, 0xc2, + 0x2a, 0xce, 0x2f, 0x2c, 0x58, 0x3a, 0xc8, 0x0f, 0xc3, 0x60, 0x28, 0x36, 0x70, 0xa5, 0x95, 0xaa, + 0xb1, 0x0c, 0xd5, 0xe8, 0x17, 0x6c, 0x9c, 0x7d, 0xc1, 0xa6, 0x79, 0xc1, 0x35, 0x68, 0x8f, 0x09, + 0xf5, 0x49, 0x22, 0x15, 0x26, 0x21, 0x29, 0x48, 0x4b, 0x09, 0xf2, 0xab, 0x06, 0x2c, 0x7c, 0xcc, + 0x22, 0xac, 0x43, 0x37, 0x3e, 0x62, 0x94, 0x3c, 0xce, 0xb9, 0xd3, 0x48, 0x59, 0x74, 0x94, 0xfd, + 0x06, 0xb4, 0x0e, 0x83, 0x24, 0x3b, 0x12, 0x56, 0xeb, 0xb9, 0x08, 0x70, 0x2c, 0x89, 0xbc, 0x00, + 0x4d, 0xd5, 0x71, 0x11, 0x90, 0x17, 0x5a, 0x50, 0xfe, 0x6e, 0x46, 0x50, 0xa7, 0x16, 0x41, 0x75, + 0xcb, 0xc3, 0x34, 0xcb, 0x3b, 0xff, 0xb1, 0x00, 0xee, 0x27, 0x01, 0xa1, 0xbe, 0x50, 0x4d, 0x25, + 0x74, 0xad, 0x7a, 0xe8, 0xae, 0x41, 0x3b, 0x21, 0x91, 0x97, 0x1c, 0x17, 0xae, 0x8d, 0x50, 0x45, + 0xa0, 0x66, 0x4d, 0xa0, 0x77, 0x00, 0x46, 0xe2, 0x1c, 0xce, 0x47, 0xa8, 0xaa, 0x7b, 0xfb, 0x73, + 0x9b, 0xb5, 0x24, 0xb7, 0x59, 0x58, 0xc9, 0xd5, 0xb6, 0xf3, 0xb8, 0xf1, 0x7c, 0x5f, 0xba, 0x67, + 0x0b, 0xe3, 0x46, 0x21, 0xa6, 0x78, 0x67, 0xfb, 0x1c, 0xef, 0x9c, 0x57, 0x4e, 0xf1, 0x2f, 0x0b, + 0x3a, 0xdb, 0xa1, 0x37, 0x3c, 0x9e, 0xf1, 0xea, 0xe6, 0x15, 0x1b, 0xb5, 0x2b, 0x3e, 0x80, 0xde, + 0x21, 0x67, 0x57, 0x5c, 0x41, 0x68, 0xa1, 0x7b, 0xfb, 0x0b, 0x53, 0x6e, 0x69, 0x06, 0x85, 0x6b, + 0xd2, 0x99, 0xd7, 0x9d, 0xbb, 0xf8, 0xba, 0xad, 0x73, 0xae, 0xdb, 0x56, 0xd7, 0xfd, 0x47, 0x03, + 0x16, 0x45, 0x1a, 0x73, 0xc9, 0x24, 0x27, 0x69, 0x66, 0x7f, 0x17, 0x16, 0xf2, 0x42, 0x54, 0x6b, + 0x56, 0x51, 0x15, 0x89, 0x7d, 0x47, 0x26, 0x4d, 0x41, 0xdf, 0x10, 0xf4, 0x37, 0xa6, 0xd0, 0xab, + 0x8a, 0xe5, 0x96, 0xdb, 0x79, 0x81, 0x39, 0xf2, 0xa8, 0x1f, 0x12, 0x97, 0xa4, 0x79, 0x98, 0xc9, + 0x5c, 0x68, 0xe0, 0xd0, 0xd3, 0x26, 0xfb, 0xe9, 0x58, 0x96, 0x1f, 0x09, 0x71, 0xed, 0xe0, 0x3e, + 0xbe, 0x84, 0x57, 0x2f, 0x11, 0x3c, 0x50, 0x13, 0x32, 0x11, 0x16, 0xc2, 0xb0, 0x2a, 0xc0, 0xf2, + 0x4c, 0xa9, 0x35, 0x74, 0x04, 0x03, 0xc7, 0x4d, 0x8c, 0xb0, 0x60, 0x80, 0x75, 0x47, 0xc3, 0x54, + 0xcb, 0x8e, 0xf3, 0xcf, 0x26, 0xf4, 0x30, 0x7c, 0x0a, 0xa5, 0xde, 0xe4, 0x7e, 0xce, 0x22, 0xc3, + 0x8b, 0x34, 0x0c, 0x97, 0x82, 0x43, 0x8f, 0xcd, 0x44, 0x63, 0xe0, 0xb8, 0x2b, 0x72, 0xf8, 0xbe, + 0x91, 0x70, 0x74, 0x54, 0x71, 0xca, 0x03, 0x3d, 0xf1, 0x68, 0x18, 0x9e, 0xca, 0x32, 0x66, 0x78, + 0x87, 0x82, 0x39, 0x6d, 0xc6, 0xd4, 0xf9, 0xe8, 0x1f, 0x1a, 0x86, 0xeb, 0x37, 0x63, 0xc5, 0xd9, + 0xa8, 0xa4, 0x12, 0x81, 0x9c, 0xe5, 0xb9, 0x58, 0x28, 0x14, 0x5c, 0xb3, 0x6a, 0xe7, 0x5c, 0xab, + 0x82, 0x61, 0x55, 0x33, 0xb8, 0xba, 0xb5, 0xe0, 0xda, 0x80, 0x1e, 0xf2, 0x29, 0x9c, 0x7e, 0x11, + 0x0b, 0xb9, 0x81, 0x34, 0x7d, 0xa3, 0x57, 0xf5, 0x0d, 0xd3, 0xba, 0x4b, 0x67, 0x58, 0x77, 0x59, + 0x59, 0xf7, 0xa7, 0xd0, 0x3f, 0xc8, 0xc3, 0x70, 0x9f, 0xa4, 0xa9, 0x37, 0x26, 0xdb, 0xa7, 0x03, + 0x32, 0xd9, 0x0b, 0xd2, 0xcc, 0x25, 0x69, 0xcc, 0xfd, 0x8c, 0x24, 0xc9, 0x0e, 0xf3, 0x89, 0x30, + 0x72, 0xcb, 0x2d, 0x40, 0x7e, 0x43, 0x92, 0x24, 0x5c, 0x00, 0x99, 0x21, 0x11, 0xb2, 0x37, 0x61, + 0x2e, 0x0c, 0x52, 0xee, 0xeb, 0xcd, 0x5b, 0xdd, 0xdb, 0xd7, 0xa7, 0x84, 0xca, 0x7e, 0x3a, 0xde, + 0xf5, 0x32, 0xcf, 0x15, 0xfb, 0x9c, 0x08, 0x3e, 0x33, 0xfd, 0xf4, 0xc9, 0x99, 0x15, 0x8c, 0xe7, + 0x30, 0x91, 0x04, 0x02, 0x46, 0x55, 0xf3, 0xa1, 0xa3, 0xb8, 0xd8, 0x29, 0xf2, 0x11, 0x72, 0xf4, + 0xdc, 0x02, 0x74, 0xde, 0x00, 0xfb, 0x01, 0xc9, 0xf6, 0xbd, 0x97, 0x5b, 0xd4, 0xdf, 0x0f, 0xe8, + 0x80, 0x4c, 0x5c, 0x32, 0x71, 0xee, 0xc1, 0xb5, 0x1a, 0x36, 0x8d, 0xb9, 0x00, 0x91, 0xf7, 0x72, + 0x40, 0x26, 0x42, 0x80, 0x9e, 0x2b, 0x21, 0x81, 0x17, 0xbb, 0x64, 0x7a, 0x94, 0x90, 0x33, 0x81, + 0x65, 0x6e, 0xa1, 0x01, 0xa1, 0xfe, 0x7e, 0x3a, 0x16, 0x2c, 0xd6, 0xa1, 0x8b, 0x1a, 0xd8, 0x4f, + 0xc7, 0x65, 0xbe, 0xd5, 0x50, 0x7c, 0xc7, 0x30, 0x0c, 0x08, 0xcd, 0x70, 0x87, 0xbc, 0x8d, 0x86, + 0xe2, 0xce, 0x98, 0x12, 0xea, 0xab, 0x92, 0xd3, 0x74, 0x15, 0xec, 0xfc, 0xb9, 0x05, 0xf3, 0x52, + 0xa1, 0xa2, 0x3b, 0xe4, 0x25, 0x4e, 0xe9, 0x0b, 0x21, 0x74, 0xc6, 0xe1, 0x49, 0xd9, 0xa7, 0x21, + 0xa4, 0x77, 0x76, 0x4d, 0xb3, 0xb3, 0xab, 0xc8, 0x34, 0x57, 0x97, 0xa9, 0x72, 0xaf, 0x56, 0xfd, + 0x5e, 0x5f, 0x86, 0x95, 0x54, 0x04, 0xcc, 0x41, 0xe8, 0x65, 0x23, 0x96, 0x44, 0xb2, 0x62, 0xb5, + 0xdc, 0x1a, 0x9e, 0x27, 0x7b, 0xc4, 0xa9, 0x80, 0xc5, 0x88, 0xac, 0x60, 0x79, 0x78, 0x20, 0xa6, + 0x08, 0x5c, 0x6c, 0x15, 0x4c, 0x24, 0xca, 0x96, 0xa6, 0x01, 0xa3, 0xa2, 0xd3, 0xc5, 0xf8, 0xd4, + 0x51, 0xfc, 0xe6, 0x51, 0x3a, 0xbe, 0x9f, 0xb0, 0x48, 0x36, 0x0c, 0x05, 0x28, 0x6e, 0xce, 0x68, + 0x46, 0x68, 0x26, 0x68, 0xbb, 0x48, 0xab, 0xa1, 0x38, 0xad, 0x04, 0x45, 0x70, 0x2e, 0xba, 0x05, + 0x68, 0xaf, 0x40, 0x33, 0x25, 0x13, 0x19, 0x71, 0xfc, 0xa7, 0x61, 0xb9, 0x65, 0xd3, 0x72, 0x95, + 0x54, 0xb0, 0x22, 0x56, 0xf5, 0x54, 0x50, 0xf6, 0xfa, 0xab, 0x46, 0xaf, 0xbf, 0x05, 0xf3, 0x2c, + 0xe6, 0x7e, 0x9e, 0xf6, 0x6d, 0x11, 0x63, 0x5f, 0x3c, 0x3b, 0xc6, 0x36, 0x9f, 0xe0, 0xce, 0x7b, + 0x34, 0x4b, 0x4e, 0xdd, 0x82, 0xce, 0xde, 0x83, 0x65, 0x36, 0x1a, 0x85, 0x01, 0x25, 0x07, 0x79, + 0x7a, 0x24, 0x2a, 0xdb, 0x35, 0x51, 0xd9, 0x9c, 0x29, 0xac, 0x9e, 0x98, 0x3b, 0xdd, 0x2a, 0xe9, + 0xf5, 0x3b, 0xb0, 0xa8, 0x1f, 0xc3, 0xd5, 0x70, 0x4c, 0x4e, 0xa5, 0x0f, 0xf2, 0x9f, 0xbc, 0xd9, + 0x3b, 0xf1, 0xc2, 0x1c, 0xcb, 0xc0, 0x82, 0x8b, 0xc0, 0x9d, 0xc6, 0xb7, 0x2c, 0xe7, 0x97, 0x16, + 0x2c, 0x57, 0x0e, 0xe0, 0xbb, 0xb3, 0x20, 0x0b, 0x89, 0xe4, 0x80, 0x80, 0x6d, 0xc3, 0x9c, 0x4f, + 0xd2, 0xa1, 0x74, 0x61, 0xf1, 0x5b, 0x66, 0xb2, 0xa6, 0x6a, 0x17, 0xf9, 0x83, 0xee, 0xc9, 0x80, + 0x33, 0x1a, 0xb0, 0x9c, 0xfa, 0xea, 0x41, 0xa7, 0xe1, 0xb8, 0x0b, 0x05, 0x4f, 0x06, 0xdb, 0x9e, + 0x3f, 0x26, 0xf8, 0xec, 0x6a, 0x09, 0x99, 0x4c, 0xa4, 0xe3, 0xc3, 0xc2, 0xd3, 0x20, 0x4e, 0x77, + 0x58, 0x14, 0x71, 0x43, 0xf8, 0x24, 0xe3, 0xbd, 0xaa, 0x25, 0xec, 0x2d, 0x21, 0xee, 0x2a, 0x3e, + 0x19, 0x79, 0x79, 0x98, 0xf1, 0xad, 0x45, 0xe0, 0x6a, 0x28, 0xf1, 0xe0, 0x48, 0x19, 0xdd, 0x45, + 0x6a, 0x94, 0x53, 0xc3, 0x38, 0x7f, 0x6d, 0xc0, 0x8a, 0x68, 0x1c, 0x76, 0x84, 0xd9, 0x7d, 0x41, + 0x74, 0x1b, 0x5a, 0x22, 0x0c, 0x65, 0xb3, 0x72, 0x7e, 0xb3, 0x81, 0x5b, 0xed, 0xbb, 0xd0, 0x66, + 0xb1, 0x68, 0x39, 0xb1, 0x43, 0x79, 0xeb, 0x2c, 0x22, 0xf3, 0x6d, 0xe7, 0x4a, 0x2a, 0xfb, 0x3e, + 0x00, 0x3e, 0x3b, 0xf7, 0xca, 0xd4, 0x3d, 0x2b, 0x0f, 0x8d, 0x92, 0x2b, 0x57, 0xa5, 0x61, 0xf5, + 0xc0, 0x6b, 0xba, 0x26, 0xd2, 0x7e, 0x0c, 0x4b, 0x42, 0xec, 0x27, 0x45, 0xd7, 0x29, 0x6c, 0x30, + 0xfb, 0x89, 0x15, 0x6a, 0xe7, 0x37, 0x96, 0x54, 0x23, 0x5f, 0x1d, 0x10, 0xd4, 0x7d, 0xa9, 0x12, + 0xeb, 0x52, 0x2a, 0xb9, 0x0e, 0x0b, 0x51, 0xae, 0x35, 0xc1, 0x4d, 0x57, 0xc1, 0xa5, 0x89, 0x9a, + 0x33, 0x9b, 0xc8, 0xf9, 0xad, 0x05, 0xfd, 0x77, 0x59, 0x40, 0xc5, 0xc2, 0x56, 0x1c, 0x87, 0x72, + 0x0a, 0x71, 0x69, 0x9b, 0x7f, 0x0f, 0x3a, 0x1e, 0xb2, 0xa1, 0x99, 0x34, 0xfb, 0x0c, 0x8d, 0x6d, + 0x49, 0xa3, 0xf5, 0x28, 0x4d, 0xbd, 0x47, 0x71, 0xfe, 0x60, 0xc1, 0x12, 0x2a, 0xe5, 0xbd, 0x3c, + 0xc8, 0x2e, 0x2d, 0xdf, 0x36, 0x2c, 0x4c, 0xf2, 0x20, 0xbb, 0x84, 0x57, 0x2a, 0xba, 0xba, 0x3f, + 0x35, 0xa7, 0xf8, 0x93, 0xf3, 0xa1, 0x05, 0x37, 0xaa, 0x6a, 0xdd, 0x1a, 0x0e, 0x49, 0xfc, 0x2a, + 0x43, 0xca, 0xe8, 0xd1, 0xe6, 0x2a, 0x3d, 0xda, 0x54, 0x91, 0x5d, 0xf2, 0x01, 0x19, 0x7e, 0x72, + 0x45, 0xfe, 0x79, 0x03, 0x3e, 0xfb, 0x40, 0x05, 0xde, 0xd3, 0xc4, 0xa3, 0xe9, 0x88, 0x24, 0xc9, + 0x2b, 0x94, 0x77, 0x0f, 0x7a, 0x94, 0xbc, 0x28, 0x65, 0x92, 0xe1, 0x38, 0x2b, 0x1b, 0x93, 0x78, + 0xb6, 0xdc, 0xe5, 0xfc, 0xd7, 0x82, 0x15, 0xe4, 0xf3, 0xfd, 0x60, 0x78, 0xfc, 0x0a, 0x2f, 0xff, + 0x18, 0x96, 0x8e, 0x85, 0x04, 0x1c, 0xba, 0x44, 0xda, 0xae, 0x50, 0xcf, 0x78, 0xfd, 0xff, 0x59, + 0xb0, 0x8a, 0x8c, 0x1e, 0xd1, 0x93, 0xe0, 0x55, 0x3a, 0xeb, 0x01, 0x2c, 0x07, 0x28, 0xc2, 0x25, + 0x15, 0x50, 0x25, 0x9f, 0x51, 0x03, 0x7f, 0xb4, 0x60, 0x19, 0x39, 0xdd, 0xa3, 0x19, 0x49, 0x2e, + 0x7d, 0xff, 0x87, 0xd0, 0x25, 0x34, 0x4b, 0x3c, 0x7a, 0x99, 0x0c, 0xa9, 0x93, 0xce, 0x98, 0x24, + 0x8f, 0x61, 0x15, 0x9f, 0xf0, 0x5a, 0xc6, 0xe1, 0xbd, 0xac, 0xe7, 0x63, 0x7b, 0x6a, 0x09, 0xa2, + 0x02, 0x34, 0x87, 0x33, 0x72, 0xba, 0x5e, 0x0e, 0x67, 0x6e, 0x02, 0x78, 0xbe, 0xff, 0x3e, 0x4b, + 0xfc, 0x80, 0x16, 0xe5, 0x43, 0xc3, 0x38, 0xef, 0xc2, 0x22, 0xef, 0xa6, 0x9f, 0x6a, 0x8f, 0xf1, + 0x73, 0xc7, 0x05, 0xfa, 0x43, 0xbe, 0x61, 0x3e, 0xe4, 0x9d, 0x9f, 0xc0, 0xa7, 0x6b, 0x82, 0x0b, + 0xad, 0xef, 0xe0, 0x8c, 0xa1, 0x38, 0x44, 0x2a, 0xff, 0xf3, 0x53, 0x54, 0xa8, 0xcb, 0xe2, 0x1a, + 0x44, 0xce, 0xcf, 0x2c, 0x78, 0xb3, 0xc6, 0x7e, 0x2b, 0x8e, 0x13, 0x76, 0x22, 0x9d, 0xfb, 0x2a, + 0x8e, 0x31, 0x53, 0x6b, 0xa3, 0x9a, 0x5a, 0xa7, 0x0a, 0x61, 0x94, 0x83, 0x8f, 0x41, 0x88, 0xdf, + 0x59, 0xb0, 0x2c, 0x85, 0xf0, 0x7d, 0x79, 0xec, 0x37, 0xa1, 0x8d, 0xf3, 0x49, 0x79, 0xe0, 0x9b, + 0x53, 0x0f, 0x2c, 0xe6, 0xaa, 0xae, 0xdc, 0x5c, 0xf7, 0xc8, 0xc6, 0xb4, 0x36, 0xf0, 0xdb, 0x2a, + 0x03, 0xcc, 0x3c, 0x41, 0x94, 0x04, 0xce, 0x0f, 0x0b, 0x67, 0xde, 0x25, 0x21, 0xb9, 0x4a, 0x1d, + 0x39, 0xcf, 0x60, 0x49, 0x0c, 0x4b, 0x4b, 0x1d, 0x5c, 0x09, 0xdb, 0xf7, 0x61, 0x45, 0xb0, 0xbd, + 0x72, 0x79, 0x55, 0x74, 0x70, 0xfd, 0xec, 0x1c, 0x79, 0x74, 0x7c, 0x95, 0xdc, 0xbf, 0x06, 0xd7, + 0x0a, 0xdd, 0x3f, 0x8b, 0x7d, 0xf5, 0x44, 0x39, 0x63, 0x30, 0xe3, 0x7c, 0x1d, 0xd6, 0x76, 0x18, + 0x3d, 0x21, 0x49, 0x2a, 0xac, 0x8c, 0x24, 0x05, 0x85, 0x11, 0xfc, 0x12, 0x72, 0x06, 0xb0, 0x2a, + 0x47, 0x8a, 0x07, 0xde, 0x38, 0xa0, 0x98, 0x95, 0x6e, 0x02, 0xc4, 0xde, 0xb8, 0xf8, 0xa4, 0x80, + 0x73, 0x27, 0x0d, 0xc3, 0xd7, 0xd3, 0x23, 0xf6, 0x42, 0xae, 0x37, 0x70, 0xbd, 0xc4, 0x38, 0x3f, + 0x00, 0xdb, 0x25, 0x69, 0xcc, 0x68, 0x4a, 0x34, 0xae, 0xeb, 0xd0, 0xdd, 0xc9, 0x93, 0x84, 0x50, + 0x7e, 0x54, 0x31, 0x5f, 0xd7, 0x51, 0x9c, 0xef, 0xa0, 0xe4, 0x8b, 0xb3, 0x0a, 0x0d, 0xe3, 0xfc, + 0xba, 0x09, 0x9d, 0x41, 0x30, 0xa6, 0x5e, 0xe8, 0x92, 0x89, 0xfd, 0x1d, 0x68, 0x63, 0x05, 0x91, + 0xaa, 0x9d, 0xf6, 0x76, 0xc6, 0xdd, 0x58, 0x2a, 0x5d, 0x32, 0x79, 0xf8, 0x29, 0x57, 0xd2, 0xd8, + 0xef, 0x41, 0x0f, 0x7f, 0x3d, 0xc2, 0x17, 0x81, 0x2c, 0x00, 0x5f, 0xba, 0x80, 0x89, 0xdc, 0x8d, + 0xbc, 0x4c, 0x0e, 0x5c, 0xa0, 0xa1, 0x47, 0x87, 0xf2, 0x9b, 0xdb, 0x79, 0x02, 0xed, 0x88, 0x6d, + 0x52, 0x20, 0xa4, 0xe1, 0xd4, 0x9e, 0xe8, 0x99, 0xe5, 0x57, 0x8b, 0xb3, 0xa9, 0xb1, 0xb5, 0x96, + 0xd4, 0x48, 0xc3, 0xa9, 0x8f, 0x72, 0x3a, 0x7e, 0x16, 0xcb, 0xa7, 0xdc, 0xd9, 0xd4, 0x0f, 0xc5, + 0x36, 0x49, 0x8d, 0x34, 0x9c, 0x3a, 0x11, 0xd9, 0x4e, 0x28, 0xfd, 0x3c, 0x6a, 0x4c, 0x8a, 0x92, + 0x1a, 0x69, 0xb6, 0x3b, 0x30, 0x1f, 0x7b, 0xa7, 0x21, 0xf3, 0x7c, 0xe7, 0xf7, 0x4d, 0x80, 0x62, + 0x63, 0x2a, 0x7a, 0x0c, 0xc3, 0x44, 0x1b, 0x17, 0x9a, 0x28, 0x0e, 0x4f, 0x35, 0x23, 0x0d, 0xa6, + 0x1b, 0xe9, 0x2b, 0xb3, 0x1a, 0x09, 0xb9, 0x55, 0xcc, 0x74, 0xb7, 0x62, 0xa6, 0x8d, 0x0b, 0xcd, + 0x24, 0x85, 0x92, 0x86, 0xba, 0x5b, 0x31, 0xd4, 0xc6, 0x85, 0x86, 0x92, 0xf4, 0xd2, 0x54, 0x77, + 0x2b, 0xa6, 0xda, 0xb8, 0xd0, 0x54, 0x92, 0x5e, 0x1a, 0xeb, 0x6e, 0xc5, 0x58, 0x1b, 0x17, 0x1a, + 0x4b, 0xd2, 0xd7, 0xcd, 0xf5, 0x61, 0x03, 0x96, 0x84, 0xca, 0x70, 0x6e, 0x4b, 0x47, 0x4c, 0x8c, + 0x67, 0x84, 0xba, 0xcc, 0x2f, 0x54, 0x26, 0xd2, 0xfe, 0x2a, 0xac, 0x22, 0x42, 0x7e, 0xd1, 0x10, + 0xed, 0x5f, 0x63, 0xbd, 0x79, 0xab, 0xe3, 0xd6, 0x17, 0xc4, 0xa4, 0x2d, 0x4f, 0x33, 0x16, 0xed, + 0x7a, 0x99, 0x57, 0x74, 0x2b, 0x25, 0x46, 0x9f, 0x83, 0xce, 0xd5, 0xbe, 0x70, 0x27, 0x8c, 0x45, + 0x6a, 0xc0, 0x29, 0x21, 0x4e, 0x91, 0x05, 0x11, 0x61, 0x79, 0x26, 0xd3, 0x44, 0x01, 0xf2, 0x1a, + 0x1b, 0x11, 0x3f, 0xf0, 0xc4, 0xf4, 0x50, 0x7e, 0x56, 0x50, 0x08, 0x2e, 0x89, 0x36, 0x0d, 0x95, + 0x5f, 0xa0, 0xb5, 0x39, 0xe8, 0x85, 0x93, 0x4b, 0xe7, 0x2f, 0x16, 0x2c, 0x57, 0xb2, 0x0a, 0xef, + 0x9e, 0xb0, 0x2e, 0x2a, 0x75, 0x29, 0xd8, 0xde, 0x02, 0x08, 0x94, 0x86, 0xcf, 0x19, 0x13, 0x98, + 0x66, 0x70, 0x35, 0xa2, 0x69, 0xd3, 0xc2, 0xe6, 0xa5, 0xa7, 0x85, 0xce, 0x8f, 0x61, 0xb5, 0x16, + 0x72, 0x62, 0xe4, 0xc7, 0x8e, 0x09, 0x55, 0x23, 0x3f, 0x0e, 0x68, 0xda, 0x6f, 0x54, 0xb5, 0x1f, + 0x06, 0x27, 0xfa, 0x57, 0x6a, 0x09, 0x3a, 0x7f, 0xb3, 0x60, 0x6d, 0x7a, 0xba, 0x7c, 0xbd, 0x94, + 0x74, 0x08, 0xfd, 0xb3, 0x12, 0xca, 0x95, 0xe9, 0xaa, 0xf4, 0x24, 0x55, 0x0e, 0x5e, 0x2f, 0x25, + 0x5d, 0x2b, 0x3c, 0x49, 0xcb, 0x93, 0xda, 0xad, 0x54, 0x99, 0x7a, 0x4d, 0xe3, 0x43, 0xcb, 0xde, + 0x1f, 0x81, 0xcd, 0x55, 0x19, 0x7e, 0x4d, 0x6d, 0xae, 0xd5, 0x26, 0xe7, 0xef, 0xea, 0x56, 0xaa, + 0x3d, 0x28, 0xeb, 0x08, 0x99, 0x56, 0x47, 0xc8, 0x27, 0xfe, 0x7e, 0x5a, 0xed, 0xdc, 0xbe, 0xf1, + 0xa3, 0xeb, 0x9b, 0x6f, 0xe3, 0x3f, 0xe7, 0xde, 0xa9, 0xf1, 0x3c, 0x6c, 0x8b, 0x7f, 0xd2, 0x7d, + 0xe3, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x10, 0xff, 0x57, 0x6e, 0x5c, 0x27, 0x00, 0x00, } From 0c5081594430ac51877cbee34dce0a605695ca1f Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 15 Mar 2022 10:03:39 +0800 Subject: [PATCH 044/129] server modify --- internal/msg_gateway/gate/validate.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/msg_gateway/gate/validate.go b/internal/msg_gateway/gate/validate.go index 97b7e6edb..de14223ac 100644 --- a/internal/msg_gateway/gate/validate.go +++ b/internal/msg_gateway/gate/validate.go @@ -150,6 +150,7 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq) (isPass bool, } invite := open_im_sdk.SignalResp_Invite{&open_im_sdk.SignalInviteReply{ Token: token, + RoomID: payload.Invite.Invitation.RoomID, LiveURL: media.GetUrl(), }} resp.Payload = &invite From ca23c764262d35a0f91f7fe3de2aef2be0e61e54 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 15 Mar 2022 10:11:14 +0800 Subject: [PATCH 045/129] pb modify --- pkg/proto/sdk_ws/ws.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index e73dbc138..04524fcee 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -437,7 +437,7 @@ message SignalHungUpReply { message SignalRejectReq { - string inviteeUserID = 1; + string opUserID = 1; InvitationInfo invitation = 2; OfflinePushInfo offlinePushInfo = 3; } From b4c16002fff01c794ac6ed29f50b85c5d2d05721 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Tue, 15 Mar 2022 10:16:13 +0800 Subject: [PATCH 046/129] signaling --- pkg/proto/sdk_ws/ws.pb.go | 428 +++++++++++++++++++------------------- 1 file changed, 214 insertions(+), 214 deletions(-) diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index 5bcd767a5..df40c442d 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_64ff1f13269cfb11, []int{0} + return fileDescriptor_ws_5a6e79a674462cff, []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_64ff1f13269cfb11, []int{1} + return fileDescriptor_ws_5a6e79a674462cff, []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_64ff1f13269cfb11, []int{2} + return fileDescriptor_ws_5a6e79a674462cff, []int{2} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -344,7 +344,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} } func (m *UserInfo) String() string { return proto.CompactTextString(m) } func (*UserInfo) ProtoMessage() {} func (*UserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{3} + return fileDescriptor_ws_5a6e79a674462cff, []int{3} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -451,7 +451,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} } func (m *FriendInfo) String() string { return proto.CompactTextString(m) } func (*FriendInfo) ProtoMessage() {} func (*FriendInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{4} + return fileDescriptor_ws_5a6e79a674462cff, []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_64ff1f13269cfb11, []int{5} + return fileDescriptor_ws_5a6e79a674462cff, []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_64ff1f13269cfb11, []int{6} + return fileDescriptor_ws_5a6e79a674462cff, []int{6} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -725,7 +725,7 @@ func (m *FriendRequest) Reset() { *m = FriendRequest{} } func (m *FriendRequest) String() string { return proto.CompactTextString(m) } func (*FriendRequest) ProtoMessage() {} func (*FriendRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{7} + return fileDescriptor_ws_5a6e79a674462cff, []int{7} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -863,7 +863,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{8} + return fileDescriptor_ws_5a6e79a674462cff, []int{8} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -917,7 +917,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{9} + return fileDescriptor_ws_5a6e79a674462cff, []int{9} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -968,7 +968,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{10} + return fileDescriptor_ws_5a6e79a674462cff, []int{10} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1000,7 +1000,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{11} + return fileDescriptor_ws_5a6e79a674462cff, []int{11} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1047,7 +1047,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{12} + return fileDescriptor_ws_5a6e79a674462cff, []int{12} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1116,7 +1116,7 @@ func (m *MsgData) Reset() { *m = MsgData{} } func (m *MsgData) String() string { return proto.CompactTextString(m) } func (*MsgData) ProtoMessage() {} func (*MsgData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{13} + return fileDescriptor_ws_5a6e79a674462cff, []int{13} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -1277,7 +1277,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{14} + return fileDescriptor_ws_5a6e79a674462cff, []int{14} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -1345,7 +1345,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} } func (m *TipsComm) String() string { return proto.CompactTextString(m) } func (*TipsComm) ProtoMessage() {} func (*TipsComm) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{15} + return fileDescriptor_ws_5a6e79a674462cff, []int{15} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -1402,7 +1402,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} } func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } func (*GroupCreatedTips) ProtoMessage() {} func (*GroupCreatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{16} + return fileDescriptor_ws_5a6e79a674462cff, []int{16} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -1471,7 +1471,7 @@ func (m *GroupInfoSetTips) Reset() { *m = GroupInfoSetTips{} } func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupInfoSetTips) ProtoMessage() {} func (*GroupInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{17} + return fileDescriptor_ws_5a6e79a674462cff, []int{17} } func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) @@ -1526,7 +1526,7 @@ func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTi func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } func (*JoinGroupApplicationTips) ProtoMessage() {} func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{18} + return fileDescriptor_ws_5a6e79a674462cff, []int{18} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -1582,7 +1582,7 @@ func (m *MemberQuitTips) Reset() { *m = MemberQuitTips{} } func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) } func (*MemberQuitTips) ProtoMessage() {} func (*MemberQuitTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{19} + return fileDescriptor_ws_5a6e79a674462cff, []int{19} } func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) @@ -1637,7 +1637,7 @@ func (m *GroupApplicationAcceptedTips) Reset() { *m = GroupApplicationAc func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationAcceptedTips) ProtoMessage() {} func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{20} + return fileDescriptor_ws_5a6e79a674462cff, []int{20} } func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) @@ -1692,7 +1692,7 @@ func (m *GroupApplicationRejectedTips) Reset() { *m = GroupApplicationRe func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationRejectedTips) ProtoMessage() {} func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{21} + return fileDescriptor_ws_5a6e79a674462cff, []int{21} } func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) @@ -1748,7 +1748,7 @@ func (m *GroupOwnerTransferredTips) Reset() { *m = GroupOwnerTransferred func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) } func (*GroupOwnerTransferredTips) ProtoMessage() {} func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{22} + return fileDescriptor_ws_5a6e79a674462cff, []int{22} } func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) @@ -1811,7 +1811,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} } func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } func (*MemberKickedTips) ProtoMessage() {} func (*MemberKickedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{23} + return fileDescriptor_ws_5a6e79a674462cff, []int{23} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -1874,7 +1874,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} } func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } func (*MemberInvitedTips) ProtoMessage() {} func (*MemberInvitedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{24} + return fileDescriptor_ws_5a6e79a674462cff, []int{24} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -1936,7 +1936,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} } func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } func (*MemberEnterTips) ProtoMessage() {} func (*MemberEnterTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{25} + return fileDescriptor_ws_5a6e79a674462cff, []int{25} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -1990,7 +1990,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_64ff1f13269cfb11, []int{26} + return fileDescriptor_ws_5a6e79a674462cff, []int{26} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -2043,7 +2043,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_64ff1f13269cfb11, []int{27} + return fileDescriptor_ws_5a6e79a674462cff, []int{27} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -2089,7 +2089,7 @@ func (m *FriendApplicationTips) Reset() { *m = FriendApplicationTips{} } func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationTips) ProtoMessage() {} func (*FriendApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{28} + return fileDescriptor_ws_5a6e79a674462cff, []int{28} } func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) @@ -2129,7 +2129,7 @@ func (m *FriendApplicationApprovedTips) Reset() { *m = FriendApplication func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationApprovedTips) ProtoMessage() {} func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{29} + return fileDescriptor_ws_5a6e79a674462cff, []int{29} } func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) @@ -2176,7 +2176,7 @@ func (m *FriendApplicationRejectedTips) Reset() { *m = FriendApplication func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationRejectedTips) ProtoMessage() {} func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{30} + return fileDescriptor_ws_5a6e79a674462cff, []int{30} } func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) @@ -2224,7 +2224,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_64ff1f13269cfb11, []int{31} + return fileDescriptor_ws_5a6e79a674462cff, []int{31} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -2277,7 +2277,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_64ff1f13269cfb11, []int{32} + return fileDescriptor_ws_5a6e79a674462cff, []int{32} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -2315,7 +2315,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_64ff1f13269cfb11, []int{33} + return fileDescriptor_ws_5a6e79a674462cff, []int{33} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -2353,7 +2353,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_64ff1f13269cfb11, []int{34} + return fileDescriptor_ws_5a6e79a674462cff, []int{34} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -2391,7 +2391,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_64ff1f13269cfb11, []int{35} + return fileDescriptor_ws_5a6e79a674462cff, []int{35} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -2430,7 +2430,7 @@ func (m *UserInfoUpdatedTips) Reset() { *m = UserInfoUpdatedTips{} } func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (*UserInfoUpdatedTips) ProtoMessage() {} func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{36} + return fileDescriptor_ws_5a6e79a674462cff, []int{36} } func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) @@ -2469,7 +2469,7 @@ func (m *ConversationUpdateTips) Reset() { *m = ConversationUpdateTips{} func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) } func (*ConversationUpdateTips) ProtoMessage() {} func (*ConversationUpdateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{37} + return fileDescriptor_ws_5a6e79a674462cff, []int{37} } func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) @@ -2509,7 +2509,7 @@ func (m *RequestPagination) Reset() { *m = RequestPagination{} } func (m *RequestPagination) String() string { return proto.CompactTextString(m) } func (*RequestPagination) ProtoMessage() {} func (*RequestPagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{38} + return fileDescriptor_ws_5a6e79a674462cff, []int{38} } func (m *RequestPagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RequestPagination.Unmarshal(m, b) @@ -2555,7 +2555,7 @@ func (m *ResponsePagination) Reset() { *m = ResponsePagination{} } func (m *ResponsePagination) String() string { return proto.CompactTextString(m) } func (*ResponsePagination) ProtoMessage() {} func (*ResponsePagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{39} + return fileDescriptor_ws_5a6e79a674462cff, []int{39} } func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) @@ -2608,7 +2608,7 @@ func (m *SignalReq) Reset() { *m = SignalReq{} } func (m *SignalReq) String() string { return proto.CompactTextString(m) } func (*SignalReq) ProtoMessage() {} func (*SignalReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{40} + return fileDescriptor_ws_5a6e79a674462cff, []int{40} } func (m *SignalReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalReq.Unmarshal(m, b) @@ -2875,7 +2875,7 @@ func (m *SignalResp) Reset() { *m = SignalResp{} } func (m *SignalResp) String() string { return proto.CompactTextString(m) } func (*SignalResp) ProtoMessage() {} func (*SignalResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{41} + return fileDescriptor_ws_5a6e79a674462cff, []int{41} } func (m *SignalResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalResp.Unmarshal(m, b) @@ -3143,7 +3143,7 @@ func (m *InvitationInfo) Reset() { *m = InvitationInfo{} } func (m *InvitationInfo) String() string { return proto.CompactTextString(m) } func (*InvitationInfo) ProtoMessage() {} func (*InvitationInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{42} + return fileDescriptor_ws_5a6e79a674462cff, []int{42} } func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) @@ -3239,7 +3239,7 @@ func (m *SignalInviteReq) Reset() { *m = SignalInviteReq{} } func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteReq) ProtoMessage() {} func (*SignalInviteReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{43} + return fileDescriptor_ws_5a6e79a674462cff, []int{43} } func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) @@ -3293,7 +3293,7 @@ func (m *SignalInviteReply) Reset() { *m = SignalInviteReply{} } func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteReply) ProtoMessage() {} func (*SignalInviteReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{44} + return fileDescriptor_ws_5a6e79a674462cff, []int{44} } func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) @@ -3347,7 +3347,7 @@ func (m *SignalInviteInGroupReq) Reset() { *m = SignalInviteInGroupReq{} func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReq) ProtoMessage() {} func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{45} + return fileDescriptor_ws_5a6e79a674462cff, []int{45} } func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) @@ -3401,7 +3401,7 @@ func (m *SignalInviteInGroupReply) Reset() { *m = SignalInviteInGroupRep func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReply) ProtoMessage() {} func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{46} + return fileDescriptor_ws_5a6e79a674462cff, []int{46} } func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) @@ -3455,7 +3455,7 @@ func (m *SignalCancelReq) Reset() { *m = SignalCancelReq{} } func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) } func (*SignalCancelReq) ProtoMessage() {} func (*SignalCancelReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{47} + return fileDescriptor_ws_5a6e79a674462cff, []int{47} } func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) @@ -3506,7 +3506,7 @@ func (m *SignalCancelReply) Reset() { *m = SignalCancelReply{} } func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) } func (*SignalCancelReply) ProtoMessage() {} func (*SignalCancelReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{48} + return fileDescriptor_ws_5a6e79a674462cff, []int{48} } func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) @@ -3539,7 +3539,7 @@ func (m *SignalAcceptReq) Reset() { *m = SignalAcceptReq{} } func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReq) ProtoMessage() {} func (*SignalAcceptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{49} + return fileDescriptor_ws_5a6e79a674462cff, []int{49} } func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) @@ -3593,7 +3593,7 @@ func (m *SignalAcceptReply) Reset() { *m = SignalAcceptReply{} } func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReply) ProtoMessage() {} func (*SignalAcceptReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{50} + return fileDescriptor_ws_5a6e79a674462cff, []int{50} } func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) @@ -3647,7 +3647,7 @@ func (m *SignalHungUpReq) Reset() { *m = SignalHungUpReq{} } func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReq) ProtoMessage() {} func (*SignalHungUpReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{51} + return fileDescriptor_ws_5a6e79a674462cff, []int{51} } func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) @@ -3698,7 +3698,7 @@ func (m *SignalHungUpReply) Reset() { *m = SignalHungUpReply{} } func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReply) ProtoMessage() {} func (*SignalHungUpReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{52} + return fileDescriptor_ws_5a6e79a674462cff, []int{52} } func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) @@ -3719,7 +3719,7 @@ func (m *SignalHungUpReply) XXX_DiscardUnknown() { var xxx_messageInfo_SignalHungUpReply proto.InternalMessageInfo type SignalRejectReq struct { - InviteeUserID string `protobuf:"bytes,1,opt,name=inviteeUserID" json:"inviteeUserID,omitempty"` + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -3731,7 +3731,7 @@ func (m *SignalRejectReq) Reset() { *m = SignalRejectReq{} } func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) } func (*SignalRejectReq) ProtoMessage() {} func (*SignalRejectReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{53} + return fileDescriptor_ws_5a6e79a674462cff, []int{53} } func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) @@ -3751,9 +3751,9 @@ func (m *SignalRejectReq) XXX_DiscardUnknown() { var xxx_messageInfo_SignalRejectReq proto.InternalMessageInfo -func (m *SignalRejectReq) GetInviteeUserID() string { +func (m *SignalRejectReq) GetOpUserID() string { if m != nil { - return m.InviteeUserID + return m.OpUserID } return "" } @@ -3782,7 +3782,7 @@ func (m *SignalRejectReply) Reset() { *m = SignalRejectReply{} } func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) } func (*SignalRejectReply) ProtoMessage() {} func (*SignalRejectReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_64ff1f13269cfb11, []int{54} + return fileDescriptor_ws_5a6e79a674462cff, []int{54} } func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) @@ -3861,161 +3861,161 @@ func init() { proto.RegisterType((*SignalRejectReply)(nil), "server_api_params.SignalRejectReply") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_64ff1f13269cfb11) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_5a6e79a674462cff) } -var fileDescriptor_ws_64ff1f13269cfb11 = []byte{ - // 2447 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x1a, 0x4d, 0x6f, 0x1c, 0x49, - 0x95, 0x9e, 0xf1, 0x8c, 0x3d, 0x6f, 0x3c, 0xfe, 0xe8, 0x2c, 0x66, 0x08, 0xd9, 0x60, 0x5a, 0xd6, - 0x12, 0xbe, 0xbc, 0x28, 0x08, 0x09, 0xb2, 0x10, 0xe4, 0x8f, 0x7c, 0x2d, 0x76, 0xe2, 0xed, 0x49, - 0x58, 0x04, 0x48, 0x51, 0x7b, 0xba, 0x66, 0xdc, 0xeb, 0xee, 0xaa, 0x9e, 0xfe, 0x70, 0x62, 0x89, - 0x13, 0x48, 0xfc, 0x03, 0xb8, 0x22, 0x71, 0x41, 0x48, 0x08, 0xed, 0x05, 0x71, 0x41, 0x9c, 0x40, - 0xe2, 0xca, 0x99, 0xbf, 0xc0, 0x95, 0x03, 0x12, 0x12, 0xa8, 0xea, 0x55, 0x57, 0x57, 0x75, 0x8f, - 0xed, 0x91, 0xe5, 0xdd, 0x6c, 0x6e, 0xf3, 0x5e, 0xd5, 0x7b, 0xf5, 0xea, 0x7d, 0xd7, 0xeb, 0x81, - 0xe5, 0xd4, 0x3f, 0x7e, 0xfe, 0x22, 0x7d, 0xfb, 0x45, 0xba, 0x19, 0x27, 0x2c, 0x63, 0xf6, 0x6a, - 0x4a, 0x92, 0x13, 0x92, 0x3c, 0xf7, 0xe2, 0xe0, 0x79, 0xec, 0x25, 0x5e, 0x94, 0x3a, 0xff, 0x6e, - 0x40, 0xe7, 0x41, 0xc2, 0xf2, 0xf8, 0x11, 0x1d, 0x31, 0xbb, 0x0f, 0xf3, 0x63, 0x01, 0xec, 0xf6, - 0xad, 0x75, 0xeb, 0x56, 0xc7, 0x2d, 0x40, 0xfb, 0x06, 0x74, 0xc4, 0xcf, 0xc7, 0x5e, 0x44, 0xfa, - 0x0d, 0xb1, 0x56, 0x22, 0x6c, 0x07, 0x16, 0x29, 0xcb, 0x82, 0x51, 0x30, 0xf4, 0xb2, 0x80, 0xd1, - 0x7e, 0x53, 0x6c, 0x30, 0x70, 0x7c, 0x4f, 0x40, 0xb3, 0x84, 0xf9, 0xf9, 0x50, 0xec, 0x99, 0xc3, - 0x3d, 0x3a, 0x8e, 0x9f, 0x3f, 0xf2, 0x86, 0xe4, 0x99, 0xbb, 0xd7, 0x6f, 0xe1, 0xf9, 0x12, 0xb4, - 0xd7, 0xa1, 0xcb, 0x5e, 0x50, 0x92, 0x3c, 0x4b, 0x49, 0xf2, 0x68, 0xb7, 0xdf, 0x16, 0xab, 0x3a, - 0xca, 0xbe, 0x09, 0x30, 0x4c, 0x88, 0x97, 0x91, 0xa7, 0x41, 0x44, 0xfa, 0xf3, 0xeb, 0xd6, 0xad, - 0x9e, 0xab, 0x61, 0x38, 0x87, 0x88, 0x44, 0x87, 0x24, 0xd9, 0x61, 0x39, 0xcd, 0xfa, 0x0b, 0x62, - 0x83, 0x8e, 0xb2, 0x97, 0xa0, 0x41, 0x5e, 0xf6, 0x3b, 0x82, 0x75, 0x83, 0xbc, 0xb4, 0xd7, 0xa0, - 0x9d, 0x66, 0x5e, 0x96, 0xa7, 0x7d, 0x58, 0xb7, 0x6e, 0xb5, 0x5c, 0x09, 0xd9, 0x1b, 0xd0, 0x13, - 0x7c, 0x59, 0x21, 0x4d, 0x57, 0x90, 0x98, 0x48, 0xa5, 0xb1, 0xa7, 0xa7, 0x31, 0xe9, 0x2f, 0x0a, - 0x06, 0x25, 0xc2, 0xf9, 0x53, 0x03, 0xae, 0x09, 0xbd, 0xef, 0x0b, 0x01, 0xee, 0xe7, 0x61, 0x78, - 0x81, 0x05, 0xd6, 0xa0, 0x9d, 0xe3, 0x71, 0xa8, 0x7e, 0x09, 0xf1, 0x73, 0x12, 0x16, 0x92, 0x3d, - 0x72, 0x42, 0x42, 0xa1, 0xf8, 0x96, 0x5b, 0x22, 0xec, 0xeb, 0xb0, 0xf0, 0x01, 0x0b, 0xa8, 0xd0, - 0xc9, 0x9c, 0x58, 0x54, 0x30, 0x5f, 0xa3, 0xc1, 0xf0, 0x98, 0x72, 0x93, 0xa2, 0xba, 0x15, 0xac, - 0x5b, 0xa2, 0x6d, 0x5a, 0xe2, 0x2d, 0x58, 0xf2, 0xe2, 0x78, 0xdf, 0xa3, 0x63, 0x92, 0xe0, 0xa1, - 0xf3, 0x82, 0x6f, 0x05, 0xcb, 0xed, 0xc1, 0x4f, 0x1a, 0xb0, 0x3c, 0x19, 0x12, 0xa1, 0xee, 0x96, - 0xab, 0x61, 0x38, 0x1f, 0x16, 0x93, 0x44, 0x53, 0x23, 0x6a, 0xbe, 0x82, 0x95, 0x56, 0x81, 0xc2, - 0x2a, 0xce, 0x2f, 0x2c, 0x58, 0x3a, 0xc8, 0x0f, 0xc3, 0x60, 0x28, 0x36, 0x70, 0xa5, 0x95, 0xaa, - 0xb1, 0x0c, 0xd5, 0xe8, 0x17, 0x6c, 0x9c, 0x7d, 0xc1, 0xa6, 0x79, 0xc1, 0x35, 0x68, 0x8f, 0x09, - 0xf5, 0x49, 0x22, 0x15, 0x26, 0x21, 0x29, 0x48, 0x4b, 0x09, 0xf2, 0xab, 0x06, 0x2c, 0x7c, 0xcc, - 0x22, 0xac, 0x43, 0x37, 0x3e, 0x62, 0x94, 0x3c, 0xce, 0xb9, 0xd3, 0x48, 0x59, 0x74, 0x94, 0xfd, - 0x06, 0xb4, 0x0e, 0x83, 0x24, 0x3b, 0x12, 0x56, 0xeb, 0xb9, 0x08, 0x70, 0x2c, 0x89, 0xbc, 0x00, - 0x4d, 0xd5, 0x71, 0x11, 0x90, 0x17, 0x5a, 0x50, 0xfe, 0x6e, 0x46, 0x50, 0xa7, 0x16, 0x41, 0x75, - 0xcb, 0xc3, 0x34, 0xcb, 0x3b, 0xff, 0xb1, 0x00, 0xee, 0x27, 0x01, 0xa1, 0xbe, 0x50, 0x4d, 0x25, - 0x74, 0xad, 0x7a, 0xe8, 0xae, 0x41, 0x3b, 0x21, 0x91, 0x97, 0x1c, 0x17, 0xae, 0x8d, 0x50, 0x45, - 0xa0, 0x66, 0x4d, 0xa0, 0x77, 0x00, 0x46, 0xe2, 0x1c, 0xce, 0x47, 0xa8, 0xaa, 0x7b, 0xfb, 0x73, - 0x9b, 0xb5, 0x24, 0xb7, 0x59, 0x58, 0xc9, 0xd5, 0xb6, 0xf3, 0xb8, 0xf1, 0x7c, 0x5f, 0xba, 0x67, - 0x0b, 0xe3, 0x46, 0x21, 0xa6, 0x78, 0x67, 0xfb, 0x1c, 0xef, 0x9c, 0x57, 0x4e, 0xf1, 0x2f, 0x0b, - 0x3a, 0xdb, 0xa1, 0x37, 0x3c, 0x9e, 0xf1, 0xea, 0xe6, 0x15, 0x1b, 0xb5, 0x2b, 0x3e, 0x80, 0xde, - 0x21, 0x67, 0x57, 0x5c, 0x41, 0x68, 0xa1, 0x7b, 0xfb, 0x0b, 0x53, 0x6e, 0x69, 0x06, 0x85, 0x6b, - 0xd2, 0x99, 0xd7, 0x9d, 0xbb, 0xf8, 0xba, 0xad, 0x73, 0xae, 0xdb, 0x56, 0xd7, 0xfd, 0x47, 0x03, - 0x16, 0x45, 0x1a, 0x73, 0xc9, 0x24, 0x27, 0x69, 0x66, 0x7f, 0x17, 0x16, 0xf2, 0x42, 0x54, 0x6b, - 0x56, 0x51, 0x15, 0x89, 0x7d, 0x47, 0x26, 0x4d, 0x41, 0xdf, 0x10, 0xf4, 0x37, 0xa6, 0xd0, 0xab, - 0x8a, 0xe5, 0x96, 0xdb, 0x79, 0x81, 0x39, 0xf2, 0xa8, 0x1f, 0x12, 0x97, 0xa4, 0x79, 0x98, 0xc9, - 0x5c, 0x68, 0xe0, 0xd0, 0xd3, 0x26, 0xfb, 0xe9, 0x58, 0x96, 0x1f, 0x09, 0x71, 0xed, 0xe0, 0x3e, - 0xbe, 0x84, 0x57, 0x2f, 0x11, 0x3c, 0x50, 0x13, 0x32, 0x11, 0x16, 0xc2, 0xb0, 0x2a, 0xc0, 0xf2, - 0x4c, 0xa9, 0x35, 0x74, 0x04, 0x03, 0xc7, 0x4d, 0x8c, 0xb0, 0x60, 0x80, 0x75, 0x47, 0xc3, 0x54, - 0xcb, 0x8e, 0xf3, 0xcf, 0x26, 0xf4, 0x30, 0x7c, 0x0a, 0xa5, 0xde, 0xe4, 0x7e, 0xce, 0x22, 0xc3, - 0x8b, 0x34, 0x0c, 0x97, 0x82, 0x43, 0x8f, 0xcd, 0x44, 0x63, 0xe0, 0xb8, 0x2b, 0x72, 0xf8, 0xbe, - 0x91, 0x70, 0x74, 0x54, 0x71, 0xca, 0x03, 0x3d, 0xf1, 0x68, 0x18, 0x9e, 0xca, 0x32, 0x66, 0x78, - 0x87, 0x82, 0x39, 0x6d, 0xc6, 0xd4, 0xf9, 0xe8, 0x1f, 0x1a, 0x86, 0xeb, 0x37, 0x63, 0xc5, 0xd9, - 0xa8, 0xa4, 0x12, 0x81, 0x9c, 0xe5, 0xb9, 0x58, 0x28, 0x14, 0x5c, 0xb3, 0x6a, 0xe7, 0x5c, 0xab, - 0x82, 0x61, 0x55, 0x33, 0xb8, 0xba, 0xb5, 0xe0, 0xda, 0x80, 0x1e, 0xf2, 0x29, 0x9c, 0x7e, 0x11, - 0x0b, 0xb9, 0x81, 0x34, 0x7d, 0xa3, 0x57, 0xf5, 0x0d, 0xd3, 0xba, 0x4b, 0x67, 0x58, 0x77, 0x59, - 0x59, 0xf7, 0xa7, 0xd0, 0x3f, 0xc8, 0xc3, 0x70, 0x9f, 0xa4, 0xa9, 0x37, 0x26, 0xdb, 0xa7, 0x03, - 0x32, 0xd9, 0x0b, 0xd2, 0xcc, 0x25, 0x69, 0xcc, 0xfd, 0x8c, 0x24, 0xc9, 0x0e, 0xf3, 0x89, 0x30, - 0x72, 0xcb, 0x2d, 0x40, 0x7e, 0x43, 0x92, 0x24, 0x5c, 0x00, 0x99, 0x21, 0x11, 0xb2, 0x37, 0x61, - 0x2e, 0x0c, 0x52, 0xee, 0xeb, 0xcd, 0x5b, 0xdd, 0xdb, 0xd7, 0xa7, 0x84, 0xca, 0x7e, 0x3a, 0xde, - 0xf5, 0x32, 0xcf, 0x15, 0xfb, 0x9c, 0x08, 0x3e, 0x33, 0xfd, 0xf4, 0xc9, 0x99, 0x15, 0x8c, 0xe7, - 0x30, 0x91, 0x04, 0x02, 0x46, 0x55, 0xf3, 0xa1, 0xa3, 0xb8, 0xd8, 0x29, 0xf2, 0x11, 0x72, 0xf4, - 0xdc, 0x02, 0x74, 0xde, 0x00, 0xfb, 0x01, 0xc9, 0xf6, 0xbd, 0x97, 0x5b, 0xd4, 0xdf, 0x0f, 0xe8, - 0x80, 0x4c, 0x5c, 0x32, 0x71, 0xee, 0xc1, 0xb5, 0x1a, 0x36, 0x8d, 0xb9, 0x00, 0x91, 0xf7, 0x72, - 0x40, 0x26, 0x42, 0x80, 0x9e, 0x2b, 0x21, 0x81, 0x17, 0xbb, 0x64, 0x7a, 0x94, 0x90, 0x33, 0x81, - 0x65, 0x6e, 0xa1, 0x01, 0xa1, 0xfe, 0x7e, 0x3a, 0x16, 0x2c, 0xd6, 0xa1, 0x8b, 0x1a, 0xd8, 0x4f, - 0xc7, 0x65, 0xbe, 0xd5, 0x50, 0x7c, 0xc7, 0x30, 0x0c, 0x08, 0xcd, 0x70, 0x87, 0xbc, 0x8d, 0x86, - 0xe2, 0xce, 0x98, 0x12, 0xea, 0xab, 0x92, 0xd3, 0x74, 0x15, 0xec, 0xfc, 0xb9, 0x05, 0xf3, 0x52, - 0xa1, 0xa2, 0x3b, 0xe4, 0x25, 0x4e, 0xe9, 0x0b, 0x21, 0x74, 0xc6, 0xe1, 0x49, 0xd9, 0xa7, 0x21, - 0xa4, 0x77, 0x76, 0x4d, 0xb3, 0xb3, 0xab, 0xc8, 0x34, 0x57, 0x97, 0xa9, 0x72, 0xaf, 0x56, 0xfd, - 0x5e, 0x5f, 0x86, 0x95, 0x54, 0x04, 0xcc, 0x41, 0xe8, 0x65, 0x23, 0x96, 0x44, 0xb2, 0x62, 0xb5, - 0xdc, 0x1a, 0x9e, 0x27, 0x7b, 0xc4, 0xa9, 0x80, 0xc5, 0x88, 0xac, 0x60, 0x79, 0x78, 0x20, 0xa6, - 0x08, 0x5c, 0x6c, 0x15, 0x4c, 0x24, 0xca, 0x96, 0xa6, 0x01, 0xa3, 0xa2, 0xd3, 0xc5, 0xf8, 0xd4, - 0x51, 0xfc, 0xe6, 0x51, 0x3a, 0xbe, 0x9f, 0xb0, 0x48, 0x36, 0x0c, 0x05, 0x28, 0x6e, 0xce, 0x68, - 0x46, 0x68, 0x26, 0x68, 0xbb, 0x48, 0xab, 0xa1, 0x38, 0xad, 0x04, 0x45, 0x70, 0x2e, 0xba, 0x05, - 0x68, 0xaf, 0x40, 0x33, 0x25, 0x13, 0x19, 0x71, 0xfc, 0xa7, 0x61, 0xb9, 0x65, 0xd3, 0x72, 0x95, - 0x54, 0xb0, 0x22, 0x56, 0xf5, 0x54, 0x50, 0xf6, 0xfa, 0xab, 0x46, 0xaf, 0xbf, 0x05, 0xf3, 0x2c, - 0xe6, 0x7e, 0x9e, 0xf6, 0x6d, 0x11, 0x63, 0x5f, 0x3c, 0x3b, 0xc6, 0x36, 0x9f, 0xe0, 0xce, 0x7b, - 0x34, 0x4b, 0x4e, 0xdd, 0x82, 0xce, 0xde, 0x83, 0x65, 0x36, 0x1a, 0x85, 0x01, 0x25, 0x07, 0x79, - 0x7a, 0x24, 0x2a, 0xdb, 0x35, 0x51, 0xd9, 0x9c, 0x29, 0xac, 0x9e, 0x98, 0x3b, 0xdd, 0x2a, 0xe9, - 0xf5, 0x3b, 0xb0, 0xa8, 0x1f, 0xc3, 0xd5, 0x70, 0x4c, 0x4e, 0xa5, 0x0f, 0xf2, 0x9f, 0xbc, 0xd9, - 0x3b, 0xf1, 0xc2, 0x1c, 0xcb, 0xc0, 0x82, 0x8b, 0xc0, 0x9d, 0xc6, 0xb7, 0x2c, 0xe7, 0x97, 0x16, - 0x2c, 0x57, 0x0e, 0xe0, 0xbb, 0xb3, 0x20, 0x0b, 0x89, 0xe4, 0x80, 0x80, 0x6d, 0xc3, 0x9c, 0x4f, - 0xd2, 0xa1, 0x74, 0x61, 0xf1, 0x5b, 0x66, 0xb2, 0xa6, 0x6a, 0x17, 0xf9, 0x83, 0xee, 0xc9, 0x80, - 0x33, 0x1a, 0xb0, 0x9c, 0xfa, 0xea, 0x41, 0xa7, 0xe1, 0xb8, 0x0b, 0x05, 0x4f, 0x06, 0xdb, 0x9e, - 0x3f, 0x26, 0xf8, 0xec, 0x6a, 0x09, 0x99, 0x4c, 0xa4, 0xe3, 0xc3, 0xc2, 0xd3, 0x20, 0x4e, 0x77, - 0x58, 0x14, 0x71, 0x43, 0xf8, 0x24, 0xe3, 0xbd, 0xaa, 0x25, 0xec, 0x2d, 0x21, 0xee, 0x2a, 0x3e, - 0x19, 0x79, 0x79, 0x98, 0xf1, 0xad, 0x45, 0xe0, 0x6a, 0x28, 0xf1, 0xe0, 0x48, 0x19, 0xdd, 0x45, - 0x6a, 0x94, 0x53, 0xc3, 0x38, 0x7f, 0x6d, 0xc0, 0x8a, 0x68, 0x1c, 0x76, 0x84, 0xd9, 0x7d, 0x41, - 0x74, 0x1b, 0x5a, 0x22, 0x0c, 0x65, 0xb3, 0x72, 0x7e, 0xb3, 0x81, 0x5b, 0xed, 0xbb, 0xd0, 0x66, - 0xb1, 0x68, 0x39, 0xb1, 0x43, 0x79, 0xeb, 0x2c, 0x22, 0xf3, 0x6d, 0xe7, 0x4a, 0x2a, 0xfb, 0x3e, - 0x00, 0x3e, 0x3b, 0xf7, 0xca, 0xd4, 0x3d, 0x2b, 0x0f, 0x8d, 0x92, 0x2b, 0x57, 0xa5, 0x61, 0xf5, - 0xc0, 0x6b, 0xba, 0x26, 0xd2, 0x7e, 0x0c, 0x4b, 0x42, 0xec, 0x27, 0x45, 0xd7, 0x29, 0x6c, 0x30, - 0xfb, 0x89, 0x15, 0x6a, 0xe7, 0x37, 0x96, 0x54, 0x23, 0x5f, 0x1d, 0x10, 0xd4, 0x7d, 0xa9, 0x12, - 0xeb, 0x52, 0x2a, 0xb9, 0x0e, 0x0b, 0x51, 0xae, 0x35, 0xc1, 0x4d, 0x57, 0xc1, 0xa5, 0x89, 0x9a, - 0x33, 0x9b, 0xc8, 0xf9, 0xad, 0x05, 0xfd, 0x77, 0x59, 0x40, 0xc5, 0xc2, 0x56, 0x1c, 0x87, 0x72, - 0x0a, 0x71, 0x69, 0x9b, 0x7f, 0x0f, 0x3a, 0x1e, 0xb2, 0xa1, 0x99, 0x34, 0xfb, 0x0c, 0x8d, 0x6d, - 0x49, 0xa3, 0xf5, 0x28, 0x4d, 0xbd, 0x47, 0x71, 0xfe, 0x60, 0xc1, 0x12, 0x2a, 0xe5, 0xbd, 0x3c, - 0xc8, 0x2e, 0x2d, 0xdf, 0x36, 0x2c, 0x4c, 0xf2, 0x20, 0xbb, 0x84, 0x57, 0x2a, 0xba, 0xba, 0x3f, - 0x35, 0xa7, 0xf8, 0x93, 0xf3, 0xa1, 0x05, 0x37, 0xaa, 0x6a, 0xdd, 0x1a, 0x0e, 0x49, 0xfc, 0x2a, - 0x43, 0xca, 0xe8, 0xd1, 0xe6, 0x2a, 0x3d, 0xda, 0x54, 0x91, 0x5d, 0xf2, 0x01, 0x19, 0x7e, 0x72, - 0x45, 0xfe, 0x79, 0x03, 0x3e, 0xfb, 0x40, 0x05, 0xde, 0xd3, 0xc4, 0xa3, 0xe9, 0x88, 0x24, 0xc9, - 0x2b, 0x94, 0x77, 0x0f, 0x7a, 0x94, 0xbc, 0x28, 0x65, 0x92, 0xe1, 0x38, 0x2b, 0x1b, 0x93, 0x78, - 0xb6, 0xdc, 0xe5, 0xfc, 0xd7, 0x82, 0x15, 0xe4, 0xf3, 0xfd, 0x60, 0x78, 0xfc, 0x0a, 0x2f, 0xff, - 0x18, 0x96, 0x8e, 0x85, 0x04, 0x1c, 0xba, 0x44, 0xda, 0xae, 0x50, 0xcf, 0x78, 0xfd, 0xff, 0x59, - 0xb0, 0x8a, 0x8c, 0x1e, 0xd1, 0x93, 0xe0, 0x55, 0x3a, 0xeb, 0x01, 0x2c, 0x07, 0x28, 0xc2, 0x25, - 0x15, 0x50, 0x25, 0x9f, 0x51, 0x03, 0x7f, 0xb4, 0x60, 0x19, 0x39, 0xdd, 0xa3, 0x19, 0x49, 0x2e, - 0x7d, 0xff, 0x87, 0xd0, 0x25, 0x34, 0x4b, 0x3c, 0x7a, 0x99, 0x0c, 0xa9, 0x93, 0xce, 0x98, 0x24, - 0x8f, 0x61, 0x15, 0x9f, 0xf0, 0x5a, 0xc6, 0xe1, 0xbd, 0xac, 0xe7, 0x63, 0x7b, 0x6a, 0x09, 0xa2, - 0x02, 0x34, 0x87, 0x33, 0x72, 0xba, 0x5e, 0x0e, 0x67, 0x6e, 0x02, 0x78, 0xbe, 0xff, 0x3e, 0x4b, - 0xfc, 0x80, 0x16, 0xe5, 0x43, 0xc3, 0x38, 0xef, 0xc2, 0x22, 0xef, 0xa6, 0x9f, 0x6a, 0x8f, 0xf1, - 0x73, 0xc7, 0x05, 0xfa, 0x43, 0xbe, 0x61, 0x3e, 0xe4, 0x9d, 0x9f, 0xc0, 0xa7, 0x6b, 0x82, 0x0b, - 0xad, 0xef, 0xe0, 0x8c, 0xa1, 0x38, 0x44, 0x2a, 0xff, 0xf3, 0x53, 0x54, 0xa8, 0xcb, 0xe2, 0x1a, - 0x44, 0xce, 0xcf, 0x2c, 0x78, 0xb3, 0xc6, 0x7e, 0x2b, 0x8e, 0x13, 0x76, 0x22, 0x9d, 0xfb, 0x2a, - 0x8e, 0x31, 0x53, 0x6b, 0xa3, 0x9a, 0x5a, 0xa7, 0x0a, 0x61, 0x94, 0x83, 0x8f, 0x41, 0x88, 0xdf, - 0x59, 0xb0, 0x2c, 0x85, 0xf0, 0x7d, 0x79, 0xec, 0x37, 0xa1, 0x8d, 0xf3, 0x49, 0x79, 0xe0, 0x9b, - 0x53, 0x0f, 0x2c, 0xe6, 0xaa, 0xae, 0xdc, 0x5c, 0xf7, 0xc8, 0xc6, 0xb4, 0x36, 0xf0, 0xdb, 0x2a, - 0x03, 0xcc, 0x3c, 0x41, 0x94, 0x04, 0xce, 0x0f, 0x0b, 0x67, 0xde, 0x25, 0x21, 0xb9, 0x4a, 0x1d, - 0x39, 0xcf, 0x60, 0x49, 0x0c, 0x4b, 0x4b, 0x1d, 0x5c, 0x09, 0xdb, 0xf7, 0x61, 0x45, 0xb0, 0xbd, - 0x72, 0x79, 0x55, 0x74, 0x70, 0xfd, 0xec, 0x1c, 0x79, 0x74, 0x7c, 0x95, 0xdc, 0xbf, 0x06, 0xd7, - 0x0a, 0xdd, 0x3f, 0x8b, 0x7d, 0xf5, 0x44, 0x39, 0x63, 0x30, 0xe3, 0x7c, 0x1d, 0xd6, 0x76, 0x18, - 0x3d, 0x21, 0x49, 0x2a, 0xac, 0x8c, 0x24, 0x05, 0x85, 0x11, 0xfc, 0x12, 0x72, 0x06, 0xb0, 0x2a, - 0x47, 0x8a, 0x07, 0xde, 0x38, 0xa0, 0x98, 0x95, 0x6e, 0x02, 0xc4, 0xde, 0xb8, 0xf8, 0xa4, 0x80, - 0x73, 0x27, 0x0d, 0xc3, 0xd7, 0xd3, 0x23, 0xf6, 0x42, 0xae, 0x37, 0x70, 0xbd, 0xc4, 0x38, 0x3f, - 0x00, 0xdb, 0x25, 0x69, 0xcc, 0x68, 0x4a, 0x34, 0xae, 0xeb, 0xd0, 0xdd, 0xc9, 0x93, 0x84, 0x50, - 0x7e, 0x54, 0x31, 0x5f, 0xd7, 0x51, 0x9c, 0xef, 0xa0, 0xe4, 0x8b, 0xb3, 0x0a, 0x0d, 0xe3, 0xfc, - 0xba, 0x09, 0x9d, 0x41, 0x30, 0xa6, 0x5e, 0xe8, 0x92, 0x89, 0xfd, 0x1d, 0x68, 0x63, 0x05, 0x91, - 0xaa, 0x9d, 0xf6, 0x76, 0xc6, 0xdd, 0x58, 0x2a, 0x5d, 0x32, 0x79, 0xf8, 0x29, 0x57, 0xd2, 0xd8, - 0xef, 0x41, 0x0f, 0x7f, 0x3d, 0xc2, 0x17, 0x81, 0x2c, 0x00, 0x5f, 0xba, 0x80, 0x89, 0xdc, 0x8d, - 0xbc, 0x4c, 0x0e, 0x5c, 0xa0, 0xa1, 0x47, 0x87, 0xf2, 0x9b, 0xdb, 0x79, 0x02, 0xed, 0x88, 0x6d, - 0x52, 0x20, 0xa4, 0xe1, 0xd4, 0x9e, 0xe8, 0x99, 0xe5, 0x57, 0x8b, 0xb3, 0xa9, 0xb1, 0xb5, 0x96, - 0xd4, 0x48, 0xc3, 0xa9, 0x8f, 0x72, 0x3a, 0x7e, 0x16, 0xcb, 0xa7, 0xdc, 0xd9, 0xd4, 0x0f, 0xc5, - 0x36, 0x49, 0x8d, 0x34, 0x9c, 0x3a, 0x11, 0xd9, 0x4e, 0x28, 0xfd, 0x3c, 0x6a, 0x4c, 0x8a, 0x92, - 0x1a, 0x69, 0xb6, 0x3b, 0x30, 0x1f, 0x7b, 0xa7, 0x21, 0xf3, 0x7c, 0xe7, 0xf7, 0x4d, 0x80, 0x62, - 0x63, 0x2a, 0x7a, 0x0c, 0xc3, 0x44, 0x1b, 0x17, 0x9a, 0x28, 0x0e, 0x4f, 0x35, 0x23, 0x0d, 0xa6, - 0x1b, 0xe9, 0x2b, 0xb3, 0x1a, 0x09, 0xb9, 0x55, 0xcc, 0x74, 0xb7, 0x62, 0xa6, 0x8d, 0x0b, 0xcd, - 0x24, 0x85, 0x92, 0x86, 0xba, 0x5b, 0x31, 0xd4, 0xc6, 0x85, 0x86, 0x92, 0xf4, 0xd2, 0x54, 0x77, - 0x2b, 0xa6, 0xda, 0xb8, 0xd0, 0x54, 0x92, 0x5e, 0x1a, 0xeb, 0x6e, 0xc5, 0x58, 0x1b, 0x17, 0x1a, - 0x4b, 0xd2, 0xd7, 0xcd, 0xf5, 0x61, 0x03, 0x96, 0x84, 0xca, 0x70, 0x6e, 0x4b, 0x47, 0x4c, 0x8c, - 0x67, 0x84, 0xba, 0xcc, 0x2f, 0x54, 0x26, 0xd2, 0xfe, 0x2a, 0xac, 0x22, 0x42, 0x7e, 0xd1, 0x10, - 0xed, 0x5f, 0x63, 0xbd, 0x79, 0xab, 0xe3, 0xd6, 0x17, 0xc4, 0xa4, 0x2d, 0x4f, 0x33, 0x16, 0xed, - 0x7a, 0x99, 0x57, 0x74, 0x2b, 0x25, 0x46, 0x9f, 0x83, 0xce, 0xd5, 0xbe, 0x70, 0x27, 0x8c, 0x45, - 0x6a, 0xc0, 0x29, 0x21, 0x4e, 0x91, 0x05, 0x11, 0x61, 0x79, 0x26, 0xd3, 0x44, 0x01, 0xf2, 0x1a, - 0x1b, 0x11, 0x3f, 0xf0, 0xc4, 0xf4, 0x50, 0x7e, 0x56, 0x50, 0x08, 0x2e, 0x89, 0x36, 0x0d, 0x95, - 0x5f, 0xa0, 0xb5, 0x39, 0xe8, 0x85, 0x93, 0x4b, 0xe7, 0x2f, 0x16, 0x2c, 0x57, 0xb2, 0x0a, 0xef, - 0x9e, 0xb0, 0x2e, 0x2a, 0x75, 0x29, 0xd8, 0xde, 0x02, 0x08, 0x94, 0x86, 0xcf, 0x19, 0x13, 0x98, - 0x66, 0x70, 0x35, 0xa2, 0x69, 0xd3, 0xc2, 0xe6, 0xa5, 0xa7, 0x85, 0xce, 0x8f, 0x61, 0xb5, 0x16, - 0x72, 0x62, 0xe4, 0xc7, 0x8e, 0x09, 0x55, 0x23, 0x3f, 0x0e, 0x68, 0xda, 0x6f, 0x54, 0xb5, 0x1f, - 0x06, 0x27, 0xfa, 0x57, 0x6a, 0x09, 0x3a, 0x7f, 0xb3, 0x60, 0x6d, 0x7a, 0xba, 0x7c, 0xbd, 0x94, - 0x74, 0x08, 0xfd, 0xb3, 0x12, 0xca, 0x95, 0xe9, 0xaa, 0xf4, 0x24, 0x55, 0x0e, 0x5e, 0x2f, 0x25, - 0x5d, 0x2b, 0x3c, 0x49, 0xcb, 0x93, 0xda, 0xad, 0x54, 0x99, 0x7a, 0x4d, 0xe3, 0x43, 0xcb, 0xde, - 0x1f, 0x81, 0xcd, 0x55, 0x19, 0x7e, 0x4d, 0x6d, 0xae, 0xd5, 0x26, 0xe7, 0xef, 0xea, 0x56, 0xaa, - 0x3d, 0x28, 0xeb, 0x08, 0x99, 0x56, 0x47, 0xc8, 0x27, 0xfe, 0x7e, 0x5a, 0xed, 0xdc, 0xbe, 0xf1, - 0xa3, 0xeb, 0x9b, 0x6f, 0xe3, 0x3f, 0xe7, 0xde, 0xa9, 0xf1, 0x3c, 0x6c, 0x8b, 0x7f, 0xd2, 0x7d, - 0xe3, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x10, 0xff, 0x57, 0x6e, 0x5c, 0x27, 0x00, 0x00, +var fileDescriptor_ws_5a6e79a674462cff = []byte{ + // 2442 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0x4b, 0x6f, 0x24, 0x49, + 0xf1, 0xff, 0x57, 0xb7, 0xbb, 0xed, 0x8e, 0x76, 0xfb, 0x51, 0xb3, 0x7f, 0xd3, 0x0c, 0xb3, 0x83, + 0x29, 0x59, 0xcb, 0xf0, 0xf2, 0xa2, 0x41, 0x48, 0x30, 0x0b, 0x83, 0xfc, 0x98, 0xd7, 0x62, 0xcf, + 0x78, 0xab, 0x67, 0x58, 0x04, 0x48, 0xa3, 0x74, 0x57, 0x76, 0xbb, 0xd6, 0x55, 0x99, 0xd5, 0xf5, + 0xf0, 0x8c, 0x25, 0x4e, 0x20, 0xf1, 0x0d, 0xe0, 0x8a, 0xc4, 0x05, 0x21, 0x21, 0xb4, 0x17, 0xc4, + 0x05, 0x71, 0x82, 0x0f, 0xc0, 0x99, 0xaf, 0xc0, 0x95, 0x03, 0x12, 0x12, 0x28, 0x33, 0xb2, 0xaa, + 0x32, 0xab, 0xda, 0x76, 0xcb, 0x32, 0x3b, 0xf8, 0xd6, 0x11, 0x95, 0x11, 0x19, 0x19, 0xbf, 0x88, + 0xc8, 0xa8, 0xa8, 0x86, 0xe5, 0xc4, 0x3b, 0x7e, 0xf9, 0x2a, 0x79, 0xf7, 0x55, 0xb2, 0x19, 0xc5, + 0x3c, 0xe5, 0xf6, 0x6a, 0x42, 0xe3, 0x13, 0x1a, 0xbf, 0x24, 0x91, 0xff, 0x32, 0x22, 0x31, 0x09, + 0x13, 0xe7, 0x1f, 0x0d, 0xe8, 0x3c, 0x8a, 0x79, 0x16, 0x3d, 0x61, 0x23, 0x6e, 0xf7, 0x61, 0x7e, + 0x2c, 0x89, 0xdd, 0xbe, 0xb5, 0x6e, 0xdd, 0xe9, 0xb8, 0x39, 0x69, 0xdf, 0x82, 0x8e, 0xfc, 0xf9, + 0x94, 0x84, 0xb4, 0xdf, 0x90, 0xcf, 0x4a, 0x86, 0xed, 0xc0, 0x22, 0xe3, 0xa9, 0x3f, 0xf2, 0x87, + 0x24, 0xf5, 0x39, 0xeb, 0x37, 0xe5, 0x02, 0x83, 0x27, 0xd6, 0xf8, 0x2c, 0x8d, 0xb9, 0x97, 0x0d, + 0xe5, 0x9a, 0x39, 0x5c, 0xa3, 0xf3, 0xc4, 0xfe, 0x23, 0x32, 0xa4, 0x2f, 0xdc, 0xbd, 0x7e, 0x0b, + 0xf7, 0x57, 0xa4, 0xbd, 0x0e, 0x5d, 0xfe, 0x8a, 0xd1, 0xf8, 0x45, 0x42, 0xe3, 0x27, 0xbb, 0xfd, + 0xb6, 0x7c, 0xaa, 0xb3, 0xec, 0xdb, 0x00, 0xc3, 0x98, 0x92, 0x94, 0x3e, 0xf7, 0x43, 0xda, 0x9f, + 0x5f, 0xb7, 0xee, 0xf4, 0x5c, 0x8d, 0x23, 0x34, 0x84, 0x34, 0x3c, 0xa4, 0xf1, 0x0e, 0xcf, 0x58, + 0xda, 0x5f, 0x90, 0x0b, 0x74, 0x96, 0xbd, 0x04, 0x0d, 0xfa, 0xba, 0xdf, 0x91, 0xaa, 0x1b, 0xf4, + 0xb5, 0xbd, 0x06, 0xed, 0x24, 0x25, 0x69, 0x96, 0xf4, 0x61, 0xdd, 0xba, 0xd3, 0x72, 0x15, 0x65, + 0x6f, 0x40, 0x4f, 0xea, 0xe5, 0xb9, 0x35, 0x5d, 0x29, 0x62, 0x32, 0x0b, 0x8f, 0x3d, 0x3f, 0x8d, + 0x68, 0x7f, 0x51, 0x2a, 0x28, 0x19, 0xce, 0x1f, 0x1a, 0x70, 0x43, 0xfa, 0x7d, 0x5f, 0x1a, 0xf0, + 0x30, 0x0b, 0x82, 0x0b, 0x10, 0x58, 0x83, 0x76, 0x86, 0xdb, 0xa1, 0xfb, 0x15, 0x25, 0xf6, 0x89, + 0x79, 0x40, 0xf7, 0xe8, 0x09, 0x0d, 0xa4, 0xe3, 0x5b, 0x6e, 0xc9, 0xb0, 0x6f, 0xc2, 0xc2, 0x47, + 0xdc, 0x67, 0xd2, 0x27, 0x73, 0xf2, 0x61, 0x41, 0x8b, 0x67, 0xcc, 0x1f, 0x1e, 0x33, 0x01, 0x29, + 0xba, 0xbb, 0xa0, 0x75, 0x24, 0xda, 0x26, 0x12, 0xef, 0xc0, 0x12, 0x89, 0xa2, 0x7d, 0xc2, 0xc6, + 0x34, 0xc6, 0x4d, 0xe7, 0xa5, 0xde, 0x0a, 0x57, 0xe0, 0x21, 0x76, 0x1a, 0xf0, 0x2c, 0x1e, 0x52, + 0xe9, 0xee, 0x96, 0xab, 0x71, 0x84, 0x1e, 0x1e, 0xd1, 0x58, 0x73, 0x23, 0x7a, 0xbe, 0xc2, 0x55, + 0xa8, 0x40, 0x8e, 0x8a, 0xf3, 0x33, 0x0b, 0x96, 0x0e, 0xb2, 0xc3, 0xc0, 0x1f, 0xca, 0x05, 0xc2, + 0x69, 0xa5, 0x6b, 0x2c, 0xc3, 0x35, 0xfa, 0x01, 0x1b, 0x67, 0x1f, 0xb0, 0x69, 0x1e, 0x70, 0x0d, + 0xda, 0x63, 0xca, 0x3c, 0x1a, 0x2b, 0x87, 0x29, 0x4a, 0x19, 0xd2, 0x2a, 0x0c, 0xf9, 0x45, 0x03, + 0x16, 0x3e, 0x61, 0x13, 0xd6, 0xa1, 0x1b, 0x1d, 0x71, 0x46, 0x9f, 0x66, 0x22, 0x68, 0x94, 0x2d, + 0x3a, 0xcb, 0x7e, 0x0b, 0x5a, 0x87, 0x7e, 0x9c, 0x1e, 0x49, 0xd4, 0x7a, 0x2e, 0x12, 0x82, 0x4b, + 0x43, 0xe2, 0x23, 0x54, 0x1d, 0x17, 0x09, 0x75, 0xa0, 0x85, 0x22, 0xde, 0xcd, 0x0c, 0xea, 0xd4, + 0x32, 0xa8, 0x8e, 0x3c, 0x4c, 0x43, 0xde, 0xf9, 0xa7, 0x05, 0xf0, 0x30, 0xf6, 0x29, 0xf3, 0xa4, + 0x6b, 0x2a, 0xa9, 0x6b, 0xd5, 0x53, 0x77, 0x0d, 0xda, 0x31, 0x0d, 0x49, 0x7c, 0x9c, 0x87, 0x36, + 0x52, 0x15, 0x83, 0x9a, 0x35, 0x83, 0xde, 0x03, 0x18, 0xc9, 0x7d, 0x84, 0x1e, 0xe9, 0xaa, 0xee, + 0xdd, 0xcf, 0x6c, 0xd6, 0x8a, 0xdc, 0x66, 0x8e, 0x92, 0xab, 0x2d, 0x17, 0x79, 0x43, 0x3c, 0x4f, + 0x85, 0x67, 0x0b, 0xf3, 0xa6, 0x60, 0x4c, 0x89, 0xce, 0xf6, 0x39, 0xd1, 0x39, 0x5f, 0x04, 0xc5, + 0xdf, 0x2d, 0xe8, 0x6c, 0x07, 0x64, 0x78, 0x3c, 0xe3, 0xd1, 0xcd, 0x23, 0x36, 0x6a, 0x47, 0x7c, + 0x04, 0xbd, 0x43, 0xa1, 0x2e, 0x3f, 0x82, 0xf4, 0x42, 0xf7, 0xee, 0xe7, 0xa6, 0x9c, 0xd2, 0x4c, + 0x0a, 0xd7, 0x94, 0x33, 0x8f, 0x3b, 0x77, 0xf1, 0x71, 0x5b, 0xe7, 0x1c, 0xb7, 0x5d, 0x1c, 0xf7, + 0xaf, 0x0d, 0x58, 0x94, 0x65, 0xcc, 0xa5, 0x93, 0x8c, 0x26, 0xa9, 0xfd, 0x6d, 0x58, 0xc8, 0x72, + 0x53, 0xad, 0x59, 0x4d, 0x2d, 0x44, 0xec, 0x7b, 0xaa, 0x68, 0x4a, 0xf9, 0x86, 0x94, 0xbf, 0x35, + 0x45, 0xbe, 0xb8, 0xb1, 0xdc, 0x72, 0xb9, 0xb8, 0x60, 0x8e, 0x08, 0xf3, 0x02, 0xea, 0xd2, 0x24, + 0x0b, 0x52, 0x55, 0x0b, 0x0d, 0x1e, 0x46, 0xda, 0x64, 0x3f, 0x19, 0xab, 0xeb, 0x47, 0x51, 0xc2, + 0x3b, 0xb8, 0x4e, 0x3c, 0xc2, 0xa3, 0x97, 0x0c, 0x91, 0xa8, 0x31, 0x9d, 0x48, 0x84, 0x30, 0xad, + 0x72, 0xb2, 0xdc, 0x53, 0x79, 0x0d, 0x03, 0xc1, 0xe0, 0x09, 0x88, 0x91, 0x96, 0x0a, 0xf0, 0xde, + 0xd1, 0x38, 0xd5, 0x6b, 0xc7, 0xf9, 0x5b, 0x13, 0x7a, 0x98, 0x3e, 0xb9, 0x53, 0x6f, 0x8b, 0x38, + 0xe7, 0xa1, 0x11, 0x45, 0x1a, 0x47, 0x58, 0x21, 0xa8, 0xa7, 0x66, 0xa1, 0x31, 0x78, 0x22, 0x14, + 0x05, 0xfd, 0xd0, 0x28, 0x38, 0x3a, 0x2b, 0xdf, 0xe5, 0x91, 0x5e, 0x78, 0x34, 0x8e, 0x28, 0x65, + 0x29, 0x37, 0xa2, 0xa3, 0xa0, 0x85, 0x6c, 0xca, 0x8b, 0xfd, 0x31, 0x3e, 0x34, 0x8e, 0xf0, 0x6f, + 0xca, 0xf3, 0xbd, 0xd1, 0x49, 0x25, 0x03, 0x35, 0xab, 0x7d, 0xf1, 0xa2, 0x28, 0xe8, 0x1a, 0xaa, + 0x9d, 0x73, 0x51, 0x05, 0x03, 0x55, 0x33, 0xb9, 0xba, 0xb5, 0xe4, 0xda, 0x80, 0x1e, 0xea, 0xc9, + 0x83, 0x7e, 0x11, 0x2f, 0x72, 0x83, 0x69, 0xc6, 0x46, 0xaf, 0x1a, 0x1b, 0x26, 0xba, 0x4b, 0x67, + 0xa0, 0xbb, 0x5c, 0xa0, 0xfb, 0x63, 0xe8, 0x1f, 0x64, 0x41, 0xb0, 0x4f, 0x93, 0x84, 0x8c, 0xe9, + 0xf6, 0xe9, 0x80, 0x4e, 0xf6, 0xfc, 0x24, 0x75, 0x69, 0x12, 0x89, 0x38, 0xa3, 0x71, 0xbc, 0xc3, + 0x3d, 0x2a, 0x41, 0x6e, 0xb9, 0x39, 0x29, 0x4e, 0x48, 0xe3, 0x58, 0x18, 0xa0, 0x2a, 0x24, 0x52, + 0xf6, 0x26, 0xcc, 0x05, 0x7e, 0x22, 0x62, 0xbd, 0x79, 0xa7, 0x7b, 0xf7, 0xe6, 0x94, 0x54, 0xd9, + 0x4f, 0xc6, 0xbb, 0x24, 0x25, 0xae, 0x5c, 0xe7, 0x84, 0xf0, 0xa9, 0xe9, 0xbb, 0x4f, 0xce, 0xbc, + 0xc1, 0x44, 0x0d, 0x93, 0x45, 0xc0, 0xe7, 0xac, 0x68, 0x3e, 0x74, 0x96, 0x30, 0x3b, 0x41, 0x3d, + 0xd2, 0x8e, 0x9e, 0x9b, 0x93, 0xce, 0x5b, 0x60, 0x3f, 0xa2, 0xe9, 0x3e, 0x79, 0xbd, 0xc5, 0xbc, + 0x7d, 0x9f, 0x0d, 0xe8, 0xc4, 0xa5, 0x13, 0xe7, 0x01, 0xdc, 0xa8, 0x71, 0x93, 0x48, 0x18, 0x10, + 0x92, 0xd7, 0x03, 0x3a, 0x91, 0x06, 0xf4, 0x5c, 0x45, 0x49, 0xbe, 0x5c, 0xa5, 0xca, 0xa3, 0xa2, + 0x9c, 0x09, 0x2c, 0x0b, 0x84, 0x06, 0x94, 0x79, 0xfb, 0xc9, 0x58, 0xaa, 0x58, 0x87, 0x2e, 0x7a, + 0x60, 0x3f, 0x19, 0x97, 0xf5, 0x56, 0x63, 0x89, 0x15, 0xc3, 0xc0, 0xa7, 0x2c, 0xc5, 0x15, 0xea, + 0x34, 0x1a, 0x4b, 0x04, 0x63, 0x42, 0x99, 0x57, 0x5c, 0x39, 0x4d, 0xb7, 0xa0, 0x9d, 0x3f, 0xb6, + 0x60, 0x5e, 0x39, 0x54, 0x76, 0x87, 0xe2, 0x8a, 0x2b, 0xfc, 0x85, 0x14, 0x06, 0xe3, 0xf0, 0xa4, + 0xec, 0xd3, 0x90, 0xd2, 0x3b, 0xbb, 0xa6, 0xd9, 0xd9, 0x55, 0x6c, 0x9a, 0xab, 0xdb, 0x54, 0x39, + 0x57, 0xab, 0x7e, 0xae, 0x2f, 0xc2, 0x4a, 0x22, 0x13, 0xe6, 0x20, 0x20, 0xe9, 0x88, 0xc7, 0xa1, + 0xba, 0xb1, 0x5a, 0x6e, 0x8d, 0x2f, 0x8a, 0x3d, 0xf2, 0x8a, 0x84, 0xc5, 0x8c, 0xac, 0x70, 0x45, + 0x7a, 0x20, 0x27, 0x4f, 0x5c, 0x6c, 0x15, 0x4c, 0x26, 0xda, 0x96, 0x24, 0x3e, 0x67, 0xb2, 0xd3, + 0xc5, 0xfc, 0xd4, 0x59, 0xe2, 0xe4, 0x61, 0x32, 0x7e, 0x18, 0xf3, 0x50, 0x35, 0x0c, 0x39, 0x29, + 0x4f, 0xce, 0x59, 0x4a, 0x59, 0x2a, 0x65, 0xbb, 0x28, 0xab, 0xb1, 0x84, 0xac, 0x22, 0x65, 0x72, + 0x2e, 0xba, 0x39, 0x69, 0xaf, 0x40, 0x33, 0xa1, 0x13, 0x95, 0x71, 0xe2, 0xa7, 0x81, 0xdc, 0xb2, + 0x89, 0x5c, 0xa5, 0x14, 0xac, 0xc8, 0xa7, 0x7a, 0x29, 0x28, 0x7b, 0xfd, 0x55, 0xa3, 0xd7, 0xdf, + 0x82, 0x79, 0x1e, 0x89, 0x38, 0x4f, 0xfa, 0xb6, 0xcc, 0xb1, 0xcf, 0x9f, 0x9d, 0x63, 0x9b, 0xcf, + 0x70, 0xe5, 0x03, 0x96, 0xc6, 0xa7, 0x6e, 0x2e, 0x67, 0xef, 0xc1, 0x32, 0x1f, 0x8d, 0x02, 0x9f, + 0xd1, 0x83, 0x2c, 0x39, 0x92, 0x37, 0xdb, 0x0d, 0x79, 0xb3, 0x39, 0x53, 0x54, 0x3d, 0x33, 0x57, + 0xba, 0x55, 0xd1, 0x9b, 0xf7, 0x60, 0x51, 0xdf, 0x46, 0xb8, 0xe1, 0x98, 0x9e, 0xaa, 0x18, 0x14, + 0x3f, 0x45, 0xb3, 0x77, 0x42, 0x82, 0x0c, 0xaf, 0x81, 0x05, 0x17, 0x89, 0x7b, 0x8d, 0x6f, 0x58, + 0xce, 0xcf, 0x2d, 0x58, 0xae, 0x6c, 0x20, 0x56, 0xa7, 0x7e, 0x1a, 0x50, 0xa5, 0x01, 0x09, 0xdb, + 0x86, 0x39, 0x8f, 0x26, 0x43, 0x15, 0xc2, 0xf2, 0xb7, 0xaa, 0x64, 0xcd, 0xa2, 0x5d, 0x14, 0x2f, + 0x74, 0xcf, 0x06, 0x42, 0xd1, 0x80, 0x67, 0xcc, 0x2b, 0x5e, 0xe8, 0x34, 0x9e, 0x08, 0x21, 0xff, + 0xd9, 0x60, 0x9b, 0x78, 0x63, 0x8a, 0xaf, 0x5d, 0x2d, 0x69, 0x93, 0xc9, 0x74, 0x3c, 0x58, 0x78, + 0xee, 0x47, 0xc9, 0x0e, 0x0f, 0x43, 0x01, 0x84, 0x47, 0x53, 0xd1, 0xab, 0x5a, 0x12, 0x6f, 0x45, + 0x89, 0x50, 0xf1, 0xe8, 0x88, 0x64, 0x41, 0x2a, 0x96, 0xe6, 0x89, 0xab, 0xb1, 0xe4, 0x0b, 0x47, + 0xc2, 0xd9, 0x2e, 0x4a, 0xa3, 0x9d, 0x1a, 0xc7, 0xf9, 0x73, 0x03, 0x56, 0x64, 0xe3, 0xb0, 0x23, + 0x61, 0xf7, 0xa4, 0xd0, 0x5d, 0x68, 0xc9, 0x34, 0x54, 0xcd, 0xca, 0xf9, 0xcd, 0x06, 0x2e, 0xb5, + 0xef, 0x43, 0x9b, 0x47, 0xb2, 0xe5, 0xc4, 0x0e, 0xe5, 0x9d, 0xb3, 0x84, 0xcc, 0x77, 0x3b, 0x57, + 0x49, 0xd9, 0x0f, 0x01, 0xf0, 0xb5, 0x73, 0xaf, 0x2c, 0xdd, 0xb3, 0xea, 0xd0, 0x24, 0x85, 0x73, + 0x8b, 0x32, 0x5c, 0xbc, 0xe0, 0x35, 0x5d, 0x93, 0x69, 0x3f, 0x85, 0x25, 0x69, 0xf6, 0xb3, 0xbc, + 0xeb, 0x94, 0x18, 0xcc, 0xbe, 0x63, 0x45, 0xda, 0xf9, 0x95, 0xa5, 0xdc, 0x28, 0x9e, 0x0e, 0x28, + 0xfa, 0xbe, 0x74, 0x89, 0x75, 0x29, 0x97, 0xdc, 0x84, 0x85, 0x30, 0xd3, 0x9a, 0xe0, 0xa6, 0x5b, + 0xd0, 0x25, 0x44, 0xcd, 0x99, 0x21, 0x72, 0x7e, 0x6d, 0x41, 0xff, 0x7d, 0xee, 0x33, 0xf9, 0x60, + 0x2b, 0x8a, 0x02, 0x35, 0x85, 0xb8, 0x34, 0xe6, 0xdf, 0x81, 0x0e, 0x41, 0x35, 0x2c, 0x55, 0xb0, + 0xcf, 0xd0, 0xd8, 0x96, 0x32, 0x5a, 0x8f, 0xd2, 0xd4, 0x7b, 0x14, 0xe7, 0x77, 0x16, 0x2c, 0xa1, + 0x53, 0x3e, 0xc8, 0xfc, 0xf4, 0xd2, 0xf6, 0x6d, 0xc3, 0xc2, 0x24, 0xf3, 0xd3, 0x4b, 0x44, 0x65, + 0x21, 0x57, 0x8f, 0xa7, 0xe6, 0x94, 0x78, 0x72, 0x3e, 0xb6, 0xe0, 0x56, 0xd5, 0xad, 0x5b, 0xc3, + 0x21, 0x8d, 0xde, 0x64, 0x4a, 0x19, 0x3d, 0xda, 0x5c, 0xa5, 0x47, 0x9b, 0x6a, 0xb2, 0x4b, 0x3f, + 0xa2, 0xc3, 0xff, 0x5d, 0x93, 0x7f, 0xda, 0x80, 0x4f, 0x3f, 0x2a, 0x12, 0xef, 0x79, 0x4c, 0x58, + 0x32, 0xa2, 0x71, 0xfc, 0x06, 0xed, 0xdd, 0x83, 0x1e, 0xa3, 0xaf, 0x4a, 0x9b, 0x54, 0x3a, 0xce, + 0xaa, 0xc6, 0x14, 0x9e, 0xad, 0x76, 0x39, 0xff, 0xb2, 0x60, 0x05, 0xf5, 0x7c, 0xd7, 0x1f, 0x1e, + 0xbf, 0xc1, 0xc3, 0x3f, 0x85, 0xa5, 0x63, 0x69, 0x81, 0xa0, 0x2e, 0x51, 0xb6, 0x2b, 0xd2, 0x33, + 0x1e, 0xff, 0xdf, 0x16, 0xac, 0xa2, 0xa2, 0x27, 0xec, 0xc4, 0x7f, 0x93, 0xc1, 0x7a, 0x00, 0xcb, + 0x3e, 0x9a, 0x70, 0x49, 0x07, 0x54, 0xc5, 0x67, 0xf4, 0xc0, 0xef, 0x2d, 0x58, 0x46, 0x4d, 0x0f, + 0x58, 0x4a, 0xe3, 0x4b, 0x9f, 0xff, 0x31, 0x74, 0x29, 0x4b, 0x63, 0xc2, 0x2e, 0x53, 0x21, 0x75, + 0xd1, 0x19, 0x8b, 0xe4, 0x31, 0xac, 0xe2, 0x2b, 0xbc, 0x56, 0x71, 0x44, 0x2f, 0x4b, 0x3c, 0x6c, + 0x4f, 0x2d, 0x29, 0x94, 0x93, 0xe6, 0x70, 0x46, 0x4d, 0xd7, 0xcb, 0xe1, 0xcc, 0x6d, 0x00, 0xe2, + 0x79, 0x1f, 0xf2, 0xd8, 0xf3, 0x59, 0x7e, 0x7d, 0x68, 0x1c, 0xe7, 0x7d, 0x58, 0x14, 0xdd, 0xf4, + 0x73, 0xed, 0x65, 0xfc, 0xdc, 0x71, 0x81, 0xfe, 0x22, 0xdf, 0x30, 0x5f, 0xe4, 0x9d, 0x1f, 0xc1, + 0xff, 0xd7, 0x0c, 0x97, 0x5e, 0xdf, 0xc1, 0x19, 0x43, 0xbe, 0x89, 0x72, 0xfe, 0x67, 0xa7, 0xb8, + 0x50, 0xb7, 0xc5, 0x35, 0x84, 0x9c, 0x9f, 0x58, 0xf0, 0x76, 0x4d, 0xfd, 0x56, 0x14, 0xc5, 0xfc, + 0x44, 0x05, 0xf7, 0x55, 0x6c, 0x63, 0x96, 0xd6, 0x46, 0xb5, 0xb4, 0x4e, 0x35, 0xc2, 0xb8, 0x0e, + 0x3e, 0x01, 0x23, 0x7e, 0x63, 0xc1, 0xb2, 0x32, 0xc2, 0xf3, 0xd4, 0xb6, 0x5f, 0x87, 0x36, 0xce, + 0x27, 0xd5, 0x86, 0x6f, 0x4f, 0xdd, 0x30, 0x9f, 0xab, 0xba, 0x6a, 0x71, 0x3d, 0x22, 0x1b, 0xd3, + 0xda, 0xc0, 0x6f, 0x16, 0x15, 0x60, 0xe6, 0x09, 0xa2, 0x12, 0x70, 0xbe, 0x9f, 0x07, 0xf3, 0x2e, + 0x0d, 0xe8, 0x55, 0xfa, 0xc8, 0x79, 0x01, 0x4b, 0x72, 0x58, 0x5a, 0xfa, 0xe0, 0x4a, 0xd4, 0x7e, + 0x08, 0x2b, 0x52, 0xed, 0x95, 0xdb, 0x5b, 0x64, 0x87, 0xf0, 0xcf, 0xce, 0x11, 0x61, 0xe3, 0xab, + 0xd4, 0xfe, 0x15, 0xb8, 0x91, 0xfb, 0xfe, 0x45, 0xe4, 0x15, 0xaf, 0x28, 0x67, 0x0c, 0x66, 0x9c, + 0xaf, 0xc2, 0xda, 0x0e, 0x67, 0x27, 0x34, 0x4e, 0x24, 0xca, 0x28, 0x92, 0x4b, 0x18, 0xc9, 0xaf, + 0x28, 0x67, 0x00, 0xab, 0x6a, 0xa4, 0x78, 0x40, 0xc6, 0x3e, 0xc3, 0xaa, 0x74, 0x1b, 0x20, 0x22, + 0xe3, 0xfc, 0x93, 0x02, 0xce, 0x9d, 0x34, 0x8e, 0x78, 0x9e, 0x1c, 0xf1, 0x57, 0xea, 0x79, 0x03, + 0x9f, 0x97, 0x1c, 0xe7, 0x7b, 0x60, 0xbb, 0x34, 0x89, 0x38, 0x4b, 0xa8, 0xa6, 0x75, 0x1d, 0xba, + 0x3b, 0x59, 0x1c, 0x53, 0x26, 0xb6, 0xca, 0xe7, 0xeb, 0x3a, 0x4b, 0xe8, 0x1d, 0x94, 0x7a, 0x71, + 0x56, 0xa1, 0x71, 0x9c, 0x5f, 0x36, 0xa1, 0x33, 0xf0, 0xc7, 0x8c, 0x04, 0x2e, 0x9d, 0xd8, 0xdf, + 0x82, 0x36, 0xde, 0x20, 0xca, 0xb5, 0xd3, 0xde, 0x9d, 0x71, 0x35, 0x5e, 0x95, 0x2e, 0x9d, 0x3c, + 0xfe, 0x3f, 0x57, 0xc9, 0xd8, 0x1f, 0x40, 0x0f, 0x7f, 0x3d, 0xc1, 0x37, 0x02, 0x75, 0x01, 0x7c, + 0xe1, 0x02, 0x25, 0x6a, 0x35, 0xea, 0x32, 0x35, 0x08, 0x83, 0x86, 0x84, 0x0d, 0xd5, 0x37, 0xb7, + 0xf3, 0x0c, 0xda, 0x91, 0xcb, 0x94, 0x41, 0x28, 0x23, 0xa4, 0x89, 0xec, 0x99, 0xd5, 0x57, 0x8b, + 0xb3, 0xa5, 0xb1, 0xb5, 0x56, 0xd2, 0x28, 0x23, 0xa4, 0x8f, 0x32, 0x36, 0x7e, 0x11, 0xa9, 0x57, + 0xb9, 0xb3, 0xa5, 0x1f, 0xcb, 0x65, 0x4a, 0x1a, 0x65, 0x84, 0x74, 0x2c, 0xab, 0x9d, 0x74, 0xfa, + 0x79, 0xd2, 0x58, 0x14, 0x95, 0x34, 0xca, 0x6c, 0x77, 0x60, 0x3e, 0x22, 0xa7, 0x01, 0x27, 0x9e, + 0xf3, 0xdb, 0x26, 0x40, 0xbe, 0x30, 0x91, 0x3d, 0x86, 0x01, 0xd1, 0xc6, 0x85, 0x10, 0x45, 0xc1, + 0xa9, 0x06, 0xd2, 0x60, 0x3a, 0x48, 0x5f, 0x9a, 0x15, 0x24, 0xd4, 0x56, 0x81, 0xe9, 0x7e, 0x05, + 0xa6, 0x8d, 0x0b, 0x61, 0x52, 0x46, 0x29, 0xa0, 0xee, 0x57, 0x80, 0xda, 0xb8, 0x10, 0x28, 0x25, + 0xaf, 0xa0, 0xba, 0x5f, 0x81, 0x6a, 0xe3, 0x42, 0xa8, 0x94, 0xbc, 0x02, 0xeb, 0x7e, 0x05, 0xac, + 0x8d, 0x0b, 0xc1, 0x52, 0xf2, 0x75, 0xb8, 0x3e, 0x6e, 0xc0, 0x92, 0x74, 0x19, 0xce, 0x6d, 0xd9, + 0x88, 0xcb, 0xf1, 0x8c, 0x74, 0x97, 0xf9, 0x85, 0xca, 0x64, 0xda, 0x5f, 0x86, 0x55, 0x64, 0xa8, + 0x2f, 0x1a, 0xb2, 0xfd, 0x6b, 0xac, 0x37, 0xef, 0x74, 0xdc, 0xfa, 0x03, 0x39, 0x69, 0xcb, 0x92, + 0x94, 0x87, 0xbb, 0x24, 0x25, 0x79, 0xb7, 0x52, 0x72, 0xf4, 0x39, 0xe8, 0x5c, 0xed, 0x0b, 0x77, + 0xcc, 0x79, 0x58, 0x0c, 0x38, 0x15, 0x25, 0x24, 0x52, 0x3f, 0xa4, 0x3c, 0x4b, 0x55, 0x99, 0xc8, + 0x49, 0x71, 0xc7, 0x86, 0xd4, 0xf3, 0x89, 0x9c, 0x1e, 0xaa, 0xcf, 0x0a, 0x05, 0x43, 0x58, 0xa2, + 0x4d, 0x43, 0xd5, 0x17, 0x68, 0x6d, 0x0e, 0x7a, 0xe1, 0xe4, 0xd2, 0xf9, 0x93, 0x05, 0xcb, 0x95, + 0xaa, 0x22, 0xba, 0x27, 0xbc, 0x17, 0x0b, 0x77, 0x15, 0xb4, 0xbd, 0x05, 0xe0, 0x17, 0x1e, 0x3e, + 0x67, 0x4c, 0x60, 0xc2, 0xe0, 0x6a, 0x42, 0xd3, 0xa6, 0x85, 0xcd, 0x4b, 0x4f, 0x0b, 0x9d, 0x1f, + 0xc2, 0x6a, 0x2d, 0xe5, 0xe4, 0xc8, 0x8f, 0x1f, 0x53, 0x56, 0x8c, 0xfc, 0x04, 0xa1, 0x79, 0xbf, + 0x51, 0xf5, 0x7e, 0xe0, 0x9f, 0xe8, 0x5f, 0xa9, 0x15, 0xe9, 0xfc, 0xc5, 0x82, 0xb5, 0xe9, 0xe5, + 0xf2, 0x7a, 0x39, 0xe9, 0x10, 0xfa, 0x67, 0x15, 0x94, 0x2b, 0xf3, 0x55, 0x19, 0x49, 0xc5, 0x75, + 0x70, 0xbd, 0x9c, 0x74, 0x23, 0x8f, 0x24, 0xad, 0x4e, 0x6a, 0xa7, 0x2a, 0xae, 0xa9, 0x6b, 0x9a, + 0x1f, 0x5a, 0xf5, 0xfe, 0x2f, 0x60, 0x5e, 0x5c, 0xc3, 0xd7, 0x14, 0x73, 0xed, 0x6e, 0xd2, 0x4e, + 0x55, 0xb4, 0x07, 0xd7, 0xf4, 0x54, 0xda, 0x8d, 0xb9, 0x7d, 0xeb, 0x07, 0x37, 0x37, 0xdf, 0xc5, + 0xff, 0xcb, 0xbd, 0x57, 0xd3, 0x79, 0xd8, 0x96, 0xff, 0x9f, 0xfb, 0xda, 0x7f, 0x02, 0x00, 0x00, + 0xff, 0xff, 0x93, 0xbf, 0x76, 0x68, 0x52, 0x27, 0x00, 0x00, } From 1db09666752edf37fde936dfd256ab26406b588d Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 15 Mar 2022 10:17:24 +0800 Subject: [PATCH 047/129] pb modify --- internal/msg_gateway/gate/validate.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/internal/msg_gateway/gate/validate.go b/internal/msg_gateway/gate/validate.go index de14223ac..b5c8dd504 100644 --- a/internal/msg_gateway/gate/validate.go +++ b/internal/msg_gateway/gate/validate.go @@ -217,12 +217,12 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq) (isPass bool, if err2 != nil { return false, 201, err2.Error(), nil, nil } - cancel := open_im_sdk.SignalResp_Accept{&open_im_sdk.SignalAcceptReply{ + accept := open_im_sdk.SignalResp_Accept{&open_im_sdk.SignalAcceptReply{ Token: token, LiveURL: media.GetUrl(), RoomID: payload.Accept.Invitation.RoomID, }} - resp.Payload = &cancel + resp.Payload = &accept msg.OfflinePushInfo = payload.Accept.OfflinePushInfo msg.SendID = payload.Accept.OpUserID msg.SenderPlatformID = payload.Accept.Invitation.PlatformID @@ -241,10 +241,10 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq) (isPass bool, return true, 0, "", &resp, &msg case *open_im_sdk.SignalReq_HungUp: case *open_im_sdk.SignalReq_Reject: - cancel := open_im_sdk.SignalResp_Reject{&open_im_sdk.SignalRejectReply{}} - resp.Payload = &cancel + reject := open_im_sdk.SignalResp_Reject{&open_im_sdk.SignalRejectReply{}} + resp.Payload = &reject msg.OfflinePushInfo = payload.Reject.OfflinePushInfo - msg.SendID = payload.Reject.InviteeUserID + msg.SendID = payload.Reject.OpUserID msg.SenderPlatformID = payload.Reject.Invitation.PlatformID msg.SessionType = payload.Reject.Invitation.SessionType if len(payload.Reject.Invitation.InviteeUserIDList) > 0 { @@ -257,7 +257,7 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq) (isPass bool, } else { return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil } - msg.ClientMsgID = utils.GetMsgID(payload.Reject.InviteeUserID) + msg.ClientMsgID = utils.GetMsgID(payload.Reject.OpUserID) return true, 0, "", &resp, &msg } return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil From dde8f427af2d0f28a604f3dbd6fb9b05f67f845e Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 15 Mar 2022 10:41:19 +0800 Subject: [PATCH 048/129] pb modify --- pkg/proto/sdk_ws/ws.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 04524fcee..388ce91a6 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -374,7 +374,7 @@ message InvitationInfo { string roomID = 5; int32 timeout = 6; string mediaType = 7; - int32 PlatformID = 8; + int32 platformID = 8; int32 sessionType = 9; } From 204b27ca5d88612d7e32c36e09215706d3e73960 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Tue, 15 Mar 2022 10:51:25 +0800 Subject: [PATCH 049/129] pb platformID --- cmd/Open-IM-SDK-Core | 2 +- go.mod | 2 +- go.sum | 8 +++ pkg/proto/sdk_ws/ws.pb.go | 142 +++++++++++++++++++------------------- 4 files changed, 81 insertions(+), 73 deletions(-) diff --git a/cmd/Open-IM-SDK-Core b/cmd/Open-IM-SDK-Core index 1c6c7af53..0ccb57697 160000 --- a/cmd/Open-IM-SDK-Core +++ b/cmd/Open-IM-SDK-Core @@ -1 +1 @@ -Subproject commit 1c6c7af5393b3e9eefbaf16b673519ca863a6c2c +Subproject commit 0ccb576978b852bc5d8b51badc54daace6fe0b4c diff --git a/go.mod b/go.mod index 7973c238a..6eb5fc3a4 100644 --- a/go.mod +++ b/go.mod @@ -33,7 +33,7 @@ require ( github.com/lestrrat-go/strftime v1.0.4 // indirect github.com/lib/pq v1.2.0 // indirect github.com/livekit/protocol v0.11.14-0.20220223195254-d8c251e13231 // indirect - github.com/livekit/server-sdk-go v0.9.1 + //github.com/livekit/server-sdk-go v0.9.1 github.com/mattn/go-sqlite3 v1.14.6 // indirect github.com/minio/minio-go/v7 v7.0.22 github.com/mitchellh/mapstructure v1.4.2 diff --git a/go.sum b/go.sum index d0f6611ed..ebb3d729c 100644 --- a/go.sum +++ b/go.sum @@ -103,6 +103,10 @@ github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5P github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa h1:OaNxuTZr7kxeODyLWsRMC+OD03aFUH+mW6r2d+MWa5Y= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/coreos/etcd v0.5.0-alpha.5 h1:0Qi6Jzjk2CDuuGlIeecpu+em2nrjhOgz2wsIwCmQHmc= @@ -140,6 +144,7 @@ github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5 h1:Yzb9+7DPaBjB8zlTR87/ElzFsnQfuHnVUVqpZZIcV5Y= github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0= @@ -647,6 +652,7 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= @@ -1047,6 +1053,8 @@ google.golang.org/grpc v1.33.2 h1:EQyQC3sa8M+p6Ulc8yy9SWSS2GVwyRc83gAbG8lrl4o= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0 h1:raiipEjMOIC/TO2AvyTxP25XFdLxNIBwzDh3FM3XztI= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.45.0 h1:NEpgUqV3Z+ZjkqMsxMg11IaDrXY4RY6CQukSGK0uI1M= +google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/grpc/examples v0.0.0-20220311002955-722367c4a737 h1:rLsBNkV6Gc/K6J87wfvo/BSg/TQGd28++7sS+hs8qDw= google.golang.org/grpc/examples v0.0.0-20220311002955-722367c4a737/go.mod h1:wKDg0brwMZpaizQ1i7IzYcJjH1TmbJudYdnQC9+J+LE= diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index df40c442d..5aa517b8c 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_5a6e79a674462cff, []int{0} + return fileDescriptor_ws_b58b288419ee277e, []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_5a6e79a674462cff, []int{1} + return fileDescriptor_ws_b58b288419ee277e, []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_5a6e79a674462cff, []int{2} + return fileDescriptor_ws_b58b288419ee277e, []int{2} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -344,7 +344,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} } func (m *UserInfo) String() string { return proto.CompactTextString(m) } func (*UserInfo) ProtoMessage() {} func (*UserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{3} + return fileDescriptor_ws_b58b288419ee277e, []int{3} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -451,7 +451,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} } func (m *FriendInfo) String() string { return proto.CompactTextString(m) } func (*FriendInfo) ProtoMessage() {} func (*FriendInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{4} + return fileDescriptor_ws_b58b288419ee277e, []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_5a6e79a674462cff, []int{5} + return fileDescriptor_ws_b58b288419ee277e, []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_5a6e79a674462cff, []int{6} + return fileDescriptor_ws_b58b288419ee277e, []int{6} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -725,7 +725,7 @@ func (m *FriendRequest) Reset() { *m = FriendRequest{} } func (m *FriendRequest) String() string { return proto.CompactTextString(m) } func (*FriendRequest) ProtoMessage() {} func (*FriendRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{7} + return fileDescriptor_ws_b58b288419ee277e, []int{7} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -863,7 +863,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{8} + return fileDescriptor_ws_b58b288419ee277e, []int{8} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -917,7 +917,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{9} + return fileDescriptor_ws_b58b288419ee277e, []int{9} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -968,7 +968,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{10} + return fileDescriptor_ws_b58b288419ee277e, []int{10} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1000,7 +1000,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{11} + return fileDescriptor_ws_b58b288419ee277e, []int{11} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1047,7 +1047,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{12} + return fileDescriptor_ws_b58b288419ee277e, []int{12} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1116,7 +1116,7 @@ func (m *MsgData) Reset() { *m = MsgData{} } func (m *MsgData) String() string { return proto.CompactTextString(m) } func (*MsgData) ProtoMessage() {} func (*MsgData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{13} + return fileDescriptor_ws_b58b288419ee277e, []int{13} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -1277,7 +1277,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{14} + return fileDescriptor_ws_b58b288419ee277e, []int{14} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -1345,7 +1345,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} } func (m *TipsComm) String() string { return proto.CompactTextString(m) } func (*TipsComm) ProtoMessage() {} func (*TipsComm) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{15} + return fileDescriptor_ws_b58b288419ee277e, []int{15} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -1402,7 +1402,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} } func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } func (*GroupCreatedTips) ProtoMessage() {} func (*GroupCreatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{16} + return fileDescriptor_ws_b58b288419ee277e, []int{16} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -1471,7 +1471,7 @@ func (m *GroupInfoSetTips) Reset() { *m = GroupInfoSetTips{} } func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupInfoSetTips) ProtoMessage() {} func (*GroupInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{17} + return fileDescriptor_ws_b58b288419ee277e, []int{17} } func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) @@ -1526,7 +1526,7 @@ func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTi func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } func (*JoinGroupApplicationTips) ProtoMessage() {} func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{18} + return fileDescriptor_ws_b58b288419ee277e, []int{18} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -1582,7 +1582,7 @@ func (m *MemberQuitTips) Reset() { *m = MemberQuitTips{} } func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) } func (*MemberQuitTips) ProtoMessage() {} func (*MemberQuitTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{19} + return fileDescriptor_ws_b58b288419ee277e, []int{19} } func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) @@ -1637,7 +1637,7 @@ func (m *GroupApplicationAcceptedTips) Reset() { *m = GroupApplicationAc func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationAcceptedTips) ProtoMessage() {} func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{20} + return fileDescriptor_ws_b58b288419ee277e, []int{20} } func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) @@ -1692,7 +1692,7 @@ func (m *GroupApplicationRejectedTips) Reset() { *m = GroupApplicationRe func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationRejectedTips) ProtoMessage() {} func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{21} + return fileDescriptor_ws_b58b288419ee277e, []int{21} } func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) @@ -1748,7 +1748,7 @@ func (m *GroupOwnerTransferredTips) Reset() { *m = GroupOwnerTransferred func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) } func (*GroupOwnerTransferredTips) ProtoMessage() {} func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{22} + return fileDescriptor_ws_b58b288419ee277e, []int{22} } func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) @@ -1811,7 +1811,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} } func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } func (*MemberKickedTips) ProtoMessage() {} func (*MemberKickedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{23} + return fileDescriptor_ws_b58b288419ee277e, []int{23} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -1874,7 +1874,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} } func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } func (*MemberInvitedTips) ProtoMessage() {} func (*MemberInvitedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{24} + return fileDescriptor_ws_b58b288419ee277e, []int{24} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -1936,7 +1936,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} } func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } func (*MemberEnterTips) ProtoMessage() {} func (*MemberEnterTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{25} + return fileDescriptor_ws_b58b288419ee277e, []int{25} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -1990,7 +1990,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_5a6e79a674462cff, []int{26} + return fileDescriptor_ws_b58b288419ee277e, []int{26} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -2043,7 +2043,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_5a6e79a674462cff, []int{27} + return fileDescriptor_ws_b58b288419ee277e, []int{27} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -2089,7 +2089,7 @@ func (m *FriendApplicationTips) Reset() { *m = FriendApplicationTips{} } func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationTips) ProtoMessage() {} func (*FriendApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{28} + return fileDescriptor_ws_b58b288419ee277e, []int{28} } func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) @@ -2129,7 +2129,7 @@ func (m *FriendApplicationApprovedTips) Reset() { *m = FriendApplication func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationApprovedTips) ProtoMessage() {} func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{29} + return fileDescriptor_ws_b58b288419ee277e, []int{29} } func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) @@ -2176,7 +2176,7 @@ func (m *FriendApplicationRejectedTips) Reset() { *m = FriendApplication func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationRejectedTips) ProtoMessage() {} func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{30} + return fileDescriptor_ws_b58b288419ee277e, []int{30} } func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) @@ -2224,7 +2224,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_5a6e79a674462cff, []int{31} + return fileDescriptor_ws_b58b288419ee277e, []int{31} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -2277,7 +2277,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_5a6e79a674462cff, []int{32} + return fileDescriptor_ws_b58b288419ee277e, []int{32} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -2315,7 +2315,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_5a6e79a674462cff, []int{33} + return fileDescriptor_ws_b58b288419ee277e, []int{33} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -2353,7 +2353,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_5a6e79a674462cff, []int{34} + return fileDescriptor_ws_b58b288419ee277e, []int{34} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -2391,7 +2391,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_5a6e79a674462cff, []int{35} + return fileDescriptor_ws_b58b288419ee277e, []int{35} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -2430,7 +2430,7 @@ func (m *UserInfoUpdatedTips) Reset() { *m = UserInfoUpdatedTips{} } func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (*UserInfoUpdatedTips) ProtoMessage() {} func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{36} + return fileDescriptor_ws_b58b288419ee277e, []int{36} } func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) @@ -2469,7 +2469,7 @@ func (m *ConversationUpdateTips) Reset() { *m = ConversationUpdateTips{} func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) } func (*ConversationUpdateTips) ProtoMessage() {} func (*ConversationUpdateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{37} + return fileDescriptor_ws_b58b288419ee277e, []int{37} } func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) @@ -2509,7 +2509,7 @@ func (m *RequestPagination) Reset() { *m = RequestPagination{} } func (m *RequestPagination) String() string { return proto.CompactTextString(m) } func (*RequestPagination) ProtoMessage() {} func (*RequestPagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{38} + return fileDescriptor_ws_b58b288419ee277e, []int{38} } func (m *RequestPagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RequestPagination.Unmarshal(m, b) @@ -2555,7 +2555,7 @@ func (m *ResponsePagination) Reset() { *m = ResponsePagination{} } func (m *ResponsePagination) String() string { return proto.CompactTextString(m) } func (*ResponsePagination) ProtoMessage() {} func (*ResponsePagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{39} + return fileDescriptor_ws_b58b288419ee277e, []int{39} } func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) @@ -2608,7 +2608,7 @@ func (m *SignalReq) Reset() { *m = SignalReq{} } func (m *SignalReq) String() string { return proto.CompactTextString(m) } func (*SignalReq) ProtoMessage() {} func (*SignalReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{40} + return fileDescriptor_ws_b58b288419ee277e, []int{40} } func (m *SignalReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalReq.Unmarshal(m, b) @@ -2875,7 +2875,7 @@ func (m *SignalResp) Reset() { *m = SignalResp{} } func (m *SignalResp) String() string { return proto.CompactTextString(m) } func (*SignalResp) ProtoMessage() {} func (*SignalResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{41} + return fileDescriptor_ws_b58b288419ee277e, []int{41} } func (m *SignalResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalResp.Unmarshal(m, b) @@ -3132,7 +3132,7 @@ type InvitationInfo struct { RoomID string `protobuf:"bytes,5,opt,name=roomID" json:"roomID,omitempty"` Timeout int32 `protobuf:"varint,6,opt,name=timeout" json:"timeout,omitempty"` MediaType string `protobuf:"bytes,7,opt,name=mediaType" json:"mediaType,omitempty"` - PlatformID int32 `protobuf:"varint,8,opt,name=PlatformID" json:"PlatformID,omitempty"` + PlatformID int32 `protobuf:"varint,8,opt,name=platformID" json:"platformID,omitempty"` SessionType int32 `protobuf:"varint,9,opt,name=sessionType" json:"sessionType,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -3143,7 +3143,7 @@ func (m *InvitationInfo) Reset() { *m = InvitationInfo{} } func (m *InvitationInfo) String() string { return proto.CompactTextString(m) } func (*InvitationInfo) ProtoMessage() {} func (*InvitationInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{42} + return fileDescriptor_ws_b58b288419ee277e, []int{42} } func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) @@ -3239,7 +3239,7 @@ func (m *SignalInviteReq) Reset() { *m = SignalInviteReq{} } func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteReq) ProtoMessage() {} func (*SignalInviteReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{43} + return fileDescriptor_ws_b58b288419ee277e, []int{43} } func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) @@ -3293,7 +3293,7 @@ func (m *SignalInviteReply) Reset() { *m = SignalInviteReply{} } func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteReply) ProtoMessage() {} func (*SignalInviteReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{44} + return fileDescriptor_ws_b58b288419ee277e, []int{44} } func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) @@ -3347,7 +3347,7 @@ func (m *SignalInviteInGroupReq) Reset() { *m = SignalInviteInGroupReq{} func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReq) ProtoMessage() {} func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{45} + return fileDescriptor_ws_b58b288419ee277e, []int{45} } func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) @@ -3401,7 +3401,7 @@ func (m *SignalInviteInGroupReply) Reset() { *m = SignalInviteInGroupRep func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReply) ProtoMessage() {} func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{46} + return fileDescriptor_ws_b58b288419ee277e, []int{46} } func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) @@ -3455,7 +3455,7 @@ func (m *SignalCancelReq) Reset() { *m = SignalCancelReq{} } func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) } func (*SignalCancelReq) ProtoMessage() {} func (*SignalCancelReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{47} + return fileDescriptor_ws_b58b288419ee277e, []int{47} } func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) @@ -3506,7 +3506,7 @@ func (m *SignalCancelReply) Reset() { *m = SignalCancelReply{} } func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) } func (*SignalCancelReply) ProtoMessage() {} func (*SignalCancelReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{48} + return fileDescriptor_ws_b58b288419ee277e, []int{48} } func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) @@ -3539,7 +3539,7 @@ func (m *SignalAcceptReq) Reset() { *m = SignalAcceptReq{} } func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReq) ProtoMessage() {} func (*SignalAcceptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{49} + return fileDescriptor_ws_b58b288419ee277e, []int{49} } func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) @@ -3593,7 +3593,7 @@ func (m *SignalAcceptReply) Reset() { *m = SignalAcceptReply{} } func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReply) ProtoMessage() {} func (*SignalAcceptReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{50} + return fileDescriptor_ws_b58b288419ee277e, []int{50} } func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) @@ -3647,7 +3647,7 @@ func (m *SignalHungUpReq) Reset() { *m = SignalHungUpReq{} } func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReq) ProtoMessage() {} func (*SignalHungUpReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{51} + return fileDescriptor_ws_b58b288419ee277e, []int{51} } func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) @@ -3698,7 +3698,7 @@ func (m *SignalHungUpReply) Reset() { *m = SignalHungUpReply{} } func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReply) ProtoMessage() {} func (*SignalHungUpReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{52} + return fileDescriptor_ws_b58b288419ee277e, []int{52} } func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) @@ -3731,7 +3731,7 @@ func (m *SignalRejectReq) Reset() { *m = SignalRejectReq{} } func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) } func (*SignalRejectReq) ProtoMessage() {} func (*SignalRejectReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{53} + return fileDescriptor_ws_b58b288419ee277e, []int{53} } func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) @@ -3782,7 +3782,7 @@ func (m *SignalRejectReply) Reset() { *m = SignalRejectReply{} } func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) } func (*SignalRejectReply) ProtoMessage() {} func (*SignalRejectReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_5a6e79a674462cff, []int{54} + return fileDescriptor_ws_b58b288419ee277e, []int{54} } func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) @@ -3861,10 +3861,10 @@ func init() { proto.RegisterType((*SignalRejectReply)(nil), "server_api_params.SignalRejectReply") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_5a6e79a674462cff) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_b58b288419ee277e) } -var fileDescriptor_ws_5a6e79a674462cff = []byte{ - // 2442 bytes of a gzipped FileDescriptorProto +var fileDescriptor_ws_b58b288419ee277e = []byte{ + // 2441 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0x4b, 0x6f, 0x24, 0x49, 0xf1, 0xff, 0x57, 0xb7, 0xbb, 0xed, 0x8e, 0x76, 0xfb, 0x51, 0xb3, 0x7f, 0xd3, 0x0c, 0xb3, 0x83, 0x29, 0x59, 0xcb, 0xf0, 0xf2, 0xa2, 0x41, 0x48, 0x30, 0x0b, 0x83, 0xfc, 0x98, 0xd7, 0x62, 0xcf, @@ -4006,16 +4006,16 @@ var fileDescriptor_ws_5a6e79a674462cff = []byte{ 0x2f, 0x1a, 0xb2, 0xfd, 0x6b, 0xac, 0x37, 0xef, 0x74, 0xdc, 0xfa, 0x03, 0x39, 0x69, 0xcb, 0x92, 0x94, 0x87, 0xbb, 0x24, 0x25, 0x79, 0xb7, 0x52, 0x72, 0xf4, 0x39, 0xe8, 0x5c, 0xed, 0x0b, 0x77, 0xcc, 0x79, 0x58, 0x0c, 0x38, 0x15, 0x25, 0x24, 0x52, 0x3f, 0xa4, 0x3c, 0x4b, 0x55, 0x99, 0xc8, - 0x49, 0x71, 0xc7, 0x86, 0xd4, 0xf3, 0x89, 0x9c, 0x1e, 0xaa, 0xcf, 0x0a, 0x05, 0x43, 0x58, 0xa2, - 0x4d, 0x43, 0xd5, 0x17, 0x68, 0x6d, 0x0e, 0x7a, 0xe1, 0xe4, 0xd2, 0xf9, 0x93, 0x05, 0xcb, 0x95, - 0xaa, 0x22, 0xba, 0x27, 0xbc, 0x17, 0x0b, 0x77, 0x15, 0xb4, 0xbd, 0x05, 0xe0, 0x17, 0x1e, 0x3e, - 0x67, 0x4c, 0x60, 0xc2, 0xe0, 0x6a, 0x42, 0xd3, 0xa6, 0x85, 0xcd, 0x4b, 0x4f, 0x0b, 0x9d, 0x1f, - 0xc2, 0x6a, 0x2d, 0xe5, 0xe4, 0xc8, 0x8f, 0x1f, 0x53, 0x56, 0x8c, 0xfc, 0x04, 0xa1, 0x79, 0xbf, - 0x51, 0xf5, 0x7e, 0xe0, 0x9f, 0xe8, 0x5f, 0xa9, 0x15, 0xe9, 0xfc, 0xc5, 0x82, 0xb5, 0xe9, 0xe5, - 0xf2, 0x7a, 0x39, 0xe9, 0x10, 0xfa, 0x67, 0x15, 0x94, 0x2b, 0xf3, 0x55, 0x19, 0x49, 0xc5, 0x75, - 0x70, 0xbd, 0x9c, 0x74, 0x23, 0x8f, 0x24, 0xad, 0x4e, 0x6a, 0xa7, 0x2a, 0xae, 0xa9, 0x6b, 0x9a, - 0x1f, 0x5a, 0xf5, 0xfe, 0x2f, 0x60, 0x5e, 0x5c, 0xc3, 0xd7, 0x14, 0x73, 0xed, 0x6e, 0xd2, 0x4e, - 0x55, 0xb4, 0x07, 0xd7, 0xf4, 0x54, 0xda, 0x8d, 0xb9, 0x7d, 0xeb, 0x07, 0x37, 0x37, 0xdf, 0xc5, - 0xff, 0xcb, 0xbd, 0x57, 0xd3, 0x79, 0xd8, 0x96, 0xff, 0x9f, 0xfb, 0xda, 0x7f, 0x02, 0x00, 0x00, - 0xff, 0xff, 0x93, 0xbf, 0x76, 0x68, 0x52, 0x27, 0x00, 0x00, + 0x49, 0x71, 0xc7, 0x86, 0xd4, 0xf3, 0x89, 0x9c, 0x1e, 0xaa, 0xcf, 0x0a, 0x05, 0x43, 0x56, 0xb6, + 0x72, 0x1a, 0xaa, 0xbe, 0x40, 0x97, 0x9c, 0x8b, 0x27, 0x97, 0xce, 0x9f, 0x2c, 0x58, 0xae, 0x54, + 0x15, 0xd1, 0x3d, 0xe1, 0xbd, 0x58, 0xb8, 0xab, 0xa0, 0xed, 0x2d, 0x00, 0xbf, 0xf0, 0xf0, 0x39, + 0x63, 0x02, 0x13, 0x06, 0x57, 0x13, 0x9a, 0x36, 0x2d, 0x6c, 0x5e, 0x7a, 0x5a, 0xe8, 0xfc, 0x10, + 0x56, 0x6b, 0x29, 0x27, 0x47, 0x7e, 0xfc, 0x98, 0xb2, 0x62, 0xe4, 0x27, 0x08, 0xcd, 0xfb, 0x8d, + 0xaa, 0xf7, 0x03, 0xff, 0x44, 0xff, 0x4a, 0xad, 0x48, 0xe7, 0x2f, 0x16, 0xac, 0x4d, 0x2f, 0x97, + 0xd7, 0xcb, 0x49, 0x87, 0xd0, 0x3f, 0xab, 0xa0, 0x5c, 0x99, 0xaf, 0xca, 0x48, 0x2a, 0xae, 0x83, + 0xeb, 0xe5, 0xa4, 0x1b, 0x79, 0x24, 0x69, 0x75, 0x52, 0x3b, 0x55, 0x71, 0x4d, 0x5d, 0xd3, 0xfc, + 0xd0, 0xaa, 0xf7, 0x7f, 0x01, 0xf3, 0xe2, 0x1a, 0xbe, 0xa6, 0x98, 0x6b, 0x77, 0x93, 0x76, 0xaa, + 0xa2, 0x3d, 0xb8, 0xa6, 0xa7, 0xd2, 0x6e, 0xcc, 0xed, 0x5b, 0x3f, 0xb8, 0xb9, 0xf9, 0x2e, 0xfe, + 0x5f, 0xee, 0xbd, 0x9a, 0xce, 0xc3, 0xb6, 0xfc, 0xff, 0xdc, 0xd7, 0xfe, 0x13, 0x00, 0x00, 0xff, + 0xff, 0x09, 0x08, 0xff, 0xc6, 0x52, 0x27, 0x00, 0x00, } From 45777e6047036a97451e57ba0372b72890ed8475 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 15 Mar 2022 10:53:56 +0800 Subject: [PATCH 050/129] pb modify --- internal/msg_gateway/gate/logic.go | 2 +- .../msg_gateway/gate/open_im_media/room.go | 28 +++++++++++++++++-- internal/msg_gateway/gate/validate.go | 27 +++++++++--------- 3 files changed, 41 insertions(+), 16 deletions(-) diff --git a/internal/msg_gateway/gate/logic.go b/internal/msg_gateway/gate/logic.go index a78c075c7..50ac457ad 100644 --- a/internal/msg_gateway/gate/logic.go +++ b/internal/msg_gateway/gate/logic.go @@ -200,7 +200,7 @@ func (ws *WServer) sendSignalMsgReq(conn *UserConn, m *Req) { nReply := new(pbChat.SendMsgResp) isPass, errCode, errMsg, pData := ws.argsValidate(m, constant.WSSendSignalMsg) log.NewInfo(m.OperationID, "args is ", pData.(*sdk_ws.SignalReq)) - isPass2, errCode2, errMsg2, signalResp, msgData := ws.signalMessageAssemble(pData.(*sdk_ws.SignalReq)) + isPass2, errCode2, errMsg2, signalResp, msgData := ws.signalMessageAssemble(pData.(*sdk_ws.SignalReq), m.OperationID) if isPass && isPass2 { pbData := pbChat.SendMsgReq{ Token: m.Token, diff --git a/internal/msg_gateway/gate/open_im_media/room.go b/internal/msg_gateway/gate/open_im_media/room.go index 76356d886..498bc23c0 100644 --- a/internal/msg_gateway/gate/open_im_media/room.go +++ b/internal/msg_gateway/gate/open_im_media/room.go @@ -1,9 +1,18 @@ package open_im_media +import ( + pbRtc "Open_IM/pkg/proto/rtc" + "context" + "errors" + "google.golang.org/grpc" +) + const ( MediaAddress = "ws://43.128.5.63:7880" ApiKey = "APIGPW3gnFTzqHH" ApiSecret = "23ztfSqsfQ8hKkHzHTl3Z4bvaxro0snjk5jwbp5p6Q3" + // Address gRPC服务地址 + Address = "127.0.0.1:11300" ) //var roomClient *lksdk.RoomServiceClient @@ -22,8 +31,23 @@ func NewMedia() *Media { func (m *Media) GetUrl() string { return m.MediaAddress } -func (m *Media) GetJoinToken(room, identity string) (string, error) { - return identity, nil + +func (m *Media) GetJoinToken(room, identity string, operationID string) (string, error) { + conn, err := grpc.Dial(Address, grpc.WithInsecure()) + if err != nil { + return "", err + } + defer conn.Close() + c := pbRtc.NewRtcServiceClient(conn) + req := &pbRtc.GetJoinTokenReq{ApiKey: m.ApiKey, ApiSecret: m.ApiSecret, Room: room, OperationID: operationID, Identity: identity} + resp, err := c.GetJoinToken(context.Background(), req) + if err != nil { + return "", err + } + if resp.CommonResp.ErrCode != 0 { + return "", errors.New(resp.CommonResp.ErrMsg) + } + return resp.Jwt, nil //at := auth.NewAccessToken(m.ApiKey, m.ApiSecret) //grant := &auth.VideoGrant{ // RoomJoin: true, diff --git a/internal/msg_gateway/gate/validate.go b/internal/msg_gateway/gate/validate.go index b5c8dd504..dd8ea022e 100644 --- a/internal/msg_gateway/gate/validate.go +++ b/internal/msg_gateway/gate/validate.go @@ -117,7 +117,7 @@ func (ws *WServer) argsValidate(m *Req, r int32) (isPass bool, errCode int32, er } -func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq) (isPass bool, errCode int32, errMsg string, r *open_im_sdk.SignalResp, msgData *open_im_sdk.MsgData) { +func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq, operationID string) (isPass bool, errCode int32, errMsg string, r *open_im_sdk.SignalResp, msgData *open_im_sdk.MsgData) { var msg open_im_sdk.MsgData var resp open_im_sdk.SignalResp media := open_im_media.NewMedia() @@ -139,12 +139,13 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq) (isPass bool, msg.Options = options switch payload := s.Payload.(type) { case *open_im_sdk.SignalReq_Invite: - _, err := media.CreateRoom(payload.Invite.Invitation.RoomID) - if err != nil { - return false, 201, err.Error(), nil, nil + //_, err := media.CreateRoom(payload.Invite.Invitation.RoomID) + //if err != nil { + // return false, 201, err.Error(), nil, nil + // + //} - } - token, err2 := media.GetJoinToken(payload.Invite.Invitation.RoomID, payload.Invite.Invitation.InviterUserID) + token, err2 := media.GetJoinToken(payload.Invite.Invitation.RoomID, payload.Invite.Invitation.InviterUserID, operationID) if err2 != nil { return false, 201, err2.Error(), nil, nil } @@ -166,12 +167,12 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq) (isPass bool, msg.ClientMsgID = utils.GetMsgID(payload.Invite.Invitation.InviterUserID) return true, 0, "", &resp, &msg case *open_im_sdk.SignalReq_InviteInGroup: - _, err := media.CreateRoom(payload.InviteInGroup.Invitation.RoomID) - if err != nil { - return false, 201, err.Error(), nil, nil - - } - token, err2 := media.GetJoinToken(payload.InviteInGroup.Invitation.RoomID, payload.InviteInGroup.Invitation.InviterUserID) + //_, err := media.CreateRoom(payload.InviteInGroup.Invitation.RoomID) + //if err != nil { + // return false, 201, err.Error(), nil, nil + // + //} + token, err2 := media.GetJoinToken(payload.InviteInGroup.Invitation.RoomID, payload.InviteInGroup.Invitation.InviterUserID, operationID) if err2 != nil { return false, 201, err2.Error(), nil, nil } @@ -213,7 +214,7 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq) (isPass bool, msg.ClientMsgID = utils.GetMsgID(payload.Cancel.OpUserID) return true, 0, "", &resp, &msg case *open_im_sdk.SignalReq_Accept: - token, err2 := media.GetJoinToken(payload.Accept.Invitation.RoomID, payload.Accept.OpUserID) + token, err2 := media.GetJoinToken(payload.Accept.Invitation.RoomID, payload.Accept.OpUserID, operationID) if err2 != nil { return false, 201, err2.Error(), nil, nil } From b782b539a593fdc0cf2838b9d91b1589a9f86914 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 15 Mar 2022 11:15:20 +0800 Subject: [PATCH 051/129] pb modify --- go.mod | 6 +++--- go.sum | 5 +++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 6eb5fc3a4..1061f6143 100644 --- a/go.mod +++ b/go.mod @@ -32,7 +32,7 @@ require ( github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible github.com/lestrrat-go/strftime v1.0.4 // indirect github.com/lib/pq v1.2.0 // indirect - github.com/livekit/protocol v0.11.14-0.20220223195254-d8c251e13231 // indirect + github.com/livekit/protocol v0.11.14-0.20220223195254-d8c251e13231 //github.com/livekit/server-sdk-go v0.9.1 github.com/mattn/go-sqlite3 v1.14.6 // indirect github.com/minio/minio-go/v7 v7.0.22 @@ -48,8 +48,8 @@ require ( github.com/stretchr/testify v1.7.0 github.com/tencentyun/qcloud-cos-sts-sdk v0.0.0-20210325043845-84a0811633ca github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 // indirect - //go.etcd.io/etcd v3.3.27+incompatible - go.etcd.io/etcd v0.0.0-20200402134248-51bdeb39e698 + go.etcd.io/etcd v3.3.27+incompatible + //go.etcd.io/etcd v0.0.0-20200402134248-51bdeb39e698 go.mongodb.org/mongo-driver v1.8.3 golang.org/x/image v0.0.0-20210220032944-ac19c3e999fb golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd diff --git a/go.sum b/go.sum index ebb3d729c..1defffaf3 100644 --- a/go.sum +++ b/go.sum @@ -284,6 +284,7 @@ github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.2.0 h1:qJYtXnJRWmpe7m/3XlyhrsLrEURqHRM2kxzoxXqyUDs= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -390,6 +391,7 @@ github.com/lestrrat-go/strftime v1.0.4/go.mod h1:E1nN3pCbtMSu1yjSVeyuRFVm/U0xoR7 github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.2.0 h1:LXpIM/LZ5xGFhOpXAQUIMM1HdyqzVYM13zNdjCEEcA0= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lithammer/shortuuid/v3 v3.0.6 h1:pr15YQyvhiSX/qPxncFtqk+v4xLEpOZObbsY/mKrcvA= github.com/lithammer/shortuuid/v3 v3.0.6/go.mod h1:vMk8ke37EmiewwolSO1NLW8vP4ZaKlRuDIi8tWWmAts= github.com/lithammer/shortuuid/v3 v3.0.7 h1:trX0KTHy4Pbwo/6ia8fscyHoGA+mf1jWbPJVuvyJQQ8= github.com/lithammer/shortuuid/v3 v3.0.7/go.mod h1:vMk8ke37EmiewwolSO1NLW8vP4ZaKlRuDIi8tWWmAts= @@ -458,12 +460,14 @@ github.com/olivere/elastic/v7 v7.0.23 h1:b7tjMogDMhf2CisGI+L02LXLVa0ZyE82Z15XfW1 github.com/olivere/elastic/v7 v7.0.23/go.mod h1:OuWmD2DiuYhddWegBKPWQuelVKBLrW0fa/VUYgxuGTY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc= +github.com/onsi/gomega v1.15.0 h1:WjP/FQ/sk43MRmnEcT+MlDw2TFvkrXlprrPST/IudjU= github.com/onsi/gomega v1.15.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0= github.com/onsi/gomega v1.17.0 h1:9Luw4uT5HTjHTN8+aNcSThgH1vdXnmdJ8xIfZ4wyTRE= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= @@ -1094,6 +1098,7 @@ gopkg.in/ini.v1 v1.63.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 h1:VpOs+IwYnYBaFnrNAeB8UUWtL3vEUnzSCL1nVjPhqrw= gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/square/go-jose.v2 v2.5.1 h1:7odma5RETjNHWJnR32wx8t+Io4djHE1PqxCFx3iiZ2w= gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI= gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= From d23a3cedefb30da9d028b97c5b9bec4b033a4faa Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 15 Mar 2022 11:16:00 +0800 Subject: [PATCH 052/129] pb modify --- go.mod | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index 1061f6143..02b9d322c 100644 --- a/go.mod +++ b/go.mod @@ -48,8 +48,8 @@ require ( github.com/stretchr/testify v1.7.0 github.com/tencentyun/qcloud-cos-sts-sdk v0.0.0-20210325043845-84a0811633ca github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 // indirect - go.etcd.io/etcd v3.3.27+incompatible - //go.etcd.io/etcd v0.0.0-20200402134248-51bdeb39e698 + //go.etcd.io/etcd v3.3.27+incompatible + go.etcd.io/etcd v0.0.0-20200402134248-51bdeb39e698 go.mongodb.org/mongo-driver v1.8.3 golang.org/x/image v0.0.0-20210220032944-ac19c3e999fb golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd From 011960b15900b8bb4d9ace5676d3acc1fcd6a528 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 15 Mar 2022 14:16:14 +0800 Subject: [PATCH 053/129] send msg add protect --- internal/rpc/msg/send_msg.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index b65c2ea2c..f28241482 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -107,7 +107,7 @@ func (rpc *rpcChat) SendMsg(_ context.Context, pb *pbChat.SendMsgReq) (*pbChat.S // return returnMsg(&replay, pb, http.StatusUnauthorized, "token validate err,not authorized", "", 0) rpc.encapsulateMsgData(pb.MsgData) log.Info("", "this is a test MsgData ", pb.MsgData) - msgToMQ := pbChat.MsgDataToMQ{Token: pb.Token, OperationID: pb.OperationID} + msgToMQ := pbChat.MsgDataToMQ{Token: pb.Token, OperationID: pb.OperationID, MsgData: pb.MsgData} //options := utils.JsonStringToMap(pbData.Options) isHistory := utils.GetSwitchFromOptions(pb.MsgData.Options, constant.IsHistory) mReq := MsgCallBackReq{ From 9e7f3b83c488c5525ef045764db891452abf5f2d Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 15 Mar 2022 17:25:31 +0800 Subject: [PATCH 054/129] config explanation --- config/config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index 2b4e0de18..cce9bcf2b 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -79,7 +79,7 @@ cmsapi: openImCmsApiPort: [ 8000 ] #管理后台api服务端口,默认即可,需要开放此端口或做nginx转发 sdk: openImSdkWsPort: [ 30000 ] #jssdk服务端口,默认即可,项目中使用jssdk才需开放此端口或做nginx转发 - +#对象存储服务,以下配置二选一,目前支持两种,腾讯云和minio,二者配置好其中一种即可(如果使用minio参考https://doc.rentsoft.cn/#/qa/minio搭建minio服务器) credential: #腾讯cos,发送图片、视频、文件时需要,请自行申请后替换,必须修改 tencent: appID: 1302656840 @@ -87,7 +87,7 @@ credential: #腾讯cos,发送图片、视频、文件时需要,请自行申 bucket: echat-1302656840 secretID: AKIDGNYVChzIQinu7QEgtNp0hnNgqcV8vZTC secretKey: kz15vW83qM6dBUWIq681eBZA0c0vlIbe - minio: #MinIO 发送图片、视频、文件时需要,请自行申请后替换,必须修改。 客户端初始化时相应改动 + minio: #MinIO 发送图片、视频、文件时需要,请自行申请后替换,必须修改。 客户端初始化InitSDK,中 object_storage参数为minio bucket: openim location: us-east-1 endpoint: http://127.0.0.1:9000 From e0a86a801644d2031b20cc797cdce0bc1ab39581 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Tue, 15 Mar 2022 18:13:58 +0800 Subject: [PATCH 055/129] delete msg from server --- pkg/proto/chat/chat.pb.go | 118 ++++++--- pkg/proto/chat/chat.proto | 4 + pkg/proto/sdk_ws/ws.pb.go | 534 +++++++++++++++++++++++--------------- pkg/proto/sdk_ws/ws.proto | 12 + 4 files changed, 415 insertions(+), 253 deletions(-) diff --git a/pkg/proto/chat/chat.pb.go b/pkg/proto/chat/chat.pb.go index 834c9b307..07a78b542 100644 --- a/pkg/proto/chat/chat.pb.go +++ b/pkg/proto/chat/chat.pb.go @@ -6,7 +6,7 @@ package pbChat // import "./chat" import proto "github.com/golang/protobuf/proto" import fmt "fmt" import math "math" -import sdk_ws "Open_IM/pkg/proto/sdk_ws" +import sdk_ws "./sdk_ws" import ( context "golang.org/x/net/context" @@ -37,7 +37,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_chat_a5e95d84ecbd21a3, []int{0} + return fileDescriptor_chat_89690664d189a305, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -90,7 +90,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_chat_a5e95d84ecbd21a3, []int{1} + return fileDescriptor_chat_89690664d189a305, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -137,7 +137,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_chat_a5e95d84ecbd21a3, []int{2} + return fileDescriptor_chat_89690664d189a305, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -210,7 +210,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_chat_a5e95d84ecbd21a3, []int{3} + return fileDescriptor_chat_89690664d189a305, []int{3} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -258,7 +258,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_chat_a5e95d84ecbd21a3, []int{4} + return fileDescriptor_chat_89690664d189a305, []int{4} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -319,7 +319,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_chat_a5e95d84ecbd21a3, []int{5} + return fileDescriptor_chat_89690664d189a305, []int{5} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -375,7 +375,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_chat_a5e95d84ecbd21a3, []int{6} + return fileDescriptor_chat_89690664d189a305, []int{6} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -454,6 +454,7 @@ type ChatClient interface { GetMaxAndMinSeq(ctx context.Context, in *GetMaxAndMinSeqReq, opts ...grpc.CallOption) (*GetMaxAndMinSeqResp, error) PullMessageBySeqList(ctx context.Context, in *sdk_ws.PullMessageBySeqListReq, opts ...grpc.CallOption) (*sdk_ws.PullMessageBySeqListResp, error) SendMsg(ctx context.Context, in *SendMsgReq, opts ...grpc.CallOption) (*SendMsgResp, error) + DelMsgList(ctx context.Context, in *sdk_ws.DelMsgListReq, opts ...grpc.CallOption) (*sdk_ws.DelMsgListResp, error) } type chatClient struct { @@ -491,12 +492,22 @@ func (c *chatClient) SendMsg(ctx context.Context, in *SendMsgReq, opts ...grpc.C return out, nil } +func (c *chatClient) DelMsgList(ctx context.Context, in *sdk_ws.DelMsgListReq, opts ...grpc.CallOption) (*sdk_ws.DelMsgListResp, error) { + out := new(sdk_ws.DelMsgListResp) + err := grpc.Invoke(ctx, "/pbChat.Chat/DelMsgList", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // Server API for Chat service type ChatServer interface { GetMaxAndMinSeq(context.Context, *GetMaxAndMinSeqReq) (*GetMaxAndMinSeqResp, error) PullMessageBySeqList(context.Context, *sdk_ws.PullMessageBySeqListReq) (*sdk_ws.PullMessageBySeqListResp, error) SendMsg(context.Context, *SendMsgReq) (*SendMsgResp, error) + DelMsgList(context.Context, *sdk_ws.DelMsgListReq) (*sdk_ws.DelMsgListResp, error) } func RegisterChatServer(s *grpc.Server, srv ChatServer) { @@ -557,6 +568,24 @@ func _Chat_SendMsg_Handler(srv interface{}, ctx context.Context, dec func(interf return interceptor(ctx, in, info, handler) } +func _Chat_DelMsgList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(sdk_ws.DelMsgListReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ChatServer).DelMsgList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pbChat.Chat/DelMsgList", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ChatServer).DelMsgList(ctx, req.(*sdk_ws.DelMsgListReq)) + } + return interceptor(ctx, in, info, handler) +} + var _Chat_serviceDesc = grpc.ServiceDesc{ ServiceName: "pbChat.Chat", HandlerType: (*ChatServer)(nil), @@ -573,44 +602,49 @@ var _Chat_serviceDesc = grpc.ServiceDesc{ MethodName: "SendMsg", Handler: _Chat_SendMsg_Handler, }, + { + MethodName: "DelMsgList", + Handler: _Chat_DelMsgList_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "chat/chat.proto", } -func init() { proto.RegisterFile("chat/chat.proto", fileDescriptor_chat_a5e95d84ecbd21a3) } +func init() { proto.RegisterFile("chat/chat.proto", fileDescriptor_chat_89690664d189a305) } -var fileDescriptor_chat_a5e95d84ecbd21a3 = []byte{ - // 489 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x54, 0x4f, 0x6f, 0xd3, 0x4e, - 0x10, 0x95, 0xd3, 0x26, 0xf9, 0x65, 0xf2, 0xab, 0x22, 0x6d, 0x2b, 0x64, 0x99, 0x8b, 0xf1, 0x29, - 0x02, 0xc9, 0x96, 0x02, 0x37, 0x4e, 0xa4, 0xae, 0x50, 0x10, 0x4b, 0x8b, 0x13, 0x2e, 0x5c, 0xa2, - 0x6d, 0x3d, 0x72, 0xac, 0x24, 0xf6, 0x66, 0xc7, 0x21, 0x05, 0x3e, 0x03, 0x9f, 0x81, 0x8f, 0xc9, - 0x15, 0x79, 0xd7, 0x69, 0x9d, 0xa6, 0x88, 0x9c, 0xb8, 0x58, 0x7a, 0x6f, 0xc6, 0x6f, 0xde, 0xdb, - 0x7f, 0xd0, 0xbb, 0x99, 0x89, 0x22, 0x28, 0x3f, 0xbe, 0x54, 0x79, 0x91, 0xb3, 0x96, 0xbc, 0x3e, - 0x9f, 0x89, 0xc2, 0x79, 0x76, 0x29, 0x31, 0x9b, 0x8e, 0x78, 0x20, 0xe7, 0x49, 0xa0, 0x4b, 0x01, - 0xc5, 0xf3, 0xe9, 0x86, 0x82, 0x0d, 0x99, 0x56, 0xef, 0x3b, 0x74, 0x39, 0x25, 0xa1, 0x28, 0xc4, - 0x24, 0xe7, 0x1f, 0xd9, 0x19, 0x34, 0x8b, 0x7c, 0x8e, 0x99, 0x6d, 0xb9, 0x56, 0xbf, 0x13, 0x19, - 0xc0, 0x5c, 0xe8, 0xe6, 0x12, 0x95, 0x28, 0xd2, 0x3c, 0x1b, 0x85, 0x76, 0x43, 0xd7, 0xea, 0x14, - 0x7b, 0x05, 0xed, 0xa5, 0x91, 0xb1, 0x8f, 0x5c, 0xab, 0xdf, 0x1d, 0x38, 0x3e, 0xa1, 0xfa, 0x82, - 0x6a, 0x2a, 0x64, 0x3a, 0x95, 0x42, 0x89, 0x25, 0xf9, 0xd5, 0xa0, 0x68, 0xdb, 0xea, 0x61, 0x6d, - 0x78, 0x38, 0xac, 0x8b, 0x58, 0x07, 0x8b, 0xfc, 0xdd, 0x9c, 0xf7, 0xc3, 0x82, 0xde, 0xd5, 0x9a, - 0x66, 0xf5, 0xa0, 0x2e, 0x74, 0x2f, 0x6b, 0x7f, 0x99, 0xb8, 0x75, 0xaa, 0xee, 0xa6, 0x71, 0xb8, - 0x1b, 0x0f, 0xfe, 0x97, 0x6b, 0x9a, 0x4d, 0xf2, 0x4f, 0x84, 0x6a, 0x14, 0xea, 0xd5, 0xe8, 0x44, - 0x3b, 0x9c, 0xf7, 0x01, 0xd8, 0x5b, 0x2c, 0xb8, 0xb8, 0x7d, 0x93, 0xc5, 0x3c, 0xcd, 0xc6, 0xb8, - 0x8a, 0x70, 0xc5, 0x9e, 0x40, 0xab, 0xfa, 0xc7, 0x98, 0xa9, 0xd0, 0x43, 0xa7, 0x8d, 0x3d, 0xa7, - 0xde, 0x06, 0x4e, 0xf7, 0xf4, 0x48, 0x32, 0x1b, 0xda, 0x17, 0x4a, 0x9d, 0xe7, 0x31, 0x6a, 0xc5, - 0x66, 0xb4, 0x85, 0xe5, 0xa8, 0x0b, 0xa5, 0x38, 0x25, 0x95, 0x5a, 0x85, 0x4a, 0x9e, 0x8b, 0xdb, - 0x31, 0xae, 0xb4, 0xed, 0x93, 0xa8, 0x42, 0x9a, 0xd7, 0xba, 0xf6, 0x71, 0xc5, 0x6b, 0xe4, 0x7d, - 0x03, 0x18, 0x63, 0x16, 0x73, 0x4a, 0xca, 0x00, 0xff, 0xf6, 0xec, 0xfc, 0xb4, 0xa0, 0x7b, 0x37, - 0xdc, 0xa4, 0xc5, 0xdd, 0xb4, 0x78, 0x9f, 0x16, 0x77, 0xd2, 0x1a, 0x54, 0x3a, 0x33, 0x73, 0x38, - 0x25, 0xa3, 0x50, 0x47, 0xeb, 0x44, 0x75, 0xaa, 0xec, 0xb8, 0x59, 0xa4, 0x98, 0x15, 0xa6, 0xa3, - 0x69, 0x3a, 0x6a, 0x14, 0x73, 0xe0, 0x3f, 0xc2, 0x2c, 0x9e, 0xa4, 0x4b, 0xb4, 0x5b, 0xae, 0xd5, - 0x3f, 0x8a, 0xee, 0xf0, 0xe0, 0x97, 0x05, 0xc7, 0xe5, 0x35, 0x64, 0xef, 0xa0, 0xf7, 0x60, 0x7f, - 0x98, 0xe3, 0x9b, 0x2b, 0xea, 0xef, 0x1f, 0x04, 0xe7, 0xe9, 0x1f, 0x6b, 0x24, 0x59, 0x0e, 0x67, - 0x57, 0xeb, 0xc5, 0x82, 0x23, 0x91, 0x48, 0x70, 0xf8, 0x75, 0x8c, 0xab, 0xf7, 0x29, 0x15, 0xec, - 0xf9, 0x23, 0x6b, 0xf6, 0x58, 0x63, 0x39, 0xe0, 0xc5, 0xc1, 0xbd, 0x24, 0xd9, 0x00, 0xda, 0xd5, - 0x32, 0x33, 0xb6, 0x35, 0x76, 0xbf, 0xe9, 0xce, 0xe9, 0x1e, 0x47, 0x72, 0xd8, 0xfb, 0x7c, 0xe2, - 0xeb, 0xf7, 0xe8, 0xb5, 0x29, 0x5e, 0xb7, 0xf4, 0x63, 0xf3, 0xf2, 0x77, 0x00, 0x00, 0x00, 0xff, - 0xff, 0xe8, 0xa6, 0x3e, 0x67, 0xaa, 0x04, 0x00, 0x00, +var fileDescriptor_chat_89690664d189a305 = []byte{ + // 507 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x54, 0xcd, 0x6e, 0xda, 0x40, + 0x10, 0x96, 0x49, 0x80, 0x32, 0x34, 0x42, 0xda, 0x44, 0x95, 0xe5, 0x5e, 0x1c, 0x9f, 0x50, 0x2b, + 0x19, 0x89, 0xf6, 0xd6, 0x53, 0x89, 0xa3, 0x8a, 0xaa, 0xdb, 0x24, 0x86, 0x5e, 0x7a, 0x41, 0x9b, + 0x30, 0x32, 0x16, 0x60, 0x2f, 0x3b, 0xa6, 0xa4, 0xed, 0x33, 0xf4, 0x19, 0xfa, 0x3e, 0x7d, 0xaa, + 0xca, 0xbb, 0x26, 0x98, 0x40, 0x15, 0x4e, 0xbd, 0x58, 0x9a, 0x6f, 0x3e, 0x7f, 0x3f, 0xeb, 0x1f, + 0x68, 0xdd, 0x4d, 0x44, 0xd6, 0xc9, 0x2f, 0xbe, 0x54, 0x69, 0x96, 0xb2, 0x9a, 0xbc, 0xbd, 0x98, + 0x88, 0xcc, 0x39, 0xbf, 0x92, 0x98, 0x8c, 0xfa, 0xbc, 0x23, 0xa7, 0x51, 0x47, 0xaf, 0x3a, 0x34, + 0x9e, 0x8e, 0x56, 0xd4, 0x59, 0x91, 0xa1, 0x7a, 0x3f, 0xa1, 0xc9, 0x29, 0x0a, 0x44, 0x26, 0x86, + 0x29, 0xbf, 0x61, 0x67, 0x50, 0xcd, 0xd2, 0x29, 0x26, 0xb6, 0xe5, 0x5a, 0xed, 0x46, 0x68, 0x06, + 0xe6, 0x42, 0x33, 0x95, 0xa8, 0x44, 0x16, 0xa7, 0x49, 0x3f, 0xb0, 0x2b, 0x7a, 0x57, 0x86, 0xd8, + 0x5b, 0xa8, 0xcf, 0x8d, 0x8c, 0x7d, 0xe4, 0x5a, 0xed, 0x66, 0xd7, 0xf1, 0x09, 0xd5, 0x37, 0x54, + 0x23, 0x21, 0xe3, 0x91, 0x14, 0x4a, 0xcc, 0xc9, 0x2f, 0x8c, 0xc2, 0x35, 0xd5, 0xc3, 0x92, 0x79, + 0xd0, 0x2b, 0x8b, 0x58, 0x07, 0x8b, 0x3c, 0x1d, 0xce, 0xfb, 0x65, 0x41, 0xeb, 0x7a, 0x49, 0x93, + 0x72, 0x51, 0x17, 0x9a, 0x57, 0xa5, 0xbb, 0x4c, 0xdd, 0x32, 0x54, 0x4e, 0x53, 0x39, 0x3c, 0x8d, + 0x07, 0xcf, 0xe5, 0x92, 0x26, 0xc3, 0xf4, 0x0b, 0xa1, 0xea, 0x07, 0xfa, 0x34, 0x1a, 0xe1, 0x16, + 0xe6, 0x7d, 0x06, 0xf6, 0x01, 0x33, 0x2e, 0xee, 0xdf, 0x27, 0x63, 0x1e, 0x27, 0x03, 0x5c, 0x84, + 0xb8, 0x60, 0x2f, 0xa0, 0x56, 0xdc, 0x63, 0xc2, 0x14, 0xd3, 0xe3, 0xa4, 0x95, 0x9d, 0xa4, 0xde, + 0x0a, 0x4e, 0x77, 0xf4, 0x48, 0x32, 0x1b, 0xea, 0x97, 0x4a, 0x5d, 0xa4, 0x63, 0xd4, 0x8a, 0xd5, + 0x70, 0x3d, 0xe6, 0x56, 0x97, 0x4a, 0x71, 0x8a, 0x0a, 0xb5, 0x62, 0xca, 0x71, 0x2e, 0xee, 0x07, + 0xb8, 0xd0, 0xb1, 0x4f, 0xc2, 0x62, 0xd2, 0xb8, 0xd6, 0xb5, 0x8f, 0x0b, 0x5c, 0x4f, 0xde, 0x0f, + 0x80, 0x01, 0x26, 0x63, 0x4e, 0x51, 0x5e, 0xe0, 0xff, 0xbe, 0x3b, 0xbf, 0x2d, 0x68, 0x3e, 0x98, + 0x9b, 0xb6, 0xb8, 0xdd, 0x16, 0x37, 0x6d, 0x71, 0xab, 0xad, 0x99, 0xf2, 0x64, 0xc6, 0x87, 0x53, + 0xd4, 0x0f, 0x74, 0xb5, 0x46, 0x58, 0x86, 0x72, 0xc6, 0xdd, 0x2c, 0xc6, 0x24, 0x33, 0x8c, 0xaa, + 0x61, 0x94, 0x20, 0xe6, 0xc0, 0x33, 0xc2, 0x64, 0x3c, 0x8c, 0xe7, 0x68, 0xd7, 0x5c, 0xab, 0x7d, + 0x14, 0x3e, 0xcc, 0xdd, 0x3f, 0x15, 0x38, 0xce, 0x3f, 0x43, 0xf6, 0x11, 0x5a, 0x8f, 0x9e, 0x0f, + 0x73, 0x7c, 0xf3, 0x89, 0xfa, 0xbb, 0x2f, 0x82, 0xf3, 0xf2, 0x9f, 0x3b, 0x92, 0x2c, 0x85, 0xb3, + 0xeb, 0xe5, 0x6c, 0xc6, 0x91, 0x48, 0x44, 0xd8, 0xfb, 0x3e, 0xc0, 0xc5, 0xa7, 0x98, 0x32, 0xf6, + 0x6a, 0xcf, 0x99, 0xed, 0x23, 0xe6, 0x06, 0xaf, 0x0f, 0xe6, 0x92, 0x64, 0x5d, 0xa8, 0x17, 0xc7, + 0xcc, 0xd8, 0x3a, 0xd8, 0xe6, 0xa1, 0x3b, 0xa7, 0x3b, 0x18, 0x49, 0x76, 0x03, 0x10, 0xe0, 0x8c, + 0x53, 0xa4, 0xa3, 0xb9, 0x7b, 0xec, 0x36, 0xeb, 0x5c, 0xe4, 0xfc, 0x09, 0x06, 0xc9, 0x5e, 0xeb, + 0xeb, 0x89, 0xaf, 0x7f, 0x71, 0xef, 0x8c, 0xdf, 0x6d, 0x4d, 0xff, 0xbf, 0xde, 0xfc, 0x0d, 0x00, + 0x00, 0xff, 0xff, 0x6f, 0x9d, 0x6f, 0xa0, 0xfd, 0x04, 0x00, 0x00, } diff --git a/pkg/proto/chat/chat.proto b/pkg/proto/chat/chat.proto index 4625d8174..cd67ed069 100644 --- a/pkg/proto/chat/chat.proto +++ b/pkg/proto/chat/chat.proto @@ -69,8 +69,12 @@ message SendMsgResp { int64 sendTime = 6; } + + + service Chat { rpc GetMaxAndMinSeq(GetMaxAndMinSeqReq) returns(GetMaxAndMinSeqResp); rpc PullMessageBySeqList(server_api_params.PullMessageBySeqListReq) returns(server_api_params.PullMessageBySeqListResp); rpc SendMsg(SendMsgReq) returns(SendMsgResp); + rpc DelMsgList(server_api_params.DelMsgListReq) returns(server_api_params.DelMsgListResp); } diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index 5aa517b8c..96cd97cec 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_b58b288419ee277e, []int{0} + return fileDescriptor_ws_b3df638d3f68a57a, []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_b58b288419ee277e, []int{1} + return fileDescriptor_ws_b3df638d3f68a57a, []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_b58b288419ee277e, []int{2} + return fileDescriptor_ws_b3df638d3f68a57a, []int{2} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -344,7 +344,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} } func (m *UserInfo) String() string { return proto.CompactTextString(m) } func (*UserInfo) ProtoMessage() {} func (*UserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{3} + return fileDescriptor_ws_b3df638d3f68a57a, []int{3} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -451,7 +451,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} } func (m *FriendInfo) String() string { return proto.CompactTextString(m) } func (*FriendInfo) ProtoMessage() {} func (*FriendInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{4} + return fileDescriptor_ws_b3df638d3f68a57a, []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_b58b288419ee277e, []int{5} + return fileDescriptor_ws_b3df638d3f68a57a, []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_b58b288419ee277e, []int{6} + return fileDescriptor_ws_b3df638d3f68a57a, []int{6} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -725,7 +725,7 @@ func (m *FriendRequest) Reset() { *m = FriendRequest{} } func (m *FriendRequest) String() string { return proto.CompactTextString(m) } func (*FriendRequest) ProtoMessage() {} func (*FriendRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{7} + return fileDescriptor_ws_b3df638d3f68a57a, []int{7} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -863,7 +863,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{8} + return fileDescriptor_ws_b3df638d3f68a57a, []int{8} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -917,7 +917,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{9} + return fileDescriptor_ws_b3df638d3f68a57a, []int{9} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -968,7 +968,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{10} + return fileDescriptor_ws_b3df638d3f68a57a, []int{10} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1000,7 +1000,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{11} + return fileDescriptor_ws_b3df638d3f68a57a, []int{11} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1047,7 +1047,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{12} + return fileDescriptor_ws_b3df638d3f68a57a, []int{12} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1116,7 +1116,7 @@ func (m *MsgData) Reset() { *m = MsgData{} } func (m *MsgData) String() string { return proto.CompactTextString(m) } func (*MsgData) ProtoMessage() {} func (*MsgData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{13} + return fileDescriptor_ws_b3df638d3f68a57a, []int{13} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -1277,7 +1277,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{14} + return fileDescriptor_ws_b3df638d3f68a57a, []int{14} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -1345,7 +1345,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} } func (m *TipsComm) String() string { return proto.CompactTextString(m) } func (*TipsComm) ProtoMessage() {} func (*TipsComm) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{15} + return fileDescriptor_ws_b3df638d3f68a57a, []int{15} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -1402,7 +1402,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} } func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } func (*GroupCreatedTips) ProtoMessage() {} func (*GroupCreatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{16} + return fileDescriptor_ws_b3df638d3f68a57a, []int{16} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -1471,7 +1471,7 @@ func (m *GroupInfoSetTips) Reset() { *m = GroupInfoSetTips{} } func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupInfoSetTips) ProtoMessage() {} func (*GroupInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{17} + return fileDescriptor_ws_b3df638d3f68a57a, []int{17} } func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) @@ -1526,7 +1526,7 @@ func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTi func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } func (*JoinGroupApplicationTips) ProtoMessage() {} func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{18} + return fileDescriptor_ws_b3df638d3f68a57a, []int{18} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -1582,7 +1582,7 @@ func (m *MemberQuitTips) Reset() { *m = MemberQuitTips{} } func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) } func (*MemberQuitTips) ProtoMessage() {} func (*MemberQuitTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{19} + return fileDescriptor_ws_b3df638d3f68a57a, []int{19} } func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) @@ -1637,7 +1637,7 @@ func (m *GroupApplicationAcceptedTips) Reset() { *m = GroupApplicationAc func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationAcceptedTips) ProtoMessage() {} func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{20} + return fileDescriptor_ws_b3df638d3f68a57a, []int{20} } func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) @@ -1692,7 +1692,7 @@ func (m *GroupApplicationRejectedTips) Reset() { *m = GroupApplicationRe func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationRejectedTips) ProtoMessage() {} func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{21} + return fileDescriptor_ws_b3df638d3f68a57a, []int{21} } func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) @@ -1748,7 +1748,7 @@ func (m *GroupOwnerTransferredTips) Reset() { *m = GroupOwnerTransferred func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) } func (*GroupOwnerTransferredTips) ProtoMessage() {} func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{22} + return fileDescriptor_ws_b3df638d3f68a57a, []int{22} } func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) @@ -1811,7 +1811,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} } func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } func (*MemberKickedTips) ProtoMessage() {} func (*MemberKickedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{23} + return fileDescriptor_ws_b3df638d3f68a57a, []int{23} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -1874,7 +1874,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} } func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } func (*MemberInvitedTips) ProtoMessage() {} func (*MemberInvitedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{24} + return fileDescriptor_ws_b3df638d3f68a57a, []int{24} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -1936,7 +1936,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} } func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } func (*MemberEnterTips) ProtoMessage() {} func (*MemberEnterTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{25} + return fileDescriptor_ws_b3df638d3f68a57a, []int{25} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -1990,7 +1990,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_b58b288419ee277e, []int{26} + return fileDescriptor_ws_b3df638d3f68a57a, []int{26} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -2043,7 +2043,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_b58b288419ee277e, []int{27} + return fileDescriptor_ws_b3df638d3f68a57a, []int{27} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -2089,7 +2089,7 @@ func (m *FriendApplicationTips) Reset() { *m = FriendApplicationTips{} } func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationTips) ProtoMessage() {} func (*FriendApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{28} + return fileDescriptor_ws_b3df638d3f68a57a, []int{28} } func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) @@ -2129,7 +2129,7 @@ func (m *FriendApplicationApprovedTips) Reset() { *m = FriendApplication func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationApprovedTips) ProtoMessage() {} func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{29} + return fileDescriptor_ws_b3df638d3f68a57a, []int{29} } func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) @@ -2176,7 +2176,7 @@ func (m *FriendApplicationRejectedTips) Reset() { *m = FriendApplication func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationRejectedTips) ProtoMessage() {} func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{30} + return fileDescriptor_ws_b3df638d3f68a57a, []int{30} } func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) @@ -2224,7 +2224,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_b58b288419ee277e, []int{31} + return fileDescriptor_ws_b3df638d3f68a57a, []int{31} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -2277,7 +2277,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_b58b288419ee277e, []int{32} + return fileDescriptor_ws_b3df638d3f68a57a, []int{32} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -2315,7 +2315,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_b58b288419ee277e, []int{33} + return fileDescriptor_ws_b3df638d3f68a57a, []int{33} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -2353,7 +2353,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_b58b288419ee277e, []int{34} + return fileDescriptor_ws_b3df638d3f68a57a, []int{34} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -2391,7 +2391,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_b58b288419ee277e, []int{35} + return fileDescriptor_ws_b3df638d3f68a57a, []int{35} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -2430,7 +2430,7 @@ func (m *UserInfoUpdatedTips) Reset() { *m = UserInfoUpdatedTips{} } func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (*UserInfoUpdatedTips) ProtoMessage() {} func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{36} + return fileDescriptor_ws_b3df638d3f68a57a, []int{36} } func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) @@ -2469,7 +2469,7 @@ func (m *ConversationUpdateTips) Reset() { *m = ConversationUpdateTips{} func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) } func (*ConversationUpdateTips) ProtoMessage() {} func (*ConversationUpdateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{37} + return fileDescriptor_ws_b3df638d3f68a57a, []int{37} } func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) @@ -2509,7 +2509,7 @@ func (m *RequestPagination) Reset() { *m = RequestPagination{} } func (m *RequestPagination) String() string { return proto.CompactTextString(m) } func (*RequestPagination) ProtoMessage() {} func (*RequestPagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{38} + return fileDescriptor_ws_b3df638d3f68a57a, []int{38} } func (m *RequestPagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RequestPagination.Unmarshal(m, b) @@ -2555,7 +2555,7 @@ func (m *ResponsePagination) Reset() { *m = ResponsePagination{} } func (m *ResponsePagination) String() string { return proto.CompactTextString(m) } func (*ResponsePagination) ProtoMessage() {} func (*ResponsePagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{39} + return fileDescriptor_ws_b3df638d3f68a57a, []int{39} } func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) @@ -2608,7 +2608,7 @@ func (m *SignalReq) Reset() { *m = SignalReq{} } func (m *SignalReq) String() string { return proto.CompactTextString(m) } func (*SignalReq) ProtoMessage() {} func (*SignalReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{40} + return fileDescriptor_ws_b3df638d3f68a57a, []int{40} } func (m *SignalReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalReq.Unmarshal(m, b) @@ -2875,7 +2875,7 @@ func (m *SignalResp) Reset() { *m = SignalResp{} } func (m *SignalResp) String() string { return proto.CompactTextString(m) } func (*SignalResp) ProtoMessage() {} func (*SignalResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{41} + return fileDescriptor_ws_b3df638d3f68a57a, []int{41} } func (m *SignalResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalResp.Unmarshal(m, b) @@ -3143,7 +3143,7 @@ func (m *InvitationInfo) Reset() { *m = InvitationInfo{} } func (m *InvitationInfo) String() string { return proto.CompactTextString(m) } func (*InvitationInfo) ProtoMessage() {} func (*InvitationInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{42} + return fileDescriptor_ws_b3df638d3f68a57a, []int{42} } func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) @@ -3239,7 +3239,7 @@ func (m *SignalInviteReq) Reset() { *m = SignalInviteReq{} } func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteReq) ProtoMessage() {} func (*SignalInviteReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{43} + return fileDescriptor_ws_b3df638d3f68a57a, []int{43} } func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) @@ -3293,7 +3293,7 @@ func (m *SignalInviteReply) Reset() { *m = SignalInviteReply{} } func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteReply) ProtoMessage() {} func (*SignalInviteReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{44} + return fileDescriptor_ws_b3df638d3f68a57a, []int{44} } func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) @@ -3347,7 +3347,7 @@ func (m *SignalInviteInGroupReq) Reset() { *m = SignalInviteInGroupReq{} func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReq) ProtoMessage() {} func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{45} + return fileDescriptor_ws_b3df638d3f68a57a, []int{45} } func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) @@ -3401,7 +3401,7 @@ func (m *SignalInviteInGroupReply) Reset() { *m = SignalInviteInGroupRep func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReply) ProtoMessage() {} func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{46} + return fileDescriptor_ws_b3df638d3f68a57a, []int{46} } func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) @@ -3455,7 +3455,7 @@ func (m *SignalCancelReq) Reset() { *m = SignalCancelReq{} } func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) } func (*SignalCancelReq) ProtoMessage() {} func (*SignalCancelReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{47} + return fileDescriptor_ws_b3df638d3f68a57a, []int{47} } func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) @@ -3506,7 +3506,7 @@ func (m *SignalCancelReply) Reset() { *m = SignalCancelReply{} } func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) } func (*SignalCancelReply) ProtoMessage() {} func (*SignalCancelReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{48} + return fileDescriptor_ws_b3df638d3f68a57a, []int{48} } func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) @@ -3539,7 +3539,7 @@ func (m *SignalAcceptReq) Reset() { *m = SignalAcceptReq{} } func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReq) ProtoMessage() {} func (*SignalAcceptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{49} + return fileDescriptor_ws_b3df638d3f68a57a, []int{49} } func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) @@ -3593,7 +3593,7 @@ func (m *SignalAcceptReply) Reset() { *m = SignalAcceptReply{} } func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReply) ProtoMessage() {} func (*SignalAcceptReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{50} + return fileDescriptor_ws_b3df638d3f68a57a, []int{50} } func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) @@ -3647,7 +3647,7 @@ func (m *SignalHungUpReq) Reset() { *m = SignalHungUpReq{} } func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReq) ProtoMessage() {} func (*SignalHungUpReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{51} + return fileDescriptor_ws_b3df638d3f68a57a, []int{51} } func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) @@ -3698,7 +3698,7 @@ func (m *SignalHungUpReply) Reset() { *m = SignalHungUpReply{} } func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReply) ProtoMessage() {} func (*SignalHungUpReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{52} + return fileDescriptor_ws_b3df638d3f68a57a, []int{52} } func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) @@ -3731,7 +3731,7 @@ func (m *SignalRejectReq) Reset() { *m = SignalRejectReq{} } func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) } func (*SignalRejectReq) ProtoMessage() {} func (*SignalRejectReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{53} + return fileDescriptor_ws_b3df638d3f68a57a, []int{53} } func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) @@ -3782,7 +3782,7 @@ func (m *SignalRejectReply) Reset() { *m = SignalRejectReply{} } func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) } func (*SignalRejectReply) ProtoMessage() {} func (*SignalRejectReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b58b288419ee277e, []int{54} + return fileDescriptor_ws_b3df638d3f68a57a, []int{54} } func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) @@ -3802,6 +3802,114 @@ func (m *SignalRejectReply) XXX_DiscardUnknown() { var xxx_messageInfo_SignalRejectReply proto.InternalMessageInfo +type DelMsgListReq struct { + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"` + SeqList []uint32 `protobuf:"varint,3,rep,packed,name=seqList" json:"seqList,omitempty"` + OperationID string `protobuf:"bytes,4,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DelMsgListReq) Reset() { *m = DelMsgListReq{} } +func (m *DelMsgListReq) String() string { return proto.CompactTextString(m) } +func (*DelMsgListReq) ProtoMessage() {} +func (*DelMsgListReq) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_b3df638d3f68a57a, []int{55} +} +func (m *DelMsgListReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DelMsgListReq.Unmarshal(m, b) +} +func (m *DelMsgListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DelMsgListReq.Marshal(b, m, deterministic) +} +func (dst *DelMsgListReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_DelMsgListReq.Merge(dst, src) +} +func (m *DelMsgListReq) XXX_Size() int { + return xxx_messageInfo_DelMsgListReq.Size(m) +} +func (m *DelMsgListReq) XXX_DiscardUnknown() { + xxx_messageInfo_DelMsgListReq.DiscardUnknown(m) +} + +var xxx_messageInfo_DelMsgListReq proto.InternalMessageInfo + +func (m *DelMsgListReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +func (m *DelMsgListReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *DelMsgListReq) GetSeqList() []uint32 { + if m != nil { + return m.SeqList + } + return nil +} + +func (m *DelMsgListReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type DelMsgListResp struct { + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DelMsgListResp) Reset() { *m = DelMsgListResp{} } +func (m *DelMsgListResp) String() string { return proto.CompactTextString(m) } +func (*DelMsgListResp) ProtoMessage() {} +func (*DelMsgListResp) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_b3df638d3f68a57a, []int{56} +} +func (m *DelMsgListResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DelMsgListResp.Unmarshal(m, b) +} +func (m *DelMsgListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DelMsgListResp.Marshal(b, m, deterministic) +} +func (dst *DelMsgListResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_DelMsgListResp.Merge(dst, src) +} +func (m *DelMsgListResp) XXX_Size() int { + return xxx_messageInfo_DelMsgListResp.Size(m) +} +func (m *DelMsgListResp) XXX_DiscardUnknown() { + xxx_messageInfo_DelMsgListResp.DiscardUnknown(m) +} + +var xxx_messageInfo_DelMsgListResp proto.InternalMessageInfo + +func (m *DelMsgListResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *DelMsgListResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + func init() { proto.RegisterType((*GroupInfo)(nil), "server_api_params.GroupInfo") proto.RegisterType((*GroupMemberFullInfo)(nil), "server_api_params.GroupMemberFullInfo") @@ -3859,163 +3967,167 @@ func init() { proto.RegisterType((*SignalHungUpReply)(nil), "server_api_params.SignalHungUpReply") proto.RegisterType((*SignalRejectReq)(nil), "server_api_params.SignalRejectReq") proto.RegisterType((*SignalRejectReply)(nil), "server_api_params.SignalRejectReply") + proto.RegisterType((*DelMsgListReq)(nil), "server_api_params.DelMsgListReq") + proto.RegisterType((*DelMsgListResp)(nil), "server_api_params.DelMsgListResp") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_b58b288419ee277e) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_b3df638d3f68a57a) } -var fileDescriptor_ws_b58b288419ee277e = []byte{ - // 2441 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0x4b, 0x6f, 0x24, 0x49, - 0xf1, 0xff, 0x57, 0xb7, 0xbb, 0xed, 0x8e, 0x76, 0xfb, 0x51, 0xb3, 0x7f, 0xd3, 0x0c, 0xb3, 0x83, - 0x29, 0x59, 0xcb, 0xf0, 0xf2, 0xa2, 0x41, 0x48, 0x30, 0x0b, 0x83, 0xfc, 0x98, 0xd7, 0x62, 0xcf, - 0x78, 0xab, 0x67, 0x58, 0x04, 0x48, 0xa3, 0x74, 0x57, 0x76, 0xbb, 0xd6, 0x55, 0x99, 0xd5, 0xf5, - 0xf0, 0x8c, 0x25, 0x4e, 0x20, 0xf1, 0x0d, 0xe0, 0x8a, 0xc4, 0x05, 0x21, 0x21, 0xb4, 0x17, 0xc4, - 0x05, 0x71, 0x82, 0x0f, 0xc0, 0x99, 0xaf, 0xc0, 0x95, 0x03, 0x12, 0x12, 0x28, 0x33, 0xb2, 0xaa, - 0x32, 0xab, 0xda, 0x76, 0xcb, 0x32, 0x3b, 0xf8, 0xd6, 0x11, 0x95, 0x11, 0x19, 0x19, 0xbf, 0x88, - 0xc8, 0xa8, 0xa8, 0x86, 0xe5, 0xc4, 0x3b, 0x7e, 0xf9, 0x2a, 0x79, 0xf7, 0x55, 0xb2, 0x19, 0xc5, - 0x3c, 0xe5, 0xf6, 0x6a, 0x42, 0xe3, 0x13, 0x1a, 0xbf, 0x24, 0x91, 0xff, 0x32, 0x22, 0x31, 0x09, - 0x13, 0xe7, 0x1f, 0x0d, 0xe8, 0x3c, 0x8a, 0x79, 0x16, 0x3d, 0x61, 0x23, 0x6e, 0xf7, 0x61, 0x7e, - 0x2c, 0x89, 0xdd, 0xbe, 0xb5, 0x6e, 0xdd, 0xe9, 0xb8, 0x39, 0x69, 0xdf, 0x82, 0x8e, 0xfc, 0xf9, - 0x94, 0x84, 0xb4, 0xdf, 0x90, 0xcf, 0x4a, 0x86, 0xed, 0xc0, 0x22, 0xe3, 0xa9, 0x3f, 0xf2, 0x87, - 0x24, 0xf5, 0x39, 0xeb, 0x37, 0xe5, 0x02, 0x83, 0x27, 0xd6, 0xf8, 0x2c, 0x8d, 0xb9, 0x97, 0x0d, - 0xe5, 0x9a, 0x39, 0x5c, 0xa3, 0xf3, 0xc4, 0xfe, 0x23, 0x32, 0xa4, 0x2f, 0xdc, 0xbd, 0x7e, 0x0b, - 0xf7, 0x57, 0xa4, 0xbd, 0x0e, 0x5d, 0xfe, 0x8a, 0xd1, 0xf8, 0x45, 0x42, 0xe3, 0x27, 0xbb, 0xfd, - 0xb6, 0x7c, 0xaa, 0xb3, 0xec, 0xdb, 0x00, 0xc3, 0x98, 0x92, 0x94, 0x3e, 0xf7, 0x43, 0xda, 0x9f, - 0x5f, 0xb7, 0xee, 0xf4, 0x5c, 0x8d, 0x23, 0x34, 0x84, 0x34, 0x3c, 0xa4, 0xf1, 0x0e, 0xcf, 0x58, - 0xda, 0x5f, 0x90, 0x0b, 0x74, 0x96, 0xbd, 0x04, 0x0d, 0xfa, 0xba, 0xdf, 0x91, 0xaa, 0x1b, 0xf4, - 0xb5, 0xbd, 0x06, 0xed, 0x24, 0x25, 0x69, 0x96, 0xf4, 0x61, 0xdd, 0xba, 0xd3, 0x72, 0x15, 0x65, - 0x6f, 0x40, 0x4f, 0xea, 0xe5, 0xb9, 0x35, 0x5d, 0x29, 0x62, 0x32, 0x0b, 0x8f, 0x3d, 0x3f, 0x8d, - 0x68, 0x7f, 0x51, 0x2a, 0x28, 0x19, 0xce, 0x1f, 0x1a, 0x70, 0x43, 0xfa, 0x7d, 0x5f, 0x1a, 0xf0, - 0x30, 0x0b, 0x82, 0x0b, 0x10, 0x58, 0x83, 0x76, 0x86, 0xdb, 0xa1, 0xfb, 0x15, 0x25, 0xf6, 0x89, - 0x79, 0x40, 0xf7, 0xe8, 0x09, 0x0d, 0xa4, 0xe3, 0x5b, 0x6e, 0xc9, 0xb0, 0x6f, 0xc2, 0xc2, 0x47, - 0xdc, 0x67, 0xd2, 0x27, 0x73, 0xf2, 0x61, 0x41, 0x8b, 0x67, 0xcc, 0x1f, 0x1e, 0x33, 0x01, 0x29, - 0xba, 0xbb, 0xa0, 0x75, 0x24, 0xda, 0x26, 0x12, 0xef, 0xc0, 0x12, 0x89, 0xa2, 0x7d, 0xc2, 0xc6, - 0x34, 0xc6, 0x4d, 0xe7, 0xa5, 0xde, 0x0a, 0x57, 0xe0, 0x21, 0x76, 0x1a, 0xf0, 0x2c, 0x1e, 0x52, - 0xe9, 0xee, 0x96, 0xab, 0x71, 0x84, 0x1e, 0x1e, 0xd1, 0x58, 0x73, 0x23, 0x7a, 0xbe, 0xc2, 0x55, - 0xa8, 0x40, 0x8e, 0x8a, 0xf3, 0x33, 0x0b, 0x96, 0x0e, 0xb2, 0xc3, 0xc0, 0x1f, 0xca, 0x05, 0xc2, - 0x69, 0xa5, 0x6b, 0x2c, 0xc3, 0x35, 0xfa, 0x01, 0x1b, 0x67, 0x1f, 0xb0, 0x69, 0x1e, 0x70, 0x0d, - 0xda, 0x63, 0xca, 0x3c, 0x1a, 0x2b, 0x87, 0x29, 0x4a, 0x19, 0xd2, 0x2a, 0x0c, 0xf9, 0x45, 0x03, - 0x16, 0x3e, 0x61, 0x13, 0xd6, 0xa1, 0x1b, 0x1d, 0x71, 0x46, 0x9f, 0x66, 0x22, 0x68, 0x94, 0x2d, - 0x3a, 0xcb, 0x7e, 0x0b, 0x5a, 0x87, 0x7e, 0x9c, 0x1e, 0x49, 0xd4, 0x7a, 0x2e, 0x12, 0x82, 0x4b, - 0x43, 0xe2, 0x23, 0x54, 0x1d, 0x17, 0x09, 0x75, 0xa0, 0x85, 0x22, 0xde, 0xcd, 0x0c, 0xea, 0xd4, - 0x32, 0xa8, 0x8e, 0x3c, 0x4c, 0x43, 0xde, 0xf9, 0xa7, 0x05, 0xf0, 0x30, 0xf6, 0x29, 0xf3, 0xa4, - 0x6b, 0x2a, 0xa9, 0x6b, 0xd5, 0x53, 0x77, 0x0d, 0xda, 0x31, 0x0d, 0x49, 0x7c, 0x9c, 0x87, 0x36, - 0x52, 0x15, 0x83, 0x9a, 0x35, 0x83, 0xde, 0x03, 0x18, 0xc9, 0x7d, 0x84, 0x1e, 0xe9, 0xaa, 0xee, - 0xdd, 0xcf, 0x6c, 0xd6, 0x8a, 0xdc, 0x66, 0x8e, 0x92, 0xab, 0x2d, 0x17, 0x79, 0x43, 0x3c, 0x4f, - 0x85, 0x67, 0x0b, 0xf3, 0xa6, 0x60, 0x4c, 0x89, 0xce, 0xf6, 0x39, 0xd1, 0x39, 0x5f, 0x04, 0xc5, - 0xdf, 0x2d, 0xe8, 0x6c, 0x07, 0x64, 0x78, 0x3c, 0xe3, 0xd1, 0xcd, 0x23, 0x36, 0x6a, 0x47, 0x7c, - 0x04, 0xbd, 0x43, 0xa1, 0x2e, 0x3f, 0x82, 0xf4, 0x42, 0xf7, 0xee, 0xe7, 0xa6, 0x9c, 0xd2, 0x4c, - 0x0a, 0xd7, 0x94, 0x33, 0x8f, 0x3b, 0x77, 0xf1, 0x71, 0x5b, 0xe7, 0x1c, 0xb7, 0x5d, 0x1c, 0xf7, - 0xaf, 0x0d, 0x58, 0x94, 0x65, 0xcc, 0xa5, 0x93, 0x8c, 0x26, 0xa9, 0xfd, 0x6d, 0x58, 0xc8, 0x72, - 0x53, 0xad, 0x59, 0x4d, 0x2d, 0x44, 0xec, 0x7b, 0xaa, 0x68, 0x4a, 0xf9, 0x86, 0x94, 0xbf, 0x35, - 0x45, 0xbe, 0xb8, 0xb1, 0xdc, 0x72, 0xb9, 0xb8, 0x60, 0x8e, 0x08, 0xf3, 0x02, 0xea, 0xd2, 0x24, - 0x0b, 0x52, 0x55, 0x0b, 0x0d, 0x1e, 0x46, 0xda, 0x64, 0x3f, 0x19, 0xab, 0xeb, 0x47, 0x51, 0xc2, - 0x3b, 0xb8, 0x4e, 0x3c, 0xc2, 0xa3, 0x97, 0x0c, 0x91, 0xa8, 0x31, 0x9d, 0x48, 0x84, 0x30, 0xad, - 0x72, 0xb2, 0xdc, 0x53, 0x79, 0x0d, 0x03, 0xc1, 0xe0, 0x09, 0x88, 0x91, 0x96, 0x0a, 0xf0, 0xde, - 0xd1, 0x38, 0xd5, 0x6b, 0xc7, 0xf9, 0x5b, 0x13, 0x7a, 0x98, 0x3e, 0xb9, 0x53, 0x6f, 0x8b, 0x38, - 0xe7, 0xa1, 0x11, 0x45, 0x1a, 0x47, 0x58, 0x21, 0xa8, 0xa7, 0x66, 0xa1, 0x31, 0x78, 0x22, 0x14, - 0x05, 0xfd, 0xd0, 0x28, 0x38, 0x3a, 0x2b, 0xdf, 0xe5, 0x91, 0x5e, 0x78, 0x34, 0x8e, 0x28, 0x65, - 0x29, 0x37, 0xa2, 0xa3, 0xa0, 0x85, 0x6c, 0xca, 0x8b, 0xfd, 0x31, 0x3e, 0x34, 0x8e, 0xf0, 0x6f, - 0xca, 0xf3, 0xbd, 0xd1, 0x49, 0x25, 0x03, 0x35, 0xab, 0x7d, 0xf1, 0xa2, 0x28, 0xe8, 0x1a, 0xaa, - 0x9d, 0x73, 0x51, 0x05, 0x03, 0x55, 0x33, 0xb9, 0xba, 0xb5, 0xe4, 0xda, 0x80, 0x1e, 0xea, 0xc9, - 0x83, 0x7e, 0x11, 0x2f, 0x72, 0x83, 0x69, 0xc6, 0x46, 0xaf, 0x1a, 0x1b, 0x26, 0xba, 0x4b, 0x67, - 0xa0, 0xbb, 0x5c, 0xa0, 0xfb, 0x63, 0xe8, 0x1f, 0x64, 0x41, 0xb0, 0x4f, 0x93, 0x84, 0x8c, 0xe9, - 0xf6, 0xe9, 0x80, 0x4e, 0xf6, 0xfc, 0x24, 0x75, 0x69, 0x12, 0x89, 0x38, 0xa3, 0x71, 0xbc, 0xc3, - 0x3d, 0x2a, 0x41, 0x6e, 0xb9, 0x39, 0x29, 0x4e, 0x48, 0xe3, 0x58, 0x18, 0xa0, 0x2a, 0x24, 0x52, - 0xf6, 0x26, 0xcc, 0x05, 0x7e, 0x22, 0x62, 0xbd, 0x79, 0xa7, 0x7b, 0xf7, 0xe6, 0x94, 0x54, 0xd9, - 0x4f, 0xc6, 0xbb, 0x24, 0x25, 0xae, 0x5c, 0xe7, 0x84, 0xf0, 0xa9, 0xe9, 0xbb, 0x4f, 0xce, 0xbc, - 0xc1, 0x44, 0x0d, 0x93, 0x45, 0xc0, 0xe7, 0xac, 0x68, 0x3e, 0x74, 0x96, 0x30, 0x3b, 0x41, 0x3d, - 0xd2, 0x8e, 0x9e, 0x9b, 0x93, 0xce, 0x5b, 0x60, 0x3f, 0xa2, 0xe9, 0x3e, 0x79, 0xbd, 0xc5, 0xbc, - 0x7d, 0x9f, 0x0d, 0xe8, 0xc4, 0xa5, 0x13, 0xe7, 0x01, 0xdc, 0xa8, 0x71, 0x93, 0x48, 0x18, 0x10, - 0x92, 0xd7, 0x03, 0x3a, 0x91, 0x06, 0xf4, 0x5c, 0x45, 0x49, 0xbe, 0x5c, 0xa5, 0xca, 0xa3, 0xa2, - 0x9c, 0x09, 0x2c, 0x0b, 0x84, 0x06, 0x94, 0x79, 0xfb, 0xc9, 0x58, 0xaa, 0x58, 0x87, 0x2e, 0x7a, - 0x60, 0x3f, 0x19, 0x97, 0xf5, 0x56, 0x63, 0x89, 0x15, 0xc3, 0xc0, 0xa7, 0x2c, 0xc5, 0x15, 0xea, - 0x34, 0x1a, 0x4b, 0x04, 0x63, 0x42, 0x99, 0x57, 0x5c, 0x39, 0x4d, 0xb7, 0xa0, 0x9d, 0x3f, 0xb6, - 0x60, 0x5e, 0x39, 0x54, 0x76, 0x87, 0xe2, 0x8a, 0x2b, 0xfc, 0x85, 0x14, 0x06, 0xe3, 0xf0, 0xa4, - 0xec, 0xd3, 0x90, 0xd2, 0x3b, 0xbb, 0xa6, 0xd9, 0xd9, 0x55, 0x6c, 0x9a, 0xab, 0xdb, 0x54, 0x39, - 0x57, 0xab, 0x7e, 0xae, 0x2f, 0xc2, 0x4a, 0x22, 0x13, 0xe6, 0x20, 0x20, 0xe9, 0x88, 0xc7, 0xa1, - 0xba, 0xb1, 0x5a, 0x6e, 0x8d, 0x2f, 0x8a, 0x3d, 0xf2, 0x8a, 0x84, 0xc5, 0x8c, 0xac, 0x70, 0x45, - 0x7a, 0x20, 0x27, 0x4f, 0x5c, 0x6c, 0x15, 0x4c, 0x26, 0xda, 0x96, 0x24, 0x3e, 0x67, 0xb2, 0xd3, - 0xc5, 0xfc, 0xd4, 0x59, 0xe2, 0xe4, 0x61, 0x32, 0x7e, 0x18, 0xf3, 0x50, 0x35, 0x0c, 0x39, 0x29, - 0x4f, 0xce, 0x59, 0x4a, 0x59, 0x2a, 0x65, 0xbb, 0x28, 0xab, 0xb1, 0x84, 0xac, 0x22, 0x65, 0x72, - 0x2e, 0xba, 0x39, 0x69, 0xaf, 0x40, 0x33, 0xa1, 0x13, 0x95, 0x71, 0xe2, 0xa7, 0x81, 0xdc, 0xb2, - 0x89, 0x5c, 0xa5, 0x14, 0xac, 0xc8, 0xa7, 0x7a, 0x29, 0x28, 0x7b, 0xfd, 0x55, 0xa3, 0xd7, 0xdf, - 0x82, 0x79, 0x1e, 0x89, 0x38, 0x4f, 0xfa, 0xb6, 0xcc, 0xb1, 0xcf, 0x9f, 0x9d, 0x63, 0x9b, 0xcf, - 0x70, 0xe5, 0x03, 0x96, 0xc6, 0xa7, 0x6e, 0x2e, 0x67, 0xef, 0xc1, 0x32, 0x1f, 0x8d, 0x02, 0x9f, - 0xd1, 0x83, 0x2c, 0x39, 0x92, 0x37, 0xdb, 0x0d, 0x79, 0xb3, 0x39, 0x53, 0x54, 0x3d, 0x33, 0x57, - 0xba, 0x55, 0xd1, 0x9b, 0xf7, 0x60, 0x51, 0xdf, 0x46, 0xb8, 0xe1, 0x98, 0x9e, 0xaa, 0x18, 0x14, - 0x3f, 0x45, 0xb3, 0x77, 0x42, 0x82, 0x0c, 0xaf, 0x81, 0x05, 0x17, 0x89, 0x7b, 0x8d, 0x6f, 0x58, - 0xce, 0xcf, 0x2d, 0x58, 0xae, 0x6c, 0x20, 0x56, 0xa7, 0x7e, 0x1a, 0x50, 0xa5, 0x01, 0x09, 0xdb, - 0x86, 0x39, 0x8f, 0x26, 0x43, 0x15, 0xc2, 0xf2, 0xb7, 0xaa, 0x64, 0xcd, 0xa2, 0x5d, 0x14, 0x2f, - 0x74, 0xcf, 0x06, 0x42, 0xd1, 0x80, 0x67, 0xcc, 0x2b, 0x5e, 0xe8, 0x34, 0x9e, 0x08, 0x21, 0xff, - 0xd9, 0x60, 0x9b, 0x78, 0x63, 0x8a, 0xaf, 0x5d, 0x2d, 0x69, 0x93, 0xc9, 0x74, 0x3c, 0x58, 0x78, - 0xee, 0x47, 0xc9, 0x0e, 0x0f, 0x43, 0x01, 0x84, 0x47, 0x53, 0xd1, 0xab, 0x5a, 0x12, 0x6f, 0x45, - 0x89, 0x50, 0xf1, 0xe8, 0x88, 0x64, 0x41, 0x2a, 0x96, 0xe6, 0x89, 0xab, 0xb1, 0xe4, 0x0b, 0x47, - 0xc2, 0xd9, 0x2e, 0x4a, 0xa3, 0x9d, 0x1a, 0xc7, 0xf9, 0x73, 0x03, 0x56, 0x64, 0xe3, 0xb0, 0x23, - 0x61, 0xf7, 0xa4, 0xd0, 0x5d, 0x68, 0xc9, 0x34, 0x54, 0xcd, 0xca, 0xf9, 0xcd, 0x06, 0x2e, 0xb5, - 0xef, 0x43, 0x9b, 0x47, 0xb2, 0xe5, 0xc4, 0x0e, 0xe5, 0x9d, 0xb3, 0x84, 0xcc, 0x77, 0x3b, 0x57, - 0x49, 0xd9, 0x0f, 0x01, 0xf0, 0xb5, 0x73, 0xaf, 0x2c, 0xdd, 0xb3, 0xea, 0xd0, 0x24, 0x85, 0x73, - 0x8b, 0x32, 0x5c, 0xbc, 0xe0, 0x35, 0x5d, 0x93, 0x69, 0x3f, 0x85, 0x25, 0x69, 0xf6, 0xb3, 0xbc, - 0xeb, 0x94, 0x18, 0xcc, 0xbe, 0x63, 0x45, 0xda, 0xf9, 0x95, 0xa5, 0xdc, 0x28, 0x9e, 0x0e, 0x28, - 0xfa, 0xbe, 0x74, 0x89, 0x75, 0x29, 0x97, 0xdc, 0x84, 0x85, 0x30, 0xd3, 0x9a, 0xe0, 0xa6, 0x5b, - 0xd0, 0x25, 0x44, 0xcd, 0x99, 0x21, 0x72, 0x7e, 0x6d, 0x41, 0xff, 0x7d, 0xee, 0x33, 0xf9, 0x60, - 0x2b, 0x8a, 0x02, 0x35, 0x85, 0xb8, 0x34, 0xe6, 0xdf, 0x81, 0x0e, 0x41, 0x35, 0x2c, 0x55, 0xb0, - 0xcf, 0xd0, 0xd8, 0x96, 0x32, 0x5a, 0x8f, 0xd2, 0xd4, 0x7b, 0x14, 0xe7, 0x77, 0x16, 0x2c, 0xa1, - 0x53, 0x3e, 0xc8, 0xfc, 0xf4, 0xd2, 0xf6, 0x6d, 0xc3, 0xc2, 0x24, 0xf3, 0xd3, 0x4b, 0x44, 0x65, - 0x21, 0x57, 0x8f, 0xa7, 0xe6, 0x94, 0x78, 0x72, 0x3e, 0xb6, 0xe0, 0x56, 0xd5, 0xad, 0x5b, 0xc3, - 0x21, 0x8d, 0xde, 0x64, 0x4a, 0x19, 0x3d, 0xda, 0x5c, 0xa5, 0x47, 0x9b, 0x6a, 0xb2, 0x4b, 0x3f, - 0xa2, 0xc3, 0xff, 0x5d, 0x93, 0x7f, 0xda, 0x80, 0x4f, 0x3f, 0x2a, 0x12, 0xef, 0x79, 0x4c, 0x58, - 0x32, 0xa2, 0x71, 0xfc, 0x06, 0xed, 0xdd, 0x83, 0x1e, 0xa3, 0xaf, 0x4a, 0x9b, 0x54, 0x3a, 0xce, - 0xaa, 0xc6, 0x14, 0x9e, 0xad, 0x76, 0x39, 0xff, 0xb2, 0x60, 0x05, 0xf5, 0x7c, 0xd7, 0x1f, 0x1e, - 0xbf, 0xc1, 0xc3, 0x3f, 0x85, 0xa5, 0x63, 0x69, 0x81, 0xa0, 0x2e, 0x51, 0xb6, 0x2b, 0xd2, 0x33, - 0x1e, 0xff, 0xdf, 0x16, 0xac, 0xa2, 0xa2, 0x27, 0xec, 0xc4, 0x7f, 0x93, 0xc1, 0x7a, 0x00, 0xcb, - 0x3e, 0x9a, 0x70, 0x49, 0x07, 0x54, 0xc5, 0x67, 0xf4, 0xc0, 0xef, 0x2d, 0x58, 0x46, 0x4d, 0x0f, - 0x58, 0x4a, 0xe3, 0x4b, 0x9f, 0xff, 0x31, 0x74, 0x29, 0x4b, 0x63, 0xc2, 0x2e, 0x53, 0x21, 0x75, - 0xd1, 0x19, 0x8b, 0xe4, 0x31, 0xac, 0xe2, 0x2b, 0xbc, 0x56, 0x71, 0x44, 0x2f, 0x4b, 0x3c, 0x6c, - 0x4f, 0x2d, 0x29, 0x94, 0x93, 0xe6, 0x70, 0x46, 0x4d, 0xd7, 0xcb, 0xe1, 0xcc, 0x6d, 0x00, 0xe2, - 0x79, 0x1f, 0xf2, 0xd8, 0xf3, 0x59, 0x7e, 0x7d, 0x68, 0x1c, 0xe7, 0x7d, 0x58, 0x14, 0xdd, 0xf4, - 0x73, 0xed, 0x65, 0xfc, 0xdc, 0x71, 0x81, 0xfe, 0x22, 0xdf, 0x30, 0x5f, 0xe4, 0x9d, 0x1f, 0xc1, - 0xff, 0xd7, 0x0c, 0x97, 0x5e, 0xdf, 0xc1, 0x19, 0x43, 0xbe, 0x89, 0x72, 0xfe, 0x67, 0xa7, 0xb8, - 0x50, 0xb7, 0xc5, 0x35, 0x84, 0x9c, 0x9f, 0x58, 0xf0, 0x76, 0x4d, 0xfd, 0x56, 0x14, 0xc5, 0xfc, - 0x44, 0x05, 0xf7, 0x55, 0x6c, 0x63, 0x96, 0xd6, 0x46, 0xb5, 0xb4, 0x4e, 0x35, 0xc2, 0xb8, 0x0e, - 0x3e, 0x01, 0x23, 0x7e, 0x63, 0xc1, 0xb2, 0x32, 0xc2, 0xf3, 0xd4, 0xb6, 0x5f, 0x87, 0x36, 0xce, - 0x27, 0xd5, 0x86, 0x6f, 0x4f, 0xdd, 0x30, 0x9f, 0xab, 0xba, 0x6a, 0x71, 0x3d, 0x22, 0x1b, 0xd3, - 0xda, 0xc0, 0x6f, 0x16, 0x15, 0x60, 0xe6, 0x09, 0xa2, 0x12, 0x70, 0xbe, 0x9f, 0x07, 0xf3, 0x2e, - 0x0d, 0xe8, 0x55, 0xfa, 0xc8, 0x79, 0x01, 0x4b, 0x72, 0x58, 0x5a, 0xfa, 0xe0, 0x4a, 0xd4, 0x7e, - 0x08, 0x2b, 0x52, 0xed, 0x95, 0xdb, 0x5b, 0x64, 0x87, 0xf0, 0xcf, 0xce, 0x11, 0x61, 0xe3, 0xab, - 0xd4, 0xfe, 0x15, 0xb8, 0x91, 0xfb, 0xfe, 0x45, 0xe4, 0x15, 0xaf, 0x28, 0x67, 0x0c, 0x66, 0x9c, - 0xaf, 0xc2, 0xda, 0x0e, 0x67, 0x27, 0x34, 0x4e, 0x24, 0xca, 0x28, 0x92, 0x4b, 0x18, 0xc9, 0xaf, - 0x28, 0x67, 0x00, 0xab, 0x6a, 0xa4, 0x78, 0x40, 0xc6, 0x3e, 0xc3, 0xaa, 0x74, 0x1b, 0x20, 0x22, - 0xe3, 0xfc, 0x93, 0x02, 0xce, 0x9d, 0x34, 0x8e, 0x78, 0x9e, 0x1c, 0xf1, 0x57, 0xea, 0x79, 0x03, - 0x9f, 0x97, 0x1c, 0xe7, 0x7b, 0x60, 0xbb, 0x34, 0x89, 0x38, 0x4b, 0xa8, 0xa6, 0x75, 0x1d, 0xba, - 0x3b, 0x59, 0x1c, 0x53, 0x26, 0xb6, 0xca, 0xe7, 0xeb, 0x3a, 0x4b, 0xe8, 0x1d, 0x94, 0x7a, 0x71, - 0x56, 0xa1, 0x71, 0x9c, 0x5f, 0x36, 0xa1, 0x33, 0xf0, 0xc7, 0x8c, 0x04, 0x2e, 0x9d, 0xd8, 0xdf, - 0x82, 0x36, 0xde, 0x20, 0xca, 0xb5, 0xd3, 0xde, 0x9d, 0x71, 0x35, 0x5e, 0x95, 0x2e, 0x9d, 0x3c, - 0xfe, 0x3f, 0x57, 0xc9, 0xd8, 0x1f, 0x40, 0x0f, 0x7f, 0x3d, 0xc1, 0x37, 0x02, 0x75, 0x01, 0x7c, - 0xe1, 0x02, 0x25, 0x6a, 0x35, 0xea, 0x32, 0x35, 0x08, 0x83, 0x86, 0x84, 0x0d, 0xd5, 0x37, 0xb7, - 0xf3, 0x0c, 0xda, 0x91, 0xcb, 0x94, 0x41, 0x28, 0x23, 0xa4, 0x89, 0xec, 0x99, 0xd5, 0x57, 0x8b, - 0xb3, 0xa5, 0xb1, 0xb5, 0x56, 0xd2, 0x28, 0x23, 0xa4, 0x8f, 0x32, 0x36, 0x7e, 0x11, 0xa9, 0x57, - 0xb9, 0xb3, 0xa5, 0x1f, 0xcb, 0x65, 0x4a, 0x1a, 0x65, 0x84, 0x74, 0x2c, 0xab, 0x9d, 0x74, 0xfa, - 0x79, 0xd2, 0x58, 0x14, 0x95, 0x34, 0xca, 0x6c, 0x77, 0x60, 0x3e, 0x22, 0xa7, 0x01, 0x27, 0x9e, - 0xf3, 0xdb, 0x26, 0x40, 0xbe, 0x30, 0x91, 0x3d, 0x86, 0x01, 0xd1, 0xc6, 0x85, 0x10, 0x45, 0xc1, - 0xa9, 0x06, 0xd2, 0x60, 0x3a, 0x48, 0x5f, 0x9a, 0x15, 0x24, 0xd4, 0x56, 0x81, 0xe9, 0x7e, 0x05, - 0xa6, 0x8d, 0x0b, 0x61, 0x52, 0x46, 0x29, 0xa0, 0xee, 0x57, 0x80, 0xda, 0xb8, 0x10, 0x28, 0x25, - 0xaf, 0xa0, 0xba, 0x5f, 0x81, 0x6a, 0xe3, 0x42, 0xa8, 0x94, 0xbc, 0x02, 0xeb, 0x7e, 0x05, 0xac, - 0x8d, 0x0b, 0xc1, 0x52, 0xf2, 0x75, 0xb8, 0x3e, 0x6e, 0xc0, 0x92, 0x74, 0x19, 0xce, 0x6d, 0xd9, - 0x88, 0xcb, 0xf1, 0x8c, 0x74, 0x97, 0xf9, 0x85, 0xca, 0x64, 0xda, 0x5f, 0x86, 0x55, 0x64, 0xa8, - 0x2f, 0x1a, 0xb2, 0xfd, 0x6b, 0xac, 0x37, 0xef, 0x74, 0xdc, 0xfa, 0x03, 0x39, 0x69, 0xcb, 0x92, - 0x94, 0x87, 0xbb, 0x24, 0x25, 0x79, 0xb7, 0x52, 0x72, 0xf4, 0x39, 0xe8, 0x5c, 0xed, 0x0b, 0x77, - 0xcc, 0x79, 0x58, 0x0c, 0x38, 0x15, 0x25, 0x24, 0x52, 0x3f, 0xa4, 0x3c, 0x4b, 0x55, 0x99, 0xc8, - 0x49, 0x71, 0xc7, 0x86, 0xd4, 0xf3, 0x89, 0x9c, 0x1e, 0xaa, 0xcf, 0x0a, 0x05, 0x43, 0x56, 0xb6, - 0x72, 0x1a, 0xaa, 0xbe, 0x40, 0x97, 0x9c, 0x8b, 0x27, 0x97, 0xce, 0x9f, 0x2c, 0x58, 0xae, 0x54, - 0x15, 0xd1, 0x3d, 0xe1, 0xbd, 0x58, 0xb8, 0xab, 0xa0, 0xed, 0x2d, 0x00, 0xbf, 0xf0, 0xf0, 0x39, - 0x63, 0x02, 0x13, 0x06, 0x57, 0x13, 0x9a, 0x36, 0x2d, 0x6c, 0x5e, 0x7a, 0x5a, 0xe8, 0xfc, 0x10, - 0x56, 0x6b, 0x29, 0x27, 0x47, 0x7e, 0xfc, 0x98, 0xb2, 0x62, 0xe4, 0x27, 0x08, 0xcd, 0xfb, 0x8d, - 0xaa, 0xf7, 0x03, 0xff, 0x44, 0xff, 0x4a, 0xad, 0x48, 0xe7, 0x2f, 0x16, 0xac, 0x4d, 0x2f, 0x97, - 0xd7, 0xcb, 0x49, 0x87, 0xd0, 0x3f, 0xab, 0xa0, 0x5c, 0x99, 0xaf, 0xca, 0x48, 0x2a, 0xae, 0x83, - 0xeb, 0xe5, 0xa4, 0x1b, 0x79, 0x24, 0x69, 0x75, 0x52, 0x3b, 0x55, 0x71, 0x4d, 0x5d, 0xd3, 0xfc, - 0xd0, 0xaa, 0xf7, 0x7f, 0x01, 0xf3, 0xe2, 0x1a, 0xbe, 0xa6, 0x98, 0x6b, 0x77, 0x93, 0x76, 0xaa, - 0xa2, 0x3d, 0xb8, 0xa6, 0xa7, 0xd2, 0x6e, 0xcc, 0xed, 0x5b, 0x3f, 0xb8, 0xb9, 0xf9, 0x2e, 0xfe, - 0x5f, 0xee, 0xbd, 0x9a, 0xce, 0xc3, 0xb6, 0xfc, 0xff, 0xdc, 0xd7, 0xfe, 0x13, 0x00, 0x00, 0xff, - 0xff, 0x09, 0x08, 0xff, 0xc6, 0x52, 0x27, 0x00, 0x00, +var fileDescriptor_ws_b3df638d3f68a57a = []byte{ + // 2474 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x1a, 0x4d, 0x6f, 0xe4, 0x48, + 0x15, 0x77, 0xa7, 0x3b, 0xe9, 0xd7, 0xe9, 0x7c, 0x78, 0x96, 0xd0, 0x0c, 0xb3, 0x43, 0xb0, 0xa2, + 0x65, 0xf8, 0xca, 0xa2, 0x41, 0x48, 0xb0, 0x0b, 0x83, 0xf2, 0x31, 0x5f, 0x4b, 0x32, 0x93, 0x75, + 0xcf, 0xb0, 0x08, 0x90, 0x46, 0x4e, 0xbb, 0xd2, 0xf1, 0xc6, 0xae, 0x72, 0xbb, 0xec, 0xcc, 0x44, + 0x42, 0x42, 0x02, 0x89, 0x7f, 0x00, 0x57, 0x24, 0x2e, 0x08, 0x09, 0xa1, 0xbd, 0x20, 0x2e, 0x88, + 0x13, 0xfc, 0x00, 0xce, 0xfc, 0x05, 0xae, 0x1c, 0x90, 0x90, 0x40, 0x55, 0xaf, 0x6c, 0x57, 0xd9, + 0xdd, 0x49, 0x2b, 0x0a, 0x3b, 0xe4, 0xd6, 0xef, 0xb9, 0xde, 0xab, 0xf7, 0x5d, 0xaf, 0x5e, 0x35, + 0x2c, 0x73, 0xff, 0xe4, 0xc5, 0x4b, 0xfe, 0xf6, 0x4b, 0xbe, 0x19, 0x27, 0x2c, 0x65, 0xf6, 0x2a, + 0x27, 0xc9, 0x29, 0x49, 0x5e, 0x78, 0x71, 0xf0, 0x22, 0xf6, 0x12, 0x2f, 0xe2, 0xce, 0x3f, 0x1b, + 0xd0, 0x79, 0x98, 0xb0, 0x2c, 0x7e, 0x4c, 0x8f, 0x98, 0xdd, 0x87, 0xf9, 0x91, 0x04, 0x76, 0xfb, + 0xd6, 0xba, 0x75, 0xa7, 0xe3, 0xe6, 0xa0, 0x7d, 0x0b, 0x3a, 0xf2, 0xe7, 0x13, 0x2f, 0x22, 0xfd, + 0x86, 0xfc, 0x56, 0x22, 0x6c, 0x07, 0x16, 0x29, 0x4b, 0x83, 0xa3, 0x60, 0xe8, 0xa5, 0x01, 0xa3, + 0xfd, 0xa6, 0x5c, 0x60, 0xe0, 0xc4, 0x9a, 0x80, 0xa6, 0x09, 0xf3, 0xb3, 0xa1, 0x5c, 0x33, 0x87, + 0x6b, 0x74, 0x9c, 0xd8, 0xff, 0xc8, 0x1b, 0x92, 0xe7, 0xee, 0x5e, 0xbf, 0x85, 0xfb, 0x2b, 0xd0, + 0x5e, 0x87, 0x2e, 0x7b, 0x49, 0x49, 0xf2, 0x9c, 0x93, 0xe4, 0xf1, 0x6e, 0xbf, 0x2d, 0xbf, 0xea, + 0x28, 0xfb, 0x36, 0xc0, 0x30, 0x21, 0x5e, 0x4a, 0x9e, 0x05, 0x11, 0xe9, 0xcf, 0xaf, 0x5b, 0x77, + 0x7a, 0xae, 0x86, 0x11, 0x1c, 0x22, 0x12, 0x1d, 0x92, 0x64, 0x87, 0x65, 0x34, 0xed, 0x2f, 0xc8, + 0x05, 0x3a, 0xca, 0x5e, 0x82, 0x06, 0x79, 0xd5, 0xef, 0x48, 0xd6, 0x0d, 0xf2, 0xca, 0x5e, 0x83, + 0x36, 0x4f, 0xbd, 0x34, 0xe3, 0x7d, 0x58, 0xb7, 0xee, 0xb4, 0x5c, 0x05, 0xd9, 0x1b, 0xd0, 0x93, + 0x7c, 0x59, 0x2e, 0x4d, 0x57, 0x92, 0x98, 0xc8, 0xc2, 0x62, 0xcf, 0xce, 0x62, 0xd2, 0x5f, 0x94, + 0x0c, 0x4a, 0x84, 0xf3, 0xc7, 0x06, 0xdc, 0x90, 0x76, 0xdf, 0x97, 0x02, 0x3c, 0xc8, 0xc2, 0xf0, + 0x02, 0x0f, 0xac, 0x41, 0x3b, 0xc3, 0xed, 0xd0, 0xfc, 0x0a, 0x12, 0xfb, 0x24, 0x2c, 0x24, 0x7b, + 0xe4, 0x94, 0x84, 0xd2, 0xf0, 0x2d, 0xb7, 0x44, 0xd8, 0x37, 0x61, 0xe1, 0x43, 0x16, 0x50, 0x69, + 0x93, 0x39, 0xf9, 0xb1, 0x80, 0xc5, 0x37, 0x1a, 0x0c, 0x4f, 0xa8, 0x70, 0x29, 0x9a, 0xbb, 0x80, + 0x75, 0x4f, 0xb4, 0x4d, 0x4f, 0xbc, 0x05, 0x4b, 0x5e, 0x1c, 0xef, 0x7b, 0x74, 0x44, 0x12, 0xdc, + 0x74, 0x5e, 0xf2, 0xad, 0x60, 0x85, 0x3f, 0xc4, 0x4e, 0x03, 0x96, 0x25, 0x43, 0x22, 0xcd, 0xdd, + 0x72, 0x35, 0x8c, 0xe0, 0xc3, 0x62, 0x92, 0x68, 0x66, 0x44, 0xcb, 0x57, 0xb0, 0xca, 0x2b, 0x90, + 0x7b, 0xc5, 0xf9, 0xb9, 0x05, 0x4b, 0x07, 0xd9, 0x61, 0x18, 0x0c, 0xe5, 0x02, 0x61, 0xb4, 0xd2, + 0x34, 0x96, 0x61, 0x1a, 0x5d, 0xc1, 0xc6, 0x74, 0x05, 0x9b, 0xa6, 0x82, 0x6b, 0xd0, 0x1e, 0x11, + 0xea, 0x93, 0x44, 0x19, 0x4c, 0x41, 0x4a, 0x90, 0x56, 0x21, 0xc8, 0x2f, 0x1b, 0xb0, 0xf0, 0x31, + 0x8b, 0xb0, 0x0e, 0xdd, 0xf8, 0x98, 0x51, 0xf2, 0x24, 0x13, 0x41, 0xa3, 0x64, 0xd1, 0x51, 0xf6, + 0x1b, 0xd0, 0x3a, 0x0c, 0x92, 0xf4, 0x58, 0x7a, 0xad, 0xe7, 0x22, 0x20, 0xb0, 0x24, 0xf2, 0x02, + 0x74, 0x55, 0xc7, 0x45, 0x40, 0x29, 0xb4, 0x50, 0xc4, 0xbb, 0x99, 0x41, 0x9d, 0x5a, 0x06, 0xd5, + 0x3d, 0x0f, 0x93, 0x3c, 0xef, 0xfc, 0xcb, 0x02, 0x78, 0x90, 0x04, 0x84, 0xfa, 0xd2, 0x34, 0x95, + 0xd4, 0xb5, 0xea, 0xa9, 0xbb, 0x06, 0xed, 0x84, 0x44, 0x5e, 0x72, 0x92, 0x87, 0x36, 0x42, 0x15, + 0x81, 0x9a, 0x35, 0x81, 0xde, 0x05, 0x38, 0x92, 0xfb, 0x08, 0x3e, 0xd2, 0x54, 0xdd, 0xbb, 0x9f, + 0xd9, 0xac, 0x15, 0xb9, 0xcd, 0xdc, 0x4b, 0xae, 0xb6, 0x5c, 0xe4, 0x8d, 0xe7, 0xfb, 0x2a, 0x3c, + 0x5b, 0x98, 0x37, 0x05, 0x62, 0x42, 0x74, 0xb6, 0xcf, 0x89, 0xce, 0xf9, 0x22, 0x28, 0xfe, 0x61, + 0x41, 0x67, 0x3b, 0xf4, 0x86, 0x27, 0x33, 0xaa, 0x6e, 0xaa, 0xd8, 0xa8, 0xa9, 0xf8, 0x10, 0x7a, + 0x87, 0x82, 0x5d, 0xae, 0x82, 0xb4, 0x42, 0xf7, 0xee, 0xe7, 0x26, 0x68, 0x69, 0x26, 0x85, 0x6b, + 0xd2, 0x99, 0xea, 0xce, 0x5d, 0xac, 0x6e, 0xeb, 0x1c, 0x75, 0xdb, 0x85, 0xba, 0x7f, 0x6b, 0xc0, + 0xa2, 0x2c, 0x63, 0x2e, 0x19, 0x67, 0x84, 0xa7, 0xf6, 0xb7, 0x61, 0x21, 0xcb, 0x45, 0xb5, 0x66, + 0x15, 0xb5, 0x20, 0xb1, 0xdf, 0x51, 0x45, 0x53, 0xd2, 0x37, 0x24, 0xfd, 0xad, 0x09, 0xf4, 0xc5, + 0x89, 0xe5, 0x96, 0xcb, 0xc5, 0x01, 0x73, 0xec, 0x51, 0x3f, 0x24, 0x2e, 0xe1, 0x59, 0x98, 0xaa, + 0x5a, 0x68, 0xe0, 0x30, 0xd2, 0xc6, 0xfb, 0x7c, 0xa4, 0x8e, 0x1f, 0x05, 0x09, 0xeb, 0xe0, 0x3a, + 0xf1, 0x09, 0x55, 0x2f, 0x11, 0x22, 0x51, 0x13, 0x32, 0x96, 0x1e, 0xc2, 0xb4, 0xca, 0xc1, 0x72, + 0x4f, 0x65, 0x35, 0x0c, 0x04, 0x03, 0x27, 0x5c, 0x8c, 0xb0, 0x64, 0x80, 0xe7, 0x8e, 0x86, 0xa9, + 0x1e, 0x3b, 0xce, 0xdf, 0x9b, 0xd0, 0xc3, 0xf4, 0xc9, 0x8d, 0x7a, 0x5b, 0xc4, 0x39, 0x8b, 0x8c, + 0x28, 0xd2, 0x30, 0x42, 0x0a, 0x01, 0x3d, 0x31, 0x0b, 0x8d, 0x81, 0x13, 0xa1, 0x28, 0xe0, 0x07, + 0x46, 0xc1, 0xd1, 0x51, 0xf9, 0x2e, 0x0f, 0xf5, 0xc2, 0xa3, 0x61, 0x44, 0x29, 0x4b, 0x99, 0x11, + 0x1d, 0x05, 0x2c, 0x68, 0x53, 0x56, 0xec, 0x8f, 0xf1, 0xa1, 0x61, 0x84, 0x7d, 0x53, 0x96, 0xef, + 0x8d, 0x46, 0x2a, 0x11, 0xc8, 0x59, 0xed, 0x8b, 0x07, 0x45, 0x01, 0xd7, 0xbc, 0xda, 0x39, 0xd7, + 0xab, 0x60, 0x78, 0xd5, 0x4c, 0xae, 0x6e, 0x2d, 0xb9, 0x36, 0xa0, 0x87, 0x7c, 0xf2, 0xa0, 0x5f, + 0xc4, 0x83, 0xdc, 0x40, 0x9a, 0xb1, 0xd1, 0xab, 0xc6, 0x86, 0xe9, 0xdd, 0xa5, 0x29, 0xde, 0x5d, + 0x2e, 0xbc, 0xfb, 0x63, 0xe8, 0x1f, 0x64, 0x61, 0xb8, 0x4f, 0x38, 0xf7, 0x46, 0x64, 0xfb, 0x6c, + 0x40, 0xc6, 0x7b, 0x01, 0x4f, 0x5d, 0xc2, 0x63, 0x11, 0x67, 0x24, 0x49, 0x76, 0x98, 0x4f, 0xa4, + 0x93, 0x5b, 0x6e, 0x0e, 0x0a, 0x0d, 0x49, 0x92, 0x08, 0x01, 0x54, 0x85, 0x44, 0xc8, 0xde, 0x84, + 0xb9, 0x30, 0xe0, 0x22, 0xd6, 0x9b, 0x77, 0xba, 0x77, 0x6f, 0x4e, 0x48, 0x95, 0x7d, 0x3e, 0xda, + 0xf5, 0x52, 0xcf, 0x95, 0xeb, 0x9c, 0x08, 0x3e, 0x35, 0x79, 0xf7, 0xf1, 0xd4, 0x13, 0x4c, 0xd4, + 0x30, 0x59, 0x04, 0x02, 0x46, 0x8b, 0xe6, 0x43, 0x47, 0x09, 0xb1, 0x39, 0xf2, 0x91, 0x72, 0xf4, + 0xdc, 0x1c, 0x74, 0xde, 0x00, 0xfb, 0x21, 0x49, 0xf7, 0xbd, 0x57, 0x5b, 0xd4, 0xdf, 0x0f, 0xe8, + 0x80, 0x8c, 0x5d, 0x32, 0x76, 0xee, 0xc3, 0x8d, 0x1a, 0x96, 0xc7, 0x42, 0x80, 0xc8, 0x7b, 0x35, + 0x20, 0x63, 0x29, 0x40, 0xcf, 0x55, 0x90, 0xc4, 0xcb, 0x55, 0xaa, 0x3c, 0x2a, 0xc8, 0x19, 0xc3, + 0xb2, 0xf0, 0xd0, 0x80, 0x50, 0x7f, 0x9f, 0x8f, 0x24, 0x8b, 0x75, 0xe8, 0xa2, 0x05, 0xf6, 0xf9, + 0xa8, 0xac, 0xb7, 0x1a, 0x4a, 0xac, 0x18, 0x86, 0x01, 0xa1, 0x29, 0xae, 0x50, 0xda, 0x68, 0x28, + 0x11, 0x8c, 0x9c, 0x50, 0xbf, 0x38, 0x72, 0x9a, 0x6e, 0x01, 0x3b, 0x7f, 0x6a, 0xc1, 0xbc, 0x32, + 0xa8, 0xec, 0x0e, 0xc5, 0x11, 0x57, 0xd8, 0x0b, 0x21, 0x0c, 0xc6, 0xe1, 0x69, 0xd9, 0xa7, 0x21, + 0xa4, 0x77, 0x76, 0x4d, 0xb3, 0xb3, 0xab, 0xc8, 0x34, 0x57, 0x97, 0xa9, 0xa2, 0x57, 0xab, 0xae, + 0xd7, 0x17, 0x61, 0x85, 0xcb, 0x84, 0x39, 0x08, 0xbd, 0xf4, 0x88, 0x25, 0x91, 0x3a, 0xb1, 0x5a, + 0x6e, 0x0d, 0x2f, 0x8a, 0x3d, 0xe2, 0x8a, 0x84, 0xc5, 0x8c, 0xac, 0x60, 0x45, 0x7a, 0x20, 0x26, + 0x4f, 0x5c, 0x6c, 0x15, 0x4c, 0x24, 0xca, 0xc6, 0x79, 0xc0, 0xa8, 0xec, 0x74, 0x31, 0x3f, 0x75, + 0x94, 0xd0, 0x3c, 0xe2, 0xa3, 0x07, 0x09, 0x8b, 0x54, 0xc3, 0x90, 0x83, 0x52, 0x73, 0x46, 0x53, + 0x42, 0x53, 0x49, 0xdb, 0x45, 0x5a, 0x0d, 0x25, 0x68, 0x15, 0x28, 0x93, 0x73, 0xd1, 0xcd, 0x41, + 0x7b, 0x05, 0x9a, 0x9c, 0x8c, 0x55, 0xc6, 0x89, 0x9f, 0x86, 0xe7, 0x96, 0x4d, 0xcf, 0x55, 0x4a, + 0xc1, 0x8a, 0xfc, 0xaa, 0x97, 0x82, 0xb2, 0xd7, 0x5f, 0x35, 0x7a, 0xfd, 0x2d, 0x98, 0x67, 0xb1, + 0x88, 0x73, 0xde, 0xb7, 0x65, 0x8e, 0x7d, 0x7e, 0x7a, 0x8e, 0x6d, 0x3e, 0xc5, 0x95, 0xf7, 0x69, + 0x9a, 0x9c, 0xb9, 0x39, 0x9d, 0xbd, 0x07, 0xcb, 0xec, 0xe8, 0x28, 0x0c, 0x28, 0x39, 0xc8, 0xf8, + 0xb1, 0x3c, 0xd9, 0x6e, 0xc8, 0x93, 0xcd, 0x99, 0xc0, 0xea, 0xa9, 0xb9, 0xd2, 0xad, 0x92, 0xde, + 0x7c, 0x07, 0x16, 0xf5, 0x6d, 0x84, 0x19, 0x4e, 0xc8, 0x99, 0x8a, 0x41, 0xf1, 0x53, 0x34, 0x7b, + 0xa7, 0x5e, 0x98, 0xe1, 0x31, 0xb0, 0xe0, 0x22, 0xf0, 0x4e, 0xe3, 0x1b, 0x96, 0xf3, 0x0b, 0x0b, + 0x96, 0x2b, 0x1b, 0x88, 0xd5, 0x69, 0x90, 0x86, 0x44, 0x71, 0x40, 0xc0, 0xb6, 0x61, 0xce, 0x27, + 0x7c, 0xa8, 0x42, 0x58, 0xfe, 0x56, 0x95, 0xac, 0x59, 0xb4, 0x8b, 0xe2, 0x42, 0xf7, 0x74, 0x20, + 0x18, 0x0d, 0x58, 0x46, 0xfd, 0xe2, 0x42, 0xa7, 0xe1, 0x44, 0x08, 0x05, 0x4f, 0x07, 0xdb, 0x9e, + 0x3f, 0x22, 0x78, 0xed, 0x6a, 0x49, 0x99, 0x4c, 0xa4, 0xe3, 0xc3, 0xc2, 0xb3, 0x20, 0xe6, 0x3b, + 0x2c, 0x8a, 0x84, 0x23, 0x7c, 0x92, 0x8a, 0x5e, 0xd5, 0x92, 0xfe, 0x56, 0x90, 0x08, 0x15, 0x9f, + 0x1c, 0x79, 0x59, 0x98, 0x8a, 0xa5, 0x79, 0xe2, 0x6a, 0x28, 0x79, 0xe1, 0xe0, 0x8c, 0xee, 0x22, + 0x35, 0xca, 0xa9, 0x61, 0x9c, 0xbf, 0x34, 0x60, 0x45, 0x36, 0x0e, 0x3b, 0xd2, 0xed, 0xbe, 0x24, + 0xba, 0x0b, 0x2d, 0x99, 0x86, 0xaa, 0x59, 0x39, 0xbf, 0xd9, 0xc0, 0xa5, 0xf6, 0x3d, 0x68, 0xb3, + 0x58, 0xb6, 0x9c, 0xd8, 0xa1, 0xbc, 0x35, 0x8d, 0xc8, 0xbc, 0xdb, 0xb9, 0x8a, 0xca, 0x7e, 0x00, + 0x80, 0xd7, 0xce, 0xbd, 0xb2, 0x74, 0xcf, 0xca, 0x43, 0xa3, 0x14, 0xc6, 0x2d, 0xca, 0x70, 0x71, + 0xc1, 0x6b, 0xba, 0x26, 0xd2, 0x7e, 0x02, 0x4b, 0x52, 0xec, 0xa7, 0x79, 0xd7, 0x29, 0x7d, 0x30, + 0xfb, 0x8e, 0x15, 0x6a, 0xe7, 0xd7, 0x96, 0x32, 0xa3, 0xf8, 0x3a, 0x20, 0x68, 0xfb, 0xd2, 0x24, + 0xd6, 0xa5, 0x4c, 0x72, 0x13, 0x16, 0xa2, 0x4c, 0x6b, 0x82, 0x9b, 0x6e, 0x01, 0x97, 0x2e, 0x6a, + 0xce, 0xec, 0x22, 0xe7, 0x37, 0x16, 0xf4, 0xdf, 0x63, 0x01, 0x95, 0x1f, 0xb6, 0xe2, 0x38, 0x54, + 0x53, 0x88, 0x4b, 0xfb, 0xfc, 0x3b, 0xd0, 0xf1, 0x90, 0x0d, 0x4d, 0x95, 0xdb, 0x67, 0x68, 0x6c, + 0x4b, 0x1a, 0xad, 0x47, 0x69, 0xea, 0x3d, 0x8a, 0xf3, 0x7b, 0x0b, 0x96, 0xd0, 0x28, 0xef, 0x67, + 0x41, 0x7a, 0x69, 0xf9, 0xb6, 0x61, 0x61, 0x9c, 0x05, 0xe9, 0x25, 0xa2, 0xb2, 0xa0, 0xab, 0xc7, + 0x53, 0x73, 0x42, 0x3c, 0x39, 0x1f, 0x59, 0x70, 0xab, 0x6a, 0xd6, 0xad, 0xe1, 0x90, 0xc4, 0xaf, + 0x33, 0xa5, 0x8c, 0x1e, 0x6d, 0xae, 0xd2, 0xa3, 0x4d, 0x14, 0xd9, 0x25, 0x1f, 0x92, 0xe1, 0xff, + 0xaf, 0xc8, 0x3f, 0x6b, 0xc0, 0xa7, 0x1f, 0x16, 0x89, 0xf7, 0x2c, 0xf1, 0x28, 0x3f, 0x22, 0x49, + 0xf2, 0x1a, 0xe5, 0xdd, 0x83, 0x1e, 0x25, 0x2f, 0x4b, 0x99, 0x54, 0x3a, 0xce, 0xca, 0xc6, 0x24, + 0x9e, 0xad, 0x76, 0x39, 0xff, 0xb6, 0x60, 0x05, 0xf9, 0x7c, 0x37, 0x18, 0x9e, 0xbc, 0x46, 0xe5, + 0x9f, 0xc0, 0xd2, 0x89, 0x94, 0x40, 0x40, 0x97, 0x28, 0xdb, 0x15, 0xea, 0x19, 0xd5, 0xff, 0x8f, + 0x05, 0xab, 0xc8, 0xe8, 0x31, 0x3d, 0x0d, 0x5e, 0x67, 0xb0, 0x1e, 0xc0, 0x72, 0x80, 0x22, 0x5c, + 0xd2, 0x00, 0x55, 0xf2, 0x19, 0x2d, 0xf0, 0x07, 0x0b, 0x96, 0x91, 0xd3, 0x7d, 0x9a, 0x92, 0xe4, + 0xd2, 0xfa, 0x3f, 0x82, 0x2e, 0xa1, 0x69, 0xe2, 0xd1, 0xcb, 0x54, 0x48, 0x9d, 0x74, 0xc6, 0x22, + 0x79, 0x02, 0xab, 0x78, 0x85, 0xd7, 0x2a, 0x8e, 0xe8, 0x65, 0x3d, 0x1f, 0xdb, 0x53, 0x4b, 0x12, + 0xe5, 0xa0, 0x39, 0x9c, 0x51, 0xd3, 0xf5, 0x72, 0x38, 0x73, 0x1b, 0xc0, 0xf3, 0xfd, 0x0f, 0x58, + 0xe2, 0x07, 0x34, 0x3f, 0x3e, 0x34, 0x8c, 0xf3, 0x1e, 0x2c, 0x8a, 0x6e, 0xfa, 0x99, 0x76, 0x19, + 0x3f, 0x77, 0x5c, 0xa0, 0x5f, 0xe4, 0x1b, 0xe6, 0x45, 0xde, 0xf9, 0x11, 0x7c, 0xb2, 0x26, 0xb8, + 0xb4, 0xfa, 0x0e, 0xce, 0x18, 0xf2, 0x4d, 0x94, 0xf1, 0x3f, 0x3b, 0xc1, 0x84, 0xba, 0x2c, 0xae, + 0x41, 0xe4, 0xfc, 0xd4, 0x82, 0x37, 0x6b, 0xec, 0xb7, 0xe2, 0x38, 0x61, 0xa7, 0x2a, 0xb8, 0xaf, + 0x62, 0x1b, 0xb3, 0xb4, 0x36, 0xaa, 0xa5, 0x75, 0xa2, 0x10, 0xc6, 0x71, 0xf0, 0x31, 0x08, 0xf1, + 0x5b, 0x0b, 0x96, 0x95, 0x10, 0xbe, 0xaf, 0xb6, 0xfd, 0x3a, 0xb4, 0x71, 0x3e, 0xa9, 0x36, 0x7c, + 0x73, 0xe2, 0x86, 0xf9, 0x5c, 0xd5, 0x55, 0x8b, 0xeb, 0x11, 0xd9, 0x98, 0xd4, 0x06, 0x7e, 0xb3, + 0xa8, 0x00, 0x33, 0x4f, 0x10, 0x15, 0x81, 0xf3, 0xfd, 0x3c, 0x98, 0x77, 0x49, 0x48, 0xae, 0xd2, + 0x46, 0xce, 0x73, 0x58, 0x92, 0xc3, 0xd2, 0xd2, 0x06, 0x57, 0xc2, 0xf6, 0x03, 0x58, 0x91, 0x6c, + 0xaf, 0x5c, 0xde, 0x22, 0x3b, 0x84, 0x7d, 0x76, 0x8e, 0x3d, 0x3a, 0xba, 0x4a, 0xee, 0x5f, 0x81, + 0x1b, 0xb9, 0xed, 0x9f, 0xc7, 0x7e, 0x71, 0x45, 0x99, 0x32, 0x98, 0x71, 0xbe, 0x0a, 0x6b, 0x3b, + 0x8c, 0x9e, 0x92, 0x84, 0x4b, 0x2f, 0x23, 0x49, 0x4e, 0x61, 0x24, 0xbf, 0x82, 0x9c, 0x01, 0xac, + 0xaa, 0x91, 0xe2, 0x81, 0x37, 0x0a, 0x28, 0x56, 0xa5, 0xdb, 0x00, 0xb1, 0x37, 0xca, 0x9f, 0x14, + 0x70, 0xee, 0xa4, 0x61, 0xc4, 0x77, 0x7e, 0xcc, 0x5e, 0xaa, 0xef, 0x0d, 0xfc, 0x5e, 0x62, 0x9c, + 0xef, 0x81, 0xed, 0x12, 0x1e, 0x33, 0xca, 0x89, 0xc6, 0x75, 0x1d, 0xba, 0x3b, 0x59, 0x92, 0x10, + 0x2a, 0xb6, 0xca, 0xe7, 0xeb, 0x3a, 0x4a, 0xf0, 0x1d, 0x94, 0x7c, 0x71, 0x56, 0xa1, 0x61, 0x9c, + 0x5f, 0x35, 0xa1, 0x33, 0x08, 0x46, 0xd4, 0x0b, 0x5d, 0x32, 0xb6, 0xbf, 0x05, 0x6d, 0x3c, 0x41, + 0x94, 0x69, 0x27, 0xdd, 0x9d, 0x71, 0x35, 0x1e, 0x95, 0x2e, 0x19, 0x3f, 0xfa, 0x84, 0xab, 0x68, + 0xec, 0xf7, 0xa1, 0x87, 0xbf, 0x1e, 0xe3, 0x8d, 0x40, 0x1d, 0x00, 0x5f, 0xb8, 0x80, 0x89, 0x5a, + 0x8d, 0xbc, 0x4c, 0x0e, 0x42, 0xa0, 0xa1, 0x47, 0x87, 0xea, 0xcd, 0xed, 0x3c, 0x81, 0x76, 0xe4, + 0x32, 0x25, 0x10, 0xd2, 0x08, 0x6a, 0x4f, 0xf6, 0xcc, 0xea, 0xd5, 0x62, 0x3a, 0x35, 0xb6, 0xd6, + 0x8a, 0x1a, 0x69, 0x04, 0xf5, 0x71, 0x46, 0x47, 0xcf, 0x63, 0x75, 0x95, 0x9b, 0x4e, 0xfd, 0x48, + 0x2e, 0x53, 0xd4, 0x48, 0x23, 0xa8, 0x13, 0x59, 0xed, 0xa4, 0xd1, 0xcf, 0xa3, 0xc6, 0xa2, 0xa8, + 0xa8, 0x91, 0x66, 0xbb, 0x03, 0xf3, 0xb1, 0x77, 0x16, 0x32, 0xcf, 0x77, 0x7e, 0xd7, 0x04, 0xc8, + 0x17, 0x72, 0xd9, 0x63, 0x18, 0x2e, 0xda, 0xb8, 0xd0, 0x45, 0x71, 0x78, 0xa6, 0x39, 0x69, 0x30, + 0xd9, 0x49, 0x5f, 0x9a, 0xd5, 0x49, 0xc8, 0xad, 0xe2, 0xa6, 0x7b, 0x15, 0x37, 0x6d, 0x5c, 0xe8, + 0x26, 0x25, 0x94, 0x72, 0xd4, 0xbd, 0x8a, 0xa3, 0x36, 0x2e, 0x74, 0x94, 0xa2, 0x57, 0xae, 0xba, + 0x57, 0x71, 0xd5, 0xc6, 0x85, 0xae, 0x52, 0xf4, 0xca, 0x59, 0xf7, 0x2a, 0xce, 0xda, 0xb8, 0xd0, + 0x59, 0x8a, 0xbe, 0xee, 0xae, 0x8f, 0x1a, 0xb0, 0x24, 0x4d, 0x86, 0x73, 0x5b, 0x7a, 0xc4, 0xe4, + 0x78, 0x46, 0x9a, 0xcb, 0x7c, 0xa1, 0x32, 0x91, 0xf6, 0x97, 0x61, 0x15, 0x11, 0xea, 0x45, 0x43, + 0xb6, 0x7f, 0x8d, 0xf5, 0xe6, 0x9d, 0x8e, 0x5b, 0xff, 0x20, 0x27, 0x6d, 0x19, 0x4f, 0x59, 0xb4, + 0xeb, 0xa5, 0x5e, 0xde, 0xad, 0x94, 0x18, 0x7d, 0x0e, 0x3a, 0x57, 0x7b, 0xe1, 0x4e, 0x18, 0x8b, + 0x8a, 0x01, 0xa7, 0x82, 0x04, 0x45, 0x1a, 0x44, 0x84, 0x65, 0xa9, 0x2a, 0x13, 0x39, 0x28, 0xce, + 0xd8, 0x88, 0xf8, 0x81, 0x27, 0xa7, 0x87, 0xea, 0x59, 0xa1, 0x40, 0xc8, 0xca, 0x56, 0x4e, 0x43, + 0xd5, 0x0b, 0x74, 0x89, 0xb9, 0x78, 0x72, 0xe9, 0xfc, 0xd9, 0x82, 0xe5, 0x4a, 0x55, 0x11, 0xdd, + 0x13, 0x9e, 0x8b, 0x85, 0xb9, 0x0a, 0xd8, 0xde, 0x02, 0x08, 0x0a, 0x0b, 0x9f, 0x33, 0x26, 0x30, + 0xdd, 0xe0, 0x6a, 0x44, 0x93, 0xa6, 0x85, 0xcd, 0x4b, 0x4f, 0x0b, 0x9d, 0x1f, 0xc2, 0x6a, 0x2d, + 0xe5, 0xe4, 0xc8, 0x8f, 0x9d, 0x10, 0x5a, 0x8c, 0xfc, 0x04, 0xa0, 0x59, 0xbf, 0x51, 0xb5, 0x7e, + 0x18, 0x9c, 0xea, 0xaf, 0xd4, 0x0a, 0x74, 0xfe, 0x6a, 0xc1, 0xda, 0xe4, 0x72, 0x79, 0xbd, 0x8c, + 0x74, 0x08, 0xfd, 0x69, 0x05, 0xe5, 0xca, 0x6c, 0x55, 0x46, 0x52, 0x71, 0x1c, 0x5c, 0x2f, 0x23, + 0xdd, 0xc8, 0x23, 0x49, 0xab, 0x93, 0x9a, 0x56, 0xc5, 0x31, 0x75, 0x4d, 0xf3, 0x43, 0xab, 0xde, + 0xff, 0x03, 0x9f, 0x17, 0xc7, 0xf0, 0x35, 0xf5, 0xb9, 0x76, 0x36, 0x69, 0x5a, 0x15, 0xed, 0xc1, + 0x35, 0xd5, 0x4a, 0x3b, 0x31, 0x9d, 0x9f, 0x40, 0x6f, 0x97, 0x84, 0xfb, 0x7c, 0x94, 0x3f, 0x87, + 0x9e, 0xa7, 0xd2, 0xb4, 0xbf, 0x62, 0x4d, 0x7d, 0x08, 0xad, 0x3e, 0xa2, 0xce, 0xd5, 0x1e, 0x51, + 0x9d, 0x6d, 0x58, 0xd2, 0x05, 0xb8, 0xcc, 0x6b, 0xf0, 0xf6, 0xad, 0x1f, 0xdc, 0xdc, 0x7c, 0x1b, + 0xff, 0xf4, 0xf7, 0x6e, 0xcd, 0x30, 0x87, 0x6d, 0xf9, 0x27, 0xc0, 0xaf, 0xfd, 0x37, 0x00, 0x00, + 0xff, 0xff, 0x73, 0xd0, 0xb9, 0x73, 0x17, 0x28, 0x00, 0x00, } diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 388ce91a6..3ea3882c7 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -451,4 +451,16 @@ message SignalRejectReply { +message DelMsgListReq{ + string opUserID = 1; + string userID = 2; + repeated uint32 seqList = 3; + string operationID = 4; +} + +message DelMsgListResp{ + int32 errCode = 1; + string errMsg = 2; +} + From ab9f3a1635918144b2c47f65024d76684254cb65 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 15 Mar 2022 19:03:22 +0800 Subject: [PATCH 056/129] add friend and blacklist judge --- config/config.yaml | 2 ++ internal/rpc/msg/send_msg.go | 53 ++++++++++++++++++++++++++++-------- pkg/common/config/config.go | 20 +++++++------- 3 files changed, 54 insertions(+), 21 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index cce9bcf2b..21ded2735 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -178,6 +178,8 @@ tokenpolicy: accessSecret: "open_im_server" #token生成相关,默认即可 # Token effective time day as a unit accessExpire: 3650 #token过期时间(天) 默认即可 +messageverify: + friendVerify: false # c2c: # callbackBeforeSendMsg: diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index f28241482..502170ba6 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -7,6 +7,7 @@ import ( "Open_IM/pkg/common/log" "Open_IM/pkg/grpc-etcdv3/getcdv3" pbChat "Open_IM/pkg/proto/chat" + rpc "Open_IM/pkg/proto/friend" pbGroup "Open_IM/pkg/proto/group" sdk_ws "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" @@ -41,16 +42,43 @@ type MsgCallBackResp struct { } } -func userRelationshipVerification(data *pbChat.SendMsgReq) { - - //etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName) - //client := pbChat.NewChatClient(etcdConn) - //reply, err := client.SendMsg(context.Background(), &req) - //if err != nil { - // log.NewError(req.OperationID, "SendMsg rpc failed, ", req.String(), err.Error()) - //} else if reply.ErrCode != 0 { - // log.NewError(req.OperationID, "SendMsg rpc failed, ", req.String()) - //} +func userRelationshipVerification(data *pbChat.SendMsgReq) (bool, int32, string) { + if data.MsgData.SessionType == constant.GroupChatType { + return true, 0, "" + } + req := &rpc.IsInBlackListReq{CommID: &rpc.CommID{}} + req.CommID.OperationID = data.OperationID + req.CommID.OpUserID = data.MsgData.RecvID + req.CommID.FromUserID = data.MsgData.RecvID + req.CommID.ToUserID = data.MsgData.SendID + etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImFriendName) + client := rpc.NewFriendClient(etcdConn) + reply, err := client.IsInBlackList(context.Background(), req) + if err != nil { + log.NewDebug(data.OperationID, "IsInBlackListReq rpc failed, ", req.String(), err.Error()) + return false, 600, err.Error() + } else if reply.Response == false { + log.NewDebug(data.OperationID, "IsInBlackListReq ", req.String()) + return reply.Response, 600, "in black list" + } + if config.Config.MessageVerify.FriendVerify { + friendReq := &rpc.IsFriendReq{CommID: &rpc.CommID{}} + friendReq.CommID.OperationID = data.OperationID + friendReq.CommID.OpUserID = data.MsgData.RecvID + friendReq.CommID.FromUserID = data.MsgData.RecvID + friendReq.CommID.ToUserID = data.MsgData.SendID + friendReply, err := client.IsFriend(context.Background(), friendReq) + if err != nil { + log.NewDebug(data.OperationID, "IsFriendReq rpc failed, ", req.String(), err.Error()) + return false, 601, err.Error() + } else if friendReply.Response == false { + log.NewDebug(data.OperationID, "not friend ", req.String()) + return friendReply.Response, 601, "not friend" + } + } else { + return true, 0, "" + } + return true, 0, "" } func (rpc *rpcChat) encapsulateMsgData(msg *sdk_ws.MsgData) { msg.ServerMsgID = GetMsgID(msg.SendID) @@ -102,7 +130,10 @@ func (rpc *rpcChat) encapsulateMsgData(msg *sdk_ws.MsgData) { func (rpc *rpcChat) SendMsg(_ context.Context, pb *pbChat.SendMsgReq) (*pbChat.SendMsgResp, error) { replay := pbChat.SendMsgResp{} log.NewDebug(pb.OperationID, "rpc sendMsg come here", pb.String()) - userRelationshipVerification(pb) + flag, errCode, errMsg := userRelationshipVerification(pb) + if !flag { + return returnMsg(&replay, pb, errCode, errMsg, "", 0) + } //if !utils.VerifyToken(pb.Token, pb.SendID) { // return returnMsg(&replay, pb, http.StatusUnauthorized, "token validate err,not authorized", "", 0) rpc.encapsulateMsgData(pb.MsgData) diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index e29d7c6b0..dde2e6d62 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -20,8 +20,8 @@ var ( var Config config type callBackConfig struct { - Enable bool `yaml:"enable"` - CallbackTimeOut int `yaml:"callbackTimeOut"` + Enable bool `yaml:"enable"` + CallbackTimeOut int `yaml:"callbackTimeOut"` CallbackFailedContinue bool `callbackFailedContinue` } @@ -31,7 +31,7 @@ type config struct { Api struct { GinPort []int `yaml:"openImApiPort"` } - CmsApi struct{ + CmsApi struct { GinPort []int `yaml:"openImCmsApiPort"` } Sdk struct { @@ -173,8 +173,8 @@ type config struct { AccessSecret string `yaml:"accessSecret"` AccessExpire int64 `yaml:"accessExpire"` } - MessageJudge struct { - IsJudgeFriend bool `yaml:"isJudgeFriend"` + MessageVerify struct { + FriendVerify bool `yaml:"friendVerify"` } IOSPush struct { PushSound string `yaml:"pushSound"` @@ -182,12 +182,12 @@ type config struct { } Callback struct { - CallbackUrl string `yaml:"callbackUrl"` + CallbackUrl string `yaml:"callbackUrl"` CallbackBeforeSendSingleMsg callBackConfig `yaml:"callbackbeforeSendSingleMsg"` - CallbackAfterSendSingleMsg callBackConfig `yaml:"callbackAfterSendSingleMsg"` - CallbackBeforeSendGroupMsg callBackConfig `yaml:"callbackBeforeSendGroupMsg"` - CallbackAfterSendGroupMsg callBackConfig `yaml:"callbackAfterSendGroupMsg"` - CallbackWordFilter callBackConfig `yaml:"callbackWordFilter"` + CallbackAfterSendSingleMsg callBackConfig `yaml:"callbackAfterSendSingleMsg"` + CallbackBeforeSendGroupMsg callBackConfig `yaml:"callbackBeforeSendGroupMsg"` + CallbackAfterSendGroupMsg callBackConfig `yaml:"callbackAfterSendGroupMsg"` + CallbackWordFilter callBackConfig `yaml:"callbackWordFilter"` } `yaml:"callback"` Notification struct { ///////////////////////group///////////////////////////// From ab4aee93c1501b9afd77c8949f623800aaf933a9 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Tue, 15 Mar 2022 19:08:40 +0800 Subject: [PATCH 057/129] delete msg from server --- pkg/proto/sdk_ws/ws.proto | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 3ea3882c7..4c7ba4c8b 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -447,10 +447,6 @@ message SignalRejectReply { } - - - - message DelMsgListReq{ string opUserID = 1; string userID = 2; From 5f37414fee99ee6d22f7f4f19562b1d9157ef96d Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Wed, 16 Mar 2022 10:44:58 +0800 Subject: [PATCH 058/129] delete msg from server --- pkg/proto/chat/chat.pb.go | 2 +- pkg/proto/chat/chat.proto | 8 +++++--- pkg/proto/sdk_ws/ws.proto | 3 +-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/pkg/proto/chat/chat.pb.go b/pkg/proto/chat/chat.pb.go index 07a78b542..eb385ede8 100644 --- a/pkg/proto/chat/chat.pb.go +++ b/pkg/proto/chat/chat.pb.go @@ -6,7 +6,7 @@ package pbChat // import "./chat" import proto "github.com/golang/protobuf/proto" import fmt "fmt" import math "math" -import sdk_ws "./sdk_ws" +import sdk_ws "Open_IM/pkg/proto/sdk_ws" import ( context "golang.org/x/net/context" diff --git a/pkg/proto/chat/chat.proto b/pkg/proto/chat/chat.proto index cd67ed069..21ba8c4aa 100644 --- a/pkg/proto/chat/chat.proto +++ b/pkg/proto/chat/chat.proto @@ -1,7 +1,9 @@ syntax = "proto3"; import "Open_IM/pkg/proto/sdk_ws/ws.proto"; -package pbChat;//The package name to which the proto file belongs -option go_package = "./chat;pbChat";//The generated go pb file is in the current directory, and the package name is pbChat +option go_package = "./chat;pbChat"; +package pbChat; + + message MsgDataToMQ{ string token =1; @@ -76,5 +78,5 @@ service Chat { rpc GetMaxAndMinSeq(GetMaxAndMinSeqReq) returns(GetMaxAndMinSeqResp); rpc PullMessageBySeqList(server_api_params.PullMessageBySeqListReq) returns(server_api_params.PullMessageBySeqListResp); rpc SendMsg(SendMsgReq) returns(SendMsgResp); - rpc DelMsgList(server_api_params.DelMsgListReq) returns(server_api_params.DelMsgListResp); + // rpc DelMsgList(server_api_params.DelMsgListReq) returns(server_api_params.DelMsgListResp); } diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 4c7ba4c8b..d247cb107 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -1,7 +1,6 @@ syntax = "proto3"; option go_package = "./sdk_ws;server_api_params"; -package server_api_params;//The package name to which the proto file belongs -//option go_package = "./sdk_ws;open_im_sdk";//The generated go pb file is in the current directory, and the package name is open_im_sdk +package server_api_params; ////////////////////////////////base/////////////////////////////// From 10884b8175dc7270c353296cf06ab5dd65459788 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 16 Mar 2022 11:18:59 +0800 Subject: [PATCH 059/129] add friend and blacklist judge --- internal/rpc/msg/send_msg.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index 502170ba6..8c2c47113 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -130,10 +130,10 @@ func (rpc *rpcChat) encapsulateMsgData(msg *sdk_ws.MsgData) { func (rpc *rpcChat) SendMsg(_ context.Context, pb *pbChat.SendMsgReq) (*pbChat.SendMsgResp, error) { replay := pbChat.SendMsgResp{} log.NewDebug(pb.OperationID, "rpc sendMsg come here", pb.String()) - flag, errCode, errMsg := userRelationshipVerification(pb) - if !flag { - return returnMsg(&replay, pb, errCode, errMsg, "", 0) - } + //flag, errCode, errMsg := userRelationshipVerification(pb) + //if !flag { + // return returnMsg(&replay, pb, errCode, errMsg, "", 0) + //} //if !utils.VerifyToken(pb.Token, pb.SendID) { // return returnMsg(&replay, pb, http.StatusUnauthorized, "token validate err,not authorized", "", 0) rpc.encapsulateMsgData(pb.MsgData) From 852d3b9f485e69dd0c2228e58a2358652a462733 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 16 Mar 2022 11:25:44 +0800 Subject: [PATCH 060/129] add friend and blacklist judge --- internal/rpc/msg/send_msg.go | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index 8c2c47113..3f99ec272 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -56,10 +56,9 @@ func userRelationshipVerification(data *pbChat.SendMsgReq) (bool, int32, string) reply, err := client.IsInBlackList(context.Background(), req) if err != nil { log.NewDebug(data.OperationID, "IsInBlackListReq rpc failed, ", req.String(), err.Error()) - return false, 600, err.Error() - } else if reply.Response == false { + } else if reply.Response == true { log.NewDebug(data.OperationID, "IsInBlackListReq ", req.String()) - return reply.Response, 600, "in black list" + return false, 600, "in black list" } if config.Config.MessageVerify.FriendVerify { friendReq := &rpc.IsFriendReq{CommID: &rpc.CommID{}} @@ -70,7 +69,7 @@ func userRelationshipVerification(data *pbChat.SendMsgReq) (bool, int32, string) friendReply, err := client.IsFriend(context.Background(), friendReq) if err != nil { log.NewDebug(data.OperationID, "IsFriendReq rpc failed, ", req.String(), err.Error()) - return false, 601, err.Error() + return true, 0, "" } else if friendReply.Response == false { log.NewDebug(data.OperationID, "not friend ", req.String()) return friendReply.Response, 601, "not friend" @@ -130,10 +129,10 @@ func (rpc *rpcChat) encapsulateMsgData(msg *sdk_ws.MsgData) { func (rpc *rpcChat) SendMsg(_ context.Context, pb *pbChat.SendMsgReq) (*pbChat.SendMsgResp, error) { replay := pbChat.SendMsgResp{} log.NewDebug(pb.OperationID, "rpc sendMsg come here", pb.String()) - //flag, errCode, errMsg := userRelationshipVerification(pb) - //if !flag { - // return returnMsg(&replay, pb, errCode, errMsg, "", 0) - //} + flag, errCode, errMsg := userRelationshipVerification(pb) + if !flag { + return returnMsg(&replay, pb, errCode, errMsg, "", 0) + } //if !utils.VerifyToken(pb.Token, pb.SendID) { // return returnMsg(&replay, pb, http.StatusUnauthorized, "token validate err,not authorized", "", 0) rpc.encapsulateMsgData(pb.MsgData) From 27c6a187a2233bdb80202861c9f4397a59ddfcd7 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Wed, 16 Mar 2022 14:13:30 +0800 Subject: [PATCH 061/129] signaling --- pkg/proto/sdk_ws/ws.pb.go | 572 ++++++++++++++++++++++---------------- pkg/proto/sdk_ws/ws.proto | 9 + 2 files changed, 341 insertions(+), 240 deletions(-) diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index 96cd97cec..c4bc9ec2a 100644 --- a/pkg/proto/sdk_ws/ws.pb.go +++ b/pkg/proto/sdk_ws/ws.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // source: sdk_ws/ws.proto -package server_api_params // import "./sdk_ws" +package server_api_params // import "Open_IM/pkg/proto/sdk_ws" import proto "github.com/golang/protobuf/proto" import fmt "fmt" @@ -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_b3df638d3f68a57a, []int{0} + return fileDescriptor_ws_cdfe09251fc3838b, []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_b3df638d3f68a57a, []int{1} + return fileDescriptor_ws_cdfe09251fc3838b, []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_b3df638d3f68a57a, []int{2} + return fileDescriptor_ws_cdfe09251fc3838b, []int{2} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -344,7 +344,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} } func (m *UserInfo) String() string { return proto.CompactTextString(m) } func (*UserInfo) ProtoMessage() {} func (*UserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{3} + return fileDescriptor_ws_cdfe09251fc3838b, []int{3} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -451,7 +451,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} } func (m *FriendInfo) String() string { return proto.CompactTextString(m) } func (*FriendInfo) ProtoMessage() {} func (*FriendInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{4} + return fileDescriptor_ws_cdfe09251fc3838b, []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_b3df638d3f68a57a, []int{5} + return fileDescriptor_ws_cdfe09251fc3838b, []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_b3df638d3f68a57a, []int{6} + return fileDescriptor_ws_cdfe09251fc3838b, []int{6} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -725,7 +725,7 @@ func (m *FriendRequest) Reset() { *m = FriendRequest{} } func (m *FriendRequest) String() string { return proto.CompactTextString(m) } func (*FriendRequest) ProtoMessage() {} func (*FriendRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{7} + return fileDescriptor_ws_cdfe09251fc3838b, []int{7} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -863,7 +863,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{8} + return fileDescriptor_ws_cdfe09251fc3838b, []int{8} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -917,7 +917,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{9} + return fileDescriptor_ws_cdfe09251fc3838b, []int{9} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -968,7 +968,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{10} + return fileDescriptor_ws_cdfe09251fc3838b, []int{10} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1000,7 +1000,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{11} + return fileDescriptor_ws_cdfe09251fc3838b, []int{11} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1047,7 +1047,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{12} + return fileDescriptor_ws_cdfe09251fc3838b, []int{12} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1116,7 +1116,7 @@ func (m *MsgData) Reset() { *m = MsgData{} } func (m *MsgData) String() string { return proto.CompactTextString(m) } func (*MsgData) ProtoMessage() {} func (*MsgData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{13} + return fileDescriptor_ws_cdfe09251fc3838b, []int{13} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -1277,7 +1277,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{14} + return fileDescriptor_ws_cdfe09251fc3838b, []int{14} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -1345,7 +1345,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} } func (m *TipsComm) String() string { return proto.CompactTextString(m) } func (*TipsComm) ProtoMessage() {} func (*TipsComm) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{15} + return fileDescriptor_ws_cdfe09251fc3838b, []int{15} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -1402,7 +1402,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} } func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } func (*GroupCreatedTips) ProtoMessage() {} func (*GroupCreatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{16} + return fileDescriptor_ws_cdfe09251fc3838b, []int{16} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -1471,7 +1471,7 @@ func (m *GroupInfoSetTips) Reset() { *m = GroupInfoSetTips{} } func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupInfoSetTips) ProtoMessage() {} func (*GroupInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{17} + return fileDescriptor_ws_cdfe09251fc3838b, []int{17} } func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) @@ -1526,7 +1526,7 @@ func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTi func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } func (*JoinGroupApplicationTips) ProtoMessage() {} func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{18} + return fileDescriptor_ws_cdfe09251fc3838b, []int{18} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -1582,7 +1582,7 @@ func (m *MemberQuitTips) Reset() { *m = MemberQuitTips{} } func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) } func (*MemberQuitTips) ProtoMessage() {} func (*MemberQuitTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{19} + return fileDescriptor_ws_cdfe09251fc3838b, []int{19} } func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) @@ -1637,7 +1637,7 @@ func (m *GroupApplicationAcceptedTips) Reset() { *m = GroupApplicationAc func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationAcceptedTips) ProtoMessage() {} func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{20} + return fileDescriptor_ws_cdfe09251fc3838b, []int{20} } func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) @@ -1692,7 +1692,7 @@ func (m *GroupApplicationRejectedTips) Reset() { *m = GroupApplicationRe func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationRejectedTips) ProtoMessage() {} func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{21} + return fileDescriptor_ws_cdfe09251fc3838b, []int{21} } func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) @@ -1748,7 +1748,7 @@ func (m *GroupOwnerTransferredTips) Reset() { *m = GroupOwnerTransferred func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) } func (*GroupOwnerTransferredTips) ProtoMessage() {} func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{22} + return fileDescriptor_ws_cdfe09251fc3838b, []int{22} } func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) @@ -1811,7 +1811,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} } func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } func (*MemberKickedTips) ProtoMessage() {} func (*MemberKickedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{23} + return fileDescriptor_ws_cdfe09251fc3838b, []int{23} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -1874,7 +1874,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} } func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } func (*MemberInvitedTips) ProtoMessage() {} func (*MemberInvitedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{24} + return fileDescriptor_ws_cdfe09251fc3838b, []int{24} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -1936,7 +1936,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} } func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } func (*MemberEnterTips) ProtoMessage() {} func (*MemberEnterTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{25} + return fileDescriptor_ws_cdfe09251fc3838b, []int{25} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -1990,7 +1990,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_b3df638d3f68a57a, []int{26} + return fileDescriptor_ws_cdfe09251fc3838b, []int{26} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -2043,7 +2043,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_b3df638d3f68a57a, []int{27} + return fileDescriptor_ws_cdfe09251fc3838b, []int{27} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -2089,7 +2089,7 @@ func (m *FriendApplicationTips) Reset() { *m = FriendApplicationTips{} } func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationTips) ProtoMessage() {} func (*FriendApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{28} + return fileDescriptor_ws_cdfe09251fc3838b, []int{28} } func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) @@ -2129,7 +2129,7 @@ func (m *FriendApplicationApprovedTips) Reset() { *m = FriendApplication func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationApprovedTips) ProtoMessage() {} func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{29} + return fileDescriptor_ws_cdfe09251fc3838b, []int{29} } func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) @@ -2176,7 +2176,7 @@ func (m *FriendApplicationRejectedTips) Reset() { *m = FriendApplication func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationRejectedTips) ProtoMessage() {} func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{30} + return fileDescriptor_ws_cdfe09251fc3838b, []int{30} } func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) @@ -2224,7 +2224,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_b3df638d3f68a57a, []int{31} + return fileDescriptor_ws_cdfe09251fc3838b, []int{31} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -2277,7 +2277,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_b3df638d3f68a57a, []int{32} + return fileDescriptor_ws_cdfe09251fc3838b, []int{32} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -2315,7 +2315,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_b3df638d3f68a57a, []int{33} + return fileDescriptor_ws_cdfe09251fc3838b, []int{33} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -2353,7 +2353,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_b3df638d3f68a57a, []int{34} + return fileDescriptor_ws_cdfe09251fc3838b, []int{34} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -2391,7 +2391,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_b3df638d3f68a57a, []int{35} + return fileDescriptor_ws_cdfe09251fc3838b, []int{35} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -2430,7 +2430,7 @@ func (m *UserInfoUpdatedTips) Reset() { *m = UserInfoUpdatedTips{} } func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (*UserInfoUpdatedTips) ProtoMessage() {} func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{36} + return fileDescriptor_ws_cdfe09251fc3838b, []int{36} } func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) @@ -2469,7 +2469,7 @@ func (m *ConversationUpdateTips) Reset() { *m = ConversationUpdateTips{} func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) } func (*ConversationUpdateTips) ProtoMessage() {} func (*ConversationUpdateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{37} + return fileDescriptor_ws_cdfe09251fc3838b, []int{37} } func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) @@ -2509,7 +2509,7 @@ func (m *RequestPagination) Reset() { *m = RequestPagination{} } func (m *RequestPagination) String() string { return proto.CompactTextString(m) } func (*RequestPagination) ProtoMessage() {} func (*RequestPagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{38} + return fileDescriptor_ws_cdfe09251fc3838b, []int{38} } func (m *RequestPagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RequestPagination.Unmarshal(m, b) @@ -2555,7 +2555,7 @@ func (m *ResponsePagination) Reset() { *m = ResponsePagination{} } func (m *ResponsePagination) String() string { return proto.CompactTextString(m) } func (*ResponsePagination) ProtoMessage() {} func (*ResponsePagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{39} + return fileDescriptor_ws_cdfe09251fc3838b, []int{39} } func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) @@ -2608,7 +2608,7 @@ func (m *SignalReq) Reset() { *m = SignalReq{} } func (m *SignalReq) String() string { return proto.CompactTextString(m) } func (*SignalReq) ProtoMessage() {} func (*SignalReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{40} + return fileDescriptor_ws_cdfe09251fc3838b, []int{40} } func (m *SignalReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalReq.Unmarshal(m, b) @@ -2875,7 +2875,7 @@ func (m *SignalResp) Reset() { *m = SignalResp{} } func (m *SignalResp) String() string { return proto.CompactTextString(m) } func (*SignalResp) ProtoMessage() {} func (*SignalResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{41} + return fileDescriptor_ws_cdfe09251fc3838b, []int{41} } func (m *SignalResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalResp.Unmarshal(m, b) @@ -3143,7 +3143,7 @@ func (m *InvitationInfo) Reset() { *m = InvitationInfo{} } func (m *InvitationInfo) String() string { return proto.CompactTextString(m) } func (*InvitationInfo) ProtoMessage() {} func (*InvitationInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{42} + return fileDescriptor_ws_cdfe09251fc3838b, []int{42} } func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) @@ -3226,20 +3226,75 @@ func (m *InvitationInfo) GetSessionType() int32 { return 0 } +type ParticipantMetaData struct { + GroupInfo *GroupInfo `protobuf:"bytes,1,opt,name=groupInfo" json:"groupInfo,omitempty"` + GroupMemberInfo *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=groupMemberInfo" json:"groupMemberInfo,omitempty"` + UserInfo *PublicUserInfo `protobuf:"bytes,3,opt,name=userInfo" json:"userInfo,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ParticipantMetaData) Reset() { *m = ParticipantMetaData{} } +func (m *ParticipantMetaData) String() string { return proto.CompactTextString(m) } +func (*ParticipantMetaData) ProtoMessage() {} +func (*ParticipantMetaData) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_cdfe09251fc3838b, []int{43} +} +func (m *ParticipantMetaData) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ParticipantMetaData.Unmarshal(m, b) +} +func (m *ParticipantMetaData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ParticipantMetaData.Marshal(b, m, deterministic) +} +func (dst *ParticipantMetaData) XXX_Merge(src proto.Message) { + xxx_messageInfo_ParticipantMetaData.Merge(dst, src) +} +func (m *ParticipantMetaData) XXX_Size() int { + return xxx_messageInfo_ParticipantMetaData.Size(m) +} +func (m *ParticipantMetaData) XXX_DiscardUnknown() { + xxx_messageInfo_ParticipantMetaData.DiscardUnknown(m) +} + +var xxx_messageInfo_ParticipantMetaData proto.InternalMessageInfo + +func (m *ParticipantMetaData) GetGroupInfo() *GroupInfo { + if m != nil { + return m.GroupInfo + } + return nil +} + +func (m *ParticipantMetaData) GetGroupMemberInfo() *GroupMemberFullInfo { + if m != nil { + return m.GroupMemberInfo + } + return nil +} + +func (m *ParticipantMetaData) GetUserInfo() *PublicUserInfo { + if m != nil { + return m.UserInfo + } + return nil +} + type SignalInviteReq struct { - OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` - Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` - OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` + OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` + Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant" json:"participant,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *SignalInviteReq) Reset() { *m = SignalInviteReq{} } func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteReq) ProtoMessage() {} func (*SignalInviteReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{43} + return fileDescriptor_ws_cdfe09251fc3838b, []int{44} } func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) @@ -3280,6 +3335,13 @@ func (m *SignalInviteReq) GetOfflinePushInfo() *OfflinePushInfo { return nil } +func (m *SignalInviteReq) GetParticipant() *ParticipantMetaData { + if m != nil { + return m.Participant + } + return nil +} + type SignalInviteReply struct { Token string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` RoomID string `protobuf:"bytes,2,opt,name=roomID" json:"roomID,omitempty"` @@ -3293,7 +3355,7 @@ func (m *SignalInviteReply) Reset() { *m = SignalInviteReply{} } func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteReply) ProtoMessage() {} func (*SignalInviteReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{44} + return fileDescriptor_ws_cdfe09251fc3838b, []int{45} } func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) @@ -3335,19 +3397,20 @@ func (m *SignalInviteReply) GetLiveURL() string { } type SignalInviteInGroupReq struct { - OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` - Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` - OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` + OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` + Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant" json:"participant,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *SignalInviteInGroupReq) Reset() { *m = SignalInviteInGroupReq{} } func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReq) ProtoMessage() {} func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{45} + return fileDescriptor_ws_cdfe09251fc3838b, []int{46} } func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) @@ -3388,6 +3451,13 @@ func (m *SignalInviteInGroupReq) GetOfflinePushInfo() *OfflinePushInfo { return nil } +func (m *SignalInviteInGroupReq) GetParticipant() *ParticipantMetaData { + if m != nil { + return m.Participant + } + return nil +} + type SignalInviteInGroupReply struct { Token string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` RoomID string `protobuf:"bytes,2,opt,name=roomID" json:"roomID,omitempty"` @@ -3401,7 +3471,7 @@ func (m *SignalInviteInGroupReply) Reset() { *m = SignalInviteInGroupRep func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReply) ProtoMessage() {} func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{46} + return fileDescriptor_ws_cdfe09251fc3838b, []int{47} } func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) @@ -3443,19 +3513,20 @@ func (m *SignalInviteInGroupReply) GetLiveURL() string { } type SignalCancelReq struct { - OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` - Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` - OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` + OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` + Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant" json:"participant,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *SignalCancelReq) Reset() { *m = SignalCancelReq{} } func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) } func (*SignalCancelReq) ProtoMessage() {} func (*SignalCancelReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{47} + return fileDescriptor_ws_cdfe09251fc3838b, []int{48} } func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) @@ -3496,6 +3567,13 @@ func (m *SignalCancelReq) GetOfflinePushInfo() *OfflinePushInfo { return nil } +func (m *SignalCancelReq) GetParticipant() *ParticipantMetaData { + if m != nil { + return m.Participant + } + return nil +} + type SignalCancelReply struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -3506,7 +3584,7 @@ func (m *SignalCancelReply) Reset() { *m = SignalCancelReply{} } func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) } func (*SignalCancelReply) ProtoMessage() {} func (*SignalCancelReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{48} + return fileDescriptor_ws_cdfe09251fc3838b, []int{49} } func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) @@ -3527,19 +3605,20 @@ func (m *SignalCancelReply) XXX_DiscardUnknown() { var xxx_messageInfo_SignalCancelReply proto.InternalMessageInfo type SignalAcceptReq struct { - OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` - Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` - OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` + OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` + Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant" json:"participant,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *SignalAcceptReq) Reset() { *m = SignalAcceptReq{} } func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReq) ProtoMessage() {} func (*SignalAcceptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{49} + return fileDescriptor_ws_cdfe09251fc3838b, []int{50} } func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) @@ -3580,6 +3659,13 @@ func (m *SignalAcceptReq) GetOfflinePushInfo() *OfflinePushInfo { return nil } +func (m *SignalAcceptReq) GetParticipant() *ParticipantMetaData { + if m != nil { + return m.Participant + } + return nil +} + type SignalAcceptReply struct { Token string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` RoomID string `protobuf:"bytes,2,opt,name=roomID" json:"roomID,omitempty"` @@ -3593,7 +3679,7 @@ func (m *SignalAcceptReply) Reset() { *m = SignalAcceptReply{} } func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReply) ProtoMessage() {} func (*SignalAcceptReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{50} + return fileDescriptor_ws_cdfe09251fc3838b, []int{51} } func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) @@ -3647,7 +3733,7 @@ func (m *SignalHungUpReq) Reset() { *m = SignalHungUpReq{} } func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReq) ProtoMessage() {} func (*SignalHungUpReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{51} + return fileDescriptor_ws_cdfe09251fc3838b, []int{52} } func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) @@ -3698,7 +3784,7 @@ func (m *SignalHungUpReply) Reset() { *m = SignalHungUpReply{} } func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReply) ProtoMessage() {} func (*SignalHungUpReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{52} + return fileDescriptor_ws_cdfe09251fc3838b, []int{53} } func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) @@ -3731,7 +3817,7 @@ func (m *SignalRejectReq) Reset() { *m = SignalRejectReq{} } func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) } func (*SignalRejectReq) ProtoMessage() {} func (*SignalRejectReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{53} + return fileDescriptor_ws_cdfe09251fc3838b, []int{54} } func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) @@ -3782,7 +3868,7 @@ func (m *SignalRejectReply) Reset() { *m = SignalRejectReply{} } func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) } func (*SignalRejectReply) ProtoMessage() {} func (*SignalRejectReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{54} + return fileDescriptor_ws_cdfe09251fc3838b, []int{55} } func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) @@ -3816,7 +3902,7 @@ func (m *DelMsgListReq) Reset() { *m = DelMsgListReq{} } func (m *DelMsgListReq) String() string { return proto.CompactTextString(m) } func (*DelMsgListReq) ProtoMessage() {} func (*DelMsgListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{55} + return fileDescriptor_ws_cdfe09251fc3838b, []int{56} } func (m *DelMsgListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListReq.Unmarshal(m, b) @@ -3876,7 +3962,7 @@ func (m *DelMsgListResp) Reset() { *m = DelMsgListResp{} } func (m *DelMsgListResp) String() string { return proto.CompactTextString(m) } func (*DelMsgListResp) ProtoMessage() {} func (*DelMsgListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_b3df638d3f68a57a, []int{56} + return fileDescriptor_ws_cdfe09251fc3838b, []int{57} } func (m *DelMsgListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListResp.Unmarshal(m, b) @@ -3955,6 +4041,7 @@ func init() { proto.RegisterType((*SignalReq)(nil), "server_api_params.SignalReq") proto.RegisterType((*SignalResp)(nil), "server_api_params.SignalResp") proto.RegisterType((*InvitationInfo)(nil), "server_api_params.InvitationInfo") + proto.RegisterType((*ParticipantMetaData)(nil), "server_api_params.ParticipantMetaData") proto.RegisterType((*SignalInviteReq)(nil), "server_api_params.SignalInviteReq") proto.RegisterType((*SignalInviteReply)(nil), "server_api_params.SignalInviteReply") proto.RegisterType((*SignalInviteInGroupReq)(nil), "server_api_params.SignalInviteInGroupReq") @@ -3971,163 +4058,168 @@ func init() { proto.RegisterType((*DelMsgListResp)(nil), "server_api_params.DelMsgListResp") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_b3df638d3f68a57a) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_cdfe09251fc3838b) } -var fileDescriptor_ws_b3df638d3f68a57a = []byte{ - // 2474 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x1a, 0x4d, 0x6f, 0xe4, 0x48, - 0x15, 0x77, 0xa7, 0x3b, 0xe9, 0xd7, 0xe9, 0x7c, 0x78, 0x96, 0xd0, 0x0c, 0xb3, 0x43, 0xb0, 0xa2, - 0x65, 0xf8, 0xca, 0xa2, 0x41, 0x48, 0xb0, 0x0b, 0x83, 0xf2, 0x31, 0x5f, 0x4b, 0x32, 0x93, 0x75, - 0xcf, 0xb0, 0x08, 0x90, 0x46, 0x4e, 0xbb, 0xd2, 0xf1, 0xc6, 0xae, 0x72, 0xbb, 0xec, 0xcc, 0x44, - 0x42, 0x42, 0x02, 0x89, 0x7f, 0x00, 0x57, 0x24, 0x2e, 0x08, 0x09, 0xa1, 0xbd, 0x20, 0x2e, 0x88, - 0x13, 0xfc, 0x00, 0xce, 0xfc, 0x05, 0xae, 0x1c, 0x90, 0x90, 0x40, 0x55, 0xaf, 0x6c, 0x57, 0xd9, - 0xdd, 0x49, 0x2b, 0x0a, 0x3b, 0xe4, 0xd6, 0xef, 0xb9, 0xde, 0xab, 0xf7, 0x5d, 0xaf, 0x5e, 0x35, - 0x2c, 0x73, 0xff, 0xe4, 0xc5, 0x4b, 0xfe, 0xf6, 0x4b, 0xbe, 0x19, 0x27, 0x2c, 0x65, 0xf6, 0x2a, - 0x27, 0xc9, 0x29, 0x49, 0x5e, 0x78, 0x71, 0xf0, 0x22, 0xf6, 0x12, 0x2f, 0xe2, 0xce, 0x3f, 0x1b, - 0xd0, 0x79, 0x98, 0xb0, 0x2c, 0x7e, 0x4c, 0x8f, 0x98, 0xdd, 0x87, 0xf9, 0x91, 0x04, 0x76, 0xfb, - 0xd6, 0xba, 0x75, 0xa7, 0xe3, 0xe6, 0xa0, 0x7d, 0x0b, 0x3a, 0xf2, 0xe7, 0x13, 0x2f, 0x22, 0xfd, - 0x86, 0xfc, 0x56, 0x22, 0x6c, 0x07, 0x16, 0x29, 0x4b, 0x83, 0xa3, 0x60, 0xe8, 0xa5, 0x01, 0xa3, - 0xfd, 0xa6, 0x5c, 0x60, 0xe0, 0xc4, 0x9a, 0x80, 0xa6, 0x09, 0xf3, 0xb3, 0xa1, 0x5c, 0x33, 0x87, - 0x6b, 0x74, 0x9c, 0xd8, 0xff, 0xc8, 0x1b, 0x92, 0xe7, 0xee, 0x5e, 0xbf, 0x85, 0xfb, 0x2b, 0xd0, - 0x5e, 0x87, 0x2e, 0x7b, 0x49, 0x49, 0xf2, 0x9c, 0x93, 0xe4, 0xf1, 0x6e, 0xbf, 0x2d, 0xbf, 0xea, - 0x28, 0xfb, 0x36, 0xc0, 0x30, 0x21, 0x5e, 0x4a, 0x9e, 0x05, 0x11, 0xe9, 0xcf, 0xaf, 0x5b, 0x77, - 0x7a, 0xae, 0x86, 0x11, 0x1c, 0x22, 0x12, 0x1d, 0x92, 0x64, 0x87, 0x65, 0x34, 0xed, 0x2f, 0xc8, - 0x05, 0x3a, 0xca, 0x5e, 0x82, 0x06, 0x79, 0xd5, 0xef, 0x48, 0xd6, 0x0d, 0xf2, 0xca, 0x5e, 0x83, - 0x36, 0x4f, 0xbd, 0x34, 0xe3, 0x7d, 0x58, 0xb7, 0xee, 0xb4, 0x5c, 0x05, 0xd9, 0x1b, 0xd0, 0x93, - 0x7c, 0x59, 0x2e, 0x4d, 0x57, 0x92, 0x98, 0xc8, 0xc2, 0x62, 0xcf, 0xce, 0x62, 0xd2, 0x5f, 0x94, - 0x0c, 0x4a, 0x84, 0xf3, 0xc7, 0x06, 0xdc, 0x90, 0x76, 0xdf, 0x97, 0x02, 0x3c, 0xc8, 0xc2, 0xf0, - 0x02, 0x0f, 0xac, 0x41, 0x3b, 0xc3, 0xed, 0xd0, 0xfc, 0x0a, 0x12, 0xfb, 0x24, 0x2c, 0x24, 0x7b, - 0xe4, 0x94, 0x84, 0xd2, 0xf0, 0x2d, 0xb7, 0x44, 0xd8, 0x37, 0x61, 0xe1, 0x43, 0x16, 0x50, 0x69, - 0x93, 0x39, 0xf9, 0xb1, 0x80, 0xc5, 0x37, 0x1a, 0x0c, 0x4f, 0xa8, 0x70, 0x29, 0x9a, 0xbb, 0x80, - 0x75, 0x4f, 0xb4, 0x4d, 0x4f, 0xbc, 0x05, 0x4b, 0x5e, 0x1c, 0xef, 0x7b, 0x74, 0x44, 0x12, 0xdc, - 0x74, 0x5e, 0xf2, 0xad, 0x60, 0x85, 0x3f, 0xc4, 0x4e, 0x03, 0x96, 0x25, 0x43, 0x22, 0xcd, 0xdd, - 0x72, 0x35, 0x8c, 0xe0, 0xc3, 0x62, 0x92, 0x68, 0x66, 0x44, 0xcb, 0x57, 0xb0, 0xca, 0x2b, 0x90, - 0x7b, 0xc5, 0xf9, 0xb9, 0x05, 0x4b, 0x07, 0xd9, 0x61, 0x18, 0x0c, 0xe5, 0x02, 0x61, 0xb4, 0xd2, - 0x34, 0x96, 0x61, 0x1a, 0x5d, 0xc1, 0xc6, 0x74, 0x05, 0x9b, 0xa6, 0x82, 0x6b, 0xd0, 0x1e, 0x11, - 0xea, 0x93, 0x44, 0x19, 0x4c, 0x41, 0x4a, 0x90, 0x56, 0x21, 0xc8, 0x2f, 0x1b, 0xb0, 0xf0, 0x31, - 0x8b, 0xb0, 0x0e, 0xdd, 0xf8, 0x98, 0x51, 0xf2, 0x24, 0x13, 0x41, 0xa3, 0x64, 0xd1, 0x51, 0xf6, - 0x1b, 0xd0, 0x3a, 0x0c, 0x92, 0xf4, 0x58, 0x7a, 0xad, 0xe7, 0x22, 0x20, 0xb0, 0x24, 0xf2, 0x02, - 0x74, 0x55, 0xc7, 0x45, 0x40, 0x29, 0xb4, 0x50, 0xc4, 0xbb, 0x99, 0x41, 0x9d, 0x5a, 0x06, 0xd5, - 0x3d, 0x0f, 0x93, 0x3c, 0xef, 0xfc, 0xcb, 0x02, 0x78, 0x90, 0x04, 0x84, 0xfa, 0xd2, 0x34, 0x95, - 0xd4, 0xb5, 0xea, 0xa9, 0xbb, 0x06, 0xed, 0x84, 0x44, 0x5e, 0x72, 0x92, 0x87, 0x36, 0x42, 0x15, - 0x81, 0x9a, 0x35, 0x81, 0xde, 0x05, 0x38, 0x92, 0xfb, 0x08, 0x3e, 0xd2, 0x54, 0xdd, 0xbb, 0x9f, - 0xd9, 0xac, 0x15, 0xb9, 0xcd, 0xdc, 0x4b, 0xae, 0xb6, 0x5c, 0xe4, 0x8d, 0xe7, 0xfb, 0x2a, 0x3c, - 0x5b, 0x98, 0x37, 0x05, 0x62, 0x42, 0x74, 0xb6, 0xcf, 0x89, 0xce, 0xf9, 0x22, 0x28, 0xfe, 0x61, - 0x41, 0x67, 0x3b, 0xf4, 0x86, 0x27, 0x33, 0xaa, 0x6e, 0xaa, 0xd8, 0xa8, 0xa9, 0xf8, 0x10, 0x7a, - 0x87, 0x82, 0x5d, 0xae, 0x82, 0xb4, 0x42, 0xf7, 0xee, 0xe7, 0x26, 0x68, 0x69, 0x26, 0x85, 0x6b, - 0xd2, 0x99, 0xea, 0xce, 0x5d, 0xac, 0x6e, 0xeb, 0x1c, 0x75, 0xdb, 0x85, 0xba, 0x7f, 0x6b, 0xc0, - 0xa2, 0x2c, 0x63, 0x2e, 0x19, 0x67, 0x84, 0xa7, 0xf6, 0xb7, 0x61, 0x21, 0xcb, 0x45, 0xb5, 0x66, - 0x15, 0xb5, 0x20, 0xb1, 0xdf, 0x51, 0x45, 0x53, 0xd2, 0x37, 0x24, 0xfd, 0xad, 0x09, 0xf4, 0xc5, - 0x89, 0xe5, 0x96, 0xcb, 0xc5, 0x01, 0x73, 0xec, 0x51, 0x3f, 0x24, 0x2e, 0xe1, 0x59, 0x98, 0xaa, - 0x5a, 0x68, 0xe0, 0x30, 0xd2, 0xc6, 0xfb, 0x7c, 0xa4, 0x8e, 0x1f, 0x05, 0x09, 0xeb, 0xe0, 0x3a, - 0xf1, 0x09, 0x55, 0x2f, 0x11, 0x22, 0x51, 0x13, 0x32, 0x96, 0x1e, 0xc2, 0xb4, 0xca, 0xc1, 0x72, - 0x4f, 0x65, 0x35, 0x0c, 0x04, 0x03, 0x27, 0x5c, 0x8c, 0xb0, 0x64, 0x80, 0xe7, 0x8e, 0x86, 0xa9, - 0x1e, 0x3b, 0xce, 0xdf, 0x9b, 0xd0, 0xc3, 0xf4, 0xc9, 0x8d, 0x7a, 0x5b, 0xc4, 0x39, 0x8b, 0x8c, - 0x28, 0xd2, 0x30, 0x42, 0x0a, 0x01, 0x3d, 0x31, 0x0b, 0x8d, 0x81, 0x13, 0xa1, 0x28, 0xe0, 0x07, - 0x46, 0xc1, 0xd1, 0x51, 0xf9, 0x2e, 0x0f, 0xf5, 0xc2, 0xa3, 0x61, 0x44, 0x29, 0x4b, 0x99, 0x11, - 0x1d, 0x05, 0x2c, 0x68, 0x53, 0x56, 0xec, 0x8f, 0xf1, 0xa1, 0x61, 0x84, 0x7d, 0x53, 0x96, 0xef, - 0x8d, 0x46, 0x2a, 0x11, 0xc8, 0x59, 0xed, 0x8b, 0x07, 0x45, 0x01, 0xd7, 0xbc, 0xda, 0x39, 0xd7, - 0xab, 0x60, 0x78, 0xd5, 0x4c, 0xae, 0x6e, 0x2d, 0xb9, 0x36, 0xa0, 0x87, 0x7c, 0xf2, 0xa0, 0x5f, - 0xc4, 0x83, 0xdc, 0x40, 0x9a, 0xb1, 0xd1, 0xab, 0xc6, 0x86, 0xe9, 0xdd, 0xa5, 0x29, 0xde, 0x5d, - 0x2e, 0xbc, 0xfb, 0x63, 0xe8, 0x1f, 0x64, 0x61, 0xb8, 0x4f, 0x38, 0xf7, 0x46, 0x64, 0xfb, 0x6c, - 0x40, 0xc6, 0x7b, 0x01, 0x4f, 0x5d, 0xc2, 0x63, 0x11, 0x67, 0x24, 0x49, 0x76, 0x98, 0x4f, 0xa4, - 0x93, 0x5b, 0x6e, 0x0e, 0x0a, 0x0d, 0x49, 0x92, 0x08, 0x01, 0x54, 0x85, 0x44, 0xc8, 0xde, 0x84, - 0xb9, 0x30, 0xe0, 0x22, 0xd6, 0x9b, 0x77, 0xba, 0x77, 0x6f, 0x4e, 0x48, 0x95, 0x7d, 0x3e, 0xda, - 0xf5, 0x52, 0xcf, 0x95, 0xeb, 0x9c, 0x08, 0x3e, 0x35, 0x79, 0xf7, 0xf1, 0xd4, 0x13, 0x4c, 0xd4, - 0x30, 0x59, 0x04, 0x02, 0x46, 0x8b, 0xe6, 0x43, 0x47, 0x09, 0xb1, 0x39, 0xf2, 0x91, 0x72, 0xf4, - 0xdc, 0x1c, 0x74, 0xde, 0x00, 0xfb, 0x21, 0x49, 0xf7, 0xbd, 0x57, 0x5b, 0xd4, 0xdf, 0x0f, 0xe8, - 0x80, 0x8c, 0x5d, 0x32, 0x76, 0xee, 0xc3, 0x8d, 0x1a, 0x96, 0xc7, 0x42, 0x80, 0xc8, 0x7b, 0x35, - 0x20, 0x63, 0x29, 0x40, 0xcf, 0x55, 0x90, 0xc4, 0xcb, 0x55, 0xaa, 0x3c, 0x2a, 0xc8, 0x19, 0xc3, - 0xb2, 0xf0, 0xd0, 0x80, 0x50, 0x7f, 0x9f, 0x8f, 0x24, 0x8b, 0x75, 0xe8, 0xa2, 0x05, 0xf6, 0xf9, - 0xa8, 0xac, 0xb7, 0x1a, 0x4a, 0xac, 0x18, 0x86, 0x01, 0xa1, 0x29, 0xae, 0x50, 0xda, 0x68, 0x28, - 0x11, 0x8c, 0x9c, 0x50, 0xbf, 0x38, 0x72, 0x9a, 0x6e, 0x01, 0x3b, 0x7f, 0x6a, 0xc1, 0xbc, 0x32, - 0xa8, 0xec, 0x0e, 0xc5, 0x11, 0x57, 0xd8, 0x0b, 0x21, 0x0c, 0xc6, 0xe1, 0x69, 0xd9, 0xa7, 0x21, - 0xa4, 0x77, 0x76, 0x4d, 0xb3, 0xb3, 0xab, 0xc8, 0x34, 0x57, 0x97, 0xa9, 0xa2, 0x57, 0xab, 0xae, - 0xd7, 0x17, 0x61, 0x85, 0xcb, 0x84, 0x39, 0x08, 0xbd, 0xf4, 0x88, 0x25, 0x91, 0x3a, 0xb1, 0x5a, - 0x6e, 0x0d, 0x2f, 0x8a, 0x3d, 0xe2, 0x8a, 0x84, 0xc5, 0x8c, 0xac, 0x60, 0x45, 0x7a, 0x20, 0x26, - 0x4f, 0x5c, 0x6c, 0x15, 0x4c, 0x24, 0xca, 0xc6, 0x79, 0xc0, 0xa8, 0xec, 0x74, 0x31, 0x3f, 0x75, - 0x94, 0xd0, 0x3c, 0xe2, 0xa3, 0x07, 0x09, 0x8b, 0x54, 0xc3, 0x90, 0x83, 0x52, 0x73, 0x46, 0x53, - 0x42, 0x53, 0x49, 0xdb, 0x45, 0x5a, 0x0d, 0x25, 0x68, 0x15, 0x28, 0x93, 0x73, 0xd1, 0xcd, 0x41, - 0x7b, 0x05, 0x9a, 0x9c, 0x8c, 0x55, 0xc6, 0x89, 0x9f, 0x86, 0xe7, 0x96, 0x4d, 0xcf, 0x55, 0x4a, - 0xc1, 0x8a, 0xfc, 0xaa, 0x97, 0x82, 0xb2, 0xd7, 0x5f, 0x35, 0x7a, 0xfd, 0x2d, 0x98, 0x67, 0xb1, - 0x88, 0x73, 0xde, 0xb7, 0x65, 0x8e, 0x7d, 0x7e, 0x7a, 0x8e, 0x6d, 0x3e, 0xc5, 0x95, 0xf7, 0x69, - 0x9a, 0x9c, 0xb9, 0x39, 0x9d, 0xbd, 0x07, 0xcb, 0xec, 0xe8, 0x28, 0x0c, 0x28, 0x39, 0xc8, 0xf8, - 0xb1, 0x3c, 0xd9, 0x6e, 0xc8, 0x93, 0xcd, 0x99, 0xc0, 0xea, 0xa9, 0xb9, 0xd2, 0xad, 0x92, 0xde, - 0x7c, 0x07, 0x16, 0xf5, 0x6d, 0x84, 0x19, 0x4e, 0xc8, 0x99, 0x8a, 0x41, 0xf1, 0x53, 0x34, 0x7b, - 0xa7, 0x5e, 0x98, 0xe1, 0x31, 0xb0, 0xe0, 0x22, 0xf0, 0x4e, 0xe3, 0x1b, 0x96, 0xf3, 0x0b, 0x0b, - 0x96, 0x2b, 0x1b, 0x88, 0xd5, 0x69, 0x90, 0x86, 0x44, 0x71, 0x40, 0xc0, 0xb6, 0x61, 0xce, 0x27, - 0x7c, 0xa8, 0x42, 0x58, 0xfe, 0x56, 0x95, 0xac, 0x59, 0xb4, 0x8b, 0xe2, 0x42, 0xf7, 0x74, 0x20, - 0x18, 0x0d, 0x58, 0x46, 0xfd, 0xe2, 0x42, 0xa7, 0xe1, 0x44, 0x08, 0x05, 0x4f, 0x07, 0xdb, 0x9e, - 0x3f, 0x22, 0x78, 0xed, 0x6a, 0x49, 0x99, 0x4c, 0xa4, 0xe3, 0xc3, 0xc2, 0xb3, 0x20, 0xe6, 0x3b, - 0x2c, 0x8a, 0x84, 0x23, 0x7c, 0x92, 0x8a, 0x5e, 0xd5, 0x92, 0xfe, 0x56, 0x90, 0x08, 0x15, 0x9f, - 0x1c, 0x79, 0x59, 0x98, 0x8a, 0xa5, 0x79, 0xe2, 0x6a, 0x28, 0x79, 0xe1, 0xe0, 0x8c, 0xee, 0x22, - 0x35, 0xca, 0xa9, 0x61, 0x9c, 0xbf, 0x34, 0x60, 0x45, 0x36, 0x0e, 0x3b, 0xd2, 0xed, 0xbe, 0x24, - 0xba, 0x0b, 0x2d, 0x99, 0x86, 0xaa, 0x59, 0x39, 0xbf, 0xd9, 0xc0, 0xa5, 0xf6, 0x3d, 0x68, 0xb3, - 0x58, 0xb6, 0x9c, 0xd8, 0xa1, 0xbc, 0x35, 0x8d, 0xc8, 0xbc, 0xdb, 0xb9, 0x8a, 0xca, 0x7e, 0x00, - 0x80, 0xd7, 0xce, 0xbd, 0xb2, 0x74, 0xcf, 0xca, 0x43, 0xa3, 0x14, 0xc6, 0x2d, 0xca, 0x70, 0x71, - 0xc1, 0x6b, 0xba, 0x26, 0xd2, 0x7e, 0x02, 0x4b, 0x52, 0xec, 0xa7, 0x79, 0xd7, 0x29, 0x7d, 0x30, - 0xfb, 0x8e, 0x15, 0x6a, 0xe7, 0xd7, 0x96, 0x32, 0xa3, 0xf8, 0x3a, 0x20, 0x68, 0xfb, 0xd2, 0x24, - 0xd6, 0xa5, 0x4c, 0x72, 0x13, 0x16, 0xa2, 0x4c, 0x6b, 0x82, 0x9b, 0x6e, 0x01, 0x97, 0x2e, 0x6a, - 0xce, 0xec, 0x22, 0xe7, 0x37, 0x16, 0xf4, 0xdf, 0x63, 0x01, 0x95, 0x1f, 0xb6, 0xe2, 0x38, 0x54, - 0x53, 0x88, 0x4b, 0xfb, 0xfc, 0x3b, 0xd0, 0xf1, 0x90, 0x0d, 0x4d, 0x95, 0xdb, 0x67, 0x68, 0x6c, - 0x4b, 0x1a, 0xad, 0x47, 0x69, 0xea, 0x3d, 0x8a, 0xf3, 0x7b, 0x0b, 0x96, 0xd0, 0x28, 0xef, 0x67, - 0x41, 0x7a, 0x69, 0xf9, 0xb6, 0x61, 0x61, 0x9c, 0x05, 0xe9, 0x25, 0xa2, 0xb2, 0xa0, 0xab, 0xc7, - 0x53, 0x73, 0x42, 0x3c, 0x39, 0x1f, 0x59, 0x70, 0xab, 0x6a, 0xd6, 0xad, 0xe1, 0x90, 0xc4, 0xaf, - 0x33, 0xa5, 0x8c, 0x1e, 0x6d, 0xae, 0xd2, 0xa3, 0x4d, 0x14, 0xd9, 0x25, 0x1f, 0x92, 0xe1, 0xff, - 0xaf, 0xc8, 0x3f, 0x6b, 0xc0, 0xa7, 0x1f, 0x16, 0x89, 0xf7, 0x2c, 0xf1, 0x28, 0x3f, 0x22, 0x49, - 0xf2, 0x1a, 0xe5, 0xdd, 0x83, 0x1e, 0x25, 0x2f, 0x4b, 0x99, 0x54, 0x3a, 0xce, 0xca, 0xc6, 0x24, - 0x9e, 0xad, 0x76, 0x39, 0xff, 0xb6, 0x60, 0x05, 0xf9, 0x7c, 0x37, 0x18, 0x9e, 0xbc, 0x46, 0xe5, - 0x9f, 0xc0, 0xd2, 0x89, 0x94, 0x40, 0x40, 0x97, 0x28, 0xdb, 0x15, 0xea, 0x19, 0xd5, 0xff, 0x8f, - 0x05, 0xab, 0xc8, 0xe8, 0x31, 0x3d, 0x0d, 0x5e, 0x67, 0xb0, 0x1e, 0xc0, 0x72, 0x80, 0x22, 0x5c, - 0xd2, 0x00, 0x55, 0xf2, 0x19, 0x2d, 0xf0, 0x07, 0x0b, 0x96, 0x91, 0xd3, 0x7d, 0x9a, 0x92, 0xe4, - 0xd2, 0xfa, 0x3f, 0x82, 0x2e, 0xa1, 0x69, 0xe2, 0xd1, 0xcb, 0x54, 0x48, 0x9d, 0x74, 0xc6, 0x22, - 0x79, 0x02, 0xab, 0x78, 0x85, 0xd7, 0x2a, 0x8e, 0xe8, 0x65, 0x3d, 0x1f, 0xdb, 0x53, 0x4b, 0x12, - 0xe5, 0xa0, 0x39, 0x9c, 0x51, 0xd3, 0xf5, 0x72, 0x38, 0x73, 0x1b, 0xc0, 0xf3, 0xfd, 0x0f, 0x58, - 0xe2, 0x07, 0x34, 0x3f, 0x3e, 0x34, 0x8c, 0xf3, 0x1e, 0x2c, 0x8a, 0x6e, 0xfa, 0x99, 0x76, 0x19, - 0x3f, 0x77, 0x5c, 0xa0, 0x5f, 0xe4, 0x1b, 0xe6, 0x45, 0xde, 0xf9, 0x11, 0x7c, 0xb2, 0x26, 0xb8, - 0xb4, 0xfa, 0x0e, 0xce, 0x18, 0xf2, 0x4d, 0x94, 0xf1, 0x3f, 0x3b, 0xc1, 0x84, 0xba, 0x2c, 0xae, - 0x41, 0xe4, 0xfc, 0xd4, 0x82, 0x37, 0x6b, 0xec, 0xb7, 0xe2, 0x38, 0x61, 0xa7, 0x2a, 0xb8, 0xaf, - 0x62, 0x1b, 0xb3, 0xb4, 0x36, 0xaa, 0xa5, 0x75, 0xa2, 0x10, 0xc6, 0x71, 0xf0, 0x31, 0x08, 0xf1, - 0x5b, 0x0b, 0x96, 0x95, 0x10, 0xbe, 0xaf, 0xb6, 0xfd, 0x3a, 0xb4, 0x71, 0x3e, 0xa9, 0x36, 0x7c, - 0x73, 0xe2, 0x86, 0xf9, 0x5c, 0xd5, 0x55, 0x8b, 0xeb, 0x11, 0xd9, 0x98, 0xd4, 0x06, 0x7e, 0xb3, - 0xa8, 0x00, 0x33, 0x4f, 0x10, 0x15, 0x81, 0xf3, 0xfd, 0x3c, 0x98, 0x77, 0x49, 0x48, 0xae, 0xd2, - 0x46, 0xce, 0x73, 0x58, 0x92, 0xc3, 0xd2, 0xd2, 0x06, 0x57, 0xc2, 0xf6, 0x03, 0x58, 0x91, 0x6c, - 0xaf, 0x5c, 0xde, 0x22, 0x3b, 0x84, 0x7d, 0x76, 0x8e, 0x3d, 0x3a, 0xba, 0x4a, 0xee, 0x5f, 0x81, - 0x1b, 0xb9, 0xed, 0x9f, 0xc7, 0x7e, 0x71, 0x45, 0x99, 0x32, 0x98, 0x71, 0xbe, 0x0a, 0x6b, 0x3b, - 0x8c, 0x9e, 0x92, 0x84, 0x4b, 0x2f, 0x23, 0x49, 0x4e, 0x61, 0x24, 0xbf, 0x82, 0x9c, 0x01, 0xac, - 0xaa, 0x91, 0xe2, 0x81, 0x37, 0x0a, 0x28, 0x56, 0xa5, 0xdb, 0x00, 0xb1, 0x37, 0xca, 0x9f, 0x14, - 0x70, 0xee, 0xa4, 0x61, 0xc4, 0x77, 0x7e, 0xcc, 0x5e, 0xaa, 0xef, 0x0d, 0xfc, 0x5e, 0x62, 0x9c, - 0xef, 0x81, 0xed, 0x12, 0x1e, 0x33, 0xca, 0x89, 0xc6, 0x75, 0x1d, 0xba, 0x3b, 0x59, 0x92, 0x10, - 0x2a, 0xb6, 0xca, 0xe7, 0xeb, 0x3a, 0x4a, 0xf0, 0x1d, 0x94, 0x7c, 0x71, 0x56, 0xa1, 0x61, 0x9c, - 0x5f, 0x35, 0xa1, 0x33, 0x08, 0x46, 0xd4, 0x0b, 0x5d, 0x32, 0xb6, 0xbf, 0x05, 0x6d, 0x3c, 0x41, - 0x94, 0x69, 0x27, 0xdd, 0x9d, 0x71, 0x35, 0x1e, 0x95, 0x2e, 0x19, 0x3f, 0xfa, 0x84, 0xab, 0x68, - 0xec, 0xf7, 0xa1, 0x87, 0xbf, 0x1e, 0xe3, 0x8d, 0x40, 0x1d, 0x00, 0x5f, 0xb8, 0x80, 0x89, 0x5a, - 0x8d, 0xbc, 0x4c, 0x0e, 0x42, 0xa0, 0xa1, 0x47, 0x87, 0xea, 0xcd, 0xed, 0x3c, 0x81, 0x76, 0xe4, - 0x32, 0x25, 0x10, 0xd2, 0x08, 0x6a, 0x4f, 0xf6, 0xcc, 0xea, 0xd5, 0x62, 0x3a, 0x35, 0xb6, 0xd6, - 0x8a, 0x1a, 0x69, 0x04, 0xf5, 0x71, 0x46, 0x47, 0xcf, 0x63, 0x75, 0x95, 0x9b, 0x4e, 0xfd, 0x48, - 0x2e, 0x53, 0xd4, 0x48, 0x23, 0xa8, 0x13, 0x59, 0xed, 0xa4, 0xd1, 0xcf, 0xa3, 0xc6, 0xa2, 0xa8, - 0xa8, 0x91, 0x66, 0xbb, 0x03, 0xf3, 0xb1, 0x77, 0x16, 0x32, 0xcf, 0x77, 0x7e, 0xd7, 0x04, 0xc8, - 0x17, 0x72, 0xd9, 0x63, 0x18, 0x2e, 0xda, 0xb8, 0xd0, 0x45, 0x71, 0x78, 0xa6, 0x39, 0x69, 0x30, - 0xd9, 0x49, 0x5f, 0x9a, 0xd5, 0x49, 0xc8, 0xad, 0xe2, 0xa6, 0x7b, 0x15, 0x37, 0x6d, 0x5c, 0xe8, - 0x26, 0x25, 0x94, 0x72, 0xd4, 0xbd, 0x8a, 0xa3, 0x36, 0x2e, 0x74, 0x94, 0xa2, 0x57, 0xae, 0xba, - 0x57, 0x71, 0xd5, 0xc6, 0x85, 0xae, 0x52, 0xf4, 0xca, 0x59, 0xf7, 0x2a, 0xce, 0xda, 0xb8, 0xd0, - 0x59, 0x8a, 0xbe, 0xee, 0xae, 0x8f, 0x1a, 0xb0, 0x24, 0x4d, 0x86, 0x73, 0x5b, 0x7a, 0xc4, 0xe4, - 0x78, 0x46, 0x9a, 0xcb, 0x7c, 0xa1, 0x32, 0x91, 0xf6, 0x97, 0x61, 0x15, 0x11, 0xea, 0x45, 0x43, - 0xb6, 0x7f, 0x8d, 0xf5, 0xe6, 0x9d, 0x8e, 0x5b, 0xff, 0x20, 0x27, 0x6d, 0x19, 0x4f, 0x59, 0xb4, - 0xeb, 0xa5, 0x5e, 0xde, 0xad, 0x94, 0x18, 0x7d, 0x0e, 0x3a, 0x57, 0x7b, 0xe1, 0x4e, 0x18, 0x8b, - 0x8a, 0x01, 0xa7, 0x82, 0x04, 0x45, 0x1a, 0x44, 0x84, 0x65, 0xa9, 0x2a, 0x13, 0x39, 0x28, 0xce, - 0xd8, 0x88, 0xf8, 0x81, 0x27, 0xa7, 0x87, 0xea, 0x59, 0xa1, 0x40, 0xc8, 0xca, 0x56, 0x4e, 0x43, - 0xd5, 0x0b, 0x74, 0x89, 0xb9, 0x78, 0x72, 0xe9, 0xfc, 0xd9, 0x82, 0xe5, 0x4a, 0x55, 0x11, 0xdd, - 0x13, 0x9e, 0x8b, 0x85, 0xb9, 0x0a, 0xd8, 0xde, 0x02, 0x08, 0x0a, 0x0b, 0x9f, 0x33, 0x26, 0x30, - 0xdd, 0xe0, 0x6a, 0x44, 0x93, 0xa6, 0x85, 0xcd, 0x4b, 0x4f, 0x0b, 0x9d, 0x1f, 0xc2, 0x6a, 0x2d, - 0xe5, 0xe4, 0xc8, 0x8f, 0x9d, 0x10, 0x5a, 0x8c, 0xfc, 0x04, 0xa0, 0x59, 0xbf, 0x51, 0xb5, 0x7e, - 0x18, 0x9c, 0xea, 0xaf, 0xd4, 0x0a, 0x74, 0xfe, 0x6a, 0xc1, 0xda, 0xe4, 0x72, 0x79, 0xbd, 0x8c, - 0x74, 0x08, 0xfd, 0x69, 0x05, 0xe5, 0xca, 0x6c, 0x55, 0x46, 0x52, 0x71, 0x1c, 0x5c, 0x2f, 0x23, - 0xdd, 0xc8, 0x23, 0x49, 0xab, 0x93, 0x9a, 0x56, 0xc5, 0x31, 0x75, 0x4d, 0xf3, 0x43, 0xab, 0xde, - 0xff, 0x03, 0x9f, 0x17, 0xc7, 0xf0, 0x35, 0xf5, 0xb9, 0x76, 0x36, 0x69, 0x5a, 0x15, 0xed, 0xc1, - 0x35, 0xd5, 0x4a, 0x3b, 0x31, 0x9d, 0x9f, 0x40, 0x6f, 0x97, 0x84, 0xfb, 0x7c, 0x94, 0x3f, 0x87, - 0x9e, 0xa7, 0xd2, 0xb4, 0xbf, 0x62, 0x4d, 0x7d, 0x08, 0xad, 0x3e, 0xa2, 0xce, 0xd5, 0x1e, 0x51, - 0x9d, 0x6d, 0x58, 0xd2, 0x05, 0xb8, 0xcc, 0x6b, 0xf0, 0xf6, 0xad, 0x1f, 0xdc, 0xdc, 0x7c, 0x1b, - 0xff, 0xf4, 0xf7, 0x6e, 0xcd, 0x30, 0x87, 0x6d, 0xf9, 0x27, 0xc0, 0xaf, 0xfd, 0x37, 0x00, 0x00, - 0xff, 0xff, 0x73, 0xd0, 0xb9, 0x73, 0x17, 0x28, 0x00, 0x00, +var fileDescriptor_ws_cdfe09251fc3838b = []byte{ + // 2546 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x1a, 0x4d, 0x6f, 0x1c, 0x49, + 0x95, 0xee, 0xf1, 0x8c, 0x3d, 0xcf, 0x1e, 0x7f, 0xb4, 0x17, 0x33, 0x84, 0x6c, 0x30, 0x2d, 0x6b, + 0x09, 0x5f, 0x5e, 0x14, 0x84, 0x04, 0x59, 0x08, 0xf2, 0x47, 0xbe, 0x16, 0x3b, 0xf1, 0xf6, 0x24, + 0x2c, 0x02, 0xa4, 0xa8, 0x3c, 0x5d, 0x1e, 0xf7, 0xba, 0xa7, 0xaa, 0xa7, 0x3f, 0x9c, 0x58, 0x42, + 0x42, 0x02, 0x09, 0x71, 0xe3, 0x04, 0x57, 0x24, 0x2e, 0x08, 0x09, 0xa1, 0xbd, 0x20, 0x2e, 0x88, + 0x13, 0x7f, 0x80, 0x33, 0x37, 0xce, 0x5c, 0x39, 0x20, 0x21, 0x81, 0xaa, 0x5e, 0x75, 0x77, 0x55, + 0xf7, 0x8c, 0x3d, 0x6b, 0x59, 0x9b, 0x5d, 0xe5, 0x36, 0xef, 0x75, 0xbd, 0x57, 0xef, 0xbb, 0x5e, + 0xbd, 0x1a, 0x58, 0x4a, 0xfc, 0x93, 0x67, 0xcf, 0x93, 0x37, 0x9f, 0x27, 0x9b, 0x51, 0xcc, 0x53, + 0xee, 0xac, 0x24, 0x34, 0x3e, 0xa5, 0xf1, 0x33, 0x12, 0x05, 0xcf, 0x22, 0x12, 0x93, 0x61, 0xe2, + 0xfe, 0xdb, 0x86, 0xf6, 0xfd, 0x98, 0x67, 0xd1, 0x43, 0x76, 0xc4, 0x9d, 0x2e, 0xcc, 0x0e, 0x24, + 0xb0, 0xdb, 0xb5, 0xd6, 0xad, 0x9b, 0x6d, 0x2f, 0x07, 0x9d, 0xeb, 0xd0, 0x96, 0x3f, 0x1f, 0x91, + 0x21, 0xed, 0xda, 0xf2, 0x5b, 0x89, 0x70, 0x5c, 0x58, 0x60, 0x3c, 0x0d, 0x8e, 0x82, 0x3e, 0x49, + 0x03, 0xce, 0xba, 0x0d, 0xb9, 0xc0, 0xc0, 0x89, 0x35, 0x01, 0x4b, 0x63, 0xee, 0x67, 0x7d, 0xb9, + 0x66, 0x06, 0xd7, 0xe8, 0x38, 0xb1, 0xff, 0x11, 0xe9, 0xd3, 0xa7, 0xde, 0x5e, 0xb7, 0x89, 0xfb, + 0x2b, 0xd0, 0x59, 0x87, 0x79, 0xfe, 0x9c, 0xd1, 0xf8, 0x69, 0x42, 0xe3, 0x87, 0xbb, 0xdd, 0x96, + 0xfc, 0xaa, 0xa3, 0x9c, 0x1b, 0x00, 0xfd, 0x98, 0x92, 0x94, 0x3e, 0x09, 0x86, 0xb4, 0x3b, 0xbb, + 0x6e, 0xdd, 0xec, 0x78, 0x1a, 0x46, 0x70, 0x18, 0xd2, 0xe1, 0x21, 0x8d, 0x77, 0x78, 0xc6, 0xd2, + 0xee, 0x9c, 0x5c, 0xa0, 0xa3, 0x9c, 0x45, 0xb0, 0xe9, 0x8b, 0x6e, 0x5b, 0xb2, 0xb6, 0xe9, 0x0b, + 0x67, 0x0d, 0x5a, 0x49, 0x4a, 0xd2, 0x2c, 0xe9, 0xc2, 0xba, 0x75, 0xb3, 0xe9, 0x29, 0xc8, 0xd9, + 0x80, 0x8e, 0xe4, 0xcb, 0x73, 0x69, 0xe6, 0x25, 0x89, 0x89, 0x2c, 0x2c, 0xf6, 0xe4, 0x2c, 0xa2, + 0xdd, 0x05, 0xc9, 0xa0, 0x44, 0xb8, 0x7f, 0xb6, 0x61, 0x55, 0xda, 0x7d, 0x5f, 0x0a, 0x70, 0x2f, + 0x0b, 0xc3, 0x0b, 0x3c, 0xb0, 0x06, 0xad, 0x0c, 0xb7, 0x43, 0xf3, 0x2b, 0x48, 0xec, 0x13, 0xf3, + 0x90, 0xee, 0xd1, 0x53, 0x1a, 0x4a, 0xc3, 0x37, 0xbd, 0x12, 0xe1, 0x5c, 0x83, 0xb9, 0xf7, 0x78, + 0xc0, 0xa4, 0x4d, 0x66, 0xe4, 0xc7, 0x02, 0x16, 0xdf, 0x58, 0xd0, 0x3f, 0x61, 0xc2, 0xa5, 0x68, + 0xee, 0x02, 0xd6, 0x3d, 0xd1, 0x32, 0x3d, 0xf1, 0x06, 0x2c, 0x92, 0x28, 0xda, 0x27, 0x6c, 0x40, + 0x63, 0xdc, 0x74, 0x56, 0xf2, 0xad, 0x60, 0x85, 0x3f, 0xc4, 0x4e, 0x3d, 0x9e, 0xc5, 0x7d, 0x2a, + 0xcd, 0xdd, 0xf4, 0x34, 0x8c, 0xe0, 0xc3, 0x23, 0x1a, 0x6b, 0x66, 0x44, 0xcb, 0x57, 0xb0, 0xca, + 0x2b, 0x90, 0x7b, 0xc5, 0xfd, 0xb9, 0x05, 0x8b, 0x07, 0xd9, 0x61, 0x18, 0xf4, 0xe5, 0x02, 0x61, + 0xb4, 0xd2, 0x34, 0x96, 0x61, 0x1a, 0x5d, 0x41, 0x7b, 0xb2, 0x82, 0x0d, 0x53, 0xc1, 0x35, 0x68, + 0x0d, 0x28, 0xf3, 0x69, 0xac, 0x0c, 0xa6, 0x20, 0x25, 0x48, 0xb3, 0x10, 0xe4, 0xd7, 0x36, 0xcc, + 0x7d, 0xc8, 0x22, 0xac, 0xc3, 0x7c, 0x74, 0xcc, 0x19, 0x7d, 0x94, 0x89, 0xa0, 0x51, 0xb2, 0xe8, + 0x28, 0xe7, 0x35, 0x68, 0x1e, 0x06, 0x71, 0x7a, 0x2c, 0xbd, 0xd6, 0xf1, 0x10, 0x10, 0x58, 0x3a, + 0x24, 0x01, 0xba, 0xaa, 0xed, 0x21, 0xa0, 0x14, 0x9a, 0x2b, 0xe2, 0xdd, 0xcc, 0xa0, 0x76, 0x2d, + 0x83, 0xea, 0x9e, 0x87, 0x71, 0x9e, 0x77, 0xff, 0x63, 0x01, 0xdc, 0x8b, 0x03, 0xca, 0x7c, 0x69, + 0x9a, 0x4a, 0xea, 0x5a, 0xf5, 0xd4, 0x5d, 0x83, 0x56, 0x4c, 0x87, 0x24, 0x3e, 0xc9, 0x43, 0x1b, + 0xa1, 0x8a, 0x40, 0x8d, 0x9a, 0x40, 0x6f, 0x01, 0x1c, 0xc9, 0x7d, 0x04, 0x1f, 0x69, 0xaa, 0xf9, + 0x5b, 0x9f, 0xd9, 0xac, 0x15, 0xb9, 0xcd, 0xdc, 0x4b, 0x9e, 0xb6, 0x5c, 0xe4, 0x0d, 0xf1, 0x7d, + 0x15, 0x9e, 0x4d, 0xcc, 0x9b, 0x02, 0x31, 0x26, 0x3a, 0x5b, 0xe7, 0x44, 0xe7, 0x6c, 0x11, 0x14, + 0xff, 0xb2, 0xa0, 0xbd, 0x1d, 0x92, 0xfe, 0xc9, 0x94, 0xaa, 0x9b, 0x2a, 0xda, 0x35, 0x15, 0xef, + 0x43, 0xe7, 0x50, 0xb0, 0xcb, 0x55, 0x90, 0x56, 0x98, 0xbf, 0xf5, 0xb9, 0x31, 0x5a, 0x9a, 0x49, + 0xe1, 0x99, 0x74, 0xa6, 0xba, 0x33, 0x17, 0xab, 0xdb, 0x3c, 0x47, 0xdd, 0x56, 0xa1, 0xee, 0xdf, + 0x6d, 0x58, 0x90, 0x65, 0xcc, 0xa3, 0xa3, 0x8c, 0x26, 0xa9, 0xf3, 0x6d, 0x98, 0xcb, 0x72, 0x51, + 0xad, 0x69, 0x45, 0x2d, 0x48, 0x9c, 0xdb, 0xaa, 0x68, 0x4a, 0x7a, 0x5b, 0xd2, 0x5f, 0x1f, 0x43, + 0x5f, 0x9c, 0x58, 0x5e, 0xb9, 0x5c, 0x1c, 0x30, 0xc7, 0x84, 0xf9, 0x21, 0xf5, 0x68, 0x92, 0x85, + 0xa9, 0xaa, 0x85, 0x06, 0x0e, 0x23, 0x6d, 0xb4, 0x9f, 0x0c, 0xd4, 0xf1, 0xa3, 0x20, 0x61, 0x1d, + 0x5c, 0x27, 0x3e, 0xa1, 0xea, 0x25, 0x42, 0x24, 0x6a, 0x4c, 0x47, 0xd2, 0x43, 0x98, 0x56, 0x39, + 0x58, 0xee, 0xa9, 0xac, 0x86, 0x81, 0x60, 0xe0, 0x84, 0x8b, 0x11, 0x96, 0x0c, 0xf0, 0xdc, 0xd1, + 0x30, 0xd5, 0x63, 0xc7, 0xfd, 0x47, 0x03, 0x3a, 0x98, 0x3e, 0xb9, 0x51, 0x6f, 0x88, 0x38, 0xe7, + 0x43, 0x23, 0x8a, 0x34, 0x8c, 0x90, 0x42, 0x40, 0x8f, 0xcc, 0x42, 0x63, 0xe0, 0x44, 0x28, 0x0a, + 0xf8, 0x9e, 0x51, 0x70, 0x74, 0x54, 0xbe, 0xcb, 0x7d, 0xbd, 0xf0, 0x68, 0x18, 0x51, 0xca, 0x52, + 0x6e, 0x44, 0x47, 0x01, 0x0b, 0xda, 0x94, 0x17, 0xfb, 0x63, 0x7c, 0x68, 0x18, 0x61, 0xdf, 0x94, + 0xe7, 0x7b, 0xa3, 0x91, 0x4a, 0x04, 0x72, 0x56, 0xfb, 0xe2, 0x41, 0x51, 0xc0, 0x35, 0xaf, 0xb6, + 0xcf, 0xf5, 0x2a, 0x18, 0x5e, 0x35, 0x93, 0x6b, 0xbe, 0x96, 0x5c, 0x1b, 0xd0, 0x41, 0x3e, 0x79, + 0xd0, 0x2f, 0xe0, 0x41, 0x6e, 0x20, 0xcd, 0xd8, 0xe8, 0x54, 0x63, 0xc3, 0xf4, 0xee, 0xe2, 0x04, + 0xef, 0x2e, 0x15, 0xde, 0xfd, 0x31, 0x74, 0x0f, 0xb2, 0x30, 0xdc, 0xa7, 0x49, 0x42, 0x06, 0x74, + 0xfb, 0xac, 0x47, 0x47, 0x7b, 0x41, 0x92, 0x7a, 0x34, 0x89, 0x44, 0x9c, 0xd1, 0x38, 0xde, 0xe1, + 0x3e, 0x95, 0x4e, 0x6e, 0x7a, 0x39, 0x28, 0x34, 0xa4, 0x71, 0x2c, 0x04, 0x50, 0x15, 0x12, 0x21, + 0x67, 0x13, 0x66, 0xc2, 0x20, 0x11, 0xb1, 0xde, 0xb8, 0x39, 0x7f, 0xeb, 0xda, 0x98, 0x54, 0xd9, + 0x4f, 0x06, 0xbb, 0x24, 0x25, 0x9e, 0x5c, 0xe7, 0x0e, 0xe1, 0x53, 0xe3, 0x77, 0x1f, 0x4d, 0x3c, + 0xc1, 0x44, 0x0d, 0x93, 0x45, 0x20, 0xe0, 0xac, 0x68, 0x3e, 0x74, 0x94, 0x10, 0x3b, 0x41, 0x3e, + 0x52, 0x8e, 0x8e, 0x97, 0x83, 0xee, 0x6b, 0xe0, 0xdc, 0xa7, 0xe9, 0x3e, 0x79, 0xb1, 0xc5, 0xfc, + 0xfd, 0x80, 0xf5, 0xe8, 0xc8, 0xa3, 0x23, 0xf7, 0x2e, 0xac, 0xd6, 0xb0, 0x49, 0x24, 0x04, 0x18, + 0x92, 0x17, 0x3d, 0x3a, 0x92, 0x02, 0x74, 0x3c, 0x05, 0x49, 0xbc, 0x5c, 0xa5, 0xca, 0xa3, 0x82, + 0xdc, 0x11, 0x2c, 0x09, 0x0f, 0xf5, 0x28, 0xf3, 0xf7, 0x93, 0x81, 0x64, 0xb1, 0x0e, 0xf3, 0x68, + 0x81, 0xfd, 0x64, 0x50, 0xd6, 0x5b, 0x0d, 0x25, 0x56, 0xf4, 0xc3, 0x80, 0xb2, 0x14, 0x57, 0x28, + 0x6d, 0x34, 0x94, 0x08, 0xc6, 0x84, 0x32, 0xbf, 0x38, 0x72, 0x1a, 0x5e, 0x01, 0xbb, 0x7f, 0x69, + 0xc2, 0xac, 0x32, 0xa8, 0xec, 0x0e, 0xc5, 0x11, 0x57, 0xd8, 0x0b, 0x21, 0x0c, 0xc6, 0xfe, 0x69, + 0xd9, 0xa7, 0x21, 0xa4, 0x77, 0x76, 0x0d, 0xb3, 0xb3, 0xab, 0xc8, 0x34, 0x53, 0x97, 0xa9, 0xa2, + 0x57, 0xb3, 0xae, 0xd7, 0x17, 0x61, 0x39, 0x91, 0x09, 0x73, 0x10, 0x92, 0xf4, 0x88, 0xc7, 0x43, + 0x75, 0x62, 0x35, 0xbd, 0x1a, 0x5e, 0x14, 0x7b, 0xc4, 0x15, 0x09, 0x8b, 0x19, 0x59, 0xc1, 0x8a, + 0xf4, 0x40, 0x4c, 0x9e, 0xb8, 0xd8, 0x2a, 0x98, 0x48, 0x94, 0x2d, 0x49, 0x02, 0xce, 0x64, 0xa7, + 0x8b, 0xf9, 0xa9, 0xa3, 0x84, 0xe6, 0xc3, 0x64, 0x70, 0x2f, 0xe6, 0x43, 0xd5, 0x30, 0xe4, 0xa0, + 0xd4, 0x9c, 0xb3, 0x94, 0xb2, 0x54, 0xd2, 0xce, 0x23, 0xad, 0x86, 0x12, 0xb4, 0x0a, 0x94, 0xc9, + 0xb9, 0xe0, 0xe5, 0xa0, 0xb3, 0x0c, 0x8d, 0x84, 0x8e, 0x54, 0xc6, 0x89, 0x9f, 0x86, 0xe7, 0x96, + 0x4c, 0xcf, 0x55, 0x4a, 0xc1, 0xb2, 0xfc, 0xaa, 0x97, 0x82, 0xb2, 0xd7, 0x5f, 0x31, 0x7a, 0xfd, + 0x2d, 0x98, 0xe5, 0x91, 0x88, 0xf3, 0xa4, 0xeb, 0xc8, 0x1c, 0xfb, 0xfc, 0xe4, 0x1c, 0xdb, 0x7c, + 0x8c, 0x2b, 0xef, 0xb2, 0x34, 0x3e, 0xf3, 0x72, 0x3a, 0x67, 0x0f, 0x96, 0xf8, 0xd1, 0x51, 0x18, + 0x30, 0x7a, 0x90, 0x25, 0xc7, 0xf2, 0x64, 0x5b, 0x95, 0x27, 0x9b, 0x3b, 0x86, 0xd5, 0x63, 0x73, + 0xa5, 0x57, 0x25, 0xbd, 0x76, 0x1b, 0x16, 0xf4, 0x6d, 0x84, 0x19, 0x4e, 0xe8, 0x99, 0x8a, 0x41, + 0xf1, 0x53, 0x34, 0x7b, 0xa7, 0x24, 0xcc, 0xf0, 0x18, 0x98, 0xf3, 0x10, 0xb8, 0x6d, 0x7f, 0xc3, + 0x72, 0x7f, 0x65, 0xc1, 0x52, 0x65, 0x03, 0xb1, 0x3a, 0x0d, 0xd2, 0x90, 0x2a, 0x0e, 0x08, 0x38, + 0x0e, 0xcc, 0xf8, 0x34, 0xe9, 0xab, 0x10, 0x96, 0xbf, 0x55, 0x25, 0x6b, 0x14, 0xed, 0xa2, 0xb8, + 0xd0, 0x3d, 0xee, 0x09, 0x46, 0x3d, 0x9e, 0x31, 0xbf, 0xb8, 0xd0, 0x69, 0x38, 0x11, 0x42, 0xc1, + 0xe3, 0xde, 0x36, 0xf1, 0x07, 0x14, 0xaf, 0x5d, 0x4d, 0x29, 0x93, 0x89, 0x74, 0x7d, 0x98, 0x7b, + 0x12, 0x44, 0xc9, 0x0e, 0x1f, 0x0e, 0x85, 0x23, 0x7c, 0x9a, 0x8a, 0x5e, 0xd5, 0x92, 0xfe, 0x56, + 0x90, 0x08, 0x15, 0x9f, 0x1e, 0x91, 0x2c, 0x4c, 0xc5, 0xd2, 0x3c, 0x71, 0x35, 0x94, 0xbc, 0x70, + 0x24, 0x9c, 0xed, 0x22, 0x35, 0xca, 0xa9, 0x61, 0xdc, 0xbf, 0xd9, 0xb0, 0x2c, 0x1b, 0x87, 0x1d, + 0xe9, 0x76, 0x5f, 0x12, 0xdd, 0x82, 0xa6, 0x4c, 0x43, 0xd5, 0xac, 0x9c, 0xdf, 0x6c, 0xe0, 0x52, + 0xe7, 0x0e, 0xb4, 0x78, 0x24, 0x5b, 0x4e, 0xec, 0x50, 0xde, 0x98, 0x44, 0x64, 0xde, 0xed, 0x3c, + 0x45, 0xe5, 0xdc, 0x03, 0xc0, 0x6b, 0xe7, 0x5e, 0x59, 0xba, 0xa7, 0xe5, 0xa1, 0x51, 0x0a, 0xe3, + 0x16, 0x65, 0xb8, 0xb8, 0xe0, 0x35, 0x3c, 0x13, 0xe9, 0x3c, 0x82, 0x45, 0x29, 0xf6, 0xe3, 0xbc, + 0xeb, 0x94, 0x3e, 0x98, 0x7e, 0xc7, 0x0a, 0xb5, 0xfb, 0x5b, 0x4b, 0x99, 0x51, 0x7c, 0xed, 0x51, + 0xb4, 0x7d, 0x69, 0x12, 0xeb, 0x52, 0x26, 0xb9, 0x06, 0x73, 0xc3, 0x4c, 0x6b, 0x82, 0x1b, 0x5e, + 0x01, 0x97, 0x2e, 0x6a, 0x4c, 0xed, 0x22, 0xf7, 0x77, 0x16, 0x74, 0xdf, 0xe6, 0x01, 0x93, 0x1f, + 0xb6, 0xa2, 0x28, 0x54, 0x53, 0x88, 0x4b, 0xfb, 0xfc, 0x3b, 0xd0, 0x26, 0xc8, 0x86, 0xa5, 0xca, + 0xed, 0x53, 0x34, 0xb6, 0x25, 0x8d, 0xd6, 0xa3, 0x34, 0xf4, 0x1e, 0xc5, 0xfd, 0xa3, 0x05, 0x8b, + 0x68, 0x94, 0x77, 0xb2, 0x20, 0xbd, 0xb4, 0x7c, 0xdb, 0x30, 0x37, 0xca, 0x82, 0xf4, 0x12, 0x51, + 0x59, 0xd0, 0xd5, 0xe3, 0xa9, 0x31, 0x26, 0x9e, 0xdc, 0xf7, 0x2d, 0xb8, 0x5e, 0x35, 0xeb, 0x56, + 0xbf, 0x4f, 0xa3, 0x97, 0x99, 0x52, 0x46, 0x8f, 0x36, 0x53, 0xe9, 0xd1, 0xc6, 0x8a, 0xec, 0xd1, + 0xf7, 0x68, 0xff, 0xa3, 0x2b, 0xf2, 0xcf, 0x6c, 0xf8, 0xf4, 0xfd, 0x22, 0xf1, 0x9e, 0xc4, 0x84, + 0x25, 0x47, 0x34, 0x8e, 0x5f, 0xa2, 0xbc, 0x7b, 0xd0, 0x61, 0xf4, 0x79, 0x29, 0x93, 0x4a, 0xc7, + 0x69, 0xd9, 0x98, 0xc4, 0xd3, 0xd5, 0x2e, 0xf7, 0xbf, 0x16, 0x2c, 0x23, 0x9f, 0xef, 0x06, 0xfd, + 0x93, 0x97, 0xa8, 0xfc, 0x23, 0x58, 0x3c, 0x91, 0x12, 0x08, 0xe8, 0x12, 0x65, 0xbb, 0x42, 0x3d, + 0xa5, 0xfa, 0xff, 0xb3, 0x60, 0x05, 0x19, 0x3d, 0x64, 0xa7, 0xc1, 0xcb, 0x0c, 0xd6, 0x03, 0x58, + 0x0a, 0x50, 0x84, 0x4b, 0x1a, 0xa0, 0x4a, 0x3e, 0xa5, 0x05, 0xfe, 0x64, 0xc1, 0x12, 0x72, 0xba, + 0xcb, 0x52, 0x1a, 0x5f, 0x5a, 0xff, 0x07, 0x30, 0x4f, 0x59, 0x1a, 0x13, 0x76, 0x99, 0x0a, 0xa9, + 0x93, 0x4e, 0x59, 0x24, 0x4f, 0x60, 0x05, 0xaf, 0xf0, 0x5a, 0xc5, 0x11, 0xbd, 0x2c, 0xf1, 0xb1, + 0x3d, 0xb5, 0x24, 0x51, 0x0e, 0x9a, 0xc3, 0x19, 0x35, 0x5d, 0x2f, 0x87, 0x33, 0x37, 0x00, 0x88, + 0xef, 0xbf, 0xcb, 0x63, 0x3f, 0x60, 0xf9, 0xf1, 0xa1, 0x61, 0xdc, 0xb7, 0x61, 0x41, 0x74, 0xd3, + 0x4f, 0xb4, 0xcb, 0xf8, 0xb9, 0xe3, 0x02, 0xfd, 0x22, 0x6f, 0x9b, 0x17, 0x79, 0xf7, 0x47, 0xf0, + 0xc9, 0x9a, 0xe0, 0xd2, 0xea, 0x3b, 0x38, 0x63, 0xc8, 0x37, 0x51, 0xc6, 0xff, 0xec, 0x18, 0x13, + 0xea, 0xb2, 0x78, 0x06, 0x91, 0xfb, 0x53, 0x0b, 0x5e, 0xaf, 0xb1, 0xdf, 0x8a, 0xa2, 0x98, 0x9f, + 0xaa, 0xe0, 0xbe, 0x8a, 0x6d, 0xcc, 0xd2, 0x6a, 0x57, 0x4b, 0xeb, 0x58, 0x21, 0x8c, 0xe3, 0xe0, + 0x43, 0x10, 0xe2, 0xf7, 0x16, 0x2c, 0x29, 0x21, 0x7c, 0x5f, 0x6d, 0xfb, 0x75, 0x68, 0xe1, 0x7c, + 0x52, 0x6d, 0xf8, 0xfa, 0xd8, 0x0d, 0xf3, 0xb9, 0xaa, 0xa7, 0x16, 0xd7, 0x23, 0xd2, 0x1e, 0xd7, + 0x06, 0x7e, 0xb3, 0xa8, 0x00, 0x53, 0x4f, 0x10, 0x15, 0x81, 0xfb, 0xfd, 0x3c, 0x98, 0x77, 0x69, + 0x48, 0xaf, 0xd2, 0x46, 0xee, 0x53, 0x58, 0x94, 0xc3, 0xd2, 0xd2, 0x06, 0x57, 0xc2, 0xf6, 0x5d, + 0x58, 0x96, 0x6c, 0xaf, 0x5c, 0xde, 0x22, 0x3b, 0x84, 0x7d, 0x76, 0x8e, 0x09, 0x1b, 0x5c, 0x25, + 0xf7, 0xaf, 0xc0, 0x6a, 0x6e, 0xfb, 0xa7, 0x91, 0x5f, 0x5c, 0x51, 0x26, 0x0c, 0x66, 0xdc, 0xaf, + 0xc2, 0xda, 0x0e, 0x67, 0xa7, 0x34, 0x4e, 0xa4, 0x97, 0x91, 0x24, 0xa7, 0x30, 0x92, 0x5f, 0x41, + 0x6e, 0x0f, 0x56, 0xd4, 0x48, 0xf1, 0x80, 0x0c, 0x02, 0x86, 0x55, 0xe9, 0x06, 0x40, 0x44, 0x06, + 0xf9, 0x93, 0x02, 0xce, 0x9d, 0x34, 0x8c, 0xf8, 0x9e, 0x1c, 0xf3, 0xe7, 0xea, 0xbb, 0x8d, 0xdf, + 0x4b, 0x8c, 0xfb, 0x3d, 0x70, 0x3c, 0x9a, 0x44, 0x9c, 0x25, 0x54, 0xe3, 0xba, 0x0e, 0xf3, 0x3b, + 0x59, 0x1c, 0x53, 0x26, 0xb6, 0xca, 0xe7, 0xeb, 0x3a, 0x4a, 0xf0, 0xed, 0x95, 0x7c, 0x71, 0x56, + 0xa1, 0x61, 0xdc, 0xdf, 0x34, 0xa0, 0xdd, 0x0b, 0x06, 0x8c, 0x84, 0x1e, 0x1d, 0x39, 0xdf, 0x82, + 0x16, 0x9e, 0x20, 0xca, 0xb4, 0xe3, 0xee, 0xce, 0xb8, 0x1a, 0x8f, 0x4a, 0x8f, 0x8e, 0x1e, 0x7c, + 0xc2, 0x53, 0x34, 0xce, 0x3b, 0xd0, 0xc1, 0x5f, 0x0f, 0xf1, 0x46, 0xa0, 0x0e, 0x80, 0x2f, 0x5c, + 0xc0, 0x44, 0xad, 0x46, 0x5e, 0x26, 0x07, 0x21, 0x50, 0x9f, 0xb0, 0xbe, 0x7a, 0x73, 0x3b, 0x4f, + 0xa0, 0x1d, 0xb9, 0x4c, 0x09, 0x84, 0x34, 0x82, 0x9a, 0xc8, 0x9e, 0x59, 0xbd, 0x5a, 0x4c, 0xa6, + 0xc6, 0xd6, 0x5a, 0x51, 0x23, 0x8d, 0xa0, 0x3e, 0xce, 0xd8, 0xe0, 0x69, 0xa4, 0xae, 0x72, 0x93, + 0xa9, 0x1f, 0xc8, 0x65, 0x8a, 0x1a, 0x69, 0x04, 0x75, 0x2c, 0xab, 0x9d, 0x34, 0xfa, 0x79, 0xd4, + 0x58, 0x14, 0x15, 0x35, 0xd2, 0x6c, 0xb7, 0x61, 0x36, 0x22, 0x67, 0x21, 0x27, 0xbe, 0xfb, 0x87, + 0x06, 0x40, 0xbe, 0x30, 0x91, 0x3d, 0x86, 0xe1, 0xa2, 0x8d, 0x0b, 0x5d, 0x14, 0x85, 0x67, 0x9a, + 0x93, 0x7a, 0xe3, 0x9d, 0xf4, 0xa5, 0x69, 0x9d, 0x84, 0xdc, 0x2a, 0x6e, 0xba, 0x53, 0x71, 0xd3, + 0xc6, 0x85, 0x6e, 0x52, 0x42, 0x29, 0x47, 0xdd, 0xa9, 0x38, 0x6a, 0xe3, 0x42, 0x47, 0x29, 0x7a, + 0xe5, 0xaa, 0x3b, 0x15, 0x57, 0x6d, 0x5c, 0xe8, 0x2a, 0x45, 0xaf, 0x9c, 0x75, 0xa7, 0xe2, 0xac, + 0x8d, 0x0b, 0x9d, 0xa5, 0xe8, 0xeb, 0xee, 0x7a, 0xdf, 0x86, 0x45, 0x69, 0x32, 0x9c, 0xdb, 0xb2, + 0x23, 0x2e, 0xc7, 0x33, 0xd2, 0x5c, 0xe6, 0x0b, 0x95, 0x89, 0x74, 0xbe, 0x0c, 0x2b, 0x88, 0x50, + 0x2f, 0x1a, 0xb2, 0xfd, 0xb3, 0xd7, 0x1b, 0x37, 0xdb, 0x5e, 0xfd, 0x83, 0x9c, 0xb4, 0x65, 0x49, + 0xca, 0x87, 0xbb, 0x24, 0x25, 0x79, 0xb7, 0x52, 0x62, 0xf4, 0x39, 0xe8, 0x4c, 0xed, 0x85, 0x3b, + 0xe6, 0x7c, 0x58, 0x0c, 0x38, 0x15, 0x24, 0x28, 0xd2, 0x60, 0x48, 0x79, 0x96, 0xaa, 0x32, 0x91, + 0x83, 0xe2, 0x8c, 0x1d, 0x52, 0x3f, 0x20, 0x72, 0x7a, 0xa8, 0x9e, 0x15, 0x0a, 0x84, 0xac, 0x6c, + 0xe5, 0x34, 0x54, 0xbd, 0x40, 0x97, 0x98, 0x8b, 0x27, 0x97, 0xee, 0x3f, 0x2d, 0x58, 0x3d, 0x20, + 0x71, 0x1a, 0xf4, 0x83, 0x88, 0xb0, 0x74, 0x9f, 0xa6, 0x44, 0xea, 0x60, 0x3c, 0x53, 0x59, 0x1f, + 0xec, 0x99, 0xea, 0x00, 0x96, 0x06, 0x65, 0x93, 0xa9, 0x3d, 0x74, 0x4d, 0xdd, 0x4a, 0x57, 0xc8, + 0x8d, 0x37, 0xb7, 0xc6, 0x07, 0x7e, 0x73, 0x73, 0x7f, 0x61, 0xc3, 0x52, 0xa5, 0x74, 0x8a, 0x16, + 0x11, 0x0f, 0xff, 0x22, 0x26, 0x0a, 0xd8, 0xd9, 0x02, 0x08, 0x8a, 0x30, 0x3a, 0x67, 0x16, 0x62, + 0xc6, 0x9a, 0xa7, 0x11, 0x8d, 0x1b, 0x89, 0x36, 0x2e, 0x3d, 0x12, 0x15, 0xcd, 0x7d, 0x54, 0x3a, + 0x49, 0x25, 0xea, 0x38, 0x6b, 0x8e, 0x71, 0xa5, 0xa7, 0x93, 0xba, 0x3f, 0x84, 0x95, 0x5a, 0x85, + 0x92, 0x13, 0x52, 0x7e, 0x42, 0x59, 0x31, 0x21, 0x15, 0x80, 0x16, 0xac, 0x76, 0x35, 0x58, 0xc3, + 0xe0, 0x54, 0x7f, 0xd4, 0x57, 0xa0, 0xfb, 0x4b, 0x1b, 0xd6, 0xc6, 0x9f, 0x2e, 0xaf, 0xaa, 0xb9, + 0x0f, 0xa1, 0x3b, 0xa9, 0x92, 0x5f, 0x99, 0xd5, 0xcb, 0xe8, 0x2e, 0xce, 0xe1, 0x57, 0xd5, 0xdc, + 0xab, 0x79, 0x74, 0x6b, 0x47, 0x9d, 0x66, 0x9f, 0xa2, 0xd3, 0x78, 0xe5, 0xb3, 0x5f, 0x3b, 0xca, + 0xaf, 0x2c, 0x0e, 0xff, 0x6a, 0xe5, 0x76, 0x2e, 0x7a, 0xb2, 0x8f, 0x95, 0x9d, 0xcb, 0xe8, 0xd1, + 0x1a, 0x15, 0x4d, 0xab, 0xa2, 0x57, 0xfc, 0x98, 0x6a, 0xa5, 0xb5, 0x4f, 0xee, 0x4f, 0xa0, 0xb3, + 0x4b, 0xc3, 0xfd, 0x64, 0x90, 0xbf, 0x8d, 0x9f, 0xa7, 0xd2, 0xa4, 0xff, 0xe5, 0x4d, 0x7c, 0x15, + 0xaf, 0xbe, 0xa8, 0xcf, 0xd4, 0x5e, 0xd4, 0xdd, 0x6d, 0x58, 0xd4, 0x05, 0xb8, 0xcc, 0x5f, 0x03, + 0xb6, 0xaf, 0xff, 0xe0, 0xda, 0xe6, 0x9b, 0xf8, 0x0f, 0xd0, 0xb7, 0x6a, 0x86, 0x39, 0x6c, 0xc9, + 0x7f, 0x84, 0x7e, 0xed, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0xe4, 0x4f, 0x9d, 0xd0, 0x24, 0x2a, + 0x00, 0x00, } diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index d247cb107..8a3a1618a 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -377,11 +377,17 @@ message InvitationInfo { int32 sessionType = 9; } +message ParticipantMetaData{ + GroupInfo groupInfo = 1; + GroupMemberFullInfo groupMemberInfo = 2; + PublicUserInfo userInfo = 3; +} message SignalInviteReq { string opUserID = 1; InvitationInfo invitation = 2; OfflinePushInfo offlinePushInfo = 3; + ParticipantMetaData participant = 4; } message SignalInviteReply { @@ -394,6 +400,7 @@ message SignalInviteInGroupReq { string opUserID = 1; InvitationInfo invitation = 2; OfflinePushInfo offlinePushInfo = 3; + ParticipantMetaData participant = 4; } message SignalInviteInGroupReply { @@ -406,6 +413,7 @@ message SignalCancelReq { string opUserID = 1; InvitationInfo invitation = 2; OfflinePushInfo offlinePushInfo = 3; + ParticipantMetaData participant = 4; } message SignalCancelReply { @@ -416,6 +424,7 @@ message SignalAcceptReq { string opUserID = 1; InvitationInfo invitation = 2; OfflinePushInfo offlinePushInfo = 3; + ParticipantMetaData participant = 4; } message SignalAcceptReply { From fa21ae616111b0e66a564fd672f3f9bf0ea1dc53 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 16 Mar 2022 14:59:15 +0800 Subject: [PATCH 062/129] rtc add --- internal/rpc/rtc/rtc.go | 13 +- pkg/proto/rtc/rtc.pb.go | 465 +++++++++++++++------------------------- pkg/proto/rtc/rtc.proto | 5 +- 3 files changed, 187 insertions(+), 296 deletions(-) diff --git a/internal/rpc/rtc/rtc.go b/internal/rpc/rtc/rtc.go index 14befba6c..e9dff0c9d 100644 --- a/internal/rpc/rtc/rtc.go +++ b/internal/rpc/rtc/rtc.go @@ -1,10 +1,12 @@ package rtc import ( + "Open_IM/pkg/common/constant" "Open_IM/pkg/common/log" pbRtc "Open_IM/pkg/proto/rtc" "Open_IM/pkg/utils" "context" + "encoding/json" "time" "github.com/livekit/protocol/auth" @@ -12,7 +14,6 @@ import ( ) type RtcService struct { - } func (r *RtcService) GetJoinToken(_ context.Context, req *pbRtc.GetJoinTokenReq) (resp *pbRtc.GetJoinTokenResp, err error) { @@ -27,11 +28,17 @@ func (r *RtcService) GetJoinToken(_ context.Context, req *pbRtc.GetJoinTokenReq) CanPublish: &canPublish, CanSubscribe: &canSubscribe, } + byte, err := json.Marshal(req.MetaData) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "json marshal failed", err.Error()) + resp.CommonResp = &pbRtc.CommonResp{ErrCode: constant.ErrArgs.ErrCode, ErrMsg: constant.ErrArgs.ErrMsg} + return + } at.AddGrant(grant). SetIdentity(req.Identity). // optional SetName("participant-name"). - SetValidFor(time.Hour) + SetValidFor(time.Hour).SetMetadata(string(byte)) jwt, err := at.ToJWT() if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "toJwt failed", err.Error(), "jwt: ", jwt) @@ -40,4 +47,4 @@ func (r *RtcService) GetJoinToken(_ context.Context, req *pbRtc.GetJoinTokenReq) resp.CommonResp = &pbRtc.CommonResp{} log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) return resp, err -} \ No newline at end of file +} diff --git a/pkg/proto/rtc/rtc.pb.go b/pkg/proto/rtc/rtc.pb.go index 0c993917b..a1b439537 100644 --- a/pkg/proto/rtc/rtc.pb.go +++ b/pkg/proto/rtc/rtc.pb.go @@ -1,387 +1,242 @@ // Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.1 -// protoc v3.15.5 // source: rtc/rtc.proto -package rtc +package rtc // import "./rtc" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import sdk_ws "Open_IM/pkg/proto/sdk_ws" import ( - context "context" + context "golang.org/x/net/context" grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" ) -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package type CommonResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ErrCode int32 `protobuf:"varint,1,opt,name=errCode,proto3" json:"errCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=errMsg,proto3" json:"errMsg,omitempty"` + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *CommonResp) Reset() { - *x = CommonResp{} - if protoimpl.UnsafeEnabled { - mi := &file_rtc_rtc_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CommonResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CommonResp) ProtoMessage() {} - -func (x *CommonResp) ProtoReflect() protoreflect.Message { - mi := &file_rtc_rtc_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CommonResp.ProtoReflect.Descriptor instead. +func (m *CommonResp) Reset() { *m = CommonResp{} } +func (m *CommonResp) String() string { return proto.CompactTextString(m) } +func (*CommonResp) ProtoMessage() {} func (*CommonResp) Descriptor() ([]byte, []int) { - return file_rtc_rtc_proto_rawDescGZIP(), []int{0} + return fileDescriptor_rtc_058fd4200139f42f, []int{0} +} +func (m *CommonResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CommonResp.Unmarshal(m, b) +} +func (m *CommonResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CommonResp.Marshal(b, m, deterministic) +} +func (dst *CommonResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_CommonResp.Merge(dst, src) +} +func (m *CommonResp) XXX_Size() int { + return xxx_messageInfo_CommonResp.Size(m) +} +func (m *CommonResp) XXX_DiscardUnknown() { + xxx_messageInfo_CommonResp.DiscardUnknown(m) } -func (x *CommonResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +var xxx_messageInfo_CommonResp proto.InternalMessageInfo + +func (m *CommonResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode } return 0 } -func (x *CommonResp) GetErrMsg() string { - if x != nil { - return x.ErrMsg +func (m *CommonResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg } return "" } type GetJoinTokenReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ApiKey string `protobuf:"bytes,1,opt,name=apiKey,proto3" json:"apiKey,omitempty"` - ApiSecret string `protobuf:"bytes,2,opt,name=apiSecret,proto3" json:"apiSecret,omitempty"` - Room string `protobuf:"bytes,3,opt,name=room,proto3" json:"room,omitempty"` - Identity string `protobuf:"bytes,4,opt,name=identity,proto3" json:"identity,omitempty"` - OperationID string `protobuf:"bytes,5,opt,name=operationID,proto3" json:"operationID,omitempty"` + ApiKey string `protobuf:"bytes,1,opt,name=apiKey" json:"apiKey,omitempty"` + ApiSecret string `protobuf:"bytes,2,opt,name=apiSecret" json:"apiSecret,omitempty"` + Room string `protobuf:"bytes,3,opt,name=room" json:"room,omitempty"` + Identity string `protobuf:"bytes,4,opt,name=identity" json:"identity,omitempty"` + MetaData *sdk_ws.ParticipantMetaData `protobuf:"bytes,5,opt,name=metaData" json:"metaData,omitempty"` + OperationID string `protobuf:"bytes,6,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetJoinTokenReq) Reset() { - *x = GetJoinTokenReq{} - if protoimpl.UnsafeEnabled { - mi := &file_rtc_rtc_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetJoinTokenReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetJoinTokenReq) ProtoMessage() {} - -func (x *GetJoinTokenReq) ProtoReflect() protoreflect.Message { - mi := &file_rtc_rtc_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetJoinTokenReq.ProtoReflect.Descriptor instead. +func (m *GetJoinTokenReq) Reset() { *m = GetJoinTokenReq{} } +func (m *GetJoinTokenReq) String() string { return proto.CompactTextString(m) } +func (*GetJoinTokenReq) ProtoMessage() {} func (*GetJoinTokenReq) Descriptor() ([]byte, []int) { - return file_rtc_rtc_proto_rawDescGZIP(), []int{1} + return fileDescriptor_rtc_058fd4200139f42f, []int{1} +} +func (m *GetJoinTokenReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetJoinTokenReq.Unmarshal(m, b) +} +func (m *GetJoinTokenReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetJoinTokenReq.Marshal(b, m, deterministic) +} +func (dst *GetJoinTokenReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetJoinTokenReq.Merge(dst, src) +} +func (m *GetJoinTokenReq) XXX_Size() int { + return xxx_messageInfo_GetJoinTokenReq.Size(m) +} +func (m *GetJoinTokenReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetJoinTokenReq.DiscardUnknown(m) } -func (x *GetJoinTokenReq) GetApiKey() string { - if x != nil { - return x.ApiKey +var xxx_messageInfo_GetJoinTokenReq proto.InternalMessageInfo + +func (m *GetJoinTokenReq) GetApiKey() string { + if m != nil { + return m.ApiKey } return "" } -func (x *GetJoinTokenReq) GetApiSecret() string { - if x != nil { - return x.ApiSecret +func (m *GetJoinTokenReq) GetApiSecret() string { + if m != nil { + return m.ApiSecret } return "" } -func (x *GetJoinTokenReq) GetRoom() string { - if x != nil { - return x.Room +func (m *GetJoinTokenReq) GetRoom() string { + if m != nil { + return m.Room } return "" } -func (x *GetJoinTokenReq) GetIdentity() string { - if x != nil { - return x.Identity +func (m *GetJoinTokenReq) GetIdentity() string { + if m != nil { + return m.Identity } return "" } -func (x *GetJoinTokenReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetJoinTokenReq) GetMetaData() *sdk_ws.ParticipantMetaData { + if m != nil { + return m.MetaData + } + return nil +} + +func (m *GetJoinTokenReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type GetJoinTokenResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` - Jwt string `protobuf:"bytes,2,opt,name=jwt,proto3" json:"jwt,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` + Jwt string `protobuf:"bytes,2,opt,name=jwt" json:"jwt,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetJoinTokenResp) Reset() { - *x = GetJoinTokenResp{} - if protoimpl.UnsafeEnabled { - mi := &file_rtc_rtc_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetJoinTokenResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetJoinTokenResp) ProtoMessage() {} - -func (x *GetJoinTokenResp) ProtoReflect() protoreflect.Message { - mi := &file_rtc_rtc_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetJoinTokenResp.ProtoReflect.Descriptor instead. +func (m *GetJoinTokenResp) Reset() { *m = GetJoinTokenResp{} } +func (m *GetJoinTokenResp) String() string { return proto.CompactTextString(m) } +func (*GetJoinTokenResp) ProtoMessage() {} func (*GetJoinTokenResp) Descriptor() ([]byte, []int) { - return file_rtc_rtc_proto_rawDescGZIP(), []int{2} + return fileDescriptor_rtc_058fd4200139f42f, []int{2} +} +func (m *GetJoinTokenResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetJoinTokenResp.Unmarshal(m, b) +} +func (m *GetJoinTokenResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetJoinTokenResp.Marshal(b, m, deterministic) +} +func (dst *GetJoinTokenResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetJoinTokenResp.Merge(dst, src) +} +func (m *GetJoinTokenResp) XXX_Size() int { + return xxx_messageInfo_GetJoinTokenResp.Size(m) +} +func (m *GetJoinTokenResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetJoinTokenResp.DiscardUnknown(m) } -func (x *GetJoinTokenResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_GetJoinTokenResp proto.InternalMessageInfo + +func (m *GetJoinTokenResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } -func (x *GetJoinTokenResp) GetJwt() string { - if x != nil { - return x.Jwt +func (m *GetJoinTokenResp) GetJwt() string { + if m != nil { + return m.Jwt } return "" } -var File_rtc_rtc_proto protoreflect.FileDescriptor - -var file_rtc_rtc_proto_rawDesc = []byte{ - 0x0a, 0x0d, 0x72, 0x74, 0x63, 0x2f, 0x72, 0x74, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x03, 0x72, 0x74, 0x63, 0x22, 0x3e, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, - 0x72, 0x4d, 0x73, 0x67, 0x22, 0x99, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x70, 0x69, 0x4b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, - 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x70, 0x69, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x70, 0x69, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, - 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x20, - 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, - 0x22, 0x55, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x2f, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x72, 0x74, 0x63, 0x2e, 0x43, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6a, 0x77, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6a, 0x77, 0x74, 0x32, 0x49, 0x0a, 0x0a, 0x52, 0x74, 0x63, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x2e, 0x72, 0x74, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x4a, - 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x72, 0x74, - 0x63, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x42, 0x0b, 0x5a, 0x09, 0x2e, 0x2f, 0x72, 0x74, 0x63, 0x3b, 0x72, 0x74, 0x63, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_rtc_rtc_proto_rawDescOnce sync.Once - file_rtc_rtc_proto_rawDescData = file_rtc_rtc_proto_rawDesc -) - -func file_rtc_rtc_proto_rawDescGZIP() []byte { - file_rtc_rtc_proto_rawDescOnce.Do(func() { - file_rtc_rtc_proto_rawDescData = protoimpl.X.CompressGZIP(file_rtc_rtc_proto_rawDescData) - }) - return file_rtc_rtc_proto_rawDescData -} - -var file_rtc_rtc_proto_msgTypes = make([]protoimpl.MessageInfo, 3) -var file_rtc_rtc_proto_goTypes = []interface{}{ - (*CommonResp)(nil), // 0: rtc.CommonResp - (*GetJoinTokenReq)(nil), // 1: rtc.GetJoinTokenReq - (*GetJoinTokenResp)(nil), // 2: rtc.GetJoinTokenResp -} -var file_rtc_rtc_proto_depIdxs = []int32{ - 0, // 0: rtc.GetJoinTokenResp.CommonResp:type_name -> rtc.CommonResp - 1, // 1: rtc.RtcService.GetJoinToken:input_type -> rtc.GetJoinTokenReq - 2, // 2: rtc.RtcService.GetJoinToken:output_type -> rtc.GetJoinTokenResp - 2, // [2:3] is the sub-list for method output_type - 1, // [1:2] is the sub-list for method input_type - 1, // [1:1] is the sub-list for extension type_name - 1, // [1:1] is the sub-list for extension extendee - 0, // [0:1] is the sub-list for field type_name -} - -func init() { file_rtc_rtc_proto_init() } -func file_rtc_rtc_proto_init() { - if File_rtc_rtc_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_rtc_rtc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommonResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_rtc_rtc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJoinTokenReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_rtc_rtc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJoinTokenResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_rtc_rtc_proto_rawDesc, - NumEnums: 0, - NumMessages: 3, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_rtc_rtc_proto_goTypes, - DependencyIndexes: file_rtc_rtc_proto_depIdxs, - MessageInfos: file_rtc_rtc_proto_msgTypes, - }.Build() - File_rtc_rtc_proto = out.File - file_rtc_rtc_proto_rawDesc = nil - file_rtc_rtc_proto_goTypes = nil - file_rtc_rtc_proto_depIdxs = nil +func init() { + proto.RegisterType((*CommonResp)(nil), "rtc.CommonResp") + proto.RegisterType((*GetJoinTokenReq)(nil), "rtc.GetJoinTokenReq") + proto.RegisterType((*GetJoinTokenResp)(nil), "rtc.GetJoinTokenResp") } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context -var _ grpc.ClientConnInterface +var _ grpc.ClientConn // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 +const _ = grpc.SupportPackageIsVersion4 + +// Client API for RtcService service -// RtcServiceClient is the client API for RtcService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type RtcServiceClient interface { GetJoinToken(ctx context.Context, in *GetJoinTokenReq, opts ...grpc.CallOption) (*GetJoinTokenResp, error) } type rtcServiceClient struct { - cc grpc.ClientConnInterface + cc *grpc.ClientConn } -func NewRtcServiceClient(cc grpc.ClientConnInterface) RtcServiceClient { +func NewRtcServiceClient(cc *grpc.ClientConn) RtcServiceClient { return &rtcServiceClient{cc} } func (c *rtcServiceClient) GetJoinToken(ctx context.Context, in *GetJoinTokenReq, opts ...grpc.CallOption) (*GetJoinTokenResp, error) { out := new(GetJoinTokenResp) - err := c.cc.Invoke(ctx, "/rtc.RtcService/GetJoinToken", in, out, opts...) + err := grpc.Invoke(ctx, "/rtc.RtcService/GetJoinToken", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -// RtcServiceServer is the server API for RtcService service. +// Server API for RtcService service + type RtcServiceServer interface { GetJoinToken(context.Context, *GetJoinTokenReq) (*GetJoinTokenResp, error) } -// UnimplementedRtcServiceServer can be embedded to have forward compatible implementations. -type UnimplementedRtcServiceServer struct { -} - -func (*UnimplementedRtcServiceServer) GetJoinToken(context.Context, *GetJoinTokenReq) (*GetJoinTokenResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetJoinToken not implemented") -} - func RegisterRtcServiceServer(s *grpc.Server, srv RtcServiceServer) { s.RegisterService(&_RtcService_serviceDesc, srv) } @@ -416,3 +271,31 @@ var _RtcService_serviceDesc = grpc.ServiceDesc{ Streams: []grpc.StreamDesc{}, Metadata: "rtc/rtc.proto", } + +func init() { proto.RegisterFile("rtc/rtc.proto", fileDescriptor_rtc_058fd4200139f42f) } + +var fileDescriptor_rtc_058fd4200139f42f = []byte{ + // 343 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x91, 0x4f, 0x6b, 0xdb, 0x40, + 0x10, 0xc5, 0x51, 0xfd, 0xa7, 0xd6, 0xa8, 0xc5, 0x66, 0x69, 0x8b, 0x30, 0x3d, 0xa8, 0x3e, 0x14, + 0x9f, 0x24, 0x70, 0x8f, 0x86, 0x1e, 0x6c, 0x43, 0x71, 0x83, 0x49, 0x58, 0x27, 0x97, 0x5c, 0xc4, + 0x66, 0x3d, 0x98, 0x8d, 0x91, 0x76, 0x33, 0xbb, 0xd8, 0xf8, 0xc3, 0xe6, 0xbb, 0x04, 0x6d, 0x64, + 0x5b, 0x09, 0xb9, 0xcd, 0xfb, 0xed, 0xec, 0x0c, 0xef, 0x0d, 0x7c, 0x25, 0x27, 0x33, 0x72, 0x32, + 0x35, 0xa4, 0x9d, 0x66, 0x2d, 0x72, 0x72, 0xf8, 0xeb, 0xda, 0x60, 0x99, 0x2f, 0x57, 0x99, 0xd9, + 0x6d, 0x33, 0xcf, 0x33, 0xbb, 0xd9, 0xe5, 0x07, 0x9b, 0x1d, 0xec, 0x6b, 0xdf, 0xe8, 0x2f, 0xc0, + 0x5c, 0x17, 0x85, 0x2e, 0x39, 0x5a, 0xc3, 0x62, 0xf8, 0x8c, 0x44, 0x73, 0xbd, 0xc1, 0x38, 0x48, + 0x82, 0x71, 0x87, 0x9f, 0x24, 0xfb, 0x01, 0x5d, 0x24, 0x5a, 0xd9, 0x6d, 0xfc, 0x29, 0x09, 0xc6, + 0x21, 0xaf, 0xd5, 0xe8, 0x39, 0x80, 0xfe, 0x3f, 0x74, 0xff, 0xb5, 0x2a, 0x6f, 0xf5, 0x0e, 0x4b, + 0x8e, 0x4f, 0x55, 0xaf, 0x30, 0xea, 0x0a, 0x8f, 0x7e, 0x48, 0xc8, 0x6b, 0xc5, 0x7e, 0x42, 0x28, + 0x8c, 0x5a, 0xa3, 0x24, 0x74, 0xf5, 0x98, 0x0b, 0x60, 0x0c, 0xda, 0xa4, 0x75, 0x11, 0xb7, 0xfc, + 0x83, 0xaf, 0xd9, 0x10, 0x7a, 0x6a, 0x83, 0xa5, 0x53, 0xee, 0x18, 0xb7, 0x3d, 0x3f, 0x6b, 0x36, + 0x83, 0x5e, 0x81, 0x4e, 0x2c, 0x84, 0x13, 0x71, 0x27, 0x09, 0xc6, 0xd1, 0xe4, 0x77, 0x6a, 0x91, + 0xf6, 0x48, 0xb9, 0x30, 0x2a, 0x37, 0x82, 0x44, 0x61, 0xd3, 0x1b, 0x41, 0x4e, 0x49, 0x65, 0x44, + 0xe9, 0x56, 0x75, 0x37, 0x3f, 0xff, 0x63, 0x09, 0x44, 0xda, 0x20, 0x09, 0xa7, 0x74, 0xb9, 0x5c, + 0xc4, 0x5d, 0xbf, 0xa2, 0x89, 0x46, 0x77, 0x30, 0x78, 0x6b, 0xcf, 0x1a, 0x96, 0x35, 0x33, 0xf3, + 0x1e, 0xa3, 0x49, 0x3f, 0xad, 0xb2, 0xbf, 0x60, 0xde, 0x8c, 0x75, 0x00, 0xad, 0xc7, 0xc3, 0xc9, + 0x72, 0x55, 0x4e, 0x96, 0x00, 0xdc, 0xc9, 0x35, 0xd2, 0x5e, 0x49, 0x64, 0x53, 0xf8, 0xd2, 0x5c, + 0xc2, 0xbe, 0xf9, 0x61, 0xef, 0x62, 0x1d, 0x7e, 0xff, 0x80, 0x5a, 0x33, 0x8b, 0xee, 0xc3, 0xb4, + 0x3a, 0xfc, 0x94, 0x9c, 0x7c, 0xe8, 0xfa, 0xab, 0xfe, 0x79, 0x09, 0x00, 0x00, 0xff, 0xff, 0x1a, + 0x27, 0x45, 0x90, 0x0e, 0x02, 0x00, 0x00, +} diff --git a/pkg/proto/rtc/rtc.proto b/pkg/proto/rtc/rtc.proto index 48ab8478c..f27a0b721 100644 --- a/pkg/proto/rtc/rtc.proto +++ b/pkg/proto/rtc/rtc.proto @@ -1,4 +1,5 @@ syntax = "proto3"; +import "Open_IM/pkg/proto/sdk_ws/ws.proto"; option go_package = "./rtc;rtc"; package rtc; @@ -12,7 +13,8 @@ message GetJoinTokenReq{ string apiSecret = 2; string room = 3; string identity = 4; - string operationID = 5; + server_api_params.ParticipantMetaData metaData = 5; + string operationID = 6; } message GetJoinTokenResp{ @@ -23,4 +25,3 @@ message GetJoinTokenResp{ service RtcService { rpc GetJoinToken(GetJoinTokenReq) returns(GetJoinTokenResp); } - From b7ff0cf2a20219c721c9ffea6bfeaff46ea80ad1 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 16 Mar 2022 15:21:18 +0800 Subject: [PATCH 063/129] meta data add --- internal/msg_gateway/gate/open_im_media/room.go | 5 +++-- internal/msg_gateway/gate/validate.go | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/internal/msg_gateway/gate/open_im_media/room.go b/internal/msg_gateway/gate/open_im_media/room.go index 498bc23c0..640dc7b6d 100644 --- a/internal/msg_gateway/gate/open_im_media/room.go +++ b/internal/msg_gateway/gate/open_im_media/room.go @@ -2,6 +2,7 @@ package open_im_media import ( pbRtc "Open_IM/pkg/proto/rtc" + open_im_sdk "Open_IM/pkg/proto/sdk_ws" "context" "errors" "google.golang.org/grpc" @@ -32,14 +33,14 @@ func (m *Media) GetUrl() string { return m.MediaAddress } -func (m *Media) GetJoinToken(room, identity string, operationID string) (string, error) { +func (m *Media) GetJoinToken(room, identity string, operationID string, data *open_im_sdk.ParticipantMetaData) (string, error) { conn, err := grpc.Dial(Address, grpc.WithInsecure()) if err != nil { return "", err } defer conn.Close() c := pbRtc.NewRtcServiceClient(conn) - req := &pbRtc.GetJoinTokenReq{ApiKey: m.ApiKey, ApiSecret: m.ApiSecret, Room: room, OperationID: operationID, Identity: identity} + req := &pbRtc.GetJoinTokenReq{ApiKey: m.ApiKey, ApiSecret: m.ApiSecret, Room: room, OperationID: operationID, Identity: identity, MetaData: data} resp, err := c.GetJoinToken(context.Background(), req) if err != nil { return "", err diff --git a/internal/msg_gateway/gate/validate.go b/internal/msg_gateway/gate/validate.go index dd8ea022e..60ab368da 100644 --- a/internal/msg_gateway/gate/validate.go +++ b/internal/msg_gateway/gate/validate.go @@ -145,7 +145,7 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq, operationID s // //} - token, err2 := media.GetJoinToken(payload.Invite.Invitation.RoomID, payload.Invite.Invitation.InviterUserID, operationID) + token, err2 := media.GetJoinToken(payload.Invite.Invitation.RoomID, payload.Invite.Invitation.InviterUserID, operationID, payload.Invite.Participant) if err2 != nil { return false, 201, err2.Error(), nil, nil } @@ -172,7 +172,7 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq, operationID s // return false, 201, err.Error(), nil, nil // //} - token, err2 := media.GetJoinToken(payload.InviteInGroup.Invitation.RoomID, payload.InviteInGroup.Invitation.InviterUserID, operationID) + token, err2 := media.GetJoinToken(payload.InviteInGroup.Invitation.RoomID, payload.InviteInGroup.Invitation.InviterUserID, operationID, payload.InviteInGroup.Participant) if err2 != nil { return false, 201, err2.Error(), nil, nil } @@ -214,7 +214,7 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq, operationID s msg.ClientMsgID = utils.GetMsgID(payload.Cancel.OpUserID) return true, 0, "", &resp, &msg case *open_im_sdk.SignalReq_Accept: - token, err2 := media.GetJoinToken(payload.Accept.Invitation.RoomID, payload.Accept.OpUserID, operationID) + token, err2 := media.GetJoinToken(payload.Accept.Invitation.RoomID, payload.Accept.OpUserID, operationID, payload.Accept.Participant) if err2 != nil { return false, 201, err2.Error(), nil, nil } From 812362338e941a726b3aa5e1f022a282cdbdd127 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Wed, 16 Mar 2022 15:31:15 +0800 Subject: [PATCH 064/129] signaling add participant --- pkg/proto/sdk_ws/ws.pb.go | 479 ++++++++++++++++++++------------------ pkg/proto/sdk_ws/ws.proto | 4 + 2 files changed, 256 insertions(+), 227 deletions(-) diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index c4bc9ec2a..53c1c3b24 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_cdfe09251fc3838b, []int{0} + return fileDescriptor_ws_8fd7235a925cae11, []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_cdfe09251fc3838b, []int{1} + return fileDescriptor_ws_8fd7235a925cae11, []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_cdfe09251fc3838b, []int{2} + return fileDescriptor_ws_8fd7235a925cae11, []int{2} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -344,7 +344,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} } func (m *UserInfo) String() string { return proto.CompactTextString(m) } func (*UserInfo) ProtoMessage() {} func (*UserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{3} + return fileDescriptor_ws_8fd7235a925cae11, []int{3} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -451,7 +451,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} } func (m *FriendInfo) String() string { return proto.CompactTextString(m) } func (*FriendInfo) ProtoMessage() {} func (*FriendInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{4} + return fileDescriptor_ws_8fd7235a925cae11, []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_cdfe09251fc3838b, []int{5} + return fileDescriptor_ws_8fd7235a925cae11, []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_cdfe09251fc3838b, []int{6} + return fileDescriptor_ws_8fd7235a925cae11, []int{6} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -725,7 +725,7 @@ func (m *FriendRequest) Reset() { *m = FriendRequest{} } func (m *FriendRequest) String() string { return proto.CompactTextString(m) } func (*FriendRequest) ProtoMessage() {} func (*FriendRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{7} + return fileDescriptor_ws_8fd7235a925cae11, []int{7} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -863,7 +863,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{8} + return fileDescriptor_ws_8fd7235a925cae11, []int{8} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -917,7 +917,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{9} + return fileDescriptor_ws_8fd7235a925cae11, []int{9} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -968,7 +968,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{10} + return fileDescriptor_ws_8fd7235a925cae11, []int{10} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1000,7 +1000,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{11} + return fileDescriptor_ws_8fd7235a925cae11, []int{11} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1047,7 +1047,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{12} + return fileDescriptor_ws_8fd7235a925cae11, []int{12} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1116,7 +1116,7 @@ func (m *MsgData) Reset() { *m = MsgData{} } func (m *MsgData) String() string { return proto.CompactTextString(m) } func (*MsgData) ProtoMessage() {} func (*MsgData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{13} + return fileDescriptor_ws_8fd7235a925cae11, []int{13} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -1277,7 +1277,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{14} + return fileDescriptor_ws_8fd7235a925cae11, []int{14} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -1345,7 +1345,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} } func (m *TipsComm) String() string { return proto.CompactTextString(m) } func (*TipsComm) ProtoMessage() {} func (*TipsComm) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{15} + return fileDescriptor_ws_8fd7235a925cae11, []int{15} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -1402,7 +1402,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} } func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } func (*GroupCreatedTips) ProtoMessage() {} func (*GroupCreatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{16} + return fileDescriptor_ws_8fd7235a925cae11, []int{16} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -1471,7 +1471,7 @@ func (m *GroupInfoSetTips) Reset() { *m = GroupInfoSetTips{} } func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupInfoSetTips) ProtoMessage() {} func (*GroupInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{17} + return fileDescriptor_ws_8fd7235a925cae11, []int{17} } func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) @@ -1526,7 +1526,7 @@ func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTi func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } func (*JoinGroupApplicationTips) ProtoMessage() {} func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{18} + return fileDescriptor_ws_8fd7235a925cae11, []int{18} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -1582,7 +1582,7 @@ func (m *MemberQuitTips) Reset() { *m = MemberQuitTips{} } func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) } func (*MemberQuitTips) ProtoMessage() {} func (*MemberQuitTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{19} + return fileDescriptor_ws_8fd7235a925cae11, []int{19} } func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) @@ -1637,7 +1637,7 @@ func (m *GroupApplicationAcceptedTips) Reset() { *m = GroupApplicationAc func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationAcceptedTips) ProtoMessage() {} func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{20} + return fileDescriptor_ws_8fd7235a925cae11, []int{20} } func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) @@ -1692,7 +1692,7 @@ func (m *GroupApplicationRejectedTips) Reset() { *m = GroupApplicationRe func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationRejectedTips) ProtoMessage() {} func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{21} + return fileDescriptor_ws_8fd7235a925cae11, []int{21} } func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) @@ -1748,7 +1748,7 @@ func (m *GroupOwnerTransferredTips) Reset() { *m = GroupOwnerTransferred func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) } func (*GroupOwnerTransferredTips) ProtoMessage() {} func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{22} + return fileDescriptor_ws_8fd7235a925cae11, []int{22} } func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) @@ -1811,7 +1811,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} } func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } func (*MemberKickedTips) ProtoMessage() {} func (*MemberKickedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{23} + return fileDescriptor_ws_8fd7235a925cae11, []int{23} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -1874,7 +1874,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} } func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } func (*MemberInvitedTips) ProtoMessage() {} func (*MemberInvitedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{24} + return fileDescriptor_ws_8fd7235a925cae11, []int{24} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -1936,7 +1936,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} } func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } func (*MemberEnterTips) ProtoMessage() {} func (*MemberEnterTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{25} + return fileDescriptor_ws_8fd7235a925cae11, []int{25} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -1990,7 +1990,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_cdfe09251fc3838b, []int{26} + return fileDescriptor_ws_8fd7235a925cae11, []int{26} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -2043,7 +2043,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_cdfe09251fc3838b, []int{27} + return fileDescriptor_ws_8fd7235a925cae11, []int{27} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -2089,7 +2089,7 @@ func (m *FriendApplicationTips) Reset() { *m = FriendApplicationTips{} } func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationTips) ProtoMessage() {} func (*FriendApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{28} + return fileDescriptor_ws_8fd7235a925cae11, []int{28} } func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) @@ -2129,7 +2129,7 @@ func (m *FriendApplicationApprovedTips) Reset() { *m = FriendApplication func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationApprovedTips) ProtoMessage() {} func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{29} + return fileDescriptor_ws_8fd7235a925cae11, []int{29} } func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) @@ -2176,7 +2176,7 @@ func (m *FriendApplicationRejectedTips) Reset() { *m = FriendApplication func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationRejectedTips) ProtoMessage() {} func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{30} + return fileDescriptor_ws_8fd7235a925cae11, []int{30} } func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) @@ -2224,7 +2224,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_cdfe09251fc3838b, []int{31} + return fileDescriptor_ws_8fd7235a925cae11, []int{31} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -2277,7 +2277,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_cdfe09251fc3838b, []int{32} + return fileDescriptor_ws_8fd7235a925cae11, []int{32} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -2315,7 +2315,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_cdfe09251fc3838b, []int{33} + return fileDescriptor_ws_8fd7235a925cae11, []int{33} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -2353,7 +2353,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_cdfe09251fc3838b, []int{34} + return fileDescriptor_ws_8fd7235a925cae11, []int{34} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -2391,7 +2391,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_cdfe09251fc3838b, []int{35} + return fileDescriptor_ws_8fd7235a925cae11, []int{35} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -2430,7 +2430,7 @@ func (m *UserInfoUpdatedTips) Reset() { *m = UserInfoUpdatedTips{} } func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (*UserInfoUpdatedTips) ProtoMessage() {} func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{36} + return fileDescriptor_ws_8fd7235a925cae11, []int{36} } func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) @@ -2469,7 +2469,7 @@ func (m *ConversationUpdateTips) Reset() { *m = ConversationUpdateTips{} func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) } func (*ConversationUpdateTips) ProtoMessage() {} func (*ConversationUpdateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{37} + return fileDescriptor_ws_8fd7235a925cae11, []int{37} } func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) @@ -2509,7 +2509,7 @@ func (m *RequestPagination) Reset() { *m = RequestPagination{} } func (m *RequestPagination) String() string { return proto.CompactTextString(m) } func (*RequestPagination) ProtoMessage() {} func (*RequestPagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{38} + return fileDescriptor_ws_8fd7235a925cae11, []int{38} } func (m *RequestPagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RequestPagination.Unmarshal(m, b) @@ -2555,7 +2555,7 @@ func (m *ResponsePagination) Reset() { *m = ResponsePagination{} } func (m *ResponsePagination) String() string { return proto.CompactTextString(m) } func (*ResponsePagination) ProtoMessage() {} func (*ResponsePagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{39} + return fileDescriptor_ws_8fd7235a925cae11, []int{39} } func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) @@ -2608,7 +2608,7 @@ func (m *SignalReq) Reset() { *m = SignalReq{} } func (m *SignalReq) String() string { return proto.CompactTextString(m) } func (*SignalReq) ProtoMessage() {} func (*SignalReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{40} + return fileDescriptor_ws_8fd7235a925cae11, []int{40} } func (m *SignalReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalReq.Unmarshal(m, b) @@ -2875,7 +2875,7 @@ func (m *SignalResp) Reset() { *m = SignalResp{} } func (m *SignalResp) String() string { return proto.CompactTextString(m) } func (*SignalResp) ProtoMessage() {} func (*SignalResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{41} + return fileDescriptor_ws_8fd7235a925cae11, []int{41} } func (m *SignalResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalResp.Unmarshal(m, b) @@ -3143,7 +3143,7 @@ func (m *InvitationInfo) Reset() { *m = InvitationInfo{} } func (m *InvitationInfo) String() string { return proto.CompactTextString(m) } func (*InvitationInfo) ProtoMessage() {} func (*InvitationInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{42} + return fileDescriptor_ws_8fd7235a925cae11, []int{42} } func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) @@ -3239,7 +3239,7 @@ func (m *ParticipantMetaData) Reset() { *m = ParticipantMetaData{} } func (m *ParticipantMetaData) String() string { return proto.CompactTextString(m) } func (*ParticipantMetaData) ProtoMessage() {} func (*ParticipantMetaData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{43} + return fileDescriptor_ws_8fd7235a925cae11, []int{43} } func (m *ParticipantMetaData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ParticipantMetaData.Unmarshal(m, b) @@ -3294,7 +3294,7 @@ func (m *SignalInviteReq) Reset() { *m = SignalInviteReq{} } func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteReq) ProtoMessage() {} func (*SignalInviteReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{44} + return fileDescriptor_ws_8fd7235a925cae11, []int{44} } func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) @@ -3355,7 +3355,7 @@ func (m *SignalInviteReply) Reset() { *m = SignalInviteReply{} } func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteReply) ProtoMessage() {} func (*SignalInviteReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{45} + return fileDescriptor_ws_8fd7235a925cae11, []int{45} } func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) @@ -3410,7 +3410,7 @@ func (m *SignalInviteInGroupReq) Reset() { *m = SignalInviteInGroupReq{} func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReq) ProtoMessage() {} func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{46} + return fileDescriptor_ws_8fd7235a925cae11, []int{46} } func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) @@ -3471,7 +3471,7 @@ func (m *SignalInviteInGroupReply) Reset() { *m = SignalInviteInGroupRep func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReply) ProtoMessage() {} func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{47} + return fileDescriptor_ws_8fd7235a925cae11, []int{47} } func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) @@ -3526,7 +3526,7 @@ func (m *SignalCancelReq) Reset() { *m = SignalCancelReq{} } func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) } func (*SignalCancelReq) ProtoMessage() {} func (*SignalCancelReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{48} + return fileDescriptor_ws_8fd7235a925cae11, []int{48} } func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) @@ -3584,7 +3584,7 @@ func (m *SignalCancelReply) Reset() { *m = SignalCancelReply{} } func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) } func (*SignalCancelReply) ProtoMessage() {} func (*SignalCancelReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{49} + return fileDescriptor_ws_8fd7235a925cae11, []int{49} } func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) @@ -3609,6 +3609,7 @@ type SignalAcceptReq struct { Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant" json:"participant,omitempty"` + OpUserPlatformID string `protobuf:"bytes,5,opt,name=opUserPlatformID" json:"opUserPlatformID,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -3618,7 +3619,7 @@ func (m *SignalAcceptReq) Reset() { *m = SignalAcceptReq{} } func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReq) ProtoMessage() {} func (*SignalAcceptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{50} + return fileDescriptor_ws_8fd7235a925cae11, []int{50} } func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) @@ -3666,6 +3667,13 @@ func (m *SignalAcceptReq) GetParticipant() *ParticipantMetaData { return nil } +func (m *SignalAcceptReq) GetOpUserPlatformID() string { + if m != nil { + return m.OpUserPlatformID + } + return "" +} + type SignalAcceptReply struct { Token string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` RoomID string `protobuf:"bytes,2,opt,name=roomID" json:"roomID,omitempty"` @@ -3679,7 +3687,7 @@ func (m *SignalAcceptReply) Reset() { *m = SignalAcceptReply{} } func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReply) ProtoMessage() {} func (*SignalAcceptReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{51} + return fileDescriptor_ws_8fd7235a925cae11, []int{51} } func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) @@ -3733,7 +3741,7 @@ func (m *SignalHungUpReq) Reset() { *m = SignalHungUpReq{} } func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReq) ProtoMessage() {} func (*SignalHungUpReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{52} + return fileDescriptor_ws_8fd7235a925cae11, []int{52} } func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) @@ -3784,7 +3792,7 @@ func (m *SignalHungUpReply) Reset() { *m = SignalHungUpReply{} } func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReply) ProtoMessage() {} func (*SignalHungUpReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{53} + return fileDescriptor_ws_8fd7235a925cae11, []int{53} } func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) @@ -3805,19 +3813,21 @@ func (m *SignalHungUpReply) XXX_DiscardUnknown() { var xxx_messageInfo_SignalHungUpReply proto.InternalMessageInfo type SignalRejectReq struct { - OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` - Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` - OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` + OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` + Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant" json:"participant,omitempty"` + OpUserPlatformID string `protobuf:"bytes,5,opt,name=opUserPlatformID" json:"opUserPlatformID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *SignalRejectReq) Reset() { *m = SignalRejectReq{} } func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) } func (*SignalRejectReq) ProtoMessage() {} func (*SignalRejectReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{54} + return fileDescriptor_ws_8fd7235a925cae11, []int{54} } func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) @@ -3858,6 +3868,20 @@ func (m *SignalRejectReq) GetOfflinePushInfo() *OfflinePushInfo { return nil } +func (m *SignalRejectReq) GetParticipant() *ParticipantMetaData { + if m != nil { + return m.Participant + } + return nil +} + +func (m *SignalRejectReq) GetOpUserPlatformID() string { + if m != nil { + return m.OpUserPlatformID + } + return "" +} + type SignalRejectReply struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -3868,7 +3892,7 @@ func (m *SignalRejectReply) Reset() { *m = SignalRejectReply{} } func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) } func (*SignalRejectReply) ProtoMessage() {} func (*SignalRejectReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{55} + return fileDescriptor_ws_8fd7235a925cae11, []int{55} } func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) @@ -3902,7 +3926,7 @@ func (m *DelMsgListReq) Reset() { *m = DelMsgListReq{} } func (m *DelMsgListReq) String() string { return proto.CompactTextString(m) } func (*DelMsgListReq) ProtoMessage() {} func (*DelMsgListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{56} + return fileDescriptor_ws_8fd7235a925cae11, []int{56} } func (m *DelMsgListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListReq.Unmarshal(m, b) @@ -3962,7 +3986,7 @@ func (m *DelMsgListResp) Reset() { *m = DelMsgListResp{} } func (m *DelMsgListResp) String() string { return proto.CompactTextString(m) } func (*DelMsgListResp) ProtoMessage() {} func (*DelMsgListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_cdfe09251fc3838b, []int{57} + return fileDescriptor_ws_8fd7235a925cae11, []int{57} } func (m *DelMsgListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListResp.Unmarshal(m, b) @@ -4058,168 +4082,169 @@ func init() { proto.RegisterType((*DelMsgListResp)(nil), "server_api_params.DelMsgListResp") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_cdfe09251fc3838b) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_8fd7235a925cae11) } -var fileDescriptor_ws_cdfe09251fc3838b = []byte{ - // 2546 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x1a, 0x4d, 0x6f, 0x1c, 0x49, - 0x95, 0xee, 0xf1, 0x8c, 0x3d, 0xcf, 0x1e, 0x7f, 0xb4, 0x17, 0x33, 0x84, 0x6c, 0x30, 0x2d, 0x6b, - 0x09, 0x5f, 0x5e, 0x14, 0x84, 0x04, 0x59, 0x08, 0xf2, 0x47, 0xbe, 0x16, 0x3b, 0xf1, 0xf6, 0x24, - 0x2c, 0x02, 0xa4, 0xa8, 0x3c, 0x5d, 0x1e, 0xf7, 0xba, 0xa7, 0xaa, 0xa7, 0x3f, 0x9c, 0x58, 0x42, - 0x42, 0x02, 0x09, 0x71, 0xe3, 0x04, 0x57, 0x24, 0x2e, 0x08, 0x09, 0xa1, 0xbd, 0x20, 0x2e, 0x88, - 0x13, 0x7f, 0x80, 0x33, 0x37, 0xce, 0x5c, 0x39, 0x20, 0x21, 0x81, 0xaa, 0x5e, 0x75, 0x77, 0x55, - 0xf7, 0x8c, 0x3d, 0x6b, 0x59, 0x9b, 0x5d, 0xe5, 0x36, 0xef, 0x75, 0xbd, 0x57, 0xef, 0xbb, 0x5e, - 0xbd, 0x1a, 0x58, 0x4a, 0xfc, 0x93, 0x67, 0xcf, 0x93, 0x37, 0x9f, 0x27, 0x9b, 0x51, 0xcc, 0x53, - 0xee, 0xac, 0x24, 0x34, 0x3e, 0xa5, 0xf1, 0x33, 0x12, 0x05, 0xcf, 0x22, 0x12, 0x93, 0x61, 0xe2, - 0xfe, 0xdb, 0x86, 0xf6, 0xfd, 0x98, 0x67, 0xd1, 0x43, 0x76, 0xc4, 0x9d, 0x2e, 0xcc, 0x0e, 0x24, - 0xb0, 0xdb, 0xb5, 0xd6, 0xad, 0x9b, 0x6d, 0x2f, 0x07, 0x9d, 0xeb, 0xd0, 0x96, 0x3f, 0x1f, 0x91, - 0x21, 0xed, 0xda, 0xf2, 0x5b, 0x89, 0x70, 0x5c, 0x58, 0x60, 0x3c, 0x0d, 0x8e, 0x82, 0x3e, 0x49, - 0x03, 0xce, 0xba, 0x0d, 0xb9, 0xc0, 0xc0, 0x89, 0x35, 0x01, 0x4b, 0x63, 0xee, 0x67, 0x7d, 0xb9, - 0x66, 0x06, 0xd7, 0xe8, 0x38, 0xb1, 0xff, 0x11, 0xe9, 0xd3, 0xa7, 0xde, 0x5e, 0xb7, 0x89, 0xfb, - 0x2b, 0xd0, 0x59, 0x87, 0x79, 0xfe, 0x9c, 0xd1, 0xf8, 0x69, 0x42, 0xe3, 0x87, 0xbb, 0xdd, 0x96, - 0xfc, 0xaa, 0xa3, 0x9c, 0x1b, 0x00, 0xfd, 0x98, 0x92, 0x94, 0x3e, 0x09, 0x86, 0xb4, 0x3b, 0xbb, - 0x6e, 0xdd, 0xec, 0x78, 0x1a, 0x46, 0x70, 0x18, 0xd2, 0xe1, 0x21, 0x8d, 0x77, 0x78, 0xc6, 0xd2, - 0xee, 0x9c, 0x5c, 0xa0, 0xa3, 0x9c, 0x45, 0xb0, 0xe9, 0x8b, 0x6e, 0x5b, 0xb2, 0xb6, 0xe9, 0x0b, - 0x67, 0x0d, 0x5a, 0x49, 0x4a, 0xd2, 0x2c, 0xe9, 0xc2, 0xba, 0x75, 0xb3, 0xe9, 0x29, 0xc8, 0xd9, - 0x80, 0x8e, 0xe4, 0xcb, 0x73, 0x69, 0xe6, 0x25, 0x89, 0x89, 0x2c, 0x2c, 0xf6, 0xe4, 0x2c, 0xa2, - 0xdd, 0x05, 0xc9, 0xa0, 0x44, 0xb8, 0x7f, 0xb6, 0x61, 0x55, 0xda, 0x7d, 0x5f, 0x0a, 0x70, 0x2f, - 0x0b, 0xc3, 0x0b, 0x3c, 0xb0, 0x06, 0xad, 0x0c, 0xb7, 0x43, 0xf3, 0x2b, 0x48, 0xec, 0x13, 0xf3, - 0x90, 0xee, 0xd1, 0x53, 0x1a, 0x4a, 0xc3, 0x37, 0xbd, 0x12, 0xe1, 0x5c, 0x83, 0xb9, 0xf7, 0x78, - 0xc0, 0xa4, 0x4d, 0x66, 0xe4, 0xc7, 0x02, 0x16, 0xdf, 0x58, 0xd0, 0x3f, 0x61, 0xc2, 0xa5, 0x68, - 0xee, 0x02, 0xd6, 0x3d, 0xd1, 0x32, 0x3d, 0xf1, 0x06, 0x2c, 0x92, 0x28, 0xda, 0x27, 0x6c, 0x40, - 0x63, 0xdc, 0x74, 0x56, 0xf2, 0xad, 0x60, 0x85, 0x3f, 0xc4, 0x4e, 0x3d, 0x9e, 0xc5, 0x7d, 0x2a, - 0xcd, 0xdd, 0xf4, 0x34, 0x8c, 0xe0, 0xc3, 0x23, 0x1a, 0x6b, 0x66, 0x44, 0xcb, 0x57, 0xb0, 0xca, - 0x2b, 0x90, 0x7b, 0xc5, 0xfd, 0xb9, 0x05, 0x8b, 0x07, 0xd9, 0x61, 0x18, 0xf4, 0xe5, 0x02, 0x61, - 0xb4, 0xd2, 0x34, 0x96, 0x61, 0x1a, 0x5d, 0x41, 0x7b, 0xb2, 0x82, 0x0d, 0x53, 0xc1, 0x35, 0x68, - 0x0d, 0x28, 0xf3, 0x69, 0xac, 0x0c, 0xa6, 0x20, 0x25, 0x48, 0xb3, 0x10, 0xe4, 0xd7, 0x36, 0xcc, - 0x7d, 0xc8, 0x22, 0xac, 0xc3, 0x7c, 0x74, 0xcc, 0x19, 0x7d, 0x94, 0x89, 0xa0, 0x51, 0xb2, 0xe8, - 0x28, 0xe7, 0x35, 0x68, 0x1e, 0x06, 0x71, 0x7a, 0x2c, 0xbd, 0xd6, 0xf1, 0x10, 0x10, 0x58, 0x3a, - 0x24, 0x01, 0xba, 0xaa, 0xed, 0x21, 0xa0, 0x14, 0x9a, 0x2b, 0xe2, 0xdd, 0xcc, 0xa0, 0x76, 0x2d, - 0x83, 0xea, 0x9e, 0x87, 0x71, 0x9e, 0x77, 0xff, 0x63, 0x01, 0xdc, 0x8b, 0x03, 0xca, 0x7c, 0x69, - 0x9a, 0x4a, 0xea, 0x5a, 0xf5, 0xd4, 0x5d, 0x83, 0x56, 0x4c, 0x87, 0x24, 0x3e, 0xc9, 0x43, 0x1b, - 0xa1, 0x8a, 0x40, 0x8d, 0x9a, 0x40, 0x6f, 0x01, 0x1c, 0xc9, 0x7d, 0x04, 0x1f, 0x69, 0xaa, 0xf9, - 0x5b, 0x9f, 0xd9, 0xac, 0x15, 0xb9, 0xcd, 0xdc, 0x4b, 0x9e, 0xb6, 0x5c, 0xe4, 0x0d, 0xf1, 0x7d, - 0x15, 0x9e, 0x4d, 0xcc, 0x9b, 0x02, 0x31, 0x26, 0x3a, 0x5b, 0xe7, 0x44, 0xe7, 0x6c, 0x11, 0x14, - 0xff, 0xb2, 0xa0, 0xbd, 0x1d, 0x92, 0xfe, 0xc9, 0x94, 0xaa, 0x9b, 0x2a, 0xda, 0x35, 0x15, 0xef, - 0x43, 0xe7, 0x50, 0xb0, 0xcb, 0x55, 0x90, 0x56, 0x98, 0xbf, 0xf5, 0xb9, 0x31, 0x5a, 0x9a, 0x49, - 0xe1, 0x99, 0x74, 0xa6, 0xba, 0x33, 0x17, 0xab, 0xdb, 0x3c, 0x47, 0xdd, 0x56, 0xa1, 0xee, 0xdf, - 0x6d, 0x58, 0x90, 0x65, 0xcc, 0xa3, 0xa3, 0x8c, 0x26, 0xa9, 0xf3, 0x6d, 0x98, 0xcb, 0x72, 0x51, - 0xad, 0x69, 0x45, 0x2d, 0x48, 0x9c, 0xdb, 0xaa, 0x68, 0x4a, 0x7a, 0x5b, 0xd2, 0x5f, 0x1f, 0x43, - 0x5f, 0x9c, 0x58, 0x5e, 0xb9, 0x5c, 0x1c, 0x30, 0xc7, 0x84, 0xf9, 0x21, 0xf5, 0x68, 0x92, 0x85, - 0xa9, 0xaa, 0x85, 0x06, 0x0e, 0x23, 0x6d, 0xb4, 0x9f, 0x0c, 0xd4, 0xf1, 0xa3, 0x20, 0x61, 0x1d, - 0x5c, 0x27, 0x3e, 0xa1, 0xea, 0x25, 0x42, 0x24, 0x6a, 0x4c, 0x47, 0xd2, 0x43, 0x98, 0x56, 0x39, - 0x58, 0xee, 0xa9, 0xac, 0x86, 0x81, 0x60, 0xe0, 0x84, 0x8b, 0x11, 0x96, 0x0c, 0xf0, 0xdc, 0xd1, - 0x30, 0xd5, 0x63, 0xc7, 0xfd, 0x47, 0x03, 0x3a, 0x98, 0x3e, 0xb9, 0x51, 0x6f, 0x88, 0x38, 0xe7, - 0x43, 0x23, 0x8a, 0x34, 0x8c, 0x90, 0x42, 0x40, 0x8f, 0xcc, 0x42, 0x63, 0xe0, 0x44, 0x28, 0x0a, - 0xf8, 0x9e, 0x51, 0x70, 0x74, 0x54, 0xbe, 0xcb, 0x7d, 0xbd, 0xf0, 0x68, 0x18, 0x51, 0xca, 0x52, - 0x6e, 0x44, 0x47, 0x01, 0x0b, 0xda, 0x94, 0x17, 0xfb, 0x63, 0x7c, 0x68, 0x18, 0x61, 0xdf, 0x94, - 0xe7, 0x7b, 0xa3, 0x91, 0x4a, 0x04, 0x72, 0x56, 0xfb, 0xe2, 0x41, 0x51, 0xc0, 0x35, 0xaf, 0xb6, - 0xcf, 0xf5, 0x2a, 0x18, 0x5e, 0x35, 0x93, 0x6b, 0xbe, 0x96, 0x5c, 0x1b, 0xd0, 0x41, 0x3e, 0x79, - 0xd0, 0x2f, 0xe0, 0x41, 0x6e, 0x20, 0xcd, 0xd8, 0xe8, 0x54, 0x63, 0xc3, 0xf4, 0xee, 0xe2, 0x04, - 0xef, 0x2e, 0x15, 0xde, 0xfd, 0x31, 0x74, 0x0f, 0xb2, 0x30, 0xdc, 0xa7, 0x49, 0x42, 0x06, 0x74, - 0xfb, 0xac, 0x47, 0x47, 0x7b, 0x41, 0x92, 0x7a, 0x34, 0x89, 0x44, 0x9c, 0xd1, 0x38, 0xde, 0xe1, - 0x3e, 0x95, 0x4e, 0x6e, 0x7a, 0x39, 0x28, 0x34, 0xa4, 0x71, 0x2c, 0x04, 0x50, 0x15, 0x12, 0x21, - 0x67, 0x13, 0x66, 0xc2, 0x20, 0x11, 0xb1, 0xde, 0xb8, 0x39, 0x7f, 0xeb, 0xda, 0x98, 0x54, 0xd9, - 0x4f, 0x06, 0xbb, 0x24, 0x25, 0x9e, 0x5c, 0xe7, 0x0e, 0xe1, 0x53, 0xe3, 0x77, 0x1f, 0x4d, 0x3c, - 0xc1, 0x44, 0x0d, 0x93, 0x45, 0x20, 0xe0, 0xac, 0x68, 0x3e, 0x74, 0x94, 0x10, 0x3b, 0x41, 0x3e, - 0x52, 0x8e, 0x8e, 0x97, 0x83, 0xee, 0x6b, 0xe0, 0xdc, 0xa7, 0xe9, 0x3e, 0x79, 0xb1, 0xc5, 0xfc, - 0xfd, 0x80, 0xf5, 0xe8, 0xc8, 0xa3, 0x23, 0xf7, 0x2e, 0xac, 0xd6, 0xb0, 0x49, 0x24, 0x04, 0x18, - 0x92, 0x17, 0x3d, 0x3a, 0x92, 0x02, 0x74, 0x3c, 0x05, 0x49, 0xbc, 0x5c, 0xa5, 0xca, 0xa3, 0x82, - 0xdc, 0x11, 0x2c, 0x09, 0x0f, 0xf5, 0x28, 0xf3, 0xf7, 0x93, 0x81, 0x64, 0xb1, 0x0e, 0xf3, 0x68, - 0x81, 0xfd, 0x64, 0x50, 0xd6, 0x5b, 0x0d, 0x25, 0x56, 0xf4, 0xc3, 0x80, 0xb2, 0x14, 0x57, 0x28, - 0x6d, 0x34, 0x94, 0x08, 0xc6, 0x84, 0x32, 0xbf, 0x38, 0x72, 0x1a, 0x5e, 0x01, 0xbb, 0x7f, 0x69, - 0xc2, 0xac, 0x32, 0xa8, 0xec, 0x0e, 0xc5, 0x11, 0x57, 0xd8, 0x0b, 0x21, 0x0c, 0xc6, 0xfe, 0x69, - 0xd9, 0xa7, 0x21, 0xa4, 0x77, 0x76, 0x0d, 0xb3, 0xb3, 0xab, 0xc8, 0x34, 0x53, 0x97, 0xa9, 0xa2, - 0x57, 0xb3, 0xae, 0xd7, 0x17, 0x61, 0x39, 0x91, 0x09, 0x73, 0x10, 0x92, 0xf4, 0x88, 0xc7, 0x43, - 0x75, 0x62, 0x35, 0xbd, 0x1a, 0x5e, 0x14, 0x7b, 0xc4, 0x15, 0x09, 0x8b, 0x19, 0x59, 0xc1, 0x8a, - 0xf4, 0x40, 0x4c, 0x9e, 0xb8, 0xd8, 0x2a, 0x98, 0x48, 0x94, 0x2d, 0x49, 0x02, 0xce, 0x64, 0xa7, - 0x8b, 0xf9, 0xa9, 0xa3, 0x84, 0xe6, 0xc3, 0x64, 0x70, 0x2f, 0xe6, 0x43, 0xd5, 0x30, 0xe4, 0xa0, - 0xd4, 0x9c, 0xb3, 0x94, 0xb2, 0x54, 0xd2, 0xce, 0x23, 0xad, 0x86, 0x12, 0xb4, 0x0a, 0x94, 0xc9, - 0xb9, 0xe0, 0xe5, 0xa0, 0xb3, 0x0c, 0x8d, 0x84, 0x8e, 0x54, 0xc6, 0x89, 0x9f, 0x86, 0xe7, 0x96, - 0x4c, 0xcf, 0x55, 0x4a, 0xc1, 0xb2, 0xfc, 0xaa, 0x97, 0x82, 0xb2, 0xd7, 0x5f, 0x31, 0x7a, 0xfd, - 0x2d, 0x98, 0xe5, 0x91, 0x88, 0xf3, 0xa4, 0xeb, 0xc8, 0x1c, 0xfb, 0xfc, 0xe4, 0x1c, 0xdb, 0x7c, - 0x8c, 0x2b, 0xef, 0xb2, 0x34, 0x3e, 0xf3, 0x72, 0x3a, 0x67, 0x0f, 0x96, 0xf8, 0xd1, 0x51, 0x18, - 0x30, 0x7a, 0x90, 0x25, 0xc7, 0xf2, 0x64, 0x5b, 0x95, 0x27, 0x9b, 0x3b, 0x86, 0xd5, 0x63, 0x73, - 0xa5, 0x57, 0x25, 0xbd, 0x76, 0x1b, 0x16, 0xf4, 0x6d, 0x84, 0x19, 0x4e, 0xe8, 0x99, 0x8a, 0x41, - 0xf1, 0x53, 0x34, 0x7b, 0xa7, 0x24, 0xcc, 0xf0, 0x18, 0x98, 0xf3, 0x10, 0xb8, 0x6d, 0x7f, 0xc3, - 0x72, 0x7f, 0x65, 0xc1, 0x52, 0x65, 0x03, 0xb1, 0x3a, 0x0d, 0xd2, 0x90, 0x2a, 0x0e, 0x08, 0x38, - 0x0e, 0xcc, 0xf8, 0x34, 0xe9, 0xab, 0x10, 0x96, 0xbf, 0x55, 0x25, 0x6b, 0x14, 0xed, 0xa2, 0xb8, - 0xd0, 0x3d, 0xee, 0x09, 0x46, 0x3d, 0x9e, 0x31, 0xbf, 0xb8, 0xd0, 0x69, 0x38, 0x11, 0x42, 0xc1, - 0xe3, 0xde, 0x36, 0xf1, 0x07, 0x14, 0xaf, 0x5d, 0x4d, 0x29, 0x93, 0x89, 0x74, 0x7d, 0x98, 0x7b, - 0x12, 0x44, 0xc9, 0x0e, 0x1f, 0x0e, 0x85, 0x23, 0x7c, 0x9a, 0x8a, 0x5e, 0xd5, 0x92, 0xfe, 0x56, - 0x90, 0x08, 0x15, 0x9f, 0x1e, 0x91, 0x2c, 0x4c, 0xc5, 0xd2, 0x3c, 0x71, 0x35, 0x94, 0xbc, 0x70, - 0x24, 0x9c, 0xed, 0x22, 0x35, 0xca, 0xa9, 0x61, 0xdc, 0xbf, 0xd9, 0xb0, 0x2c, 0x1b, 0x87, 0x1d, - 0xe9, 0x76, 0x5f, 0x12, 0xdd, 0x82, 0xa6, 0x4c, 0x43, 0xd5, 0xac, 0x9c, 0xdf, 0x6c, 0xe0, 0x52, - 0xe7, 0x0e, 0xb4, 0x78, 0x24, 0x5b, 0x4e, 0xec, 0x50, 0xde, 0x98, 0x44, 0x64, 0xde, 0xed, 0x3c, - 0x45, 0xe5, 0xdc, 0x03, 0xc0, 0x6b, 0xe7, 0x5e, 0x59, 0xba, 0xa7, 0xe5, 0xa1, 0x51, 0x0a, 0xe3, - 0x16, 0x65, 0xb8, 0xb8, 0xe0, 0x35, 0x3c, 0x13, 0xe9, 0x3c, 0x82, 0x45, 0x29, 0xf6, 0xe3, 0xbc, - 0xeb, 0x94, 0x3e, 0x98, 0x7e, 0xc7, 0x0a, 0xb5, 0xfb, 0x5b, 0x4b, 0x99, 0x51, 0x7c, 0xed, 0x51, - 0xb4, 0x7d, 0x69, 0x12, 0xeb, 0x52, 0x26, 0xb9, 0x06, 0x73, 0xc3, 0x4c, 0x6b, 0x82, 0x1b, 0x5e, - 0x01, 0x97, 0x2e, 0x6a, 0x4c, 0xed, 0x22, 0xf7, 0x77, 0x16, 0x74, 0xdf, 0xe6, 0x01, 0x93, 0x1f, - 0xb6, 0xa2, 0x28, 0x54, 0x53, 0x88, 0x4b, 0xfb, 0xfc, 0x3b, 0xd0, 0x26, 0xc8, 0x86, 0xa5, 0xca, - 0xed, 0x53, 0x34, 0xb6, 0x25, 0x8d, 0xd6, 0xa3, 0x34, 0xf4, 0x1e, 0xc5, 0xfd, 0xa3, 0x05, 0x8b, - 0x68, 0x94, 0x77, 0xb2, 0x20, 0xbd, 0xb4, 0x7c, 0xdb, 0x30, 0x37, 0xca, 0x82, 0xf4, 0x12, 0x51, - 0x59, 0xd0, 0xd5, 0xe3, 0xa9, 0x31, 0x26, 0x9e, 0xdc, 0xf7, 0x2d, 0xb8, 0x5e, 0x35, 0xeb, 0x56, - 0xbf, 0x4f, 0xa3, 0x97, 0x99, 0x52, 0x46, 0x8f, 0x36, 0x53, 0xe9, 0xd1, 0xc6, 0x8a, 0xec, 0xd1, - 0xf7, 0x68, 0xff, 0xa3, 0x2b, 0xf2, 0xcf, 0x6c, 0xf8, 0xf4, 0xfd, 0x22, 0xf1, 0x9e, 0xc4, 0x84, - 0x25, 0x47, 0x34, 0x8e, 0x5f, 0xa2, 0xbc, 0x7b, 0xd0, 0x61, 0xf4, 0x79, 0x29, 0x93, 0x4a, 0xc7, - 0x69, 0xd9, 0x98, 0xc4, 0xd3, 0xd5, 0x2e, 0xf7, 0xbf, 0x16, 0x2c, 0x23, 0x9f, 0xef, 0x06, 0xfd, - 0x93, 0x97, 0xa8, 0xfc, 0x23, 0x58, 0x3c, 0x91, 0x12, 0x08, 0xe8, 0x12, 0x65, 0xbb, 0x42, 0x3d, - 0xa5, 0xfa, 0xff, 0xb3, 0x60, 0x05, 0x19, 0x3d, 0x64, 0xa7, 0xc1, 0xcb, 0x0c, 0xd6, 0x03, 0x58, - 0x0a, 0x50, 0x84, 0x4b, 0x1a, 0xa0, 0x4a, 0x3e, 0xa5, 0x05, 0xfe, 0x64, 0xc1, 0x12, 0x72, 0xba, - 0xcb, 0x52, 0x1a, 0x5f, 0x5a, 0xff, 0x07, 0x30, 0x4f, 0x59, 0x1a, 0x13, 0x76, 0x99, 0x0a, 0xa9, - 0x93, 0x4e, 0x59, 0x24, 0x4f, 0x60, 0x05, 0xaf, 0xf0, 0x5a, 0xc5, 0x11, 0xbd, 0x2c, 0xf1, 0xb1, - 0x3d, 0xb5, 0x24, 0x51, 0x0e, 0x9a, 0xc3, 0x19, 0x35, 0x5d, 0x2f, 0x87, 0x33, 0x37, 0x00, 0x88, - 0xef, 0xbf, 0xcb, 0x63, 0x3f, 0x60, 0xf9, 0xf1, 0xa1, 0x61, 0xdc, 0xb7, 0x61, 0x41, 0x74, 0xd3, - 0x4f, 0xb4, 0xcb, 0xf8, 0xb9, 0xe3, 0x02, 0xfd, 0x22, 0x6f, 0x9b, 0x17, 0x79, 0xf7, 0x47, 0xf0, - 0xc9, 0x9a, 0xe0, 0xd2, 0xea, 0x3b, 0x38, 0x63, 0xc8, 0x37, 0x51, 0xc6, 0xff, 0xec, 0x18, 0x13, - 0xea, 0xb2, 0x78, 0x06, 0x91, 0xfb, 0x53, 0x0b, 0x5e, 0xaf, 0xb1, 0xdf, 0x8a, 0xa2, 0x98, 0x9f, - 0xaa, 0xe0, 0xbe, 0x8a, 0x6d, 0xcc, 0xd2, 0x6a, 0x57, 0x4b, 0xeb, 0x58, 0x21, 0x8c, 0xe3, 0xe0, - 0x43, 0x10, 0xe2, 0xf7, 0x16, 0x2c, 0x29, 0x21, 0x7c, 0x5f, 0x6d, 0xfb, 0x75, 0x68, 0xe1, 0x7c, - 0x52, 0x6d, 0xf8, 0xfa, 0xd8, 0x0d, 0xf3, 0xb9, 0xaa, 0xa7, 0x16, 0xd7, 0x23, 0xd2, 0x1e, 0xd7, - 0x06, 0x7e, 0xb3, 0xa8, 0x00, 0x53, 0x4f, 0x10, 0x15, 0x81, 0xfb, 0xfd, 0x3c, 0x98, 0x77, 0x69, - 0x48, 0xaf, 0xd2, 0x46, 0xee, 0x53, 0x58, 0x94, 0xc3, 0xd2, 0xd2, 0x06, 0x57, 0xc2, 0xf6, 0x5d, - 0x58, 0x96, 0x6c, 0xaf, 0x5c, 0xde, 0x22, 0x3b, 0x84, 0x7d, 0x76, 0x8e, 0x09, 0x1b, 0x5c, 0x25, - 0xf7, 0xaf, 0xc0, 0x6a, 0x6e, 0xfb, 0xa7, 0x91, 0x5f, 0x5c, 0x51, 0x26, 0x0c, 0x66, 0xdc, 0xaf, - 0xc2, 0xda, 0x0e, 0x67, 0xa7, 0x34, 0x4e, 0xa4, 0x97, 0x91, 0x24, 0xa7, 0x30, 0x92, 0x5f, 0x41, - 0x6e, 0x0f, 0x56, 0xd4, 0x48, 0xf1, 0x80, 0x0c, 0x02, 0x86, 0x55, 0xe9, 0x06, 0x40, 0x44, 0x06, - 0xf9, 0x93, 0x02, 0xce, 0x9d, 0x34, 0x8c, 0xf8, 0x9e, 0x1c, 0xf3, 0xe7, 0xea, 0xbb, 0x8d, 0xdf, - 0x4b, 0x8c, 0xfb, 0x3d, 0x70, 0x3c, 0x9a, 0x44, 0x9c, 0x25, 0x54, 0xe3, 0xba, 0x0e, 0xf3, 0x3b, - 0x59, 0x1c, 0x53, 0x26, 0xb6, 0xca, 0xe7, 0xeb, 0x3a, 0x4a, 0xf0, 0xed, 0x95, 0x7c, 0x71, 0x56, - 0xa1, 0x61, 0xdc, 0xdf, 0x34, 0xa0, 0xdd, 0x0b, 0x06, 0x8c, 0x84, 0x1e, 0x1d, 0x39, 0xdf, 0x82, - 0x16, 0x9e, 0x20, 0xca, 0xb4, 0xe3, 0xee, 0xce, 0xb8, 0x1a, 0x8f, 0x4a, 0x8f, 0x8e, 0x1e, 0x7c, - 0xc2, 0x53, 0x34, 0xce, 0x3b, 0xd0, 0xc1, 0x5f, 0x0f, 0xf1, 0x46, 0xa0, 0x0e, 0x80, 0x2f, 0x5c, - 0xc0, 0x44, 0xad, 0x46, 0x5e, 0x26, 0x07, 0x21, 0x50, 0x9f, 0xb0, 0xbe, 0x7a, 0x73, 0x3b, 0x4f, - 0xa0, 0x1d, 0xb9, 0x4c, 0x09, 0x84, 0x34, 0x82, 0x9a, 0xc8, 0x9e, 0x59, 0xbd, 0x5a, 0x4c, 0xa6, - 0xc6, 0xd6, 0x5a, 0x51, 0x23, 0x8d, 0xa0, 0x3e, 0xce, 0xd8, 0xe0, 0x69, 0xa4, 0xae, 0x72, 0x93, - 0xa9, 0x1f, 0xc8, 0x65, 0x8a, 0x1a, 0x69, 0x04, 0x75, 0x2c, 0xab, 0x9d, 0x34, 0xfa, 0x79, 0xd4, - 0x58, 0x14, 0x15, 0x35, 0xd2, 0x6c, 0xb7, 0x61, 0x36, 0x22, 0x67, 0x21, 0x27, 0xbe, 0xfb, 0x87, - 0x06, 0x40, 0xbe, 0x30, 0x91, 0x3d, 0x86, 0xe1, 0xa2, 0x8d, 0x0b, 0x5d, 0x14, 0x85, 0x67, 0x9a, - 0x93, 0x7a, 0xe3, 0x9d, 0xf4, 0xa5, 0x69, 0x9d, 0x84, 0xdc, 0x2a, 0x6e, 0xba, 0x53, 0x71, 0xd3, - 0xc6, 0x85, 0x6e, 0x52, 0x42, 0x29, 0x47, 0xdd, 0xa9, 0x38, 0x6a, 0xe3, 0x42, 0x47, 0x29, 0x7a, - 0xe5, 0xaa, 0x3b, 0x15, 0x57, 0x6d, 0x5c, 0xe8, 0x2a, 0x45, 0xaf, 0x9c, 0x75, 0xa7, 0xe2, 0xac, - 0x8d, 0x0b, 0x9d, 0xa5, 0xe8, 0xeb, 0xee, 0x7a, 0xdf, 0x86, 0x45, 0x69, 0x32, 0x9c, 0xdb, 0xb2, - 0x23, 0x2e, 0xc7, 0x33, 0xd2, 0x5c, 0xe6, 0x0b, 0x95, 0x89, 0x74, 0xbe, 0x0c, 0x2b, 0x88, 0x50, - 0x2f, 0x1a, 0xb2, 0xfd, 0xb3, 0xd7, 0x1b, 0x37, 0xdb, 0x5e, 0xfd, 0x83, 0x9c, 0xb4, 0x65, 0x49, - 0xca, 0x87, 0xbb, 0x24, 0x25, 0x79, 0xb7, 0x52, 0x62, 0xf4, 0x39, 0xe8, 0x4c, 0xed, 0x85, 0x3b, - 0xe6, 0x7c, 0x58, 0x0c, 0x38, 0x15, 0x24, 0x28, 0xd2, 0x60, 0x48, 0x79, 0x96, 0xaa, 0x32, 0x91, - 0x83, 0xe2, 0x8c, 0x1d, 0x52, 0x3f, 0x20, 0x72, 0x7a, 0xa8, 0x9e, 0x15, 0x0a, 0x84, 0xac, 0x6c, - 0xe5, 0x34, 0x54, 0xbd, 0x40, 0x97, 0x98, 0x8b, 0x27, 0x97, 0xee, 0x3f, 0x2d, 0x58, 0x3d, 0x20, - 0x71, 0x1a, 0xf4, 0x83, 0x88, 0xb0, 0x74, 0x9f, 0xa6, 0x44, 0xea, 0x60, 0x3c, 0x53, 0x59, 0x1f, - 0xec, 0x99, 0xea, 0x00, 0x96, 0x06, 0x65, 0x93, 0xa9, 0x3d, 0x74, 0x4d, 0xdd, 0x4a, 0x57, 0xc8, - 0x8d, 0x37, 0xb7, 0xc6, 0x07, 0x7e, 0x73, 0x73, 0x7f, 0x61, 0xc3, 0x52, 0xa5, 0x74, 0x8a, 0x16, - 0x11, 0x0f, 0xff, 0x22, 0x26, 0x0a, 0xd8, 0xd9, 0x02, 0x08, 0x8a, 0x30, 0x3a, 0x67, 0x16, 0x62, - 0xc6, 0x9a, 0xa7, 0x11, 0x8d, 0x1b, 0x89, 0x36, 0x2e, 0x3d, 0x12, 0x15, 0xcd, 0x7d, 0x54, 0x3a, - 0x49, 0x25, 0xea, 0x38, 0x6b, 0x8e, 0x71, 0xa5, 0xa7, 0x93, 0xba, 0x3f, 0x84, 0x95, 0x5a, 0x85, - 0x92, 0x13, 0x52, 0x7e, 0x42, 0x59, 0x31, 0x21, 0x15, 0x80, 0x16, 0xac, 0x76, 0x35, 0x58, 0xc3, - 0xe0, 0x54, 0x7f, 0xd4, 0x57, 0xa0, 0xfb, 0x4b, 0x1b, 0xd6, 0xc6, 0x9f, 0x2e, 0xaf, 0xaa, 0xb9, - 0x0f, 0xa1, 0x3b, 0xa9, 0x92, 0x5f, 0x99, 0xd5, 0xcb, 0xe8, 0x2e, 0xce, 0xe1, 0x57, 0xd5, 0xdc, - 0xab, 0x79, 0x74, 0x6b, 0x47, 0x9d, 0x66, 0x9f, 0xa2, 0xd3, 0x78, 0xe5, 0xb3, 0x5f, 0x3b, 0xca, - 0xaf, 0x2c, 0x0e, 0xff, 0x6a, 0xe5, 0x76, 0x2e, 0x7a, 0xb2, 0x8f, 0x95, 0x9d, 0xcb, 0xe8, 0xd1, - 0x1a, 0x15, 0x4d, 0xab, 0xa2, 0x57, 0xfc, 0x98, 0x6a, 0xa5, 0xb5, 0x4f, 0xee, 0x4f, 0xa0, 0xb3, - 0x4b, 0xc3, 0xfd, 0x64, 0x90, 0xbf, 0x8d, 0x9f, 0xa7, 0xd2, 0xa4, 0xff, 0xe5, 0x4d, 0x7c, 0x15, - 0xaf, 0xbe, 0xa8, 0xcf, 0xd4, 0x5e, 0xd4, 0xdd, 0x6d, 0x58, 0xd4, 0x05, 0xb8, 0xcc, 0x5f, 0x03, - 0xb6, 0xaf, 0xff, 0xe0, 0xda, 0xe6, 0x9b, 0xf8, 0x0f, 0xd0, 0xb7, 0x6a, 0x86, 0x39, 0x6c, 0xc9, - 0x7f, 0x84, 0x7e, 0xed, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0xe4, 0x4f, 0x9d, 0xd0, 0x24, 0x2a, - 0x00, 0x00, +var fileDescriptor_ws_8fd7235a925cae11 = []byte{ + // 2572 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xcb, 0x6f, 0x24, 0x49, + 0xd1, 0xff, 0xaa, 0xda, 0xdd, 0x76, 0x87, 0xdd, 0x7e, 0x94, 0xf7, 0x33, 0xcd, 0x30, 0x3b, 0x98, + 0x92, 0xb5, 0x0c, 0x0b, 0x78, 0xd1, 0x20, 0x24, 0x98, 0x85, 0x41, 0x7e, 0xcc, 0x6b, 0xb1, 0x67, + 0xbc, 0xd5, 0x33, 0x2c, 0x02, 0xa4, 0x51, 0xba, 0x2b, 0xdd, 0xae, 0x75, 0x75, 0x66, 0x75, 0x3d, + 0x3c, 0x63, 0x09, 0x09, 0x09, 0x24, 0xc4, 0x8d, 0x13, 0x5c, 0x91, 0xb8, 0x20, 0x24, 0x84, 0xf6, + 0x00, 0xe2, 0x82, 0x38, 0xf1, 0x0f, 0x70, 0xe6, 0xc6, 0x99, 0x2b, 0x07, 0x24, 0x24, 0x50, 0x66, + 0x64, 0x55, 0x65, 0x56, 0x75, 0xdb, 0xbd, 0x96, 0xb5, 0x03, 0x1a, 0x6e, 0x1d, 0x51, 0x19, 0x91, + 0x91, 0xf1, 0x8b, 0x88, 0x8c, 0xcc, 0x6c, 0x58, 0x4a, 0xfc, 0x93, 0x67, 0xcf, 0x93, 0xb7, 0x9e, + 0x27, 0x9b, 0x51, 0xcc, 0x53, 0xee, 0xac, 0x24, 0x34, 0x3e, 0xa5, 0xf1, 0x33, 0x12, 0x05, 0xcf, + 0x22, 0x12, 0x93, 0x61, 0xe2, 0xfe, 0xdd, 0x86, 0xf6, 0xfd, 0x98, 0x67, 0xd1, 0x43, 0x76, 0xc4, + 0x9d, 0x2e, 0xcc, 0x0e, 0x24, 0xb1, 0xdb, 0xb5, 0xd6, 0xad, 0x9b, 0x6d, 0x2f, 0x27, 0x9d, 0xeb, + 0xd0, 0x96, 0x3f, 0x1f, 0x91, 0x21, 0xed, 0xda, 0xf2, 0x5b, 0xc9, 0x70, 0x5c, 0x58, 0x60, 0x3c, + 0x0d, 0x8e, 0x82, 0x3e, 0x49, 0x03, 0xce, 0xba, 0x0d, 0x39, 0xc0, 0xe0, 0x89, 0x31, 0x01, 0x4b, + 0x63, 0xee, 0x67, 0x7d, 0x39, 0x66, 0x06, 0xc7, 0xe8, 0x3c, 0x31, 0xff, 0x11, 0xe9, 0xd3, 0xa7, + 0xde, 0x5e, 0xb7, 0x89, 0xf3, 0x2b, 0xd2, 0x59, 0x87, 0x79, 0xfe, 0x9c, 0xd1, 0xf8, 0x69, 0x42, + 0xe3, 0x87, 0xbb, 0xdd, 0x96, 0xfc, 0xaa, 0xb3, 0x9c, 0x1b, 0x00, 0xfd, 0x98, 0x92, 0x94, 0x3e, + 0x09, 0x86, 0xb4, 0x3b, 0xbb, 0x6e, 0xdd, 0xec, 0x78, 0x1a, 0x47, 0x68, 0x18, 0xd2, 0xe1, 0x21, + 0x8d, 0x77, 0x78, 0xc6, 0xd2, 0xee, 0x9c, 0x1c, 0xa0, 0xb3, 0x9c, 0x45, 0xb0, 0xe9, 0x8b, 0x6e, + 0x5b, 0xaa, 0xb6, 0xe9, 0x0b, 0x67, 0x0d, 0x5a, 0x49, 0x4a, 0xd2, 0x2c, 0xe9, 0xc2, 0xba, 0x75, + 0xb3, 0xe9, 0x29, 0xca, 0xd9, 0x80, 0x8e, 0xd4, 0xcb, 0x73, 0x6b, 0xe6, 0xa5, 0x88, 0xc9, 0x2c, + 0x3c, 0xf6, 0xe4, 0x2c, 0xa2, 0xdd, 0x05, 0xa9, 0xa0, 0x64, 0xb8, 0xbf, 0xb7, 0x61, 0x55, 0xfa, + 0x7d, 0x5f, 0x1a, 0x70, 0x2f, 0x0b, 0xc3, 0x0b, 0x10, 0x58, 0x83, 0x56, 0x86, 0xd3, 0xa1, 0xfb, + 0x15, 0x25, 0xe6, 0x89, 0x79, 0x48, 0xf7, 0xe8, 0x29, 0x0d, 0xa5, 0xe3, 0x9b, 0x5e, 0xc9, 0x70, + 0xae, 0xc1, 0xdc, 0xfb, 0x3c, 0x60, 0xd2, 0x27, 0x33, 0xf2, 0x63, 0x41, 0x8b, 0x6f, 0x2c, 0xe8, + 0x9f, 0x30, 0x01, 0x29, 0xba, 0xbb, 0xa0, 0x75, 0x24, 0x5a, 0x26, 0x12, 0x6f, 0xc0, 0x22, 0x89, + 0xa2, 0x7d, 0xc2, 0x06, 0x34, 0xc6, 0x49, 0x67, 0xa5, 0xde, 0x0a, 0x57, 0xe0, 0x21, 0x66, 0xea, + 0xf1, 0x2c, 0xee, 0x53, 0xe9, 0xee, 0xa6, 0xa7, 0x71, 0x84, 0x1e, 0x1e, 0xd1, 0x58, 0x73, 0x23, + 0x7a, 0xbe, 0xc2, 0x55, 0xa8, 0x40, 0x8e, 0x8a, 0xfb, 0x23, 0x0b, 0x16, 0x0f, 0xb2, 0xc3, 0x30, + 0xe8, 0xcb, 0x01, 0xc2, 0x69, 0xa5, 0x6b, 0x2c, 0xc3, 0x35, 0xfa, 0x02, 0xed, 0xc9, 0x0b, 0x6c, + 0x98, 0x0b, 0x5c, 0x83, 0xd6, 0x80, 0x32, 0x9f, 0xc6, 0xca, 0x61, 0x8a, 0x52, 0x86, 0x34, 0x0b, + 0x43, 0x7e, 0x66, 0xc3, 0xdc, 0x47, 0x6c, 0xc2, 0x3a, 0xcc, 0x47, 0xc7, 0x9c, 0xd1, 0x47, 0x99, + 0x08, 0x1a, 0x65, 0x8b, 0xce, 0x72, 0x5e, 0x83, 0xe6, 0x61, 0x10, 0xa7, 0xc7, 0x12, 0xb5, 0x8e, + 0x87, 0x84, 0xe0, 0xd2, 0x21, 0x09, 0x10, 0xaa, 0xb6, 0x87, 0x84, 0x5a, 0xd0, 0x5c, 0x11, 0xef, + 0x66, 0x06, 0xb5, 0x6b, 0x19, 0x54, 0x47, 0x1e, 0xc6, 0x21, 0xef, 0xfe, 0xc3, 0x02, 0xb8, 0x17, + 0x07, 0x94, 0xf9, 0xd2, 0x35, 0x95, 0xd4, 0xb5, 0xea, 0xa9, 0xbb, 0x06, 0xad, 0x98, 0x0e, 0x49, + 0x7c, 0x92, 0x87, 0x36, 0x52, 0x15, 0x83, 0x1a, 0x35, 0x83, 0xde, 0x06, 0x38, 0x92, 0xf3, 0x08, + 0x3d, 0xd2, 0x55, 0xf3, 0xb7, 0x3e, 0xb1, 0x59, 0x2b, 0x72, 0x9b, 0x39, 0x4a, 0x9e, 0x36, 0x5c, + 0xe4, 0x0d, 0xf1, 0x7d, 0x15, 0x9e, 0x4d, 0xcc, 0x9b, 0x82, 0x31, 0x26, 0x3a, 0x5b, 0xe7, 0x44, + 0xe7, 0x6c, 0x11, 0x14, 0x7f, 0xb3, 0xa0, 0xbd, 0x1d, 0x92, 0xfe, 0xc9, 0x94, 0x4b, 0x37, 0x97, + 0x68, 0xd7, 0x96, 0x78, 0x1f, 0x3a, 0x87, 0x42, 0x5d, 0xbe, 0x04, 0xe9, 0x85, 0xf9, 0x5b, 0x9f, + 0x1a, 0xb3, 0x4a, 0x33, 0x29, 0x3c, 0x53, 0xce, 0x5c, 0xee, 0xcc, 0xc5, 0xcb, 0x6d, 0x9e, 0xb3, + 0xdc, 0x56, 0xb1, 0xdc, 0x3f, 0xdb, 0xb0, 0x20, 0xcb, 0x98, 0x47, 0x47, 0x19, 0x4d, 0x52, 0xe7, + 0x6b, 0x30, 0x97, 0xe5, 0xa6, 0x5a, 0xd3, 0x9a, 0x5a, 0x88, 0x38, 0xb7, 0x55, 0xd1, 0x94, 0xf2, + 0xb6, 0x94, 0xbf, 0x3e, 0x46, 0xbe, 0xd8, 0xb1, 0xbc, 0x72, 0xb8, 0xd8, 0x60, 0x8e, 0x09, 0xf3, + 0x43, 0xea, 0xd1, 0x24, 0x0b, 0x53, 0x55, 0x0b, 0x0d, 0x1e, 0x46, 0xda, 0x68, 0x3f, 0x19, 0xa8, + 0xed, 0x47, 0x51, 0xc2, 0x3b, 0x38, 0x4e, 0x7c, 0xc2, 0xa5, 0x97, 0x0c, 0x91, 0xa8, 0x31, 0x1d, + 0x49, 0x84, 0x30, 0xad, 0x72, 0xb2, 0x9c, 0x53, 0x79, 0x0d, 0x03, 0xc1, 0xe0, 0x09, 0x88, 0x91, + 0x96, 0x0a, 0x70, 0xdf, 0xd1, 0x38, 0xd5, 0x6d, 0xc7, 0xfd, 0x4b, 0x03, 0x3a, 0x98, 0x3e, 0xb9, + 0x53, 0x6f, 0x88, 0x38, 0xe7, 0x43, 0x23, 0x8a, 0x34, 0x8e, 0xb0, 0x42, 0x50, 0x8f, 0xcc, 0x42, + 0x63, 0xf0, 0x44, 0x28, 0x0a, 0xfa, 0x9e, 0x51, 0x70, 0x74, 0x56, 0x3e, 0xcb, 0x7d, 0xbd, 0xf0, + 0x68, 0x1c, 0x51, 0xca, 0x52, 0x6e, 0x44, 0x47, 0x41, 0x0b, 0xd9, 0x94, 0x17, 0xf3, 0x63, 0x7c, + 0x68, 0x1c, 0xe1, 0xdf, 0x94, 0xe7, 0x73, 0xa3, 0x93, 0x4a, 0x06, 0x6a, 0x56, 0xf3, 0xe2, 0x46, + 0x51, 0xd0, 0x35, 0x54, 0xdb, 0xe7, 0xa2, 0x0a, 0x06, 0xaa, 0x66, 0x72, 0xcd, 0xd7, 0x92, 0x6b, + 0x03, 0x3a, 0xa8, 0x27, 0x0f, 0xfa, 0x05, 0xdc, 0xc8, 0x0d, 0xa6, 0x19, 0x1b, 0x9d, 0x6a, 0x6c, + 0x98, 0xe8, 0x2e, 0x4e, 0x40, 0x77, 0xa9, 0x40, 0xf7, 0x7b, 0xd0, 0x3d, 0xc8, 0xc2, 0x70, 0x9f, + 0x26, 0x09, 0x19, 0xd0, 0xed, 0xb3, 0x1e, 0x1d, 0xed, 0x05, 0x49, 0xea, 0xd1, 0x24, 0x12, 0x71, + 0x46, 0xe3, 0x78, 0x87, 0xfb, 0x54, 0x82, 0xdc, 0xf4, 0x72, 0x52, 0xac, 0x90, 0xc6, 0xb1, 0x30, + 0x40, 0x55, 0x48, 0xa4, 0x9c, 0x4d, 0x98, 0x09, 0x83, 0x44, 0xc4, 0x7a, 0xe3, 0xe6, 0xfc, 0xad, + 0x6b, 0x63, 0x52, 0x65, 0x3f, 0x19, 0xec, 0x92, 0x94, 0x78, 0x72, 0x9c, 0x3b, 0x84, 0x8f, 0x8d, + 0x9f, 0x7d, 0x34, 0x71, 0x07, 0x13, 0x35, 0x4c, 0x16, 0x81, 0x80, 0xb3, 0xa2, 0xf9, 0xd0, 0x59, + 0xc2, 0xec, 0x04, 0xf5, 0x48, 0x3b, 0x3a, 0x5e, 0x4e, 0xba, 0xaf, 0x81, 0x73, 0x9f, 0xa6, 0xfb, + 0xe4, 0xc5, 0x16, 0xf3, 0xf7, 0x03, 0xd6, 0xa3, 0x23, 0x8f, 0x8e, 0xdc, 0xbb, 0xb0, 0x5a, 0xe3, + 0x26, 0x91, 0x30, 0x60, 0x48, 0x5e, 0xf4, 0xe8, 0x48, 0x1a, 0xd0, 0xf1, 0x14, 0x25, 0xf9, 0x72, + 0x94, 0x2a, 0x8f, 0x8a, 0x72, 0x47, 0xb0, 0x24, 0x10, 0xea, 0x51, 0xe6, 0xef, 0x27, 0x03, 0xa9, + 0x62, 0x1d, 0xe6, 0xd1, 0x03, 0xfb, 0xc9, 0xa0, 0xac, 0xb7, 0x1a, 0x4b, 0x8c, 0xe8, 0x87, 0x01, + 0x65, 0x29, 0x8e, 0x50, 0xab, 0xd1, 0x58, 0x22, 0x18, 0x13, 0xca, 0xfc, 0x62, 0xcb, 0x69, 0x78, + 0x05, 0xed, 0xfe, 0xa1, 0x09, 0xb3, 0xca, 0xa1, 0xb2, 0x3b, 0x14, 0x5b, 0x5c, 0xe1, 0x2f, 0xa4, + 0x30, 0x18, 0xfb, 0xa7, 0x65, 0x9f, 0x86, 0x94, 0xde, 0xd9, 0x35, 0xcc, 0xce, 0xae, 0x62, 0xd3, + 0x4c, 0xdd, 0xa6, 0xca, 0xba, 0x9a, 0xf5, 0x75, 0xbd, 0x09, 0xcb, 0x89, 0x4c, 0x98, 0x83, 0x90, + 0xa4, 0x47, 0x3c, 0x1e, 0xaa, 0x1d, 0xab, 0xe9, 0xd5, 0xf8, 0xa2, 0xd8, 0x23, 0xaf, 0x48, 0x58, + 0xcc, 0xc8, 0x0a, 0x57, 0xa4, 0x07, 0x72, 0xf2, 0xc4, 0xc5, 0x56, 0xc1, 0x64, 0xa2, 0x6d, 0x49, + 0x12, 0x70, 0x26, 0x3b, 0x5d, 0xcc, 0x4f, 0x9d, 0x25, 0x56, 0x3e, 0x4c, 0x06, 0xf7, 0x62, 0x3e, + 0x54, 0x0d, 0x43, 0x4e, 0xca, 0x95, 0x73, 0x96, 0x52, 0x96, 0x4a, 0xd9, 0x79, 0x94, 0xd5, 0x58, + 0x42, 0x56, 0x91, 0x32, 0x39, 0x17, 0xbc, 0x9c, 0x74, 0x96, 0xa1, 0x91, 0xd0, 0x91, 0xca, 0x38, + 0xf1, 0xd3, 0x40, 0x6e, 0xc9, 0x44, 0xae, 0x52, 0x0a, 0x96, 0xe5, 0x57, 0xbd, 0x14, 0x94, 0xbd, + 0xfe, 0x8a, 0xd1, 0xeb, 0x6f, 0xc1, 0x2c, 0x8f, 0x44, 0x9c, 0x27, 0x5d, 0x47, 0xe6, 0xd8, 0xa7, + 0x27, 0xe7, 0xd8, 0xe6, 0x63, 0x1c, 0x79, 0x97, 0xa5, 0xf1, 0x99, 0x97, 0xcb, 0x39, 0x7b, 0xb0, + 0xc4, 0x8f, 0x8e, 0xc2, 0x80, 0xd1, 0x83, 0x2c, 0x39, 0x96, 0x3b, 0xdb, 0xaa, 0xdc, 0xd9, 0xdc, + 0x31, 0xaa, 0x1e, 0x9b, 0x23, 0xbd, 0xaa, 0xe8, 0xb5, 0xdb, 0xb0, 0xa0, 0x4f, 0x23, 0xdc, 0x70, + 0x42, 0xcf, 0x54, 0x0c, 0x8a, 0x9f, 0xa2, 0xd9, 0x3b, 0x25, 0x61, 0x86, 0xdb, 0xc0, 0x9c, 0x87, + 0xc4, 0x6d, 0xfb, 0xcb, 0x96, 0xfb, 0x53, 0x0b, 0x96, 0x2a, 0x13, 0x88, 0xd1, 0x69, 0x90, 0x86, + 0x54, 0x69, 0x40, 0xc2, 0x71, 0x60, 0xc6, 0xa7, 0x49, 0x5f, 0x85, 0xb0, 0xfc, 0xad, 0x2a, 0x59, + 0xa3, 0x68, 0x17, 0xc5, 0x81, 0xee, 0x71, 0x4f, 0x28, 0xea, 0xf1, 0x8c, 0xf9, 0xc5, 0x81, 0x4e, + 0xe3, 0x89, 0x10, 0x0a, 0x1e, 0xf7, 0xb6, 0x89, 0x3f, 0xa0, 0x78, 0xec, 0x6a, 0x4a, 0x9b, 0x4c, + 0xa6, 0xeb, 0xc3, 0xdc, 0x93, 0x20, 0x4a, 0x76, 0xf8, 0x70, 0x28, 0x80, 0xf0, 0x69, 0x2a, 0x7a, + 0x55, 0x4b, 0xe2, 0xad, 0x28, 0x11, 0x2a, 0x3e, 0x3d, 0x22, 0x59, 0x98, 0x8a, 0xa1, 0x79, 0xe2, + 0x6a, 0x2c, 0x79, 0xe0, 0x48, 0x38, 0xdb, 0x45, 0x69, 0xb4, 0x53, 0xe3, 0xb8, 0x7f, 0xb2, 0x61, + 0x59, 0x36, 0x0e, 0x3b, 0x12, 0x76, 0x5f, 0x0a, 0xdd, 0x82, 0xa6, 0x4c, 0x43, 0xd5, 0xac, 0x9c, + 0xdf, 0x6c, 0xe0, 0x50, 0xe7, 0x0e, 0xb4, 0x78, 0x24, 0x5b, 0x4e, 0xec, 0x50, 0xde, 0x98, 0x24, + 0x64, 0x9e, 0xed, 0x3c, 0x25, 0xe5, 0xdc, 0x03, 0xc0, 0x63, 0xe7, 0x5e, 0x59, 0xba, 0xa7, 0xd5, + 0xa1, 0x49, 0x0a, 0xe7, 0x16, 0x65, 0xb8, 0x38, 0xe0, 0x35, 0x3c, 0x93, 0xe9, 0x3c, 0x82, 0x45, + 0x69, 0xf6, 0xe3, 0xbc, 0xeb, 0x94, 0x18, 0x4c, 0x3f, 0x63, 0x45, 0xda, 0xfd, 0x85, 0xa5, 0xdc, + 0x28, 0xbe, 0xf6, 0x28, 0xfa, 0xbe, 0x74, 0x89, 0x75, 0x29, 0x97, 0x5c, 0x83, 0xb9, 0x61, 0xa6, + 0x35, 0xc1, 0x0d, 0xaf, 0xa0, 0x4b, 0x88, 0x1a, 0x53, 0x43, 0xe4, 0xfe, 0xd2, 0x82, 0xee, 0x3b, + 0x3c, 0x60, 0xf2, 0xc3, 0x56, 0x14, 0x85, 0xea, 0x16, 0xe2, 0xd2, 0x98, 0x7f, 0x1d, 0xda, 0x04, + 0xd5, 0xb0, 0x54, 0xc1, 0x3e, 0x45, 0x63, 0x5b, 0xca, 0x68, 0x3d, 0x4a, 0x43, 0xef, 0x51, 0xdc, + 0xdf, 0x58, 0xb0, 0x88, 0x4e, 0x79, 0x37, 0x0b, 0xd2, 0x4b, 0xdb, 0xb7, 0x0d, 0x73, 0xa3, 0x2c, + 0x48, 0x2f, 0x11, 0x95, 0x85, 0x5c, 0x3d, 0x9e, 0x1a, 0x63, 0xe2, 0xc9, 0xfd, 0xc0, 0x82, 0xeb, + 0x55, 0xb7, 0x6e, 0xf5, 0xfb, 0x34, 0x7a, 0x99, 0x29, 0x65, 0xf4, 0x68, 0x33, 0x95, 0x1e, 0x6d, + 0xac, 0xc9, 0x1e, 0x7d, 0x9f, 0xf6, 0xff, 0x73, 0x4d, 0xfe, 0xa1, 0x0d, 0x1f, 0xbf, 0x5f, 0x24, + 0xde, 0x93, 0x98, 0xb0, 0xe4, 0x88, 0xc6, 0xf1, 0x4b, 0xb4, 0x77, 0x0f, 0x3a, 0x8c, 0x3e, 0x2f, + 0x6d, 0x52, 0xe9, 0x38, 0xad, 0x1a, 0x53, 0x78, 0xba, 0xda, 0xe5, 0xfe, 0xd3, 0x82, 0x65, 0xd4, + 0xf3, 0x8d, 0xa0, 0x7f, 0xf2, 0x12, 0x17, 0xff, 0x08, 0x16, 0x4f, 0xa4, 0x05, 0x82, 0xba, 0x44, + 0xd9, 0xae, 0x48, 0x4f, 0xb9, 0xfc, 0x7f, 0x59, 0xb0, 0x82, 0x8a, 0x1e, 0xb2, 0xd3, 0xe0, 0x65, + 0x06, 0xeb, 0x01, 0x2c, 0x05, 0x68, 0xc2, 0x25, 0x1d, 0x50, 0x15, 0x9f, 0xd2, 0x03, 0xbf, 0xb3, + 0x60, 0x09, 0x35, 0xdd, 0x65, 0x29, 0x8d, 0x2f, 0xbd, 0xfe, 0x07, 0x30, 0x4f, 0x59, 0x1a, 0x13, + 0x76, 0x99, 0x0a, 0xa9, 0x8b, 0x4e, 0x59, 0x24, 0x4f, 0x60, 0x05, 0x8f, 0xf0, 0x5a, 0xc5, 0x11, + 0xbd, 0x2c, 0xf1, 0xb1, 0x3d, 0xb5, 0xa4, 0x50, 0x4e, 0x9a, 0x97, 0x33, 0xea, 0x76, 0xbd, 0xbc, + 0x9c, 0xb9, 0x01, 0x40, 0x7c, 0xff, 0x3d, 0x1e, 0xfb, 0x01, 0xcb, 0xb7, 0x0f, 0x8d, 0xe3, 0xbe, + 0x03, 0x0b, 0xa2, 0x9b, 0x7e, 0xa2, 0x1d, 0xc6, 0xcf, 0xbd, 0x2e, 0xd0, 0x0f, 0xf2, 0xb6, 0x79, + 0x90, 0x77, 0xbf, 0x0b, 0xff, 0x5f, 0x33, 0x5c, 0x7a, 0x7d, 0x07, 0xef, 0x18, 0xf2, 0x49, 0x94, + 0xf3, 0x3f, 0x39, 0xc6, 0x85, 0xba, 0x2d, 0x9e, 0x21, 0xe4, 0xfe, 0xc0, 0x82, 0xd7, 0x6b, 0xea, + 0xb7, 0xa2, 0x28, 0xe6, 0xa7, 0x2a, 0xb8, 0xaf, 0x62, 0x1a, 0xb3, 0xb4, 0xda, 0xd5, 0xd2, 0x3a, + 0xd6, 0x08, 0x63, 0x3b, 0xf8, 0x08, 0x8c, 0xf8, 0x95, 0x05, 0x4b, 0xca, 0x08, 0xdf, 0x57, 0xd3, + 0x7e, 0x09, 0x5a, 0x78, 0x3f, 0xa9, 0x26, 0x7c, 0x7d, 0xec, 0x84, 0xf9, 0xbd, 0xaa, 0xa7, 0x06, + 0xd7, 0x23, 0xd2, 0x1e, 0xd7, 0x06, 0x7e, 0xa5, 0xa8, 0x00, 0x53, 0xdf, 0x20, 0x2a, 0x01, 0xf7, + 0x5b, 0x79, 0x30, 0xef, 0xd2, 0x90, 0x5e, 0xa5, 0x8f, 0xdc, 0xa7, 0xb0, 0x28, 0x2f, 0x4b, 0x4b, + 0x1f, 0x5c, 0x89, 0xda, 0xf7, 0x60, 0x59, 0xaa, 0xbd, 0x72, 0x7b, 0x8b, 0xec, 0x10, 0xfe, 0xd9, + 0x39, 0x26, 0x6c, 0x70, 0x95, 0xda, 0x3f, 0x0f, 0xab, 0xb9, 0xef, 0x9f, 0x46, 0x7e, 0x71, 0x44, + 0x99, 0x70, 0x31, 0xe3, 0x7e, 0x01, 0xd6, 0x76, 0x38, 0x3b, 0xa5, 0x71, 0x22, 0x51, 0x46, 0x91, + 0x5c, 0xc2, 0x48, 0x7e, 0x45, 0xb9, 0x3d, 0x58, 0x51, 0x57, 0x8a, 0x07, 0x64, 0x10, 0x30, 0xac, + 0x4a, 0x37, 0x00, 0x22, 0x32, 0xc8, 0x9f, 0x14, 0xf0, 0xde, 0x49, 0xe3, 0x88, 0xef, 0xc9, 0x31, + 0x7f, 0xae, 0xbe, 0xdb, 0xf8, 0xbd, 0xe4, 0xb8, 0xdf, 0x04, 0xc7, 0xa3, 0x49, 0xc4, 0x59, 0x42, + 0x35, 0xad, 0xeb, 0x30, 0xbf, 0x93, 0xc5, 0x31, 0x65, 0x62, 0xaa, 0xfc, 0x7e, 0x5d, 0x67, 0x09, + 0xbd, 0xbd, 0x52, 0x2f, 0xde, 0x55, 0x68, 0x1c, 0xf7, 0xe7, 0x0d, 0x68, 0xf7, 0x82, 0x01, 0x23, + 0xa1, 0x47, 0x47, 0xce, 0x57, 0xa1, 0x85, 0x3b, 0x88, 0x72, 0xed, 0xb8, 0xb3, 0x33, 0x8e, 0xc6, + 0xad, 0xd2, 0xa3, 0xa3, 0x07, 0xff, 0xe7, 0x29, 0x19, 0xe7, 0x5d, 0xe8, 0xe0, 0xaf, 0x87, 0x78, + 0x22, 0x50, 0x1b, 0xc0, 0x67, 0x2e, 0x50, 0xa2, 0x46, 0xa3, 0x2e, 0x53, 0x83, 0x30, 0xa8, 0x4f, + 0x58, 0x5f, 0xbd, 0xb9, 0x9d, 0x67, 0xd0, 0x8e, 0x1c, 0xa6, 0x0c, 0x42, 0x19, 0x21, 0x4d, 0x64, + 0xcf, 0xac, 0x5e, 0x2d, 0x26, 0x4b, 0x63, 0x6b, 0xad, 0xa4, 0x51, 0x46, 0x48, 0x1f, 0x67, 0x6c, + 0xf0, 0x34, 0x52, 0x47, 0xb9, 0xc9, 0xd2, 0x0f, 0xe4, 0x30, 0x25, 0x8d, 0x32, 0x42, 0x3a, 0x96, + 0xd5, 0x4e, 0x3a, 0xfd, 0x3c, 0x69, 0x2c, 0x8a, 0x4a, 0x1a, 0x65, 0xb6, 0xdb, 0x30, 0x1b, 0x91, + 0xb3, 0x90, 0x13, 0xdf, 0xfd, 0x75, 0x03, 0x20, 0x1f, 0x98, 0xc8, 0x1e, 0xc3, 0x80, 0x68, 0xe3, + 0x42, 0x88, 0xa2, 0xf0, 0x4c, 0x03, 0xa9, 0x37, 0x1e, 0xa4, 0xcf, 0x4e, 0x0b, 0x12, 0x6a, 0xab, + 0xc0, 0x74, 0xa7, 0x02, 0xd3, 0xc6, 0x85, 0x30, 0x29, 0xa3, 0x14, 0x50, 0x77, 0x2a, 0x40, 0x6d, + 0x5c, 0x08, 0x94, 0x92, 0x57, 0x50, 0xdd, 0xa9, 0x40, 0xb5, 0x71, 0x21, 0x54, 0x4a, 0x5e, 0x81, + 0x75, 0xa7, 0x02, 0xd6, 0xc6, 0x85, 0x60, 0x29, 0xf9, 0x3a, 0x5c, 0x1f, 0xd8, 0xb0, 0x28, 0x5d, + 0x86, 0xf7, 0xb6, 0xec, 0x88, 0xcb, 0xeb, 0x19, 0xe9, 0x2e, 0xf3, 0x85, 0xca, 0x64, 0x3a, 0x9f, + 0x83, 0x15, 0x64, 0xa8, 0x17, 0x0d, 0xd9, 0xfe, 0xd9, 0xeb, 0x8d, 0x9b, 0x6d, 0xaf, 0xfe, 0x41, + 0xde, 0xb4, 0x65, 0x49, 0xca, 0x87, 0xbb, 0x24, 0x25, 0x79, 0xb7, 0x52, 0x72, 0xf4, 0x7b, 0xd0, + 0x99, 0xda, 0x0b, 0x77, 0xcc, 0xf9, 0xb0, 0xb8, 0xe0, 0x54, 0x94, 0x90, 0x48, 0x83, 0x21, 0xe5, + 0x59, 0xaa, 0xca, 0x44, 0x4e, 0x8a, 0x3d, 0x76, 0x48, 0xfd, 0x80, 0xc8, 0xdb, 0x43, 0xf5, 0xac, + 0x50, 0x30, 0x64, 0x65, 0x2b, 0x6f, 0x43, 0xd5, 0x0b, 0x74, 0xc9, 0xb9, 0xf8, 0xe6, 0xd2, 0xfd, + 0xab, 0x05, 0xab, 0x07, 0x24, 0x4e, 0x83, 0x7e, 0x10, 0x11, 0x96, 0xee, 0xd3, 0x94, 0xc8, 0x35, + 0x18, 0xcf, 0x54, 0xd6, 0x87, 0x7b, 0xa6, 0x3a, 0x80, 0xa5, 0x41, 0xd9, 0x64, 0x6a, 0x0f, 0x5d, + 0x53, 0xb7, 0xd2, 0x15, 0x71, 0xe3, 0xcd, 0xad, 0xf1, 0xa1, 0xdf, 0xdc, 0xdc, 0x1f, 0xdb, 0xb0, + 0x54, 0x29, 0x9d, 0xa2, 0x45, 0xc4, 0xcd, 0xbf, 0x88, 0x89, 0x82, 0x76, 0xb6, 0x00, 0x82, 0x22, + 0x8c, 0xce, 0xb9, 0x0b, 0x31, 0x63, 0xcd, 0xd3, 0x84, 0xc6, 0x5d, 0x89, 0x36, 0x2e, 0x7d, 0x25, + 0x2a, 0x9a, 0xfb, 0xa8, 0x04, 0x49, 0x25, 0xea, 0x38, 0x6f, 0x8e, 0x81, 0xd2, 0xd3, 0x45, 0xdd, + 0xef, 0xc0, 0x4a, 0xad, 0x42, 0xc9, 0x1b, 0x52, 0x7e, 0x42, 0x59, 0x71, 0x43, 0x2a, 0x08, 0x2d, + 0x58, 0xed, 0x6a, 0xb0, 0x86, 0xc1, 0xa9, 0xfe, 0xa8, 0xaf, 0x48, 0xf7, 0x27, 0x36, 0xac, 0x8d, + 0xdf, 0x5d, 0x5e, 0x55, 0x77, 0x1f, 0x42, 0x77, 0x52, 0x25, 0xbf, 0x32, 0xaf, 0x97, 0xd1, 0x5d, + 0xec, 0xc3, 0xaf, 0xaa, 0xbb, 0x57, 0xf3, 0xe8, 0xd6, 0xb6, 0x3a, 0xf7, 0xb7, 0x85, 0x7f, 0x8a, + 0x4e, 0xe3, 0x15, 0xf5, 0x8f, 0xf3, 0x26, 0x2c, 0xe3, 0x32, 0xb5, 0x37, 0x34, 0xdc, 0x89, 0x6a, + 0xfc, 0xb2, 0x52, 0x68, 0xdb, 0xfe, 0x95, 0xc5, 0xec, 0x1f, 0xad, 0x1c, 0x93, 0xa2, 0x7f, 0xfb, + 0xaf, 0xc2, 0xa4, 0x8c, 0x34, 0xad, 0xa9, 0xd1, 0x22, 0xad, 0xe8, 0x2b, 0xff, 0x17, 0x69, 0x17, + 0x47, 0x5a, 0xe1, 0x4b, 0xad, 0xc1, 0x73, 0xbf, 0x0f, 0x9d, 0x5d, 0x1a, 0xee, 0x27, 0x83, 0xfc, + 0xf5, 0xfe, 0x3c, 0x47, 0x4e, 0xfa, 0xe7, 0xe0, 0xc4, 0x77, 0xfb, 0xea, 0x9b, 0xff, 0x4c, 0xed, + 0xcd, 0xdf, 0xdd, 0x86, 0x45, 0xdd, 0x80, 0xcb, 0xfc, 0x79, 0x61, 0xfb, 0xfa, 0xb7, 0xaf, 0x6d, + 0xbe, 0x85, 0xff, 0x51, 0x7d, 0xbb, 0xe6, 0xc4, 0xc3, 0x96, 0xfc, 0xcf, 0xea, 0x17, 0xff, 0x1d, + 0x00, 0x00, 0xff, 0xff, 0xb4, 0x47, 0xd9, 0xbf, 0xc6, 0x2a, 0x00, 0x00, } diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 8a3a1618a..b4096f4ba 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -388,6 +388,7 @@ message SignalInviteReq { InvitationInfo invitation = 2; OfflinePushInfo offlinePushInfo = 3; ParticipantMetaData participant = 4; + } message SignalInviteReply { @@ -425,6 +426,7 @@ message SignalAcceptReq { InvitationInfo invitation = 2; OfflinePushInfo offlinePushInfo = 3; ParticipantMetaData participant = 4; + string opUserPlatformID = 5; } message SignalAcceptReply { @@ -448,6 +450,8 @@ message SignalRejectReq { string opUserID = 1; InvitationInfo invitation = 2; OfflinePushInfo offlinePushInfo = 3; + ParticipantMetaData participant = 4; + string opUserPlatformID = 5; } message SignalRejectReply { From 11c65e6b9068968b923c7b2608a402a36f517660 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Wed, 16 Mar 2022 15:45:34 +0800 Subject: [PATCH 065/129] signaling add participant --- pkg/proto/sdk_ws/ws.pb.go | 136 +++++++++++++++++++------------------- pkg/proto/sdk_ws/ws.proto | 4 +- 2 files changed, 70 insertions(+), 70 deletions(-) diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index 53c1c3b24..fd746a3d9 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_8fd7235a925cae11, []int{0} + return fileDescriptor_ws_c5c79ae5b343c043, []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_8fd7235a925cae11, []int{1} + return fileDescriptor_ws_c5c79ae5b343c043, []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_8fd7235a925cae11, []int{2} + return fileDescriptor_ws_c5c79ae5b343c043, []int{2} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -344,7 +344,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} } func (m *UserInfo) String() string { return proto.CompactTextString(m) } func (*UserInfo) ProtoMessage() {} func (*UserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{3} + return fileDescriptor_ws_c5c79ae5b343c043, []int{3} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -451,7 +451,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} } func (m *FriendInfo) String() string { return proto.CompactTextString(m) } func (*FriendInfo) ProtoMessage() {} func (*FriendInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{4} + return fileDescriptor_ws_c5c79ae5b343c043, []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_8fd7235a925cae11, []int{5} + return fileDescriptor_ws_c5c79ae5b343c043, []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_8fd7235a925cae11, []int{6} + return fileDescriptor_ws_c5c79ae5b343c043, []int{6} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -725,7 +725,7 @@ func (m *FriendRequest) Reset() { *m = FriendRequest{} } func (m *FriendRequest) String() string { return proto.CompactTextString(m) } func (*FriendRequest) ProtoMessage() {} func (*FriendRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{7} + return fileDescriptor_ws_c5c79ae5b343c043, []int{7} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -863,7 +863,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{8} + return fileDescriptor_ws_c5c79ae5b343c043, []int{8} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -917,7 +917,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{9} + return fileDescriptor_ws_c5c79ae5b343c043, []int{9} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -968,7 +968,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{10} + return fileDescriptor_ws_c5c79ae5b343c043, []int{10} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1000,7 +1000,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{11} + return fileDescriptor_ws_c5c79ae5b343c043, []int{11} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1047,7 +1047,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{12} + return fileDescriptor_ws_c5c79ae5b343c043, []int{12} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1116,7 +1116,7 @@ func (m *MsgData) Reset() { *m = MsgData{} } func (m *MsgData) String() string { return proto.CompactTextString(m) } func (*MsgData) ProtoMessage() {} func (*MsgData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{13} + return fileDescriptor_ws_c5c79ae5b343c043, []int{13} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -1277,7 +1277,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{14} + return fileDescriptor_ws_c5c79ae5b343c043, []int{14} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -1345,7 +1345,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} } func (m *TipsComm) String() string { return proto.CompactTextString(m) } func (*TipsComm) ProtoMessage() {} func (*TipsComm) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{15} + return fileDescriptor_ws_c5c79ae5b343c043, []int{15} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -1402,7 +1402,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} } func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } func (*GroupCreatedTips) ProtoMessage() {} func (*GroupCreatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{16} + return fileDescriptor_ws_c5c79ae5b343c043, []int{16} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -1471,7 +1471,7 @@ func (m *GroupInfoSetTips) Reset() { *m = GroupInfoSetTips{} } func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupInfoSetTips) ProtoMessage() {} func (*GroupInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{17} + return fileDescriptor_ws_c5c79ae5b343c043, []int{17} } func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) @@ -1526,7 +1526,7 @@ func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTi func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } func (*JoinGroupApplicationTips) ProtoMessage() {} func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{18} + return fileDescriptor_ws_c5c79ae5b343c043, []int{18} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -1582,7 +1582,7 @@ func (m *MemberQuitTips) Reset() { *m = MemberQuitTips{} } func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) } func (*MemberQuitTips) ProtoMessage() {} func (*MemberQuitTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{19} + return fileDescriptor_ws_c5c79ae5b343c043, []int{19} } func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) @@ -1637,7 +1637,7 @@ func (m *GroupApplicationAcceptedTips) Reset() { *m = GroupApplicationAc func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationAcceptedTips) ProtoMessage() {} func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{20} + return fileDescriptor_ws_c5c79ae5b343c043, []int{20} } func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) @@ -1692,7 +1692,7 @@ func (m *GroupApplicationRejectedTips) Reset() { *m = GroupApplicationRe func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationRejectedTips) ProtoMessage() {} func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{21} + return fileDescriptor_ws_c5c79ae5b343c043, []int{21} } func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) @@ -1748,7 +1748,7 @@ func (m *GroupOwnerTransferredTips) Reset() { *m = GroupOwnerTransferred func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) } func (*GroupOwnerTransferredTips) ProtoMessage() {} func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{22} + return fileDescriptor_ws_c5c79ae5b343c043, []int{22} } func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) @@ -1811,7 +1811,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} } func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } func (*MemberKickedTips) ProtoMessage() {} func (*MemberKickedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{23} + return fileDescriptor_ws_c5c79ae5b343c043, []int{23} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -1874,7 +1874,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} } func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } func (*MemberInvitedTips) ProtoMessage() {} func (*MemberInvitedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{24} + return fileDescriptor_ws_c5c79ae5b343c043, []int{24} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -1936,7 +1936,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} } func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } func (*MemberEnterTips) ProtoMessage() {} func (*MemberEnterTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{25} + return fileDescriptor_ws_c5c79ae5b343c043, []int{25} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -1990,7 +1990,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_8fd7235a925cae11, []int{26} + return fileDescriptor_ws_c5c79ae5b343c043, []int{26} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -2043,7 +2043,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_8fd7235a925cae11, []int{27} + return fileDescriptor_ws_c5c79ae5b343c043, []int{27} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -2089,7 +2089,7 @@ func (m *FriendApplicationTips) Reset() { *m = FriendApplicationTips{} } func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationTips) ProtoMessage() {} func (*FriendApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{28} + return fileDescriptor_ws_c5c79ae5b343c043, []int{28} } func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) @@ -2129,7 +2129,7 @@ func (m *FriendApplicationApprovedTips) Reset() { *m = FriendApplication func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationApprovedTips) ProtoMessage() {} func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{29} + return fileDescriptor_ws_c5c79ae5b343c043, []int{29} } func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) @@ -2176,7 +2176,7 @@ func (m *FriendApplicationRejectedTips) Reset() { *m = FriendApplication func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationRejectedTips) ProtoMessage() {} func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{30} + return fileDescriptor_ws_c5c79ae5b343c043, []int{30} } func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) @@ -2224,7 +2224,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_8fd7235a925cae11, []int{31} + return fileDescriptor_ws_c5c79ae5b343c043, []int{31} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -2277,7 +2277,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_8fd7235a925cae11, []int{32} + return fileDescriptor_ws_c5c79ae5b343c043, []int{32} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -2315,7 +2315,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_8fd7235a925cae11, []int{33} + return fileDescriptor_ws_c5c79ae5b343c043, []int{33} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -2353,7 +2353,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_8fd7235a925cae11, []int{34} + return fileDescriptor_ws_c5c79ae5b343c043, []int{34} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -2391,7 +2391,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_8fd7235a925cae11, []int{35} + return fileDescriptor_ws_c5c79ae5b343c043, []int{35} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -2430,7 +2430,7 @@ func (m *UserInfoUpdatedTips) Reset() { *m = UserInfoUpdatedTips{} } func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (*UserInfoUpdatedTips) ProtoMessage() {} func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{36} + return fileDescriptor_ws_c5c79ae5b343c043, []int{36} } func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) @@ -2469,7 +2469,7 @@ func (m *ConversationUpdateTips) Reset() { *m = ConversationUpdateTips{} func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) } func (*ConversationUpdateTips) ProtoMessage() {} func (*ConversationUpdateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{37} + return fileDescriptor_ws_c5c79ae5b343c043, []int{37} } func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) @@ -2509,7 +2509,7 @@ func (m *RequestPagination) Reset() { *m = RequestPagination{} } func (m *RequestPagination) String() string { return proto.CompactTextString(m) } func (*RequestPagination) ProtoMessage() {} func (*RequestPagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{38} + return fileDescriptor_ws_c5c79ae5b343c043, []int{38} } func (m *RequestPagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RequestPagination.Unmarshal(m, b) @@ -2555,7 +2555,7 @@ func (m *ResponsePagination) Reset() { *m = ResponsePagination{} } func (m *ResponsePagination) String() string { return proto.CompactTextString(m) } func (*ResponsePagination) ProtoMessage() {} func (*ResponsePagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{39} + return fileDescriptor_ws_c5c79ae5b343c043, []int{39} } func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) @@ -2608,7 +2608,7 @@ func (m *SignalReq) Reset() { *m = SignalReq{} } func (m *SignalReq) String() string { return proto.CompactTextString(m) } func (*SignalReq) ProtoMessage() {} func (*SignalReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{40} + return fileDescriptor_ws_c5c79ae5b343c043, []int{40} } func (m *SignalReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalReq.Unmarshal(m, b) @@ -2875,7 +2875,7 @@ func (m *SignalResp) Reset() { *m = SignalResp{} } func (m *SignalResp) String() string { return proto.CompactTextString(m) } func (*SignalResp) ProtoMessage() {} func (*SignalResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{41} + return fileDescriptor_ws_c5c79ae5b343c043, []int{41} } func (m *SignalResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalResp.Unmarshal(m, b) @@ -3143,7 +3143,7 @@ func (m *InvitationInfo) Reset() { *m = InvitationInfo{} } func (m *InvitationInfo) String() string { return proto.CompactTextString(m) } func (*InvitationInfo) ProtoMessage() {} func (*InvitationInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{42} + return fileDescriptor_ws_c5c79ae5b343c043, []int{42} } func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) @@ -3239,7 +3239,7 @@ func (m *ParticipantMetaData) Reset() { *m = ParticipantMetaData{} } func (m *ParticipantMetaData) String() string { return proto.CompactTextString(m) } func (*ParticipantMetaData) ProtoMessage() {} func (*ParticipantMetaData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{43} + return fileDescriptor_ws_c5c79ae5b343c043, []int{43} } func (m *ParticipantMetaData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ParticipantMetaData.Unmarshal(m, b) @@ -3294,7 +3294,7 @@ func (m *SignalInviteReq) Reset() { *m = SignalInviteReq{} } func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteReq) ProtoMessage() {} func (*SignalInviteReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{44} + return fileDescriptor_ws_c5c79ae5b343c043, []int{44} } func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) @@ -3355,7 +3355,7 @@ func (m *SignalInviteReply) Reset() { *m = SignalInviteReply{} } func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteReply) ProtoMessage() {} func (*SignalInviteReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{45} + return fileDescriptor_ws_c5c79ae5b343c043, []int{45} } func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) @@ -3410,7 +3410,7 @@ func (m *SignalInviteInGroupReq) Reset() { *m = SignalInviteInGroupReq{} func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReq) ProtoMessage() {} func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{46} + return fileDescriptor_ws_c5c79ae5b343c043, []int{46} } func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) @@ -3471,7 +3471,7 @@ func (m *SignalInviteInGroupReply) Reset() { *m = SignalInviteInGroupRep func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReply) ProtoMessage() {} func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{47} + return fileDescriptor_ws_c5c79ae5b343c043, []int{47} } func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) @@ -3526,7 +3526,7 @@ func (m *SignalCancelReq) Reset() { *m = SignalCancelReq{} } func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) } func (*SignalCancelReq) ProtoMessage() {} func (*SignalCancelReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{48} + return fileDescriptor_ws_c5c79ae5b343c043, []int{48} } func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) @@ -3584,7 +3584,7 @@ func (m *SignalCancelReply) Reset() { *m = SignalCancelReply{} } func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) } func (*SignalCancelReply) ProtoMessage() {} func (*SignalCancelReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{49} + return fileDescriptor_ws_c5c79ae5b343c043, []int{49} } func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) @@ -3609,7 +3609,7 @@ type SignalAcceptReq struct { Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant" json:"participant,omitempty"` - OpUserPlatformID string `protobuf:"bytes,5,opt,name=opUserPlatformID" json:"opUserPlatformID,omitempty"` + OpUserPlatformID int32 `protobuf:"varint,5,opt,name=opUserPlatformID" json:"opUserPlatformID,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -3619,7 +3619,7 @@ func (m *SignalAcceptReq) Reset() { *m = SignalAcceptReq{} } func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReq) ProtoMessage() {} func (*SignalAcceptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{50} + return fileDescriptor_ws_c5c79ae5b343c043, []int{50} } func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) @@ -3667,11 +3667,11 @@ func (m *SignalAcceptReq) GetParticipant() *ParticipantMetaData { return nil } -func (m *SignalAcceptReq) GetOpUserPlatformID() string { +func (m *SignalAcceptReq) GetOpUserPlatformID() int32 { if m != nil { return m.OpUserPlatformID } - return "" + return 0 } type SignalAcceptReply struct { @@ -3687,7 +3687,7 @@ func (m *SignalAcceptReply) Reset() { *m = SignalAcceptReply{} } func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReply) ProtoMessage() {} func (*SignalAcceptReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{51} + return fileDescriptor_ws_c5c79ae5b343c043, []int{51} } func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) @@ -3741,7 +3741,7 @@ func (m *SignalHungUpReq) Reset() { *m = SignalHungUpReq{} } func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReq) ProtoMessage() {} func (*SignalHungUpReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{52} + return fileDescriptor_ws_c5c79ae5b343c043, []int{52} } func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) @@ -3792,7 +3792,7 @@ func (m *SignalHungUpReply) Reset() { *m = SignalHungUpReply{} } func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReply) ProtoMessage() {} func (*SignalHungUpReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{53} + return fileDescriptor_ws_c5c79ae5b343c043, []int{53} } func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) @@ -3817,7 +3817,7 @@ type SignalRejectReq struct { Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation" json:"invitation,omitempty"` OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"` Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant" json:"participant,omitempty"` - OpUserPlatformID string `protobuf:"bytes,5,opt,name=opUserPlatformID" json:"opUserPlatformID,omitempty"` + OpUserPlatformID int32 `protobuf:"varint,5,opt,name=opUserPlatformID" json:"opUserPlatformID,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -3827,7 +3827,7 @@ func (m *SignalRejectReq) Reset() { *m = SignalRejectReq{} } func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) } func (*SignalRejectReq) ProtoMessage() {} func (*SignalRejectReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{54} + return fileDescriptor_ws_c5c79ae5b343c043, []int{54} } func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) @@ -3875,11 +3875,11 @@ func (m *SignalRejectReq) GetParticipant() *ParticipantMetaData { return nil } -func (m *SignalRejectReq) GetOpUserPlatformID() string { +func (m *SignalRejectReq) GetOpUserPlatformID() int32 { if m != nil { return m.OpUserPlatformID } - return "" + return 0 } type SignalRejectReply struct { @@ -3892,7 +3892,7 @@ func (m *SignalRejectReply) Reset() { *m = SignalRejectReply{} } func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) } func (*SignalRejectReply) ProtoMessage() {} func (*SignalRejectReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{55} + return fileDescriptor_ws_c5c79ae5b343c043, []int{55} } func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) @@ -3926,7 +3926,7 @@ func (m *DelMsgListReq) Reset() { *m = DelMsgListReq{} } func (m *DelMsgListReq) String() string { return proto.CompactTextString(m) } func (*DelMsgListReq) ProtoMessage() {} func (*DelMsgListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{56} + return fileDescriptor_ws_c5c79ae5b343c043, []int{56} } func (m *DelMsgListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListReq.Unmarshal(m, b) @@ -3986,7 +3986,7 @@ func (m *DelMsgListResp) Reset() { *m = DelMsgListResp{} } func (m *DelMsgListResp) String() string { return proto.CompactTextString(m) } func (*DelMsgListResp) ProtoMessage() {} func (*DelMsgListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_8fd7235a925cae11, []int{57} + return fileDescriptor_ws_c5c79ae5b343c043, []int{57} } func (m *DelMsgListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListResp.Unmarshal(m, b) @@ -4082,9 +4082,9 @@ func init() { proto.RegisterType((*DelMsgListResp)(nil), "server_api_params.DelMsgListResp") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_8fd7235a925cae11) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_c5c79ae5b343c043) } -var fileDescriptor_ws_8fd7235a925cae11 = []byte{ +var fileDescriptor_ws_c5c79ae5b343c043 = []byte{ // 2572 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xcb, 0x6f, 0x24, 0x49, 0xd1, 0xff, 0xaa, 0xda, 0xdd, 0x76, 0x87, 0xdd, 0x7e, 0x94, 0xf7, 0x33, 0xcd, 0x30, 0x3b, 0x98, @@ -4239,12 +4239,12 @@ var fileDescriptor_ws_8fd7235a925cae11 = []byte{ 0x58, 0xed, 0x6a, 0xb0, 0x86, 0xc1, 0xa9, 0xfe, 0xa8, 0xaf, 0x48, 0xf7, 0x27, 0x36, 0xac, 0x8d, 0xdf, 0x5d, 0x5e, 0x55, 0x77, 0x1f, 0x42, 0x77, 0x52, 0x25, 0xbf, 0x32, 0xaf, 0x97, 0xd1, 0x5d, 0xec, 0xc3, 0xaf, 0xaa, 0xbb, 0x57, 0xf3, 0xe8, 0xd6, 0xb6, 0x3a, 0xf7, 0xb7, 0x85, 0x7f, 0x8a, - 0x4e, 0xe3, 0x15, 0xf5, 0x8f, 0xf3, 0x26, 0x2c, 0xe3, 0x32, 0xb5, 0x37, 0x34, 0xdc, 0x89, 0x6a, + 0x4e, 0xe3, 0x15, 0xf5, 0x8f, 0xf3, 0x26, 0x2c, 0xe3, 0x32, 0xb5, 0x37, 0x34, 0x6c, 0x5c, 0x6b, 0xfc, 0xb2, 0x52, 0x68, 0xdb, 0xfe, 0x95, 0xc5, 0xec, 0x1f, 0xad, 0x1c, 0x93, 0xa2, 0x7f, 0xfb, 0xaf, 0xc2, 0xa4, 0x8c, 0x34, 0xad, 0xa9, 0xd1, 0x22, 0xad, 0xe8, 0x2b, 0xff, 0x17, 0x69, 0x17, 0x47, 0x5a, 0xe1, 0x4b, 0xad, 0xc1, 0x73, 0xbf, 0x0f, 0x9d, 0x5d, 0x1a, 0xee, 0x27, 0x83, 0xfc, 0xf5, 0xfe, 0x3c, 0x47, 0x4e, 0xfa, 0xe7, 0xe0, 0xc4, 0x77, 0xfb, 0xea, 0x9b, 0xff, 0x4c, 0xed, 0xcd, 0xdf, 0xdd, 0x86, 0x45, 0xdd, 0x80, 0xcb, 0xfc, 0x79, 0x61, 0xfb, 0xfa, 0xb7, 0xaf, 0x6d, 0xbe, 0x85, 0xff, 0x51, 0x7d, 0xbb, 0xe6, 0xc4, 0xc3, 0x96, 0xfc, 0xcf, 0xea, 0x17, 0xff, 0x1d, - 0x00, 0x00, 0xff, 0xff, 0xb4, 0x47, 0xd9, 0xbf, 0xc6, 0x2a, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x62, 0x4e, 0xe4, 0x43, 0xc6, 0x2a, 0x00, 0x00, } diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index b4096f4ba..39abd9c7e 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -426,7 +426,7 @@ message SignalAcceptReq { InvitationInfo invitation = 2; OfflinePushInfo offlinePushInfo = 3; ParticipantMetaData participant = 4; - string opUserPlatformID = 5; + int32 opUserPlatformID = 5; } message SignalAcceptReply { @@ -451,7 +451,7 @@ message SignalRejectReq { InvitationInfo invitation = 2; OfflinePushInfo offlinePushInfo = 3; ParticipantMetaData participant = 4; - string opUserPlatformID = 5; + int32 opUserPlatformID = 5; } message SignalRejectReply { From 367888968b628ce16569e5d1e0d2d76457be28ac Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 16 Mar 2022 16:09:39 +0800 Subject: [PATCH 066/129] log add --- internal/msg_gateway/gate/validate.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/internal/msg_gateway/gate/validate.go b/internal/msg_gateway/gate/validate.go index 60ab368da..5184eab7f 100644 --- a/internal/msg_gateway/gate/validate.go +++ b/internal/msg_gateway/gate/validate.go @@ -147,7 +147,7 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq, operationID s token, err2 := media.GetJoinToken(payload.Invite.Invitation.RoomID, payload.Invite.Invitation.InviterUserID, operationID, payload.Invite.Participant) if err2 != nil { - return false, 201, err2.Error(), nil, nil + return false, 202, err2.Error(), nil, nil } invite := open_im_sdk.SignalResp_Invite{&open_im_sdk.SignalInviteReply{ Token: token, @@ -162,7 +162,7 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq, operationID s if len(payload.Invite.Invitation.InviteeUserIDList) > 0 { msg.RecvID = payload.Invite.Invitation.InviteeUserIDList[0] } else { - return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil + return false, 203, errors.New("InviteeUserIDList is null").Error(), nil, nil } msg.ClientMsgID = utils.GetMsgID(payload.Invite.Invitation.InviterUserID) return true, 0, "", &resp, &msg @@ -174,7 +174,7 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq, operationID s //} token, err2 := media.GetJoinToken(payload.InviteInGroup.Invitation.RoomID, payload.InviteInGroup.Invitation.InviterUserID, operationID, payload.InviteInGroup.Participant) if err2 != nil { - return false, 201, err2.Error(), nil, nil + return false, 204, err2.Error(), nil, nil } inviteGroup := open_im_sdk.SignalResp_InviteInGroup{&open_im_sdk.SignalInviteInGroupReply{ RoomID: payload.InviteInGroup.Invitation.RoomID, @@ -189,7 +189,7 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq, operationID s if len(payload.InviteInGroup.Invitation.InviteeUserIDList) > 0 { msg.GroupID = payload.InviteInGroup.Invitation.GroupID } else { - return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil + return false, 205, errors.New("InviteeUserIDList is null").Error(), nil, nil } msg.ClientMsgID = utils.GetMsgID(payload.InviteInGroup.Invitation.InviterUserID) @@ -209,14 +209,14 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq, operationID s msg.GroupID = payload.Cancel.Invitation.GroupID } } else { - return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil + return false, 206, errors.New("InviteeUserIDList is null").Error(), nil, nil } msg.ClientMsgID = utils.GetMsgID(payload.Cancel.OpUserID) return true, 0, "", &resp, &msg case *open_im_sdk.SignalReq_Accept: token, err2 := media.GetJoinToken(payload.Accept.Invitation.RoomID, payload.Accept.OpUserID, operationID, payload.Accept.Participant) if err2 != nil { - return false, 201, err2.Error(), nil, nil + return false, 207, err2.Error(), nil, nil } accept := open_im_sdk.SignalResp_Accept{&open_im_sdk.SignalAcceptReply{ Token: token, @@ -236,7 +236,7 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq, operationID s msg.GroupID = payload.Accept.Invitation.GroupID } } else { - return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil + return false, 208, errors.New("InviteeUserIDList is null").Error(), nil, nil } msg.ClientMsgID = utils.GetMsgID(payload.Accept.OpUserID) return true, 0, "", &resp, &msg @@ -256,10 +256,10 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq, operationID s msg.GroupID = payload.Reject.Invitation.GroupID } } else { - return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil + return false, 209, errors.New("InviteeUserIDList is null").Error(), nil, nil } msg.ClientMsgID = utils.GetMsgID(payload.Reject.OpUserID) return true, 0, "", &resp, &msg } - return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil + return false, 210, errors.New("InviteeUserIDList is null").Error(), nil, nil } From b0aa168c9a3ecf5bf250c2a1bbea3b74301b4528 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 16 Mar 2022 18:02:26 +0800 Subject: [PATCH 067/129] rtc add --- cmd/open_im_api/main.go | 17 +- internal/api/conversation/conversation.go | 71 +- internal/rpc/msg/del_msg.go | 15 + internal/rpc/user/user.go | 102 +- pkg/base_info/conversation_api_struct.go | 31 +- pkg/common/db/mongoModel.go | 12 +- .../mysql_model/im_mysql_model/user_model.go | 25 +- pkg/proto/user/user.pb.go | 1320 ++++++++++------- pkg/proto/user/user.proto | 14 + 9 files changed, 916 insertions(+), 691 deletions(-) create mode 100644 internal/rpc/msg/del_msg.go diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index 36815617d..033688f7e 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -59,13 +59,13 @@ func main() { groupRouterGroup.POST("/transfer_group", group.TransferGroupOwner) //1 groupRouterGroup.POST("/get_recv_group_applicationList", group.GetRecvGroupApplicationList) //1 groupRouterGroup.POST("/get_user_req_group_applicationList", group.GetUserReqGroupApplicationList) - groupRouterGroup.POST("/get_groups_info", group.GetGroupsInfo) //1 - groupRouterGroup.POST("/kick_group", group.KickGroupMember) //1 - groupRouterGroup.POST("/get_group_member_list", group.GetGroupMemberList) //no use - groupRouterGroup.POST("/get_group_all_member_list", group.GetGroupAllMemberList) //1 - groupRouterGroup.POST("/get_group_members_info", group.GetGroupMembersInfo) //1 - groupRouterGroup.POST("/invite_user_to_group", group.InviteUserToGroup) //1 - groupRouterGroup.POST("/get_joined_group_list", group.GetJoinedGroupList) //1 + groupRouterGroup.POST("/get_groups_info", group.GetGroupsInfo) //1 + groupRouterGroup.POST("/kick_group", group.KickGroupMember) //1 + groupRouterGroup.POST("/get_group_member_list", group.GetGroupMemberList) //no use + groupRouterGroup.POST("/get_group_all_member_list", group.GetGroupAllMemberList) //1 + groupRouterGroup.POST("/get_group_members_info", group.GetGroupMembersInfo) //1 + groupRouterGroup.POST("/invite_user_to_group", group.InviteUserToGroup) //1 + groupRouterGroup.POST("/get_joined_group_list", group.GetJoinedGroupList) //1 } //certificate authRouterGroup := r.Group("/auth") @@ -97,12 +97,13 @@ func main() { } //Conversation conversationGroup := r.Group("/conversation") - { //1 + { //1 conversationGroup.POST("/get_all_conversations", conversation.GetAllConversations) conversationGroup.POST("/get_conversation", conversation.GetConversation) conversationGroup.POST("/get_conversations", conversation.GetConversations) conversationGroup.POST("/set_conversation", conversation.SetConversation) conversationGroup.POST("/batch_set_conversation", conversation.BatchSetConversations) + conversationGroup.POST("/set_recv_msg_opt", conversation.SetRecvMsgOpt) } apiThird.MinioInit() log.NewPrivateLog("api") diff --git a/internal/api/conversation/conversation.go b/internal/api/conversation/conversation.go index 1ea49ed31..591ea3a0a 100644 --- a/internal/api/conversation/conversation.go +++ b/internal/api/conversation/conversation.go @@ -15,8 +15,8 @@ import ( func SetConversation(c *gin.Context) { var ( - req api.SetConversationReq - resp api.SetConversationResp + req api.SetConversationReq + resp api.SetConversationResp reqPb pbUser.SetConversationReq ) if err := c.BindJSON(&req); err != nil { @@ -47,8 +47,8 @@ func SetConversation(c *gin.Context) { func BatchSetConversations(c *gin.Context) { var ( - req api.BatchSetConversationsReq - resp api.BatchSetConversationsResp + req api.BatchSetConversationsReq + resp api.BatchSetConversationsResp reqPb pbUser.BatchSetConversationsReq ) if err := c.BindJSON(&req); err != nil { @@ -79,8 +79,8 @@ func BatchSetConversations(c *gin.Context) { func GetAllConversations(c *gin.Context) { var ( - req api.GetAllConversationsReq - resp api.GetAllConversationsResp + req api.GetAllConversationsReq + resp api.GetAllConversationsResp reqPb pbUser.GetAllConversationsReq ) if err := c.BindJSON(&req); err != nil { @@ -111,8 +111,8 @@ func GetAllConversations(c *gin.Context) { func GetConversation(c *gin.Context) { var ( - req api.GetConversationReq - resp api.GetConversationResp + req api.GetConversationReq + resp api.GetConversationResp reqPb pbUser.GetConversationReq ) if err := c.BindJSON(&req); err != nil { @@ -141,11 +141,10 @@ func GetConversation(c *gin.Context) { c.JSON(http.StatusOK, resp) } - func GetConversations(c *gin.Context) { var ( - req api.GetConversationsReq - resp api.GetConversationsResp + req api.GetConversationsReq + resp api.GetConversationsResp reqPb pbUser.GetConversationsReq ) if err := c.BindJSON(&req); err != nil { @@ -174,33 +173,31 @@ func GetConversations(c *gin.Context) { c.JSON(http.StatusOK, resp) } - - - - - - - -func GetAllConversationMessageOpt(c *gin.Context) { +func SetRecvMsgOpt(c *gin.Context) { var ( - _ api.GetAllConversationMessageOptReq - resp api.GetAllConversationMessageOptResp - ) - c.JSON(http.StatusOK, resp) -} - -func GetReceiveMessageOpt(c *gin.Context) { - var ( - _ api.GetReceiveMessageOptReq - resp api.GetReceiveMessageOptResp - ) - c.JSON(http.StatusOK, resp) -} - -func SetReceiveMessageOpt(c *gin.Context) { - var ( - _ api.SetReceiveMessageOptReq - resp api.SetReceiveMessageOptResp + req api.SetRecvMsgOptReq + resp api.SetRecvMsgOptResp + reqPb pbUser.SetRecvMsgOptReq ) + if err := c.BindJSON(&req); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "bind json failed", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "bind json failed " + err.Error()}) + return + } + if err := utils.CopyStructFields(&reqPb, req); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", reqPb.String()) + etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName) + client := pbUser.NewUserClient(etcdConn) + respPb, err := client.SetRecvMsgOpt(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "SetConversation rpc failed, ", reqPb.String(), err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": "GetAllConversationMsgOpt rpc failed, " + err.Error()}) + return + } + resp.ErrMsg = respPb.CommonResp.ErrMsg + resp.ErrCode = respPb.CommonResp.ErrCode + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) c.JSON(http.StatusOK, resp) } diff --git a/internal/rpc/msg/del_msg.go b/internal/rpc/msg/del_msg.go new file mode 100644 index 000000000..1e76409f8 --- /dev/null +++ b/internal/rpc/msg/del_msg.go @@ -0,0 +1,15 @@ +package msg + +import ( + "Open_IM/pkg/common/log" + commonPb "Open_IM/pkg/proto/sdk_ws" + "Open_IM/pkg/utils" + "context" +) + +func (rpc *rpcChat) DelMsgList(_ context.Context, req *commonPb.DelMsgListReq) (*commonPb.DelMsgListResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) + resp := &commonPb.DelMsgListResp{} + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) + return resp, nil +} diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index 73e689d05..5b37c3172 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -94,7 +94,6 @@ func (s *userServer) GetUserInfo(ctx context.Context, req *pbUser.GetUserInfoReq return &pbUser.GetUserInfoResp{CommonResp: &pbUser.CommonResp{}, UserInfoList: userInfoList}, nil } - func (s *userServer) BatchSetConversations(ctx context.Context, req *pbUser.BatchSetConversationsReq) (*pbUser.BatchSetConversationsResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) resp := &pbUser.BatchSetConversationsResp{} @@ -139,20 +138,20 @@ func (s *userServer) GetAllConversations(ctx context.Context, req *pbUser.GetAll } func (s *userServer) GetConversation(ctx context.Context, req *pbUser.GetConversationReq) (*pbUser.GetConversationResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbUser.GetConversationResp{Conversation: &pbUser.Conversation{}} - conversation, err := imdb.GetConversation(req.OwnerUserID, req.ConversationID) - if err != nil{ - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetConversation error", err.Error()) - resp.CommonResp = &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg} - return resp, nil - } - if err := utils.CopyStructFields(resp.Conversation, &conversation); err != nil { - log.Debug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields error", conversation, err.Error()) - } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) - resp.CommonResp = &pbUser.CommonResp{} - return resp, nil + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) + resp := &pbUser.GetConversationResp{Conversation: &pbUser.Conversation{}} + conversation, err := imdb.GetConversation(req.OwnerUserID, req.ConversationID) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetConversation error", err.Error()) + resp.CommonResp = &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg} + return resp, nil + } + if err := utils.CopyStructFields(resp.Conversation, &conversation); err != nil { + log.Debug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields error", conversation, err.Error()) + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) + resp.CommonResp = &pbUser.CommonResp{} + return resp, nil } func (s *userServer) GetConversations(ctx context.Context, req *pbUser.GetConversationsReq) (*pbUser.GetConversationsResp, error) { @@ -196,56 +195,29 @@ func (s *userServer) SetConversation(ctx context.Context, req *pbUser.SetConvers return resp, nil } -//func (s *userServer) SetReceiveMessageOpt(ctx context.Context, req *pbUser.SetReceiveMessageOptReq) (*pbUser.SetReceiveMessageOptResp, error) { -// log.NewInfo(req.OperationID, "SetReceiveMessageOpt args ", req.String()) -// m := make(map[string]int, len(req.ConversationIDList)) -// for _, v := range req.ConversationIDList { -// m[v] = int(req.Opt) -// } -// err := db.DB.SetMultiConversationMsgOpt(req.FromUserID, m) -// if err != nil { -// log.NewError(req.OperationID, "SetMultiConversationMsgOpt failed ", err.Error(), req) -// return &pbUser.SetReceiveMessageOptResp{CommonResp: &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil -// } -// resp := pbUser.SetReceiveMessageOptResp{CommonResp: &pbUser.CommonResp{}} -// -// for _, v := range req.ConversationIDList { -// resp.ConversationOptResultList = append(resp.ConversationOptResultList, &pbUser.OptResult{ConversationID: v, Result: req.Opt}) -// } -// chat.SetReceiveMessageOptNotification(req.OperationID, req.OpUserID, req.FromUserID) -// log.NewInfo(req.OperationID, "SetReceiveMessageOpt rpc return ", resp.String()) -// return &resp, nil -//} -// -//func (s *userServer) GetReceiveMessageOpt(ctx context.Context, req *pbUser.GetReceiveMessageOptReq) (*pbUser.GetReceiveMessageOptResp, error) { -// log.NewInfo(req.OperationID, "GetReceiveMessageOpt args ", req.String()) -// m, err := db.DB.GetMultiConversationMsgOpt(req.FromUserID, req.ConversationIDList) -// if err != nil { -// log.NewError(req.OperationID, "GetMultiConversationMsgOpt failed ", err.Error(), req.FromUserID, req.ConversationIDList) -// return &pbUser.GetReceiveMessageOptResp{CommonResp: &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil -// } -// resp := pbUser.GetReceiveMessageOptResp{CommonResp: &pbUser.CommonResp{}} -// for k, v := range m { -// resp.ConversationOptResultList = append(resp.ConversationOptResultList, &pbUser.OptResult{ConversationID: k, Result: int32(v)}) -// } -// log.NewInfo(req.OperationID, "GetReceiveMessageOpt rpc return ", resp.String()) -// return &resp, nil -//} -// -//func (s *userServer) GetAllConversationMsgOpt(ctx context.Context, req *pbUser.GetAllConversationMsgOptReq) (*pbUser.GetAllConversationMsgOptResp, error) { -// log.NewInfo(req.OperationID, "GetAllConversationMsgOpt args ", req.String()) -// m, err := db.DB.GetAllConversationMsgOpt(req.FromUserID) -// if err != nil { -// log.NewError(req.OperationID, "GetAllConversationMsgOpt failed ", err.Error(), req.FromUserID) -// return &pbUser.GetAllConversationMsgOptResp{CommonResp: &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil -// } -// resp := pbUser.GetAllConversationMsgOptResp{CommonResp: &pbUser.CommonResp{}} -// for k, v := range m { -// resp.ConversationOptResultList = append(resp.ConversationOptResultList, &pbUser.OptResult{ConversationID: k, Result: int32(v)}) -// } -// log.NewInfo(req.OperationID, "GetAllConversationMsgOpt rpc return ", resp.String()) -// return &resp, nil -//} +func (s *userServer) SetRecvMsgOpt(ctx context.Context, req *pbUser.SetRecvMsgOptReq) (*pbUser.SetRecvMsgOptResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) + resp := &pbUser.SetRecvMsgOptResp{} + var conversation db.Conversation + if err := utils.CopyStructFields(&conversation, req); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", *req, err.Error()) + } + if err := db.DB.SetSingleConversationRecvMsgOpt(req.OwnerUserID, req.ConversationID, req.RecvMsgOpt); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "cache failed, rpc return", err.Error()) + resp.CommonResp = &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg} + return resp, nil + } + err := imdb.SetRecvMsgOpt(conversation) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "SetConversation error", err.Error()) + resp.CommonResp = &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg} + return resp, nil + } + chat.SetConversationNotification(req.OperationID, req.OwnerUserID) + log.NewError(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) + resp.CommonResp = &pbUser.CommonResp{} + return resp, nil +} func (s *userServer) DeleteUsers(_ context.Context, req *pbUser.DeleteUsersReq) (*pbUser.DeleteUsersResp, error) { log.NewInfo(req.OperationID, "DeleteUsers args ", req.String()) diff --git a/pkg/base_info/conversation_api_struct.go b/pkg/base_info/conversation_api_struct.go index 45139a1fa..ed706c4ad 100644 --- a/pkg/base_info/conversation_api_struct.go +++ b/pkg/base_info/conversation_api_struct.go @@ -38,10 +38,10 @@ type Conversation struct { ConversationType int32 `json:"conversationType"` UserID string `json:"userID"` GroupID string `json:"groupID"` - RecvMsgOpt int32 `json:"recvMsgOpt"` - UnreadCount int32 `json:"unreadCount"` + RecvMsgOpt int32 `json:"recvMsgOpt" binding:"omitempty,oneof=0 1 2"` + UnreadCount int32 `json:"unreadCount" binding:"omitempty"` DraftTextTime int64 `json:"draftTextTime"` - IsPinned bool `json:"isPinned"` + IsPinned bool `json:"isPinned" binding:"omitempty"` IsPrivateChat bool `json:"isPrivateChat"` AttachedInfo string `json:"attachedInfo"` Ex string `json:"ex"` @@ -49,7 +49,7 @@ type Conversation struct { type SetConversationReq struct { Conversation - OperationID string `json:"operationID" binding:"required"` + OperationID string `json:"operationID" binding:"required"` } type SetConversationResp struct { @@ -58,13 +58,13 @@ type SetConversationResp struct { type BatchSetConversationsReq struct { Conversations []Conversation `json:"conversations" binding:"required"` - OwnerUserID string `json:"ownerUserID" binding:"required"` - OperationID string `json:"operationID" binding:"required"` + OwnerUserID string `json:"ownerUserID" binding:"required"` + OperationID string `json:"operationID" binding:"required"` } type BatchSetConversationsResp struct { CommResp - Data struct{ + Data struct { Success []string `json:"success"` Failed []string `json:"failed"` } `json:"data"` @@ -93,11 +93,22 @@ type GetAllConversationsResp struct { type GetConversationsReq struct { ConversationIDs []string `json:"conversationIDs" binding:"required"` - OwnerUserID string `json:"ownerUserID" binding:"required"` - OperationID string `json:"operationID" binding:"required"` + OwnerUserID string `json:"ownerUserID" binding:"required"` + OperationID string `json:"operationID" binding:"required"` } type GetConversationsResp struct { CommResp Conversations []Conversation `json:"data"` -} \ No newline at end of file +} + +type SetRecvMsgOptReq struct { + OwnerUserID string `json:"ownerUserID" binding:"required"` + ConversationID string `json:"conversationID"` + RecvMsgOpt int32 `json:"recvMsgOpt" binding:"omitempty,oneof=0 1 2"` + OperationID string `json:"operationID" binding:"required"` +} + +type SetRecvMsgOptResp struct { + CommResp +} diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go index 3b489af23..c63d07f72 100644 --- a/pkg/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -125,7 +125,6 @@ func (d *DataBases) GetMsgBySeqList(uid string, seqList []uint32, operationID st return seqMsg, nil } - func (d *DataBases) GetMsgBySeqListMongo2(uid string, seqList []uint32, operationID string) (seqMsg []*open_im_sdk.MsgData, err error) { var hasSeqList []uint32 singleCount := 0 @@ -178,7 +177,6 @@ func (d *DataBases) GetMsgBySeqListMongo2(uid string, seqList []uint32, operatio return seqMsg, nil } - func genExceptionMessageBySeqList(seqList []uint32) (exceptionMsg []*open_im_sdk.MsgData) { for _, v := range seqList { msg := new(open_im_sdk.MsgData) @@ -199,7 +197,7 @@ func (d *DataBases) SaveUserChatMongo2(uid string, sendTime int64, m *pbMsg.MsgD sMsg := MsgInfo{} sMsg.SendTime = sendTime if sMsg.Msg, err = proto.Marshal(m.MsgData); err != nil { - return utils.Wrap(err,"") + return utils.Wrap(err, "") } err = c.FindOneAndUpdate(ctx, filter, bson.M{"$push": bson.M{"msg": sMsg}}).Err() log.NewDebug(operationID, "get mgoSession cost time", getCurrentTimestampByMill()-newTime) @@ -207,11 +205,11 @@ func (d *DataBases) SaveUserChatMongo2(uid string, sendTime int64, m *pbMsg.MsgD sChat := UserChat{} sChat.UID = seqUid sChat.Msg = append(sChat.Msg, sMsg) - if _, err = c.InsertOne(ctx, &sChat) ; err != nil{ + if _, err = c.InsertOne(ctx, &sChat); err != nil { log.NewDebug(operationID, "InsertOne failed", filter) return utils.Wrap(err, "") } - }else{ + } else { log.NewDebug(operationID, "FindOneAndUpdate ok", filter) } @@ -258,7 +256,6 @@ func (d *DataBases) SaveUserChat(uid string, sendTime int64, m *pbMsg.MsgDataToD return nil } - func (d *DataBases) DelUserChat(uid string) error { return nil //session := d.mgoSession.Clone() @@ -277,7 +274,6 @@ func (d *DataBases) DelUserChat(uid string) error { //return nil } - func (d *DataBases) DelUserChatMongo2(uid string) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cChat) @@ -290,8 +286,6 @@ func (d *DataBases) DelUserChatMongo2(uid string) error { return nil } - - func (d *DataBases) MgoUserCount() (int, error) { return 0, nil //session := d.mgoSession.Clone() 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 260a096c5..cfe340dc3 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 @@ -307,11 +307,30 @@ func SetConversation(conversation db.Conversation) error { } else { log.NewDebug("", utils.GetSelfFuncName(), "conversation", conversation, "exist in db, update") //force update - return dbConn.Model(&db.Conversation{}).Update(conversation). + return dbConn.Model(conversation).Where("owner_user_id = ? and conversation_id = ?", conversation.OwnerUserID, conversation.ConversationID). Update(map[string]interface{}{"recv_msg_opt": conversation.RecvMsgOpt, "is_pinned": conversation.IsPinned, "is_private_chat": conversation.IsPrivateChat}).Error } } +func SetRecvMsgOpt(conversation db.Conversation) error { + dbConn, err := db.DB.MysqlDB.DefaultGormDB() + if err != nil { + return err + } + dbConn.LogMode(true) + newConversation := conversation + if dbConn.Model(&db.Conversation{}).Find(&newConversation).RowsAffected == 0 { + log.NewDebug("", utils.GetSelfFuncName(), "conversation", conversation, "not exist in db, create") + return dbConn.Model(&db.Conversation{}).Create(conversation).Error + // if exist, then update record + } else { + log.NewDebug("", utils.GetSelfFuncName(), "conversation", conversation, "exist in db, update") + //force update + return dbConn.Model(conversation).Where("owner_user_id = ? and conversation_id = ?", conversation.OwnerUserID, conversation.ConversationID). + Update(map[string]interface{}{"recv_msg_opt": conversation.RecvMsgOpt}).Error + } +} + func GetUserAllConversations(ownerUserID string) ([]db.Conversation, error) { var conversations []db.Conversation dbConn, err := db.DB.MysqlDB.DefaultGormDB() @@ -330,7 +349,7 @@ func GetConversation(OwnerUserID, conversationID string) (db.Conversation, error return conversation, err } err = dbConn.Model(&db.Conversation{ - OwnerUserID: OwnerUserID, + OwnerUserID: OwnerUserID, ConversationID: conversationID, }).Find(&conversation).Error return conversation, err @@ -344,4 +363,4 @@ func GetConversations(OwnerUserID string, conversationIDs []string) ([]db.Conver } err = dbConn.Model(&db.Conversation{}).Where("conversation_id IN (?) and owner_user_id=?", conversationIDs, OwnerUserID).Find(&conversations).Error return conversations, err -} \ No newline at end of file +} diff --git a/pkg/proto/user/user.pb.go b/pkg/proto/user/user.pb.go index efa105b60..603434dbc 100644 --- a/pkg/proto/user/user.pb.go +++ b/pkg/proto/user/user.pb.go @@ -891,6 +891,124 @@ func (x *SetConversationResp) GetCommonResp() *CommonResp { return nil } +type SetRecvMsgOptReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OwnerUserID string `protobuf:"bytes,1,opt,name=OwnerUserID,proto3" json:"OwnerUserID,omitempty"` + ConversationID string `protobuf:"bytes,2,opt,name=ConversationID,proto3" json:"ConversationID,omitempty"` + RecvMsgOpt int32 `protobuf:"varint,3,opt,name=RecvMsgOpt,proto3" json:"RecvMsgOpt,omitempty"` + OperationID string `protobuf:"bytes,4,opt,name=OperationID,proto3" json:"OperationID,omitempty"` +} + +func (x *SetRecvMsgOptReq) Reset() { + *x = SetRecvMsgOptReq{} + if protoimpl.UnsafeEnabled { + mi := &file_user_user_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetRecvMsgOptReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetRecvMsgOptReq) ProtoMessage() {} + +func (x *SetRecvMsgOptReq) ProtoReflect() protoreflect.Message { + mi := &file_user_user_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetRecvMsgOptReq.ProtoReflect.Descriptor instead. +func (*SetRecvMsgOptReq) Descriptor() ([]byte, []int) { + return file_user_user_proto_rawDescGZIP(), []int{14} +} + +func (x *SetRecvMsgOptReq) GetOwnerUserID() string { + if x != nil { + return x.OwnerUserID + } + return "" +} + +func (x *SetRecvMsgOptReq) GetConversationID() string { + if x != nil { + return x.ConversationID + } + return "" +} + +func (x *SetRecvMsgOptReq) GetRecvMsgOpt() int32 { + if x != nil { + return x.RecvMsgOpt + } + return 0 +} + +func (x *SetRecvMsgOptReq) GetOperationID() string { + if x != nil { + return x.OperationID + } + return "" +} + +type SetRecvMsgOptResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` +} + +func (x *SetRecvMsgOptResp) Reset() { + *x = SetRecvMsgOptResp{} + if protoimpl.UnsafeEnabled { + mi := &file_user_user_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetRecvMsgOptResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetRecvMsgOptResp) ProtoMessage() {} + +func (x *SetRecvMsgOptResp) ProtoReflect() protoreflect.Message { + mi := &file_user_user_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetRecvMsgOptResp.ProtoReflect.Descriptor instead. +func (*SetRecvMsgOptResp) Descriptor() ([]byte, []int) { + return file_user_user_proto_rawDescGZIP(), []int{15} +} + +func (x *SetRecvMsgOptResp) GetCommonResp() *CommonResp { + if x != nil { + return x.CommonResp + } + return nil +} + type GetConversationReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -904,7 +1022,7 @@ type GetConversationReq struct { func (x *GetConversationReq) Reset() { *x = GetConversationReq{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[14] + mi := &file_user_user_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -917,7 +1035,7 @@ func (x *GetConversationReq) String() string { func (*GetConversationReq) ProtoMessage() {} func (x *GetConversationReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[14] + mi := &file_user_user_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -930,7 +1048,7 @@ func (x *GetConversationReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetConversationReq.ProtoReflect.Descriptor instead. func (*GetConversationReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{14} + return file_user_user_proto_rawDescGZIP(), []int{16} } func (x *GetConversationReq) GetConversationID() string { @@ -966,7 +1084,7 @@ type GetConversationResp struct { func (x *GetConversationResp) Reset() { *x = GetConversationResp{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[15] + mi := &file_user_user_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -979,7 +1097,7 @@ func (x *GetConversationResp) String() string { func (*GetConversationResp) ProtoMessage() {} func (x *GetConversationResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[15] + mi := &file_user_user_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -992,7 +1110,7 @@ func (x *GetConversationResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetConversationResp.ProtoReflect.Descriptor instead. func (*GetConversationResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{15} + return file_user_user_proto_rawDescGZIP(), []int{17} } func (x *GetConversationResp) GetCommonResp() *CommonResp { @@ -1022,7 +1140,7 @@ type GetConversationsReq struct { func (x *GetConversationsReq) Reset() { *x = GetConversationsReq{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[16] + mi := &file_user_user_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1035,7 +1153,7 @@ func (x *GetConversationsReq) String() string { func (*GetConversationsReq) ProtoMessage() {} func (x *GetConversationsReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[16] + mi := &file_user_user_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1048,7 +1166,7 @@ func (x *GetConversationsReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetConversationsReq.ProtoReflect.Descriptor instead. func (*GetConversationsReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{16} + return file_user_user_proto_rawDescGZIP(), []int{18} } func (x *GetConversationsReq) GetOwnerUserID() string { @@ -1084,7 +1202,7 @@ type GetConversationsResp struct { func (x *GetConversationsResp) Reset() { *x = GetConversationsResp{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[17] + mi := &file_user_user_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1097,7 +1215,7 @@ func (x *GetConversationsResp) String() string { func (*GetConversationsResp) ProtoMessage() {} func (x *GetConversationsResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[17] + mi := &file_user_user_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1110,7 +1228,7 @@ func (x *GetConversationsResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetConversationsResp.ProtoReflect.Descriptor instead. func (*GetConversationsResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{17} + return file_user_user_proto_rawDescGZIP(), []int{19} } func (x *GetConversationsResp) GetCommonResp() *CommonResp { @@ -1139,7 +1257,7 @@ type GetAllConversationsReq struct { func (x *GetAllConversationsReq) Reset() { *x = GetAllConversationsReq{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[18] + mi := &file_user_user_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1152,7 +1270,7 @@ func (x *GetAllConversationsReq) String() string { func (*GetAllConversationsReq) ProtoMessage() {} func (x *GetAllConversationsReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[18] + mi := &file_user_user_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1165,7 +1283,7 @@ func (x *GetAllConversationsReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAllConversationsReq.ProtoReflect.Descriptor instead. func (*GetAllConversationsReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{18} + return file_user_user_proto_rawDescGZIP(), []int{20} } func (x *GetAllConversationsReq) GetOwnerUserID() string { @@ -1194,7 +1312,7 @@ type GetAllConversationsResp struct { func (x *GetAllConversationsResp) Reset() { *x = GetAllConversationsResp{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[19] + mi := &file_user_user_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1207,7 +1325,7 @@ func (x *GetAllConversationsResp) String() string { func (*GetAllConversationsResp) ProtoMessage() {} func (x *GetAllConversationsResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[19] + mi := &file_user_user_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1220,7 +1338,7 @@ func (x *GetAllConversationsResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAllConversationsResp.ProtoReflect.Descriptor instead. func (*GetAllConversationsResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{19} + return file_user_user_proto_rawDescGZIP(), []int{21} } func (x *GetAllConversationsResp) GetCommonResp() *CommonResp { @@ -1250,7 +1368,7 @@ type BatchSetConversationsReq struct { func (x *BatchSetConversationsReq) Reset() { *x = BatchSetConversationsReq{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[20] + mi := &file_user_user_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1263,7 +1381,7 @@ func (x *BatchSetConversationsReq) String() string { func (*BatchSetConversationsReq) ProtoMessage() {} func (x *BatchSetConversationsReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[20] + mi := &file_user_user_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1276,7 +1394,7 @@ func (x *BatchSetConversationsReq) ProtoReflect() protoreflect.Message { // Deprecated: Use BatchSetConversationsReq.ProtoReflect.Descriptor instead. func (*BatchSetConversationsReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{20} + return file_user_user_proto_rawDescGZIP(), []int{22} } func (x *BatchSetConversationsReq) GetConversations() []*Conversation { @@ -1313,7 +1431,7 @@ type BatchSetConversationsResp struct { func (x *BatchSetConversationsResp) Reset() { *x = BatchSetConversationsResp{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[21] + mi := &file_user_user_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1326,7 +1444,7 @@ func (x *BatchSetConversationsResp) String() string { func (*BatchSetConversationsResp) ProtoMessage() {} func (x *BatchSetConversationsResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[21] + mi := &file_user_user_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1339,7 +1457,7 @@ func (x *BatchSetConversationsResp) ProtoReflect() protoreflect.Message { // Deprecated: Use BatchSetConversationsResp.ProtoReflect.Descriptor instead. func (*BatchSetConversationsResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{21} + return file_user_user_proto_rawDescGZIP(), []int{23} } func (x *BatchSetConversationsResp) GetCommonResp() *CommonResp { @@ -1375,7 +1493,7 @@ type ResignUserReq struct { func (x *ResignUserReq) Reset() { *x = ResignUserReq{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[22] + mi := &file_user_user_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1388,7 +1506,7 @@ func (x *ResignUserReq) String() string { func (*ResignUserReq) ProtoMessage() {} func (x *ResignUserReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[22] + mi := &file_user_user_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1401,7 +1519,7 @@ func (x *ResignUserReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ResignUserReq.ProtoReflect.Descriptor instead. func (*ResignUserReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{22} + return file_user_user_proto_rawDescGZIP(), []int{24} } func (x *ResignUserReq) GetUserId() string { @@ -1429,7 +1547,7 @@ type ResignUserResp struct { func (x *ResignUserResp) Reset() { *x = ResignUserResp{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[23] + mi := &file_user_user_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1442,7 +1560,7 @@ func (x *ResignUserResp) String() string { func (*ResignUserResp) ProtoMessage() {} func (x *ResignUserResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[23] + mi := &file_user_user_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1455,7 +1573,7 @@ func (x *ResignUserResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ResignUserResp.ProtoReflect.Descriptor instead. func (*ResignUserResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{23} + return file_user_user_proto_rawDescGZIP(), []int{25} } func (x *ResignUserResp) GetCommonResp() *CommonResp { @@ -1477,7 +1595,7 @@ type GetUserByIdReq struct { func (x *GetUserByIdReq) Reset() { *x = GetUserByIdReq{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[24] + mi := &file_user_user_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1490,7 +1608,7 @@ func (x *GetUserByIdReq) String() string { func (*GetUserByIdReq) ProtoMessage() {} func (x *GetUserByIdReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[24] + mi := &file_user_user_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1503,7 +1621,7 @@ func (x *GetUserByIdReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUserByIdReq.ProtoReflect.Descriptor instead. func (*GetUserByIdReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{24} + return file_user_user_proto_rawDescGZIP(), []int{26} } func (x *GetUserByIdReq) GetUserId() string { @@ -1535,7 +1653,7 @@ type User struct { func (x *User) Reset() { *x = User{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[25] + mi := &file_user_user_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1548,7 +1666,7 @@ func (x *User) String() string { func (*User) ProtoMessage() {} func (x *User) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[25] + mi := &file_user_user_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1561,7 +1679,7 @@ func (x *User) ProtoReflect() protoreflect.Message { // Deprecated: Use User.ProtoReflect.Descriptor instead. func (*User) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{25} + return file_user_user_proto_rawDescGZIP(), []int{27} } func (x *User) GetProfilePhoto() string { @@ -1611,7 +1729,7 @@ type GetUserByIdResp struct { func (x *GetUserByIdResp) Reset() { *x = GetUserByIdResp{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[26] + mi := &file_user_user_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1624,7 +1742,7 @@ func (x *GetUserByIdResp) String() string { func (*GetUserByIdResp) ProtoMessage() {} func (x *GetUserByIdResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[26] + mi := &file_user_user_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1637,7 +1755,7 @@ func (x *GetUserByIdResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUserByIdResp.ProtoReflect.Descriptor instead. func (*GetUserByIdResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{26} + return file_user_user_proto_rawDescGZIP(), []int{28} } func (x *GetUserByIdResp) GetCommonResp() *CommonResp { @@ -1667,7 +1785,7 @@ type GetUsersByNameReq struct { func (x *GetUsersByNameReq) Reset() { *x = GetUsersByNameReq{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[27] + mi := &file_user_user_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1680,7 +1798,7 @@ func (x *GetUsersByNameReq) String() string { func (*GetUsersByNameReq) ProtoMessage() {} func (x *GetUsersByNameReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[27] + mi := &file_user_user_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1693,7 +1811,7 @@ func (x *GetUsersByNameReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUsersByNameReq.ProtoReflect.Descriptor instead. func (*GetUsersByNameReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{27} + return file_user_user_proto_rawDescGZIP(), []int{29} } func (x *GetUsersByNameReq) GetUserName() string { @@ -1730,7 +1848,7 @@ type GetUsersByNameResp struct { func (x *GetUsersByNameResp) Reset() { *x = GetUsersByNameResp{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[28] + mi := &file_user_user_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1743,7 +1861,7 @@ func (x *GetUsersByNameResp) String() string { func (*GetUsersByNameResp) ProtoMessage() {} func (x *GetUsersByNameResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[28] + mi := &file_user_user_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1756,7 +1874,7 @@ func (x *GetUsersByNameResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUsersByNameResp.ProtoReflect.Descriptor instead. func (*GetUsersByNameResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{28} + return file_user_user_proto_rawDescGZIP(), []int{30} } func (x *GetUsersByNameResp) GetUsers() []*User { @@ -1796,7 +1914,7 @@ type AlterUserReq struct { func (x *AlterUserReq) Reset() { *x = AlterUserReq{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[29] + mi := &file_user_user_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1809,7 +1927,7 @@ func (x *AlterUserReq) String() string { func (*AlterUserReq) ProtoMessage() {} func (x *AlterUserReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[29] + mi := &file_user_user_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1822,7 +1940,7 @@ func (x *AlterUserReq) ProtoReflect() protoreflect.Message { // Deprecated: Use AlterUserReq.ProtoReflect.Descriptor instead. func (*AlterUserReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{29} + return file_user_user_proto_rawDescGZIP(), []int{31} } func (x *AlterUserReq) GetUserId() string { @@ -1878,7 +1996,7 @@ type AlterUserResp struct { func (x *AlterUserResp) Reset() { *x = AlterUserResp{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[30] + mi := &file_user_user_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1891,7 +2009,7 @@ func (x *AlterUserResp) String() string { func (*AlterUserResp) ProtoMessage() {} func (x *AlterUserResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[30] + mi := &file_user_user_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1904,7 +2022,7 @@ func (x *AlterUserResp) ProtoReflect() protoreflect.Message { // Deprecated: Use AlterUserResp.ProtoReflect.Descriptor instead. func (*AlterUserResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{30} + return file_user_user_proto_rawDescGZIP(), []int{32} } func (x *AlterUserResp) GetCommonResp() *CommonResp { @@ -1927,7 +2045,7 @@ type GetUsersReq struct { func (x *GetUsersReq) Reset() { *x = GetUsersReq{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[31] + mi := &file_user_user_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1940,7 +2058,7 @@ func (x *GetUsersReq) String() string { func (*GetUsersReq) ProtoMessage() {} func (x *GetUsersReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[31] + mi := &file_user_user_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1953,7 +2071,7 @@ func (x *GetUsersReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUsersReq.ProtoReflect.Descriptor instead. func (*GetUsersReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{31} + return file_user_user_proto_rawDescGZIP(), []int{33} } func (x *GetUsersReq) GetOperationID() string { @@ -1991,7 +2109,7 @@ type GetUsersResp struct { func (x *GetUsersResp) Reset() { *x = GetUsersResp{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[32] + mi := &file_user_user_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2004,7 +2122,7 @@ func (x *GetUsersResp) String() string { func (*GetUsersResp) ProtoMessage() {} func (x *GetUsersResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[32] + mi := &file_user_user_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2017,7 +2135,7 @@ func (x *GetUsersResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUsersResp.ProtoReflect.Descriptor instead. func (*GetUsersResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{32} + return file_user_user_proto_rawDescGZIP(), []int{34} } func (x *GetUsersResp) GetCommonResp() *CommonResp { @@ -2063,7 +2181,7 @@ type AddUserReq struct { func (x *AddUserReq) Reset() { *x = AddUserReq{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[33] + mi := &file_user_user_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2076,7 +2194,7 @@ func (x *AddUserReq) String() string { func (*AddUserReq) ProtoMessage() {} func (x *AddUserReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[33] + mi := &file_user_user_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2089,7 +2207,7 @@ func (x *AddUserReq) ProtoReflect() protoreflect.Message { // Deprecated: Use AddUserReq.ProtoReflect.Descriptor instead. func (*AddUserReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{33} + return file_user_user_proto_rawDescGZIP(), []int{35} } func (x *AddUserReq) GetOperationID() string { @@ -2138,7 +2256,7 @@ type AddUserResp struct { func (x *AddUserResp) Reset() { *x = AddUserResp{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[34] + mi := &file_user_user_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2151,7 +2269,7 @@ func (x *AddUserResp) String() string { func (*AddUserResp) ProtoMessage() {} func (x *AddUserResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[34] + mi := &file_user_user_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2164,7 +2282,7 @@ func (x *AddUserResp) ProtoReflect() protoreflect.Message { // Deprecated: Use AddUserResp.ProtoReflect.Descriptor instead. func (*AddUserResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{34} + return file_user_user_proto_rawDescGZIP(), []int{36} } func (x *AddUserResp) GetCommonResp() *CommonResp { @@ -2188,7 +2306,7 @@ type BlockUserReq struct { func (x *BlockUserReq) Reset() { *x = BlockUserReq{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[35] + mi := &file_user_user_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2201,7 +2319,7 @@ func (x *BlockUserReq) String() string { func (*BlockUserReq) ProtoMessage() {} func (x *BlockUserReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[35] + mi := &file_user_user_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2214,7 +2332,7 @@ func (x *BlockUserReq) ProtoReflect() protoreflect.Message { // Deprecated: Use BlockUserReq.ProtoReflect.Descriptor instead. func (*BlockUserReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{35} + return file_user_user_proto_rawDescGZIP(), []int{37} } func (x *BlockUserReq) GetUserId() string { @@ -2256,7 +2374,7 @@ type BlockUserResp struct { func (x *BlockUserResp) Reset() { *x = BlockUserResp{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[36] + mi := &file_user_user_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2269,7 +2387,7 @@ func (x *BlockUserResp) String() string { func (*BlockUserResp) ProtoMessage() {} func (x *BlockUserResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[36] + mi := &file_user_user_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2282,7 +2400,7 @@ func (x *BlockUserResp) ProtoReflect() protoreflect.Message { // Deprecated: Use BlockUserResp.ProtoReflect.Descriptor instead. func (*BlockUserResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{36} + return file_user_user_proto_rawDescGZIP(), []int{38} } func (x *BlockUserResp) GetCommonResp() *CommonResp { @@ -2305,7 +2423,7 @@ type UnBlockUserReq struct { func (x *UnBlockUserReq) Reset() { *x = UnBlockUserReq{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[37] + mi := &file_user_user_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2318,7 +2436,7 @@ func (x *UnBlockUserReq) String() string { func (*UnBlockUserReq) ProtoMessage() {} func (x *UnBlockUserReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[37] + mi := &file_user_user_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2331,7 +2449,7 @@ func (x *UnBlockUserReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UnBlockUserReq.ProtoReflect.Descriptor instead. func (*UnBlockUserReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{37} + return file_user_user_proto_rawDescGZIP(), []int{39} } func (x *UnBlockUserReq) GetUserId() string { @@ -2366,7 +2484,7 @@ type UnBlockUserResp struct { func (x *UnBlockUserResp) Reset() { *x = UnBlockUserResp{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[38] + mi := &file_user_user_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2379,7 +2497,7 @@ func (x *UnBlockUserResp) String() string { func (*UnBlockUserResp) ProtoMessage() {} func (x *UnBlockUserResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[38] + mi := &file_user_user_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2392,7 +2510,7 @@ func (x *UnBlockUserResp) ProtoReflect() protoreflect.Message { // Deprecated: Use UnBlockUserResp.ProtoReflect.Descriptor instead. func (*UnBlockUserResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{38} + return file_user_user_proto_rawDescGZIP(), []int{40} } func (x *UnBlockUserResp) GetCommonResp() *CommonResp { @@ -2415,7 +2533,7 @@ type GetBlockUsersReq struct { func (x *GetBlockUsersReq) Reset() { *x = GetBlockUsersReq{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[39] + mi := &file_user_user_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2428,7 +2546,7 @@ func (x *GetBlockUsersReq) String() string { func (*GetBlockUsersReq) ProtoMessage() {} func (x *GetBlockUsersReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[39] + mi := &file_user_user_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2441,7 +2559,7 @@ func (x *GetBlockUsersReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBlockUsersReq.ProtoReflect.Descriptor instead. func (*GetBlockUsersReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{39} + return file_user_user_proto_rawDescGZIP(), []int{41} } func (x *GetBlockUsersReq) GetPagination() *sdk_ws.RequestPagination { @@ -2478,7 +2596,7 @@ type BlockUser struct { func (x *BlockUser) Reset() { *x = BlockUser{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[40] + mi := &file_user_user_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2491,7 +2609,7 @@ func (x *BlockUser) String() string { func (*BlockUser) ProtoMessage() {} func (x *BlockUser) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[40] + mi := &file_user_user_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2504,7 +2622,7 @@ func (x *BlockUser) ProtoReflect() protoreflect.Message { // Deprecated: Use BlockUser.ProtoReflect.Descriptor instead. func (*BlockUser) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{40} + return file_user_user_proto_rawDescGZIP(), []int{42} } func (x *BlockUser) GetUser() *User { @@ -2542,7 +2660,7 @@ type GetBlockUsersResp struct { func (x *GetBlockUsersResp) Reset() { *x = GetBlockUsersResp{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[41] + mi := &file_user_user_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2555,7 +2673,7 @@ func (x *GetBlockUsersResp) String() string { func (*GetBlockUsersResp) ProtoMessage() {} func (x *GetBlockUsersResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[41] + mi := &file_user_user_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2568,7 +2686,7 @@ func (x *GetBlockUsersResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBlockUsersResp.ProtoReflect.Descriptor instead. func (*GetBlockUsersResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{41} + return file_user_user_proto_rawDescGZIP(), []int{43} } func (x *GetBlockUsersResp) GetCommonResp() *CommonResp { @@ -2611,7 +2729,7 @@ type GetBlockUserByIdReq struct { func (x *GetBlockUserByIdReq) Reset() { *x = GetBlockUserByIdReq{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[42] + mi := &file_user_user_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2624,7 +2742,7 @@ func (x *GetBlockUserByIdReq) String() string { func (*GetBlockUserByIdReq) ProtoMessage() {} func (x *GetBlockUserByIdReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[42] + mi := &file_user_user_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2637,7 +2755,7 @@ func (x *GetBlockUserByIdReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBlockUserByIdReq.ProtoReflect.Descriptor instead. func (*GetBlockUserByIdReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{42} + return file_user_user_proto_rawDescGZIP(), []int{44} } func (x *GetBlockUserByIdReq) GetUserId() string { @@ -2665,7 +2783,7 @@ type GetBlockUserByIdResp struct { func (x *GetBlockUserByIdResp) Reset() { *x = GetBlockUserByIdResp{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[43] + mi := &file_user_user_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2678,7 +2796,7 @@ func (x *GetBlockUserByIdResp) String() string { func (*GetBlockUserByIdResp) ProtoMessage() {} func (x *GetBlockUserByIdResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[43] + mi := &file_user_user_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2691,7 +2809,7 @@ func (x *GetBlockUserByIdResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBlockUserByIdResp.ProtoReflect.Descriptor instead. func (*GetBlockUserByIdResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{43} + return file_user_user_proto_rawDescGZIP(), []int{45} } func (x *GetBlockUserByIdResp) GetBlockUser() *BlockUser { @@ -2714,7 +2832,7 @@ type DeleteUserReq struct { func (x *DeleteUserReq) Reset() { *x = DeleteUserReq{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[44] + mi := &file_user_user_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2727,7 +2845,7 @@ func (x *DeleteUserReq) String() string { func (*DeleteUserReq) ProtoMessage() {} func (x *DeleteUserReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[44] + mi := &file_user_user_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2740,7 +2858,7 @@ func (x *DeleteUserReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteUserReq.ProtoReflect.Descriptor instead. func (*DeleteUserReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{44} + return file_user_user_proto_rawDescGZIP(), []int{46} } func (x *DeleteUserReq) GetUserId() string { @@ -2775,7 +2893,7 @@ type DeleteUserResp struct { func (x *DeleteUserResp) Reset() { *x = DeleteUserResp{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[45] + mi := &file_user_user_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2788,7 +2906,7 @@ func (x *DeleteUserResp) String() string { func (*DeleteUserResp) ProtoMessage() {} func (x *DeleteUserResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[45] + mi := &file_user_user_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2801,7 +2919,7 @@ func (x *DeleteUserResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteUserResp.ProtoReflect.Descriptor instead. func (*DeleteUserResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{45} + return file_user_user_proto_rawDescGZIP(), []int{47} } func (x *DeleteUserResp) GetCommonResp() *CommonResp { @@ -2823,7 +2941,7 @@ type AccountCheckResp_SingleUserStatus struct { func (x *AccountCheckResp_SingleUserStatus) Reset() { *x = AccountCheckResp_SingleUserStatus{} if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[46] + mi := &file_user_user_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2836,7 +2954,7 @@ func (x *AccountCheckResp_SingleUserStatus) String() string { func (*AccountCheckResp_SingleUserStatus) ProtoMessage() {} func (x *AccountCheckResp_SingleUserStatus) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[46] + mi := &file_user_user_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2990,335 +3108,354 @@ var file_user_user_proto_rawDesc = []byte{ 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x80, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x26, + 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x9e, 0x01, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x52, + 0x65, 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, + 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x77, 0x6e, - 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x7f, 0x0a, 0x13, 0x47, 0x65, - 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, - 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x43, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x01, 0x0a, 0x13, - 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, - 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x73, 0x12, - 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x44, 0x22, 0x82, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, - 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x38, 0x0a, 0x0d, - 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x5c, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, - 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x85, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x30, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x38, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, - 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x43, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x98, 0x01, 0x0a, - 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x12, 0x38, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x7f, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, - 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x12, 0x16, 0x0a, 0x06, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x06, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x22, 0x49, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x69, - 0x67, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x44, 0x22, 0x42, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, - 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x4a, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x44, 0x22, 0x98, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, - 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x68, 0x6f, 0x74, 0x6f, - 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x49, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x63, - 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0a, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, - 0x73, 0x65, 0x72, 0x22, 0x97, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, - 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, - 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, 0x73, 0x65, - 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x99, 0x01, - 0x0a, 0x12, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, - 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x73, 0x22, 0xb8, 0x01, 0x0a, 0x0c, 0x41, 0x6c, - 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x50, 0x68, 0x6f, 0x6e, 0x65, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x22, 0x41, 0x0a, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, - 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x91, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x44, 0x0a, 0x0a, 0x50, 0x61, 0x67, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xc3, 0x01, 0x0a, 0x0c, - 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, - 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x73, + 0x67, 0x4f, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x52, 0x65, 0x63, 0x76, + 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x45, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x52, + 0x65, 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, + 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, + 0x80, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x20, + 0x0a, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, + 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x44, 0x22, 0x7f, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, + 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, + 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x0c, 0x43, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, + 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x28, 0x0a, + 0x0f, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x82, 0x01, 0x0a, 0x14, 0x47, 0x65, + 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x38, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x75, 0x73, + 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x0d, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x5c, + 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x77, 0x6e, 0x65, + 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, + 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x85, 0x01, 0x0a, + 0x17, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, + 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x38, 0x0a, 0x0d, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, + 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x12, 0x38, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, + 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x4f, + 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, + 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, + 0x7f, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, - 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x75, - 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x45, - 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, + 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x46, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, + 0x22, 0x49, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x42, 0x0a, 0x0e, 0x52, + 0x65, 0x73, 0x69, 0x67, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, + 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, + 0x4a, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, + 0x71, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x98, 0x01, 0x0a, 0x04, + 0x55, 0x73, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, + 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4e, 0x69, 0x63, 0x6b, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x49, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x49, + 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x63, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, + 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, + 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, + 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x75, + 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x75, 0x73, 0x65, 0x72, + 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x97, 0x01, 0x0a, 0x11, + 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, + 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, + 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x99, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, + 0x72, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x05, + 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x75, 0x73, + 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x45, + 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, - 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, - 0x73, 0x22, 0x98, 0x01, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x3f, 0x0a, 0x0b, - 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x43, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x8c, 0x01, - 0x0a, 0x0c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x16, - 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x6e, 0x64, 0x44, 0x69, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x45, 0x6e, 0x64, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, - 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, - 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, + 0x73, 0x22, 0xb8, 0x01, 0x0a, 0x0c, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, + 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0b, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, + 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x6d, + 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, + 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x41, 0x0a, 0x0d, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, + 0x41, 0x6c, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, - 0x66, 0x0a, 0x0e, 0x55, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, - 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, - 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x0f, 0x55, 0x6e, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, - 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x9e, 0x01, 0x0a, - 0x10, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, - 0x71, 0x12, 0x44, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, + 0x91, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, + 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x44, 0x12, 0x44, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x50, 0x61, 0x67, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x22, 0x7f, 0x0a, - 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x04, 0x55, 0x73, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x42, 0x65, - 0x67, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x61, 0x62, - 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x6e, 0x64, 0x44, 0x69, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x45, 0x6e, 0x64, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xd9, - 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x73, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, + 0x61, 0x6d, 0x65, 0x22, 0xc3, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2f, 0x0a, 0x0a, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, - 0x73, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x75, 0x73, 0x65, - 0x72, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x0a, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, - 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x73, 0x22, 0x50, 0x0a, 0x13, 0x47, 0x65, - 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, - 0x71, 0x12, 0x17, 0x0a, 0x07, 0x55, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x45, 0x0a, 0x14, - 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, - 0x73, 0x65, 0x72, 0x22, 0x66, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x55, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, - 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, - 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x42, 0x0a, 0x0e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, - 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x32, - 0xd5, 0x0a, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, - 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, - 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, - 0x18, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x0b, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x15, - 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x15, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, - 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x75, - 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x0c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x12, 0x15, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x75, 0x73, - 0x65, 0x72, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, - 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x1a, 0x19, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x13, 0x47, - 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x1c, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, - 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x1a, 0x1d, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x49, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x19, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1a, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, + 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, + 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x0a, 0x41, 0x64, + 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x68, + 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, + 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x22, 0x3f, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x8c, 0x01, 0x0a, 0x0c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, + 0x0a, 0x0e, 0x45, 0x6e, 0x64, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x45, 0x6e, 0x64, 0x44, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x22, 0x41, 0x0a, 0x0d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, + 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x66, 0x0a, 0x0e, 0x55, 0x6e, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, + 0x43, 0x0a, 0x0f, 0x55, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x22, 0x9e, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x44, 0x0a, 0x0a, 0x50, 0x61, 0x67, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, + 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, + 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x22, 0x7f, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, + 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0a, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x55, 0x73, + 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x42, 0x65, + 0x67, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, + 0x0a, 0x0e, 0x45, 0x6e, 0x64, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x45, 0x6e, 0x64, 0x44, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xd9, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2f, + 0x0a, 0x0a, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x0a, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, + 0x45, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x50, 0x61, 0x67, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, + 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, + 0x6d, 0x73, 0x22, 0x50, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, + 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x55, 0x73, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x45, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x09, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0f, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, + 0x52, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x22, 0x66, 0x0a, 0x0d, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, + 0x55, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x22, 0x42, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, + 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x32, 0x97, 0x0b, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, + 0x12, 0x3a, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x0e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, + 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x3a, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x73, + 0x12, 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a, + 0x0c, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x15, 0x2e, + 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x44, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x41, + 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x0c, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x15, 0x2e, 0x75, + 0x73, 0x65, 0x72, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0f, 0x47, + 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x15, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x53, - 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x1a, 0x19, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x0b, - 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x12, 0x14, 0x2e, 0x75, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, + 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1c, 0x2e, 0x75, 0x73, 0x65, + 0x72, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, + 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x19, 0x2e, 0x75, 0x73, + 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, + 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x58, 0x0a, 0x15, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x2e, 0x75, 0x73, + 0x65, 0x72, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x75, 0x73, + 0x65, 0x72, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0f, + 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x18, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x75, 0x73, 0x65, 0x72, + 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x40, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x52, 0x65, 0x63, 0x76, 0x4d, + 0x73, 0x67, 0x4f, 0x70, 0x74, 0x12, 0x16, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, + 0x52, 0x65, 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, + 0x75, 0x73, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, + 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, + 0x72, 0x42, 0x79, 0x49, 0x64, 0x12, 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, - 0x71, 0x1a, 0x15, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, - 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x2e, 0x75, 0x73, 0x65, - 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, - 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x37, 0x0a, - 0x0a, 0x52, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x12, 0x13, 0x2e, 0x75, 0x73, - 0x65, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x1a, 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x34, 0x0a, 0x09, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x55, - 0x73, 0x65, 0x72, 0x12, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, - 0x6c, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x08, - 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x11, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, - 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x75, 0x73, - 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x2e, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x12, 0x10, 0x2e, 0x75, 0x73, 0x65, - 0x72, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x75, - 0x73, 0x65, 0x72, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x34, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x12, 0x12, 0x2e, 0x75, - 0x73, 0x65, 0x72, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x1a, 0x13, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x0b, 0x55, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x55, 0x73, 0x65, 0x72, 0x12, 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x6e, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x75, 0x73, 0x65, - 0x72, 0x2e, 0x55, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x40, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, - 0x72, 0x73, 0x12, 0x16, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x75, 0x73, 0x65, - 0x72, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, - 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x12, 0x19, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, - 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, - 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x37, - 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x13, 0x2e, 0x75, - 0x73, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x1a, 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0d, 0x5a, 0x0b, 0x2e, 0x2f, 0x75, 0x73, 0x65, - 0x72, 0x3b, 0x75, 0x73, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x70, 0x12, 0x43, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, + 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, + 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4e, + 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x37, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x69, 0x67, + 0x6e, 0x55, 0x73, 0x65, 0x72, 0x12, 0x13, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x73, + 0x69, 0x67, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x75, 0x73, 0x65, + 0x72, 0x2e, 0x52, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x34, 0x0a, 0x09, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x12, 0x2e, + 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x1a, 0x13, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x55, 0x73, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, + 0x72, 0x73, 0x12, 0x11, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x07, 0x41, 0x64, 0x64, + 0x55, 0x73, 0x65, 0x72, 0x12, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, 0x64, 0x64, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, 0x64, + 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x34, 0x0a, 0x09, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x12, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x75, 0x73, 0x65, + 0x72, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x3a, 0x0a, 0x0b, 0x55, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x12, 0x14, + 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x6e, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x40, 0x0a, 0x0d, 0x47, + 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x75, + 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, + 0x10, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, + 0x64, 0x12, 0x19, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x75, + 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, + 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x37, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x13, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x75, 0x73, + 0x65, 0x72, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x42, 0x0d, 0x5a, 0x0b, 0x2e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x3b, 0x75, 0x73, 0x65, 0x72, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3333,7 +3470,7 @@ func file_user_user_proto_rawDescGZIP() []byte { return file_user_user_proto_rawDescData } -var file_user_user_proto_msgTypes = make([]protoimpl.MessageInfo, 47) +var file_user_user_proto_msgTypes = make([]protoimpl.MessageInfo, 49) var file_user_user_proto_goTypes = []interface{}{ (*CommonResp)(nil), // 0: user.CommonResp (*DeleteUsersReq)(nil), // 1: user.DeleteUsersReq @@ -3349,130 +3486,135 @@ var file_user_user_proto_goTypes = []interface{}{ (*Conversation)(nil), // 11: user.Conversation (*SetConversationReq)(nil), // 12: user.SetConversationReq (*SetConversationResp)(nil), // 13: user.SetConversationResp - (*GetConversationReq)(nil), // 14: user.GetConversationReq - (*GetConversationResp)(nil), // 15: user.GetConversationResp - (*GetConversationsReq)(nil), // 16: user.GetConversationsReq - (*GetConversationsResp)(nil), // 17: user.GetConversationsResp - (*GetAllConversationsReq)(nil), // 18: user.GetAllConversationsReq - (*GetAllConversationsResp)(nil), // 19: user.GetAllConversationsResp - (*BatchSetConversationsReq)(nil), // 20: user.BatchSetConversationsReq - (*BatchSetConversationsResp)(nil), // 21: user.BatchSetConversationsResp - (*ResignUserReq)(nil), // 22: user.ResignUserReq - (*ResignUserResp)(nil), // 23: user.ResignUserResp - (*GetUserByIdReq)(nil), // 24: user.GetUserByIdReq - (*User)(nil), // 25: user.User - (*GetUserByIdResp)(nil), // 26: user.GetUserByIdResp - (*GetUsersByNameReq)(nil), // 27: user.GetUsersByNameReq - (*GetUsersByNameResp)(nil), // 28: user.GetUsersByNameResp - (*AlterUserReq)(nil), // 29: user.AlterUserReq - (*AlterUserResp)(nil), // 30: user.AlterUserResp - (*GetUsersReq)(nil), // 31: user.GetUsersReq - (*GetUsersResp)(nil), // 32: user.GetUsersResp - (*AddUserReq)(nil), // 33: user.AddUserReq - (*AddUserResp)(nil), // 34: user.AddUserResp - (*BlockUserReq)(nil), // 35: user.BlockUserReq - (*BlockUserResp)(nil), // 36: user.BlockUserResp - (*UnBlockUserReq)(nil), // 37: user.UnBlockUserReq - (*UnBlockUserResp)(nil), // 38: user.UnBlockUserResp - (*GetBlockUsersReq)(nil), // 39: user.GetBlockUsersReq - (*BlockUser)(nil), // 40: user.BlockUser - (*GetBlockUsersResp)(nil), // 41: user.GetBlockUsersResp - (*GetBlockUserByIdReq)(nil), // 42: user.GetBlockUserByIdReq - (*GetBlockUserByIdResp)(nil), // 43: user.GetBlockUserByIdResp - (*DeleteUserReq)(nil), // 44: user.DeleteUserReq - (*DeleteUserResp)(nil), // 45: user.DeleteUserResp - (*AccountCheckResp_SingleUserStatus)(nil), // 46: user.AccountCheckResp.SingleUserStatus - (*sdk_ws.UserInfo)(nil), // 47: server_api_params.UserInfo - (*sdk_ws.RequestPagination)(nil), // 48: server_api_params.RequestPagination - (*sdk_ws.ResponsePagination)(nil), // 49: server_api_params.ResponsePagination + (*SetRecvMsgOptReq)(nil), // 14: user.SetRecvMsgOptReq + (*SetRecvMsgOptResp)(nil), // 15: user.SetRecvMsgOptResp + (*GetConversationReq)(nil), // 16: user.GetConversationReq + (*GetConversationResp)(nil), // 17: user.GetConversationResp + (*GetConversationsReq)(nil), // 18: user.GetConversationsReq + (*GetConversationsResp)(nil), // 19: user.GetConversationsResp + (*GetAllConversationsReq)(nil), // 20: user.GetAllConversationsReq + (*GetAllConversationsResp)(nil), // 21: user.GetAllConversationsResp + (*BatchSetConversationsReq)(nil), // 22: user.BatchSetConversationsReq + (*BatchSetConversationsResp)(nil), // 23: user.BatchSetConversationsResp + (*ResignUserReq)(nil), // 24: user.ResignUserReq + (*ResignUserResp)(nil), // 25: user.ResignUserResp + (*GetUserByIdReq)(nil), // 26: user.GetUserByIdReq + (*User)(nil), // 27: user.User + (*GetUserByIdResp)(nil), // 28: user.GetUserByIdResp + (*GetUsersByNameReq)(nil), // 29: user.GetUsersByNameReq + (*GetUsersByNameResp)(nil), // 30: user.GetUsersByNameResp + (*AlterUserReq)(nil), // 31: user.AlterUserReq + (*AlterUserResp)(nil), // 32: user.AlterUserResp + (*GetUsersReq)(nil), // 33: user.GetUsersReq + (*GetUsersResp)(nil), // 34: user.GetUsersResp + (*AddUserReq)(nil), // 35: user.AddUserReq + (*AddUserResp)(nil), // 36: user.AddUserResp + (*BlockUserReq)(nil), // 37: user.BlockUserReq + (*BlockUserResp)(nil), // 38: user.BlockUserResp + (*UnBlockUserReq)(nil), // 39: user.UnBlockUserReq + (*UnBlockUserResp)(nil), // 40: user.UnBlockUserResp + (*GetBlockUsersReq)(nil), // 41: user.GetBlockUsersReq + (*BlockUser)(nil), // 42: user.BlockUser + (*GetBlockUsersResp)(nil), // 43: user.GetBlockUsersResp + (*GetBlockUserByIdReq)(nil), // 44: user.GetBlockUserByIdReq + (*GetBlockUserByIdResp)(nil), // 45: user.GetBlockUserByIdResp + (*DeleteUserReq)(nil), // 46: user.DeleteUserReq + (*DeleteUserResp)(nil), // 47: user.DeleteUserResp + (*AccountCheckResp_SingleUserStatus)(nil), // 48: user.AccountCheckResp.SingleUserStatus + (*sdk_ws.UserInfo)(nil), // 49: server_api_params.UserInfo + (*sdk_ws.RequestPagination)(nil), // 50: server_api_params.RequestPagination + (*sdk_ws.ResponsePagination)(nil), // 51: server_api_params.ResponsePagination } var file_user_user_proto_depIdxs = []int32{ 0, // 0: user.DeleteUsersResp.CommonResp:type_name -> user.CommonResp 0, // 1: user.GetAllUserIDResp.CommonResp:type_name -> user.CommonResp 0, // 2: user.AccountCheckResp.commonResp:type_name -> user.CommonResp - 46, // 3: user.AccountCheckResp.ResultList:type_name -> user.AccountCheckResp.SingleUserStatus + 48, // 3: user.AccountCheckResp.ResultList:type_name -> user.AccountCheckResp.SingleUserStatus 0, // 4: user.GetUserInfoResp.commonResp:type_name -> user.CommonResp - 47, // 5: user.GetUserInfoResp.UserInfoList:type_name -> server_api_params.UserInfo - 47, // 6: user.UpdateUserInfoReq.UserInfo:type_name -> server_api_params.UserInfo + 49, // 5: user.GetUserInfoResp.UserInfoList:type_name -> server_api_params.UserInfo + 49, // 6: user.UpdateUserInfoReq.UserInfo:type_name -> server_api_params.UserInfo 0, // 7: user.UpdateUserInfoResp.commonResp:type_name -> user.CommonResp 11, // 8: user.SetConversationReq.Conversation:type_name -> user.Conversation 0, // 9: user.SetConversationResp.commonResp:type_name -> user.CommonResp - 0, // 10: user.GetConversationResp.commonResp:type_name -> user.CommonResp - 11, // 11: user.GetConversationResp.Conversation:type_name -> user.Conversation - 0, // 12: user.GetConversationsResp.commonResp:type_name -> user.CommonResp - 11, // 13: user.GetConversationsResp.Conversations:type_name -> user.Conversation - 0, // 14: user.GetAllConversationsResp.commonResp:type_name -> user.CommonResp - 11, // 15: user.GetAllConversationsResp.Conversations:type_name -> user.Conversation - 11, // 16: user.BatchSetConversationsReq.Conversations:type_name -> user.Conversation - 0, // 17: user.BatchSetConversationsResp.commonResp:type_name -> user.CommonResp - 0, // 18: user.ResignUserResp.commonResp:type_name -> user.CommonResp - 0, // 19: user.GetUserByIdResp.CommonResp:type_name -> user.CommonResp - 25, // 20: user.GetUserByIdResp.user:type_name -> user.User - 48, // 21: user.GetUsersByNameReq.Pagination:type_name -> server_api_params.RequestPagination - 25, // 22: user.GetUsersByNameResp.users:type_name -> user.User - 49, // 23: user.GetUsersByNameResp.Pagination:type_name -> server_api_params.ResponsePagination - 0, // 24: user.AlterUserResp.CommonResp:type_name -> user.CommonResp - 48, // 25: user.GetUsersReq.Pagination:type_name -> server_api_params.RequestPagination - 0, // 26: user.GetUsersResp.CommonResp:type_name -> user.CommonResp - 25, // 27: user.GetUsersResp.user:type_name -> user.User - 49, // 28: user.GetUsersResp.Pagination:type_name -> server_api_params.ResponsePagination - 0, // 29: user.AddUserResp.CommonResp:type_name -> user.CommonResp - 0, // 30: user.BlockUserResp.CommonResp:type_name -> user.CommonResp - 0, // 31: user.UnBlockUserResp.CommonResp:type_name -> user.CommonResp - 48, // 32: user.GetBlockUsersReq.Pagination:type_name -> server_api_params.RequestPagination - 25, // 33: user.BlockUser.User:type_name -> user.User - 0, // 34: user.GetBlockUsersResp.CommonResp:type_name -> user.CommonResp - 40, // 35: user.GetBlockUsersResp.BlockUsers:type_name -> user.BlockUser - 49, // 36: user.GetBlockUsersResp.Pagination:type_name -> server_api_params.ResponsePagination - 40, // 37: user.GetBlockUserByIdResp.BlockUser:type_name -> user.BlockUser - 0, // 38: user.DeleteUserResp.CommonResp:type_name -> user.CommonResp - 7, // 39: user.user.GetUserInfo:input_type -> user.GetUserInfoReq - 9, // 40: user.user.UpdateUserInfo:input_type -> user.UpdateUserInfoReq - 1, // 41: user.user.DeleteUsers:input_type -> user.DeleteUsersReq - 3, // 42: user.user.GetAllUserID:input_type -> user.GetAllUserIDReq - 5, // 43: user.user.AccountCheck:input_type -> user.AccountCheckReq - 14, // 44: user.user.GetConversation:input_type -> user.GetConversationReq - 18, // 45: user.user.GetAllConversations:input_type -> user.GetAllConversationsReq - 16, // 46: user.user.GetConversations:input_type -> user.GetConversationsReq - 20, // 47: user.user.BatchSetConversations:input_type -> user.BatchSetConversationsReq - 12, // 48: user.user.SetConversation:input_type -> user.SetConversationReq - 24, // 49: user.user.GetUserById:input_type -> user.GetUserByIdReq - 27, // 50: user.user.GetUsersByName:input_type -> user.GetUsersByNameReq - 22, // 51: user.user.ResignUser:input_type -> user.ResignUserReq - 29, // 52: user.user.AlterUser:input_type -> user.AlterUserReq - 31, // 53: user.user.GetUsers:input_type -> user.GetUsersReq - 33, // 54: user.user.AddUser:input_type -> user.AddUserReq - 35, // 55: user.user.BlockUser:input_type -> user.BlockUserReq - 37, // 56: user.user.UnBlockUser:input_type -> user.UnBlockUserReq - 39, // 57: user.user.GetBlockUsers:input_type -> user.GetBlockUsersReq - 42, // 58: user.user.GetBlockUserById:input_type -> user.GetBlockUserByIdReq - 44, // 59: user.user.DeleteUser:input_type -> user.DeleteUserReq - 8, // 60: user.user.GetUserInfo:output_type -> user.GetUserInfoResp - 10, // 61: user.user.UpdateUserInfo:output_type -> user.UpdateUserInfoResp - 2, // 62: user.user.DeleteUsers:output_type -> user.DeleteUsersResp - 4, // 63: user.user.GetAllUserID:output_type -> user.GetAllUserIDResp - 6, // 64: user.user.AccountCheck:output_type -> user.AccountCheckResp - 15, // 65: user.user.GetConversation:output_type -> user.GetConversationResp - 19, // 66: user.user.GetAllConversations:output_type -> user.GetAllConversationsResp - 17, // 67: user.user.GetConversations:output_type -> user.GetConversationsResp - 21, // 68: user.user.BatchSetConversations:output_type -> user.BatchSetConversationsResp - 13, // 69: user.user.SetConversation:output_type -> user.SetConversationResp - 26, // 70: user.user.GetUserById:output_type -> user.GetUserByIdResp - 28, // 71: user.user.GetUsersByName:output_type -> user.GetUsersByNameResp - 23, // 72: user.user.ResignUser:output_type -> user.ResignUserResp - 30, // 73: user.user.AlterUser:output_type -> user.AlterUserResp - 32, // 74: user.user.GetUsers:output_type -> user.GetUsersResp - 34, // 75: user.user.AddUser:output_type -> user.AddUserResp - 36, // 76: user.user.BlockUser:output_type -> user.BlockUserResp - 38, // 77: user.user.UnBlockUser:output_type -> user.UnBlockUserResp - 41, // 78: user.user.GetBlockUsers:output_type -> user.GetBlockUsersResp - 43, // 79: user.user.GetBlockUserById:output_type -> user.GetBlockUserByIdResp - 45, // 80: user.user.DeleteUser:output_type -> user.DeleteUserResp - 60, // [60:81] is the sub-list for method output_type - 39, // [39:60] is the sub-list for method input_type - 39, // [39:39] is the sub-list for extension type_name - 39, // [39:39] is the sub-list for extension extendee - 0, // [0:39] is the sub-list for field type_name + 0, // 10: user.SetRecvMsgOptResp.commonResp:type_name -> user.CommonResp + 0, // 11: user.GetConversationResp.commonResp:type_name -> user.CommonResp + 11, // 12: user.GetConversationResp.Conversation:type_name -> user.Conversation + 0, // 13: user.GetConversationsResp.commonResp:type_name -> user.CommonResp + 11, // 14: user.GetConversationsResp.Conversations:type_name -> user.Conversation + 0, // 15: user.GetAllConversationsResp.commonResp:type_name -> user.CommonResp + 11, // 16: user.GetAllConversationsResp.Conversations:type_name -> user.Conversation + 11, // 17: user.BatchSetConversationsReq.Conversations:type_name -> user.Conversation + 0, // 18: user.BatchSetConversationsResp.commonResp:type_name -> user.CommonResp + 0, // 19: user.ResignUserResp.commonResp:type_name -> user.CommonResp + 0, // 20: user.GetUserByIdResp.CommonResp:type_name -> user.CommonResp + 27, // 21: user.GetUserByIdResp.user:type_name -> user.User + 50, // 22: user.GetUsersByNameReq.Pagination:type_name -> server_api_params.RequestPagination + 27, // 23: user.GetUsersByNameResp.users:type_name -> user.User + 51, // 24: user.GetUsersByNameResp.Pagination:type_name -> server_api_params.ResponsePagination + 0, // 25: user.AlterUserResp.CommonResp:type_name -> user.CommonResp + 50, // 26: user.GetUsersReq.Pagination:type_name -> server_api_params.RequestPagination + 0, // 27: user.GetUsersResp.CommonResp:type_name -> user.CommonResp + 27, // 28: user.GetUsersResp.user:type_name -> user.User + 51, // 29: user.GetUsersResp.Pagination:type_name -> server_api_params.ResponsePagination + 0, // 30: user.AddUserResp.CommonResp:type_name -> user.CommonResp + 0, // 31: user.BlockUserResp.CommonResp:type_name -> user.CommonResp + 0, // 32: user.UnBlockUserResp.CommonResp:type_name -> user.CommonResp + 50, // 33: user.GetBlockUsersReq.Pagination:type_name -> server_api_params.RequestPagination + 27, // 34: user.BlockUser.User:type_name -> user.User + 0, // 35: user.GetBlockUsersResp.CommonResp:type_name -> user.CommonResp + 42, // 36: user.GetBlockUsersResp.BlockUsers:type_name -> user.BlockUser + 51, // 37: user.GetBlockUsersResp.Pagination:type_name -> server_api_params.ResponsePagination + 42, // 38: user.GetBlockUserByIdResp.BlockUser:type_name -> user.BlockUser + 0, // 39: user.DeleteUserResp.CommonResp:type_name -> user.CommonResp + 7, // 40: user.user.GetUserInfo:input_type -> user.GetUserInfoReq + 9, // 41: user.user.UpdateUserInfo:input_type -> user.UpdateUserInfoReq + 1, // 42: user.user.DeleteUsers:input_type -> user.DeleteUsersReq + 3, // 43: user.user.GetAllUserID:input_type -> user.GetAllUserIDReq + 5, // 44: user.user.AccountCheck:input_type -> user.AccountCheckReq + 16, // 45: user.user.GetConversation:input_type -> user.GetConversationReq + 20, // 46: user.user.GetAllConversations:input_type -> user.GetAllConversationsReq + 18, // 47: user.user.GetConversations:input_type -> user.GetConversationsReq + 22, // 48: user.user.BatchSetConversations:input_type -> user.BatchSetConversationsReq + 12, // 49: user.user.SetConversation:input_type -> user.SetConversationReq + 14, // 50: user.user.SetRecvMsgOpt:input_type -> user.SetRecvMsgOptReq + 26, // 51: user.user.GetUserById:input_type -> user.GetUserByIdReq + 29, // 52: user.user.GetUsersByName:input_type -> user.GetUsersByNameReq + 24, // 53: user.user.ResignUser:input_type -> user.ResignUserReq + 31, // 54: user.user.AlterUser:input_type -> user.AlterUserReq + 33, // 55: user.user.GetUsers:input_type -> user.GetUsersReq + 35, // 56: user.user.AddUser:input_type -> user.AddUserReq + 37, // 57: user.user.BlockUser:input_type -> user.BlockUserReq + 39, // 58: user.user.UnBlockUser:input_type -> user.UnBlockUserReq + 41, // 59: user.user.GetBlockUsers:input_type -> user.GetBlockUsersReq + 44, // 60: user.user.GetBlockUserById:input_type -> user.GetBlockUserByIdReq + 46, // 61: user.user.DeleteUser:input_type -> user.DeleteUserReq + 8, // 62: user.user.GetUserInfo:output_type -> user.GetUserInfoResp + 10, // 63: user.user.UpdateUserInfo:output_type -> user.UpdateUserInfoResp + 2, // 64: user.user.DeleteUsers:output_type -> user.DeleteUsersResp + 4, // 65: user.user.GetAllUserID:output_type -> user.GetAllUserIDResp + 6, // 66: user.user.AccountCheck:output_type -> user.AccountCheckResp + 17, // 67: user.user.GetConversation:output_type -> user.GetConversationResp + 21, // 68: user.user.GetAllConversations:output_type -> user.GetAllConversationsResp + 19, // 69: user.user.GetConversations:output_type -> user.GetConversationsResp + 23, // 70: user.user.BatchSetConversations:output_type -> user.BatchSetConversationsResp + 13, // 71: user.user.SetConversation:output_type -> user.SetConversationResp + 15, // 72: user.user.SetRecvMsgOpt:output_type -> user.SetRecvMsgOptResp + 28, // 73: user.user.GetUserById:output_type -> user.GetUserByIdResp + 30, // 74: user.user.GetUsersByName:output_type -> user.GetUsersByNameResp + 25, // 75: user.user.ResignUser:output_type -> user.ResignUserResp + 32, // 76: user.user.AlterUser:output_type -> user.AlterUserResp + 34, // 77: user.user.GetUsers:output_type -> user.GetUsersResp + 36, // 78: user.user.AddUser:output_type -> user.AddUserResp + 38, // 79: user.user.BlockUser:output_type -> user.BlockUserResp + 40, // 80: user.user.UnBlockUser:output_type -> user.UnBlockUserResp + 43, // 81: user.user.GetBlockUsers:output_type -> user.GetBlockUsersResp + 45, // 82: user.user.GetBlockUserById:output_type -> user.GetBlockUserByIdResp + 47, // 83: user.user.DeleteUser:output_type -> user.DeleteUserResp + 62, // [62:84] is the sub-list for method output_type + 40, // [40:62] is the sub-list for method input_type + 40, // [40:40] is the sub-list for extension type_name + 40, // [40:40] is the sub-list for extension extendee + 0, // [0:40] is the sub-list for field type_name } func init() { file_user_user_proto_init() } @@ -3650,7 +3792,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetConversationReq); i { + switch v := v.(*SetRecvMsgOptReq); i { case 0: return &v.state case 1: @@ -3662,7 +3804,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetConversationResp); i { + switch v := v.(*SetRecvMsgOptResp); i { case 0: return &v.state case 1: @@ -3674,7 +3816,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetConversationsReq); i { + switch v := v.(*GetConversationReq); i { case 0: return &v.state case 1: @@ -3686,7 +3828,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetConversationsResp); i { + switch v := v.(*GetConversationResp); i { case 0: return &v.state case 1: @@ -3698,7 +3840,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAllConversationsReq); i { + switch v := v.(*GetConversationsReq); i { case 0: return &v.state case 1: @@ -3710,7 +3852,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAllConversationsResp); i { + switch v := v.(*GetConversationsResp); i { case 0: return &v.state case 1: @@ -3722,7 +3864,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchSetConversationsReq); i { + switch v := v.(*GetAllConversationsReq); i { case 0: return &v.state case 1: @@ -3734,7 +3876,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchSetConversationsResp); i { + switch v := v.(*GetAllConversationsResp); i { case 0: return &v.state case 1: @@ -3746,7 +3888,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResignUserReq); i { + switch v := v.(*BatchSetConversationsReq); i { case 0: return &v.state case 1: @@ -3758,7 +3900,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResignUserResp); i { + switch v := v.(*BatchSetConversationsResp); i { case 0: return &v.state case 1: @@ -3770,7 +3912,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserByIdReq); i { + switch v := v.(*ResignUserReq); i { case 0: return &v.state case 1: @@ -3782,7 +3924,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*User); i { + switch v := v.(*ResignUserResp); i { case 0: return &v.state case 1: @@ -3794,7 +3936,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserByIdResp); i { + switch v := v.(*GetUserByIdReq); i { case 0: return &v.state case 1: @@ -3806,7 +3948,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUsersByNameReq); i { + switch v := v.(*User); i { case 0: return &v.state case 1: @@ -3818,7 +3960,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUsersByNameResp); i { + switch v := v.(*GetUserByIdResp); i { case 0: return &v.state case 1: @@ -3830,7 +3972,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterUserReq); i { + switch v := v.(*GetUsersByNameReq); i { case 0: return &v.state case 1: @@ -3842,7 +3984,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterUserResp); i { + switch v := v.(*GetUsersByNameResp); i { case 0: return &v.state case 1: @@ -3854,7 +3996,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUsersReq); i { + switch v := v.(*AlterUserReq); i { case 0: return &v.state case 1: @@ -3866,7 +4008,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUsersResp); i { + switch v := v.(*AlterUserResp); i { case 0: return &v.state case 1: @@ -3878,7 +4020,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddUserReq); i { + switch v := v.(*GetUsersReq); i { case 0: return &v.state case 1: @@ -3890,7 +4032,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddUserResp); i { + switch v := v.(*GetUsersResp); i { case 0: return &v.state case 1: @@ -3902,7 +4044,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BlockUserReq); i { + switch v := v.(*AddUserReq); i { case 0: return &v.state case 1: @@ -3914,7 +4056,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BlockUserResp); i { + switch v := v.(*AddUserResp); i { case 0: return &v.state case 1: @@ -3926,7 +4068,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnBlockUserReq); i { + switch v := v.(*BlockUserReq); i { case 0: return &v.state case 1: @@ -3938,7 +4080,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnBlockUserResp); i { + switch v := v.(*BlockUserResp); i { case 0: return &v.state case 1: @@ -3950,7 +4092,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetBlockUsersReq); i { + switch v := v.(*UnBlockUserReq); i { case 0: return &v.state case 1: @@ -3962,7 +4104,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BlockUser); i { + switch v := v.(*UnBlockUserResp); i { case 0: return &v.state case 1: @@ -3974,7 +4116,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetBlockUsersResp); i { + switch v := v.(*GetBlockUsersReq); i { case 0: return &v.state case 1: @@ -3986,7 +4128,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetBlockUserByIdReq); i { + switch v := v.(*BlockUser); i { case 0: return &v.state case 1: @@ -3998,7 +4140,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetBlockUserByIdResp); i { + switch v := v.(*GetBlockUsersResp); i { case 0: return &v.state case 1: @@ -4010,7 +4152,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteUserReq); i { + switch v := v.(*GetBlockUserByIdReq); i { case 0: return &v.state case 1: @@ -4022,7 +4164,7 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteUserResp); i { + switch v := v.(*GetBlockUserByIdResp); i { case 0: return &v.state case 1: @@ -4034,6 +4176,30 @@ func file_user_user_proto_init() { } } file_user_user_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteUserReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_user_user_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteUserResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_user_user_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AccountCheckResp_SingleUserStatus); i { case 0: return &v.state @@ -4052,7 +4218,7 @@ func file_user_user_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_user_user_proto_rawDesc, NumEnums: 0, - NumMessages: 47, + NumMessages: 49, NumExtensions: 0, NumServices: 1, }, @@ -4088,6 +4254,7 @@ type UserClient interface { GetConversations(ctx context.Context, in *GetConversationsReq, opts ...grpc.CallOption) (*GetConversationsResp, error) BatchSetConversations(ctx context.Context, in *BatchSetConversationsReq, opts ...grpc.CallOption) (*BatchSetConversationsResp, error) SetConversation(ctx context.Context, in *SetConversationReq, opts ...grpc.CallOption) (*SetConversationResp, error) + SetRecvMsgOpt(ctx context.Context, in *SetRecvMsgOptReq, opts ...grpc.CallOption) (*SetRecvMsgOptResp, error) GetUserById(ctx context.Context, in *GetUserByIdReq, opts ...grpc.CallOption) (*GetUserByIdResp, error) GetUsersByName(ctx context.Context, in *GetUsersByNameReq, opts ...grpc.CallOption) (*GetUsersByNameResp, error) ResignUser(ctx context.Context, in *ResignUserReq, opts ...grpc.CallOption) (*ResignUserResp, error) @@ -4199,6 +4366,15 @@ func (c *userClient) SetConversation(ctx context.Context, in *SetConversationReq return out, nil } +func (c *userClient) SetRecvMsgOpt(ctx context.Context, in *SetRecvMsgOptReq, opts ...grpc.CallOption) (*SetRecvMsgOptResp, error) { + out := new(SetRecvMsgOptResp) + err := c.cc.Invoke(ctx, "/user.user/SetRecvMsgOpt", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *userClient) GetUserById(ctx context.Context, in *GetUserByIdReq, opts ...grpc.CallOption) (*GetUserByIdResp, error) { out := new(GetUserByIdResp) err := c.cc.Invoke(ctx, "/user.user/GetUserById", in, out, opts...) @@ -4310,6 +4486,7 @@ type UserServer interface { GetConversations(context.Context, *GetConversationsReq) (*GetConversationsResp, error) BatchSetConversations(context.Context, *BatchSetConversationsReq) (*BatchSetConversationsResp, error) SetConversation(context.Context, *SetConversationReq) (*SetConversationResp, error) + SetRecvMsgOpt(context.Context, *SetRecvMsgOptReq) (*SetRecvMsgOptResp, error) GetUserById(context.Context, *GetUserByIdReq) (*GetUserByIdResp, error) GetUsersByName(context.Context, *GetUsersByNameReq) (*GetUsersByNameResp, error) ResignUser(context.Context, *ResignUserReq) (*ResignUserResp, error) @@ -4357,6 +4534,9 @@ func (*UnimplementedUserServer) BatchSetConversations(context.Context, *BatchSet func (*UnimplementedUserServer) SetConversation(context.Context, *SetConversationReq) (*SetConversationResp, error) { return nil, status.Errorf(codes.Unimplemented, "method SetConversation not implemented") } +func (*UnimplementedUserServer) SetRecvMsgOpt(context.Context, *SetRecvMsgOptReq) (*SetRecvMsgOptResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetRecvMsgOpt not implemented") +} func (*UnimplementedUserServer) GetUserById(context.Context, *GetUserByIdReq) (*GetUserByIdResp, error) { return nil, status.Errorf(codes.Unimplemented, "method GetUserById not implemented") } @@ -4575,6 +4755,24 @@ func _User_SetConversation_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } +func _User_SetRecvMsgOpt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetRecvMsgOptReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserServer).SetRecvMsgOpt(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/user.user/SetRecvMsgOpt", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserServer).SetRecvMsgOpt(ctx, req.(*SetRecvMsgOptReq)) + } + return interceptor(ctx, in, info, handler) +} + func _User_GetUserById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetUserByIdReq) if err := dec(in); err != nil { @@ -4817,6 +5015,10 @@ var _User_serviceDesc = grpc.ServiceDesc{ MethodName: "SetConversation", Handler: _User_SetConversation_Handler, }, + { + MethodName: "SetRecvMsgOpt", + Handler: _User_SetRecvMsgOpt_Handler, + }, { MethodName: "GetUserById", Handler: _User_GetUserById_Handler, diff --git a/pkg/proto/user/user.proto b/pkg/proto/user/user.proto index 0a266f3a2..f23d82135 100644 --- a/pkg/proto/user/user.proto +++ b/pkg/proto/user/user.proto @@ -91,6 +91,17 @@ message SetConversationResp{ CommonResp commonResp = 1; } +message SetRecvMsgOptReq { + string OwnerUserID = 1; + string ConversationID = 2; + int32 RecvMsgOpt = 3; + string OperationID = 4; +} + +message SetRecvMsgOptResp { + CommonResp commonResp = 1; +} + message GetConversationReq{ string ConversationID = 1; string OwnerUserID = 2; @@ -272,6 +283,8 @@ message DeleteUserResp { CommonResp CommonResp = 1; } + + service user { rpc GetUserInfo(GetUserInfoReq) returns(GetUserInfoResp); rpc UpdateUserInfo(UpdateUserInfoReq) returns(UpdateUserInfoResp); @@ -284,6 +297,7 @@ service user { rpc GetConversations(GetConversationsReq)returns(GetConversationsResp); rpc BatchSetConversations(BatchSetConversationsReq)returns(BatchSetConversationsResp); rpc SetConversation(SetConversationReq)returns(SetConversationResp); + rpc SetRecvMsgOpt(SetRecvMsgOptReq)returns(SetRecvMsgOptResp); rpc GetUserById(GetUserByIdReq) returns (GetUserByIdResp); rpc GetUsersByName(GetUsersByNameReq) returns (GetUsersByNameResp); From 8fef1f975a148f72454d875369eef4df34d22cbc Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 16 Mar 2022 20:37:37 +0800 Subject: [PATCH 068/129] rtc add --- cmd/open_im_api/main.go | 1 + cmd/rpc/open_im_rtc/main.go | 27 --- internal/api/chat/del_msg.go | 32 ++++ internal/api/chat/pull_msg.go | 6 +- internal/rpc/rtc/rtc.go | 50 ------ internal/rpc/user/user.go | 2 +- pkg/base_info/msg.go | 8 + pkg/proto/rtc/rtc.pb.go | 301 ---------------------------------- pkg/proto/rtc/rtc.proto | 27 --- 9 files changed, 47 insertions(+), 407 deletions(-) delete mode 100644 cmd/rpc/open_im_rtc/main.go create mode 100644 internal/api/chat/del_msg.go delete mode 100644 internal/rpc/rtc/rtc.go create mode 100644 pkg/base_info/msg.go delete mode 100644 pkg/proto/rtc/rtc.pb.go delete mode 100644 pkg/proto/rtc/rtc.proto diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index 033688f7e..0fea4b0f8 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -85,6 +85,7 @@ func main() { chatGroup.POST("/newest_seq", apiChat.GetSeq) chatGroup.POST("/send_msg", apiChat.SendMsg) chatGroup.POST("/pull_msg_by_seq", apiChat.PullMsgBySeqList) + //chatGroup.POST("/del_msg", apiChat) } //Manager managementGroup := r.Group("/manager") diff --git a/cmd/rpc/open_im_rtc/main.go b/cmd/rpc/open_im_rtc/main.go deleted file mode 100644 index e093a361f..000000000 --- a/cmd/rpc/open_im_rtc/main.go +++ /dev/null @@ -1,27 +0,0 @@ -package main - -import ( - "Open_IM/internal/rpc/rtc" - "Open_IM/pkg/common/log" - rtcPb "Open_IM/pkg/proto/rtc" - "Open_IM/pkg/utils" - "google.golang.org/grpc" - "google.golang.org/grpc/reflection" - "net" -) - -func main() { - lis, err := net.Listen("tcp", "0.0.0.0:11300") - if err != nil { - log.NewError("", utils.GetSelfFuncName(), err.Error()) - } // 创建 RPC 服务容器 - grpcServer := grpc.NewServer() - rtcPb.RegisterRtcServiceServer(grpcServer, &rtc.RtcService{}) - - reflection.Register(grpcServer) - - if err := grpcServer.Serve(lis); err != nil { - log.NewError("", utils.GetSelfFuncName(), err.Error()) - } - log.NewInfo("", utils.GetSelfFuncName(), "start success") -} \ No newline at end of file diff --git a/internal/api/chat/del_msg.go b/internal/api/chat/del_msg.go new file mode 100644 index 000000000..6cdda51ed --- /dev/null +++ b/internal/api/chat/del_msg.go @@ -0,0 +1,32 @@ +package apiChat + +// +//import ( +// apiStruct "Open_IM/pkg/base_info" +// "Open_IM/pkg/common/config" +// "Open_IM/pkg/common/log" +// "Open_IM/pkg/common/token_verify" +// "Open_IM/pkg/grpc-etcdv3/getcdv3" +// pbChat "Open_IM/pkg/proto/chat" +// "Open_IM/pkg/utils" +// "github.com/gin-gonic/gin" +// "net/http" +// "strings" +//) +// +//func DelMsg(c *gin.Context) { +// var ( +// req apiStruct.DelMsgReq +// resp apiStruct.DelMsgResp +// reqPb pbChat. +// ) +// ok, userID := token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) +// if !ok { +// log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) +// c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) +// return +// } +// grpcConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName) +// msgClient := pbChat.NewChatClient(grpcConn) +// //respPb, err := msgClient.DelMsgList() +//} diff --git a/internal/api/chat/pull_msg.go b/internal/api/chat/pull_msg.go index 0872319c6..515e9b743 100644 --- a/internal/api/chat/pull_msg.go +++ b/internal/api/chat/pull_msg.go @@ -7,6 +7,7 @@ import ( "Open_IM/pkg/grpc-etcdv3/getcdv3" "Open_IM/pkg/proto/chat" open_im_sdk "Open_IM/pkg/proto/sdk_ws" + "Open_IM/pkg/utils" "context" "github.com/gin-gonic/gin" "net/http" @@ -39,7 +40,10 @@ func PullMsgBySeqList(c *gin.Context) { token := c.Request.Header.Get("token") if ok, err := token_verify.VerifyToken(token, params.SendID); !ok { - c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "token validate err" + err.Error()}) + if err != nil { + log.NewError(params.OperationID, utils.GetSelfFuncName(), err.Error(), token, params.SendID) + } + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "token validate err"}) return } pbData := open_im_sdk.PullMessageBySeqListReq{} diff --git a/internal/rpc/rtc/rtc.go b/internal/rpc/rtc/rtc.go deleted file mode 100644 index e9dff0c9d..000000000 --- a/internal/rpc/rtc/rtc.go +++ /dev/null @@ -1,50 +0,0 @@ -package rtc - -import ( - "Open_IM/pkg/common/constant" - "Open_IM/pkg/common/log" - pbRtc "Open_IM/pkg/proto/rtc" - "Open_IM/pkg/utils" - "context" - "encoding/json" - "time" - - "github.com/livekit/protocol/auth" - //lksdk "github.com/livekit/server-sdk-go" -) - -type RtcService struct { -} - -func (r *RtcService) GetJoinToken(_ context.Context, req *pbRtc.GetJoinTokenReq) (resp *pbRtc.GetJoinTokenResp, err error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp = &pbRtc.GetJoinTokenResp{} - canPublish := true - canSubscribe := true - at := auth.NewAccessToken(req.ApiKey, req.ApiSecret) - grant := &auth.VideoGrant{ - RoomJoin: true, - Room: req.Room, - CanPublish: &canPublish, - CanSubscribe: &canSubscribe, - } - byte, err := json.Marshal(req.MetaData) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "json marshal failed", err.Error()) - resp.CommonResp = &pbRtc.CommonResp{ErrCode: constant.ErrArgs.ErrCode, ErrMsg: constant.ErrArgs.ErrMsg} - return - } - at.AddGrant(grant). - SetIdentity(req.Identity). - // optional - SetName("participant-name"). - SetValidFor(time.Hour).SetMetadata(string(byte)) - jwt, err := at.ToJWT() - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "toJwt failed", err.Error(), "jwt: ", jwt) - } - resp.Jwt = jwt - resp.CommonResp = &pbRtc.CommonResp{} - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) - return resp, err -} diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index 5b37c3172..6b4472f01 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -214,7 +214,7 @@ func (s *userServer) SetRecvMsgOpt(ctx context.Context, req *pbUser.SetRecvMsgOp return resp, nil } chat.SetConversationNotification(req.OperationID, req.OwnerUserID) - log.NewError(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) resp.CommonResp = &pbUser.CommonResp{} return resp, nil } diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go new file mode 100644 index 000000000..d7aa11a82 --- /dev/null +++ b/pkg/base_info/msg.go @@ -0,0 +1,8 @@ +package base_info + +type DelMsgReq struct { + OperationID string `json:"operationID"` +} + +type DelMsgResp struct { +} diff --git a/pkg/proto/rtc/rtc.pb.go b/pkg/proto/rtc/rtc.pb.go deleted file mode 100644 index a1b439537..000000000 --- a/pkg/proto/rtc/rtc.pb.go +++ /dev/null @@ -1,301 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// source: rtc/rtc.proto - -package rtc // import "./rtc" - -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" -import sdk_ws "Open_IM/pkg/proto/sdk_ws" - -import ( - context "golang.org/x/net/context" - grpc "google.golang.org/grpc" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package - -type CommonResp struct { - ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *CommonResp) Reset() { *m = CommonResp{} } -func (m *CommonResp) String() string { return proto.CompactTextString(m) } -func (*CommonResp) ProtoMessage() {} -func (*CommonResp) Descriptor() ([]byte, []int) { - return fileDescriptor_rtc_058fd4200139f42f, []int{0} -} -func (m *CommonResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CommonResp.Unmarshal(m, b) -} -func (m *CommonResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CommonResp.Marshal(b, m, deterministic) -} -func (dst *CommonResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_CommonResp.Merge(dst, src) -} -func (m *CommonResp) XXX_Size() int { - return xxx_messageInfo_CommonResp.Size(m) -} -func (m *CommonResp) XXX_DiscardUnknown() { - xxx_messageInfo_CommonResp.DiscardUnknown(m) -} - -var xxx_messageInfo_CommonResp proto.InternalMessageInfo - -func (m *CommonResp) GetErrCode() int32 { - if m != nil { - return m.ErrCode - } - return 0 -} - -func (m *CommonResp) GetErrMsg() string { - if m != nil { - return m.ErrMsg - } - return "" -} - -type GetJoinTokenReq struct { - ApiKey string `protobuf:"bytes,1,opt,name=apiKey" json:"apiKey,omitempty"` - ApiSecret string `protobuf:"bytes,2,opt,name=apiSecret" json:"apiSecret,omitempty"` - Room string `protobuf:"bytes,3,opt,name=room" json:"room,omitempty"` - Identity string `protobuf:"bytes,4,opt,name=identity" json:"identity,omitempty"` - MetaData *sdk_ws.ParticipantMetaData `protobuf:"bytes,5,opt,name=metaData" json:"metaData,omitempty"` - OperationID string `protobuf:"bytes,6,opt,name=operationID" json:"operationID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetJoinTokenReq) Reset() { *m = GetJoinTokenReq{} } -func (m *GetJoinTokenReq) String() string { return proto.CompactTextString(m) } -func (*GetJoinTokenReq) ProtoMessage() {} -func (*GetJoinTokenReq) Descriptor() ([]byte, []int) { - return fileDescriptor_rtc_058fd4200139f42f, []int{1} -} -func (m *GetJoinTokenReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetJoinTokenReq.Unmarshal(m, b) -} -func (m *GetJoinTokenReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetJoinTokenReq.Marshal(b, m, deterministic) -} -func (dst *GetJoinTokenReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetJoinTokenReq.Merge(dst, src) -} -func (m *GetJoinTokenReq) XXX_Size() int { - return xxx_messageInfo_GetJoinTokenReq.Size(m) -} -func (m *GetJoinTokenReq) XXX_DiscardUnknown() { - xxx_messageInfo_GetJoinTokenReq.DiscardUnknown(m) -} - -var xxx_messageInfo_GetJoinTokenReq proto.InternalMessageInfo - -func (m *GetJoinTokenReq) GetApiKey() string { - if m != nil { - return m.ApiKey - } - return "" -} - -func (m *GetJoinTokenReq) GetApiSecret() string { - if m != nil { - return m.ApiSecret - } - return "" -} - -func (m *GetJoinTokenReq) GetRoom() string { - if m != nil { - return m.Room - } - return "" -} - -func (m *GetJoinTokenReq) GetIdentity() string { - if m != nil { - return m.Identity - } - return "" -} - -func (m *GetJoinTokenReq) GetMetaData() *sdk_ws.ParticipantMetaData { - if m != nil { - return m.MetaData - } - return nil -} - -func (m *GetJoinTokenReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -type GetJoinTokenResp struct { - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` - Jwt string `protobuf:"bytes,2,opt,name=jwt" json:"jwt,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetJoinTokenResp) Reset() { *m = GetJoinTokenResp{} } -func (m *GetJoinTokenResp) String() string { return proto.CompactTextString(m) } -func (*GetJoinTokenResp) ProtoMessage() {} -func (*GetJoinTokenResp) Descriptor() ([]byte, []int) { - return fileDescriptor_rtc_058fd4200139f42f, []int{2} -} -func (m *GetJoinTokenResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetJoinTokenResp.Unmarshal(m, b) -} -func (m *GetJoinTokenResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetJoinTokenResp.Marshal(b, m, deterministic) -} -func (dst *GetJoinTokenResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetJoinTokenResp.Merge(dst, src) -} -func (m *GetJoinTokenResp) XXX_Size() int { - return xxx_messageInfo_GetJoinTokenResp.Size(m) -} -func (m *GetJoinTokenResp) XXX_DiscardUnknown() { - xxx_messageInfo_GetJoinTokenResp.DiscardUnknown(m) -} - -var xxx_messageInfo_GetJoinTokenResp proto.InternalMessageInfo - -func (m *GetJoinTokenResp) GetCommonResp() *CommonResp { - if m != nil { - return m.CommonResp - } - return nil -} - -func (m *GetJoinTokenResp) GetJwt() string { - if m != nil { - return m.Jwt - } - return "" -} - -func init() { - proto.RegisterType((*CommonResp)(nil), "rtc.CommonResp") - proto.RegisterType((*GetJoinTokenReq)(nil), "rtc.GetJoinTokenReq") - proto.RegisterType((*GetJoinTokenResp)(nil), "rtc.GetJoinTokenResp") -} - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConn - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion4 - -// Client API for RtcService service - -type RtcServiceClient interface { - GetJoinToken(ctx context.Context, in *GetJoinTokenReq, opts ...grpc.CallOption) (*GetJoinTokenResp, error) -} - -type rtcServiceClient struct { - cc *grpc.ClientConn -} - -func NewRtcServiceClient(cc *grpc.ClientConn) RtcServiceClient { - return &rtcServiceClient{cc} -} - -func (c *rtcServiceClient) GetJoinToken(ctx context.Context, in *GetJoinTokenReq, opts ...grpc.CallOption) (*GetJoinTokenResp, error) { - out := new(GetJoinTokenResp) - err := grpc.Invoke(ctx, "/rtc.RtcService/GetJoinToken", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// Server API for RtcService service - -type RtcServiceServer interface { - GetJoinToken(context.Context, *GetJoinTokenReq) (*GetJoinTokenResp, error) -} - -func RegisterRtcServiceServer(s *grpc.Server, srv RtcServiceServer) { - s.RegisterService(&_RtcService_serviceDesc, srv) -} - -func _RtcService_GetJoinToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetJoinTokenReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(RtcServiceServer).GetJoinToken(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/rtc.RtcService/GetJoinToken", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(RtcServiceServer).GetJoinToken(ctx, req.(*GetJoinTokenReq)) - } - return interceptor(ctx, in, info, handler) -} - -var _RtcService_serviceDesc = grpc.ServiceDesc{ - ServiceName: "rtc.RtcService", - HandlerType: (*RtcServiceServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "GetJoinToken", - Handler: _RtcService_GetJoinToken_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "rtc/rtc.proto", -} - -func init() { proto.RegisterFile("rtc/rtc.proto", fileDescriptor_rtc_058fd4200139f42f) } - -var fileDescriptor_rtc_058fd4200139f42f = []byte{ - // 343 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x91, 0x4f, 0x6b, 0xdb, 0x40, - 0x10, 0xc5, 0x51, 0xfd, 0xa7, 0xd6, 0xa8, 0xc5, 0x66, 0x69, 0x8b, 0x30, 0x3d, 0xa8, 0x3e, 0x14, - 0x9f, 0x24, 0x70, 0x8f, 0x86, 0x1e, 0x6c, 0x43, 0x71, 0x83, 0x49, 0x58, 0x27, 0x97, 0x5c, 0xc4, - 0x66, 0x3d, 0x98, 0x8d, 0x91, 0x76, 0x33, 0xbb, 0xd8, 0xf8, 0xc3, 0xe6, 0xbb, 0x04, 0x6d, 0x64, - 0x5b, 0x09, 0xb9, 0xcd, 0xfb, 0xed, 0xec, 0x0c, 0xef, 0x0d, 0x7c, 0x25, 0x27, 0x33, 0x72, 0x32, - 0x35, 0xa4, 0x9d, 0x66, 0x2d, 0x72, 0x72, 0xf8, 0xeb, 0xda, 0x60, 0x99, 0x2f, 0x57, 0x99, 0xd9, - 0x6d, 0x33, 0xcf, 0x33, 0xbb, 0xd9, 0xe5, 0x07, 0x9b, 0x1d, 0xec, 0x6b, 0xdf, 0xe8, 0x2f, 0xc0, - 0x5c, 0x17, 0x85, 0x2e, 0x39, 0x5a, 0xc3, 0x62, 0xf8, 0x8c, 0x44, 0x73, 0xbd, 0xc1, 0x38, 0x48, - 0x82, 0x71, 0x87, 0x9f, 0x24, 0xfb, 0x01, 0x5d, 0x24, 0x5a, 0xd9, 0x6d, 0xfc, 0x29, 0x09, 0xc6, - 0x21, 0xaf, 0xd5, 0xe8, 0x39, 0x80, 0xfe, 0x3f, 0x74, 0xff, 0xb5, 0x2a, 0x6f, 0xf5, 0x0e, 0x4b, - 0x8e, 0x4f, 0x55, 0xaf, 0x30, 0xea, 0x0a, 0x8f, 0x7e, 0x48, 0xc8, 0x6b, 0xc5, 0x7e, 0x42, 0x28, - 0x8c, 0x5a, 0xa3, 0x24, 0x74, 0xf5, 0x98, 0x0b, 0x60, 0x0c, 0xda, 0xa4, 0x75, 0x11, 0xb7, 0xfc, - 0x83, 0xaf, 0xd9, 0x10, 0x7a, 0x6a, 0x83, 0xa5, 0x53, 0xee, 0x18, 0xb7, 0x3d, 0x3f, 0x6b, 0x36, - 0x83, 0x5e, 0x81, 0x4e, 0x2c, 0x84, 0x13, 0x71, 0x27, 0x09, 0xc6, 0xd1, 0xe4, 0x77, 0x6a, 0x91, - 0xf6, 0x48, 0xb9, 0x30, 0x2a, 0x37, 0x82, 0x44, 0x61, 0xd3, 0x1b, 0x41, 0x4e, 0x49, 0x65, 0x44, - 0xe9, 0x56, 0x75, 0x37, 0x3f, 0xff, 0x63, 0x09, 0x44, 0xda, 0x20, 0x09, 0xa7, 0x74, 0xb9, 0x5c, - 0xc4, 0x5d, 0xbf, 0xa2, 0x89, 0x46, 0x77, 0x30, 0x78, 0x6b, 0xcf, 0x1a, 0x96, 0x35, 0x33, 0xf3, - 0x1e, 0xa3, 0x49, 0x3f, 0xad, 0xb2, 0xbf, 0x60, 0xde, 0x8c, 0x75, 0x00, 0xad, 0xc7, 0xc3, 0xc9, - 0x72, 0x55, 0x4e, 0x96, 0x00, 0xdc, 0xc9, 0x35, 0xd2, 0x5e, 0x49, 0x64, 0x53, 0xf8, 0xd2, 0x5c, - 0xc2, 0xbe, 0xf9, 0x61, 0xef, 0x62, 0x1d, 0x7e, 0xff, 0x80, 0x5a, 0x33, 0x8b, 0xee, 0xc3, 0xb4, - 0x3a, 0xfc, 0x94, 0x9c, 0x7c, 0xe8, 0xfa, 0xab, 0xfe, 0x79, 0x09, 0x00, 0x00, 0xff, 0xff, 0x1a, - 0x27, 0x45, 0x90, 0x0e, 0x02, 0x00, 0x00, -} diff --git a/pkg/proto/rtc/rtc.proto b/pkg/proto/rtc/rtc.proto deleted file mode 100644 index f27a0b721..000000000 --- a/pkg/proto/rtc/rtc.proto +++ /dev/null @@ -1,27 +0,0 @@ -syntax = "proto3"; -import "Open_IM/pkg/proto/sdk_ws/ws.proto"; -option go_package = "./rtc;rtc"; -package rtc; - -message CommonResp{ - int32 errCode = 1; - string errMsg = 2; -} - -message GetJoinTokenReq{ - string apiKey = 1; - string apiSecret = 2; - string room = 3; - string identity = 4; - server_api_params.ParticipantMetaData metaData = 5; - string operationID = 6; -} - -message GetJoinTokenResp{ - CommonResp CommonResp = 1; - string jwt = 2; -} - -service RtcService { - rpc GetJoinToken(GetJoinTokenReq) returns(GetJoinTokenResp); -} From a0e3488af0ca1e1c90f665d9ef166d056f7a70a4 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 17 Mar 2022 10:33:20 +0800 Subject: [PATCH 069/129] rtc proto modify --- config/config.yaml | 6 +- pkg/proto/rtc/rtc.pb.go | 935 ++++++++++++++++++++++++++++++++++++++++ pkg/proto/rtc/rtc.proto | 69 +++ 3 files changed, 1007 insertions(+), 3 deletions(-) create mode 100644 pkg/proto/rtc/rtc.pb.go create mode 100644 pkg/proto/rtc/rtc.proto diff --git a/config/config.yaml b/config/config.yaml index 21ded2735..0b86cdbbd 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -8,7 +8,7 @@ etcd: etcdAddr: [ 127.0.0.1:2379 ] #单机部署时,默认即可 mysql: - dbMysqlAddress: [ 127.0.0.1:13306 ] #mysql地址 目前仅支持单机,默认即可 + dbMysqlAddress: [ 43.128.5.63:13306 ] #mysql地址 目前仅支持单机,默认即可 dbMysqlUserName: root #mysql用户名,建议修改 dbMysqlPassword: openIM # mysql密码,建议修改 dbMysqlDatabaseName: openIM_v2 #默认即可 @@ -19,7 +19,7 @@ mysql: dbMaxLifeTime: 120 mongo: - dbAddress: [ 127.0.0.1:37017 ] #redis地址 目前仅支持单机,默认即可 + dbAddress: [ 43.128.5.63:37017 ] #redis地址 目前仅支持单机,默认即可 dbDirect: false dbTimeout: 10 dbDatabase: openIM #mongo db 默认即可 @@ -30,7 +30,7 @@ mongo: dbRetainChatRecords: 3650 #mongo保存离线消息时间(天),根据需求修改 redis: - dbAddress: 127.0.0.1:16379 #redis地址 目前仅支持单机,默认即可 + dbAddress: 43.128.5.63:16379 #redis地址 目前仅支持单机,默认即可 dbMaxIdle: 128 dbMaxActive: 0 dbIdleTimeout: 120 diff --git a/pkg/proto/rtc/rtc.pb.go b/pkg/proto/rtc/rtc.pb.go new file mode 100644 index 000000000..314ec9705 --- /dev/null +++ b/pkg/proto/rtc/rtc.pb.go @@ -0,0 +1,935 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.1 +// protoc v3.15.5 +// source: rtc.proto + +package proto + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type CommonResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ErrCode int32 `protobuf:"varint,1,opt,name=errCode,proto3" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg,proto3" json:"errMsg,omitempty"` +} + +func (x *CommonResp) Reset() { + *x = CommonResp{} + if protoimpl.UnsafeEnabled { + mi := &file_rtc_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommonResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommonResp) ProtoMessage() {} + +func (x *CommonResp) ProtoReflect() protoreflect.Message { + mi := &file_rtc_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CommonResp.ProtoReflect.Descriptor instead. +func (*CommonResp) Descriptor() ([]byte, []int) { + return file_rtc_proto_rawDescGZIP(), []int{0} +} + +func (x *CommonResp) GetErrCode() int32 { + if x != nil { + return x.ErrCode + } + return 0 +} + +func (x *CommonResp) GetErrMsg() string { + if x != nil { + return x.ErrMsg + } + return "" +} + +type GroupInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID,omitempty"` + GroupName string `protobuf:"bytes,2,opt,name=groupName,proto3" json:"groupName,omitempty"` + Notification string `protobuf:"bytes,3,opt,name=notification,proto3" json:"notification,omitempty"` + Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction,omitempty"` + FaceURL string `protobuf:"bytes,5,opt,name=faceURL,proto3" json:"faceURL,omitempty"` + OwnerUserID string `protobuf:"bytes,6,opt,name=ownerUserID,proto3" json:"ownerUserID,omitempty"` + CreateTime uint32 `protobuf:"varint,7,opt,name=createTime,proto3" json:"createTime,omitempty"` + MemberCount uint32 `protobuf:"varint,8,opt,name=memberCount,proto3" json:"memberCount,omitempty"` + Ex string `protobuf:"bytes,9,opt,name=ex,proto3" json:"ex,omitempty"` + Status int32 `protobuf:"varint,10,opt,name=status,proto3" json:"status,omitempty"` + CreatorUserID string `protobuf:"bytes,11,opt,name=creatorUserID,proto3" json:"creatorUserID,omitempty"` + GroupType int32 `protobuf:"varint,12,opt,name=groupType,proto3" json:"groupType,omitempty"` +} + +func (x *GroupInfo) Reset() { + *x = GroupInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_rtc_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GroupInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupInfo) ProtoMessage() {} + +func (x *GroupInfo) ProtoReflect() protoreflect.Message { + mi := &file_rtc_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupInfo.ProtoReflect.Descriptor instead. +func (*GroupInfo) Descriptor() ([]byte, []int) { + return file_rtc_proto_rawDescGZIP(), []int{1} +} + +func (x *GroupInfo) GetGroupID() string { + if x != nil { + return x.GroupID + } + return "" +} + +func (x *GroupInfo) GetGroupName() string { + if x != nil { + return x.GroupName + } + return "" +} + +func (x *GroupInfo) GetNotification() string { + if x != nil { + return x.Notification + } + return "" +} + +func (x *GroupInfo) GetIntroduction() string { + if x != nil { + return x.Introduction + } + return "" +} + +func (x *GroupInfo) GetFaceURL() string { + if x != nil { + return x.FaceURL + } + return "" +} + +func (x *GroupInfo) GetOwnerUserID() string { + if x != nil { + return x.OwnerUserID + } + return "" +} + +func (x *GroupInfo) GetCreateTime() uint32 { + if x != nil { + return x.CreateTime + } + return 0 +} + +func (x *GroupInfo) GetMemberCount() uint32 { + if x != nil { + return x.MemberCount + } + return 0 +} + +func (x *GroupInfo) GetEx() string { + if x != nil { + return x.Ex + } + return "" +} + +func (x *GroupInfo) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *GroupInfo) GetCreatorUserID() string { + if x != nil { + return x.CreatorUserID + } + return "" +} + +func (x *GroupInfo) GetGroupType() int32 { + if x != nil { + return x.GroupType + } + return 0 +} + +type GroupMemberFullInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID,omitempty"` + UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID,omitempty"` + RoleLevel int32 `protobuf:"varint,3,opt,name=roleLevel,proto3" json:"roleLevel,omitempty"` + JoinTime int32 `protobuf:"varint,4,opt,name=joinTime,proto3" json:"joinTime,omitempty"` + Nickname string `protobuf:"bytes,5,opt,name=nickname,proto3" json:"nickname,omitempty"` + FaceURL string `protobuf:"bytes,6,opt,name=faceURL,proto3" json:"faceURL,omitempty"` + AppMangerLevel int32 `protobuf:"varint,7,opt,name=appMangerLevel,proto3" json:"appMangerLevel,omitempty"` //if >0 + JoinSource int32 `protobuf:"varint,8,opt,name=joinSource,proto3" json:"joinSource,omitempty"` + OperatorUserID string `protobuf:"bytes,9,opt,name=operatorUserID,proto3" json:"operatorUserID,omitempty"` + Ex string `protobuf:"bytes,10,opt,name=ex,proto3" json:"ex,omitempty"` +} + +func (x *GroupMemberFullInfo) Reset() { + *x = GroupMemberFullInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_rtc_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GroupMemberFullInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupMemberFullInfo) ProtoMessage() {} + +func (x *GroupMemberFullInfo) ProtoReflect() protoreflect.Message { + mi := &file_rtc_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupMemberFullInfo.ProtoReflect.Descriptor instead. +func (*GroupMemberFullInfo) Descriptor() ([]byte, []int) { + return file_rtc_proto_rawDescGZIP(), []int{2} +} + +func (x *GroupMemberFullInfo) GetGroupID() string { + if x != nil { + return x.GroupID + } + return "" +} + +func (x *GroupMemberFullInfo) GetUserID() string { + if x != nil { + return x.UserID + } + return "" +} + +func (x *GroupMemberFullInfo) GetRoleLevel() int32 { + if x != nil { + return x.RoleLevel + } + return 0 +} + +func (x *GroupMemberFullInfo) GetJoinTime() int32 { + if x != nil { + return x.JoinTime + } + return 0 +} + +func (x *GroupMemberFullInfo) GetNickname() string { + if x != nil { + return x.Nickname + } + return "" +} + +func (x *GroupMemberFullInfo) GetFaceURL() string { + if x != nil { + return x.FaceURL + } + return "" +} + +func (x *GroupMemberFullInfo) GetAppMangerLevel() int32 { + if x != nil { + return x.AppMangerLevel + } + return 0 +} + +func (x *GroupMemberFullInfo) GetJoinSource() int32 { + if x != nil { + return x.JoinSource + } + return 0 +} + +func (x *GroupMemberFullInfo) GetOperatorUserID() string { + if x != nil { + return x.OperatorUserID + } + return "" +} + +func (x *GroupMemberFullInfo) GetEx() string { + if x != nil { + return x.Ex + } + return "" +} + +type ParticipantMetaData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GroupInfo *GroupInfo `protobuf:"bytes,1,opt,name=groupInfo,proto3" json:"groupInfo,omitempty"` + GroupMemberInfo *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=groupMemberInfo,proto3" json:"groupMemberInfo,omitempty"` + UserInfo *PublicUserInfo `protobuf:"bytes,3,opt,name=userInfo,proto3" json:"userInfo,omitempty"` +} + +func (x *ParticipantMetaData) Reset() { + *x = ParticipantMetaData{} + if protoimpl.UnsafeEnabled { + mi := &file_rtc_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ParticipantMetaData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ParticipantMetaData) ProtoMessage() {} + +func (x *ParticipantMetaData) ProtoReflect() protoreflect.Message { + mi := &file_rtc_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ParticipantMetaData.ProtoReflect.Descriptor instead. +func (*ParticipantMetaData) Descriptor() ([]byte, []int) { + return file_rtc_proto_rawDescGZIP(), []int{3} +} + +func (x *ParticipantMetaData) GetGroupInfo() *GroupInfo { + if x != nil { + return x.GroupInfo + } + return nil +} + +func (x *ParticipantMetaData) GetGroupMemberInfo() *GroupMemberFullInfo { + if x != nil { + return x.GroupMemberInfo + } + return nil +} + +func (x *ParticipantMetaData) GetUserInfo() *PublicUserInfo { + if x != nil { + return x.UserInfo + } + return nil +} + +type PublicUserInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID,omitempty"` + Nickname string `protobuf:"bytes,2,opt,name=nickname,proto3" json:"nickname,omitempty"` + FaceURL string `protobuf:"bytes,3,opt,name=faceURL,proto3" json:"faceURL,omitempty"` + Gender int32 `protobuf:"varint,4,opt,name=gender,proto3" json:"gender,omitempty"` + Ex string `protobuf:"bytes,5,opt,name=ex,proto3" json:"ex,omitempty"` +} + +func (x *PublicUserInfo) Reset() { + *x = PublicUserInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_rtc_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PublicUserInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PublicUserInfo) ProtoMessage() {} + +func (x *PublicUserInfo) ProtoReflect() protoreflect.Message { + mi := &file_rtc_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PublicUserInfo.ProtoReflect.Descriptor instead. +func (*PublicUserInfo) Descriptor() ([]byte, []int) { + return file_rtc_proto_rawDescGZIP(), []int{4} +} + +func (x *PublicUserInfo) GetUserID() string { + if x != nil { + return x.UserID + } + return "" +} + +func (x *PublicUserInfo) GetNickname() string { + if x != nil { + return x.Nickname + } + return "" +} + +func (x *PublicUserInfo) GetFaceURL() string { + if x != nil { + return x.FaceURL + } + return "" +} + +func (x *PublicUserInfo) GetGender() int32 { + if x != nil { + return x.Gender + } + return 0 +} + +func (x *PublicUserInfo) GetEx() string { + if x != nil { + return x.Ex + } + return "" +} + +type GetJoinTokenReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Room string `protobuf:"bytes,1,opt,name=room,proto3" json:"room,omitempty"` + Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` + MetaData *ParticipantMetaData `protobuf:"bytes,3,opt,name=metaData,proto3" json:"metaData,omitempty"` + OperationID string `protobuf:"bytes,4,opt,name=operationID,proto3" json:"operationID,omitempty"` +} + +func (x *GetJoinTokenReq) Reset() { + *x = GetJoinTokenReq{} + if protoimpl.UnsafeEnabled { + mi := &file_rtc_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetJoinTokenReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetJoinTokenReq) ProtoMessage() {} + +func (x *GetJoinTokenReq) ProtoReflect() protoreflect.Message { + mi := &file_rtc_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetJoinTokenReq.ProtoReflect.Descriptor instead. +func (*GetJoinTokenReq) Descriptor() ([]byte, []int) { + return file_rtc_proto_rawDescGZIP(), []int{5} +} + +func (x *GetJoinTokenReq) GetRoom() string { + if x != nil { + return x.Room + } + return "" +} + +func (x *GetJoinTokenReq) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *GetJoinTokenReq) GetMetaData() *ParticipantMetaData { + if x != nil { + return x.MetaData + } + return nil +} + +func (x *GetJoinTokenReq) GetOperationID() string { + if x != nil { + return x.OperationID + } + return "" +} + +type GetJoinTokenResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` + Jwt string `protobuf:"bytes,2,opt,name=jwt,proto3" json:"jwt,omitempty"` + LiveURL string `protobuf:"bytes,3,opt,name=liveURL,proto3" json:"liveURL,omitempty"` +} + +func (x *GetJoinTokenResp) Reset() { + *x = GetJoinTokenResp{} + if protoimpl.UnsafeEnabled { + mi := &file_rtc_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetJoinTokenResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetJoinTokenResp) ProtoMessage() {} + +func (x *GetJoinTokenResp) ProtoReflect() protoreflect.Message { + mi := &file_rtc_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetJoinTokenResp.ProtoReflect.Descriptor instead. +func (*GetJoinTokenResp) Descriptor() ([]byte, []int) { + return file_rtc_proto_rawDescGZIP(), []int{6} +} + +func (x *GetJoinTokenResp) GetCommonResp() *CommonResp { + if x != nil { + return x.CommonResp + } + return nil +} + +func (x *GetJoinTokenResp) GetJwt() string { + if x != nil { + return x.Jwt + } + return "" +} + +func (x *GetJoinTokenResp) GetLiveURL() string { + if x != nil { + return x.LiveURL + } + return "" +} + +var File_rtc_proto protoreflect.FileDescriptor + +var file_rtc_proto_rawDesc = []byte{ + 0x0a, 0x09, 0x72, 0x74, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x72, 0x74, 0x63, + 0x22, 0x3e, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, + 0x0a, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x4d, + 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, + 0x22, 0xf5, 0x02, 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, + 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, + 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, + 0x0a, 0x07, 0x66, 0x61, 0x63, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x66, 0x61, 0x63, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x22, 0xb7, 0x02, 0x0a, 0x13, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, + 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, + 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x12, 0x1a, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61, 0x63, 0x65, + 0x55, 0x52, 0x4c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x61, 0x63, 0x65, 0x55, + 0x52, 0x4c, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x4d, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x70, 0x70, 0x4d, + 0x61, 0x6e, 0x67, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x6a, 0x6f, + 0x69, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x6a, 0x6f, 0x69, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x65, 0x78, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x65, 0x78, 0x22, 0xb8, 0x01, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, + 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x09, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x72, 0x74, 0x63, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x42, 0x0a, 0x0f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x74, 0x63, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2f, 0x0a, 0x08, + 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x72, 0x74, 0x63, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x86, 0x01, + 0x0a, 0x0e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61, 0x63, 0x65, 0x55, 0x52, 0x4c, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x61, 0x63, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x16, + 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x65, 0x78, 0x22, 0x99, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4a, 0x6f, + 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, + 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, + 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x34, 0x0a, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, + 0x74, 0x63, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, + 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x44, 0x22, 0x6f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2f, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x72, 0x74, 0x63, + 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6a, 0x77, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6a, 0x77, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, 0x76, + 0x65, 0x55, 0x52, 0x4c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x76, 0x65, + 0x55, 0x52, 0x4c, 0x32, 0x49, 0x0a, 0x0a, 0x52, 0x74, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x12, 0x3b, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x14, 0x2e, 0x72, 0x74, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x72, 0x74, 0x63, 0x2e, 0x47, 0x65, + 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0b, + 0x5a, 0x09, 0x2e, 0x2f, 0x72, 0x74, 0x63, 0x3b, 0x72, 0x74, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_rtc_proto_rawDescOnce sync.Once + file_rtc_proto_rawDescData = file_rtc_proto_rawDesc +) + +func file_rtc_proto_rawDescGZIP() []byte { + file_rtc_proto_rawDescOnce.Do(func() { + file_rtc_proto_rawDescData = protoimpl.X.CompressGZIP(file_rtc_proto_rawDescData) + }) + return file_rtc_proto_rawDescData +} + +var file_rtc_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_rtc_proto_goTypes = []interface{}{ + (*CommonResp)(nil), // 0: rtc.CommonResp + (*GroupInfo)(nil), // 1: rtc.GroupInfo + (*GroupMemberFullInfo)(nil), // 2: rtc.GroupMemberFullInfo + (*ParticipantMetaData)(nil), // 3: rtc.ParticipantMetaData + (*PublicUserInfo)(nil), // 4: rtc.PublicUserInfo + (*GetJoinTokenReq)(nil), // 5: rtc.GetJoinTokenReq + (*GetJoinTokenResp)(nil), // 6: rtc.GetJoinTokenResp +} +var file_rtc_proto_depIdxs = []int32{ + 1, // 0: rtc.ParticipantMetaData.groupInfo:type_name -> rtc.GroupInfo + 2, // 1: rtc.ParticipantMetaData.groupMemberInfo:type_name -> rtc.GroupMemberFullInfo + 4, // 2: rtc.ParticipantMetaData.userInfo:type_name -> rtc.PublicUserInfo + 3, // 3: rtc.GetJoinTokenReq.metaData:type_name -> rtc.ParticipantMetaData + 0, // 4: rtc.GetJoinTokenResp.CommonResp:type_name -> rtc.CommonResp + 5, // 5: rtc.RtcService.GetJoinToken:input_type -> rtc.GetJoinTokenReq + 6, // 6: rtc.RtcService.GetJoinToken:output_type -> rtc.GetJoinTokenResp + 6, // [6:7] is the sub-list for method output_type + 5, // [5:6] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { file_rtc_proto_init() } +func file_rtc_proto_init() { + if File_rtc_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_rtc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommonResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rtc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GroupInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rtc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GroupMemberFullInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rtc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ParticipantMetaData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rtc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PublicUserInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rtc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetJoinTokenReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rtc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetJoinTokenResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_rtc_proto_rawDesc, + NumEnums: 0, + NumMessages: 7, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_rtc_proto_goTypes, + DependencyIndexes: file_rtc_proto_depIdxs, + MessageInfos: file_rtc_proto_msgTypes, + }.Build() + File_rtc_proto = out.File + file_rtc_proto_rawDesc = nil + file_rtc_proto_goTypes = nil + file_rtc_proto_depIdxs = nil +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// RtcServiceClient is the client API for RtcService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type RtcServiceClient interface { + GetJoinToken(ctx context.Context, in *GetJoinTokenReq, opts ...grpc.CallOption) (*GetJoinTokenResp, error) +} + +type rtcServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewRtcServiceClient(cc grpc.ClientConnInterface) RtcServiceClient { + return &rtcServiceClient{cc} +} + +func (c *rtcServiceClient) GetJoinToken(ctx context.Context, in *GetJoinTokenReq, opts ...grpc.CallOption) (*GetJoinTokenResp, error) { + out := new(GetJoinTokenResp) + err := c.cc.Invoke(ctx, "/rtc.RtcService/GetJoinToken", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// RtcServiceServer is the server API for RtcService service. +type RtcServiceServer interface { + GetJoinToken(context.Context, *GetJoinTokenReq) (*GetJoinTokenResp, error) +} + +// UnimplementedRtcServiceServer can be embedded to have forward compatible implementations. +type UnimplementedRtcServiceServer struct { +} + +func (*UnimplementedRtcServiceServer) GetJoinToken(context.Context, *GetJoinTokenReq) (*GetJoinTokenResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetJoinToken not implemented") +} + +func RegisterRtcServiceServer(s *grpc.Server, srv RtcServiceServer) { + s.RegisterService(&_RtcService_serviceDesc, srv) +} + +func _RtcService_GetJoinToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetJoinTokenReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RtcServiceServer).GetJoinToken(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/rtc.RtcService/GetJoinToken", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RtcServiceServer).GetJoinToken(ctx, req.(*GetJoinTokenReq)) + } + return interceptor(ctx, in, info, handler) +} + +var _RtcService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "rtc.RtcService", + HandlerType: (*RtcServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetJoinToken", + Handler: _RtcService_GetJoinToken_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "rtc.proto", +} diff --git a/pkg/proto/rtc/rtc.proto b/pkg/proto/rtc/rtc.proto new file mode 100644 index 000000000..02fc4358e --- /dev/null +++ b/pkg/proto/rtc/rtc.proto @@ -0,0 +1,69 @@ +syntax = "proto3"; +option go_package = "./rtc;rtc"; +package rtc; + +message CommonResp{ + int32 errCode = 1; + string errMsg = 2; +} + +message GroupInfo{ + string groupID = 1; + string groupName = 2; + string notification = 3; + string introduction = 4; + string faceURL = 5; + string ownerUserID = 6; + uint32 createTime = 7; + uint32 memberCount = 8; + string ex = 9; + int32 status = 10; + string creatorUserID = 11; + int32 groupType = 12; +} + +message GroupMemberFullInfo { + string groupID = 1 ; + string userID = 2 ; + int32 roleLevel = 3; + int32 joinTime = 4; + string nickname = 5; + string faceURL = 6; + int32 appMangerLevel = 7; //if >0 + int32 joinSource = 8; + string operatorUserID = 9; + string ex = 10; +} + +message ParticipantMetaData{ + GroupInfo groupInfo = 1; + GroupMemberFullInfo groupMemberInfo = 2; + PublicUserInfo userInfo = 3; +} + +message PublicUserInfo{ + string userID = 1; + string nickname = 2; + string faceURL = 3; + int32 gender = 4; + string ex = 5; +} + +message GetJoinTokenReq{ + string room = 1; + string identity = 2; + ParticipantMetaData metaData = 3; + string operationID = 4; +} + +message GetJoinTokenResp{ + CommonResp CommonResp = 1; + string jwt = 2; + string liveURL = 3; +} + +service RtcService { + rpc GetJoinToken(GetJoinTokenReq) returns(GetJoinTokenResp); +} + + From 2bb6061a44231effad6639980af13bccd0308922 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 17 Mar 2022 10:41:34 +0800 Subject: [PATCH 070/129] pb modify --- .../msg_gateway/gate/open_im_media/room.go | 28 +++++++------------ internal/msg_gateway/gate/validate.go | 23 ++++----------- 2 files changed, 16 insertions(+), 35 deletions(-) diff --git a/internal/msg_gateway/gate/open_im_media/room.go b/internal/msg_gateway/gate/open_im_media/room.go index 640dc7b6d..bddd36922 100644 --- a/internal/msg_gateway/gate/open_im_media/room.go +++ b/internal/msg_gateway/gate/open_im_media/room.go @@ -5,13 +5,11 @@ import ( open_im_sdk "Open_IM/pkg/proto/sdk_ws" "context" "errors" + "github.com/jinzhu/copier" "google.golang.org/grpc" ) const ( - MediaAddress = "ws://43.128.5.63:7880" - ApiKey = "APIGPW3gnFTzqHH" - ApiSecret = "23ztfSqsfQ8hKkHzHTl3Z4bvaxro0snjk5jwbp5p6Q3" // Address gRPC服务地址 Address = "127.0.0.1:11300" ) @@ -19,36 +17,30 @@ const ( //var roomClient *lksdk.RoomServiceClient type Media struct { - MediaAddress string - ApiKey string - ApiSecret string } func NewMedia() *Media { - return &Media{MediaAddress: MediaAddress, - ApiKey: ApiKey, - ApiSecret: ApiSecret} -} -func (m *Media) GetUrl() string { - return m.MediaAddress + return &Media{} } -func (m *Media) GetJoinToken(room, identity string, operationID string, data *open_im_sdk.ParticipantMetaData) (string, error) { +func (m *Media) GetJoinToken(room, identity string, operationID string, data *open_im_sdk.ParticipantMetaData) (string, string, error) { + var newData pbRtc.ParticipantMetaData + copier.Copy(&newData, data) conn, err := grpc.Dial(Address, grpc.WithInsecure()) if err != nil { - return "", err + return "", "", err } defer conn.Close() c := pbRtc.NewRtcServiceClient(conn) - req := &pbRtc.GetJoinTokenReq{ApiKey: m.ApiKey, ApiSecret: m.ApiSecret, Room: room, OperationID: operationID, Identity: identity, MetaData: data} + req := &pbRtc.GetJoinTokenReq{Room: room, OperationID: operationID, Identity: identity, MetaData: &newData} resp, err := c.GetJoinToken(context.Background(), req) if err != nil { - return "", err + return "", "", err } if resp.CommonResp.ErrCode != 0 { - return "", errors.New(resp.CommonResp.ErrMsg) + return "", "", errors.New(resp.CommonResp.ErrMsg) } - return resp.Jwt, nil + return resp.Jwt, resp.LiveURL, nil //at := auth.NewAccessToken(m.ApiKey, m.ApiSecret) //grant := &auth.VideoGrant{ // RoomJoin: true, diff --git a/internal/msg_gateway/gate/validate.go b/internal/msg_gateway/gate/validate.go index 5184eab7f..dc98bd182 100644 --- a/internal/msg_gateway/gate/validate.go +++ b/internal/msg_gateway/gate/validate.go @@ -139,20 +139,14 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq, operationID s msg.Options = options switch payload := s.Payload.(type) { case *open_im_sdk.SignalReq_Invite: - //_, err := media.CreateRoom(payload.Invite.Invitation.RoomID) - //if err != nil { - // return false, 201, err.Error(), nil, nil - // - //} - - token, err2 := media.GetJoinToken(payload.Invite.Invitation.RoomID, payload.Invite.Invitation.InviterUserID, operationID, payload.Invite.Participant) + token, liveURL, err2 := media.GetJoinToken(payload.Invite.Invitation.RoomID, payload.Invite.Invitation.InviterUserID, operationID, payload.Invite.Participant) if err2 != nil { return false, 202, err2.Error(), nil, nil } invite := open_im_sdk.SignalResp_Invite{&open_im_sdk.SignalInviteReply{ Token: token, RoomID: payload.Invite.Invitation.RoomID, - LiveURL: media.GetUrl(), + LiveURL: liveURL, }} resp.Payload = &invite msg.SenderPlatformID = payload.Invite.Invitation.PlatformID @@ -167,19 +161,14 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq, operationID s msg.ClientMsgID = utils.GetMsgID(payload.Invite.Invitation.InviterUserID) return true, 0, "", &resp, &msg case *open_im_sdk.SignalReq_InviteInGroup: - //_, err := media.CreateRoom(payload.InviteInGroup.Invitation.RoomID) - //if err != nil { - // return false, 201, err.Error(), nil, nil - // - //} - token, err2 := media.GetJoinToken(payload.InviteInGroup.Invitation.RoomID, payload.InviteInGroup.Invitation.InviterUserID, operationID, payload.InviteInGroup.Participant) + token, liveURL, err2 := media.GetJoinToken(payload.InviteInGroup.Invitation.RoomID, payload.InviteInGroup.Invitation.InviterUserID, operationID, payload.InviteInGroup.Participant) if err2 != nil { return false, 204, err2.Error(), nil, nil } inviteGroup := open_im_sdk.SignalResp_InviteInGroup{&open_im_sdk.SignalInviteInGroupReply{ RoomID: payload.InviteInGroup.Invitation.RoomID, Token: token, - LiveURL: media.GetUrl(), + LiveURL: liveURL, }} resp.Payload = &inviteGroup msg.SenderPlatformID = payload.InviteInGroup.Invitation.PlatformID @@ -214,13 +203,13 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq, operationID s msg.ClientMsgID = utils.GetMsgID(payload.Cancel.OpUserID) return true, 0, "", &resp, &msg case *open_im_sdk.SignalReq_Accept: - token, err2 := media.GetJoinToken(payload.Accept.Invitation.RoomID, payload.Accept.OpUserID, operationID, payload.Accept.Participant) + token, liveURL, err2 := media.GetJoinToken(payload.Accept.Invitation.RoomID, payload.Accept.OpUserID, operationID, payload.Accept.Participant) if err2 != nil { return false, 207, err2.Error(), nil, nil } accept := open_im_sdk.SignalResp_Accept{&open_im_sdk.SignalAcceptReply{ Token: token, - LiveURL: media.GetUrl(), + LiveURL: liveURL, RoomID: payload.Accept.Invitation.RoomID, }} resp.Payload = &accept From 2fc2801ad4e6b4548c06a5e5a5ab16faf4380cba Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 17 Mar 2022 11:55:35 +0800 Subject: [PATCH 071/129] mongo single node --- pkg/common/db/model.go | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/pkg/common/db/model.go b/pkg/common/db/model.go index 0576e6286..b45dcde79 100644 --- a/pkg/common/db/model.go +++ b/pkg/common/db/model.go @@ -17,15 +17,14 @@ import ( //"go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/mongo" // "go.mongodb.org/mongo-driver/mongo/options" - ) var DB DataBases type DataBases struct { - MysqlDB mysqlDB - mgoSession *mgo.Session - redisPool *redis.Pool + MysqlDB mysqlDB + mgoSession *mgo.Session + redisPool *redis.Pool mongoClient *mongo.Client } @@ -42,12 +41,12 @@ func init() { // mongo init // "mongodb://sysop:moon@localhost/records" uri := "mongodb://sample.host:27017/?maxPoolSize=20&w=majority" - uri = fmt.Sprintf("mongodb://%s/%s/?maxPoolSize=%d", - config.Config.Mongo.DBAddress[0],config.Config.Mongo.DBDatabase, + uri = fmt.Sprintf("mongodb://%s/%s/?maxPoolSize=%d&connect=direct", + config.Config.Mongo.DBAddress[0], config.Config.Mongo.DBDatabase, config.Config.Mongo.DBMaxPoolSize) mongoClient, err := mongo.Connect(context.TODO(), options.Client().ApplyURI(uri)) - if err != nil{ + if err != nil { log.NewError(" mongo.Connect failed, try ", utils.GetSelfFuncName(), err.Error(), uri) time.Sleep(time.Duration(30) * time.Second) mongoClient, err1 = mongo.Connect(context.TODO(), options.Client().ApplyURI(uri)) From 7bdf6717e1093ec4034affda32fc4c7fed249b05 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Thu, 17 Mar 2022 11:57:21 +0800 Subject: [PATCH 072/129] add log --- cmd/Open-IM-SDK-Core | 2 +- go.mod | 2 +- internal/api/friend/friend.go | 24 ++++++++--------- internal/api/group/group.go | 26 +++++++++---------- internal/api/manage/management_user.go | 8 +++--- .../api/third/minio_storage_credential.go | 6 ++--- .../third/tencent_cloud_storage_credential.go | 2 +- internal/api/user/user.go | 6 ++--- internal/msg_gateway/gate/ws_server.go | 4 ++- pkg/common/constant/error.go | 21 ++++++++------- pkg/common/token_verify/jwt_token.go | 5 ++-- 11 files changed, 55 insertions(+), 51 deletions(-) diff --git a/cmd/Open-IM-SDK-Core b/cmd/Open-IM-SDK-Core index 0ccb57697..a06dfeeda 160000 --- a/cmd/Open-IM-SDK-Core +++ b/cmd/Open-IM-SDK-Core @@ -1 +1 @@ -Subproject commit 0ccb576978b852bc5d8b51badc54daace6fe0b4c +Subproject commit a06dfeeda56815ac9a9bb401dd30ab12b374d658 diff --git a/go.mod b/go.mod index 02b9d322c..a1afd34d0 100644 --- a/go.mod +++ b/go.mod @@ -32,7 +32,7 @@ require ( github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible github.com/lestrrat-go/strftime v1.0.4 // indirect github.com/lib/pq v1.2.0 // indirect - github.com/livekit/protocol v0.11.14-0.20220223195254-d8c251e13231 + //github.com/livekit/protocol v0.11.14-0.20220223195254-d8c251e13231 // indirect //github.com/livekit/server-sdk-go v0.9.1 github.com/mattn/go-sqlite3 v1.14.6 // indirect github.com/minio/minio-go/v7 v7.0.22 diff --git a/internal/api/friend/friend.go b/internal/api/friend/friend.go index 1c6b0a9b2..054878c0c 100644 --- a/internal/api/friend/friend.go +++ b/internal/api/friend/friend.go @@ -26,7 +26,7 @@ func AddBlack(c *gin.Context) { req := &rpc.AddBlacklistReq{CommID: &rpc.CommID{}} utils.CopyStructFields(req.CommID, ¶ms) var ok bool - ok, req.CommID.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.CommID.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) if !ok { log.NewError(req.CommID.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -57,7 +57,7 @@ func ImportFriend(c *gin.Context) { req := &rpc.ImportFriendReq{} utils.CopyStructFields(req, ¶ms) var ok bool - ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -97,7 +97,7 @@ func AddFriend(c *gin.Context) { utils.CopyStructFields(req.CommID, ¶ms.ParamsCommFriend) req.ReqMsg = params.ReqMsg var ok bool - ok, req.CommID.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.CommID.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) if !ok { log.NewError(req.CommID.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -131,7 +131,7 @@ func AddFriendResponse(c *gin.Context) { req.HandleMsg = params.HandleMsg req.HandleResult = params.Flag var ok bool - ok, req.CommID.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.CommID.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) if !ok { log.NewError(req.CommID.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -164,7 +164,7 @@ func DeleteFriend(c *gin.Context) { req := &rpc.DeleteFriendReq{CommID: &rpc.CommID{}} utils.CopyStructFields(req.CommID, ¶ms.ParamsCommFriend) var ok bool - ok, req.CommID.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.CommID.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) if !ok { log.NewError(req.CommID.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -196,7 +196,7 @@ func GetBlacklist(c *gin.Context) { req := &rpc.GetBlacklistReq{CommID: &rpc.CommID{}} utils.CopyStructFields(req.CommID, ¶ms) var ok bool - ok, req.CommID.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.CommID.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) if !ok { log.NewError(req.CommID.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -235,7 +235,7 @@ func SetFriendRemark(c *gin.Context) { utils.CopyStructFields(req.CommID, ¶ms.ParamsCommFriend) req.Remark = params.Remark var ok bool - ok, req.CommID.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.CommID.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) if !ok { log.NewError(req.CommID.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -267,7 +267,7 @@ func RemoveBlack(c *gin.Context) { req := &rpc.RemoveBlacklistReq{CommID: &rpc.CommID{}} utils.CopyStructFields(req.CommID, ¶ms.ParamsCommFriend) var ok bool - ok, req.CommID.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.CommID.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) if !ok { log.NewError(req.CommID.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -298,7 +298,7 @@ func IsFriend(c *gin.Context) { req := &rpc.IsFriendReq{CommID: &rpc.CommID{}} utils.CopyStructFields(req.CommID, ¶ms.ParamsCommFriend) var ok bool - ok, req.CommID.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.CommID.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) if !ok { log.NewError(req.CommID.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -365,7 +365,7 @@ func GetFriendList(c *gin.Context) { req := &rpc.GetFriendListReq{CommID: &rpc.CommID{}} utils.CopyStructFields(req.CommID, ¶ms) var ok bool - ok, req.CommID.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.CommID.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) if !ok { log.NewError(req.CommID.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -399,7 +399,7 @@ func GetFriendApplyList(c *gin.Context) { req := &rpc.GetFriendApplyListReq{CommID: &rpc.CommID{}} utils.CopyStructFields(req.CommID, ¶ms) var ok bool - ok, req.CommID.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.CommID.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) if !ok { log.NewError(req.CommID.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -433,7 +433,7 @@ func GetSelfFriendApplyList(c *gin.Context) { req := &rpc.GetSelfApplyListReq{CommID: &rpc.CommID{}} utils.CopyStructFields(req.CommID, ¶ms) var ok bool - ok, req.CommID.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.CommID.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.CommID.OperationID) if !ok { log.NewError(req.CommID.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) diff --git a/internal/api/group/group.go b/internal/api/group/group.go index 887a89594..d7f7ecf11 100644 --- a/internal/api/group/group.go +++ b/internal/api/group/group.go @@ -30,7 +30,7 @@ func KickGroupMember(c *gin.Context) { req := &rpc.KickGroupMemberReq{} utils.CopyStructFields(req, ¶ms) var ok bool - ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -72,7 +72,7 @@ func GetGroupMembersInfo(c *gin.Context) { req := &rpc.GetGroupMembersInfoReq{} utils.CopyStructFields(req, params) var ok bool - ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) //c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -107,7 +107,7 @@ func GetGroupMemberList(c *gin.Context) { req := &rpc.GetGroupMemberListReq{} utils.CopyStructFields(req, params) var ok bool - ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -142,7 +142,7 @@ func GetGroupAllMemberList(c *gin.Context) { req := &rpc.GetGroupAllMemberReq{} utils.CopyStructFields(req, ¶ms) var ok bool - ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -175,7 +175,7 @@ func GetJoinedGroupList(c *gin.Context) { req := &rpc.GetJoinedGroupListReq{} utils.CopyStructFields(req, params) var ok bool - ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -208,7 +208,7 @@ func InviteUserToGroup(c *gin.Context) { req := &rpc.InviteUserToGroupReq{} utils.CopyStructFields(req, ¶ms) var ok bool - ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -253,7 +253,7 @@ func CreateGroup(c *gin.Context) { req.InitMemberList = append(req.InitMemberList, &rpc.GroupAddMemberInfo{UserID: v.UserID, RoleLevel: v.RoleLevel}) } var ok bool - ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -356,7 +356,7 @@ func GetGroupsInfo(c *gin.Context) { req := &rpc.GetGroupsInfoReq{} utils.CopyStructFields(req, ¶ms) var ok bool - ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -389,7 +389,7 @@ func ApplicationGroupResponse(c *gin.Context) { req := &rpc.GroupApplicationResponseReq{} utils.CopyStructFields(req, ¶ms) var ok bool - ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -421,7 +421,7 @@ func JoinGroup(c *gin.Context) { req := &rpc.JoinGroupReq{} utils.CopyStructFields(req, params) var ok bool - ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -452,7 +452,7 @@ func QuitGroup(c *gin.Context) { req := &rpc.QuitGroupReq{} utils.CopyStructFields(req, ¶ms) var ok bool - ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -484,7 +484,7 @@ func SetGroupInfo(c *gin.Context) { utils.CopyStructFields(req.GroupInfo, ¶ms) req.OperationID = params.OperationID var ok bool - ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -515,7 +515,7 @@ func TransferGroupOwner(c *gin.Context) { req := &rpc.TransferGroupOwnerReq{} utils.CopyStructFields(req, ¶ms) var ok bool - ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) diff --git a/internal/api/manage/management_user.go b/internal/api/manage/management_user.go index 6ef6f678f..5bcc19be0 100644 --- a/internal/api/manage/management_user.go +++ b/internal/api/manage/management_user.go @@ -31,7 +31,7 @@ func DeleteUser(c *gin.Context) { req := &rpc.DeleteUsersReq{} utils.CopyStructFields(req, ¶ms) var ok bool - ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -63,7 +63,7 @@ func GetAllUsersUid(c *gin.Context) { req := &rpc.GetAllUserIDReq{} utils.CopyStructFields(req, ¶ms) var ok bool - ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -95,7 +95,7 @@ func AccountCheck(c *gin.Context) { req := &rpc.AccountCheckReq{} utils.CopyStructFields(req, ¶ms) var ok bool - ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -127,7 +127,7 @@ func GetUsersOnlineStatus(c *gin.Context) { req := &pbRelay.GetUsersOnlineStatusReq{} utils.CopyStructFields(req, ¶ms) var ok bool - ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) diff --git a/internal/api/third/minio_storage_credential.go b/internal/api/third/minio_storage_credential.go index f34f64c94..f4862c062 100644 --- a/internal/api/third/minio_storage_credential.go +++ b/internal/api/third/minio_storage_credential.go @@ -16,7 +16,7 @@ import ( func MinioStorageCredential(c *gin.Context) { var ( - req apiStruct.MinioStorageCredentialReq + req apiStruct.MinioStorageCredentialReq resp apiStruct.MiniostorageCredentialResp ) if err := c.BindJSON(&req); err != nil { @@ -24,7 +24,7 @@ func MinioStorageCredential(c *gin.Context) { c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } - ok, _ := token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, _ := token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { log.NewError("", utils.GetSelfFuncName(), "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -51,5 +51,5 @@ func MinioStorageCredential(c *gin.Context) { resp.AccessKeyID = v.AccessKeyID resp.BucketName = config.Config.Credential.Minio.Bucket resp.StsEndpointURL = config.Config.Credential.Minio.Endpoint - c.JSON(http.StatusOK, gin.H{"errCode": 0, "errMsg": "", "data":resp}) + c.JSON(http.StatusOK, gin.H{"errCode": 0, "errMsg": "", "data": resp}) } diff --git a/internal/api/third/tencent_cloud_storage_credential.go b/internal/api/third/tencent_cloud_storage_credential.go index d78d03b96..ed293791e 100644 --- a/internal/api/third/tencent_cloud_storage_credential.go +++ b/internal/api/third/tencent_cloud_storage_credential.go @@ -22,7 +22,7 @@ func TencentCloudStorageCredential(c *gin.Context) { c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } - ok, userID := token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, userID := token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) diff --git a/internal/api/user/user.go b/internal/api/user/user.go index 4fa1c62dd..1756a9f8d 100644 --- a/internal/api/user/user.go +++ b/internal/api/user/user.go @@ -26,7 +26,7 @@ func GetUsersInfo(c *gin.Context) { req := &rpc.GetUserInfoReq{} utils.CopyStructFields(req, ¶ms) var ok bool - ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -66,7 +66,7 @@ func UpdateUserInfo(c *gin.Context) { req.OperationID = params.OperationID var ok bool - ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) @@ -98,7 +98,7 @@ func GetSelfUserInfo(c *gin.Context) { utils.CopyStructFields(req, ¶ms) var ok bool - ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index 477d43420..afade2f7f 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -131,10 +131,12 @@ func (ws *WServer) MultiTerminalLoginChecker(uid string, platformID int32, newCo log.NewError("", "conn close err", err.Error(), uid, platformID) } + } else { + log.NewWarn("", "abnormal uid-conn ", uid, platformID, oldConnMap[constant.PlatformIDToName(platformID)]) } } else { - log.NewDebug("no other conn", ws.wsUserToConn) + log.NewDebug("no other conn", ws.wsUserToConn, uid, platformID) } case constant.SingleTerminalLogin: diff --git a/pkg/common/constant/error.go b/pkg/common/constant/error.go index 548720a37..b41474b03 100644 --- a/pkg/common/constant/error.go +++ b/pkg/common/constant/error.go @@ -9,7 +9,7 @@ type ErrInfo struct { } var ( - OK = ErrInfo{0, ""} + OK = ErrInfo{0, ""} ErrServer = ErrInfo{500, "server error"} // ErrMysql = ErrInfo{100, ""} @@ -47,10 +47,11 @@ var ( ErrTokenMalformed = ErrInfo{703, TokenMalformedMsg.Error()} ErrTokenNotValidYet = ErrInfo{704, TokenNotValidYetMsg.Error()} ErrTokenUnknown = ErrInfo{705, TokenUnknownMsg.Error()} + ErrTokenKicked = ErrInfo{706, TokenUserKickedMsg.Error()} - ErrAccess = ErrInfo{ErrCode: 801, ErrMsg: AccessMsg.Error()} - ErrDB = ErrInfo{ErrCode: 802, ErrMsg: DBMsg.Error()} - ErrArgs = ErrInfo{ErrCode: 8003, ErrMsg: ArgsMsg.Error()} + ErrAccess = ErrInfo{ErrCode: 801, ErrMsg: AccessMsg.Error()} + ErrDB = ErrInfo{ErrCode: 802, ErrMsg: DBMsg.Error()} + ErrArgs = ErrInfo{ErrCode: 8003, ErrMsg: ArgsMsg.Error()} ErrCallback = ErrInfo{ErrCode: 809, ErrMsg: CallBackMsg.Error()} ) @@ -61,11 +62,11 @@ var ( TokenNotValidYetMsg = errors.New("token not active yet") TokenMalformedMsg = errors.New("that's not even a token") TokenUnknownMsg = errors.New("couldn't handle this token") - - AccessMsg = errors.New("no permission") - DBMsg = errors.New("db failed") - ArgsMsg = errors.New("args failed") - CallBackMsg = errors.New("callback failed") + TokenUserKickedMsg = errors.New("user has been kicked") + AccessMsg = errors.New("no permission") + DBMsg = errors.New("db failed") + ArgsMsg = errors.New("args failed") + CallBackMsg = errors.New("callback failed") ThirdPartyMsg = errors.New("third party error") ) @@ -90,7 +91,7 @@ const ( IntentionalError = 10007 ) -func (e ErrInfo) Error() string { +func (e *ErrInfo) Error() string { return e.ErrMsg } diff --git a/pkg/common/token_verify/jwt_token.go b/pkg/common/token_verify/jwt_token.go index 50aecc8ae..4ace7048b 100644 --- a/pkg/common/token_verify/jwt_token.go +++ b/pkg/common/token_verify/jwt_token.go @@ -129,9 +129,10 @@ func CheckAccess(OpUserID string, OwnerUserID string) bool { return false } -func GetUserIDFromToken(token string) (bool, string) { +func GetUserIDFromToken(token string, operationID string) (bool, string) { claims, err := ParseToken(token) if err != nil { + log.Error(operationID, "ParseToken failed, ", err.Error(), token) return false, "" } return true, claims.UID @@ -162,7 +163,7 @@ func ParseToken(tokensString string) (claims *Claims, err error) { case constant.InValidToken: return nil, &constant.ErrTokenInvalid case constant.KickedToken: - return nil, &constant.ErrTokenInvalid + return nil, &constant.ErrTokenKicked case constant.ExpiredToken: return nil, &constant.ErrTokenExpired default: From cb8f7e0ddb6913f7bb8b20de7d5bc9cb6b7a7899 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 17 Mar 2022 12:08:39 +0800 Subject: [PATCH 073/129] mongo single node --- pkg/common/db/model.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/db/model.go b/pkg/common/db/model.go index b45dcde79..6e3048db9 100644 --- a/pkg/common/db/model.go +++ b/pkg/common/db/model.go @@ -41,7 +41,7 @@ func init() { // mongo init // "mongodb://sysop:moon@localhost/records" uri := "mongodb://sample.host:27017/?maxPoolSize=20&w=majority" - uri = fmt.Sprintf("mongodb://%s/%s/?maxPoolSize=%d&connect=direct", + uri = fmt.Sprintf("mongodb://%s/%s/?connect=direct&maxPoolSize=%d", config.Config.Mongo.DBAddress[0], config.Config.Mongo.DBDatabase, config.Config.Mongo.DBMaxPoolSize) From fbafcd0cbceaa8e91d9db6e4140b7bedc9119e5a Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 17 Mar 2022 12:48:24 +0800 Subject: [PATCH 074/129] rtc add --- config/config.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index 0b86cdbbd..21ded2735 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -8,7 +8,7 @@ etcd: etcdAddr: [ 127.0.0.1:2379 ] #单机部署时,默认即可 mysql: - dbMysqlAddress: [ 43.128.5.63:13306 ] #mysql地址 目前仅支持单机,默认即可 + dbMysqlAddress: [ 127.0.0.1:13306 ] #mysql地址 目前仅支持单机,默认即可 dbMysqlUserName: root #mysql用户名,建议修改 dbMysqlPassword: openIM # mysql密码,建议修改 dbMysqlDatabaseName: openIM_v2 #默认即可 @@ -19,7 +19,7 @@ mysql: dbMaxLifeTime: 120 mongo: - dbAddress: [ 43.128.5.63:37017 ] #redis地址 目前仅支持单机,默认即可 + dbAddress: [ 127.0.0.1:37017 ] #redis地址 目前仅支持单机,默认即可 dbDirect: false dbTimeout: 10 dbDatabase: openIM #mongo db 默认即可 @@ -30,7 +30,7 @@ mongo: dbRetainChatRecords: 3650 #mongo保存离线消息时间(天),根据需求修改 redis: - dbAddress: 43.128.5.63:16379 #redis地址 目前仅支持单机,默认即可 + dbAddress: 127.0.0.1:16379 #redis地址 目前仅支持单机,默认即可 dbMaxIdle: 128 dbMaxActive: 0 dbIdleTimeout: 120 From f02fb7ba1594a73801eb7bf808b32b70542105e1 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 17 Mar 2022 12:48:54 +0800 Subject: [PATCH 075/129] rtc add --- cmd/open_im_api/main.go | 1 - internal/api/chat/del_msg.go | 32 -------------------------------- internal/rpc/msg/del_msg.go | 6 +++++- pkg/proto/chat/chat.pb.go | 18 +++++++++--------- pkg/proto/chat/chat.proto | 2 +- 5 files changed, 15 insertions(+), 44 deletions(-) delete mode 100644 internal/api/chat/del_msg.go diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index 0fea4b0f8..033688f7e 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -85,7 +85,6 @@ func main() { chatGroup.POST("/newest_seq", apiChat.GetSeq) chatGroup.POST("/send_msg", apiChat.SendMsg) chatGroup.POST("/pull_msg_by_seq", apiChat.PullMsgBySeqList) - //chatGroup.POST("/del_msg", apiChat) } //Manager managementGroup := r.Group("/manager") diff --git a/internal/api/chat/del_msg.go b/internal/api/chat/del_msg.go deleted file mode 100644 index 6cdda51ed..000000000 --- a/internal/api/chat/del_msg.go +++ /dev/null @@ -1,32 +0,0 @@ -package apiChat - -// -//import ( -// apiStruct "Open_IM/pkg/base_info" -// "Open_IM/pkg/common/config" -// "Open_IM/pkg/common/log" -// "Open_IM/pkg/common/token_verify" -// "Open_IM/pkg/grpc-etcdv3/getcdv3" -// pbChat "Open_IM/pkg/proto/chat" -// "Open_IM/pkg/utils" -// "github.com/gin-gonic/gin" -// "net/http" -// "strings" -//) -// -//func DelMsg(c *gin.Context) { -// var ( -// req apiStruct.DelMsgReq -// resp apiStruct.DelMsgResp -// reqPb pbChat. -// ) -// ok, userID := token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) -// if !ok { -// log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) -// c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) -// return -// } -// grpcConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName) -// msgClient := pbChat.NewChatClient(grpcConn) -// //respPb, err := msgClient.DelMsgList() -//} diff --git a/internal/rpc/msg/del_msg.go b/internal/rpc/msg/del_msg.go index 1e76409f8..b2252730d 100644 --- a/internal/rpc/msg/del_msg.go +++ b/internal/rpc/msg/del_msg.go @@ -1,6 +1,7 @@ package msg import ( + "Open_IM/pkg/common/db" "Open_IM/pkg/common/log" commonPb "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" @@ -9,7 +10,10 @@ import ( func (rpc *rpcChat) DelMsgList(_ context.Context, req *commonPb.DelMsgListReq) (*commonPb.DelMsgListResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) + //if err := db.DelMsg(req.UserID, req.SeqList); err != nil { + // log.NewError(req.OperationID, utils.GetSelfFuncName(), "DelMsg failed", err.Error()) + //} resp := &commonPb.DelMsgListResp{} - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) return resp, nil } diff --git a/pkg/proto/chat/chat.pb.go b/pkg/proto/chat/chat.pb.go index eb385ede8..cf1c6ba50 100644 --- a/pkg/proto/chat/chat.pb.go +++ b/pkg/proto/chat/chat.pb.go @@ -37,7 +37,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_chat_89690664d189a305, []int{0} + return fileDescriptor_chat_83f286704599d5b1, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -90,7 +90,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_chat_89690664d189a305, []int{1} + return fileDescriptor_chat_83f286704599d5b1, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -137,7 +137,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_chat_89690664d189a305, []int{2} + return fileDescriptor_chat_83f286704599d5b1, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -210,7 +210,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_chat_89690664d189a305, []int{3} + return fileDescriptor_chat_83f286704599d5b1, []int{3} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -258,7 +258,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_chat_89690664d189a305, []int{4} + return fileDescriptor_chat_83f286704599d5b1, []int{4} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -319,7 +319,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_chat_89690664d189a305, []int{5} + return fileDescriptor_chat_83f286704599d5b1, []int{5} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -375,7 +375,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_chat_89690664d189a305, []int{6} + return fileDescriptor_chat_83f286704599d5b1, []int{6} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -611,9 +611,9 @@ var _Chat_serviceDesc = grpc.ServiceDesc{ Metadata: "chat/chat.proto", } -func init() { proto.RegisterFile("chat/chat.proto", fileDescriptor_chat_89690664d189a305) } +func init() { proto.RegisterFile("chat/chat.proto", fileDescriptor_chat_83f286704599d5b1) } -var fileDescriptor_chat_89690664d189a305 = []byte{ +var fileDescriptor_chat_83f286704599d5b1 = []byte{ // 507 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x54, 0xcd, 0x6e, 0xda, 0x40, 0x10, 0x96, 0x49, 0x80, 0x32, 0x34, 0x42, 0xda, 0x44, 0x95, 0xe5, 0x5e, 0x1c, 0x9f, 0x50, 0x2b, diff --git a/pkg/proto/chat/chat.proto b/pkg/proto/chat/chat.proto index 21ba8c4aa..146994f01 100644 --- a/pkg/proto/chat/chat.proto +++ b/pkg/proto/chat/chat.proto @@ -78,5 +78,5 @@ service Chat { rpc GetMaxAndMinSeq(GetMaxAndMinSeqReq) returns(GetMaxAndMinSeqResp); rpc PullMessageBySeqList(server_api_params.PullMessageBySeqListReq) returns(server_api_params.PullMessageBySeqListResp); rpc SendMsg(SendMsgReq) returns(SendMsgResp); - // rpc DelMsgList(server_api_params.DelMsgListReq) returns(server_api_params.DelMsgListResp); + rpc DelMsgList(server_api_params.DelMsgListReq) returns(server_api_params.DelMsgListResp); } From 2b03e7aea80e577794dfd01bb587086ed9b57f48 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Thu, 17 Mar 2022 13:49:21 +0800 Subject: [PATCH 076/129] add log --- internal/msg_gateway/gate/ws_server.go | 27 ++++++++++++++------------ pkg/utils/utils.go | 5 +++++ 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index afade2f7f..ab37fbfc1 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -93,20 +93,20 @@ func (ws *WServer) writeMsg(conn *UserConn, a int, msg []byte) error { return conn.WriteMessage(a, msg) } -func (ws *WServer) MultiTerminalLoginChecker(uid string, platformID int32, newConn *UserConn, token string) { +func (ws *WServer) MultiTerminalLoginChecker(uid string, platformID int32, newConn *UserConn, token string, operationID string) { switch config.Config.MultiLoginPolicy { case constant.AllLoginButSameTermKick: - if oldConnMap, ok := ws.wsUserToConn[uid]; ok { + if oldConnMap, ok := ws.wsUserToConn[uid]; ok { // user->map[platform->conn] if oldConn, ok := oldConnMap[constant.PlatformIDToName(platformID)]; ok { - log.NewDebug("", uid, platformID, "kick old conn") + log.NewDebug(operationID, uid, platformID, "kick old conn") ws.sendKickMsg(oldConn, newConn) m, err := db.DB.GetTokenMapByUidPid(uid, constant.PlatformIDToName(platformID)) if err != nil && err != redis.ErrNil { - log.NewError("", "get token from redis err", err.Error()) + log.NewError(operationID, "get token from redis err", err.Error()) return } if m == nil { - log.NewError("", "get token from redis err", "m is nil") + log.NewError(operationID, "get token from redis err", "m is nil") return } for k, _ := range m { @@ -114,10 +114,10 @@ func (ws *WServer) MultiTerminalLoginChecker(uid string, platformID int32, newCo m[k] = constant.KickedToken } } - log.NewDebug("get map is ", m) + log.NewDebug(operationID, "get map is ", m) err = db.DB.SetTokenMapByUidPid(uid, platformID, m) if err != nil { - log.NewError("", "SetTokenMapByUidPid err", err.Error()) + log.NewError(operationID, "SetTokenMapByUidPid err", err.Error()) return } err = oldConn.Close() @@ -128,15 +128,15 @@ func (ws *WServer) MultiTerminalLoginChecker(uid string, platformID int32, newCo } delete(ws.wsConnToUser, oldConn) if err != nil { - log.NewError("", "conn close err", err.Error(), uid, platformID) + log.NewError(operationID, "conn close err", err.Error(), uid, platformID) } } else { - log.NewWarn("", "abnormal uid-conn ", uid, platformID, oldConnMap[constant.PlatformIDToName(platformID)]) + log.NewWarn(operationID, "abnormal uid-conn ", uid, platformID, oldConnMap[constant.PlatformIDToName(platformID)]) } } else { - log.NewDebug("no other conn", ws.wsUserToConn, uid, platformID) + log.NewDebug(operationID, "no other conn", ws.wsUserToConn, uid, platformID) } case constant.SingleTerminalLogin: @@ -164,14 +164,17 @@ func (ws *WServer) sendKickMsg(oldConn, newConn *UserConn) { func (ws *WServer) addUserConn(uid string, platformID int32, conn *UserConn, token string) { rwLock.Lock() defer rwLock.Unlock() - ws.MultiTerminalLoginChecker(uid, platformID, conn, token) + operationID := utils.OperationIDGenerator() + ws.MultiTerminalLoginChecker(uid, platformID, conn, token, operationID) if oldConnMap, ok := ws.wsUserToConn[uid]; ok { oldConnMap[constant.PlatformIDToName(platformID)] = conn ws.wsUserToConn[uid] = oldConnMap + log.Debug(operationID, "user not first come in, add conn ", uid, platformID, conn, oldConnMap) } else { i := make(map[string]*UserConn) i[constant.PlatformIDToName(platformID)] = conn ws.wsUserToConn[uid] = i + log.Debug(operationID, "user first come in, new user, conn", uid, platformID, conn, ws.wsUserToConn[uid]) } if oldStringMap, ok := ws.wsConnToUser[conn]; ok { oldStringMap[constant.PlatformIDToName(platformID)] = uid @@ -185,7 +188,7 @@ func (ws *WServer) addUserConn(uid string, platformID int32, conn *UserConn, tok for _, v := range ws.wsUserToConn { count = count + len(v) } - log.Debug("WS Add operation", "", "wsUser added", ws.wsUserToConn, "connection_uid", uid, "connection_platform", constant.PlatformIDToName(platformID), "online_user_num", len(ws.wsUserToConn), "online_conn_num", count) + log.Debug(operationID, "WS Add operation", "", "wsUser added", ws.wsUserToConn, "connection_uid", uid, "connection_platform", constant.PlatformIDToName(platformID), "online_user_num", len(ws.wsUserToConn), "online_conn_num", count) userCount = uint64(len(ws.wsUserToConn)) } diff --git a/pkg/utils/utils.go b/pkg/utils/utils.go index 440d3a993..0ee464aad 100644 --- a/pkg/utils/utils.go +++ b/pkg/utils/utils.go @@ -3,9 +3,11 @@ package utils import ( "github.com/jinzhu/copier" "github.com/pkg/errors" + "math/rand" "runtime" "strconv" "strings" + "time" ) // copy a by b b->a @@ -71,3 +73,6 @@ func Difference(slice1, slice2 []uint32) []uint32 { } return n } +func OperationIDGenerator() string { + return strconv.FormatInt(time.Now().UnixNano()+int64(rand.Uint32()), 10) +} From f70a20f7405bf6facb7a7e7d9739fb89f002bf2d Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 17 Mar 2022 14:12:49 +0800 Subject: [PATCH 077/129] rtc add --- internal/rpc/msg/del_msg.go | 1 - pkg/common/config/config.go | 2 +- pkg/common/constant/error.go | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/internal/rpc/msg/del_msg.go b/internal/rpc/msg/del_msg.go index b2252730d..ce1303eb7 100644 --- a/internal/rpc/msg/del_msg.go +++ b/internal/rpc/msg/del_msg.go @@ -1,7 +1,6 @@ package msg import ( - "Open_IM/pkg/common/db" "Open_IM/pkg/common/log" commonPb "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index dde2e6d62..2a57344e8 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -22,7 +22,7 @@ var Config config type callBackConfig struct { Enable bool `yaml:"enable"` CallbackTimeOut int `yaml:"callbackTimeOut"` - CallbackFailedContinue bool `callbackFailedContinue` + CallbackFailedContinue bool `yaml:"callbackFailedContinue"` } type config struct { diff --git a/pkg/common/constant/error.go b/pkg/common/constant/error.go index b41474b03..00a11fd49 100644 --- a/pkg/common/constant/error.go +++ b/pkg/common/constant/error.go @@ -91,7 +91,7 @@ const ( IntentionalError = 10007 ) -func (e *ErrInfo) Error() string { +func (e ErrInfo) Error() string { return e.ErrMsg } From 60950f056b7596ac43a6f57ff018694787c4c68e Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Thu, 17 Mar 2022 14:56:18 +0800 Subject: [PATCH 078/129] fix bug : etcd Put failed etcdserver: requested lease not found --- pkg/grpc-etcdv3/getcdv3/register.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/pkg/grpc-etcdv3/getcdv3/register.go b/pkg/grpc-etcdv3/getcdv3/register.go index 898a4b8c0..6bfdb626c 100644 --- a/pkg/grpc-etcdv3/getcdv3/register.go +++ b/pkg/grpc-etcdv3/getcdv3/register.go @@ -78,15 +78,25 @@ func RegisterEtcd(schema, etcdAddr, myHost string, myPort int, serviceName strin log.Debug("", "KeepAlive kresp ok", pv) } else { log.Error("", "KeepAlive kresp failed", pv) - t := time.NewTicker(time.Duration(ttl) * time.Second) + t := time.NewTicker(time.Duration(ttl/2) * time.Second) for { select { case <-t.C: } + ctx, _ := context.WithCancel(context.Background()) + resp, err := cli.Grant(ctx, int64(ttl)) + if err != nil { + log.Error("", "Grant failed ", err.Error()) + continue + } + if _, err := cli.Put(ctx, serviceKey, serviceValue, clientv3.WithLease(resp.ID)); err != nil { log.Error("", "etcd Put failed ", err.Error(), serviceKey, serviceValue, resp.ID) + continue + } else { + log.Info("", "etcd Put ok", serviceKey, serviceValue, resp.ID) } - log.Info("", "etcd Put ok", serviceKey, serviceValue, resp.ID) + } } } From 7790686a84f0ad3a6c025c4d137b66a166e518aa Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 17 Mar 2022 15:46:32 +0800 Subject: [PATCH 079/129] ws add token platform verify --- internal/msg_gateway/gate/ws_server.go | 4 ++-- internal/rpc/auth/auth.go | 2 +- pkg/common/token_verify/jwt_token.go | 15 +++++++++++++++ pkg/utils/strings.go | 4 ++++ 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index ab37fbfc1..7c602a5fc 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -263,9 +263,9 @@ func (ws *WServer) headerCheck(w http.ResponseWriter, r *http.Request) bool { status := http.StatusUnauthorized query := r.URL.Query() if len(query["token"]) != 0 && len(query["sendID"]) != 0 && len(query["platformID"]) != 0 { - if ok, err := token_verify.VerifyToken(query["token"][0], query["sendID"][0]); !ok { + if ok, err, msg := token_verify.WsVerifyToken(query["token"][0], query["sendID"][0], query["platformID"][0]); !ok { e := err.(*constant.ErrInfo) - log.ErrorByKv("Token verify failed", "", "query", query) + log.ErrorByKv("Token verify failed", "", "query", query, msg) w.Header().Set("Sec-Websocket-Version", "13") http.Error(w, e.ErrMsg, int(e.ErrCode)) return false diff --git a/internal/rpc/auth/auth.go b/internal/rpc/auth/auth.go index bb804d6e2..ed6ec4404 100644 --- a/internal/rpc/auth/auth.go +++ b/internal/rpc/auth/auth.go @@ -51,7 +51,7 @@ func (rpc *rpcAuth) UserToken(_ context.Context, req *pbAuth.UserTokenReq) (*pbA return &pbAuth.UserTokenResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } - log.NewInfo(req.OperationID, "rpc UserToken return ") + log.NewInfo(req.OperationID, "rpc UserToken return ", tokens, expTime) return &pbAuth.UserTokenResp{CommonResp: &pbAuth.CommonResp{}, Token: tokens, ExpiredTime: expTime}, nil } diff --git a/pkg/common/token_verify/jwt_token.go b/pkg/common/token_verify/jwt_token.go index 4ace7048b..21334a7a8 100644 --- a/pkg/common/token_verify/jwt_token.go +++ b/pkg/common/token_verify/jwt_token.go @@ -202,6 +202,21 @@ func VerifyToken(token, uid string) (bool, error) { if claims.UID != uid { return false, &constant.ErrTokenUnknown } + log.NewDebug("", claims.UID, claims.Platform) return true, nil } +func WsVerifyToken(token, uid string, platformID string) (bool, error, string) { + claims, err := ParseToken(token) + if err != nil { + return false, err, "parse token err" + } + if claims.UID != uid { + return false, &constant.ErrTokenUnknown, "uid is not same to token uid" + } + if claims.Platform != constant.PlatformIDToName(utils.StringToInt32(platformID)) { + return false, &constant.ErrTokenUnknown, "platform is not same to token platform" + } + log.NewDebug("", claims.UID, claims.Platform) + return true, nil, "" +} diff --git a/pkg/utils/strings.go b/pkg/utils/strings.go index 3265d2dc4..38262a95c 100644 --- a/pkg/utils/strings.go +++ b/pkg/utils/strings.go @@ -25,6 +25,10 @@ func StringToInt64(i string) int64 { j, _ := strconv.ParseInt(i, 10, 64) return j } +func StringToInt32(i string) int32 { + j, _ := strconv.ParseInt(i, 10, 64) + return int32(j) +} func Int32ToString(i int32) string { return strconv.FormatInt(int64(i), 10) } From 984bc37e29fb8c487f9a10a3b56aa354cdd03019 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 17 Mar 2022 16:43:10 +0800 Subject: [PATCH 080/129] middleware --- internal/cms_api/middleware/jwt_auth.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/cms_api/middleware/jwt_auth.go b/internal/cms_api/middleware/jwt_auth.go index f245fc4ad..a6f1af993 100644 --- a/internal/cms_api/middleware/jwt_auth.go +++ b/internal/cms_api/middleware/jwt_auth.go @@ -11,7 +11,7 @@ import ( func JWTAuth() gin.HandlerFunc { return func(c *gin.Context) { - ok, userID := token_verify.GetUserIDFromToken(c.Request.Header.Get("token")) + ok, userID := token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), "") log.NewInfo("0", utils.GetSelfFuncName(), "userID: ", userID) c.Set("userID", userID) if !ok { From 366f7621fae6dee8325a16716b2b76aecb2b1bd4 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 17 Mar 2022 19:00:05 +0800 Subject: [PATCH 081/129] rtc add --- cmd/open_im_api/main.go | 1 + go.mod | 1 + internal/api/chat/del_msg.go | 43 +++++++++++++++++++++++++++ internal/rpc/msg/del_msg.go | 11 +++++-- pkg/base_info/msg.go | 6 +++- pkg/common/constant/constant.go | 4 +++ pkg/common/db/mongoModel.go | 51 +++++++++++++++++++++++++++++++++ 7 files changed, 113 insertions(+), 4 deletions(-) create mode 100644 internal/api/chat/del_msg.go diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index 033688f7e..7329d187d 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -85,6 +85,7 @@ func main() { chatGroup.POST("/newest_seq", apiChat.GetSeq) chatGroup.POST("/send_msg", apiChat.SendMsg) chatGroup.POST("/pull_msg_by_seq", apiChat.PullMsgBySeqList) + chatGroup.POST("/del_msg", apiChat.DelMsg) } //Manager managementGroup := r.Group("/manager") diff --git a/go.mod b/go.mod index a1afd34d0..4b9da4af5 100644 --- a/go.mod +++ b/go.mod @@ -21,6 +21,7 @@ require ( github.com/gin-gonic/gin v1.7.0 github.com/go-playground/validator/v10 v10.4.1 github.com/go-sql-driver/mysql v1.6.0 // indirect + github.com/gogo/protobuf v1.3.2 // indirect github.com/golang-jwt/jwt/v4 v4.1.0 github.com/golang/protobuf v1.5.2 github.com/golang/snappy v0.0.4 // indirect diff --git a/internal/api/chat/del_msg.go b/internal/api/chat/del_msg.go new file mode 100644 index 000000000..81b705953 --- /dev/null +++ b/internal/api/chat/del_msg.go @@ -0,0 +1,43 @@ +package apiChat + +import ( + api "Open_IM/pkg/base_info" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" + pbChat "Open_IM/pkg/proto/chat" + pbCommon "Open_IM/pkg/proto/sdk_ws" + "Open_IM/pkg/utils" + "context" + "github.com/gin-gonic/gin" + "net/http" + "strings" +) + +func DelMsg(c *gin.Context) { + var ( + req api.DelMsgReq + resp api.DelMsgResp + reqPb pbCommon.DelMsgListReq + ) + if err := c.BindJSON(&req); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) + return + } + if err := utils.CopyStructFields(&reqPb, &req); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields", err.Error()) + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req:", req) + grpcConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName) + msgClient := pbChat.NewChatClient(grpcConn) + respPb, err := msgClient.DelMsgList(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "DelMsgList failed", err.Error(), reqPb) + c.JSON(http.StatusOK, gin.H{"errCode": constant.ErrServer.ErrCode, "errMsg": constant.ErrServer.ErrMsg + err.Error()}) + return + } + resp.ErrCode = respPb.ErrCode + resp.ErrMsg = respPb.ErrMsg + c.JSON(http.StatusOK, resp) +} diff --git a/internal/rpc/msg/del_msg.go b/internal/rpc/msg/del_msg.go index ce1303eb7..838312d40 100644 --- a/internal/rpc/msg/del_msg.go +++ b/internal/rpc/msg/del_msg.go @@ -1,6 +1,8 @@ package msg import ( + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/db" "Open_IM/pkg/common/log" commonPb "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" @@ -9,10 +11,13 @@ import ( func (rpc *rpcChat) DelMsgList(_ context.Context, req *commonPb.DelMsgListReq) (*commonPb.DelMsgListResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - //if err := db.DelMsg(req.UserID, req.SeqList); err != nil { - // log.NewError(req.OperationID, utils.GetSelfFuncName(), "DelMsg failed", err.Error()) - //} resp := &commonPb.DelMsgListResp{} + if err := db.DB.DelMsgLogic(req.UserID, req.SeqList, req.OperationID); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "DelMsg failed", err.Error()) + resp.ErrMsg = constant.ErrDB.ErrMsg + resp.ErrCode = constant.ErrDB.ErrCode + return resp, err + } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) return resp, nil } diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index d7aa11a82..bc80cf304 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -1,8 +1,12 @@ package base_info type DelMsgReq struct { - OperationID string `json:"operationID"` + OpUserID string `json:"opUserID,omitempty"` + UserID string `json:"userID,omitempty"` + SeqList []uint32 `json:"seqList,omitempty"` + OperationID string `json:"operationID,omitempty"` } type DelMsgResp struct { + CommResp } diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index d89ae677c..ff5506c75 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -83,6 +83,10 @@ const ( SignalingNotificationEnd = 1699 NotificationEnd = 2000 + //status + MsgNormal = 1 + MsgDeleted = 3 + //MsgFrom UserMsgType = 100 SysMsgType = 200 diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go index c63d07f72..e0e8acf68 100644 --- a/pkg/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -2,12 +2,16 @@ package db import ( "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" "Open_IM/pkg/common/log" pbMsg "Open_IM/pkg/proto/chat" open_im_sdk "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" "context" "errors" + "fmt" + "github.com/gogo/protobuf/sortkeys" + //"github.com/garyburd/redigo/redis" "github.com/golang/protobuf/proto" "gopkg.in/mgo.v2/bson" @@ -69,6 +73,41 @@ func (d *DataBases) GetMinSeqFromMongo2(uid string) (MinSeq uint32, err error) { return 1, nil } +// deleteMsgByLogic +func (d *DataBases) DelMsgLogic(uid string, seqList []uint32, operationID string) error { + sortkeys.Uint32s(seqList) + seqMsgs, err := d.GetMsgBySeqListMongo2(uid, seqList, operationID) + if err != nil { + return err + } + for _, seqMsg := range seqMsgs { + seqMsg.Status = constant.MsgDeleted + if err = d.ReplaceMsgBySeq(uid, seqMsg, operationID); err != nil { + log.NewError(operationID, utils.GetSelfFuncName(), "ReplaceMsgListBySeq error", err.Error()) + } + } + return nil +} + +func (d *DataBases) ReplaceMsgBySeq(uid string, msg *open_im_sdk.MsgData, operationID string) error { + log.NewInfo(operationID, utils.GetSelfFuncName(), uid, msg) + ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) + c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cChat) + uid = getSeqUid(uid, msg.Seq) + seqIndex := getMsgIndex(msg.Seq) + s := fmt.Sprintf("msg.%d.msg", seqIndex) + log.NewDebug(operationID, utils.GetSelfFuncName(), seqIndex, s) + updateResult, err := c.UpdateOne( + ctx, bson.M{"uid": uid}, + bson.M{"$set": bson.M{s: msg}}) + log.NewInfo(operationID, utils.GetSelfFuncName(), updateResult) + if err != nil { + log.NewError(operationID, utils.GetSelfFuncName(), "UpdateOne", err.Error()) + return err + } + return nil +} + func (d *DataBases) GetMsgBySeqList(uid string, seqList []uint32, operationID string) (seqMsg []*open_im_sdk.MsgData, err error) { log.NewInfo(operationID, utils.GetSelfFuncName(), uid, seqList) var hasSeqList []uint32 @@ -392,6 +431,18 @@ func getSeqUid(uid string, seq uint32) string { seqSuffix := seq / singleGocMsgNum return indexGen(uid, seqSuffix) } + +func getMsgIndex(seq uint32) int { + seqSuffix := seq / singleGocMsgNum + var index uint32 + if seqSuffix == 0 { + index = (seq - seqSuffix*5000) - 1 + } else { + index = seq - seqSuffix*singleGocMsgNum + } + return int(index) +} + func isContainInt32(target uint32, List []uint32) bool { for _, element := range List { From d77894c8feeb7d9cd892196659f6cb385ab3a851 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 17 Mar 2022 20:55:47 +0800 Subject: [PATCH 082/129] rtc add --- pkg/common/constant/constant.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index ff5506c75..8f0494d53 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -85,7 +85,7 @@ const ( //status MsgNormal = 1 - MsgDeleted = 3 + MsgDeleted = 4 //MsgFrom UserMsgType = 100 From 1b457b0be69826da84af6029fab85e8703c2f216 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Fri, 18 Mar 2022 11:10:06 +0800 Subject: [PATCH 083/129] fix bug : etcd Put failed etcdserver: requested lease not found --- .../msg_transfer/logic/history_msg_handler.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/internal/msg_transfer/logic/history_msg_handler.go b/internal/msg_transfer/logic/history_msg_handler.go index 1281b1732..7d729f5cd 100644 --- a/internal/msg_transfer/logic/history_msg_handler.go +++ b/internal/msg_transfer/logic/history_msg_handler.go @@ -38,15 +38,15 @@ func (mc *HistoryConsumerHandler) Init() { } func (mc *HistoryConsumerHandler) handleChatWs2Mongo(msg []byte, msgKey string) { - log.NewInfo("msg come mongo!!!", "", "msg", string(msg)) time := utils.GetCurrentTimestampByNano() msgFromMQ := pbMsg.MsgDataToMQ{} err := proto.Unmarshal(msg, &msgFromMQ) if err != nil { - log.ErrorByKv("msg_transfer Unmarshal msg err", "", "msg", string(msg), "err", err.Error()) + log.Error("msg_transfer Unmarshal msg err", "", "msg", string(msg), "err", err.Error()) return } operationID := msgFromMQ.OperationID + log.NewInfo(operationID, "msg come mongo!!!", "", "msg", string(msg)) //Control whether to store offline messages (mongo) isHistory := utils.GetSwitchFromOptions(msgFromMQ.MsgData.Options, constant.IsHistory) //Control whether to store history messages (mysql) @@ -99,28 +99,28 @@ func (mc *HistoryConsumerHandler) ConsumeClaim(sess sarama.ConsumerGroupSession, return nil } func sendMessageToPush(message *pbMsg.MsgDataToMQ, pushToUserID string) { - log.InfoByKv("msg_transfer send message to push", message.OperationID, "message", message.String()) + log.Info(message.OperationID, "msg_transfer send message to push", "message", message.String()) rpcPushMsg := pbPush.PushMsgReq{OperationID: message.OperationID, MsgData: message.MsgData, PushToUserID: pushToUserID} mqPushMsg := pbMsg.PushMsgDataToMQ{OperationID: message.OperationID, MsgData: message.MsgData, PushToUserID: pushToUserID} grpcConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImPushName) if grpcConn == nil { - log.ErrorByKv("rpc dial failed", rpcPushMsg.OperationID, "push data", rpcPushMsg.String()) + log.Error(rpcPushMsg.OperationID, "rpc dial failed", "push data", rpcPushMsg.String()) pid, offset, err := producer.SendMessage(&mqPushMsg) if err != nil { - log.ErrorByKv("kafka send failed", mqPushMsg.OperationID, "send data", message.String(), "pid", pid, "offset", offset, "err", err.Error()) + log.Error(mqPushMsg.OperationID, "kafka send failed", "send data", message.String(), "pid", pid, "offset", offset, "err", err.Error()) } return } msgClient := pbPush.NewPushMsgServiceClient(grpcConn) _, err := msgClient.PushMsg(context.Background(), &rpcPushMsg) if err != nil { - log.ErrorByKv("rpc send failed", rpcPushMsg.OperationID, "push data", rpcPushMsg.String(), "err", err.Error()) + log.Error(rpcPushMsg.OperationID, "rpc send failed", rpcPushMsg.OperationID, "push data", rpcPushMsg.String(), "err", err.Error()) pid, offset, err := producer.SendMessage(&mqPushMsg) if err != nil { - log.ErrorByKv("kafka send failed", mqPushMsg.OperationID, "send data", mqPushMsg.String(), "pid", pid, "offset", offset, "err", err.Error()) + log.Error("kafka send failed", mqPushMsg.OperationID, "send data", mqPushMsg.String(), "pid", pid, "offset", offset, "err", err.Error()) } } else { - log.InfoByKv("rpc send success", rpcPushMsg.OperationID, "push data", rpcPushMsg.String()) + log.Info("rpc send success", rpcPushMsg.OperationID, "push data", rpcPushMsg.String()) } } From f93d22ae22020e74f759a070131a1aba0822f5a8 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 18 Mar 2022 17:35:09 +0800 Subject: [PATCH 084/129] log update --- pkg/common/log/logrus.go | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/pkg/common/log/logrus.go b/pkg/common/log/logrus.go index 63485e8d9..a5e0ae7dd 100644 --- a/pkg/common/log/logrus.go +++ b/pkg/common/log/logrus.go @@ -2,6 +2,7 @@ package log import ( "Open_IM/pkg/common/config" + "bufio" "fmt" "os" "time" @@ -32,13 +33,13 @@ func loggerInit(moduleName string) *Logger { //All logs will be printed logger.SetLevel(logrus.Level(config.Config.Log.RemainLogLevel)) //Close std console output - //src, err := os.OpenFile(os.DevNull, os.O_APPEND|os.O_WRONLY, os.ModeAppend) - //if err != nil { - // panic(err.Error()) - //} - //writer := bufio.NewWriter(src) - //logger.SetOutput(writer) - logger.SetOutput(os.Stdout) + src, err := os.OpenFile(os.DevNull, os.O_APPEND|os.O_WRONLY, os.ModeAppend) + if err != nil { + panic(err.Error()) + } + writer := bufio.NewWriter(src) + logger.SetOutput(writer) + //logger.SetOutput(os.Stdout) //Log Console Print Style Setting logger.SetFormatter(&nested.Formatter{ TimestampFormat: "2006-01-02 15:04:05.000", From da5bfe32af891bdba9ae3c6f320360e3d10b67c1 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 18 Mar 2022 18:18:10 +0800 Subject: [PATCH 085/129] log update --- internal/rpc/friend/firend.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/rpc/friend/firend.go b/internal/rpc/friend/firend.go index dcea5be2a..d79f2af33 100644 --- a/internal/rpc/friend/firend.go +++ b/internal/rpc/friend/firend.go @@ -351,7 +351,7 @@ func (s *friendServer) IsInBlackList(ctx context.Context, req *pbFriend.IsInBlac } func (s *friendServer) IsFriend(ctx context.Context, req *pbFriend.IsFriendReq) (*pbFriend.IsFriendResp, error) { - log.NewInfo("IsFriend args ", req.String()) + log.NewInfo(req.CommID.OperationID, req.String()) var isFriend bool if !token_verify.CheckAccess(req.CommID.OpUserID, req.CommID.FromUserID) { log.NewError(req.CommID.OperationID, "CheckAccess false ", req.CommID.OpUserID, req.CommID.FromUserID) @@ -363,7 +363,7 @@ func (s *friendServer) IsFriend(ctx context.Context, req *pbFriend.IsFriendReq) } else { isFriend = false } - log.NewInfo("IsFriend rpc ok ", pbFriend.IsFriendResp{Response: isFriend}) + log.NewInfo(req.CommID.OperationID, pbFriend.IsFriendResp{Response: isFriend}) return &pbFriend.IsFriendResp{Response: isFriend}, nil } From 6b3d984ca6553c49b72d3b914f2572076129864c Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 18 Mar 2022 19:02:46 +0800 Subject: [PATCH 086/129] log update --- internal/rpc/msg/send_msg.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index 3f99ec272..d4ca5764e 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -60,6 +60,7 @@ func userRelationshipVerification(data *pbChat.SendMsgReq) (bool, int32, string) log.NewDebug(data.OperationID, "IsInBlackListReq ", req.String()) return false, 600, "in black list" } + log.NewDebug(data.OperationID, config.Config.MessageVerify.FriendVerify) if config.Config.MessageVerify.FriendVerify { friendReq := &rpc.IsFriendReq{CommID: &rpc.CommID{}} friendReq.CommID.OperationID = data.OperationID @@ -74,6 +75,7 @@ func userRelationshipVerification(data *pbChat.SendMsgReq) (bool, int32, string) log.NewDebug(data.OperationID, "not friend ", req.String()) return friendReply.Response, 601, "not friend" } + log.NewDebug(data.OperationID, config.Config.MessageVerify.FriendVerify, friendReply.Response) } else { return true, 0, "" } From 25adfe5b282dae791dfcafeb9bfacd63460357b3 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 18 Mar 2022 20:06:52 +0800 Subject: [PATCH 087/129] check shell update --- internal/msg_gateway/gate/validate.go | 2 +- internal/rpc/msg/send_msg.go | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/internal/msg_gateway/gate/validate.go b/internal/msg_gateway/gate/validate.go index dc98bd182..ea6891a33 100644 --- a/internal/msg_gateway/gate/validate.go +++ b/internal/msg_gateway/gate/validate.go @@ -132,7 +132,7 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq, operationID s options := make(map[string]bool, 6) utils.SetSwitchFromOptions(options, constant.IsHistory, false) utils.SetSwitchFromOptions(options, constant.IsPersistent, false) - utils.SetSwitchFromOptions(options, constant.IsSenderSync, false) + utils.SetSwitchFromOptions(options, constant.IsSenderSync, true) utils.SetSwitchFromOptions(options, constant.IsConversationUpdate, false) utils.SetSwitchFromOptions(options, constant.IsUnreadCount, false) utils.SetSwitchFromOptions(options, constant.IsOfflinePush, true) diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index d4ca5764e..88a529c6a 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -46,6 +46,7 @@ func userRelationshipVerification(data *pbChat.SendMsgReq) (bool, int32, string) if data.MsgData.SessionType == constant.GroupChatType { return true, 0, "" } + log.NewDebug(data.OperationID, config.Config.MessageVerify.FriendVerify) req := &rpc.IsInBlackListReq{CommID: &rpc.CommID{}} req.CommID.OperationID = data.OperationID req.CommID.OpUserID = data.MsgData.RecvID @@ -76,10 +77,10 @@ func userRelationshipVerification(data *pbChat.SendMsgReq) (bool, int32, string) return friendReply.Response, 601, "not friend" } log.NewDebug(data.OperationID, config.Config.MessageVerify.FriendVerify, friendReply.Response) + return true, 0, "" } else { return true, 0, "" } - return true, 0, "" } func (rpc *rpcChat) encapsulateMsgData(msg *sdk_ws.MsgData) { msg.ServerMsgID = GetMsgID(msg.SendID) From 8a38646bc577d4be0d1496c4f8c05bd0693a1998 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 21 Mar 2022 16:56:52 +0800 Subject: [PATCH 088/129] mongo --- internal/api/manage/management_chat.go | 7 ++++++- pkg/common/db/mongoModel.go | 14 ++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/internal/api/manage/management_chat.go b/internal/api/manage/management_chat.go index 8ff3e5906..11db094cd 100644 --- a/internal/api/manage/management_chat.go +++ b/internal/api/manage/management_chat.go @@ -103,7 +103,8 @@ func ManagementSendMsg(c *gin.Context) { //case constant.Location: case constant.Custom: data = CustomElem{} - //case constant.Revoke: + case constant.Revoke: + data = RevokeElem{} //case constant.HasReadReceipt: //case constant.Typing: //case constant.Quote: @@ -257,3 +258,7 @@ type CustomElem struct { type TextElem struct { Text string `mapstructure:"text" validate:"required"` } + +type RevokeElem struct { + Text string `mapstructure:"text" validate:"required"` +} diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go index e0e8acf68..3f8d1b88b 100644 --- a/pkg/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -78,9 +78,10 @@ func (d *DataBases) DelMsgLogic(uid string, seqList []uint32, operationID string sortkeys.Uint32s(seqList) seqMsgs, err := d.GetMsgBySeqListMongo2(uid, seqList, operationID) if err != nil { - return err + return utils.Wrap(err, "") } for _, seqMsg := range seqMsgs { + log.NewDebug(operationID, utils.GetSelfFuncName(), *seqMsg) seqMsg.Status = constant.MsgDeleted if err = d.ReplaceMsgBySeq(uid, seqMsg, operationID); err != nil { log.NewError(operationID, utils.GetSelfFuncName(), "ReplaceMsgListBySeq error", err.Error()) @@ -90,20 +91,25 @@ func (d *DataBases) DelMsgLogic(uid string, seqList []uint32, operationID string } func (d *DataBases) ReplaceMsgBySeq(uid string, msg *open_im_sdk.MsgData, operationID string) error { - log.NewInfo(operationID, utils.GetSelfFuncName(), uid, msg) + log.NewInfo(operationID, utils.GetSelfFuncName(), uid, *msg) ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cChat) uid = getSeqUid(uid, msg.Seq) seqIndex := getMsgIndex(msg.Seq) s := fmt.Sprintf("msg.%d.msg", seqIndex) log.NewDebug(operationID, utils.GetSelfFuncName(), seqIndex, s) + bytes, err := proto.Marshal(msg) + if err != nil { + log.NewError(operationID, utils.GetSelfFuncName(), "proto marshal", err.Error()) + return utils.Wrap(err, "") + } updateResult, err := c.UpdateOne( ctx, bson.M{"uid": uid}, - bson.M{"$set": bson.M{s: msg}}) + bson.M{"$set": bson.M{s: bytes}}) log.NewInfo(operationID, utils.GetSelfFuncName(), updateResult) if err != nil { log.NewError(operationID, utils.GetSelfFuncName(), "UpdateOne", err.Error()) - return err + return utils.Wrap(err, "") } return nil } From 09ce0d5285e2671e2ec999260bfe3406d4efe072 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 21 Mar 2022 19:19:33 +0800 Subject: [PATCH 089/129] mongo --- internal/api/manage/management_chat.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/api/manage/management_chat.go b/internal/api/manage/management_chat.go index 11db094cd..06399e3b5 100644 --- a/internal/api/manage/management_chat.go +++ b/internal/api/manage/management_chat.go @@ -122,7 +122,7 @@ func ManagementSendMsg(c *gin.Context) { log.ErrorByKv("data args validate err", "", "err", err.Error()) return } - + log.NewInfo("", data, params) token := c.Request.Header.Get("token") claims, err := token_verify.ParseToken(token) if err != nil { From e75adb165a1e4420a575580ee4f961b52b48243a Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 21 Mar 2022 19:36:10 +0800 Subject: [PATCH 090/129] mongo --- internal/api/manage/management_chat.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/internal/api/manage/management_chat.go b/internal/api/manage/management_chat.go index 06399e3b5..d97b696f8 100644 --- a/internal/api/manage/management_chat.go +++ b/internal/api/manage/management_chat.go @@ -40,6 +40,8 @@ func newUserSendMsgReq(params *ManagementSendMsgReq) *pbChat.SendMsgReq { fallthrough case constant.File: newContent = utils.StructToJsonString(params.Content) + case constant.Revoke: + newContent = params.Content["revokeMsgClientID"].(string) default: } var options map[string]bool @@ -260,5 +262,5 @@ type TextElem struct { } type RevokeElem struct { - Text string `mapstructure:"text" validate:"required"` + RevokeMsgClientID string `mapstructure:"revokeMsgClientID" validate:"required"` } From 8034ddc413288ee0d16c8e40c24f00532373c52d Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 22 Mar 2022 14:30:07 +0800 Subject: [PATCH 091/129] mongo --- internal/api/manage/management_chat.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/internal/api/manage/management_chat.go b/internal/api/manage/management_chat.go index d97b696f8..368a2735e 100644 --- a/internal/api/manage/management_chat.go +++ b/internal/api/manage/management_chat.go @@ -130,6 +130,7 @@ func ManagementSendMsg(c *gin.Context) { if err != nil { log.NewError(params.OperationID, "parse token failed", err.Error()) c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "parse token failed", "sendTime": 0, "MsgID": ""}) + return } if !utils.IsContain(claims.UID, config.Config.Manager.AppManagerUid) { c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "not authorized", "sendTime": 0, "MsgID": ""}) @@ -141,11 +142,13 @@ func ManagementSendMsg(c *gin.Context) { if len(params.RecvID) == 0 { log.NewError(params.OperationID, "recvID is a null string") c.JSON(http.StatusBadRequest, gin.H{"errCode": 405, "errMsg": "recvID is a null string", "sendTime": 0, "MsgID": ""}) + return } case constant.GroupChatType: if len(params.GroupID) == 0 { log.NewError(params.OperationID, "groupID is a null string") c.JSON(http.StatusBadRequest, gin.H{"errCode": 405, "errMsg": "groupID is a null string", "sendTime": 0, "MsgID": ""}) + return } } From eef9d15aaa1166bc9a18b3884b55ef5f15281267 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 22 Mar 2022 18:13:34 +0800 Subject: [PATCH 092/129] ws remove log --- internal/msg_gateway/gate/logic.go | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/internal/msg_gateway/gate/logic.go b/internal/msg_gateway/gate/logic.go index 50ac457ad..a89d1bfe1 100644 --- a/internal/msg_gateway/gate/logic.go +++ b/internal/msg_gateway/gate/logic.go @@ -28,7 +28,7 @@ func (ws *WServer) msgParse(conn *UserConn, binaryMsg []byte) { dec := gob.NewDecoder(b) err := dec.Decode(&m) if err != nil { - log.ErrorByKv("ws Decode err", "", "err", err.Error()) + log.NewError("", "ws Decode err", err.Error()) ws.sendErrMsg(conn, 200, err.Error(), constant.WSDataError, "", "") err = conn.Close() if err != nil { @@ -37,7 +37,7 @@ func (ws *WServer) msgParse(conn *UserConn, binaryMsg []byte) { return } if err := validate.Struct(m); err != nil { - log.ErrorByKv("ws args validate err", "", "err", err.Error()) + log.NewError("", "ws args validate err", err.Error()) ws.sendErrMsg(conn, 201, err.Error(), m.ReqIdentifier, m.MsgIncr, m.OperationID) return } @@ -45,7 +45,7 @@ func (ws *WServer) msgParse(conn *UserConn, binaryMsg []byte) { // ws.sendErrMsg(conn, 202, "token validate err", m.ReqIdentifier, m.MsgIncr,m.OperationID) // return //} - log.InfoByKv("Basic Info Authentication Success", m.OperationID, "reqIdentifier", m.ReqIdentifier, "sendID", m.SendID, "msgIncr", m.MsgIncr) + log.NewInfo(m.OperationID, "Basic Info Authentication Success", m) switch m.ReqIdentifier { case constant.WSGetNewestSeq: @@ -61,7 +61,7 @@ func (ws *WServer) msgParse(conn *UserConn, binaryMsg []byte) { log.NewInfo("", "goroutine num is ", runtime.NumGoroutine()) } func (ws *WServer) getSeqReq(conn *UserConn, m *Req) { - log.NewInfo(m.OperationID, "Ws call success to getNewSeq", m.MsgIncr, m.SendID, m.ReqIdentifier) + log.NewInfo(m.OperationID, "Ws call success to getNewSeq", m.MsgIncr, m.SendID, m.ReqIdentifier, m.Data) rpcReq := pbChat.GetMaxAndMinSeqReq{} nReply := new(pbChat.GetMaxAndMinSeqResp) rpcReq.UserID = m.SendID @@ -99,15 +99,15 @@ func (ws *WServer) getSeqResp(conn *UserConn, m *Req, pb *pbChat.GetMaxAndMinSeq } func (ws *WServer) pullMsgBySeqListReq(conn *UserConn, m *Req) { - log.NewInfo(m.OperationID, "Ws call success to pullMsgBySeqListReq start", m.SendID, m.ReqIdentifier, m.MsgIncr) + log.NewInfo(m.OperationID, "Ws call success to pullMsgBySeqListReq start", m.SendID, m.ReqIdentifier, m.MsgIncr, m.Data) nReply := new(sdk_ws.PullMessageBySeqListResp) isPass, errCode, errMsg, data := ws.argsValidate(m, constant.WSPullMsgBySeqList) - log.NewInfo(m.OperationID, "Ws call success to pullMsgBySeqListReq middle", m.SendID, m.ReqIdentifier, m.MsgIncr, data.(sdk_ws.PullMessageBySeqListReq).SeqList) if isPass { rpcReq := sdk_ws.PullMessageBySeqListReq{} rpcReq.SeqList = data.(sdk_ws.PullMessageBySeqListReq).SeqList rpcReq.UserID = m.SendID rpcReq.OperationID = m.OperationID + log.NewInfo(m.OperationID, "Ws call success to pullMsgBySeqListReq middle", m.SendID, m.ReqIdentifier, m.MsgIncr, data.(sdk_ws.PullMessageBySeqListReq).SeqList) grpcConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName) msgClient := pbChat.NewChatClient(grpcConn) reply, err := msgClient.PullMessageBySeqList(context.Background(), &rpcReq) @@ -145,7 +145,7 @@ func (ws *WServer) pullMsgBySeqListResp(conn *UserConn, m *Req, pb *sdk_ws.PullM } func (ws *WServer) sendMsgReq(conn *UserConn, m *Req) { sendMsgCount++ - log.NewInfo(m.OperationID, "Ws call success to sendMsgReq start", m.MsgIncr, m.ReqIdentifier, m.SendID) + log.NewInfo(m.OperationID, "Ws call success to sendMsgReq start", m.MsgIncr, m.ReqIdentifier, m.SendID, m.Data) nReply := new(pbChat.SendMsgResp) isPass, errCode, errMsg, pData := ws.argsValidate(m, constant.WSSendMsg) if isPass { @@ -196,10 +196,9 @@ func (ws *WServer) sendMsgResp(conn *UserConn, m *Req, pb *pbChat.SendMsgResp) { } func (ws *WServer) sendSignalMsgReq(conn *UserConn, m *Req) { - log.NewInfo(m.OperationID, "Ws call success to sendSignalMsgReq start", m.MsgIncr, m.ReqIdentifier, m.SendID) + log.NewInfo(m.OperationID, "Ws call success to sendSignalMsgReq start", m.MsgIncr, m.ReqIdentifier, m.SendID, m.Data) nReply := new(pbChat.SendMsgResp) isPass, errCode, errMsg, pData := ws.argsValidate(m, constant.WSSendSignalMsg) - log.NewInfo(m.OperationID, "args is ", pData.(*sdk_ws.SignalReq)) isPass2, errCode2, errMsg2, signalResp, msgData := ws.signalMessageAssemble(pData.(*sdk_ws.SignalReq), m.OperationID) if isPass && isPass2 { pbData := pbChat.SendMsgReq{ From b5de638c0b2276fd2062122dd98d091941c89da9 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 23 Mar 2022 11:32:58 +0800 Subject: [PATCH 093/129] ws remove log --- internal/msg_gateway/gate/logic.go | 47 +++++++++++++++--------------- 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/internal/msg_gateway/gate/logic.go b/internal/msg_gateway/gate/logic.go index a89d1bfe1..b891de437 100644 --- a/internal/msg_gateway/gate/logic.go +++ b/internal/msg_gateway/gate/logic.go @@ -199,34 +199,33 @@ func (ws *WServer) sendSignalMsgReq(conn *UserConn, m *Req) { log.NewInfo(m.OperationID, "Ws call success to sendSignalMsgReq start", m.MsgIncr, m.ReqIdentifier, m.SendID, m.Data) nReply := new(pbChat.SendMsgResp) isPass, errCode, errMsg, pData := ws.argsValidate(m, constant.WSSendSignalMsg) - isPass2, errCode2, errMsg2, signalResp, msgData := ws.signalMessageAssemble(pData.(*sdk_ws.SignalReq), m.OperationID) - if isPass && isPass2 { - pbData := pbChat.SendMsgReq{ - Token: m.Token, - OperationID: m.OperationID, - MsgData: msgData, - } - log.NewInfo(m.OperationID, "Ws call success to sendSignalMsgReq middle", m.ReqIdentifier, m.SendID, m.MsgIncr, msgData) - etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName) - client := pbChat.NewChatClient(etcdConn) - reply, err := client.SendMsg(context.Background(), &pbData) - if err != nil { - log.NewError(pbData.OperationID, "rpc sendMsg err", err.Error()) - nReply.ErrCode = 200 - nReply.ErrMsg = err.Error() - ws.sendSignalMsgResp(conn, 200, err.Error(), m, signalResp) + if isPass { + isPass2, errCode2, errMsg2, signalResp, msgData := ws.signalMessageAssemble(pData.(*sdk_ws.SignalReq), m.OperationID) + if isPass2 { + pbData := pbChat.SendMsgReq{ + Token: m.Token, + OperationID: m.OperationID, + MsgData: msgData, + } + log.NewInfo(m.OperationID, "Ws call success to sendSignalMsgReq middle", m.ReqIdentifier, m.SendID, m.MsgIncr, msgData) + etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName) + client := pbChat.NewChatClient(etcdConn) + reply, err := client.SendMsg(context.Background(), &pbData) + if err != nil { + log.NewError(pbData.OperationID, "rpc sendMsg err", err.Error()) + nReply.ErrCode = 200 + nReply.ErrMsg = err.Error() + ws.sendSignalMsgResp(conn, 200, err.Error(), m, signalResp) + } else { + log.NewInfo(pbData.OperationID, "rpc call success to sendMsgReq", reply.String()) + ws.sendSignalMsgResp(conn, 0, "", m, signalResp) + } } else { - log.NewInfo(pbData.OperationID, "rpc call success to sendMsgReq", reply.String()) - ws.sendSignalMsgResp(conn, 0, "", m, signalResp) - } - - } else { - if isPass { log.NewError(m.OperationID, isPass2, errCode2, errMsg2) ws.sendSignalMsgResp(conn, errCode2, errMsg2, m, signalResp) - } else { - ws.sendSignalMsgResp(conn, errCode, errMsg, m, signalResp) } + } else { + ws.sendSignalMsgResp(conn, errCode, errMsg, m, nil) } } From e6c36411cb4820bc5858259244ed460462be45d1 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 23 Mar 2022 15:44:34 +0800 Subject: [PATCH 094/129] mongo --- cmd/open_im_api/main.go | 1 + internal/api/third/minio_init.go | 7 ++- .../api/third/minio_storage_credential.go | 51 +++++++++++++++++++ pkg/base_info/minio_api_struct.go | 20 ++++++-- pkg/common/constant/constant.go | 4 ++ pkg/proto/tag/tag.proto | 0 pkg/utils/file.go | 16 +++++- 7 files changed, 93 insertions(+), 6 deletions(-) create mode 100644 pkg/proto/tag/tag.proto diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index 7329d187d..b6d00f690 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -78,6 +78,7 @@ func main() { { thirdGroup.POST("/tencent_cloud_storage_credential", apiThird.TencentCloudStorageCredential) thirdGroup.POST("/minio_storage_credential", apiThird.MinioStorageCredential) + thirdGroup.POST("/minio_upload", apiThird.MinioUploadFile) } //Message chatGroup := r.Group("/msg") diff --git a/internal/api/third/minio_init.go b/internal/api/third/minio_init.go index a5a8cbe4f..564d19a1e 100644 --- a/internal/api/third/minio_init.go +++ b/internal/api/third/minio_init.go @@ -10,13 +10,18 @@ import ( url2 "net/url" ) +var ( + minioClient *minio.Client +) + func MinioInit() { + log.NewInfo("", utils.GetSelfFuncName()) minioUrl, err := url2.Parse(config.Config.Credential.Minio.Endpoint) if err != nil { log.NewError("", utils.GetSelfFuncName(), "parse failed, please check config/config.yaml", err.Error()) return } - minioClient, err := minio.New(minioUrl.Host, &minio.Options{ + minioClient, err = minio.New(minioUrl.Host, &minio.Options{ Creds: credentials.NewStaticV4(config.Config.Credential.Minio.AccessKeyID, config.Config.Credential.Minio.SecretAccessKey, ""), Secure: false, }) diff --git a/internal/api/third/minio_storage_credential.go b/internal/api/third/minio_storage_credential.go index f4862c062..65758c3fb 100644 --- a/internal/api/third/minio_storage_credential.go +++ b/internal/api/third/minio_storage_credential.go @@ -8,12 +8,63 @@ import ( "Open_IM/pkg/common/token_verify" _ "Open_IM/pkg/common/token_verify" "Open_IM/pkg/utils" + "context" "github.com/gin-gonic/gin" + "github.com/minio/minio-go/v7" _ "github.com/minio/minio-go/v7" cr "github.com/minio/minio-go/v7/pkg/credentials" "net/http" ) +func MinioUploadFile(c *gin.Context) { + var ( + req apiStruct.MinioUploadFileReq + resp apiStruct.MinioUploadFileResp + ) + if err := c.BindJSON(&req); err != nil { + log.NewError("0", utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) + return + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req) + switch req.FileType { + case constant.VideoType: + snapShotFile, _ := c.FormFile("snapShot") + snapShotFileObj, err := snapShotFile.Open() + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "Open file error", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) + } + snapShotNewName, snapShotNewType := utils.GetNewFileNameAndContentType(snapShotFile.Filename) + _, err = minioClient.PutObject(context.Background(), config.Config.Credential.Minio.Bucket, snapShotNewName, snapShotFileObj, snapShotFile.Size, minio.PutObjectOptions{ContentType: snapShotNewType}) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "PutObject snapShotFile error", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) + } + resp.SnapshotURL = config.Config.Credential.Minio.Endpoint + "/" + config.Config.Credential.Minio.Bucket + "/" + snapShotNewName + resp.SnapshotNewName = snapShotNewName + } + file, _ := c.FormFile("file") + fileObj, err := file.Open() + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "Open file error", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "invalid file path" + err.Error()}) + return + } + newName, newType := utils.GetNewFileNameAndContentType(file.Filename) + _, err = minioClient.PutObject(context.Background(), config.Config.Credential.Minio.Bucket, newName, fileObj, file.Size, minio.PutObjectOptions{ContentType: newType}) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "open file error") + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "invalid file path" + err.Error()}) + return + } + resp.NewName = newName + resp.URL = config.Config.Credential.Minio.Endpoint + "/" + config.Config.Credential.Minio.Bucket + "/" + newName + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) + c.JSON(http.StatusOK, gin.H{"errCode": 0, "errMsg": "", "data": resp}) + return +} + func MinioStorageCredential(c *gin.Context) { var ( req apiStruct.MinioStorageCredentialReq diff --git a/pkg/base_info/minio_api_struct.go b/pkg/base_info/minio_api_struct.go index f15997053..d031244ed 100644 --- a/pkg/base_info/minio_api_struct.go +++ b/pkg/base_info/minio_api_struct.go @@ -6,8 +6,20 @@ type MinioStorageCredentialReq struct { type MiniostorageCredentialResp struct { SecretAccessKey string `json:"secretAccessKey"` - AccessKeyID string `json:"accessKeyID"` - SessionToken string `json:"sessionToken"` - BucketName string `json:"bucketName"` - StsEndpointURL string `json:"stsEndpointURL"` + AccessKeyID string `json:"accessKeyID"` + SessionToken string `json:"sessionToken"` + BucketName string `json:"bucketName"` + StsEndpointURL string `json:"stsEndpointURL"` +} + +type MinioUploadFileReq struct { + OperationID string `json:"operationID"` + FileType int `json:"fileType"` +} + +type MinioUploadFileResp struct { + URL string `json:"URL"` + NewName string `json:"newName"` + SnapshotURL string `json:"snapshotURL" binding:"omitempty"` + SnapshotNewName string `json:"snapshotName" binding:"omitempty"` } diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 8f0494d53..2efb3da82 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -159,6 +159,10 @@ const ( //callback callbackHandleCode CallbackHandleSuccess = 0 CallbackHandleFailed = 1 + + // minioUpload + OtherType = 1 + VideoType = 2 ) var ContentType2PushContent = map[int64]string{ diff --git a/pkg/proto/tag/tag.proto b/pkg/proto/tag/tag.proto new file mode 100644 index 000000000..e69de29bb diff --git a/pkg/utils/file.go b/pkg/utils/file.go index 15ce153b0..c72f6fc3d 100644 --- a/pkg/utils/file.go +++ b/pkg/utils/file.go @@ -1,6 +1,11 @@ package utils -import "os" +import ( + "fmt" + "math/rand" + "os" + "time" +) // Determine whether the given path is a folder func IsDir(path string) bool { @@ -20,3 +25,12 @@ func IsFile(path string) bool { func MkDir(path string) error { return os.MkdirAll(path, os.ModePerm) } + +func GetNewFileNameAndContentType(fileType string) (string, string) { + newName := fmt.Sprintf("%d-%d%s", time.Now().UnixNano(), rand.Int(), fileType) + contentType := "" + if fileType == "img" { + contentType = "image/" + fileType[1:] + } + return newName, contentType +} From 4bdb4cbbb5b4963041f5118914ce6996eaa8d909 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 23 Mar 2022 16:13:18 +0800 Subject: [PATCH 095/129] mongo --- internal/api/third/minio_storage_credential.go | 12 +++++++++++- pkg/base_info/minio_api_struct.go | 4 ++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/internal/api/third/minio_storage_credential.go b/internal/api/third/minio_storage_credential.go index 65758c3fb..22bf6f6da 100644 --- a/internal/api/third/minio_storage_credential.go +++ b/internal/api/third/minio_storage_credential.go @@ -21,7 +21,15 @@ func MinioUploadFile(c *gin.Context) { req apiStruct.MinioUploadFileReq resp apiStruct.MinioUploadFileResp ) - if err := c.BindJSON(&req); err != nil { + defer func() { + if r := recover(); r != nil { + log.NewError(req.OperationID, recover()) + log.NewError(req.OperationID, utils.GetSelfFuncName(), r) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": r}) + return + } + }() + if err := c.Bind(&req); err != nil { log.NewError("0", utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return @@ -34,12 +42,14 @@ func MinioUploadFile(c *gin.Context) { if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "Open file error", err.Error()) c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) + return } snapShotNewName, snapShotNewType := utils.GetNewFileNameAndContentType(snapShotFile.Filename) _, err = minioClient.PutObject(context.Background(), config.Config.Credential.Minio.Bucket, snapShotNewName, snapShotFileObj, snapShotFile.Size, minio.PutObjectOptions{ContentType: snapShotNewType}) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "PutObject snapShotFile error", err.Error()) c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) + return } resp.SnapshotURL = config.Config.Credential.Minio.Endpoint + "/" + config.Config.Credential.Minio.Bucket + "/" + snapShotNewName resp.SnapshotNewName = snapShotNewName diff --git a/pkg/base_info/minio_api_struct.go b/pkg/base_info/minio_api_struct.go index d031244ed..e7bb902cc 100644 --- a/pkg/base_info/minio_api_struct.go +++ b/pkg/base_info/minio_api_struct.go @@ -13,8 +13,8 @@ type MiniostorageCredentialResp struct { } type MinioUploadFileReq struct { - OperationID string `json:"operationID"` - FileType int `json:"fileType"` + OperationID string `form:"operationID"` + FileType int `form:"fileType"` } type MinioUploadFileResp struct { From df4a75f4b0e95b0bb2a4c5d157831d3aa9d12ae7 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 23 Mar 2022 17:15:46 +0800 Subject: [PATCH 096/129] mongo --- config/config.yaml | 2 +- internal/api/third/minio_storage_credential.go | 17 +++++++++++++---- pkg/base_info/minio_api_struct.go | 4 ++-- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index 21ded2735..a5ca9d155 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -90,7 +90,7 @@ credential: #腾讯cos,发送图片、视频、文件时需要,请自行申 minio: #MinIO 发送图片、视频、文件时需要,请自行申请后替换,必须修改。 客户端初始化InitSDK,中 object_storage参数为minio bucket: openim location: us-east-1 - endpoint: http://127.0.0.1:9000 +` endpoint: http://43.128.5.63:9000 accessKeyID: user12345 secretAccessKey: key12345 diff --git a/internal/api/third/minio_storage_credential.go b/internal/api/third/minio_storage_credential.go index 22bf6f6da..56887107c 100644 --- a/internal/api/third/minio_storage_credential.go +++ b/internal/api/third/minio_storage_credential.go @@ -23,9 +23,8 @@ func MinioUploadFile(c *gin.Context) { ) defer func() { if r := recover(); r != nil { - log.NewError(req.OperationID, recover()) log.NewError(req.OperationID, utils.GetSelfFuncName(), r) - c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": r}) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "missing file or snapShot args"}) return } }() @@ -37,7 +36,11 @@ func MinioUploadFile(c *gin.Context) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req) switch req.FileType { case constant.VideoType: - snapShotFile, _ := c.FormFile("snapShot") + snapShotFile, err := c.FormFile("snapShot") + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "missing snapshot arg: " + err.Error()}) + return + } snapShotFileObj, err := snapShotFile.Open() if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "Open file error", err.Error()) @@ -45,6 +48,7 @@ func MinioUploadFile(c *gin.Context) { return } snapShotNewName, snapShotNewType := utils.GetNewFileNameAndContentType(snapShotFile.Filename) + log.Debug(req.OperationID, utils.GetSelfFuncName(), snapShotNewName, snapShotNewType) _, err = minioClient.PutObject(context.Background(), config.Config.Credential.Minio.Bucket, snapShotNewName, snapShotFileObj, snapShotFile.Size, minio.PutObjectOptions{ContentType: snapShotNewType}) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "PutObject snapShotFile error", err.Error()) @@ -54,7 +58,11 @@ func MinioUploadFile(c *gin.Context) { resp.SnapshotURL = config.Config.Credential.Minio.Endpoint + "/" + config.Config.Credential.Minio.Bucket + "/" + snapShotNewName resp.SnapshotNewName = snapShotNewName } - file, _ := c.FormFile("file") + file, err := c.FormFile("file") + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "missing snapshot arg: " + err.Error()}) + return + } fileObj, err := file.Open() if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "Open file error", err.Error()) @@ -62,6 +70,7 @@ func MinioUploadFile(c *gin.Context) { return } newName, newType := utils.GetNewFileNameAndContentType(file.Filename) + log.Debug(req.OperationID, utils.GetSelfFuncName(), newName, newType) _, err = minioClient.PutObject(context.Background(), config.Config.Credential.Minio.Bucket, newName, fileObj, file.Size, minio.PutObjectOptions{ContentType: newType}) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "open file error") diff --git a/pkg/base_info/minio_api_struct.go b/pkg/base_info/minio_api_struct.go index e7bb902cc..51e062c67 100644 --- a/pkg/base_info/minio_api_struct.go +++ b/pkg/base_info/minio_api_struct.go @@ -20,6 +20,6 @@ type MinioUploadFileReq struct { type MinioUploadFileResp struct { URL string `json:"URL"` NewName string `json:"newName"` - SnapshotURL string `json:"snapshotURL" binding:"omitempty"` - SnapshotNewName string `json:"snapshotName" binding:"omitempty"` + SnapshotURL string `json:"snapshotURL,omitempty"` + SnapshotNewName string `json:"snapshotName,omitempty"` } From 4bf5c77374a1958d7a1e19f6c3225ca3fd23a54f Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 23 Mar 2022 17:18:40 +0800 Subject: [PATCH 097/129] mongo --- config/config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/config.yaml b/config/config.yaml index a5ca9d155..10e8a0d01 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -90,7 +90,7 @@ credential: #腾讯cos,发送图片、视频、文件时需要,请自行申 minio: #MinIO 发送图片、视频、文件时需要,请自行申请后替换,必须修改。 客户端初始化InitSDK,中 object_storage参数为minio bucket: openim location: us-east-1 -` endpoint: http://43.128.5.63:9000 + endpoint: http://43.128.5.63:9000 accessKeyID: user12345 secretAccessKey: key12345 From e7b95892ff4731b388ff2e35239f4aab22004065 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 23 Mar 2022 17:40:51 +0800 Subject: [PATCH 098/129] minio upload api --- internal/api/third/minio_storage_credential.go | 6 +++--- pkg/common/constant/constant.go | 1 + pkg/utils/file.go | 11 +++++++---- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/internal/api/third/minio_storage_credential.go b/internal/api/third/minio_storage_credential.go index 56887107c..b9d311815 100644 --- a/internal/api/third/minio_storage_credential.go +++ b/internal/api/third/minio_storage_credential.go @@ -47,7 +47,7 @@ func MinioUploadFile(c *gin.Context) { c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } - snapShotNewName, snapShotNewType := utils.GetNewFileNameAndContentType(snapShotFile.Filename) + snapShotNewName, snapShotNewType := utils.GetNewFileNameAndContentType(snapShotFile.Filename, constant.ImageType) log.Debug(req.OperationID, utils.GetSelfFuncName(), snapShotNewName, snapShotNewType) _, err = minioClient.PutObject(context.Background(), config.Config.Credential.Minio.Bucket, snapShotNewName, snapShotFileObj, snapShotFile.Size, minio.PutObjectOptions{ContentType: snapShotNewType}) if err != nil { @@ -60,7 +60,7 @@ func MinioUploadFile(c *gin.Context) { } file, err := c.FormFile("file") if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "missing snapshot arg: " + err.Error()}) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "missing file arg: " + err.Error()}) return } fileObj, err := file.Open() @@ -69,7 +69,7 @@ func MinioUploadFile(c *gin.Context) { c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "invalid file path" + err.Error()}) return } - newName, newType := utils.GetNewFileNameAndContentType(file.Filename) + newName, newType := utils.GetNewFileNameAndContentType(file.Filename, req.FileType) log.Debug(req.OperationID, utils.GetSelfFuncName(), newName, newType) _, err = minioClient.PutObject(context.Background(), config.Config.Credential.Minio.Bucket, newName, fileObj, file.Size, minio.PutObjectOptions{ContentType: newType}) if err != nil { diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 2efb3da82..53cc340e9 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -163,6 +163,7 @@ const ( // minioUpload OtherType = 1 VideoType = 2 + ImageType = 3 ) var ContentType2PushContent = map[int64]string{ diff --git a/pkg/utils/file.go b/pkg/utils/file.go index c72f6fc3d..e46050516 100644 --- a/pkg/utils/file.go +++ b/pkg/utils/file.go @@ -1,9 +1,11 @@ package utils import ( + "Open_IM/pkg/common/constant" "fmt" "math/rand" "os" + "path" "time" ) @@ -26,11 +28,12 @@ func MkDir(path string) error { return os.MkdirAll(path, os.ModePerm) } -func GetNewFileNameAndContentType(fileType string) (string, string) { - newName := fmt.Sprintf("%d-%d%s", time.Now().UnixNano(), rand.Int(), fileType) +func GetNewFileNameAndContentType(fileName string, fileType int) (string, string) { + suffix := path.Ext(fileName) + newName := fmt.Sprintf("%d-%d%s", time.Now().UnixNano(), rand.Int(), fileName) contentType := "" - if fileType == "img" { - contentType = "image/" + fileType[1:] + if fileType == constant.ImageType { + contentType = "image/" + suffix[1:] } return newName, contentType } From 9d29d49ada8fe6e271a15be8e512ac2d2d8ff2d0 Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Thu, 24 Mar 2022 15:33:30 +0800 Subject: [PATCH 099/129] group dismissed --- cmd/open_im_api/main.go | 1 + config/config.yaml | 11 + internal/api/group/group.go | 32 + internal/rpc/group/group.go | 24 + internal/rpc/msg/group_notification.go | 17 +- internal/rpc/msg/send_msg.go | 8 + pkg/base_info/group_api_struct.go | 8 + pkg/common/config/config.go | 7 + pkg/common/constant/constant.go | 8 +- .../im_mysql_model/group_member_model.go | 12 + pkg/proto/group/group.pb.go | 6024 ++++++----------- pkg/proto/group/group.proto | 11 + pkg/proto/sdk_ws/ws.pb.go | 500 +- pkg/proto/sdk_ws/ws.proto | 6 + 14 files changed, 2632 insertions(+), 4037 deletions(-) diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index b6d00f690..d88b2161d 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -66,6 +66,7 @@ func main() { groupRouterGroup.POST("/get_group_members_info", group.GetGroupMembersInfo) //1 groupRouterGroup.POST("/invite_user_to_group", group.InviteUserToGroup) //1 groupRouterGroup.POST("/get_joined_group_list", group.GetJoinedGroupList) //1 + groupRouterGroup.POST("/dismiss_group", group.DismissGroup) } //certificate authRouterGroup := r.Group("/auth") diff --git a/config/config.yaml b/config/config.yaml index 10e8a0d01..0485fab9c 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -340,6 +340,17 @@ notification: defaultTips: tips: "entered the group" # group info changed by xx + groupDismissed: + conversation: + reliabilityLevel: 3 + unreadCount: true + offlinePush: + switch: false + title: "groupDismissed title" + desc: "groupDismissed desc" + ext: "groupDismissed ext" + defaultTips: + tips: "group dismissed" #############################friend################################# friendApplicationAdded: diff --git a/internal/api/group/group.go b/internal/api/group/group.go index d7f7ecf11..588858982 100644 --- a/internal/api/group/group.go +++ b/internal/api/group/group.go @@ -536,3 +536,35 @@ func TransferGroupOwner(c *gin.Context) { log.NewInfo(req.OperationID, "TransferGroupOwner api return ", resp) c.JSON(http.StatusOK, resp) } + +func DismissGroup(c *gin.Context) { + params := api.DismissGroupReq{} + 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.DismissGroupReq{} + utils.CopyStructFields(req, ¶ms) + var ok bool + ok, req.OpUserID = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + if !ok { + log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) + return + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), " args ", req.String()) + + etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName) + client := rpc.NewGroupClient(etcdConn) + reply, err := client.DismissGroup(context.Background(), req) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), " failed ", req.String()) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) + return + } + + resp := api.DismissGroupResp{CommResp: api.CommResp{ErrCode: reply.CommonResp.ErrCode, ErrMsg: reply.CommonResp.ErrMsg}} + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), " api return ", resp) + c.JSON(http.StatusOK, resp) +} diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 6b5c872c4..fb90ef7c5 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -937,3 +937,27 @@ func (s *groupServer) GetUserReqApplicationList(_ context.Context, req *pbGroup. } return resp, nil } + +func (s *groupServer) DismissGroup(ctx context.Context, req *pbGroup.DismissGroupReq) (*pbGroup.DismissGroupResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc args ", req.String()) + if !token_verify.IsMangerUserID(req.OpUserID) && !imdb.IsGroupOwnerAdmin(req.GroupID, req.OpUserID) { + log.NewError(req.OperationID, "verify failed ", req.OpUserID, req.GroupID) + return &pbGroup.DismissGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}}, nil + } + + err := imdb.OperateGroupStatus(req.GroupID, constant.GroupStatusDismissed) + if err != nil { + log.NewError(req.OperationID, "OperateGroupStatus failed ", req.GroupID, constant.GroupStatusDismissed) + return &pbGroup.DismissGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil + } + chat.GroupDismissedNotification(req) + + err = imdb.DeleteGroupMemberByGroupID(req.GroupID) + if err != nil { + log.NewError(req.OperationID, "DeleteGroupMemberByGroupID failed ", req.GroupID) + return &pbGroup.DismissGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil + + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc return ", pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}) + return &pbGroup.DismissGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil +} diff --git a/internal/rpc/msg/group_notification.go b/internal/rpc/msg/group_notification.go index 16c81600a..f5155889b 100644 --- a/internal/rpc/msg/group_notification.go +++ b/internal/rpc/msg/group_notification.go @@ -157,7 +157,9 @@ func groupNotification(contentType int32, m proto.Message, sendID, groupID, recv case constant.MemberInvitedNotification: // tips.DefaultTips = toNickname + " " + cn.MemberInvited.DefaultTips.Tips case constant.MemberEnterNotification: - tips.DefaultTips = toNickname + " " + cn.MemberInvited.DefaultTips.Tips + tips.DefaultTips = toNickname + " " + cn.MemberEnter.DefaultTips.Tips + case constant.GroupDismissedNotification: + tips.DefaultTips = toNickname + "" + cn.GroupDismissed.DefaultTips.Tips default: log.Error(operationID, "contentType failed ", contentType) return @@ -324,6 +326,19 @@ func GroupOwnerTransferredNotification(req *pbGroup.TransferGroupOwnerReq) { groupNotification(constant.GroupOwnerTransferredNotification, &GroupOwnerTransferredTips, req.OpUserID, req.GroupID, "", req.OperationID) } +func GroupDismissedNotification(req *pbGroup.DismissGroupReq) { + tips := open_im_sdk.GroupDismissedTips{Group: &open_im_sdk.GroupInfo{}, OpUser: &open_im_sdk.GroupMemberFullInfo{}} + if err := setGroupInfo(req.GroupID, tips.Group); err != nil { + log.NewError(req.OperationID, "setGroupInfo failed ", err.Error(), req.GroupID) + return + } + if err := setOpUserInfo(req.OpUserID, req.GroupID, tips.OpUser); err != nil { + log.Error(req.OperationID, "setOpUserInfo failed", req.OpUserID, req.GroupID) + return + } + groupNotification(constant.GroupDismissedNotification, &tips, req.OpUserID, req.GroupID, "", req.OperationID) +} + //message MemberKickedTips{ // GroupInfo Group = 1; // GroupMemberFullInfo OpUser = 2; diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index 88a529c6a..0e2d45192 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -503,6 +503,14 @@ func Notification(n *NotificationMsg) { ex = config.Config.Notification.ConversationOptUpdate.OfflinePush.Ext reliabilityLevel = config.Config.Notification.ConversationOptUpdate.Conversation.ReliabilityLevel unReadCount = config.Config.Notification.ConversationOptUpdate.Conversation.UnreadCount + + case constant.GroupDismissedNotification: + pushSwitch = config.Config.Notification.GroupDismissed.OfflinePush.PushSwitch + title = config.Config.Notification.GroupDismissed.OfflinePush.Title + desc = config.Config.Notification.GroupDismissed.OfflinePush.Desc + ex = config.Config.Notification.GroupDismissed.OfflinePush.Ext + reliabilityLevel = config.Config.Notification.GroupDismissed.Conversation.ReliabilityLevel + unReadCount = config.Config.Notification.GroupDismissed.Conversation.UnreadCount } switch reliabilityLevel { case constant.UnreliableNotification: diff --git a/pkg/base_info/group_api_struct.go b/pkg/base_info/group_api_struct.go index 6dc9668c6..68df84731 100644 --- a/pkg/base_info/group_api_struct.go +++ b/pkg/base_info/group_api_struct.go @@ -177,3 +177,11 @@ type TransferGroupOwnerReq struct { type TransferGroupOwnerResp struct { CommResp } + +type DismissGroupReq struct { + GroupID string `json:"groupID" binding:"required"` + OperationID string `json:"operationID" binding:"required"` +} +type DismissGroupResp struct { + CommResp +} diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index 2a57344e8..aa6a30715 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -250,6 +250,13 @@ type config struct { OfflinePush POfflinePush `yaml:"offlinePush"` DefaultTips PDefaultTips `yaml:"defaultTips"` } `yaml:"memberEnter"` + + GroupDismissed struct { + Conversation PConversation `yaml:"conversation"` + OfflinePush POfflinePush `yaml:"offlinePush"` + DefaultTips PDefaultTips `yaml:"defaultTips"` + } `yaml:"groupDismissed"` + ////////////////////////user/////////////////////// UserInfoUpdated struct { Conversation PConversation `yaml:"conversation"` diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 53cc340e9..65de6ef5b 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -77,6 +77,7 @@ const ( MemberKickedNotification = 1508 MemberInvitedNotification = 1509 MemberEnterNotification = 1510 + GroupDismissedNotification = 1511 SignalingNotificationBegin = 1600 SignalingNotification = 1601 @@ -129,9 +130,10 @@ const ( IsSenderSync = "senderSync" //GroupStatus - GroupOk = 0 - GroupBanChat = 1 - GroupDisband = 2 + GroupOk = 0 + GroupBanChat = 1 + GroupStatusDismissed = 2 + GroupBaned = 3 GroupBanPrivateChat = 4 diff --git a/pkg/common/db/mysql_model/im_mysql_model/group_member_model.go b/pkg/common/db/mysql_model/im_mysql_model/group_member_model.go index 63f12c115..f944f0396 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/group_member_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/group_member_model.go @@ -103,6 +103,18 @@ func DeleteGroupMemberByGroupIDAndUserID(groupID, userID string) error { return nil } +func DeleteGroupMemberByGroupID(groupID string) error { + dbConn, err := db.DB.MysqlDB.DefaultGormDB() + if err != nil { + return err + } + err = dbConn.Table("group_members").Where("group_id=? ", groupID).Delete(db.GroupMember{}).Error + if err != nil { + return err + } + return nil +} + func UpdateGroupMemberInfo(groupMemberInfo db.GroupMember) error { dbConn, err := db.DB.MysqlDB.DefaultGormDB() if err != nil { diff --git a/pkg/proto/group/group.pb.go b/pkg/proto/group/group.pb.go index d6dc9ccd9..0332aa1e9 100644 --- a/pkg/proto/group/group.pb.go +++ b/pkg/proto/group/group.pb.go @@ -1,4644 +1,2963 @@ // Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.1 -// protoc v3.15.5 // source: group/group.proto -package group +package group // import "./group" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import sdk_ws "Open_IM/pkg/proto/sdk_ws" import ( - sdk_ws "Open_IM/pkg/proto/sdk_ws" - context "context" + context "golang.org/x/net/context" grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" ) -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package type CommonResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode,proto3" json:"ErrCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg,proto3" json:"ErrMsg,omitempty"` + ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode" json:"ErrCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg" json:"ErrMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *CommonResp) Reset() { - *x = CommonResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CommonResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CommonResp) ProtoMessage() {} - -func (x *CommonResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CommonResp.ProtoReflect.Descriptor instead. +func (m *CommonResp) Reset() { *m = CommonResp{} } +func (m *CommonResp) String() string { return proto.CompactTextString(m) } +func (*CommonResp) ProtoMessage() {} func (*CommonResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{0} + return fileDescriptor_group_48ef48bf92e641e9, []int{0} +} +func (m *CommonResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CommonResp.Unmarshal(m, b) +} +func (m *CommonResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CommonResp.Marshal(b, m, deterministic) +} +func (dst *CommonResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_CommonResp.Merge(dst, src) +} +func (m *CommonResp) XXX_Size() int { + return xxx_messageInfo_CommonResp.Size(m) +} +func (m *CommonResp) XXX_DiscardUnknown() { + xxx_messageInfo_CommonResp.DiscardUnknown(m) } -func (x *CommonResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +var xxx_messageInfo_CommonResp proto.InternalMessageInfo + +func (m *CommonResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode } return 0 } -func (x *CommonResp) GetErrMsg() string { - if x != nil { - return x.ErrMsg +func (m *CommonResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg } return "" } type GroupAddMemberInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserID string `protobuf:"bytes,1,opt,name=UserID,proto3" json:"UserID,omitempty"` - RoleLevel int32 `protobuf:"varint,2,opt,name=RoleLevel,proto3" json:"RoleLevel,omitempty"` + UserID string `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"` + RoleLevel int32 `protobuf:"varint,2,opt,name=RoleLevel" json:"RoleLevel,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GroupAddMemberInfo) Reset() { - *x = GroupAddMemberInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GroupAddMemberInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GroupAddMemberInfo) ProtoMessage() {} - -func (x *GroupAddMemberInfo) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GroupAddMemberInfo.ProtoReflect.Descriptor instead. +func (m *GroupAddMemberInfo) Reset() { *m = GroupAddMemberInfo{} } +func (m *GroupAddMemberInfo) String() string { return proto.CompactTextString(m) } +func (*GroupAddMemberInfo) ProtoMessage() {} func (*GroupAddMemberInfo) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{1} + return fileDescriptor_group_48ef48bf92e641e9, []int{1} +} +func (m *GroupAddMemberInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupAddMemberInfo.Unmarshal(m, b) +} +func (m *GroupAddMemberInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupAddMemberInfo.Marshal(b, m, deterministic) +} +func (dst *GroupAddMemberInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupAddMemberInfo.Merge(dst, src) +} +func (m *GroupAddMemberInfo) XXX_Size() int { + return xxx_messageInfo_GroupAddMemberInfo.Size(m) +} +func (m *GroupAddMemberInfo) XXX_DiscardUnknown() { + xxx_messageInfo_GroupAddMemberInfo.DiscardUnknown(m) } -func (x *GroupAddMemberInfo) GetUserID() string { - if x != nil { - return x.UserID +var xxx_messageInfo_GroupAddMemberInfo proto.InternalMessageInfo + +func (m *GroupAddMemberInfo) GetUserID() string { + if m != nil { + return m.UserID } return "" } -func (x *GroupAddMemberInfo) GetRoleLevel() int32 { - if x != nil { - return x.RoleLevel +func (m *GroupAddMemberInfo) GetRoleLevel() int32 { + if m != nil { + return m.RoleLevel } return 0 } type CreateGroupReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - InitMemberList []*GroupAddMemberInfo `protobuf:"bytes,1,rep,name=InitMemberList,proto3" json:"InitMemberList,omitempty"` - GroupInfo *sdk_ws.GroupInfo `protobuf:"bytes,2,opt,name=GroupInfo,proto3" json:"GroupInfo,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - OpUserID string `protobuf:"bytes,4,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` //app manager or group owner - OwnerUserID string `protobuf:"bytes,5,opt,name=OwnerUserID,proto3" json:"OwnerUserID,omitempty"` //owner + InitMemberList []*GroupAddMemberInfo `protobuf:"bytes,1,rep,name=InitMemberList" json:"InitMemberList,omitempty"` + GroupInfo *sdk_ws.GroupInfo `protobuf:"bytes,2,opt,name=GroupInfo" json:"GroupInfo,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` + OpUserID string `protobuf:"bytes,4,opt,name=OpUserID" json:"OpUserID,omitempty"` + OwnerUserID string `protobuf:"bytes,5,opt,name=OwnerUserID" json:"OwnerUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *CreateGroupReq) Reset() { - *x = CreateGroupReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateGroupReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateGroupReq) ProtoMessage() {} - -func (x *CreateGroupReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CreateGroupReq.ProtoReflect.Descriptor instead. +func (m *CreateGroupReq) Reset() { *m = CreateGroupReq{} } +func (m *CreateGroupReq) String() string { return proto.CompactTextString(m) } +func (*CreateGroupReq) ProtoMessage() {} func (*CreateGroupReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{2} + return fileDescriptor_group_48ef48bf92e641e9, []int{2} +} +func (m *CreateGroupReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CreateGroupReq.Unmarshal(m, b) +} +func (m *CreateGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CreateGroupReq.Marshal(b, m, deterministic) +} +func (dst *CreateGroupReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_CreateGroupReq.Merge(dst, src) +} +func (m *CreateGroupReq) XXX_Size() int { + return xxx_messageInfo_CreateGroupReq.Size(m) +} +func (m *CreateGroupReq) XXX_DiscardUnknown() { + xxx_messageInfo_CreateGroupReq.DiscardUnknown(m) } -func (x *CreateGroupReq) GetInitMemberList() []*GroupAddMemberInfo { - if x != nil { - return x.InitMemberList +var xxx_messageInfo_CreateGroupReq proto.InternalMessageInfo + +func (m *CreateGroupReq) GetInitMemberList() []*GroupAddMemberInfo { + if m != nil { + return m.InitMemberList } return nil } -func (x *CreateGroupReq) GetGroupInfo() *sdk_ws.GroupInfo { - if x != nil { - return x.GroupInfo +func (m *CreateGroupReq) GetGroupInfo() *sdk_ws.GroupInfo { + if m != nil { + return m.GroupInfo } return nil } -func (x *CreateGroupReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *CreateGroupReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *CreateGroupReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *CreateGroupReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *CreateGroupReq) GetOwnerUserID() string { - if x != nil { - return x.OwnerUserID +func (m *CreateGroupReq) GetOwnerUserID() string { + if m != nil { + return m.OwnerUserID } return "" } type CreateGroupResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode,proto3" json:"ErrCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg,proto3" json:"ErrMsg,omitempty"` - GroupInfo *sdk_ws.GroupInfo `protobuf:"bytes,3,opt,name=GroupInfo,proto3" json:"GroupInfo,omitempty"` + ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode" json:"ErrCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg" json:"ErrMsg,omitempty"` + GroupInfo *sdk_ws.GroupInfo `protobuf:"bytes,3,opt,name=GroupInfo" json:"GroupInfo,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *CreateGroupResp) Reset() { - *x = CreateGroupResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateGroupResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateGroupResp) ProtoMessage() {} - -func (x *CreateGroupResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CreateGroupResp.ProtoReflect.Descriptor instead. +func (m *CreateGroupResp) Reset() { *m = CreateGroupResp{} } +func (m *CreateGroupResp) String() string { return proto.CompactTextString(m) } +func (*CreateGroupResp) ProtoMessage() {} func (*CreateGroupResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{3} + return fileDescriptor_group_48ef48bf92e641e9, []int{3} +} +func (m *CreateGroupResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CreateGroupResp.Unmarshal(m, b) +} +func (m *CreateGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CreateGroupResp.Marshal(b, m, deterministic) +} +func (dst *CreateGroupResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_CreateGroupResp.Merge(dst, src) +} +func (m *CreateGroupResp) XXX_Size() int { + return xxx_messageInfo_CreateGroupResp.Size(m) +} +func (m *CreateGroupResp) XXX_DiscardUnknown() { + xxx_messageInfo_CreateGroupResp.DiscardUnknown(m) } -func (x *CreateGroupResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +var xxx_messageInfo_CreateGroupResp proto.InternalMessageInfo + +func (m *CreateGroupResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode } return 0 } -func (x *CreateGroupResp) GetErrMsg() string { - if x != nil { - return x.ErrMsg +func (m *CreateGroupResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg } return "" } -func (x *CreateGroupResp) GetGroupInfo() *sdk_ws.GroupInfo { - if x != nil { - return x.GroupInfo +func (m *CreateGroupResp) GetGroupInfo() *sdk_ws.GroupInfo { + if m != nil { + return m.GroupInfo } return nil } type GetGroupsInfoReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupIDList []string `protobuf:"bytes,1,rep,name=GroupIDList,proto3" json:"GroupIDList,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - OpUserID string `protobuf:"bytes,3,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` //No verification permission + GroupIDList []string `protobuf:"bytes,1,rep,name=GroupIDList" json:"GroupIDList,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + OpUserID string `protobuf:"bytes,3,opt,name=OpUserID" json:"OpUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetGroupsInfoReq) Reset() { - *x = GetGroupsInfoReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupsInfoReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupsInfoReq) ProtoMessage() {} - -func (x *GetGroupsInfoReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGroupsInfoReq.ProtoReflect.Descriptor instead. +func (m *GetGroupsInfoReq) Reset() { *m = GetGroupsInfoReq{} } +func (m *GetGroupsInfoReq) String() string { return proto.CompactTextString(m) } +func (*GetGroupsInfoReq) ProtoMessage() {} func (*GetGroupsInfoReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{4} + return fileDescriptor_group_48ef48bf92e641e9, []int{4} +} +func (m *GetGroupsInfoReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupsInfoReq.Unmarshal(m, b) +} +func (m *GetGroupsInfoReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupsInfoReq.Marshal(b, m, deterministic) +} +func (dst *GetGroupsInfoReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupsInfoReq.Merge(dst, src) +} +func (m *GetGroupsInfoReq) XXX_Size() int { + return xxx_messageInfo_GetGroupsInfoReq.Size(m) +} +func (m *GetGroupsInfoReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupsInfoReq.DiscardUnknown(m) } -func (x *GetGroupsInfoReq) GetGroupIDList() []string { - if x != nil { - return x.GroupIDList +var xxx_messageInfo_GetGroupsInfoReq proto.InternalMessageInfo + +func (m *GetGroupsInfoReq) GetGroupIDList() []string { + if m != nil { + return m.GroupIDList } return nil } -func (x *GetGroupsInfoReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetGroupsInfoReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *GetGroupsInfoReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *GetGroupsInfoReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } type GetGroupsInfoResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode,proto3" json:"ErrCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg,proto3" json:"ErrMsg,omitempty"` - GroupInfoList []*sdk_ws.GroupInfo `protobuf:"bytes,3,rep,name=GroupInfoList,proto3" json:"GroupInfoList,omitempty"` + ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode" json:"ErrCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg" json:"ErrMsg,omitempty"` + GroupInfoList []*sdk_ws.GroupInfo `protobuf:"bytes,3,rep,name=GroupInfoList" json:"GroupInfoList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetGroupsInfoResp) Reset() { - *x = GetGroupsInfoResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupsInfoResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupsInfoResp) ProtoMessage() {} - -func (x *GetGroupsInfoResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGroupsInfoResp.ProtoReflect.Descriptor instead. +func (m *GetGroupsInfoResp) Reset() { *m = GetGroupsInfoResp{} } +func (m *GetGroupsInfoResp) String() string { return proto.CompactTextString(m) } +func (*GetGroupsInfoResp) ProtoMessage() {} func (*GetGroupsInfoResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{5} + return fileDescriptor_group_48ef48bf92e641e9, []int{5} +} +func (m *GetGroupsInfoResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupsInfoResp.Unmarshal(m, b) +} +func (m *GetGroupsInfoResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupsInfoResp.Marshal(b, m, deterministic) +} +func (dst *GetGroupsInfoResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupsInfoResp.Merge(dst, src) +} +func (m *GetGroupsInfoResp) XXX_Size() int { + return xxx_messageInfo_GetGroupsInfoResp.Size(m) +} +func (m *GetGroupsInfoResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupsInfoResp.DiscardUnknown(m) } -func (x *GetGroupsInfoResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +var xxx_messageInfo_GetGroupsInfoResp proto.InternalMessageInfo + +func (m *GetGroupsInfoResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode } return 0 } -func (x *GetGroupsInfoResp) GetErrMsg() string { - if x != nil { - return x.ErrMsg +func (m *GetGroupsInfoResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg } return "" } -func (x *GetGroupsInfoResp) GetGroupInfoList() []*sdk_ws.GroupInfo { - if x != nil { - return x.GroupInfoList +func (m *GetGroupsInfoResp) GetGroupInfoList() []*sdk_ws.GroupInfo { + if m != nil { + return m.GroupInfoList } return nil } type SetGroupInfoReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupInfo *sdk_ws.GroupInfo `protobuf:"bytes,1,opt,name=GroupInfo,proto3" json:"GroupInfo,omitempty"` - OpUserID string `protobuf:"bytes,2,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` //app manager or group owner - OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + GroupInfo *sdk_ws.GroupInfo `protobuf:"bytes,1,opt,name=GroupInfo" json:"GroupInfo,omitempty"` + OpUserID string `protobuf:"bytes,2,opt,name=OpUserID" json:"OpUserID,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *SetGroupInfoReq) Reset() { - *x = SetGroupInfoReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetGroupInfoReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetGroupInfoReq) ProtoMessage() {} - -func (x *SetGroupInfoReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetGroupInfoReq.ProtoReflect.Descriptor instead. +func (m *SetGroupInfoReq) Reset() { *m = SetGroupInfoReq{} } +func (m *SetGroupInfoReq) String() string { return proto.CompactTextString(m) } +func (*SetGroupInfoReq) ProtoMessage() {} func (*SetGroupInfoReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{6} + return fileDescriptor_group_48ef48bf92e641e9, []int{6} +} +func (m *SetGroupInfoReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetGroupInfoReq.Unmarshal(m, b) +} +func (m *SetGroupInfoReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetGroupInfoReq.Marshal(b, m, deterministic) +} +func (dst *SetGroupInfoReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetGroupInfoReq.Merge(dst, src) +} +func (m *SetGroupInfoReq) XXX_Size() int { + return xxx_messageInfo_SetGroupInfoReq.Size(m) +} +func (m *SetGroupInfoReq) XXX_DiscardUnknown() { + xxx_messageInfo_SetGroupInfoReq.DiscardUnknown(m) } -func (x *SetGroupInfoReq) GetGroupInfo() *sdk_ws.GroupInfo { - if x != nil { - return x.GroupInfo +var xxx_messageInfo_SetGroupInfoReq proto.InternalMessageInfo + +func (m *SetGroupInfoReq) GetGroupInfo() *sdk_ws.GroupInfo { + if m != nil { + return m.GroupInfo } return nil } -func (x *SetGroupInfoReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *SetGroupInfoReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *SetGroupInfoReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *SetGroupInfoReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type SetGroupInfoResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *SetGroupInfoResp) Reset() { - *x = SetGroupInfoResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetGroupInfoResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetGroupInfoResp) ProtoMessage() {} - -func (x *SetGroupInfoResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetGroupInfoResp.ProtoReflect.Descriptor instead. +func (m *SetGroupInfoResp) Reset() { *m = SetGroupInfoResp{} } +func (m *SetGroupInfoResp) String() string { return proto.CompactTextString(m) } +func (*SetGroupInfoResp) ProtoMessage() {} func (*SetGroupInfoResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{7} + return fileDescriptor_group_48ef48bf92e641e9, []int{7} +} +func (m *SetGroupInfoResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetGroupInfoResp.Unmarshal(m, b) +} +func (m *SetGroupInfoResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetGroupInfoResp.Marshal(b, m, deterministic) +} +func (dst *SetGroupInfoResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetGroupInfoResp.Merge(dst, src) +} +func (m *SetGroupInfoResp) XXX_Size() int { + return xxx_messageInfo_SetGroupInfoResp.Size(m) +} +func (m *SetGroupInfoResp) XXX_DiscardUnknown() { + xxx_messageInfo_SetGroupInfoResp.DiscardUnknown(m) } -func (x *SetGroupInfoResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_SetGroupInfoResp proto.InternalMessageInfo + +func (m *SetGroupInfoResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type GetGroupApplicationListReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OpUserID string `protobuf:"bytes,1,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` //app manager or group owner(manager) - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - FromUserID string `protobuf:"bytes,3,opt,name=FromUserID,proto3" json:"FromUserID,omitempty"` //owner or manager + OpUserID string `protobuf:"bytes,1,opt,name=OpUserID" json:"OpUserID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + FromUserID string `protobuf:"bytes,3,opt,name=FromUserID" json:"FromUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetGroupApplicationListReq) Reset() { - *x = GetGroupApplicationListReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupApplicationListReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupApplicationListReq) ProtoMessage() {} - -func (x *GetGroupApplicationListReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGroupApplicationListReq.ProtoReflect.Descriptor instead. +func (m *GetGroupApplicationListReq) Reset() { *m = GetGroupApplicationListReq{} } +func (m *GetGroupApplicationListReq) String() string { return proto.CompactTextString(m) } +func (*GetGroupApplicationListReq) ProtoMessage() {} func (*GetGroupApplicationListReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{8} + return fileDescriptor_group_48ef48bf92e641e9, []int{8} +} +func (m *GetGroupApplicationListReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupApplicationListReq.Unmarshal(m, b) +} +func (m *GetGroupApplicationListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupApplicationListReq.Marshal(b, m, deterministic) +} +func (dst *GetGroupApplicationListReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupApplicationListReq.Merge(dst, src) +} +func (m *GetGroupApplicationListReq) XXX_Size() int { + return xxx_messageInfo_GetGroupApplicationListReq.Size(m) +} +func (m *GetGroupApplicationListReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupApplicationListReq.DiscardUnknown(m) } -func (x *GetGroupApplicationListReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +var xxx_messageInfo_GetGroupApplicationListReq proto.InternalMessageInfo + +func (m *GetGroupApplicationListReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *GetGroupApplicationListReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetGroupApplicationListReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *GetGroupApplicationListReq) GetFromUserID() string { - if x != nil { - return x.FromUserID +func (m *GetGroupApplicationListReq) GetFromUserID() string { + if m != nil { + return m.FromUserID } return "" } type GetGroupApplicationListResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode,proto3" json:"ErrCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg,proto3" json:"ErrMsg,omitempty"` - GroupRequestList []*sdk_ws.GroupRequest `protobuf:"bytes,3,rep,name=GroupRequestList,proto3" json:"GroupRequestList,omitempty"` + ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode" json:"ErrCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg" json:"ErrMsg,omitempty"` + GroupRequestList []*sdk_ws.GroupRequest `protobuf:"bytes,3,rep,name=GroupRequestList" json:"GroupRequestList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetGroupApplicationListResp) Reset() { - *x = GetGroupApplicationListResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupApplicationListResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupApplicationListResp) ProtoMessage() {} - -func (x *GetGroupApplicationListResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGroupApplicationListResp.ProtoReflect.Descriptor instead. +func (m *GetGroupApplicationListResp) Reset() { *m = GetGroupApplicationListResp{} } +func (m *GetGroupApplicationListResp) String() string { return proto.CompactTextString(m) } +func (*GetGroupApplicationListResp) ProtoMessage() {} func (*GetGroupApplicationListResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{9} + return fileDescriptor_group_48ef48bf92e641e9, []int{9} +} +func (m *GetGroupApplicationListResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupApplicationListResp.Unmarshal(m, b) +} +func (m *GetGroupApplicationListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupApplicationListResp.Marshal(b, m, deterministic) +} +func (dst *GetGroupApplicationListResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupApplicationListResp.Merge(dst, src) +} +func (m *GetGroupApplicationListResp) XXX_Size() int { + return xxx_messageInfo_GetGroupApplicationListResp.Size(m) +} +func (m *GetGroupApplicationListResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupApplicationListResp.DiscardUnknown(m) } -func (x *GetGroupApplicationListResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +var xxx_messageInfo_GetGroupApplicationListResp proto.InternalMessageInfo + +func (m *GetGroupApplicationListResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode } return 0 } -func (x *GetGroupApplicationListResp) GetErrMsg() string { - if x != nil { - return x.ErrMsg +func (m *GetGroupApplicationListResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg } return "" } -func (x *GetGroupApplicationListResp) GetGroupRequestList() []*sdk_ws.GroupRequest { - if x != nil { - return x.GroupRequestList +func (m *GetGroupApplicationListResp) GetGroupRequestList() []*sdk_ws.GroupRequest { + if m != nil { + return m.GroupRequestList } return nil } type GetUserReqApplicationListReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserID string `protobuf:"bytes,1,opt,name=UserID,proto3" json:"UserID,omitempty"` - OpUserID string `protobuf:"bytes,2,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + UserID string `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"` + OpUserID string `protobuf:"bytes,2,opt,name=OpUserID" json:"OpUserID,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetUserReqApplicationListReq) Reset() { - *x = GetUserReqApplicationListReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserReqApplicationListReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserReqApplicationListReq) ProtoMessage() {} - -func (x *GetUserReqApplicationListReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUserReqApplicationListReq.ProtoReflect.Descriptor instead. +func (m *GetUserReqApplicationListReq) Reset() { *m = GetUserReqApplicationListReq{} } +func (m *GetUserReqApplicationListReq) String() string { return proto.CompactTextString(m) } +func (*GetUserReqApplicationListReq) ProtoMessage() {} func (*GetUserReqApplicationListReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{10} + return fileDescriptor_group_48ef48bf92e641e9, []int{10} +} +func (m *GetUserReqApplicationListReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserReqApplicationListReq.Unmarshal(m, b) +} +func (m *GetUserReqApplicationListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserReqApplicationListReq.Marshal(b, m, deterministic) +} +func (dst *GetUserReqApplicationListReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserReqApplicationListReq.Merge(dst, src) +} +func (m *GetUserReqApplicationListReq) XXX_Size() int { + return xxx_messageInfo_GetUserReqApplicationListReq.Size(m) +} +func (m *GetUserReqApplicationListReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserReqApplicationListReq.DiscardUnknown(m) } -func (x *GetUserReqApplicationListReq) GetUserID() string { - if x != nil { - return x.UserID +var xxx_messageInfo_GetUserReqApplicationListReq proto.InternalMessageInfo + +func (m *GetUserReqApplicationListReq) GetUserID() string { + if m != nil { + return m.UserID } return "" } -func (x *GetUserReqApplicationListReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *GetUserReqApplicationListReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *GetUserReqApplicationListReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetUserReqApplicationListReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type GetUserReqApplicationListResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` - GroupRequestList []*sdk_ws.GroupRequest `protobuf:"bytes,2,rep,name=GroupRequestList,proto3" json:"GroupRequestList,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` + GroupRequestList []*sdk_ws.GroupRequest `protobuf:"bytes,2,rep,name=GroupRequestList" json:"GroupRequestList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetUserReqApplicationListResp) Reset() { - *x = GetUserReqApplicationListResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserReqApplicationListResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserReqApplicationListResp) ProtoMessage() {} - -func (x *GetUserReqApplicationListResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUserReqApplicationListResp.ProtoReflect.Descriptor instead. +func (m *GetUserReqApplicationListResp) Reset() { *m = GetUserReqApplicationListResp{} } +func (m *GetUserReqApplicationListResp) String() string { return proto.CompactTextString(m) } +func (*GetUserReqApplicationListResp) ProtoMessage() {} func (*GetUserReqApplicationListResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{11} + return fileDescriptor_group_48ef48bf92e641e9, []int{11} +} +func (m *GetUserReqApplicationListResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserReqApplicationListResp.Unmarshal(m, b) +} +func (m *GetUserReqApplicationListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserReqApplicationListResp.Marshal(b, m, deterministic) +} +func (dst *GetUserReqApplicationListResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserReqApplicationListResp.Merge(dst, src) +} +func (m *GetUserReqApplicationListResp) XXX_Size() int { + return xxx_messageInfo_GetUserReqApplicationListResp.Size(m) +} +func (m *GetUserReqApplicationListResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserReqApplicationListResp.DiscardUnknown(m) } -func (x *GetUserReqApplicationListResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_GetUserReqApplicationListResp proto.InternalMessageInfo + +func (m *GetUserReqApplicationListResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } -func (x *GetUserReqApplicationListResp) GetGroupRequestList() []*sdk_ws.GroupRequest { - if x != nil { - return x.GroupRequestList +func (m *GetUserReqApplicationListResp) GetGroupRequestList() []*sdk_ws.GroupRequest { + if m != nil { + return m.GroupRequestList } return nil } type TransferGroupOwnerReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupID string `protobuf:"bytes,1,opt,name=GroupID,proto3" json:"GroupID,omitempty"` - OldOwnerUserID string `protobuf:"bytes,2,opt,name=OldOwnerUserID,proto3" json:"OldOwnerUserID,omitempty"` - NewOwnerUserID string `protobuf:"bytes,3,opt,name=NewOwnerUserID,proto3" json:"NewOwnerUserID,omitempty"` - OperationID string `protobuf:"bytes,4,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - OpUserID string `protobuf:"bytes,5,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` //app manager or group owner + GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` + OldOwnerUserID string `protobuf:"bytes,2,opt,name=OldOwnerUserID" json:"OldOwnerUserID,omitempty"` + NewOwnerUserID string `protobuf:"bytes,3,opt,name=NewOwnerUserID" json:"NewOwnerUserID,omitempty"` + OperationID string `protobuf:"bytes,4,opt,name=OperationID" json:"OperationID,omitempty"` + OpUserID string `protobuf:"bytes,5,opt,name=OpUserID" json:"OpUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *TransferGroupOwnerReq) Reset() { - *x = TransferGroupOwnerReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TransferGroupOwnerReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TransferGroupOwnerReq) ProtoMessage() {} - -func (x *TransferGroupOwnerReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TransferGroupOwnerReq.ProtoReflect.Descriptor instead. +func (m *TransferGroupOwnerReq) Reset() { *m = TransferGroupOwnerReq{} } +func (m *TransferGroupOwnerReq) String() string { return proto.CompactTextString(m) } +func (*TransferGroupOwnerReq) ProtoMessage() {} func (*TransferGroupOwnerReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{12} + return fileDescriptor_group_48ef48bf92e641e9, []int{12} +} +func (m *TransferGroupOwnerReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TransferGroupOwnerReq.Unmarshal(m, b) +} +func (m *TransferGroupOwnerReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TransferGroupOwnerReq.Marshal(b, m, deterministic) +} +func (dst *TransferGroupOwnerReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_TransferGroupOwnerReq.Merge(dst, src) +} +func (m *TransferGroupOwnerReq) XXX_Size() int { + return xxx_messageInfo_TransferGroupOwnerReq.Size(m) +} +func (m *TransferGroupOwnerReq) XXX_DiscardUnknown() { + xxx_messageInfo_TransferGroupOwnerReq.DiscardUnknown(m) } -func (x *TransferGroupOwnerReq) GetGroupID() string { - if x != nil { - return x.GroupID +var xxx_messageInfo_TransferGroupOwnerReq proto.InternalMessageInfo + +func (m *TransferGroupOwnerReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *TransferGroupOwnerReq) GetOldOwnerUserID() string { - if x != nil { - return x.OldOwnerUserID +func (m *TransferGroupOwnerReq) GetOldOwnerUserID() string { + if m != nil { + return m.OldOwnerUserID } return "" } -func (x *TransferGroupOwnerReq) GetNewOwnerUserID() string { - if x != nil { - return x.NewOwnerUserID +func (m *TransferGroupOwnerReq) GetNewOwnerUserID() string { + if m != nil { + return m.NewOwnerUserID } return "" } -func (x *TransferGroupOwnerReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *TransferGroupOwnerReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *TransferGroupOwnerReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *TransferGroupOwnerReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } type TransferGroupOwnerResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *TransferGroupOwnerResp) Reset() { - *x = TransferGroupOwnerResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TransferGroupOwnerResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TransferGroupOwnerResp) ProtoMessage() {} - -func (x *TransferGroupOwnerResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TransferGroupOwnerResp.ProtoReflect.Descriptor instead. +func (m *TransferGroupOwnerResp) Reset() { *m = TransferGroupOwnerResp{} } +func (m *TransferGroupOwnerResp) String() string { return proto.CompactTextString(m) } +func (*TransferGroupOwnerResp) ProtoMessage() {} func (*TransferGroupOwnerResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{13} + return fileDescriptor_group_48ef48bf92e641e9, []int{13} +} +func (m *TransferGroupOwnerResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TransferGroupOwnerResp.Unmarshal(m, b) +} +func (m *TransferGroupOwnerResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TransferGroupOwnerResp.Marshal(b, m, deterministic) +} +func (dst *TransferGroupOwnerResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_TransferGroupOwnerResp.Merge(dst, src) +} +func (m *TransferGroupOwnerResp) XXX_Size() int { + return xxx_messageInfo_TransferGroupOwnerResp.Size(m) +} +func (m *TransferGroupOwnerResp) XXX_DiscardUnknown() { + xxx_messageInfo_TransferGroupOwnerResp.DiscardUnknown(m) } -func (x *TransferGroupOwnerResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_TransferGroupOwnerResp proto.InternalMessageInfo + +func (m *TransferGroupOwnerResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type JoinGroupReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupID string `protobuf:"bytes,1,opt,name=GroupID,proto3" json:"GroupID,omitempty"` - ReqMessage string `protobuf:"bytes,2,opt,name=ReqMessage,proto3" json:"ReqMessage,omitempty"` - OpUserID string `protobuf:"bytes,3,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` - OperationID string `protobuf:"bytes,4,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` + ReqMessage string `protobuf:"bytes,2,opt,name=ReqMessage" json:"ReqMessage,omitempty"` + OpUserID string `protobuf:"bytes,3,opt,name=OpUserID" json:"OpUserID,omitempty"` + OperationID string `protobuf:"bytes,4,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *JoinGroupReq) Reset() { - *x = JoinGroupReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *JoinGroupReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*JoinGroupReq) ProtoMessage() {} - -func (x *JoinGroupReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use JoinGroupReq.ProtoReflect.Descriptor instead. +func (m *JoinGroupReq) Reset() { *m = JoinGroupReq{} } +func (m *JoinGroupReq) String() string { return proto.CompactTextString(m) } +func (*JoinGroupReq) ProtoMessage() {} func (*JoinGroupReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{14} + return fileDescriptor_group_48ef48bf92e641e9, []int{14} +} +func (m *JoinGroupReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_JoinGroupReq.Unmarshal(m, b) +} +func (m *JoinGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_JoinGroupReq.Marshal(b, m, deterministic) +} +func (dst *JoinGroupReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_JoinGroupReq.Merge(dst, src) +} +func (m *JoinGroupReq) XXX_Size() int { + return xxx_messageInfo_JoinGroupReq.Size(m) +} +func (m *JoinGroupReq) XXX_DiscardUnknown() { + xxx_messageInfo_JoinGroupReq.DiscardUnknown(m) } -func (x *JoinGroupReq) GetGroupID() string { - if x != nil { - return x.GroupID +var xxx_messageInfo_JoinGroupReq proto.InternalMessageInfo + +func (m *JoinGroupReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *JoinGroupReq) GetReqMessage() string { - if x != nil { - return x.ReqMessage +func (m *JoinGroupReq) GetReqMessage() string { + if m != nil { + return m.ReqMessage } return "" } -func (x *JoinGroupReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *JoinGroupReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *JoinGroupReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *JoinGroupReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type JoinGroupResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *JoinGroupResp) Reset() { - *x = JoinGroupResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *JoinGroupResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*JoinGroupResp) ProtoMessage() {} - -func (x *JoinGroupResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use JoinGroupResp.ProtoReflect.Descriptor instead. +func (m *JoinGroupResp) Reset() { *m = JoinGroupResp{} } +func (m *JoinGroupResp) String() string { return proto.CompactTextString(m) } +func (*JoinGroupResp) ProtoMessage() {} func (*JoinGroupResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{15} + return fileDescriptor_group_48ef48bf92e641e9, []int{15} +} +func (m *JoinGroupResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_JoinGroupResp.Unmarshal(m, b) +} +func (m *JoinGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_JoinGroupResp.Marshal(b, m, deterministic) +} +func (dst *JoinGroupResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_JoinGroupResp.Merge(dst, src) +} +func (m *JoinGroupResp) XXX_Size() int { + return xxx_messageInfo_JoinGroupResp.Size(m) +} +func (m *JoinGroupResp) XXX_DiscardUnknown() { + xxx_messageInfo_JoinGroupResp.DiscardUnknown(m) } -func (x *JoinGroupResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_JoinGroupResp proto.InternalMessageInfo + +func (m *JoinGroupResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type GroupApplicationResponseReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OperationID string `protobuf:"bytes,1,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - OpUserID string `protobuf:"bytes,2,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` - GroupID string `protobuf:"bytes,3,opt,name=GroupID,proto3" json:"GroupID,omitempty"` - FromUserID string `protobuf:"bytes,4,opt,name=FromUserID,proto3" json:"FromUserID,omitempty"` // - HandledMsg string `protobuf:"bytes,5,opt,name=HandledMsg,proto3" json:"HandledMsg,omitempty"` - HandleResult int32 `protobuf:"varint,6,opt,name=HandleResult,proto3" json:"HandleResult,omitempty"` + OperationID string `protobuf:"bytes,1,opt,name=OperationID" json:"OperationID,omitempty"` + OpUserID string `protobuf:"bytes,2,opt,name=OpUserID" json:"OpUserID,omitempty"` + GroupID string `protobuf:"bytes,3,opt,name=GroupID" json:"GroupID,omitempty"` + FromUserID string `protobuf:"bytes,4,opt,name=FromUserID" json:"FromUserID,omitempty"` + HandledMsg string `protobuf:"bytes,5,opt,name=HandledMsg" json:"HandledMsg,omitempty"` + HandleResult int32 `protobuf:"varint,6,opt,name=HandleResult" json:"HandleResult,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GroupApplicationResponseReq) Reset() { - *x = GroupApplicationResponseReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GroupApplicationResponseReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GroupApplicationResponseReq) ProtoMessage() {} - -func (x *GroupApplicationResponseReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GroupApplicationResponseReq.ProtoReflect.Descriptor instead. +func (m *GroupApplicationResponseReq) Reset() { *m = GroupApplicationResponseReq{} } +func (m *GroupApplicationResponseReq) String() string { return proto.CompactTextString(m) } +func (*GroupApplicationResponseReq) ProtoMessage() {} func (*GroupApplicationResponseReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{16} + return fileDescriptor_group_48ef48bf92e641e9, []int{16} +} +func (m *GroupApplicationResponseReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupApplicationResponseReq.Unmarshal(m, b) +} +func (m *GroupApplicationResponseReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupApplicationResponseReq.Marshal(b, m, deterministic) +} +func (dst *GroupApplicationResponseReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupApplicationResponseReq.Merge(dst, src) +} +func (m *GroupApplicationResponseReq) XXX_Size() int { + return xxx_messageInfo_GroupApplicationResponseReq.Size(m) +} +func (m *GroupApplicationResponseReq) XXX_DiscardUnknown() { + xxx_messageInfo_GroupApplicationResponseReq.DiscardUnknown(m) } -func (x *GroupApplicationResponseReq) GetOperationID() string { - if x != nil { - return x.OperationID +var xxx_messageInfo_GroupApplicationResponseReq proto.InternalMessageInfo + +func (m *GroupApplicationResponseReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *GroupApplicationResponseReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *GroupApplicationResponseReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *GroupApplicationResponseReq) GetGroupID() string { - if x != nil { - return x.GroupID +func (m *GroupApplicationResponseReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *GroupApplicationResponseReq) GetFromUserID() string { - if x != nil { - return x.FromUserID +func (m *GroupApplicationResponseReq) GetFromUserID() string { + if m != nil { + return m.FromUserID } return "" } -func (x *GroupApplicationResponseReq) GetHandledMsg() string { - if x != nil { - return x.HandledMsg +func (m *GroupApplicationResponseReq) GetHandledMsg() string { + if m != nil { + return m.HandledMsg } return "" } -func (x *GroupApplicationResponseReq) GetHandleResult() int32 { - if x != nil { - return x.HandleResult +func (m *GroupApplicationResponseReq) GetHandleResult() int32 { + if m != nil { + return m.HandleResult } return 0 } type GroupApplicationResponseResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GroupApplicationResponseResp) Reset() { - *x = GroupApplicationResponseResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GroupApplicationResponseResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GroupApplicationResponseResp) ProtoMessage() {} - -func (x *GroupApplicationResponseResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GroupApplicationResponseResp.ProtoReflect.Descriptor instead. +func (m *GroupApplicationResponseResp) Reset() { *m = GroupApplicationResponseResp{} } +func (m *GroupApplicationResponseResp) String() string { return proto.CompactTextString(m) } +func (*GroupApplicationResponseResp) ProtoMessage() {} func (*GroupApplicationResponseResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{17} + return fileDescriptor_group_48ef48bf92e641e9, []int{17} +} +func (m *GroupApplicationResponseResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupApplicationResponseResp.Unmarshal(m, b) +} +func (m *GroupApplicationResponseResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupApplicationResponseResp.Marshal(b, m, deterministic) +} +func (dst *GroupApplicationResponseResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupApplicationResponseResp.Merge(dst, src) +} +func (m *GroupApplicationResponseResp) XXX_Size() int { + return xxx_messageInfo_GroupApplicationResponseResp.Size(m) +} +func (m *GroupApplicationResponseResp) XXX_DiscardUnknown() { + xxx_messageInfo_GroupApplicationResponseResp.DiscardUnknown(m) } -func (x *GroupApplicationResponseResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_GroupApplicationResponseResp proto.InternalMessageInfo + +func (m *GroupApplicationResponseResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type QuitGroupReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupID string `protobuf:"bytes,1,opt,name=GroupID,proto3" json:"GroupID,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - OpUserID string `protobuf:"bytes,3,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` + GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + OpUserID string `protobuf:"bytes,3,opt,name=OpUserID" json:"OpUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *QuitGroupReq) Reset() { - *x = QuitGroupReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QuitGroupReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QuitGroupReq) ProtoMessage() {} - -func (x *QuitGroupReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use QuitGroupReq.ProtoReflect.Descriptor instead. +func (m *QuitGroupReq) Reset() { *m = QuitGroupReq{} } +func (m *QuitGroupReq) String() string { return proto.CompactTextString(m) } +func (*QuitGroupReq) ProtoMessage() {} func (*QuitGroupReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{18} + return fileDescriptor_group_48ef48bf92e641e9, []int{18} +} +func (m *QuitGroupReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QuitGroupReq.Unmarshal(m, b) +} +func (m *QuitGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QuitGroupReq.Marshal(b, m, deterministic) +} +func (dst *QuitGroupReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuitGroupReq.Merge(dst, src) +} +func (m *QuitGroupReq) XXX_Size() int { + return xxx_messageInfo_QuitGroupReq.Size(m) +} +func (m *QuitGroupReq) XXX_DiscardUnknown() { + xxx_messageInfo_QuitGroupReq.DiscardUnknown(m) } -func (x *QuitGroupReq) GetGroupID() string { - if x != nil { - return x.GroupID +var xxx_messageInfo_QuitGroupReq proto.InternalMessageInfo + +func (m *QuitGroupReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *QuitGroupReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *QuitGroupReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *QuitGroupReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *QuitGroupReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } type QuitGroupResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *QuitGroupResp) Reset() { - *x = QuitGroupResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QuitGroupResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QuitGroupResp) ProtoMessage() {} - -func (x *QuitGroupResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use QuitGroupResp.ProtoReflect.Descriptor instead. +func (m *QuitGroupResp) Reset() { *m = QuitGroupResp{} } +func (m *QuitGroupResp) String() string { return proto.CompactTextString(m) } +func (*QuitGroupResp) ProtoMessage() {} func (*QuitGroupResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{19} + return fileDescriptor_group_48ef48bf92e641e9, []int{19} +} +func (m *QuitGroupResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QuitGroupResp.Unmarshal(m, b) +} +func (m *QuitGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QuitGroupResp.Marshal(b, m, deterministic) +} +func (dst *QuitGroupResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuitGroupResp.Merge(dst, src) +} +func (m *QuitGroupResp) XXX_Size() int { + return xxx_messageInfo_QuitGroupResp.Size(m) +} +func (m *QuitGroupResp) XXX_DiscardUnknown() { + xxx_messageInfo_QuitGroupResp.DiscardUnknown(m) } -func (x *QuitGroupResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_QuitGroupResp proto.InternalMessageInfo + +func (m *QuitGroupResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } type GetGroupMemberListReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupID string `protobuf:"bytes,1,opt,name=GroupID,proto3" json:"GroupID,omitempty"` - OpUserID string `protobuf:"bytes,2,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` //No verification permission - OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - Filter int32 `protobuf:"varint,4,opt,name=Filter,proto3" json:"Filter,omitempty"` - NextSeq int32 `protobuf:"varint,5,opt,name=NextSeq,proto3" json:"NextSeq,omitempty"` + GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` + OpUserID string `protobuf:"bytes,2,opt,name=OpUserID" json:"OpUserID,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` + Filter int32 `protobuf:"varint,4,opt,name=Filter" json:"Filter,omitempty"` + NextSeq int32 `protobuf:"varint,5,opt,name=NextSeq" json:"NextSeq,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetGroupMemberListReq) Reset() { - *x = GetGroupMemberListReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupMemberListReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupMemberListReq) ProtoMessage() {} - -func (x *GetGroupMemberListReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGroupMemberListReq.ProtoReflect.Descriptor instead. +func (m *GetGroupMemberListReq) Reset() { *m = GetGroupMemberListReq{} } +func (m *GetGroupMemberListReq) String() string { return proto.CompactTextString(m) } +func (*GetGroupMemberListReq) ProtoMessage() {} func (*GetGroupMemberListReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{20} + return fileDescriptor_group_48ef48bf92e641e9, []int{20} +} +func (m *GetGroupMemberListReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupMemberListReq.Unmarshal(m, b) +} +func (m *GetGroupMemberListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupMemberListReq.Marshal(b, m, deterministic) +} +func (dst *GetGroupMemberListReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupMemberListReq.Merge(dst, src) +} +func (m *GetGroupMemberListReq) XXX_Size() int { + return xxx_messageInfo_GetGroupMemberListReq.Size(m) +} +func (m *GetGroupMemberListReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupMemberListReq.DiscardUnknown(m) } -func (x *GetGroupMemberListReq) GetGroupID() string { - if x != nil { - return x.GroupID +var xxx_messageInfo_GetGroupMemberListReq proto.InternalMessageInfo + +func (m *GetGroupMemberListReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *GetGroupMemberListReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *GetGroupMemberListReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *GetGroupMemberListReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetGroupMemberListReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *GetGroupMemberListReq) GetFilter() int32 { - if x != nil { - return x.Filter +func (m *GetGroupMemberListReq) GetFilter() int32 { + if m != nil { + return m.Filter } return 0 } -func (x *GetGroupMemberListReq) GetNextSeq() int32 { - if x != nil { - return x.NextSeq +func (m *GetGroupMemberListReq) GetNextSeq() int32 { + if m != nil { + return m.NextSeq } return 0 } type GetGroupMemberListResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode,proto3" json:"ErrCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg,proto3" json:"ErrMsg,omitempty"` - MemberList []*sdk_ws.GroupMemberFullInfo `protobuf:"bytes,3,rep,name=memberList,proto3" json:"memberList,omitempty"` - NextSeq int32 `protobuf:"varint,4,opt,name=nextSeq,proto3" json:"nextSeq,omitempty"` + ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode" json:"ErrCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg" json:"ErrMsg,omitempty"` + MemberList []*sdk_ws.GroupMemberFullInfo `protobuf:"bytes,3,rep,name=memberList" json:"memberList,omitempty"` + NextSeq int32 `protobuf:"varint,4,opt,name=nextSeq" json:"nextSeq,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetGroupMemberListResp) Reset() { - *x = GetGroupMemberListResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupMemberListResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupMemberListResp) ProtoMessage() {} - -func (x *GetGroupMemberListResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGroupMemberListResp.ProtoReflect.Descriptor instead. +func (m *GetGroupMemberListResp) Reset() { *m = GetGroupMemberListResp{} } +func (m *GetGroupMemberListResp) String() string { return proto.CompactTextString(m) } +func (*GetGroupMemberListResp) ProtoMessage() {} func (*GetGroupMemberListResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{21} + return fileDescriptor_group_48ef48bf92e641e9, []int{21} +} +func (m *GetGroupMemberListResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupMemberListResp.Unmarshal(m, b) +} +func (m *GetGroupMemberListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupMemberListResp.Marshal(b, m, deterministic) +} +func (dst *GetGroupMemberListResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupMemberListResp.Merge(dst, src) +} +func (m *GetGroupMemberListResp) XXX_Size() int { + return xxx_messageInfo_GetGroupMemberListResp.Size(m) +} +func (m *GetGroupMemberListResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupMemberListResp.DiscardUnknown(m) } -func (x *GetGroupMemberListResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +var xxx_messageInfo_GetGroupMemberListResp proto.InternalMessageInfo + +func (m *GetGroupMemberListResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode } return 0 } -func (x *GetGroupMemberListResp) GetErrMsg() string { - if x != nil { - return x.ErrMsg +func (m *GetGroupMemberListResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg } return "" } -func (x *GetGroupMemberListResp) GetMemberList() []*sdk_ws.GroupMemberFullInfo { - if x != nil { - return x.MemberList +func (m *GetGroupMemberListResp) GetMemberList() []*sdk_ws.GroupMemberFullInfo { + if m != nil { + return m.MemberList } return nil } -func (x *GetGroupMemberListResp) GetNextSeq() int32 { - if x != nil { - return x.NextSeq +func (m *GetGroupMemberListResp) GetNextSeq() int32 { + if m != nil { + return m.NextSeq } return 0 } type GetGroupMembersInfoReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupID string `protobuf:"bytes,1,opt,name=GroupID,proto3" json:"GroupID,omitempty"` - MemberList []string `protobuf:"bytes,2,rep,name=memberList,proto3" json:"memberList,omitempty"` - OpUserID string `protobuf:"bytes,3,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` //No verification permission - OperationID string `protobuf:"bytes,4,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` + MemberList []string `protobuf:"bytes,2,rep,name=memberList" json:"memberList,omitempty"` + OpUserID string `protobuf:"bytes,3,opt,name=OpUserID" json:"OpUserID,omitempty"` + OperationID string `protobuf:"bytes,4,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetGroupMembersInfoReq) Reset() { - *x = GetGroupMembersInfoReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupMembersInfoReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupMembersInfoReq) ProtoMessage() {} - -func (x *GetGroupMembersInfoReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGroupMembersInfoReq.ProtoReflect.Descriptor instead. +func (m *GetGroupMembersInfoReq) Reset() { *m = GetGroupMembersInfoReq{} } +func (m *GetGroupMembersInfoReq) String() string { return proto.CompactTextString(m) } +func (*GetGroupMembersInfoReq) ProtoMessage() {} func (*GetGroupMembersInfoReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{22} + return fileDescriptor_group_48ef48bf92e641e9, []int{22} +} +func (m *GetGroupMembersInfoReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupMembersInfoReq.Unmarshal(m, b) +} +func (m *GetGroupMembersInfoReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupMembersInfoReq.Marshal(b, m, deterministic) +} +func (dst *GetGroupMembersInfoReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupMembersInfoReq.Merge(dst, src) +} +func (m *GetGroupMembersInfoReq) XXX_Size() int { + return xxx_messageInfo_GetGroupMembersInfoReq.Size(m) +} +func (m *GetGroupMembersInfoReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupMembersInfoReq.DiscardUnknown(m) } -func (x *GetGroupMembersInfoReq) GetGroupID() string { - if x != nil { - return x.GroupID +var xxx_messageInfo_GetGroupMembersInfoReq proto.InternalMessageInfo + +func (m *GetGroupMembersInfoReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *GetGroupMembersInfoReq) GetMemberList() []string { - if x != nil { - return x.MemberList +func (m *GetGroupMembersInfoReq) GetMemberList() []string { + if m != nil { + return m.MemberList } return nil } -func (x *GetGroupMembersInfoReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *GetGroupMembersInfoReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *GetGroupMembersInfoReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetGroupMembersInfoReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type GetGroupMembersInfoResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode,proto3" json:"ErrCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg,proto3" json:"ErrMsg,omitempty"` - MemberList []*sdk_ws.GroupMemberFullInfo `protobuf:"bytes,3,rep,name=memberList,proto3" json:"memberList,omitempty"` + ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode" json:"ErrCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg" json:"ErrMsg,omitempty"` + MemberList []*sdk_ws.GroupMemberFullInfo `protobuf:"bytes,3,rep,name=memberList" json:"memberList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetGroupMembersInfoResp) Reset() { - *x = GetGroupMembersInfoResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupMembersInfoResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupMembersInfoResp) ProtoMessage() {} - -func (x *GetGroupMembersInfoResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGroupMembersInfoResp.ProtoReflect.Descriptor instead. +func (m *GetGroupMembersInfoResp) Reset() { *m = GetGroupMembersInfoResp{} } +func (m *GetGroupMembersInfoResp) String() string { return proto.CompactTextString(m) } +func (*GetGroupMembersInfoResp) ProtoMessage() {} func (*GetGroupMembersInfoResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{23} + return fileDescriptor_group_48ef48bf92e641e9, []int{23} +} +func (m *GetGroupMembersInfoResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupMembersInfoResp.Unmarshal(m, b) +} +func (m *GetGroupMembersInfoResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupMembersInfoResp.Marshal(b, m, deterministic) +} +func (dst *GetGroupMembersInfoResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupMembersInfoResp.Merge(dst, src) +} +func (m *GetGroupMembersInfoResp) XXX_Size() int { + return xxx_messageInfo_GetGroupMembersInfoResp.Size(m) +} +func (m *GetGroupMembersInfoResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupMembersInfoResp.DiscardUnknown(m) } -func (x *GetGroupMembersInfoResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +var xxx_messageInfo_GetGroupMembersInfoResp proto.InternalMessageInfo + +func (m *GetGroupMembersInfoResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode } return 0 } -func (x *GetGroupMembersInfoResp) GetErrMsg() string { - if x != nil { - return x.ErrMsg +func (m *GetGroupMembersInfoResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg } return "" } -func (x *GetGroupMembersInfoResp) GetMemberList() []*sdk_ws.GroupMemberFullInfo { - if x != nil { - return x.MemberList +func (m *GetGroupMembersInfoResp) GetMemberList() []*sdk_ws.GroupMemberFullInfo { + if m != nil { + return m.MemberList } return nil } type KickGroupMemberReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupID string `protobuf:"bytes,1,opt,name=GroupID,proto3" json:"GroupID,omitempty"` - KickedUserIDList []string `protobuf:"bytes,2,rep,name=KickedUserIDList,proto3" json:"KickedUserIDList,omitempty"` - Reason string `protobuf:"bytes,3,opt,name=Reason,proto3" json:"Reason,omitempty"` - OperationID string `protobuf:"bytes,5,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - OpUserID string `protobuf:"bytes,6,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` //app manger or group manager + GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` + KickedUserIDList []string `protobuf:"bytes,2,rep,name=KickedUserIDList" json:"KickedUserIDList,omitempty"` + Reason string `protobuf:"bytes,3,opt,name=Reason" json:"Reason,omitempty"` + OperationID string `protobuf:"bytes,5,opt,name=OperationID" json:"OperationID,omitempty"` + OpUserID string `protobuf:"bytes,6,opt,name=OpUserID" json:"OpUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *KickGroupMemberReq) Reset() { - *x = KickGroupMemberReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *KickGroupMemberReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*KickGroupMemberReq) ProtoMessage() {} - -func (x *KickGroupMemberReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use KickGroupMemberReq.ProtoReflect.Descriptor instead. +func (m *KickGroupMemberReq) Reset() { *m = KickGroupMemberReq{} } +func (m *KickGroupMemberReq) String() string { return proto.CompactTextString(m) } +func (*KickGroupMemberReq) ProtoMessage() {} func (*KickGroupMemberReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{24} + return fileDescriptor_group_48ef48bf92e641e9, []int{24} +} +func (m *KickGroupMemberReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KickGroupMemberReq.Unmarshal(m, b) +} +func (m *KickGroupMemberReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KickGroupMemberReq.Marshal(b, m, deterministic) +} +func (dst *KickGroupMemberReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_KickGroupMemberReq.Merge(dst, src) +} +func (m *KickGroupMemberReq) XXX_Size() int { + return xxx_messageInfo_KickGroupMemberReq.Size(m) +} +func (m *KickGroupMemberReq) XXX_DiscardUnknown() { + xxx_messageInfo_KickGroupMemberReq.DiscardUnknown(m) } -func (x *KickGroupMemberReq) GetGroupID() string { - if x != nil { - return x.GroupID +var xxx_messageInfo_KickGroupMemberReq proto.InternalMessageInfo + +func (m *KickGroupMemberReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *KickGroupMemberReq) GetKickedUserIDList() []string { - if x != nil { - return x.KickedUserIDList +func (m *KickGroupMemberReq) GetKickedUserIDList() []string { + if m != nil { + return m.KickedUserIDList } return nil } -func (x *KickGroupMemberReq) GetReason() string { - if x != nil { - return x.Reason +func (m *KickGroupMemberReq) GetReason() string { + if m != nil { + return m.Reason } return "" } -func (x *KickGroupMemberReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *KickGroupMemberReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *KickGroupMemberReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *KickGroupMemberReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } type Id2Result struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserID string `protobuf:"bytes,1,opt,name=UserID,proto3" json:"UserID,omitempty"` - Result int32 `protobuf:"varint,2,opt,name=Result,proto3" json:"Result,omitempty"` //0 ok; -1 error + UserID string `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"` + Result int32 `protobuf:"varint,2,opt,name=Result" json:"Result,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *Id2Result) Reset() { - *x = Id2Result{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Id2Result) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Id2Result) ProtoMessage() {} - -func (x *Id2Result) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Id2Result.ProtoReflect.Descriptor instead. +func (m *Id2Result) Reset() { *m = Id2Result{} } +func (m *Id2Result) String() string { return proto.CompactTextString(m) } +func (*Id2Result) ProtoMessage() {} func (*Id2Result) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{25} + return fileDescriptor_group_48ef48bf92e641e9, []int{25} +} +func (m *Id2Result) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Id2Result.Unmarshal(m, b) +} +func (m *Id2Result) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Id2Result.Marshal(b, m, deterministic) +} +func (dst *Id2Result) XXX_Merge(src proto.Message) { + xxx_messageInfo_Id2Result.Merge(dst, src) +} +func (m *Id2Result) XXX_Size() int { + return xxx_messageInfo_Id2Result.Size(m) +} +func (m *Id2Result) XXX_DiscardUnknown() { + xxx_messageInfo_Id2Result.DiscardUnknown(m) } -func (x *Id2Result) GetUserID() string { - if x != nil { - return x.UserID +var xxx_messageInfo_Id2Result proto.InternalMessageInfo + +func (m *Id2Result) GetUserID() string { + if m != nil { + return m.UserID } return "" } -func (x *Id2Result) GetResult() int32 { - if x != nil { - return x.Result +func (m *Id2Result) GetResult() int32 { + if m != nil { + return m.Result } return 0 } type KickGroupMemberResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode,proto3" json:"ErrCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg,proto3" json:"ErrMsg,omitempty"` - Id2ResultList []*Id2Result `protobuf:"bytes,3,rep,name=Id2ResultList,proto3" json:"Id2ResultList,omitempty"` + ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode" json:"ErrCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg" json:"ErrMsg,omitempty"` + Id2ResultList []*Id2Result `protobuf:"bytes,3,rep,name=Id2ResultList" json:"Id2ResultList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *KickGroupMemberResp) Reset() { - *x = KickGroupMemberResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *KickGroupMemberResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*KickGroupMemberResp) ProtoMessage() {} - -func (x *KickGroupMemberResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use KickGroupMemberResp.ProtoReflect.Descriptor instead. +func (m *KickGroupMemberResp) Reset() { *m = KickGroupMemberResp{} } +func (m *KickGroupMemberResp) String() string { return proto.CompactTextString(m) } +func (*KickGroupMemberResp) ProtoMessage() {} func (*KickGroupMemberResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{26} + return fileDescriptor_group_48ef48bf92e641e9, []int{26} +} +func (m *KickGroupMemberResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KickGroupMemberResp.Unmarshal(m, b) +} +func (m *KickGroupMemberResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KickGroupMemberResp.Marshal(b, m, deterministic) +} +func (dst *KickGroupMemberResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_KickGroupMemberResp.Merge(dst, src) +} +func (m *KickGroupMemberResp) XXX_Size() int { + return xxx_messageInfo_KickGroupMemberResp.Size(m) +} +func (m *KickGroupMemberResp) XXX_DiscardUnknown() { + xxx_messageInfo_KickGroupMemberResp.DiscardUnknown(m) } -func (x *KickGroupMemberResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +var xxx_messageInfo_KickGroupMemberResp proto.InternalMessageInfo + +func (m *KickGroupMemberResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode } return 0 } -func (x *KickGroupMemberResp) GetErrMsg() string { - if x != nil { - return x.ErrMsg +func (m *KickGroupMemberResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg } return "" } -func (x *KickGroupMemberResp) GetId2ResultList() []*Id2Result { - if x != nil { - return x.Id2ResultList +func (m *KickGroupMemberResp) GetId2ResultList() []*Id2Result { + if m != nil { + return m.Id2ResultList } return nil } type GetJoinedGroupListReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - FromUserID string `protobuf:"bytes,1,opt,name=FromUserID,proto3" json:"FromUserID,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=operationID,proto3" json:"operationID,omitempty"` - OpUserID string `protobuf:"bytes,3,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` //app manager or FromUserID + FromUserID string `protobuf:"bytes,1,opt,name=FromUserID" json:"FromUserID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + OpUserID string `protobuf:"bytes,3,opt,name=OpUserID" json:"OpUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetJoinedGroupListReq) Reset() { - *x = GetJoinedGroupListReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetJoinedGroupListReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetJoinedGroupListReq) ProtoMessage() {} - -func (x *GetJoinedGroupListReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetJoinedGroupListReq.ProtoReflect.Descriptor instead. +func (m *GetJoinedGroupListReq) Reset() { *m = GetJoinedGroupListReq{} } +func (m *GetJoinedGroupListReq) String() string { return proto.CompactTextString(m) } +func (*GetJoinedGroupListReq) ProtoMessage() {} func (*GetJoinedGroupListReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{27} + return fileDescriptor_group_48ef48bf92e641e9, []int{27} +} +func (m *GetJoinedGroupListReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetJoinedGroupListReq.Unmarshal(m, b) +} +func (m *GetJoinedGroupListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetJoinedGroupListReq.Marshal(b, m, deterministic) +} +func (dst *GetJoinedGroupListReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetJoinedGroupListReq.Merge(dst, src) +} +func (m *GetJoinedGroupListReq) XXX_Size() int { + return xxx_messageInfo_GetJoinedGroupListReq.Size(m) +} +func (m *GetJoinedGroupListReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetJoinedGroupListReq.DiscardUnknown(m) } -func (x *GetJoinedGroupListReq) GetFromUserID() string { - if x != nil { - return x.FromUserID +var xxx_messageInfo_GetJoinedGroupListReq proto.InternalMessageInfo + +func (m *GetJoinedGroupListReq) GetFromUserID() string { + if m != nil { + return m.FromUserID } return "" } -func (x *GetJoinedGroupListReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetJoinedGroupListReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *GetJoinedGroupListReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *GetJoinedGroupListReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } type GetJoinedGroupListResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode,proto3" json:"ErrCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg,proto3" json:"ErrMsg,omitempty"` - GroupList []*sdk_ws.GroupInfo `protobuf:"bytes,3,rep,name=GroupList,proto3" json:"GroupList,omitempty"` + ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode" json:"ErrCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg" json:"ErrMsg,omitempty"` + GroupList []*sdk_ws.GroupInfo `protobuf:"bytes,3,rep,name=GroupList" json:"GroupList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetJoinedGroupListResp) Reset() { - *x = GetJoinedGroupListResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetJoinedGroupListResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetJoinedGroupListResp) ProtoMessage() {} - -func (x *GetJoinedGroupListResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[28] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetJoinedGroupListResp.ProtoReflect.Descriptor instead. +func (m *GetJoinedGroupListResp) Reset() { *m = GetJoinedGroupListResp{} } +func (m *GetJoinedGroupListResp) String() string { return proto.CompactTextString(m) } +func (*GetJoinedGroupListResp) ProtoMessage() {} func (*GetJoinedGroupListResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{28} + return fileDescriptor_group_48ef48bf92e641e9, []int{28} +} +func (m *GetJoinedGroupListResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetJoinedGroupListResp.Unmarshal(m, b) +} +func (m *GetJoinedGroupListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetJoinedGroupListResp.Marshal(b, m, deterministic) +} +func (dst *GetJoinedGroupListResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetJoinedGroupListResp.Merge(dst, src) +} +func (m *GetJoinedGroupListResp) XXX_Size() int { + return xxx_messageInfo_GetJoinedGroupListResp.Size(m) +} +func (m *GetJoinedGroupListResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetJoinedGroupListResp.DiscardUnknown(m) } -func (x *GetJoinedGroupListResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +var xxx_messageInfo_GetJoinedGroupListResp proto.InternalMessageInfo + +func (m *GetJoinedGroupListResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode } return 0 } -func (x *GetJoinedGroupListResp) GetErrMsg() string { - if x != nil { - return x.ErrMsg +func (m *GetJoinedGroupListResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg } return "" } -func (x *GetJoinedGroupListResp) GetGroupList() []*sdk_ws.GroupInfo { - if x != nil { - return x.GroupList +func (m *GetJoinedGroupListResp) GetGroupList() []*sdk_ws.GroupInfo { + if m != nil { + return m.GroupList } return nil } type InviteUserToGroupReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - GroupID string `protobuf:"bytes,3,opt,name=GroupID,proto3" json:"GroupID,omitempty"` - Reason string `protobuf:"bytes,4,opt,name=Reason,proto3" json:"Reason,omitempty"` - InvitedUserIDList []string `protobuf:"bytes,5,rep,name=InvitedUserIDList,proto3" json:"InvitedUserIDList,omitempty"` - OpUserID string `protobuf:"bytes,6,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` //group member or app manager + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + GroupID string `protobuf:"bytes,3,opt,name=GroupID" json:"GroupID,omitempty"` + Reason string `protobuf:"bytes,4,opt,name=Reason" json:"Reason,omitempty"` + InvitedUserIDList []string `protobuf:"bytes,5,rep,name=InvitedUserIDList" json:"InvitedUserIDList,omitempty"` + OpUserID string `protobuf:"bytes,6,opt,name=OpUserID" json:"OpUserID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *InviteUserToGroupReq) Reset() { - *x = InviteUserToGroupReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InviteUserToGroupReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InviteUserToGroupReq) ProtoMessage() {} - -func (x *InviteUserToGroupReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[29] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InviteUserToGroupReq.ProtoReflect.Descriptor instead. +func (m *InviteUserToGroupReq) Reset() { *m = InviteUserToGroupReq{} } +func (m *InviteUserToGroupReq) String() string { return proto.CompactTextString(m) } +func (*InviteUserToGroupReq) ProtoMessage() {} func (*InviteUserToGroupReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{29} + return fileDescriptor_group_48ef48bf92e641e9, []int{29} +} +func (m *InviteUserToGroupReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_InviteUserToGroupReq.Unmarshal(m, b) +} +func (m *InviteUserToGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_InviteUserToGroupReq.Marshal(b, m, deterministic) +} +func (dst *InviteUserToGroupReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_InviteUserToGroupReq.Merge(dst, src) +} +func (m *InviteUserToGroupReq) XXX_Size() int { + return xxx_messageInfo_InviteUserToGroupReq.Size(m) +} +func (m *InviteUserToGroupReq) XXX_DiscardUnknown() { + xxx_messageInfo_InviteUserToGroupReq.DiscardUnknown(m) } -func (x *InviteUserToGroupReq) GetOperationID() string { - if x != nil { - return x.OperationID +var xxx_messageInfo_InviteUserToGroupReq proto.InternalMessageInfo + +func (m *InviteUserToGroupReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *InviteUserToGroupReq) GetGroupID() string { - if x != nil { - return x.GroupID +func (m *InviteUserToGroupReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *InviteUserToGroupReq) GetReason() string { - if x != nil { - return x.Reason +func (m *InviteUserToGroupReq) GetReason() string { + if m != nil { + return m.Reason } return "" } -func (x *InviteUserToGroupReq) GetInvitedUserIDList() []string { - if x != nil { - return x.InvitedUserIDList +func (m *InviteUserToGroupReq) GetInvitedUserIDList() []string { + if m != nil { + return m.InvitedUserIDList } return nil } -func (x *InviteUserToGroupReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *InviteUserToGroupReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } type InviteUserToGroupResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode,proto3" json:"ErrCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg,proto3" json:"ErrMsg,omitempty"` - Id2ResultList []*Id2Result `protobuf:"bytes,3,rep,name=Id2ResultList,proto3" json:"Id2ResultList,omitempty"` // 0 ok, -1 error + ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode" json:"ErrCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg" json:"ErrMsg,omitempty"` + Id2ResultList []*Id2Result `protobuf:"bytes,3,rep,name=Id2ResultList" json:"Id2ResultList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *InviteUserToGroupResp) Reset() { - *x = InviteUserToGroupResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InviteUserToGroupResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InviteUserToGroupResp) ProtoMessage() {} - -func (x *InviteUserToGroupResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[30] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InviteUserToGroupResp.ProtoReflect.Descriptor instead. +func (m *InviteUserToGroupResp) Reset() { *m = InviteUserToGroupResp{} } +func (m *InviteUserToGroupResp) String() string { return proto.CompactTextString(m) } +func (*InviteUserToGroupResp) ProtoMessage() {} func (*InviteUserToGroupResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{30} + return fileDescriptor_group_48ef48bf92e641e9, []int{30} +} +func (m *InviteUserToGroupResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_InviteUserToGroupResp.Unmarshal(m, b) +} +func (m *InviteUserToGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_InviteUserToGroupResp.Marshal(b, m, deterministic) +} +func (dst *InviteUserToGroupResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_InviteUserToGroupResp.Merge(dst, src) +} +func (m *InviteUserToGroupResp) XXX_Size() int { + return xxx_messageInfo_InviteUserToGroupResp.Size(m) +} +func (m *InviteUserToGroupResp) XXX_DiscardUnknown() { + xxx_messageInfo_InviteUserToGroupResp.DiscardUnknown(m) } -func (x *InviteUserToGroupResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +var xxx_messageInfo_InviteUserToGroupResp proto.InternalMessageInfo + +func (m *InviteUserToGroupResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode } return 0 } -func (x *InviteUserToGroupResp) GetErrMsg() string { - if x != nil { - return x.ErrMsg +func (m *InviteUserToGroupResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg } return "" } -func (x *InviteUserToGroupResp) GetId2ResultList() []*Id2Result { - if x != nil { - return x.Id2ResultList +func (m *InviteUserToGroupResp) GetId2ResultList() []*Id2Result { + if m != nil { + return m.Id2ResultList } return nil } type GetGroupAllMemberReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupID string `protobuf:"bytes,1,opt,name=GroupID,proto3" json:"GroupID,omitempty"` - OpUserID string `protobuf:"bytes,2,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` //No verification permission - OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` + OpUserID string `protobuf:"bytes,2,opt,name=OpUserID" json:"OpUserID,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetGroupAllMemberReq) Reset() { - *x = GetGroupAllMemberReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupAllMemberReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupAllMemberReq) ProtoMessage() {} - -func (x *GetGroupAllMemberReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[31] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGroupAllMemberReq.ProtoReflect.Descriptor instead. +func (m *GetGroupAllMemberReq) Reset() { *m = GetGroupAllMemberReq{} } +func (m *GetGroupAllMemberReq) String() string { return proto.CompactTextString(m) } +func (*GetGroupAllMemberReq) ProtoMessage() {} func (*GetGroupAllMemberReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{31} + return fileDescriptor_group_48ef48bf92e641e9, []int{31} +} +func (m *GetGroupAllMemberReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupAllMemberReq.Unmarshal(m, b) +} +func (m *GetGroupAllMemberReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupAllMemberReq.Marshal(b, m, deterministic) +} +func (dst *GetGroupAllMemberReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupAllMemberReq.Merge(dst, src) +} +func (m *GetGroupAllMemberReq) XXX_Size() int { + return xxx_messageInfo_GetGroupAllMemberReq.Size(m) +} +func (m *GetGroupAllMemberReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupAllMemberReq.DiscardUnknown(m) } -func (x *GetGroupAllMemberReq) GetGroupID() string { - if x != nil { - return x.GroupID +var xxx_messageInfo_GetGroupAllMemberReq proto.InternalMessageInfo + +func (m *GetGroupAllMemberReq) GetGroupID() string { + if m != nil { + return m.GroupID } return "" } -func (x *GetGroupAllMemberReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *GetGroupAllMemberReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *GetGroupAllMemberReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetGroupAllMemberReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type GetGroupAllMemberResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode,proto3" json:"ErrCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg,proto3" json:"ErrMsg,omitempty"` - MemberList []*sdk_ws.GroupMemberFullInfo `protobuf:"bytes,3,rep,name=memberList,proto3" json:"memberList,omitempty"` + ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode" json:"ErrCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg" json:"ErrMsg,omitempty"` + MemberList []*sdk_ws.GroupMemberFullInfo `protobuf:"bytes,3,rep,name=memberList" json:"memberList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetGroupAllMemberResp) Reset() { - *x = GetGroupAllMemberResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupAllMemberResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupAllMemberResp) ProtoMessage() {} - -func (x *GetGroupAllMemberResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[32] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGroupAllMemberResp.ProtoReflect.Descriptor instead. +func (m *GetGroupAllMemberResp) Reset() { *m = GetGroupAllMemberResp{} } +func (m *GetGroupAllMemberResp) String() string { return proto.CompactTextString(m) } +func (*GetGroupAllMemberResp) ProtoMessage() {} func (*GetGroupAllMemberResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{32} + return fileDescriptor_group_48ef48bf92e641e9, []int{32} +} +func (m *GetGroupAllMemberResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupAllMemberResp.Unmarshal(m, b) +} +func (m *GetGroupAllMemberResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupAllMemberResp.Marshal(b, m, deterministic) +} +func (dst *GetGroupAllMemberResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupAllMemberResp.Merge(dst, src) +} +func (m *GetGroupAllMemberResp) XXX_Size() int { + return xxx_messageInfo_GetGroupAllMemberResp.Size(m) +} +func (m *GetGroupAllMemberResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupAllMemberResp.DiscardUnknown(m) } -func (x *GetGroupAllMemberResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +var xxx_messageInfo_GetGroupAllMemberResp proto.InternalMessageInfo + +func (m *GetGroupAllMemberResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode } return 0 } -func (x *GetGroupAllMemberResp) GetErrMsg() string { - if x != nil { - return x.ErrMsg +func (m *GetGroupAllMemberResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg } return "" } -func (x *GetGroupAllMemberResp) GetMemberList() []*sdk_ws.GroupMemberFullInfo { - if x != nil { - return x.MemberList +func (m *GetGroupAllMemberResp) GetMemberList() []*sdk_ws.GroupMemberFullInfo { + if m != nil { + return m.MemberList } return nil } type CMSGroup struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupInfo *sdk_ws.GroupInfo `protobuf:"bytes,1,opt,name=GroupInfo,proto3" json:"GroupInfo,omitempty"` - GroupMasterName string `protobuf:"bytes,2,opt,name=GroupMasterName,proto3" json:"GroupMasterName,omitempty"` - GroupMasterId string `protobuf:"bytes,3,opt,name=GroupMasterId,proto3" json:"GroupMasterId,omitempty"` + GroupInfo *sdk_ws.GroupInfo `protobuf:"bytes,1,opt,name=GroupInfo" json:"GroupInfo,omitempty"` + GroupMasterName string `protobuf:"bytes,2,opt,name=GroupMasterName" json:"GroupMasterName,omitempty"` + GroupMasterId string `protobuf:"bytes,3,opt,name=GroupMasterId" json:"GroupMasterId,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *CMSGroup) Reset() { - *x = CMSGroup{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CMSGroup) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CMSGroup) ProtoMessage() {} - -func (x *CMSGroup) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[33] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CMSGroup.ProtoReflect.Descriptor instead. +func (m *CMSGroup) Reset() { *m = CMSGroup{} } +func (m *CMSGroup) String() string { return proto.CompactTextString(m) } +func (*CMSGroup) ProtoMessage() {} func (*CMSGroup) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{33} + return fileDescriptor_group_48ef48bf92e641e9, []int{33} +} +func (m *CMSGroup) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CMSGroup.Unmarshal(m, b) +} +func (m *CMSGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CMSGroup.Marshal(b, m, deterministic) +} +func (dst *CMSGroup) XXX_Merge(src proto.Message) { + xxx_messageInfo_CMSGroup.Merge(dst, src) +} +func (m *CMSGroup) XXX_Size() int { + return xxx_messageInfo_CMSGroup.Size(m) +} +func (m *CMSGroup) XXX_DiscardUnknown() { + xxx_messageInfo_CMSGroup.DiscardUnknown(m) } -func (x *CMSGroup) GetGroupInfo() *sdk_ws.GroupInfo { - if x != nil { - return x.GroupInfo +var xxx_messageInfo_CMSGroup proto.InternalMessageInfo + +func (m *CMSGroup) GetGroupInfo() *sdk_ws.GroupInfo { + if m != nil { + return m.GroupInfo } return nil } -func (x *CMSGroup) GetGroupMasterName() string { - if x != nil { - return x.GroupMasterName +func (m *CMSGroup) GetGroupMasterName() string { + if m != nil { + return m.GroupMasterName } return "" } -func (x *CMSGroup) GetGroupMasterId() string { - if x != nil { - return x.GroupMasterId +func (m *CMSGroup) GetGroupMasterId() string { + if m != nil { + return m.GroupMasterId } return "" } type GetGroupReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupName string `protobuf:"bytes,1,opt,name=GroupName,proto3" json:"GroupName,omitempty"` - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=Pagination,proto3" json:"Pagination,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + GroupName string `protobuf:"bytes,1,opt,name=GroupName" json:"GroupName,omitempty"` + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetGroupReq) Reset() { - *x = GetGroupReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupReq) ProtoMessage() {} - -func (x *GetGroupReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[34] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGroupReq.ProtoReflect.Descriptor instead. +func (m *GetGroupReq) Reset() { *m = GetGroupReq{} } +func (m *GetGroupReq) String() string { return proto.CompactTextString(m) } +func (*GetGroupReq) ProtoMessage() {} func (*GetGroupReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{34} + return fileDescriptor_group_48ef48bf92e641e9, []int{34} +} +func (m *GetGroupReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupReq.Unmarshal(m, b) +} +func (m *GetGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupReq.Marshal(b, m, deterministic) +} +func (dst *GetGroupReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupReq.Merge(dst, src) +} +func (m *GetGroupReq) XXX_Size() int { + return xxx_messageInfo_GetGroupReq.Size(m) +} +func (m *GetGroupReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupReq.DiscardUnknown(m) } -func (x *GetGroupReq) GetGroupName() string { - if x != nil { - return x.GroupName +var xxx_messageInfo_GetGroupReq proto.InternalMessageInfo + +func (m *GetGroupReq) GetGroupName() string { + if m != nil { + return m.GroupName } return "" } -func (x *GetGroupReq) GetPagination() *sdk_ws.RequestPagination { - if x != nil { - return x.Pagination +func (m *GetGroupReq) GetPagination() *sdk_ws.RequestPagination { + if m != nil { + return m.Pagination } return nil } -func (x *GetGroupReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetGroupReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type GetGroupResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CMSGroups []*CMSGroup `protobuf:"bytes,1,rep,name=CMSGroups,proto3" json:"CMSGroups,omitempty"` - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=Pagination,proto3" json:"Pagination,omitempty"` - GroupNums int32 `protobuf:"varint,3,opt,name=GroupNums,proto3" json:"GroupNums,omitempty"` + CMSGroups []*CMSGroup `protobuf:"bytes,1,rep,name=CMSGroups" json:"CMSGroups,omitempty"` + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` + GroupNums int32 `protobuf:"varint,3,opt,name=GroupNums" json:"GroupNums,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetGroupResp) Reset() { - *x = GetGroupResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupResp) ProtoMessage() {} - -func (x *GetGroupResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[35] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGroupResp.ProtoReflect.Descriptor instead. +func (m *GetGroupResp) Reset() { *m = GetGroupResp{} } +func (m *GetGroupResp) String() string { return proto.CompactTextString(m) } +func (*GetGroupResp) ProtoMessage() {} func (*GetGroupResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{35} + return fileDescriptor_group_48ef48bf92e641e9, []int{35} +} +func (m *GetGroupResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupResp.Unmarshal(m, b) +} +func (m *GetGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupResp.Marshal(b, m, deterministic) +} +func (dst *GetGroupResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupResp.Merge(dst, src) +} +func (m *GetGroupResp) XXX_Size() int { + return xxx_messageInfo_GetGroupResp.Size(m) +} +func (m *GetGroupResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupResp.DiscardUnknown(m) } -func (x *GetGroupResp) GetCMSGroups() []*CMSGroup { - if x != nil { - return x.CMSGroups +var xxx_messageInfo_GetGroupResp proto.InternalMessageInfo + +func (m *GetGroupResp) GetCMSGroups() []*CMSGroup { + if m != nil { + return m.CMSGroups } return nil } -func (x *GetGroupResp) GetPagination() *sdk_ws.RequestPagination { - if x != nil { - return x.Pagination +func (m *GetGroupResp) GetPagination() *sdk_ws.RequestPagination { + if m != nil { + return m.Pagination } return nil } -func (x *GetGroupResp) GetGroupNums() int32 { - if x != nil { - return x.GroupNums +func (m *GetGroupResp) GetGroupNums() int32 { + if m != nil { + return m.GroupNums } return 0 } type GetGroupsReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,1,opt,name=Pagination,proto3" json:"Pagination,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,1,opt,name=Pagination" json:"Pagination,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetGroupsReq) Reset() { - *x = GetGroupsReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupsReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupsReq) ProtoMessage() {} - -func (x *GetGroupsReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[36] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGroupsReq.ProtoReflect.Descriptor instead. +func (m *GetGroupsReq) Reset() { *m = GetGroupsReq{} } +func (m *GetGroupsReq) String() string { return proto.CompactTextString(m) } +func (*GetGroupsReq) ProtoMessage() {} func (*GetGroupsReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{36} + return fileDescriptor_group_48ef48bf92e641e9, []int{36} +} +func (m *GetGroupsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupsReq.Unmarshal(m, b) +} +func (m *GetGroupsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupsReq.Marshal(b, m, deterministic) +} +func (dst *GetGroupsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupsReq.Merge(dst, src) +} +func (m *GetGroupsReq) XXX_Size() int { + return xxx_messageInfo_GetGroupsReq.Size(m) +} +func (m *GetGroupsReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupsReq.DiscardUnknown(m) } -func (x *GetGroupsReq) GetPagination() *sdk_ws.RequestPagination { - if x != nil { - return x.Pagination +var xxx_messageInfo_GetGroupsReq proto.InternalMessageInfo + +func (m *GetGroupsReq) GetPagination() *sdk_ws.RequestPagination { + if m != nil { + return m.Pagination } return nil } -func (x *GetGroupsReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetGroupsReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type GetGroupsResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CMSGroups []*CMSGroup `protobuf:"bytes,1,rep,name=CMSGroups,proto3" json:"CMSGroups,omitempty"` - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=Pagination,proto3" json:"Pagination,omitempty"` - GroupNum int32 `protobuf:"varint,3,opt,name=GroupNum,proto3" json:"GroupNum,omitempty"` + CMSGroups []*CMSGroup `protobuf:"bytes,1,rep,name=CMSGroups" json:"CMSGroups,omitempty"` + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` + GroupNum int32 `protobuf:"varint,3,opt,name=GroupNum" json:"GroupNum,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetGroupsResp) Reset() { - *x = GetGroupsResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupsResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupsResp) ProtoMessage() {} - -func (x *GetGroupsResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[37] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGroupsResp.ProtoReflect.Descriptor instead. +func (m *GetGroupsResp) Reset() { *m = GetGroupsResp{} } +func (m *GetGroupsResp) String() string { return proto.CompactTextString(m) } +func (*GetGroupsResp) ProtoMessage() {} func (*GetGroupsResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{37} + return fileDescriptor_group_48ef48bf92e641e9, []int{37} +} +func (m *GetGroupsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupsResp.Unmarshal(m, b) +} +func (m *GetGroupsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupsResp.Marshal(b, m, deterministic) +} +func (dst *GetGroupsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupsResp.Merge(dst, src) +} +func (m *GetGroupsResp) XXX_Size() int { + return xxx_messageInfo_GetGroupsResp.Size(m) +} +func (m *GetGroupsResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupsResp.DiscardUnknown(m) } -func (x *GetGroupsResp) GetCMSGroups() []*CMSGroup { - if x != nil { - return x.CMSGroups +var xxx_messageInfo_GetGroupsResp proto.InternalMessageInfo + +func (m *GetGroupsResp) GetCMSGroups() []*CMSGroup { + if m != nil { + return m.CMSGroups } return nil } -func (x *GetGroupsResp) GetPagination() *sdk_ws.RequestPagination { - if x != nil { - return x.Pagination +func (m *GetGroupsResp) GetPagination() *sdk_ws.RequestPagination { + if m != nil { + return m.Pagination } return nil } -func (x *GetGroupsResp) GetGroupNum() int32 { - if x != nil { - return x.GroupNum +func (m *GetGroupsResp) GetGroupNum() int32 { + if m != nil { + return m.GroupNum } return 0 } type GetGroupMemberReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupId string `protobuf:"bytes,1,opt,name=GroupId,proto3" json:"GroupId,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + GroupId string `protobuf:"bytes,1,opt,name=GroupId" json:"GroupId,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetGroupMemberReq) Reset() { - *x = GetGroupMemberReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupMemberReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupMemberReq) ProtoMessage() {} - -func (x *GetGroupMemberReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[38] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGroupMemberReq.ProtoReflect.Descriptor instead. +func (m *GetGroupMemberReq) Reset() { *m = GetGroupMemberReq{} } +func (m *GetGroupMemberReq) String() string { return proto.CompactTextString(m) } +func (*GetGroupMemberReq) ProtoMessage() {} func (*GetGroupMemberReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{38} + return fileDescriptor_group_48ef48bf92e641e9, []int{38} +} +func (m *GetGroupMemberReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupMemberReq.Unmarshal(m, b) +} +func (m *GetGroupMemberReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupMemberReq.Marshal(b, m, deterministic) +} +func (dst *GetGroupMemberReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupMemberReq.Merge(dst, src) +} +func (m *GetGroupMemberReq) XXX_Size() int { + return xxx_messageInfo_GetGroupMemberReq.Size(m) +} +func (m *GetGroupMemberReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupMemberReq.DiscardUnknown(m) } -func (x *GetGroupMemberReq) GetGroupId() string { - if x != nil { - return x.GroupId +var xxx_messageInfo_GetGroupMemberReq proto.InternalMessageInfo + +func (m *GetGroupMemberReq) GetGroupId() string { + if m != nil { + return m.GroupId } return "" } -func (x *GetGroupMemberReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetGroupMemberReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type OperateGroupStatusReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupId string `protobuf:"bytes,1,opt,name=GroupId,proto3" json:"GroupId,omitempty"` - Status int32 `protobuf:"varint,2,opt,name=Status,proto3" json:"Status,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + GroupId string `protobuf:"bytes,1,opt,name=GroupId" json:"GroupId,omitempty"` + Status int32 `protobuf:"varint,2,opt,name=Status" json:"Status,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OperateGroupStatusReq) Reset() { - *x = OperateGroupStatusReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OperateGroupStatusReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OperateGroupStatusReq) ProtoMessage() {} - -func (x *OperateGroupStatusReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[39] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OperateGroupStatusReq.ProtoReflect.Descriptor instead. +func (m *OperateGroupStatusReq) Reset() { *m = OperateGroupStatusReq{} } +func (m *OperateGroupStatusReq) String() string { return proto.CompactTextString(m) } +func (*OperateGroupStatusReq) ProtoMessage() {} func (*OperateGroupStatusReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{39} + return fileDescriptor_group_48ef48bf92e641e9, []int{39} +} +func (m *OperateGroupStatusReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OperateGroupStatusReq.Unmarshal(m, b) +} +func (m *OperateGroupStatusReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OperateGroupStatusReq.Marshal(b, m, deterministic) +} +func (dst *OperateGroupStatusReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_OperateGroupStatusReq.Merge(dst, src) +} +func (m *OperateGroupStatusReq) XXX_Size() int { + return xxx_messageInfo_OperateGroupStatusReq.Size(m) +} +func (m *OperateGroupStatusReq) XXX_DiscardUnknown() { + xxx_messageInfo_OperateGroupStatusReq.DiscardUnknown(m) } -func (x *OperateGroupStatusReq) GetGroupId() string { - if x != nil { - return x.GroupId +var xxx_messageInfo_OperateGroupStatusReq proto.InternalMessageInfo + +func (m *OperateGroupStatusReq) GetGroupId() string { + if m != nil { + return m.GroupId } return "" } -func (x *OperateGroupStatusReq) GetStatus() int32 { - if x != nil { - return x.Status +func (m *OperateGroupStatusReq) GetStatus() int32 { + if m != nil { + return m.Status } return 0 } -func (x *OperateGroupStatusReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *OperateGroupStatusReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type OperateGroupStatusResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OperateGroupStatusResp) Reset() { - *x = OperateGroupStatusResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OperateGroupStatusResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OperateGroupStatusResp) ProtoMessage() {} - -func (x *OperateGroupStatusResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[40] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OperateGroupStatusResp.ProtoReflect.Descriptor instead. +func (m *OperateGroupStatusResp) Reset() { *m = OperateGroupStatusResp{} } +func (m *OperateGroupStatusResp) String() string { return proto.CompactTextString(m) } +func (*OperateGroupStatusResp) ProtoMessage() {} func (*OperateGroupStatusResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{40} + return fileDescriptor_group_48ef48bf92e641e9, []int{40} } +func (m *OperateGroupStatusResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OperateGroupStatusResp.Unmarshal(m, b) +} +func (m *OperateGroupStatusResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OperateGroupStatusResp.Marshal(b, m, deterministic) +} +func (dst *OperateGroupStatusResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_OperateGroupStatusResp.Merge(dst, src) +} +func (m *OperateGroupStatusResp) XXX_Size() int { + return xxx_messageInfo_OperateGroupStatusResp.Size(m) +} +func (m *OperateGroupStatusResp) XXX_DiscardUnknown() { + xxx_messageInfo_OperateGroupStatusResp.DiscardUnknown(m) +} + +var xxx_messageInfo_OperateGroupStatusResp proto.InternalMessageInfo type OperateUserRoleReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupId string `protobuf:"bytes,1,opt,name=GroupId,proto3" json:"GroupId,omitempty"` - UserId string `protobuf:"bytes,2,opt,name=UserId,proto3" json:"UserId,omitempty"` - RoleLevel int32 `protobuf:"varint,3,opt,name=RoleLevel,proto3" json:"RoleLevel,omitempty"` - OperationID string `protobuf:"bytes,4,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + GroupId string `protobuf:"bytes,1,opt,name=GroupId" json:"GroupId,omitempty"` + UserId string `protobuf:"bytes,2,opt,name=UserId" json:"UserId,omitempty"` + RoleLevel int32 `protobuf:"varint,3,opt,name=RoleLevel" json:"RoleLevel,omitempty"` + OperationID string `protobuf:"bytes,4,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OperateUserRoleReq) Reset() { - *x = OperateUserRoleReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OperateUserRoleReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OperateUserRoleReq) ProtoMessage() {} - -func (x *OperateUserRoleReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[41] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OperateUserRoleReq.ProtoReflect.Descriptor instead. +func (m *OperateUserRoleReq) Reset() { *m = OperateUserRoleReq{} } +func (m *OperateUserRoleReq) String() string { return proto.CompactTextString(m) } +func (*OperateUserRoleReq) ProtoMessage() {} func (*OperateUserRoleReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{41} + return fileDescriptor_group_48ef48bf92e641e9, []int{41} +} +func (m *OperateUserRoleReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OperateUserRoleReq.Unmarshal(m, b) +} +func (m *OperateUserRoleReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OperateUserRoleReq.Marshal(b, m, deterministic) +} +func (dst *OperateUserRoleReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_OperateUserRoleReq.Merge(dst, src) +} +func (m *OperateUserRoleReq) XXX_Size() int { + return xxx_messageInfo_OperateUserRoleReq.Size(m) +} +func (m *OperateUserRoleReq) XXX_DiscardUnknown() { + xxx_messageInfo_OperateUserRoleReq.DiscardUnknown(m) } -func (x *OperateUserRoleReq) GetGroupId() string { - if x != nil { - return x.GroupId +var xxx_messageInfo_OperateUserRoleReq proto.InternalMessageInfo + +func (m *OperateUserRoleReq) GetGroupId() string { + if m != nil { + return m.GroupId } return "" } -func (x *OperateUserRoleReq) GetUserId() string { - if x != nil { - return x.UserId +func (m *OperateUserRoleReq) GetUserId() string { + if m != nil { + return m.UserId } return "" } -func (x *OperateUserRoleReq) GetRoleLevel() int32 { - if x != nil { - return x.RoleLevel +func (m *OperateUserRoleReq) GetRoleLevel() int32 { + if m != nil { + return m.RoleLevel } return 0 } -func (x *OperateUserRoleReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *OperateUserRoleReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type OperateUserRoleResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *OperateUserRoleResp) Reset() { - *x = OperateUserRoleResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OperateUserRoleResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OperateUserRoleResp) ProtoMessage() {} - -func (x *OperateUserRoleResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[42] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OperateUserRoleResp.ProtoReflect.Descriptor instead. +func (m *OperateUserRoleResp) Reset() { *m = OperateUserRoleResp{} } +func (m *OperateUserRoleResp) String() string { return proto.CompactTextString(m) } +func (*OperateUserRoleResp) ProtoMessage() {} func (*OperateUserRoleResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{42} + return fileDescriptor_group_48ef48bf92e641e9, []int{42} } +func (m *OperateUserRoleResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OperateUserRoleResp.Unmarshal(m, b) +} +func (m *OperateUserRoleResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OperateUserRoleResp.Marshal(b, m, deterministic) +} +func (dst *OperateUserRoleResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_OperateUserRoleResp.Merge(dst, src) +} +func (m *OperateUserRoleResp) XXX_Size() int { + return xxx_messageInfo_OperateUserRoleResp.Size(m) +} +func (m *OperateUserRoleResp) XXX_DiscardUnknown() { + xxx_messageInfo_OperateUserRoleResp.DiscardUnknown(m) +} + +var xxx_messageInfo_OperateUserRoleResp proto.InternalMessageInfo type DeleteGroupReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupId string `protobuf:"bytes,1,opt,name=GroupId,proto3" json:"GroupId,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + GroupId string `protobuf:"bytes,1,opt,name=GroupId" json:"GroupId,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *DeleteGroupReq) Reset() { - *x = DeleteGroupReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[43] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteGroupReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteGroupReq) ProtoMessage() {} - -func (x *DeleteGroupReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[43] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteGroupReq.ProtoReflect.Descriptor instead. +func (m *DeleteGroupReq) Reset() { *m = DeleteGroupReq{} } +func (m *DeleteGroupReq) String() string { return proto.CompactTextString(m) } +func (*DeleteGroupReq) ProtoMessage() {} func (*DeleteGroupReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{43} + return fileDescriptor_group_48ef48bf92e641e9, []int{43} +} +func (m *DeleteGroupReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteGroupReq.Unmarshal(m, b) +} +func (m *DeleteGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteGroupReq.Marshal(b, m, deterministic) +} +func (dst *DeleteGroupReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteGroupReq.Merge(dst, src) +} +func (m *DeleteGroupReq) XXX_Size() int { + return xxx_messageInfo_DeleteGroupReq.Size(m) +} +func (m *DeleteGroupReq) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteGroupReq.DiscardUnknown(m) } -func (x *DeleteGroupReq) GetGroupId() string { - if x != nil { - return x.GroupId +var xxx_messageInfo_DeleteGroupReq proto.InternalMessageInfo + +func (m *DeleteGroupReq) GetGroupId() string { + if m != nil { + return m.GroupId } return "" } -func (x *DeleteGroupReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *DeleteGroupReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type DeleteGroupResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *DeleteGroupResp) Reset() { - *x = DeleteGroupResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[44] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteGroupResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteGroupResp) ProtoMessage() {} - -func (x *DeleteGroupResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[44] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteGroupResp.ProtoReflect.Descriptor instead. +func (m *DeleteGroupResp) Reset() { *m = DeleteGroupResp{} } +func (m *DeleteGroupResp) String() string { return proto.CompactTextString(m) } +func (*DeleteGroupResp) ProtoMessage() {} func (*DeleteGroupResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{44} + return fileDescriptor_group_48ef48bf92e641e9, []int{44} } +func (m *DeleteGroupResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteGroupResp.Unmarshal(m, b) +} +func (m *DeleteGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteGroupResp.Marshal(b, m, deterministic) +} +func (dst *DeleteGroupResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteGroupResp.Merge(dst, src) +} +func (m *DeleteGroupResp) XXX_Size() int { + return xxx_messageInfo_DeleteGroupResp.Size(m) +} +func (m *DeleteGroupResp) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteGroupResp.DiscardUnknown(m) +} + +var xxx_messageInfo_DeleteGroupResp proto.InternalMessageInfo type GetGroupByIdReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupId string `protobuf:"bytes,1,opt,name=GroupId,proto3" json:"GroupId,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + GroupId string `protobuf:"bytes,1,opt,name=GroupId" json:"GroupId,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetGroupByIdReq) Reset() { - *x = GetGroupByIdReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupByIdReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupByIdReq) ProtoMessage() {} - -func (x *GetGroupByIdReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[45] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGroupByIdReq.ProtoReflect.Descriptor instead. +func (m *GetGroupByIdReq) Reset() { *m = GetGroupByIdReq{} } +func (m *GetGroupByIdReq) String() string { return proto.CompactTextString(m) } +func (*GetGroupByIdReq) ProtoMessage() {} func (*GetGroupByIdReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{45} + return fileDescriptor_group_48ef48bf92e641e9, []int{45} +} +func (m *GetGroupByIdReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupByIdReq.Unmarshal(m, b) +} +func (m *GetGroupByIdReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupByIdReq.Marshal(b, m, deterministic) +} +func (dst *GetGroupByIdReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupByIdReq.Merge(dst, src) +} +func (m *GetGroupByIdReq) XXX_Size() int { + return xxx_messageInfo_GetGroupByIdReq.Size(m) +} +func (m *GetGroupByIdReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupByIdReq.DiscardUnknown(m) } -func (x *GetGroupByIdReq) GetGroupId() string { - if x != nil { - return x.GroupId +var xxx_messageInfo_GetGroupByIdReq proto.InternalMessageInfo + +func (m *GetGroupByIdReq) GetGroupId() string { + if m != nil { + return m.GroupId } return "" } -func (x *GetGroupByIdReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetGroupByIdReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type GetGroupByIdResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CMSGroup *CMSGroup `protobuf:"bytes,1,opt,name=CMSGroup,proto3" json:"CMSGroup,omitempty"` + CMSGroup *CMSGroup `protobuf:"bytes,1,opt,name=CMSGroup" json:"CMSGroup,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetGroupByIdResp) Reset() { - *x = GetGroupByIdResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[46] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupByIdResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupByIdResp) ProtoMessage() {} - -func (x *GetGroupByIdResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[46] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGroupByIdResp.ProtoReflect.Descriptor instead. +func (m *GetGroupByIdResp) Reset() { *m = GetGroupByIdResp{} } +func (m *GetGroupByIdResp) String() string { return proto.CompactTextString(m) } +func (*GetGroupByIdResp) ProtoMessage() {} func (*GetGroupByIdResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{46} + return fileDescriptor_group_48ef48bf92e641e9, []int{46} +} +func (m *GetGroupByIdResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupByIdResp.Unmarshal(m, b) +} +func (m *GetGroupByIdResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupByIdResp.Marshal(b, m, deterministic) +} +func (dst *GetGroupByIdResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupByIdResp.Merge(dst, src) +} +func (m *GetGroupByIdResp) XXX_Size() int { + return xxx_messageInfo_GetGroupByIdResp.Size(m) +} +func (m *GetGroupByIdResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupByIdResp.DiscardUnknown(m) } -func (x *GetGroupByIdResp) GetCMSGroup() *CMSGroup { - if x != nil { - return x.CMSGroup +var xxx_messageInfo_GetGroupByIdResp proto.InternalMessageInfo + +func (m *GetGroupByIdResp) GetCMSGroup() *CMSGroup { + if m != nil { + return m.CMSGroup } return nil } type GetGroupMembersCMSReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupId string `protobuf:"bytes,1,opt,name=GroupId,proto3" json:"GroupId,omitempty"` - UserName string `protobuf:"bytes,2,opt,name=UserName,proto3" json:"UserName,omitempty"` - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,3,opt,name=Pagination,proto3" json:"Pagination,omitempty"` - OperationID string `protobuf:"bytes,4,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + GroupId string `protobuf:"bytes,1,opt,name=GroupId" json:"GroupId,omitempty"` + UserName string `protobuf:"bytes,2,opt,name=UserName" json:"UserName,omitempty"` + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,3,opt,name=Pagination" json:"Pagination,omitempty"` + OperationID string `protobuf:"bytes,4,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetGroupMembersCMSReq) Reset() { - *x = GetGroupMembersCMSReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[47] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupMembersCMSReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupMembersCMSReq) ProtoMessage() {} - -func (x *GetGroupMembersCMSReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[47] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGroupMembersCMSReq.ProtoReflect.Descriptor instead. +func (m *GetGroupMembersCMSReq) Reset() { *m = GetGroupMembersCMSReq{} } +func (m *GetGroupMembersCMSReq) String() string { return proto.CompactTextString(m) } +func (*GetGroupMembersCMSReq) ProtoMessage() {} func (*GetGroupMembersCMSReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{47} + return fileDescriptor_group_48ef48bf92e641e9, []int{47} +} +func (m *GetGroupMembersCMSReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupMembersCMSReq.Unmarshal(m, b) +} +func (m *GetGroupMembersCMSReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupMembersCMSReq.Marshal(b, m, deterministic) +} +func (dst *GetGroupMembersCMSReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupMembersCMSReq.Merge(dst, src) +} +func (m *GetGroupMembersCMSReq) XXX_Size() int { + return xxx_messageInfo_GetGroupMembersCMSReq.Size(m) +} +func (m *GetGroupMembersCMSReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupMembersCMSReq.DiscardUnknown(m) } -func (x *GetGroupMembersCMSReq) GetGroupId() string { - if x != nil { - return x.GroupId +var xxx_messageInfo_GetGroupMembersCMSReq proto.InternalMessageInfo + +func (m *GetGroupMembersCMSReq) GetGroupId() string { + if m != nil { + return m.GroupId } return "" } -func (x *GetGroupMembersCMSReq) GetUserName() string { - if x != nil { - return x.UserName +func (m *GetGroupMembersCMSReq) GetUserName() string { + if m != nil { + return m.UserName } return "" } -func (x *GetGroupMembersCMSReq) GetPagination() *sdk_ws.RequestPagination { - if x != nil { - return x.Pagination +func (m *GetGroupMembersCMSReq) GetPagination() *sdk_ws.RequestPagination { + if m != nil { + return m.Pagination } return nil } -func (x *GetGroupMembersCMSReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetGroupMembersCMSReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type GetGroupMembersCMSResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Members []*sdk_ws.GroupMemberFullInfo `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty"` - Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=Pagination,proto3" json:"Pagination,omitempty"` - MemberNums int32 `protobuf:"varint,3,opt,name=MemberNums,proto3" json:"MemberNums,omitempty"` + Members []*sdk_ws.GroupMemberFullInfo `protobuf:"bytes,1,rep,name=members" json:"members,omitempty"` + Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` + MemberNums int32 `protobuf:"varint,3,opt,name=MemberNums" json:"MemberNums,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetGroupMembersCMSResp) Reset() { - *x = GetGroupMembersCMSResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[48] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupMembersCMSResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupMembersCMSResp) ProtoMessage() {} - -func (x *GetGroupMembersCMSResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[48] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGroupMembersCMSResp.ProtoReflect.Descriptor instead. +func (m *GetGroupMembersCMSResp) Reset() { *m = GetGroupMembersCMSResp{} } +func (m *GetGroupMembersCMSResp) String() string { return proto.CompactTextString(m) } +func (*GetGroupMembersCMSResp) ProtoMessage() {} func (*GetGroupMembersCMSResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{48} + return fileDescriptor_group_48ef48bf92e641e9, []int{48} +} +func (m *GetGroupMembersCMSResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupMembersCMSResp.Unmarshal(m, b) +} +func (m *GetGroupMembersCMSResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupMembersCMSResp.Marshal(b, m, deterministic) +} +func (dst *GetGroupMembersCMSResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupMembersCMSResp.Merge(dst, src) +} +func (m *GetGroupMembersCMSResp) XXX_Size() int { + return xxx_messageInfo_GetGroupMembersCMSResp.Size(m) +} +func (m *GetGroupMembersCMSResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupMembersCMSResp.DiscardUnknown(m) } -func (x *GetGroupMembersCMSResp) GetMembers() []*sdk_ws.GroupMemberFullInfo { - if x != nil { - return x.Members +var xxx_messageInfo_GetGroupMembersCMSResp proto.InternalMessageInfo + +func (m *GetGroupMembersCMSResp) GetMembers() []*sdk_ws.GroupMemberFullInfo { + if m != nil { + return m.Members } return nil } -func (x *GetGroupMembersCMSResp) GetPagination() *sdk_ws.ResponsePagination { - if x != nil { - return x.Pagination +func (m *GetGroupMembersCMSResp) GetPagination() *sdk_ws.ResponsePagination { + if m != nil { + return m.Pagination } return nil } -func (x *GetGroupMembersCMSResp) GetMemberNums() int32 { - if x != nil { - return x.MemberNums +func (m *GetGroupMembersCMSResp) GetMemberNums() int32 { + if m != nil { + return m.MemberNums } return 0 } type RemoveGroupMembersCMSReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupId string `protobuf:"bytes,1,opt,name=GroupId,proto3" json:"GroupId,omitempty"` - UserIds []string `protobuf:"bytes,2,rep,name=UserIds,proto3" json:"UserIds,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - OpUserId string `protobuf:"bytes,4,opt,name=OpUserId,proto3" json:"OpUserId,omitempty"` + GroupId string `protobuf:"bytes,1,opt,name=GroupId" json:"GroupId,omitempty"` + UserIds []string `protobuf:"bytes,2,rep,name=UserIds" json:"UserIds,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` + OpUserId string `protobuf:"bytes,4,opt,name=OpUserId" json:"OpUserId,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *RemoveGroupMembersCMSReq) Reset() { - *x = RemoveGroupMembersCMSReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[49] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RemoveGroupMembersCMSReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RemoveGroupMembersCMSReq) ProtoMessage() {} - -func (x *RemoveGroupMembersCMSReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[49] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RemoveGroupMembersCMSReq.ProtoReflect.Descriptor instead. +func (m *RemoveGroupMembersCMSReq) Reset() { *m = RemoveGroupMembersCMSReq{} } +func (m *RemoveGroupMembersCMSReq) String() string { return proto.CompactTextString(m) } +func (*RemoveGroupMembersCMSReq) ProtoMessage() {} func (*RemoveGroupMembersCMSReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{49} + return fileDescriptor_group_48ef48bf92e641e9, []int{49} +} +func (m *RemoveGroupMembersCMSReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RemoveGroupMembersCMSReq.Unmarshal(m, b) +} +func (m *RemoveGroupMembersCMSReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RemoveGroupMembersCMSReq.Marshal(b, m, deterministic) +} +func (dst *RemoveGroupMembersCMSReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_RemoveGroupMembersCMSReq.Merge(dst, src) +} +func (m *RemoveGroupMembersCMSReq) XXX_Size() int { + return xxx_messageInfo_RemoveGroupMembersCMSReq.Size(m) +} +func (m *RemoveGroupMembersCMSReq) XXX_DiscardUnknown() { + xxx_messageInfo_RemoveGroupMembersCMSReq.DiscardUnknown(m) } -func (x *RemoveGroupMembersCMSReq) GetGroupId() string { - if x != nil { - return x.GroupId +var xxx_messageInfo_RemoveGroupMembersCMSReq proto.InternalMessageInfo + +func (m *RemoveGroupMembersCMSReq) GetGroupId() string { + if m != nil { + return m.GroupId } return "" } -func (x *RemoveGroupMembersCMSReq) GetUserIds() []string { - if x != nil { - return x.UserIds +func (m *RemoveGroupMembersCMSReq) GetUserIds() []string { + if m != nil { + return m.UserIds } return nil } -func (x *RemoveGroupMembersCMSReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *RemoveGroupMembersCMSReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } -func (x *RemoveGroupMembersCMSReq) GetOpUserId() string { - if x != nil { - return x.OpUserId +func (m *RemoveGroupMembersCMSReq) GetOpUserId() string { + if m != nil { + return m.OpUserId } return "" } type RemoveGroupMembersCMSResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Success []string `protobuf:"bytes,1,rep,name=success,proto3" json:"success,omitempty"` - Failed []string `protobuf:"bytes,2,rep,name=failed,proto3" json:"failed,omitempty"` + Success []string `protobuf:"bytes,1,rep,name=success" json:"success,omitempty"` + Failed []string `protobuf:"bytes,2,rep,name=failed" json:"failed,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *RemoveGroupMembersCMSResp) Reset() { - *x = RemoveGroupMembersCMSResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[50] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RemoveGroupMembersCMSResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RemoveGroupMembersCMSResp) ProtoMessage() {} - -func (x *RemoveGroupMembersCMSResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[50] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RemoveGroupMembersCMSResp.ProtoReflect.Descriptor instead. +func (m *RemoveGroupMembersCMSResp) Reset() { *m = RemoveGroupMembersCMSResp{} } +func (m *RemoveGroupMembersCMSResp) String() string { return proto.CompactTextString(m) } +func (*RemoveGroupMembersCMSResp) ProtoMessage() {} func (*RemoveGroupMembersCMSResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{50} + return fileDescriptor_group_48ef48bf92e641e9, []int{50} +} +func (m *RemoveGroupMembersCMSResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RemoveGroupMembersCMSResp.Unmarshal(m, b) +} +func (m *RemoveGroupMembersCMSResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RemoveGroupMembersCMSResp.Marshal(b, m, deterministic) +} +func (dst *RemoveGroupMembersCMSResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_RemoveGroupMembersCMSResp.Merge(dst, src) +} +func (m *RemoveGroupMembersCMSResp) XXX_Size() int { + return xxx_messageInfo_RemoveGroupMembersCMSResp.Size(m) +} +func (m *RemoveGroupMembersCMSResp) XXX_DiscardUnknown() { + xxx_messageInfo_RemoveGroupMembersCMSResp.DiscardUnknown(m) } -func (x *RemoveGroupMembersCMSResp) GetSuccess() []string { - if x != nil { - return x.Success +var xxx_messageInfo_RemoveGroupMembersCMSResp proto.InternalMessageInfo + +func (m *RemoveGroupMembersCMSResp) GetSuccess() []string { + if m != nil { + return m.Success } return nil } -func (x *RemoveGroupMembersCMSResp) GetFailed() []string { - if x != nil { - return x.Failed +func (m *RemoveGroupMembersCMSResp) GetFailed() []string { + if m != nil { + return m.Failed } return nil } type AddGroupMembersCMSReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupId string `protobuf:"bytes,1,opt,name=GroupId,proto3" json:"GroupId,omitempty"` - UserIds []string `protobuf:"bytes,2,rep,name=UserIds,proto3" json:"UserIds,omitempty"` - OperationId string `protobuf:"bytes,3,opt,name=OperationId,proto3" json:"OperationId,omitempty"` - OpUserId string `protobuf:"bytes,4,opt,name=OpUserId,proto3" json:"OpUserId,omitempty"` + GroupId string `protobuf:"bytes,1,opt,name=GroupId" json:"GroupId,omitempty"` + UserIds []string `protobuf:"bytes,2,rep,name=UserIds" json:"UserIds,omitempty"` + OperationId string `protobuf:"bytes,3,opt,name=OperationId" json:"OperationId,omitempty"` + OpUserId string `protobuf:"bytes,4,opt,name=OpUserId" json:"OpUserId,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *AddGroupMembersCMSReq) Reset() { - *x = AddGroupMembersCMSReq{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[51] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AddGroupMembersCMSReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AddGroupMembersCMSReq) ProtoMessage() {} - -func (x *AddGroupMembersCMSReq) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[51] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AddGroupMembersCMSReq.ProtoReflect.Descriptor instead. +func (m *AddGroupMembersCMSReq) Reset() { *m = AddGroupMembersCMSReq{} } +func (m *AddGroupMembersCMSReq) String() string { return proto.CompactTextString(m) } +func (*AddGroupMembersCMSReq) ProtoMessage() {} func (*AddGroupMembersCMSReq) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{51} + return fileDescriptor_group_48ef48bf92e641e9, []int{51} +} +func (m *AddGroupMembersCMSReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddGroupMembersCMSReq.Unmarshal(m, b) +} +func (m *AddGroupMembersCMSReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddGroupMembersCMSReq.Marshal(b, m, deterministic) +} +func (dst *AddGroupMembersCMSReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddGroupMembersCMSReq.Merge(dst, src) +} +func (m *AddGroupMembersCMSReq) XXX_Size() int { + return xxx_messageInfo_AddGroupMembersCMSReq.Size(m) +} +func (m *AddGroupMembersCMSReq) XXX_DiscardUnknown() { + xxx_messageInfo_AddGroupMembersCMSReq.DiscardUnknown(m) } -func (x *AddGroupMembersCMSReq) GetGroupId() string { - if x != nil { - return x.GroupId +var xxx_messageInfo_AddGroupMembersCMSReq proto.InternalMessageInfo + +func (m *AddGroupMembersCMSReq) GetGroupId() string { + if m != nil { + return m.GroupId } return "" } -func (x *AddGroupMembersCMSReq) GetUserIds() []string { - if x != nil { - return x.UserIds +func (m *AddGroupMembersCMSReq) GetUserIds() []string { + if m != nil { + return m.UserIds } return nil } -func (x *AddGroupMembersCMSReq) GetOperationId() string { - if x != nil { - return x.OperationId +func (m *AddGroupMembersCMSReq) GetOperationId() string { + if m != nil { + return m.OperationId } return "" } -func (x *AddGroupMembersCMSReq) GetOpUserId() string { - if x != nil { - return x.OpUserId +func (m *AddGroupMembersCMSReq) GetOpUserId() string { + if m != nil { + return m.OpUserId } return "" } type AddGroupMembersCMSResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Success []string `protobuf:"bytes,1,rep,name=success,proto3" json:"success,omitempty"` - Failed []string `protobuf:"bytes,2,rep,name=failed,proto3" json:"failed,omitempty"` + Success []string `protobuf:"bytes,1,rep,name=success" json:"success,omitempty"` + Failed []string `protobuf:"bytes,2,rep,name=failed" json:"failed,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *AddGroupMembersCMSResp) Reset() { - *x = AddGroupMembersCMSResp{} - if protoimpl.UnsafeEnabled { - mi := &file_group_group_proto_msgTypes[52] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AddGroupMembersCMSResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AddGroupMembersCMSResp) ProtoMessage() {} - -func (x *AddGroupMembersCMSResp) ProtoReflect() protoreflect.Message { - mi := &file_group_group_proto_msgTypes[52] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AddGroupMembersCMSResp.ProtoReflect.Descriptor instead. +func (m *AddGroupMembersCMSResp) Reset() { *m = AddGroupMembersCMSResp{} } +func (m *AddGroupMembersCMSResp) String() string { return proto.CompactTextString(m) } +func (*AddGroupMembersCMSResp) ProtoMessage() {} func (*AddGroupMembersCMSResp) Descriptor() ([]byte, []int) { - return file_group_group_proto_rawDescGZIP(), []int{52} + return fileDescriptor_group_48ef48bf92e641e9, []int{52} +} +func (m *AddGroupMembersCMSResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddGroupMembersCMSResp.Unmarshal(m, b) +} +func (m *AddGroupMembersCMSResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddGroupMembersCMSResp.Marshal(b, m, deterministic) +} +func (dst *AddGroupMembersCMSResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddGroupMembersCMSResp.Merge(dst, src) +} +func (m *AddGroupMembersCMSResp) XXX_Size() int { + return xxx_messageInfo_AddGroupMembersCMSResp.Size(m) +} +func (m *AddGroupMembersCMSResp) XXX_DiscardUnknown() { + xxx_messageInfo_AddGroupMembersCMSResp.DiscardUnknown(m) } -func (x *AddGroupMembersCMSResp) GetSuccess() []string { - if x != nil { - return x.Success +var xxx_messageInfo_AddGroupMembersCMSResp proto.InternalMessageInfo + +func (m *AddGroupMembersCMSResp) GetSuccess() []string { + if m != nil { + return m.Success } return nil } -func (x *AddGroupMembersCMSResp) GetFailed() []string { - if x != nil { - return x.Failed +func (m *AddGroupMembersCMSResp) GetFailed() []string { + if m != nil { + return m.Failed } return nil } -var File_group_group_proto protoreflect.FileDescriptor - -var file_group_group_proto_rawDesc = []byte{ - 0x0a, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0x21, 0x4f, 0x70, 0x65, 0x6e, - 0x5f, 0x49, 0x4d, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x64, - 0x6b, 0x5f, 0x77, 0x73, 0x2f, 0x77, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3e, 0x0a, - 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x45, - 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x72, - 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x4a, 0x0a, - 0x12, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x52, - 0x6f, 0x6c, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, - 0x52, 0x6f, 0x6c, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0xef, 0x01, 0x0a, 0x0e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x12, 0x41, 0x0a, 0x0e, - 0x49, 0x6e, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x0e, 0x49, 0x6e, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x3a, 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, - 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x77, 0x6e, - 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x7f, 0x0a, 0x0f, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, - 0x0a, 0x07, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x72, 0x72, 0x4d, - 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, - 0x12, 0x3a, 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, - 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x72, 0x0a, 0x10, - 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, - 0x12, 0x20, 0x0a, 0x0b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, - 0x22, 0x89, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x42, 0x0a, 0x0d, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x8b, 0x01, 0x0a, - 0x0f, 0x53, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, - 0x12, 0x3a, 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, - 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, - 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x45, 0x0a, 0x10, 0x53, 0x65, - 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, - 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x22, 0x7a, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, - 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1e, 0x0a, - 0x0a, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x9c, 0x01, - 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, - 0x07, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, - 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, - 0x4b, 0x0a, 0x10, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, - 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x10, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x74, 0x0a, 0x1c, - 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, - 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x44, 0x22, 0x9f, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4b, 0x0a, 0x10, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x52, 0x10, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x4c, 0x69, 0x73, 0x74, 0x22, 0xbf, 0x01, 0x0a, 0x15, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, - 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x18, - 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x4f, 0x6c, 0x64, 0x4f, - 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x4f, 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, - 0x12, 0x26, 0x0a, 0x0e, 0x4e, 0x65, 0x77, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x4e, 0x65, 0x77, 0x4f, 0x77, 0x6e, - 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x4b, 0x0a, 0x16, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x31, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x43, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x22, 0x86, 0x01, 0x0a, 0x0c, 0x4a, 0x6f, 0x69, 0x6e, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x1e, - 0x0a, 0x0a, 0x52, 0x65, 0x71, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x52, 0x65, 0x71, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x42, 0x0a, 0x0d, - 0x4a, 0x6f, 0x69, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, - 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x22, 0xd9, 0x01, 0x0a, 0x1b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, - 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x18, - 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x46, 0x72, 0x6f, 0x6d, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x46, 0x72, - 0x6f, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x48, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x64, 0x4d, 0x73, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x48, 0x61, - 0x6e, 0x64, 0x6c, 0x65, 0x64, 0x4d, 0x73, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x48, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, - 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x51, 0x0a, 0x1c, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x0a, - 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x11, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, - 0x66, 0x0a, 0x0c, 0x51, 0x75, 0x69, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x12, - 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, - 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, - 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x42, 0x0a, 0x0d, 0x51, 0x75, 0x69, 0x74, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, - 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0xa1, 0x01, 0x0a, 0x15, - 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, - 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x16, 0x0a, - 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x46, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x4e, 0x65, 0x78, 0x74, 0x53, 0x65, 0x71, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4e, 0x65, 0x78, 0x74, 0x53, 0x65, 0x71, 0x22, - 0xac, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x72, - 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x72, 0x72, - 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x46, 0x0a, 0x0a, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x78, 0x74, 0x53, 0x65, 0x71, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6e, 0x65, 0x78, 0x74, 0x53, 0x65, 0x71, 0x22, 0x90, - 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, - 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, - 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x44, 0x22, 0x93, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, - 0x07, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, - 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, - 0x46, 0x0a, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, - 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xb0, 0x01, 0x0a, 0x12, 0x4b, 0x69, 0x63, 0x6b, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x18, - 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x2a, 0x0a, 0x10, 0x4b, 0x69, 0x63, 0x6b, - 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x10, 0x4b, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1a, - 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x3b, 0x0a, 0x09, 0x49, 0x64, - 0x32, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, - 0x16, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x7f, 0x0a, 0x13, 0x4b, 0x69, 0x63, 0x6b, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, - 0x0a, 0x07, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x72, 0x72, 0x4d, - 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, - 0x12, 0x36, 0x0a, 0x0d, 0x49, 0x64, 0x32, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4c, 0x69, 0x73, - 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, - 0x49, 0x64, 0x32, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0d, 0x49, 0x64, 0x32, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x75, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4a, - 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, - 0x86, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x72, - 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x72, 0x72, - 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x3a, 0x0a, 0x09, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xb4, 0x01, 0x0a, 0x14, 0x49, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, - 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x16, 0x0a, - 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x11, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, - 0x81, 0x01, 0x0a, 0x15, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x54, 0x6f, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x72, 0x72, - 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x72, 0x72, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x36, 0x0a, 0x0d, 0x49, - 0x64, 0x32, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x49, 0x64, 0x32, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0d, 0x49, 0x64, 0x32, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4c, - 0x69, 0x73, 0x74, 0x22, 0x6e, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, - 0x6c, 0x6c, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x44, 0x22, 0x91, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x41, 0x6c, 0x6c, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, - 0x07, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, - 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, - 0x46, 0x0a, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, - 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x96, 0x01, 0x0a, 0x08, 0x43, 0x4d, 0x53, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3a, 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, - 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x28, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, - 0x22, 0x93, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, - 0x12, 0x1c, 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x44, - 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0xa1, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x09, 0x43, 0x4d, 0x53, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x2e, 0x43, 0x4d, 0x53, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x09, 0x43, 0x4d, 0x53, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x44, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x73, 0x22, 0x76, 0x0a, 0x0c, 0x47, 0x65, - 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x12, 0x44, 0x0a, 0x0a, 0x50, 0x61, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x44, 0x22, 0xa0, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x09, 0x43, 0x4d, 0x53, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, - 0x43, 0x4d, 0x53, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x09, 0x43, 0x4d, 0x53, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x12, 0x44, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x50, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x22, 0x4f, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x6b, 0x0a, 0x15, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x12, - 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x44, 0x22, 0x18, 0x0a, 0x16, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x86, 0x01, - 0x0a, 0x12, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x16, - 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x6f, 0x6c, 0x65, 0x4c, 0x65, - 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x52, 0x6f, 0x6c, 0x65, 0x4c, - 0x65, 0x76, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x15, 0x0a, 0x13, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x4c, 0x0a, - 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x12, - 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x11, 0x0a, 0x0f, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x22, 0x4d, - 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, - 0x71, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x3f, 0x0a, - 0x10, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x2b, 0x0a, 0x08, 0x43, 0x4d, 0x53, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x43, 0x4d, 0x53, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x52, 0x08, 0x43, 0x4d, 0x53, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0xb5, - 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x43, 0x4d, 0x53, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x44, - 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0xc1, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x43, 0x4d, 0x53, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x40, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, - 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x73, 0x22, 0x8c, 0x01, 0x0a, 0x18, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x43, 0x4d, 0x53, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, - 0x64, 0x12, 0x18, 0x0a, 0x07, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x07, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, - 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x19, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x43, - 0x4d, 0x53, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x12, 0x16, 0x0a, 0x06, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x06, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x22, 0x89, 0x01, 0x0a, 0x15, 0x41, 0x64, 0x64, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x43, 0x4d, 0x53, 0x52, - 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x22, 0x4a, 0x0a, 0x16, 0x41, 0x64, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x43, 0x4d, 0x53, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, - 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x32, 0xad, 0x0e, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3c, 0x0a, 0x0b, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x15, 0x2e, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, - 0x1a, 0x16, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x09, 0x6a, 0x6f, 0x69, 0x6e, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x13, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4a, 0x6f, - 0x69, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x36, 0x0a, 0x09, 0x71, 0x75, 0x69, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x13, 0x2e, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x51, 0x75, 0x69, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, - 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x51, 0x75, 0x69, 0x74, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x42, 0x0a, 0x0d, 0x67, 0x65, 0x74, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x2e, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x0c, - 0x73, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x53, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x53, 0x65, 0x74, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x60, 0x0a, - 0x17, 0x67, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x66, 0x0a, 0x19, 0x67, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x41, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, 0x2e, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x41, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x1a, 0x24, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1c, 0x2e, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x63, 0x0a, 0x18, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x51, 0x0a, 0x12, 0x67, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, - 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x54, 0x0a, 0x13, 0x67, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x2e, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x48, 0x0a, 0x0f, 0x6b, 0x69, 0x63, 0x6b, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x2e, 0x4b, 0x69, 0x63, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4b, - 0x69, 0x63, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x51, 0x0a, 0x12, 0x67, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, - 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4e, 0x0a, 0x11, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1b, 0x2e, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x54, 0x6f, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, - 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4e, 0x0a, 0x11, 0x67, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x41, 0x6c, 0x6c, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x2e, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x6c, 0x6c, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, - 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x6c, 0x6c, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x42, 0x79, 0x49, 0x64, 0x12, 0x16, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, - 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, - 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x33, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x12, 0x12, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, - 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x09, 0x47, - 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x13, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x12, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x2e, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x48, 0x0a, 0x0f, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x19, 0x2e, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x3c, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, - 0x15, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, - 0x0a, 0x12, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x43, 0x4d, 0x53, 0x12, 0x1c, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x43, 0x4d, 0x53, 0x52, - 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x43, 0x4d, 0x53, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x5a, 0x0a, 0x15, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x43, 0x4d, 0x53, 0x12, 0x1f, 0x2e, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x43, 0x4d, 0x53, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x43, 0x4d, 0x53, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, - 0x12, 0x41, 0x64, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x43, 0x4d, 0x53, 0x12, 0x1c, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x41, 0x64, 0x64, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x43, 0x4d, 0x53, 0x52, 0x65, - 0x71, 0x1a, 0x1d, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x41, 0x64, 0x64, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x43, 0x4d, 0x53, 0x52, 0x65, 0x73, 0x70, - 0x42, 0x0f, 0x5a, 0x0d, 0x2e, 0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x3b, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +type DismissGroupReq struct { + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + GroupID string `protobuf:"bytes,3,opt,name=groupID" json:"groupID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -var ( - file_group_group_proto_rawDescOnce sync.Once - file_group_group_proto_rawDescData = file_group_group_proto_rawDesc -) - -func file_group_group_proto_rawDescGZIP() []byte { - file_group_group_proto_rawDescOnce.Do(func() { - file_group_group_proto_rawDescData = protoimpl.X.CompressGZIP(file_group_group_proto_rawDescData) - }) - return file_group_group_proto_rawDescData +func (m *DismissGroupReq) Reset() { *m = DismissGroupReq{} } +func (m *DismissGroupReq) String() string { return proto.CompactTextString(m) } +func (*DismissGroupReq) ProtoMessage() {} +func (*DismissGroupReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_48ef48bf92e641e9, []int{53} +} +func (m *DismissGroupReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DismissGroupReq.Unmarshal(m, b) +} +func (m *DismissGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DismissGroupReq.Marshal(b, m, deterministic) +} +func (dst *DismissGroupReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_DismissGroupReq.Merge(dst, src) +} +func (m *DismissGroupReq) XXX_Size() int { + return xxx_messageInfo_DismissGroupReq.Size(m) +} +func (m *DismissGroupReq) XXX_DiscardUnknown() { + xxx_messageInfo_DismissGroupReq.DiscardUnknown(m) } -var file_group_group_proto_msgTypes = make([]protoimpl.MessageInfo, 53) -var file_group_group_proto_goTypes = []interface{}{ - (*CommonResp)(nil), // 0: group.CommonResp - (*GroupAddMemberInfo)(nil), // 1: group.GroupAddMemberInfo - (*CreateGroupReq)(nil), // 2: group.CreateGroupReq - (*CreateGroupResp)(nil), // 3: group.CreateGroupResp - (*GetGroupsInfoReq)(nil), // 4: group.GetGroupsInfoReq - (*GetGroupsInfoResp)(nil), // 5: group.GetGroupsInfoResp - (*SetGroupInfoReq)(nil), // 6: group.SetGroupInfoReq - (*SetGroupInfoResp)(nil), // 7: group.SetGroupInfoResp - (*GetGroupApplicationListReq)(nil), // 8: group.GetGroupApplicationListReq - (*GetGroupApplicationListResp)(nil), // 9: group.GetGroupApplicationListResp - (*GetUserReqApplicationListReq)(nil), // 10: group.GetUserReqApplicationListReq - (*GetUserReqApplicationListResp)(nil), // 11: group.GetUserReqApplicationListResp - (*TransferGroupOwnerReq)(nil), // 12: group.TransferGroupOwnerReq - (*TransferGroupOwnerResp)(nil), // 13: group.TransferGroupOwnerResp - (*JoinGroupReq)(nil), // 14: group.JoinGroupReq - (*JoinGroupResp)(nil), // 15: group.JoinGroupResp - (*GroupApplicationResponseReq)(nil), // 16: group.GroupApplicationResponseReq - (*GroupApplicationResponseResp)(nil), // 17: group.GroupApplicationResponseResp - (*QuitGroupReq)(nil), // 18: group.QuitGroupReq - (*QuitGroupResp)(nil), // 19: group.QuitGroupResp - (*GetGroupMemberListReq)(nil), // 20: group.GetGroupMemberListReq - (*GetGroupMemberListResp)(nil), // 21: group.GetGroupMemberListResp - (*GetGroupMembersInfoReq)(nil), // 22: group.GetGroupMembersInfoReq - (*GetGroupMembersInfoResp)(nil), // 23: group.GetGroupMembersInfoResp - (*KickGroupMemberReq)(nil), // 24: group.KickGroupMemberReq - (*Id2Result)(nil), // 25: group.Id2Result - (*KickGroupMemberResp)(nil), // 26: group.KickGroupMemberResp - (*GetJoinedGroupListReq)(nil), // 27: group.GetJoinedGroupListReq - (*GetJoinedGroupListResp)(nil), // 28: group.GetJoinedGroupListResp - (*InviteUserToGroupReq)(nil), // 29: group.InviteUserToGroupReq - (*InviteUserToGroupResp)(nil), // 30: group.InviteUserToGroupResp - (*GetGroupAllMemberReq)(nil), // 31: group.GetGroupAllMemberReq - (*GetGroupAllMemberResp)(nil), // 32: group.GetGroupAllMemberResp - (*CMSGroup)(nil), // 33: group.CMSGroup - (*GetGroupReq)(nil), // 34: group.GetGroupReq - (*GetGroupResp)(nil), // 35: group.GetGroupResp - (*GetGroupsReq)(nil), // 36: group.GetGroupsReq - (*GetGroupsResp)(nil), // 37: group.GetGroupsResp - (*GetGroupMemberReq)(nil), // 38: group.GetGroupMemberReq - (*OperateGroupStatusReq)(nil), // 39: group.OperateGroupStatusReq - (*OperateGroupStatusResp)(nil), // 40: group.OperateGroupStatusResp - (*OperateUserRoleReq)(nil), // 41: group.OperateUserRoleReq - (*OperateUserRoleResp)(nil), // 42: group.OperateUserRoleResp - (*DeleteGroupReq)(nil), // 43: group.DeleteGroupReq - (*DeleteGroupResp)(nil), // 44: group.DeleteGroupResp - (*GetGroupByIdReq)(nil), // 45: group.GetGroupByIdReq - (*GetGroupByIdResp)(nil), // 46: group.GetGroupByIdResp - (*GetGroupMembersCMSReq)(nil), // 47: group.GetGroupMembersCMSReq - (*GetGroupMembersCMSResp)(nil), // 48: group.GetGroupMembersCMSResp - (*RemoveGroupMembersCMSReq)(nil), // 49: group.RemoveGroupMembersCMSReq - (*RemoveGroupMembersCMSResp)(nil), // 50: group.RemoveGroupMembersCMSResp - (*AddGroupMembersCMSReq)(nil), // 51: group.AddGroupMembersCMSReq - (*AddGroupMembersCMSResp)(nil), // 52: group.AddGroupMembersCMSResp - (*sdk_ws.GroupInfo)(nil), // 53: server_api_params.GroupInfo - (*sdk_ws.GroupRequest)(nil), // 54: server_api_params.GroupRequest - (*sdk_ws.GroupMemberFullInfo)(nil), // 55: server_api_params.GroupMemberFullInfo - (*sdk_ws.RequestPagination)(nil), // 56: server_api_params.RequestPagination - (*sdk_ws.ResponsePagination)(nil), // 57: server_api_params.ResponsePagination -} -var file_group_group_proto_depIdxs = []int32{ - 1, // 0: group.CreateGroupReq.InitMemberList:type_name -> group.GroupAddMemberInfo - 53, // 1: group.CreateGroupReq.GroupInfo:type_name -> server_api_params.GroupInfo - 53, // 2: group.CreateGroupResp.GroupInfo:type_name -> server_api_params.GroupInfo - 53, // 3: group.GetGroupsInfoResp.GroupInfoList:type_name -> server_api_params.GroupInfo - 53, // 4: group.SetGroupInfoReq.GroupInfo:type_name -> server_api_params.GroupInfo - 0, // 5: group.SetGroupInfoResp.CommonResp:type_name -> group.CommonResp - 54, // 6: group.GetGroupApplicationListResp.GroupRequestList:type_name -> server_api_params.GroupRequest - 0, // 7: group.GetUserReqApplicationListResp.CommonResp:type_name -> group.CommonResp - 54, // 8: group.GetUserReqApplicationListResp.GroupRequestList:type_name -> server_api_params.GroupRequest - 0, // 9: group.TransferGroupOwnerResp.CommonResp:type_name -> group.CommonResp - 0, // 10: group.JoinGroupResp.CommonResp:type_name -> group.CommonResp - 0, // 11: group.GroupApplicationResponseResp.CommonResp:type_name -> group.CommonResp - 0, // 12: group.QuitGroupResp.CommonResp:type_name -> group.CommonResp - 55, // 13: group.GetGroupMemberListResp.memberList:type_name -> server_api_params.GroupMemberFullInfo - 55, // 14: group.GetGroupMembersInfoResp.memberList:type_name -> server_api_params.GroupMemberFullInfo - 25, // 15: group.KickGroupMemberResp.Id2ResultList:type_name -> group.Id2Result - 53, // 16: group.GetJoinedGroupListResp.GroupList:type_name -> server_api_params.GroupInfo - 25, // 17: group.InviteUserToGroupResp.Id2ResultList:type_name -> group.Id2Result - 55, // 18: group.GetGroupAllMemberResp.memberList:type_name -> server_api_params.GroupMemberFullInfo - 53, // 19: group.CMSGroup.GroupInfo:type_name -> server_api_params.GroupInfo - 56, // 20: group.GetGroupReq.Pagination:type_name -> server_api_params.RequestPagination - 33, // 21: group.GetGroupResp.CMSGroups:type_name -> group.CMSGroup - 56, // 22: group.GetGroupResp.Pagination:type_name -> server_api_params.RequestPagination - 56, // 23: group.GetGroupsReq.Pagination:type_name -> server_api_params.RequestPagination - 33, // 24: group.GetGroupsResp.CMSGroups:type_name -> group.CMSGroup - 56, // 25: group.GetGroupsResp.Pagination:type_name -> server_api_params.RequestPagination - 33, // 26: group.GetGroupByIdResp.CMSGroup:type_name -> group.CMSGroup - 56, // 27: group.GetGroupMembersCMSReq.Pagination:type_name -> server_api_params.RequestPagination - 55, // 28: group.GetGroupMembersCMSResp.members:type_name -> server_api_params.GroupMemberFullInfo - 57, // 29: group.GetGroupMembersCMSResp.Pagination:type_name -> server_api_params.ResponsePagination - 2, // 30: group.group.createGroup:input_type -> group.CreateGroupReq - 14, // 31: group.group.joinGroup:input_type -> group.JoinGroupReq - 18, // 32: group.group.quitGroup:input_type -> group.QuitGroupReq - 4, // 33: group.group.getGroupsInfo:input_type -> group.GetGroupsInfoReq - 6, // 34: group.group.setGroupInfo:input_type -> group.SetGroupInfoReq - 8, // 35: group.group.getGroupApplicationList:input_type -> group.GetGroupApplicationListReq - 10, // 36: group.group.getUserReqApplicationList:input_type -> group.GetUserReqApplicationListReq - 12, // 37: group.group.transferGroupOwner:input_type -> group.TransferGroupOwnerReq - 16, // 38: group.group.groupApplicationResponse:input_type -> group.GroupApplicationResponseReq - 20, // 39: group.group.getGroupMemberList:input_type -> group.GetGroupMemberListReq - 22, // 40: group.group.getGroupMembersInfo:input_type -> group.GetGroupMembersInfoReq - 24, // 41: group.group.kickGroupMember:input_type -> group.KickGroupMemberReq - 27, // 42: group.group.getJoinedGroupList:input_type -> group.GetJoinedGroupListReq - 29, // 43: group.group.inviteUserToGroup:input_type -> group.InviteUserToGroupReq - 31, // 44: group.group.getGroupAllMember:input_type -> group.GetGroupAllMemberReq - 45, // 45: group.group.GetGroupById:input_type -> group.GetGroupByIdReq - 34, // 46: group.group.GetGroup:input_type -> group.GetGroupReq - 36, // 47: group.group.GetGroups:input_type -> group.GetGroupsReq - 39, // 48: group.group.OperateGroupStatus:input_type -> group.OperateGroupStatusReq - 41, // 49: group.group.OperateUserRole:input_type -> group.OperateUserRoleReq - 43, // 50: group.group.DeleteGroup:input_type -> group.DeleteGroupReq - 47, // 51: group.group.GetGroupMembersCMS:input_type -> group.GetGroupMembersCMSReq - 49, // 52: group.group.RemoveGroupMembersCMS:input_type -> group.RemoveGroupMembersCMSReq - 51, // 53: group.group.AddGroupMembersCMS:input_type -> group.AddGroupMembersCMSReq - 3, // 54: group.group.createGroup:output_type -> group.CreateGroupResp - 15, // 55: group.group.joinGroup:output_type -> group.JoinGroupResp - 19, // 56: group.group.quitGroup:output_type -> group.QuitGroupResp - 5, // 57: group.group.getGroupsInfo:output_type -> group.GetGroupsInfoResp - 7, // 58: group.group.setGroupInfo:output_type -> group.SetGroupInfoResp - 9, // 59: group.group.getGroupApplicationList:output_type -> group.GetGroupApplicationListResp - 11, // 60: group.group.getUserReqApplicationList:output_type -> group.GetUserReqApplicationListResp - 13, // 61: group.group.transferGroupOwner:output_type -> group.TransferGroupOwnerResp - 17, // 62: group.group.groupApplicationResponse:output_type -> group.GroupApplicationResponseResp - 21, // 63: group.group.getGroupMemberList:output_type -> group.GetGroupMemberListResp - 23, // 64: group.group.getGroupMembersInfo:output_type -> group.GetGroupMembersInfoResp - 26, // 65: group.group.kickGroupMember:output_type -> group.KickGroupMemberResp - 28, // 66: group.group.getJoinedGroupList:output_type -> group.GetJoinedGroupListResp - 30, // 67: group.group.inviteUserToGroup:output_type -> group.InviteUserToGroupResp - 32, // 68: group.group.getGroupAllMember:output_type -> group.GetGroupAllMemberResp - 46, // 69: group.group.GetGroupById:output_type -> group.GetGroupByIdResp - 35, // 70: group.group.GetGroup:output_type -> group.GetGroupResp - 37, // 71: group.group.GetGroups:output_type -> group.GetGroupsResp - 40, // 72: group.group.OperateGroupStatus:output_type -> group.OperateGroupStatusResp - 42, // 73: group.group.OperateUserRole:output_type -> group.OperateUserRoleResp - 44, // 74: group.group.DeleteGroup:output_type -> group.DeleteGroupResp - 48, // 75: group.group.GetGroupMembersCMS:output_type -> group.GetGroupMembersCMSResp - 50, // 76: group.group.RemoveGroupMembersCMS:output_type -> group.RemoveGroupMembersCMSResp - 52, // 77: group.group.AddGroupMembersCMS:output_type -> group.AddGroupMembersCMSResp - 54, // [54:78] is the sub-list for method output_type - 30, // [30:54] is the sub-list for method input_type - 30, // [30:30] is the sub-list for extension type_name - 30, // [30:30] is the sub-list for extension extendee - 0, // [0:30] is the sub-list for field type_name -} +var xxx_messageInfo_DismissGroupReq proto.InternalMessageInfo -func init() { file_group_group_proto_init() } -func file_group_group_proto_init() { - if File_group_group_proto != nil { - return +func (m *DismissGroupReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } - if !protoimpl.UnsafeEnabled { - file_group_group_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommonResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupAddMemberInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateGroupReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateGroupResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupsInfoReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupsInfoResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetGroupInfoReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetGroupInfoResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupApplicationListReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupApplicationListResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserReqApplicationListReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserReqApplicationListResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransferGroupOwnerReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransferGroupOwnerResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*JoinGroupReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*JoinGroupResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupApplicationResponseReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupApplicationResponseResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QuitGroupReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QuitGroupResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupMemberListReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupMemberListResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupMembersInfoReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupMembersInfoResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KickGroupMemberReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Id2Result); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KickGroupMemberResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJoinedGroupListReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJoinedGroupListResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InviteUserToGroupReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InviteUserToGroupResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupAllMemberReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupAllMemberResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMSGroup); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupsReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupsResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupMemberReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OperateGroupStatusReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OperateGroupStatusResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OperateUserRoleReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OperateUserRoleResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteGroupReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteGroupResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupByIdReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupByIdResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupMembersCMSReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupMembersCMSResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveGroupMembersCMSReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveGroupMembersCMSResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddGroupMembersCMSReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_group_group_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddGroupMembersCMSResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } + return "" +} + +func (m *DismissGroupReq) GetOperationID() string { + if m != nil { + return m.OperationID } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_group_group_proto_rawDesc, - NumEnums: 0, - NumMessages: 53, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_group_group_proto_goTypes, - DependencyIndexes: file_group_group_proto_depIdxs, - MessageInfos: file_group_group_proto_msgTypes, - }.Build() - File_group_group_proto = out.File - file_group_group_proto_rawDesc = nil - file_group_group_proto_goTypes = nil - file_group_group_proto_depIdxs = nil + return "" +} + +func (m *DismissGroupReq) GetGroupID() string { + if m != nil { + return m.GroupID + } + return "" +} + +type DismissGroupResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DismissGroupResp) Reset() { *m = DismissGroupResp{} } +func (m *DismissGroupResp) String() string { return proto.CompactTextString(m) } +func (*DismissGroupResp) ProtoMessage() {} +func (*DismissGroupResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_48ef48bf92e641e9, []int{54} +} +func (m *DismissGroupResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DismissGroupResp.Unmarshal(m, b) +} +func (m *DismissGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DismissGroupResp.Marshal(b, m, deterministic) +} +func (dst *DismissGroupResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_DismissGroupResp.Merge(dst, src) +} +func (m *DismissGroupResp) XXX_Size() int { + return xxx_messageInfo_DismissGroupResp.Size(m) +} +func (m *DismissGroupResp) XXX_DiscardUnknown() { + xxx_messageInfo_DismissGroupResp.DiscardUnknown(m) +} + +var xxx_messageInfo_DismissGroupResp proto.InternalMessageInfo + +func (m *DismissGroupResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +func init() { + proto.RegisterType((*CommonResp)(nil), "group.CommonResp") + proto.RegisterType((*GroupAddMemberInfo)(nil), "group.GroupAddMemberInfo") + proto.RegisterType((*CreateGroupReq)(nil), "group.CreateGroupReq") + proto.RegisterType((*CreateGroupResp)(nil), "group.CreateGroupResp") + proto.RegisterType((*GetGroupsInfoReq)(nil), "group.GetGroupsInfoReq") + proto.RegisterType((*GetGroupsInfoResp)(nil), "group.GetGroupsInfoResp") + proto.RegisterType((*SetGroupInfoReq)(nil), "group.SetGroupInfoReq") + proto.RegisterType((*SetGroupInfoResp)(nil), "group.SetGroupInfoResp") + proto.RegisterType((*GetGroupApplicationListReq)(nil), "group.GetGroupApplicationListReq") + proto.RegisterType((*GetGroupApplicationListResp)(nil), "group.GetGroupApplicationListResp") + proto.RegisterType((*GetUserReqApplicationListReq)(nil), "group.GetUserReqApplicationListReq") + proto.RegisterType((*GetUserReqApplicationListResp)(nil), "group.GetUserReqApplicationListResp") + proto.RegisterType((*TransferGroupOwnerReq)(nil), "group.TransferGroupOwnerReq") + proto.RegisterType((*TransferGroupOwnerResp)(nil), "group.TransferGroupOwnerResp") + proto.RegisterType((*JoinGroupReq)(nil), "group.JoinGroupReq") + proto.RegisterType((*JoinGroupResp)(nil), "group.JoinGroupResp") + proto.RegisterType((*GroupApplicationResponseReq)(nil), "group.GroupApplicationResponseReq") + proto.RegisterType((*GroupApplicationResponseResp)(nil), "group.GroupApplicationResponseResp") + proto.RegisterType((*QuitGroupReq)(nil), "group.QuitGroupReq") + proto.RegisterType((*QuitGroupResp)(nil), "group.QuitGroupResp") + proto.RegisterType((*GetGroupMemberListReq)(nil), "group.GetGroupMemberListReq") + proto.RegisterType((*GetGroupMemberListResp)(nil), "group.GetGroupMemberListResp") + proto.RegisterType((*GetGroupMembersInfoReq)(nil), "group.GetGroupMembersInfoReq") + proto.RegisterType((*GetGroupMembersInfoResp)(nil), "group.GetGroupMembersInfoResp") + proto.RegisterType((*KickGroupMemberReq)(nil), "group.KickGroupMemberReq") + proto.RegisterType((*Id2Result)(nil), "group.Id2Result") + proto.RegisterType((*KickGroupMemberResp)(nil), "group.KickGroupMemberResp") + proto.RegisterType((*GetJoinedGroupListReq)(nil), "group.GetJoinedGroupListReq") + proto.RegisterType((*GetJoinedGroupListResp)(nil), "group.GetJoinedGroupListResp") + proto.RegisterType((*InviteUserToGroupReq)(nil), "group.InviteUserToGroupReq") + proto.RegisterType((*InviteUserToGroupResp)(nil), "group.InviteUserToGroupResp") + proto.RegisterType((*GetGroupAllMemberReq)(nil), "group.GetGroupAllMemberReq") + proto.RegisterType((*GetGroupAllMemberResp)(nil), "group.GetGroupAllMemberResp") + proto.RegisterType((*CMSGroup)(nil), "group.CMSGroup") + proto.RegisterType((*GetGroupReq)(nil), "group.GetGroupReq") + proto.RegisterType((*GetGroupResp)(nil), "group.GetGroupResp") + proto.RegisterType((*GetGroupsReq)(nil), "group.GetGroupsReq") + proto.RegisterType((*GetGroupsResp)(nil), "group.GetGroupsResp") + proto.RegisterType((*GetGroupMemberReq)(nil), "group.GetGroupMemberReq") + proto.RegisterType((*OperateGroupStatusReq)(nil), "group.OperateGroupStatusReq") + proto.RegisterType((*OperateGroupStatusResp)(nil), "group.OperateGroupStatusResp") + proto.RegisterType((*OperateUserRoleReq)(nil), "group.OperateUserRoleReq") + proto.RegisterType((*OperateUserRoleResp)(nil), "group.OperateUserRoleResp") + proto.RegisterType((*DeleteGroupReq)(nil), "group.DeleteGroupReq") + proto.RegisterType((*DeleteGroupResp)(nil), "group.DeleteGroupResp") + proto.RegisterType((*GetGroupByIdReq)(nil), "group.GetGroupByIdReq") + proto.RegisterType((*GetGroupByIdResp)(nil), "group.GetGroupByIdResp") + proto.RegisterType((*GetGroupMembersCMSReq)(nil), "group.GetGroupMembersCMSReq") + proto.RegisterType((*GetGroupMembersCMSResp)(nil), "group.GetGroupMembersCMSResp") + proto.RegisterType((*RemoveGroupMembersCMSReq)(nil), "group.RemoveGroupMembersCMSReq") + proto.RegisterType((*RemoveGroupMembersCMSResp)(nil), "group.RemoveGroupMembersCMSResp") + proto.RegisterType((*AddGroupMembersCMSReq)(nil), "group.AddGroupMembersCMSReq") + proto.RegisterType((*AddGroupMembersCMSResp)(nil), "group.AddGroupMembersCMSResp") + proto.RegisterType((*DismissGroupReq)(nil), "group.DismissGroupReq") + proto.RegisterType((*DismissGroupResp)(nil), "group.DismissGroupResp") } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context -var _ grpc.ClientConnInterface +var _ grpc.ClientConn // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 +const _ = grpc.SupportPackageIsVersion4 + +// Client API for Group service -// GroupClient is the client API for Group service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type GroupClient interface { CreateGroup(ctx context.Context, in *CreateGroupReq, opts ...grpc.CallOption) (*CreateGroupResp, error) JoinGroup(ctx context.Context, in *JoinGroupReq, opts ...grpc.CallOption) (*JoinGroupResp, error) @@ -4664,19 +2983,20 @@ type GroupClient interface { GetGroupMembersCMS(ctx context.Context, in *GetGroupMembersCMSReq, opts ...grpc.CallOption) (*GetGroupMembersCMSResp, error) RemoveGroupMembersCMS(ctx context.Context, in *RemoveGroupMembersCMSReq, opts ...grpc.CallOption) (*RemoveGroupMembersCMSResp, error) AddGroupMembersCMS(ctx context.Context, in *AddGroupMembersCMSReq, opts ...grpc.CallOption) (*AddGroupMembersCMSResp, error) + DismissGroup(ctx context.Context, in *DismissGroupReq, opts ...grpc.CallOption) (*DismissGroupResp, error) } type groupClient struct { - cc grpc.ClientConnInterface + cc *grpc.ClientConn } -func NewGroupClient(cc grpc.ClientConnInterface) GroupClient { +func NewGroupClient(cc *grpc.ClientConn) GroupClient { return &groupClient{cc} } func (c *groupClient) CreateGroup(ctx context.Context, in *CreateGroupReq, opts ...grpc.CallOption) (*CreateGroupResp, error) { out := new(CreateGroupResp) - err := c.cc.Invoke(ctx, "/group.group/createGroup", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/createGroup", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4685,7 +3005,7 @@ func (c *groupClient) CreateGroup(ctx context.Context, in *CreateGroupReq, opts func (c *groupClient) JoinGroup(ctx context.Context, in *JoinGroupReq, opts ...grpc.CallOption) (*JoinGroupResp, error) { out := new(JoinGroupResp) - err := c.cc.Invoke(ctx, "/group.group/joinGroup", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/joinGroup", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4694,7 +3014,7 @@ func (c *groupClient) JoinGroup(ctx context.Context, in *JoinGroupReq, opts ...g func (c *groupClient) QuitGroup(ctx context.Context, in *QuitGroupReq, opts ...grpc.CallOption) (*QuitGroupResp, error) { out := new(QuitGroupResp) - err := c.cc.Invoke(ctx, "/group.group/quitGroup", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/quitGroup", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4703,7 +3023,7 @@ func (c *groupClient) QuitGroup(ctx context.Context, in *QuitGroupReq, opts ...g func (c *groupClient) GetGroupsInfo(ctx context.Context, in *GetGroupsInfoReq, opts ...grpc.CallOption) (*GetGroupsInfoResp, error) { out := new(GetGroupsInfoResp) - err := c.cc.Invoke(ctx, "/group.group/getGroupsInfo", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/getGroupsInfo", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4712,7 +3032,7 @@ func (c *groupClient) GetGroupsInfo(ctx context.Context, in *GetGroupsInfoReq, o func (c *groupClient) SetGroupInfo(ctx context.Context, in *SetGroupInfoReq, opts ...grpc.CallOption) (*SetGroupInfoResp, error) { out := new(SetGroupInfoResp) - err := c.cc.Invoke(ctx, "/group.group/setGroupInfo", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/setGroupInfo", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4721,7 +3041,7 @@ func (c *groupClient) SetGroupInfo(ctx context.Context, in *SetGroupInfoReq, opt func (c *groupClient) GetGroupApplicationList(ctx context.Context, in *GetGroupApplicationListReq, opts ...grpc.CallOption) (*GetGroupApplicationListResp, error) { out := new(GetGroupApplicationListResp) - err := c.cc.Invoke(ctx, "/group.group/getGroupApplicationList", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/getGroupApplicationList", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4730,7 +3050,7 @@ func (c *groupClient) GetGroupApplicationList(ctx context.Context, in *GetGroupA func (c *groupClient) GetUserReqApplicationList(ctx context.Context, in *GetUserReqApplicationListReq, opts ...grpc.CallOption) (*GetUserReqApplicationListResp, error) { out := new(GetUserReqApplicationListResp) - err := c.cc.Invoke(ctx, "/group.group/getUserReqApplicationList", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/getUserReqApplicationList", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4739,7 +3059,7 @@ func (c *groupClient) GetUserReqApplicationList(ctx context.Context, in *GetUser func (c *groupClient) TransferGroupOwner(ctx context.Context, in *TransferGroupOwnerReq, opts ...grpc.CallOption) (*TransferGroupOwnerResp, error) { out := new(TransferGroupOwnerResp) - err := c.cc.Invoke(ctx, "/group.group/transferGroupOwner", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/transferGroupOwner", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4748,7 +3068,7 @@ func (c *groupClient) TransferGroupOwner(ctx context.Context, in *TransferGroupO func (c *groupClient) GroupApplicationResponse(ctx context.Context, in *GroupApplicationResponseReq, opts ...grpc.CallOption) (*GroupApplicationResponseResp, error) { out := new(GroupApplicationResponseResp) - err := c.cc.Invoke(ctx, "/group.group/groupApplicationResponse", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/groupApplicationResponse", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4757,7 +3077,7 @@ func (c *groupClient) GroupApplicationResponse(ctx context.Context, in *GroupApp func (c *groupClient) GetGroupMemberList(ctx context.Context, in *GetGroupMemberListReq, opts ...grpc.CallOption) (*GetGroupMemberListResp, error) { out := new(GetGroupMemberListResp) - err := c.cc.Invoke(ctx, "/group.group/getGroupMemberList", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/getGroupMemberList", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4766,7 +3086,7 @@ func (c *groupClient) GetGroupMemberList(ctx context.Context, in *GetGroupMember func (c *groupClient) GetGroupMembersInfo(ctx context.Context, in *GetGroupMembersInfoReq, opts ...grpc.CallOption) (*GetGroupMembersInfoResp, error) { out := new(GetGroupMembersInfoResp) - err := c.cc.Invoke(ctx, "/group.group/getGroupMembersInfo", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/getGroupMembersInfo", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4775,7 +3095,7 @@ func (c *groupClient) GetGroupMembersInfo(ctx context.Context, in *GetGroupMembe func (c *groupClient) KickGroupMember(ctx context.Context, in *KickGroupMemberReq, opts ...grpc.CallOption) (*KickGroupMemberResp, error) { out := new(KickGroupMemberResp) - err := c.cc.Invoke(ctx, "/group.group/kickGroupMember", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/kickGroupMember", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4784,7 +3104,7 @@ func (c *groupClient) KickGroupMember(ctx context.Context, in *KickGroupMemberRe func (c *groupClient) GetJoinedGroupList(ctx context.Context, in *GetJoinedGroupListReq, opts ...grpc.CallOption) (*GetJoinedGroupListResp, error) { out := new(GetJoinedGroupListResp) - err := c.cc.Invoke(ctx, "/group.group/getJoinedGroupList", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/getJoinedGroupList", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4793,7 +3113,7 @@ func (c *groupClient) GetJoinedGroupList(ctx context.Context, in *GetJoinedGroup func (c *groupClient) InviteUserToGroup(ctx context.Context, in *InviteUserToGroupReq, opts ...grpc.CallOption) (*InviteUserToGroupResp, error) { out := new(InviteUserToGroupResp) - err := c.cc.Invoke(ctx, "/group.group/inviteUserToGroup", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/inviteUserToGroup", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4802,7 +3122,7 @@ func (c *groupClient) InviteUserToGroup(ctx context.Context, in *InviteUserToGro func (c *groupClient) GetGroupAllMember(ctx context.Context, in *GetGroupAllMemberReq, opts ...grpc.CallOption) (*GetGroupAllMemberResp, error) { out := new(GetGroupAllMemberResp) - err := c.cc.Invoke(ctx, "/group.group/getGroupAllMember", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/getGroupAllMember", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4811,7 +3131,7 @@ func (c *groupClient) GetGroupAllMember(ctx context.Context, in *GetGroupAllMemb func (c *groupClient) GetGroupById(ctx context.Context, in *GetGroupByIdReq, opts ...grpc.CallOption) (*GetGroupByIdResp, error) { out := new(GetGroupByIdResp) - err := c.cc.Invoke(ctx, "/group.group/GetGroupById", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/GetGroupById", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4820,7 +3140,7 @@ func (c *groupClient) GetGroupById(ctx context.Context, in *GetGroupByIdReq, opt func (c *groupClient) GetGroup(ctx context.Context, in *GetGroupReq, opts ...grpc.CallOption) (*GetGroupResp, error) { out := new(GetGroupResp) - err := c.cc.Invoke(ctx, "/group.group/GetGroup", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/GetGroup", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4829,7 +3149,7 @@ func (c *groupClient) GetGroup(ctx context.Context, in *GetGroupReq, opts ...grp func (c *groupClient) GetGroups(ctx context.Context, in *GetGroupsReq, opts ...grpc.CallOption) (*GetGroupsResp, error) { out := new(GetGroupsResp) - err := c.cc.Invoke(ctx, "/group.group/GetGroups", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/GetGroups", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4838,7 +3158,7 @@ func (c *groupClient) GetGroups(ctx context.Context, in *GetGroupsReq, opts ...g func (c *groupClient) OperateGroupStatus(ctx context.Context, in *OperateGroupStatusReq, opts ...grpc.CallOption) (*OperateGroupStatusResp, error) { out := new(OperateGroupStatusResp) - err := c.cc.Invoke(ctx, "/group.group/OperateGroupStatus", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/OperateGroupStatus", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4847,7 +3167,7 @@ func (c *groupClient) OperateGroupStatus(ctx context.Context, in *OperateGroupSt func (c *groupClient) OperateUserRole(ctx context.Context, in *OperateUserRoleReq, opts ...grpc.CallOption) (*OperateUserRoleResp, error) { out := new(OperateUserRoleResp) - err := c.cc.Invoke(ctx, "/group.group/OperateUserRole", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/OperateUserRole", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4856,7 +3176,7 @@ func (c *groupClient) OperateUserRole(ctx context.Context, in *OperateUserRoleRe func (c *groupClient) DeleteGroup(ctx context.Context, in *DeleteGroupReq, opts ...grpc.CallOption) (*DeleteGroupResp, error) { out := new(DeleteGroupResp) - err := c.cc.Invoke(ctx, "/group.group/DeleteGroup", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/DeleteGroup", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4865,7 +3185,7 @@ func (c *groupClient) DeleteGroup(ctx context.Context, in *DeleteGroupReq, opts func (c *groupClient) GetGroupMembersCMS(ctx context.Context, in *GetGroupMembersCMSReq, opts ...grpc.CallOption) (*GetGroupMembersCMSResp, error) { out := new(GetGroupMembersCMSResp) - err := c.cc.Invoke(ctx, "/group.group/GetGroupMembersCMS", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/GetGroupMembersCMS", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4874,7 +3194,7 @@ func (c *groupClient) GetGroupMembersCMS(ctx context.Context, in *GetGroupMember func (c *groupClient) RemoveGroupMembersCMS(ctx context.Context, in *RemoveGroupMembersCMSReq, opts ...grpc.CallOption) (*RemoveGroupMembersCMSResp, error) { out := new(RemoveGroupMembersCMSResp) - err := c.cc.Invoke(ctx, "/group.group/RemoveGroupMembersCMS", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/RemoveGroupMembersCMS", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4883,14 +3203,24 @@ func (c *groupClient) RemoveGroupMembersCMS(ctx context.Context, in *RemoveGroup func (c *groupClient) AddGroupMembersCMS(ctx context.Context, in *AddGroupMembersCMSReq, opts ...grpc.CallOption) (*AddGroupMembersCMSResp, error) { out := new(AddGroupMembersCMSResp) - err := c.cc.Invoke(ctx, "/group.group/AddGroupMembersCMS", in, out, opts...) + err := grpc.Invoke(ctx, "/group.group/AddGroupMembersCMS", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -// GroupServer is the server API for Group service. +func (c *groupClient) DismissGroup(ctx context.Context, in *DismissGroupReq, opts ...grpc.CallOption) (*DismissGroupResp, error) { + out := new(DismissGroupResp) + err := grpc.Invoke(ctx, "/group.group/DismissGroup", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// Server API for Group service + type GroupServer interface { CreateGroup(context.Context, *CreateGroupReq) (*CreateGroupResp, error) JoinGroup(context.Context, *JoinGroupReq) (*JoinGroupResp, error) @@ -4916,83 +3246,7 @@ type GroupServer interface { GetGroupMembersCMS(context.Context, *GetGroupMembersCMSReq) (*GetGroupMembersCMSResp, error) RemoveGroupMembersCMS(context.Context, *RemoveGroupMembersCMSReq) (*RemoveGroupMembersCMSResp, error) AddGroupMembersCMS(context.Context, *AddGroupMembersCMSReq) (*AddGroupMembersCMSResp, error) -} - -// UnimplementedGroupServer can be embedded to have forward compatible implementations. -type UnimplementedGroupServer struct { -} - -func (*UnimplementedGroupServer) CreateGroup(context.Context, *CreateGroupReq) (*CreateGroupResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateGroup not implemented") -} -func (*UnimplementedGroupServer) JoinGroup(context.Context, *JoinGroupReq) (*JoinGroupResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method JoinGroup not implemented") -} -func (*UnimplementedGroupServer) QuitGroup(context.Context, *QuitGroupReq) (*QuitGroupResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method QuitGroup not implemented") -} -func (*UnimplementedGroupServer) GetGroupsInfo(context.Context, *GetGroupsInfoReq) (*GetGroupsInfoResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetGroupsInfo not implemented") -} -func (*UnimplementedGroupServer) SetGroupInfo(context.Context, *SetGroupInfoReq) (*SetGroupInfoResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetGroupInfo not implemented") -} -func (*UnimplementedGroupServer) GetGroupApplicationList(context.Context, *GetGroupApplicationListReq) (*GetGroupApplicationListResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetGroupApplicationList not implemented") -} -func (*UnimplementedGroupServer) GetUserReqApplicationList(context.Context, *GetUserReqApplicationListReq) (*GetUserReqApplicationListResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetUserReqApplicationList not implemented") -} -func (*UnimplementedGroupServer) TransferGroupOwner(context.Context, *TransferGroupOwnerReq) (*TransferGroupOwnerResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method TransferGroupOwner not implemented") -} -func (*UnimplementedGroupServer) GroupApplicationResponse(context.Context, *GroupApplicationResponseReq) (*GroupApplicationResponseResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GroupApplicationResponse not implemented") -} -func (*UnimplementedGroupServer) GetGroupMemberList(context.Context, *GetGroupMemberListReq) (*GetGroupMemberListResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetGroupMemberList not implemented") -} -func (*UnimplementedGroupServer) GetGroupMembersInfo(context.Context, *GetGroupMembersInfoReq) (*GetGroupMembersInfoResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetGroupMembersInfo not implemented") -} -func (*UnimplementedGroupServer) KickGroupMember(context.Context, *KickGroupMemberReq) (*KickGroupMemberResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method KickGroupMember not implemented") -} -func (*UnimplementedGroupServer) GetJoinedGroupList(context.Context, *GetJoinedGroupListReq) (*GetJoinedGroupListResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetJoinedGroupList not implemented") -} -func (*UnimplementedGroupServer) InviteUserToGroup(context.Context, *InviteUserToGroupReq) (*InviteUserToGroupResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method InviteUserToGroup not implemented") -} -func (*UnimplementedGroupServer) GetGroupAllMember(context.Context, *GetGroupAllMemberReq) (*GetGroupAllMemberResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetGroupAllMember not implemented") -} -func (*UnimplementedGroupServer) GetGroupById(context.Context, *GetGroupByIdReq) (*GetGroupByIdResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetGroupById not implemented") -} -func (*UnimplementedGroupServer) GetGroup(context.Context, *GetGroupReq) (*GetGroupResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetGroup not implemented") -} -func (*UnimplementedGroupServer) GetGroups(context.Context, *GetGroupsReq) (*GetGroupsResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetGroups not implemented") -} -func (*UnimplementedGroupServer) OperateGroupStatus(context.Context, *OperateGroupStatusReq) (*OperateGroupStatusResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method OperateGroupStatus not implemented") -} -func (*UnimplementedGroupServer) OperateUserRole(context.Context, *OperateUserRoleReq) (*OperateUserRoleResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method OperateUserRole not implemented") -} -func (*UnimplementedGroupServer) DeleteGroup(context.Context, *DeleteGroupReq) (*DeleteGroupResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteGroup not implemented") -} -func (*UnimplementedGroupServer) GetGroupMembersCMS(context.Context, *GetGroupMembersCMSReq) (*GetGroupMembersCMSResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetGroupMembersCMS not implemented") -} -func (*UnimplementedGroupServer) RemoveGroupMembersCMS(context.Context, *RemoveGroupMembersCMSReq) (*RemoveGroupMembersCMSResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method RemoveGroupMembersCMS not implemented") -} -func (*UnimplementedGroupServer) AddGroupMembersCMS(context.Context, *AddGroupMembersCMSReq) (*AddGroupMembersCMSResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddGroupMembersCMS not implemented") + DismissGroup(context.Context, *DismissGroupReq) (*DismissGroupResp, error) } func RegisterGroupServer(s *grpc.Server, srv GroupServer) { @@ -5431,6 +3685,24 @@ func _Group_AddGroupMembersCMS_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _Group_DismissGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DismissGroupReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GroupServer).DismissGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/group.group/DismissGroup", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GroupServer).DismissGroup(ctx, req.(*DismissGroupReq)) + } + return interceptor(ctx, in, info, handler) +} + var _Group_serviceDesc = grpc.ServiceDesc{ ServiceName: "group.group", HandlerType: (*GroupServer)(nil), @@ -5531,7 +3803,137 @@ var _Group_serviceDesc = grpc.ServiceDesc{ MethodName: "AddGroupMembersCMS", Handler: _Group_AddGroupMembersCMS_Handler, }, + { + MethodName: "DismissGroup", + Handler: _Group_DismissGroup_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "group/group.proto", } + +func init() { proto.RegisterFile("group/group.proto", fileDescriptor_group_48ef48bf92e641e9) } + +var fileDescriptor_group_48ef48bf92e641e9 = []byte{ + // 1913 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x4f, 0x6f, 0xdb, 0xca, + 0x11, 0x07, 0x2d, 0xcb, 0xb6, 0xc6, 0x7f, 0x64, 0xaf, 0x23, 0x5b, 0xe1, 0xd3, 0xf3, 0xf3, 0xdb, + 0x97, 0x3e, 0x18, 0xfd, 0x63, 0xa3, 0x0e, 0x90, 0x43, 0x53, 0x34, 0xf5, 0xdf, 0x44, 0x49, 0x64, + 0xd7, 0x74, 0x7a, 0xc9, 0xc5, 0x55, 0xcc, 0xb5, 0xc0, 0x5a, 0x12, 0x69, 0x2e, 0x65, 0xb7, 0xbd, + 0x04, 0xbd, 0x04, 0x08, 0xda, 0x43, 0x8b, 0x02, 0x3d, 0x15, 0x68, 0x73, 0xef, 0xa1, 0x87, 0xf6, + 0x5c, 0xf4, 0x63, 0xf4, 0x4b, 0xb4, 0x5f, 0xa1, 0xe0, 0xee, 0x72, 0xb9, 0x24, 0x97, 0xb4, 0x2c, + 0xa5, 0x2f, 0x17, 0x01, 0x33, 0x3b, 0xbb, 0xf3, 0x9b, 0xd9, 0x9d, 0xd9, 0xd9, 0xa1, 0x60, 0xa9, + 0xe3, 0xbb, 0x03, 0x6f, 0x8b, 0xfd, 0x6e, 0x7a, 0xbe, 0x1b, 0xb8, 0xa8, 0xcc, 0x08, 0xf3, 0xcb, + 0x63, 0x8f, 0xf4, 0xcf, 0x9a, 0xad, 0x2d, 0xef, 0xb2, 0xb3, 0xc5, 0x46, 0xb6, 0xa8, 0x7d, 0x79, + 0x76, 0x43, 0xb7, 0x6e, 0x28, 0x97, 0xc4, 0x3f, 0x02, 0xd8, 0x73, 0x7b, 0x3d, 0xb7, 0x6f, 0x11, + 0xea, 0xa1, 0x3a, 0x4c, 0x1f, 0xf8, 0xfe, 0x9e, 0x6b, 0x93, 0xba, 0xb1, 0x6e, 0x6c, 0x94, 0xad, + 0x88, 0x44, 0x2b, 0x30, 0x75, 0xe0, 0xfb, 0x2d, 0xda, 0xa9, 0x4f, 0xac, 0x1b, 0x1b, 0x15, 0x4b, + 0x50, 0xf8, 0x39, 0xa0, 0xa7, 0xa1, 0xae, 0x1d, 0xdb, 0x6e, 0x91, 0xde, 0x1b, 0xe2, 0x37, 0xfb, + 0x17, 0x6e, 0x28, 0xfd, 0x53, 0x4a, 0xfc, 0xe6, 0x3e, 0x5b, 0xa6, 0x62, 0x09, 0x0a, 0x35, 0xa0, + 0x62, 0xb9, 0x5d, 0xf2, 0x92, 0x5c, 0x93, 0x2e, 0x5b, 0xa8, 0x6c, 0xc5, 0x0c, 0xfc, 0x5f, 0x03, + 0x16, 0xf6, 0x7c, 0xd2, 0x0e, 0x08, 0x5b, 0xd2, 0x22, 0x57, 0x68, 0x07, 0x16, 0x9a, 0x7d, 0x27, + 0xe0, 0x4b, 0xbf, 0x74, 0x68, 0x50, 0x37, 0xd6, 0x4b, 0x1b, 0xb3, 0xdb, 0xf7, 0x37, 0xb9, 0xb9, + 0x59, 0xdd, 0x56, 0x6a, 0x02, 0xfa, 0x01, 0x54, 0x98, 0x54, 0x38, 0xc8, 0x74, 0xce, 0x6e, 0x37, + 0x36, 0x29, 0xf1, 0xaf, 0x89, 0x7f, 0xd6, 0xf6, 0x9c, 0x33, 0xaf, 0xed, 0xb7, 0x7b, 0x74, 0x53, + 0xca, 0x58, 0xb1, 0x38, 0x5a, 0x87, 0xd9, 0x63, 0x8f, 0xf8, 0xed, 0xc0, 0x71, 0xfb, 0xcd, 0xfd, + 0x7a, 0x89, 0x19, 0xa3, 0xb2, 0x90, 0x09, 0x33, 0xc7, 0x9e, 0xb0, 0x75, 0x92, 0x0d, 0x4b, 0x9a, + 0xcd, 0xbe, 0xe9, 0x13, 0x5f, 0x0c, 0x97, 0xc5, 0xec, 0x98, 0x85, 0xdf, 0x42, 0x35, 0x61, 0xf0, + 0x28, 0x5b, 0x90, 0x34, 0xb0, 0x74, 0x27, 0x03, 0xb1, 0x0f, 0x8b, 0x4f, 0x49, 0xc0, 0x68, 0xca, + 0xc6, 0xc8, 0x55, 0x08, 0x9b, 0x0b, 0xec, 0x4b, 0x87, 0x57, 0x2c, 0x95, 0x95, 0x76, 0xcb, 0x44, + 0xb1, 0x5b, 0x4a, 0x49, 0xb7, 0xe0, 0xf7, 0x06, 0x2c, 0xa5, 0x94, 0x8e, 0x64, 0xf7, 0x2e, 0xcc, + 0x4b, 0x43, 0x18, 0xd2, 0x12, 0x3b, 0x1a, 0xc5, 0xb6, 0x27, 0xa7, 0xe0, 0xdf, 0x18, 0x50, 0x3d, + 0x15, 0x58, 0x22, 0xfb, 0x13, 0xfe, 0x34, 0xee, 0x76, 0x60, 0x54, 0xbb, 0x27, 0x34, 0xc7, 0xa1, + 0xf0, 0x30, 0xe1, 0x03, 0x58, 0x4c, 0x82, 0xa1, 0x1e, 0xfa, 0xbe, 0x1a, 0xa0, 0x02, 0xce, 0x92, + 0x38, 0xfd, 0xf1, 0x80, 0xa5, 0x08, 0xe1, 0x5f, 0x81, 0x19, 0xf9, 0x77, 0xc7, 0xf3, 0xba, 0xce, + 0x39, 0x5b, 0x3f, 0xb4, 0x37, 0x34, 0x4f, 0x85, 0x68, 0x14, 0x43, 0xd4, 0x6c, 0xec, 0x1a, 0xc0, + 0xa1, 0xef, 0xf6, 0x12, 0x5b, 0xab, 0x70, 0xf0, 0x9f, 0x0c, 0xf8, 0x2c, 0x57, 0xf9, 0x48, 0xdb, + 0xfc, 0x02, 0x16, 0xa3, 0x74, 0x30, 0x20, 0x34, 0x50, 0x76, 0xfa, 0x8b, 0xbc, 0x5d, 0x11, 0xa2, + 0x56, 0x66, 0x22, 0x0e, 0xa0, 0xf1, 0x94, 0x04, 0x21, 0x56, 0x8b, 0x5c, 0x69, 0x9c, 0x93, 0x97, + 0xb8, 0xc6, 0xdb, 0xd7, 0x3f, 0x1b, 0xf0, 0x79, 0x81, 0xda, 0x91, 0x76, 0x59, 0xeb, 0x97, 0x89, + 0x51, 0xfd, 0xf2, 0x4f, 0x03, 0x6a, 0xaf, 0xfc, 0x76, 0x9f, 0x5e, 0x10, 0x9f, 0x0d, 0xb2, 0x2c, + 0x15, 0x7a, 0xa4, 0x0e, 0xd3, 0x22, 0xf4, 0x85, 0x4b, 0x22, 0x12, 0x7d, 0x0d, 0x0b, 0xc7, 0x5d, + 0x5b, 0xcd, 0x70, 0xdc, 0x33, 0x29, 0x6e, 0x28, 0x77, 0x44, 0x6e, 0x54, 0x39, 0xee, 0xa2, 0x14, + 0x37, 0xed, 0xc7, 0xc9, 0xe2, 0xac, 0x52, 0x4e, 0x65, 0x95, 0x17, 0xb0, 0xa2, 0x33, 0x60, 0xb4, + 0x08, 0x7a, 0x67, 0xc0, 0xdc, 0x73, 0xd7, 0xe9, 0xcb, 0x7b, 0x28, 0xdf, 0x0b, 0x6b, 0x00, 0x16, + 0xb9, 0x6a, 0x11, 0x4a, 0xdb, 0x1d, 0x22, 0x3c, 0xa0, 0x70, 0x8a, 0x32, 0xe1, 0xed, 0x16, 0xe3, + 0x5d, 0x98, 0x57, 0x70, 0x8c, 0x66, 0xcc, 0xbf, 0xc3, 0x90, 0x4c, 0xc5, 0x63, 0x38, 0xe0, 0xf6, + 0x29, 0x11, 0xf9, 0x5e, 0x45, 0x61, 0x14, 0xfb, 0x3d, 0x7d, 0xfa, 0x15, 0xcf, 0x94, 0x32, 0x9e, + 0x51, 0x52, 0xc5, 0x64, 0x3a, 0x55, 0x84, 0xe3, 0xcf, 0xda, 0x7d, 0xbb, 0x4b, 0xec, 0x30, 0xe8, + 0xf9, 0x7e, 0x2a, 0x1c, 0x84, 0x61, 0x8e, 0x53, 0x16, 0xa1, 0x83, 0x6e, 0x50, 0x9f, 0x62, 0xf9, + 0x22, 0xc1, 0xc3, 0x27, 0xd0, 0xc8, 0x37, 0x6d, 0x34, 0x77, 0x5d, 0xc0, 0xdc, 0xc9, 0xc0, 0x09, + 0x86, 0xd8, 0xfa, 0xf1, 0xae, 0xc1, 0x5d, 0x98, 0x57, 0xf4, 0x8c, 0x86, 0xf5, 0x83, 0x01, 0xb5, + 0x28, 0xdb, 0xc6, 0x25, 0x4f, 0x31, 0xea, 0xb1, 0x52, 0x59, 0x98, 0x20, 0x0f, 0x9d, 0x6e, 0x40, + 0x7c, 0xb6, 0xa1, 0x65, 0x4b, 0x50, 0xa1, 0xbe, 0x23, 0xf2, 0x8b, 0xe0, 0x94, 0x5c, 0xb1, 0x9d, + 0x2c, 0x5b, 0x11, 0x89, 0xff, 0x6a, 0xc0, 0x8a, 0x0e, 0xe3, 0x48, 0x97, 0xc1, 0x21, 0x40, 0x2f, + 0xae, 0x05, 0xf9, 0x35, 0xf0, 0x75, 0x5e, 0xba, 0xe3, 0xda, 0x0e, 0x07, 0xdd, 0x2e, 0xbb, 0x4d, + 0x95, 0x99, 0xa1, 0xe6, 0xbe, 0x80, 0xcb, 0xed, 0x88, 0x48, 0xfc, 0xbb, 0x0c, 0x5c, 0x59, 0x18, + 0x15, 0x26, 0x01, 0x05, 0xd6, 0x04, 0xab, 0x98, 0x54, 0x75, 0xe3, 0x25, 0x81, 0x3f, 0x18, 0xb0, + 0xaa, 0x85, 0xf4, 0x29, 0x5d, 0x88, 0xff, 0x66, 0x00, 0x7a, 0xe1, 0x9c, 0x5f, 0x2a, 0x72, 0xc5, + 0x4e, 0xfa, 0x36, 0x2c, 0x86, 0xf2, 0xc4, 0xe6, 0x86, 0x2b, 0xae, 0xca, 0xf0, 0x43, 0xf0, 0x16, + 0x69, 0x53, 0xb7, 0x2f, 0xdc, 0x25, 0xa8, 0xb4, 0xb3, 0xca, 0xc5, 0x21, 0x37, 0x95, 0x0a, 0xb9, + 0xc7, 0x50, 0x69, 0xda, 0xdb, 0x3c, 0x75, 0xe4, 0x5e, 0xf5, 0x4c, 0x35, 0x4b, 0x38, 0xfc, 0x81, + 0x22, 0x28, 0xfc, 0x16, 0x96, 0x33, 0xe6, 0x8e, 0xb4, 0x01, 0x8f, 0x60, 0x5e, 0xa2, 0x50, 0xf6, + 0x60, 0x51, 0x84, 0xba, 0x1c, 0xb3, 0x92, 0x62, 0x78, 0xc0, 0x62, 0x3d, 0xbc, 0x0e, 0x88, 0xcd, + 0x50, 0x44, 0xb1, 0x9e, 0x4c, 0xb4, 0x46, 0x26, 0xd1, 0xae, 0xc3, 0xac, 0x9b, 0xcd, 0x53, 0xee, + 0x90, 0x79, 0xea, 0x1d, 0x0f, 0x88, 0x8c, 0xde, 0xb1, 0xde, 0x2a, 0x43, 0xd7, 0xeb, 0xb1, 0x38, + 0xfe, 0xbb, 0x01, 0xf7, 0x9a, 0xfd, 0x6b, 0x27, 0x20, 0x21, 0xb2, 0x57, 0xae, 0xcc, 0xd0, 0xb7, + 0xe7, 0xe1, 0xfc, 0x4b, 0x2a, 0x3e, 0x68, 0x93, 0x89, 0x83, 0xf6, 0x5d, 0x58, 0xe2, 0xba, 0xd4, + 0xd3, 0x5a, 0x66, 0xa7, 0x35, 0x3b, 0x50, 0x78, 0xe8, 0x7e, 0x6d, 0x40, 0x4d, 0x03, 0xfb, 0x1b, + 0x3d, 0x3a, 0x7d, 0xb8, 0x27, 0x8b, 0xf2, 0x6e, 0x77, 0x98, 0x60, 0x1d, 0xaf, 0xe0, 0xfd, 0xbd, + 0x72, 0x2f, 0x29, 0x0a, 0x3f, 0x69, 0xbe, 0xfa, 0xa3, 0x01, 0x33, 0x7b, 0xad, 0x53, 0x26, 0x36, + 0xd6, 0x1b, 0x6f, 0x03, 0xaa, 0x5c, 0x57, 0x9b, 0x06, 0xc4, 0x3f, 0x6a, 0xf7, 0xa2, 0xb2, 0x2f, + 0xcd, 0x46, 0x0f, 0xc4, 0x0b, 0x95, 0xb3, 0x9a, 0xb6, 0x70, 0x55, 0x92, 0x19, 0xa6, 0xf7, 0xd9, + 0xc8, 0x59, 0xe1, 0xa6, 0x34, 0x04, 0x36, 0xb6, 0x32, 0xdf, 0x96, 0x98, 0x81, 0xf6, 0x01, 0x7e, + 0xd2, 0xee, 0x38, 0x7d, 0xe6, 0x6a, 0xd1, 0xcf, 0x78, 0xa0, 0x81, 0x2e, 0xaa, 0xfb, 0x58, 0xd6, + 0x52, 0xe6, 0x0d, 0xb1, 0x85, 0x1f, 0x0c, 0x98, 0x8b, 0x51, 0x51, 0x0f, 0x7d, 0x0f, 0x2a, 0x91, + 0xfb, 0xa8, 0xe8, 0xc2, 0x54, 0xa3, 0xea, 0x44, 0xf0, 0xad, 0x58, 0xe2, 0x23, 0xe1, 0x94, 0xbe, + 0x18, 0xf4, 0x28, 0x43, 0x59, 0xb6, 0x62, 0x06, 0xbe, 0x8e, 0x21, 0xd2, 0xd0, 0x73, 0x49, 0x9d, + 0xc6, 0xc7, 0xf1, 0x4d, 0x36, 0x9d, 0xe0, 0xbf, 0x18, 0x30, 0xaf, 0x28, 0xfe, 0x54, 0xce, 0x31, + 0x61, 0x26, 0xf2, 0x85, 0xf0, 0x8d, 0xa4, 0xf1, 0x71, 0xdc, 0x63, 0xd1, 0x84, 0xbb, 0x9d, 0x0c, + 0x77, 0x7b, 0x08, 0x9b, 0x2f, 0xa1, 0xc6, 0x49, 0xde, 0xab, 0x3a, 0x0d, 0xda, 0xc1, 0x80, 0x16, + 0x2f, 0xba, 0x02, 0x53, 0x5c, 0x2c, 0xba, 0x49, 0x39, 0x35, 0xc4, 0xe1, 0xab, 0xc3, 0x8a, 0x4e, + 0x19, 0x7f, 0x99, 0x21, 0x31, 0xc4, 0x9e, 0xd3, 0x6e, 0x97, 0xdc, 0x0a, 0x82, 0xa5, 0x2d, 0x3b, + 0x4a, 0x2b, 0x9c, 0x4a, 0xb6, 0x22, 0x4b, 0xa9, 0x56, 0xe4, 0x10, 0x45, 0x59, 0x0d, 0x96, 0x33, + 0x38, 0xa8, 0x87, 0x5f, 0xc2, 0xc2, 0x3e, 0xe9, 0x12, 0xa5, 0x85, 0x39, 0x8e, 0xd3, 0x97, 0xa0, + 0x9a, 0x58, 0x8d, 0x7a, 0xb8, 0x05, 0xd5, 0x68, 0x63, 0x77, 0x7f, 0xd9, 0xb4, 0xc7, 0xd5, 0xf0, + 0x24, 0x6e, 0x00, 0xf2, 0xe5, 0xa8, 0x87, 0xbe, 0x13, 0x27, 0x4a, 0x11, 0x44, 0x99, 0xb3, 0x2c, + 0x05, 0xf0, 0x3f, 0x32, 0x4f, 0x10, 0xba, 0xd7, 0x3a, 0x2d, 0x86, 0x65, 0xc2, 0x4c, 0xe8, 0x34, + 0x25, 0x75, 0x4a, 0x3a, 0x15, 0x1a, 0xa5, 0x8f, 0x13, 0xc3, 0x9a, 0xfd, 0xfb, 0x57, 0xb6, 0xce, + 0x67, 0xb8, 0xa9, 0x87, 0x7e, 0x0c, 0xd3, 0xfc, 0xde, 0x88, 0x42, 0x79, 0xd8, 0xeb, 0x26, 0x9a, + 0x86, 0x0e, 0x34, 0xf1, 0xfd, 0x2d, 0xad, 0x11, 0xfc, 0xad, 0x9a, 0x63, 0xc5, 0x1a, 0x00, 0xd7, + 0xa0, 0xa4, 0x3f, 0x85, 0x83, 0x7f, 0x6b, 0x40, 0xdd, 0x22, 0x3d, 0xf7, 0x9a, 0xdc, 0xc9, 0xfd, + 0x75, 0x98, 0xe6, 0x41, 0x40, 0x45, 0xfd, 0x1d, 0x91, 0x77, 0xea, 0x77, 0xdb, 0xa9, 0x7e, 0xb7, + 0x8d, 0x5b, 0x70, 0x3f, 0x07, 0x0d, 0xbf, 0xf8, 0xe9, 0xe0, 0xfc, 0x9c, 0x50, 0x2a, 0x3a, 0xca, + 0x11, 0x19, 0x46, 0xe8, 0x45, 0xdb, 0xe9, 0x12, 0x5b, 0xa0, 0x11, 0x14, 0x7e, 0x6f, 0x40, 0x6d, + 0xc7, 0xb6, 0xff, 0x1f, 0xa6, 0xd9, 0x59, 0xd3, 0xec, 0x42, 0xd3, 0x9e, 0xc3, 0x8a, 0x0e, 0xca, + 0x48, 0x76, 0x39, 0x50, 0xdd, 0x77, 0x68, 0xcf, 0xa1, 0x54, 0xe6, 0x08, 0x13, 0x66, 0xdc, 0x54, + 0x4f, 0xd6, 0xf5, 0x86, 0xae, 0xde, 0xeb, 0x30, 0xdd, 0x49, 0x56, 0xb7, 0x82, 0xc4, 0x07, 0xb0, + 0x98, 0x54, 0xc5, 0xdb, 0x0c, 0xe7, 0xc3, 0xb4, 0x19, 0x62, 0xa1, 0xed, 0xff, 0x2c, 0x00, 0xff, + 0xa2, 0x84, 0x7e, 0x08, 0xb3, 0xe7, 0xf1, 0x07, 0x0b, 0x54, 0x8b, 0xe6, 0x25, 0xbe, 0xda, 0x98, + 0x2b, 0x3a, 0x36, 0xf5, 0xd0, 0x23, 0xa8, 0xfc, 0x3c, 0xea, 0x66, 0xa1, 0x65, 0x21, 0xa4, 0xf6, + 0xd9, 0xcc, 0x7b, 0x59, 0x26, 0x9f, 0x77, 0x15, 0xb5, 0x4a, 0xe4, 0x3c, 0xb5, 0x49, 0x23, 0xe7, + 0x25, 0x3b, 0x2a, 0xbb, 0x30, 0xdf, 0x51, 0x3f, 0x34, 0xa0, 0xd5, 0xe8, 0xb3, 0x51, 0xea, 0x9b, + 0x87, 0x59, 0xd7, 0x0f, 0x50, 0x0f, 0x3d, 0x81, 0x39, 0xaa, 0xf4, 0xe4, 0x51, 0x64, 0x5b, 0xea, + 0xab, 0x81, 0xb9, 0xaa, 0xe5, 0x53, 0x0f, 0xfd, 0x0c, 0x56, 0x3b, 0xfa, 0x86, 0x38, 0xfa, 0x32, + 0xa5, 0x35, 0xdb, 0x90, 0x36, 0xf1, 0x6d, 0x22, 0xd4, 0x43, 0x17, 0x70, 0xbf, 0x93, 0xd7, 0x5d, + 0x46, 0x5f, 0xc5, 0x0b, 0xe4, 0xb6, 0xbd, 0xcd, 0x07, 0xb7, 0x0b, 0x51, 0x0f, 0x9d, 0x00, 0x0a, + 0x32, 0x2d, 0x56, 0xd4, 0x10, 0x73, 0xb5, 0xed, 0x63, 0xf3, 0xf3, 0x82, 0x51, 0xea, 0xa1, 0x73, + 0xa8, 0x77, 0x72, 0xfa, 0x77, 0x08, 0x27, 0xbe, 0xf1, 0x69, 0x7b, 0x97, 0xe6, 0x57, 0xb7, 0xca, + 0x70, 0xdc, 0x9d, 0x4c, 0x03, 0x4a, 0xe2, 0xd6, 0xf6, 0xcf, 0x24, 0xee, 0x9c, 0xce, 0xd5, 0x2b, + 0x58, 0xee, 0x64, 0x3b, 0x32, 0x48, 0x3f, 0x4b, 0x9e, 0xb2, 0xb5, 0xa2, 0x61, 0xea, 0xa1, 0x67, + 0x50, 0xbd, 0x4c, 0xb6, 0x18, 0x50, 0xf4, 0xa1, 0x33, 0xdb, 0x69, 0x31, 0xcd, 0xbc, 0x21, 0x69, + 0x72, 0xea, 0xcd, 0xae, 0x9a, 0x9c, 0x6d, 0x23, 0xa8, 0x26, 0xeb, 0x1e, 0xfb, 0x47, 0xb0, 0xe4, + 0xa4, 0x9f, 0xb1, 0xe8, 0xb3, 0xe8, 0xe5, 0xa9, 0x79, 0x97, 0x9b, 0x8d, 0xfc, 0x41, 0xbe, 0x5e, + 0x27, 0xfd, 0x44, 0x94, 0xeb, 0xe9, 0x5e, 0xab, 0x66, 0x23, 0x7f, 0x90, 0x07, 0xaa, 0x5a, 0xc9, + 0xc8, 0x40, 0x4d, 0x55, 0x4b, 0xe6, 0xaa, 0x96, 0x4f, 0x3d, 0xf4, 0x10, 0x66, 0x22, 0x1e, 0x42, + 0x29, 0xa1, 0x70, 0xe2, 0x72, 0x86, 0xc7, 0x53, 0x93, 0xcc, 0x19, 0x28, 0x2d, 0x41, 0xd5, 0xd4, + 0x94, 0x7c, 0x30, 0x9c, 0xc8, 0x32, 0x56, 0xa9, 0x70, 0xe5, 0x06, 0x69, 0x2b, 0x6d, 0xb9, 0x41, + 0xfa, 0xd2, 0x38, 0x3c, 0x3d, 0xa9, 0x8a, 0x54, 0x9e, 0x9e, 0x6c, 0xc5, 0x2c, 0x4f, 0x8f, 0xa6, + 0x88, 0x0d, 0xb3, 0xbc, 0x52, 0x76, 0xca, 0x2c, 0x9f, 0x2c, 0x6c, 0x65, 0x96, 0x4f, 0x55, 0xa8, + 0xa1, 0x69, 0xd9, 0xc2, 0x2a, 0x27, 0xdc, 0xc4, 0x8d, 0x9e, 0x13, 0x6e, 0xf2, 0x92, 0x7d, 0x0d, + 0x35, 0x6d, 0x65, 0x81, 0xbe, 0x10, 0xf3, 0xf2, 0xaa, 0x20, 0x73, 0xbd, 0x58, 0x80, 0xc3, 0xcd, + 0x5e, 0xed, 0x12, 0xae, 0xb6, 0x00, 0x91, 0x70, 0x73, 0x6a, 0x82, 0x27, 0x30, 0xa7, 0x5e, 0xbb, + 0xf2, 0x28, 0xa6, 0xae, 0x7d, 0x79, 0x14, 0xd3, 0x77, 0xf4, 0x6e, 0xf5, 0xf5, 0xfc, 0x26, 0xff, + 0x43, 0xc7, 0x63, 0xf6, 0xfb, 0x66, 0x8a, 0xfd, 0x5b, 0xe3, 0xe1, 0xff, 0x02, 0x00, 0x00, 0xff, + 0xff, 0x9c, 0x9b, 0x8c, 0x7a, 0xec, 0x21, 0x00, 0x00, +} diff --git a/pkg/proto/group/group.proto b/pkg/proto/group/group.proto index 082c19209..62c845f1e 100644 --- a/pkg/proto/group/group.proto +++ b/pkg/proto/group/group.proto @@ -318,6 +318,15 @@ message AddGroupMembersCMSResp { repeated string failed = 2; } +message DismissGroupReq{ + string opUserID = 1; //group member or app manager + string operationID = 2; + string groupID = 3; +} + +message DismissGroupResp{ + CommonResp commonResp = 1; +} service group{ rpc createGroup(CreateGroupReq) returns(CreateGroupResp); @@ -345,6 +354,8 @@ service group{ rpc GetGroupMembersCMS(GetGroupMembersCMSReq) returns(GetGroupMembersCMSResp); rpc RemoveGroupMembersCMS(RemoveGroupMembersCMSReq) returns(RemoveGroupMembersCMSResp); rpc AddGroupMembersCMS(AddGroupMembersCMSReq) returns(AddGroupMembersCMSResp); + + rpc DismissGroup(DismissGroupReq) returns(DismissGroupResp); } diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index fd746a3d9..1675ad2bc 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_c5c79ae5b343c043, []int{0} + return fileDescriptor_ws_489fb152692e30da, []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_c5c79ae5b343c043, []int{1} + return fileDescriptor_ws_489fb152692e30da, []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_c5c79ae5b343c043, []int{2} + return fileDescriptor_ws_489fb152692e30da, []int{2} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -344,7 +344,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} } func (m *UserInfo) String() string { return proto.CompactTextString(m) } func (*UserInfo) ProtoMessage() {} func (*UserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{3} + return fileDescriptor_ws_489fb152692e30da, []int{3} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -451,7 +451,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} } func (m *FriendInfo) String() string { return proto.CompactTextString(m) } func (*FriendInfo) ProtoMessage() {} func (*FriendInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{4} + return fileDescriptor_ws_489fb152692e30da, []int{4} } func (m *FriendInfo) XXX_Unmarshal(b []byte) error { 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_c5c79ae5b343c043, []int{5} + return fileDescriptor_ws_489fb152692e30da, []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_c5c79ae5b343c043, []int{6} + return fileDescriptor_ws_489fb152692e30da, []int{6} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -725,7 +725,7 @@ func (m *FriendRequest) Reset() { *m = FriendRequest{} } func (m *FriendRequest) String() string { return proto.CompactTextString(m) } func (*FriendRequest) ProtoMessage() {} func (*FriendRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{7} + return fileDescriptor_ws_489fb152692e30da, []int{7} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -863,7 +863,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{8} + return fileDescriptor_ws_489fb152692e30da, []int{8} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -917,7 +917,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{9} + return fileDescriptor_ws_489fb152692e30da, []int{9} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -968,7 +968,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{10} + return fileDescriptor_ws_489fb152692e30da, []int{10} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1000,7 +1000,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{11} + return fileDescriptor_ws_489fb152692e30da, []int{11} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1047,7 +1047,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{12} + return fileDescriptor_ws_489fb152692e30da, []int{12} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1116,7 +1116,7 @@ func (m *MsgData) Reset() { *m = MsgData{} } func (m *MsgData) String() string { return proto.CompactTextString(m) } func (*MsgData) ProtoMessage() {} func (*MsgData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{13} + return fileDescriptor_ws_489fb152692e30da, []int{13} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -1277,7 +1277,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{14} + return fileDescriptor_ws_489fb152692e30da, []int{14} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -1345,7 +1345,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} } func (m *TipsComm) String() string { return proto.CompactTextString(m) } func (*TipsComm) ProtoMessage() {} func (*TipsComm) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{15} + return fileDescriptor_ws_489fb152692e30da, []int{15} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -1402,7 +1402,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} } func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } func (*GroupCreatedTips) ProtoMessage() {} func (*GroupCreatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{16} + return fileDescriptor_ws_489fb152692e30da, []int{16} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -1471,7 +1471,7 @@ func (m *GroupInfoSetTips) Reset() { *m = GroupInfoSetTips{} } func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupInfoSetTips) ProtoMessage() {} func (*GroupInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{17} + return fileDescriptor_ws_489fb152692e30da, []int{17} } func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) @@ -1526,7 +1526,7 @@ func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTi func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } func (*JoinGroupApplicationTips) ProtoMessage() {} func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{18} + return fileDescriptor_ws_489fb152692e30da, []int{18} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -1582,7 +1582,7 @@ func (m *MemberQuitTips) Reset() { *m = MemberQuitTips{} } func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) } func (*MemberQuitTips) ProtoMessage() {} func (*MemberQuitTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{19} + return fileDescriptor_ws_489fb152692e30da, []int{19} } func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) @@ -1637,7 +1637,7 @@ func (m *GroupApplicationAcceptedTips) Reset() { *m = GroupApplicationAc func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationAcceptedTips) ProtoMessage() {} func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{20} + return fileDescriptor_ws_489fb152692e30da, []int{20} } func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) @@ -1692,7 +1692,7 @@ func (m *GroupApplicationRejectedTips) Reset() { *m = GroupApplicationRe func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationRejectedTips) ProtoMessage() {} func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{21} + return fileDescriptor_ws_489fb152692e30da, []int{21} } func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) @@ -1748,7 +1748,7 @@ func (m *GroupOwnerTransferredTips) Reset() { *m = GroupOwnerTransferred func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) } func (*GroupOwnerTransferredTips) ProtoMessage() {} func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{22} + return fileDescriptor_ws_489fb152692e30da, []int{22} } func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) @@ -1811,7 +1811,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} } func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } func (*MemberKickedTips) ProtoMessage() {} func (*MemberKickedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{23} + return fileDescriptor_ws_489fb152692e30da, []int{23} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -1874,7 +1874,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} } func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } func (*MemberInvitedTips) ProtoMessage() {} func (*MemberInvitedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{24} + return fileDescriptor_ws_489fb152692e30da, []int{24} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -1936,7 +1936,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} } func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } func (*MemberEnterTips) ProtoMessage() {} func (*MemberEnterTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{25} + return fileDescriptor_ws_489fb152692e30da, []int{25} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -1977,6 +1977,60 @@ func (m *MemberEnterTips) GetOperationTime() int64 { return 0 } +type GroupDismissedTips struct { + Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` + OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` + OperationTime int64 `protobuf:"varint,3,opt,name=operationTime" json:"operationTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GroupDismissedTips) Reset() { *m = GroupDismissedTips{} } +func (m *GroupDismissedTips) String() string { return proto.CompactTextString(m) } +func (*GroupDismissedTips) ProtoMessage() {} +func (*GroupDismissedTips) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_489fb152692e30da, []int{26} +} +func (m *GroupDismissedTips) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupDismissedTips.Unmarshal(m, b) +} +func (m *GroupDismissedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupDismissedTips.Marshal(b, m, deterministic) +} +func (dst *GroupDismissedTips) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupDismissedTips.Merge(dst, src) +} +func (m *GroupDismissedTips) XXX_Size() int { + return xxx_messageInfo_GroupDismissedTips.Size(m) +} +func (m *GroupDismissedTips) XXX_DiscardUnknown() { + xxx_messageInfo_GroupDismissedTips.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupDismissedTips proto.InternalMessageInfo + +func (m *GroupDismissedTips) GetGroup() *GroupInfo { + if m != nil { + return m.Group + } + return nil +} + +func (m *GroupDismissedTips) GetOpUser() *GroupMemberFullInfo { + if m != nil { + return m.OpUser + } + return nil +} + +func (m *GroupDismissedTips) GetOperationTime() int64 { + if m != nil { + return m.OperationTime + } + return 0 +} + type FriendApplication struct { AddTime int64 `protobuf:"varint,1,opt,name=addTime" json:"addTime,omitempty"` AddSource string `protobuf:"bytes,2,opt,name=addSource" json:"addSource,omitempty"` @@ -1990,7 +2044,7 @@ func (m *FriendApplication) Reset() { *m = FriendApplication{} } func (m *FriendApplication) String() string { return proto.CompactTextString(m) } func (*FriendApplication) ProtoMessage() {} func (*FriendApplication) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{26} + return fileDescriptor_ws_489fb152692e30da, []int{27} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -2043,7 +2097,7 @@ func (m *FromToUserID) Reset() { *m = FromToUserID{} } func (m *FromToUserID) String() string { return proto.CompactTextString(m) } func (*FromToUserID) ProtoMessage() {} func (*FromToUserID) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{27} + return fileDescriptor_ws_489fb152692e30da, []int{28} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -2089,7 +2143,7 @@ func (m *FriendApplicationTips) Reset() { *m = FriendApplicationTips{} } func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationTips) ProtoMessage() {} func (*FriendApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{28} + return fileDescriptor_ws_489fb152692e30da, []int{29} } func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) @@ -2129,7 +2183,7 @@ func (m *FriendApplicationApprovedTips) Reset() { *m = FriendApplication func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationApprovedTips) ProtoMessage() {} func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{29} + return fileDescriptor_ws_489fb152692e30da, []int{30} } func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) @@ -2176,7 +2230,7 @@ func (m *FriendApplicationRejectedTips) Reset() { *m = FriendApplication func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationRejectedTips) ProtoMessage() {} func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{30} + return fileDescriptor_ws_489fb152692e30da, []int{31} } func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) @@ -2224,7 +2278,7 @@ func (m *FriendAddedTips) Reset() { *m = FriendAddedTips{} } func (m *FriendAddedTips) String() string { return proto.CompactTextString(m) } func (*FriendAddedTips) ProtoMessage() {} func (*FriendAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{31} + return fileDescriptor_ws_489fb152692e30da, []int{32} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -2277,7 +2331,7 @@ func (m *FriendDeletedTips) Reset() { *m = FriendDeletedTips{} } func (m *FriendDeletedTips) String() string { return proto.CompactTextString(m) } func (*FriendDeletedTips) ProtoMessage() {} func (*FriendDeletedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{32} + return fileDescriptor_ws_489fb152692e30da, []int{33} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -2315,7 +2369,7 @@ func (m *BlackAddedTips) Reset() { *m = BlackAddedTips{} } func (m *BlackAddedTips) String() string { return proto.CompactTextString(m) } func (*BlackAddedTips) ProtoMessage() {} func (*BlackAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{33} + return fileDescriptor_ws_489fb152692e30da, []int{34} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -2353,7 +2407,7 @@ func (m *BlackDeletedTips) Reset() { *m = BlackDeletedTips{} } func (m *BlackDeletedTips) String() string { return proto.CompactTextString(m) } func (*BlackDeletedTips) ProtoMessage() {} func (*BlackDeletedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{34} + return fileDescriptor_ws_489fb152692e30da, []int{35} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -2391,7 +2445,7 @@ func (m *FriendInfoChangedTips) Reset() { *m = FriendInfoChangedTips{} } func (m *FriendInfoChangedTips) String() string { return proto.CompactTextString(m) } func (*FriendInfoChangedTips) ProtoMessage() {} func (*FriendInfoChangedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{35} + return fileDescriptor_ws_489fb152692e30da, []int{36} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -2430,7 +2484,7 @@ func (m *UserInfoUpdatedTips) Reset() { *m = UserInfoUpdatedTips{} } func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (*UserInfoUpdatedTips) ProtoMessage() {} func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{36} + return fileDescriptor_ws_489fb152692e30da, []int{37} } func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) @@ -2469,7 +2523,7 @@ func (m *ConversationUpdateTips) Reset() { *m = ConversationUpdateTips{} func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) } func (*ConversationUpdateTips) ProtoMessage() {} func (*ConversationUpdateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{37} + return fileDescriptor_ws_489fb152692e30da, []int{38} } func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) @@ -2509,7 +2563,7 @@ func (m *RequestPagination) Reset() { *m = RequestPagination{} } func (m *RequestPagination) String() string { return proto.CompactTextString(m) } func (*RequestPagination) ProtoMessage() {} func (*RequestPagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{38} + return fileDescriptor_ws_489fb152692e30da, []int{39} } func (m *RequestPagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RequestPagination.Unmarshal(m, b) @@ -2555,7 +2609,7 @@ func (m *ResponsePagination) Reset() { *m = ResponsePagination{} } func (m *ResponsePagination) String() string { return proto.CompactTextString(m) } func (*ResponsePagination) ProtoMessage() {} func (*ResponsePagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{39} + return fileDescriptor_ws_489fb152692e30da, []int{40} } func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) @@ -2608,7 +2662,7 @@ func (m *SignalReq) Reset() { *m = SignalReq{} } func (m *SignalReq) String() string { return proto.CompactTextString(m) } func (*SignalReq) ProtoMessage() {} func (*SignalReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{40} + return fileDescriptor_ws_489fb152692e30da, []int{41} } func (m *SignalReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalReq.Unmarshal(m, b) @@ -2875,7 +2929,7 @@ func (m *SignalResp) Reset() { *m = SignalResp{} } func (m *SignalResp) String() string { return proto.CompactTextString(m) } func (*SignalResp) ProtoMessage() {} func (*SignalResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{41} + return fileDescriptor_ws_489fb152692e30da, []int{42} } func (m *SignalResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalResp.Unmarshal(m, b) @@ -3143,7 +3197,7 @@ func (m *InvitationInfo) Reset() { *m = InvitationInfo{} } func (m *InvitationInfo) String() string { return proto.CompactTextString(m) } func (*InvitationInfo) ProtoMessage() {} func (*InvitationInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{42} + return fileDescriptor_ws_489fb152692e30da, []int{43} } func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) @@ -3239,7 +3293,7 @@ func (m *ParticipantMetaData) Reset() { *m = ParticipantMetaData{} } func (m *ParticipantMetaData) String() string { return proto.CompactTextString(m) } func (*ParticipantMetaData) ProtoMessage() {} func (*ParticipantMetaData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{43} + return fileDescriptor_ws_489fb152692e30da, []int{44} } func (m *ParticipantMetaData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ParticipantMetaData.Unmarshal(m, b) @@ -3294,7 +3348,7 @@ func (m *SignalInviteReq) Reset() { *m = SignalInviteReq{} } func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteReq) ProtoMessage() {} func (*SignalInviteReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{44} + return fileDescriptor_ws_489fb152692e30da, []int{45} } func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) @@ -3355,7 +3409,7 @@ func (m *SignalInviteReply) Reset() { *m = SignalInviteReply{} } func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteReply) ProtoMessage() {} func (*SignalInviteReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{45} + return fileDescriptor_ws_489fb152692e30da, []int{46} } func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) @@ -3410,7 +3464,7 @@ func (m *SignalInviteInGroupReq) Reset() { *m = SignalInviteInGroupReq{} func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReq) ProtoMessage() {} func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{46} + return fileDescriptor_ws_489fb152692e30da, []int{47} } func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) @@ -3471,7 +3525,7 @@ func (m *SignalInviteInGroupReply) Reset() { *m = SignalInviteInGroupRep func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReply) ProtoMessage() {} func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{47} + return fileDescriptor_ws_489fb152692e30da, []int{48} } func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) @@ -3526,7 +3580,7 @@ func (m *SignalCancelReq) Reset() { *m = SignalCancelReq{} } func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) } func (*SignalCancelReq) ProtoMessage() {} func (*SignalCancelReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{48} + return fileDescriptor_ws_489fb152692e30da, []int{49} } func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) @@ -3584,7 +3638,7 @@ func (m *SignalCancelReply) Reset() { *m = SignalCancelReply{} } func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) } func (*SignalCancelReply) ProtoMessage() {} func (*SignalCancelReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{49} + return fileDescriptor_ws_489fb152692e30da, []int{50} } func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) @@ -3619,7 +3673,7 @@ func (m *SignalAcceptReq) Reset() { *m = SignalAcceptReq{} } func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReq) ProtoMessage() {} func (*SignalAcceptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{50} + return fileDescriptor_ws_489fb152692e30da, []int{51} } func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) @@ -3687,7 +3741,7 @@ func (m *SignalAcceptReply) Reset() { *m = SignalAcceptReply{} } func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReply) ProtoMessage() {} func (*SignalAcceptReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{51} + return fileDescriptor_ws_489fb152692e30da, []int{52} } func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) @@ -3741,7 +3795,7 @@ func (m *SignalHungUpReq) Reset() { *m = SignalHungUpReq{} } func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReq) ProtoMessage() {} func (*SignalHungUpReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{52} + return fileDescriptor_ws_489fb152692e30da, []int{53} } func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) @@ -3792,7 +3846,7 @@ func (m *SignalHungUpReply) Reset() { *m = SignalHungUpReply{} } func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReply) ProtoMessage() {} func (*SignalHungUpReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{53} + return fileDescriptor_ws_489fb152692e30da, []int{54} } func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) @@ -3827,7 +3881,7 @@ func (m *SignalRejectReq) Reset() { *m = SignalRejectReq{} } func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) } func (*SignalRejectReq) ProtoMessage() {} func (*SignalRejectReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{54} + return fileDescriptor_ws_489fb152692e30da, []int{55} } func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) @@ -3892,7 +3946,7 @@ func (m *SignalRejectReply) Reset() { *m = SignalRejectReply{} } func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) } func (*SignalRejectReply) ProtoMessage() {} func (*SignalRejectReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{55} + return fileDescriptor_ws_489fb152692e30da, []int{56} } func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) @@ -3926,7 +3980,7 @@ func (m *DelMsgListReq) Reset() { *m = DelMsgListReq{} } func (m *DelMsgListReq) String() string { return proto.CompactTextString(m) } func (*DelMsgListReq) ProtoMessage() {} func (*DelMsgListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{56} + return fileDescriptor_ws_489fb152692e30da, []int{57} } func (m *DelMsgListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListReq.Unmarshal(m, b) @@ -3986,7 +4040,7 @@ func (m *DelMsgListResp) Reset() { *m = DelMsgListResp{} } func (m *DelMsgListResp) String() string { return proto.CompactTextString(m) } func (*DelMsgListResp) ProtoMessage() {} func (*DelMsgListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c5c79ae5b343c043, []int{57} + return fileDescriptor_ws_489fb152692e30da, []int{58} } func (m *DelMsgListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListResp.Unmarshal(m, b) @@ -4048,6 +4102,7 @@ func init() { proto.RegisterType((*MemberKickedTips)(nil), "server_api_params.MemberKickedTips") proto.RegisterType((*MemberInvitedTips)(nil), "server_api_params.MemberInvitedTips") proto.RegisterType((*MemberEnterTips)(nil), "server_api_params.MemberEnterTips") + proto.RegisterType((*GroupDismissedTips)(nil), "server_api_params.GroupDismissedTips") proto.RegisterType((*FriendApplication)(nil), "server_api_params.FriendApplication") proto.RegisterType((*FromToUserID)(nil), "server_api_params.FromToUserID") proto.RegisterType((*FriendApplicationTips)(nil), "server_api_params.FriendApplicationTips") @@ -4082,169 +4137,170 @@ func init() { proto.RegisterType((*DelMsgListResp)(nil), "server_api_params.DelMsgListResp") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_c5c79ae5b343c043) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_489fb152692e30da) } -var fileDescriptor_ws_c5c79ae5b343c043 = []byte{ - // 2572 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xcb, 0x6f, 0x24, 0x49, - 0xd1, 0xff, 0xaa, 0xda, 0xdd, 0x76, 0x87, 0xdd, 0x7e, 0x94, 0xf7, 0x33, 0xcd, 0x30, 0x3b, 0x98, - 0x92, 0xb5, 0x0c, 0x0b, 0x78, 0xd1, 0x20, 0x24, 0x98, 0x85, 0x41, 0x7e, 0xcc, 0x6b, 0xb1, 0x67, - 0xbc, 0xd5, 0x33, 0x2c, 0x02, 0xa4, 0x51, 0xba, 0x2b, 0xdd, 0xae, 0x75, 0x75, 0x66, 0x75, 0x3d, - 0x3c, 0x63, 0x09, 0x09, 0x09, 0x24, 0xc4, 0x8d, 0x13, 0x5c, 0x91, 0xb8, 0x20, 0x24, 0x84, 0xf6, - 0x00, 0xe2, 0x82, 0x38, 0xf1, 0x0f, 0x70, 0xe6, 0xc6, 0x99, 0x2b, 0x07, 0x24, 0x24, 0x50, 0x66, - 0x64, 0x55, 0x65, 0x56, 0x75, 0xdb, 0xbd, 0x96, 0xb5, 0x03, 0x1a, 0x6e, 0x1d, 0x51, 0x19, 0x91, - 0x91, 0xf1, 0x8b, 0x88, 0x8c, 0xcc, 0x6c, 0x58, 0x4a, 0xfc, 0x93, 0x67, 0xcf, 0x93, 0xb7, 0x9e, - 0x27, 0x9b, 0x51, 0xcc, 0x53, 0xee, 0xac, 0x24, 0x34, 0x3e, 0xa5, 0xf1, 0x33, 0x12, 0x05, 0xcf, - 0x22, 0x12, 0x93, 0x61, 0xe2, 0xfe, 0xdd, 0x86, 0xf6, 0xfd, 0x98, 0x67, 0xd1, 0x43, 0x76, 0xc4, - 0x9d, 0x2e, 0xcc, 0x0e, 0x24, 0xb1, 0xdb, 0xb5, 0xd6, 0xad, 0x9b, 0x6d, 0x2f, 0x27, 0x9d, 0xeb, - 0xd0, 0x96, 0x3f, 0x1f, 0x91, 0x21, 0xed, 0xda, 0xf2, 0x5b, 0xc9, 0x70, 0x5c, 0x58, 0x60, 0x3c, - 0x0d, 0x8e, 0x82, 0x3e, 0x49, 0x03, 0xce, 0xba, 0x0d, 0x39, 0xc0, 0xe0, 0x89, 0x31, 0x01, 0x4b, - 0x63, 0xee, 0x67, 0x7d, 0x39, 0x66, 0x06, 0xc7, 0xe8, 0x3c, 0x31, 0xff, 0x11, 0xe9, 0xd3, 0xa7, - 0xde, 0x5e, 0xb7, 0x89, 0xf3, 0x2b, 0xd2, 0x59, 0x87, 0x79, 0xfe, 0x9c, 0xd1, 0xf8, 0x69, 0x42, - 0xe3, 0x87, 0xbb, 0xdd, 0x96, 0xfc, 0xaa, 0xb3, 0x9c, 0x1b, 0x00, 0xfd, 0x98, 0x92, 0x94, 0x3e, - 0x09, 0x86, 0xb4, 0x3b, 0xbb, 0x6e, 0xdd, 0xec, 0x78, 0x1a, 0x47, 0x68, 0x18, 0xd2, 0xe1, 0x21, - 0x8d, 0x77, 0x78, 0xc6, 0xd2, 0xee, 0x9c, 0x1c, 0xa0, 0xb3, 0x9c, 0x45, 0xb0, 0xe9, 0x8b, 0x6e, - 0x5b, 0xaa, 0xb6, 0xe9, 0x0b, 0x67, 0x0d, 0x5a, 0x49, 0x4a, 0xd2, 0x2c, 0xe9, 0xc2, 0xba, 0x75, - 0xb3, 0xe9, 0x29, 0xca, 0xd9, 0x80, 0x8e, 0xd4, 0xcb, 0x73, 0x6b, 0xe6, 0xa5, 0x88, 0xc9, 0x2c, - 0x3c, 0xf6, 0xe4, 0x2c, 0xa2, 0xdd, 0x05, 0xa9, 0xa0, 0x64, 0xb8, 0xbf, 0xb7, 0x61, 0x55, 0xfa, - 0x7d, 0x5f, 0x1a, 0x70, 0x2f, 0x0b, 0xc3, 0x0b, 0x10, 0x58, 0x83, 0x56, 0x86, 0xd3, 0xa1, 0xfb, - 0x15, 0x25, 0xe6, 0x89, 0x79, 0x48, 0xf7, 0xe8, 0x29, 0x0d, 0xa5, 0xe3, 0x9b, 0x5e, 0xc9, 0x70, - 0xae, 0xc1, 0xdc, 0xfb, 0x3c, 0x60, 0xd2, 0x27, 0x33, 0xf2, 0x63, 0x41, 0x8b, 0x6f, 0x2c, 0xe8, - 0x9f, 0x30, 0x01, 0x29, 0xba, 0xbb, 0xa0, 0x75, 0x24, 0x5a, 0x26, 0x12, 0x6f, 0xc0, 0x22, 0x89, - 0xa2, 0x7d, 0xc2, 0x06, 0x34, 0xc6, 0x49, 0x67, 0xa5, 0xde, 0x0a, 0x57, 0xe0, 0x21, 0x66, 0xea, - 0xf1, 0x2c, 0xee, 0x53, 0xe9, 0xee, 0xa6, 0xa7, 0x71, 0x84, 0x1e, 0x1e, 0xd1, 0x58, 0x73, 0x23, - 0x7a, 0xbe, 0xc2, 0x55, 0xa8, 0x40, 0x8e, 0x8a, 0xfb, 0x23, 0x0b, 0x16, 0x0f, 0xb2, 0xc3, 0x30, - 0xe8, 0xcb, 0x01, 0xc2, 0x69, 0xa5, 0x6b, 0x2c, 0xc3, 0x35, 0xfa, 0x02, 0xed, 0xc9, 0x0b, 0x6c, - 0x98, 0x0b, 0x5c, 0x83, 0xd6, 0x80, 0x32, 0x9f, 0xc6, 0xca, 0x61, 0x8a, 0x52, 0x86, 0x34, 0x0b, - 0x43, 0x7e, 0x66, 0xc3, 0xdc, 0x47, 0x6c, 0xc2, 0x3a, 0xcc, 0x47, 0xc7, 0x9c, 0xd1, 0x47, 0x99, - 0x08, 0x1a, 0x65, 0x8b, 0xce, 0x72, 0x5e, 0x83, 0xe6, 0x61, 0x10, 0xa7, 0xc7, 0x12, 0xb5, 0x8e, - 0x87, 0x84, 0xe0, 0xd2, 0x21, 0x09, 0x10, 0xaa, 0xb6, 0x87, 0x84, 0x5a, 0xd0, 0x5c, 0x11, 0xef, - 0x66, 0x06, 0xb5, 0x6b, 0x19, 0x54, 0x47, 0x1e, 0xc6, 0x21, 0xef, 0xfe, 0xc3, 0x02, 0xb8, 0x17, - 0x07, 0x94, 0xf9, 0xd2, 0x35, 0x95, 0xd4, 0xb5, 0xea, 0xa9, 0xbb, 0x06, 0xad, 0x98, 0x0e, 0x49, - 0x7c, 0x92, 0x87, 0x36, 0x52, 0x15, 0x83, 0x1a, 0x35, 0x83, 0xde, 0x06, 0x38, 0x92, 0xf3, 0x08, - 0x3d, 0xd2, 0x55, 0xf3, 0xb7, 0x3e, 0xb1, 0x59, 0x2b, 0x72, 0x9b, 0x39, 0x4a, 0x9e, 0x36, 0x5c, - 0xe4, 0x0d, 0xf1, 0x7d, 0x15, 0x9e, 0x4d, 0xcc, 0x9b, 0x82, 0x31, 0x26, 0x3a, 0x5b, 0xe7, 0x44, - 0xe7, 0x6c, 0x11, 0x14, 0x7f, 0xb3, 0xa0, 0xbd, 0x1d, 0x92, 0xfe, 0xc9, 0x94, 0x4b, 0x37, 0x97, - 0x68, 0xd7, 0x96, 0x78, 0x1f, 0x3a, 0x87, 0x42, 0x5d, 0xbe, 0x04, 0xe9, 0x85, 0xf9, 0x5b, 0x9f, - 0x1a, 0xb3, 0x4a, 0x33, 0x29, 0x3c, 0x53, 0xce, 0x5c, 0xee, 0xcc, 0xc5, 0xcb, 0x6d, 0x9e, 0xb3, - 0xdc, 0x56, 0xb1, 0xdc, 0x3f, 0xdb, 0xb0, 0x20, 0xcb, 0x98, 0x47, 0x47, 0x19, 0x4d, 0x52, 0xe7, - 0x6b, 0x30, 0x97, 0xe5, 0xa6, 0x5a, 0xd3, 0x9a, 0x5a, 0x88, 0x38, 0xb7, 0x55, 0xd1, 0x94, 0xf2, - 0xb6, 0x94, 0xbf, 0x3e, 0x46, 0xbe, 0xd8, 0xb1, 0xbc, 0x72, 0xb8, 0xd8, 0x60, 0x8e, 0x09, 0xf3, - 0x43, 0xea, 0xd1, 0x24, 0x0b, 0x53, 0x55, 0x0b, 0x0d, 0x1e, 0x46, 0xda, 0x68, 0x3f, 0x19, 0xa8, - 0xed, 0x47, 0x51, 0xc2, 0x3b, 0x38, 0x4e, 0x7c, 0xc2, 0xa5, 0x97, 0x0c, 0x91, 0xa8, 0x31, 0x1d, - 0x49, 0x84, 0x30, 0xad, 0x72, 0xb2, 0x9c, 0x53, 0x79, 0x0d, 0x03, 0xc1, 0xe0, 0x09, 0x88, 0x91, - 0x96, 0x0a, 0x70, 0xdf, 0xd1, 0x38, 0xd5, 0x6d, 0xc7, 0xfd, 0x4b, 0x03, 0x3a, 0x98, 0x3e, 0xb9, - 0x53, 0x6f, 0x88, 0x38, 0xe7, 0x43, 0x23, 0x8a, 0x34, 0x8e, 0xb0, 0x42, 0x50, 0x8f, 0xcc, 0x42, - 0x63, 0xf0, 0x44, 0x28, 0x0a, 0xfa, 0x9e, 0x51, 0x70, 0x74, 0x56, 0x3e, 0xcb, 0x7d, 0xbd, 0xf0, - 0x68, 0x1c, 0x51, 0xca, 0x52, 0x6e, 0x44, 0x47, 0x41, 0x0b, 0xd9, 0x94, 0x17, 0xf3, 0x63, 0x7c, - 0x68, 0x1c, 0xe1, 0xdf, 0x94, 0xe7, 0x73, 0xa3, 0x93, 0x4a, 0x06, 0x6a, 0x56, 0xf3, 0xe2, 0x46, - 0x51, 0xd0, 0x35, 0x54, 0xdb, 0xe7, 0xa2, 0x0a, 0x06, 0xaa, 0x66, 0x72, 0xcd, 0xd7, 0x92, 0x6b, - 0x03, 0x3a, 0xa8, 0x27, 0x0f, 0xfa, 0x05, 0xdc, 0xc8, 0x0d, 0xa6, 0x19, 0x1b, 0x9d, 0x6a, 0x6c, - 0x98, 0xe8, 0x2e, 0x4e, 0x40, 0x77, 0xa9, 0x40, 0xf7, 0x7b, 0xd0, 0x3d, 0xc8, 0xc2, 0x70, 0x9f, - 0x26, 0x09, 0x19, 0xd0, 0xed, 0xb3, 0x1e, 0x1d, 0xed, 0x05, 0x49, 0xea, 0xd1, 0x24, 0x12, 0x71, - 0x46, 0xe3, 0x78, 0x87, 0xfb, 0x54, 0x82, 0xdc, 0xf4, 0x72, 0x52, 0xac, 0x90, 0xc6, 0xb1, 0x30, - 0x40, 0x55, 0x48, 0xa4, 0x9c, 0x4d, 0x98, 0x09, 0x83, 0x44, 0xc4, 0x7a, 0xe3, 0xe6, 0xfc, 0xad, - 0x6b, 0x63, 0x52, 0x65, 0x3f, 0x19, 0xec, 0x92, 0x94, 0x78, 0x72, 0x9c, 0x3b, 0x84, 0x8f, 0x8d, - 0x9f, 0x7d, 0x34, 0x71, 0x07, 0x13, 0x35, 0x4c, 0x16, 0x81, 0x80, 0xb3, 0xa2, 0xf9, 0xd0, 0x59, - 0xc2, 0xec, 0x04, 0xf5, 0x48, 0x3b, 0x3a, 0x5e, 0x4e, 0xba, 0xaf, 0x81, 0x73, 0x9f, 0xa6, 0xfb, - 0xe4, 0xc5, 0x16, 0xf3, 0xf7, 0x03, 0xd6, 0xa3, 0x23, 0x8f, 0x8e, 0xdc, 0xbb, 0xb0, 0x5a, 0xe3, - 0x26, 0x91, 0x30, 0x60, 0x48, 0x5e, 0xf4, 0xe8, 0x48, 0x1a, 0xd0, 0xf1, 0x14, 0x25, 0xf9, 0x72, - 0x94, 0x2a, 0x8f, 0x8a, 0x72, 0x47, 0xb0, 0x24, 0x10, 0xea, 0x51, 0xe6, 0xef, 0x27, 0x03, 0xa9, - 0x62, 0x1d, 0xe6, 0xd1, 0x03, 0xfb, 0xc9, 0xa0, 0xac, 0xb7, 0x1a, 0x4b, 0x8c, 0xe8, 0x87, 0x01, - 0x65, 0x29, 0x8e, 0x50, 0xab, 0xd1, 0x58, 0x22, 0x18, 0x13, 0xca, 0xfc, 0x62, 0xcb, 0x69, 0x78, - 0x05, 0xed, 0xfe, 0xa1, 0x09, 0xb3, 0xca, 0xa1, 0xb2, 0x3b, 0x14, 0x5b, 0x5c, 0xe1, 0x2f, 0xa4, - 0x30, 0x18, 0xfb, 0xa7, 0x65, 0x9f, 0x86, 0x94, 0xde, 0xd9, 0x35, 0xcc, 0xce, 0xae, 0x62, 0xd3, - 0x4c, 0xdd, 0xa6, 0xca, 0xba, 0x9a, 0xf5, 0x75, 0xbd, 0x09, 0xcb, 0x89, 0x4c, 0x98, 0x83, 0x90, - 0xa4, 0x47, 0x3c, 0x1e, 0xaa, 0x1d, 0xab, 0xe9, 0xd5, 0xf8, 0xa2, 0xd8, 0x23, 0xaf, 0x48, 0x58, - 0xcc, 0xc8, 0x0a, 0x57, 0xa4, 0x07, 0x72, 0xf2, 0xc4, 0xc5, 0x56, 0xc1, 0x64, 0xa2, 0x6d, 0x49, - 0x12, 0x70, 0x26, 0x3b, 0x5d, 0xcc, 0x4f, 0x9d, 0x25, 0x56, 0x3e, 0x4c, 0x06, 0xf7, 0x62, 0x3e, - 0x54, 0x0d, 0x43, 0x4e, 0xca, 0x95, 0x73, 0x96, 0x52, 0x96, 0x4a, 0xd9, 0x79, 0x94, 0xd5, 0x58, - 0x42, 0x56, 0x91, 0x32, 0x39, 0x17, 0xbc, 0x9c, 0x74, 0x96, 0xa1, 0x91, 0xd0, 0x91, 0xca, 0x38, - 0xf1, 0xd3, 0x40, 0x6e, 0xc9, 0x44, 0xae, 0x52, 0x0a, 0x96, 0xe5, 0x57, 0xbd, 0x14, 0x94, 0xbd, - 0xfe, 0x8a, 0xd1, 0xeb, 0x6f, 0xc1, 0x2c, 0x8f, 0x44, 0x9c, 0x27, 0x5d, 0x47, 0xe6, 0xd8, 0xa7, - 0x27, 0xe7, 0xd8, 0xe6, 0x63, 0x1c, 0x79, 0x97, 0xa5, 0xf1, 0x99, 0x97, 0xcb, 0x39, 0x7b, 0xb0, - 0xc4, 0x8f, 0x8e, 0xc2, 0x80, 0xd1, 0x83, 0x2c, 0x39, 0x96, 0x3b, 0xdb, 0xaa, 0xdc, 0xd9, 0xdc, - 0x31, 0xaa, 0x1e, 0x9b, 0x23, 0xbd, 0xaa, 0xe8, 0xb5, 0xdb, 0xb0, 0xa0, 0x4f, 0x23, 0xdc, 0x70, - 0x42, 0xcf, 0x54, 0x0c, 0x8a, 0x9f, 0xa2, 0xd9, 0x3b, 0x25, 0x61, 0x86, 0xdb, 0xc0, 0x9c, 0x87, - 0xc4, 0x6d, 0xfb, 0xcb, 0x96, 0xfb, 0x53, 0x0b, 0x96, 0x2a, 0x13, 0x88, 0xd1, 0x69, 0x90, 0x86, - 0x54, 0x69, 0x40, 0xc2, 0x71, 0x60, 0xc6, 0xa7, 0x49, 0x5f, 0x85, 0xb0, 0xfc, 0xad, 0x2a, 0x59, - 0xa3, 0x68, 0x17, 0xc5, 0x81, 0xee, 0x71, 0x4f, 0x28, 0xea, 0xf1, 0x8c, 0xf9, 0xc5, 0x81, 0x4e, - 0xe3, 0x89, 0x10, 0x0a, 0x1e, 0xf7, 0xb6, 0x89, 0x3f, 0xa0, 0x78, 0xec, 0x6a, 0x4a, 0x9b, 0x4c, - 0xa6, 0xeb, 0xc3, 0xdc, 0x93, 0x20, 0x4a, 0x76, 0xf8, 0x70, 0x28, 0x80, 0xf0, 0x69, 0x2a, 0x7a, - 0x55, 0x4b, 0xe2, 0xad, 0x28, 0x11, 0x2a, 0x3e, 0x3d, 0x22, 0x59, 0x98, 0x8a, 0xa1, 0x79, 0xe2, - 0x6a, 0x2c, 0x79, 0xe0, 0x48, 0x38, 0xdb, 0x45, 0x69, 0xb4, 0x53, 0xe3, 0xb8, 0x7f, 0xb2, 0x61, - 0x59, 0x36, 0x0e, 0x3b, 0x12, 0x76, 0x5f, 0x0a, 0xdd, 0x82, 0xa6, 0x4c, 0x43, 0xd5, 0xac, 0x9c, - 0xdf, 0x6c, 0xe0, 0x50, 0xe7, 0x0e, 0xb4, 0x78, 0x24, 0x5b, 0x4e, 0xec, 0x50, 0xde, 0x98, 0x24, - 0x64, 0x9e, 0xed, 0x3c, 0x25, 0xe5, 0xdc, 0x03, 0xc0, 0x63, 0xe7, 0x5e, 0x59, 0xba, 0xa7, 0xd5, - 0xa1, 0x49, 0x0a, 0xe7, 0x16, 0x65, 0xb8, 0x38, 0xe0, 0x35, 0x3c, 0x93, 0xe9, 0x3c, 0x82, 0x45, - 0x69, 0xf6, 0xe3, 0xbc, 0xeb, 0x94, 0x18, 0x4c, 0x3f, 0x63, 0x45, 0xda, 0xfd, 0x85, 0xa5, 0xdc, - 0x28, 0xbe, 0xf6, 0x28, 0xfa, 0xbe, 0x74, 0x89, 0x75, 0x29, 0x97, 0x5c, 0x83, 0xb9, 0x61, 0xa6, - 0x35, 0xc1, 0x0d, 0xaf, 0xa0, 0x4b, 0x88, 0x1a, 0x53, 0x43, 0xe4, 0xfe, 0xd2, 0x82, 0xee, 0x3b, - 0x3c, 0x60, 0xf2, 0xc3, 0x56, 0x14, 0x85, 0xea, 0x16, 0xe2, 0xd2, 0x98, 0x7f, 0x1d, 0xda, 0x04, - 0xd5, 0xb0, 0x54, 0xc1, 0x3e, 0x45, 0x63, 0x5b, 0xca, 0x68, 0x3d, 0x4a, 0x43, 0xef, 0x51, 0xdc, - 0xdf, 0x58, 0xb0, 0x88, 0x4e, 0x79, 0x37, 0x0b, 0xd2, 0x4b, 0xdb, 0xb7, 0x0d, 0x73, 0xa3, 0x2c, - 0x48, 0x2f, 0x11, 0x95, 0x85, 0x5c, 0x3d, 0x9e, 0x1a, 0x63, 0xe2, 0xc9, 0xfd, 0xc0, 0x82, 0xeb, - 0x55, 0xb7, 0x6e, 0xf5, 0xfb, 0x34, 0x7a, 0x99, 0x29, 0x65, 0xf4, 0x68, 0x33, 0x95, 0x1e, 0x6d, - 0xac, 0xc9, 0x1e, 0x7d, 0x9f, 0xf6, 0xff, 0x73, 0x4d, 0xfe, 0xa1, 0x0d, 0x1f, 0xbf, 0x5f, 0x24, - 0xde, 0x93, 0x98, 0xb0, 0xe4, 0x88, 0xc6, 0xf1, 0x4b, 0xb4, 0x77, 0x0f, 0x3a, 0x8c, 0x3e, 0x2f, - 0x6d, 0x52, 0xe9, 0x38, 0xad, 0x1a, 0x53, 0x78, 0xba, 0xda, 0xe5, 0xfe, 0xd3, 0x82, 0x65, 0xd4, - 0xf3, 0x8d, 0xa0, 0x7f, 0xf2, 0x12, 0x17, 0xff, 0x08, 0x16, 0x4f, 0xa4, 0x05, 0x82, 0xba, 0x44, - 0xd9, 0xae, 0x48, 0x4f, 0xb9, 0xfc, 0x7f, 0x59, 0xb0, 0x82, 0x8a, 0x1e, 0xb2, 0xd3, 0xe0, 0x65, - 0x06, 0xeb, 0x01, 0x2c, 0x05, 0x68, 0xc2, 0x25, 0x1d, 0x50, 0x15, 0x9f, 0xd2, 0x03, 0xbf, 0xb3, - 0x60, 0x09, 0x35, 0xdd, 0x65, 0x29, 0x8d, 0x2f, 0xbd, 0xfe, 0x07, 0x30, 0x4f, 0x59, 0x1a, 0x13, - 0x76, 0x99, 0x0a, 0xa9, 0x8b, 0x4e, 0x59, 0x24, 0x4f, 0x60, 0x05, 0x8f, 0xf0, 0x5a, 0xc5, 0x11, - 0xbd, 0x2c, 0xf1, 0xb1, 0x3d, 0xb5, 0xa4, 0x50, 0x4e, 0x9a, 0x97, 0x33, 0xea, 0x76, 0xbd, 0xbc, - 0x9c, 0xb9, 0x01, 0x40, 0x7c, 0xff, 0x3d, 0x1e, 0xfb, 0x01, 0xcb, 0xb7, 0x0f, 0x8d, 0xe3, 0xbe, - 0x03, 0x0b, 0xa2, 0x9b, 0x7e, 0xa2, 0x1d, 0xc6, 0xcf, 0xbd, 0x2e, 0xd0, 0x0f, 0xf2, 0xb6, 0x79, - 0x90, 0x77, 0xbf, 0x0b, 0xff, 0x5f, 0x33, 0x5c, 0x7a, 0x7d, 0x07, 0xef, 0x18, 0xf2, 0x49, 0x94, - 0xf3, 0x3f, 0x39, 0xc6, 0x85, 0xba, 0x2d, 0x9e, 0x21, 0xe4, 0xfe, 0xc0, 0x82, 0xd7, 0x6b, 0xea, - 0xb7, 0xa2, 0x28, 0xe6, 0xa7, 0x2a, 0xb8, 0xaf, 0x62, 0x1a, 0xb3, 0xb4, 0xda, 0xd5, 0xd2, 0x3a, - 0xd6, 0x08, 0x63, 0x3b, 0xf8, 0x08, 0x8c, 0xf8, 0x95, 0x05, 0x4b, 0xca, 0x08, 0xdf, 0x57, 0xd3, - 0x7e, 0x09, 0x5a, 0x78, 0x3f, 0xa9, 0x26, 0x7c, 0x7d, 0xec, 0x84, 0xf9, 0xbd, 0xaa, 0xa7, 0x06, - 0xd7, 0x23, 0xd2, 0x1e, 0xd7, 0x06, 0x7e, 0xa5, 0xa8, 0x00, 0x53, 0xdf, 0x20, 0x2a, 0x01, 0xf7, - 0x5b, 0x79, 0x30, 0xef, 0xd2, 0x90, 0x5e, 0xa5, 0x8f, 0xdc, 0xa7, 0xb0, 0x28, 0x2f, 0x4b, 0x4b, - 0x1f, 0x5c, 0x89, 0xda, 0xf7, 0x60, 0x59, 0xaa, 0xbd, 0x72, 0x7b, 0x8b, 0xec, 0x10, 0xfe, 0xd9, - 0x39, 0x26, 0x6c, 0x70, 0x95, 0xda, 0x3f, 0x0f, 0xab, 0xb9, 0xef, 0x9f, 0x46, 0x7e, 0x71, 0x44, - 0x99, 0x70, 0x31, 0xe3, 0x7e, 0x01, 0xd6, 0x76, 0x38, 0x3b, 0xa5, 0x71, 0x22, 0x51, 0x46, 0x91, - 0x5c, 0xc2, 0x48, 0x7e, 0x45, 0xb9, 0x3d, 0x58, 0x51, 0x57, 0x8a, 0x07, 0x64, 0x10, 0x30, 0xac, - 0x4a, 0x37, 0x00, 0x22, 0x32, 0xc8, 0x9f, 0x14, 0xf0, 0xde, 0x49, 0xe3, 0x88, 0xef, 0xc9, 0x31, - 0x7f, 0xae, 0xbe, 0xdb, 0xf8, 0xbd, 0xe4, 0xb8, 0xdf, 0x04, 0xc7, 0xa3, 0x49, 0xc4, 0x59, 0x42, - 0x35, 0xad, 0xeb, 0x30, 0xbf, 0x93, 0xc5, 0x31, 0x65, 0x62, 0xaa, 0xfc, 0x7e, 0x5d, 0x67, 0x09, - 0xbd, 0xbd, 0x52, 0x2f, 0xde, 0x55, 0x68, 0x1c, 0xf7, 0xe7, 0x0d, 0x68, 0xf7, 0x82, 0x01, 0x23, - 0xa1, 0x47, 0x47, 0xce, 0x57, 0xa1, 0x85, 0x3b, 0x88, 0x72, 0xed, 0xb8, 0xb3, 0x33, 0x8e, 0xc6, - 0xad, 0xd2, 0xa3, 0xa3, 0x07, 0xff, 0xe7, 0x29, 0x19, 0xe7, 0x5d, 0xe8, 0xe0, 0xaf, 0x87, 0x78, - 0x22, 0x50, 0x1b, 0xc0, 0x67, 0x2e, 0x50, 0xa2, 0x46, 0xa3, 0x2e, 0x53, 0x83, 0x30, 0xa8, 0x4f, - 0x58, 0x5f, 0xbd, 0xb9, 0x9d, 0x67, 0xd0, 0x8e, 0x1c, 0xa6, 0x0c, 0x42, 0x19, 0x21, 0x4d, 0x64, - 0xcf, 0xac, 0x5e, 0x2d, 0x26, 0x4b, 0x63, 0x6b, 0xad, 0xa4, 0x51, 0x46, 0x48, 0x1f, 0x67, 0x6c, - 0xf0, 0x34, 0x52, 0x47, 0xb9, 0xc9, 0xd2, 0x0f, 0xe4, 0x30, 0x25, 0x8d, 0x32, 0x42, 0x3a, 0x96, - 0xd5, 0x4e, 0x3a, 0xfd, 0x3c, 0x69, 0x2c, 0x8a, 0x4a, 0x1a, 0x65, 0xb6, 0xdb, 0x30, 0x1b, 0x91, - 0xb3, 0x90, 0x13, 0xdf, 0xfd, 0x75, 0x03, 0x20, 0x1f, 0x98, 0xc8, 0x1e, 0xc3, 0x80, 0x68, 0xe3, - 0x42, 0x88, 0xa2, 0xf0, 0x4c, 0x03, 0xa9, 0x37, 0x1e, 0xa4, 0xcf, 0x4e, 0x0b, 0x12, 0x6a, 0xab, - 0xc0, 0x74, 0xa7, 0x02, 0xd3, 0xc6, 0x85, 0x30, 0x29, 0xa3, 0x14, 0x50, 0x77, 0x2a, 0x40, 0x6d, - 0x5c, 0x08, 0x94, 0x92, 0x57, 0x50, 0xdd, 0xa9, 0x40, 0xb5, 0x71, 0x21, 0x54, 0x4a, 0x5e, 0x81, - 0x75, 0xa7, 0x02, 0xd6, 0xc6, 0x85, 0x60, 0x29, 0xf9, 0x3a, 0x5c, 0x1f, 0xd8, 0xb0, 0x28, 0x5d, - 0x86, 0xf7, 0xb6, 0xec, 0x88, 0xcb, 0xeb, 0x19, 0xe9, 0x2e, 0xf3, 0x85, 0xca, 0x64, 0x3a, 0x9f, - 0x83, 0x15, 0x64, 0xa8, 0x17, 0x0d, 0xd9, 0xfe, 0xd9, 0xeb, 0x8d, 0x9b, 0x6d, 0xaf, 0xfe, 0x41, - 0xde, 0xb4, 0x65, 0x49, 0xca, 0x87, 0xbb, 0x24, 0x25, 0x79, 0xb7, 0x52, 0x72, 0xf4, 0x7b, 0xd0, - 0x99, 0xda, 0x0b, 0x77, 0xcc, 0xf9, 0xb0, 0xb8, 0xe0, 0x54, 0x94, 0x90, 0x48, 0x83, 0x21, 0xe5, - 0x59, 0xaa, 0xca, 0x44, 0x4e, 0x8a, 0x3d, 0x76, 0x48, 0xfd, 0x80, 0xc8, 0xdb, 0x43, 0xf5, 0xac, - 0x50, 0x30, 0x64, 0x65, 0x2b, 0x6f, 0x43, 0xd5, 0x0b, 0x74, 0xc9, 0xb9, 0xf8, 0xe6, 0xd2, 0xfd, - 0xab, 0x05, 0xab, 0x07, 0x24, 0x4e, 0x83, 0x7e, 0x10, 0x11, 0x96, 0xee, 0xd3, 0x94, 0xc8, 0x35, - 0x18, 0xcf, 0x54, 0xd6, 0x87, 0x7b, 0xa6, 0x3a, 0x80, 0xa5, 0x41, 0xd9, 0x64, 0x6a, 0x0f, 0x5d, - 0x53, 0xb7, 0xd2, 0x15, 0x71, 0xe3, 0xcd, 0xad, 0xf1, 0xa1, 0xdf, 0xdc, 0xdc, 0x1f, 0xdb, 0xb0, - 0x54, 0x29, 0x9d, 0xa2, 0x45, 0xc4, 0xcd, 0xbf, 0x88, 0x89, 0x82, 0x76, 0xb6, 0x00, 0x82, 0x22, - 0x8c, 0xce, 0xb9, 0x0b, 0x31, 0x63, 0xcd, 0xd3, 0x84, 0xc6, 0x5d, 0x89, 0x36, 0x2e, 0x7d, 0x25, - 0x2a, 0x9a, 0xfb, 0xa8, 0x04, 0x49, 0x25, 0xea, 0x38, 0x6f, 0x8e, 0x81, 0xd2, 0xd3, 0x45, 0xdd, - 0xef, 0xc0, 0x4a, 0xad, 0x42, 0xc9, 0x1b, 0x52, 0x7e, 0x42, 0x59, 0x71, 0x43, 0x2a, 0x08, 0x2d, - 0x58, 0xed, 0x6a, 0xb0, 0x86, 0xc1, 0xa9, 0xfe, 0xa8, 0xaf, 0x48, 0xf7, 0x27, 0x36, 0xac, 0x8d, - 0xdf, 0x5d, 0x5e, 0x55, 0x77, 0x1f, 0x42, 0x77, 0x52, 0x25, 0xbf, 0x32, 0xaf, 0x97, 0xd1, 0x5d, - 0xec, 0xc3, 0xaf, 0xaa, 0xbb, 0x57, 0xf3, 0xe8, 0xd6, 0xb6, 0x3a, 0xf7, 0xb7, 0x85, 0x7f, 0x8a, - 0x4e, 0xe3, 0x15, 0xf5, 0x8f, 0xf3, 0x26, 0x2c, 0xe3, 0x32, 0xb5, 0x37, 0x34, 0x6c, 0x5c, 0x6b, - 0xfc, 0xb2, 0x52, 0x68, 0xdb, 0xfe, 0x95, 0xc5, 0xec, 0x1f, 0xad, 0x1c, 0x93, 0xa2, 0x7f, 0xfb, - 0xaf, 0xc2, 0xa4, 0x8c, 0x34, 0xad, 0xa9, 0xd1, 0x22, 0xad, 0xe8, 0x2b, 0xff, 0x17, 0x69, 0x17, - 0x47, 0x5a, 0xe1, 0x4b, 0xad, 0xc1, 0x73, 0xbf, 0x0f, 0x9d, 0x5d, 0x1a, 0xee, 0x27, 0x83, 0xfc, - 0xf5, 0xfe, 0x3c, 0x47, 0x4e, 0xfa, 0xe7, 0xe0, 0xc4, 0x77, 0xfb, 0xea, 0x9b, 0xff, 0x4c, 0xed, - 0xcd, 0xdf, 0xdd, 0x86, 0x45, 0xdd, 0x80, 0xcb, 0xfc, 0x79, 0x61, 0xfb, 0xfa, 0xb7, 0xaf, 0x6d, - 0xbe, 0x85, 0xff, 0x51, 0x7d, 0xbb, 0xe6, 0xc4, 0xc3, 0x96, 0xfc, 0xcf, 0xea, 0x17, 0xff, 0x1d, - 0x00, 0x00, 0xff, 0xff, 0x62, 0x4e, 0xe4, 0x43, 0xc6, 0x2a, 0x00, 0x00, +var fileDescriptor_ws_489fb152692e30da = []byte{ + // 2589 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xcd, 0x6f, 0xe4, 0x48, + 0x15, 0xc7, 0xee, 0x74, 0x27, 0xfd, 0x92, 0x4e, 0x27, 0xce, 0x12, 0x9a, 0x61, 0x76, 0x08, 0x56, + 0xb4, 0x0c, 0x0b, 0x64, 0xd1, 0x20, 0x24, 0xd8, 0x85, 0x41, 0xf9, 0x98, 0xaf, 0x25, 0x3d, 0x93, + 0x75, 0xcf, 0xb0, 0x08, 0x90, 0x46, 0x95, 0x76, 0xa5, 0xe3, 0x8d, 0x5d, 0xe5, 0x76, 0xd9, 0x99, + 0x89, 0x84, 0x84, 0x04, 0x12, 0xe2, 0xc6, 0x09, 0xae, 0x48, 0x5c, 0x10, 0x12, 0x5a, 0xed, 0x01, + 0xc4, 0x05, 0x71, 0xe2, 0x1f, 0xe0, 0xcc, 0x8d, 0x33, 0x57, 0x0e, 0x48, 0x48, 0xa0, 0xfa, 0xb0, + 0x5d, 0x65, 0x77, 0x27, 0xbd, 0x51, 0xb4, 0x03, 0x1a, 0x6e, 0xfd, 0x9e, 0xeb, 0xbd, 0x7a, 0xf5, + 0x7e, 0xef, 0xbd, 0x7a, 0x7e, 0x6e, 0xe8, 0x32, 0xff, 0xe4, 0xe9, 0x33, 0xf6, 0xc6, 0x33, 0xb6, + 0x15, 0x27, 0x34, 0xa5, 0xce, 0x2a, 0xc3, 0xc9, 0x29, 0x4e, 0x9e, 0xa2, 0x38, 0x78, 0x1a, 0xa3, + 0x04, 0x45, 0xcc, 0xfd, 0x87, 0x0d, 0xed, 0x7b, 0x09, 0xcd, 0xe2, 0x07, 0xe4, 0x88, 0x3a, 0x3d, + 0x98, 0x1f, 0x09, 0x62, 0xaf, 0x67, 0x6d, 0x58, 0x37, 0xdb, 0x5e, 0x4e, 0x3a, 0xd7, 0xa1, 0x2d, + 0x7e, 0x3e, 0x44, 0x11, 0xee, 0xd9, 0xe2, 0x59, 0xc9, 0x70, 0x5c, 0x58, 0x22, 0x34, 0x0d, 0x8e, + 0x82, 0x21, 0x4a, 0x03, 0x4a, 0x7a, 0x0d, 0xb1, 0xc0, 0xe0, 0xf1, 0x35, 0x01, 0x49, 0x13, 0xea, + 0x67, 0x43, 0xb1, 0x66, 0x4e, 0xae, 0xd1, 0x79, 0x7c, 0xff, 0x23, 0x34, 0xc4, 0x4f, 0xbc, 0xfd, + 0x5e, 0x53, 0xee, 0xaf, 0x48, 0x67, 0x03, 0x16, 0xe9, 0x33, 0x82, 0x93, 0x27, 0x0c, 0x27, 0x0f, + 0xf6, 0x7a, 0x2d, 0xf1, 0x54, 0x67, 0x39, 0x37, 0x00, 0x86, 0x09, 0x46, 0x29, 0x7e, 0x1c, 0x44, + 0xb8, 0x37, 0xbf, 0x61, 0xdd, 0xec, 0x78, 0x1a, 0x87, 0x6b, 0x88, 0x70, 0x74, 0x88, 0x93, 0x5d, + 0x9a, 0x91, 0xb4, 0xb7, 0x20, 0x16, 0xe8, 0x2c, 0x67, 0x19, 0x6c, 0xfc, 0xbc, 0xd7, 0x16, 0xaa, + 0x6d, 0xfc, 0xdc, 0x59, 0x87, 0x16, 0x4b, 0x51, 0x9a, 0xb1, 0x1e, 0x6c, 0x58, 0x37, 0x9b, 0x9e, + 0xa2, 0x9c, 0x4d, 0xe8, 0x08, 0xbd, 0x34, 0xb7, 0x66, 0x51, 0x88, 0x98, 0xcc, 0xc2, 0x63, 0x8f, + 0xcf, 0x62, 0xdc, 0x5b, 0x12, 0x0a, 0x4a, 0x86, 0xfb, 0x07, 0x1b, 0xd6, 0x84, 0xdf, 0xfb, 0xc2, + 0x80, 0xbb, 0x59, 0x18, 0x5e, 0x80, 0xc0, 0x3a, 0xb4, 0x32, 0xb9, 0x9d, 0x74, 0xbf, 0xa2, 0xf8, + 0x3e, 0x09, 0x0d, 0xf1, 0x3e, 0x3e, 0xc5, 0xa1, 0x70, 0x7c, 0xd3, 0x2b, 0x19, 0xce, 0x35, 0x58, + 0x78, 0x8f, 0x06, 0x44, 0xf8, 0x64, 0x4e, 0x3c, 0x2c, 0x68, 0xfe, 0x8c, 0x04, 0xc3, 0x13, 0xc2, + 0x21, 0x95, 0xee, 0x2e, 0x68, 0x1d, 0x89, 0x96, 0x89, 0xc4, 0x6b, 0xb0, 0x8c, 0xe2, 0xb8, 0x8f, + 0xc8, 0x08, 0x27, 0x72, 0xd3, 0x79, 0xa1, 0xb7, 0xc2, 0xe5, 0x78, 0xf0, 0x9d, 0x06, 0x34, 0x4b, + 0x86, 0x58, 0xb8, 0xbb, 0xe9, 0x69, 0x1c, 0xae, 0x87, 0xc6, 0x38, 0xd1, 0xdc, 0x28, 0x3d, 0x5f, + 0xe1, 0x2a, 0x54, 0x20, 0x47, 0xc5, 0xfd, 0x89, 0x05, 0xcb, 0x07, 0xd9, 0x61, 0x18, 0x0c, 0xc5, + 0x02, 0xee, 0xb4, 0xd2, 0x35, 0x96, 0xe1, 0x1a, 0xfd, 0x80, 0xf6, 0xf4, 0x03, 0x36, 0xcc, 0x03, + 0xae, 0x43, 0x6b, 0x84, 0x89, 0x8f, 0x13, 0xe5, 0x30, 0x45, 0x29, 0x43, 0x9a, 0x85, 0x21, 0xbf, + 0xb0, 0x61, 0xe1, 0x23, 0x36, 0x61, 0x03, 0x16, 0xe3, 0x63, 0x4a, 0xf0, 0xc3, 0x8c, 0x07, 0x8d, + 0xb2, 0x45, 0x67, 0x39, 0xaf, 0x40, 0xf3, 0x30, 0x48, 0xd2, 0x63, 0x81, 0x5a, 0xc7, 0x93, 0x04, + 0xe7, 0xe2, 0x08, 0x05, 0x12, 0xaa, 0xb6, 0x27, 0x09, 0x75, 0xa0, 0x85, 0x22, 0xde, 0xcd, 0x0c, + 0x6a, 0xd7, 0x32, 0xa8, 0x8e, 0x3c, 0x4c, 0x42, 0xde, 0xfd, 0xa7, 0x05, 0x70, 0x37, 0x09, 0x30, + 0xf1, 0x85, 0x6b, 0x2a, 0xa9, 0x6b, 0xd5, 0x53, 0x77, 0x1d, 0x5a, 0x09, 0x8e, 0x50, 0x72, 0x92, + 0x87, 0xb6, 0xa4, 0x2a, 0x06, 0x35, 0x6a, 0x06, 0xbd, 0x05, 0x70, 0x24, 0xf6, 0xe1, 0x7a, 0x84, + 0xab, 0x16, 0x6f, 0x7d, 0x6a, 0xab, 0x56, 0xe4, 0xb6, 0x72, 0x94, 0x3c, 0x6d, 0x39, 0xcf, 0x1b, + 0xe4, 0xfb, 0x2a, 0x3c, 0x9b, 0x32, 0x6f, 0x0a, 0xc6, 0x84, 0xe8, 0x6c, 0x9d, 0x13, 0x9d, 0xf3, + 0x45, 0x50, 0xfc, 0xdd, 0x82, 0xf6, 0x4e, 0x88, 0x86, 0x27, 0x33, 0x1e, 0xdd, 0x3c, 0xa2, 0x5d, + 0x3b, 0xe2, 0x3d, 0xe8, 0x1c, 0x72, 0x75, 0xf9, 0x11, 0x84, 0x17, 0x16, 0x6f, 0x7d, 0x66, 0xc2, + 0x29, 0xcd, 0xa4, 0xf0, 0x4c, 0x39, 0xf3, 0xb8, 0x73, 0x17, 0x1f, 0xb7, 0x79, 0xce, 0x71, 0x5b, + 0xc5, 0x71, 0xff, 0x62, 0xc3, 0x92, 0x28, 0x63, 0x1e, 0x1e, 0x67, 0x98, 0xa5, 0xce, 0x37, 0x60, + 0x21, 0xcb, 0x4d, 0xb5, 0x66, 0x35, 0xb5, 0x10, 0x71, 0xde, 0x54, 0x45, 0x53, 0xc8, 0xdb, 0x42, + 0xfe, 0xfa, 0x04, 0xf9, 0xe2, 0xc6, 0xf2, 0xca, 0xe5, 0xfc, 0x82, 0x39, 0x46, 0xc4, 0x0f, 0xb1, + 0x87, 0x59, 0x16, 0xa6, 0xaa, 0x16, 0x1a, 0x3c, 0x19, 0x69, 0xe3, 0x3e, 0x1b, 0xa9, 0xeb, 0x47, + 0x51, 0xdc, 0x3b, 0x72, 0x1d, 0x7f, 0x24, 0x8f, 0x5e, 0x32, 0x78, 0xa2, 0x26, 0x78, 0x2c, 0x10, + 0x92, 0x69, 0x95, 0x93, 0xe5, 0x9e, 0xca, 0x6b, 0x32, 0x10, 0x0c, 0x1e, 0x87, 0x58, 0xd2, 0x42, + 0x81, 0xbc, 0x77, 0x34, 0x4e, 0xf5, 0xda, 0x71, 0xff, 0xda, 0x80, 0x8e, 0x4c, 0x9f, 0xdc, 0xa9, + 0x37, 0x78, 0x9c, 0xd3, 0xc8, 0x88, 0x22, 0x8d, 0xc3, 0xad, 0xe0, 0xd4, 0x43, 0xb3, 0xd0, 0x18, + 0x3c, 0x1e, 0x8a, 0x9c, 0xbe, 0x6b, 0x14, 0x1c, 0x9d, 0x95, 0xef, 0x72, 0x4f, 0x2f, 0x3c, 0x1a, + 0x87, 0x97, 0xb2, 0x94, 0x1a, 0xd1, 0x51, 0xd0, 0x5c, 0x36, 0xa5, 0xc5, 0xfe, 0x32, 0x3e, 0x34, + 0x0e, 0xf7, 0x6f, 0x4a, 0xf3, 0xbd, 0xa5, 0x93, 0x4a, 0x86, 0xd4, 0xac, 0xf6, 0x95, 0x17, 0x45, + 0x41, 0xd7, 0x50, 0x6d, 0x9f, 0x8b, 0x2a, 0x18, 0xa8, 0x9a, 0xc9, 0xb5, 0x58, 0x4b, 0xae, 0x4d, + 0xe8, 0x48, 0x3d, 0x79, 0xd0, 0x2f, 0xc9, 0x8b, 0xdc, 0x60, 0x9a, 0xb1, 0xd1, 0xa9, 0xc6, 0x86, + 0x89, 0xee, 0xf2, 0x14, 0x74, 0xbb, 0x05, 0xba, 0x3f, 0x80, 0xde, 0x41, 0x16, 0x86, 0x7d, 0xcc, + 0x18, 0x1a, 0xe1, 0x9d, 0xb3, 0x01, 0x1e, 0xef, 0x07, 0x2c, 0xf5, 0x30, 0x8b, 0x79, 0x9c, 0xe1, + 0x24, 0xd9, 0xa5, 0x3e, 0x16, 0x20, 0x37, 0xbd, 0x9c, 0xe4, 0x27, 0xc4, 0x49, 0xc2, 0x0d, 0x50, + 0x15, 0x52, 0x52, 0xce, 0x16, 0xcc, 0x85, 0x01, 0xe3, 0xb1, 0xde, 0xb8, 0xb9, 0x78, 0xeb, 0xda, + 0x84, 0x54, 0xe9, 0xb3, 0xd1, 0x1e, 0x4a, 0x91, 0x27, 0xd6, 0xb9, 0x11, 0x7c, 0x62, 0xf2, 0xee, + 0xe3, 0xa9, 0x37, 0x18, 0xaf, 0x61, 0xa2, 0x08, 0x04, 0x94, 0x14, 0xcd, 0x87, 0xce, 0xe2, 0x66, + 0x33, 0xa9, 0x47, 0xd8, 0xd1, 0xf1, 0x72, 0xd2, 0x7d, 0x05, 0x9c, 0x7b, 0x38, 0xed, 0xa3, 0xe7, + 0xdb, 0xc4, 0xef, 0x07, 0x64, 0x80, 0xc7, 0x1e, 0x1e, 0xbb, 0x77, 0x60, 0xad, 0xc6, 0x65, 0x31, + 0x37, 0x20, 0x42, 0xcf, 0x07, 0x78, 0x2c, 0x0c, 0xe8, 0x78, 0x8a, 0x12, 0x7c, 0xb1, 0x4a, 0x95, + 0x47, 0x45, 0xb9, 0x63, 0xe8, 0x72, 0x84, 0x06, 0x98, 0xf8, 0x7d, 0x36, 0x12, 0x2a, 0x36, 0x60, + 0x51, 0x7a, 0xa0, 0xcf, 0x46, 0x65, 0xbd, 0xd5, 0x58, 0x7c, 0xc5, 0x30, 0x0c, 0x30, 0x49, 0xe5, + 0x0a, 0x75, 0x1a, 0x8d, 0xc5, 0x83, 0x91, 0x61, 0xe2, 0x17, 0x57, 0x4e, 0xc3, 0x2b, 0x68, 0xf7, + 0x8f, 0x4d, 0x98, 0x57, 0x0e, 0x15, 0xdd, 0x21, 0xbf, 0xe2, 0x0a, 0x7f, 0x49, 0x4a, 0x06, 0xe3, + 0xf0, 0xb4, 0xec, 0xd3, 0x24, 0xa5, 0x77, 0x76, 0x0d, 0xb3, 0xb3, 0xab, 0xd8, 0x34, 0x57, 0xb7, + 0xa9, 0x72, 0xae, 0x66, 0xfd, 0x5c, 0xaf, 0xc3, 0x0a, 0x13, 0x09, 0x73, 0x10, 0xa2, 0xf4, 0x88, + 0x26, 0x91, 0xba, 0xb1, 0x9a, 0x5e, 0x8d, 0xcf, 0x8b, 0xbd, 0xe4, 0x15, 0x09, 0x2b, 0x33, 0xb2, + 0xc2, 0xe5, 0xe9, 0x21, 0x39, 0x79, 0xe2, 0xca, 0x56, 0xc1, 0x64, 0x4a, 0xdb, 0x18, 0x0b, 0x28, + 0x11, 0x9d, 0xae, 0xcc, 0x4f, 0x9d, 0xc5, 0x4f, 0x1e, 0xb1, 0xd1, 0xdd, 0x84, 0x46, 0xaa, 0x61, + 0xc8, 0x49, 0x71, 0x72, 0x4a, 0x52, 0x4c, 0x52, 0x21, 0xbb, 0x28, 0x65, 0x35, 0x16, 0x97, 0x55, + 0xa4, 0x48, 0xce, 0x25, 0x2f, 0x27, 0x9d, 0x15, 0x68, 0x30, 0x3c, 0x56, 0x19, 0xc7, 0x7f, 0x1a, + 0xc8, 0x75, 0x4d, 0xe4, 0x2a, 0xa5, 0x60, 0x45, 0x3c, 0xd5, 0x4b, 0x41, 0xd9, 0xeb, 0xaf, 0x1a, + 0xbd, 0xfe, 0x36, 0xcc, 0xd3, 0x98, 0xc7, 0x39, 0xeb, 0x39, 0x22, 0xc7, 0x3e, 0x3b, 0x3d, 0xc7, + 0xb6, 0x1e, 0xc9, 0x95, 0x77, 0x48, 0x9a, 0x9c, 0x79, 0xb9, 0x9c, 0xb3, 0x0f, 0x5d, 0x7a, 0x74, + 0x14, 0x06, 0x04, 0x1f, 0x64, 0xec, 0x58, 0xdc, 0x6c, 0x6b, 0xe2, 0x66, 0x73, 0x27, 0xa8, 0x7a, + 0x64, 0xae, 0xf4, 0xaa, 0xa2, 0xd7, 0xde, 0x84, 0x25, 0x7d, 0x1b, 0xee, 0x86, 0x13, 0x7c, 0xa6, + 0x62, 0x90, 0xff, 0xe4, 0xcd, 0xde, 0x29, 0x0a, 0x33, 0x79, 0x0d, 0x2c, 0x78, 0x92, 0x78, 0xd3, + 0xfe, 0xaa, 0xe5, 0xfe, 0xdc, 0x82, 0x6e, 0x65, 0x03, 0xbe, 0x3a, 0x0d, 0xd2, 0x10, 0x2b, 0x0d, + 0x92, 0x70, 0x1c, 0x98, 0xf3, 0x31, 0x1b, 0xaa, 0x10, 0x16, 0xbf, 0x55, 0x25, 0x6b, 0x14, 0xed, + 0x22, 0x7f, 0xa1, 0x7b, 0x34, 0xe0, 0x8a, 0x06, 0x34, 0x23, 0x7e, 0xf1, 0x42, 0xa7, 0xf1, 0x78, + 0x08, 0x05, 0x8f, 0x06, 0x3b, 0xc8, 0x1f, 0x61, 0xf9, 0xda, 0xd5, 0x14, 0x36, 0x99, 0x4c, 0xd7, + 0x87, 0x85, 0xc7, 0x41, 0xcc, 0x76, 0x69, 0x14, 0x71, 0x20, 0x7c, 0x9c, 0xf2, 0x5e, 0xd5, 0x12, + 0x78, 0x2b, 0x8a, 0x87, 0x8a, 0x8f, 0x8f, 0x50, 0x16, 0xa6, 0x7c, 0x69, 0x9e, 0xb8, 0x1a, 0x4b, + 0xbc, 0x70, 0x30, 0x4a, 0xf6, 0xa4, 0xb4, 0xb4, 0x53, 0xe3, 0xb8, 0x7f, 0xb6, 0x61, 0x45, 0x34, + 0x0e, 0xbb, 0x02, 0x76, 0x5f, 0x08, 0xdd, 0x82, 0xa6, 0x48, 0x43, 0xd5, 0xac, 0x9c, 0xdf, 0x6c, + 0xc8, 0xa5, 0xce, 0x6d, 0x68, 0xd1, 0x58, 0xb4, 0x9c, 0xb2, 0x43, 0x79, 0x6d, 0x9a, 0x90, 0xf9, + 0x6e, 0xe7, 0x29, 0x29, 0xe7, 0x2e, 0x80, 0x7c, 0xed, 0xdc, 0x2f, 0x4b, 0xf7, 0xac, 0x3a, 0x34, + 0x49, 0xee, 0xdc, 0xa2, 0x0c, 0x17, 0x2f, 0x78, 0x0d, 0xcf, 0x64, 0x3a, 0x0f, 0x61, 0x59, 0x98, + 0xfd, 0x28, 0xef, 0x3a, 0x05, 0x06, 0xb3, 0xef, 0x58, 0x91, 0x76, 0x7f, 0x65, 0x29, 0x37, 0xf2, + 0xa7, 0x03, 0x2c, 0x7d, 0x5f, 0xba, 0xc4, 0xba, 0x94, 0x4b, 0xae, 0xc1, 0x42, 0x94, 0x69, 0x4d, + 0x70, 0xc3, 0x2b, 0xe8, 0x12, 0xa2, 0xc6, 0xcc, 0x10, 0xb9, 0xbf, 0xb6, 0xa0, 0xf7, 0x36, 0x0d, + 0x88, 0x78, 0xb0, 0x1d, 0xc7, 0xa1, 0x9a, 0x42, 0x5c, 0x1a, 0xf3, 0x6f, 0x42, 0x1b, 0x49, 0x35, + 0x24, 0x55, 0xb0, 0xcf, 0xd0, 0xd8, 0x96, 0x32, 0x5a, 0x8f, 0xd2, 0xd0, 0x7b, 0x14, 0xf7, 0x7d, + 0x0b, 0x96, 0xa5, 0x53, 0xde, 0xc9, 0x82, 0xf4, 0xd2, 0xf6, 0xed, 0xc0, 0xc2, 0x38, 0x0b, 0xd2, + 0x4b, 0x44, 0x65, 0x21, 0x57, 0x8f, 0xa7, 0xc6, 0x84, 0x78, 0x72, 0x3f, 0xb0, 0xe0, 0x7a, 0xd5, + 0xad, 0xdb, 0xc3, 0x21, 0x8e, 0x5f, 0x64, 0x4a, 0x19, 0x3d, 0xda, 0x5c, 0xa5, 0x47, 0x9b, 0x68, + 0xb2, 0x87, 0xdf, 0xc3, 0xc3, 0xff, 0x5e, 0x93, 0x7f, 0x6c, 0xc3, 0x27, 0xef, 0x15, 0x89, 0xf7, + 0x38, 0x41, 0x84, 0x1d, 0xe1, 0x24, 0x79, 0x81, 0xf6, 0xee, 0x43, 0x87, 0xe0, 0x67, 0xa5, 0x4d, + 0x2a, 0x1d, 0x67, 0x55, 0x63, 0x0a, 0xcf, 0x56, 0xbb, 0xdc, 0x7f, 0x59, 0xb0, 0x22, 0xf5, 0x7c, + 0x2b, 0x18, 0x9e, 0xbc, 0xc0, 0xc3, 0x3f, 0x84, 0xe5, 0x13, 0x61, 0x01, 0xa7, 0x2e, 0x51, 0xb6, + 0x2b, 0xd2, 0x33, 0x1e, 0xff, 0xdf, 0x16, 0xac, 0x4a, 0x45, 0x0f, 0xc8, 0x69, 0xf0, 0x22, 0x83, + 0xf5, 0x00, 0xba, 0x81, 0x34, 0xe1, 0x92, 0x0e, 0xa8, 0x8a, 0xcf, 0xe8, 0x81, 0xdf, 0x5b, 0xd0, + 0x95, 0x9a, 0xee, 0x90, 0x14, 0x27, 0x97, 0x3e, 0xff, 0x7d, 0x58, 0xc4, 0x24, 0x4d, 0x10, 0xb9, + 0x4c, 0x85, 0xd4, 0x45, 0x67, 0x2c, 0x92, 0xef, 0x5b, 0xe0, 0x08, 0x55, 0x7b, 0x01, 0x8b, 0x02, + 0xc6, 0x5e, 0x20, 0x74, 0xb3, 0x19, 0x7c, 0x02, 0xab, 0x72, 0xe6, 0xa0, 0x95, 0x48, 0xde, 0x7c, + 0x23, 0x5f, 0xf6, 0xd3, 0x96, 0x10, 0xca, 0x49, 0x73, 0x9a, 0xa4, 0x3e, 0x07, 0x94, 0xd3, 0xa4, + 0x1b, 0x00, 0xc8, 0xf7, 0xdf, 0xa5, 0x89, 0x1f, 0x90, 0xfc, 0xbe, 0xd3, 0x38, 0xee, 0xdb, 0xb0, + 0xc4, 0xdb, 0xff, 0xc7, 0xda, 0xf4, 0xe0, 0xdc, 0xf9, 0x86, 0x3e, 0x79, 0xb0, 0xcd, 0xc9, 0x83, + 0xfb, 0x7d, 0xf8, 0x78, 0xcd, 0x70, 0xe1, 0xeb, 0x5d, 0x39, 0x14, 0xc9, 0x37, 0x51, 0x2e, 0xff, + 0xf4, 0x04, 0xef, 0xe9, 0xb6, 0x78, 0x86, 0x90, 0xfb, 0x23, 0x0b, 0x5e, 0xad, 0xa9, 0xdf, 0x8e, + 0xe3, 0x84, 0x9e, 0x2a, 0x48, 0xaf, 0x62, 0x1b, 0xf3, 0x2e, 0xb0, 0xab, 0x77, 0xc1, 0x44, 0x23, + 0x8c, 0xfb, 0xeb, 0x23, 0x30, 0xe2, 0x37, 0x16, 0x74, 0x95, 0x11, 0xbe, 0xaf, 0xb6, 0xfd, 0x0a, + 0xb4, 0xe4, 0x40, 0x55, 0x6d, 0xf8, 0xea, 0xc4, 0x0d, 0xf3, 0x41, 0xb0, 0xa7, 0x16, 0xd7, 0x23, + 0xd2, 0x9e, 0xd4, 0xb7, 0x7e, 0xad, 0x88, 0xfb, 0x99, 0x47, 0x9e, 0x4a, 0xc0, 0xfd, 0x4e, 0x1e, + 0xcc, 0x7b, 0x38, 0xc4, 0x57, 0xe9, 0x23, 0xf7, 0x09, 0x2c, 0x8b, 0xe9, 0x6e, 0xe9, 0x83, 0x2b, + 0x51, 0xfb, 0x2e, 0xac, 0x08, 0xb5, 0x57, 0x6e, 0x6f, 0x91, 0x1d, 0xdc, 0x3f, 0xbb, 0xc7, 0x88, + 0x8c, 0xae, 0x52, 0xfb, 0x17, 0x61, 0x2d, 0xf7, 0xfd, 0x93, 0xd8, 0x2f, 0xde, 0xa9, 0xa6, 0x4c, + 0x92, 0xdc, 0x2f, 0xc1, 0xfa, 0x2e, 0x25, 0xa7, 0x38, 0x61, 0x02, 0x65, 0x29, 0x92, 0x4b, 0x18, + 0xc9, 0xaf, 0x28, 0x77, 0x00, 0xab, 0x6a, 0x06, 0x7a, 0x80, 0x46, 0x01, 0x91, 0x55, 0xe9, 0x06, + 0x40, 0x8c, 0x46, 0xf9, 0x37, 0x10, 0x39, 0x28, 0xd3, 0x38, 0xfc, 0x39, 0x3b, 0xa6, 0xcf, 0xd4, + 0x73, 0x5b, 0x3e, 0x2f, 0x39, 0xee, 0xb7, 0xc1, 0xf1, 0x30, 0x8b, 0x29, 0x61, 0x58, 0xd3, 0xba, + 0x01, 0x8b, 0xbb, 0x59, 0x92, 0x60, 0xc2, 0xb7, 0xca, 0x3f, 0x08, 0xe8, 0x2c, 0xae, 0x77, 0x50, + 0xea, 0x95, 0xc3, 0x15, 0x8d, 0xe3, 0xfe, 0xb2, 0x01, 0xed, 0x41, 0x30, 0x22, 0x28, 0xf4, 0xf0, + 0xd8, 0xf9, 0x3a, 0xb4, 0xe4, 0x95, 0xa7, 0x5c, 0x3b, 0xe9, 0x65, 0x5f, 0xae, 0x96, 0x77, 0xbb, + 0x87, 0xc7, 0xf7, 0x3f, 0xe6, 0x29, 0x19, 0xe7, 0x1d, 0xe8, 0xc8, 0x5f, 0x0f, 0xe4, 0x2b, 0x8c, + 0xaa, 0xfd, 0x9f, 0xbb, 0x40, 0x89, 0x5a, 0x2d, 0x75, 0x99, 0x1a, 0xb8, 0x41, 0x43, 0x44, 0x86, + 0xea, 0x23, 0xe1, 0x79, 0x06, 0xed, 0x8a, 0x65, 0xca, 0x20, 0x29, 0xc3, 0xa5, 0x91, 0x68, 0xf2, + 0xd5, 0x67, 0x96, 0xe9, 0xd2, 0xf2, 0x5d, 0x40, 0x49, 0x4b, 0x19, 0x2e, 0x7d, 0x9c, 0x91, 0xd1, + 0x93, 0x58, 0xbd, 0x7b, 0x4e, 0x97, 0xbe, 0x2f, 0x96, 0x29, 0x69, 0x29, 0xc3, 0xa5, 0x13, 0x51, + 0xed, 0x84, 0xd3, 0xcf, 0x93, 0x96, 0x45, 0x51, 0x49, 0x4b, 0x99, 0x9d, 0x36, 0xcc, 0xc7, 0xe8, + 0x2c, 0xa4, 0xc8, 0x77, 0x7f, 0xdb, 0x00, 0xc8, 0x17, 0x32, 0x71, 0xb3, 0x1a, 0x10, 0x6d, 0x5e, + 0x08, 0x51, 0x1c, 0x9e, 0x69, 0x20, 0x0d, 0x26, 0x83, 0xf4, 0xf9, 0x59, 0x41, 0x92, 0xda, 0x2a, + 0x30, 0xdd, 0xae, 0xc0, 0xb4, 0x79, 0x21, 0x4c, 0xca, 0x28, 0x05, 0xd4, 0xed, 0x0a, 0x50, 0x9b, + 0x17, 0x02, 0xa5, 0xe4, 0x15, 0x54, 0xb7, 0x2b, 0x50, 0x6d, 0x5e, 0x08, 0x95, 0x92, 0x57, 0x60, + 0xdd, 0xae, 0x80, 0xb5, 0x79, 0x21, 0x58, 0x4a, 0xbe, 0x0e, 0xd7, 0x07, 0x36, 0x2c, 0x0b, 0x97, + 0xc9, 0x41, 0x33, 0x39, 0xa2, 0x62, 0x9e, 0x24, 0xdc, 0x65, 0x7e, 0x52, 0x33, 0x99, 0xce, 0x17, + 0x60, 0x55, 0x32, 0xd4, 0x27, 0x18, 0xd1, 0xaf, 0xda, 0x1b, 0x8d, 0x9b, 0x6d, 0xaf, 0xfe, 0x40, + 0x8c, 0x06, 0x33, 0x96, 0xd2, 0x68, 0x0f, 0xa5, 0x28, 0xef, 0x56, 0x4a, 0x8e, 0x3e, 0xb8, 0x9d, + 0xab, 0x7d, 0x92, 0x4f, 0x28, 0x8d, 0x8a, 0x89, 0xac, 0xa2, 0xb8, 0x44, 0x1a, 0x44, 0x98, 0x66, + 0xa9, 0x2a, 0x13, 0x39, 0xc9, 0xef, 0xd8, 0x08, 0xfb, 0x01, 0x12, 0xe3, 0x4e, 0xf5, 0x1d, 0xa4, + 0x60, 0x88, 0xca, 0x56, 0x8e, 0x6f, 0xd5, 0x27, 0xf3, 0x92, 0x73, 0xf1, 0xa8, 0xd5, 0xfd, 0x9b, + 0x05, 0x6b, 0x07, 0x28, 0x49, 0x83, 0x61, 0x10, 0x23, 0x92, 0xf6, 0x71, 0x8a, 0xc4, 0x19, 0x8c, + 0xef, 0x6a, 0xd6, 0x87, 0xfb, 0xae, 0x76, 0x00, 0xdd, 0x51, 0xd9, 0x5f, 0x6a, 0x5f, 0xe6, 0x66, + 0xee, 0xfd, 0x2b, 0xe2, 0xc6, 0x47, 0xc2, 0xc6, 0x87, 0xfe, 0x48, 0xe8, 0xfe, 0xd4, 0x86, 0x6e, + 0xa5, 0x74, 0xf2, 0x16, 0x51, 0x5e, 0xfe, 0x45, 0x4c, 0x14, 0xb4, 0xb3, 0x0d, 0x10, 0x14, 0x61, + 0x74, 0xce, 0xf0, 0xc6, 0x8c, 0x35, 0x4f, 0x13, 0x9a, 0x34, 0xc3, 0x6d, 0x5c, 0x7a, 0x86, 0xcb, + 0xdf, 0x46, 0xe2, 0x12, 0x24, 0x95, 0xa8, 0x93, 0xbc, 0x39, 0x01, 0x4a, 0x4f, 0x17, 0x75, 0xbf, + 0x07, 0xab, 0xb5, 0x0a, 0x25, 0x46, 0xba, 0xf4, 0x04, 0x93, 0x62, 0xa4, 0xcb, 0x09, 0x2d, 0x58, + 0xed, 0x6a, 0xb0, 0x86, 0xc1, 0xa9, 0xfe, 0x2f, 0x04, 0x45, 0xba, 0x3f, 0xb3, 0x61, 0x7d, 0xf2, + 0xed, 0xf2, 0xb2, 0xba, 0xfb, 0x10, 0x7a, 0xd3, 0x2a, 0xf9, 0x95, 0x79, 0xbd, 0x8c, 0xee, 0xe2, + 0x1e, 0x7e, 0x59, 0xdd, 0xbd, 0x96, 0x47, 0xb7, 0x76, 0xd5, 0xb9, 0xbf, 0x2b, 0xfc, 0x53, 0x74, + 0x1a, 0x2f, 0xa9, 0x7f, 0x9c, 0xd7, 0x61, 0x45, 0x1e, 0x53, 0xfb, 0xe8, 0x27, 0x1b, 0xd7, 0x1a, + 0xbf, 0xac, 0x14, 0xda, 0xb5, 0x7f, 0x65, 0x31, 0xfb, 0x27, 0x2b, 0xc7, 0xa4, 0xe8, 0xdf, 0xfe, + 0xa7, 0x30, 0x29, 0x23, 0x4d, 0x6b, 0x6a, 0xb4, 0x48, 0x2b, 0xfa, 0xca, 0xff, 0x47, 0xda, 0xc5, + 0x91, 0x56, 0xf8, 0x52, 0x6b, 0xf0, 0xdc, 0x1f, 0x42, 0x67, 0x0f, 0x87, 0x7d, 0x36, 0xca, 0xff, + 0x6e, 0x70, 0x9e, 0x23, 0xa7, 0xfd, 0xd5, 0x71, 0xea, 0x1f, 0x0d, 0xaa, 0x7f, 0x52, 0x98, 0xab, + 0xfd, 0x49, 0xc1, 0xdd, 0x81, 0x65, 0xdd, 0x80, 0xcb, 0xfc, 0xdb, 0x62, 0xe7, 0xfa, 0x77, 0xaf, + 0x6d, 0xbd, 0x21, 0xff, 0x54, 0xfb, 0x56, 0xcd, 0x89, 0x87, 0x2d, 0xf1, 0x27, 0xdb, 0x2f, 0xff, + 0x27, 0x00, 0x00, 0xff, 0xff, 0xd8, 0x98, 0x6b, 0xf4, 0x77, 0x2b, 0x00, 0x00, } diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 39abd9c7e..5c54da954 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -254,6 +254,12 @@ message MemberEnterTips{ int64 operationTime = 3; } +message GroupDismissedTips{ + GroupInfo group = 1; + GroupMemberFullInfo opUser = 2; + int64 operationTime = 3; +} + //////////////////////friend///////////////////// //message FriendInfo{ From 6d20eddd43e03715d689bf771e527a4ba7dfe079 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 25 Mar 2022 18:46:27 +0800 Subject: [PATCH 100/129] mongo --- cmd/open_im_api/main.go | 17 + cmd/rpc/open_im_admin_cms/Makefile | 2 +- cmd/rpc/open_im_office/Makefile | 23 + cmd/rpc/open_im_office/main.go | 13 + internal/api/conversation/conversation.go | 15 + internal/api/office/tag.go | 189 +++ .../api/third/minio_storage_credential.go | 7 + internal/rpc/msg/tag_notification.go | 20 + internal/rpc/office/office.go | 163 +++ pkg/base_info/minio_api_struct.go | 4 +- pkg/base_info/office_struct.go | 46 + pkg/common/config/config.go | 1 + pkg/common/db/mongoModel.go | 130 ++ .../mysql_model/im_mysql_model/user_model.go | 13 + pkg/proto/office/office.pb.go | 1183 +++++++++++++++++ pkg/proto/office/office.proto | 108 ++ pkg/proto/tag/tag.proto | 0 script/check_all.sh | 1 + script/path_info.cfg | 2 + script/start_rpc_service.sh | 2 + 20 files changed, 1936 insertions(+), 3 deletions(-) create mode 100644 cmd/rpc/open_im_office/Makefile create mode 100644 cmd/rpc/open_im_office/main.go create mode 100644 internal/api/office/tag.go create mode 100644 internal/rpc/msg/tag_notification.go create mode 100644 internal/rpc/office/office.go create mode 100644 pkg/base_info/office_struct.go create mode 100644 pkg/proto/office/office.pb.go create mode 100644 pkg/proto/office/office.proto delete mode 100644 pkg/proto/tag/tag.proto diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index b6d00f690..e7203c54d 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -7,6 +7,7 @@ import ( "Open_IM/internal/api/friend" "Open_IM/internal/api/group" "Open_IM/internal/api/manage" + "Open_IM/internal/api/office" apiThird "Open_IM/internal/api/third" "Open_IM/internal/api/user" "Open_IM/pkg/common/log" @@ -106,7 +107,23 @@ func main() { conversationGroup.POST("/set_conversation", conversation.SetConversation) conversationGroup.POST("/batch_set_conversation", conversation.BatchSetConversations) conversationGroup.POST("/set_recv_msg_opt", conversation.SetRecvMsgOpt) + + // Deprecated + conversationGroup.POST("/set_receive_message_opt", conversation.SetReceiveMessageOpt) //1 + conversationGroup.POST("/get_receive_message_opt", conversation.GetReceiveMessageOpt) //1 + conversationGroup.POST("/get_all_conversation_message_opt", conversation.GetAllConversationMessageOpt) //1 } + // office + officeGroup := r.Group("/office") + { + officeGroup.POST("/get_user_tags", office.GetUserTags) + officeGroup.POST("/create_tag", office.CreateTag) + officeGroup.POST("/delete_tag", office.DeleteTag) + officeGroup.POST("/set_tag", office.SetTag) + officeGroup.POST("/send_msg_to_tag", office.SendMsg2Tag) + officeGroup.POST("/get_send_tag_log", office.GetSendTagLogs) + } + apiThird.MinioInit() log.NewPrivateLog("api") ginPort := flag.Int("port", 10000, "get ginServerPort from cmd,default 10000 as port") diff --git a/cmd/rpc/open_im_admin_cms/Makefile b/cmd/rpc/open_im_admin_cms/Makefile index f6efc1c08..b86230c64 100644 --- a/cmd/rpc/open_im_admin_cms/Makefile +++ b/cmd/rpc/open_im_admin_cms/Makefile @@ -1,6 +1,6 @@ .PHONY: all build run gotool install clean help -BINARY_NAME=open_im_admin_cms +BINARY_NAME=open_im_office BIN_DIR=../../../bin/ all: gotool build diff --git a/cmd/rpc/open_im_office/Makefile b/cmd/rpc/open_im_office/Makefile new file mode 100644 index 000000000..0ae4189a3 --- /dev/null +++ b/cmd/rpc/open_im_office/Makefile @@ -0,0 +1,23 @@ +.PHONY: all build run gotool install clean help + +BINARY_NAME=office +BIN_DIR=../../../bin/ + +all: gotool build + +build: + CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" + +run: + @go run ./ + +gotool: + go fmt ./ + go vet ./ + +install: + make build + mv ${BINARY_NAME} ${BIN_DIR} + +clean: + @if [ -f ${BINARY_NAME} ] ; then rm ${BINARY_NAME} ; fi diff --git a/cmd/rpc/open_im_office/main.go b/cmd/rpc/open_im_office/main.go new file mode 100644 index 000000000..c4d80cf68 --- /dev/null +++ b/cmd/rpc/open_im_office/main.go @@ -0,0 +1,13 @@ +package main + +import ( + rpc "Open_IM/internal/rpc/office" + "flag" +) + +func main() { + rpcPort := flag.Int("port", 11100, "rpc listening port") + flag.Parse() + rpcServer := rpc.NewOfficeServer(*rpcPort) + rpcServer.Run() +} diff --git a/internal/api/conversation/conversation.go b/internal/api/conversation/conversation.go index 591ea3a0a..5c06ecaf5 100644 --- a/internal/api/conversation/conversation.go +++ b/internal/api/conversation/conversation.go @@ -201,3 +201,18 @@ func SetRecvMsgOpt(c *gin.Context) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) c.JSON(http.StatusOK, resp) } + +//Deprecated +func SetReceiveMessageOpt(c *gin.Context) { + +} + +//Deprecated +func GetReceiveMessageOpt(c *gin.Context) { + +} + +//Deprecated +func GetAllConversationMessageOpt(c *gin.Context) { + +} diff --git a/internal/api/office/tag.go b/internal/api/office/tag.go new file mode 100644 index 000000000..4644a27ed --- /dev/null +++ b/internal/api/office/tag.go @@ -0,0 +1,189 @@ +package office + +import ( + apistruct "Open_IM/pkg/base_info" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" + pbOffice "Open_IM/pkg/proto/office" + "Open_IM/pkg/utils" + "context" + "github.com/gin-gonic/gin" + "net/http" + "strings" +) + +func GetUserTags(c *gin.Context) { + var ( + req apistruct.GetUserTagsReq + resp apistruct.GetUserTagsResp + reqPb pbOffice.GetUserTagsReq + respPb *pbOffice.GetUserTagsResp + ) + if err := c.BindJSON(&req); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "bind json failed", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "bind json failed " + err.Error()}) + return + } + if err := utils.CopyStructFields(&reqPb, req); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + } + etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfficeName) + client := pbOffice.NewOfficeServiceClient(etcdConn) + respPb, err := client.GetUserTags(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserTags failed", err.Error()) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserTags rpc server failed" + err.Error()}) + return + } + if err := utils.CopyStructFields(&resp.CommResp, respPb.CommonResp); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + } + resp.Data.Tags = respPb.Tags + c.JSON(http.StatusOK, resp) +} + +func CreateTag(c *gin.Context) { + var ( + req apistruct.CreateTagReq + resp apistruct.CreateTagResp + reqPb pbOffice.CreateTagReq + respPb *pbOffice.CreateTagResp + ) + if err := c.BindJSON(&req); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "bind json failed", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "bind json failed " + err.Error()}) + return + } + if err := utils.CopyStructFields(&reqPb, req); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + } + etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfficeName) + client := pbOffice.NewOfficeServiceClient(etcdConn) + respPb, err := client.CreateTag(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserTags failed", err.Error()) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "CreateTag rpc server failed" + err.Error()}) + return + } + if err := utils.CopyStructFields(&resp.CommResp, respPb.CommonResp); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + } + c.JSON(http.StatusOK, resp) +} + +func DeleteTag(c *gin.Context) { + var ( + req apistruct.DeleteTagReq + resp apistruct.DeleteTagResp + reqPb pbOffice.DeleteTagReq + respPb *pbOffice.DeleteTagResp + ) + if err := c.BindJSON(&req); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "bind json failed", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "bind json failed " + err.Error()}) + return + } + if err := utils.CopyStructFields(&reqPb, req); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + } + etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfficeName) + client := pbOffice.NewOfficeServiceClient(etcdConn) + respPb, err := client.DeleteTag(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserTags failed", err.Error()) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "CreateTag rpc server failed" + err.Error()}) + return + } + if err := utils.CopyStructFields(&resp.CommResp, respPb.CommonResp); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + } + c.JSON(http.StatusOK, resp) +} + +func SetTag(c *gin.Context) { + var ( + req apistruct.SetTagReq + resp apistruct.SetTagResp + reqPb pbOffice.SetTagReq + respPb *pbOffice.SetTagResp + ) + if err := c.BindJSON(&req); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "bind json failed", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "bind json failed " + err.Error()}) + return + } + if err := utils.CopyStructFields(&reqPb, req); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + } + etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfficeName) + client := pbOffice.NewOfficeServiceClient(etcdConn) + respPb, err := client.SetTag(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserTags failed", err.Error()) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "CreateTag rpc server failed" + err.Error()}) + return + } + if err := utils.CopyStructFields(&resp.CommResp, respPb.CommonResp); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + } + c.JSON(http.StatusOK, resp) +} + +func SendMsg2Tag(c *gin.Context) { + var ( + req apistruct.SendMsg2TagReq + resp apistruct.SendMsg2TagResp + reqPb pbOffice.SendMsg2TagReq + respPb *pbOffice.SendMsg2TagResp + ) + if err := c.BindJSON(&req); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "bind json failed", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "bind json failed " + err.Error()}) + return + } + if err := utils.CopyStructFields(&reqPb, req); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + } + etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfficeName) + client := pbOffice.NewOfficeServiceClient(etcdConn) + respPb, err := client.SendMsg2Tag(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserTags failed", err.Error()) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "CreateTag rpc server failed" + err.Error()}) + return + } + if err := utils.CopyStructFields(&resp.CommResp, respPb.CommonResp); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + } + c.JSON(http.StatusOK, resp) +} + +func GetSendTagLogs(c *gin.Context) { + var ( + req apistruct.SendMsg2TagReq + resp apistruct.SendMsg2TagResp + reqPb pbOffice.SendMsg2TagReq + respPb *pbOffice.SendMsg2TagResp + ) + if err := c.BindJSON(&req); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "bind json failed", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "bind json failed " + err.Error()}) + return + } + if err := utils.CopyStructFields(&reqPb, req); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + } + etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfficeName) + client := pbOffice.NewOfficeServiceClient(etcdConn) + respPb, err := client.SendMsg2Tag(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserTags failed", err.Error()) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "CreateTag rpc server failed" + err.Error()}) + return + } + if err := utils.CopyStructFields(&resp.CommResp, respPb.CommonResp); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + } + c.JSON(http.StatusOK, resp) +} diff --git a/internal/api/third/minio_storage_credential.go b/internal/api/third/minio_storage_credential.go index b9d311815..50ab64eb2 100644 --- a/internal/api/third/minio_storage_credential.go +++ b/internal/api/third/minio_storage_credential.go @@ -33,8 +33,15 @@ func MinioUploadFile(c *gin.Context) { c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } + ok, _ := token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + if !ok { + log.NewError("", utils.GetSelfFuncName(), "GetUserIDFromToken false ", c.Request.Header.Get("token")) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) + return + } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req) switch req.FileType { + // videoType upload snapShot case constant.VideoType: snapShotFile, err := c.FormFile("snapShot") if err != nil { diff --git a/internal/rpc/msg/tag_notification.go b/internal/rpc/msg/tag_notification.go new file mode 100644 index 000000000..8a6356bb4 --- /dev/null +++ b/internal/rpc/msg/tag_notification.go @@ -0,0 +1,20 @@ +package msg + +import ( + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/log" + "Open_IM/pkg/utils" +) + +func SetTagNotification(operationID, sendID, recvID, content string, contentType int32) { + log.NewInfo(operationID, utils.GetSelfFuncName(), "args: ", sendID, recvID, content, contentType) + var n NotificationMsg + n.SendID = sendID + n.RecvID = recvID + n.ContentType = contentType + n.SessionType = constant.SingleChatType + n.MsgFrom = constant.UserMsgType + n.OperationID = operationID + n.Content = []byte(content) + Notification(&n) +} diff --git a/internal/rpc/office/office.go b/internal/rpc/office/office.go new file mode 100644 index 000000000..9e297531d --- /dev/null +++ b/internal/rpc/office/office.go @@ -0,0 +1,163 @@ +package office + +import ( + "Open_IM/internal/rpc/msg" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/db" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" + pbOffice "Open_IM/pkg/proto/office" + pbCommon "Open_IM/pkg/proto/sdk_ws" + "Open_IM/pkg/utils" + "context" + "google.golang.org/grpc" + "net" + "strconv" + "strings" +) + +type officeServer struct { + rpcPort int + rpcRegisterName string + etcdSchema string + etcdAddr []string +} + +func NewOfficeServer(port int) *officeServer { + log.NewPrivateLog("officeServer") + return &officeServer{ + rpcPort: port, + rpcRegisterName: config.Config.RpcRegisterName.OpenImMessageCMSName, + etcdSchema: config.Config.Etcd.EtcdSchema, + etcdAddr: config.Config.Etcd.EtcdAddr, + } +} + +func (s *officeServer) Run() { + log.NewInfo("0", "officeServer rpc start ") + ip := utils.ServerIP + registerAddress := ip + ":" + strconv.Itoa(s.rpcPort) + //listener network + listener, err := net.Listen("tcp", registerAddress) + if err != nil { + log.NewError("0", "Listen failed ", err.Error(), registerAddress) + return + } + log.NewInfo("0", "listen network success, ", registerAddress, listener) + defer listener.Close() + //grpc server + srv := grpc.NewServer() + defer srv.GracefulStop() + //Service registers with etcd + pbOffice.RegisterOfficeServiceServer(srv, s) + err = getcdv3.RegisterEtcd(s.etcdSchema, strings.Join(s.etcdAddr, ","), ip, s.rpcPort, s.rpcRegisterName, 10) + if err != nil { + log.NewError("0", "RegisterEtcd failed ", err.Error()) + return + } + err = srv.Serve(listener) + if err != nil { + log.NewError("0", "Serve failed ", err.Error()) + return + } + log.NewInfo("0", "message cms rpc success") +} + +func (s *officeServer) GetUserTags(_ context.Context, req *pbOffice.GetUserTagsReq) (resp *pbOffice.GetUserTagsResp, err error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req ", req.String()) + resp = &pbOffice.GetUserTagsResp{ + CommonResp: &pbOffice.CommonResp{}, + Tags: []*pbOffice.Tag{}, + } + tags, err := db.DB.GetUserTags(req.UserID) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserTags failed", err.Error()) + resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + return resp, nil + } + if err := utils.CopyStructFields(resp.Tags, tags); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + } + for _, v := range resp.Tags { + + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp ", resp.String()) + return resp, nil +} + +func (s *officeServer) CreateTag(_ context.Context, req *pbOffice.CreateTagReq) (resp *pbOffice.CreateTagResp, err error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "CreateTag req", req.String()) + resp = &pbOffice.CreateTagResp{CommonResp: &pbOffice.CommonResp{}} + if err := db.DB.CreateTag(req.UserID, req.TagName, req.UserIDList); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserTags failed", err.Error()) + resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + return resp, nil + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp", resp.String()) + return resp, nil +} + +func (s *officeServer) DeleteTag(_ context.Context, req *pbOffice.DeleteTagReq) (resp *pbOffice.DeleteTagResp, err error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) + resp = &pbOffice.DeleteTagResp{CommonResp: &pbOffice.CommonResp{}} + if err := db.DB.DeleteTag(req.UserID, req.TagID); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "DeleteTag failed", err.Error()) + resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + return resp, nil + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) + return resp, nil +} + +func (s *officeServer) SetTag(_ context.Context, req *pbOffice.SetTagReq) (resp *pbOffice.SetTagResp, err error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) + resp = &pbOffice.SetTagResp{CommonResp: &pbOffice.CommonResp{}} + if err := db.DB.SetTag(req.UserID, req.TagID, req.NewName, req.ReduceUserIDList, req.ReduceUserIDList); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "SetTag failed", err.Error()) + resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + return resp, nil + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) + return resp, err +} + +func (s *officeServer) SendMsg2Tag(_ context.Context, req *pbOffice.SendMsg2TagReq) (resp *pbOffice.SendMsg2TagResp, err error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) + resp = &pbOffice.SendMsg2TagResp{CommonResp: &pbOffice.CommonResp{}} + userIDList, err := db.DB.GetUserIDListByTagID(req.SendID, req.TagID) + for _, userID := range userIDList { + msg.SetTagNotification(req.OperationID, req.SendID, userID, req.Content, req.ContentType) + } + if err := db.DB.SaveTagSendLog(req); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "SaveTagSendLog failed", err.Error()) + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) + return resp, err +} + +func (s *officeServer) GetTagSendLogs(_ context.Context, req *pbOffice.GetTagSendLogsReq) (resp *pbOffice.GetTagSendLogsResp, err error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) + resp = &pbOffice.GetTagSendLogsResp{ + CommonResp: &pbOffice.CommonResp{}, + } + tagSendLogs, err := db.DB.GetTagSendLogs(req.UserID, req.Pagination.ShowNumber, req.Pagination.PageNumber) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetTagSendLogs", err.Error()) + resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + } + if err := utils.CopyStructFields(resp.TagSendLogs, tagSendLogs); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + } + resp.Pagination = &pbCommon.ResponsePagination{ + CurrentPage: req.Pagination.PageNumber, + ShowNumber: req.Pagination.ShowNumber, + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) + return resp, nil +} diff --git a/pkg/base_info/minio_api_struct.go b/pkg/base_info/minio_api_struct.go index 51e062c67..6d3b0ecac 100644 --- a/pkg/base_info/minio_api_struct.go +++ b/pkg/base_info/minio_api_struct.go @@ -13,8 +13,8 @@ type MiniostorageCredentialResp struct { } type MinioUploadFileReq struct { - OperationID string `form:"operationID"` - FileType int `form:"fileType"` + OperationID string `form:"operationID" binding:"required"` + FileType int `form:"fileType" binding:"required"` } type MinioUploadFileResp struct { diff --git a/pkg/base_info/office_struct.go b/pkg/base_info/office_struct.go new file mode 100644 index 000000000..2c6dd84c1 --- /dev/null +++ b/pkg/base_info/office_struct.go @@ -0,0 +1,46 @@ +package base_info + +import pbOffice "Open_IM/pkg/proto/office" + +type GetUserTagsReq struct { + pbOffice.GetUserTagsReq +} + +type GetUserTagsResp struct { + CommResp + Data struct { + Tags []*pbOffice.Tag `json:"tags"` + } `json:"data"` +} + +type CreateTagReq struct { + pbOffice.CreateTagReq +} + +type CreateTagResp struct { + CommResp +} + +type DeleteTagReq struct { + pbOffice.DeleteTagReq +} + +type DeleteTagResp struct { + CommResp +} + +type SetTagReq struct { + pbOffice.SetTagReq +} + +type SetTagResp struct { + CommResp +} + +type SendMsg2TagReq struct { + pbOffice.SendMsg2TagReq +} + +type SendMsg2TagResp struct { + CommResp +} diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index 2a57344e8..f1af2e714 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -103,6 +103,7 @@ type config struct { OpenImAuthName string `yaml:"openImAuthName"` OpenImMessageCMSName string `yaml:"openImMessageCMSName"` OpenImAdminCMSName string `yaml:"openImAdminCMSName"` + OpenImOfficeName string `yaml:"openImOfficeName"` } Etcd struct { EtcdSchema string `yaml:"etcdSchema"` diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go index 3f8d1b88b..370d1acd3 100644 --- a/pkg/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -5,12 +5,14 @@ import ( "Open_IM/pkg/common/constant" "Open_IM/pkg/common/log" pbMsg "Open_IM/pkg/proto/chat" + officePb "Open_IM/pkg/proto/office" open_im_sdk "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" "context" "errors" "fmt" "github.com/gogo/protobuf/sortkeys" + "math/rand" //"github.com/garyburd/redigo/redis" "github.com/golang/protobuf/proto" @@ -22,6 +24,8 @@ import ( const cChat = "msg" const cGroup = "group" +const cTag = "tag" +const cSendLog = "sendLog" const singleGocMsgNum = 5000 type MsgInfo struct { @@ -430,9 +434,135 @@ func (d *DataBases) DelGroupMember(groupID, uid string) error { //return nil } +type Tag struct { + TagID string `bson:"tagID"` + TagName string `bson:"tagName"` + UserList []string `bson:"userList"` +} + +type TagsStruct struct { + Uid string `bson:"uid"` + Tags map[string]Tag `bson:"tags"` +} + +type TagSendLogStruct struct { +} + +func (d *DataBases) GetUserTags(userID string) ([]Tag, error) { + ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) + c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cTag) + var tagStruct TagsStruct + var tags []Tag + _ = c.FindOne(ctx, bson.M{"uid": userID}).Decode(&tagStruct) + for _, v := range tagStruct.Tags { + tags = append(tags, v) + } + return tags, nil +} + +func (d *DataBases) CreateTag(userID, tagName string, userList []string) error { + ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) + c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cTag) + tagID := generateTagID(tagName, userID) + tag := Tag{ + TagID: tagID, + TagName: tagName, + UserList: userList, + } + _, err := c.InsertOne(ctx, TagsStruct{ + Uid: userID, + Tags: map[string]Tag{tagID: tag}, + }) + return err +} + +func (d *DataBases) DeleteTag(userID, tagID string) error { + ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) + c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cTag) + _, err := c.DeleteOne(ctx, bson.M{"uid": userID, "tags": bson.M{"$unset": tagID}}) + return err +} + +func (d *DataBases) SetTag(userID, tagID, newName string, increaseUserList []string, reduceUserIDList []string) error { + ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) + c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cTag) + _, err := c.UpdateOne(ctx, bson.M{"uid": userID, "tags": tagID}, bson.M{"tagName": newName}) + if err != nil { + return err + } + _, err = c.InsertOne(ctx, bson.M{"uid": userID, "tags": bson.M{tagID: ""}}) + if err != nil { + return err + } + //_, err = c.InsertOne(ctx) + //if err != nil { + // return err + //} + return nil +} + +func (d *DataBases) GetUserIDListByTagID(userID, tagID string) ([]string, error) { + var tagIDList []string + var tagStruct TagsStruct + ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) + c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cTag) + _ = c.FindOne(ctx, bson.M{"uid": userID}).Decode(&tagStruct) + for k, tag := range tagStruct.Tags { + if k == tagID { + tagIDList = tag.UserList + } + } + return tagIDList, nil +} + +type TagSendLog struct { + TagID string `bson:"tagID"` + SendID string `bson:"sendID"` + SenderPlatformID int32 `bson:"senderPlatformID"` + Content string `bson:"content"` + ContentType int32 `bson:"contentType"` + SendTime int64 `bson:"sendTime"` + UserList []string `bson:"userList"` +} + +func (d *DataBases) SaveTagSendLog(sendReq *officePb.SendMsg2TagReq) error { + ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) + c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cSendLog) + tagSendLog := TagSendLog{ + TagID: sendReq.TagID, + SendID: sendReq.SendID, + SenderPlatformID: sendReq.SenderPlatformID, + Content: sendReq.Content, + ContentType: sendReq.ContentType, + SendTime: time.Now().Unix(), + } + _, err := c.InsertOne(ctx, tagSendLog) + return err +} + +func (d *DataBases) GetTagSendLogs(userID string, showNumber, pageNumber int32) ([]*TagSendLog, error) { + var tagSendLogs []*TagSendLog + ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) + c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cSendLog) + cursor, err := c.Find(ctx, bson.M{"sendID": userID}) + if err != nil { + return tagSendLogs, err + } + err = cursor.Decode(&tagSendLogs) + if err != nil { + return tagSendLogs, err + } + return tagSendLogs, nil +} + +func generateTagID(tagName, userID string) string { + return utils.Md5(tagName + userID + strconv.Itoa(rand.Int())) +} + func getCurrentTimestampByMill() int64 { return time.Now().UnixNano() / 1e6 } + func getSeqUid(uid string, seq uint32) string { seqSuffix := seq / singleGocMsgNum return indexGen(uid, seqSuffix) 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 cfe340dc3..d6726ea9f 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 @@ -74,6 +74,19 @@ func GetUserByUserID(userID string) (*db.User, error) { return &user, nil } +func GetUserNameByUserID(userID string) (string, error) { + dbConn, err := db.DB.MysqlDB.DefaultGormDB() + if err != nil { + return "", err + } + var userName string + err = dbConn.Table("users").Select("name").Where("user_id=?", userID).Find(&userName).Error + if err != nil { + return "", err + } + return userName, nil +} + func UpdateUserInfo(user db.User) error { dbConn, err := db.DB.MysqlDB.DefaultGormDB() if err != nil { diff --git a/pkg/proto/office/office.pb.go b/pkg/proto/office/office.pb.go new file mode 100644 index 000000000..6f1ae7157 --- /dev/null +++ b/pkg/proto/office/office.pb.go @@ -0,0 +1,1183 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: office/office.proto + +package office // import "./office" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import sdk_ws "Open_IM/pkg/proto/sdk_ws" + +import ( + context "golang.org/x/net/context" + grpc "google.golang.org/grpc" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +type CommonResp struct { + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CommonResp) Reset() { *m = CommonResp{} } +func (m *CommonResp) String() string { return proto.CompactTextString(m) } +func (*CommonResp) ProtoMessage() {} +func (*CommonResp) Descriptor() ([]byte, []int) { + return fileDescriptor_office_4149f396a2012e50, []int{0} +} +func (m *CommonResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CommonResp.Unmarshal(m, b) +} +func (m *CommonResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CommonResp.Marshal(b, m, deterministic) +} +func (dst *CommonResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_CommonResp.Merge(dst, src) +} +func (m *CommonResp) XXX_Size() int { + return xxx_messageInfo_CommonResp.Size(m) +} +func (m *CommonResp) XXX_DiscardUnknown() { + xxx_messageInfo_CommonResp.DiscardUnknown(m) +} + +var xxx_messageInfo_CommonResp proto.InternalMessageInfo + +func (m *CommonResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *CommonResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + +type TagUser struct { + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + UserName string `protobuf:"bytes,2,opt,name=userName" json:"userName,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TagUser) Reset() { *m = TagUser{} } +func (m *TagUser) String() string { return proto.CompactTextString(m) } +func (*TagUser) ProtoMessage() {} +func (*TagUser) Descriptor() ([]byte, []int) { + return fileDescriptor_office_4149f396a2012e50, []int{1} +} +func (m *TagUser) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TagUser.Unmarshal(m, b) +} +func (m *TagUser) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TagUser.Marshal(b, m, deterministic) +} +func (dst *TagUser) XXX_Merge(src proto.Message) { + xxx_messageInfo_TagUser.Merge(dst, src) +} +func (m *TagUser) XXX_Size() int { + return xxx_messageInfo_TagUser.Size(m) +} +func (m *TagUser) XXX_DiscardUnknown() { + xxx_messageInfo_TagUser.DiscardUnknown(m) +} + +var xxx_messageInfo_TagUser proto.InternalMessageInfo + +func (m *TagUser) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *TagUser) GetUserName() string { + if m != nil { + return m.UserName + } + return "" +} + +type Tag struct { + TagID string `protobuf:"bytes,1,opt,name=tagID" json:"tagID,omitempty"` + TagName string `protobuf:"bytes,2,opt,name=tagName" json:"tagName,omitempty"` + UserList []*TagUser `protobuf:"bytes,3,rep,name=userList" json:"userList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Tag) Reset() { *m = Tag{} } +func (m *Tag) String() string { return proto.CompactTextString(m) } +func (*Tag) ProtoMessage() {} +func (*Tag) Descriptor() ([]byte, []int) { + return fileDescriptor_office_4149f396a2012e50, []int{2} +} +func (m *Tag) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Tag.Unmarshal(m, b) +} +func (m *Tag) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Tag.Marshal(b, m, deterministic) +} +func (dst *Tag) XXX_Merge(src proto.Message) { + xxx_messageInfo_Tag.Merge(dst, src) +} +func (m *Tag) XXX_Size() int { + return xxx_messageInfo_Tag.Size(m) +} +func (m *Tag) XXX_DiscardUnknown() { + xxx_messageInfo_Tag.DiscardUnknown(m) +} + +var xxx_messageInfo_Tag proto.InternalMessageInfo + +func (m *Tag) GetTagID() string { + if m != nil { + return m.TagID + } + return "" +} + +func (m *Tag) GetTagName() string { + if m != nil { + return m.TagName + } + return "" +} + +func (m *Tag) GetUserList() []*TagUser { + if m != nil { + return m.UserList + } + return nil +} + +type GetUserTagsReq struct { + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetUserTagsReq) Reset() { *m = GetUserTagsReq{} } +func (m *GetUserTagsReq) String() string { return proto.CompactTextString(m) } +func (*GetUserTagsReq) ProtoMessage() {} +func (*GetUserTagsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_office_4149f396a2012e50, []int{3} +} +func (m *GetUserTagsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserTagsReq.Unmarshal(m, b) +} +func (m *GetUserTagsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserTagsReq.Marshal(b, m, deterministic) +} +func (dst *GetUserTagsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserTagsReq.Merge(dst, src) +} +func (m *GetUserTagsReq) XXX_Size() int { + return xxx_messageInfo_GetUserTagsReq.Size(m) +} +func (m *GetUserTagsReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserTagsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUserTagsReq proto.InternalMessageInfo + +func (m *GetUserTagsReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *GetUserTagsReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type GetUserTagsResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + Tags []*Tag `protobuf:"bytes,2,rep,name=tags" json:"tags,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetUserTagsResp) Reset() { *m = GetUserTagsResp{} } +func (m *GetUserTagsResp) String() string { return proto.CompactTextString(m) } +func (*GetUserTagsResp) ProtoMessage() {} +func (*GetUserTagsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_office_4149f396a2012e50, []int{4} +} +func (m *GetUserTagsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserTagsResp.Unmarshal(m, b) +} +func (m *GetUserTagsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserTagsResp.Marshal(b, m, deterministic) +} +func (dst *GetUserTagsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserTagsResp.Merge(dst, src) +} +func (m *GetUserTagsResp) XXX_Size() int { + return xxx_messageInfo_GetUserTagsResp.Size(m) +} +func (m *GetUserTagsResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserTagsResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUserTagsResp proto.InternalMessageInfo + +func (m *GetUserTagsResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +func (m *GetUserTagsResp) GetTags() []*Tag { + if m != nil { + return m.Tags + } + return nil +} + +type CreateTagReq struct { + TagName string `protobuf:"bytes,1,opt,name=tagName" json:"tagName,omitempty"` + UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"` + UserIDList []string `protobuf:"bytes,3,rep,name=userIDList" json:"userIDList,omitempty"` + OperationID string `protobuf:"bytes,4,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CreateTagReq) Reset() { *m = CreateTagReq{} } +func (m *CreateTagReq) String() string { return proto.CompactTextString(m) } +func (*CreateTagReq) ProtoMessage() {} +func (*CreateTagReq) Descriptor() ([]byte, []int) { + return fileDescriptor_office_4149f396a2012e50, []int{5} +} +func (m *CreateTagReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CreateTagReq.Unmarshal(m, b) +} +func (m *CreateTagReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CreateTagReq.Marshal(b, m, deterministic) +} +func (dst *CreateTagReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_CreateTagReq.Merge(dst, src) +} +func (m *CreateTagReq) XXX_Size() int { + return xxx_messageInfo_CreateTagReq.Size(m) +} +func (m *CreateTagReq) XXX_DiscardUnknown() { + xxx_messageInfo_CreateTagReq.DiscardUnknown(m) +} + +var xxx_messageInfo_CreateTagReq proto.InternalMessageInfo + +func (m *CreateTagReq) GetTagName() string { + if m != nil { + return m.TagName + } + return "" +} + +func (m *CreateTagReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *CreateTagReq) GetUserIDList() []string { + if m != nil { + return m.UserIDList + } + return nil +} + +func (m *CreateTagReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type CreateTagResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CreateTagResp) Reset() { *m = CreateTagResp{} } +func (m *CreateTagResp) String() string { return proto.CompactTextString(m) } +func (*CreateTagResp) ProtoMessage() {} +func (*CreateTagResp) Descriptor() ([]byte, []int) { + return fileDescriptor_office_4149f396a2012e50, []int{6} +} +func (m *CreateTagResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CreateTagResp.Unmarshal(m, b) +} +func (m *CreateTagResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CreateTagResp.Marshal(b, m, deterministic) +} +func (dst *CreateTagResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_CreateTagResp.Merge(dst, src) +} +func (m *CreateTagResp) XXX_Size() int { + return xxx_messageInfo_CreateTagResp.Size(m) +} +func (m *CreateTagResp) XXX_DiscardUnknown() { + xxx_messageInfo_CreateTagResp.DiscardUnknown(m) +} + +var xxx_messageInfo_CreateTagResp proto.InternalMessageInfo + +func (m *CreateTagResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type DeleteTagReq struct { + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + TagID string `protobuf:"bytes,2,opt,name=tagID" json:"tagID,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DeleteTagReq) Reset() { *m = DeleteTagReq{} } +func (m *DeleteTagReq) String() string { return proto.CompactTextString(m) } +func (*DeleteTagReq) ProtoMessage() {} +func (*DeleteTagReq) Descriptor() ([]byte, []int) { + return fileDescriptor_office_4149f396a2012e50, []int{7} +} +func (m *DeleteTagReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteTagReq.Unmarshal(m, b) +} +func (m *DeleteTagReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteTagReq.Marshal(b, m, deterministic) +} +func (dst *DeleteTagReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteTagReq.Merge(dst, src) +} +func (m *DeleteTagReq) XXX_Size() int { + return xxx_messageInfo_DeleteTagReq.Size(m) +} +func (m *DeleteTagReq) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteTagReq.DiscardUnknown(m) +} + +var xxx_messageInfo_DeleteTagReq proto.InternalMessageInfo + +func (m *DeleteTagReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *DeleteTagReq) GetTagID() string { + if m != nil { + return m.TagID + } + return "" +} + +func (m *DeleteTagReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type DeleteTagResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DeleteTagResp) Reset() { *m = DeleteTagResp{} } +func (m *DeleteTagResp) String() string { return proto.CompactTextString(m) } +func (*DeleteTagResp) ProtoMessage() {} +func (*DeleteTagResp) Descriptor() ([]byte, []int) { + return fileDescriptor_office_4149f396a2012e50, []int{8} +} +func (m *DeleteTagResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteTagResp.Unmarshal(m, b) +} +func (m *DeleteTagResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteTagResp.Marshal(b, m, deterministic) +} +func (dst *DeleteTagResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteTagResp.Merge(dst, src) +} +func (m *DeleteTagResp) XXX_Size() int { + return xxx_messageInfo_DeleteTagResp.Size(m) +} +func (m *DeleteTagResp) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteTagResp.DiscardUnknown(m) +} + +var xxx_messageInfo_DeleteTagResp proto.InternalMessageInfo + +func (m *DeleteTagResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type SetTagReq struct { + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + TagID string `protobuf:"bytes,2,opt,name=tagID" json:"tagID,omitempty"` + NewName string `protobuf:"bytes,3,opt,name=newName" json:"newName,omitempty"` + IncreaseUserIDList []string `protobuf:"bytes,4,rep,name=increaseUserIDList" json:"increaseUserIDList,omitempty"` + ReduceUserIDList []string `protobuf:"bytes,5,rep,name=reduceUserIDList" json:"reduceUserIDList,omitempty"` + OperationID string `protobuf:"bytes,6,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetTagReq) Reset() { *m = SetTagReq{} } +func (m *SetTagReq) String() string { return proto.CompactTextString(m) } +func (*SetTagReq) ProtoMessage() {} +func (*SetTagReq) Descriptor() ([]byte, []int) { + return fileDescriptor_office_4149f396a2012e50, []int{9} +} +func (m *SetTagReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetTagReq.Unmarshal(m, b) +} +func (m *SetTagReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetTagReq.Marshal(b, m, deterministic) +} +func (dst *SetTagReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetTagReq.Merge(dst, src) +} +func (m *SetTagReq) XXX_Size() int { + return xxx_messageInfo_SetTagReq.Size(m) +} +func (m *SetTagReq) XXX_DiscardUnknown() { + xxx_messageInfo_SetTagReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SetTagReq proto.InternalMessageInfo + +func (m *SetTagReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *SetTagReq) GetTagID() string { + if m != nil { + return m.TagID + } + return "" +} + +func (m *SetTagReq) GetNewName() string { + if m != nil { + return m.NewName + } + return "" +} + +func (m *SetTagReq) GetIncreaseUserIDList() []string { + if m != nil { + return m.IncreaseUserIDList + } + return nil +} + +func (m *SetTagReq) GetReduceUserIDList() []string { + if m != nil { + return m.ReduceUserIDList + } + return nil +} + +func (m *SetTagReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type SetTagResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetTagResp) Reset() { *m = SetTagResp{} } +func (m *SetTagResp) String() string { return proto.CompactTextString(m) } +func (*SetTagResp) ProtoMessage() {} +func (*SetTagResp) Descriptor() ([]byte, []int) { + return fileDescriptor_office_4149f396a2012e50, []int{10} +} +func (m *SetTagResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetTagResp.Unmarshal(m, b) +} +func (m *SetTagResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetTagResp.Marshal(b, m, deterministic) +} +func (dst *SetTagResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetTagResp.Merge(dst, src) +} +func (m *SetTagResp) XXX_Size() int { + return xxx_messageInfo_SetTagResp.Size(m) +} +func (m *SetTagResp) XXX_DiscardUnknown() { + xxx_messageInfo_SetTagResp.DiscardUnknown(m) +} + +var xxx_messageInfo_SetTagResp proto.InternalMessageInfo + +func (m *SetTagResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type SendMsg2TagReq struct { + TagID string `protobuf:"bytes,1,opt,name=tagID" json:"tagID,omitempty"` + SendID string `protobuf:"bytes,2,opt,name=sendID" json:"sendID,omitempty"` + SenderPlatformID int32 `protobuf:"varint,3,opt,name=senderPlatformID" json:"senderPlatformID,omitempty"` + Content string `protobuf:"bytes,4,opt,name=content" json:"content,omitempty"` + ContentType int32 `protobuf:"varint,5,opt,name=contentType" json:"contentType,omitempty"` + OperationID string `protobuf:"bytes,6,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SendMsg2TagReq) Reset() { *m = SendMsg2TagReq{} } +func (m *SendMsg2TagReq) String() string { return proto.CompactTextString(m) } +func (*SendMsg2TagReq) ProtoMessage() {} +func (*SendMsg2TagReq) Descriptor() ([]byte, []int) { + return fileDescriptor_office_4149f396a2012e50, []int{11} +} +func (m *SendMsg2TagReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SendMsg2TagReq.Unmarshal(m, b) +} +func (m *SendMsg2TagReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SendMsg2TagReq.Marshal(b, m, deterministic) +} +func (dst *SendMsg2TagReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SendMsg2TagReq.Merge(dst, src) +} +func (m *SendMsg2TagReq) XXX_Size() int { + return xxx_messageInfo_SendMsg2TagReq.Size(m) +} +func (m *SendMsg2TagReq) XXX_DiscardUnknown() { + xxx_messageInfo_SendMsg2TagReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SendMsg2TagReq proto.InternalMessageInfo + +func (m *SendMsg2TagReq) GetTagID() string { + if m != nil { + return m.TagID + } + return "" +} + +func (m *SendMsg2TagReq) GetSendID() string { + if m != nil { + return m.SendID + } + return "" +} + +func (m *SendMsg2TagReq) GetSenderPlatformID() int32 { + if m != nil { + return m.SenderPlatformID + } + return 0 +} + +func (m *SendMsg2TagReq) GetContent() string { + if m != nil { + return m.Content + } + return "" +} + +func (m *SendMsg2TagReq) GetContentType() int32 { + if m != nil { + return m.ContentType + } + return 0 +} + +func (m *SendMsg2TagReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type SendMsg2TagResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SendMsg2TagResp) Reset() { *m = SendMsg2TagResp{} } +func (m *SendMsg2TagResp) String() string { return proto.CompactTextString(m) } +func (*SendMsg2TagResp) ProtoMessage() {} +func (*SendMsg2TagResp) Descriptor() ([]byte, []int) { + return fileDescriptor_office_4149f396a2012e50, []int{12} +} +func (m *SendMsg2TagResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SendMsg2TagResp.Unmarshal(m, b) +} +func (m *SendMsg2TagResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SendMsg2TagResp.Marshal(b, m, deterministic) +} +func (dst *SendMsg2TagResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_SendMsg2TagResp.Merge(dst, src) +} +func (m *SendMsg2TagResp) XXX_Size() int { + return xxx_messageInfo_SendMsg2TagResp.Size(m) +} +func (m *SendMsg2TagResp) XXX_DiscardUnknown() { + xxx_messageInfo_SendMsg2TagResp.DiscardUnknown(m) +} + +var xxx_messageInfo_SendMsg2TagResp proto.InternalMessageInfo + +func (m *SendMsg2TagResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type GetTagSendLogsReq struct { + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,1,opt,name=Pagination" json:"Pagination,omitempty"` + UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetTagSendLogsReq) Reset() { *m = GetTagSendLogsReq{} } +func (m *GetTagSendLogsReq) String() string { return proto.CompactTextString(m) } +func (*GetTagSendLogsReq) ProtoMessage() {} +func (*GetTagSendLogsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_office_4149f396a2012e50, []int{13} +} +func (m *GetTagSendLogsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetTagSendLogsReq.Unmarshal(m, b) +} +func (m *GetTagSendLogsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetTagSendLogsReq.Marshal(b, m, deterministic) +} +func (dst *GetTagSendLogsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetTagSendLogsReq.Merge(dst, src) +} +func (m *GetTagSendLogsReq) XXX_Size() int { + return xxx_messageInfo_GetTagSendLogsReq.Size(m) +} +func (m *GetTagSendLogsReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetTagSendLogsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetTagSendLogsReq proto.InternalMessageInfo + +func (m *GetTagSendLogsReq) GetPagination() *sdk_ws.RequestPagination { + if m != nil { + return m.Pagination + } + return nil +} + +func (m *GetTagSendLogsReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *GetTagSendLogsReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type TagSendLog struct { + TagID string `protobuf:"bytes,1,opt,name=tagID" json:"tagID,omitempty"` + TagName string `protobuf:"bytes,2,opt,name=tagName" json:"tagName,omitempty"` + ContentType int32 `protobuf:"varint,3,opt,name=contentType" json:"contentType,omitempty"` + Content string `protobuf:"bytes,4,opt,name=content" json:"content,omitempty"` + SendTime int64 `protobuf:"varint,5,opt,name=sendTime" json:"sendTime,omitempty"` + UserList []string `protobuf:"bytes,6,rep,name=userList" json:"userList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TagSendLog) Reset() { *m = TagSendLog{} } +func (m *TagSendLog) String() string { return proto.CompactTextString(m) } +func (*TagSendLog) ProtoMessage() {} +func (*TagSendLog) Descriptor() ([]byte, []int) { + return fileDescriptor_office_4149f396a2012e50, []int{14} +} +func (m *TagSendLog) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TagSendLog.Unmarshal(m, b) +} +func (m *TagSendLog) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TagSendLog.Marshal(b, m, deterministic) +} +func (dst *TagSendLog) XXX_Merge(src proto.Message) { + xxx_messageInfo_TagSendLog.Merge(dst, src) +} +func (m *TagSendLog) XXX_Size() int { + return xxx_messageInfo_TagSendLog.Size(m) +} +func (m *TagSendLog) XXX_DiscardUnknown() { + xxx_messageInfo_TagSendLog.DiscardUnknown(m) +} + +var xxx_messageInfo_TagSendLog proto.InternalMessageInfo + +func (m *TagSendLog) GetTagID() string { + if m != nil { + return m.TagID + } + return "" +} + +func (m *TagSendLog) GetTagName() string { + if m != nil { + return m.TagName + } + return "" +} + +func (m *TagSendLog) GetContentType() int32 { + if m != nil { + return m.ContentType + } + return 0 +} + +func (m *TagSendLog) GetContent() string { + if m != nil { + return m.Content + } + return "" +} + +func (m *TagSendLog) GetSendTime() int64 { + if m != nil { + return m.SendTime + } + return 0 +} + +func (m *TagSendLog) GetUserList() []string { + if m != nil { + return m.UserList + } + return nil +} + +type GetTagSendLogsResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` + TagSendLogs []*TagSendLog `protobuf:"bytes,3,rep,name=tagSendLogs" json:"tagSendLogs,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetTagSendLogsResp) Reset() { *m = GetTagSendLogsResp{} } +func (m *GetTagSendLogsResp) String() string { return proto.CompactTextString(m) } +func (*GetTagSendLogsResp) ProtoMessage() {} +func (*GetTagSendLogsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_office_4149f396a2012e50, []int{15} +} +func (m *GetTagSendLogsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetTagSendLogsResp.Unmarshal(m, b) +} +func (m *GetTagSendLogsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetTagSendLogsResp.Marshal(b, m, deterministic) +} +func (dst *GetTagSendLogsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetTagSendLogsResp.Merge(dst, src) +} +func (m *GetTagSendLogsResp) XXX_Size() int { + return xxx_messageInfo_GetTagSendLogsResp.Size(m) +} +func (m *GetTagSendLogsResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetTagSendLogsResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetTagSendLogsResp proto.InternalMessageInfo + +func (m *GetTagSendLogsResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +func (m *GetTagSendLogsResp) GetPagination() *sdk_ws.ResponsePagination { + if m != nil { + return m.Pagination + } + return nil +} + +func (m *GetTagSendLogsResp) GetTagSendLogs() []*TagSendLog { + if m != nil { + return m.TagSendLogs + } + return nil +} + +func init() { + proto.RegisterType((*CommonResp)(nil), "office.CommonResp") + proto.RegisterType((*TagUser)(nil), "office.TagUser") + proto.RegisterType((*Tag)(nil), "office.Tag") + proto.RegisterType((*GetUserTagsReq)(nil), "office.GetUserTagsReq") + proto.RegisterType((*GetUserTagsResp)(nil), "office.GetUserTagsResp") + proto.RegisterType((*CreateTagReq)(nil), "office.CreateTagReq") + proto.RegisterType((*CreateTagResp)(nil), "office.CreateTagResp") + proto.RegisterType((*DeleteTagReq)(nil), "office.DeleteTagReq") + proto.RegisterType((*DeleteTagResp)(nil), "office.DeleteTagResp") + proto.RegisterType((*SetTagReq)(nil), "office.SetTagReq") + proto.RegisterType((*SetTagResp)(nil), "office.SetTagResp") + proto.RegisterType((*SendMsg2TagReq)(nil), "office.SendMsg2TagReq") + proto.RegisterType((*SendMsg2TagResp)(nil), "office.SendMsg2TagResp") + proto.RegisterType((*GetTagSendLogsReq)(nil), "office.GetTagSendLogsReq") + proto.RegisterType((*TagSendLog)(nil), "office.TagSendLog") + proto.RegisterType((*GetTagSendLogsResp)(nil), "office.GetTagSendLogsResp") +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// Client API for OfficeService service + +type OfficeServiceClient interface { + GetUserTags(ctx context.Context, in *GetUserTagsReq, opts ...grpc.CallOption) (*GetUserTagsResp, error) + CreateTag(ctx context.Context, in *CreateTagReq, opts ...grpc.CallOption) (*CreateTagResp, error) + DeleteTag(ctx context.Context, in *DeleteTagReq, opts ...grpc.CallOption) (*DeleteTagResp, error) + SetTag(ctx context.Context, in *SetTagReq, opts ...grpc.CallOption) (*SetTagResp, error) + SendMsg2Tag(ctx context.Context, in *SendMsg2TagReq, opts ...grpc.CallOption) (*SendMsg2TagResp, error) + GetTagSendLogs(ctx context.Context, in *GetTagSendLogsReq, opts ...grpc.CallOption) (*GetTagSendLogsResp, error) +} + +type officeServiceClient struct { + cc *grpc.ClientConn +} + +func NewOfficeServiceClient(cc *grpc.ClientConn) OfficeServiceClient { + return &officeServiceClient{cc} +} + +func (c *officeServiceClient) GetUserTags(ctx context.Context, in *GetUserTagsReq, opts ...grpc.CallOption) (*GetUserTagsResp, error) { + out := new(GetUserTagsResp) + err := grpc.Invoke(ctx, "/office.OfficeService/GetUserTags", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *officeServiceClient) CreateTag(ctx context.Context, in *CreateTagReq, opts ...grpc.CallOption) (*CreateTagResp, error) { + out := new(CreateTagResp) + err := grpc.Invoke(ctx, "/office.OfficeService/CreateTag", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *officeServiceClient) DeleteTag(ctx context.Context, in *DeleteTagReq, opts ...grpc.CallOption) (*DeleteTagResp, error) { + out := new(DeleteTagResp) + err := grpc.Invoke(ctx, "/office.OfficeService/DeleteTag", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *officeServiceClient) SetTag(ctx context.Context, in *SetTagReq, opts ...grpc.CallOption) (*SetTagResp, error) { + out := new(SetTagResp) + err := grpc.Invoke(ctx, "/office.OfficeService/SetTag", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *officeServiceClient) SendMsg2Tag(ctx context.Context, in *SendMsg2TagReq, opts ...grpc.CallOption) (*SendMsg2TagResp, error) { + out := new(SendMsg2TagResp) + err := grpc.Invoke(ctx, "/office.OfficeService/SendMsg2Tag", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *officeServiceClient) GetTagSendLogs(ctx context.Context, in *GetTagSendLogsReq, opts ...grpc.CallOption) (*GetTagSendLogsResp, error) { + out := new(GetTagSendLogsResp) + err := grpc.Invoke(ctx, "/office.OfficeService/GetTagSendLogs", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// Server API for OfficeService service + +type OfficeServiceServer interface { + GetUserTags(context.Context, *GetUserTagsReq) (*GetUserTagsResp, error) + CreateTag(context.Context, *CreateTagReq) (*CreateTagResp, error) + DeleteTag(context.Context, *DeleteTagReq) (*DeleteTagResp, error) + SetTag(context.Context, *SetTagReq) (*SetTagResp, error) + SendMsg2Tag(context.Context, *SendMsg2TagReq) (*SendMsg2TagResp, error) + GetTagSendLogs(context.Context, *GetTagSendLogsReq) (*GetTagSendLogsResp, error) +} + +func RegisterOfficeServiceServer(s *grpc.Server, srv OfficeServiceServer) { + s.RegisterService(&_OfficeService_serviceDesc, srv) +} + +func _OfficeService_GetUserTags_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUserTagsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OfficeServiceServer).GetUserTags(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/office.OfficeService/GetUserTags", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OfficeServiceServer).GetUserTags(ctx, req.(*GetUserTagsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _OfficeService_CreateTag_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateTagReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OfficeServiceServer).CreateTag(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/office.OfficeService/CreateTag", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OfficeServiceServer).CreateTag(ctx, req.(*CreateTagReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _OfficeService_DeleteTag_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteTagReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OfficeServiceServer).DeleteTag(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/office.OfficeService/DeleteTag", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OfficeServiceServer).DeleteTag(ctx, req.(*DeleteTagReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _OfficeService_SetTag_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetTagReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OfficeServiceServer).SetTag(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/office.OfficeService/SetTag", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OfficeServiceServer).SetTag(ctx, req.(*SetTagReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _OfficeService_SendMsg2Tag_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SendMsg2TagReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OfficeServiceServer).SendMsg2Tag(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/office.OfficeService/SendMsg2Tag", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OfficeServiceServer).SendMsg2Tag(ctx, req.(*SendMsg2TagReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _OfficeService_GetTagSendLogs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTagSendLogsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OfficeServiceServer).GetTagSendLogs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/office.OfficeService/GetTagSendLogs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OfficeServiceServer).GetTagSendLogs(ctx, req.(*GetTagSendLogsReq)) + } + return interceptor(ctx, in, info, handler) +} + +var _OfficeService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "office.OfficeService", + HandlerType: (*OfficeServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetUserTags", + Handler: _OfficeService_GetUserTags_Handler, + }, + { + MethodName: "CreateTag", + Handler: _OfficeService_CreateTag_Handler, + }, + { + MethodName: "DeleteTag", + Handler: _OfficeService_DeleteTag_Handler, + }, + { + MethodName: "SetTag", + Handler: _OfficeService_SetTag_Handler, + }, + { + MethodName: "SendMsg2Tag", + Handler: _OfficeService_SendMsg2Tag_Handler, + }, + { + MethodName: "GetTagSendLogs", + Handler: _OfficeService_GetTagSendLogs_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "office/office.proto", +} + +func init() { proto.RegisterFile("office/office.proto", fileDescriptor_office_4149f396a2012e50) } + +var fileDescriptor_office_4149f396a2012e50 = []byte{ + // 762 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xc1, 0x6e, 0xd3, 0x4c, + 0x10, 0x96, 0x93, 0x26, 0x6d, 0x26, 0x6d, 0xf3, 0x77, 0xff, 0x52, 0x82, 0x0f, 0x10, 0x2c, 0x90, + 0x2a, 0x90, 0x12, 0x29, 0x70, 0x40, 0x42, 0x54, 0x88, 0xa4, 0xaa, 0x8a, 0x5a, 0x5a, 0x6d, 0xd3, + 0x0b, 0x07, 0xa2, 0x6d, 0x32, 0xb1, 0xac, 0x36, 0xb6, 0xbb, 0xbb, 0x6d, 0xc5, 0x95, 0x57, 0xe0, + 0x45, 0x78, 0x09, 0x24, 0xae, 0x3c, 0x10, 0x12, 0xf2, 0x7a, 0x6d, 0xaf, 0x9d, 0x44, 0x40, 0x4e, + 0xd9, 0x99, 0x9d, 0x99, 0x7c, 0xdf, 0x37, 0xbb, 0xb3, 0x86, 0xff, 0x83, 0xc9, 0xc4, 0x1b, 0x61, + 0x27, 0xfe, 0x69, 0x87, 0x3c, 0x90, 0x01, 0xa9, 0xc6, 0x96, 0xfd, 0xf8, 0x24, 0x44, 0x7f, 0x78, + 0x78, 0xdc, 0x09, 0x2f, 0xdd, 0x8e, 0xda, 0xea, 0x88, 0xf1, 0xe5, 0xf0, 0x4e, 0x74, 0xee, 0x44, + 0x1c, 0xea, 0xec, 0x01, 0xf4, 0x82, 0xe9, 0x34, 0xf0, 0x29, 0x8a, 0x90, 0x34, 0x61, 0x15, 0x39, + 0xef, 0x05, 0x63, 0x6c, 0x5a, 0x2d, 0x6b, 0xb7, 0x42, 0x13, 0x93, 0xec, 0x40, 0x15, 0x39, 0x3f, + 0x16, 0x6e, 0xb3, 0xd4, 0xb2, 0x76, 0x6b, 0x54, 0x5b, 0xce, 0x1b, 0x58, 0x1d, 0x30, 0xf7, 0x5c, + 0x20, 0x8f, 0x42, 0x6e, 0x04, 0xf2, 0xc3, 0xbe, 0xca, 0xad, 0x51, 0x6d, 0x11, 0x1b, 0xd6, 0xa2, + 0xd5, 0x07, 0x36, 0x45, 0x9d, 0x9c, 0xda, 0xce, 0x05, 0x94, 0x07, 0xcc, 0x25, 0xdb, 0x50, 0x91, + 0xcc, 0x4d, 0x33, 0x63, 0x23, 0x42, 0x23, 0x99, 0x6b, 0xe4, 0x25, 0x26, 0x79, 0x1e, 0x97, 0x3c, + 0xf2, 0x84, 0x6c, 0x96, 0x5b, 0xe5, 0xdd, 0x7a, 0xb7, 0xd1, 0xd6, 0x0a, 0x68, 0x34, 0x34, 0x0d, + 0x70, 0xde, 0xc3, 0xe6, 0x01, 0xca, 0xc8, 0x39, 0x60, 0xae, 0xa0, 0x78, 0xbd, 0x10, 0x69, 0x0b, + 0xea, 0x41, 0x88, 0x9c, 0x49, 0x2f, 0xf0, 0x0f, 0xfb, 0xfa, 0x4f, 0x4d, 0x97, 0x33, 0x81, 0x46, + 0xae, 0x96, 0x08, 0x49, 0x17, 0x60, 0x94, 0x2a, 0xa8, 0x0a, 0xd6, 0xbb, 0x24, 0x41, 0x93, 0x69, + 0x4b, 0x8d, 0x28, 0xf2, 0x08, 0x56, 0x24, 0x73, 0x45, 0xb3, 0xa4, 0xb0, 0xd7, 0x0d, 0xec, 0x54, + 0x6d, 0x38, 0x5f, 0x2c, 0x58, 0xef, 0x71, 0x64, 0x12, 0x23, 0x1f, 0x5e, 0x9b, 0x5a, 0x58, 0x79, + 0x2d, 0x32, 0x32, 0xa5, 0x1c, 0x99, 0x87, 0x00, 0xf1, 0x2a, 0x55, 0xa9, 0x46, 0x0d, 0x4f, 0x91, + 0xec, 0xca, 0x2c, 0xd9, 0x1e, 0x6c, 0x18, 0x18, 0x96, 0xa3, 0xea, 0x7c, 0x82, 0xf5, 0x3e, 0x5e, + 0x61, 0x4a, 0x64, 0x91, 0xf6, 0xe9, 0x11, 0x28, 0x99, 0x47, 0xa0, 0x00, 0xb2, 0x3c, 0x17, 0xa4, + 0x51, 0x7f, 0x49, 0x90, 0x3f, 0x2d, 0xa8, 0x9d, 0xa1, 0x5c, 0x0a, 0x62, 0x13, 0x56, 0x7d, 0xbc, + 0x53, 0x9d, 0x89, 0xe1, 0x25, 0x26, 0x69, 0x03, 0xf1, 0xfc, 0x11, 0x47, 0x26, 0xf0, 0x3c, 0xeb, + 0xc4, 0x8a, 0xea, 0xc4, 0x9c, 0x1d, 0xf2, 0x0c, 0xfe, 0xe3, 0x38, 0xbe, 0x19, 0x99, 0xd1, 0x15, + 0x15, 0x3d, 0xe3, 0x2f, 0x0a, 0x53, 0x9d, 0x15, 0xe6, 0x2d, 0x40, 0x42, 0x69, 0x49, 0x55, 0x7e, + 0x58, 0xb0, 0x79, 0x86, 0xfe, 0xf8, 0x58, 0xb8, 0x5d, 0x2d, 0xcd, 0xfc, 0x8b, 0xba, 0x03, 0x55, + 0x81, 0xfe, 0x38, 0x3b, 0x82, 0xb1, 0x15, 0x11, 0x8a, 0x56, 0xc8, 0x4f, 0xaf, 0x98, 0x9c, 0x04, + 0x7c, 0xaa, 0x5b, 0x58, 0xa1, 0x33, 0xfe, 0x48, 0xc6, 0x51, 0xe0, 0x4b, 0xf4, 0xa5, 0x3e, 0x8a, + 0x89, 0x19, 0x51, 0xd5, 0xcb, 0xc1, 0xe7, 0x10, 0x9b, 0x15, 0x55, 0xc0, 0x74, 0xfd, 0x85, 0x18, + 0xfb, 0xd0, 0xc8, 0x31, 0x59, 0x52, 0x91, 0xaf, 0x16, 0x6c, 0x1d, 0x28, 0x51, 0xa3, 0x6a, 0x47, + 0x41, 0x3c, 0x4e, 0xfa, 0x00, 0xa7, 0xcc, 0xf5, 0x7c, 0xf5, 0x67, 0xba, 0xd2, 0x93, 0xb6, 0x40, + 0x7e, 0x8b, 0x7c, 0xc8, 0x42, 0x6f, 0x18, 0x32, 0xce, 0xa6, 0xa2, 0x4d, 0xf1, 0xfa, 0x06, 0x85, + 0xcc, 0x62, 0xa9, 0x91, 0xb7, 0xf0, 0x1e, 0xff, 0xf9, 0x0a, 0x7c, 0xb3, 0x00, 0x32, 0x48, 0xff, + 0x3c, 0x4c, 0x0b, 0xfa, 0x96, 0x67, 0xf5, 0x5d, 0xdc, 0x1b, 0x1b, 0xd6, 0xa2, 0x4e, 0x0e, 0xbc, + 0x69, 0xdc, 0x98, 0x32, 0x4d, 0xed, 0x64, 0xee, 0xab, 0x63, 0x5c, 0x55, 0xc7, 0x38, 0x9b, 0xc9, + 0xdf, 0x2d, 0x20, 0x45, 0x21, 0x97, 0x9c, 0xa5, 0xfb, 0x39, 0xf5, 0x4b, 0x2a, 0xe7, 0xe9, 0x5c, + 0xf5, 0x45, 0x18, 0xf8, 0x02, 0x17, 0xc8, 0xff, 0x12, 0xea, 0x32, 0x43, 0xa3, 0x5f, 0x15, 0x62, + 0x4c, 0x66, 0xbd, 0x45, 0xcd, 0xb0, 0xee, 0xaf, 0x12, 0x6c, 0x9c, 0xa8, 0x90, 0x33, 0xe4, 0xb7, + 0xde, 0x08, 0xc9, 0x1e, 0xd4, 0x8d, 0x17, 0x82, 0xec, 0x24, 0x15, 0xf2, 0x4f, 0x90, 0x7d, 0x7f, + 0xae, 0x5f, 0x84, 0xe4, 0x15, 0xd4, 0xd2, 0xa1, 0x4b, 0xb6, 0x53, 0xee, 0xc6, 0x5b, 0x60, 0xdf, + 0x9b, 0xe3, 0x8d, 0x33, 0xd3, 0x49, 0x98, 0x65, 0x9a, 0xc3, 0x37, 0xcb, 0xcc, 0x8f, 0xcc, 0x0e, + 0x54, 0xe3, 0x51, 0x41, 0xb6, 0x92, 0x80, 0x74, 0x1a, 0xda, 0xa4, 0xe8, 0x12, 0x61, 0x44, 0xd2, + 0xb8, 0x4e, 0x19, 0xc9, 0xfc, 0xb4, 0xc8, 0x48, 0x16, 0xef, 0xde, 0x81, 0x7a, 0x92, 0x8d, 0xee, + 0x93, 0x07, 0x86, 0x1e, 0xf9, 0xeb, 0x65, 0xdb, 0x8b, 0xb6, 0x44, 0xf8, 0x6e, 0xeb, 0x63, 0xa3, + 0xad, 0xbf, 0x7d, 0x5e, 0xc7, 0x3f, 0x17, 0x55, 0xf5, 0x61, 0xf3, 0xe2, 0x77, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x62, 0x7d, 0x95, 0x4e, 0x1a, 0x09, 0x00, 0x00, +} diff --git a/pkg/proto/office/office.proto b/pkg/proto/office/office.proto new file mode 100644 index 000000000..0e675a25a --- /dev/null +++ b/pkg/proto/office/office.proto @@ -0,0 +1,108 @@ +syntax = "proto3"; +import "Open_IM/pkg/proto/sdk_ws/ws.proto"; +option go_package = "./office;office"; +package office; + +message CommonResp{ + int32 errCode = 1; + string errMsg = 2; +} + +message TagUser { + string userID = 1; + string userName = 2; +} + +message Tag { + string tagID = 1; + string tagName = 2; + repeated TagUser userList = 3; +} + +message GetUserTagsReq{ + string userID = 1; + string operationID = 2; +} + +message GetUserTagsResp{ + CommonResp commonResp = 1; + repeated Tag tags = 2; +} + +message CreateTagReq { + string tagName = 1; + string userID = 2; + repeated string userIDList = 3; + string operationID = 4; +} + +message CreateTagResp { + CommonResp commonResp = 1; +} + +message DeleteTagReq { + string userID = 1; + string tagID = 2; + string operationID = 3; +} + +message DeleteTagResp { + CommonResp commonResp = 1; +} + +message SetTagReq { + string userID = 1; + string tagID = 2; + string newName = 3; + repeated string increaseUserIDList = 4; + repeated string reduceUserIDList = 5; + string operationID = 6; +} + +message SetTagResp { + CommonResp commonResp = 1; +} + +message SendMsg2TagReq { + string tagID = 1; + string sendID = 2; + int32 senderPlatformID = 3; + string content = 4; + int32 contentType = 5; + string operationID = 6; +} + +message SendMsg2TagResp { + CommonResp commonResp = 1; +} + +message GetTagSendLogsReq { + server_api_params.RequestPagination Pagination = 1; + string userID = 2; + string operationID = 3; +} + +message TagSendLog { + string tagID = 1; + string tagName = 2; + int32 contentType = 3; + string content = 4; + int64 sendTime = 5; + repeated string userList = 6; +} + +message GetTagSendLogsResp { + CommonResp commonResp = 1; + server_api_params.ResponsePagination Pagination = 2; + repeated TagSendLog tagSendLogs = 3; +} + +service OfficeService { + rpc GetUserTags(GetUserTagsReq) returns(GetUserTagsResp); + rpc CreateTag(CreateTagReq) returns(CreateTagResp); + rpc DeleteTag(DeleteTagReq) returns(DeleteTagResp); + rpc SetTag(SetTagReq) returns(SetTagResp); + rpc SendMsg2Tag(SendMsg2TagReq) returns(SendMsg2TagResp); + rpc GetTagSendLogs(GetTagSendLogsReq) returns(GetTagSendLogsResp); +} + diff --git a/pkg/proto/tag/tag.proto b/pkg/proto/tag/tag.proto deleted file mode 100644 index e69de29bb..000000000 diff --git a/script/check_all.sh b/script/check_all.sh index d0f48597b..1d55dff65 100644 --- a/script/check_all.sh +++ b/script/check_all.sh @@ -19,6 +19,7 @@ service_port_name=( openImAdminCmsPort openImMessageCmsPort openImStatisticsPort + openImOfficePort ) switch=$(cat $config_path | grep demoswitch |awk -F '[:]' '{print $NF}') for i in ${service_port_name[*]}; do diff --git a/script/path_info.cfg b/script/path_info.cfg index 88cf33e6a..f9038d11f 100644 --- a/script/path_info.cfg +++ b/script/path_info.cfg @@ -48,6 +48,7 @@ service_source_root=( ../cmd/rpc/open_im_admin_cms/ ../cmd/rpc/open_im_message_cms/ ../cmd/rpc/open_im_statistics/ + ../cmd/rpc/open_im_office/ ${msg_gateway_source_root} ${msg_transfer_source_root} ${msg_source_root} @@ -68,6 +69,7 @@ service_names=( open_im_admin_cms open_im_message_cms open_im_statistics + open_im_office ${msg_gateway_name} ${msg_transfer_name} ${msg_name} diff --git a/script/start_rpc_service.sh b/script/start_rpc_service.sh index bc5f41e3d..b9e3c9f92 100644 --- a/script/start_rpc_service.sh +++ b/script/start_rpc_service.sh @@ -17,6 +17,7 @@ service_filename=( open_im_admin_cms open_im_message_cms open_im_statistics + open_im_office ${msg_name} ) @@ -34,6 +35,7 @@ service_port_name=( openImMessageCmsPort openImStatisticsPort openImOfflineMessagePort + openImOfficePort ) for ((i = 0; i < ${#service_filename[*]}; i++)); do From 9d619d520d5bd83c25884658cc76049a3b56a5a9 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 28 Mar 2022 12:17:07 +0800 Subject: [PATCH 101/129] tag --- cmd/open_im_api/main.go | 7 +-- internal/api/office/tag.go | 15 +++--- internal/rpc/office/office.go | 39 ++++++++++++---- pkg/base_info/office_struct.go | 20 +++++++- pkg/common/db/mongoModel.go | 84 +++++++++++++++++++--------------- pkg/utils/utils.go | 13 ++++++ 6 files changed, 119 insertions(+), 59 deletions(-) diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index 7a1fb2993..58378e119 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -108,11 +108,6 @@ func main() { conversationGroup.POST("/set_conversation", conversation.SetConversation) conversationGroup.POST("/batch_set_conversation", conversation.BatchSetConversations) conversationGroup.POST("/set_recv_msg_opt", conversation.SetRecvMsgOpt) - - // Deprecated - conversationGroup.POST("/set_receive_message_opt", conversation.SetReceiveMessageOpt) //1 - conversationGroup.POST("/get_receive_message_opt", conversation.GetReceiveMessageOpt) //1 - conversationGroup.POST("/get_all_conversation_message_opt", conversation.GetAllConversationMessageOpt) //1 } // office officeGroup := r.Group("/office") @@ -122,7 +117,7 @@ func main() { officeGroup.POST("/delete_tag", office.DeleteTag) officeGroup.POST("/set_tag", office.SetTag) officeGroup.POST("/send_msg_to_tag", office.SendMsg2Tag) - officeGroup.POST("/get_send_tag_log", office.GetSendTagLogs) + officeGroup.POST("/get_send_tag_log", office.GetTagSendLogs) } apiThird.MinioInit() diff --git a/internal/api/office/tag.go b/internal/api/office/tag.go index 4644a27ed..23b5d2e54 100644 --- a/internal/api/office/tag.go +++ b/internal/api/office/tag.go @@ -159,12 +159,12 @@ func SendMsg2Tag(c *gin.Context) { c.JSON(http.StatusOK, resp) } -func GetSendTagLogs(c *gin.Context) { +func GetTagSendLogs(c *gin.Context) { var ( - req apistruct.SendMsg2TagReq - resp apistruct.SendMsg2TagResp - reqPb pbOffice.SendMsg2TagReq - respPb *pbOffice.SendMsg2TagResp + req apistruct.GetTagSendLogsReq + resp apistruct.GetTagSendLogsResp + reqPb pbOffice.GetTagSendLogsReq + respPb *pbOffice.GetTagSendLogsResp ) if err := c.BindJSON(&req); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "bind json failed", err.Error()) @@ -176,7 +176,7 @@ func GetSendTagLogs(c *gin.Context) { } etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfficeName) client := pbOffice.NewOfficeServiceClient(etcdConn) - respPb, err := client.SendMsg2Tag(context.Background(), &reqPb) + respPb, err := client.GetTagSendLogs(context.Background(), &reqPb) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserTags failed", err.Error()) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "CreateTag rpc server failed" + err.Error()}) @@ -185,5 +185,8 @@ func GetSendTagLogs(c *gin.Context) { if err := utils.CopyStructFields(&resp.CommResp, respPb.CommonResp); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) } + resp.Data.Logs = respPb.TagSendLogs + resp.Data.ShowNumber = respPb.Pagination.ShowNumber + resp.Data.CurrentPage = respPb.Pagination.CurrentPage c.JSON(http.StatusOK, resp) } diff --git a/internal/rpc/office/office.go b/internal/rpc/office/office.go index 9e297531d..1f803359b 100644 --- a/internal/rpc/office/office.go +++ b/internal/rpc/office/office.go @@ -5,6 +5,7 @@ import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" "Open_IM/pkg/common/log" "Open_IM/pkg/grpc-etcdv3/getcdv3" pbOffice "Open_IM/pkg/proto/office" @@ -77,11 +78,23 @@ func (s *officeServer) GetUserTags(_ context.Context, req *pbOffice.GetUserTagsR resp.CommonResp.ErrCode = constant.ErrDB.ErrCode return resp, nil } - if err := utils.CopyStructFields(resp.Tags, tags); err != nil { - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) - } - for _, v := range resp.Tags { - + for _, v := range tags { + tag := &pbOffice.Tag{ + TagID: v.TagID, + TagName: v.TagName, + } + for _, userID := range v.UserList { + UserName, err := im_mysql_model.GetUserNameByUserID(userID) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserNameByUserID failed", err.Error()) + continue + } + tag.UserList = append(tag.UserList, &pbOffice.TagUser{ + UserID: userID, + UserName: UserName, + }) + } + resp.Tags = append(resp.Tags, tag) } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp ", resp.String()) return resp, nil @@ -89,8 +102,10 @@ func (s *officeServer) GetUserTags(_ context.Context, req *pbOffice.GetUserTagsR func (s *officeServer) CreateTag(_ context.Context, req *pbOffice.CreateTagReq) (resp *pbOffice.CreateTagResp, err error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "CreateTag req", req.String()) + userIDList := utils.RemoveUserIDRepByMap(req.UserIDList) + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "userIDList: ", userIDList) resp = &pbOffice.CreateTagResp{CommonResp: &pbOffice.CommonResp{}} - if err := db.DB.CreateTag(req.UserID, req.TagName, req.UserIDList); err != nil { + if err := db.DB.CreateTag(req.UserID, req.TagName, userIDList); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserTags failed", err.Error()) resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg resp.CommonResp.ErrCode = constant.ErrDB.ErrCode @@ -116,14 +131,16 @@ func (s *officeServer) DeleteTag(_ context.Context, req *pbOffice.DeleteTagReq) func (s *officeServer) SetTag(_ context.Context, req *pbOffice.SetTagReq) (resp *pbOffice.SetTagResp, err error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) resp = &pbOffice.SetTagResp{CommonResp: &pbOffice.CommonResp{}} - if err := db.DB.SetTag(req.UserID, req.TagID, req.NewName, req.ReduceUserIDList, req.ReduceUserIDList); err != nil { + IncreaseUserIDList := utils.RemoveUserIDRepByMap(req.IncreaseUserIDList) + reduceUserIDList := utils.RemoveUserIDRepByMap(req.ReduceUserIDList) + if err := db.DB.SetTag(req.UserID, req.TagID, req.NewName, IncreaseUserIDList, reduceUserIDList); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "SetTag failed", err.Error()) resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg resp.CommonResp.ErrCode = constant.ErrDB.ErrCode return resp, nil } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) - return resp, err + return resp, nil } func (s *officeServer) SendMsg2Tag(_ context.Context, req *pbOffice.SendMsg2TagReq) (resp *pbOffice.SendMsg2TagResp, err error) { @@ -135,9 +152,12 @@ func (s *officeServer) SendMsg2Tag(_ context.Context, req *pbOffice.SendMsg2TagR } if err := db.DB.SaveTagSendLog(req); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "SaveTagSendLog failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg + return resp, nil } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) - return resp, err + return resp, nil } func (s *officeServer) GetTagSendLogs(_ context.Context, req *pbOffice.GetTagSendLogsReq) (resp *pbOffice.GetTagSendLogsResp, err error) { @@ -150,6 +170,7 @@ func (s *officeServer) GetTagSendLogs(_ context.Context, req *pbOffice.GetTagSen log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetTagSendLogs", err.Error()) resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + return resp, nil } if err := utils.CopyStructFields(resp.TagSendLogs, tagSendLogs); err != nil { log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) diff --git a/pkg/base_info/office_struct.go b/pkg/base_info/office_struct.go index 2c6dd84c1..85cb86090 100644 --- a/pkg/base_info/office_struct.go +++ b/pkg/base_info/office_struct.go @@ -1,6 +1,9 @@ package base_info -import pbOffice "Open_IM/pkg/proto/office" +import ( + pbOffice "Open_IM/pkg/proto/office" + server_api_params "Open_IM/pkg/proto/sdk_ws" +) type GetUserTagsReq struct { pbOffice.GetUserTagsReq @@ -44,3 +47,18 @@ type SendMsg2TagReq struct { type SendMsg2TagResp struct { CommResp } + +type GetTagSendLogsReq struct { + server_api_params.RequestPagination + UserID string `json:"userID"` + OperationID string `json:"operationID"` +} + +type GetTagSendLogsResp struct { + CommResp + Data struct { + Logs []*pbOffice.TagSendLog `json:"logs"` + CurrentPage int32 `json:"currentPage"` + ShowNumber int32 `json:"showNumber"` + } `json:"data"` +} diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go index 370d1acd3..6320a6d8e 100644 --- a/pkg/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -12,6 +12,7 @@ import ( "errors" "fmt" "github.com/gogo/protobuf/sortkeys" + "go.mongodb.org/mongo-driver/mongo/options" "math/rand" //"github.com/garyburd/redigo/redis" @@ -435,27 +436,22 @@ func (d *DataBases) DelGroupMember(groupID, uid string) error { } type Tag struct { + UserID string `bson:"userID"` TagID string `bson:"tagID"` TagName string `bson:"tagName"` UserList []string `bson:"userList"` } -type TagsStruct struct { - Uid string `bson:"uid"` - Tags map[string]Tag `bson:"tags"` -} - -type TagSendLogStruct struct { -} - func (d *DataBases) GetUserTags(userID string) ([]Tag, error) { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cTag) - var tagStruct TagsStruct var tags []Tag - _ = c.FindOne(ctx, bson.M{"uid": userID}).Decode(&tagStruct) - for _, v := range tagStruct.Tags { - tags = append(tags, v) + cursor, err := c.Find(ctx, bson.M{"userID": userID}) + if err != nil { + return tags, err + } + if err = cursor.Decode(tags); err != nil { + return tags, err } return tags, nil } @@ -465,58 +461,68 @@ func (d *DataBases) CreateTag(userID, tagName string, userList []string) error { c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cTag) tagID := generateTagID(tagName, userID) tag := Tag{ + UserID: userID, TagID: tagID, TagName: tagName, UserList: userList, } - _, err := c.InsertOne(ctx, TagsStruct{ - Uid: userID, - Tags: map[string]Tag{tagID: tag}, - }) + _, err := c.InsertOne(ctx, tag) return err } func (d *DataBases) DeleteTag(userID, tagID string) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cTag) - _, err := c.DeleteOne(ctx, bson.M{"uid": userID, "tags": bson.M{"$unset": tagID}}) + _, err := c.DeleteOne(ctx, bson.M{"userID": userID, "tagID": tagID}) return err } -func (d *DataBases) SetTag(userID, tagID, newName string, increaseUserList []string, reduceUserIDList []string) error { +func (d *DataBases) SetTag(userID, tagID, newName string, increaseUserIDList []string, reduceUserIDList []string) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cTag) - _, err := c.UpdateOne(ctx, bson.M{"uid": userID, "tags": tagID}, bson.M{"tagName": newName}) + var tag Tag + err := c.FindOne(ctx, bson.M{"tagID": tagID, "userID": userID}).Decode(&tag) + if newName != "" { + _, err = c.UpdateOne(ctx, bson.M{"userID": userID, "tagID": tagID}, bson.D{ + {"$set", bson.D{ + {"tagName", newName}, + }}, + }) + if err != nil { + return err + } + } + tag.UserList = append(tag.UserList, increaseUserIDList...) + tag.UserList = utils.RemoveUserIDRepByMap(tag.UserList) + for _, v := range reduceUserIDList { + for i2, v2 := range tag.UserList { + if v == v2 { + tag.UserList = append(tag.UserList[:i2], tag.UserList[i2+1:]...) + } + } + } + _, err = c.UpdateOne(ctx, bson.M{"userID": userID, "tagID": tagID}, bson.D{ + {"$set", bson.D{ + {"userList", tag.UserList}, + }}, + }) if err != nil { return err } - _, err = c.InsertOne(ctx, bson.M{"uid": userID, "tags": bson.M{tagID: ""}}) - if err != nil { - return err - } - //_, err = c.InsertOne(ctx) - //if err != nil { - // return err - //} return nil } func (d *DataBases) GetUserIDListByTagID(userID, tagID string) ([]string, error) { - var tagIDList []string - var tagStruct TagsStruct + var tag Tag ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cTag) - _ = c.FindOne(ctx, bson.M{"uid": userID}).Decode(&tagStruct) - for k, tag := range tagStruct.Tags { - if k == tagID { - tagIDList = tag.UserList - } - } - return tagIDList, nil + _ = c.FindOne(ctx, bson.M{"userID": userID, "tagID": tagID}).Decode(&tag) + return tag.UserList, nil } type TagSendLog struct { TagID string `bson:"tagID"` + TagName string `bson:"tagName"` SendID string `bson:"sendID"` SenderPlatformID int32 `bson:"senderPlatformID"` Content string `bson:"content"` @@ -528,8 +534,11 @@ type TagSendLog struct { func (d *DataBases) SaveTagSendLog(sendReq *officePb.SendMsg2TagReq) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cSendLog) + var tag Tag + _ = c.FindOne(ctx, bson.M{"userID": sendReq.SendID, "tagID": sendReq.TagID}).Decode(&tag) tagSendLog := TagSendLog{ TagID: sendReq.TagID, + TagName: tag.TagName, SendID: sendReq.SendID, SenderPlatformID: sendReq.SenderPlatformID, Content: sendReq.Content, @@ -544,7 +553,8 @@ func (d *DataBases) GetTagSendLogs(userID string, showNumber, pageNumber int32) var tagSendLogs []*TagSendLog ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cSendLog) - cursor, err := c.Find(ctx, bson.M{"sendID": userID}) + findOpts := options.Find().SetSort(-1).SetLimit(int64(showNumber)).SetSkip(int64(showNumber) * (int64(pageNumber) - 1)) + cursor, err := c.Find(ctx, bson.M{"sendID": userID}, findOpts) if err != nil { return tagSendLogs, err } diff --git a/pkg/utils/utils.go b/pkg/utils/utils.go index 0ee464aad..f0e34aa90 100644 --- a/pkg/utils/utils.go +++ b/pkg/utils/utils.go @@ -76,3 +76,16 @@ func Difference(slice1, slice2 []uint32) []uint32 { func OperationIDGenerator() string { return strconv.FormatInt(time.Now().UnixNano()+int64(rand.Uint32()), 10) } + +func RemoveUserIDRepByMap(slc []string) []string { + var result []string + tempMap := map[string]byte{} + for _, e := range slc { + l := len(tempMap) + tempMap[e] = 0 + if len(tempMap) != l { + result = append(result, e) + } + } + return result +} From 5bedbb7c7d17e7132ea4388c587bb18c3d6e707d Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 28 Mar 2022 12:56:59 +0800 Subject: [PATCH 102/129] script modify --- script/start_rpc_service.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/start_rpc_service.sh b/script/start_rpc_service.sh index b9e3c9f92..8cf9bb6df 100644 --- a/script/start_rpc_service.sh +++ b/script/start_rpc_service.sh @@ -17,8 +17,8 @@ service_filename=( open_im_admin_cms open_im_message_cms open_im_statistics - open_im_office ${msg_name} + open_im_office ) #service config port name From e252a00d552b196eae7990e77573da0e0b26aa76 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 28 Mar 2022 14:11:47 +0800 Subject: [PATCH 103/129] tag --- cmd/rpc/open_im_admin_cms/Makefile | 2 +- cmd/rpc/open_im_office/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/rpc/open_im_admin_cms/Makefile b/cmd/rpc/open_im_admin_cms/Makefile index b86230c64..f6efc1c08 100644 --- a/cmd/rpc/open_im_admin_cms/Makefile +++ b/cmd/rpc/open_im_admin_cms/Makefile @@ -1,6 +1,6 @@ .PHONY: all build run gotool install clean help -BINARY_NAME=open_im_office +BINARY_NAME=open_im_admin_cms BIN_DIR=../../../bin/ all: gotool build diff --git a/cmd/rpc/open_im_office/Makefile b/cmd/rpc/open_im_office/Makefile index 0ae4189a3..b86230c64 100644 --- a/cmd/rpc/open_im_office/Makefile +++ b/cmd/rpc/open_im_office/Makefile @@ -1,6 +1,6 @@ .PHONY: all build run gotool install clean help -BINARY_NAME=office +BINARY_NAME=open_im_office BIN_DIR=../../../bin/ all: gotool build From dc1a0f050eaa6049b6794b810d068858d047a30f Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 28 Mar 2022 14:54:46 +0800 Subject: [PATCH 104/129] tag --- config/config.yaml | 3 ++ internal/api/office/tag.go | 52 +++++++++++++++++++++++++++++++--- pkg/base_info/office_struct.go | 28 ++++++++++++------ 3 files changed, 70 insertions(+), 13 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index 0485fab9c..4f1c79279 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -72,6 +72,7 @@ endpoints: rpc_statistic: openim_rpc_statistic rpc_admin_cms: openim_rpc_admin_cms rpc_message_cms: openim_rpc_admin_cms + rpc_office: openim_rpc_office api: openImApiPort: [ 10000 ] #api服务端口,默认即可,需要开放此端口或做nginx转发 @@ -106,6 +107,7 @@ rpcport: #rpc服务端口 默认即可 openImStatisticsPort: [ 10800 ] openImMessageCmsPort: [ 10900 ] openImAdminCmsPort: [ 11000 ] + openImOfficePort: [ 11100 ] c2c: callbackBeforeSendMsg: switch: false @@ -127,6 +129,7 @@ rpcregistername: #rpc注册服务名,默认即可 OpenImStatisticsName: Statistics OpenImMessageCMSName: MessageCMS openImAdminCMSName: AdminCMS + openImOfficeName: Office log: storageLocation: ../logs/ diff --git a/internal/api/office/tag.go b/internal/api/office/tag.go index 23b5d2e54..2491e9f7a 100644 --- a/internal/api/office/tag.go +++ b/internal/api/office/tag.go @@ -4,8 +4,10 @@ import ( apistruct "Open_IM/pkg/base_info" "Open_IM/pkg/common/config" "Open_IM/pkg/common/log" + "Open_IM/pkg/common/token_verify" "Open_IM/pkg/grpc-etcdv3/getcdv3" pbOffice "Open_IM/pkg/proto/office" + pbCommon "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" "context" "github.com/gin-gonic/gin" @@ -25,9 +27,14 @@ func GetUserTags(c *gin.Context) { c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "bind json failed " + err.Error()}) return } - if err := utils.CopyStructFields(&reqPb, req); err != nil { - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + ok, userID := token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + if !ok { + log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) + return } + reqPb.UserID = userID + reqPb.OperationID = req.OperationID etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfficeName) client := pbOffice.NewOfficeServiceClient(etcdConn) respPb, err := client.GetUserTags(context.Background(), &reqPb) @@ -58,6 +65,13 @@ func CreateTag(c *gin.Context) { if err := utils.CopyStructFields(&reqPb, req); err != nil { log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) } + ok, userID := token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + if !ok { + log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) + return + } + reqPb.UserID = userID etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfficeName) client := pbOffice.NewOfficeServiceClient(etcdConn) respPb, err := client.CreateTag(context.Background(), &reqPb) @@ -87,6 +101,13 @@ func DeleteTag(c *gin.Context) { if err := utils.CopyStructFields(&reqPb, req); err != nil { log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) } + ok, userID := token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + if !ok { + log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) + return + } + reqPb.UserID = userID etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfficeName) client := pbOffice.NewOfficeServiceClient(etcdConn) respPb, err := client.DeleteTag(context.Background(), &reqPb) @@ -116,6 +137,13 @@ func SetTag(c *gin.Context) { if err := utils.CopyStructFields(&reqPb, req); err != nil { log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) } + ok, userID := token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + if !ok { + log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) + return + } + reqPb.UserID = userID etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfficeName) client := pbOffice.NewOfficeServiceClient(etcdConn) respPb, err := client.SetTag(context.Background(), &reqPb) @@ -145,6 +173,13 @@ func SendMsg2Tag(c *gin.Context) { if err := utils.CopyStructFields(&reqPb, req); err != nil { log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) } + ok, userID := token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + if !ok { + log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) + return + } + reqPb.SendID = userID etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfficeName) client := pbOffice.NewOfficeServiceClient(etcdConn) respPb, err := client.SendMsg2Tag(context.Background(), &reqPb) @@ -171,8 +206,17 @@ func GetTagSendLogs(c *gin.Context) { c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "bind json failed " + err.Error()}) return } - if err := utils.CopyStructFields(&reqPb, req); err != nil { - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + ok, userID := token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + if !ok { + log.NewError(req.OperationID, "GetUserIDFromToken false ", c.Request.Header.Get("token")) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "GetUserIDFromToken failed"}) + return + } + reqPb.UserID = userID + reqPb.OperationID = req.OperationID + reqPb.Pagination = &pbCommon.RequestPagination{ + PageNumber: req.PageNumber, + ShowNumber: req.ShowNumber, } etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfficeName) client := pbOffice.NewOfficeServiceClient(etcdConn) diff --git a/pkg/base_info/office_struct.go b/pkg/base_info/office_struct.go index 85cb86090..154ab89f1 100644 --- a/pkg/base_info/office_struct.go +++ b/pkg/base_info/office_struct.go @@ -2,11 +2,10 @@ package base_info import ( pbOffice "Open_IM/pkg/proto/office" - server_api_params "Open_IM/pkg/proto/sdk_ws" ) type GetUserTagsReq struct { - pbOffice.GetUserTagsReq + OperationID string `json:"operationID"` } type GetUserTagsResp struct { @@ -17,7 +16,9 @@ type GetUserTagsResp struct { } type CreateTagReq struct { - pbOffice.CreateTagReq + TagName string `json:"tagName" binding:"required"` + UserIDList []string `json:"userIDList" binding:"required"` + OperationID string `json:"operationID" binding:"required"` } type CreateTagResp struct { @@ -25,7 +26,8 @@ type CreateTagResp struct { } type DeleteTagReq struct { - pbOffice.DeleteTagReq + TagID string `json:"tagID" binding:"required"` + OperationID string `json:"operationID" binding:"required"` } type DeleteTagResp struct { @@ -33,7 +35,11 @@ type DeleteTagResp struct { } type SetTagReq struct { - pbOffice.SetTagReq + TagID string `json:"tagID" binding:"required"` + NewName string `json:"newName" binding:"required"` + IncreaseUserIDList []string `json:"increaseUserIDList" binding:"required"` + ReduceUserIDList []string `json:"reduceUserIDList" binding:"required"` + OperationID string `json:"operationID" binding:"required"` } type SetTagResp struct { @@ -41,7 +47,11 @@ type SetTagResp struct { } type SendMsg2TagReq struct { - pbOffice.SendMsg2TagReq + TagID string `json:"tagID" binding:"required"` + SenderPlatformID int32 `json:"senderPlatformID" binding:"required"` + Content string `json:"content" binding:"required"` + ContentType int32 `json:"contentType" binding:"required"` + OperationID string `json:"operationID" binding:"required"` } type SendMsg2TagResp struct { @@ -49,9 +59,9 @@ type SendMsg2TagResp struct { } type GetTagSendLogsReq struct { - server_api_params.RequestPagination - UserID string `json:"userID"` - OperationID string `json:"operationID"` + PageNumber int32 `json:"pageNumber" binding:"required"` + ShowNumber int32 `json:"showNumber" binding:"required"` + OperationID string `json:"operationID" binding:"required"` } type GetTagSendLogsResp struct { From 13c29d2c1e95992aa2631af4f3b30314adc23f22 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 28 Mar 2022 15:04:42 +0800 Subject: [PATCH 105/129] tag --- internal/rpc/office/office.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/rpc/office/office.go b/internal/rpc/office/office.go index 1f803359b..ab38b2b93 100644 --- a/internal/rpc/office/office.go +++ b/internal/rpc/office/office.go @@ -26,10 +26,10 @@ type officeServer struct { } func NewOfficeServer(port int) *officeServer { - log.NewPrivateLog("officeServer") + log.NewPrivateLog("office") return &officeServer{ rpcPort: port, - rpcRegisterName: config.Config.RpcRegisterName.OpenImMessageCMSName, + rpcRegisterName: config.Config.RpcRegisterName.OpenImOfficeName, etcdSchema: config.Config.Etcd.EtcdSchema, etcdAddr: config.Config.Etcd.EtcdAddr, } From d1c0205d771d05404f8d25db1f0d526b653bb7b8 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 28 Mar 2022 15:55:55 +0800 Subject: [PATCH 106/129] add oa notification --- pkg/common/constant/constant.go | 3 +++ script/function.sh | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 65de6ef5b..0def0881b 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -64,6 +64,7 @@ const ( ConversationNotNotification = 1308 ConversationDefault = 0 UserNotificationEnd = 1399 + OANotification = 1400 GroupNotificationBegin = 1500 @@ -95,6 +96,8 @@ const ( //SessionType SingleChatType = 1 GroupChatType = 2 + + NotificationChatType = 4 //token NormalToken = 0 InValidToken = 1 diff --git a/script/function.sh b/script/function.sh index 0deb52b38..97f19187a 100644 --- a/script/function.sh +++ b/script/function.sh @@ -8,4 +8,8 @@ sub_s2=${sub_s1//,/ } sub_s3=${sub_s2#*[} sub_s4=${sub_s3%]*} ports_array=$sub_s4 +} +remove_space(){ + value=$* + result=`echo $value | sed 's/ //g'` } \ No newline at end of file From 574c7600e0b36ddc908a877d52f1aac9efd822b0 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 28 Mar 2022 16:02:31 +0800 Subject: [PATCH 107/129] tag --- internal/api/office/tag.go | 2 +- internal/rpc/office/office.go | 9 +++++---- pkg/base_info/office_struct.go | 6 +++--- pkg/common/db/mongoModel.go | 12 +++++++----- 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/internal/api/office/tag.go b/internal/api/office/tag.go index 2491e9f7a..1f14a0116 100644 --- a/internal/api/office/tag.go +++ b/internal/api/office/tag.go @@ -227,7 +227,7 @@ func GetTagSendLogs(c *gin.Context) { return } if err := utils.CopyStructFields(&resp.CommResp, respPb.CommonResp); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) } resp.Data.Logs = respPb.TagSendLogs resp.Data.ShowNumber = respPb.Pagination.ShowNumber diff --git a/internal/rpc/office/office.go b/internal/rpc/office/office.go index ab38b2b93..5f6cf7d1c 100644 --- a/internal/rpc/office/office.go +++ b/internal/rpc/office/office.go @@ -164,6 +164,11 @@ func (s *officeServer) GetTagSendLogs(_ context.Context, req *pbOffice.GetTagSen log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) resp = &pbOffice.GetTagSendLogsResp{ CommonResp: &pbOffice.CommonResp{}, + Pagination: &pbCommon.ResponsePagination{ + CurrentPage: req.Pagination.PageNumber, + ShowNumber: req.Pagination.ShowNumber, + }, + TagSendLogs: []*pbOffice.TagSendLog{}, } tagSendLogs, err := db.DB.GetTagSendLogs(req.UserID, req.Pagination.ShowNumber, req.Pagination.PageNumber) if err != nil { @@ -175,10 +180,6 @@ func (s *officeServer) GetTagSendLogs(_ context.Context, req *pbOffice.GetTagSen if err := utils.CopyStructFields(resp.TagSendLogs, tagSendLogs); err != nil { log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) } - resp.Pagination = &pbCommon.ResponsePagination{ - CurrentPage: req.Pagination.PageNumber, - ShowNumber: req.Pagination.ShowNumber, - } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) return resp, nil } diff --git a/pkg/base_info/office_struct.go b/pkg/base_info/office_struct.go index 154ab89f1..65066d0b7 100644 --- a/pkg/base_info/office_struct.go +++ b/pkg/base_info/office_struct.go @@ -36,9 +36,9 @@ type DeleteTagResp struct { type SetTagReq struct { TagID string `json:"tagID" binding:"required"` - NewName string `json:"newName" binding:"required"` - IncreaseUserIDList []string `json:"increaseUserIDList" binding:"required"` - ReduceUserIDList []string `json:"reduceUserIDList" binding:"required"` + NewName string `json:"newName"` + IncreaseUserIDList []string `json:"increaseUserIDList"` + ReduceUserIDList []string `json:"reduceUserIDList"` OperationID string `json:"operationID" binding:"required"` } diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go index 6320a6d8e..d385043b8 100644 --- a/pkg/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -450,7 +450,7 @@ func (d *DataBases) GetUserTags(userID string) ([]Tag, error) { if err != nil { return tags, err } - if err = cursor.Decode(tags); err != nil { + if err = cursor.Decode(&tags); err != nil { return tags, err } return tags, nil @@ -483,7 +483,7 @@ func (d *DataBases) SetTag(userID, tagID, newName string, increaseUserIDList []s var tag Tag err := c.FindOne(ctx, bson.M{"tagID": tagID, "userID": userID}).Decode(&tag) if newName != "" { - _, err = c.UpdateOne(ctx, bson.M{"userID": userID, "tagID": tagID}, bson.D{ + _, err = c.UpdateOne(ctx, bson.D{{"userID", userID}, {"tagID", tagID}}, bson.D{ {"$set", bson.D{ {"tagName", newName}, }}, @@ -501,7 +501,7 @@ func (d *DataBases) SetTag(userID, tagID, newName string, increaseUserIDList []s } } } - _, err = c.UpdateOne(ctx, bson.M{"userID": userID, "tagID": tagID}, bson.D{ + _, err = c.UpdateOne(ctx, bson.D{{"userID", userID}, {"tagID", tagID}}, bson.D{ {"$set", bson.D{ {"userList", tag.UserList}, }}, @@ -533,9 +533,10 @@ type TagSendLog struct { func (d *DataBases) SaveTagSendLog(sendReq *officePb.SendMsg2TagReq) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) - c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cSendLog) + c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cTag) var tag Tag _ = c.FindOne(ctx, bson.M{"userID": sendReq.SendID, "tagID": sendReq.TagID}).Decode(&tag) + c = d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cSendLog) tagSendLog := TagSendLog{ TagID: sendReq.TagID, TagName: tag.TagName, @@ -544,6 +545,7 @@ func (d *DataBases) SaveTagSendLog(sendReq *officePb.SendMsg2TagReq) error { Content: sendReq.Content, ContentType: sendReq.ContentType, SendTime: time.Now().Unix(), + UserList: tag.UserList, } _, err := c.InsertOne(ctx, tagSendLog) return err @@ -554,7 +556,7 @@ func (d *DataBases) GetTagSendLogs(userID string, showNumber, pageNumber int32) ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cSendLog) findOpts := options.Find().SetSort(-1).SetLimit(int64(showNumber)).SetSkip(int64(showNumber) * (int64(pageNumber) - 1)) - cursor, err := c.Find(ctx, bson.M{"sendID": userID}, findOpts) + cursor, err := c.Find(ctx, bson.D{{"sendID", userID}}, findOpts) if err != nil { return tagSendLogs, err } From c1a97b7356632ea2f8f44a6a1e52bbecf8577378 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 28 Mar 2022 16:20:20 +0800 Subject: [PATCH 108/129] tag --- pkg/common/db/mongoModel.go | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go index d385043b8..a6eb80ec6 100644 --- a/pkg/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -450,7 +450,7 @@ func (d *DataBases) GetUserTags(userID string) ([]Tag, error) { if err != nil { return tags, err } - if err = cursor.Decode(&tags); err != nil { + if err = cursor.All(ctx, &tags); err != nil { return tags, err } return tags, nil @@ -481,13 +481,11 @@ func (d *DataBases) SetTag(userID, tagID, newName string, increaseUserIDList []s ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cTag) var tag Tag - err := c.FindOne(ctx, bson.M{"tagID": tagID, "userID": userID}).Decode(&tag) + if err := c.FindOne(ctx, bson.M{"tagID": tagID, "userID": userID}).Decode(&tag); err != nil { + return err + } if newName != "" { - _, err = c.UpdateOne(ctx, bson.D{{"userID", userID}, {"tagID", tagID}}, bson.D{ - {"$set", bson.D{ - {"tagName", newName}, - }}, - }) + _, err := c.UpdateOne(ctx, bson.M{"userID": userID, "tagID": tagID}, bson.M{"$set": bson.M{"tagName": newName}}) if err != nil { return err } @@ -497,15 +495,17 @@ func (d *DataBases) SetTag(userID, tagID, newName string, increaseUserIDList []s for _, v := range reduceUserIDList { for i2, v2 := range tag.UserList { if v == v2 { - tag.UserList = append(tag.UserList[:i2], tag.UserList[i2+1:]...) + tag.UserList[i2] = "" } } } - _, err = c.UpdateOne(ctx, bson.D{{"userID", userID}, {"tagID", tagID}}, bson.D{ - {"$set", bson.D{ - {"userList", tag.UserList}, - }}, - }) + var newUserList []string + for _, v := range tag.UserList { + if v != "" { + newUserList = append(newUserList, v) + } + } + _, err := c.UpdateOne(ctx, bson.M{"userID": userID, "tagID": tagID}, bson.M{"$set": bson.M{"userIDList": newUserList}}) if err != nil { return err } @@ -551,16 +551,16 @@ func (d *DataBases) SaveTagSendLog(sendReq *officePb.SendMsg2TagReq) error { return err } -func (d *DataBases) GetTagSendLogs(userID string, showNumber, pageNumber int32) ([]*TagSendLog, error) { - var tagSendLogs []*TagSendLog +func (d *DataBases) GetTagSendLogs(userID string, showNumber, pageNumber int32) ([]TagSendLog, error) { + var tagSendLogs []TagSendLog ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cSendLog) findOpts := options.Find().SetSort(-1).SetLimit(int64(showNumber)).SetSkip(int64(showNumber) * (int64(pageNumber) - 1)) - cursor, err := c.Find(ctx, bson.D{{"sendID", userID}}, findOpts) + cursor, err := c.Find(ctx, bson.M{"sendID": userID}, findOpts) if err != nil { return tagSendLogs, err } - err = cursor.Decode(&tagSendLogs) + err = cursor.All(ctx, tagSendLogs) if err != nil { return tagSendLogs, err } From dbdb516f3c122668dd373d22cb224b1fcbc905c3 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 28 Mar 2022 16:42:18 +0800 Subject: [PATCH 109/129] tag --- internal/rpc/office/office.go | 1 + pkg/common/db/mongoModel.go | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/internal/rpc/office/office.go b/internal/rpc/office/office.go index 5f6cf7d1c..893343261 100644 --- a/internal/rpc/office/office.go +++ b/internal/rpc/office/office.go @@ -78,6 +78,7 @@ func (s *officeServer) GetUserTags(_ context.Context, req *pbOffice.GetUserTagsR resp.CommonResp.ErrCode = constant.ErrDB.ErrCode return resp, nil } + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "tags: ", tags) for _, v := range tags { tag := &pbOffice.Tag{ TagID: v.TagID, diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go index a6eb80ec6..f12b6dcc0 100644 --- a/pkg/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -505,7 +505,7 @@ func (d *DataBases) SetTag(userID, tagID, newName string, increaseUserIDList []s newUserList = append(newUserList, v) } } - _, err := c.UpdateOne(ctx, bson.M{"userID": userID, "tagID": tagID}, bson.M{"$set": bson.M{"userIDList": newUserList}}) + _, err := c.UpdateOne(ctx, bson.M{"userID": userID, "tagID": tagID}, bson.M{"$set": bson.M{"userList": newUserList}}) if err != nil { return err } @@ -556,7 +556,7 @@ func (d *DataBases) GetTagSendLogs(userID string, showNumber, pageNumber int32) ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cSendLog) findOpts := options.Find().SetSort(-1).SetLimit(int64(showNumber)).SetSkip(int64(showNumber) * (int64(pageNumber) - 1)) - cursor, err := c.Find(ctx, bson.M{"sendID": userID}, findOpts) + cursor, err := c.Find(ctx, bson.D{{"sendID", userID}}, findOpts) if err != nil { return tagSendLogs, err } From c39f5a27b2071c1d11f19a64aa0ba230d450dfcd Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 28 Mar 2022 16:49:19 +0800 Subject: [PATCH 110/129] tag --- internal/rpc/office/office.go | 2 +- pkg/common/db/mysql_model/im_mysql_model/user_model.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/rpc/office/office.go b/internal/rpc/office/office.go index 893343261..6061d5453 100644 --- a/internal/rpc/office/office.go +++ b/internal/rpc/office/office.go @@ -78,7 +78,7 @@ func (s *officeServer) GetUserTags(_ context.Context, req *pbOffice.GetUserTagsR resp.CommonResp.ErrCode = constant.ErrDB.ErrCode return resp, nil } - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "tags: ", tags) + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "tags: ", tags) for _, v := range tags { tag := &pbOffice.Tag{ TagID: v.TagID, 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 d6726ea9f..f0501a63e 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 @@ -80,7 +80,7 @@ func GetUserNameByUserID(userID string) (string, error) { return "", err } var userName string - err = dbConn.Table("users").Select("name").Where("user_id=?", userID).Find(&userName).Error + err = dbConn.Table("users").Select("name").Where("user_id=?", userID).First(&userName).Error if err != nil { return "", err } From 03fb7947c3877a771d6a66e18a80c14a1a6351d8 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 28 Mar 2022 16:57:08 +0800 Subject: [PATCH 111/129] add oa notification --- internal/api/manage/management_chat.go | 37 ++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/internal/api/manage/management_chat.go b/internal/api/manage/management_chat.go index 368a2735e..802bb4207 100644 --- a/internal/api/manage/management_chat.go +++ b/internal/api/manage/management_chat.go @@ -20,6 +20,7 @@ import ( "context" "github.com/gin-gonic/gin" "github.com/go-playground/validator/v10" + "github.com/golang/protobuf/proto" "github.com/mitchellh/mapstructure" "net/http" "strings" @@ -29,6 +30,7 @@ var validate *validator.Validate func newUserSendMsgReq(params *ManagementSendMsgReq) *pbChat.SendMsgReq { var newContent string + var err error switch params.ContentType { case constant.Text: newContent = params.Content["text"].(string) @@ -42,6 +44,7 @@ func newUserSendMsgReq(params *ManagementSendMsgReq) *pbChat.SendMsgReq { newContent = utils.StructToJsonString(params.Content) case constant.Revoke: newContent = params.Content["revokeMsgClientID"].(string) + default: } var options map[string]bool @@ -72,6 +75,14 @@ func newUserSendMsgReq(params *ManagementSendMsgReq) *pbChat.SendMsgReq { OfflinePushInfo: params.OfflinePushInfo, }, } + if params.ContentType == constant.OANotification { + var tips open_im_sdk.TipsComm + tips.JsonDetail = utils.StructToJsonString(params.Content) + pbData.MsgData.Content, err = proto.Marshal(&tips) + if err != nil { + log.Error(params.OperationID, "Marshal failed ", err.Error(), tips.String()) + } + } return &pbData } func init() { @@ -107,6 +118,9 @@ func ManagementSendMsg(c *gin.Context) { data = CustomElem{} case constant.Revoke: data = RevokeElem{} + case constant.OANotification: + data = OANotificationElem{} + params.SessionType = constant.NotificationChatType //case constant.HasReadReceipt: //case constant.Typing: //case constant.Quote: @@ -267,3 +281,26 @@ type TextElem struct { type RevokeElem struct { RevokeMsgClientID string `mapstructure:"revokeMsgClientID" validate:"required"` } +type OANotificationElem struct { + NotificationName string `mapstructure:"notificationName" validate:"required"` + NotificationFaceURL string `mapstructure:"notificationFaceURL" validate:"required"` + NotificationType int32 `mapstructure:"notificationType" validate:"required"` + Text string `mapstructure:"text" validate:"required"` + Url string `mapstructure:"url"` + MixType int32 `mapstructure:"mixType"` + Image struct { + SourceUrl string `mapstructure:"sourceUrl"` + SnapshotUrl string `mapstructure:"snapshotUrl"` + } `mapstructure:"image"` + Video struct { + SourceUrl string `mapstructure:"sourceUrl"` + SnapshotUrl string `mapstructure:"snapshotUrl"` + Duration int64 `mapstructure:"duration"` + } `mapstructure:"video"` + File struct { + SourceUrl string `mapstructure:"sourceUrl"` + FileName string `mapstructure:"fileName"` + FileSize int64 `mapstructure:"fileSize"` + } `mapstructure:"file"` + Ex string `mapstructure:"ex"` +} From 228cbb408250a1267b15fde26d6ea5789440e9be Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 28 Mar 2022 16:59:15 +0800 Subject: [PATCH 112/129] tag --- pkg/common/db/mongoModel.go | 2 +- pkg/common/db/mysql_model/im_mysql_model/user_model.go | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go index f12b6dcc0..6c6cb7ad2 100644 --- a/pkg/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -556,7 +556,7 @@ func (d *DataBases) GetTagSendLogs(userID string, showNumber, pageNumber int32) ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cSendLog) findOpts := options.Find().SetSort(-1).SetLimit(int64(showNumber)).SetSkip(int64(showNumber) * (int64(pageNumber) - 1)) - cursor, err := c.Find(ctx, bson.D{{"sendID", userID}}, findOpts) + cursor, err := c.Find(ctx, bson.M{"sendID": userID}, findOpts) if err != nil { return tagSendLogs, err } 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 f0501a63e..c753396a8 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 @@ -79,12 +79,12 @@ func GetUserNameByUserID(userID string) (string, error) { if err != nil { return "", err } - var userName string - err = dbConn.Table("users").Select("name").Where("user_id=?", userID).First(&userName).Error + var user db.User + err = dbConn.Table("users").Select("name").Where("user_id=?", userID).First(&user).Error if err != nil { return "", err } - return userName, nil + return user.Nickname, nil } func UpdateUserInfo(user db.User) error { From b9ddb0140ff71895834c080c3c8b96e336c47c33 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 28 Mar 2022 17:02:03 +0800 Subject: [PATCH 113/129] tag --- pkg/common/db/mongoModel.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go index 6c6cb7ad2..c07d81772 100644 --- a/pkg/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -555,7 +555,7 @@ func (d *DataBases) GetTagSendLogs(userID string, showNumber, pageNumber int32) var tagSendLogs []TagSendLog ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cSendLog) - findOpts := options.Find().SetSort(-1).SetLimit(int64(showNumber)).SetSkip(int64(showNumber) * (int64(pageNumber) - 1)) + findOpts := options.Find().SetLimit(int64(showNumber)).SetSkip(int64(showNumber) * (int64(pageNumber) - 1)) cursor, err := c.Find(ctx, bson.M{"sendID": userID}, findOpts) if err != nil { return tagSendLogs, err From e9ea117985f01573ed5e3877dc5109983bad20a1 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 28 Mar 2022 17:10:45 +0800 Subject: [PATCH 114/129] tag --- pkg/common/db/mongoModel.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go index c07d81772..863c1b6fb 100644 --- a/pkg/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -560,7 +560,7 @@ func (d *DataBases) GetTagSendLogs(userID string, showNumber, pageNumber int32) if err != nil { return tagSendLogs, err } - err = cursor.All(ctx, tagSendLogs) + err = cursor.All(ctx, &tagSendLogs) if err != nil { return tagSendLogs, err } From af99a93536ee92f27c89ff67a9ae721dff346df5 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 28 Mar 2022 17:12:36 +0800 Subject: [PATCH 115/129] tag --- internal/rpc/office/office.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/internal/rpc/office/office.go b/internal/rpc/office/office.go index 6061d5453..b8ac7c558 100644 --- a/internal/rpc/office/office.go +++ b/internal/rpc/office/office.go @@ -178,9 +178,10 @@ func (s *officeServer) GetTagSendLogs(_ context.Context, req *pbOffice.GetTagSen resp.CommonResp.ErrCode = constant.ErrDB.ErrCode return resp, nil } - if err := utils.CopyStructFields(resp.TagSendLogs, tagSendLogs); err != nil { + if err := utils.CopyStructFields(&resp.TagSendLogs, tagSendLogs); err != nil { log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) return resp, nil } From a0e6a78496f7250536ab8f06c7fcbf00e8c79a2b Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 28 Mar 2022 17:18:03 +0800 Subject: [PATCH 116/129] tag --- internal/rpc/office/office.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/internal/rpc/office/office.go b/internal/rpc/office/office.go index b8ac7c558..54d2154ef 100644 --- a/internal/rpc/office/office.go +++ b/internal/rpc/office/office.go @@ -181,6 +181,16 @@ func (s *officeServer) GetTagSendLogs(_ context.Context, req *pbOffice.GetTagSen if err := utils.CopyStructFields(&resp.TagSendLogs, tagSendLogs); err != nil { log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) } + for _, sendLog := range tagSendLogs { + resp.TagSendLogs = append(resp.TagSendLogs, &pbOffice.TagSendLog{ + TagID: sendLog.SendID, + TagName: sendLog.TagName, + ContentType: sendLog.ContentType, + Content: sendLog.Content, + SendTime: sendLog.SendTime, + UserList: sendLog.UserList, + }) + } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) return resp, nil From 5e78697a6991b7d13e921bfa23a1f70a8e198238 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 28 Mar 2022 17:22:18 +0800 Subject: [PATCH 117/129] tag --- internal/rpc/office/office.go | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/internal/rpc/office/office.go b/internal/rpc/office/office.go index 54d2154ef..b8ac7c558 100644 --- a/internal/rpc/office/office.go +++ b/internal/rpc/office/office.go @@ -181,16 +181,6 @@ func (s *officeServer) GetTagSendLogs(_ context.Context, req *pbOffice.GetTagSen if err := utils.CopyStructFields(&resp.TagSendLogs, tagSendLogs); err != nil { log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) } - for _, sendLog := range tagSendLogs { - resp.TagSendLogs = append(resp.TagSendLogs, &pbOffice.TagSendLog{ - TagID: sendLog.SendID, - TagName: sendLog.TagName, - ContentType: sendLog.ContentType, - Content: sendLog.Content, - SendTime: sendLog.SendTime, - UserList: sendLog.UserList, - }) - } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) return resp, nil From 7827749453861de1249f89801bddcbcbcc038aee Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 28 Mar 2022 17:37:30 +0800 Subject: [PATCH 118/129] tag notification --- pkg/common/constant/constant.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 0def0881b..586093e5d 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -125,12 +125,14 @@ const ( ReceiveNotNotifyMessage = 2 //OptionsKey - IsHistory = "history" - IsPersistent = "persistent" - IsOfflinePush = "offlinePush" - IsUnreadCount = "unreadCount" - IsConversationUpdate = "conversationUpdate" - IsSenderSync = "senderSync" + IsHistory = "history" + IsPersistent = "persistent" + IsOfflinePush = "offlinePush" + IsUnreadCount = "unreadCount" + IsConversationUpdate = "conversationUpdate" + IsSenderSync = "senderSync" + IsNotPrivate = "notPrivate" + IsSenderConversationUpdate = "senderConversationUpdate" //GroupStatus GroupOk = 0 From c4d80b4844d5efb87d15697d9bdc8e0167923933 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 28 Mar 2022 17:52:40 +0800 Subject: [PATCH 119/129] auto migrate test --- pkg/common/db/model_struct.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkg/common/db/model_struct.go b/pkg/common/db/model_struct.go index e9e5454cd..72396e9a1 100644 --- a/pkg/common/db/model_struct.go +++ b/pkg/common/db/model_struct.go @@ -108,6 +108,7 @@ type GroupMember struct { JoinTime time.Time `gorm:"column:join_time"` JoinSource int32 `gorm:"column:join_source"` OperatorUserID string `gorm:"column:operator_user_id;size:64"` + MuteEndTime time.Time `gorm:"column:mute_end_time"` Ex string `gorm:"column:ex;size:1024"` } @@ -220,4 +221,4 @@ type Conversation struct { func (Conversation) TableName() string { return "conversations" -} \ No newline at end of file +} From 169665da32b77db074ec0de0a25c3df95665b68d Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 28 Mar 2022 18:13:01 +0800 Subject: [PATCH 120/129] tag --- internal/rpc/msg/tag_notification.go | 20 ---- internal/rpc/msg/tag_send_msg.go | 39 +++++++ internal/rpc/office/office.go | 23 +++- pkg/common/db/mongoModel.go | 35 ++++-- pkg/proto/office/office.pb.go | 156 +++++++++++++-------------- pkg/proto/office/office.proto | 2 +- 6 files changed, 162 insertions(+), 113 deletions(-) delete mode 100644 internal/rpc/msg/tag_notification.go create mode 100644 internal/rpc/msg/tag_send_msg.go diff --git a/internal/rpc/msg/tag_notification.go b/internal/rpc/msg/tag_notification.go deleted file mode 100644 index 8a6356bb4..000000000 --- a/internal/rpc/msg/tag_notification.go +++ /dev/null @@ -1,20 +0,0 @@ -package msg - -import ( - "Open_IM/pkg/common/constant" - "Open_IM/pkg/common/log" - "Open_IM/pkg/utils" -) - -func SetTagNotification(operationID, sendID, recvID, content string, contentType int32) { - log.NewInfo(operationID, utils.GetSelfFuncName(), "args: ", sendID, recvID, content, contentType) - var n NotificationMsg - n.SendID = sendID - n.RecvID = recvID - n.ContentType = contentType - n.SessionType = constant.SingleChatType - n.MsgFrom = constant.UserMsgType - n.OperationID = operationID - n.Content = []byte(content) - Notification(&n) -} diff --git a/internal/rpc/msg/tag_send_msg.go b/internal/rpc/msg/tag_send_msg.go new file mode 100644 index 000000000..08c88bfba --- /dev/null +++ b/internal/rpc/msg/tag_send_msg.go @@ -0,0 +1,39 @@ +package msg + +import ( + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" + pbChat "Open_IM/pkg/proto/chat" + pbCommon "Open_IM/pkg/proto/sdk_ws" + "Open_IM/pkg/utils" + "context" + "strings" +) + +func TagSendMessage(operationID, sendID, recvID, content string, contentType int32) { + log.NewInfo(operationID, utils.GetSelfFuncName(), "args: ", sendID, recvID, content, contentType) + var req pbChat.SendMsgReq + var msgData pbCommon.MsgData + msgData.SendID = sendID + msgData.RecvID = recvID + msgData.ContentType = contentType + msgData.SessionType = constant.SingleChatType + msgData.MsgFrom = constant.UserMsgType + msgData.Content = []byte(content) + msgData.Options = map[string]bool{} + msgData.Options[constant.IsSenderConversationUpdate] = false + req.MsgData = &msgData + req.OperationID = operationID + etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName) + client := pbChat.NewChatClient(etcdConn) + respPb, err := client.SendMsg(context.Background(), &req) + if err != nil { + log.NewError(operationID, utils.GetSelfFuncName(), "send msg failed", err.Error()) + return + } + if respPb.ErrCode != 0 { + log.NewError(operationID, utils.GetSelfFuncName(), "send tag msg failed ", respPb) + } +} diff --git a/internal/rpc/office/office.go b/internal/rpc/office/office.go index b8ac7c558..ab66f74d4 100644 --- a/internal/rpc/office/office.go +++ b/internal/rpc/office/office.go @@ -78,7 +78,7 @@ func (s *officeServer) GetUserTags(_ context.Context, req *pbOffice.GetUserTagsR resp.CommonResp.ErrCode = constant.ErrDB.ErrCode return resp, nil } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "tags: ", tags) + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "tags: ", tags) for _, v := range tags { tag := &pbOffice.Tag{ TagID: v.TagID, @@ -149,7 +149,7 @@ func (s *officeServer) SendMsg2Tag(_ context.Context, req *pbOffice.SendMsg2TagR resp = &pbOffice.SendMsg2TagResp{CommonResp: &pbOffice.CommonResp{}} userIDList, err := db.DB.GetUserIDListByTagID(req.SendID, req.TagID) for _, userID := range userIDList { - msg.SetTagNotification(req.OperationID, req.SendID, userID, req.Content, req.ContentType) + msg.TagSendMessage(req.OperationID, req.SendID, userID, req.Content, req.ContentType) } if err := db.DB.SaveTagSendLog(req); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "SaveTagSendLog failed", err.Error()) @@ -178,10 +178,23 @@ func (s *officeServer) GetTagSendLogs(_ context.Context, req *pbOffice.GetTagSen resp.CommonResp.ErrCode = constant.ErrDB.ErrCode return resp, nil } - if err := utils.CopyStructFields(&resp.TagSendLogs, tagSendLogs); err != nil { - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + for _, v := range tagSendLogs { + var userList []*pbOffice.TagUser + for _, v2 := range v.TagUserList { + userList = append(userList, &pbOffice.TagUser{ + UserID: v2.UserID, + UserName: v2.UserName, + }) + } + resp.TagSendLogs = append(resp.TagSendLogs, &pbOffice.TagSendLog{ + TagID: v.TagID, + TagName: v.TagName, + ContentType: v.ContentType, + Content: v.Content, + SendTime: v.SendTime, + TagUserList: userList, + }) } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) return resp, nil } diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go index 863c1b6fb..1a262f823 100644 --- a/pkg/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -3,6 +3,7 @@ package db import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" "Open_IM/pkg/common/log" pbMsg "Open_IM/pkg/proto/chat" officePb "Open_IM/pkg/proto/office" @@ -520,15 +521,20 @@ func (d *DataBases) GetUserIDListByTagID(userID, tagID string) ([]string, error) return tag.UserList, nil } +type TagUser struct { + UserID string `bson:"userID"` + UserName string `bson:"userName"` +} + type TagSendLog struct { - TagID string `bson:"tagID"` - TagName string `bson:"tagName"` - SendID string `bson:"sendID"` - SenderPlatformID int32 `bson:"senderPlatformID"` - Content string `bson:"content"` - ContentType int32 `bson:"contentType"` - SendTime int64 `bson:"sendTime"` - UserList []string `bson:"userList"` + TagID string `bson:"tagID"` + TagName string `bson:"tagName"` + SendID string `bson:"sendID"` + SenderPlatformID int32 `bson:"senderPlatformID"` + Content string `bson:"content"` + ContentType int32 `bson:"contentType"` + SendTime int64 `bson:"sendTime"` + TagUserList []TagUser `bson:"userList"` } func (d *DataBases) SaveTagSendLog(sendReq *officePb.SendMsg2TagReq) error { @@ -545,7 +551,18 @@ func (d *DataBases) SaveTagSendLog(sendReq *officePb.SendMsg2TagReq) error { Content: sendReq.Content, ContentType: sendReq.ContentType, SendTime: time.Now().Unix(), - UserList: tag.UserList, + } + for _, userID := range tag.UserList { + userName, err := im_mysql_model.GetUserNameByUserID(userID) + if err != nil { + log.NewError("", utils.GetSelfFuncName(), "GetUserNameByUserID failed", err.Error()) + continue + } + tagUser := TagUser{ + UserID: userID, + UserName: userName, + } + tagSendLog.TagUserList = append(tagSendLog.TagUserList, tagUser) } _, err := c.InsertOne(ctx, tagSendLog) return err diff --git a/pkg/proto/office/office.pb.go b/pkg/proto/office/office.pb.go index 6f1ae7157..a3d7c9da0 100644 --- a/pkg/proto/office/office.pb.go +++ b/pkg/proto/office/office.pb.go @@ -36,7 +36,7 @@ func (m *CommonResp) Reset() { *m = CommonResp{} } func (m *CommonResp) String() string { return proto.CompactTextString(m) } func (*CommonResp) ProtoMessage() {} func (*CommonResp) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{0} + return fileDescriptor_office_fb25433b0aa4afaa, []int{0} } func (m *CommonResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommonResp.Unmarshal(m, b) @@ -82,7 +82,7 @@ func (m *TagUser) Reset() { *m = TagUser{} } func (m *TagUser) String() string { return proto.CompactTextString(m) } func (*TagUser) ProtoMessage() {} func (*TagUser) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{1} + return fileDescriptor_office_fb25433b0aa4afaa, []int{1} } func (m *TagUser) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TagUser.Unmarshal(m, b) @@ -129,7 +129,7 @@ func (m *Tag) Reset() { *m = Tag{} } func (m *Tag) String() string { return proto.CompactTextString(m) } func (*Tag) ProtoMessage() {} func (*Tag) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{2} + return fileDescriptor_office_fb25433b0aa4afaa, []int{2} } func (m *Tag) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Tag.Unmarshal(m, b) @@ -182,7 +182,7 @@ func (m *GetUserTagsReq) Reset() { *m = GetUserTagsReq{} } func (m *GetUserTagsReq) String() string { return proto.CompactTextString(m) } func (*GetUserTagsReq) ProtoMessage() {} func (*GetUserTagsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{3} + return fileDescriptor_office_fb25433b0aa4afaa, []int{3} } func (m *GetUserTagsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserTagsReq.Unmarshal(m, b) @@ -228,7 +228,7 @@ func (m *GetUserTagsResp) Reset() { *m = GetUserTagsResp{} } func (m *GetUserTagsResp) String() string { return proto.CompactTextString(m) } func (*GetUserTagsResp) ProtoMessage() {} func (*GetUserTagsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{4} + return fileDescriptor_office_fb25433b0aa4afaa, []int{4} } func (m *GetUserTagsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserTagsResp.Unmarshal(m, b) @@ -276,7 +276,7 @@ func (m *CreateTagReq) Reset() { *m = CreateTagReq{} } func (m *CreateTagReq) String() string { return proto.CompactTextString(m) } func (*CreateTagReq) ProtoMessage() {} func (*CreateTagReq) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{5} + return fileDescriptor_office_fb25433b0aa4afaa, []int{5} } func (m *CreateTagReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateTagReq.Unmarshal(m, b) @@ -335,7 +335,7 @@ func (m *CreateTagResp) Reset() { *m = CreateTagResp{} } func (m *CreateTagResp) String() string { return proto.CompactTextString(m) } func (*CreateTagResp) ProtoMessage() {} func (*CreateTagResp) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{6} + return fileDescriptor_office_fb25433b0aa4afaa, []int{6} } func (m *CreateTagResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateTagResp.Unmarshal(m, b) @@ -375,7 +375,7 @@ func (m *DeleteTagReq) Reset() { *m = DeleteTagReq{} } func (m *DeleteTagReq) String() string { return proto.CompactTextString(m) } func (*DeleteTagReq) ProtoMessage() {} func (*DeleteTagReq) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{7} + return fileDescriptor_office_fb25433b0aa4afaa, []int{7} } func (m *DeleteTagReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteTagReq.Unmarshal(m, b) @@ -427,7 +427,7 @@ func (m *DeleteTagResp) Reset() { *m = DeleteTagResp{} } func (m *DeleteTagResp) String() string { return proto.CompactTextString(m) } func (*DeleteTagResp) ProtoMessage() {} func (*DeleteTagResp) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{8} + return fileDescriptor_office_fb25433b0aa4afaa, []int{8} } func (m *DeleteTagResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteTagResp.Unmarshal(m, b) @@ -470,7 +470,7 @@ func (m *SetTagReq) Reset() { *m = SetTagReq{} } func (m *SetTagReq) String() string { return proto.CompactTextString(m) } func (*SetTagReq) ProtoMessage() {} func (*SetTagReq) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{9} + return fileDescriptor_office_fb25433b0aa4afaa, []int{9} } func (m *SetTagReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetTagReq.Unmarshal(m, b) @@ -543,7 +543,7 @@ func (m *SetTagResp) Reset() { *m = SetTagResp{} } func (m *SetTagResp) String() string { return proto.CompactTextString(m) } func (*SetTagResp) ProtoMessage() {} func (*SetTagResp) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{10} + return fileDescriptor_office_fb25433b0aa4afaa, []int{10} } func (m *SetTagResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetTagResp.Unmarshal(m, b) @@ -586,7 +586,7 @@ func (m *SendMsg2TagReq) Reset() { *m = SendMsg2TagReq{} } func (m *SendMsg2TagReq) String() string { return proto.CompactTextString(m) } func (*SendMsg2TagReq) ProtoMessage() {} func (*SendMsg2TagReq) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{11} + return fileDescriptor_office_fb25433b0aa4afaa, []int{11} } func (m *SendMsg2TagReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsg2TagReq.Unmarshal(m, b) @@ -659,7 +659,7 @@ func (m *SendMsg2TagResp) Reset() { *m = SendMsg2TagResp{} } func (m *SendMsg2TagResp) String() string { return proto.CompactTextString(m) } func (*SendMsg2TagResp) ProtoMessage() {} func (*SendMsg2TagResp) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{12} + return fileDescriptor_office_fb25433b0aa4afaa, []int{12} } func (m *SendMsg2TagResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsg2TagResp.Unmarshal(m, b) @@ -699,7 +699,7 @@ func (m *GetTagSendLogsReq) Reset() { *m = GetTagSendLogsReq{} } func (m *GetTagSendLogsReq) String() string { return proto.CompactTextString(m) } func (*GetTagSendLogsReq) ProtoMessage() {} func (*GetTagSendLogsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{13} + return fileDescriptor_office_fb25433b0aa4afaa, []int{13} } func (m *GetTagSendLogsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetTagSendLogsReq.Unmarshal(m, b) @@ -741,22 +741,22 @@ func (m *GetTagSendLogsReq) GetOperationID() string { } type TagSendLog struct { - TagID string `protobuf:"bytes,1,opt,name=tagID" json:"tagID,omitempty"` - TagName string `protobuf:"bytes,2,opt,name=tagName" json:"tagName,omitempty"` - ContentType int32 `protobuf:"varint,3,opt,name=contentType" json:"contentType,omitempty"` - Content string `protobuf:"bytes,4,opt,name=content" json:"content,omitempty"` - SendTime int64 `protobuf:"varint,5,opt,name=sendTime" json:"sendTime,omitempty"` - UserList []string `protobuf:"bytes,6,rep,name=userList" json:"userList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + TagID string `protobuf:"bytes,1,opt,name=tagID" json:"tagID,omitempty"` + TagName string `protobuf:"bytes,2,opt,name=tagName" json:"tagName,omitempty"` + ContentType int32 `protobuf:"varint,3,opt,name=contentType" json:"contentType,omitempty"` + Content string `protobuf:"bytes,4,opt,name=content" json:"content,omitempty"` + SendTime int64 `protobuf:"varint,5,opt,name=sendTime" json:"sendTime,omitempty"` + TagUserList []*TagUser `protobuf:"bytes,6,rep,name=TagUserList" json:"TagUserList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *TagSendLog) Reset() { *m = TagSendLog{} } func (m *TagSendLog) String() string { return proto.CompactTextString(m) } func (*TagSendLog) ProtoMessage() {} func (*TagSendLog) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{14} + return fileDescriptor_office_fb25433b0aa4afaa, []int{14} } func (m *TagSendLog) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TagSendLog.Unmarshal(m, b) @@ -811,9 +811,9 @@ func (m *TagSendLog) GetSendTime() int64 { return 0 } -func (m *TagSendLog) GetUserList() []string { +func (m *TagSendLog) GetTagUserList() []*TagUser { if m != nil { - return m.UserList + return m.TagUserList } return nil } @@ -831,7 +831,7 @@ func (m *GetTagSendLogsResp) Reset() { *m = GetTagSendLogsResp{} } func (m *GetTagSendLogsResp) String() string { return proto.CompactTextString(m) } func (*GetTagSendLogsResp) ProtoMessage() {} func (*GetTagSendLogsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{15} + return fileDescriptor_office_fb25433b0aa4afaa, []int{15} } func (m *GetTagSendLogsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetTagSendLogsResp.Unmarshal(m, b) @@ -1128,56 +1128,56 @@ var _OfficeService_serviceDesc = grpc.ServiceDesc{ Metadata: "office/office.proto", } -func init() { proto.RegisterFile("office/office.proto", fileDescriptor_office_4149f396a2012e50) } +func init() { proto.RegisterFile("office/office.proto", fileDescriptor_office_fb25433b0aa4afaa) } -var fileDescriptor_office_4149f396a2012e50 = []byte{ - // 762 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xc1, 0x6e, 0xd3, 0x4c, - 0x10, 0x96, 0x93, 0x26, 0x6d, 0x26, 0x6d, 0xf3, 0x77, 0xff, 0x52, 0x82, 0x0f, 0x10, 0x2c, 0x90, - 0x2a, 0x90, 0x12, 0x29, 0x70, 0x40, 0x42, 0x54, 0x88, 0xa4, 0xaa, 0x8a, 0x5a, 0x5a, 0x6d, 0xd3, - 0x0b, 0x07, 0xa2, 0x6d, 0x32, 0xb1, 0xac, 0x36, 0xb6, 0xbb, 0xbb, 0x6d, 0xc5, 0x95, 0x57, 0xe0, - 0x45, 0x78, 0x09, 0x24, 0xae, 0x3c, 0x10, 0x12, 0xf2, 0x7a, 0x6d, 0xaf, 0x9d, 0x44, 0x40, 0x4e, - 0xd9, 0x99, 0x9d, 0x99, 0x7c, 0xdf, 0x37, 0xbb, 0xb3, 0x86, 0xff, 0x83, 0xc9, 0xc4, 0x1b, 0x61, - 0x27, 0xfe, 0x69, 0x87, 0x3c, 0x90, 0x01, 0xa9, 0xc6, 0x96, 0xfd, 0xf8, 0x24, 0x44, 0x7f, 0x78, - 0x78, 0xdc, 0x09, 0x2f, 0xdd, 0x8e, 0xda, 0xea, 0x88, 0xf1, 0xe5, 0xf0, 0x4e, 0x74, 0xee, 0x44, - 0x1c, 0xea, 0xec, 0x01, 0xf4, 0x82, 0xe9, 0x34, 0xf0, 0x29, 0x8a, 0x90, 0x34, 0x61, 0x15, 0x39, - 0xef, 0x05, 0x63, 0x6c, 0x5a, 0x2d, 0x6b, 0xb7, 0x42, 0x13, 0x93, 0xec, 0x40, 0x15, 0x39, 0x3f, - 0x16, 0x6e, 0xb3, 0xd4, 0xb2, 0x76, 0x6b, 0x54, 0x5b, 0xce, 0x1b, 0x58, 0x1d, 0x30, 0xf7, 0x5c, - 0x20, 0x8f, 0x42, 0x6e, 0x04, 0xf2, 0xc3, 0xbe, 0xca, 0xad, 0x51, 0x6d, 0x11, 0x1b, 0xd6, 0xa2, - 0xd5, 0x07, 0x36, 0x45, 0x9d, 0x9c, 0xda, 0xce, 0x05, 0x94, 0x07, 0xcc, 0x25, 0xdb, 0x50, 0x91, - 0xcc, 0x4d, 0x33, 0x63, 0x23, 0x42, 0x23, 0x99, 0x6b, 0xe4, 0x25, 0x26, 0x79, 0x1e, 0x97, 0x3c, - 0xf2, 0x84, 0x6c, 0x96, 0x5b, 0xe5, 0xdd, 0x7a, 0xb7, 0xd1, 0xd6, 0x0a, 0x68, 0x34, 0x34, 0x0d, - 0x70, 0xde, 0xc3, 0xe6, 0x01, 0xca, 0xc8, 0x39, 0x60, 0xae, 0xa0, 0x78, 0xbd, 0x10, 0x69, 0x0b, - 0xea, 0x41, 0x88, 0x9c, 0x49, 0x2f, 0xf0, 0x0f, 0xfb, 0xfa, 0x4f, 0x4d, 0x97, 0x33, 0x81, 0x46, - 0xae, 0x96, 0x08, 0x49, 0x17, 0x60, 0x94, 0x2a, 0xa8, 0x0a, 0xd6, 0xbb, 0x24, 0x41, 0x93, 0x69, - 0x4b, 0x8d, 0x28, 0xf2, 0x08, 0x56, 0x24, 0x73, 0x45, 0xb3, 0xa4, 0xb0, 0xd7, 0x0d, 0xec, 0x54, - 0x6d, 0x38, 0x5f, 0x2c, 0x58, 0xef, 0x71, 0x64, 0x12, 0x23, 0x1f, 0x5e, 0x9b, 0x5a, 0x58, 0x79, - 0x2d, 0x32, 0x32, 0xa5, 0x1c, 0x99, 0x87, 0x00, 0xf1, 0x2a, 0x55, 0xa9, 0x46, 0x0d, 0x4f, 0x91, - 0xec, 0xca, 0x2c, 0xd9, 0x1e, 0x6c, 0x18, 0x18, 0x96, 0xa3, 0xea, 0x7c, 0x82, 0xf5, 0x3e, 0x5e, - 0x61, 0x4a, 0x64, 0x91, 0xf6, 0xe9, 0x11, 0x28, 0x99, 0x47, 0xa0, 0x00, 0xb2, 0x3c, 0x17, 0xa4, - 0x51, 0x7f, 0x49, 0x90, 0x3f, 0x2d, 0xa8, 0x9d, 0xa1, 0x5c, 0x0a, 0x62, 0x13, 0x56, 0x7d, 0xbc, - 0x53, 0x9d, 0x89, 0xe1, 0x25, 0x26, 0x69, 0x03, 0xf1, 0xfc, 0x11, 0x47, 0x26, 0xf0, 0x3c, 0xeb, - 0xc4, 0x8a, 0xea, 0xc4, 0x9c, 0x1d, 0xf2, 0x0c, 0xfe, 0xe3, 0x38, 0xbe, 0x19, 0x99, 0xd1, 0x15, - 0x15, 0x3d, 0xe3, 0x2f, 0x0a, 0x53, 0x9d, 0x15, 0xe6, 0x2d, 0x40, 0x42, 0x69, 0x49, 0x55, 0x7e, - 0x58, 0xb0, 0x79, 0x86, 0xfe, 0xf8, 0x58, 0xb8, 0x5d, 0x2d, 0xcd, 0xfc, 0x8b, 0xba, 0x03, 0x55, - 0x81, 0xfe, 0x38, 0x3b, 0x82, 0xb1, 0x15, 0x11, 0x8a, 0x56, 0xc8, 0x4f, 0xaf, 0x98, 0x9c, 0x04, - 0x7c, 0xaa, 0x5b, 0x58, 0xa1, 0x33, 0xfe, 0x48, 0xc6, 0x51, 0xe0, 0x4b, 0xf4, 0xa5, 0x3e, 0x8a, - 0x89, 0x19, 0x51, 0xd5, 0xcb, 0xc1, 0xe7, 0x10, 0x9b, 0x15, 0x55, 0xc0, 0x74, 0xfd, 0x85, 0x18, - 0xfb, 0xd0, 0xc8, 0x31, 0x59, 0x52, 0x91, 0xaf, 0x16, 0x6c, 0x1d, 0x28, 0x51, 0xa3, 0x6a, 0x47, - 0x41, 0x3c, 0x4e, 0xfa, 0x00, 0xa7, 0xcc, 0xf5, 0x7c, 0xf5, 0x67, 0xba, 0xd2, 0x93, 0xb6, 0x40, - 0x7e, 0x8b, 0x7c, 0xc8, 0x42, 0x6f, 0x18, 0x32, 0xce, 0xa6, 0xa2, 0x4d, 0xf1, 0xfa, 0x06, 0x85, - 0xcc, 0x62, 0xa9, 0x91, 0xb7, 0xf0, 0x1e, 0xff, 0xf9, 0x0a, 0x7c, 0xb3, 0x00, 0x32, 0x48, 0xff, - 0x3c, 0x4c, 0x0b, 0xfa, 0x96, 0x67, 0xf5, 0x5d, 0xdc, 0x1b, 0x1b, 0xd6, 0xa2, 0x4e, 0x0e, 0xbc, - 0x69, 0xdc, 0x98, 0x32, 0x4d, 0xed, 0x64, 0xee, 0xab, 0x63, 0x5c, 0x55, 0xc7, 0x38, 0x9b, 0xc9, - 0xdf, 0x2d, 0x20, 0x45, 0x21, 0x97, 0x9c, 0xa5, 0xfb, 0x39, 0xf5, 0x4b, 0x2a, 0xe7, 0xe9, 0x5c, - 0xf5, 0x45, 0x18, 0xf8, 0x02, 0x17, 0xc8, 0xff, 0x12, 0xea, 0x32, 0x43, 0xa3, 0x5f, 0x15, 0x62, - 0x4c, 0x66, 0xbd, 0x45, 0xcd, 0xb0, 0xee, 0xaf, 0x12, 0x6c, 0x9c, 0xa8, 0x90, 0x33, 0xe4, 0xb7, - 0xde, 0x08, 0xc9, 0x1e, 0xd4, 0x8d, 0x17, 0x82, 0xec, 0x24, 0x15, 0xf2, 0x4f, 0x90, 0x7d, 0x7f, - 0xae, 0x5f, 0x84, 0xe4, 0x15, 0xd4, 0xd2, 0xa1, 0x4b, 0xb6, 0x53, 0xee, 0xc6, 0x5b, 0x60, 0xdf, - 0x9b, 0xe3, 0x8d, 0x33, 0xd3, 0x49, 0x98, 0x65, 0x9a, 0xc3, 0x37, 0xcb, 0xcc, 0x8f, 0xcc, 0x0e, - 0x54, 0xe3, 0x51, 0x41, 0xb6, 0x92, 0x80, 0x74, 0x1a, 0xda, 0xa4, 0xe8, 0x12, 0x61, 0x44, 0xd2, - 0xb8, 0x4e, 0x19, 0xc9, 0xfc, 0xb4, 0xc8, 0x48, 0x16, 0xef, 0xde, 0x81, 0x7a, 0x92, 0x8d, 0xee, - 0x93, 0x07, 0x86, 0x1e, 0xf9, 0xeb, 0x65, 0xdb, 0x8b, 0xb6, 0x44, 0xf8, 0x6e, 0xeb, 0x63, 0xa3, - 0xad, 0xbf, 0x7d, 0x5e, 0xc7, 0x3f, 0x17, 0x55, 0xf5, 0x61, 0xf3, 0xe2, 0x77, 0x00, 0x00, 0x00, - 0xff, 0xff, 0x62, 0x7d, 0x95, 0x4e, 0x1a, 0x09, 0x00, 0x00, +var fileDescriptor_office_fb25433b0aa4afaa = []byte{ + // 764 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x41, 0x6f, 0xd3, 0x4a, + 0x10, 0x96, 0x93, 0x26, 0x6d, 0x26, 0x6d, 0xf3, 0xba, 0xaf, 0xaf, 0x2f, 0xf8, 0x00, 0xc1, 0x02, + 0xa9, 0x02, 0x29, 0x11, 0x81, 0x03, 0x12, 0xa2, 0x42, 0x24, 0x55, 0x55, 0xd4, 0xd2, 0x6a, 0x9b, + 0x5e, 0x38, 0x10, 0x6d, 0x93, 0x89, 0x65, 0xb5, 0xb1, 0xdd, 0xdd, 0x6d, 0x2b, 0xae, 0xfc, 0x05, + 0x7e, 0x13, 0x82, 0x2b, 0x3f, 0x08, 0x09, 0x79, 0xbd, 0xb6, 0xd7, 0x89, 0x23, 0x20, 0xa7, 0xec, + 0xcc, 0xce, 0x4c, 0xbe, 0xef, 0x9b, 0xdd, 0x59, 0xc3, 0xbf, 0xc1, 0x64, 0xe2, 0x8d, 0xb0, 0x13, + 0xff, 0xb4, 0x43, 0x1e, 0xc8, 0x80, 0x54, 0x63, 0xcb, 0x7e, 0x78, 0x12, 0xa2, 0x3f, 0x3c, 0x3c, + 0xee, 0x84, 0x97, 0x6e, 0x47, 0x6d, 0x75, 0xc4, 0xf8, 0x72, 0x78, 0x27, 0x3a, 0x77, 0x22, 0x0e, + 0x75, 0xf6, 0x00, 0x7a, 0xc1, 0x74, 0x1a, 0xf8, 0x14, 0x45, 0x48, 0x9a, 0xb0, 0x8a, 0x9c, 0xf7, + 0x82, 0x31, 0x36, 0xad, 0x96, 0xb5, 0x5b, 0xa1, 0x89, 0x49, 0x76, 0xa0, 0x8a, 0x9c, 0x1f, 0x0b, + 0xb7, 0x59, 0x6a, 0x59, 0xbb, 0x35, 0xaa, 0x2d, 0xe7, 0x35, 0xac, 0x0e, 0x98, 0x7b, 0x2e, 0x90, + 0x47, 0x21, 0x37, 0x02, 0xf9, 0x61, 0x5f, 0xe5, 0xd6, 0xa8, 0xb6, 0x88, 0x0d, 0x6b, 0xd1, 0xea, + 0x3d, 0x9b, 0xa2, 0x4e, 0x4e, 0x6d, 0xe7, 0x02, 0xca, 0x03, 0xe6, 0x92, 0x6d, 0xa8, 0x48, 0xe6, + 0xa6, 0x99, 0xb1, 0x11, 0xa1, 0x91, 0xcc, 0x35, 0xf2, 0x12, 0x93, 0x3c, 0x8d, 0x4b, 0x1e, 0x79, + 0x42, 0x36, 0xcb, 0xad, 0xf2, 0x6e, 0xbd, 0xdb, 0x68, 0x6b, 0x05, 0x34, 0x1a, 0x9a, 0x06, 0x38, + 0xef, 0x60, 0xf3, 0x00, 0x65, 0xe4, 0x1c, 0x30, 0x57, 0x50, 0xbc, 0x5e, 0x88, 0xb4, 0x05, 0xf5, + 0x20, 0x44, 0xce, 0xa4, 0x17, 0xf8, 0x87, 0x7d, 0xfd, 0xa7, 0xa6, 0xcb, 0x99, 0x40, 0x23, 0x57, + 0x4b, 0x84, 0xa4, 0x0b, 0x30, 0x4a, 0x15, 0x54, 0x05, 0xeb, 0x5d, 0x92, 0xa0, 0xc9, 0xb4, 0xa5, + 0x46, 0x14, 0x79, 0x00, 0x2b, 0x92, 0xb9, 0xa2, 0x59, 0x52, 0xd8, 0xeb, 0x06, 0x76, 0xaa, 0x36, + 0x9c, 0xcf, 0x16, 0xac, 0xf7, 0x38, 0x32, 0x89, 0x91, 0x0f, 0xaf, 0x4d, 0x2d, 0xac, 0xbc, 0x16, + 0x19, 0x99, 0x52, 0x8e, 0xcc, 0x7d, 0x80, 0x78, 0x95, 0xaa, 0x54, 0xa3, 0x86, 0x67, 0x96, 0xec, + 0xca, 0x3c, 0xd9, 0x1e, 0x6c, 0x18, 0x18, 0x96, 0xa3, 0xea, 0x7c, 0x84, 0xf5, 0x3e, 0x5e, 0x61, + 0x4a, 0x64, 0x91, 0xf6, 0xe9, 0x11, 0x28, 0x99, 0x47, 0x60, 0x06, 0x64, 0xb9, 0x10, 0xa4, 0x51, + 0x7f, 0x49, 0x90, 0x3f, 0x2c, 0xa8, 0x9d, 0xa1, 0x5c, 0x0a, 0x62, 0x13, 0x56, 0x7d, 0xbc, 0x53, + 0x9d, 0x89, 0xe1, 0x25, 0x26, 0x69, 0x03, 0xf1, 0xfc, 0x11, 0x47, 0x26, 0xf0, 0x3c, 0xeb, 0xc4, + 0x8a, 0xea, 0x44, 0xc1, 0x0e, 0x79, 0x02, 0xff, 0x70, 0x1c, 0xdf, 0x8c, 0xcc, 0xe8, 0x8a, 0x8a, + 0x9e, 0xf3, 0xcf, 0x0a, 0x53, 0x9d, 0x17, 0xe6, 0x0d, 0x40, 0x42, 0x69, 0x49, 0x55, 0xbe, 0x5b, + 0xb0, 0x79, 0x86, 0xfe, 0xf8, 0x58, 0xb8, 0x5d, 0x2d, 0x4d, 0xf1, 0x45, 0xdd, 0x81, 0xaa, 0x40, + 0x7f, 0x9c, 0x1d, 0xc1, 0xd8, 0x8a, 0x08, 0x45, 0x2b, 0xe4, 0xa7, 0x57, 0x4c, 0x4e, 0x02, 0x3e, + 0xd5, 0x2d, 0xac, 0xd0, 0x39, 0x7f, 0x24, 0xe3, 0x28, 0xf0, 0x25, 0xfa, 0x52, 0x1f, 0xc5, 0xc4, + 0x8c, 0xa8, 0xea, 0xe5, 0xe0, 0x53, 0x88, 0xcd, 0x8a, 0x2a, 0x60, 0xba, 0xfe, 0x40, 0x8c, 0x7d, + 0x68, 0xe4, 0x98, 0x2c, 0xa9, 0xc8, 0x17, 0x0b, 0xb6, 0x0e, 0x94, 0xa8, 0x51, 0xb5, 0xa3, 0x20, + 0x1e, 0x27, 0x7d, 0x80, 0x53, 0xe6, 0x7a, 0xbe, 0xfa, 0x33, 0x5d, 0xe9, 0x51, 0x5b, 0x20, 0xbf, + 0x45, 0x3e, 0x64, 0xa1, 0x37, 0x0c, 0x19, 0x67, 0x53, 0xd1, 0xa6, 0x78, 0x7d, 0x83, 0x42, 0x66, + 0xb1, 0xd4, 0xc8, 0x5b, 0x78, 0x8f, 0x7f, 0x7f, 0x05, 0xbe, 0x59, 0x00, 0x19, 0xa4, 0xbf, 0x1e, + 0xa6, 0x33, 0xfa, 0x96, 0xe7, 0xf5, 0x5d, 0xdc, 0x1b, 0x1b, 0xd6, 0xa2, 0x4e, 0x0e, 0xbc, 0x69, + 0xdc, 0x98, 0x32, 0x4d, 0x6d, 0xf2, 0x0c, 0xea, 0x7a, 0x18, 0xab, 0x93, 0x5c, 0x2d, 0x9e, 0xd3, + 0x66, 0x8c, 0xf3, 0xd5, 0x02, 0x32, 0xab, 0xef, 0x92, 0x23, 0x76, 0x3f, 0xd7, 0x94, 0x92, 0xca, + 0x79, 0x5c, 0xd8, 0x14, 0x11, 0x06, 0xbe, 0xc0, 0x05, 0x5d, 0x79, 0x01, 0x75, 0x99, 0xa1, 0xd1, + 0x8f, 0x0d, 0x31, 0x48, 0xe8, 0x2d, 0x6a, 0x86, 0x75, 0x7f, 0x96, 0x60, 0xe3, 0x44, 0x85, 0x9c, + 0x21, 0xbf, 0xf5, 0x46, 0x48, 0xf6, 0xa0, 0x6e, 0x3c, 0x1c, 0x64, 0x27, 0xa9, 0x90, 0x7f, 0x99, + 0xec, 0xff, 0x0b, 0xfd, 0x22, 0x24, 0x2f, 0xa1, 0x96, 0xce, 0x62, 0xb2, 0x9d, 0x72, 0x37, 0x9e, + 0x08, 0xfb, 0xbf, 0x02, 0x6f, 0x9c, 0x99, 0x0e, 0xc8, 0x2c, 0xd3, 0x9c, 0xc9, 0x59, 0x66, 0x7e, + 0x92, 0x76, 0xa0, 0x1a, 0x4f, 0x10, 0xb2, 0x95, 0x04, 0xa4, 0x43, 0xd2, 0x26, 0xb3, 0x2e, 0x11, + 0x46, 0x24, 0x8d, 0x5b, 0x96, 0x91, 0xcc, 0x0f, 0x91, 0x8c, 0xe4, 0xec, 0x95, 0x3c, 0x50, 0x2f, + 0xb5, 0xd1, 0x7d, 0x72, 0xcf, 0xd0, 0x23, 0x7f, 0xeb, 0x6c, 0x7b, 0xd1, 0x96, 0x08, 0xdf, 0x6e, + 0x7d, 0x68, 0xb4, 0xf5, 0x27, 0xd1, 0xab, 0xf8, 0xe7, 0xa2, 0xaa, 0xbe, 0x77, 0x9e, 0xff, 0x0a, + 0x00, 0x00, 0xff, 0xff, 0xee, 0x5a, 0x78, 0x47, 0x31, 0x09, 0x00, 0x00, } diff --git a/pkg/proto/office/office.proto b/pkg/proto/office/office.proto index 0e675a25a..6003d6306 100644 --- a/pkg/proto/office/office.proto +++ b/pkg/proto/office/office.proto @@ -88,7 +88,7 @@ message TagSendLog { int32 contentType = 3; string content = 4; int64 sendTime = 5; - repeated string userList = 6; + repeated TagUser TagUserList = 6; } message GetTagSendLogsResp { From 6c45665fde6e941b178825e472b105c30407e515 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 28 Mar 2022 18:30:12 +0800 Subject: [PATCH 121/129] add tag message conversation update --- internal/msg_gateway/gate/validate.go | 1 + internal/rpc/msg/send_msg.go | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/internal/msg_gateway/gate/validate.go b/internal/msg_gateway/gate/validate.go index ea6891a33..378cbf1a7 100644 --- a/internal/msg_gateway/gate/validate.go +++ b/internal/msg_gateway/gate/validate.go @@ -134,6 +134,7 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq, operationID s utils.SetSwitchFromOptions(options, constant.IsPersistent, false) utils.SetSwitchFromOptions(options, constant.IsSenderSync, true) utils.SetSwitchFromOptions(options, constant.IsConversationUpdate, false) + utils.SetSwitchFromOptions(options, constant.IsSenderConversationUpdate, false) utils.SetSwitchFromOptions(options, constant.IsUnreadCount, false) utils.SetSwitchFromOptions(options, constant.IsOfflinePush, true) msg.Options = options diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index 0e2d45192..2820bd8ad 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -116,6 +116,7 @@ func (rpc *rpcChat) encapsulateMsgData(msg *sdk_ws.MsgData) { case constant.HasReadReceipt: log.Info("", "this is a test start", msg, msg.Options) utils.SetSwitchFromOptions(msg.Options, constant.IsConversationUpdate, false) + utils.SetSwitchFromOptions(msg.Options, constant.IsSenderConversationUpdate, false) utils.SetSwitchFromOptions(msg.Options, constant.IsUnreadCount, false) utils.SetSwitchFromOptions(msg.Options, constant.IsOfflinePush, false) log.Info("", "this is a test end", msg, msg.Options) @@ -124,6 +125,7 @@ func (rpc *rpcChat) encapsulateMsgData(msg *sdk_ws.MsgData) { utils.SetSwitchFromOptions(msg.Options, constant.IsPersistent, false) utils.SetSwitchFromOptions(msg.Options, constant.IsSenderSync, false) utils.SetSwitchFromOptions(msg.Options, constant.IsConversationUpdate, false) + utils.SetSwitchFromOptions(msg.Options, constant.IsSenderConversationUpdate, false) utils.SetSwitchFromOptions(msg.Options, constant.IsUnreadCount, false) utils.SetSwitchFromOptions(msg.Options, constant.IsOfflinePush, false) @@ -517,8 +519,10 @@ func Notification(n *NotificationMsg) { utils.SetSwitchFromOptions(msg.Options, constant.IsHistory, false) utils.SetSwitchFromOptions(msg.Options, constant.IsPersistent, false) utils.SetSwitchFromOptions(msg.Options, constant.IsConversationUpdate, false) + utils.SetSwitchFromOptions(msg.Options, constant.IsSenderConversationUpdate, false) case constant.ReliableNotificationNoMsg: utils.SetSwitchFromOptions(msg.Options, constant.IsConversationUpdate, false) + utils.SetSwitchFromOptions(msg.Options, constant.IsSenderConversationUpdate, false) case constant.ReliableNotificationMsg: } From e95400988e4a6bfca0b56e098a7b915614ff186c Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 28 Mar 2022 18:51:48 +0800 Subject: [PATCH 122/129] tag --- internal/rpc/office/office.go | 18 +--- pkg/common/db/mongoModel.go | 28 ++---- pkg/proto/office/office.pb.go | 157 ++++++++++++++++------------------ pkg/proto/office/office.proto | 1 - 4 files changed, 82 insertions(+), 122 deletions(-) diff --git a/internal/rpc/office/office.go b/internal/rpc/office/office.go index ab66f74d4..e180fb56d 100644 --- a/internal/rpc/office/office.go +++ b/internal/rpc/office/office.go @@ -178,23 +178,7 @@ func (s *officeServer) GetTagSendLogs(_ context.Context, req *pbOffice.GetTagSen resp.CommonResp.ErrCode = constant.ErrDB.ErrCode return resp, nil } - for _, v := range tagSendLogs { - var userList []*pbOffice.TagUser - for _, v2 := range v.TagUserList { - userList = append(userList, &pbOffice.TagUser{ - UserID: v2.UserID, - UserName: v2.UserName, - }) - } - resp.TagSendLogs = append(resp.TagSendLogs, &pbOffice.TagSendLog{ - TagID: v.TagID, - TagName: v.TagName, - ContentType: v.ContentType, - Content: v.Content, - SendTime: v.SendTime, - TagUserList: userList, - }) - } + utils.CopyStructFields(resp.TagSendLogs, tagSendLogs) log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) return resp, nil } diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go index 1a262f823..383b6fc33 100644 --- a/pkg/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -3,7 +3,6 @@ package db import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" - "Open_IM/pkg/common/db/mysql_model/im_mysql_model" "Open_IM/pkg/common/log" pbMsg "Open_IM/pkg/proto/chat" officePb "Open_IM/pkg/proto/office" @@ -527,14 +526,13 @@ type TagUser struct { } type TagSendLog struct { - TagID string `bson:"tagID"` - TagName string `bson:"tagName"` - SendID string `bson:"sendID"` - SenderPlatformID int32 `bson:"senderPlatformID"` - Content string `bson:"content"` - ContentType int32 `bson:"contentType"` - SendTime int64 `bson:"sendTime"` - TagUserList []TagUser `bson:"userList"` + TagID string `bson:"tagID"` + TagName string `bson:"tagName"` + SendID string `bson:"sendID"` + SenderPlatformID int32 `bson:"senderPlatformID"` + Content string `bson:"content"` + ContentType int32 `bson:"contentType"` + SendTime int64 `bson:"sendTime"` } func (d *DataBases) SaveTagSendLog(sendReq *officePb.SendMsg2TagReq) error { @@ -552,18 +550,6 @@ func (d *DataBases) SaveTagSendLog(sendReq *officePb.SendMsg2TagReq) error { ContentType: sendReq.ContentType, SendTime: time.Now().Unix(), } - for _, userID := range tag.UserList { - userName, err := im_mysql_model.GetUserNameByUserID(userID) - if err != nil { - log.NewError("", utils.GetSelfFuncName(), "GetUserNameByUserID failed", err.Error()) - continue - } - tagUser := TagUser{ - UserID: userID, - UserName: userName, - } - tagSendLog.TagUserList = append(tagSendLog.TagUserList, tagUser) - } _, err := c.InsertOne(ctx, tagSendLog) return err } diff --git a/pkg/proto/office/office.pb.go b/pkg/proto/office/office.pb.go index a3d7c9da0..b7ee98a38 100644 --- a/pkg/proto/office/office.pb.go +++ b/pkg/proto/office/office.pb.go @@ -36,7 +36,7 @@ func (m *CommonResp) Reset() { *m = CommonResp{} } func (m *CommonResp) String() string { return proto.CompactTextString(m) } func (*CommonResp) ProtoMessage() {} func (*CommonResp) Descriptor() ([]byte, []int) { - return fileDescriptor_office_fb25433b0aa4afaa, []int{0} + return fileDescriptor_office_8580c3f7b2871da9, []int{0} } func (m *CommonResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommonResp.Unmarshal(m, b) @@ -82,7 +82,7 @@ func (m *TagUser) Reset() { *m = TagUser{} } func (m *TagUser) String() string { return proto.CompactTextString(m) } func (*TagUser) ProtoMessage() {} func (*TagUser) Descriptor() ([]byte, []int) { - return fileDescriptor_office_fb25433b0aa4afaa, []int{1} + return fileDescriptor_office_8580c3f7b2871da9, []int{1} } func (m *TagUser) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TagUser.Unmarshal(m, b) @@ -129,7 +129,7 @@ func (m *Tag) Reset() { *m = Tag{} } func (m *Tag) String() string { return proto.CompactTextString(m) } func (*Tag) ProtoMessage() {} func (*Tag) Descriptor() ([]byte, []int) { - return fileDescriptor_office_fb25433b0aa4afaa, []int{2} + return fileDescriptor_office_8580c3f7b2871da9, []int{2} } func (m *Tag) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Tag.Unmarshal(m, b) @@ -182,7 +182,7 @@ func (m *GetUserTagsReq) Reset() { *m = GetUserTagsReq{} } func (m *GetUserTagsReq) String() string { return proto.CompactTextString(m) } func (*GetUserTagsReq) ProtoMessage() {} func (*GetUserTagsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_office_fb25433b0aa4afaa, []int{3} + return fileDescriptor_office_8580c3f7b2871da9, []int{3} } func (m *GetUserTagsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserTagsReq.Unmarshal(m, b) @@ -228,7 +228,7 @@ func (m *GetUserTagsResp) Reset() { *m = GetUserTagsResp{} } func (m *GetUserTagsResp) String() string { return proto.CompactTextString(m) } func (*GetUserTagsResp) ProtoMessage() {} func (*GetUserTagsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_office_fb25433b0aa4afaa, []int{4} + return fileDescriptor_office_8580c3f7b2871da9, []int{4} } func (m *GetUserTagsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserTagsResp.Unmarshal(m, b) @@ -276,7 +276,7 @@ func (m *CreateTagReq) Reset() { *m = CreateTagReq{} } func (m *CreateTagReq) String() string { return proto.CompactTextString(m) } func (*CreateTagReq) ProtoMessage() {} func (*CreateTagReq) Descriptor() ([]byte, []int) { - return fileDescriptor_office_fb25433b0aa4afaa, []int{5} + return fileDescriptor_office_8580c3f7b2871da9, []int{5} } func (m *CreateTagReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateTagReq.Unmarshal(m, b) @@ -335,7 +335,7 @@ func (m *CreateTagResp) Reset() { *m = CreateTagResp{} } func (m *CreateTagResp) String() string { return proto.CompactTextString(m) } func (*CreateTagResp) ProtoMessage() {} func (*CreateTagResp) Descriptor() ([]byte, []int) { - return fileDescriptor_office_fb25433b0aa4afaa, []int{6} + return fileDescriptor_office_8580c3f7b2871da9, []int{6} } func (m *CreateTagResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateTagResp.Unmarshal(m, b) @@ -375,7 +375,7 @@ func (m *DeleteTagReq) Reset() { *m = DeleteTagReq{} } func (m *DeleteTagReq) String() string { return proto.CompactTextString(m) } func (*DeleteTagReq) ProtoMessage() {} func (*DeleteTagReq) Descriptor() ([]byte, []int) { - return fileDescriptor_office_fb25433b0aa4afaa, []int{7} + return fileDescriptor_office_8580c3f7b2871da9, []int{7} } func (m *DeleteTagReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteTagReq.Unmarshal(m, b) @@ -427,7 +427,7 @@ func (m *DeleteTagResp) Reset() { *m = DeleteTagResp{} } func (m *DeleteTagResp) String() string { return proto.CompactTextString(m) } func (*DeleteTagResp) ProtoMessage() {} func (*DeleteTagResp) Descriptor() ([]byte, []int) { - return fileDescriptor_office_fb25433b0aa4afaa, []int{8} + return fileDescriptor_office_8580c3f7b2871da9, []int{8} } func (m *DeleteTagResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteTagResp.Unmarshal(m, b) @@ -470,7 +470,7 @@ func (m *SetTagReq) Reset() { *m = SetTagReq{} } func (m *SetTagReq) String() string { return proto.CompactTextString(m) } func (*SetTagReq) ProtoMessage() {} func (*SetTagReq) Descriptor() ([]byte, []int) { - return fileDescriptor_office_fb25433b0aa4afaa, []int{9} + return fileDescriptor_office_8580c3f7b2871da9, []int{9} } func (m *SetTagReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetTagReq.Unmarshal(m, b) @@ -543,7 +543,7 @@ func (m *SetTagResp) Reset() { *m = SetTagResp{} } func (m *SetTagResp) String() string { return proto.CompactTextString(m) } func (*SetTagResp) ProtoMessage() {} func (*SetTagResp) Descriptor() ([]byte, []int) { - return fileDescriptor_office_fb25433b0aa4afaa, []int{10} + return fileDescriptor_office_8580c3f7b2871da9, []int{10} } func (m *SetTagResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetTagResp.Unmarshal(m, b) @@ -586,7 +586,7 @@ func (m *SendMsg2TagReq) Reset() { *m = SendMsg2TagReq{} } func (m *SendMsg2TagReq) String() string { return proto.CompactTextString(m) } func (*SendMsg2TagReq) ProtoMessage() {} func (*SendMsg2TagReq) Descriptor() ([]byte, []int) { - return fileDescriptor_office_fb25433b0aa4afaa, []int{11} + return fileDescriptor_office_8580c3f7b2871da9, []int{11} } func (m *SendMsg2TagReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsg2TagReq.Unmarshal(m, b) @@ -659,7 +659,7 @@ func (m *SendMsg2TagResp) Reset() { *m = SendMsg2TagResp{} } func (m *SendMsg2TagResp) String() string { return proto.CompactTextString(m) } func (*SendMsg2TagResp) ProtoMessage() {} func (*SendMsg2TagResp) Descriptor() ([]byte, []int) { - return fileDescriptor_office_fb25433b0aa4afaa, []int{12} + return fileDescriptor_office_8580c3f7b2871da9, []int{12} } func (m *SendMsg2TagResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsg2TagResp.Unmarshal(m, b) @@ -699,7 +699,7 @@ func (m *GetTagSendLogsReq) Reset() { *m = GetTagSendLogsReq{} } func (m *GetTagSendLogsReq) String() string { return proto.CompactTextString(m) } func (*GetTagSendLogsReq) ProtoMessage() {} func (*GetTagSendLogsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_office_fb25433b0aa4afaa, []int{13} + return fileDescriptor_office_8580c3f7b2871da9, []int{13} } func (m *GetTagSendLogsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetTagSendLogsReq.Unmarshal(m, b) @@ -741,22 +741,21 @@ func (m *GetTagSendLogsReq) GetOperationID() string { } type TagSendLog struct { - TagID string `protobuf:"bytes,1,opt,name=tagID" json:"tagID,omitempty"` - TagName string `protobuf:"bytes,2,opt,name=tagName" json:"tagName,omitempty"` - ContentType int32 `protobuf:"varint,3,opt,name=contentType" json:"contentType,omitempty"` - Content string `protobuf:"bytes,4,opt,name=content" json:"content,omitempty"` - SendTime int64 `protobuf:"varint,5,opt,name=sendTime" json:"sendTime,omitempty"` - TagUserList []*TagUser `protobuf:"bytes,6,rep,name=TagUserList" json:"TagUserList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + TagID string `protobuf:"bytes,1,opt,name=tagID" json:"tagID,omitempty"` + TagName string `protobuf:"bytes,2,opt,name=tagName" json:"tagName,omitempty"` + ContentType int32 `protobuf:"varint,3,opt,name=contentType" json:"contentType,omitempty"` + Content string `protobuf:"bytes,4,opt,name=content" json:"content,omitempty"` + SendTime int64 `protobuf:"varint,5,opt,name=sendTime" json:"sendTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *TagSendLog) Reset() { *m = TagSendLog{} } func (m *TagSendLog) String() string { return proto.CompactTextString(m) } func (*TagSendLog) ProtoMessage() {} func (*TagSendLog) Descriptor() ([]byte, []int) { - return fileDescriptor_office_fb25433b0aa4afaa, []int{14} + return fileDescriptor_office_8580c3f7b2871da9, []int{14} } func (m *TagSendLog) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TagSendLog.Unmarshal(m, b) @@ -811,13 +810,6 @@ func (m *TagSendLog) GetSendTime() int64 { return 0 } -func (m *TagSendLog) GetTagUserList() []*TagUser { - if m != nil { - return m.TagUserList - } - return nil -} - type GetTagSendLogsResp struct { CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` @@ -831,7 +823,7 @@ func (m *GetTagSendLogsResp) Reset() { *m = GetTagSendLogsResp{} } func (m *GetTagSendLogsResp) String() string { return proto.CompactTextString(m) } func (*GetTagSendLogsResp) ProtoMessage() {} func (*GetTagSendLogsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_office_fb25433b0aa4afaa, []int{15} + return fileDescriptor_office_8580c3f7b2871da9, []int{15} } func (m *GetTagSendLogsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetTagSendLogsResp.Unmarshal(m, b) @@ -1128,56 +1120,55 @@ var _OfficeService_serviceDesc = grpc.ServiceDesc{ Metadata: "office/office.proto", } -func init() { proto.RegisterFile("office/office.proto", fileDescriptor_office_fb25433b0aa4afaa) } +func init() { proto.RegisterFile("office/office.proto", fileDescriptor_office_8580c3f7b2871da9) } -var fileDescriptor_office_fb25433b0aa4afaa = []byte{ - // 764 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x41, 0x6f, 0xd3, 0x4a, - 0x10, 0x96, 0x93, 0x26, 0x6d, 0x26, 0x6d, 0xf3, 0xba, 0xaf, 0xaf, 0x2f, 0xf8, 0x00, 0xc1, 0x02, - 0xa9, 0x02, 0x29, 0x11, 0x81, 0x03, 0x12, 0xa2, 0x42, 0x24, 0x55, 0x55, 0xd4, 0xd2, 0x6a, 0x9b, - 0x5e, 0x38, 0x10, 0x6d, 0x93, 0x89, 0x65, 0xb5, 0xb1, 0xdd, 0xdd, 0x6d, 0x2b, 0xae, 0xfc, 0x05, - 0x7e, 0x13, 0x82, 0x2b, 0x3f, 0x08, 0x09, 0x79, 0xbd, 0xb6, 0xd7, 0x89, 0x23, 0x20, 0xa7, 0xec, - 0xcc, 0xce, 0x4c, 0xbe, 0xef, 0x9b, 0xdd, 0x59, 0xc3, 0xbf, 0xc1, 0x64, 0xe2, 0x8d, 0xb0, 0x13, - 0xff, 0xb4, 0x43, 0x1e, 0xc8, 0x80, 0x54, 0x63, 0xcb, 0x7e, 0x78, 0x12, 0xa2, 0x3f, 0x3c, 0x3c, - 0xee, 0x84, 0x97, 0x6e, 0x47, 0x6d, 0x75, 0xc4, 0xf8, 0x72, 0x78, 0x27, 0x3a, 0x77, 0x22, 0x0e, - 0x75, 0xf6, 0x00, 0x7a, 0xc1, 0x74, 0x1a, 0xf8, 0x14, 0x45, 0x48, 0x9a, 0xb0, 0x8a, 0x9c, 0xf7, - 0x82, 0x31, 0x36, 0xad, 0x96, 0xb5, 0x5b, 0xa1, 0x89, 0x49, 0x76, 0xa0, 0x8a, 0x9c, 0x1f, 0x0b, - 0xb7, 0x59, 0x6a, 0x59, 0xbb, 0x35, 0xaa, 0x2d, 0xe7, 0x35, 0xac, 0x0e, 0x98, 0x7b, 0x2e, 0x90, - 0x47, 0x21, 0x37, 0x02, 0xf9, 0x61, 0x5f, 0xe5, 0xd6, 0xa8, 0xb6, 0x88, 0x0d, 0x6b, 0xd1, 0xea, - 0x3d, 0x9b, 0xa2, 0x4e, 0x4e, 0x6d, 0xe7, 0x02, 0xca, 0x03, 0xe6, 0x92, 0x6d, 0xa8, 0x48, 0xe6, - 0xa6, 0x99, 0xb1, 0x11, 0xa1, 0x91, 0xcc, 0x35, 0xf2, 0x12, 0x93, 0x3c, 0x8d, 0x4b, 0x1e, 0x79, - 0x42, 0x36, 0xcb, 0xad, 0xf2, 0x6e, 0xbd, 0xdb, 0x68, 0x6b, 0x05, 0x34, 0x1a, 0x9a, 0x06, 0x38, - 0xef, 0x60, 0xf3, 0x00, 0x65, 0xe4, 0x1c, 0x30, 0x57, 0x50, 0xbc, 0x5e, 0x88, 0xb4, 0x05, 0xf5, - 0x20, 0x44, 0xce, 0xa4, 0x17, 0xf8, 0x87, 0x7d, 0xfd, 0xa7, 0xa6, 0xcb, 0x99, 0x40, 0x23, 0x57, - 0x4b, 0x84, 0xa4, 0x0b, 0x30, 0x4a, 0x15, 0x54, 0x05, 0xeb, 0x5d, 0x92, 0xa0, 0xc9, 0xb4, 0xa5, - 0x46, 0x14, 0x79, 0x00, 0x2b, 0x92, 0xb9, 0xa2, 0x59, 0x52, 0xd8, 0xeb, 0x06, 0x76, 0xaa, 0x36, - 0x9c, 0xcf, 0x16, 0xac, 0xf7, 0x38, 0x32, 0x89, 0x91, 0x0f, 0xaf, 0x4d, 0x2d, 0xac, 0xbc, 0x16, - 0x19, 0x99, 0x52, 0x8e, 0xcc, 0x7d, 0x80, 0x78, 0x95, 0xaa, 0x54, 0xa3, 0x86, 0x67, 0x96, 0xec, - 0xca, 0x3c, 0xd9, 0x1e, 0x6c, 0x18, 0x18, 0x96, 0xa3, 0xea, 0x7c, 0x84, 0xf5, 0x3e, 0x5e, 0x61, - 0x4a, 0x64, 0x91, 0xf6, 0xe9, 0x11, 0x28, 0x99, 0x47, 0x60, 0x06, 0x64, 0xb9, 0x10, 0xa4, 0x51, - 0x7f, 0x49, 0x90, 0x3f, 0x2c, 0xa8, 0x9d, 0xa1, 0x5c, 0x0a, 0x62, 0x13, 0x56, 0x7d, 0xbc, 0x53, - 0x9d, 0x89, 0xe1, 0x25, 0x26, 0x69, 0x03, 0xf1, 0xfc, 0x11, 0x47, 0x26, 0xf0, 0x3c, 0xeb, 0xc4, - 0x8a, 0xea, 0x44, 0xc1, 0x0e, 0x79, 0x02, 0xff, 0x70, 0x1c, 0xdf, 0x8c, 0xcc, 0xe8, 0x8a, 0x8a, - 0x9e, 0xf3, 0xcf, 0x0a, 0x53, 0x9d, 0x17, 0xe6, 0x0d, 0x40, 0x42, 0x69, 0x49, 0x55, 0xbe, 0x5b, - 0xb0, 0x79, 0x86, 0xfe, 0xf8, 0x58, 0xb8, 0x5d, 0x2d, 0x4d, 0xf1, 0x45, 0xdd, 0x81, 0xaa, 0x40, - 0x7f, 0x9c, 0x1d, 0xc1, 0xd8, 0x8a, 0x08, 0x45, 0x2b, 0xe4, 0xa7, 0x57, 0x4c, 0x4e, 0x02, 0x3e, - 0xd5, 0x2d, 0xac, 0xd0, 0x39, 0x7f, 0x24, 0xe3, 0x28, 0xf0, 0x25, 0xfa, 0x52, 0x1f, 0xc5, 0xc4, - 0x8c, 0xa8, 0xea, 0xe5, 0xe0, 0x53, 0x88, 0xcd, 0x8a, 0x2a, 0x60, 0xba, 0xfe, 0x40, 0x8c, 0x7d, - 0x68, 0xe4, 0x98, 0x2c, 0xa9, 0xc8, 0x17, 0x0b, 0xb6, 0x0e, 0x94, 0xa8, 0x51, 0xb5, 0xa3, 0x20, - 0x1e, 0x27, 0x7d, 0x80, 0x53, 0xe6, 0x7a, 0xbe, 0xfa, 0x33, 0x5d, 0xe9, 0x51, 0x5b, 0x20, 0xbf, - 0x45, 0x3e, 0x64, 0xa1, 0x37, 0x0c, 0x19, 0x67, 0x53, 0xd1, 0xa6, 0x78, 0x7d, 0x83, 0x42, 0x66, - 0xb1, 0xd4, 0xc8, 0x5b, 0x78, 0x8f, 0x7f, 0x7f, 0x05, 0xbe, 0x59, 0x00, 0x19, 0xa4, 0xbf, 0x1e, - 0xa6, 0x33, 0xfa, 0x96, 0xe7, 0xf5, 0x5d, 0xdc, 0x1b, 0x1b, 0xd6, 0xa2, 0x4e, 0x0e, 0xbc, 0x69, - 0xdc, 0x98, 0x32, 0x4d, 0x6d, 0xf2, 0x0c, 0xea, 0x7a, 0x18, 0xab, 0x93, 0x5c, 0x2d, 0x9e, 0xd3, - 0x66, 0x8c, 0xf3, 0xd5, 0x02, 0x32, 0xab, 0xef, 0x92, 0x23, 0x76, 0x3f, 0xd7, 0x94, 0x92, 0xca, - 0x79, 0x5c, 0xd8, 0x14, 0x11, 0x06, 0xbe, 0xc0, 0x05, 0x5d, 0x79, 0x01, 0x75, 0x99, 0xa1, 0xd1, - 0x8f, 0x0d, 0x31, 0x48, 0xe8, 0x2d, 0x6a, 0x86, 0x75, 0x7f, 0x96, 0x60, 0xe3, 0x44, 0x85, 0x9c, - 0x21, 0xbf, 0xf5, 0x46, 0x48, 0xf6, 0xa0, 0x6e, 0x3c, 0x1c, 0x64, 0x27, 0xa9, 0x90, 0x7f, 0x99, - 0xec, 0xff, 0x0b, 0xfd, 0x22, 0x24, 0x2f, 0xa1, 0x96, 0xce, 0x62, 0xb2, 0x9d, 0x72, 0x37, 0x9e, - 0x08, 0xfb, 0xbf, 0x02, 0x6f, 0x9c, 0x99, 0x0e, 0xc8, 0x2c, 0xd3, 0x9c, 0xc9, 0x59, 0x66, 0x7e, - 0x92, 0x76, 0xa0, 0x1a, 0x4f, 0x10, 0xb2, 0x95, 0x04, 0xa4, 0x43, 0xd2, 0x26, 0xb3, 0x2e, 0x11, - 0x46, 0x24, 0x8d, 0x5b, 0x96, 0x91, 0xcc, 0x0f, 0x91, 0x8c, 0xe4, 0xec, 0x95, 0x3c, 0x50, 0x2f, - 0xb5, 0xd1, 0x7d, 0x72, 0xcf, 0xd0, 0x23, 0x7f, 0xeb, 0x6c, 0x7b, 0xd1, 0x96, 0x08, 0xdf, 0x6e, - 0x7d, 0x68, 0xb4, 0xf5, 0x27, 0xd1, 0xab, 0xf8, 0xe7, 0xa2, 0xaa, 0xbe, 0x77, 0x9e, 0xff, 0x0a, - 0x00, 0x00, 0xff, 0xff, 0xee, 0x5a, 0x78, 0x47, 0x31, 0x09, 0x00, 0x00, +var fileDescriptor_office_8580c3f7b2871da9 = []byte{ + // 751 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xc1, 0x6e, 0xd3, 0x4c, + 0x10, 0x96, 0x93, 0x26, 0x6d, 0x26, 0x6d, 0xf3, 0x77, 0xff, 0x52, 0x82, 0x0f, 0x10, 0x2c, 0x90, + 0x2a, 0x90, 0x12, 0x29, 0x70, 0x40, 0x42, 0x54, 0x88, 0xa4, 0xaa, 0x8a, 0x5a, 0x5a, 0x6d, 0xd3, + 0x0b, 0x07, 0xa2, 0x6d, 0x32, 0xb1, 0xac, 0x36, 0xb6, 0xbb, 0xbb, 0x6d, 0xc5, 0x95, 0x57, 0x80, + 0x57, 0x42, 0xe2, 0xca, 0x03, 0x21, 0x21, 0xaf, 0xd7, 0xf6, 0xda, 0x49, 0x04, 0xe4, 0x94, 0x9d, + 0xd9, 0x99, 0xc9, 0xf7, 0x7d, 0xb3, 0x3b, 0x6b, 0xf8, 0x3f, 0x98, 0x4c, 0xbc, 0x11, 0x76, 0xe2, + 0x9f, 0x76, 0xc8, 0x03, 0x19, 0x90, 0x6a, 0x6c, 0xd9, 0x8f, 0x4f, 0x42, 0xf4, 0x87, 0x87, 0xc7, + 0x9d, 0xf0, 0xd2, 0xed, 0xa8, 0xad, 0x8e, 0x18, 0x5f, 0x0e, 0xef, 0x44, 0xe7, 0x4e, 0xc4, 0xa1, + 0xce, 0x1e, 0x40, 0x2f, 0x98, 0x4e, 0x03, 0x9f, 0xa2, 0x08, 0x49, 0x13, 0x56, 0x91, 0xf3, 0x5e, + 0x30, 0xc6, 0xa6, 0xd5, 0xb2, 0x76, 0x2b, 0x34, 0x31, 0xc9, 0x0e, 0x54, 0x91, 0xf3, 0x63, 0xe1, + 0x36, 0x4b, 0x2d, 0x6b, 0xb7, 0x46, 0xb5, 0xe5, 0xbc, 0x81, 0xd5, 0x01, 0x73, 0xcf, 0x05, 0xf2, + 0x28, 0xe4, 0x46, 0x20, 0x3f, 0xec, 0xab, 0xdc, 0x1a, 0xd5, 0x16, 0xb1, 0x61, 0x2d, 0x5a, 0x7d, + 0x60, 0x53, 0xd4, 0xc9, 0xa9, 0xed, 0x5c, 0x40, 0x79, 0xc0, 0x5c, 0xb2, 0x0d, 0x15, 0xc9, 0xdc, + 0x34, 0x33, 0x36, 0x22, 0x34, 0x92, 0xb9, 0x46, 0x5e, 0x62, 0x92, 0xe7, 0x71, 0xc9, 0x23, 0x4f, + 0xc8, 0x66, 0xb9, 0x55, 0xde, 0xad, 0x77, 0x1b, 0x6d, 0xad, 0x80, 0x46, 0x43, 0xd3, 0x00, 0xe7, + 0x3d, 0x6c, 0x1e, 0xa0, 0x8c, 0x9c, 0x03, 0xe6, 0x0a, 0x8a, 0xd7, 0x0b, 0x91, 0xb6, 0xa0, 0x1e, + 0x84, 0xc8, 0x99, 0xf4, 0x02, 0xff, 0xb0, 0xaf, 0xff, 0xd4, 0x74, 0x39, 0x13, 0x68, 0xe4, 0x6a, + 0x89, 0x90, 0x74, 0x01, 0x46, 0xa9, 0x82, 0xaa, 0x60, 0xbd, 0x4b, 0x12, 0x34, 0x99, 0xb6, 0xd4, + 0x88, 0x22, 0x8f, 0x60, 0x45, 0x32, 0x57, 0x34, 0x4b, 0x0a, 0x7b, 0xdd, 0xc0, 0x4e, 0xd5, 0x86, + 0xf3, 0xc5, 0x82, 0xf5, 0x1e, 0x47, 0x26, 0x31, 0xf2, 0xe1, 0xb5, 0xa9, 0x85, 0x95, 0xd7, 0x22, + 0x23, 0x53, 0xca, 0x91, 0x79, 0x08, 0x10, 0xaf, 0x52, 0x95, 0x6a, 0xd4, 0xf0, 0x14, 0xc9, 0xae, + 0xcc, 0x92, 0xed, 0xc1, 0x86, 0x81, 0x61, 0x39, 0xaa, 0xce, 0x27, 0x58, 0xef, 0xe3, 0x15, 0xa6, + 0x44, 0x16, 0x69, 0x9f, 0x1e, 0x81, 0x92, 0x79, 0x04, 0x0a, 0x20, 0xcb, 0x73, 0x41, 0x1a, 0xf5, + 0x97, 0x04, 0xf9, 0xd3, 0x82, 0xda, 0x19, 0xca, 0xa5, 0x20, 0x36, 0x61, 0xd5, 0xc7, 0x3b, 0xd5, + 0x99, 0x18, 0x5e, 0x62, 0x92, 0x36, 0x10, 0xcf, 0x1f, 0x71, 0x64, 0x02, 0xcf, 0xb3, 0x4e, 0xac, + 0xa8, 0x4e, 0xcc, 0xd9, 0x21, 0xcf, 0xe0, 0x3f, 0x8e, 0xe3, 0x9b, 0x91, 0x19, 0x5d, 0x51, 0xd1, + 0x33, 0xfe, 0xa2, 0x30, 0xd5, 0x59, 0x61, 0xde, 0x02, 0x24, 0x94, 0x96, 0x54, 0xe5, 0x87, 0x05, + 0x9b, 0x67, 0xe8, 0x8f, 0x8f, 0x85, 0xdb, 0xd5, 0xd2, 0xcc, 0xbf, 0xa8, 0x3b, 0x50, 0x15, 0xe8, + 0x8f, 0xb3, 0x23, 0x18, 0x5b, 0x11, 0xa1, 0x68, 0x85, 0xfc, 0xf4, 0x8a, 0xc9, 0x49, 0xc0, 0xa7, + 0xba, 0x85, 0x15, 0x3a, 0xe3, 0x8f, 0x64, 0x1c, 0x05, 0xbe, 0x44, 0x5f, 0xea, 0xa3, 0x98, 0x98, + 0x11, 0x55, 0xbd, 0x1c, 0x7c, 0x0e, 0xb1, 0x59, 0x51, 0x05, 0x4c, 0xd7, 0x5f, 0x88, 0xb1, 0x0f, + 0x8d, 0x1c, 0x93, 0x25, 0x15, 0xf9, 0x6a, 0xc1, 0xd6, 0x81, 0x12, 0x35, 0xaa, 0x76, 0x14, 0xc4, + 0xe3, 0xa4, 0x0f, 0x70, 0xca, 0x5c, 0xcf, 0x57, 0x7f, 0xa6, 0x2b, 0x3d, 0x69, 0x0b, 0xe4, 0xb7, + 0xc8, 0x87, 0x2c, 0xf4, 0x86, 0x21, 0xe3, 0x6c, 0x2a, 0xda, 0x14, 0xaf, 0x6f, 0x50, 0xc8, 0x2c, + 0x96, 0x1a, 0x79, 0x0b, 0xef, 0xf1, 0x9f, 0xaf, 0xc0, 0x37, 0x0b, 0x20, 0x83, 0xf4, 0xcf, 0xc3, + 0xb4, 0xa0, 0x6f, 0x79, 0x56, 0xdf, 0xc5, 0xbd, 0xb1, 0x61, 0x2d, 0xea, 0xe4, 0xc0, 0x9b, 0xc6, + 0x8d, 0x29, 0xd3, 0xd4, 0x76, 0xbe, 0x5b, 0x40, 0x8a, 0x62, 0x2d, 0x39, 0x2f, 0xf7, 0x73, 0x0a, + 0x97, 0x54, 0xce, 0xd3, 0xb9, 0x0a, 0x8b, 0x30, 0xf0, 0x05, 0x2e, 0x90, 0xf8, 0x25, 0xd4, 0x65, + 0x86, 0x46, 0xbf, 0x1c, 0xc4, 0x98, 0xbe, 0x7a, 0x8b, 0x9a, 0x61, 0xdd, 0x5f, 0x25, 0xd8, 0x38, + 0x51, 0x21, 0x67, 0xc8, 0x6f, 0xbd, 0x11, 0x92, 0x3d, 0xa8, 0x1b, 0xaf, 0x00, 0xd9, 0x49, 0x2a, + 0xe4, 0x9f, 0x19, 0xfb, 0xfe, 0x5c, 0xbf, 0x08, 0xc9, 0x2b, 0xa8, 0xa5, 0x83, 0x95, 0x6c, 0xa7, + 0xdc, 0x8d, 0x79, 0x6f, 0xdf, 0x9b, 0xe3, 0x8d, 0x33, 0xd3, 0x69, 0x97, 0x65, 0x9a, 0x03, 0x36, + 0xcb, 0xcc, 0x8f, 0xc5, 0x0e, 0x54, 0xe3, 0x71, 0x40, 0xb6, 0x92, 0x80, 0x74, 0xe2, 0xd9, 0xa4, + 0xe8, 0x12, 0x61, 0x44, 0xd2, 0xb8, 0x32, 0x19, 0xc9, 0xfc, 0x44, 0xc8, 0x48, 0x16, 0xef, 0xd7, + 0x81, 0x7a, 0x76, 0x8d, 0xee, 0x93, 0x07, 0x86, 0x1e, 0xf9, 0x2b, 0x64, 0xdb, 0x8b, 0xb6, 0x44, + 0xf8, 0x6e, 0xeb, 0x63, 0xa3, 0xad, 0xbf, 0x6f, 0x5e, 0xc7, 0x3f, 0x17, 0x55, 0xf5, 0xf1, 0xf2, + 0xe2, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x72, 0xfc, 0x2a, 0x94, 0xfe, 0x08, 0x00, 0x00, } diff --git a/pkg/proto/office/office.proto b/pkg/proto/office/office.proto index 6003d6306..bb0a59b0a 100644 --- a/pkg/proto/office/office.proto +++ b/pkg/proto/office/office.proto @@ -88,7 +88,6 @@ message TagSendLog { int32 contentType = 3; string content = 4; int64 sendTime = 5; - repeated TagUser TagUserList = 6; } message GetTagSendLogsResp { From c67a937d40c216cceb2fa464e2d0cabef3f9809c Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 28 Mar 2022 18:53:57 +0800 Subject: [PATCH 123/129] tag --- internal/rpc/office/office.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/rpc/office/office.go b/internal/rpc/office/office.go index e180fb56d..8401a1c9f 100644 --- a/internal/rpc/office/office.go +++ b/internal/rpc/office/office.go @@ -178,7 +178,7 @@ func (s *officeServer) GetTagSendLogs(_ context.Context, req *pbOffice.GetTagSen resp.CommonResp.ErrCode = constant.ErrDB.ErrCode return resp, nil } - utils.CopyStructFields(resp.TagSendLogs, tagSendLogs) + utils.CopyStructFields(&resp.TagSendLogs, tagSendLogs) log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) return resp, nil } From a11c4fcb58181a74097086929e7fd8608f02a9f6 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 28 Mar 2022 19:05:58 +0800 Subject: [PATCH 124/129] tag --- internal/rpc/office/office.go | 4 +++- pkg/common/db/mongoModel.go | 42 +++++++++++++++++------------------ 2 files changed, 24 insertions(+), 22 deletions(-) diff --git a/internal/rpc/office/office.go b/internal/rpc/office/office.go index 8401a1c9f..2d0cce613 100644 --- a/internal/rpc/office/office.go +++ b/internal/rpc/office/office.go @@ -178,7 +178,9 @@ func (s *officeServer) GetTagSendLogs(_ context.Context, req *pbOffice.GetTagSen resp.CommonResp.ErrCode = constant.ErrDB.ErrCode return resp, nil } - utils.CopyStructFields(&resp.TagSendLogs, tagSendLogs) + if err := utils.CopyStructFields(&resp.TagSendLogs, tagSendLogs); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), err.Error()) + } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) return resp, nil } diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go index 383b6fc33..2f97a8a6a 100644 --- a/pkg/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -436,17 +436,17 @@ func (d *DataBases) DelGroupMember(groupID, uid string) error { } type Tag struct { - UserID string `bson:"userID"` - TagID string `bson:"tagID"` - TagName string `bson:"tagName"` - UserList []string `bson:"userList"` + UserID string `bson:"user_id"` + TagID string `bson:"tag_id"` + TagName string `bson:"tag_name"` + UserList []string `bson:"user_list"` } func (d *DataBases) GetUserTags(userID string) ([]Tag, error) { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cTag) var tags []Tag - cursor, err := c.Find(ctx, bson.M{"userID": userID}) + cursor, err := c.Find(ctx, bson.M{"user_id": userID}) if err != nil { return tags, err } @@ -473,7 +473,7 @@ func (d *DataBases) CreateTag(userID, tagName string, userList []string) error { func (d *DataBases) DeleteTag(userID, tagID string) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cTag) - _, err := c.DeleteOne(ctx, bson.M{"userID": userID, "tagID": tagID}) + _, err := c.DeleteOne(ctx, bson.M{"user_id": userID, "tag_id": tagID}) return err } @@ -481,11 +481,11 @@ func (d *DataBases) SetTag(userID, tagID, newName string, increaseUserIDList []s ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cTag) var tag Tag - if err := c.FindOne(ctx, bson.M{"tagID": tagID, "userID": userID}).Decode(&tag); err != nil { + if err := c.FindOne(ctx, bson.M{"tag_id": tagID, "user_id": userID}).Decode(&tag); err != nil { return err } if newName != "" { - _, err := c.UpdateOne(ctx, bson.M{"userID": userID, "tagID": tagID}, bson.M{"$set": bson.M{"tagName": newName}}) + _, err := c.UpdateOne(ctx, bson.M{"user_id": userID, "tag_id": tagID}, bson.M{"$set": bson.M{"tag_name": newName}}) if err != nil { return err } @@ -505,7 +505,7 @@ func (d *DataBases) SetTag(userID, tagID, newName string, increaseUserIDList []s newUserList = append(newUserList, v) } } - _, err := c.UpdateOne(ctx, bson.M{"userID": userID, "tagID": tagID}, bson.M{"$set": bson.M{"userList": newUserList}}) + _, err := c.UpdateOne(ctx, bson.M{"user_id": userID, "tag_id": tagID}, bson.M{"$set": bson.M{"user_list": newUserList}}) if err != nil { return err } @@ -516,30 +516,30 @@ func (d *DataBases) GetUserIDListByTagID(userID, tagID string) ([]string, error) var tag Tag ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cTag) - _ = c.FindOne(ctx, bson.M{"userID": userID, "tagID": tagID}).Decode(&tag) + _ = c.FindOne(ctx, bson.M{"user_id": userID, "tag_id": tagID}).Decode(&tag) return tag.UserList, nil } type TagUser struct { - UserID string `bson:"userID"` - UserName string `bson:"userName"` + UserID string `bson:"user_id"` + UserName string `bson:"user_name"` } type TagSendLog struct { - TagID string `bson:"tagID"` - TagName string `bson:"tagName"` - SendID string `bson:"sendID"` - SenderPlatformID int32 `bson:"senderPlatformID"` + TagID string `bson:"tag_id"` + TagName string `bson:"tag_name"` + SendID string `bson:"send_id"` + SenderPlatformID int32 `bson:"sender_platform_id"` Content string `bson:"content"` - ContentType int32 `bson:"contentType"` - SendTime int64 `bson:"sendTime"` + ContentType int32 `bson:"content_type"` + SendTime int64 `bson:"send_time"` } func (d *DataBases) SaveTagSendLog(sendReq *officePb.SendMsg2TagReq) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cTag) var tag Tag - _ = c.FindOne(ctx, bson.M{"userID": sendReq.SendID, "tagID": sendReq.TagID}).Decode(&tag) + _ = c.FindOne(ctx, bson.M{"user_id": sendReq.SendID, "tag_id": sendReq.TagID}).Decode(&tag) c = d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cSendLog) tagSendLog := TagSendLog{ TagID: sendReq.TagID, @@ -558,8 +558,8 @@ func (d *DataBases) GetTagSendLogs(userID string, showNumber, pageNumber int32) var tagSendLogs []TagSendLog ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cSendLog) - findOpts := options.Find().SetLimit(int64(showNumber)).SetSkip(int64(showNumber) * (int64(pageNumber) - 1)) - cursor, err := c.Find(ctx, bson.M{"sendID": userID}, findOpts) + findOpts := options.Find().SetLimit(int64(showNumber)).SetSkip(int64(showNumber) * (int64(pageNumber) - 1)).SetSort("-send_time") + cursor, err := c.Find(ctx, bson.M{"send_id": userID}, findOpts) if err != nil { return tagSendLogs, err } From 5cdb039c33cf43cc1bb518681ac41d58045fe07a Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 28 Mar 2022 19:12:31 +0800 Subject: [PATCH 125/129] tag --- pkg/common/db/mongoModel.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go index 2f97a8a6a..d49d1cde3 100644 --- a/pkg/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -558,7 +558,7 @@ func (d *DataBases) GetTagSendLogs(userID string, showNumber, pageNumber int32) var tagSendLogs []TagSendLog ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cSendLog) - findOpts := options.Find().SetLimit(int64(showNumber)).SetSkip(int64(showNumber) * (int64(pageNumber) - 1)).SetSort("-send_time") + findOpts := options.Find().SetLimit(int64(showNumber)).SetSkip(int64(showNumber) * (int64(pageNumber) - 1)).SetSort(bson.D{{"send_time", -1}}) cursor, err := c.Find(ctx, bson.M{"send_id": userID}, findOpts) if err != nil { return tagSendLogs, err From 14c5e631ff320b3747a9f92d2b5236f558185be8 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 28 Mar 2022 19:15:59 +0800 Subject: [PATCH 126/129] tag --- pkg/common/db/mongoModel.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go index d49d1cde3..c22cc05ba 100644 --- a/pkg/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -558,7 +558,7 @@ func (d *DataBases) GetTagSendLogs(userID string, showNumber, pageNumber int32) var tagSendLogs []TagSendLog ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cSendLog) - findOpts := options.Find().SetLimit(int64(showNumber)).SetSkip(int64(showNumber) * (int64(pageNumber) - 1)).SetSort(bson.D{{"send_time", -1}}) + findOpts := options.Find().SetLimit(int64(showNumber)).SetSkip(int64(showNumber) * (int64(pageNumber) - 1)).SetSort(bson.M{"send_time": -1}) cursor, err := c.Find(ctx, bson.M{"send_id": userID}, findOpts) if err != nil { return tagSendLogs, err From 07971819678763527fa0334ffc2862b4da3dc924 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 28 Mar 2022 19:18:30 +0800 Subject: [PATCH 127/129] tag --- pkg/common/db/mongoModel.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go index c22cc05ba..e503c06ab 100644 --- a/pkg/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -26,7 +26,7 @@ import ( const cChat = "msg" const cGroup = "group" const cTag = "tag" -const cSendLog = "sendLog" +const cSendLog = "send_log" const singleGocMsgNum = 5000 type MsgInfo struct { From afc32b1cfa11720861bc0b11146ac0cc796cc488 Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Mon, 28 Mar 2022 19:27:05 +0800 Subject: [PATCH 128/129] mute group --- cmd/Open-IM-SDK-Core | 2 +- pkg/common/constant/constant.go | 1 + pkg/proto/group/group.pb.go | 898 +++++++++++++++++++++++++------- pkg/proto/group/group.proto | 59 ++- pkg/proto/sdk_ws/ws.pb.go | 455 ++++++++-------- pkg/proto/sdk_ws/ws.proto | 1 + 6 files changed, 1013 insertions(+), 403 deletions(-) diff --git a/cmd/Open-IM-SDK-Core b/cmd/Open-IM-SDK-Core index a06dfeeda..a6e91454f 160000 --- a/cmd/Open-IM-SDK-Core +++ b/cmd/Open-IM-SDK-Core @@ -1 +1 @@ -Subproject commit a06dfeeda56815ac9a9bb401dd30ab12b374d658 +Subproject commit a6e91454f2cd72d7229f3b2d884d812d5fde1694 diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 0def0881b..58bad384a 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -136,6 +136,7 @@ const ( GroupOk = 0 GroupBanChat = 1 GroupStatusDismissed = 2 + GroupStatusMuted = 3 GroupBaned = 3 GroupBanPrivateChat = 4 diff --git a/pkg/proto/group/group.pb.go b/pkg/proto/group/group.pb.go index 0332aa1e9..2f8176fad 100644 --- a/pkg/proto/group/group.pb.go +++ b/pkg/proto/group/group.pb.go @@ -36,7 +36,7 @@ func (m *CommonResp) Reset() { *m = CommonResp{} } func (m *CommonResp) String() string { return proto.CompactTextString(m) } func (*CommonResp) ProtoMessage() {} func (*CommonResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{0} + return fileDescriptor_group_3c77315b028a1402, []int{0} } func (m *CommonResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommonResp.Unmarshal(m, b) @@ -82,7 +82,7 @@ func (m *GroupAddMemberInfo) Reset() { *m = GroupAddMemberInfo{} } func (m *GroupAddMemberInfo) String() string { return proto.CompactTextString(m) } func (*GroupAddMemberInfo) ProtoMessage() {} func (*GroupAddMemberInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{1} + return fileDescriptor_group_3c77315b028a1402, []int{1} } func (m *GroupAddMemberInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupAddMemberInfo.Unmarshal(m, b) @@ -131,7 +131,7 @@ func (m *CreateGroupReq) Reset() { *m = CreateGroupReq{} } func (m *CreateGroupReq) String() string { return proto.CompactTextString(m) } func (*CreateGroupReq) ProtoMessage() {} func (*CreateGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{2} + return fileDescriptor_group_3c77315b028a1402, []int{2} } func (m *CreateGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateGroupReq.Unmarshal(m, b) @@ -199,7 +199,7 @@ func (m *CreateGroupResp) Reset() { *m = CreateGroupResp{} } func (m *CreateGroupResp) String() string { return proto.CompactTextString(m) } func (*CreateGroupResp) ProtoMessage() {} func (*CreateGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{3} + return fileDescriptor_group_3c77315b028a1402, []int{3} } func (m *CreateGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateGroupResp.Unmarshal(m, b) @@ -253,7 +253,7 @@ func (m *GetGroupsInfoReq) Reset() { *m = GetGroupsInfoReq{} } func (m *GetGroupsInfoReq) String() string { return proto.CompactTextString(m) } func (*GetGroupsInfoReq) ProtoMessage() {} func (*GetGroupsInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{4} + return fileDescriptor_group_3c77315b028a1402, []int{4} } func (m *GetGroupsInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupsInfoReq.Unmarshal(m, b) @@ -307,7 +307,7 @@ func (m *GetGroupsInfoResp) Reset() { *m = GetGroupsInfoResp{} } func (m *GetGroupsInfoResp) String() string { return proto.CompactTextString(m) } func (*GetGroupsInfoResp) ProtoMessage() {} func (*GetGroupsInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{5} + return fileDescriptor_group_3c77315b028a1402, []int{5} } func (m *GetGroupsInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupsInfoResp.Unmarshal(m, b) @@ -361,7 +361,7 @@ func (m *SetGroupInfoReq) Reset() { *m = SetGroupInfoReq{} } func (m *SetGroupInfoReq) String() string { return proto.CompactTextString(m) } func (*SetGroupInfoReq) ProtoMessage() {} func (*SetGroupInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{6} + return fileDescriptor_group_3c77315b028a1402, []int{6} } func (m *SetGroupInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupInfoReq.Unmarshal(m, b) @@ -413,7 +413,7 @@ func (m *SetGroupInfoResp) Reset() { *m = SetGroupInfoResp{} } func (m *SetGroupInfoResp) String() string { return proto.CompactTextString(m) } func (*SetGroupInfoResp) ProtoMessage() {} func (*SetGroupInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{7} + return fileDescriptor_group_3c77315b028a1402, []int{7} } func (m *SetGroupInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupInfoResp.Unmarshal(m, b) @@ -453,7 +453,7 @@ func (m *GetGroupApplicationListReq) Reset() { *m = GetGroupApplicationL func (m *GetGroupApplicationListReq) String() string { return proto.CompactTextString(m) } func (*GetGroupApplicationListReq) ProtoMessage() {} func (*GetGroupApplicationListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{8} + return fileDescriptor_group_3c77315b028a1402, []int{8} } func (m *GetGroupApplicationListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupApplicationListReq.Unmarshal(m, b) @@ -507,7 +507,7 @@ func (m *GetGroupApplicationListResp) Reset() { *m = GetGroupApplication func (m *GetGroupApplicationListResp) String() string { return proto.CompactTextString(m) } func (*GetGroupApplicationListResp) ProtoMessage() {} func (*GetGroupApplicationListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{9} + return fileDescriptor_group_3c77315b028a1402, []int{9} } func (m *GetGroupApplicationListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupApplicationListResp.Unmarshal(m, b) @@ -561,7 +561,7 @@ func (m *GetUserReqApplicationListReq) Reset() { *m = GetUserReqApplicat func (m *GetUserReqApplicationListReq) String() string { return proto.CompactTextString(m) } func (*GetUserReqApplicationListReq) ProtoMessage() {} func (*GetUserReqApplicationListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{10} + return fileDescriptor_group_3c77315b028a1402, []int{10} } func (m *GetUserReqApplicationListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserReqApplicationListReq.Unmarshal(m, b) @@ -614,7 +614,7 @@ func (m *GetUserReqApplicationListResp) Reset() { *m = GetUserReqApplica func (m *GetUserReqApplicationListResp) String() string { return proto.CompactTextString(m) } func (*GetUserReqApplicationListResp) ProtoMessage() {} func (*GetUserReqApplicationListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{11} + return fileDescriptor_group_3c77315b028a1402, []int{11} } func (m *GetUserReqApplicationListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserReqApplicationListResp.Unmarshal(m, b) @@ -663,7 +663,7 @@ func (m *TransferGroupOwnerReq) Reset() { *m = TransferGroupOwnerReq{} } func (m *TransferGroupOwnerReq) String() string { return proto.CompactTextString(m) } func (*TransferGroupOwnerReq) ProtoMessage() {} func (*TransferGroupOwnerReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{12} + return fileDescriptor_group_3c77315b028a1402, []int{12} } func (m *TransferGroupOwnerReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TransferGroupOwnerReq.Unmarshal(m, b) @@ -729,7 +729,7 @@ func (m *TransferGroupOwnerResp) Reset() { *m = TransferGroupOwnerResp{} func (m *TransferGroupOwnerResp) String() string { return proto.CompactTextString(m) } func (*TransferGroupOwnerResp) ProtoMessage() {} func (*TransferGroupOwnerResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{13} + return fileDescriptor_group_3c77315b028a1402, []int{13} } func (m *TransferGroupOwnerResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TransferGroupOwnerResp.Unmarshal(m, b) @@ -770,7 +770,7 @@ func (m *JoinGroupReq) Reset() { *m = JoinGroupReq{} } func (m *JoinGroupReq) String() string { return proto.CompactTextString(m) } func (*JoinGroupReq) ProtoMessage() {} func (*JoinGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{14} + return fileDescriptor_group_3c77315b028a1402, []int{14} } func (m *JoinGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupReq.Unmarshal(m, b) @@ -829,7 +829,7 @@ func (m *JoinGroupResp) Reset() { *m = JoinGroupResp{} } func (m *JoinGroupResp) String() string { return proto.CompactTextString(m) } func (*JoinGroupResp) ProtoMessage() {} func (*JoinGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{15} + return fileDescriptor_group_3c77315b028a1402, []int{15} } func (m *JoinGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupResp.Unmarshal(m, b) @@ -872,7 +872,7 @@ func (m *GroupApplicationResponseReq) Reset() { *m = GroupApplicationRes func (m *GroupApplicationResponseReq) String() string { return proto.CompactTextString(m) } func (*GroupApplicationResponseReq) ProtoMessage() {} func (*GroupApplicationResponseReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{16} + return fileDescriptor_group_3c77315b028a1402, []int{16} } func (m *GroupApplicationResponseReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationResponseReq.Unmarshal(m, b) @@ -945,7 +945,7 @@ func (m *GroupApplicationResponseResp) Reset() { *m = GroupApplicationRe func (m *GroupApplicationResponseResp) String() string { return proto.CompactTextString(m) } func (*GroupApplicationResponseResp) ProtoMessage() {} func (*GroupApplicationResponseResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{17} + return fileDescriptor_group_3c77315b028a1402, []int{17} } func (m *GroupApplicationResponseResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationResponseResp.Unmarshal(m, b) @@ -985,7 +985,7 @@ func (m *QuitGroupReq) Reset() { *m = QuitGroupReq{} } func (m *QuitGroupReq) String() string { return proto.CompactTextString(m) } func (*QuitGroupReq) ProtoMessage() {} func (*QuitGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{18} + return fileDescriptor_group_3c77315b028a1402, []int{18} } func (m *QuitGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_QuitGroupReq.Unmarshal(m, b) @@ -1037,7 +1037,7 @@ func (m *QuitGroupResp) Reset() { *m = QuitGroupResp{} } func (m *QuitGroupResp) String() string { return proto.CompactTextString(m) } func (*QuitGroupResp) ProtoMessage() {} func (*QuitGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{19} + return fileDescriptor_group_3c77315b028a1402, []int{19} } func (m *QuitGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_QuitGroupResp.Unmarshal(m, b) @@ -1079,7 +1079,7 @@ func (m *GetGroupMemberListReq) Reset() { *m = GetGroupMemberListReq{} } func (m *GetGroupMemberListReq) String() string { return proto.CompactTextString(m) } func (*GetGroupMemberListReq) ProtoMessage() {} func (*GetGroupMemberListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{20} + return fileDescriptor_group_3c77315b028a1402, []int{20} } func (m *GetGroupMemberListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMemberListReq.Unmarshal(m, b) @@ -1148,7 +1148,7 @@ func (m *GetGroupMemberListResp) Reset() { *m = GetGroupMemberListResp{} func (m *GetGroupMemberListResp) String() string { return proto.CompactTextString(m) } func (*GetGroupMemberListResp) ProtoMessage() {} func (*GetGroupMemberListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{21} + return fileDescriptor_group_3c77315b028a1402, []int{21} } func (m *GetGroupMemberListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMemberListResp.Unmarshal(m, b) @@ -1210,7 +1210,7 @@ func (m *GetGroupMembersInfoReq) Reset() { *m = GetGroupMembersInfoReq{} func (m *GetGroupMembersInfoReq) String() string { return proto.CompactTextString(m) } func (*GetGroupMembersInfoReq) ProtoMessage() {} func (*GetGroupMembersInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{22} + return fileDescriptor_group_3c77315b028a1402, []int{22} } func (m *GetGroupMembersInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMembersInfoReq.Unmarshal(m, b) @@ -1271,7 +1271,7 @@ func (m *GetGroupMembersInfoResp) Reset() { *m = GetGroupMembersInfoResp func (m *GetGroupMembersInfoResp) String() string { return proto.CompactTextString(m) } func (*GetGroupMembersInfoResp) ProtoMessage() {} func (*GetGroupMembersInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{23} + return fileDescriptor_group_3c77315b028a1402, []int{23} } func (m *GetGroupMembersInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMembersInfoResp.Unmarshal(m, b) @@ -1327,7 +1327,7 @@ func (m *KickGroupMemberReq) Reset() { *m = KickGroupMemberReq{} } func (m *KickGroupMemberReq) String() string { return proto.CompactTextString(m) } func (*KickGroupMemberReq) ProtoMessage() {} func (*KickGroupMemberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{24} + return fileDescriptor_group_3c77315b028a1402, []int{24} } func (m *KickGroupMemberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KickGroupMemberReq.Unmarshal(m, b) @@ -1394,7 +1394,7 @@ func (m *Id2Result) Reset() { *m = Id2Result{} } func (m *Id2Result) String() string { return proto.CompactTextString(m) } func (*Id2Result) ProtoMessage() {} func (*Id2Result) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{25} + return fileDescriptor_group_3c77315b028a1402, []int{25} } func (m *Id2Result) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Id2Result.Unmarshal(m, b) @@ -1441,7 +1441,7 @@ func (m *KickGroupMemberResp) Reset() { *m = KickGroupMemberResp{} } func (m *KickGroupMemberResp) String() string { return proto.CompactTextString(m) } func (*KickGroupMemberResp) ProtoMessage() {} func (*KickGroupMemberResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{26} + return fileDescriptor_group_3c77315b028a1402, []int{26} } func (m *KickGroupMemberResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KickGroupMemberResp.Unmarshal(m, b) @@ -1495,7 +1495,7 @@ func (m *GetJoinedGroupListReq) Reset() { *m = GetJoinedGroupListReq{} } func (m *GetJoinedGroupListReq) String() string { return proto.CompactTextString(m) } func (*GetJoinedGroupListReq) ProtoMessage() {} func (*GetJoinedGroupListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{27} + return fileDescriptor_group_3c77315b028a1402, []int{27} } func (m *GetJoinedGroupListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetJoinedGroupListReq.Unmarshal(m, b) @@ -1549,7 +1549,7 @@ func (m *GetJoinedGroupListResp) Reset() { *m = GetJoinedGroupListResp{} func (m *GetJoinedGroupListResp) String() string { return proto.CompactTextString(m) } func (*GetJoinedGroupListResp) ProtoMessage() {} func (*GetJoinedGroupListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{28} + return fileDescriptor_group_3c77315b028a1402, []int{28} } func (m *GetJoinedGroupListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetJoinedGroupListResp.Unmarshal(m, b) @@ -1605,7 +1605,7 @@ func (m *InviteUserToGroupReq) Reset() { *m = InviteUserToGroupReq{} } func (m *InviteUserToGroupReq) String() string { return proto.CompactTextString(m) } func (*InviteUserToGroupReq) ProtoMessage() {} func (*InviteUserToGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{29} + return fileDescriptor_group_3c77315b028a1402, []int{29} } func (m *InviteUserToGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InviteUserToGroupReq.Unmarshal(m, b) @@ -1673,7 +1673,7 @@ func (m *InviteUserToGroupResp) Reset() { *m = InviteUserToGroupResp{} } func (m *InviteUserToGroupResp) String() string { return proto.CompactTextString(m) } func (*InviteUserToGroupResp) ProtoMessage() {} func (*InviteUserToGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{30} + return fileDescriptor_group_3c77315b028a1402, []int{30} } func (m *InviteUserToGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InviteUserToGroupResp.Unmarshal(m, b) @@ -1727,7 +1727,7 @@ func (m *GetGroupAllMemberReq) Reset() { *m = GetGroupAllMemberReq{} } func (m *GetGroupAllMemberReq) String() string { return proto.CompactTextString(m) } func (*GetGroupAllMemberReq) ProtoMessage() {} func (*GetGroupAllMemberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{31} + return fileDescriptor_group_3c77315b028a1402, []int{31} } func (m *GetGroupAllMemberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupAllMemberReq.Unmarshal(m, b) @@ -1781,7 +1781,7 @@ func (m *GetGroupAllMemberResp) Reset() { *m = GetGroupAllMemberResp{} } func (m *GetGroupAllMemberResp) String() string { return proto.CompactTextString(m) } func (*GetGroupAllMemberResp) ProtoMessage() {} func (*GetGroupAllMemberResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{32} + return fileDescriptor_group_3c77315b028a1402, []int{32} } func (m *GetGroupAllMemberResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupAllMemberResp.Unmarshal(m, b) @@ -1835,7 +1835,7 @@ func (m *CMSGroup) Reset() { *m = CMSGroup{} } func (m *CMSGroup) String() string { return proto.CompactTextString(m) } func (*CMSGroup) ProtoMessage() {} func (*CMSGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{33} + return fileDescriptor_group_3c77315b028a1402, []int{33} } func (m *CMSGroup) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CMSGroup.Unmarshal(m, b) @@ -1889,7 +1889,7 @@ func (m *GetGroupReq) Reset() { *m = GetGroupReq{} } func (m *GetGroupReq) String() string { return proto.CompactTextString(m) } func (*GetGroupReq) ProtoMessage() {} func (*GetGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{34} + return fileDescriptor_group_3c77315b028a1402, []int{34} } func (m *GetGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupReq.Unmarshal(m, b) @@ -1943,7 +1943,7 @@ func (m *GetGroupResp) Reset() { *m = GetGroupResp{} } func (m *GetGroupResp) String() string { return proto.CompactTextString(m) } func (*GetGroupResp) ProtoMessage() {} func (*GetGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{35} + return fileDescriptor_group_3c77315b028a1402, []int{35} } func (m *GetGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupResp.Unmarshal(m, b) @@ -1996,7 +1996,7 @@ func (m *GetGroupsReq) Reset() { *m = GetGroupsReq{} } func (m *GetGroupsReq) String() string { return proto.CompactTextString(m) } func (*GetGroupsReq) ProtoMessage() {} func (*GetGroupsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{36} + return fileDescriptor_group_3c77315b028a1402, []int{36} } func (m *GetGroupsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupsReq.Unmarshal(m, b) @@ -2043,7 +2043,7 @@ func (m *GetGroupsResp) Reset() { *m = GetGroupsResp{} } func (m *GetGroupsResp) String() string { return proto.CompactTextString(m) } func (*GetGroupsResp) ProtoMessage() {} func (*GetGroupsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{37} + return fileDescriptor_group_3c77315b028a1402, []int{37} } func (m *GetGroupsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupsResp.Unmarshal(m, b) @@ -2096,7 +2096,7 @@ func (m *GetGroupMemberReq) Reset() { *m = GetGroupMemberReq{} } func (m *GetGroupMemberReq) String() string { return proto.CompactTextString(m) } func (*GetGroupMemberReq) ProtoMessage() {} func (*GetGroupMemberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{38} + return fileDescriptor_group_3c77315b028a1402, []int{38} } func (m *GetGroupMemberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMemberReq.Unmarshal(m, b) @@ -2143,7 +2143,7 @@ func (m *OperateGroupStatusReq) Reset() { *m = OperateGroupStatusReq{} } func (m *OperateGroupStatusReq) String() string { return proto.CompactTextString(m) } func (*OperateGroupStatusReq) ProtoMessage() {} func (*OperateGroupStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{39} + return fileDescriptor_group_3c77315b028a1402, []int{39} } func (m *OperateGroupStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateGroupStatusReq.Unmarshal(m, b) @@ -2194,7 +2194,7 @@ func (m *OperateGroupStatusResp) Reset() { *m = OperateGroupStatusResp{} func (m *OperateGroupStatusResp) String() string { return proto.CompactTextString(m) } func (*OperateGroupStatusResp) ProtoMessage() {} func (*OperateGroupStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{40} + return fileDescriptor_group_3c77315b028a1402, []int{40} } func (m *OperateGroupStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateGroupStatusResp.Unmarshal(m, b) @@ -2228,7 +2228,7 @@ func (m *OperateUserRoleReq) Reset() { *m = OperateUserRoleReq{} } func (m *OperateUserRoleReq) String() string { return proto.CompactTextString(m) } func (*OperateUserRoleReq) ProtoMessage() {} func (*OperateUserRoleReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{41} + return fileDescriptor_group_3c77315b028a1402, []int{41} } func (m *OperateUserRoleReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateUserRoleReq.Unmarshal(m, b) @@ -2286,7 +2286,7 @@ func (m *OperateUserRoleResp) Reset() { *m = OperateUserRoleResp{} } func (m *OperateUserRoleResp) String() string { return proto.CompactTextString(m) } func (*OperateUserRoleResp) ProtoMessage() {} func (*OperateUserRoleResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{42} + return fileDescriptor_group_3c77315b028a1402, []int{42} } func (m *OperateUserRoleResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateUserRoleResp.Unmarshal(m, b) @@ -2318,7 +2318,7 @@ func (m *DeleteGroupReq) Reset() { *m = DeleteGroupReq{} } func (m *DeleteGroupReq) String() string { return proto.CompactTextString(m) } func (*DeleteGroupReq) ProtoMessage() {} func (*DeleteGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{43} + return fileDescriptor_group_3c77315b028a1402, []int{43} } func (m *DeleteGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteGroupReq.Unmarshal(m, b) @@ -2362,7 +2362,7 @@ func (m *DeleteGroupResp) Reset() { *m = DeleteGroupResp{} } func (m *DeleteGroupResp) String() string { return proto.CompactTextString(m) } func (*DeleteGroupResp) ProtoMessage() {} func (*DeleteGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{44} + return fileDescriptor_group_3c77315b028a1402, []int{44} } func (m *DeleteGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteGroupResp.Unmarshal(m, b) @@ -2394,7 +2394,7 @@ func (m *GetGroupByIdReq) Reset() { *m = GetGroupByIdReq{} } func (m *GetGroupByIdReq) String() string { return proto.CompactTextString(m) } func (*GetGroupByIdReq) ProtoMessage() {} func (*GetGroupByIdReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{45} + return fileDescriptor_group_3c77315b028a1402, []int{45} } func (m *GetGroupByIdReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupByIdReq.Unmarshal(m, b) @@ -2439,7 +2439,7 @@ func (m *GetGroupByIdResp) Reset() { *m = GetGroupByIdResp{} } func (m *GetGroupByIdResp) String() string { return proto.CompactTextString(m) } func (*GetGroupByIdResp) ProtoMessage() {} func (*GetGroupByIdResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{46} + return fileDescriptor_group_3c77315b028a1402, []int{46} } func (m *GetGroupByIdResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupByIdResp.Unmarshal(m, b) @@ -2480,7 +2480,7 @@ func (m *GetGroupMembersCMSReq) Reset() { *m = GetGroupMembersCMSReq{} } func (m *GetGroupMembersCMSReq) String() string { return proto.CompactTextString(m) } func (*GetGroupMembersCMSReq) ProtoMessage() {} func (*GetGroupMembersCMSReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{47} + return fileDescriptor_group_3c77315b028a1402, []int{47} } func (m *GetGroupMembersCMSReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMembersCMSReq.Unmarshal(m, b) @@ -2541,7 +2541,7 @@ func (m *GetGroupMembersCMSResp) Reset() { *m = GetGroupMembersCMSResp{} func (m *GetGroupMembersCMSResp) String() string { return proto.CompactTextString(m) } func (*GetGroupMembersCMSResp) ProtoMessage() {} func (*GetGroupMembersCMSResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{48} + return fileDescriptor_group_3c77315b028a1402, []int{48} } func (m *GetGroupMembersCMSResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMembersCMSResp.Unmarshal(m, b) @@ -2596,7 +2596,7 @@ func (m *RemoveGroupMembersCMSReq) Reset() { *m = RemoveGroupMembersCMSR func (m *RemoveGroupMembersCMSReq) String() string { return proto.CompactTextString(m) } func (*RemoveGroupMembersCMSReq) ProtoMessage() {} func (*RemoveGroupMembersCMSReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{49} + return fileDescriptor_group_3c77315b028a1402, []int{49} } func (m *RemoveGroupMembersCMSReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RemoveGroupMembersCMSReq.Unmarshal(m, b) @@ -2656,7 +2656,7 @@ func (m *RemoveGroupMembersCMSResp) Reset() { *m = RemoveGroupMembersCMS func (m *RemoveGroupMembersCMSResp) String() string { return proto.CompactTextString(m) } func (*RemoveGroupMembersCMSResp) ProtoMessage() {} func (*RemoveGroupMembersCMSResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{50} + return fileDescriptor_group_3c77315b028a1402, []int{50} } func (m *RemoveGroupMembersCMSResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RemoveGroupMembersCMSResp.Unmarshal(m, b) @@ -2704,7 +2704,7 @@ func (m *AddGroupMembersCMSReq) Reset() { *m = AddGroupMembersCMSReq{} } func (m *AddGroupMembersCMSReq) String() string { return proto.CompactTextString(m) } func (*AddGroupMembersCMSReq) ProtoMessage() {} func (*AddGroupMembersCMSReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{51} + return fileDescriptor_group_3c77315b028a1402, []int{51} } func (m *AddGroupMembersCMSReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddGroupMembersCMSReq.Unmarshal(m, b) @@ -2764,7 +2764,7 @@ func (m *AddGroupMembersCMSResp) Reset() { *m = AddGroupMembersCMSResp{} func (m *AddGroupMembersCMSResp) String() string { return proto.CompactTextString(m) } func (*AddGroupMembersCMSResp) ProtoMessage() {} func (*AddGroupMembersCMSResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{52} + return fileDescriptor_group_3c77315b028a1402, []int{52} } func (m *AddGroupMembersCMSResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddGroupMembersCMSResp.Unmarshal(m, b) @@ -2811,7 +2811,7 @@ func (m *DismissGroupReq) Reset() { *m = DismissGroupReq{} } func (m *DismissGroupReq) String() string { return proto.CompactTextString(m) } func (*DismissGroupReq) ProtoMessage() {} func (*DismissGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{53} + return fileDescriptor_group_3c77315b028a1402, []int{53} } func (m *DismissGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DismissGroupReq.Unmarshal(m, b) @@ -2863,7 +2863,7 @@ func (m *DismissGroupResp) Reset() { *m = DismissGroupResp{} } func (m *DismissGroupResp) String() string { return proto.CompactTextString(m) } func (*DismissGroupResp) ProtoMessage() {} func (*DismissGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_48ef48bf92e641e9, []int{54} + return fileDescriptor_group_3c77315b028a1402, []int{54} } func (m *DismissGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DismissGroupResp.Unmarshal(m, b) @@ -2890,6 +2890,398 @@ func (m *DismissGroupResp) GetCommonResp() *CommonResp { return nil } +type MuteGroupMemberReq struct { + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + GroupID string `protobuf:"bytes,3,opt,name=groupID" json:"groupID,omitempty"` + UserID string `protobuf:"bytes,4,opt,name=userID" json:"userID,omitempty"` + MutedSeconds uint32 `protobuf:"varint,5,opt,name=mutedSeconds" json:"mutedSeconds,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MuteGroupMemberReq) Reset() { *m = MuteGroupMemberReq{} } +func (m *MuteGroupMemberReq) String() string { return proto.CompactTextString(m) } +func (*MuteGroupMemberReq) ProtoMessage() {} +func (*MuteGroupMemberReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_3c77315b028a1402, []int{55} +} +func (m *MuteGroupMemberReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MuteGroupMemberReq.Unmarshal(m, b) +} +func (m *MuteGroupMemberReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MuteGroupMemberReq.Marshal(b, m, deterministic) +} +func (dst *MuteGroupMemberReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_MuteGroupMemberReq.Merge(dst, src) +} +func (m *MuteGroupMemberReq) XXX_Size() int { + return xxx_messageInfo_MuteGroupMemberReq.Size(m) +} +func (m *MuteGroupMemberReq) XXX_DiscardUnknown() { + xxx_messageInfo_MuteGroupMemberReq.DiscardUnknown(m) +} + +var xxx_messageInfo_MuteGroupMemberReq proto.InternalMessageInfo + +func (m *MuteGroupMemberReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +func (m *MuteGroupMemberReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *MuteGroupMemberReq) GetGroupID() string { + if m != nil { + return m.GroupID + } + return "" +} + +func (m *MuteGroupMemberReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *MuteGroupMemberReq) GetMutedSeconds() uint32 { + if m != nil { + return m.MutedSeconds + } + return 0 +} + +type MuteGroupMemberResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MuteGroupMemberResp) Reset() { *m = MuteGroupMemberResp{} } +func (m *MuteGroupMemberResp) String() string { return proto.CompactTextString(m) } +func (*MuteGroupMemberResp) ProtoMessage() {} +func (*MuteGroupMemberResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_3c77315b028a1402, []int{56} +} +func (m *MuteGroupMemberResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MuteGroupMemberResp.Unmarshal(m, b) +} +func (m *MuteGroupMemberResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MuteGroupMemberResp.Marshal(b, m, deterministic) +} +func (dst *MuteGroupMemberResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_MuteGroupMemberResp.Merge(dst, src) +} +func (m *MuteGroupMemberResp) XXX_Size() int { + return xxx_messageInfo_MuteGroupMemberResp.Size(m) +} +func (m *MuteGroupMemberResp) XXX_DiscardUnknown() { + xxx_messageInfo_MuteGroupMemberResp.DiscardUnknown(m) +} + +var xxx_messageInfo_MuteGroupMemberResp proto.InternalMessageInfo + +func (m *MuteGroupMemberResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type CancelMuteGroupMemberReq struct { + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + GroupID string `protobuf:"bytes,3,opt,name=groupID" json:"groupID,omitempty"` + UserID string `protobuf:"bytes,4,opt,name=userID" json:"userID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CancelMuteGroupMemberReq) Reset() { *m = CancelMuteGroupMemberReq{} } +func (m *CancelMuteGroupMemberReq) String() string { return proto.CompactTextString(m) } +func (*CancelMuteGroupMemberReq) ProtoMessage() {} +func (*CancelMuteGroupMemberReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_3c77315b028a1402, []int{57} +} +func (m *CancelMuteGroupMemberReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CancelMuteGroupMemberReq.Unmarshal(m, b) +} +func (m *CancelMuteGroupMemberReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CancelMuteGroupMemberReq.Marshal(b, m, deterministic) +} +func (dst *CancelMuteGroupMemberReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_CancelMuteGroupMemberReq.Merge(dst, src) +} +func (m *CancelMuteGroupMemberReq) XXX_Size() int { + return xxx_messageInfo_CancelMuteGroupMemberReq.Size(m) +} +func (m *CancelMuteGroupMemberReq) XXX_DiscardUnknown() { + xxx_messageInfo_CancelMuteGroupMemberReq.DiscardUnknown(m) +} + +var xxx_messageInfo_CancelMuteGroupMemberReq proto.InternalMessageInfo + +func (m *CancelMuteGroupMemberReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +func (m *CancelMuteGroupMemberReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *CancelMuteGroupMemberReq) GetGroupID() string { + if m != nil { + return m.GroupID + } + return "" +} + +func (m *CancelMuteGroupMemberReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +type CancelMuteGroupMemberResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CancelMuteGroupMemberResp) Reset() { *m = CancelMuteGroupMemberResp{} } +func (m *CancelMuteGroupMemberResp) String() string { return proto.CompactTextString(m) } +func (*CancelMuteGroupMemberResp) ProtoMessage() {} +func (*CancelMuteGroupMemberResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_3c77315b028a1402, []int{58} +} +func (m *CancelMuteGroupMemberResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CancelMuteGroupMemberResp.Unmarshal(m, b) +} +func (m *CancelMuteGroupMemberResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CancelMuteGroupMemberResp.Marshal(b, m, deterministic) +} +func (dst *CancelMuteGroupMemberResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_CancelMuteGroupMemberResp.Merge(dst, src) +} +func (m *CancelMuteGroupMemberResp) XXX_Size() int { + return xxx_messageInfo_CancelMuteGroupMemberResp.Size(m) +} +func (m *CancelMuteGroupMemberResp) XXX_DiscardUnknown() { + xxx_messageInfo_CancelMuteGroupMemberResp.DiscardUnknown(m) +} + +var xxx_messageInfo_CancelMuteGroupMemberResp proto.InternalMessageInfo + +func (m *CancelMuteGroupMemberResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type MuteGroupReq struct { + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + GroupID string `protobuf:"bytes,3,opt,name=groupID" json:"groupID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MuteGroupReq) Reset() { *m = MuteGroupReq{} } +func (m *MuteGroupReq) String() string { return proto.CompactTextString(m) } +func (*MuteGroupReq) ProtoMessage() {} +func (*MuteGroupReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_3c77315b028a1402, []int{59} +} +func (m *MuteGroupReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MuteGroupReq.Unmarshal(m, b) +} +func (m *MuteGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MuteGroupReq.Marshal(b, m, deterministic) +} +func (dst *MuteGroupReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_MuteGroupReq.Merge(dst, src) +} +func (m *MuteGroupReq) XXX_Size() int { + return xxx_messageInfo_MuteGroupReq.Size(m) +} +func (m *MuteGroupReq) XXX_DiscardUnknown() { + xxx_messageInfo_MuteGroupReq.DiscardUnknown(m) +} + +var xxx_messageInfo_MuteGroupReq proto.InternalMessageInfo + +func (m *MuteGroupReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +func (m *MuteGroupReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *MuteGroupReq) GetGroupID() string { + if m != nil { + return m.GroupID + } + return "" +} + +type MuteGroupResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MuteGroupResp) Reset() { *m = MuteGroupResp{} } +func (m *MuteGroupResp) String() string { return proto.CompactTextString(m) } +func (*MuteGroupResp) ProtoMessage() {} +func (*MuteGroupResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_3c77315b028a1402, []int{60} +} +func (m *MuteGroupResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MuteGroupResp.Unmarshal(m, b) +} +func (m *MuteGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MuteGroupResp.Marshal(b, m, deterministic) +} +func (dst *MuteGroupResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_MuteGroupResp.Merge(dst, src) +} +func (m *MuteGroupResp) XXX_Size() int { + return xxx_messageInfo_MuteGroupResp.Size(m) +} +func (m *MuteGroupResp) XXX_DiscardUnknown() { + xxx_messageInfo_MuteGroupResp.DiscardUnknown(m) +} + +var xxx_messageInfo_MuteGroupResp proto.InternalMessageInfo + +func (m *MuteGroupResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type CancelMuteGroupReq struct { + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + GroupID string `protobuf:"bytes,3,opt,name=groupID" json:"groupID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CancelMuteGroupReq) Reset() { *m = CancelMuteGroupReq{} } +func (m *CancelMuteGroupReq) String() string { return proto.CompactTextString(m) } +func (*CancelMuteGroupReq) ProtoMessage() {} +func (*CancelMuteGroupReq) Descriptor() ([]byte, []int) { + return fileDescriptor_group_3c77315b028a1402, []int{61} +} +func (m *CancelMuteGroupReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CancelMuteGroupReq.Unmarshal(m, b) +} +func (m *CancelMuteGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CancelMuteGroupReq.Marshal(b, m, deterministic) +} +func (dst *CancelMuteGroupReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_CancelMuteGroupReq.Merge(dst, src) +} +func (m *CancelMuteGroupReq) XXX_Size() int { + return xxx_messageInfo_CancelMuteGroupReq.Size(m) +} +func (m *CancelMuteGroupReq) XXX_DiscardUnknown() { + xxx_messageInfo_CancelMuteGroupReq.DiscardUnknown(m) +} + +var xxx_messageInfo_CancelMuteGroupReq proto.InternalMessageInfo + +func (m *CancelMuteGroupReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +func (m *CancelMuteGroupReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *CancelMuteGroupReq) GetGroupID() string { + if m != nil { + return m.GroupID + } + return "" +} + +type CancelMuteGroupResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CancelMuteGroupResp) Reset() { *m = CancelMuteGroupResp{} } +func (m *CancelMuteGroupResp) String() string { return proto.CompactTextString(m) } +func (*CancelMuteGroupResp) ProtoMessage() {} +func (*CancelMuteGroupResp) Descriptor() ([]byte, []int) { + return fileDescriptor_group_3c77315b028a1402, []int{62} +} +func (m *CancelMuteGroupResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CancelMuteGroupResp.Unmarshal(m, b) +} +func (m *CancelMuteGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CancelMuteGroupResp.Marshal(b, m, deterministic) +} +func (dst *CancelMuteGroupResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_CancelMuteGroupResp.Merge(dst, src) +} +func (m *CancelMuteGroupResp) XXX_Size() int { + return xxx_messageInfo_CancelMuteGroupResp.Size(m) +} +func (m *CancelMuteGroupResp) XXX_DiscardUnknown() { + xxx_messageInfo_CancelMuteGroupResp.DiscardUnknown(m) +} + +var xxx_messageInfo_CancelMuteGroupResp proto.InternalMessageInfo + +func (m *CancelMuteGroupResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + func init() { proto.RegisterType((*CommonResp)(nil), "group.CommonResp") proto.RegisterType((*GroupAddMemberInfo)(nil), "group.GroupAddMemberInfo") @@ -2946,6 +3338,14 @@ func init() { proto.RegisterType((*AddGroupMembersCMSResp)(nil), "group.AddGroupMembersCMSResp") proto.RegisterType((*DismissGroupReq)(nil), "group.DismissGroupReq") proto.RegisterType((*DismissGroupResp)(nil), "group.DismissGroupResp") + proto.RegisterType((*MuteGroupMemberReq)(nil), "group.MuteGroupMemberReq") + proto.RegisterType((*MuteGroupMemberResp)(nil), "group.MuteGroupMemberResp") + proto.RegisterType((*CancelMuteGroupMemberReq)(nil), "group.CancelMuteGroupMemberReq") + proto.RegisterType((*CancelMuteGroupMemberResp)(nil), "group.CancelMuteGroupMemberResp") + proto.RegisterType((*MuteGroupReq)(nil), "group.MuteGroupReq") + proto.RegisterType((*MuteGroupResp)(nil), "group.MuteGroupResp") + proto.RegisterType((*CancelMuteGroupReq)(nil), "group.CancelMuteGroupReq") + proto.RegisterType((*CancelMuteGroupResp)(nil), "group.CancelMuteGroupResp") } // Reference imports to suppress errors if they are not otherwise used. @@ -2984,6 +3384,10 @@ type GroupClient interface { RemoveGroupMembersCMS(ctx context.Context, in *RemoveGroupMembersCMSReq, opts ...grpc.CallOption) (*RemoveGroupMembersCMSResp, error) AddGroupMembersCMS(ctx context.Context, in *AddGroupMembersCMSReq, opts ...grpc.CallOption) (*AddGroupMembersCMSResp, error) DismissGroup(ctx context.Context, in *DismissGroupReq, opts ...grpc.CallOption) (*DismissGroupResp, error) + MuteGroupMember(ctx context.Context, in *MuteGroupMemberReq, opts ...grpc.CallOption) (*MuteGroupMemberResp, error) + CancelMuteGroupMember(ctx context.Context, in *CancelMuteGroupMemberReq, opts ...grpc.CallOption) (*CancelMuteGroupMemberResp, error) + MuteGroup(ctx context.Context, in *MuteGroupReq, opts ...grpc.CallOption) (*MuteGroupResp, error) + CancelMuteGroup(ctx context.Context, in *CancelMuteGroupReq, opts ...grpc.CallOption) (*CancelMuteGroupResp, error) } type groupClient struct { @@ -3219,6 +3623,42 @@ func (c *groupClient) DismissGroup(ctx context.Context, in *DismissGroupReq, opt return out, nil } +func (c *groupClient) MuteGroupMember(ctx context.Context, in *MuteGroupMemberReq, opts ...grpc.CallOption) (*MuteGroupMemberResp, error) { + out := new(MuteGroupMemberResp) + err := grpc.Invoke(ctx, "/group.group/MuteGroupMember", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *groupClient) CancelMuteGroupMember(ctx context.Context, in *CancelMuteGroupMemberReq, opts ...grpc.CallOption) (*CancelMuteGroupMemberResp, error) { + out := new(CancelMuteGroupMemberResp) + err := grpc.Invoke(ctx, "/group.group/CancelMuteGroupMember", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *groupClient) MuteGroup(ctx context.Context, in *MuteGroupReq, opts ...grpc.CallOption) (*MuteGroupResp, error) { + out := new(MuteGroupResp) + err := grpc.Invoke(ctx, "/group.group/MuteGroup", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *groupClient) CancelMuteGroup(ctx context.Context, in *CancelMuteGroupReq, opts ...grpc.CallOption) (*CancelMuteGroupResp, error) { + out := new(CancelMuteGroupResp) + err := grpc.Invoke(ctx, "/group.group/CancelMuteGroup", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // Server API for Group service type GroupServer interface { @@ -3247,6 +3687,10 @@ type GroupServer interface { RemoveGroupMembersCMS(context.Context, *RemoveGroupMembersCMSReq) (*RemoveGroupMembersCMSResp, error) AddGroupMembersCMS(context.Context, *AddGroupMembersCMSReq) (*AddGroupMembersCMSResp, error) DismissGroup(context.Context, *DismissGroupReq) (*DismissGroupResp, error) + MuteGroupMember(context.Context, *MuteGroupMemberReq) (*MuteGroupMemberResp, error) + CancelMuteGroupMember(context.Context, *CancelMuteGroupMemberReq) (*CancelMuteGroupMemberResp, error) + MuteGroup(context.Context, *MuteGroupReq) (*MuteGroupResp, error) + CancelMuteGroup(context.Context, *CancelMuteGroupReq) (*CancelMuteGroupResp, error) } func RegisterGroupServer(s *grpc.Server, srv GroupServer) { @@ -3703,6 +4147,78 @@ func _Group_DismissGroup_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } +func _Group_MuteGroupMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MuteGroupMemberReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GroupServer).MuteGroupMember(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/group.group/MuteGroupMember", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GroupServer).MuteGroupMember(ctx, req.(*MuteGroupMemberReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Group_CancelMuteGroupMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CancelMuteGroupMemberReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GroupServer).CancelMuteGroupMember(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/group.group/CancelMuteGroupMember", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GroupServer).CancelMuteGroupMember(ctx, req.(*CancelMuteGroupMemberReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Group_MuteGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MuteGroupReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GroupServer).MuteGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/group.group/MuteGroup", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GroupServer).MuteGroup(ctx, req.(*MuteGroupReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Group_CancelMuteGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CancelMuteGroupReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GroupServer).CancelMuteGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/group.group/CancelMuteGroup", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GroupServer).CancelMuteGroup(ctx, req.(*CancelMuteGroupReq)) + } + return interceptor(ctx, in, info, handler) +} + var _Group_serviceDesc = grpc.ServiceDesc{ ServiceName: "group.group", HandlerType: (*GroupServer)(nil), @@ -3807,133 +4323,159 @@ var _Group_serviceDesc = grpc.ServiceDesc{ MethodName: "DismissGroup", Handler: _Group_DismissGroup_Handler, }, + { + MethodName: "MuteGroupMember", + Handler: _Group_MuteGroupMember_Handler, + }, + { + MethodName: "CancelMuteGroupMember", + Handler: _Group_CancelMuteGroupMember_Handler, + }, + { + MethodName: "MuteGroup", + Handler: _Group_MuteGroup_Handler, + }, + { + MethodName: "CancelMuteGroup", + Handler: _Group_CancelMuteGroup_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "group/group.proto", } -func init() { proto.RegisterFile("group/group.proto", fileDescriptor_group_48ef48bf92e641e9) } +func init() { proto.RegisterFile("group/group.proto", fileDescriptor_group_3c77315b028a1402) } -var fileDescriptor_group_48ef48bf92e641e9 = []byte{ - // 1913 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x4f, 0x6f, 0xdb, 0xca, - 0x11, 0x07, 0x2d, 0xcb, 0xb6, 0xc6, 0x7f, 0x64, 0xaf, 0x23, 0x5b, 0xe1, 0xd3, 0xf3, 0xf3, 0xdb, - 0x97, 0x3e, 0x18, 0xfd, 0x63, 0xa3, 0x0e, 0x90, 0x43, 0x53, 0x34, 0xf5, 0xdf, 0x44, 0x49, 0x64, - 0xd7, 0x74, 0x7a, 0xc9, 0xc5, 0x55, 0xcc, 0xb5, 0xc0, 0x5a, 0x12, 0x69, 0x2e, 0x65, 0xb7, 0xbd, - 0x04, 0xbd, 0x04, 0x08, 0xda, 0x43, 0x8b, 0x02, 0x3d, 0x15, 0x68, 0x73, 0xef, 0xa1, 0x87, 0xf6, - 0x5c, 0xf4, 0x63, 0xf4, 0x4b, 0xb4, 0x5f, 0xa1, 0xe0, 0xee, 0x72, 0xb9, 0x24, 0x97, 0xb4, 0x2c, - 0xa5, 0x2f, 0x17, 0x01, 0x33, 0x3b, 0xbb, 0xf3, 0x9b, 0xd9, 0x9d, 0xd9, 0xd9, 0xa1, 0x60, 0xa9, - 0xe3, 0xbb, 0x03, 0x6f, 0x8b, 0xfd, 0x6e, 0x7a, 0xbe, 0x1b, 0xb8, 0xa8, 0xcc, 0x08, 0xf3, 0xcb, - 0x63, 0x8f, 0xf4, 0xcf, 0x9a, 0xad, 0x2d, 0xef, 0xb2, 0xb3, 0xc5, 0x46, 0xb6, 0xa8, 0x7d, 0x79, - 0x76, 0x43, 0xb7, 0x6e, 0x28, 0x97, 0xc4, 0x3f, 0x02, 0xd8, 0x73, 0x7b, 0x3d, 0xb7, 0x6f, 0x11, - 0xea, 0xa1, 0x3a, 0x4c, 0x1f, 0xf8, 0xfe, 0x9e, 0x6b, 0x93, 0xba, 0xb1, 0x6e, 0x6c, 0x94, 0xad, - 0x88, 0x44, 0x2b, 0x30, 0x75, 0xe0, 0xfb, 0x2d, 0xda, 0xa9, 0x4f, 0xac, 0x1b, 0x1b, 0x15, 0x4b, - 0x50, 0xf8, 0x39, 0xa0, 0xa7, 0xa1, 0xae, 0x1d, 0xdb, 0x6e, 0x91, 0xde, 0x1b, 0xe2, 0x37, 0xfb, - 0x17, 0x6e, 0x28, 0xfd, 0x53, 0x4a, 0xfc, 0xe6, 0x3e, 0x5b, 0xa6, 0x62, 0x09, 0x0a, 0x35, 0xa0, - 0x62, 0xb9, 0x5d, 0xf2, 0x92, 0x5c, 0x93, 0x2e, 0x5b, 0xa8, 0x6c, 0xc5, 0x0c, 0xfc, 0x5f, 0x03, - 0x16, 0xf6, 0x7c, 0xd2, 0x0e, 0x08, 0x5b, 0xd2, 0x22, 0x57, 0x68, 0x07, 0x16, 0x9a, 0x7d, 0x27, - 0xe0, 0x4b, 0xbf, 0x74, 0x68, 0x50, 0x37, 0xd6, 0x4b, 0x1b, 0xb3, 0xdb, 0xf7, 0x37, 0xb9, 0xb9, - 0x59, 0xdd, 0x56, 0x6a, 0x02, 0xfa, 0x01, 0x54, 0x98, 0x54, 0x38, 0xc8, 0x74, 0xce, 0x6e, 0x37, - 0x36, 0x29, 0xf1, 0xaf, 0x89, 0x7f, 0xd6, 0xf6, 0x9c, 0x33, 0xaf, 0xed, 0xb7, 0x7b, 0x74, 0x53, - 0xca, 0x58, 0xb1, 0x38, 0x5a, 0x87, 0xd9, 0x63, 0x8f, 0xf8, 0xed, 0xc0, 0x71, 0xfb, 0xcd, 0xfd, - 0x7a, 0x89, 0x19, 0xa3, 0xb2, 0x90, 0x09, 0x33, 0xc7, 0x9e, 0xb0, 0x75, 0x92, 0x0d, 0x4b, 0x9a, - 0xcd, 0xbe, 0xe9, 0x13, 0x5f, 0x0c, 0x97, 0xc5, 0xec, 0x98, 0x85, 0xdf, 0x42, 0x35, 0x61, 0xf0, - 0x28, 0x5b, 0x90, 0x34, 0xb0, 0x74, 0x27, 0x03, 0xb1, 0x0f, 0x8b, 0x4f, 0x49, 0xc0, 0x68, 0xca, - 0xc6, 0xc8, 0x55, 0x08, 0x9b, 0x0b, 0xec, 0x4b, 0x87, 0x57, 0x2c, 0x95, 0x95, 0x76, 0xcb, 0x44, - 0xb1, 0x5b, 0x4a, 0x49, 0xb7, 0xe0, 0xf7, 0x06, 0x2c, 0xa5, 0x94, 0x8e, 0x64, 0xf7, 0x2e, 0xcc, - 0x4b, 0x43, 0x18, 0xd2, 0x12, 0x3b, 0x1a, 0xc5, 0xb6, 0x27, 0xa7, 0xe0, 0xdf, 0x18, 0x50, 0x3d, - 0x15, 0x58, 0x22, 0xfb, 0x13, 0xfe, 0x34, 0xee, 0x76, 0x60, 0x54, 0xbb, 0x27, 0x34, 0xc7, 0xa1, - 0xf0, 0x30, 0xe1, 0x03, 0x58, 0x4c, 0x82, 0xa1, 0x1e, 0xfa, 0xbe, 0x1a, 0xa0, 0x02, 0xce, 0x92, - 0x38, 0xfd, 0xf1, 0x80, 0xa5, 0x08, 0xe1, 0x5f, 0x81, 0x19, 0xf9, 0x77, 0xc7, 0xf3, 0xba, 0xce, - 0x39, 0x5b, 0x3f, 0xb4, 0x37, 0x34, 0x4f, 0x85, 0x68, 0x14, 0x43, 0xd4, 0x6c, 0xec, 0x1a, 0xc0, - 0xa1, 0xef, 0xf6, 0x12, 0x5b, 0xab, 0x70, 0xf0, 0x9f, 0x0c, 0xf8, 0x2c, 0x57, 0xf9, 0x48, 0xdb, - 0xfc, 0x02, 0x16, 0xa3, 0x74, 0x30, 0x20, 0x34, 0x50, 0x76, 0xfa, 0x8b, 0xbc, 0x5d, 0x11, 0xa2, - 0x56, 0x66, 0x22, 0x0e, 0xa0, 0xf1, 0x94, 0x04, 0x21, 0x56, 0x8b, 0x5c, 0x69, 0x9c, 0x93, 0x97, - 0xb8, 0xc6, 0xdb, 0xd7, 0x3f, 0x1b, 0xf0, 0x79, 0x81, 0xda, 0x91, 0x76, 0x59, 0xeb, 0x97, 0x89, - 0x51, 0xfd, 0xf2, 0x4f, 0x03, 0x6a, 0xaf, 0xfc, 0x76, 0x9f, 0x5e, 0x10, 0x9f, 0x0d, 0xb2, 0x2c, - 0x15, 0x7a, 0xa4, 0x0e, 0xd3, 0x22, 0xf4, 0x85, 0x4b, 0x22, 0x12, 0x7d, 0x0d, 0x0b, 0xc7, 0x5d, - 0x5b, 0xcd, 0x70, 0xdc, 0x33, 0x29, 0x6e, 0x28, 0x77, 0x44, 0x6e, 0x54, 0x39, 0xee, 0xa2, 0x14, - 0x37, 0xed, 0xc7, 0xc9, 0xe2, 0xac, 0x52, 0x4e, 0x65, 0x95, 0x17, 0xb0, 0xa2, 0x33, 0x60, 0xb4, - 0x08, 0x7a, 0x67, 0xc0, 0xdc, 0x73, 0xd7, 0xe9, 0xcb, 0x7b, 0x28, 0xdf, 0x0b, 0x6b, 0x00, 0x16, - 0xb9, 0x6a, 0x11, 0x4a, 0xdb, 0x1d, 0x22, 0x3c, 0xa0, 0x70, 0x8a, 0x32, 0xe1, 0xed, 0x16, 0xe3, - 0x5d, 0x98, 0x57, 0x70, 0x8c, 0x66, 0xcc, 0xbf, 0xc3, 0x90, 0x4c, 0xc5, 0x63, 0x38, 0xe0, 0xf6, - 0x29, 0x11, 0xf9, 0x5e, 0x45, 0x61, 0x14, 0xfb, 0x3d, 0x7d, 0xfa, 0x15, 0xcf, 0x94, 0x32, 0x9e, - 0x51, 0x52, 0xc5, 0x64, 0x3a, 0x55, 0x84, 0xe3, 0xcf, 0xda, 0x7d, 0xbb, 0x4b, 0xec, 0x30, 0xe8, - 0xf9, 0x7e, 0x2a, 0x1c, 0x84, 0x61, 0x8e, 0x53, 0x16, 0xa1, 0x83, 0x6e, 0x50, 0x9f, 0x62, 0xf9, - 0x22, 0xc1, 0xc3, 0x27, 0xd0, 0xc8, 0x37, 0x6d, 0x34, 0x77, 0x5d, 0xc0, 0xdc, 0xc9, 0xc0, 0x09, - 0x86, 0xd8, 0xfa, 0xf1, 0xae, 0xc1, 0x5d, 0x98, 0x57, 0xf4, 0x8c, 0x86, 0xf5, 0x83, 0x01, 0xb5, - 0x28, 0xdb, 0xc6, 0x25, 0x4f, 0x31, 0xea, 0xb1, 0x52, 0x59, 0x98, 0x20, 0x0f, 0x9d, 0x6e, 0x40, - 0x7c, 0xb6, 0xa1, 0x65, 0x4b, 0x50, 0xa1, 0xbe, 0x23, 0xf2, 0x8b, 0xe0, 0x94, 0x5c, 0xb1, 0x9d, - 0x2c, 0x5b, 0x11, 0x89, 0xff, 0x6a, 0xc0, 0x8a, 0x0e, 0xe3, 0x48, 0x97, 0xc1, 0x21, 0x40, 0x2f, - 0xae, 0x05, 0xf9, 0x35, 0xf0, 0x75, 0x5e, 0xba, 0xe3, 0xda, 0x0e, 0x07, 0xdd, 0x2e, 0xbb, 0x4d, - 0x95, 0x99, 0xa1, 0xe6, 0xbe, 0x80, 0xcb, 0xed, 0x88, 0x48, 0xfc, 0xbb, 0x0c, 0x5c, 0x59, 0x18, - 0x15, 0x26, 0x01, 0x05, 0xd6, 0x04, 0xab, 0x98, 0x54, 0x75, 0xe3, 0x25, 0x81, 0x3f, 0x18, 0xb0, - 0xaa, 0x85, 0xf4, 0x29, 0x5d, 0x88, 0xff, 0x66, 0x00, 0x7a, 0xe1, 0x9c, 0x5f, 0x2a, 0x72, 0xc5, - 0x4e, 0xfa, 0x36, 0x2c, 0x86, 0xf2, 0xc4, 0xe6, 0x86, 0x2b, 0xae, 0xca, 0xf0, 0x43, 0xf0, 0x16, - 0x69, 0x53, 0xb7, 0x2f, 0xdc, 0x25, 0xa8, 0xb4, 0xb3, 0xca, 0xc5, 0x21, 0x37, 0x95, 0x0a, 0xb9, - 0xc7, 0x50, 0x69, 0xda, 0xdb, 0x3c, 0x75, 0xe4, 0x5e, 0xf5, 0x4c, 0x35, 0x4b, 0x38, 0xfc, 0x81, - 0x22, 0x28, 0xfc, 0x16, 0x96, 0x33, 0xe6, 0x8e, 0xb4, 0x01, 0x8f, 0x60, 0x5e, 0xa2, 0x50, 0xf6, - 0x60, 0x51, 0x84, 0xba, 0x1c, 0xb3, 0x92, 0x62, 0x78, 0xc0, 0x62, 0x3d, 0xbc, 0x0e, 0x88, 0xcd, - 0x50, 0x44, 0xb1, 0x9e, 0x4c, 0xb4, 0x46, 0x26, 0xd1, 0xae, 0xc3, 0xac, 0x9b, 0xcd, 0x53, 0xee, - 0x90, 0x79, 0xea, 0x1d, 0x0f, 0x88, 0x8c, 0xde, 0xb1, 0xde, 0x2a, 0x43, 0xd7, 0xeb, 0xb1, 0x38, - 0xfe, 0xbb, 0x01, 0xf7, 0x9a, 0xfd, 0x6b, 0x27, 0x20, 0x21, 0xb2, 0x57, 0xae, 0xcc, 0xd0, 0xb7, - 0xe7, 0xe1, 0xfc, 0x4b, 0x2a, 0x3e, 0x68, 0x93, 0x89, 0x83, 0xf6, 0x5d, 0x58, 0xe2, 0xba, 0xd4, - 0xd3, 0x5a, 0x66, 0xa7, 0x35, 0x3b, 0x50, 0x78, 0xe8, 0x7e, 0x6d, 0x40, 0x4d, 0x03, 0xfb, 0x1b, - 0x3d, 0x3a, 0x7d, 0xb8, 0x27, 0x8b, 0xf2, 0x6e, 0x77, 0x98, 0x60, 0x1d, 0xaf, 0xe0, 0xfd, 0xbd, - 0x72, 0x2f, 0x29, 0x0a, 0x3f, 0x69, 0xbe, 0xfa, 0xa3, 0x01, 0x33, 0x7b, 0xad, 0x53, 0x26, 0x36, - 0xd6, 0x1b, 0x6f, 0x03, 0xaa, 0x5c, 0x57, 0x9b, 0x06, 0xc4, 0x3f, 0x6a, 0xf7, 0xa2, 0xb2, 0x2f, - 0xcd, 0x46, 0x0f, 0xc4, 0x0b, 0x95, 0xb3, 0x9a, 0xb6, 0x70, 0x55, 0x92, 0x19, 0xa6, 0xf7, 0xd9, - 0xc8, 0x59, 0xe1, 0xa6, 0x34, 0x04, 0x36, 0xb6, 0x32, 0xdf, 0x96, 0x98, 0x81, 0xf6, 0x01, 0x7e, - 0xd2, 0xee, 0x38, 0x7d, 0xe6, 0x6a, 0xd1, 0xcf, 0x78, 0xa0, 0x81, 0x2e, 0xaa, 0xfb, 0x58, 0xd6, - 0x52, 0xe6, 0x0d, 0xb1, 0x85, 0x1f, 0x0c, 0x98, 0x8b, 0x51, 0x51, 0x0f, 0x7d, 0x0f, 0x2a, 0x91, - 0xfb, 0xa8, 0xe8, 0xc2, 0x54, 0xa3, 0xea, 0x44, 0xf0, 0xad, 0x58, 0xe2, 0x23, 0xe1, 0x94, 0xbe, - 0x18, 0xf4, 0x28, 0x43, 0x59, 0xb6, 0x62, 0x06, 0xbe, 0x8e, 0x21, 0xd2, 0xd0, 0x73, 0x49, 0x9d, - 0xc6, 0xc7, 0xf1, 0x4d, 0x36, 0x9d, 0xe0, 0xbf, 0x18, 0x30, 0xaf, 0x28, 0xfe, 0x54, 0xce, 0x31, - 0x61, 0x26, 0xf2, 0x85, 0xf0, 0x8d, 0xa4, 0xf1, 0x71, 0xdc, 0x63, 0xd1, 0x84, 0xbb, 0x9d, 0x0c, - 0x77, 0x7b, 0x08, 0x9b, 0x2f, 0xa1, 0xc6, 0x49, 0xde, 0xab, 0x3a, 0x0d, 0xda, 0xc1, 0x80, 0x16, - 0x2f, 0xba, 0x02, 0x53, 0x5c, 0x2c, 0xba, 0x49, 0x39, 0x35, 0xc4, 0xe1, 0xab, 0xc3, 0x8a, 0x4e, - 0x19, 0x7f, 0x99, 0x21, 0x31, 0xc4, 0x9e, 0xd3, 0x6e, 0x97, 0xdc, 0x0a, 0x82, 0xa5, 0x2d, 0x3b, - 0x4a, 0x2b, 0x9c, 0x4a, 0xb6, 0x22, 0x4b, 0xa9, 0x56, 0xe4, 0x10, 0x45, 0x59, 0x0d, 0x96, 0x33, - 0x38, 0xa8, 0x87, 0x5f, 0xc2, 0xc2, 0x3e, 0xe9, 0x12, 0xa5, 0x85, 0x39, 0x8e, 0xd3, 0x97, 0xa0, - 0x9a, 0x58, 0x8d, 0x7a, 0xb8, 0x05, 0xd5, 0x68, 0x63, 0x77, 0x7f, 0xd9, 0xb4, 0xc7, 0xd5, 0xf0, - 0x24, 0x6e, 0x00, 0xf2, 0xe5, 0xa8, 0x87, 0xbe, 0x13, 0x27, 0x4a, 0x11, 0x44, 0x99, 0xb3, 0x2c, - 0x05, 0xf0, 0x3f, 0x32, 0x4f, 0x10, 0xba, 0xd7, 0x3a, 0x2d, 0x86, 0x65, 0xc2, 0x4c, 0xe8, 0x34, - 0x25, 0x75, 0x4a, 0x3a, 0x15, 0x1a, 0xa5, 0x8f, 0x13, 0xc3, 0x9a, 0xfd, 0xfb, 0x57, 0xb6, 0xce, - 0x67, 0xb8, 0xa9, 0x87, 0x7e, 0x0c, 0xd3, 0xfc, 0xde, 0x88, 0x42, 0x79, 0xd8, 0xeb, 0x26, 0x9a, - 0x86, 0x0e, 0x34, 0xf1, 0xfd, 0x2d, 0xad, 0x11, 0xfc, 0xad, 0x9a, 0x63, 0xc5, 0x1a, 0x00, 0xd7, - 0xa0, 0xa4, 0x3f, 0x85, 0x83, 0x7f, 0x6b, 0x40, 0xdd, 0x22, 0x3d, 0xf7, 0x9a, 0xdc, 0xc9, 0xfd, - 0x75, 0x98, 0xe6, 0x41, 0x40, 0x45, 0xfd, 0x1d, 0x91, 0x77, 0xea, 0x77, 0xdb, 0xa9, 0x7e, 0xb7, - 0x8d, 0x5b, 0x70, 0x3f, 0x07, 0x0d, 0xbf, 0xf8, 0xe9, 0xe0, 0xfc, 0x9c, 0x50, 0x2a, 0x3a, 0xca, - 0x11, 0x19, 0x46, 0xe8, 0x45, 0xdb, 0xe9, 0x12, 0x5b, 0xa0, 0x11, 0x14, 0x7e, 0x6f, 0x40, 0x6d, - 0xc7, 0xb6, 0xff, 0x1f, 0xa6, 0xd9, 0x59, 0xd3, 0xec, 0x42, 0xd3, 0x9e, 0xc3, 0x8a, 0x0e, 0xca, - 0x48, 0x76, 0x39, 0x50, 0xdd, 0x77, 0x68, 0xcf, 0xa1, 0x54, 0xe6, 0x08, 0x13, 0x66, 0xdc, 0x54, - 0x4f, 0xd6, 0xf5, 0x86, 0xae, 0xde, 0xeb, 0x30, 0xdd, 0x49, 0x56, 0xb7, 0x82, 0xc4, 0x07, 0xb0, - 0x98, 0x54, 0xc5, 0xdb, 0x0c, 0xe7, 0xc3, 0xb4, 0x19, 0x62, 0xa1, 0xed, 0xff, 0x2c, 0x00, 0xff, - 0xa2, 0x84, 0x7e, 0x08, 0xb3, 0xe7, 0xf1, 0x07, 0x0b, 0x54, 0x8b, 0xe6, 0x25, 0xbe, 0xda, 0x98, - 0x2b, 0x3a, 0x36, 0xf5, 0xd0, 0x23, 0xa8, 0xfc, 0x3c, 0xea, 0x66, 0xa1, 0x65, 0x21, 0xa4, 0xf6, - 0xd9, 0xcc, 0x7b, 0x59, 0x26, 0x9f, 0x77, 0x15, 0xb5, 0x4a, 0xe4, 0x3c, 0xb5, 0x49, 0x23, 0xe7, - 0x25, 0x3b, 0x2a, 0xbb, 0x30, 0xdf, 0x51, 0x3f, 0x34, 0xa0, 0xd5, 0xe8, 0xb3, 0x51, 0xea, 0x9b, - 0x87, 0x59, 0xd7, 0x0f, 0x50, 0x0f, 0x3d, 0x81, 0x39, 0xaa, 0xf4, 0xe4, 0x51, 0x64, 0x5b, 0xea, - 0xab, 0x81, 0xb9, 0xaa, 0xe5, 0x53, 0x0f, 0xfd, 0x0c, 0x56, 0x3b, 0xfa, 0x86, 0x38, 0xfa, 0x32, - 0xa5, 0x35, 0xdb, 0x90, 0x36, 0xf1, 0x6d, 0x22, 0xd4, 0x43, 0x17, 0x70, 0xbf, 0x93, 0xd7, 0x5d, - 0x46, 0x5f, 0xc5, 0x0b, 0xe4, 0xb6, 0xbd, 0xcd, 0x07, 0xb7, 0x0b, 0x51, 0x0f, 0x9d, 0x00, 0x0a, - 0x32, 0x2d, 0x56, 0xd4, 0x10, 0x73, 0xb5, 0xed, 0x63, 0xf3, 0xf3, 0x82, 0x51, 0xea, 0xa1, 0x73, - 0xa8, 0x77, 0x72, 0xfa, 0x77, 0x08, 0x27, 0xbe, 0xf1, 0x69, 0x7b, 0x97, 0xe6, 0x57, 0xb7, 0xca, - 0x70, 0xdc, 0x9d, 0x4c, 0x03, 0x4a, 0xe2, 0xd6, 0xf6, 0xcf, 0x24, 0xee, 0x9c, 0xce, 0xd5, 0x2b, - 0x58, 0xee, 0x64, 0x3b, 0x32, 0x48, 0x3f, 0x4b, 0x9e, 0xb2, 0xb5, 0xa2, 0x61, 0xea, 0xa1, 0x67, - 0x50, 0xbd, 0x4c, 0xb6, 0x18, 0x50, 0xf4, 0xa1, 0x33, 0xdb, 0x69, 0x31, 0xcd, 0xbc, 0x21, 0x69, - 0x72, 0xea, 0xcd, 0xae, 0x9a, 0x9c, 0x6d, 0x23, 0xa8, 0x26, 0xeb, 0x1e, 0xfb, 0x47, 0xb0, 0xe4, - 0xa4, 0x9f, 0xb1, 0xe8, 0xb3, 0xe8, 0xe5, 0xa9, 0x79, 0x97, 0x9b, 0x8d, 0xfc, 0x41, 0xbe, 0x5e, - 0x27, 0xfd, 0x44, 0x94, 0xeb, 0xe9, 0x5e, 0xab, 0x66, 0x23, 0x7f, 0x90, 0x07, 0xaa, 0x5a, 0xc9, - 0xc8, 0x40, 0x4d, 0x55, 0x4b, 0xe6, 0xaa, 0x96, 0x4f, 0x3d, 0xf4, 0x10, 0x66, 0x22, 0x1e, 0x42, - 0x29, 0xa1, 0x70, 0xe2, 0x72, 0x86, 0xc7, 0x53, 0x93, 0xcc, 0x19, 0x28, 0x2d, 0x41, 0xd5, 0xd4, - 0x94, 0x7c, 0x30, 0x9c, 0xc8, 0x32, 0x56, 0xa9, 0x70, 0xe5, 0x06, 0x69, 0x2b, 0x6d, 0xb9, 0x41, - 0xfa, 0xd2, 0x38, 0x3c, 0x3d, 0xa9, 0x8a, 0x54, 0x9e, 0x9e, 0x6c, 0xc5, 0x2c, 0x4f, 0x8f, 0xa6, - 0x88, 0x0d, 0xb3, 0xbc, 0x52, 0x76, 0xca, 0x2c, 0x9f, 0x2c, 0x6c, 0x65, 0x96, 0x4f, 0x55, 0xa8, - 0xa1, 0x69, 0xd9, 0xc2, 0x2a, 0x27, 0xdc, 0xc4, 0x8d, 0x9e, 0x13, 0x6e, 0xf2, 0x92, 0x7d, 0x0d, - 0x35, 0x6d, 0x65, 0x81, 0xbe, 0x10, 0xf3, 0xf2, 0xaa, 0x20, 0x73, 0xbd, 0x58, 0x80, 0xc3, 0xcd, - 0x5e, 0xed, 0x12, 0xae, 0xb6, 0x00, 0x91, 0x70, 0x73, 0x6a, 0x82, 0x27, 0x30, 0xa7, 0x5e, 0xbb, - 0xf2, 0x28, 0xa6, 0xae, 0x7d, 0x79, 0x14, 0xd3, 0x77, 0xf4, 0x6e, 0xf5, 0xf5, 0xfc, 0x26, 0xff, - 0x43, 0xc7, 0x63, 0xf6, 0xfb, 0x66, 0x8a, 0xfd, 0x5b, 0xe3, 0xe1, 0xff, 0x02, 0x00, 0x00, 0xff, - 0xff, 0x9c, 0x9b, 0x8c, 0x7a, 0xec, 0x21, 0x00, 0x00, +var fileDescriptor_group_3c77315b028a1402 = []byte{ + // 2068 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x4f, 0x6f, 0xdb, 0xc8, + 0x15, 0x07, 0xed, 0xc8, 0xb6, 0x9e, 0xad, 0xc8, 0x1e, 0x47, 0xb6, 0xc2, 0xf5, 0x66, 0xbd, 0xb3, + 0xe9, 0x22, 0xe8, 0x1f, 0x1b, 0xcd, 0x02, 0x39, 0x74, 0x8b, 0xa6, 0xf1, 0x9f, 0xc4, 0x4a, 0x22, + 0xbb, 0xa1, 0xd3, 0x4b, 0x2e, 0xa9, 0x56, 0x1c, 0x0b, 0xaa, 0x25, 0x92, 0xe6, 0x50, 0x4e, 0xdb, + 0xcb, 0xa2, 0x97, 0x05, 0xb6, 0xed, 0xa1, 0x45, 0x81, 0x3d, 0x15, 0x68, 0x73, 0xeb, 0xa1, 0x87, + 0x1e, 0xda, 0x73, 0xd1, 0x8f, 0xd1, 0x4f, 0xd1, 0xaf, 0x50, 0x70, 0x66, 0x38, 0x1c, 0x0e, 0x87, + 0xb4, 0x42, 0x25, 0xcd, 0x45, 0xc0, 0xbc, 0x79, 0xc3, 0xf7, 0x7b, 0x6f, 0xe6, 0xbd, 0x79, 0xef, + 0x8d, 0x60, 0x6d, 0x10, 0xfa, 0x93, 0x60, 0x97, 0xfd, 0xee, 0x04, 0xa1, 0x1f, 0xf9, 0xa8, 0xc6, + 0x06, 0xf6, 0xc7, 0x27, 0x01, 0xf1, 0x5e, 0x76, 0xba, 0xbb, 0xc1, 0xf9, 0x60, 0x97, 0xcd, 0xec, + 0x52, 0xf7, 0xfc, 0xe5, 0x2b, 0xba, 0xfb, 0x8a, 0x72, 0x4e, 0xfc, 0x23, 0x80, 0x7d, 0x7f, 0x3c, + 0xf6, 0x3d, 0x87, 0xd0, 0x00, 0xb5, 0x61, 0xf1, 0x30, 0x0c, 0xf7, 0x7d, 0x97, 0xb4, 0xad, 0x6d, + 0xeb, 0x4e, 0xcd, 0x49, 0x86, 0x68, 0x03, 0x16, 0x0e, 0xc3, 0xb0, 0x4b, 0x07, 0xed, 0xb9, 0x6d, + 0xeb, 0x4e, 0xdd, 0x11, 0x23, 0xfc, 0x18, 0xd0, 0xa3, 0x58, 0xd6, 0x03, 0xd7, 0xed, 0x92, 0xf1, + 0x17, 0x24, 0xec, 0x78, 0x67, 0x7e, 0xcc, 0xfd, 0x53, 0x4a, 0xc2, 0xce, 0x01, 0xfb, 0x4c, 0xdd, + 0x11, 0x23, 0xb4, 0x05, 0x75, 0xc7, 0x1f, 0x91, 0xa7, 0xe4, 0x92, 0x8c, 0xd8, 0x87, 0x6a, 0x4e, + 0x4a, 0xc0, 0xff, 0xb5, 0xe0, 0xfa, 0x7e, 0x48, 0x7a, 0x11, 0x61, 0x9f, 0x74, 0xc8, 0x05, 0x7a, + 0x00, 0xd7, 0x3b, 0xde, 0x30, 0xe2, 0x9f, 0x7e, 0x3a, 0xa4, 0x51, 0xdb, 0xda, 0x9e, 0xbf, 0xb3, + 0x7c, 0xf7, 0xe6, 0x0e, 0x57, 0x37, 0x2f, 0xdb, 0xd1, 0x16, 0xa0, 0x1f, 0x40, 0x9d, 0x71, 0xc5, + 0x93, 0x4c, 0xe6, 0xf2, 0xdd, 0xad, 0x1d, 0x4a, 0xc2, 0x4b, 0x12, 0xbe, 0xec, 0x05, 0xc3, 0x97, + 0x41, 0x2f, 0xec, 0x8d, 0xe9, 0x8e, 0xe4, 0x71, 0x52, 0x76, 0xb4, 0x0d, 0xcb, 0x27, 0x01, 0x09, + 0x7b, 0xd1, 0xd0, 0xf7, 0x3a, 0x07, 0xed, 0x79, 0xa6, 0x8c, 0x4a, 0x42, 0x36, 0x2c, 0x9d, 0x04, + 0x42, 0xd7, 0x6b, 0x6c, 0x5a, 0x8e, 0xd9, 0xea, 0x57, 0x1e, 0x09, 0xc5, 0x74, 0x4d, 0xac, 0x4e, + 0x49, 0xf8, 0x4b, 0x68, 0x66, 0x14, 0xae, 0xb2, 0x05, 0x59, 0x05, 0xe7, 0xdf, 0x48, 0x41, 0x1c, + 0xc2, 0xea, 0x23, 0x12, 0xb1, 0x31, 0x65, 0x73, 0xe4, 0x22, 0x86, 0xcd, 0x19, 0x0e, 0xa4, 0xc1, + 0xeb, 0x8e, 0x4a, 0xd2, 0xcd, 0x32, 0x57, 0x6e, 0x96, 0xf9, 0xac, 0x59, 0xf0, 0xd7, 0x16, 0xac, + 0x69, 0x42, 0x2b, 0xe9, 0xbd, 0x07, 0x0d, 0xa9, 0x08, 0x43, 0x3a, 0xcf, 0x8e, 0x46, 0xb9, 0xee, + 0xd9, 0x25, 0xf8, 0xb7, 0x16, 0x34, 0x4f, 0x05, 0x96, 0x44, 0xff, 0x8c, 0x3d, 0xad, 0x37, 0x3b, + 0x30, 0xaa, 0xde, 0x73, 0x86, 0xe3, 0x50, 0x7a, 0x98, 0xf0, 0x21, 0xac, 0x66, 0xc1, 0xd0, 0x00, + 0x7d, 0x5f, 0x75, 0x50, 0x01, 0x67, 0x4d, 0x9c, 0xfe, 0x74, 0xc2, 0x51, 0x98, 0xf0, 0xaf, 0xc0, + 0x4e, 0xec, 0xfb, 0x20, 0x08, 0x46, 0xc3, 0x3e, 0xfb, 0x7e, 0xac, 0x6f, 0xac, 0x9e, 0x0a, 0xd1, + 0x2a, 0x87, 0x68, 0xd8, 0xd8, 0x5b, 0x00, 0x0f, 0x43, 0x7f, 0x9c, 0xd9, 0x5a, 0x85, 0x82, 0xff, + 0x64, 0xc1, 0x07, 0x85, 0xc2, 0x2b, 0x6d, 0xf3, 0x13, 0x58, 0x4d, 0xc2, 0xc1, 0x84, 0xd0, 0x48, + 0xd9, 0xe9, 0x8f, 0x8a, 0x76, 0x45, 0xb0, 0x3a, 0xb9, 0x85, 0x38, 0x82, 0xad, 0x47, 0x24, 0x8a, + 0xb1, 0x3a, 0xe4, 0xc2, 0x60, 0x9c, 0xa2, 0xc0, 0x35, 0xdb, 0xbe, 0xfe, 0xd9, 0x82, 0x0f, 0x4b, + 0xc4, 0x56, 0xda, 0x65, 0xa3, 0x5d, 0xe6, 0xaa, 0xda, 0xe5, 0x5f, 0x16, 0xb4, 0x9e, 0x87, 0x3d, + 0x8f, 0x9e, 0x91, 0x90, 0x4d, 0xb2, 0x28, 0x15, 0x5b, 0xa4, 0x0d, 0x8b, 0xc2, 0xf5, 0x85, 0x49, + 0x92, 0x21, 0xfa, 0x14, 0xae, 0x9f, 0x8c, 0x5c, 0x35, 0xc2, 0x71, 0xcb, 0x68, 0xd4, 0x98, 0xef, + 0x98, 0xbc, 0x52, 0xf9, 0xb8, 0x89, 0x34, 0xaa, 0x6e, 0xc7, 0x6b, 0xe5, 0x51, 0xa5, 0xa6, 0x45, + 0x95, 0x27, 0xb0, 0x61, 0x52, 0xa0, 0x9a, 0x07, 0x7d, 0x65, 0xc1, 0xca, 0x63, 0x7f, 0xe8, 0xc9, + 0x7b, 0xa8, 0xd8, 0x0a, 0xb7, 0x00, 0x1c, 0x72, 0xd1, 0x25, 0x94, 0xf6, 0x06, 0x44, 0x58, 0x40, + 0xa1, 0x94, 0x45, 0xc2, 0xab, 0x35, 0xc6, 0x7b, 0xd0, 0x50, 0x70, 0x54, 0x53, 0xe6, 0x3f, 0xb1, + 0x4b, 0x6a, 0xfe, 0x18, 0x4f, 0xf8, 0x1e, 0x25, 0x22, 0xde, 0xab, 0x28, 0xac, 0x72, 0xbb, 0xeb, + 0xa7, 0x5f, 0xb1, 0xcc, 0x7c, 0xce, 0x32, 0x4a, 0xa8, 0xb8, 0xa6, 0x87, 0x8a, 0x78, 0xfe, 0xa8, + 0xe7, 0xb9, 0x23, 0xe2, 0xc6, 0x4e, 0xcf, 0xf7, 0x53, 0xa1, 0x20, 0x0c, 0x2b, 0x7c, 0xe4, 0x10, + 0x3a, 0x19, 0x45, 0xed, 0x05, 0x16, 0x2f, 0x32, 0x34, 0xfc, 0x0c, 0xb6, 0x8a, 0x55, 0xab, 0x66, + 0xae, 0x33, 0x58, 0x79, 0x36, 0x19, 0x46, 0x53, 0x6c, 0xfd, 0x6c, 0xd7, 0xe0, 0x1e, 0x34, 0x14, + 0x39, 0xd5, 0xb0, 0xbe, 0xb6, 0xa0, 0x95, 0x44, 0xdb, 0x34, 0xe5, 0x29, 0x47, 0x3d, 0x53, 0x28, + 0x8b, 0x03, 0xe4, 0xc3, 0xe1, 0x28, 0x22, 0x21, 0xdb, 0xd0, 0x9a, 0x23, 0x46, 0xb1, 0xbc, 0x63, + 0xf2, 0x8b, 0xe8, 0x94, 0x5c, 0xb0, 0x9d, 0xac, 0x39, 0xc9, 0x10, 0xff, 0xcd, 0x82, 0x0d, 0x13, + 0xc6, 0x4a, 0x97, 0xc1, 0x43, 0x80, 0x71, 0x9a, 0x0b, 0xf2, 0x6b, 0xe0, 0xd3, 0xa2, 0x70, 0xc7, + 0xa5, 0x3d, 0x9c, 0x8c, 0x46, 0xec, 0x36, 0x55, 0x56, 0xc6, 0x92, 0x3d, 0x01, 0x97, 0xeb, 0x91, + 0x0c, 0xf1, 0xef, 0x73, 0x70, 0x65, 0x62, 0x54, 0x1a, 0x04, 0x14, 0x58, 0x73, 0x2c, 0x63, 0x52, + 0xc5, 0xcd, 0x16, 0x04, 0xfe, 0x68, 0xc1, 0xa6, 0x11, 0xd2, 0xfb, 0x34, 0x21, 0xfe, 0xbb, 0x05, + 0xe8, 0xc9, 0xb0, 0x7f, 0xae, 0xf0, 0x95, 0x1b, 0xe9, 0xdb, 0xb0, 0x1a, 0xf3, 0x13, 0x97, 0x2b, + 0xae, 0x98, 0x2a, 0x47, 0x8f, 0xc1, 0x3b, 0xa4, 0x47, 0x7d, 0x4f, 0x98, 0x4b, 0x8c, 0x74, 0x63, + 0xd5, 0xca, 0x5d, 0x6e, 0x41, 0x73, 0xb9, 0xcf, 0xa1, 0xde, 0x71, 0xef, 0xf2, 0xd0, 0x51, 0x78, + 0xd5, 0x33, 0xd1, 0x2c, 0xe0, 0xf0, 0x02, 0x45, 0x8c, 0xf0, 0x97, 0xb0, 0x9e, 0x53, 0xb7, 0xd2, + 0x06, 0xdc, 0x83, 0x86, 0x44, 0xa1, 0xec, 0xc1, 0xaa, 0x70, 0x75, 0x39, 0xe7, 0x64, 0xd9, 0xf0, + 0x84, 0xf9, 0x7a, 0x7c, 0x1d, 0x10, 0x97, 0xa1, 0x48, 0x7c, 0x3d, 0x1b, 0x68, 0xad, 0x5c, 0xa0, + 0xdd, 0x86, 0x65, 0x3f, 0x1f, 0xa7, 0xfc, 0x29, 0xe3, 0xd4, 0x57, 0xdc, 0x21, 0x72, 0x72, 0x67, + 0xaa, 0x55, 0xa6, 0xce, 0xd7, 0x53, 0x76, 0xfc, 0x0f, 0x0b, 0x6e, 0x74, 0xbc, 0xcb, 0x61, 0x44, + 0x62, 0x64, 0xcf, 0x7d, 0x19, 0xa1, 0xaf, 0x8e, 0xc3, 0xc5, 0x97, 0x54, 0x7a, 0xd0, 0xae, 0x65, + 0x0e, 0xda, 0x77, 0x61, 0x8d, 0xcb, 0x52, 0x4f, 0x6b, 0x8d, 0x9d, 0xd6, 0xfc, 0x44, 0xe9, 0xa1, + 0xfb, 0xb5, 0x05, 0x2d, 0x03, 0xec, 0xff, 0xeb, 0xd1, 0xf1, 0xe0, 0x86, 0x4c, 0xca, 0x47, 0xa3, + 0x69, 0x9c, 0x75, 0xb6, 0x84, 0xf7, 0x0f, 0xca, 0xbd, 0xa4, 0x08, 0x7c, 0xaf, 0xf1, 0xea, 0x1b, + 0x0b, 0x96, 0xf6, 0xbb, 0xa7, 0x8c, 0x6d, 0xa6, 0x1a, 0xef, 0x0e, 0x34, 0xb9, 0xac, 0x1e, 0x8d, + 0x48, 0x78, 0xdc, 0x1b, 0x27, 0x69, 0x9f, 0x4e, 0x46, 0xb7, 0x45, 0x85, 0xca, 0x49, 0x1d, 0x57, + 0x98, 0x2a, 0x4b, 0x8c, 0xc3, 0xfb, 0x72, 0x62, 0xac, 0x78, 0x53, 0xb6, 0x04, 0x36, 0xf6, 0x65, + 0xbe, 0x2d, 0x29, 0x01, 0x1d, 0x00, 0xfc, 0xa4, 0x37, 0x18, 0x7a, 0xcc, 0xd4, 0xa2, 0x9f, 0x71, + 0xdb, 0x00, 0x5d, 0x64, 0xf7, 0x29, 0xaf, 0xa3, 0xac, 0x9b, 0x62, 0x0b, 0x5f, 0x5b, 0xb0, 0x92, + 0xa2, 0xa2, 0x01, 0xfa, 0x1e, 0xd4, 0x13, 0xf3, 0x51, 0xd1, 0x85, 0x69, 0x26, 0xd9, 0x89, 0xa0, + 0x3b, 0x29, 0xc7, 0x5b, 0xc2, 0x29, 0x6d, 0x31, 0x19, 0x53, 0x86, 0xb2, 0xe6, 0xa4, 0x04, 0x7c, + 0x99, 0x42, 0xa4, 0xb1, 0xe5, 0xb2, 0x32, 0xad, 0xb7, 0x63, 0x9b, 0x7c, 0x38, 0xc1, 0x7f, 0xb1, + 0xa0, 0xa1, 0x08, 0x7e, 0x5f, 0xc6, 0xb1, 0x61, 0x29, 0xb1, 0x85, 0xb0, 0x8d, 0x1c, 0xe3, 0x93, + 0xb4, 0xc7, 0x62, 0x70, 0x77, 0x37, 0xeb, 0xee, 0xee, 0x14, 0x3a, 0x9f, 0x43, 0x8b, 0x0f, 0x79, + 0xaf, 0xea, 0x34, 0xea, 0x45, 0x13, 0x5a, 0xfe, 0xd1, 0x0d, 0x58, 0xe0, 0x6c, 0xc9, 0x4d, 0xca, + 0x47, 0x53, 0x1c, 0xbe, 0x36, 0x6c, 0x98, 0x84, 0xf1, 0xca, 0x0c, 0x89, 0x29, 0x56, 0x4e, 0xfb, + 0x23, 0x72, 0x25, 0x08, 0x16, 0xb6, 0xdc, 0x24, 0xac, 0xf0, 0x51, 0xb6, 0x15, 0x39, 0xaf, 0xb5, + 0x22, 0xa7, 0x48, 0xca, 0x5a, 0xb0, 0x9e, 0xc3, 0x41, 0x03, 0xfc, 0x14, 0xae, 0x1f, 0x90, 0x11, + 0x51, 0x5a, 0x98, 0xb3, 0x18, 0x7d, 0x0d, 0x9a, 0x99, 0xaf, 0xd1, 0x00, 0x77, 0xa1, 0x99, 0x6c, + 0xec, 0xde, 0x2f, 0x3b, 0xee, 0xac, 0x12, 0xee, 0xa7, 0x0d, 0x40, 0xfe, 0x39, 0x1a, 0xa0, 0xef, + 0xa4, 0x81, 0x52, 0x38, 0x51, 0xee, 0x2c, 0x4b, 0x06, 0xfc, 0xcf, 0x5c, 0x09, 0x42, 0xf7, 0xbb, + 0xa7, 0xe5, 0xb0, 0x6c, 0x58, 0x8a, 0x8d, 0xa6, 0x84, 0x4e, 0x39, 0xd6, 0x5c, 0x63, 0xfe, 0xed, + 0xf8, 0xb0, 0x61, 0xff, 0xfe, 0x9d, 0xcf, 0xf3, 0x19, 0x6e, 0x1a, 0xa0, 0x1f, 0xc3, 0x22, 0xbf, + 0x37, 0x12, 0x57, 0x9e, 0xf6, 0xba, 0x49, 0x96, 0xa1, 0x43, 0x83, 0x7f, 0x7f, 0xcb, 0xa8, 0x04, + 0xaf, 0x55, 0x0b, 0xb4, 0xb8, 0x05, 0xc0, 0x25, 0x28, 0xe1, 0x4f, 0xa1, 0xe0, 0xdf, 0x59, 0xd0, + 0x76, 0xc8, 0xd8, 0xbf, 0x24, 0x6f, 0x64, 0xfe, 0x36, 0x2c, 0x72, 0x27, 0xa0, 0x22, 0xff, 0x4e, + 0x86, 0x6f, 0xd4, 0xef, 0x76, 0xb5, 0x7e, 0xb7, 0x8b, 0xbb, 0x70, 0xb3, 0x00, 0x0d, 0xbf, 0xf8, + 0xe9, 0xa4, 0xdf, 0x27, 0x94, 0x8a, 0x8e, 0x72, 0x32, 0x8c, 0x3d, 0xf4, 0xac, 0x37, 0x1c, 0x11, + 0x57, 0xa0, 0x11, 0x23, 0xfc, 0xb5, 0x05, 0xad, 0x07, 0xae, 0xfb, 0x2e, 0x54, 0x73, 0xf3, 0xaa, + 0xb9, 0xa5, 0xaa, 0x3d, 0x86, 0x0d, 0x13, 0x94, 0x4a, 0x7a, 0x0d, 0xa1, 0x79, 0x30, 0xa4, 0xe3, + 0x21, 0xa5, 0x32, 0x46, 0xd8, 0xb0, 0xe4, 0x6b, 0x3d, 0x59, 0x3f, 0x98, 0x3a, 0x7b, 0x6f, 0xc3, + 0xe2, 0x20, 0x9b, 0xdd, 0x8a, 0x21, 0x3e, 0x84, 0xd5, 0xac, 0x28, 0xde, 0x66, 0xe8, 0x4f, 0xd3, + 0x66, 0x48, 0x99, 0xf0, 0x5f, 0x2d, 0x40, 0xdd, 0x49, 0x44, 0xb4, 0xeb, 0xe4, 0x1d, 0xa1, 0x8e, + 0x0d, 0x37, 0x51, 0x9b, 0x46, 0x62, 0x84, 0x30, 0xac, 0x8c, 0x27, 0x11, 0x71, 0x4f, 0x49, 0xdf, + 0xf7, 0x5c, 0xca, 0xaa, 0xbf, 0x86, 0x93, 0xa1, 0xe1, 0x23, 0x58, 0xcf, 0x21, 0xad, 0xa6, 0xf4, + 0x6f, 0x2c, 0x68, 0xef, 0xf7, 0xbc, 0x3e, 0x19, 0xbd, 0x7f, 0xd5, 0xf1, 0x31, 0xdc, 0x2c, 0xc0, + 0x52, 0x4d, 0xb9, 0x33, 0x58, 0x91, 0x5f, 0x7a, 0x97, 0x07, 0x70, 0x0f, 0x1a, 0x8a, 0x9c, 0x6a, + 0x58, 0x47, 0x80, 0x34, 0xdd, 0xdf, 0x25, 0xe2, 0x23, 0x58, 0xcf, 0x49, 0xab, 0x84, 0xfb, 0xee, + 0x37, 0x6b, 0xc0, 0xdf, 0x61, 0xd1, 0x0f, 0x61, 0xb9, 0x9f, 0x3e, 0xf3, 0xa1, 0x56, 0xb2, 0x2e, + 0xf3, 0xd6, 0x69, 0x6f, 0x98, 0xc8, 0x34, 0x40, 0xf7, 0xa0, 0xfe, 0xf3, 0xa4, 0x07, 0x8c, 0xd6, + 0x05, 0x93, 0xda, 0x9d, 0xb6, 0x6f, 0xe4, 0x89, 0x7c, 0xdd, 0x45, 0xd2, 0x60, 0x94, 0xeb, 0xd4, + 0xd6, 0xa6, 0x5c, 0x97, 0xed, 0x43, 0xee, 0x41, 0x63, 0xa0, 0x3e, 0xcf, 0xa1, 0xcd, 0xe4, 0xb1, + 0x55, 0x7b, 0x29, 0xb4, 0xdb, 0xe6, 0x09, 0x1a, 0xa0, 0xfb, 0xb0, 0x42, 0x95, 0x97, 0x2c, 0x94, + 0xe8, 0xa6, 0xbd, 0xb5, 0xd9, 0x9b, 0x46, 0x3a, 0x0d, 0xd0, 0xcf, 0x60, 0x73, 0x60, 0x7e, 0x46, + 0x42, 0x1f, 0x6b, 0x52, 0xf3, 0xcf, 0x38, 0x36, 0xbe, 0x8a, 0x85, 0x06, 0xe8, 0x0c, 0x6e, 0x0e, + 0x8a, 0xde, 0x64, 0xd0, 0x27, 0xe9, 0x07, 0x0a, 0x1f, 0x8b, 0xec, 0xdb, 0x57, 0x33, 0xd1, 0x00, + 0x3d, 0x03, 0x14, 0xe5, 0x1e, 0x26, 0xd0, 0x96, 0x58, 0x6b, 0x7c, 0x74, 0xb1, 0x3f, 0x2c, 0x99, + 0xa5, 0x01, 0xea, 0x43, 0x7b, 0x50, 0xd0, 0xf5, 0x46, 0x38, 0xf3, 0x32, 0x6e, 0xec, 0xf8, 0xdb, + 0x9f, 0x5c, 0xc9, 0xc3, 0x71, 0x0f, 0x72, 0x6d, 0x5b, 0x89, 0xdb, 0xd8, 0x75, 0x96, 0xb8, 0x0b, + 0xfa, 0xbd, 0xcf, 0x61, 0x7d, 0x90, 0xef, 0x63, 0x22, 0xf3, 0x2a, 0x79, 0xca, 0x6e, 0x95, 0x4d, + 0xd3, 0x00, 0x1d, 0x41, 0xf3, 0x3c, 0xdb, 0x98, 0x43, 0xc9, 0xdf, 0x03, 0xf2, 0xfd, 0x49, 0xdb, + 0x2e, 0x9a, 0x92, 0x2a, 0x6b, 0x9d, 0x2e, 0x55, 0xe5, 0x7c, 0xf3, 0x4d, 0x55, 0xd9, 0xd4, 0x22, + 0x3b, 0x86, 0xb5, 0xa1, 0xde, 0xfc, 0x41, 0x1f, 0x24, 0xfd, 0x1a, 0x43, 0x37, 0xcb, 0xde, 0x2a, + 0x9e, 0xe4, 0xdf, 0x1b, 0xe8, 0x8d, 0x15, 0xf9, 0x3d, 0x53, 0x8f, 0xc7, 0xde, 0x2a, 0x9e, 0xe4, + 0x8e, 0xaa, 0xe6, 0xff, 0xd2, 0x51, 0xb5, 0x1a, 0xc3, 0xde, 0x34, 0xd2, 0x69, 0x80, 0x3e, 0x83, + 0xa5, 0x84, 0x86, 0x90, 0xc6, 0x14, 0x2f, 0x5c, 0xcf, 0xd1, 0x78, 0x68, 0x92, 0x31, 0x03, 0xe9, + 0x1c, 0x54, 0x0d, 0x4d, 0xd9, 0x32, 0xfb, 0x99, 0x2c, 0xfe, 0x94, 0xba, 0x50, 0x6e, 0x90, 0xb1, + 0x3e, 0x95, 0x1b, 0x64, 0x2e, 0x28, 0xe3, 0xd3, 0xa3, 0xd5, 0x71, 0xf2, 0xf4, 0xe4, 0xeb, 0x4c, + 0x79, 0x7a, 0x0c, 0xa5, 0x5f, 0x1c, 0xe5, 0x95, 0x62, 0x4d, 0x46, 0xf9, 0x6c, 0x39, 0x28, 0xa3, + 0xbc, 0x56, 0xd7, 0xc5, 0xaa, 0xe5, 0xcb, 0x91, 0x02, 0x77, 0x13, 0x79, 0x70, 0x81, 0xbb, 0xc9, + 0xd4, 0xf4, 0x05, 0xb4, 0x8c, 0xf9, 0x38, 0xfa, 0x48, 0xac, 0x2b, 0xaa, 0x1d, 0xec, 0xed, 0x72, + 0x06, 0x0e, 0x37, 0x9f, 0x10, 0x4b, 0xb8, 0xc6, 0xb4, 0x5d, 0xc2, 0x2d, 0xc8, 0xa4, 0xef, 0xc3, + 0x8a, 0x9a, 0xac, 0xca, 0xa3, 0xa8, 0x25, 0xcb, 0xf2, 0x28, 0xe6, 0x32, 0xdb, 0x23, 0x68, 0x6a, + 0xe9, 0x91, 0xdc, 0xca, 0x7c, 0x0a, 0x27, 0xb7, 0xd2, 0x94, 0x51, 0xbd, 0x80, 0x96, 0x31, 0xdd, + 0x92, 0x96, 0x2b, 0x4a, 0x0c, 0xa5, 0xe5, 0x8a, 0xb3, 0xb5, 0x7b, 0x50, 0x97, 0x64, 0x79, 0xf6, + 0xd5, 0xd4, 0x46, 0x9e, 0xfd, 0x6c, 0x06, 0x72, 0x04, 0x4d, 0xed, 0xa3, 0x52, 0xbb, 0x7c, 0x7a, + 0x24, 0xb5, 0x33, 0xe4, 0x32, 0x7b, 0xcd, 0x17, 0x8d, 0x1d, 0xfe, 0x77, 0xb1, 0xcf, 0xd9, 0xef, + 0x17, 0x0b, 0xec, 0xbf, 0x60, 0x9f, 0xfd, 0x2f, 0x00, 0x00, 0xff, 0xff, 0xa9, 0x2b, 0x24, 0xa7, + 0x4a, 0x26, 0x00, 0x00, } diff --git a/pkg/proto/group/group.proto b/pkg/proto/group/group.proto index 62c845f1e..201bf6ef5 100644 --- a/pkg/proto/group/group.proto +++ b/pkg/proto/group/group.proto @@ -319,7 +319,7 @@ message AddGroupMembersCMSResp { } message DismissGroupReq{ - string opUserID = 1; //group member or app manager + string opUserID = 1; //group or app manager string operationID = 2; string groupID = 3; } @@ -328,6 +328,59 @@ message DismissGroupResp{ CommonResp commonResp = 1; } + +message MuteGroupMemberReq{ + string opUserID = 1; //group or app manager + string operationID = 2; + string groupID = 3; + string userID = 4; + uint32 mutedSeconds = 5; +} + +message MuteGroupMemberResp{ + CommonResp commonResp = 1; +} + + + +message CancelMuteGroupMemberReq{ + string opUserID = 1; //group or app manager + string operationID = 2; + string groupID = 3; + string userID = 4; +} + +message CancelMuteGroupMemberResp{ + CommonResp commonResp = 1; +} + + +message MuteGroupReq{ + string opUserID = 1; //group or app manager + string operationID = 2; + string groupID = 3; +} + +message MuteGroupResp{ + CommonResp commonResp = 1; +} + + + +message CancelMuteGroupReq{ + string opUserID = 1; //group or app manager + string operationID = 2; + string groupID = 3; +} + +message CancelMuteGroupResp{ + CommonResp commonResp = 1; +} + + + + + service group{ rpc createGroup(CreateGroupReq) returns(CreateGroupResp); rpc joinGroup(JoinGroupReq) returns(JoinGroupResp); @@ -356,6 +409,10 @@ service group{ rpc AddGroupMembersCMS(AddGroupMembersCMSReq) returns(AddGroupMembersCMSResp); rpc DismissGroup(DismissGroupReq) returns(DismissGroupResp); + rpc MuteGroupMember(MuteGroupMemberReq) returns(MuteGroupMemberResp); + rpc CancelMuteGroupMember(CancelMuteGroupMemberReq) returns(CancelMuteGroupMemberResp); + rpc MuteGroup(MuteGroupReq) returns(MuteGroupResp); + rpc CancelMuteGroup(CancelMuteGroupReq) returns(CancelMuteGroupResp); } diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index 1675ad2bc..b738d4218 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_489fb152692e30da, []int{0} + return fileDescriptor_ws_a63d7f660800bc8e, []int{0} } func (m *GroupInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfo.Unmarshal(m, b) @@ -155,6 +155,7 @@ type GroupMemberFullInfo struct { JoinSource int32 `protobuf:"varint,8,opt,name=joinSource" json:"joinSource,omitempty"` OperatorUserID string `protobuf:"bytes,9,opt,name=operatorUserID" json:"operatorUserID,omitempty"` Ex string `protobuf:"bytes,10,opt,name=ex" json:"ex,omitempty"` + MuteEndTime uint32 `protobuf:"varint,11,opt,name=muteEndTime" json:"muteEndTime,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -164,7 +165,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_489fb152692e30da, []int{1} + return fileDescriptor_ws_a63d7f660800bc8e, []int{1} } func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberFullInfo.Unmarshal(m, b) @@ -254,6 +255,13 @@ func (m *GroupMemberFullInfo) GetEx() string { return "" } +func (m *GroupMemberFullInfo) GetMuteEndTime() uint32 { + if m != nil { + return m.MuteEndTime + } + return 0 +} + type PublicUserInfo struct { UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` Nickname string `protobuf:"bytes,2,opt,name=nickname" json:"nickname,omitempty"` @@ -269,7 +277,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_489fb152692e30da, []int{2} + return fileDescriptor_ws_a63d7f660800bc8e, []int{2} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -344,7 +352,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_489fb152692e30da, []int{3} + return fileDescriptor_ws_a63d7f660800bc8e, []int{3} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -451,7 +459,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_489fb152692e30da, []int{4} + return fileDescriptor_ws_a63d7f660800bc8e, []int{4} } func (m *FriendInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfo.Unmarshal(m, b) @@ -536,7 +544,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_489fb152692e30da, []int{5} + return fileDescriptor_ws_a63d7f660800bc8e, []int{5} } func (m *BlackInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackInfo.Unmarshal(m, b) @@ -617,7 +625,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_489fb152692e30da, []int{6} + return fileDescriptor_ws_a63d7f660800bc8e, []int{6} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -725,7 +733,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_489fb152692e30da, []int{7} + return fileDescriptor_ws_a63d7f660800bc8e, []int{7} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -863,7 +871,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_489fb152692e30da, []int{8} + return fileDescriptor_ws_a63d7f660800bc8e, []int{8} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -917,7 +925,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_489fb152692e30da, []int{9} + return fileDescriptor_ws_a63d7f660800bc8e, []int{9} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -968,7 +976,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_489fb152692e30da, []int{10} + return fileDescriptor_ws_a63d7f660800bc8e, []int{10} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1000,7 +1008,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_489fb152692e30da, []int{11} + return fileDescriptor_ws_a63d7f660800bc8e, []int{11} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1047,7 +1055,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_489fb152692e30da, []int{12} + return fileDescriptor_ws_a63d7f660800bc8e, []int{12} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1116,7 +1124,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_489fb152692e30da, []int{13} + return fileDescriptor_ws_a63d7f660800bc8e, []int{13} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -1277,7 +1285,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_489fb152692e30da, []int{14} + return fileDescriptor_ws_a63d7f660800bc8e, []int{14} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -1345,7 +1353,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_489fb152692e30da, []int{15} + return fileDescriptor_ws_a63d7f660800bc8e, []int{15} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -1402,7 +1410,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_489fb152692e30da, []int{16} + return fileDescriptor_ws_a63d7f660800bc8e, []int{16} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -1471,7 +1479,7 @@ func (m *GroupInfoSetTips) Reset() { *m = GroupInfoSetTips{} } func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupInfoSetTips) ProtoMessage() {} func (*GroupInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{17} + return fileDescriptor_ws_a63d7f660800bc8e, []int{17} } func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) @@ -1526,7 +1534,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_489fb152692e30da, []int{18} + return fileDescriptor_ws_a63d7f660800bc8e, []int{18} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -1582,7 +1590,7 @@ func (m *MemberQuitTips) Reset() { *m = MemberQuitTips{} } func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) } func (*MemberQuitTips) ProtoMessage() {} func (*MemberQuitTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{19} + return fileDescriptor_ws_a63d7f660800bc8e, []int{19} } func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) @@ -1637,7 +1645,7 @@ func (m *GroupApplicationAcceptedTips) Reset() { *m = GroupApplicationAc func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationAcceptedTips) ProtoMessage() {} func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{20} + return fileDescriptor_ws_a63d7f660800bc8e, []int{20} } func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) @@ -1692,7 +1700,7 @@ func (m *GroupApplicationRejectedTips) Reset() { *m = GroupApplicationRe func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationRejectedTips) ProtoMessage() {} func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{21} + return fileDescriptor_ws_a63d7f660800bc8e, []int{21} } func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) @@ -1748,7 +1756,7 @@ func (m *GroupOwnerTransferredTips) Reset() { *m = GroupOwnerTransferred func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) } func (*GroupOwnerTransferredTips) ProtoMessage() {} func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{22} + return fileDescriptor_ws_a63d7f660800bc8e, []int{22} } func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) @@ -1811,7 +1819,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_489fb152692e30da, []int{23} + return fileDescriptor_ws_a63d7f660800bc8e, []int{23} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -1874,7 +1882,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_489fb152692e30da, []int{24} + return fileDescriptor_ws_a63d7f660800bc8e, []int{24} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -1936,7 +1944,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_489fb152692e30da, []int{25} + return fileDescriptor_ws_a63d7f660800bc8e, []int{25} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -1990,7 +1998,7 @@ func (m *GroupDismissedTips) Reset() { *m = GroupDismissedTips{} } func (m *GroupDismissedTips) String() string { return proto.CompactTextString(m) } func (*GroupDismissedTips) ProtoMessage() {} func (*GroupDismissedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{26} + return fileDescriptor_ws_a63d7f660800bc8e, []int{26} } func (m *GroupDismissedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupDismissedTips.Unmarshal(m, b) @@ -2044,7 +2052,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_489fb152692e30da, []int{27} + return fileDescriptor_ws_a63d7f660800bc8e, []int{27} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -2097,7 +2105,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_489fb152692e30da, []int{28} + return fileDescriptor_ws_a63d7f660800bc8e, []int{28} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -2143,7 +2151,7 @@ func (m *FriendApplicationTips) Reset() { *m = FriendApplicationTips{} } func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationTips) ProtoMessage() {} func (*FriendApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{29} + return fileDescriptor_ws_a63d7f660800bc8e, []int{29} } func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) @@ -2183,7 +2191,7 @@ func (m *FriendApplicationApprovedTips) Reset() { *m = FriendApplication func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationApprovedTips) ProtoMessage() {} func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{30} + return fileDescriptor_ws_a63d7f660800bc8e, []int{30} } func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) @@ -2230,7 +2238,7 @@ func (m *FriendApplicationRejectedTips) Reset() { *m = FriendApplication func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationRejectedTips) ProtoMessage() {} func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{31} + return fileDescriptor_ws_a63d7f660800bc8e, []int{31} } func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) @@ -2278,7 +2286,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_489fb152692e30da, []int{32} + return fileDescriptor_ws_a63d7f660800bc8e, []int{32} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -2331,7 +2339,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_489fb152692e30da, []int{33} + return fileDescriptor_ws_a63d7f660800bc8e, []int{33} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -2369,7 +2377,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_489fb152692e30da, []int{34} + return fileDescriptor_ws_a63d7f660800bc8e, []int{34} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -2407,7 +2415,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_489fb152692e30da, []int{35} + return fileDescriptor_ws_a63d7f660800bc8e, []int{35} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -2445,7 +2453,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_489fb152692e30da, []int{36} + return fileDescriptor_ws_a63d7f660800bc8e, []int{36} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -2484,7 +2492,7 @@ func (m *UserInfoUpdatedTips) Reset() { *m = UserInfoUpdatedTips{} } func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (*UserInfoUpdatedTips) ProtoMessage() {} func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{37} + return fileDescriptor_ws_a63d7f660800bc8e, []int{37} } func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) @@ -2523,7 +2531,7 @@ func (m *ConversationUpdateTips) Reset() { *m = ConversationUpdateTips{} func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) } func (*ConversationUpdateTips) ProtoMessage() {} func (*ConversationUpdateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{38} + return fileDescriptor_ws_a63d7f660800bc8e, []int{38} } func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) @@ -2563,7 +2571,7 @@ func (m *RequestPagination) Reset() { *m = RequestPagination{} } func (m *RequestPagination) String() string { return proto.CompactTextString(m) } func (*RequestPagination) ProtoMessage() {} func (*RequestPagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{39} + return fileDescriptor_ws_a63d7f660800bc8e, []int{39} } func (m *RequestPagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RequestPagination.Unmarshal(m, b) @@ -2609,7 +2617,7 @@ func (m *ResponsePagination) Reset() { *m = ResponsePagination{} } func (m *ResponsePagination) String() string { return proto.CompactTextString(m) } func (*ResponsePagination) ProtoMessage() {} func (*ResponsePagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{40} + return fileDescriptor_ws_a63d7f660800bc8e, []int{40} } func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) @@ -2662,7 +2670,7 @@ func (m *SignalReq) Reset() { *m = SignalReq{} } func (m *SignalReq) String() string { return proto.CompactTextString(m) } func (*SignalReq) ProtoMessage() {} func (*SignalReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{41} + return fileDescriptor_ws_a63d7f660800bc8e, []int{41} } func (m *SignalReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalReq.Unmarshal(m, b) @@ -2929,7 +2937,7 @@ func (m *SignalResp) Reset() { *m = SignalResp{} } func (m *SignalResp) String() string { return proto.CompactTextString(m) } func (*SignalResp) ProtoMessage() {} func (*SignalResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{42} + return fileDescriptor_ws_a63d7f660800bc8e, []int{42} } func (m *SignalResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalResp.Unmarshal(m, b) @@ -3197,7 +3205,7 @@ func (m *InvitationInfo) Reset() { *m = InvitationInfo{} } func (m *InvitationInfo) String() string { return proto.CompactTextString(m) } func (*InvitationInfo) ProtoMessage() {} func (*InvitationInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{43} + return fileDescriptor_ws_a63d7f660800bc8e, []int{43} } func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) @@ -3293,7 +3301,7 @@ func (m *ParticipantMetaData) Reset() { *m = ParticipantMetaData{} } func (m *ParticipantMetaData) String() string { return proto.CompactTextString(m) } func (*ParticipantMetaData) ProtoMessage() {} func (*ParticipantMetaData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{44} + return fileDescriptor_ws_a63d7f660800bc8e, []int{44} } func (m *ParticipantMetaData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ParticipantMetaData.Unmarshal(m, b) @@ -3348,7 +3356,7 @@ func (m *SignalInviteReq) Reset() { *m = SignalInviteReq{} } func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteReq) ProtoMessage() {} func (*SignalInviteReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{45} + return fileDescriptor_ws_a63d7f660800bc8e, []int{45} } func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) @@ -3409,7 +3417,7 @@ func (m *SignalInviteReply) Reset() { *m = SignalInviteReply{} } func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteReply) ProtoMessage() {} func (*SignalInviteReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{46} + return fileDescriptor_ws_a63d7f660800bc8e, []int{46} } func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) @@ -3464,7 +3472,7 @@ func (m *SignalInviteInGroupReq) Reset() { *m = SignalInviteInGroupReq{} func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReq) ProtoMessage() {} func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{47} + return fileDescriptor_ws_a63d7f660800bc8e, []int{47} } func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) @@ -3525,7 +3533,7 @@ func (m *SignalInviteInGroupReply) Reset() { *m = SignalInviteInGroupRep func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReply) ProtoMessage() {} func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{48} + return fileDescriptor_ws_a63d7f660800bc8e, []int{48} } func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) @@ -3580,7 +3588,7 @@ func (m *SignalCancelReq) Reset() { *m = SignalCancelReq{} } func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) } func (*SignalCancelReq) ProtoMessage() {} func (*SignalCancelReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{49} + return fileDescriptor_ws_a63d7f660800bc8e, []int{49} } func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) @@ -3638,7 +3646,7 @@ func (m *SignalCancelReply) Reset() { *m = SignalCancelReply{} } func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) } func (*SignalCancelReply) ProtoMessage() {} func (*SignalCancelReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{50} + return fileDescriptor_ws_a63d7f660800bc8e, []int{50} } func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) @@ -3673,7 +3681,7 @@ func (m *SignalAcceptReq) Reset() { *m = SignalAcceptReq{} } func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReq) ProtoMessage() {} func (*SignalAcceptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{51} + return fileDescriptor_ws_a63d7f660800bc8e, []int{51} } func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) @@ -3741,7 +3749,7 @@ func (m *SignalAcceptReply) Reset() { *m = SignalAcceptReply{} } func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReply) ProtoMessage() {} func (*SignalAcceptReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{52} + return fileDescriptor_ws_a63d7f660800bc8e, []int{52} } func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) @@ -3795,7 +3803,7 @@ func (m *SignalHungUpReq) Reset() { *m = SignalHungUpReq{} } func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReq) ProtoMessage() {} func (*SignalHungUpReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{53} + return fileDescriptor_ws_a63d7f660800bc8e, []int{53} } func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) @@ -3846,7 +3854,7 @@ func (m *SignalHungUpReply) Reset() { *m = SignalHungUpReply{} } func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReply) ProtoMessage() {} func (*SignalHungUpReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{54} + return fileDescriptor_ws_a63d7f660800bc8e, []int{54} } func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) @@ -3881,7 +3889,7 @@ func (m *SignalRejectReq) Reset() { *m = SignalRejectReq{} } func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) } func (*SignalRejectReq) ProtoMessage() {} func (*SignalRejectReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{55} + return fileDescriptor_ws_a63d7f660800bc8e, []int{55} } func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) @@ -3946,7 +3954,7 @@ func (m *SignalRejectReply) Reset() { *m = SignalRejectReply{} } func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) } func (*SignalRejectReply) ProtoMessage() {} func (*SignalRejectReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{56} + return fileDescriptor_ws_a63d7f660800bc8e, []int{56} } func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) @@ -3980,7 +3988,7 @@ func (m *DelMsgListReq) Reset() { *m = DelMsgListReq{} } func (m *DelMsgListReq) String() string { return proto.CompactTextString(m) } func (*DelMsgListReq) ProtoMessage() {} func (*DelMsgListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{57} + return fileDescriptor_ws_a63d7f660800bc8e, []int{57} } func (m *DelMsgListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListReq.Unmarshal(m, b) @@ -4040,7 +4048,7 @@ func (m *DelMsgListResp) Reset() { *m = DelMsgListResp{} } func (m *DelMsgListResp) String() string { return proto.CompactTextString(m) } func (*DelMsgListResp) ProtoMessage() {} func (*DelMsgListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_489fb152692e30da, []int{58} + return fileDescriptor_ws_a63d7f660800bc8e, []int{58} } func (m *DelMsgListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListResp.Unmarshal(m, b) @@ -4137,170 +4145,171 @@ func init() { proto.RegisterType((*DelMsgListResp)(nil), "server_api_params.DelMsgListResp") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_489fb152692e30da) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_a63d7f660800bc8e) } -var fileDescriptor_ws_489fb152692e30da = []byte{ - // 2589 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xcd, 0x6f, 0xe4, 0x48, - 0x15, 0xc7, 0xee, 0x74, 0x27, 0xfd, 0x92, 0x4e, 0x27, 0xce, 0x12, 0x9a, 0x61, 0x76, 0x08, 0x56, - 0xb4, 0x0c, 0x0b, 0x64, 0xd1, 0x20, 0x24, 0xd8, 0x85, 0x41, 0xf9, 0x98, 0xaf, 0x25, 0x3d, 0x93, - 0x75, 0xcf, 0xb0, 0x08, 0x90, 0x46, 0x95, 0x76, 0xa5, 0xe3, 0x8d, 0x5d, 0xe5, 0x76, 0xd9, 0x99, +var fileDescriptor_ws_a63d7f660800bc8e = []byte{ + // 2605 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xcd, 0x6f, 0x23, 0x49, + 0x15, 0xa7, 0xdb, 0xb1, 0x13, 0x3f, 0xc7, 0x71, 0xd2, 0x59, 0x82, 0x19, 0x66, 0x87, 0xd0, 0x8a, + 0x96, 0x61, 0x81, 0x2c, 0x1a, 0x84, 0x04, 0xbb, 0x30, 0x28, 0x1f, 0xf3, 0xb5, 0xc4, 0x33, 0xd9, + 0xf6, 0x0c, 0x8b, 0x00, 0x69, 0x54, 0x71, 0x57, 0x9c, 0xde, 0xb4, 0xab, 0xda, 0x5d, 0xdd, 0x99, 0x89, 0x84, 0x84, 0x04, 0x12, 0xe2, 0xc6, 0x09, 0xae, 0x48, 0x5c, 0x10, 0x12, 0x5a, 0xed, 0x01, - 0xc4, 0x05, 0x71, 0xe2, 0x1f, 0xe0, 0xcc, 0x8d, 0x33, 0x57, 0x0e, 0x48, 0x48, 0xa0, 0xfa, 0xb0, - 0x5d, 0x65, 0x77, 0x27, 0xbd, 0x51, 0xb4, 0x03, 0x1a, 0x6e, 0xfd, 0x9e, 0xeb, 0xbd, 0x7a, 0xf5, - 0x7e, 0xef, 0xbd, 0x7a, 0x7e, 0x6e, 0xe8, 0x32, 0xff, 0xe4, 0xe9, 0x33, 0xf6, 0xc6, 0x33, 0xb6, - 0x15, 0x27, 0x34, 0xa5, 0xce, 0x2a, 0xc3, 0xc9, 0x29, 0x4e, 0x9e, 0xa2, 0x38, 0x78, 0x1a, 0xa3, - 0x04, 0x45, 0xcc, 0xfd, 0x87, 0x0d, 0xed, 0x7b, 0x09, 0xcd, 0xe2, 0x07, 0xe4, 0x88, 0x3a, 0x3d, - 0x98, 0x1f, 0x09, 0x62, 0xaf, 0x67, 0x6d, 0x58, 0x37, 0xdb, 0x5e, 0x4e, 0x3a, 0xd7, 0xa1, 0x2d, - 0x7e, 0x3e, 0x44, 0x11, 0xee, 0xd9, 0xe2, 0x59, 0xc9, 0x70, 0x5c, 0x58, 0x22, 0x34, 0x0d, 0x8e, - 0x82, 0x21, 0x4a, 0x03, 0x4a, 0x7a, 0x0d, 0xb1, 0xc0, 0xe0, 0xf1, 0x35, 0x01, 0x49, 0x13, 0xea, - 0x67, 0x43, 0xb1, 0x66, 0x4e, 0xae, 0xd1, 0x79, 0x7c, 0xff, 0x23, 0x34, 0xc4, 0x4f, 0xbc, 0xfd, - 0x5e, 0x53, 0xee, 0xaf, 0x48, 0x67, 0x03, 0x16, 0xe9, 0x33, 0x82, 0x93, 0x27, 0x0c, 0x27, 0x0f, - 0xf6, 0x7a, 0x2d, 0xf1, 0x54, 0x67, 0x39, 0x37, 0x00, 0x86, 0x09, 0x46, 0x29, 0x7e, 0x1c, 0x44, - 0xb8, 0x37, 0xbf, 0x61, 0xdd, 0xec, 0x78, 0x1a, 0x87, 0x6b, 0x88, 0x70, 0x74, 0x88, 0x93, 0x5d, - 0x9a, 0x91, 0xb4, 0xb7, 0x20, 0x16, 0xe8, 0x2c, 0x67, 0x19, 0x6c, 0xfc, 0xbc, 0xd7, 0x16, 0xaa, - 0x6d, 0xfc, 0xdc, 0x59, 0x87, 0x16, 0x4b, 0x51, 0x9a, 0xb1, 0x1e, 0x6c, 0x58, 0x37, 0x9b, 0x9e, - 0xa2, 0x9c, 0x4d, 0xe8, 0x08, 0xbd, 0x34, 0xb7, 0x66, 0x51, 0x88, 0x98, 0xcc, 0xc2, 0x63, 0x8f, - 0xcf, 0x62, 0xdc, 0x5b, 0x12, 0x0a, 0x4a, 0x86, 0xfb, 0x07, 0x1b, 0xd6, 0x84, 0xdf, 0xfb, 0xc2, - 0x80, 0xbb, 0x59, 0x18, 0x5e, 0x80, 0xc0, 0x3a, 0xb4, 0x32, 0xb9, 0x9d, 0x74, 0xbf, 0xa2, 0xf8, - 0x3e, 0x09, 0x0d, 0xf1, 0x3e, 0x3e, 0xc5, 0xa1, 0x70, 0x7c, 0xd3, 0x2b, 0x19, 0xce, 0x35, 0x58, - 0x78, 0x8f, 0x06, 0x44, 0xf8, 0x64, 0x4e, 0x3c, 0x2c, 0x68, 0xfe, 0x8c, 0x04, 0xc3, 0x13, 0xc2, - 0x21, 0x95, 0xee, 0x2e, 0x68, 0x1d, 0x89, 0x96, 0x89, 0xc4, 0x6b, 0xb0, 0x8c, 0xe2, 0xb8, 0x8f, - 0xc8, 0x08, 0x27, 0x72, 0xd3, 0x79, 0xa1, 0xb7, 0xc2, 0xe5, 0x78, 0xf0, 0x9d, 0x06, 0x34, 0x4b, - 0x86, 0x58, 0xb8, 0xbb, 0xe9, 0x69, 0x1c, 0xae, 0x87, 0xc6, 0x38, 0xd1, 0xdc, 0x28, 0x3d, 0x5f, - 0xe1, 0x2a, 0x54, 0x20, 0x47, 0xc5, 0xfd, 0x89, 0x05, 0xcb, 0x07, 0xd9, 0x61, 0x18, 0x0c, 0xc5, - 0x02, 0xee, 0xb4, 0xd2, 0x35, 0x96, 0xe1, 0x1a, 0xfd, 0x80, 0xf6, 0xf4, 0x03, 0x36, 0xcc, 0x03, - 0xae, 0x43, 0x6b, 0x84, 0x89, 0x8f, 0x13, 0xe5, 0x30, 0x45, 0x29, 0x43, 0x9a, 0x85, 0x21, 0xbf, - 0xb0, 0x61, 0xe1, 0x23, 0x36, 0x61, 0x03, 0x16, 0xe3, 0x63, 0x4a, 0xf0, 0xc3, 0x8c, 0x07, 0x8d, - 0xb2, 0x45, 0x67, 0x39, 0xaf, 0x40, 0xf3, 0x30, 0x48, 0xd2, 0x63, 0x81, 0x5a, 0xc7, 0x93, 0x04, - 0xe7, 0xe2, 0x08, 0x05, 0x12, 0xaa, 0xb6, 0x27, 0x09, 0x75, 0xa0, 0x85, 0x22, 0xde, 0xcd, 0x0c, - 0x6a, 0xd7, 0x32, 0xa8, 0x8e, 0x3c, 0x4c, 0x42, 0xde, 0xfd, 0xa7, 0x05, 0x70, 0x37, 0x09, 0x30, - 0xf1, 0x85, 0x6b, 0x2a, 0xa9, 0x6b, 0xd5, 0x53, 0x77, 0x1d, 0x5a, 0x09, 0x8e, 0x50, 0x72, 0x92, - 0x87, 0xb6, 0xa4, 0x2a, 0x06, 0x35, 0x6a, 0x06, 0xbd, 0x05, 0x70, 0x24, 0xf6, 0xe1, 0x7a, 0x84, - 0xab, 0x16, 0x6f, 0x7d, 0x6a, 0xab, 0x56, 0xe4, 0xb6, 0x72, 0x94, 0x3c, 0x6d, 0x39, 0xcf, 0x1b, - 0xe4, 0xfb, 0x2a, 0x3c, 0x9b, 0x32, 0x6f, 0x0a, 0xc6, 0x84, 0xe8, 0x6c, 0x9d, 0x13, 0x9d, 0xf3, - 0x45, 0x50, 0xfc, 0xdd, 0x82, 0xf6, 0x4e, 0x88, 0x86, 0x27, 0x33, 0x1e, 0xdd, 0x3c, 0xa2, 0x5d, - 0x3b, 0xe2, 0x3d, 0xe8, 0x1c, 0x72, 0x75, 0xf9, 0x11, 0x84, 0x17, 0x16, 0x6f, 0x7d, 0x66, 0xc2, - 0x29, 0xcd, 0xa4, 0xf0, 0x4c, 0x39, 0xf3, 0xb8, 0x73, 0x17, 0x1f, 0xb7, 0x79, 0xce, 0x71, 0x5b, - 0xc5, 0x71, 0xff, 0x62, 0xc3, 0x92, 0x28, 0x63, 0x1e, 0x1e, 0x67, 0x98, 0xa5, 0xce, 0x37, 0x60, - 0x21, 0xcb, 0x4d, 0xb5, 0x66, 0x35, 0xb5, 0x10, 0x71, 0xde, 0x54, 0x45, 0x53, 0xc8, 0xdb, 0x42, - 0xfe, 0xfa, 0x04, 0xf9, 0xe2, 0xc6, 0xf2, 0xca, 0xe5, 0xfc, 0x82, 0x39, 0x46, 0xc4, 0x0f, 0xb1, - 0x87, 0x59, 0x16, 0xa6, 0xaa, 0x16, 0x1a, 0x3c, 0x19, 0x69, 0xe3, 0x3e, 0x1b, 0xa9, 0xeb, 0x47, - 0x51, 0xdc, 0x3b, 0x72, 0x1d, 0x7f, 0x24, 0x8f, 0x5e, 0x32, 0x78, 0xa2, 0x26, 0x78, 0x2c, 0x10, - 0x92, 0x69, 0x95, 0x93, 0xe5, 0x9e, 0xca, 0x6b, 0x32, 0x10, 0x0c, 0x1e, 0x87, 0x58, 0xd2, 0x42, - 0x81, 0xbc, 0x77, 0x34, 0x4e, 0xf5, 0xda, 0x71, 0xff, 0xda, 0x80, 0x8e, 0x4c, 0x9f, 0xdc, 0xa9, - 0x37, 0x78, 0x9c, 0xd3, 0xc8, 0x88, 0x22, 0x8d, 0xc3, 0xad, 0xe0, 0xd4, 0x43, 0xb3, 0xd0, 0x18, - 0x3c, 0x1e, 0x8a, 0x9c, 0xbe, 0x6b, 0x14, 0x1c, 0x9d, 0x95, 0xef, 0x72, 0x4f, 0x2f, 0x3c, 0x1a, - 0x87, 0x97, 0xb2, 0x94, 0x1a, 0xd1, 0x51, 0xd0, 0x5c, 0x36, 0xa5, 0xc5, 0xfe, 0x32, 0x3e, 0x34, - 0x0e, 0xf7, 0x6f, 0x4a, 0xf3, 0xbd, 0xa5, 0x93, 0x4a, 0x86, 0xd4, 0xac, 0xf6, 0x95, 0x17, 0x45, - 0x41, 0xd7, 0x50, 0x6d, 0x9f, 0x8b, 0x2a, 0x18, 0xa8, 0x9a, 0xc9, 0xb5, 0x58, 0x4b, 0xae, 0x4d, - 0xe8, 0x48, 0x3d, 0x79, 0xd0, 0x2f, 0xc9, 0x8b, 0xdc, 0x60, 0x9a, 0xb1, 0xd1, 0xa9, 0xc6, 0x86, - 0x89, 0xee, 0xf2, 0x14, 0x74, 0xbb, 0x05, 0xba, 0x3f, 0x80, 0xde, 0x41, 0x16, 0x86, 0x7d, 0xcc, - 0x18, 0x1a, 0xe1, 0x9d, 0xb3, 0x01, 0x1e, 0xef, 0x07, 0x2c, 0xf5, 0x30, 0x8b, 0x79, 0x9c, 0xe1, - 0x24, 0xd9, 0xa5, 0x3e, 0x16, 0x20, 0x37, 0xbd, 0x9c, 0xe4, 0x27, 0xc4, 0x49, 0xc2, 0x0d, 0x50, - 0x15, 0x52, 0x52, 0xce, 0x16, 0xcc, 0x85, 0x01, 0xe3, 0xb1, 0xde, 0xb8, 0xb9, 0x78, 0xeb, 0xda, - 0x84, 0x54, 0xe9, 0xb3, 0xd1, 0x1e, 0x4a, 0x91, 0x27, 0xd6, 0xb9, 0x11, 0x7c, 0x62, 0xf2, 0xee, - 0xe3, 0xa9, 0x37, 0x18, 0xaf, 0x61, 0xa2, 0x08, 0x04, 0x94, 0x14, 0xcd, 0x87, 0xce, 0xe2, 0x66, - 0x33, 0xa9, 0x47, 0xd8, 0xd1, 0xf1, 0x72, 0xd2, 0x7d, 0x05, 0x9c, 0x7b, 0x38, 0xed, 0xa3, 0xe7, - 0xdb, 0xc4, 0xef, 0x07, 0x64, 0x80, 0xc7, 0x1e, 0x1e, 0xbb, 0x77, 0x60, 0xad, 0xc6, 0x65, 0x31, - 0x37, 0x20, 0x42, 0xcf, 0x07, 0x78, 0x2c, 0x0c, 0xe8, 0x78, 0x8a, 0x12, 0x7c, 0xb1, 0x4a, 0x95, - 0x47, 0x45, 0xb9, 0x63, 0xe8, 0x72, 0x84, 0x06, 0x98, 0xf8, 0x7d, 0x36, 0x12, 0x2a, 0x36, 0x60, - 0x51, 0x7a, 0xa0, 0xcf, 0x46, 0x65, 0xbd, 0xd5, 0x58, 0x7c, 0xc5, 0x30, 0x0c, 0x30, 0x49, 0xe5, - 0x0a, 0x75, 0x1a, 0x8d, 0xc5, 0x83, 0x91, 0x61, 0xe2, 0x17, 0x57, 0x4e, 0xc3, 0x2b, 0x68, 0xf7, - 0x8f, 0x4d, 0x98, 0x57, 0x0e, 0x15, 0xdd, 0x21, 0xbf, 0xe2, 0x0a, 0x7f, 0x49, 0x4a, 0x06, 0xe3, - 0xf0, 0xb4, 0xec, 0xd3, 0x24, 0xa5, 0x77, 0x76, 0x0d, 0xb3, 0xb3, 0xab, 0xd8, 0x34, 0x57, 0xb7, - 0xa9, 0x72, 0xae, 0x66, 0xfd, 0x5c, 0xaf, 0xc3, 0x0a, 0x13, 0x09, 0x73, 0x10, 0xa2, 0xf4, 0x88, - 0x26, 0x91, 0xba, 0xb1, 0x9a, 0x5e, 0x8d, 0xcf, 0x8b, 0xbd, 0xe4, 0x15, 0x09, 0x2b, 0x33, 0xb2, - 0xc2, 0xe5, 0xe9, 0x21, 0x39, 0x79, 0xe2, 0xca, 0x56, 0xc1, 0x64, 0x4a, 0xdb, 0x18, 0x0b, 0x28, - 0x11, 0x9d, 0xae, 0xcc, 0x4f, 0x9d, 0xc5, 0x4f, 0x1e, 0xb1, 0xd1, 0xdd, 0x84, 0x46, 0xaa, 0x61, - 0xc8, 0x49, 0x71, 0x72, 0x4a, 0x52, 0x4c, 0x52, 0x21, 0xbb, 0x28, 0x65, 0x35, 0x16, 0x97, 0x55, - 0xa4, 0x48, 0xce, 0x25, 0x2f, 0x27, 0x9d, 0x15, 0x68, 0x30, 0x3c, 0x56, 0x19, 0xc7, 0x7f, 0x1a, - 0xc8, 0x75, 0x4d, 0xe4, 0x2a, 0xa5, 0x60, 0x45, 0x3c, 0xd5, 0x4b, 0x41, 0xd9, 0xeb, 0xaf, 0x1a, - 0xbd, 0xfe, 0x36, 0xcc, 0xd3, 0x98, 0xc7, 0x39, 0xeb, 0x39, 0x22, 0xc7, 0x3e, 0x3b, 0x3d, 0xc7, - 0xb6, 0x1e, 0xc9, 0x95, 0x77, 0x48, 0x9a, 0x9c, 0x79, 0xb9, 0x9c, 0xb3, 0x0f, 0x5d, 0x7a, 0x74, - 0x14, 0x06, 0x04, 0x1f, 0x64, 0xec, 0x58, 0xdc, 0x6c, 0x6b, 0xe2, 0x66, 0x73, 0x27, 0xa8, 0x7a, - 0x64, 0xae, 0xf4, 0xaa, 0xa2, 0xd7, 0xde, 0x84, 0x25, 0x7d, 0x1b, 0xee, 0x86, 0x13, 0x7c, 0xa6, - 0x62, 0x90, 0xff, 0xe4, 0xcd, 0xde, 0x29, 0x0a, 0x33, 0x79, 0x0d, 0x2c, 0x78, 0x92, 0x78, 0xd3, - 0xfe, 0xaa, 0xe5, 0xfe, 0xdc, 0x82, 0x6e, 0x65, 0x03, 0xbe, 0x3a, 0x0d, 0xd2, 0x10, 0x2b, 0x0d, - 0x92, 0x70, 0x1c, 0x98, 0xf3, 0x31, 0x1b, 0xaa, 0x10, 0x16, 0xbf, 0x55, 0x25, 0x6b, 0x14, 0xed, - 0x22, 0x7f, 0xa1, 0x7b, 0x34, 0xe0, 0x8a, 0x06, 0x34, 0x23, 0x7e, 0xf1, 0x42, 0xa7, 0xf1, 0x78, - 0x08, 0x05, 0x8f, 0x06, 0x3b, 0xc8, 0x1f, 0x61, 0xf9, 0xda, 0xd5, 0x14, 0x36, 0x99, 0x4c, 0xd7, - 0x87, 0x85, 0xc7, 0x41, 0xcc, 0x76, 0x69, 0x14, 0x71, 0x20, 0x7c, 0x9c, 0xf2, 0x5e, 0xd5, 0x12, - 0x78, 0x2b, 0x8a, 0x87, 0x8a, 0x8f, 0x8f, 0x50, 0x16, 0xa6, 0x7c, 0x69, 0x9e, 0xb8, 0x1a, 0x4b, - 0xbc, 0x70, 0x30, 0x4a, 0xf6, 0xa4, 0xb4, 0xb4, 0x53, 0xe3, 0xb8, 0x7f, 0xb6, 0x61, 0x45, 0x34, - 0x0e, 0xbb, 0x02, 0x76, 0x5f, 0x08, 0xdd, 0x82, 0xa6, 0x48, 0x43, 0xd5, 0xac, 0x9c, 0xdf, 0x6c, - 0xc8, 0xa5, 0xce, 0x6d, 0x68, 0xd1, 0x58, 0xb4, 0x9c, 0xb2, 0x43, 0x79, 0x6d, 0x9a, 0x90, 0xf9, - 0x6e, 0xe7, 0x29, 0x29, 0xe7, 0x2e, 0x80, 0x7c, 0xed, 0xdc, 0x2f, 0x4b, 0xf7, 0xac, 0x3a, 0x34, - 0x49, 0xee, 0xdc, 0xa2, 0x0c, 0x17, 0x2f, 0x78, 0x0d, 0xcf, 0x64, 0x3a, 0x0f, 0x61, 0x59, 0x98, - 0xfd, 0x28, 0xef, 0x3a, 0x05, 0x06, 0xb3, 0xef, 0x58, 0x91, 0x76, 0x7f, 0x65, 0x29, 0x37, 0xf2, - 0xa7, 0x03, 0x2c, 0x7d, 0x5f, 0xba, 0xc4, 0xba, 0x94, 0x4b, 0xae, 0xc1, 0x42, 0x94, 0x69, 0x4d, - 0x70, 0xc3, 0x2b, 0xe8, 0x12, 0xa2, 0xc6, 0xcc, 0x10, 0xb9, 0xbf, 0xb6, 0xa0, 0xf7, 0x36, 0x0d, - 0x88, 0x78, 0xb0, 0x1d, 0xc7, 0xa1, 0x9a, 0x42, 0x5c, 0x1a, 0xf3, 0x6f, 0x42, 0x1b, 0x49, 0x35, - 0x24, 0x55, 0xb0, 0xcf, 0xd0, 0xd8, 0x96, 0x32, 0x5a, 0x8f, 0xd2, 0xd0, 0x7b, 0x14, 0xf7, 0x7d, - 0x0b, 0x96, 0xa5, 0x53, 0xde, 0xc9, 0x82, 0xf4, 0xd2, 0xf6, 0xed, 0xc0, 0xc2, 0x38, 0x0b, 0xd2, - 0x4b, 0x44, 0x65, 0x21, 0x57, 0x8f, 0xa7, 0xc6, 0x84, 0x78, 0x72, 0x3f, 0xb0, 0xe0, 0x7a, 0xd5, - 0xad, 0xdb, 0xc3, 0x21, 0x8e, 0x5f, 0x64, 0x4a, 0x19, 0x3d, 0xda, 0x5c, 0xa5, 0x47, 0x9b, 0x68, - 0xb2, 0x87, 0xdf, 0xc3, 0xc3, 0xff, 0x5e, 0x93, 0x7f, 0x6c, 0xc3, 0x27, 0xef, 0x15, 0x89, 0xf7, - 0x38, 0x41, 0x84, 0x1d, 0xe1, 0x24, 0x79, 0x81, 0xf6, 0xee, 0x43, 0x87, 0xe0, 0x67, 0xa5, 0x4d, - 0x2a, 0x1d, 0x67, 0x55, 0x63, 0x0a, 0xcf, 0x56, 0xbb, 0xdc, 0x7f, 0x59, 0xb0, 0x22, 0xf5, 0x7c, - 0x2b, 0x18, 0x9e, 0xbc, 0xc0, 0xc3, 0x3f, 0x84, 0xe5, 0x13, 0x61, 0x01, 0xa7, 0x2e, 0x51, 0xb6, - 0x2b, 0xd2, 0x33, 0x1e, 0xff, 0xdf, 0x16, 0xac, 0x4a, 0x45, 0x0f, 0xc8, 0x69, 0xf0, 0x22, 0x83, - 0xf5, 0x00, 0xba, 0x81, 0x34, 0xe1, 0x92, 0x0e, 0xa8, 0x8a, 0xcf, 0xe8, 0x81, 0xdf, 0x5b, 0xd0, - 0x95, 0x9a, 0xee, 0x90, 0x14, 0x27, 0x97, 0x3e, 0xff, 0x7d, 0x58, 0xc4, 0x24, 0x4d, 0x10, 0xb9, - 0x4c, 0x85, 0xd4, 0x45, 0x67, 0x2c, 0x92, 0xef, 0x5b, 0xe0, 0x08, 0x55, 0x7b, 0x01, 0x8b, 0x02, - 0xc6, 0x5e, 0x20, 0x74, 0xb3, 0x19, 0x7c, 0x02, 0xab, 0x72, 0xe6, 0xa0, 0x95, 0x48, 0xde, 0x7c, - 0x23, 0x5f, 0xf6, 0xd3, 0x96, 0x10, 0xca, 0x49, 0x73, 0x9a, 0xa4, 0x3e, 0x07, 0x94, 0xd3, 0xa4, - 0x1b, 0x00, 0xc8, 0xf7, 0xdf, 0xa5, 0x89, 0x1f, 0x90, 0xfc, 0xbe, 0xd3, 0x38, 0xee, 0xdb, 0xb0, - 0xc4, 0xdb, 0xff, 0xc7, 0xda, 0xf4, 0xe0, 0xdc, 0xf9, 0x86, 0x3e, 0x79, 0xb0, 0xcd, 0xc9, 0x83, - 0xfb, 0x7d, 0xf8, 0x78, 0xcd, 0x70, 0xe1, 0xeb, 0x5d, 0x39, 0x14, 0xc9, 0x37, 0x51, 0x2e, 0xff, - 0xf4, 0x04, 0xef, 0xe9, 0xb6, 0x78, 0x86, 0x90, 0xfb, 0x23, 0x0b, 0x5e, 0xad, 0xa9, 0xdf, 0x8e, - 0xe3, 0x84, 0x9e, 0x2a, 0x48, 0xaf, 0x62, 0x1b, 0xf3, 0x2e, 0xb0, 0xab, 0x77, 0xc1, 0x44, 0x23, - 0x8c, 0xfb, 0xeb, 0x23, 0x30, 0xe2, 0x37, 0x16, 0x74, 0x95, 0x11, 0xbe, 0xaf, 0xb6, 0xfd, 0x0a, - 0xb4, 0xe4, 0x40, 0x55, 0x6d, 0xf8, 0xea, 0xc4, 0x0d, 0xf3, 0x41, 0xb0, 0xa7, 0x16, 0xd7, 0x23, - 0xd2, 0x9e, 0xd4, 0xb7, 0x7e, 0xad, 0x88, 0xfb, 0x99, 0x47, 0x9e, 0x4a, 0xc0, 0xfd, 0x4e, 0x1e, - 0xcc, 0x7b, 0x38, 0xc4, 0x57, 0xe9, 0x23, 0xf7, 0x09, 0x2c, 0x8b, 0xe9, 0x6e, 0xe9, 0x83, 0x2b, - 0x51, 0xfb, 0x2e, 0xac, 0x08, 0xb5, 0x57, 0x6e, 0x6f, 0x91, 0x1d, 0xdc, 0x3f, 0xbb, 0xc7, 0x88, - 0x8c, 0xae, 0x52, 0xfb, 0x17, 0x61, 0x2d, 0xf7, 0xfd, 0x93, 0xd8, 0x2f, 0xde, 0xa9, 0xa6, 0x4c, - 0x92, 0xdc, 0x2f, 0xc1, 0xfa, 0x2e, 0x25, 0xa7, 0x38, 0x61, 0x02, 0x65, 0x29, 0x92, 0x4b, 0x18, - 0xc9, 0xaf, 0x28, 0x77, 0x00, 0xab, 0x6a, 0x06, 0x7a, 0x80, 0x46, 0x01, 0x91, 0x55, 0xe9, 0x06, - 0x40, 0x8c, 0x46, 0xf9, 0x37, 0x10, 0x39, 0x28, 0xd3, 0x38, 0xfc, 0x39, 0x3b, 0xa6, 0xcf, 0xd4, - 0x73, 0x5b, 0x3e, 0x2f, 0x39, 0xee, 0xb7, 0xc1, 0xf1, 0x30, 0x8b, 0x29, 0x61, 0x58, 0xd3, 0xba, - 0x01, 0x8b, 0xbb, 0x59, 0x92, 0x60, 0xc2, 0xb7, 0xca, 0x3f, 0x08, 0xe8, 0x2c, 0xae, 0x77, 0x50, - 0xea, 0x95, 0xc3, 0x15, 0x8d, 0xe3, 0xfe, 0xb2, 0x01, 0xed, 0x41, 0x30, 0x22, 0x28, 0xf4, 0xf0, - 0xd8, 0xf9, 0x3a, 0xb4, 0xe4, 0x95, 0xa7, 0x5c, 0x3b, 0xe9, 0x65, 0x5f, 0xae, 0x96, 0x77, 0xbb, - 0x87, 0xc7, 0xf7, 0x3f, 0xe6, 0x29, 0x19, 0xe7, 0x1d, 0xe8, 0xc8, 0x5f, 0x0f, 0xe4, 0x2b, 0x8c, - 0xaa, 0xfd, 0x9f, 0xbb, 0x40, 0x89, 0x5a, 0x2d, 0x75, 0x99, 0x1a, 0xb8, 0x41, 0x43, 0x44, 0x86, - 0xea, 0x23, 0xe1, 0x79, 0x06, 0xed, 0x8a, 0x65, 0xca, 0x20, 0x29, 0xc3, 0xa5, 0x91, 0x68, 0xf2, - 0xd5, 0x67, 0x96, 0xe9, 0xd2, 0xf2, 0x5d, 0x40, 0x49, 0x4b, 0x19, 0x2e, 0x7d, 0x9c, 0x91, 0xd1, - 0x93, 0x58, 0xbd, 0x7b, 0x4e, 0x97, 0xbe, 0x2f, 0x96, 0x29, 0x69, 0x29, 0xc3, 0xa5, 0x13, 0x51, - 0xed, 0x84, 0xd3, 0xcf, 0x93, 0x96, 0x45, 0x51, 0x49, 0x4b, 0x99, 0x9d, 0x36, 0xcc, 0xc7, 0xe8, - 0x2c, 0xa4, 0xc8, 0x77, 0x7f, 0xdb, 0x00, 0xc8, 0x17, 0x32, 0x71, 0xb3, 0x1a, 0x10, 0x6d, 0x5e, - 0x08, 0x51, 0x1c, 0x9e, 0x69, 0x20, 0x0d, 0x26, 0x83, 0xf4, 0xf9, 0x59, 0x41, 0x92, 0xda, 0x2a, - 0x30, 0xdd, 0xae, 0xc0, 0xb4, 0x79, 0x21, 0x4c, 0xca, 0x28, 0x05, 0xd4, 0xed, 0x0a, 0x50, 0x9b, - 0x17, 0x02, 0xa5, 0xe4, 0x15, 0x54, 0xb7, 0x2b, 0x50, 0x6d, 0x5e, 0x08, 0x95, 0x92, 0x57, 0x60, - 0xdd, 0xae, 0x80, 0xb5, 0x79, 0x21, 0x58, 0x4a, 0xbe, 0x0e, 0xd7, 0x07, 0x36, 0x2c, 0x0b, 0x97, - 0xc9, 0x41, 0x33, 0x39, 0xa2, 0x62, 0x9e, 0x24, 0xdc, 0x65, 0x7e, 0x52, 0x33, 0x99, 0xce, 0x17, - 0x60, 0x55, 0x32, 0xd4, 0x27, 0x18, 0xd1, 0xaf, 0xda, 0x1b, 0x8d, 0x9b, 0x6d, 0xaf, 0xfe, 0x40, - 0x8c, 0x06, 0x33, 0x96, 0xd2, 0x68, 0x0f, 0xa5, 0x28, 0xef, 0x56, 0x4a, 0x8e, 0x3e, 0xb8, 0x9d, - 0xab, 0x7d, 0x92, 0x4f, 0x28, 0x8d, 0x8a, 0x89, 0xac, 0xa2, 0xb8, 0x44, 0x1a, 0x44, 0x98, 0x66, - 0xa9, 0x2a, 0x13, 0x39, 0xc9, 0xef, 0xd8, 0x08, 0xfb, 0x01, 0x12, 0xe3, 0x4e, 0xf5, 0x1d, 0xa4, - 0x60, 0x88, 0xca, 0x56, 0x8e, 0x6f, 0xd5, 0x27, 0xf3, 0x92, 0x73, 0xf1, 0xa8, 0xd5, 0xfd, 0x9b, - 0x05, 0x6b, 0x07, 0x28, 0x49, 0x83, 0x61, 0x10, 0x23, 0x92, 0xf6, 0x71, 0x8a, 0xc4, 0x19, 0x8c, - 0xef, 0x6a, 0xd6, 0x87, 0xfb, 0xae, 0x76, 0x00, 0xdd, 0x51, 0xd9, 0x5f, 0x6a, 0x5f, 0xe6, 0x66, - 0xee, 0xfd, 0x2b, 0xe2, 0xc6, 0x47, 0xc2, 0xc6, 0x87, 0xfe, 0x48, 0xe8, 0xfe, 0xd4, 0x86, 0x6e, - 0xa5, 0x74, 0xf2, 0x16, 0x51, 0x5e, 0xfe, 0x45, 0x4c, 0x14, 0xb4, 0xb3, 0x0d, 0x10, 0x14, 0x61, - 0x74, 0xce, 0xf0, 0xc6, 0x8c, 0x35, 0x4f, 0x13, 0x9a, 0x34, 0xc3, 0x6d, 0x5c, 0x7a, 0x86, 0xcb, - 0xdf, 0x46, 0xe2, 0x12, 0x24, 0x95, 0xa8, 0x93, 0xbc, 0x39, 0x01, 0x4a, 0x4f, 0x17, 0x75, 0xbf, - 0x07, 0xab, 0xb5, 0x0a, 0x25, 0x46, 0xba, 0xf4, 0x04, 0x93, 0x62, 0xa4, 0xcb, 0x09, 0x2d, 0x58, - 0xed, 0x6a, 0xb0, 0x86, 0xc1, 0xa9, 0xfe, 0x2f, 0x04, 0x45, 0xba, 0x3f, 0xb3, 0x61, 0x7d, 0xf2, - 0xed, 0xf2, 0xb2, 0xba, 0xfb, 0x10, 0x7a, 0xd3, 0x2a, 0xf9, 0x95, 0x79, 0xbd, 0x8c, 0xee, 0xe2, - 0x1e, 0x7e, 0x59, 0xdd, 0xbd, 0x96, 0x47, 0xb7, 0x76, 0xd5, 0xb9, 0xbf, 0x2b, 0xfc, 0x53, 0x74, - 0x1a, 0x2f, 0xa9, 0x7f, 0x9c, 0xd7, 0x61, 0x45, 0x1e, 0x53, 0xfb, 0xe8, 0x27, 0x1b, 0xd7, 0x1a, - 0xbf, 0xac, 0x14, 0xda, 0xb5, 0x7f, 0x65, 0x31, 0xfb, 0x27, 0x2b, 0xc7, 0xa4, 0xe8, 0xdf, 0xfe, - 0xa7, 0x30, 0x29, 0x23, 0x4d, 0x6b, 0x6a, 0xb4, 0x48, 0x2b, 0xfa, 0xca, 0xff, 0x47, 0xda, 0xc5, - 0x91, 0x56, 0xf8, 0x52, 0x6b, 0xf0, 0xdc, 0x1f, 0x42, 0x67, 0x0f, 0x87, 0x7d, 0x36, 0xca, 0xff, - 0x6e, 0x70, 0x9e, 0x23, 0xa7, 0xfd, 0xd5, 0x71, 0xea, 0x1f, 0x0d, 0xaa, 0x7f, 0x52, 0x98, 0xab, - 0xfd, 0x49, 0xc1, 0xdd, 0x81, 0x65, 0xdd, 0x80, 0xcb, 0xfc, 0xdb, 0x62, 0xe7, 0xfa, 0x77, 0xaf, - 0x6d, 0xbd, 0x21, 0xff, 0x54, 0xfb, 0x56, 0xcd, 0x89, 0x87, 0x2d, 0xf1, 0x27, 0xdb, 0x2f, 0xff, - 0x27, 0x00, 0x00, 0xff, 0xff, 0xd8, 0x98, 0x6b, 0xf4, 0x77, 0x2b, 0x00, 0x00, + 0x6e, 0x88, 0x13, 0xff, 0x00, 0x47, 0xc4, 0x8d, 0x33, 0x57, 0x0e, 0x48, 0x48, 0xa0, 0xfa, 0xe8, + 0xee, 0xaa, 0x6e, 0x3b, 0xf1, 0x5a, 0xd1, 0x0e, 0x68, 0xb8, 0xf9, 0xbd, 0xae, 0xf7, 0xea, 0xd5, + 0xef, 0x7d, 0xd4, 0xab, 0x2a, 0x43, 0x87, 0xf9, 0xa7, 0x4f, 0x9f, 0xb1, 0x37, 0x9e, 0xb1, 0xed, + 0x28, 0xa6, 0x09, 0x75, 0xd6, 0x18, 0x8e, 0xcf, 0x70, 0xfc, 0x14, 0x45, 0xc1, 0xd3, 0x08, 0xc5, + 0x68, 0xc4, 0xdc, 0x7f, 0xd8, 0xd0, 0xbc, 0x17, 0xd3, 0x34, 0x7a, 0x40, 0x8e, 0xa9, 0xd3, 0x85, + 0xc5, 0xa1, 0x20, 0xf6, 0xbb, 0xd6, 0xa6, 0x75, 0xb3, 0xe9, 0x65, 0xa4, 0x73, 0x1d, 0x9a, 0xe2, + 0xe7, 0x43, 0x34, 0xc2, 0x5d, 0x5b, 0x7c, 0x2b, 0x18, 0x8e, 0x0b, 0xcb, 0x84, 0x26, 0xc1, 0x71, + 0x30, 0x40, 0x49, 0x40, 0x49, 0xb7, 0x26, 0x06, 0x18, 0x3c, 0x3e, 0x26, 0x20, 0x49, 0x4c, 0xfd, + 0x74, 0x20, 0xc6, 0x2c, 0xc8, 0x31, 0x3a, 0x8f, 0xcf, 0x7f, 0x8c, 0x06, 0xf8, 0x89, 0x77, 0xd0, + 0xad, 0xcb, 0xf9, 0x15, 0xe9, 0x6c, 0x42, 0x8b, 0x3e, 0x23, 0x38, 0x7e, 0xc2, 0x70, 0xfc, 0x60, + 0xbf, 0xdb, 0x10, 0x5f, 0x75, 0x96, 0x73, 0x03, 0x60, 0x10, 0x63, 0x94, 0xe0, 0xc7, 0xc1, 0x08, + 0x77, 0x17, 0x37, 0xad, 0x9b, 0x6d, 0x4f, 0xe3, 0x70, 0x0d, 0x23, 0x3c, 0x3a, 0xc2, 0xf1, 0x1e, + 0x4d, 0x49, 0xd2, 0x5d, 0x12, 0x03, 0x74, 0x96, 0xb3, 0x02, 0x36, 0x7e, 0xde, 0x6d, 0x0a, 0xd5, + 0x36, 0x7e, 0xee, 0x6c, 0x40, 0x83, 0x25, 0x28, 0x49, 0x59, 0x17, 0x36, 0xad, 0x9b, 0x75, 0x4f, + 0x51, 0xce, 0x16, 0xb4, 0x85, 0x5e, 0x9a, 0x59, 0xd3, 0x12, 0x22, 0x26, 0x33, 0x47, 0xec, 0xf1, + 0x79, 0x84, 0xbb, 0xcb, 0x42, 0x41, 0xc1, 0x70, 0xff, 0x62, 0xc3, 0xba, 0xc0, 0xbd, 0x27, 0x0c, + 0xb8, 0x9b, 0x86, 0xe1, 0x25, 0x1e, 0xd8, 0x80, 0x46, 0x2a, 0xa7, 0x93, 0xf0, 0x2b, 0x8a, 0xcf, + 0x13, 0xd3, 0x10, 0x1f, 0xe0, 0x33, 0x1c, 0x0a, 0xe0, 0xeb, 0x5e, 0xc1, 0x70, 0xae, 0xc1, 0xd2, + 0x7b, 0x34, 0x20, 0x02, 0x93, 0x05, 0xf1, 0x31, 0xa7, 0xf9, 0x37, 0x12, 0x0c, 0x4e, 0x09, 0x77, + 0xa9, 0x84, 0x3b, 0xa7, 0x75, 0x4f, 0x34, 0x4c, 0x4f, 0xbc, 0x06, 0x2b, 0x28, 0x8a, 0x7a, 0x88, + 0x0c, 0x71, 0x2c, 0x27, 0x5d, 0x14, 0x7a, 0x4b, 0x5c, 0xee, 0x0f, 0x3e, 0x53, 0x9f, 0xa6, 0xf1, + 0x00, 0x0b, 0xb8, 0xeb, 0x9e, 0xc6, 0xe1, 0x7a, 0x68, 0x84, 0x63, 0x0d, 0x46, 0x89, 0x7c, 0x89, + 0xab, 0xbc, 0x02, 0xb9, 0x57, 0xb8, 0x1f, 0xd3, 0x04, 0xdf, 0x21, 0xbe, 0x58, 0x54, 0x4b, 0xf9, + 0xb1, 0x60, 0xb9, 0x3f, 0xb1, 0x60, 0xe5, 0x30, 0x3d, 0x0a, 0x83, 0x81, 0x50, 0xc1, 0x61, 0x2d, + 0xc0, 0xb3, 0x0c, 0xf0, 0x74, 0x08, 0xec, 0xe9, 0x10, 0xd4, 0x4c, 0x08, 0x36, 0xa0, 0x31, 0xc4, + 0xc4, 0xc7, 0xb1, 0x82, 0x54, 0x51, 0xca, 0xd4, 0x7a, 0x66, 0xaa, 0xfb, 0x0b, 0x1b, 0x96, 0x3e, + 0x62, 0x13, 0x36, 0xa1, 0x15, 0x9d, 0x50, 0x82, 0x1f, 0xa6, 0x3c, 0xac, 0x94, 0x2d, 0x3a, 0xcb, + 0x79, 0x05, 0xea, 0x47, 0x41, 0x9c, 0x9c, 0x08, 0xbf, 0xb6, 0x3d, 0x49, 0x70, 0x2e, 0x1e, 0xa1, + 0x40, 0x3a, 0xb3, 0xe9, 0x49, 0x42, 0x2d, 0x68, 0x29, 0xc7, 0xde, 0xcc, 0xb1, 0x66, 0x25, 0xc7, + 0xaa, 0xb1, 0x01, 0x93, 0x62, 0xc3, 0xfd, 0xa7, 0x05, 0x70, 0x37, 0x0e, 0x30, 0xf1, 0x05, 0x34, + 0xa5, 0xe4, 0xb6, 0xaa, 0xc9, 0xbd, 0x01, 0x8d, 0x18, 0x8f, 0x50, 0x7c, 0x9a, 0x05, 0xbf, 0xa4, + 0x4a, 0x06, 0xd5, 0x2a, 0x06, 0xbd, 0x05, 0x70, 0x2c, 0xe6, 0xe1, 0x7a, 0x04, 0x54, 0xad, 0x5b, + 0x9f, 0xda, 0xae, 0x94, 0xc1, 0xed, 0xcc, 0x4b, 0x9e, 0x36, 0x9c, 0x67, 0x16, 0xf2, 0x7d, 0x15, + 0xc0, 0x75, 0x99, 0x59, 0x39, 0x63, 0x42, 0xfc, 0x36, 0x2e, 0x88, 0xdf, 0xc5, 0x3c, 0x28, 0xfe, + 0x6e, 0x41, 0x73, 0x37, 0x44, 0x83, 0xd3, 0x19, 0x97, 0x6e, 0x2e, 0xd1, 0xae, 0x2c, 0xf1, 0x1e, + 0xb4, 0x8f, 0xb8, 0xba, 0x6c, 0x09, 0x02, 0x85, 0xd6, 0xad, 0xcf, 0x4c, 0x58, 0xa5, 0x99, 0x14, + 0x9e, 0x29, 0x67, 0x2e, 0x77, 0xe1, 0xf2, 0xe5, 0xd6, 0x2f, 0x58, 0x6e, 0x23, 0x5f, 0xee, 0x9f, + 0x6d, 0x58, 0x16, 0x85, 0xce, 0xc3, 0xe3, 0x14, 0xb3, 0xc4, 0xf9, 0x06, 0x2c, 0xa5, 0x99, 0xa9, + 0xd6, 0xac, 0xa6, 0xe6, 0x22, 0xce, 0x9b, 0xaa, 0xac, 0x0a, 0x79, 0x5b, 0xc8, 0x5f, 0x9f, 0x20, + 0x9f, 0xef, 0x69, 0x5e, 0x31, 0x9c, 0x6f, 0x41, 0x27, 0x88, 0xf8, 0x21, 0xf6, 0x30, 0x4b, 0xc3, + 0x44, 0x55, 0x4b, 0x83, 0x27, 0x23, 0x6d, 0xdc, 0x63, 0x43, 0xb5, 0x41, 0x29, 0x8a, 0xa3, 0x23, + 0xc7, 0xf1, 0x4f, 0x72, 0xe9, 0x05, 0x83, 0x27, 0x6a, 0x8c, 0xc7, 0xc2, 0x43, 0x32, 0xad, 0x32, + 0xb2, 0x98, 0x53, 0xa1, 0x26, 0x03, 0xc1, 0xe0, 0x71, 0x17, 0x4b, 0x5a, 0x28, 0x90, 0x3b, 0x93, + 0xc6, 0x29, 0x6f, 0x4c, 0xee, 0x5f, 0x6b, 0xd0, 0x96, 0xe9, 0x93, 0x81, 0x7a, 0x83, 0xc7, 0x39, + 0x1d, 0x19, 0x51, 0xa4, 0x71, 0xb8, 0x15, 0x9c, 0x7a, 0x68, 0x16, 0x1a, 0x83, 0xc7, 0x43, 0x91, + 0xd3, 0x77, 0x8d, 0x82, 0xa3, 0xb3, 0xb2, 0x59, 0xee, 0xe9, 0x85, 0x47, 0xe3, 0xf0, 0x52, 0x96, + 0x50, 0x23, 0x3a, 0x72, 0x9a, 0xcb, 0x26, 0x34, 0x9f, 0x5f, 0xc6, 0x87, 0xc6, 0xe1, 0xf8, 0x26, + 0x34, 0x9b, 0x5b, 0x82, 0x54, 0x30, 0xa4, 0x66, 0x35, 0xaf, 0xdc, 0x4a, 0x72, 0xba, 0xe2, 0xd5, + 0xe6, 0x85, 0x5e, 0x05, 0xc3, 0xab, 0x66, 0x72, 0xb5, 0x2a, 0xc9, 0xb5, 0x05, 0x6d, 0xa9, 0x27, + 0x0b, 0xfa, 0x65, 0xb9, 0xd5, 0x1b, 0x4c, 0x33, 0x36, 0xda, 0xe5, 0xd8, 0x30, 0xbd, 0xbb, 0x32, + 0xc5, 0xbb, 0x9d, 0xdc, 0xbb, 0x3f, 0x80, 0xee, 0x61, 0x1a, 0x86, 0x3d, 0xcc, 0x18, 0x1a, 0xe2, + 0xdd, 0xf3, 0x3e, 0x1e, 0x1f, 0x04, 0x2c, 0xf1, 0x30, 0x8b, 0x78, 0x9c, 0xe1, 0x38, 0xde, 0xa3, + 0x3e, 0x16, 0x4e, 0xae, 0x7b, 0x19, 0xc9, 0x57, 0x88, 0xe3, 0x98, 0x1b, 0xa0, 0x2a, 0xa4, 0xa4, + 0x9c, 0x6d, 0x58, 0x08, 0x03, 0xc6, 0x63, 0xbd, 0x76, 0xb3, 0x75, 0xeb, 0xda, 0x84, 0x54, 0xe9, + 0xb1, 0xe1, 0x3e, 0x4a, 0x90, 0x27, 0xc6, 0xb9, 0x23, 0xf8, 0xc4, 0xe4, 0xd9, 0xc7, 0x53, 0x77, + 0x30, 0x5e, 0xc3, 0x44, 0x11, 0x08, 0x28, 0xc9, 0xdb, 0x13, 0x9d, 0xc5, 0xcd, 0x66, 0x52, 0x8f, + 0xb0, 0xa3, 0xed, 0x65, 0xa4, 0xfb, 0x0a, 0x38, 0xf7, 0x70, 0xd2, 0x43, 0xcf, 0x77, 0x88, 0xdf, + 0x0b, 0x48, 0x1f, 0x8f, 0x3d, 0x3c, 0x76, 0xef, 0xc0, 0x7a, 0x85, 0xcb, 0x22, 0x6e, 0xc0, 0x08, + 0x3d, 0xef, 0xe3, 0xb1, 0x30, 0xa0, 0xed, 0x29, 0x4a, 0xf0, 0xc5, 0x28, 0x55, 0x1e, 0x15, 0xe5, + 0x8e, 0xa1, 0xc3, 0x3d, 0xd4, 0xc7, 0xc4, 0xef, 0xb1, 0xa1, 0x50, 0xb1, 0x09, 0x2d, 0x89, 0x40, + 0x8f, 0x0d, 0x8b, 0x7a, 0xab, 0xb1, 0xf8, 0x88, 0x41, 0x18, 0x60, 0x92, 0xc8, 0x11, 0x6a, 0x35, + 0x1a, 0x8b, 0x07, 0x23, 0xc3, 0xaa, 0xfd, 0xe0, 0x59, 0x52, 0xf3, 0x72, 0xda, 0xfd, 0x43, 0x1d, + 0x16, 0x15, 0xa0, 0xa2, 0x7f, 0xe4, 0x5b, 0x5c, 0x8e, 0x97, 0xa4, 0x64, 0x30, 0x0e, 0xce, 0x8a, + 0x4e, 0x4e, 0x52, 0x7a, 0xef, 0x57, 0x33, 0x7b, 0xbf, 0x92, 0x4d, 0x0b, 0x55, 0x9b, 0x4a, 0xeb, + 0xaa, 0x57, 0xd7, 0xf5, 0x3a, 0xac, 0x32, 0x91, 0x30, 0x87, 0x21, 0x4a, 0x8e, 0x69, 0x3c, 0x52, + 0x3b, 0x56, 0xdd, 0xab, 0xf0, 0x79, 0xb1, 0x97, 0xbc, 0x3c, 0x61, 0x65, 0x46, 0x96, 0xb8, 0x3c, + 0x3d, 0x24, 0x27, 0x4b, 0x5c, 0xd9, 0x2a, 0x98, 0x4c, 0x69, 0x1b, 0x63, 0x01, 0x25, 0xa2, 0x17, + 0x96, 0xf9, 0xa9, 0xb3, 0xf8, 0xca, 0x47, 0x6c, 0x78, 0x37, 0xa6, 0x23, 0xd5, 0x30, 0x64, 0xa4, + 0x58, 0x39, 0x25, 0x09, 0x26, 0x89, 0x90, 0x6d, 0x49, 0x59, 0x8d, 0xc5, 0x65, 0x15, 0x29, 0x92, + 0x73, 0xd9, 0xcb, 0x48, 0x67, 0x15, 0x6a, 0x0c, 0x8f, 0x55, 0xc6, 0xf1, 0x9f, 0x86, 0xe7, 0x3a, + 0xa6, 0xe7, 0x4a, 0xa5, 0x60, 0x55, 0x7c, 0xd5, 0x4b, 0x41, 0x71, 0x1a, 0x58, 0x33, 0x4e, 0x03, + 0x3b, 0xb0, 0x48, 0x23, 0x1e, 0xe7, 0xac, 0xeb, 0x88, 0x1c, 0xfb, 0xec, 0xf4, 0x1c, 0xdb, 0x7e, + 0x24, 0x47, 0xde, 0x21, 0x49, 0x7c, 0xee, 0x65, 0x72, 0xce, 0x01, 0x74, 0xe8, 0xf1, 0x71, 0x18, + 0x10, 0x7c, 0x98, 0xb2, 0x13, 0xb1, 0xb3, 0xad, 0x8b, 0x9d, 0xcd, 0x9d, 0xa0, 0xea, 0x91, 0x39, + 0xd2, 0x2b, 0x8b, 0x5e, 0x7b, 0x13, 0x96, 0xf5, 0x69, 0x38, 0x0c, 0xa7, 0xf8, 0x5c, 0xc5, 0x20, + 0xff, 0xc9, 0x9b, 0xbd, 0x33, 0x14, 0xa6, 0x72, 0x1b, 0x58, 0xf2, 0x24, 0xf1, 0xa6, 0xfd, 0x55, + 0xcb, 0xfd, 0xb9, 0x05, 0x9d, 0xd2, 0x04, 0x7c, 0x74, 0x12, 0x24, 0x21, 0x56, 0x1a, 0x24, 0xe1, + 0x38, 0xb0, 0xe0, 0x63, 0x36, 0x50, 0x21, 0x2c, 0x7e, 0xab, 0x4a, 0x56, 0xcb, 0xdb, 0x45, 0x7e, + 0xe4, 0x7b, 0xd4, 0xe7, 0x8a, 0xfa, 0x34, 0x25, 0x7e, 0x7e, 0xe4, 0xd3, 0x78, 0x3c, 0x84, 0x82, + 0x47, 0xfd, 0x5d, 0xe4, 0x0f, 0xb1, 0x3c, 0x98, 0xd5, 0x85, 0x4d, 0x26, 0xd3, 0xf5, 0x61, 0xe9, + 0x71, 0x10, 0xb1, 0x3d, 0x3a, 0x1a, 0x71, 0x47, 0xf8, 0x38, 0xe1, 0xbd, 0xaa, 0x25, 0xfc, 0xad, + 0x28, 0x1e, 0x2a, 0x3e, 0x3e, 0x46, 0x69, 0x98, 0xf0, 0xa1, 0x59, 0xe2, 0x6a, 0x2c, 0x71, 0x24, + 0x61, 0x94, 0xec, 0x4b, 0x69, 0x69, 0xa7, 0xc6, 0x71, 0xff, 0x64, 0xc3, 0xaa, 0x68, 0x1c, 0xf6, + 0x84, 0xdb, 0x7d, 0x21, 0x74, 0x0b, 0xea, 0x22, 0x0d, 0x55, 0xb3, 0x72, 0x71, 0xb3, 0x21, 0x87, + 0x3a, 0xb7, 0xa1, 0x41, 0x23, 0xd1, 0x72, 0xca, 0x0e, 0xe5, 0xb5, 0x69, 0x42, 0xe6, 0xe9, 0xcf, + 0x53, 0x52, 0xce, 0x5d, 0x00, 0x79, 0x30, 0x3d, 0x28, 0x4a, 0xf7, 0xac, 0x3a, 0x34, 0x49, 0x0e, + 0x6e, 0x5e, 0x86, 0xf3, 0x23, 0x60, 0xcd, 0x33, 0x99, 0xce, 0x43, 0x58, 0x11, 0x66, 0x3f, 0xca, + 0xba, 0x4e, 0xe1, 0x83, 0xd9, 0x67, 0x2c, 0x49, 0xbb, 0xbf, 0xb2, 0x14, 0x8c, 0xfc, 0x6b, 0x1f, + 0x4b, 0xec, 0x0b, 0x48, 0xac, 0xb9, 0x20, 0xb9, 0x06, 0x4b, 0xfc, 0x8c, 0x97, 0x37, 0xc1, 0x35, + 0x2f, 0xa7, 0x0b, 0x17, 0xd5, 0x66, 0x76, 0x91, 0xfb, 0x6b, 0x0b, 0xba, 0x6f, 0xd3, 0x80, 0x88, + 0x0f, 0x3b, 0x51, 0x14, 0xaa, 0x7b, 0x8a, 0xb9, 0x7d, 0xfe, 0x4d, 0x68, 0x22, 0xa9, 0x86, 0x24, + 0xca, 0xed, 0x33, 0x34, 0xb6, 0x85, 0x8c, 0xd6, 0xa3, 0xd4, 0xf4, 0x1e, 0xc5, 0x7d, 0xdf, 0x82, + 0x15, 0x09, 0xca, 0x3b, 0x69, 0x90, 0xcc, 0x6d, 0xdf, 0x2e, 0x2c, 0x8d, 0xd3, 0x20, 0x99, 0x23, + 0x2a, 0x73, 0xb9, 0x6a, 0x3c, 0xd5, 0x26, 0xc4, 0x93, 0xfb, 0x81, 0x05, 0xd7, 0xcb, 0xb0, 0xee, + 0x0c, 0x06, 0x38, 0x7a, 0x91, 0x29, 0x65, 0xf4, 0x68, 0x0b, 0xa5, 0x1e, 0x6d, 0xa2, 0xc9, 0x1e, + 0x7e, 0x0f, 0x0f, 0xfe, 0x7b, 0x4d, 0xfe, 0xb1, 0x0d, 0x9f, 0xbc, 0x97, 0x27, 0xde, 0xe3, 0x18, + 0x11, 0x76, 0x8c, 0xe3, 0xf8, 0x05, 0xda, 0x7b, 0x00, 0x6d, 0x82, 0x9f, 0x15, 0x36, 0xa9, 0x74, + 0x9c, 0x55, 0x8d, 0x29, 0x3c, 0x5b, 0xed, 0x72, 0xff, 0x65, 0xc1, 0xaa, 0xd4, 0xf3, 0xad, 0x60, + 0x70, 0xfa, 0x02, 0x17, 0xff, 0x10, 0x56, 0x4e, 0x85, 0x05, 0x9c, 0x9a, 0xa3, 0x6c, 0x97, 0xa4, + 0x67, 0x5c, 0xfe, 0xbf, 0x2d, 0x58, 0x93, 0x8a, 0x1e, 0x90, 0xb3, 0xe0, 0x45, 0x06, 0xeb, 0x21, + 0x74, 0x02, 0x69, 0xc2, 0x9c, 0x00, 0x94, 0xc5, 0x67, 0x44, 0xe0, 0xf7, 0x16, 0x74, 0xa4, 0xa6, + 0x3b, 0x24, 0xc1, 0xf1, 0xdc, 0xeb, 0xbf, 0x0f, 0x2d, 0x4c, 0x92, 0x18, 0x91, 0x79, 0x2a, 0xa4, + 0x2e, 0x3a, 0x63, 0x91, 0x7c, 0xdf, 0x02, 0x47, 0xa8, 0xda, 0x0f, 0xd8, 0x28, 0x60, 0xec, 0x05, + 0xba, 0x6e, 0x36, 0x83, 0x4f, 0x61, 0x4d, 0xde, 0x39, 0x68, 0x25, 0x92, 0x37, 0xdf, 0xc8, 0x97, + 0xfd, 0xb4, 0x25, 0x84, 0x32, 0xd2, 0xbc, 0x4d, 0x52, 0x0f, 0x06, 0xc5, 0x6d, 0xd2, 0x0d, 0x00, + 0xe4, 0xfb, 0xef, 0xd2, 0xd8, 0x0f, 0x48, 0xb6, 0xdf, 0x69, 0x1c, 0xf7, 0x6d, 0x58, 0xe6, 0xed, + 0xff, 0x63, 0xed, 0xf6, 0xe0, 0xc2, 0xfb, 0x0d, 0xfd, 0xe6, 0xc1, 0x36, 0x6f, 0x1e, 0xdc, 0xef, + 0xc3, 0xc7, 0x2b, 0x86, 0x0b, 0xac, 0xf7, 0xe4, 0xa5, 0x48, 0x36, 0x89, 0x82, 0xfc, 0xd3, 0x13, + 0xd0, 0xd3, 0x6d, 0xf1, 0x0c, 0x21, 0xf7, 0x47, 0x16, 0xbc, 0x5a, 0x51, 0xbf, 0x13, 0x45, 0x31, + 0x3d, 0x53, 0x2e, 0xbd, 0x8a, 0x69, 0xcc, 0xbd, 0xc0, 0x2e, 0xef, 0x05, 0x13, 0x8d, 0x30, 0xf6, + 0xaf, 0x8f, 0xc0, 0x88, 0xdf, 0x58, 0xd0, 0x51, 0x46, 0xf8, 0xbe, 0x9a, 0xf6, 0x2b, 0xd0, 0x90, + 0x17, 0xaa, 0x6a, 0xc2, 0x57, 0x27, 0x4e, 0x98, 0x5d, 0x04, 0x7b, 0x6a, 0x70, 0x35, 0x22, 0xed, + 0x49, 0x7d, 0xeb, 0xd7, 0xf2, 0xb8, 0x9f, 0xf9, 0xca, 0x53, 0x09, 0xb8, 0xdf, 0xc9, 0x82, 0x79, + 0x1f, 0x87, 0xf8, 0x2a, 0x31, 0x72, 0x9f, 0xc0, 0x8a, 0xb8, 0xdd, 0x2d, 0x30, 0xb8, 0x12, 0xb5, + 0xef, 0xc2, 0xaa, 0x50, 0x7b, 0xe5, 0xf6, 0xe6, 0xd9, 0xc1, 0xf1, 0xd9, 0x3b, 0x41, 0x64, 0x78, + 0x95, 0xda, 0xbf, 0x08, 0xeb, 0x19, 0xf6, 0x4f, 0x22, 0x3f, 0x3f, 0x53, 0x4d, 0xb9, 0x49, 0x72, + 0xbf, 0x04, 0x1b, 0x7b, 0x94, 0x9c, 0xe1, 0x98, 0x09, 0x2f, 0x4b, 0x91, 0x4c, 0xc2, 0x48, 0x7e, + 0x45, 0xb9, 0x7d, 0x58, 0x53, 0x77, 0xa0, 0x87, 0x68, 0x18, 0x10, 0x59, 0x95, 0x6e, 0x00, 0x44, + 0x68, 0x98, 0xbd, 0x81, 0xc8, 0x8b, 0x32, 0x8d, 0xc3, 0xbf, 0xb3, 0x13, 0xfa, 0x4c, 0x7d, 0xb7, + 0xe5, 0xf7, 0x82, 0xe3, 0x7e, 0x1b, 0x1c, 0x0f, 0xb3, 0x88, 0x12, 0x86, 0x35, 0xad, 0x9b, 0xd0, + 0xda, 0x4b, 0xe3, 0x18, 0x13, 0x3e, 0x55, 0xf6, 0x20, 0xa0, 0xb3, 0xb8, 0xde, 0x7e, 0xa1, 0x57, + 0x5e, 0xae, 0x68, 0x1c, 0xf7, 0x97, 0x35, 0x68, 0xf6, 0x83, 0x21, 0x41, 0xa1, 0x87, 0xc7, 0xce, + 0xd7, 0xa1, 0x21, 0xb7, 0x3c, 0x05, 0xed, 0xa4, 0xc3, 0xbe, 0x1c, 0x2d, 0xf7, 0x76, 0x0f, 0x8f, + 0xef, 0x7f, 0xcc, 0x53, 0x32, 0xce, 0x3b, 0xd0, 0x96, 0xbf, 0x1e, 0xc8, 0x23, 0x8c, 0xaa, 0xfd, + 0x9f, 0xbb, 0x44, 0x89, 0x1a, 0x2d, 0x75, 0x99, 0x1a, 0xb8, 0x41, 0x03, 0x44, 0x06, 0xea, 0x19, + 0xf1, 0x22, 0x83, 0xf6, 0xc4, 0x30, 0x65, 0x90, 0x94, 0xe1, 0xd2, 0x48, 0x34, 0xf9, 0xea, 0x99, + 0x65, 0xba, 0xb4, 0x3c, 0x0b, 0x28, 0x69, 0x29, 0xc3, 0xa5, 0x4f, 0x52, 0x32, 0x7c, 0x12, 0xa9, + 0xb3, 0xe7, 0x74, 0xe9, 0xfb, 0x62, 0x98, 0x92, 0x96, 0x32, 0x5c, 0x3a, 0x16, 0xd5, 0x4e, 0x80, + 0x7e, 0x91, 0xb4, 0x2c, 0x8a, 0x4a, 0x5a, 0xca, 0xec, 0x36, 0x61, 0x31, 0x42, 0xe7, 0x21, 0x45, + 0xbe, 0xfb, 0xdb, 0x1a, 0x40, 0x36, 0x90, 0x89, 0x9d, 0xd5, 0x70, 0xd1, 0xd6, 0xa5, 0x2e, 0x8a, + 0xc2, 0x73, 0xcd, 0x49, 0xfd, 0xc9, 0x4e, 0xfa, 0xfc, 0xac, 0x4e, 0x92, 0xda, 0x4a, 0x6e, 0xba, + 0x5d, 0x72, 0xd3, 0xd6, 0xa5, 0x6e, 0x52, 0x46, 0x29, 0x47, 0xdd, 0x2e, 0x39, 0x6a, 0xeb, 0x52, + 0x47, 0x29, 0x79, 0xe5, 0xaa, 0xdb, 0x25, 0x57, 0x6d, 0x5d, 0xea, 0x2a, 0x25, 0xaf, 0x9c, 0x75, + 0xbb, 0xe4, 0xac, 0xad, 0x4b, 0x9d, 0xa5, 0xe4, 0xab, 0xee, 0xfa, 0xc0, 0x86, 0x15, 0x01, 0x99, + 0xbc, 0x68, 0x26, 0xc7, 0x54, 0xdc, 0x27, 0x09, 0xb8, 0xcc, 0x27, 0x35, 0x93, 0xe9, 0x7c, 0x01, + 0xd6, 0x24, 0x43, 0x3d, 0xc1, 0x88, 0x7e, 0xd5, 0xde, 0xac, 0xdd, 0x6c, 0x7a, 0xd5, 0x0f, 0xe2, + 0x6a, 0x30, 0x65, 0x09, 0x1d, 0xed, 0xa3, 0x04, 0x65, 0xdd, 0x4a, 0xc1, 0xd1, 0x2f, 0x6e, 0x17, + 0x2a, 0x8f, 0xf6, 0x31, 0xa5, 0xa3, 0xfc, 0x46, 0x56, 0x51, 0x5c, 0x22, 0x09, 0x46, 0x98, 0xa6, + 0x89, 0x2a, 0x13, 0x19, 0xc9, 0xf7, 0xd8, 0x11, 0xf6, 0x03, 0x24, 0xae, 0x3b, 0xd5, 0x3b, 0x48, + 0xce, 0x10, 0x95, 0xad, 0xb8, 0xbe, 0x55, 0x8f, 0xea, 0x05, 0xe7, 0xf2, 0xab, 0x56, 0xf7, 0x6f, + 0x16, 0xac, 0x1f, 0xa2, 0x38, 0x09, 0x06, 0x41, 0x84, 0x48, 0xd2, 0xc3, 0x09, 0x12, 0x6b, 0x30, + 0xde, 0xd5, 0xac, 0x0f, 0xf7, 0xae, 0x76, 0x08, 0x9d, 0x61, 0xd1, 0x5f, 0x6a, 0x2f, 0x73, 0x33, + 0xf7, 0xfe, 0x25, 0x71, 0xe3, 0x91, 0xb0, 0xf6, 0xa1, 0x1f, 0x09, 0xdd, 0x9f, 0xda, 0xd0, 0x29, + 0x95, 0x4e, 0xde, 0x22, 0xca, 0xcd, 0x3f, 0x8f, 0x89, 0x9c, 0x76, 0x76, 0x00, 0x82, 0x3c, 0x8c, + 0x2e, 0xb8, 0xbc, 0x31, 0x63, 0xcd, 0xd3, 0x84, 0x26, 0xdd, 0xe1, 0xd6, 0xe6, 0xbe, 0xc3, 0xe5, + 0xa7, 0x91, 0xa8, 0x70, 0x92, 0x4a, 0xd4, 0x49, 0x68, 0x4e, 0x70, 0xa5, 0xa7, 0x8b, 0xba, 0xdf, + 0x83, 0xb5, 0x4a, 0x85, 0x12, 0x57, 0xba, 0xf4, 0x14, 0x93, 0xfc, 0x4a, 0x97, 0x13, 0x5a, 0xb0, + 0xda, 0xe5, 0x60, 0x0d, 0x83, 0x33, 0xfd, 0x5f, 0x08, 0x8a, 0x74, 0x7f, 0x66, 0xc3, 0xc6, 0xe4, + 0xdd, 0xe5, 0x65, 0x85, 0xfb, 0x08, 0xba, 0xd3, 0x2a, 0xf9, 0x95, 0xa1, 0x5e, 0x44, 0x77, 0xbe, + 0x0f, 0xbf, 0xac, 0x70, 0xaf, 0x67, 0xd1, 0xad, 0x6d, 0x75, 0xee, 0xef, 0x72, 0x7c, 0xf2, 0x4e, + 0xe3, 0x25, 0xc5, 0xc7, 0x79, 0x1d, 0x56, 0xe5, 0x32, 0xb5, 0x47, 0x3f, 0xd9, 0xb8, 0x56, 0xf8, + 0x45, 0xa5, 0xd0, 0xb6, 0xfd, 0x2b, 0x8b, 0xd9, 0x3f, 0x5a, 0x99, 0x4f, 0xf2, 0xfe, 0xed, 0x7f, + 0xca, 0x27, 0x45, 0xa4, 0x69, 0x4d, 0x8d, 0x16, 0x69, 0x79, 0x5f, 0xf9, 0xff, 0x48, 0xbb, 0x3c, + 0xd2, 0x72, 0x2c, 0xb5, 0x06, 0xcf, 0xfd, 0x21, 0xb4, 0xf7, 0x71, 0xd8, 0x63, 0xc3, 0xec, 0xef, + 0x06, 0x17, 0x01, 0x39, 0xed, 0xcf, 0x90, 0x53, 0xff, 0x68, 0x50, 0xfe, 0x93, 0xc2, 0x42, 0xe5, + 0x4f, 0x0a, 0xee, 0x2e, 0xac, 0xe8, 0x06, 0xcc, 0xf3, 0x6f, 0x8b, 0xdd, 0xeb, 0xdf, 0xbd, 0xb6, + 0xfd, 0x86, 0xfc, 0xdb, 0xed, 0x5b, 0x15, 0x10, 0x8f, 0x1a, 0xe2, 0x6f, 0xb8, 0x5f, 0xfe, 0x4f, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xd9, 0x1a, 0xc5, 0xce, 0x99, 0x2b, 0x00, 0x00, } diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 5c54da954..71b65611f 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -32,6 +32,7 @@ message GroupMemberFullInfo { int32 joinSource = 8; string operatorUserID = 9; string ex = 10; + uint32 muteEndTime = 11; } message PublicUserInfo{ From 1286f9dcb6fe5ee1893de7ae2f36a543cd55a4d8 Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Tue, 29 Mar 2022 09:34:45 +0800 Subject: [PATCH 129/129] mute group --- cmd/Open-IM-SDK-Core | 2 +- internal/rpc/group/group.go | 47 +++++++++++++++++++ .../im_mysql_model/group_member_model.go | 11 +++++ .../mysql_model/im_mysql_model/group_model.go | 22 +++++---- pkg/common/utils/utils.go | 1 + 5 files changed, 74 insertions(+), 9 deletions(-) diff --git a/cmd/Open-IM-SDK-Core b/cmd/Open-IM-SDK-Core index a6e91454f..65f2ba789 160000 --- a/cmd/Open-IM-SDK-Core +++ b/cmd/Open-IM-SDK-Core @@ -1 +1 @@ -Subproject commit a6e91454f2cd72d7229f3b2d884d812d5fde1694 +Subproject commit 65f2ba78952e72f3f07590634e4e3e38897ead1e diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index fb90ef7c5..6d9b9d910 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -961,3 +961,50 @@ func (s *groupServer) DismissGroup(ctx context.Context, req *pbGroup.DismissGrou log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc return ", pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}) return &pbGroup.DismissGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil } + +// rpc MuteGroupMember(MuteGroupMemberReq) returns(MuteGroupMemberResp); +// rpc CancelMuteGroupMember(CancelMuteGroupMemberReq) returns(CancelMuteGroupMemberResp); +// rpc MuteGroup(MuteGroupReq) returns(MuteGroupResp); +// rpc CancelMuteGroup(CancelMuteGroupReq) returns(CancelMuteGroupResp); + +func (s *groupServer) MuteGroupMember(ctx context.Context, req *pbGroup.MuteGroupMemberReq) (*pbGroup.MuteGroupMemberResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc args ", req.String()) + if !imdb.IsGroupOwnerAdmin(req.GroupID, req.UserID) && !token_verify.IsMangerUserID(req.OpUserID) { + log.Error(req.OperationID, "verify failed ", req.OpUserID, req.GroupID) + return &pbGroup.MuteGroupMemberResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}}, nil + } + groupMemberInfo := db.GroupMember{GroupID: req.GroupID, UserID: req.UserID} + groupMemberInfo.MuteEndTime = time.Unix(int64(time.Now().Second())+int64(req.MutedSeconds), 0) + err := imdb.UpdateGroupMemberInfo(groupMemberInfo) + if err != nil { + log.Error(req.OperationID, "UpdateGroupMemberInfo failed ", err.Error(), groupMemberInfo) + return &pbGroup.MuteGroupMemberResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc return ", pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}) + return &pbGroup.MuteGroupMemberResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil +} + +func (s *groupServer) CancelMuteGroupMember(ctx context.Context, req *pbGroup.CancelMuteGroupMemberReq) (*pbGroup.CancelMuteGroupMemberResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc args ", req.String()) + if !imdb.IsGroupOwnerAdmin(req.GroupID, req.UserID) && !token_verify.IsMangerUserID(req.OpUserID) { + log.Error(req.OperationID, "verify failed ", req.OpUserID, req.GroupID) + return &pbGroup.CancelMuteGroupMemberResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}}, nil + } + groupMemberInfo := db.GroupMember{GroupID: req.GroupID, UserID: req.UserID} + groupMemberInfo.MuteEndTime = time.Unix(0, 0) + err := imdb.UpdateGroupMemberInfo(groupMemberInfo) + if err != nil { + log.Error(req.OperationID, "UpdateGroupMemberInfo failed ", err.Error(), groupMemberInfo) + return &pbGroup.CancelMuteGroupMemberResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc return ", pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}) + return &pbGroup.CancelMuteGroupMemberResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil +} + +func (s *groupServer) MuteGroup(ctx context.Context, req *pbGroup.MuteGroupReq) (*pbGroup.MuteGroupResp, error) { + return nil, nil +} + +func (s *groupServer) CancelMuteGroup(ctx context.Context, req *pbGroup.CancelMuteGroupReq) (*pbGroup.CancelMuteGroupResp, error) { + return nil, nil +} diff --git a/pkg/common/db/mysql_model/im_mysql_model/group_member_model.go b/pkg/common/db/mysql_model/im_mysql_model/group_member_model.go index f944f0396..a8fe5ed56 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/group_member_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/group_member_model.go @@ -30,6 +30,9 @@ func InsertIntoGroupMember(toInsertInfo db.GroupMember) error { if toInsertInfo.RoleLevel == 0 { toInsertInfo.RoleLevel = constant.GroupOrdinaryUsers } + if toInsertInfo.MuteEndTime.Unix() == 0 { + toInsertInfo.MuteEndTime = time.Unix(0, 0) + } err = dbConn.Table("group_members").Create(toInsertInfo).Error if err != nil { return err @@ -267,6 +270,14 @@ func GetGroupMembersCount(groupId, userName string) (int32, error) { return count, nil } +func UpdateGroupMemberInfoDefaultZero(groupMemberInfo db.GroupMember, args map[string]interface{}) error { + dbConn, err := db.DB.MysqlDB.DefaultGormDB() + if err != nil { + return err + } + return dbConn.Model(groupMemberInfo).Updates(args).Error +} + // //func SelectGroupList(groupID string) ([]string, error) { // var groupUserID string diff --git a/pkg/common/db/mysql_model/im_mysql_model/group_model.go b/pkg/common/db/mysql_model/im_mysql_model/group_model.go index 587e3672e..2d1d0e4db 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/group_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/group_model.go @@ -57,7 +57,6 @@ func SetGroupInfo(groupInfo db.Group) error { if err != nil { return err } - dbConn.LogMode(true) err = dbConn.Table("groups").Where("group_id=?", groupInfo.GroupID).Update(&groupInfo).Error return err } @@ -68,7 +67,7 @@ func GetGroupsByName(groupName string, pageNumber, showNumber int32) ([]db.Group if err != nil { return groups, err } - dbConn.LogMode(true) + err = dbConn.Table("groups").Where(fmt.Sprintf(" name like '%%%s%%' ", groupName)).Limit(showNumber).Offset(showNumber * (pageNumber - 1)).Find(&groups).Error return groups, err } @@ -79,7 +78,7 @@ func GetGroups(pageNumber, showNumber int) ([]db.Group, error) { if err != nil { return groups, err } - dbConn.LogMode(true) + if err = dbConn.Table("groups").Limit(showNumber).Offset(showNumber * (pageNumber - 1)).Find(&groups).Error; err != nil { return groups, err } @@ -102,7 +101,7 @@ func DeleteGroup(groupId string) error { if err != nil { return err } - dbConn.LogMode(true) + var group db.Group var groupMembers []db.GroupMember if err := dbConn.Table("groups").Where("group_id=?", groupId).Delete(&group).Error; err != nil { @@ -119,7 +118,6 @@ func OperateGroupRole(userId, groupId string, roleLevel int32) (string, string, if err != nil { return "", "", err } - dbConn.LogMode(true) groupMember := db.GroupMember{ UserID: userId, GroupID: groupId, @@ -182,7 +180,7 @@ func GetGroupsCountNum(group db.Group) (int32, error) { if err != nil { return 0, err } - dbConn.LogMode(true) + var count int32 if err := dbConn.Table("groups").Where(fmt.Sprintf(" name like '%%%s%%' ", group.GroupName)).Count(&count).Error; err != nil { return 0, err @@ -198,7 +196,7 @@ func GetGroupById(groupId string) (db.Group, error) { if err != nil { return group, err } - dbConn.LogMode(true) + if err := dbConn.Table("groups").Find(&group).Error; err != nil { return group, err } @@ -211,9 +209,17 @@ func GetGroupMaster(groupId string) (db.GroupMember, error) { if err != nil { return groupMember, err } - dbConn.LogMode(true) + if err := dbConn.Table("group_members").Where("role_level=? and group_id=?", constant.GroupOwner, groupId).Find(&groupMember).Error; err != nil { return groupMember, err } return groupMember, nil } + +func UpdateGroupInfoDefaultZero(groupInfo db.Group, args map[string]interface{}) error { + dbConn, err := db.DB.MysqlDB.DefaultGormDB() + if err != nil { + return err + } + return dbConn.Model(groupInfo).Updates(args).Error +} diff --git a/pkg/common/utils/utils.go b/pkg/common/utils/utils.go index 8e7346cc1..bbd546225 100644 --- a/pkg/common/utils/utils.go +++ b/pkg/common/utils/utils.go @@ -118,6 +118,7 @@ func GroupMemberDBCopyOpenIM(dst *open_im_sdk.GroupMemberFullInfo, src *db.Group dst.AppMangerLevel = 1 } dst.JoinTime = int32(src.JoinTime.Unix()) + dst.MuteEndTime = uint32(src.JoinTime.Unix()) return nil }