diff --git a/common/constant.go b/common/constant.go index 44d335d..ec91584 100644 --- a/common/constant.go +++ b/common/constant.go @@ -268,6 +268,10 @@ const ( GainWayItemWeekActive = 82 //周活跃奖励 GainWayContinueSign = 83 //累计签到 GainWayBackend = 84 // 后台操作 + GainWayBuyCoin = 85 // 商城购买金币 + GainWayBuyItem = 86 // 商城购买道具 + GainWayBuyWeekCard = 87 // 商城购买周卡 + GainWayVipBuyCoin = 88 // vip商城购买金币 ) // 后台选择 金币变化类型 的充值 类型id号起始 @@ -753,3 +757,8 @@ const ( ChannelSwitchExchange = 1 ChannelSwitchDropItem = 2 ) + +// 特殊商品id +const ( + ShopIdWeekCard = 970001 // 周卡 +) diff --git a/data/gameparam.json b/data/gameparam.json index 818194c..b0d94cd 100644 --- a/data/gameparam.json +++ b/data/gameparam.json @@ -1,5 +1,5 @@ { - "NewPlayerCoin":1000000, + "NewPlayerCoin":100000000, "UpgradeAccountGiveCoin":0, "LogBatchWriteCount":1024, "LogBatchWriteInterval":1, @@ -22,5 +22,6 @@ "RobotInviteIntervalMax": 1, "ClosePreCreateRoom": true, "AgoraAddress": "http://47.105.78.29:8081", - "InviteUrl": "http://47.105.78.29:8000/" + "InviteUrl": "http://47.105.78.29:8000/", + "RankTimeout": 5 } \ No newline at end of file diff --git a/dbproxy/mq/c_invite.go b/dbproxy/mq/c_invite.go index 17254c2..053ed4b 100644 --- a/dbproxy/mq/c_invite.go +++ b/dbproxy/mq/c_invite.go @@ -13,6 +13,7 @@ import ( "mongo.games.com/game/dbproxy/svc" "mongo.games.com/game/model" "mongo.games.com/game/mq" + rankproto "mongo.games.com/game/protocol/rank" ) var InviteNumCache = cache.NewMemoryCache() @@ -44,7 +45,7 @@ func init() { if n > 0 { n++ } else { - n, err = svc.GetInviteNum(log.Platform, log.InviteSnId) + n, err = svc.GetInviteNum(log.Platform, log.InviteSnId, int32(rankproto.RankInvite_InviteType_Total)) if err != nil { logger.Logger.Errorf("BindInviteSnId error:%v", err) return err diff --git a/dbproxy/svc/l_coinlog.go b/dbproxy/svc/l_coinlog.go index 619fe04..25e7811 100644 --- a/dbproxy/svc/l_coinlog.go +++ b/dbproxy/svc/l_coinlog.go @@ -31,6 +31,8 @@ func CoinLogsCollection(plt string) *mongo.Collection { c_coinlogrec.EnsureIndex(mgo.Index{Key: []string{"gamefreeid"}, Background: true, Sparse: true}) c_coinlogrec.EnsureIndex(mgo.Index{Key: []string{"cointype"}, Background: true, Sparse: true}) c_coinlogrec.EnsureIndex(mgo.Index{Key: []string{"ts"}, Background: true, Sparse: true}) + c_coinlogrec.EnsureIndex(mgo.Index{Key: []string{"channel"}, Background: true, Sparse: true}) + c_coinlogrec.EnsureIndex(mgo.Index{Key: []string{"-ts", "logtype", "cointype", "channel"}, Background: true, Sparse: true}) } return c_coinlogrec } diff --git a/dbproxy/svc/l_gamedetailed.go b/dbproxy/svc/l_gamedetailed.go index 0b248ec..7ed14c7 100644 --- a/dbproxy/svc/l_gamedetailed.go +++ b/dbproxy/svc/l_gamedetailed.go @@ -18,11 +18,16 @@ func GameDetailedLogsCollection(plt string) *mongo.Collection { if s != nil { c_gamedetailed, first := s.DB().C(model.GameDetailedLogCollName) if first { + c_gamedetailed.EnsureIndex(mgo.Index{Key: []string{"platform"}, Background: true, Sparse: true}) // 兼容老代码 c_gamedetailed.EnsureIndex(mgo.Index{Key: []string{"gameid"}, Background: true, Sparse: true}) c_gamedetailed.EnsureIndex(mgo.Index{Key: []string{"gamefreeid"}, Background: true, Sparse: true}) c_gamedetailed.EnsureIndex(mgo.Index{Key: []string{"logid"}, Background: true, Sparse: true}) c_gamedetailed.EnsureIndex(mgo.Index{Key: []string{"time"}, Background: true, Sparse: true}) + c_gamedetailed.EnsureIndex(mgo.Index{Key: []string{"-time"}, Background: true, Sparse: true}) c_gamedetailed.EnsureIndex(mgo.Index{Key: []string{"ts"}, Background: true, Sparse: true}) + c_gamedetailed.EnsureIndex(mgo.Index{Key: []string{"matchid"}, Background: true, Sparse: true}) + c_gamedetailed.EnsureIndex(mgo.Index{Key: []string{"-ts", "gameid"}, Background: true, Sparse: true}) + c_gamedetailed.EnsureIndex(mgo.Index{Key: []string{"-ts", "gamefreeid"}, Background: true, Sparse: true}) } return c_gamedetailed } diff --git a/dbproxy/svc/l_gameplayerlistlog.go b/dbproxy/svc/l_gameplayerlistlog.go index ee7b23b..e897ad8 100644 --- a/dbproxy/svc/l_gameplayerlistlog.go +++ b/dbproxy/svc/l_gameplayerlistlog.go @@ -21,6 +21,7 @@ func GamePlayerListLogsCollection(plt string) *mongo.Collection { if s != nil { c_gameplayerlistlog, first := s.DB().C(model.GamePlayerListLogCollName) if first { + c_gameplayerlistlog.EnsureIndex(mgo.Index{Key: []string{"platform"}, Background: true, Sparse: true}) // 兼容老代码 c_gameplayerlistlog.EnsureIndex(mgo.Index{Key: []string{"snid"}, Background: true, Sparse: true}) c_gameplayerlistlog.EnsureIndex(mgo.Index{Key: []string{"channel"}, Background: true, Sparse: true}) c_gameplayerlistlog.EnsureIndex(mgo.Index{Key: []string{"promoter"}, Background: true, Sparse: true}) @@ -32,7 +33,14 @@ func GamePlayerListLogsCollection(plt string) *mongo.Collection { c_gameplayerlistlog.EnsureIndex(mgo.Index{Key: []string{"gamedetailedlogid"}, Background: true, Sparse: true}) c_gameplayerlistlog.EnsureIndex(mgo.Index{Key: []string{"ts"}, Background: true, Sparse: true}) c_gameplayerlistlog.EnsureIndex(mgo.Index{Key: []string{"time"}, Background: true, Sparse: true}) + c_gameplayerlistlog.EnsureIndex(mgo.Index{Key: []string{"-time"}, Background: true, Sparse: true}) c_gameplayerlistlog.EnsureIndex(mgo.Index{Key: []string{"name"}, Background: true, Sparse: true}) + c_gameplayerlistlog.EnsureIndex(mgo.Index{Key: []string{"matchid"}, Background: true, Sparse: true}) + c_gameplayerlistlog.EnsureIndex(mgo.Index{Key: []string{"matchtype"}, Background: true, Sparse: true}) + c_gameplayerlistlog.EnsureIndex(mgo.Index{Key: []string{"-ts", "gameid"}, Background: true, Sparse: true}) + c_gameplayerlistlog.EnsureIndex(mgo.Index{Key: []string{"-ts", "gamefreeid"}, Background: true, Sparse: true}) + c_gameplayerlistlog.EnsureIndex(mgo.Index{Key: []string{"-ts", "snid", "gameid"}, Background: true, Sparse: true}) + c_gameplayerlistlog.EnsureIndex(mgo.Index{Key: []string{"-ts", "snid", "gamefreeid"}, Background: true, Sparse: true}) } return c_gameplayerlistlog } diff --git a/dbproxy/svc/l_itemlog.go b/dbproxy/svc/l_itemlog.go index 23f8225..941fe85 100644 --- a/dbproxy/svc/l_itemlog.go +++ b/dbproxy/svc/l_itemlog.go @@ -14,7 +14,13 @@ func ItemLogsCollection(plt string) *mongo.Collection { c_itemlog, first := s.DB().C(model.ItemLogCollName) if first { c_itemlog.EnsureIndex(mgo.Index{Key: []string{"snid"}, Background: true, Sparse: true}) - c_itemlog.EnsureIndex(mgo.Index{Key: []string{"platform"}, Background: true, Sparse: true}) + c_itemlog.EnsureIndex(mgo.Index{Key: []string{"logtype"}, Background: true, Sparse: true}) + c_itemlog.EnsureIndex(mgo.Index{Key: []string{"itemid"}, Background: true, Sparse: true}) + c_itemlog.EnsureIndex(mgo.Index{Key: []string{"createts"}, Background: true, Sparse: true}) + c_itemlog.EnsureIndex(mgo.Index{Key: []string{"-createts"}, Background: true, Sparse: true}) + c_itemlog.EnsureIndex(mgo.Index{Key: []string{"typeid"}, Background: true, Sparse: true}) + c_itemlog.EnsureIndex(mgo.Index{Key: []string{"gameid"}, Background: true, Sparse: true}) + c_itemlog.EnsureIndex(mgo.Index{Key: []string{"gamefreeid"}, Background: true, Sparse: true}) } return c_itemlog } diff --git a/dbproxy/svc/l_matchlog.go b/dbproxy/svc/l_matchlog.go index 1fedaee..c8f59da 100644 --- a/dbproxy/svc/l_matchlog.go +++ b/dbproxy/svc/l_matchlog.go @@ -22,6 +22,12 @@ func MatchLogCollection(plt string) *mongo.Collection { c, first := s.DB().C(model.MatchLogCollName) if first { c.EnsureIndex(mgo.Index{Key: []string{"gamefreeid"}, Background: true, Sparse: true}) + c.EnsureIndex(mgo.Index{Key: []string{"matchid"}, Background: true, Sparse: true}) + c.EnsureIndex(mgo.Index{Key: []string{"starttime"}, Background: true, Sparse: true}) + c.EnsureIndex(mgo.Index{Key: []string{"-starttime"}, Background: true, Sparse: true}) + c.EnsureIndex(mgo.Index{Key: []string{"endtime"}, Background: true, Sparse: true}) + c.EnsureIndex(mgo.Index{Key: []string{"-endtime"}, Background: true, Sparse: true}) + c.EnsureIndex(mgo.Index{Key: []string{"sortid"}, Background: true, Sparse: true}) } return c } diff --git a/dbproxy/svc/u_invitescore.go b/dbproxy/svc/u_invitescore.go index 2684de5..c8eca1f 100644 --- a/dbproxy/svc/u_invitescore.go +++ b/dbproxy/svc/u_invitescore.go @@ -30,6 +30,9 @@ func InviteScoreCollection(plt string) *mongo.Collection { c.EnsureIndex(mgo.Index{Key: []string{"invitesnid"}, Background: true, Sparse: true}) c.EnsureIndex(mgo.Index{Key: []string{"tp"}, Background: true, Sparse: true}) c.EnsureIndex(mgo.Index{Key: []string{"ts"}, Background: true, Sparse: true}) + c.EnsureIndex(mgo.Index{Key: []string{"-ts"}, Background: true, Sparse: true}) + c.EnsureIndex(mgo.Index{Key: []string{"weekindex"}, Background: true, Sparse: true}) + c.EnsureIndex(mgo.Index{Key: []string{"monthindex"}, Background: true, Sparse: true}) } return c } @@ -136,6 +139,25 @@ func (b *BindScoreSvc) SaveInviteScore(req *model.InviteScore, ret *bool) error return InviteScoreColError } + ts := req.Ts + if req.Tp != common.InviteScoreTypeBind { + a := &model.InviteScore{} + err = c.Find(bson.M{"snid": req.SnId, "tp": common.InviteScoreTypeBind}).One(a) + if err != nil && !errors.Is(err, mgo.ErrNotFound) { + logger.Logger.Errorf("GetInviteScore Find BindTime error:%v", err) + return err + } + ts = a.Ts + } + + bindTime := time.Unix(0, ts).Local() + year, month, day := bindTime.Date() + today := time.Date(year, month, day, 0, 0, 0, 0, time.Local) + // 本周起始日期(周日) + req.WeekIndex = today.AddDate(0, 0, -int(today.Weekday())).Unix() + // 本月起始日期 + req.MonthIndex = time.Date(year, month, 1, 0, 0, 0, 0, time.Local).Unix() + err = c.Insert(req) if err != nil { logger.Logger.Errorf("SaveInviteScore Insert error:%v", err) @@ -158,19 +180,21 @@ func (b *BindScoreSvc) GetInviteRankList(req *model.FindPlayerRankInviteListArgs return InviteScoreColError } - NowTime := time.Now().Local() - endTime := NowTime.UnixNano() - startTime := NowTime.AddDate(-100, 0, 0).UnixNano() - - year, month, day := NowTime.Date() + matchParam := bson.M{ + "score": bson.M{"$gt": 0}, + } + now := time.Now().Local() + startTime := now.AddDate(-100, 0, 0).UnixNano() + year, month, day := now.Date() today := time.Date(year, month, day, 0, 0, 0, 0, time.Local) if req.RankType == int32(rankproto.RankInvite_InviteType_Week) { // 本周起始日期(周日) - startTime = today.AddDate(0, 0, -int(today.Weekday())).UnixNano() + matchParam["weekindex"] = today.AddDate(0, 0, -int(today.Weekday())).Unix() } else if req.RankType == int32(rankproto.RankInvite_InviteType_Month) { // 本月起始日期 - startTime = time.Date(year, month, 1, 0, 0, 0, 0, time.Local).UnixNano() - //startTime = NowTime.AddDate(0, 0, -NowTime.Day()+1).UnixNano() + matchParam["monthindex"] = time.Date(year, month, 1, 0, 0, 0, 0, time.Local).Unix() + } else { + matchParam["ts"] = bson.M{"$gte": startTime, "$lte": now.UnixNano()} } type M struct { @@ -180,10 +204,7 @@ func (b *BindScoreSvc) GetInviteRankList(req *model.FindPlayerRankInviteListArgs var tc []M err := c.Pipe([]bson.M{ - {"$match": bson.M{ - "score": bson.M{"$gt": 0}, - "ts": bson.M{"$gte": startTime, "$lte": endTime}, - }}, + {"$match": matchParam}, {"$group": bson.M{ "_id": bson.M{ "invitesnid": "$invitesnid", @@ -249,7 +270,7 @@ func (b *BindScoreSvc) GetInviteRankList(req *model.FindPlayerRankInviteListArgs } RankInvite.ModId = int32(roleId) - RankInvite.InviteNum, _ = GetInviteNum(req.Platform, inviteInfo.InviteSnId) + RankInvite.InviteNum, _ = GetInviteNum(req.Platform, inviteInfo.InviteSnId, req.RankType) ret.List = append(ret.List, &RankInvite) break @@ -262,6 +283,86 @@ func (b *BindScoreSvc) GetInviteRankList(req *model.FindPlayerRankInviteListArgs return nil } +func (b *BindScoreSvc) GetInviteScoreByType(req *model.FindPlayerRankInviteScoreArgs, ret *model.FindPlayerRankInviteScoreReply) error { + c := InviteScoreCollection(req.Platform) + if c == nil { + return InviteScoreColError + } + + matchParam := bson.M{ + "invitesnid": req.SnId, + "score": bson.M{"$gt": 0}, + } + now := time.Now().Local() + startTime := now.AddDate(-100, 0, 0).UnixNano() + year, month, day := now.Date() + today := time.Date(year, month, day, 0, 0, 0, 0, time.Local) + if req.RankType == int32(rankproto.RankInvite_InviteType_Week) { + // 本周起始日期(周日) + matchParam["weekindex"] = today.AddDate(0, 0, -int(today.Weekday())).Unix() + } else if req.RankType == int32(rankproto.RankInvite_InviteType_Month) { + // 本月起始日期 + matchParam["monthindex"] = time.Date(year, month, 1, 0, 0, 0, 0, time.Local).Unix() + } else { + matchParam["ts"] = bson.M{"$gte": startTime, "$lte": now.UnixNano()} + } + + type M struct { + InviteSnId int32 // 邀请人id + Score int64 // 积分 + } + + var tc []M + err := c.Pipe([]bson.M{ + {"$match": matchParam}, + {"$group": bson.M{ + "_id": nil, + "invitesnid": bson.M{"$first": "$invitesnid"}, + "score": bson.M{"$sum": "$score"}, + }}, + }).AllowDiskUse().All(&tc) + if err != nil { + logger.Logger.Error("GetInviteScoreByType z AllowDiskUse is error", err) + return err + } + + type PInfo struct { + SnId int32 + Name string // 昵称 + Roles *model.RolePetInfo + } + + var retPlayer PInfo + u := PlayerDataCollection(req.Platform) + if u == nil { + return err + } + err = u.Find(bson.M{"snid": req.SnId}).Select(bson.M{"snid": 1, "name": 1, "roles": 1}).One(&retPlayer) + if err != nil { + logger.Logger.Error("svc.GetInviteScoreByType is error", err) + return nil + } + + var rankInvite model.PlayerRankInvite + rankInvite.Name = retPlayer.Name + if len(tc) > 0 { + rankInvite.Score = tc[0].Score + } + rankInvite.SnId = req.SnId + // 头像模型ID + roleId := common.DefaultRoleId + if retPlayer.Roles != nil { + roleId = int(retPlayer.Roles.ModId) + } + rankInvite.ModId = int32(roleId) + rankInvite.InviteNum, _ = GetInviteNum(req.Platform, req.SnId, req.RankType) + ret.Data = rankInvite + + ret.RankType = req.RankType + + return nil +} + func (b *BindScoreSvc) GetInviteList(req *model.InviteLisArgs, ret *model.InviteListRet) error { c := InviteScoreCollection(req.Platform) if c == nil { diff --git a/dbproxy/svc/u_message.go b/dbproxy/svc/u_message.go index 74f713f..c2cc8ec 100644 --- a/dbproxy/svc/u_message.go +++ b/dbproxy/svc/u_message.go @@ -18,6 +18,10 @@ func MessageCollection(plt string) *mongo.Collection { if first { c.EnsureIndex(mgo.Index{Key: []string{"snid"}, Background: true, Sparse: true}) c.EnsureIndex(mgo.Index{Key: []string{"state"}, Background: true, Sparse: true}) + c.EnsureIndex(mgo.Index{Key: []string{"mtype"}, Background: true, Sparse: true}) + c.EnsureIndex(mgo.Index{Key: []string{"srcid"}, Background: true, Sparse: true}) + c.EnsureIndex(mgo.Index{Key: []string{"-creatts"}, Background: true, Sparse: true}) + c.EnsureIndex(mgo.Index{Key: []string{"creatts"}, Background: true, Sparse: true}) } return c } diff --git a/dbproxy/svc/u_player.go b/dbproxy/svc/u_player.go index 4d001ad..360a28c 100644 --- a/dbproxy/svc/u_player.go +++ b/dbproxy/svc/u_player.go @@ -12,13 +12,16 @@ import ( "time" "mongo.games.com/goserver/core/basic" + "mongo.games.com/goserver/core/logger" "mongo.games.com/goserver/core/task" "github.com/globalsign/mgo" "github.com/globalsign/mgo/bson" + + "mongo.games.com/game/common" "mongo.games.com/game/dbproxy/mongo" "mongo.games.com/game/model" - "mongo.games.com/goserver/core/logger" + rankproto "mongo.games.com/game/protocol/rank" ) var ( @@ -37,13 +40,12 @@ func PlayerDataCollection(plt string) *mongo.Collection { c_playerdata.EnsureIndex(mgo.Index{Key: []string{"snid"}, Unique: true, Background: true, Sparse: true}) c_playerdata.EnsureIndex(mgo.Index{Key: []string{"channel"}, Background: true, Sparse: true}) c_playerdata.EnsureIndex(mgo.Index{Key: []string{"tel"}, Background: true, Sparse: true}) - c_playerdata.EnsureIndex(mgo.Index{Key: []string{"bankaccount"}, Background: true, Sparse: true}) - c_playerdata.EnsureIndex(mgo.Index{Key: []string{"alipayaccount"}, Background: true, Sparse: true}) - c_playerdata.EnsureIndex(mgo.Index{Key: []string{"alipayaccname"}, Background: true, Sparse: true}) - c_playerdata.EnsureIndex(mgo.Index{Key: []string{"bankaccname"}, Background: true, Sparse: true}) c_playerdata.EnsureIndex(mgo.Index{Key: []string{"invitecode"}, Background: true, Sparse: true}) c_playerdata.EnsureIndex(mgo.Index{Key: []string{"invitesnid"}, Background: true, Sparse: true}) c_playerdata.EnsureIndex(mgo.Index{Key: []string{"name"}, Background: true, Sparse: true}) + c_playerdata.EnsureIndex(mgo.Index{Key: []string{"createtime"}, Background: true, Sparse: true}) + c_playerdata.EnsureIndex(mgo.Index{Key: []string{"-createtime"}, Background: true, Sparse: true}) + c_playerdata.EnsureIndex(mgo.Index{Key: []string{"othercode"}, Background: true, Sparse: true}) } return c_playerdata } @@ -1509,7 +1511,7 @@ func (svc *PlayerDataSvc) GetPlayerInviteSnid(req *model.PlayerIsExistBySnIdArgs } func (svc *PlayerDataSvc) GetInviteNum(req *model.PlayerIsExistBySnIdArgs, resp *int32) error { - n, err := GetInviteNum(req.Plt, req.SnId) + n, err := GetInviteNum(req.Plt, req.SnId, int32(rankproto.RankInvite_InviteType_Total)) if err != nil { return err } @@ -1517,15 +1519,43 @@ func (svc *PlayerDataSvc) GetInviteNum(req *model.PlayerIsExistBySnIdArgs, resp return nil } -func GetInviteNum(platform string, snId int32) (int32, error) { - c := PlayerDataCollection(platform) - if c == nil { - return 0, PlayerColError - } +func GetInviteNum(platform string, snId int32, rankType int32) (int32, error) { + var err error + var n int + switch rankType { + case int32(rankproto.RankInvite_InviteType_Week), int32(rankproto.RankInvite_InviteType_Month): + matchParam := bson.M{ + "invitesnid": snId, + "tp": common.InviteScoreTypeBind, + } + now := time.Now().Local() + year, month, day := now.Date() + today := time.Date(year, month, day, 0, 0, 0, 0, time.Local) + if rankType == int32(rankproto.RankInvite_InviteType_Week) { + // 本周起始日期(周日) + matchParam["weekindex"] = today.AddDate(0, 0, -int(today.Weekday())).Unix() + } else if rankType == int32(rankproto.RankInvite_InviteType_Month) { + // 本月起始日期 + matchParam["monthindex"] = time.Date(year, month, 1, 0, 0, 0, 0, time.Local).Unix() + } + c := InviteScoreCollection(platform) + if c == nil { + return 0, InviteScoreColError + } + n, err = c.Find(matchParam).Count() + if err != nil { + return 0, err + } - n, err := c.Find(bson.M{"invitesnid": snId}).Count() - if err != nil { - return 0, err + default: + c := PlayerDataCollection(platform) + if c == nil { + return 0, PlayerColError + } + n, err = c.Find(bson.M{"invitesnid": snId}).Count() + if err != nil { + return 0, err + } } return int32(n), nil diff --git a/etcd/keyconf.go b/etcd/keyconf.go index 60ee15b..51c1434 100644 --- a/etcd/keyconf.go +++ b/etcd/keyconf.go @@ -17,6 +17,7 @@ const ( ETCDKEY_GAME_NOTICE = "/game/common_notice" ETCDKEY_SHOP_ITEM = "/game/item_shop" ETCDKEY_GAME_MATCH = "/game/game_match" + ETCDKEY_GAME_MATCH_TYPE = "/game/match_type" ETCDKEY_ACT_TURNPLATE = "/game/act_turnplate" ETCDKEY_ACT_7SIGN = "/game/act_7sign" ETCDKEY_ACT_BLINDBOX = "/game/act_blindbox" diff --git a/gamesrv/base/player.go b/gamesrv/base/player.go index d26b98c..34a2a30 100644 --- a/gamesrv/base/player.go +++ b/gamesrv/base/player.go @@ -445,6 +445,7 @@ func (this *Player) AddCoin(num int64, gainWay int32, syncFlag int, oper, remark log := model.NewCoinLogEx(&model.CoinLogParam{ Platform: this.Platform, SnID: this.SnId, + Channel: this.Channel, ChangeType: common.BillTypeCoin, ChangeNum: num, RemainNum: this.Coin, @@ -529,6 +530,7 @@ func (this *Player) AddCoinAsync(num int64, gainWay int32, notifyC, broadcast bo log := model.NewCoinLogEx(&model.CoinLogParam{ Platform: this.Platform, SnID: this.SnId, + Channel: this.Channel, ChangeType: common.BillTypeCoin, ChangeNum: num, RemainNum: this.Coin, diff --git a/model/coinlog.go b/model/coinlog.go index 5f08d0e..84d0be3 100644 --- a/model/coinlog.go +++ b/model/coinlog.go @@ -77,6 +77,7 @@ func NewCoinLog() *CoinLog { type CoinLogParam struct { Platform string // 平台id SnID int32 // 玩家id + Channel string // 渠道 ChangeType int32 // 变化类型 common.BillTypeCoin 金币 common.BillTypeDiamond 钻石 ChangeNum int64 // 变化数量 RemainNum int64 // 余额 @@ -92,8 +93,9 @@ type CoinLogParam struct { func NewCoinLogEx(param *CoinLogParam) *CoinLog { tNow := time.Now() cl := NewCoinLog() - cl.SnId = param.SnID cl.Platform = param.Platform + cl.SnId = param.SnID + cl.Channel = param.Channel cl.Count = param.ChangeNum cl.Oper = param.Operator cl.Remark = param.Remark diff --git a/model/gameparam.go b/model/gameparam.go index 822f9d6..7af9c99 100644 --- a/model/gameparam.go +++ b/model/gameparam.go @@ -78,7 +78,8 @@ type GameParam struct { RankPlayerLevelMaxNum int //等级榜最大人数 CloseChannelSwitch bool //关闭渠道开关功能 BackendTimeLocal int //后台时区 - GameStaticsFightVersion int // 对战场游戏统计数据版本号 + GameStaticsFightVersion int // 对战场统计数据版本 + TestRankMatchAward bool // 测试段位奖励领取通知,直接改玩家排位积分使玩家获得奖励 } var GameParamPath = "../data/gameparam.json" diff --git a/model/invitecode.go b/model/invitecode.go index 598dc9d..4ab55c8 100644 --- a/model/invitecode.go +++ b/model/invitecode.go @@ -54,6 +54,8 @@ type InviteScore struct { Score int64 // 积分 Ts int64 // 时间戳 Money int64 // 充值金额 + WeekIndex int64 // 所在周 + MonthIndex int64 // 所在月 } type InviteScoreReq struct { diff --git a/model/matchlog.go b/model/matchlog.go index 5a3d792..33b2ce9 100644 --- a/model/matchlog.go +++ b/model/matchlog.go @@ -38,6 +38,7 @@ type MatchLog struct { StartTime time.Time //开始时间 EndTime time.Time //结束时间 Players []*MatchPlayer //参赛人员数据 + SortId int64 // 本场id } var ( diff --git a/model/playerrankseason.go b/model/playerrankseason.go index d555b3d..18717bd 100644 --- a/model/playerrankseason.go +++ b/model/playerrankseason.go @@ -15,8 +15,9 @@ type RankAward struct { } type PlayerRankInfo struct { - Score int64 // 积分 - Awards []*RankAward // 赛季奖励 + LastScore int64 // 上次积分 + Score int64 // 积分 + Awards []*RankAward // 赛季奖励 } type PlayerRankSeason struct { diff --git a/model/rank.go b/model/rank.go index e621882..69841e2 100644 --- a/model/rank.go +++ b/model/rank.go @@ -154,6 +154,32 @@ func FindPlayerRankInviteList(args *FindPlayerRankInviteListArgs) (*FindPlayerRa return ret, nil } +type FindPlayerRankInviteScoreArgs struct { + Platform string + RankType int32 // 邀请榜时间类型: 总榜 周榜 月榜 + SnId int32 +} + +type FindPlayerRankInviteScoreReply struct { + RankType int32 // 邀请榜时间类型: 总榜 周榜 月榜 + Data PlayerRankInvite +} + +func FindPlayerRankInviteScoreType(args *FindPlayerRankInviteScoreArgs) (*FindPlayerRankInviteScoreReply, error) { + if rpcCli == nil { + logger.Logger.Error("model.FindPlayerRankInviteScoreType rpcCli == nil") + return nil, nil + } + + ret := new(FindPlayerRankInviteScoreReply) + err := rpcCli.CallWithTimeout("BindScoreSvc.GetInviteScoreByType", args, ret, time.Second*30) + if err != nil { + logger.Logger.Error("FindPlayerRankInviteScoreType error:", err) + return ret, err + } + return ret, nil +} + type WinCoinInfo struct { SnId int32 Name string diff --git a/protocol/rankmatch/rankmatch.pb.go b/protocol/rankmatch/rankmatch.pb.go index f41324d..041abd5 100644 --- a/protocol/rankmatch/rankmatch.pb.go +++ b/protocol/rankmatch/rankmatch.pb.go @@ -136,11 +136,12 @@ type SeasonInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // 排位类型 - Lv int32 `protobuf:"varint,2,opt,name=Lv,proto3" json:"Lv,omitempty"` // 段位 - Score int64 `protobuf:"varint,3,opt,name=Score,proto3" json:"Score,omitempty"` // 积分 - LastLv int32 `protobuf:"varint,4,opt,name=LastLv,proto3" json:"LastLv,omitempty"` // 上赛季段位 - LastScore int64 `protobuf:"varint,5,opt,name=LastScore,proto3" json:"LastScore,omitempty"` // 上赛季积分 + Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // 排位类型 + Lv int32 `protobuf:"varint,2,opt,name=Lv,proto3" json:"Lv,omitempty"` // 段位 + Score int64 `protobuf:"varint,3,opt,name=Score,proto3" json:"Score,omitempty"` // 积分 + LastLv int32 `protobuf:"varint,4,opt,name=LastLv,proto3" json:"LastLv,omitempty"` // 上赛季段位 + LastScore int64 `protobuf:"varint,5,opt,name=LastScore,proto3" json:"LastScore,omitempty"` // 上赛季积分 + Award *AwardItem `protobuf:"bytes,6,opt,name=Award,proto3" json:"Award,omitempty"` // 奖励列表 } func (x *SeasonInfo) Reset() { @@ -210,6 +211,13 @@ func (x *SeasonInfo) GetLastScore() int64 { return 0 } +func (x *SeasonInfo) GetAward() *AwardItem { + if x != nil { + return x.Award + } + return nil +} + // PACKET_RM_SCRMSeasonInfo type SCRMSeasonInfo struct { state protoimpl.MessageState @@ -791,78 +799,81 @@ var File_rankmatch_proto protoreflect.FileDescriptor var file_rankmatch_proto_rawDesc = []byte{ 0x0a, 0x0f, 0x72, 0x61, 0x6e, 0x6b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x72, 0x61, 0x6e, 0x6b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x10, 0x0a, 0x0e, - 0x43, 0x53, 0x52, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x78, - 0x0a, 0x0a, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, - 0x4c, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4c, 0x76, 0x12, 0x14, 0x0a, 0x05, - 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x53, 0x63, 0x6f, - 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4c, 0x61, 0x73, 0x74, 0x4c, 0x76, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x4c, 0x61, 0x73, 0x74, 0x4c, 0x76, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x61, - 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x4c, - 0x61, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x6f, 0x0a, 0x0e, 0x53, 0x43, 0x52, 0x4d, - 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x69, - 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x09, 0x54, - 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2f, 0x0a, 0x07, 0x53, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72, 0x61, 0x6e, 0x6b, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x07, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x22, 0x20, 0x0a, 0x0e, 0x43, 0x53, 0x52, - 0x4d, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x54, 0x0a, 0x08, 0x52, - 0x61, 0x6e, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x43, 0x53, 0x52, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xa4, + 0x01, 0x0a, 0x0a, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, + 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x0e, 0x0a, + 0x02, 0x4c, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4c, 0x76, 0x12, 0x14, 0x0a, + 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x53, 0x63, + 0x6f, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4c, 0x61, 0x73, 0x74, 0x4c, 0x76, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x4c, 0x61, 0x73, 0x74, 0x4c, 0x76, 0x12, 0x1c, 0x0a, 0x09, 0x4c, + 0x61, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x4c, 0x61, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x41, 0x77, 0x61, + 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, + 0x41, 0x77, 0x61, 0x72, 0x64, 0x22, 0x6f, 0x0a, 0x0e, 0x53, 0x43, 0x52, 0x4d, 0x53, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x09, 0x54, 0x69, 0x6d, 0x65, + 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2f, 0x0a, 0x07, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x2e, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x53, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x22, 0x20, 0x0a, 0x0e, 0x43, 0x53, 0x52, 0x4d, 0x52, 0x61, + 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x54, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x6b, + 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x02, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x4c, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x02, 0x4c, 0x76, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x3b, + 0x0a, 0x0e, 0x53, 0x43, 0x52, 0x4d, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x29, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x52, 0x61, 0x6e, 0x6b, + 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x21, 0x0a, 0x0f, 0x43, + 0x53, 0x52, 0x4d, 0x41, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0e, + 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x29, + 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, 0x8d, 0x01, 0x0a, 0x09, 0x41, 0x77, + 0x61, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x4c, 0x76, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x02, 0x4c, 0x76, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, - 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, - 0x65, 0x22, 0x3b, 0x0a, 0x0e, 0x53, 0x43, 0x52, 0x4d, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x29, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x52, - 0x61, 0x6e, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x21, - 0x0a, 0x0f, 0x43, 0x53, 0x52, 0x4d, 0x41, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, - 0x64, 0x22, 0x29, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, - 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, 0x8d, 0x01, 0x0a, - 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x4c, 0x76, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4c, 0x76, 0x12, 0x28, 0x0a, 0x06, 0x41, 0x77, - 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x72, 0x61, 0x6e, - 0x6b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x06, 0x41, 0x77, - 0x61, 0x72, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x52, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x3b, 0x0a, 0x0f, - 0x53, 0x43, 0x52, 0x4d, 0x41, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x28, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x72, 0x61, 0x6e, 0x6b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x49, - 0x74, 0x65, 0x6d, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x35, 0x0a, 0x09, 0x43, 0x53, 0x52, - 0x4d, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, 0x49, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, - 0x22, 0x2f, 0x0a, 0x09, 0x53, 0x43, 0x52, 0x4d, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, - 0x64, 0x2a, 0x8f, 0x02, 0x0a, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, - 0x12, 0x0a, 0x0e, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x4d, 0x5f, 0x5a, 0x45, 0x52, - 0x4f, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x4d, - 0x5f, 0x43, 0x53, 0x52, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x10, - 0xdc, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x4d, 0x5f, - 0x53, 0x43, 0x52, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xdd, - 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x4d, 0x5f, 0x43, - 0x53, 0x52, 0x4d, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0xe0, 0x15, - 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x4d, 0x5f, 0x53, 0x43, - 0x52, 0x4d, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0xe1, 0x15, 0x12, - 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x4d, 0x5f, 0x43, 0x53, 0x52, - 0x4d, 0x41, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0xe2, 0x15, 0x12, - 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x4d, 0x5f, 0x53, 0x43, 0x52, - 0x4d, 0x41, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0xe3, 0x15, 0x12, - 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x4d, 0x5f, 0x43, 0x53, 0x52, - 0x4d, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0xe4, 0x15, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x4d, 0x5f, 0x53, 0x43, 0x52, 0x4d, 0x41, 0x77, 0x61, 0x72, 0x64, - 0x10, 0xe5, 0x15, 0x42, 0x29, 0x5a, 0x27, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, - 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x72, 0x61, 0x6e, 0x6b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x4c, 0x76, 0x12, 0x28, 0x0a, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, + 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x3b, 0x0a, 0x0f, 0x53, 0x43, 0x52, + 0x4d, 0x41, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x0a, 0x04, + 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x72, 0x61, 0x6e, + 0x6b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, + 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x35, 0x0a, 0x09, 0x43, 0x53, 0x52, 0x4d, 0x41, 0x77, + 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x2f, 0x0a, + 0x09, 0x53, 0x43, 0x52, 0x4d, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, + 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0e, + 0x0a, 0x02, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x2a, 0x8f, + 0x02, 0x0a, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x12, 0x0a, 0x0e, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x4d, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, + 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x4d, 0x5f, 0x43, 0x53, + 0x52, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xdc, 0x15, 0x12, + 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x4d, 0x5f, 0x53, 0x43, 0x52, + 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xdd, 0x15, 0x12, 0x1d, + 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x4d, 0x5f, 0x43, 0x53, 0x52, 0x4d, + 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0xe0, 0x15, 0x12, 0x1d, 0x0a, + 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x4d, 0x5f, 0x53, 0x43, 0x52, 0x4d, 0x52, + 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0xe1, 0x15, 0x12, 0x1e, 0x0a, 0x19, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x4d, 0x5f, 0x43, 0x53, 0x52, 0x4d, 0x41, 0x77, + 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0xe2, 0x15, 0x12, 0x1e, 0x0a, 0x19, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x4d, 0x5f, 0x53, 0x43, 0x52, 0x4d, 0x41, 0x77, + 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0xe3, 0x15, 0x12, 0x18, 0x0a, 0x13, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x4d, 0x5f, 0x43, 0x53, 0x52, 0x4d, 0x41, 0x77, + 0x61, 0x72, 0x64, 0x10, 0xe4, 0x15, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x52, 0x4d, 0x5f, 0x53, 0x43, 0x52, 0x4d, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0xe5, 0x15, + 0x42, 0x29, 0x5a, 0x27, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x2f, 0x72, 0x61, 0x6e, 0x6b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -895,15 +906,16 @@ var file_rankmatch_proto_goTypes = []interface{}{ (*SCRMAward)(nil), // 12: rankmatch.SCRMAward } var file_rankmatch_proto_depIdxs = []int32{ - 2, // 0: rankmatch.SCRMSeasonInfo.Seasons:type_name -> rankmatch.SeasonInfo - 5, // 1: rankmatch.SCRMRankConfig.Items:type_name -> rankmatch.RankItem - 8, // 2: rankmatch.AwardItem.Awards:type_name -> rankmatch.Award - 9, // 3: rankmatch.SCRMAwardConfig.List:type_name -> rankmatch.AwardItem - 4, // [4:4] is the sub-list for method output_type - 4, // [4:4] is the sub-list for method input_type - 4, // [4:4] is the sub-list for extension type_name - 4, // [4:4] is the sub-list for extension extendee - 0, // [0:4] is the sub-list for field type_name + 9, // 0: rankmatch.SeasonInfo.Award:type_name -> rankmatch.AwardItem + 2, // 1: rankmatch.SCRMSeasonInfo.Seasons:type_name -> rankmatch.SeasonInfo + 5, // 2: rankmatch.SCRMRankConfig.Items:type_name -> rankmatch.RankItem + 8, // 3: rankmatch.AwardItem.Awards:type_name -> rankmatch.Award + 9, // 4: rankmatch.SCRMAwardConfig.List:type_name -> rankmatch.AwardItem + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] 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_rankmatch_proto_init() } diff --git a/protocol/rankmatch/rankmatch.proto b/protocol/rankmatch/rankmatch.proto index f722786..525af39 100644 --- a/protocol/rankmatch/rankmatch.proto +++ b/protocol/rankmatch/rankmatch.proto @@ -29,6 +29,7 @@ message SeasonInfo{ int64 Score = 3; // 积分 int32 LastLv = 4; // 上赛季段位 int64 LastScore = 5; // 上赛季积分 + AwardItem Award = 6; // 奖励列表 } // PACKET_RM_SCRMSeasonInfo diff --git a/protocol/tournament/tournament.pb.go b/protocol/tournament/tournament.pb.go index d24ff5b..18c4aa1 100644 --- a/protocol/tournament/tournament.pb.go +++ b/protocol/tournament/tournament.pb.go @@ -398,6 +398,7 @@ type TMInfo struct { Rule string `protobuf:"bytes,19,opt,name=Rule,proto3" json:"Rule,omitempty"` SortId int32 `protobuf:"varint,20,opt,name=SortId,proto3" json:"SortId,omitempty"` OnChannelName []string `protobuf:"bytes,21,rep,name=OnChannelName,proto3" json:"OnChannelName,omitempty"` //在哪个渠道开启 + ShowId int32 `protobuf:"varint,22,opt,name=ShowId,proto3" json:"ShowId,omitempty"` // 比赛区分 } func (x *TMInfo) Reset() { @@ -579,20 +580,99 @@ func (x *TMInfo) GetOnChannelName() []string { return nil } -//比赛场场次 激战人数刷新也走这个 +func (x *TMInfo) GetShowId() int32 { + if x != nil { + return x.ShowId + } + return 0 +} + +type MatchTypeInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"` // 名称 + SortId int32 `protobuf:"varint,2,opt,name=SortId,proto3" json:"SortId,omitempty"` // 排序序号 + On bool `protobuf:"varint,3,opt,name=On,proto3" json:"On,omitempty"` // 开关 + Id int32 `protobuf:"varint,4,opt,name=Id,proto3" json:"Id,omitempty"` // 类型id +} + +func (x *MatchTypeInfo) Reset() { + *x = MatchTypeInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_tournament_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MatchTypeInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MatchTypeInfo) ProtoMessage() {} + +func (x *MatchTypeInfo) ProtoReflect() protoreflect.Message { + mi := &file_tournament_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 MatchTypeInfo.ProtoReflect.Descriptor instead. +func (*MatchTypeInfo) Descriptor() ([]byte, []int) { + return file_tournament_proto_rawDescGZIP(), []int{4} +} + +func (x *MatchTypeInfo) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *MatchTypeInfo) GetSortId() int32 { + if x != nil { + return x.SortId + } + return 0 +} + +func (x *MatchTypeInfo) GetOn() bool { + if x != nil { + return x.On + } + return false +} + +func (x *MatchTypeInfo) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +//比赛场场次 //PACKET_TM_SCTMInfos type SCTMInfos struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TMInfo []*TMInfo `protobuf:"bytes,1,rep,name=TMInfo,proto3" json:"TMInfo,omitempty"` //比赛场场次信息 + TMInfo []*TMInfo `protobuf:"bytes,1,rep,name=TMInfo,proto3" json:"TMInfo,omitempty"` //比赛场场次信息 + TypeList []*MatchTypeInfo `protobuf:"bytes,2,rep,name=TypeList,proto3" json:"TypeList,omitempty"` // 比赛类型列表 } func (x *SCTMInfos) Reset() { *x = SCTMInfos{} if protoimpl.UnsafeEnabled { - mi := &file_tournament_proto_msgTypes[4] + mi := &file_tournament_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -605,7 +685,7 @@ func (x *SCTMInfos) String() string { func (*SCTMInfos) ProtoMessage() {} func (x *SCTMInfos) ProtoReflect() protoreflect.Message { - mi := &file_tournament_proto_msgTypes[4] + mi := &file_tournament_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -618,7 +698,7 @@ func (x *SCTMInfos) ProtoReflect() protoreflect.Message { // Deprecated: Use SCTMInfos.ProtoReflect.Descriptor instead. func (*SCTMInfos) Descriptor() ([]byte, []int) { - return file_tournament_proto_rawDescGZIP(), []int{4} + return file_tournament_proto_rawDescGZIP(), []int{5} } func (x *SCTMInfos) GetTMInfo() []*TMInfo { @@ -628,6 +708,13 @@ func (x *SCTMInfos) GetTMInfo() []*TMInfo { return nil } +func (x *SCTMInfos) GetTypeList() []*MatchTypeInfo { + if x != nil { + return x.TypeList + } + return nil +} + //单场次排行榜 //PACKET_TM_CSTMRankList type CSTMRankList struct { @@ -641,7 +728,7 @@ type CSTMRankList struct { func (x *CSTMRankList) Reset() { *x = CSTMRankList{} if protoimpl.UnsafeEnabled { - mi := &file_tournament_proto_msgTypes[5] + mi := &file_tournament_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -654,7 +741,7 @@ func (x *CSTMRankList) String() string { func (*CSTMRankList) ProtoMessage() {} func (x *CSTMRankList) ProtoReflect() protoreflect.Message { - mi := &file_tournament_proto_msgTypes[5] + mi := &file_tournament_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -667,7 +754,7 @@ func (x *CSTMRankList) ProtoReflect() protoreflect.Message { // Deprecated: Use CSTMRankList.ProtoReflect.Descriptor instead. func (*CSTMRankList) Descriptor() ([]byte, []int) { - return file_tournament_proto_rawDescGZIP(), []int{5} + return file_tournament_proto_rawDescGZIP(), []int{6} } func (x *CSTMRankList) GetTMId() int32 { @@ -690,7 +777,7 @@ type TMRank struct { func (x *TMRank) Reset() { *x = TMRank{} if protoimpl.UnsafeEnabled { - mi := &file_tournament_proto_msgTypes[6] + mi := &file_tournament_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -703,7 +790,7 @@ func (x *TMRank) String() string { func (*TMRank) ProtoMessage() {} func (x *TMRank) ProtoReflect() protoreflect.Message { - mi := &file_tournament_proto_msgTypes[6] + mi := &file_tournament_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -716,7 +803,7 @@ func (x *TMRank) ProtoReflect() protoreflect.Message { // Deprecated: Use TMRank.ProtoReflect.Descriptor instead. func (*TMRank) Descriptor() ([]byte, []int) { - return file_tournament_proto_rawDescGZIP(), []int{6} + return file_tournament_proto_rawDescGZIP(), []int{7} } func (x *TMRank) GetRankId() int32 { @@ -754,7 +841,7 @@ type SCTMRankList struct { func (x *SCTMRankList) Reset() { *x = SCTMRankList{} if protoimpl.UnsafeEnabled { - mi := &file_tournament_proto_msgTypes[7] + mi := &file_tournament_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -767,7 +854,7 @@ func (x *SCTMRankList) String() string { func (*SCTMRankList) ProtoMessage() {} func (x *SCTMRankList) ProtoReflect() protoreflect.Message { - mi := &file_tournament_proto_msgTypes[7] + mi := &file_tournament_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -780,7 +867,7 @@ func (x *SCTMRankList) ProtoReflect() protoreflect.Message { // Deprecated: Use SCTMRankList.ProtoReflect.Descriptor instead. func (*SCTMRankList) Descriptor() ([]byte, []int) { - return file_tournament_proto_rawDescGZIP(), []int{7} + return file_tournament_proto_rawDescGZIP(), []int{8} } func (x *SCTMRankList) GetTMId() int32 { @@ -818,7 +905,7 @@ type CSSignRace struct { func (x *CSSignRace) Reset() { *x = CSSignRace{} if protoimpl.UnsafeEnabled { - mi := &file_tournament_proto_msgTypes[8] + mi := &file_tournament_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -831,7 +918,7 @@ func (x *CSSignRace) String() string { func (*CSSignRace) ProtoMessage() {} func (x *CSSignRace) ProtoReflect() protoreflect.Message { - mi := &file_tournament_proto_msgTypes[8] + mi := &file_tournament_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -844,7 +931,7 @@ func (x *CSSignRace) ProtoReflect() protoreflect.Message { // Deprecated: Use CSSignRace.ProtoReflect.Descriptor instead. func (*CSSignRace) Descriptor() ([]byte, []int) { - return file_tournament_proto_rawDescGZIP(), []int{8} + return file_tournament_proto_rawDescGZIP(), []int{9} } func (x *CSSignRace) GetOpCode() int32 { @@ -875,7 +962,7 @@ type SCSignRace struct { func (x *SCSignRace) Reset() { *x = SCSignRace{} if protoimpl.UnsafeEnabled { - mi := &file_tournament_proto_msgTypes[9] + mi := &file_tournament_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -888,7 +975,7 @@ func (x *SCSignRace) String() string { func (*SCSignRace) ProtoMessage() {} func (x *SCSignRace) ProtoReflect() protoreflect.Message { - mi := &file_tournament_proto_msgTypes[9] + mi := &file_tournament_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -901,7 +988,7 @@ func (x *SCSignRace) ProtoReflect() protoreflect.Message { // Deprecated: Use SCSignRace.ProtoReflect.Descriptor instead. func (*SCSignRace) Descriptor() ([]byte, []int) { - return file_tournament_proto_rawDescGZIP(), []int{9} + return file_tournament_proto_rawDescGZIP(), []int{10} } func (x *SCSignRace) GetOpCode() int32 { @@ -939,7 +1026,7 @@ type SCSyncSignNum struct { func (x *SCSyncSignNum) Reset() { *x = SCSyncSignNum{} if protoimpl.UnsafeEnabled { - mi := &file_tournament_proto_msgTypes[10] + mi := &file_tournament_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -952,7 +1039,7 @@ func (x *SCSyncSignNum) String() string { func (*SCSyncSignNum) ProtoMessage() {} func (x *SCSyncSignNum) ProtoReflect() protoreflect.Message { - mi := &file_tournament_proto_msgTypes[10] + mi := &file_tournament_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -965,7 +1052,7 @@ func (x *SCSyncSignNum) ProtoReflect() protoreflect.Message { // Deprecated: Use SCSyncSignNum.ProtoReflect.Descriptor instead. func (*SCSyncSignNum) Descriptor() ([]byte, []int) { - return file_tournament_proto_rawDescGZIP(), []int{10} + return file_tournament_proto_rawDescGZIP(), []int{11} } func (x *SCSyncSignNum) GetSignNum() int32 { @@ -995,7 +1082,7 @@ type SCTMStart struct { func (x *SCTMStart) Reset() { *x = SCTMStart{} if protoimpl.UnsafeEnabled { - mi := &file_tournament_proto_msgTypes[11] + mi := &file_tournament_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1008,7 +1095,7 @@ func (x *SCTMStart) String() string { func (*SCTMStart) ProtoMessage() {} func (x *SCTMStart) ProtoReflect() protoreflect.Message { - mi := &file_tournament_proto_msgTypes[11] + mi := &file_tournament_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1021,7 +1108,7 @@ func (x *SCTMStart) ProtoReflect() protoreflect.Message { // Deprecated: Use SCTMStart.ProtoReflect.Descriptor instead. func (*SCTMStart) Descriptor() ([]byte, []int) { - return file_tournament_proto_rawDescGZIP(), []int{11} + return file_tournament_proto_rawDescGZIP(), []int{12} } func (x *SCTMStart) GetMatchId() int32 { @@ -1044,7 +1131,7 @@ type RankAward struct { func (x *RankAward) Reset() { *x = RankAward{} if protoimpl.UnsafeEnabled { - mi := &file_tournament_proto_msgTypes[12] + mi := &file_tournament_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1057,7 +1144,7 @@ func (x *RankAward) String() string { func (*RankAward) ProtoMessage() {} func (x *RankAward) ProtoReflect() protoreflect.Message { - mi := &file_tournament_proto_msgTypes[12] + mi := &file_tournament_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1070,7 +1157,7 @@ func (x *RankAward) ProtoReflect() protoreflect.Message { // Deprecated: Use RankAward.ProtoReflect.Descriptor instead. func (*RankAward) Descriptor() ([]byte, []int) { - return file_tournament_proto_rawDescGZIP(), []int{12} + return file_tournament_proto_rawDescGZIP(), []int{13} } func (x *RankAward) GetItemInfo() []*ItemInfo { @@ -1115,7 +1202,7 @@ type SCPromotionInfo struct { func (x *SCPromotionInfo) Reset() { *x = SCPromotionInfo{} if protoimpl.UnsafeEnabled { - mi := &file_tournament_proto_msgTypes[13] + mi := &file_tournament_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1128,7 +1215,7 @@ func (x *SCPromotionInfo) String() string { func (*SCPromotionInfo) ProtoMessage() {} func (x *SCPromotionInfo) ProtoReflect() protoreflect.Message { - mi := &file_tournament_proto_msgTypes[13] + mi := &file_tournament_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1141,7 +1228,7 @@ func (x *SCPromotionInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use SCPromotionInfo.ProtoReflect.Descriptor instead. func (*SCPromotionInfo) Descriptor() ([]byte, []int) { - return file_tournament_proto_rawDescGZIP(), []int{13} + return file_tournament_proto_rawDescGZIP(), []int{14} } func (x *SCPromotionInfo) GetRetCode() int32 { @@ -1217,7 +1304,7 @@ type CSTMSeasonInfo struct { func (x *CSTMSeasonInfo) Reset() { *x = CSTMSeasonInfo{} if protoimpl.UnsafeEnabled { - mi := &file_tournament_proto_msgTypes[14] + mi := &file_tournament_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1230,7 +1317,7 @@ func (x *CSTMSeasonInfo) String() string { func (*CSTMSeasonInfo) ProtoMessage() {} func (x *CSTMSeasonInfo) ProtoReflect() protoreflect.Message { - mi := &file_tournament_proto_msgTypes[14] + mi := &file_tournament_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1243,7 +1330,7 @@ func (x *CSTMSeasonInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use CSTMSeasonInfo.ProtoReflect.Descriptor instead. func (*CSTMSeasonInfo) Descriptor() ([]byte, []int) { - return file_tournament_proto_rawDescGZIP(), []int{14} + return file_tournament_proto_rawDescGZIP(), []int{15} } type SCTMSeasonInfo struct { @@ -1261,7 +1348,7 @@ type SCTMSeasonInfo struct { func (x *SCTMSeasonInfo) Reset() { *x = SCTMSeasonInfo{} if protoimpl.UnsafeEnabled { - mi := &file_tournament_proto_msgTypes[15] + mi := &file_tournament_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1274,7 +1361,7 @@ func (x *SCTMSeasonInfo) String() string { func (*SCTMSeasonInfo) ProtoMessage() {} func (x *SCTMSeasonInfo) ProtoReflect() protoreflect.Message { - mi := &file_tournament_proto_msgTypes[15] + mi := &file_tournament_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1287,7 +1374,7 @@ func (x *SCTMSeasonInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use SCTMSeasonInfo.ProtoReflect.Descriptor instead. func (*SCTMSeasonInfo) Descriptor() ([]byte, []int) { - return file_tournament_proto_rawDescGZIP(), []int{15} + return file_tournament_proto_rawDescGZIP(), []int{16} } func (x *SCTMSeasonInfo) GetId() int32 { @@ -1340,7 +1427,7 @@ type SeasonRank struct { func (x *SeasonRank) Reset() { *x = SeasonRank{} if protoimpl.UnsafeEnabled { - mi := &file_tournament_proto_msgTypes[16] + mi := &file_tournament_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1353,7 +1440,7 @@ func (x *SeasonRank) String() string { func (*SeasonRank) ProtoMessage() {} func (x *SeasonRank) ProtoReflect() protoreflect.Message { - mi := &file_tournament_proto_msgTypes[16] + mi := &file_tournament_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1366,7 +1453,7 @@ func (x *SeasonRank) ProtoReflect() protoreflect.Message { // Deprecated: Use SeasonRank.ProtoReflect.Descriptor instead. func (*SeasonRank) Descriptor() ([]byte, []int) { - return file_tournament_proto_rawDescGZIP(), []int{16} + return file_tournament_proto_rawDescGZIP(), []int{17} } func (x *SeasonRank) GetSnid() int32 { @@ -1406,7 +1493,7 @@ type CSTMSeasonRank struct { func (x *CSTMSeasonRank) Reset() { *x = CSTMSeasonRank{} if protoimpl.UnsafeEnabled { - mi := &file_tournament_proto_msgTypes[17] + mi := &file_tournament_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1419,7 +1506,7 @@ func (x *CSTMSeasonRank) String() string { func (*CSTMSeasonRank) ProtoMessage() {} func (x *CSTMSeasonRank) ProtoReflect() protoreflect.Message { - mi := &file_tournament_proto_msgTypes[17] + mi := &file_tournament_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1432,7 +1519,7 @@ func (x *CSTMSeasonRank) ProtoReflect() protoreflect.Message { // Deprecated: Use CSTMSeasonRank.ProtoReflect.Descriptor instead. func (*CSTMSeasonRank) Descriptor() ([]byte, []int) { - return file_tournament_proto_rawDescGZIP(), []int{17} + return file_tournament_proto_rawDescGZIP(), []int{18} } type SCTMSeasonRank struct { @@ -1446,7 +1533,7 @@ type SCTMSeasonRank struct { func (x *SCTMSeasonRank) Reset() { *x = SCTMSeasonRank{} if protoimpl.UnsafeEnabled { - mi := &file_tournament_proto_msgTypes[18] + mi := &file_tournament_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1459,7 +1546,7 @@ func (x *SCTMSeasonRank) String() string { func (*SCTMSeasonRank) ProtoMessage() {} func (x *SCTMSeasonRank) ProtoReflect() protoreflect.Message { - mi := &file_tournament_proto_msgTypes[18] + mi := &file_tournament_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1472,7 +1559,7 @@ func (x *SCTMSeasonRank) ProtoReflect() protoreflect.Message { // Deprecated: Use SCTMSeasonRank.ProtoReflect.Descriptor instead. func (*SCTMSeasonRank) Descriptor() ([]byte, []int) { - return file_tournament_proto_rawDescGZIP(), []int{18} + return file_tournament_proto_rawDescGZIP(), []int{19} } func (x *SCTMSeasonRank) GetReasonRanks() []*SeasonRank { @@ -1494,7 +1581,7 @@ type CSTMSeasonAward struct { func (x *CSTMSeasonAward) Reset() { *x = CSTMSeasonAward{} if protoimpl.UnsafeEnabled { - mi := &file_tournament_proto_msgTypes[19] + mi := &file_tournament_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1507,7 +1594,7 @@ func (x *CSTMSeasonAward) String() string { func (*CSTMSeasonAward) ProtoMessage() {} func (x *CSTMSeasonAward) ProtoReflect() protoreflect.Message { - mi := &file_tournament_proto_msgTypes[19] + mi := &file_tournament_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1520,7 +1607,7 @@ func (x *CSTMSeasonAward) ProtoReflect() protoreflect.Message { // Deprecated: Use CSTMSeasonAward.ProtoReflect.Descriptor instead. func (*CSTMSeasonAward) Descriptor() ([]byte, []int) { - return file_tournament_proto_rawDescGZIP(), []int{19} + return file_tournament_proto_rawDescGZIP(), []int{20} } func (x *CSTMSeasonAward) GetLv() int32 { @@ -1542,7 +1629,7 @@ type SCTMSeasonAward struct { func (x *SCTMSeasonAward) Reset() { *x = SCTMSeasonAward{} if protoimpl.UnsafeEnabled { - mi := &file_tournament_proto_msgTypes[20] + mi := &file_tournament_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1555,7 +1642,7 @@ func (x *SCTMSeasonAward) String() string { func (*SCTMSeasonAward) ProtoMessage() {} func (x *SCTMSeasonAward) ProtoReflect() protoreflect.Message { - mi := &file_tournament_proto_msgTypes[20] + mi := &file_tournament_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1568,7 +1655,7 @@ func (x *SCTMSeasonAward) ProtoReflect() protoreflect.Message { // Deprecated: Use SCTMSeasonAward.ProtoReflect.Descriptor instead. func (*SCTMSeasonAward) Descriptor() ([]byte, []int) { - return file_tournament_proto_rawDescGZIP(), []int{20} + return file_tournament_proto_rawDescGZIP(), []int{21} } func (x *SCTMSeasonAward) GetLv() int32 { @@ -1608,7 +1695,7 @@ var file_tournament_proto_rawDesc = []byte{ 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x55, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x55, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x44, 0x6f, 0x77, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x09, 0x44, 0x6f, 0x77, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xfe, 0x05, + 0x28, 0x05, 0x52, 0x09, 0x44, 0x6f, 0x77, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x96, 0x06, 0x0a, 0x06, 0x54, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, @@ -1656,144 +1743,155 @@ var file_tournament_proto_rawDesc = []byte{ 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x37, - 0x0a, 0x09, 0x53, 0x43, 0x54, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x2a, 0x0a, 0x06, 0x54, - 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, - 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x06, 0x54, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x22, 0x0a, 0x0c, 0x43, 0x53, 0x54, 0x4d, 0x52, - 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x4d, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x4d, 0x49, 0x64, 0x22, 0x5a, 0x0a, 0x06, 0x54, - 0x4d, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x1a, 0x0a, - 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x57, 0x69, 0x6e, - 0x6e, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x57, 0x69, - 0x6e, 0x6e, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x22, 0x6c, 0x0a, 0x0c, 0x53, 0x43, 0x54, 0x4d, 0x52, - 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x4d, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x4d, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x54, - 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x54, 0x4d, 0x52, - 0x61, 0x6e, 0x6b, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x75, 0x72, - 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x4d, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x06, 0x54, - 0x4d, 0x52, 0x61, 0x6e, 0x6b, 0x22, 0x38, 0x0a, 0x0a, 0x43, 0x53, 0x53, 0x69, 0x67, 0x6e, 0x52, - 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, - 0x4d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x4d, 0x49, 0x64, 0x22, - 0x64, 0x0a, 0x0a, 0x53, 0x43, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4f, - 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, - 0x24, 0x0a, 0x0d, 0x57, 0x61, 0x69, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x57, 0x61, 0x69, 0x74, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x49, 0x0a, 0x0d, 0x53, 0x43, 0x53, 0x79, 0x6e, 0x63, 0x53, - 0x69, 0x67, 0x6e, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x69, 0x67, 0x6e, 0x4e, 0x75, - 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x69, 0x67, 0x6e, 0x4e, 0x75, 0x6d, - 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x61, 0x78, 0x53, 0x69, 0x67, 0x6e, 0x4e, 0x75, 0x6d, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x61, 0x78, 0x53, 0x69, 0x67, 0x6e, 0x4e, 0x75, 0x6d, - 0x22, 0x25, 0x0a, 0x09, 0x53, 0x43, 0x54, 0x4d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, 0x6b, 0x0a, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x41, - 0x77, 0x61, 0x72, 0x64, 0x12, 0x30, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x49, 0x74, - 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x44, 0x69, - 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x44, 0x69, 0x61, - 0x6d, 0x6f, 0x6e, 0x64, 0x22, 0x88, 0x03, 0x0a, 0x0f, 0x53, 0x43, 0x50, 0x72, 0x6f, 0x6d, 0x6f, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, - 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x6f, 0x75, 0x6e, - 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x52, 0x6f, 0x75, - 0x6e, 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x3f, - 0x0a, 0x06, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x43, 0x50, 0x72, - 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, - 0x18, 0x0a, 0x07, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x07, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, - 0x05, 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x33, 0x0a, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x09, 0x52, 0x61, 0x6e, - 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0x10, 0x0a, 0x0e, 0x43, 0x53, 0x54, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, - 0x6f, 0x22, 0x8c, 0x01, 0x0a, 0x0e, 0x53, 0x43, 0x54, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x02, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x54, 0x69, - 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0f, 0x53, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x0e, - 0x0a, 0x02, 0x4c, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4c, 0x76, 0x12, 0x16, - 0x0a, 0x06, 0x4c, 0x61, 0x73, 0x74, 0x4c, 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x4c, 0x61, 0x73, 0x74, 0x4c, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x73, 0x41, 0x77, 0x61, 0x72, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x49, 0x73, 0x41, 0x77, 0x61, 0x72, 0x64, - 0x22, 0x58, 0x0a, 0x0a, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x12, - 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, - 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x4c, 0x76, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x02, 0x4c, 0x76, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x61, 0x6e, 0x6b, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x52, 0x61, 0x6e, 0x6b, 0x22, 0x10, 0x0a, 0x0e, 0x43, 0x53, - 0x54, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x22, 0x4a, 0x0a, 0x0e, - 0x53, 0x43, 0x54, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x38, - 0x0a, 0x0b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x0b, 0x52, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x22, 0x21, 0x0a, 0x0f, 0x43, 0x53, 0x54, 0x4d, - 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x4c, - 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4c, 0x76, 0x22, 0x35, 0x0a, 0x0f, 0x53, - 0x43, 0x54, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, - 0x0a, 0x02, 0x4c, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4c, 0x76, 0x12, 0x12, - 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x6f, - 0x64, 0x65, 0x2a, 0xd9, 0x03, 0x0a, 0x0c, 0x54, 0x4f, 0x55, 0x52, 0x4e, 0x41, 0x4d, 0x45, 0x4e, - 0x54, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, - 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x43, 0x53, 0x54, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xb4, 0x15, - 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x53, 0x43, - 0x54, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x10, 0xb5, 0x15, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x43, 0x53, 0x54, 0x4d, 0x52, 0x61, 0x6e, 0x6b, - 0x4c, 0x69, 0x73, 0x74, 0x10, 0xb6, 0x15, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x53, 0x43, 0x54, 0x4d, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, - 0x74, 0x10, 0xb7, 0x15, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, - 0x4d, 0x5f, 0x43, 0x53, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x61, 0x63, 0x65, 0x10, 0xb8, 0x15, 0x12, - 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x53, 0x43, 0x53, - 0x69, 0x67, 0x6e, 0x52, 0x61, 0x63, 0x65, 0x10, 0xb9, 0x15, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x53, 0x43, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x69, - 0x67, 0x6e, 0x4e, 0x75, 0x6d, 0x10, 0xba, 0x15, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x53, 0x43, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xbb, 0x15, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x53, 0x43, 0x54, 0x4d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x10, - 0xbc, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, - 0x43, 0x53, 0x54, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xbf, - 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x53, - 0x43, 0x54, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xc0, 0x15, - 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x43, 0x53, - 0x54, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x10, 0xc1, 0x15, 0x12, - 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x53, 0x43, 0x54, - 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x10, 0xc2, 0x15, 0x12, 0x1e, - 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x43, 0x53, 0x54, 0x4d, - 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0xc3, 0x15, 0x12, 0x1e, - 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x53, 0x43, 0x54, 0x4d, - 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0xc4, 0x15, 0x2a, 0x90, - 0x01, 0x0a, 0x0c, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, - 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, - 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x10, - 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x10, - 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x6f, 0x49, 0x74, 0x65, 0x6d, - 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x54, 0x69, 0x6d, 0x65, 0x10, - 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0x05, - 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, - 0x10, 0x06, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x46, 0x72, 0x65, 0x65, 0x10, - 0x07, 0x42, 0x2a, 0x5a, 0x28, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x6f, 0x6c, 0x2f, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x53, 0x68, 0x6f, 0x77, 0x49, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x53, 0x68, 0x6f, 0x77, 0x49, 0x64, 0x22, 0x5b, 0x0a, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, + 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, + 0x6f, 0x72, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f, 0x72, + 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x02, 0x4f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x49, 0x64, 0x22, 0x6e, 0x0a, 0x09, 0x53, 0x43, 0x54, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x73, + 0x12, 0x2a, 0x0a, 0x06, 0x54, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x4d, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x54, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x0a, 0x08, + 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x54, 0x79, 0x70, 0x65, 0x4c, + 0x69, 0x73, 0x74, 0x22, 0x22, 0x0a, 0x0c, 0x43, 0x53, 0x54, 0x4d, 0x52, 0x61, 0x6e, 0x6b, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x4d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x54, 0x4d, 0x49, 0x64, 0x22, 0x5a, 0x0a, 0x06, 0x54, 0x4d, 0x52, 0x61, 0x6e, + 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x61, 0x6e, + 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x52, 0x61, 0x6e, + 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x57, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x4e, + 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x57, 0x69, 0x6e, 0x6e, 0x65, 0x72, + 0x4e, 0x75, 0x6d, 0x22, 0x6c, 0x0a, 0x0c, 0x53, 0x43, 0x54, 0x4d, 0x52, 0x61, 0x6e, 0x6b, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x4d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x54, 0x4d, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x54, 0x69, 0x6d, 0x65, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x54, 0x4d, 0x52, 0x61, 0x6e, 0x6b, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x54, 0x4d, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x06, 0x54, 0x4d, 0x52, 0x61, 0x6e, + 0x6b, 0x22, 0x38, 0x0a, 0x0a, 0x43, 0x53, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x61, 0x63, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x4d, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x4d, 0x49, 0x64, 0x22, 0x64, 0x0a, 0x0a, 0x53, + 0x43, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x43, + 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x57, + 0x61, 0x69, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0d, 0x57, 0x61, 0x69, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x22, 0x49, 0x0a, 0x0d, 0x53, 0x43, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x4e, + 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x69, 0x67, 0x6e, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x69, 0x67, 0x6e, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, + 0x4d, 0x61, 0x78, 0x53, 0x69, 0x67, 0x6e, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x4d, 0x61, 0x78, 0x53, 0x69, 0x67, 0x6e, 0x4e, 0x75, 0x6d, 0x22, 0x25, 0x0a, 0x09, + 0x53, 0x43, 0x54, 0x4d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x49, 0x64, 0x22, 0x6b, 0x0a, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, + 0x12, 0x30, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, + 0x22, 0x88, 0x03, 0x0a, 0x0f, 0x53, 0x43, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x52, + 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x69, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, + 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x06, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x74, 0x6f, 0x75, + 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x43, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x06, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, + 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, + 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x61, + 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, + 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, + 0x1a, 0x39, 0x0a, 0x0b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x10, 0x0a, 0x0e, 0x43, + 0x53, 0x54, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x8c, 0x01, + 0x0a, 0x0e, 0x53, 0x43, 0x54, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, + 0x12, 0x28, 0x0a, 0x0f, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, + 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0f, 0x53, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x4c, 0x76, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4c, 0x76, 0x12, 0x16, 0x0a, 0x06, 0x4c, 0x61, + 0x73, 0x74, 0x4c, 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4c, 0x61, 0x73, 0x74, + 0x4c, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x73, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x07, 0x49, 0x73, 0x41, 0x77, 0x61, 0x72, 0x64, 0x22, 0x58, 0x0a, 0x0a, + 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x4c, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, + 0x4c, 0x76, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x61, 0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x52, 0x61, 0x6e, 0x6b, 0x22, 0x10, 0x0a, 0x0e, 0x43, 0x53, 0x54, 0x4d, 0x53, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x22, 0x4a, 0x0a, 0x0e, 0x53, 0x43, 0x54, 0x4d, + 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x38, 0x0a, 0x0b, 0x52, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x0b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, + 0x61, 0x6e, 0x6b, 0x73, 0x22, 0x21, 0x0a, 0x0f, 0x43, 0x53, 0x54, 0x4d, 0x53, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x4c, 0x76, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x4c, 0x76, 0x22, 0x35, 0x0a, 0x0f, 0x53, 0x43, 0x54, 0x4d, 0x53, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x4c, 0x76, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4c, 0x76, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, + 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x2a, 0xd9, + 0x03, 0x0a, 0x0c, 0x54, 0x4f, 0x55, 0x52, 0x4e, 0x41, 0x4d, 0x45, 0x4e, 0x54, 0x49, 0x44, 0x12, + 0x12, 0x0a, 0x0e, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x5a, 0x45, 0x52, + 0x4f, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, + 0x5f, 0x43, 0x53, 0x54, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xb4, 0x15, 0x12, 0x18, 0x0a, 0x13, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x53, 0x43, 0x54, 0x4d, 0x49, 0x6e, + 0x66, 0x6f, 0x73, 0x10, 0xb5, 0x15, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x54, 0x4d, 0x5f, 0x43, 0x53, 0x54, 0x4d, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, + 0x10, 0xb6, 0x15, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, + 0x5f, 0x53, 0x43, 0x54, 0x4d, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xb7, 0x15, + 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x43, 0x53, + 0x53, 0x69, 0x67, 0x6e, 0x52, 0x61, 0x63, 0x65, 0x10, 0xb8, 0x15, 0x12, 0x19, 0x0a, 0x14, 0x50, + 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x53, 0x43, 0x53, 0x69, 0x67, 0x6e, 0x52, + 0x61, 0x63, 0x65, 0x10, 0xb9, 0x15, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x54, 0x4d, 0x5f, 0x53, 0x43, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x4e, 0x75, + 0x6d, 0x10, 0xba, 0x15, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, + 0x4d, 0x5f, 0x53, 0x43, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, + 0x6f, 0x10, 0xbb, 0x15, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, + 0x4d, 0x5f, 0x53, 0x43, 0x54, 0x4d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x10, 0xbc, 0x15, 0x12, 0x1d, + 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x43, 0x53, 0x54, 0x4d, + 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xbf, 0x15, 0x12, 0x1d, 0x0a, + 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x53, 0x43, 0x54, 0x4d, 0x53, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xc0, 0x15, 0x12, 0x1d, 0x0a, 0x18, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x43, 0x53, 0x54, 0x4d, 0x53, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x10, 0xc1, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x50, + 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x53, 0x43, 0x54, 0x4d, 0x53, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x10, 0xc2, 0x15, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x43, 0x53, 0x54, 0x4d, 0x53, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0xc3, 0x15, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x53, 0x43, 0x54, 0x4d, 0x53, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0xc4, 0x15, 0x2a, 0x90, 0x01, 0x0a, 0x0c, 0x53, + 0x69, 0x67, 0x6e, 0x52, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, + 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, + 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x10, 0x01, 0x12, 0x0e, 0x0a, + 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x10, 0x02, 0x12, 0x0f, 0x0a, + 0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x6f, 0x49, 0x74, 0x65, 0x6d, 0x10, 0x03, 0x12, 0x0d, + 0x0a, 0x09, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x54, 0x69, 0x6d, 0x65, 0x10, 0x04, 0x12, 0x0d, 0x0a, + 0x09, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, + 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x10, 0x06, 0x12, 0x0d, + 0x0a, 0x09, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x46, 0x72, 0x65, 0x65, 0x10, 0x07, 0x42, 0x2a, 0x5a, + 0x28, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x74, + 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -1809,7 +1907,7 @@ func file_tournament_proto_rawDescGZIP() []byte { } var file_tournament_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_tournament_proto_msgTypes = make([]protoimpl.MessageInfo, 22) +var file_tournament_proto_msgTypes = make([]protoimpl.MessageInfo, 23) var file_tournament_proto_goTypes = []interface{}{ (TOURNAMENTID)(0), // 0: tournament.TOURNAMENTID (SignRaceCode)(0), // 1: tournament.SignRaceCode @@ -1817,40 +1915,42 @@ var file_tournament_proto_goTypes = []interface{}{ (*ItemInfo)(nil), // 3: tournament.ItemInfo (*MatchInfoAward)(nil), // 4: tournament.MatchInfoAward (*TMInfo)(nil), // 5: tournament.TMInfo - (*SCTMInfos)(nil), // 6: tournament.SCTMInfos - (*CSTMRankList)(nil), // 7: tournament.CSTMRankList - (*TMRank)(nil), // 8: tournament.TMRank - (*SCTMRankList)(nil), // 9: tournament.SCTMRankList - (*CSSignRace)(nil), // 10: tournament.CSSignRace - (*SCSignRace)(nil), // 11: tournament.SCSignRace - (*SCSyncSignNum)(nil), // 12: tournament.SCSyncSignNum - (*SCTMStart)(nil), // 13: tournament.SCTMStart - (*RankAward)(nil), // 14: tournament.RankAward - (*SCPromotionInfo)(nil), // 15: tournament.SCPromotionInfo - (*CSTMSeasonInfo)(nil), // 16: tournament.CSTMSeasonInfo - (*SCTMSeasonInfo)(nil), // 17: tournament.SCTMSeasonInfo - (*SeasonRank)(nil), // 18: tournament.SeasonRank - (*CSTMSeasonRank)(nil), // 19: tournament.CSTMSeasonRank - (*SCTMSeasonRank)(nil), // 20: tournament.SCTMSeasonRank - (*CSTMSeasonAward)(nil), // 21: tournament.CSTMSeasonAward - (*SCTMSeasonAward)(nil), // 22: tournament.SCTMSeasonAward - nil, // 23: tournament.SCPromotionInfo.RecordEntry + (*MatchTypeInfo)(nil), // 6: tournament.MatchTypeInfo + (*SCTMInfos)(nil), // 7: tournament.SCTMInfos + (*CSTMRankList)(nil), // 8: tournament.CSTMRankList + (*TMRank)(nil), // 9: tournament.TMRank + (*SCTMRankList)(nil), // 10: tournament.SCTMRankList + (*CSSignRace)(nil), // 11: tournament.CSSignRace + (*SCSignRace)(nil), // 12: tournament.SCSignRace + (*SCSyncSignNum)(nil), // 13: tournament.SCSyncSignNum + (*SCTMStart)(nil), // 14: tournament.SCTMStart + (*RankAward)(nil), // 15: tournament.RankAward + (*SCPromotionInfo)(nil), // 16: tournament.SCPromotionInfo + (*CSTMSeasonInfo)(nil), // 17: tournament.CSTMSeasonInfo + (*SCTMSeasonInfo)(nil), // 18: tournament.SCTMSeasonInfo + (*SeasonRank)(nil), // 19: tournament.SeasonRank + (*CSTMSeasonRank)(nil), // 20: tournament.CSTMSeasonRank + (*SCTMSeasonRank)(nil), // 21: tournament.SCTMSeasonRank + (*CSTMSeasonAward)(nil), // 22: tournament.CSTMSeasonAward + (*SCTMSeasonAward)(nil), // 23: tournament.SCTMSeasonAward + nil, // 24: tournament.SCPromotionInfo.RecordEntry } var file_tournament_proto_depIdxs = []int32{ 3, // 0: tournament.MatchInfoAward.ItemInfo:type_name -> tournament.ItemInfo 4, // 1: tournament.TMInfo.Award:type_name -> tournament.MatchInfoAward 3, // 2: tournament.TMInfo.SignupCostItem:type_name -> tournament.ItemInfo 5, // 3: tournament.SCTMInfos.TMInfo:type_name -> tournament.TMInfo - 8, // 4: tournament.SCTMRankList.TMRank:type_name -> tournament.TMRank - 3, // 5: tournament.RankAward.ItemInfo:type_name -> tournament.ItemInfo - 23, // 6: tournament.SCPromotionInfo.Record:type_name -> tournament.SCPromotionInfo.RecordEntry - 14, // 7: tournament.SCPromotionInfo.RankAward:type_name -> tournament.RankAward - 18, // 8: tournament.SCTMSeasonRank.ReasonRanks:type_name -> tournament.SeasonRank - 9, // [9:9] is the sub-list for method output_type - 9, // [9:9] is the sub-list for method input_type - 9, // [9:9] is the sub-list for extension type_name - 9, // [9:9] is the sub-list for extension extendee - 0, // [0:9] is the sub-list for field type_name + 6, // 4: tournament.SCTMInfos.TypeList:type_name -> tournament.MatchTypeInfo + 9, // 5: tournament.SCTMRankList.TMRank:type_name -> tournament.TMRank + 3, // 6: tournament.RankAward.ItemInfo:type_name -> tournament.ItemInfo + 24, // 7: tournament.SCPromotionInfo.Record:type_name -> tournament.SCPromotionInfo.RecordEntry + 15, // 8: tournament.SCPromotionInfo.RankAward:type_name -> tournament.RankAward + 19, // 9: tournament.SCTMSeasonRank.ReasonRanks:type_name -> tournament.SeasonRank + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name } func init() { file_tournament_proto_init() } @@ -1908,7 +2008,7 @@ func file_tournament_proto_init() { } } file_tournament_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SCTMInfos); i { + switch v := v.(*MatchTypeInfo); i { case 0: return &v.state case 1: @@ -1920,7 +2020,7 @@ func file_tournament_proto_init() { } } file_tournament_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSTMRankList); i { + switch v := v.(*SCTMInfos); i { case 0: return &v.state case 1: @@ -1932,7 +2032,7 @@ func file_tournament_proto_init() { } } file_tournament_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TMRank); i { + switch v := v.(*CSTMRankList); i { case 0: return &v.state case 1: @@ -1944,7 +2044,7 @@ func file_tournament_proto_init() { } } file_tournament_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SCTMRankList); i { + switch v := v.(*TMRank); i { case 0: return &v.state case 1: @@ -1956,7 +2056,7 @@ func file_tournament_proto_init() { } } file_tournament_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSSignRace); i { + switch v := v.(*SCTMRankList); i { case 0: return &v.state case 1: @@ -1968,7 +2068,7 @@ func file_tournament_proto_init() { } } file_tournament_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SCSignRace); i { + switch v := v.(*CSSignRace); i { case 0: return &v.state case 1: @@ -1980,7 +2080,7 @@ func file_tournament_proto_init() { } } file_tournament_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SCSyncSignNum); i { + switch v := v.(*SCSignRace); i { case 0: return &v.state case 1: @@ -1992,7 +2092,7 @@ func file_tournament_proto_init() { } } file_tournament_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SCTMStart); i { + switch v := v.(*SCSyncSignNum); i { case 0: return &v.state case 1: @@ -2004,7 +2104,7 @@ func file_tournament_proto_init() { } } file_tournament_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RankAward); i { + switch v := v.(*SCTMStart); i { case 0: return &v.state case 1: @@ -2016,7 +2116,7 @@ func file_tournament_proto_init() { } } file_tournament_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SCPromotionInfo); i { + switch v := v.(*RankAward); i { case 0: return &v.state case 1: @@ -2028,7 +2128,7 @@ func file_tournament_proto_init() { } } file_tournament_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSTMSeasonInfo); i { + switch v := v.(*SCPromotionInfo); i { case 0: return &v.state case 1: @@ -2040,7 +2140,7 @@ func file_tournament_proto_init() { } } file_tournament_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SCTMSeasonInfo); i { + switch v := v.(*CSTMSeasonInfo); i { case 0: return &v.state case 1: @@ -2052,7 +2152,7 @@ func file_tournament_proto_init() { } } file_tournament_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SeasonRank); i { + switch v := v.(*SCTMSeasonInfo); i { case 0: return &v.state case 1: @@ -2064,7 +2164,7 @@ func file_tournament_proto_init() { } } file_tournament_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSTMSeasonRank); i { + switch v := v.(*SeasonRank); i { case 0: return &v.state case 1: @@ -2076,7 +2176,7 @@ func file_tournament_proto_init() { } } file_tournament_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SCTMSeasonRank); i { + switch v := v.(*CSTMSeasonRank); i { case 0: return &v.state case 1: @@ -2088,7 +2188,7 @@ func file_tournament_proto_init() { } } file_tournament_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSTMSeasonAward); i { + switch v := v.(*SCTMSeasonRank); i { case 0: return &v.state case 1: @@ -2100,6 +2200,18 @@ func file_tournament_proto_init() { } } file_tournament_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSTMSeasonAward); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tournament_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCTMSeasonAward); i { case 0: return &v.state @@ -2118,7 +2230,7 @@ func file_tournament_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_tournament_proto_rawDesc, NumEnums: 2, - NumMessages: 22, + NumMessages: 23, NumExtensions: 0, NumServices: 0, }, diff --git a/protocol/tournament/tournament.proto b/protocol/tournament/tournament.proto index 1a76350..52d8434 100644 --- a/protocol/tournament/tournament.proto +++ b/protocol/tournament/tournament.proto @@ -63,11 +63,21 @@ message TMInfo{ string Rule = 19; int32 SortId = 20; repeated string OnChannelName = 21;//在哪个渠道开启 + int32 ShowId = 22; // 比赛区分 } -//比赛场场次 激战人数刷新也走这个 + +message MatchTypeInfo{ + string Name = 1; // 名称 + int32 SortId = 2; // 排序序号 + bool On = 3; // 开关 + int32 Id = 4; // 类型id +} + +//比赛场场次 //PACKET_TM_SCTMInfos message SCTMInfos{ repeated TMInfo TMInfo = 1;//比赛场场次信息 + repeated MatchTypeInfo TypeList = 2; // 比赛类型列表 } //单场次排行榜 //PACKET_TM_CSTMRankList diff --git a/protocol/webapi/common.pb.go b/protocol/webapi/common.pb.go index 8908fa2..a44dde2 100644 --- a/protocol/webapi/common.pb.go +++ b/protocol/webapi/common.pb.go @@ -3760,6 +3760,7 @@ type GameMatchDate struct { MatchLevel int32 `protobuf:"varint,22,opt,name=MatchLevel,proto3" json:"MatchLevel,omitempty"` // 难度等级 OnChannelName []string `protobuf:"bytes,23,rep,name=OnChannelName,proto3" json:"OnChannelName,omitempty"` // 开启的渠道名称 CardType int32 `protobuf:"varint,24,opt,name=CardType,proto3" json:"CardType,omitempty"` // 手机卡类型 + ShowId int32 `protobuf:"varint,25,opt,name=ShowId,proto3" json:"ShowId,omitempty"` // 比赛区分 } func (x *GameMatchDate) Reset() { @@ -3962,6 +3963,13 @@ func (x *GameMatchDate) GetCardType() int32 { return 0 } +func (x *GameMatchDate) GetShowId() int32 { + if x != nil { + return x.ShowId + } + return 0 +} + // etcd /game/game_match type GameMatchDateList struct { state protoimpl.MessageState @@ -4018,6 +4026,133 @@ func (x *GameMatchDateList) GetPlatform() string { return "" } +type MatchTypeInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"` // 名称 + SortId int32 `protobuf:"varint,2,opt,name=SortId,proto3" json:"SortId,omitempty"` // 序号 + On bool `protobuf:"varint,3,opt,name=On,proto3" json:"On,omitempty"` // 开关 + Id int32 `protobuf:"varint,4,opt,name=Id,proto3" json:"Id,omitempty"` // 类型id +} + +func (x *MatchTypeInfo) Reset() { + *x = MatchTypeInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_common_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MatchTypeInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MatchTypeInfo) ProtoMessage() {} + +func (x *MatchTypeInfo) ProtoReflect() protoreflect.Message { + mi := &file_common_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 MatchTypeInfo.ProtoReflect.Descriptor instead. +func (*MatchTypeInfo) Descriptor() ([]byte, []int) { + return file_common_proto_rawDescGZIP(), []int{33} +} + +func (x *MatchTypeInfo) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *MatchTypeInfo) GetSortId() int32 { + if x != nil { + return x.SortId + } + return 0 +} + +func (x *MatchTypeInfo) GetOn() bool { + if x != nil { + return x.On + } + return false +} + +func (x *MatchTypeInfo) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +// etcd /game/match_type +type GameMatchType struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` + List []*MatchTypeInfo `protobuf:"bytes,2,rep,name=List,proto3" json:"List,omitempty"` // 比赛类型列表 +} + +func (x *GameMatchType) Reset() { + *x = GameMatchType{} + if protoimpl.UnsafeEnabled { + mi := &file_common_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GameMatchType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GameMatchType) ProtoMessage() {} + +func (x *GameMatchType) ProtoReflect() protoreflect.Message { + mi := &file_common_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 GameMatchType.ProtoReflect.Descriptor instead. +func (*GameMatchType) Descriptor() ([]byte, []int) { + return file_common_proto_rawDescGZIP(), []int{34} +} + +func (x *GameMatchType) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *GameMatchType) GetList() []*MatchTypeInfo { + if x != nil { + return x.List + } + return nil +} + type WelfareDate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -4032,7 +4167,7 @@ type WelfareDate struct { func (x *WelfareDate) Reset() { *x = WelfareDate{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[33] + mi := &file_common_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4045,7 +4180,7 @@ func (x *WelfareDate) String() string { func (*WelfareDate) ProtoMessage() {} func (x *WelfareDate) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[33] + mi := &file_common_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4058,7 +4193,7 @@ func (x *WelfareDate) ProtoReflect() protoreflect.Message { // Deprecated: Use WelfareDate.ProtoReflect.Descriptor instead. func (*WelfareDate) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{33} + return file_common_proto_rawDescGZIP(), []int{35} } func (x *WelfareDate) GetGrade() int32 { @@ -4101,7 +4236,7 @@ type WelfareTurnplateDate struct { func (x *WelfareTurnplateDate) Reset() { *x = WelfareTurnplateDate{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[34] + mi := &file_common_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4114,7 +4249,7 @@ func (x *WelfareTurnplateDate) String() string { func (*WelfareTurnplateDate) ProtoMessage() {} func (x *WelfareTurnplateDate) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[34] + mi := &file_common_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4127,7 +4262,7 @@ func (x *WelfareTurnplateDate) ProtoReflect() protoreflect.Message { // Deprecated: Use WelfareTurnplateDate.ProtoReflect.Descriptor instead. func (*WelfareTurnplateDate) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{34} + return file_common_proto_rawDescGZIP(), []int{36} } func (x *WelfareTurnplateDate) GetId() int32 { @@ -4155,7 +4290,7 @@ type WelfareTurnplateRate struct { func (x *WelfareTurnplateRate) Reset() { *x = WelfareTurnplateRate{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[35] + mi := &file_common_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4168,7 +4303,7 @@ func (x *WelfareTurnplateRate) String() string { func (*WelfareTurnplateRate) ProtoMessage() {} func (x *WelfareTurnplateRate) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[35] + mi := &file_common_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4181,7 +4316,7 @@ func (x *WelfareTurnplateRate) ProtoReflect() protoreflect.Message { // Deprecated: Use WelfareTurnplateRate.ProtoReflect.Descriptor instead. func (*WelfareTurnplateRate) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{35} + return file_common_proto_rawDescGZIP(), []int{37} } func (x *WelfareTurnplateRate) GetRate() []int32 { @@ -4206,7 +4341,7 @@ type WelfareTurnplateDateList struct { func (x *WelfareTurnplateDateList) Reset() { *x = WelfareTurnplateDateList{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[36] + mi := &file_common_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4219,7 +4354,7 @@ func (x *WelfareTurnplateDateList) String() string { func (*WelfareTurnplateDateList) ProtoMessage() {} func (x *WelfareTurnplateDateList) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[36] + mi := &file_common_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4232,7 +4367,7 @@ func (x *WelfareTurnplateDateList) ProtoReflect() protoreflect.Message { // Deprecated: Use WelfareTurnplateDateList.ProtoReflect.Descriptor instead. func (*WelfareTurnplateDateList) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{36} + return file_common_proto_rawDescGZIP(), []int{38} } func (x *WelfareTurnplateDateList) GetList() []*WelfareTurnplateDate { @@ -4275,7 +4410,7 @@ type AddUpWelfareDate struct { func (x *AddUpWelfareDate) Reset() { *x = AddUpWelfareDate{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[37] + mi := &file_common_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4288,7 +4423,7 @@ func (x *AddUpWelfareDate) String() string { func (*AddUpWelfareDate) ProtoMessage() {} func (x *AddUpWelfareDate) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[37] + mi := &file_common_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4301,7 +4436,7 @@ func (x *AddUpWelfareDate) ProtoReflect() protoreflect.Message { // Deprecated: Use AddUpWelfareDate.ProtoReflect.Descriptor instead. func (*AddUpWelfareDate) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{37} + return file_common_proto_rawDescGZIP(), []int{39} } func (x *AddUpWelfareDate) GetAddUpDay() int32 { @@ -4331,7 +4466,7 @@ type Welfare7SignDate struct { func (x *Welfare7SignDate) Reset() { *x = Welfare7SignDate{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[38] + mi := &file_common_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4344,7 +4479,7 @@ func (x *Welfare7SignDate) String() string { func (*Welfare7SignDate) ProtoMessage() {} func (x *Welfare7SignDate) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[38] + mi := &file_common_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4357,7 +4492,7 @@ func (x *Welfare7SignDate) ProtoReflect() protoreflect.Message { // Deprecated: Use Welfare7SignDate.ProtoReflect.Descriptor instead. func (*Welfare7SignDate) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{38} + return file_common_proto_rawDescGZIP(), []int{40} } func (x *Welfare7SignDate) GetDay() int32 { @@ -4395,7 +4530,7 @@ type Welfare7SignDateList struct { func (x *Welfare7SignDateList) Reset() { *x = Welfare7SignDateList{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[39] + mi := &file_common_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4408,7 +4543,7 @@ func (x *Welfare7SignDateList) String() string { func (*Welfare7SignDateList) ProtoMessage() {} func (x *Welfare7SignDateList) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[39] + mi := &file_common_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4421,7 +4556,7 @@ func (x *Welfare7SignDateList) ProtoReflect() protoreflect.Message { // Deprecated: Use Welfare7SignDateList.ProtoReflect.Descriptor instead. func (*Welfare7SignDateList) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{39} + return file_common_proto_rawDescGZIP(), []int{41} } func (x *Welfare7SignDateList) GetList() []*Welfare7SignDate { @@ -4464,7 +4599,7 @@ type BlindBoxData struct { func (x *BlindBoxData) Reset() { *x = BlindBoxData{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[40] + mi := &file_common_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4477,7 +4612,7 @@ func (x *BlindBoxData) String() string { func (*BlindBoxData) ProtoMessage() {} func (x *BlindBoxData) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[40] + mi := &file_common_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4490,7 +4625,7 @@ func (x *BlindBoxData) ProtoReflect() protoreflect.Message { // Deprecated: Use BlindBoxData.ProtoReflect.Descriptor instead. func (*BlindBoxData) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{40} + return file_common_proto_rawDescGZIP(), []int{42} } func (x *BlindBoxData) GetId() int32 { @@ -4572,7 +4707,7 @@ type WelfareBlindBoxDataList struct { func (x *WelfareBlindBoxDataList) Reset() { *x = WelfareBlindBoxDataList{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[41] + mi := &file_common_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4585,7 +4720,7 @@ func (x *WelfareBlindBoxDataList) String() string { func (*WelfareBlindBoxDataList) ProtoMessage() {} func (x *WelfareBlindBoxDataList) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[41] + mi := &file_common_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4598,7 +4733,7 @@ func (x *WelfareBlindBoxDataList) ProtoReflect() protoreflect.Message { // Deprecated: Use WelfareBlindBoxDataList.ProtoReflect.Descriptor instead. func (*WelfareBlindBoxDataList) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{41} + return file_common_proto_rawDescGZIP(), []int{43} } func (x *WelfareBlindBoxDataList) GetList() []*BlindBoxData { @@ -4653,7 +4788,7 @@ type WelfareSpree struct { func (x *WelfareSpree) Reset() { *x = WelfareSpree{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[42] + mi := &file_common_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4666,7 +4801,7 @@ func (x *WelfareSpree) String() string { func (*WelfareSpree) ProtoMessage() {} func (x *WelfareSpree) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[42] + mi := &file_common_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4679,7 +4814,7 @@ func (x *WelfareSpree) ProtoReflect() protoreflect.Message { // Deprecated: Use WelfareSpree.ProtoReflect.Descriptor instead. func (*WelfareSpree) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{42} + return file_common_proto_rawDescGZIP(), []int{44} } func (x *WelfareSpree) GetDay() int32 { @@ -4746,7 +4881,7 @@ type WelfareFirstPayDataList struct { func (x *WelfareFirstPayDataList) Reset() { *x = WelfareFirstPayDataList{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[43] + mi := &file_common_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4759,7 +4894,7 @@ func (x *WelfareFirstPayDataList) String() string { func (*WelfareFirstPayDataList) ProtoMessage() {} func (x *WelfareFirstPayDataList) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[43] + mi := &file_common_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4772,7 +4907,7 @@ func (x *WelfareFirstPayDataList) ProtoReflect() protoreflect.Message { // Deprecated: Use WelfareFirstPayDataList.ProtoReflect.Descriptor instead. func (*WelfareFirstPayDataList) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{43} + return file_common_proto_rawDescGZIP(), []int{45} } func (x *WelfareFirstPayDataList) GetList() []*WelfareSpree { @@ -4819,7 +4954,7 @@ type WelfareContinuousPayDataList struct { func (x *WelfareContinuousPayDataList) Reset() { *x = WelfareContinuousPayDataList{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[44] + mi := &file_common_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4832,7 +4967,7 @@ func (x *WelfareContinuousPayDataList) String() string { func (*WelfareContinuousPayDataList) ProtoMessage() {} func (x *WelfareContinuousPayDataList) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[44] + mi := &file_common_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4845,7 +4980,7 @@ func (x *WelfareContinuousPayDataList) ProtoReflect() protoreflect.Message { // Deprecated: Use WelfareContinuousPayDataList.ProtoReflect.Descriptor instead. func (*WelfareContinuousPayDataList) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{44} + return file_common_proto_rawDescGZIP(), []int{46} } func (x *WelfareContinuousPayDataList) GetList() []*WelfareSpree { @@ -4910,7 +5045,7 @@ type VIPcfg struct { func (x *VIPcfg) Reset() { *x = VIPcfg{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[45] + mi := &file_common_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4923,7 +5058,7 @@ func (x *VIPcfg) String() string { func (*VIPcfg) ProtoMessage() {} func (x *VIPcfg) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[45] + mi := &file_common_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4936,7 +5071,7 @@ func (x *VIPcfg) ProtoReflect() protoreflect.Message { // Deprecated: Use VIPcfg.ProtoReflect.Descriptor instead. func (*VIPcfg) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{45} + return file_common_proto_rawDescGZIP(), []int{47} } func (x *VIPcfg) GetVipId() int32 { @@ -5072,7 +5207,7 @@ type VIPcfgDataList struct { func (x *VIPcfgDataList) Reset() { *x = VIPcfgDataList{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[46] + mi := &file_common_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5085,7 +5220,7 @@ func (x *VIPcfgDataList) String() string { func (*VIPcfgDataList) ProtoMessage() {} func (x *VIPcfgDataList) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[46] + mi := &file_common_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5098,7 +5233,7 @@ func (x *VIPcfgDataList) ProtoReflect() protoreflect.Message { // Deprecated: Use VIPcfgDataList.ProtoReflect.Descriptor instead. func (*VIPcfgDataList) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{46} + return file_common_proto_rawDescGZIP(), []int{48} } func (x *VIPcfgDataList) GetList() []*VIPcfg { @@ -5137,7 +5272,7 @@ type WbCtrlCfg struct { func (x *WbCtrlCfg) Reset() { *x = WbCtrlCfg{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[47] + mi := &file_common_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5150,7 +5285,7 @@ func (x *WbCtrlCfg) String() string { func (*WbCtrlCfg) ProtoMessage() {} func (x *WbCtrlCfg) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[47] + mi := &file_common_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5163,7 +5298,7 @@ func (x *WbCtrlCfg) ProtoReflect() protoreflect.Message { // Deprecated: Use WbCtrlCfg.ProtoReflect.Descriptor instead. func (*WbCtrlCfg) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{47} + return file_common_proto_rawDescGZIP(), []int{49} } func (x *WbCtrlCfg) GetPlatform() string { @@ -5216,7 +5351,7 @@ type EntrySwitch struct { func (x *EntrySwitch) Reset() { *x = EntrySwitch{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[48] + mi := &file_common_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5229,7 +5364,7 @@ func (x *EntrySwitch) String() string { func (*EntrySwitch) ProtoMessage() {} func (x *EntrySwitch) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[48] + mi := &file_common_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5242,7 +5377,7 @@ func (x *EntrySwitch) ProtoReflect() protoreflect.Message { // Deprecated: Use EntrySwitch.ProtoReflect.Descriptor instead. func (*EntrySwitch) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{48} + return file_common_proto_rawDescGZIP(), []int{50} } func (x *EntrySwitch) GetPlatform() string { @@ -5279,7 +5414,7 @@ type ChessRankConfig struct { func (x *ChessRankConfig) Reset() { *x = ChessRankConfig{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[49] + mi := &file_common_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5292,7 +5427,7 @@ func (x *ChessRankConfig) String() string { func (*ChessRankConfig) ProtoMessage() {} func (x *ChessRankConfig) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[49] + mi := &file_common_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5305,7 +5440,7 @@ func (x *ChessRankConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ChessRankConfig.ProtoReflect.Descriptor instead. func (*ChessRankConfig) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{49} + return file_common_proto_rawDescGZIP(), []int{51} } func (x *ChessRankConfig) GetName() string { @@ -5342,7 +5477,7 @@ type ChessRankcfgData struct { func (x *ChessRankcfgData) Reset() { *x = ChessRankcfgData{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[50] + mi := &file_common_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5355,7 +5490,7 @@ func (x *ChessRankcfgData) String() string { func (*ChessRankcfgData) ProtoMessage() {} func (x *ChessRankcfgData) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[50] + mi := &file_common_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5368,7 +5503,7 @@ func (x *ChessRankcfgData) ProtoReflect() protoreflect.Message { // Deprecated: Use ChessRankcfgData.ProtoReflect.Descriptor instead. func (*ChessRankcfgData) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{50} + return file_common_proto_rawDescGZIP(), []int{52} } func (x *ChessRankcfgData) GetDatas() []*ChessRankConfig { @@ -5416,7 +5551,7 @@ type PlayerPool struct { func (x *PlayerPool) Reset() { *x = PlayerPool{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[51] + mi := &file_common_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5429,7 +5564,7 @@ func (x *PlayerPool) String() string { func (*PlayerPool) ProtoMessage() {} func (x *PlayerPool) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[51] + mi := &file_common_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5442,7 +5577,7 @@ func (x *PlayerPool) ProtoReflect() protoreflect.Message { // Deprecated: Use PlayerPool.ProtoReflect.Descriptor instead. func (*PlayerPool) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{51} + return file_common_proto_rawDescGZIP(), []int{53} } func (x *PlayerPool) GetPlatform() string { @@ -5560,7 +5695,7 @@ type GameConfig struct { func (x *GameConfig) Reset() { *x = GameConfig{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[52] + mi := &file_common_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5573,7 +5708,7 @@ func (x *GameConfig) String() string { func (*GameConfig) ProtoMessage() {} func (x *GameConfig) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[52] + mi := &file_common_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5586,7 +5721,7 @@ func (x *GameConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use GameConfig.ProtoReflect.Descriptor instead. func (*GameConfig) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{52} + return file_common_proto_rawDescGZIP(), []int{54} } func (x *GameConfig) GetPlatform() string { @@ -5651,7 +5786,7 @@ type WelfarePhoneLotteryStatus struct { func (x *WelfarePhoneLotteryStatus) Reset() { *x = WelfarePhoneLotteryStatus{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[53] + mi := &file_common_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5664,7 +5799,7 @@ func (x *WelfarePhoneLotteryStatus) String() string { func (*WelfarePhoneLotteryStatus) ProtoMessage() {} func (x *WelfarePhoneLotteryStatus) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[53] + mi := &file_common_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5677,7 +5812,7 @@ func (x *WelfarePhoneLotteryStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use WelfarePhoneLotteryStatus.ProtoReflect.Descriptor instead. func (*WelfarePhoneLotteryStatus) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{53} + return file_common_proto_rawDescGZIP(), []int{55} } func (x *WelfarePhoneLotteryStatus) GetPlatform() string { @@ -5707,7 +5842,7 @@ type WelfareCollectConfig struct { func (x *WelfareCollectConfig) Reset() { *x = WelfareCollectConfig{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[54] + mi := &file_common_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5720,7 +5855,7 @@ func (x *WelfareCollectConfig) String() string { func (*WelfareCollectConfig) ProtoMessage() {} func (x *WelfareCollectConfig) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[54] + mi := &file_common_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5733,7 +5868,7 @@ func (x *WelfareCollectConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use WelfareCollectConfig.ProtoReflect.Descriptor instead. func (*WelfareCollectConfig) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{54} + return file_common_proto_rawDescGZIP(), []int{56} } func (x *WelfareCollectConfig) GetPlatform() string { @@ -5764,7 +5899,7 @@ type ChannelSwitchConfig struct { func (x *ChannelSwitchConfig) Reset() { *x = ChannelSwitchConfig{} if protoimpl.UnsafeEnabled { - mi := &file_common_proto_msgTypes[55] + mi := &file_common_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5777,7 +5912,7 @@ func (x *ChannelSwitchConfig) String() string { func (*ChannelSwitchConfig) ProtoMessage() {} func (x *ChannelSwitchConfig) ProtoReflect() protoreflect.Message { - mi := &file_common_proto_msgTypes[55] + mi := &file_common_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5790,7 +5925,7 @@ func (x *ChannelSwitchConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ChannelSwitchConfig.ProtoReflect.Descriptor instead. func (*ChannelSwitchConfig) Descriptor() ([]byte, []int) { - return file_common_proto_rawDescGZIP(), []int{55} + return file_common_proto_rawDescGZIP(), []int{57} } func (x *ChannelSwitchConfig) GetTp() int32 { @@ -6459,7 +6594,7 @@ var file_common_proto_rawDesc = []byte{ 0x55, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x55, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x44, 0x6f, 0x77, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x44, 0x6f, 0x77, 0x6e, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x22, 0xd5, 0x06, 0x0a, 0x0d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, + 0x69, 0x6d, 0x69, 0x74, 0x22, 0xed, 0x06, 0x0a, 0x0d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, @@ -6512,258 +6647,270 @@ var file_common_proto_rawDesc = []byte{ 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x18, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x22, 0x5a, 0x0a, 0x11, - 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x29, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x64, 0x0a, 0x0b, 0x57, 0x65, 0x6c, 0x66, - 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x5f, 0x49, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x4f, - 0x0a, 0x14, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x65, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, - 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x44, 0x61, 0x74, 0x65, 0x22, - 0x2a, 0x0a, 0x14, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x61, 0x74, 0x65, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x52, 0x61, 0x74, 0x65, 0x22, 0xba, 0x01, 0x0a, 0x18, - 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x44, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, - 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x52, 0x61, - 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, - 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x54, 0x75, 0x72, - 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x61, 0x74, 0x65, 0x52, 0x08, 0x52, 0x61, 0x74, 0x65, + 0x28, 0x05, 0x52, 0x08, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x53, 0x68, 0x6f, 0x77, 0x49, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x68, + 0x6f, 0x77, 0x49, 0x64, 0x22, 0x5a, 0x0a, 0x11, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x44, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x04, 0x4c, 0x69, 0x73, + 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, + 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x61, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x55, - 0x70, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x79, 0x12, 0x31, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x55, - 0x70, 0x44, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, - 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, - 0x52, 0x09, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x10, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x22, 0x5b, 0x0a, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, + 0x02, 0x4f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x0e, 0x0a, + 0x02, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x56, 0x0a, + 0x0d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x29, 0x0a, 0x04, 0x4c, 0x69, + 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, + 0x69, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x04, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x64, 0x0a, 0x0b, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, + 0x44, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x5f, 0x49, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x4f, 0x0a, 0x14, 0x57, + 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, + 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, + 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x44, 0x61, 0x74, 0x65, 0x22, 0x2a, 0x0a, 0x14, + 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x52, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x04, 0x52, 0x61, 0x74, 0x65, 0x22, 0xba, 0x01, 0x0a, 0x18, 0x57, 0x65, 0x6c, + 0x66, 0x61, 0x72, 0x65, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, + 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, + 0x66, 0x61, 0x72, 0x65, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, + 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x52, 0x61, 0x74, 0x65, 0x4c, + 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x62, 0x61, + 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x52, 0x61, 0x74, 0x65, 0x52, 0x08, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, + 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, + 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x61, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x55, 0x70, 0x57, 0x65, + 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x64, 0x64, + 0x55, 0x70, 0x44, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x41, 0x64, 0x64, + 0x55, 0x70, 0x44, 0x61, 0x79, 0x12, 0x31, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, + 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, + 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x09, 0x41, + 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x10, 0x57, 0x65, 0x6c, + 0x66, 0x61, 0x72, 0x65, 0x37, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x44, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x44, 0x61, 0x79, 0x12, + 0x27, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, + 0x74, 0x65, 0x52, 0x04, 0x44, 0x61, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x55, + 0x70, 0x44, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, + 0x62, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, + 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x09, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, + 0x22, 0x78, 0x0a, 0x14, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x37, 0x53, 0x69, 0x67, 0x6e, + 0x44, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x37, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x74, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x44, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x44, - 0x61, 0x79, 0x12, 0x27, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, - 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x44, 0x61, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x09, 0x41, - 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x57, 0x65, 0x6c, - 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x09, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, - 0x61, 0x74, 0x65, 0x22, 0x78, 0x0a, 0x14, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x37, 0x53, - 0x69, 0x67, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x4c, - 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x62, 0x61, - 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x37, 0x53, 0x69, 0x67, 0x6e, 0x44, - 0x61, 0x74, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0xdb, 0x01, - 0x0a, 0x0c, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, - 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, - 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x31, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x31, 0x12, 0x16, - 0x0a, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, - 0x70, 0x72, 0x69, 0x63, 0x65, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x5f, 0x49, 0x64, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0xa3, 0x01, 0x0a, 0x17, - 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x44, + 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0xdb, 0x01, 0x0a, 0x0c, 0x42, + 0x6c, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, + 0x73, 0x75, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x73, + 0x75, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x31, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x69, + 0x63, 0x65, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x17, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x5f, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0xa3, 0x01, 0x0a, 0x17, 0x57, 0x65, 0x6c, + 0x66, 0x61, 0x72, 0x65, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x6c, 0x69, 0x6e, + 0x64, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, + 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, + 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4d, 0x69, 0x6e, 0x49, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4d, 0x69, 0x6e, 0x49, 0x64, 0x22, 0xc5, + 0x01, 0x0a, 0x0c, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x53, 0x70, 0x72, 0x65, 0x65, 0x12, + 0x10, 0x0a, 0x03, 0x44, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x44, 0x61, + 0x79, 0x12, 0x27, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, + 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x49, + 0x50, 0x45, 0x58, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, 0x49, 0x50, 0x45, 0x58, + 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, + 0x69, 0x63, 0x65, 0x31, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x32, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x69, + 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x44, 0x69, + 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x8d, 0x01, 0x0a, 0x17, 0x57, 0x65, 0x6c, 0x66, 0x61, + 0x72, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x61, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, + 0x65, 0x53, 0x70, 0x72, 0x65, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, + 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, + 0x12, 0x14, 0x0a, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x1c, 0x57, 0x65, 0x6c, 0x66, 0x61, + 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x50, 0x61, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x42, - 0x6c, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x4c, 0x69, 0x73, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, + 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x53, 0x70, 0x72, 0x65, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4d, - 0x69, 0x6e, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4d, 0x69, 0x6e, 0x49, - 0x64, 0x22, 0xc5, 0x01, 0x0a, 0x0c, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x53, 0x70, 0x72, - 0x65, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x03, 0x44, 0x61, 0x79, 0x12, 0x27, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, - 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x14, 0x0a, - 0x05, 0x56, 0x49, 0x50, 0x45, 0x58, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, 0x49, - 0x50, 0x45, 0x58, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x31, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, - 0x72, 0x69, 0x63, 0x65, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x32, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x32, 0x12, 0x1a, 0x0a, - 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x8d, 0x01, 0x0a, 0x17, 0x57, 0x65, - 0x6c, 0x66, 0x61, 0x72, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x61, 0x79, 0x44, 0x61, 0x74, - 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, - 0x66, 0x61, 0x72, 0x65, 0x53, 0x70, 0x72, 0x65, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, - 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, - 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x1c, 0x57, 0x65, - 0x6c, 0x66, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x50, - 0x61, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x4c, 0x69, - 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, - 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x53, 0x70, 0x72, 0x65, 0x65, 0x52, 0x04, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x42, + 0x72, 0x65, 0x61, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x42, 0x72, 0x65, 0x61, + 0x6b, 0x22, 0xc4, 0x05, 0x0a, 0x06, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x12, 0x14, 0x0a, 0x05, + 0x56, 0x69, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, 0x69, 0x70, + 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x56, 0x49, 0x50, 0x63, 0x66, + 0x67, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x41, 0x77, + 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x69, 0x70, 0x45, 0x78, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x56, 0x69, 0x70, 0x45, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, + 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x31, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x31, 0x12, + 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x32, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x32, 0x12, + 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x33, 0x18, 0x07, 0x20, + 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x33, 0x12, + 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x34, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x34, 0x12, + 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x35, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x35, 0x12, + 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x36, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x36, 0x12, + 0x3e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x18, 0x0b, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x56, 0x49, 0x50, + 0x63, 0x66, 0x67, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x12, + 0x28, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, + 0x65, 0x67, 0x65, 0x37, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, + 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x38, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, + 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x38, 0x12, 0x28, 0x0a, 0x0f, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x18, 0x0e, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, + 0x65, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x32, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x32, 0x12, 0x18, 0x0a, + 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x37, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x37, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x1a, + 0x38, 0x0a, 0x0a, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x69, + 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x70, 0x0a, 0x0e, 0x56, 0x49, 0x50, 0x63, + 0x66, 0x67, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x04, 0x4c, 0x69, + 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, + 0x69, 0x2e, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x6f, + 0x6e, 0x65, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, + 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x22, 0x95, 0x01, 0x0a, 0x09, 0x57, + 0x62, 0x43, 0x74, 0x72, 0x6c, 0x43, 0x66, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x61, 0x6c, 0x43, 0x74, 0x72, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x52, 0x65, 0x61, 0x6c, 0x43, 0x74, 0x72, 0x6c, + 0x12, 0x16, 0x0a, 0x06, 0x4e, 0x6f, 0x76, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x06, 0x4e, 0x6f, 0x76, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x57, 0x65, 0x6c, 0x66, + 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x57, 0x65, 0x6c, 0x66, 0x61, + 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4b, 0x69, 0x6c, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x4b, 0x69, 0x6c, 0x6c, 0x50, 0x6f, 0x69, 0x6e, + 0x74, 0x73, 0x22, 0x57, 0x0a, 0x0b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x77, 0x69, 0x74, 0x63, + 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, + 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x08, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x64, 0x0a, 0x0f, 0x43, + 0x68, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, + 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x27, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, + 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x49, 0x74, 0x65, + 0x6d, 0x22, 0x75, 0x0a, 0x10, 0x43, 0x68, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x63, 0x66, + 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x0a, 0x05, 0x44, 0x61, 0x74, 0x61, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, + 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x79, 0x63, 0x6c, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x42, - 0x72, 0x65, 0x61, 0x6b, 0x22, 0xc4, 0x05, 0x0a, 0x06, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x12, - 0x14, 0x0a, 0x05, 0x56, 0x69, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x56, 0x69, 0x70, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x56, 0x49, - 0x50, 0x63, 0x66, 0x67, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x69, 0x70, 0x45, 0x78, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, 0x69, 0x70, 0x45, 0x78, 0x12, 0x14, 0x0a, 0x05, - 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x50, 0x72, 0x69, - 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x31, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, - 0x65, 0x31, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x32, - 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, - 0x65, 0x32, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x33, - 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, - 0x65, 0x33, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x34, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, - 0x65, 0x34, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x35, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, - 0x65, 0x35, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x36, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, - 0x65, 0x36, 0x12, 0x3e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, - 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, - 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, - 0x37, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, - 0x65, 0x37, 0x12, 0x28, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, - 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x50, 0x72, 0x69, - 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, - 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x38, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x38, 0x12, 0x28, 0x0a, 0x0f, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x18, - 0x0e, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74, - 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, - 0x32, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x32, - 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x37, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x37, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x11, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x1a, 0x38, 0x0a, 0x0a, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3d, 0x0a, 0x0f, - 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x70, 0x0a, 0x0e, 0x56, - 0x49, 0x50, 0x63, 0x66, 0x67, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, - 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x77, 0x65, - 0x62, 0x61, 0x70, 0x69, 0x2e, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x52, 0x04, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1e, 0x0a, - 0x0a, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x01, 0x52, 0x0a, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x22, 0x95, 0x01, - 0x0a, 0x09, 0x57, 0x62, 0x43, 0x74, 0x72, 0x6c, 0x43, 0x66, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x61, 0x6c, 0x43, - 0x74, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x52, 0x65, 0x61, 0x6c, 0x43, - 0x74, 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x4e, 0x6f, 0x76, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x06, 0x4e, 0x6f, 0x76, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x57, - 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x57, 0x65, - 0x6c, 0x66, 0x61, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4b, 0x69, 0x6c, 0x6c, 0x50, 0x6f, 0x69, - 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x4b, 0x69, 0x6c, 0x6c, 0x50, - 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x57, 0x0a, 0x0b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x77, - 0x69, 0x74, 0x63, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x12, 0x14, 0x0a, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x08, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x64, - 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x27, 0x0a, 0x04, 0x49, - 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61, - 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, - 0x49, 0x74, 0x65, 0x6d, 0x22, 0x75, 0x0a, 0x10, 0x43, 0x68, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, - 0x6b, 0x63, 0x66, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x0a, 0x05, 0x44, 0x61, 0x74, 0x61, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, - 0x2e, 0x43, 0x68, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x05, 0x44, 0x61, 0x74, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x22, 0xb4, 0x03, 0x0a, 0x0a, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x55, 0x70, 0x70, 0x65, - 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x4c, 0x6f, 0x77, 0x65, - 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x51, 0x75, 0x44, 0x75, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x51, 0x75, 0x44, 0x75, 0x12, 0x1c, 0x0a, 0x09, 0x55, 0x70, - 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x55, - 0x70, 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x55, 0x70, 0x70, 0x65, - 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, - 0x55, 0x70, 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x1c, 0x0a, 0x09, - 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x4c, 0x6f, - 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0c, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x18, - 0x0a, 0x07, 0x46, 0x69, 0x67, 0x68, 0x74, 0x55, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x46, 0x69, 0x67, 0x68, 0x74, 0x55, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x46, 0x69, 0x67, 0x68, - 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x46, 0x69, 0x67, - 0x68, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, 0x79, 0x55, 0x70, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x50, 0x61, 0x79, 0x55, 0x70, 0x12, 0x18, 0x0a, 0x07, - 0x50, 0x61, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x50, - 0x61, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x69, 0x61, 0x6e, 0x48, 0x75, - 0x52, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x54, 0x69, 0x61, 0x6e, - 0x48, 0x75, 0x52, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x10, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x77, 0x69, 0x74, - 0x63, 0x68, 0x22, 0xc8, 0x01, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, - 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x53, - 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x69, 0x61, 0x6e, 0x48, 0x75, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x69, 0x61, 0x6e, 0x48, 0x75, 0x12, 0x14, 0x0a, - 0x05, 0x50, 0x61, 0x69, 0x4b, 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x50, 0x61, - 0x69, 0x4b, 0x75, 0x12, 0x16, 0x0a, 0x06, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x46, - 0x65, 0x6e, 0x43, 0x68, 0x61, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0b, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, - 0x0a, 0x47, 0x6f, 0x6f, 0x64, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0a, 0x47, 0x6f, 0x6f, 0x64, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x22, 0x4f, 0x0a, - 0x19, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, - 0x74, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x4a, - 0x0a, 0x14, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x67, 0x0a, 0x13, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, - 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x24, 0x0a, - 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, - 0x61, 0x6d, 0x65, 0x42, 0x26, 0x5a, 0x24, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, - 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x22, 0xb4, 0x03, 0x0a, 0x0a, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x51, 0x75, 0x44, 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x04, 0x51, 0x75, 0x44, 0x75, 0x12, 0x1c, 0x0a, 0x09, 0x55, 0x70, 0x70, 0x65, 0x72, + 0x4f, 0x64, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x55, 0x70, 0x70, 0x65, + 0x72, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4f, 0x64, + 0x64, 0x73, 0x4d, 0x61, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x55, 0x70, 0x70, + 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x77, + 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4c, 0x6f, + 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x4c, 0x6f, 0x77, 0x65, 0x72, + 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x4c, + 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x46, + 0x69, 0x67, 0x68, 0x74, 0x55, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x46, 0x69, + 0x67, 0x68, 0x74, 0x55, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x46, 0x69, 0x67, 0x68, 0x74, 0x44, 0x6f, + 0x77, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x46, 0x69, 0x67, 0x68, 0x74, 0x44, + 0x6f, 0x77, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, 0x79, 0x55, 0x70, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x50, 0x61, 0x79, 0x55, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x61, 0x79, + 0x44, 0x6f, 0x77, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x50, 0x61, 0x79, 0x44, + 0x6f, 0x77, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x69, 0x61, 0x6e, 0x48, 0x75, 0x52, 0x61, 0x74, + 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x54, 0x69, 0x61, 0x6e, 0x48, 0x75, 0x52, + 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, 0x6f, + 0x6c, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, + 0xc8, 0x01, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, + 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, + 0x69, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, + 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x69, 0x61, 0x6e, 0x48, 0x75, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x54, 0x69, 0x61, 0x6e, 0x48, 0x75, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, + 0x69, 0x4b, 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x50, 0x61, 0x69, 0x4b, 0x75, + 0x12, 0x16, 0x0a, 0x06, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x46, 0x65, 0x6e, 0x43, + 0x68, 0x61, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x46, + 0x65, 0x6e, 0x43, 0x68, 0x61, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x6f, + 0x6f, 0x64, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x47, 0x6f, 0x6f, 0x64, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x22, 0x4f, 0x0a, 0x19, 0x57, 0x65, + 0x6c, 0x66, 0x61, 0x72, 0x65, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, + 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x4a, 0x0a, 0x14, 0x57, + 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, + 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x67, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0e, + 0x0a, 0x02, 0x54, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x12, 0x1a, + 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x6e, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, + 0x42, 0x26, 0x5a, 0x24, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x2f, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -6778,7 +6925,7 @@ func file_common_proto_rawDescGZIP() []byte { return file_common_proto_rawDescData } -var file_common_proto_msgTypes = make([]protoimpl.MessageInfo, 61) +var file_common_proto_msgTypes = make([]protoimpl.MessageInfo, 63) var file_common_proto_goTypes = []interface{}{ (*MysqlDbSetting)(nil), // 0: webapi.MysqlDbSetting (*MongoDbSetting)(nil), // 1: webapi.MongoDbSetting @@ -6813,81 +6960,84 @@ var file_common_proto_goTypes = []interface{}{ (*MatchInfoAward)(nil), // 30: webapi.MatchInfoAward (*GameMatchDate)(nil), // 31: webapi.GameMatchDate (*GameMatchDateList)(nil), // 32: webapi.GameMatchDateList - (*WelfareDate)(nil), // 33: webapi.WelfareDate - (*WelfareTurnplateDate)(nil), // 34: webapi.WelfareTurnplateDate - (*WelfareTurnplateRate)(nil), // 35: webapi.WelfareTurnplateRate - (*WelfareTurnplateDateList)(nil), // 36: webapi.WelfareTurnplateDateList - (*AddUpWelfareDate)(nil), // 37: webapi.AddUpWelfareDate - (*Welfare7SignDate)(nil), // 38: webapi.Welfare7SignDate - (*Welfare7SignDateList)(nil), // 39: webapi.Welfare7SignDateList - (*BlindBoxData)(nil), // 40: webapi.BlindBoxData - (*WelfareBlindBoxDataList)(nil), // 41: webapi.WelfareBlindBoxDataList - (*WelfareSpree)(nil), // 42: webapi.WelfareSpree - (*WelfareFirstPayDataList)(nil), // 43: webapi.WelfareFirstPayDataList - (*WelfareContinuousPayDataList)(nil), // 44: webapi.WelfareContinuousPayDataList - (*VIPcfg)(nil), // 45: webapi.VIPcfg - (*VIPcfgDataList)(nil), // 46: webapi.VIPcfgDataList - (*WbCtrlCfg)(nil), // 47: webapi.WbCtrlCfg - (*EntrySwitch)(nil), // 48: webapi.EntrySwitch - (*ChessRankConfig)(nil), // 49: webapi.ChessRankConfig - (*ChessRankcfgData)(nil), // 50: webapi.ChessRankcfgData - (*PlayerPool)(nil), // 51: webapi.PlayerPool - (*GameConfig)(nil), // 52: webapi.GameConfig - (*WelfarePhoneLotteryStatus)(nil), // 53: webapi.WelfarePhoneLotteryStatus - (*WelfareCollectConfig)(nil), // 54: webapi.WelfareCollectConfig - (*ChannelSwitchConfig)(nil), // 55: webapi.ChannelSwitchConfig - nil, // 56: webapi.Platform.BindTelRewardEntry - nil, // 57: webapi.PlayerData.RankScoreEntry - nil, // 58: webapi.ItemShop.AwardEntry - nil, // 59: webapi.VIPcfg.AwardEntry - nil, // 60: webapi.VIPcfg.Privilege7Entry - (*server.DB_GameFree)(nil), // 61: server.DB_GameFree + (*MatchTypeInfo)(nil), // 33: webapi.MatchTypeInfo + (*GameMatchType)(nil), // 34: webapi.GameMatchType + (*WelfareDate)(nil), // 35: webapi.WelfareDate + (*WelfareTurnplateDate)(nil), // 36: webapi.WelfareTurnplateDate + (*WelfareTurnplateRate)(nil), // 37: webapi.WelfareTurnplateRate + (*WelfareTurnplateDateList)(nil), // 38: webapi.WelfareTurnplateDateList + (*AddUpWelfareDate)(nil), // 39: webapi.AddUpWelfareDate + (*Welfare7SignDate)(nil), // 40: webapi.Welfare7SignDate + (*Welfare7SignDateList)(nil), // 41: webapi.Welfare7SignDateList + (*BlindBoxData)(nil), // 42: webapi.BlindBoxData + (*WelfareBlindBoxDataList)(nil), // 43: webapi.WelfareBlindBoxDataList + (*WelfareSpree)(nil), // 44: webapi.WelfareSpree + (*WelfareFirstPayDataList)(nil), // 45: webapi.WelfareFirstPayDataList + (*WelfareContinuousPayDataList)(nil), // 46: webapi.WelfareContinuousPayDataList + (*VIPcfg)(nil), // 47: webapi.VIPcfg + (*VIPcfgDataList)(nil), // 48: webapi.VIPcfgDataList + (*WbCtrlCfg)(nil), // 49: webapi.WbCtrlCfg + (*EntrySwitch)(nil), // 50: webapi.EntrySwitch + (*ChessRankConfig)(nil), // 51: webapi.ChessRankConfig + (*ChessRankcfgData)(nil), // 52: webapi.ChessRankcfgData + (*PlayerPool)(nil), // 53: webapi.PlayerPool + (*GameConfig)(nil), // 54: webapi.GameConfig + (*WelfarePhoneLotteryStatus)(nil), // 55: webapi.WelfarePhoneLotteryStatus + (*WelfareCollectConfig)(nil), // 56: webapi.WelfareCollectConfig + (*ChannelSwitchConfig)(nil), // 57: webapi.ChannelSwitchConfig + nil, // 58: webapi.Platform.BindTelRewardEntry + nil, // 59: webapi.PlayerData.RankScoreEntry + nil, // 60: webapi.ItemShop.AwardEntry + nil, // 61: webapi.VIPcfg.AwardEntry + nil, // 62: webapi.VIPcfg.Privilege7Entry + (*server.DB_GameFree)(nil), // 63: server.DB_GameFree } var file_common_proto_depIdxs = []int32{ 2, // 0: webapi.Platform.Leaderboard:type_name -> webapi.RankSwitch 3, // 1: webapi.Platform.ClubConfig:type_name -> webapi.ClubConfig 4, // 2: webapi.Platform.ThirdGameMerchant:type_name -> webapi.ThirdGame - 56, // 3: webapi.Platform.BindTelReward:type_name -> webapi.Platform.BindTelRewardEntry + 58, // 3: webapi.Platform.BindTelReward:type_name -> webapi.Platform.BindTelRewardEntry 6, // 4: webapi.GameConfigGlobal.GameStatus:type_name -> webapi.GameStatus - 61, // 5: webapi.GameFree.DbGameFree:type_name -> server.DB_GameFree + 63, // 5: webapi.GameFree.DbGameFree:type_name -> server.DB_GameFree 8, // 6: webapi.PlatformGameConfig.DbGameFrees:type_name -> webapi.GameFree 0, // 7: webapi.PlatformDbConfig.Mysql:type_name -> webapi.MysqlDbSetting 1, // 8: webapi.PlatformDbConfig.MongoDb:type_name -> webapi.MongoDbSetting 1, // 9: webapi.PlatformDbConfig.MongoDbLog:type_name -> webapi.MongoDbSetting - 61, // 10: webapi.GameConfigGroup.DbGameFree:type_name -> server.DB_GameFree - 57, // 11: webapi.PlayerData.RankScore:type_name -> webapi.PlayerData.RankScoreEntry + 63, // 10: webapi.GameConfigGroup.DbGameFree:type_name -> server.DB_GameFree + 59, // 11: webapi.PlayerData.RankScore:type_name -> webapi.PlayerData.RankScoreEntry 29, // 12: webapi.PlayerData.Items:type_name -> webapi.ItemInfo 20, // 13: webapi.OnlineReport.GameCount:type_name -> webapi.OnlineGameCnt 22, // 14: webapi.CommonNoticeList.List:type_name -> webapi.CommonNotice 25, // 15: webapi.ExchangeShop.ExType:type_name -> webapi.ExchangeType 24, // 16: webapi.ExchangeShopList.List:type_name -> webapi.ExchangeShop - 58, // 17: webapi.ItemShop.Award:type_name -> webapi.ItemShop.AwardEntry + 60, // 17: webapi.ItemShop.Award:type_name -> webapi.ItemShop.AwardEntry 27, // 18: webapi.ItemShopList.List:type_name -> webapi.ItemShop 29, // 19: webapi.MatchInfoAward.ItemId:type_name -> webapi.ItemInfo 30, // 20: webapi.GameMatchDate.Award:type_name -> webapi.MatchInfoAward 29, // 21: webapi.GameMatchDate.SignupCostItem:type_name -> webapi.ItemInfo 31, // 22: webapi.GameMatchDateList.List:type_name -> webapi.GameMatchDate - 33, // 23: webapi.WelfareTurnplateDate.Date:type_name -> webapi.WelfareDate - 34, // 24: webapi.WelfareTurnplateDateList.List:type_name -> webapi.WelfareTurnplateDate - 35, // 25: webapi.WelfareTurnplateDateList.RateList:type_name -> webapi.WelfareTurnplateRate - 33, // 26: webapi.AddUpWelfareDate.AddUpDate:type_name -> webapi.WelfareDate - 33, // 27: webapi.Welfare7SignDate.Date:type_name -> webapi.WelfareDate - 37, // 28: webapi.Welfare7SignDate.AddUpDate:type_name -> webapi.AddUpWelfareDate - 38, // 29: webapi.Welfare7SignDateList.List:type_name -> webapi.Welfare7SignDate - 40, // 30: webapi.WelfareBlindBoxDataList.List:type_name -> webapi.BlindBoxData - 33, // 31: webapi.WelfareSpree.Item:type_name -> webapi.WelfareDate - 42, // 32: webapi.WelfareFirstPayDataList.List:type_name -> webapi.WelfareSpree - 42, // 33: webapi.WelfareContinuousPayDataList.List:type_name -> webapi.WelfareSpree - 59, // 34: webapi.VIPcfg.Award:type_name -> webapi.VIPcfg.AwardEntry - 60, // 35: webapi.VIPcfg.Privilege7:type_name -> webapi.VIPcfg.Privilege7Entry - 45, // 36: webapi.VIPcfgDataList.List:type_name -> webapi.VIPcfg - 33, // 37: webapi.ChessRankConfig.Item:type_name -> webapi.WelfareDate - 49, // 38: webapi.ChessRankcfgData.Datas:type_name -> webapi.ChessRankConfig - 39, // [39:39] is the sub-list for method output_type - 39, // [39:39] 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 + 33, // 23: webapi.GameMatchType.List:type_name -> webapi.MatchTypeInfo + 35, // 24: webapi.WelfareTurnplateDate.Date:type_name -> webapi.WelfareDate + 36, // 25: webapi.WelfareTurnplateDateList.List:type_name -> webapi.WelfareTurnplateDate + 37, // 26: webapi.WelfareTurnplateDateList.RateList:type_name -> webapi.WelfareTurnplateRate + 35, // 27: webapi.AddUpWelfareDate.AddUpDate:type_name -> webapi.WelfareDate + 35, // 28: webapi.Welfare7SignDate.Date:type_name -> webapi.WelfareDate + 39, // 29: webapi.Welfare7SignDate.AddUpDate:type_name -> webapi.AddUpWelfareDate + 40, // 30: webapi.Welfare7SignDateList.List:type_name -> webapi.Welfare7SignDate + 42, // 31: webapi.WelfareBlindBoxDataList.List:type_name -> webapi.BlindBoxData + 35, // 32: webapi.WelfareSpree.Item:type_name -> webapi.WelfareDate + 44, // 33: webapi.WelfareFirstPayDataList.List:type_name -> webapi.WelfareSpree + 44, // 34: webapi.WelfareContinuousPayDataList.List:type_name -> webapi.WelfareSpree + 61, // 35: webapi.VIPcfg.Award:type_name -> webapi.VIPcfg.AwardEntry + 62, // 36: webapi.VIPcfg.Privilege7:type_name -> webapi.VIPcfg.Privilege7Entry + 47, // 37: webapi.VIPcfgDataList.List:type_name -> webapi.VIPcfg + 35, // 38: webapi.ChessRankConfig.Item:type_name -> webapi.WelfareDate + 51, // 39: webapi.ChessRankcfgData.Datas:type_name -> webapi.ChessRankConfig + 40, // [40:40] is the sub-list for method output_type + 40, // [40:40] 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_common_proto_init() } @@ -7293,7 +7443,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WelfareDate); i { + switch v := v.(*MatchTypeInfo); i { case 0: return &v.state case 1: @@ -7305,7 +7455,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WelfareTurnplateDate); i { + switch v := v.(*GameMatchType); i { case 0: return &v.state case 1: @@ -7317,7 +7467,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WelfareTurnplateRate); i { + switch v := v.(*WelfareDate); i { case 0: return &v.state case 1: @@ -7329,7 +7479,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WelfareTurnplateDateList); i { + switch v := v.(*WelfareTurnplateDate); i { case 0: return &v.state case 1: @@ -7341,7 +7491,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddUpWelfareDate); i { + switch v := v.(*WelfareTurnplateRate); i { case 0: return &v.state case 1: @@ -7353,7 +7503,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Welfare7SignDate); i { + switch v := v.(*WelfareTurnplateDateList); i { case 0: return &v.state case 1: @@ -7365,7 +7515,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Welfare7SignDateList); i { + switch v := v.(*AddUpWelfareDate); i { case 0: return &v.state case 1: @@ -7377,7 +7527,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BlindBoxData); i { + switch v := v.(*Welfare7SignDate); i { case 0: return &v.state case 1: @@ -7389,7 +7539,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WelfareBlindBoxDataList); i { + switch v := v.(*Welfare7SignDateList); i { case 0: return &v.state case 1: @@ -7401,7 +7551,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WelfareSpree); i { + switch v := v.(*BlindBoxData); i { case 0: return &v.state case 1: @@ -7413,7 +7563,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WelfareFirstPayDataList); i { + switch v := v.(*WelfareBlindBoxDataList); i { case 0: return &v.state case 1: @@ -7425,7 +7575,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WelfareContinuousPayDataList); i { + switch v := v.(*WelfareSpree); i { case 0: return &v.state case 1: @@ -7437,7 +7587,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VIPcfg); i { + switch v := v.(*WelfareFirstPayDataList); i { case 0: return &v.state case 1: @@ -7449,7 +7599,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VIPcfgDataList); i { + switch v := v.(*WelfareContinuousPayDataList); i { case 0: return &v.state case 1: @@ -7461,7 +7611,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WbCtrlCfg); i { + switch v := v.(*VIPcfg); i { case 0: return &v.state case 1: @@ -7473,7 +7623,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EntrySwitch); i { + switch v := v.(*VIPcfgDataList); i { case 0: return &v.state case 1: @@ -7485,7 +7635,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChessRankConfig); i { + switch v := v.(*WbCtrlCfg); i { case 0: return &v.state case 1: @@ -7497,7 +7647,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChessRankcfgData); i { + switch v := v.(*EntrySwitch); i { case 0: return &v.state case 1: @@ -7509,7 +7659,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PlayerPool); i { + switch v := v.(*ChessRankConfig); i { case 0: return &v.state case 1: @@ -7521,7 +7671,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GameConfig); i { + switch v := v.(*ChessRankcfgData); i { case 0: return &v.state case 1: @@ -7533,7 +7683,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WelfarePhoneLotteryStatus); i { + switch v := v.(*PlayerPool); i { case 0: return &v.state case 1: @@ -7545,7 +7695,7 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WelfareCollectConfig); i { + switch v := v.(*GameConfig); i { case 0: return &v.state case 1: @@ -7557,6 +7707,30 @@ func file_common_proto_init() { } } file_common_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WelfarePhoneLotteryStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_common_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WelfareCollectConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_common_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelSwitchConfig); i { case 0: return &v.state @@ -7575,7 +7749,7 @@ func file_common_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_common_proto_rawDesc, NumEnums: 0, - NumMessages: 61, + NumMessages: 63, NumExtensions: 0, NumServices: 0, }, diff --git a/protocol/webapi/common.proto b/protocol/webapi/common.proto index 1b6daf3..3a131bd 100644 --- a/protocol/webapi/common.proto +++ b/protocol/webapi/common.proto @@ -446,6 +446,7 @@ message GameMatchDate { int32 MatchLevel = 22; // 难度等级 repeated string OnChannelName = 23; // 开启的渠道名称 int32 CardType = 24; // 手机卡类型 + int32 ShowId = 25; // 比赛区分 } // etcd /game/game_match @@ -454,6 +455,18 @@ message GameMatchDateList{ string Platform = 2; } +message MatchTypeInfo{ + string Name = 1; // 名称 + int32 SortId = 2; // 序号 + bool On = 3; // 开关 + int32 Id = 4; // 类型id +} + +// etcd /game/match_type +message GameMatchType{ + string Platform = 1; + repeated MatchTypeInfo List = 2; // 比赛类型列表 +} message WelfareDate { int32 Grade = 1; // 数量 diff --git a/ranksrv/action_gatesrv.go b/ranksrv/action_gatesrv.go index bead5d8..6e2dee5 100644 --- a/ranksrv/action_gatesrv.go +++ b/ranksrv/action_gatesrv.go @@ -236,17 +236,47 @@ func CSInvite(s *netlib.Session, d *rankproto.GateTransmit, packetId int, data i } } - pack := &rankproto.SCInvite{ - Id: msg.GetId(), - Ranks: ranks, - Me: me, - Skip: msg.GetSkip(), - IsEndNum: IsEndNum, - RankMaxNum: model.GameParamData.RankInviteMaxNum, + f := func() { + pack := &rankproto.SCInvite{ + Id: msg.GetId(), + Ranks: ranks, + Me: me, + Skip: msg.GetSkip(), + IsEndNum: IsEndNum, + RankMaxNum: model.GameParamData.RankInviteMaxNum, + } + + common.SendToGate(sid, int(rankproto.Rank_PACKET_RANK_SCInvite), pack, s) + logger.Logger.Tracef("SCInvite: %v", pack) } - common.SendToGate(sid, int(rankproto.Rank_PACKET_RANK_SCInvite), pack, s) - logger.Logger.Tracef("SCInvite: %v", pack) + // 查询自己 + if me == nil { + task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} { + r, err := model.FindPlayerRankInviteScoreType(&model.FindPlayerRankInviteScoreArgs{ + Platform: d.Platform, + RankType: msg.GetId(), + SnId: d.Snid, + }) + if err != nil || r == nil { + logger.Logger.Errorf("FindPlayerRankInviteScoreType error: %v", err) + return nil + } + me = &rankproto.InviteRank{ + Snid: r.Data.SnId, + Name: r.Data.Name, + Rank: model.GameParamData.RankInviteMaxNum, + Score: r.Data.Score, + InviteNum: r.Data.InviteNum, + ModId: r.Data.ModId, + } + return nil + }), task.CompleteNotifyWrapper(func(i interface{}, t task.Task) { + f() + }), "rank_invite_me").Start() + } else { + f() + } }) return nil } diff --git a/worldsrv/action_game.go b/worldsrv/action_game.go index 7cc1b59..b93bdce 100644 --- a/worldsrv/action_game.go +++ b/worldsrv/action_game.go @@ -522,6 +522,7 @@ func _LeaveTransferThird2SystemTask(p *Player) { coinlogex = model.NewCoinLogEx(&model.CoinLogParam{ Platform: p.Platform, SnID: p.SnId, + Channel: p.Channel, ChangeType: common.BillTypeCoin, ChangeNum: amount, RemainNum: p.Coin + amount, @@ -1162,6 +1163,7 @@ func RefreshTransferThird2SystemTask(p *Player) { coinlogex = model.NewCoinLogEx(&model.CoinLogParam{ Platform: p.Platform, SnID: p.SnId, + Channel: p.Channel, ChangeType: common.BillTypeCoin, ChangeNum: amount, RemainNum: p.Coin + amount, diff --git a/worldsrv/action_player.go b/worldsrv/action_player.go index d442725..59bdb40 100644 --- a/worldsrv/action_player.go +++ b/worldsrv/action_player.go @@ -1414,6 +1414,7 @@ func (this *CSPlayerRegisterHandler) Process(s *netlib.Session, packetid int, da log := model.NewCoinLogEx(&model.CoinLogParam{ Platform: pi.Platform, SnID: pi.SnId, + Channel: pi.Channel, ChangeType: common.BillTypeCoin, ChangeNum: int64(model.GameParamData.NewPlayerCoin), RemainNum: pi.Coin + int64(model.GameParamData.NewPlayerCoin), diff --git a/worldsrv/action_rankmatch.go b/worldsrv/action_rankmatch.go index 05f8e0f..d29c0ea 100644 --- a/worldsrv/action_rankmatch.go +++ b/worldsrv/action_rankmatch.go @@ -61,6 +61,7 @@ func CSRMSeasonInfo(s *netlib.Session, packetId int, data interface{}, sid int64 pack.Seasons = append(pack.Seasons, info) } } + p.SendToClient(int(rankmatch.RankMatch_PACKET_RM_SCRMSeasonInfo), pack) logger.Logger.Trace("SCTMSeasonInfo:", pack) return nil @@ -270,6 +271,7 @@ func CSRMAward(s *netlib.Session, packetId int, data interface{}, sid int64) err Id: d.Award3Id, Num: d.Award3Num, }) + RankMgrSingleton.CheckShowRed(p.SnId) } p.SendToClient(int(rankmatch.RankMatch_PACKET_RM_SCRMAward), pack) diff --git a/worldsrv/action_server.go b/worldsrv/action_server.go index cd838f5..354e1f9 100644 --- a/worldsrv/action_server.go +++ b/worldsrv/action_server.go @@ -100,7 +100,23 @@ func init() { RankMgrSingleton.UpdateRobotSeason(p.Platform, p.SnId, scene.dbGameFree.GetRankType(), msg.GetRankScore()[scene.dbGameFree.GetRankType()], p.Name, p.Sex, p.HeadUrl, p.Coin, p.PlayerData.GetRoleId()) } else { - RankMgrSingleton.UpdatePlayerSeason(p.SnId, msg.GetRankScore()) + if model.GameParamData.TestRankMatchAward { + if RankMgrSingleton.playerSeasons[p.SnId] != nil { + if RankMgrSingleton.playerSeasons[p.SnId].RankType == nil { + RankMgrSingleton.playerSeasons[p.SnId].RankType = make(map[int32]*model.PlayerRankInfo) + } + if RankMgrSingleton.playerSeasons[p.SnId].RankType[1] == nil { + RankMgrSingleton.playerSeasons[p.SnId].RankType[1] = &model.PlayerRankInfo{} + } + RankMgrSingleton.playerSeasons[p.SnId].RankType[1].LastScore = 7500 + RankMgrSingleton.playerSeasons[p.SnId].RankType[1].Score = 7500 + RankMgrSingleton.playerSeasons[p.SnId].RankType[1].Awards = nil + } + RankMgrSingleton.UpdatePlayerSeason(p.SnId, map[int32]int64{1: 10000}) + } else { + RankMgrSingleton.UpdatePlayerSeason(p.SnId, msg.GetRankScore()) + } + } } //更新玩家等级排行榜 diff --git a/worldsrv/action_tournament.go b/worldsrv/action_tournament.go index 8e9f114..3d44e47 100644 --- a/worldsrv/action_tournament.go +++ b/worldsrv/action_tournament.go @@ -59,6 +59,8 @@ func CSSignRace(s *netlib.Session, packetid int, data interface{}, sid int64) er pack.RetCode = code //0成功 1重复报名 2比赛没有开启 3道具不足 4不在报名时间段 5金币不足 6钻石不足 } + logger.Logger.Infof("player(%v) match(%v) SignUp is ok.", p.SnId, tmId) + if code == int32(tournament.SignRaceCode_OPRC_Close) || code == int32(tournament.SignRaceCode_OPRC_Time) { TournamentMgr.CancelSignUpAll(platform, tmId) @@ -73,7 +75,7 @@ func CSSignRace(s *netlib.Session, packetid int, data interface{}, sid int64) er logger.Logger.Trace("SCSignRace ", pack) // 检查是否可以开始比赛(关闭机器人时,比赛开赛) - if code == 0 && signSucc && !TournamentMgr.IsUseRobot(platform, tmId) { + if code == 0 && signSucc && !TournamentMgr.IsUseRobot(platform, tmId, 0) { if TournamentMgr.CanStart(platform, tmId) { TournamentMgr.Start(platform, tmId) } diff --git a/worldsrv/etcd.go b/worldsrv/etcd.go index e833101..53a4037 100644 --- a/worldsrv/etcd.go +++ b/worldsrv/etcd.go @@ -30,6 +30,8 @@ func init() { etcd.Register(etcd.ETCDKEY_GAME_NOTICE, webapi.CommonNoticeList{}, platformConfigEvent) // 比赛配置 etcd.Register(etcd.ETCDKEY_GAME_MATCH, webapi.GameMatchDateList{}, platformConfigEvent) + // 比赛场类型 + etcd.Register(etcd.ETCDKEY_GAME_MATCH_TYPE, webapi.GameMatchType{}, platformConfigEvent) // 个人水池配置 etcd.Register(etcd.ETCDKEY_PLAYERPOOL, webapi.PlayerPool{}, platformConfigEvent) // 商品兑换 @@ -154,6 +156,12 @@ func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, e } else { TournamentMgr.UpdateData(false, config) } + case *webapi.GameMatchType: + if isInit { + TournamentMgr.UpdateTypeList(true, config) + } else { + TournamentMgr.UpdateTypeList(false, config) + } case *webapi.ChannelSwitchConfig: PlatformMgrSingleton.GetConfig(config.Platform).ChannelSwitch[config.GetTp()] = config if !isInit { diff --git a/worldsrv/player.go b/worldsrv/player.go index 392e221..315069d 100644 --- a/worldsrv/player.go +++ b/worldsrv/player.go @@ -1899,6 +1899,7 @@ func (this *Player) AddDiamond(num, add int64, gainWay int32, oper, remark strin log := model.NewCoinLogEx(&model.CoinLogParam{ Platform: this.Platform, SnID: this.SnId, + Channel: this.Channel, ChangeType: common.BillTypeDiamond, ChangeNum: num, RemainNum: this.Diamond, @@ -1954,6 +1955,7 @@ func (this *Player) AddCoin(num, add int64, gainWay int32, oper, remark string) log := model.NewCoinLogEx(&model.CoinLogParam{ Platform: this.Platform, SnID: this.SnId, + Channel: this.Channel, ChangeType: common.BillTypeCoin, ChangeNum: num, RemainNum: this.Coin, @@ -2008,6 +2010,7 @@ func (this *Player) AddCoinAsync(num, add int64, gainWay int32, oper, remark str log := model.NewCoinLogEx(&model.CoinLogParam{ Platform: this.Platform, SnID: this.SnId, + Channel: this.Channel, ChangeType: common.BillTypeCoin, ChangeNum: num, RemainNum: this.Coin, @@ -3604,7 +3607,7 @@ func (this *Player) SendShowRed(showType hall_proto.ShowRedCode, showChild, isSh }, } proto.SetDefaults(pack) - //logger.Logger.Trace("SCShowRed:", pack) + logger.Logger.Trace("SCShowRed:", pack) this.SendToClient(int(hall_proto.HallPacketID_PACKET_SC_SHOWRED), pack) } @@ -4009,6 +4012,42 @@ func (this *Player) SendRankSeason() { info := &rankmatch.SeasonInfo{Id: k} info.Lv, info.Score = RankMgrSingleton.GetPlayerRankLV(k, this.SnId) info.LastLv, info.LastScore = RankMgrSingleton.GetPlayerLastRankLV(k, this.SnId) + se := RankMgrSingleton.GetPlayerSeason(this.SnId) + if se != nil && se.RankType[k] != nil { + if se.RankType[k].LastScore < se.RankType[k].Score { + oldLv := srvdata.RankLevelMgr.GetRankLevel(k, se.RankType[k].LastScore) + if info.Lv > oldLv { + var awards *rankmatch.AwardItem + var maxLv int32 = -1 + for _, item := range RankMgrSingleton.GetRankAwardList(k) { + // 1 可领取 2已领取 + if info.Lv >= item.Lv { + has := false + // 是否已领取 + for _, vv := range v.Awards { + if vv.Id == item.Id { + if vv.Ts > 0 { + has = true + } + break + } + } + if !has { + if item.Lv > maxLv { + awards = item + maxLv = item.Lv + } + } + } + } + if awards != nil { + info.Award = awards + } + } + se.RankType[k].LastScore = se.RankType[k].Score + } + } + pack.Seasons = append(pack.Seasons, info) } } diff --git a/worldsrv/rankmatch.go b/worldsrv/rankmatch.go index 05726e3..61dbb46 100644 --- a/worldsrv/rankmatch.go +++ b/worldsrv/rankmatch.go @@ -126,6 +126,7 @@ func (this *PlayerRankSeason) CheckNewSeason() { } for k, v := range this.RankType { this.RankType[k].Score = RankMgrSingleton.NewSeasonScore(v.Score) + this.RankType[k].LastScore = this.RankType[k].Score this.RankType[k].Awards = nil } @@ -155,6 +156,7 @@ func (this *PlayerRankSeason) Update(rankScore map[int32]int64) { for k, v := range this.RankType { if v != nil && v.Score != rankScore[k] { + v.LastScore = v.Score v.Score = rankScore[k] this.Dirty = true this.CheckShowRed(k) @@ -207,10 +209,12 @@ here: break } } - if has { - p := PlayerMgrSington.GetPlayerBySnId(this.SnId) - if p != nil { + p := PlayerMgrSington.GetPlayerBySnId(this.SnId) + if p != nil { + if has { p.SendShowRed(hall_proto.ShowRedCode_RankReward, rankType, 1) + } else { + p.SendShowRed(hall_proto.ShowRedCode_RankReward, rankType, 0) } } } diff --git a/worldsrv/shopmgr.go b/worldsrv/shopmgr.go index 6825768..83974d4 100644 --- a/worldsrv/shopmgr.go +++ b/worldsrv/shopmgr.go @@ -646,13 +646,28 @@ func (this *ShopMgr) GainShop(shopInfo *model.ShopInfo, p *Player, vipShopId, po costNum := this.GetCostNum(p, shopInfo, vipShopId) if shopInfo.Ad <= 0 { //消耗 logger.Logger.Tracef("GainShop ConstType[%v],shopName[%v],costNum[%v]", shopInfo.ConstType, shopName, costNum) + + var gainWay int32 = common.GainWay_Shop_Buy + switch shopInfo.Page { + case ShopPageCoin: + gainWay = common.GainWayBuyCoin + case ShopPageGift: + if shopInfo.Id == common.ShopIdWeekCard { + gainWay = common.GainWayBuyWeekCard + } + case ShopPageItem: + gainWay = common.GainWayBuyItem + case ShopPageVip: + gainWay = common.GainWayVipBuyCoin + } + switch shopInfo.ConstType { case ShopConsumeCoin: - p.AddCoin(-costNum, 0, common.GainWay_Shop_Buy, "sys", shopName) + p.AddCoin(-costNum, 0, gainWay, "sys", shopName) case ShopConsumeDiamond: - p.AddDiamond(-costNum, 0, common.GainWay_Shop_Buy, "sys", shopName) + p.AddDiamond(-costNum, 0, gainWay, "sys", shopName) case ShopConsumePhoneScore: - p.AddPhoneScore(-costNum, 0, common.GainWay_Shop_Buy, "sys", shopName) + p.AddPhoneScore(-costNum, 0, gainWay, "sys", shopName) default: logger.Logger.Errorf("GainShop ConstType[%v] err", shopInfo.ConstType) return shop.OpResultCode_OPRC_Error diff --git a/worldsrv/task_login.go b/worldsrv/task_login.go index 1417914..00784a5 100644 --- a/worldsrv/task_login.go +++ b/worldsrv/task_login.go @@ -135,6 +135,7 @@ func (t *TaskLogin) Call(o *basic.Object) interface{} { log := model.NewCoinLogEx(&model.CoinLogParam{ Platform: playerData.Platform, SnID: playerData.SnId, + Channel: playerData.Channel, ChangeType: common.BillTypeCoin, ChangeNum: int64(model.GameParamData.NewPlayerCoin), RemainNum: playerData.Coin + int64(model.GameParamData.NewPlayerCoin), @@ -165,6 +166,7 @@ func (t *TaskLogin) Call(o *basic.Object) interface{} { log := model.NewCoinLogEx(&model.CoinLogParam{ Platform: playerData.Platform, SnID: playerData.SnId, + Channel: playerData.Channel, ChangeType: common.BillTypeCoin, ChangeNum: coin, RemainNum: playerData.Coin + coin, @@ -189,6 +191,7 @@ func (t *TaskLogin) Call(o *basic.Object) interface{} { log := model.NewCoinLogEx(&model.CoinLogParam{ Platform: playerData.Platform, SnID: playerData.SnId, + Channel: playerData.Channel, ChangeType: common.BillTypeDiamond, ChangeNum: diamond, RemainNum: playerData.Diamond + diamond, diff --git a/worldsrv/tournament.go b/worldsrv/tournament.go index 64aa182..be514e9 100644 --- a/worldsrv/tournament.go +++ b/worldsrv/tournament.go @@ -30,9 +30,12 @@ func init() { } const ( - MatchTypeNormal = 1 // 锦标赛 - MatchTypeChampion = 2 // 冠军赛 - MatchTypeVIP = 3 // vip比赛 + // 如果这里比赛类型没有,默认是锦标赛 + MatchTypeNormal = iota + 1 // 锦标赛 + MatchTypeChampion // 冠军赛/实物赛 + MatchTypeVIP // vip比赛 + MatchTypePhone // 话费赛 + MatchTypeMax // 最大比赛类型 ) const ( @@ -81,6 +84,7 @@ type PlayerRoundInfo struct { type Tournament struct { BaseClockSinker + TypeList map[string]*webapiproto.GameMatchType // 比赛类型列表 平台id:比赛类型列表 GameMatchDateList map[string]map[int32]*webapiproto.GameMatchDate // 比赛配置,platform:比赛场配置id:比赛配置 singleSignupPlayers map[int32]*SignupInfo // 开启机器人时,报名的玩家,玩家Id:报名信息 signupPlayers map[string]map[int32]*SignInfo // 报名的玩家 platform:比赛配置id:报名人 @@ -93,6 +97,7 @@ type Tournament struct { func NewTournament() *Tournament { ret := &Tournament{ + TypeList: make(map[string]*webapiproto.GameMatchType), GameMatchDateList: make(map[string]map[int32]*webapiproto.GameMatchDate), singleSignupPlayers: make(map[int32]*SignupInfo), signupPlayers: make(map[string]map[int32]*SignInfo), @@ -245,8 +250,34 @@ func (this *Tournament) UpdateData(init bool, data *webapiproto.GameMatchDateLis } } +func (this *Tournament) UpdateTypeList(init bool, data *webapiproto.GameMatchType) { + if data.Platform == "0" { + return + } + this.TypeList[data.Platform] = data + if !init { + //todo 优化 + for _, v := range PlayerMgrSington.playerOfPlatform[data.Platform] { + pack := TournamentMgr.GetSCTMInfosPack(data.Platform, v.AppChannel) + v.SendToClient(int(tournament.TOURNAMENTID_PACKET_TM_SCTMInfos), pack) + logger.Logger.Trace("SCTMInfos UpdateTypeList", pack) + } + } +} + // GetMatchInfo 比赛配置 -func (this *Tournament) GetMatchInfo(platform string, tmId int32) *webapiproto.GameMatchDate { +// !!!没有sortId会获取最新配置 +func (this *Tournament) GetMatchInfo(platform string, tmId int32, sortId int64) *webapiproto.GameMatchDate { + if sortId > 0 { + v := this.matches[tmId] + if v != nil { + vv := v[sortId] + if vv != nil { + return vv.gmd + } + } + return nil + } if list, ok := this.GameMatchDateList[platform]; ok { if gmd, ok1 := list[tmId]; ok1 { return gmd @@ -257,7 +288,7 @@ func (this *Tournament) GetMatchInfo(platform string, tmId int32) *webapiproto.G // MatchSwitch 比赛开关 func (this *Tournament) MatchSwitch(platform string, tmId int32) bool { - return this.IsMatchOn(this.GetMatchInfo(platform, tmId)) + return this.IsMatchOn(this.GetMatchInfo(platform, tmId, 0)) } // IsMatchOn 比赛开关 @@ -266,8 +297,8 @@ func (this *Tournament) IsMatchOn(match *webapiproto.GameMatchDate) bool { } // IsUseRobot 是否用机器人 -func (this *Tournament) IsUseRobot(platform string, tmId int32) bool { - return this.IsRobotOn(this.GetMatchInfo(platform, tmId)) +func (this *Tournament) IsUseRobot(platform string, tmId int32, sortId int64) bool { + return this.IsRobotOn(this.GetMatchInfo(platform, tmId, sortId)) } // IsRobotOn 是否用机器人 @@ -387,7 +418,7 @@ func (this *Tournament) IsMatchWaiting(platform string, snId int32) (bool, int32 // 报名费用 0成功 3道具不足 5金币不足 6钻石不足 7免费次数不足 func (this *Tournament) signUpCost(p *Player, tmId int32, cost bool) (bool, int32) { logger.Logger.Tracef("signUpCost 比赛id:%v 玩家:%v 报名:%v", tmId, p.SnId, cost) - gmd := this.GetMatchInfo(p.Platform, tmId) + gmd := this.GetMatchInfo(p.Platform, tmId, 0) if gmd == nil || p.IsRob { return true, 0 } @@ -482,7 +513,7 @@ func (this *Tournament) signUpCost(p *Player, tmId int32, cost bool) (bool, int3 func (this *Tournament) SignUp(tmId int32, p *Player) (bool, int32) { logger.Logger.Tracef("报名 比赛id:%v 玩家:%v", tmId, p.SnId) // 开启 - info := this.GetMatchInfo(p.Platform, tmId) + info := this.GetMatchInfo(p.Platform, tmId, 0) if !this.IsMatchOn(info) { return false, int32(tournament.SignRaceCode_OPRC_Close) } @@ -636,7 +667,7 @@ func (this *Tournament) ForceQuit(platform string, snId int32) { func (this *Tournament) CanStart(platform string, tmId int32) bool { if this.signupPlayers != nil && this.signupPlayers[platform] != nil { if signInfo, ok := this.signupPlayers[platform][tmId]; ok { - matchInfo := this.GetMatchInfo(signInfo.Platform, tmId) + matchInfo := this.GetMatchInfo(signInfo.Platform, tmId, 0) if matchInfo != nil { n := 0 for _, v := range signInfo.signup { @@ -669,7 +700,7 @@ func (this *Tournament) Start(platform string, tmId int32) { this.matches[tmId] = make(map[int64]*TmMatch) } - matchInfo := this.GetMatchInfo(platform, tmId) + matchInfo := this.GetMatchInfo(platform, tmId, 0) signInfo := this.signupPlayers[platform][tmId] if matchInfo == nil || signInfo == nil || len(signInfo.signup) == 0 { @@ -1356,6 +1387,7 @@ func (this *Tournament) GetSCTMInfosPack(platform, channelName string) *tourname Rule: info.Rule, SortId: info.SortId, OnChannelName: info.OnChannelName, + ShowId: info.ShowId, } if info.MatchTimeWeek != nil && len(info.MatchTimeWeek) > 0 { for _, week := range info.MatchTimeWeek { @@ -1404,12 +1436,26 @@ func (this *Tournament) GetSCTMInfosPack(platform, channelName string) *tourname pack.TMInfo = append(pack.TMInfo, tMInfo) } } + if l := this.TypeList[platform]; l != nil { + for _, v := range l.GetList() { + pack.TypeList = append(pack.TypeList, &tournament.MatchTypeInfo{ + Name: v.GetName(), + SortId: v.GetSortId(), + On: v.GetOn(), + Id: v.GetId(), + }) + } + } } return pack } func (this *Tournament) MakeMatchLog(platform string, tmId int32, sortId int64) *model.MatchLog { - gameMatchDate := this.GetMatchInfo(platform, tmId) + gameMatchDate := this.GetMatchInfo(platform, tmId, sortId) + if gameMatchDate == nil { + logger.Logger.Errorf("MakeMatchLog gameMatchDate == nil tmId:%d sortId:%d", tmId, sortId) + return nil + } matchLog := model.NewMatchLog() _, ok := this.roundPlayers[sortId] if !ok { @@ -1463,6 +1509,7 @@ func (this *Tournament) MakeMatchLog(platform string, tmId int32, sortId int64) matchLog.GameFreeId = gameMatchDate.GameFreeId matchLog.StartTime = time.Unix(this.matches[tmId][sortId].StartTime, 0) matchLog.EndTime = time.Now() + matchLog.SortId = sortId return matchLog } @@ -1495,7 +1542,7 @@ func (this *Tournament) Update() { if info == nil || info.Ts <= 0 { continue } - matchInfo := this.GetMatchInfo(info.Platform, info.TmId) + matchInfo := this.GetMatchInfo(info.Platform, info.TmId, 0) if this.IsMatchOn(matchInfo) && !this.IsOutTime(matchInfo) && this.IsRobotOn(matchInfo) { needTime := this.playerWaitStart[snId] if time.Now().Unix()-info.Ts > needTime { diff --git a/worldsrv/trascate_webapi.go b/worldsrv/trascate_webapi.go index c0d73f7..96d40ec 100644 --- a/worldsrv/trascate_webapi.go +++ b/worldsrv/trascate_webapi.go @@ -898,6 +898,7 @@ func init() { coinlogex := model.NewCoinLogEx(&model.CoinLogParam{ Platform: pd.Platform, SnID: member_snid, + Channel: pd.Channel, ChangeType: common.BillTypeCoin, ChangeNum: coin, RemainNum: oldGold + coin, @@ -1023,6 +1024,7 @@ func init() { coinlogex := model.NewCoinLogEx(&model.CoinLogParam{ Platform: pd.Platform, SnID: member_snid, + Channel: pd.Channel, ChangeType: common.BillTypeCoin, ChangeNum: coin, RemainNum: oldGold + coin, @@ -1665,6 +1667,7 @@ func init() { coinlogex := model.NewCoinLogEx(&model.CoinLogParam{ Platform: player.Platform, SnID: player.SnId, + Channel: player.Channel, ChangeType: msg.GetLogType(), ChangeNum: msg.GetGold(), RemainNum: remainNum + msg.GetGold(), @@ -1750,6 +1753,7 @@ func init() { coinlogex := model.NewCoinLogEx(&model.CoinLogParam{ Platform: findPlayer.Platform, SnID: findPlayer.SnId, + Channel: findPlayer.Channel, ChangeType: msg.GetLogType(), ChangeNum: msg.GetGold(), RemainNum: remainNum + msg.GetGold(), @@ -1871,6 +1875,7 @@ func init() { coinlogex := model.NewCoinLogEx(&model.CoinLogParam{ Platform: pd.Platform, SnID: member_snid, + Channel: pd.Channel, ChangeType: common.BillTypeCoin, ChangeNum: coin + coinEx, RemainNum: oldGold + coin + coinEx, @@ -1995,6 +2000,7 @@ func init() { coinlogex := model.NewCoinLogEx(&model.CoinLogParam{ Platform: pd.Platform, SnID: member_snid, + Channel: pd.Channel, ChangeType: common.BillTypeCoin, ChangeNum: coin + coinEx, RemainNum: oldGold + coin + coinEx,