diff --git a/common/constant.go b/common/constant.go index 1cabd6d..77c53f7 100644 --- a/common/constant.go +++ b/common/constant.go @@ -330,7 +330,9 @@ const ( GainWayCompoundGain = 119 // 道具合成获得 GainWayItem_PigBankTakeCoin = 120 // 购买金币存钱罐奖励道具 GainWayItem_PigBankTakeDiamond = 121 // 购买钻石存钱罐奖励道具 - GainWayRedPacket = 122 // 红包奖励 + GainWayNianCost = 122 //年兽活动消耗 + GainWayNianGain = 123 //年兽活动获得 + GainWayRedPacket = 124 // 红包奖励 ) // 后台选择 金币变化类型 的充值 类型id号起始 @@ -563,27 +565,29 @@ const ( // 道具ID const ( - ItemIDCoin = 100001 // 金币对应的itemId - ItemIDDiamond = 100002 // 钻石对应的itemId - ItemIDMoneyPond = 100003 // 玩家金币池对应物品Id - ItemIDVipExp = 100005 // VIP经验对应的物品Id - ItemIDPhoneScore = 100006 // 手机抽奖积分 - ItemIDWeekScore = 100004 // 周活跃积分 - ItemIDGiftBox = 50001 // 碎片礼盒 - ItemIDCollectBox = 50002 // 集卡礼盒 - ItemIDLike = 100007 // 点赞 - ItemIDCoffee = 100008 // 咖啡 - ItemIDBucket = 100009 // 水桶 - ItemIDSlippers = 100010 // 拖鞋 - ItemIDPermit = 100011 // 赛季通行证积分 - ItemIDLong = 50013 // 龙币 - ItemIDPetSkill = 11001 //宠物技能升级道具 - ItemIDVCard = 30001 // v卡 - ItemIDJCard = 30002 // 金券 - ItemDiamondScore = 100012 //钻石积分 - ItemIDClawdoll = 40003 // 娃娃卡 - ItemDollCard = 40004 // 娃娃卡积分 - ItemIDRoomCard = 40002 // 房卡 + ItemIDCoin = 100001 // 金币对应的itemId + ItemIDDiamond = 100002 // 钻石对应的itemId + ItemIDMoneyPond = 100003 // 玩家金币池对应物品Id + ItemIDVipExp = 100005 // VIP经验对应的物品Id + ItemIDPhoneScore = 100006 // 手机抽奖积分 + ItemIDWeekScore = 100004 // 周活跃积分 + ItemIDGiftBox = 50001 // 碎片礼盒 + ItemIDCollectBox = 50002 // 集卡礼盒 + ItemIDLike = 100007 // 点赞 + ItemIDCoffee = 100008 // 咖啡 + ItemIDBucket = 100009 // 水桶 + ItemIDSlippers = 100010 // 拖鞋 + ItemIDPermit = 100011 // 赛季通行证积分 + ItemIDLong = 50013 // 龙币 + ItemIDPetSkill = 11001 //宠物技能升级道具 + ItemIDVCard = 30001 // v卡 + ItemIDJCard = 30002 // 金券 + ItemDiamondScore = 100012 //钻石积分 + ItemIDClawdoll = 40003 // 娃娃卡 + ItemDollCard = 40004 // 娃娃卡积分 + ItemIDRoomCard = 40002 // 房卡 + ItemIDLittleGuaranteed = 50014 //小爆竹 + ItemIDBigGuaranteed = 50015 //大爆竹 ) func ToItemId(id int32) int32 { @@ -695,6 +699,7 @@ const ( TaskTypeTienlenWinCoin = 29 // Tienlen赢取金币数量 TaskTypeRankMatchWinTimes = 30 // 排位胜利次数 TaskTypeBuyPermit = 31 // 购买典藏通行证 + TaskTypeBuyRedBag = 32 // 参与红包雨活动 ) const ( @@ -712,6 +717,8 @@ const ( TaskActivityTypeAchieve = 5 // 成就任务 TaskActivityTypePermitEveryDay = 6 // 赛季通行证每日任务 TaskActivityTypePermit = 7 // 赛季通行证任务 + TaskActivityTypeNianEveryDay = 8 // 年兽每日任务 + TaskActivityTypeNian = 9 // 活动期间年兽任务 ) const HeadRange = 3 // 机器人头像id范围 diff --git a/data/DB_GameItem.dat b/data/DB_GameItem.dat index 4c96186..fb28f10 100644 Binary files a/data/DB_GameItem.dat and b/data/DB_GameItem.dat differ diff --git a/data/DB_GameItem.json b/data/DB_GameItem.json index c7bfc88..954355e 100644 --- a/data/DB_GameItem.json +++ b/data/DB_GameItem.json @@ -7226,6 +7226,80 @@ "CompositionMax": 1, "Location": "0", "Describe": "作用:用于报名特殊钻石赛事;\n产出途径:存钱罐" + }, + { + "Id": 50014, + "Name": "爆竹", + "ShowLocation": [ + 0, + 0, + 0 + ], + "Classify": [ + 0, + 0, + 0 + ], + "Type": 28, + "Effect0": [ + 0, + 0, + 0, + 0, + 0, + 0 + ], + "Effect": [ + 0, + 0, + 0, + 0, + 0, + 0 + ], + "SaleType": 1, + "SaleGold": 5000, + "Composition": 1, + "CompositionMax": 9999, + "Location": "0", + "Describe": "可在年兽活动中击退年兽,获得奖品" + }, + { + "Id": 50015, + "Name": "火箭爆竹", + "ShowLocation": [ + 0, + 0, + 0 + ], + "Classify": [ + 0, + 0, + 0 + ], + "Type": 28, + "Effect0": [ + 0, + 0, + 0, + 0, + 0, + 0 + ], + "Effect": [ + 0, + 0, + 0, + 0, + 0, + 0 + ], + "SaleType": 1, + "SaleGold": 5000, + "Composition": 1, + "CompositionMax": 9999, + "Location": "0", + "Describe": "可在年兽活动中击退年兽,获得奖品" } ] } \ No newline at end of file diff --git a/data/DB_NewYearActivity.dat b/data/DB_NewYearActivity.dat new file mode 100644 index 0000000..e1daacd --- /dev/null +++ b/data/DB_NewYearActivity.dat @@ -0,0 +1,27 @@ + +4 +SignReward50014,10;100001,100000" 签到奖励 +. SignExcReward50015,1"签到额外奖励 +=SignExcRewardMax2"$签到额外奖励赠送次数上限 +9SignExcRewardProp30"签到额外奖励赠送概率 + BossExp6000000" +BOSS血量 +9 +BossReward100001,100000;100002,10"BOSS击杀奖励 +0 LuckyRankNeed110000"幸运榜上榜条件 +0RankNeed80000000"总伤害榜上榜条件 +@ LittleHurtGold 80000,120000"小爆竹造成的伤害范围 +> + BigHurtGold 400000,600000"大爆竹造成的伤害范围 +4  +BigHurtExc30001"大爆竹额外掉落道具ID +> BigHurtExcNumber10,30"!大爆竹额外掉落数量范围 +5 LittleGuaranteed30"小爆竹保底掉落次数 +ALittleGuaranteedReward100002,5"小爆竹保底掉落物品 +2 BigGuaranteed10"大爆竹保底掉落次数 +?BigGuaranteedReward 30001,100"大爆竹保底掉落物品 +. +GiftShopID991001,991002,991003"礼包ID +@ GiftShopLimit3,0,0"&礼包每日限购次数,0为不限购 +4 BossExcLimit30"年兽死亡额外掉落要求 +" BuffCount1"Buff生效次数 \ No newline at end of file diff --git a/data/DB_NewYearActivity.json b/data/DB_NewYearActivity.json new file mode 100644 index 0000000..2268940 --- /dev/null +++ b/data/DB_NewYearActivity.json @@ -0,0 +1,124 @@ +{ + "Arr": [ + { + "Id": 1, + "PorpName": "SignReward", + "PropValue": "50014,10;100001,100000", + "PropDec": "签到奖励" + }, + { + "Id": 2, + "PorpName": "SignExcReward", + "PropValue": "50015,1", + "PropDec": "签到额外奖励" + }, + { + "Id": 3, + "PorpName": "SignExcRewardMax", + "PropValue": "2", + "PropDec": "签到额外奖励赠送次数上限" + }, + { + "Id": 4, + "PorpName": "SignExcRewardProp", + "PropValue": "30", + "PropDec": "签到额外奖励赠送概率" + }, + { + "Id": 5, + "PorpName": "BossExp", + "PropValue": "6000000", + "PropDec": "BOSS血量" + }, + { + "Id": 6, + "PorpName": "BossReward", + "PropValue": "100001,100000;100002,10", + "PropDec": "BOSS击杀奖励" + }, + { + "Id": 7, + "PorpName": "LuckyRankNeed", + "PropValue": "110000", + "PropDec": "幸运榜上榜条件" + }, + { + "Id": 8, + "PorpName": "RankNeed", + "PropValue": "80000000", + "PropDec": "总伤害榜上榜条件" + }, + { + "Id": 9, + "PorpName": "LittleHurtGold", + "PropValue": "80000,120000", + "PropDec": "小爆竹造成的伤害范围" + }, + { + "Id": 10, + "PorpName": "BigHurtGold", + "PropValue": "400000,600000", + "PropDec": "大爆竹造成的伤害范围" + }, + { + "Id": 11, + "PorpName": "BigHurtExc", + "PropValue": "30001", + "PropDec": "大爆竹额外掉落道具ID" + }, + { + "Id": 12, + "PorpName": "BigHurtExcNumber", + "PropValue": "10,30", + "PropDec": "大爆竹额外掉落数量范围" + }, + { + "Id": 13, + "PorpName": "LittleGuaranteed", + "PropValue": "30", + "PropDec": "小爆竹保底掉落次数" + }, + { + "Id": 14, + "PorpName": "LittleGuaranteedReward", + "PropValue": "100002,5", + "PropDec": "小爆竹保底掉落物品" + }, + { + "Id": 15, + "PorpName": "BigGuaranteed", + "PropValue": "10", + "PropDec": "大爆竹保底掉落次数" + }, + { + "Id": 16, + "PorpName": "BigGuaranteedReward", + "PropValue": "30001,100", + "PropDec": "大爆竹保底掉落物品" + }, + { + "Id": 17, + "PorpName": "GiftShopID", + "PropValue": "991001,991002,991003", + "PropDec": "礼包ID" + }, + { + "Id": 18, + "PorpName": "GiftShopLimit", + "PropValue": "3,0,0", + "PropDec": "礼包每日限购次数,0为不限购" + }, + { + "Id": 19, + "PorpName": "BossExcLimit", + "PropValue": "30", + "PropDec": "年兽死亡额外掉落要求" + }, + { + "Id": 20, + "PorpName": "BuffCount", + "PropValue": "1", + "PropDec": "Buff生效次数" + } + ] +} \ No newline at end of file diff --git a/data/DB_NewYearRankReward.dat b/data/DB_NewYearRankReward.dat new file mode 100644 index 0000000..2b3cb98 --- /dev/null +++ b/data/DB_NewYearRankReward.dat @@ -0,0 +1,84 @@ + +"""d +"d"" +""d" +""d +""c +""b +""a +""` +  ""_ + + +""^ +  ""] +  ""\ +  ""[ +""Z +""Y +""X +""W +""V +""U +"T" +""S +""R +""Q +""P +""O +""N +"M" +""L +""K +""J +""I +  ""H +!!"G" +""""F +##""E +$$""D +%%""C +&&"B" +''""A +((""@ +)"""d +*""d" ++"""d +,""d +-""c +.""b +/""a +0""` +1 ""_ +2 +""^ +3 ""] +4 ""\ +5 ""[ +6"Z" +7""Y +8""X +9"W" +:""V +;""U +<""T +=""S +>""R +?"Q" +@""P +A""O +B""N +C"M" +D""L +E"K" +F""J +G""I +H "H" +I!""G +J"""F +K#""E +L$""D +M%""C +N&""B +O'""A +P("@" \ No newline at end of file diff --git a/data/DB_NewYearRankReward.json b/data/DB_NewYearRankReward.json new file mode 100644 index 0000000..0715204 --- /dev/null +++ b/data/DB_NewYearRankReward.json @@ -0,0 +1,730 @@ +{ + "Arr": [ + { + "Id": 1, + "RankType": 1, + "RankLevelId": 1, + "AwardMap": { + "100001": 30, + "100002": 100, + "30009": 2 + } + }, + { + "Id": 2, + "RankType": 1, + "RankLevelId": 2, + "AwardMap": { + "100001": 30, + "100002": 100, + "30008": 2 + } + }, + { + "Id": 3, + "RankType": 1, + "RankLevelId": 3, + "AwardMap": { + "100001": 30, + "100002": 100, + "30008": 1 + } + }, + { + "Id": 4, + "RankType": 1, + "RankLevelId": 4, + "AwardMap": { + "100001": 30, + "100002": 100 + } + }, + { + "Id": 5, + "RankType": 1, + "RankLevelId": 5, + "AwardMap": { + "100001": 30, + "100002": 99 + } + }, + { + "Id": 6, + "RankType": 1, + "RankLevelId": 6, + "AwardMap": { + "100001": 30, + "100002": 98 + } + }, + { + "Id": 7, + "RankType": 1, + "RankLevelId": 7, + "AwardMap": { + "100001": 30, + "100002": 97 + } + }, + { + "Id": 8, + "RankType": 1, + "RankLevelId": 8, + "AwardMap": { + "100001": 30, + "100002": 96 + } + }, + { + "Id": 9, + "RankType": 1, + "RankLevelId": 9, + "AwardMap": { + "100001": 30, + "100002": 95 + } + }, + { + "Id": 10, + "RankType": 1, + "RankLevelId": 10, + "AwardMap": { + "100001": 30, + "100002": 94 + } + }, + { + "Id": 11, + "RankType": 1, + "RankLevelId": 11, + "AwardMap": { + "100001": 30, + "100002": 93 + } + }, + { + "Id": 12, + "RankType": 1, + "RankLevelId": 12, + "AwardMap": { + "100001": 30, + "100002": 92 + } + }, + { + "Id": 13, + "RankType": 1, + "RankLevelId": 13, + "AwardMap": { + "100001": 30, + "100002": 91 + } + }, + { + "Id": 14, + "RankType": 1, + "RankLevelId": 14, + "AwardMap": { + "100001": 30, + "100002": 90 + } + }, + { + "Id": 15, + "RankType": 1, + "RankLevelId": 15, + "AwardMap": { + "100001": 30, + "100002": 89 + } + }, + { + "Id": 16, + "RankType": 1, + "RankLevelId": 16, + "AwardMap": { + "100001": 30, + "100002": 88 + } + }, + { + "Id": 17, + "RankType": 1, + "RankLevelId": 17, + "AwardMap": { + "100001": 30, + "100002": 87 + } + }, + { + "Id": 18, + "RankType": 1, + "RankLevelId": 18, + "AwardMap": { + "100001": 30, + "100002": 86 + } + }, + { + "Id": 19, + "RankType": 1, + "RankLevelId": 19, + "AwardMap": { + "100001": 30, + "100002": 85 + } + }, + { + "Id": 20, + "RankType": 1, + "RankLevelId": 20, + "AwardMap": { + "100001": 30, + "100002": 84 + } + }, + { + "Id": 21, + "RankType": 1, + "RankLevelId": 21, + "AwardMap": { + "100001": 30, + "100002": 83 + } + }, + { + "Id": 22, + "RankType": 1, + "RankLevelId": 22, + "AwardMap": { + "100001": 30, + "100002": 82 + } + }, + { + "Id": 23, + "RankType": 1, + "RankLevelId": 23, + "AwardMap": { + "100001": 30, + "100002": 81 + } + }, + { + "Id": 24, + "RankType": 1, + "RankLevelId": 24, + "AwardMap": { + "100001": 30, + "100002": 80 + } + }, + { + "Id": 25, + "RankType": 1, + "RankLevelId": 25, + "AwardMap": { + "100001": 30, + "100002": 79 + } + }, + { + "Id": 26, + "RankType": 1, + "RankLevelId": 26, + "AwardMap": { + "100001": 30, + "100002": 78 + } + }, + { + "Id": 27, + "RankType": 1, + "RankLevelId": 27, + "AwardMap": { + "100001": 30, + "100002": 77 + } + }, + { + "Id": 28, + "RankType": 1, + "RankLevelId": 28, + "AwardMap": { + "100001": 30, + "100002": 76 + } + }, + { + "Id": 29, + "RankType": 1, + "RankLevelId": 29, + "AwardMap": { + "100001": 30, + "100002": 75 + } + }, + { + "Id": 30, + "RankType": 1, + "RankLevelId": 30, + "AwardMap": { + "100001": 30, + "100002": 74 + } + }, + { + "Id": 31, + "RankType": 1, + "RankLevelId": 31, + "AwardMap": { + "100001": 30, + "100002": 73 + } + }, + { + "Id": 32, + "RankType": 1, + "RankLevelId": 32, + "AwardMap": { + "100001": 30, + "100002": 72 + } + }, + { + "Id": 33, + "RankType": 1, + "RankLevelId": 33, + "AwardMap": { + "100001": 30, + "100002": 71 + } + }, + { + "Id": 34, + "RankType": 1, + "RankLevelId": 34, + "AwardMap": { + "100001": 30, + "100002": 70 + } + }, + { + "Id": 35, + "RankType": 1, + "RankLevelId": 35, + "AwardMap": { + "100001": 30, + "100002": 69 + } + }, + { + "Id": 36, + "RankType": 1, + "RankLevelId": 36, + "AwardMap": { + "100001": 30, + "100002": 68 + } + }, + { + "Id": 37, + "RankType": 1, + "RankLevelId": 37, + "AwardMap": { + "100001": 30, + "100002": 67 + } + }, + { + "Id": 38, + "RankType": 1, + "RankLevelId": 38, + "AwardMap": { + "100001": 30, + "100002": 66 + } + }, + { + "Id": 39, + "RankType": 1, + "RankLevelId": 39, + "AwardMap": { + "100001": 30, + "100002": 65 + } + }, + { + "Id": 40, + "RankType": 1, + "RankLevelId": 40, + "AwardMap": { + "100001": 30, + "100002": 64 + } + }, + { + "Id": 41, + "RankType": 2, + "RankLevelId": 1, + "AwardMap": { + "100001": 30, + "100002": 100, + "30009": 2 + } + }, + { + "Id": 42, + "RankType": 2, + "RankLevelId": 2, + "AwardMap": { + "100001": 30, + "100002": 100, + "30008": 2 + } + }, + { + "Id": 43, + "RankType": 2, + "RankLevelId": 3, + "AwardMap": { + "100001": 30, + "100002": 100, + "30008": 1 + } + }, + { + "Id": 44, + "RankType": 2, + "RankLevelId": 4, + "AwardMap": { + "100001": 30, + "100002": 100 + } + }, + { + "Id": 45, + "RankType": 2, + "RankLevelId": 5, + "AwardMap": { + "100001": 30, + "100002": 99 + } + }, + { + "Id": 46, + "RankType": 2, + "RankLevelId": 6, + "AwardMap": { + "100001": 30, + "100002": 98 + } + }, + { + "Id": 47, + "RankType": 2, + "RankLevelId": 7, + "AwardMap": { + "100001": 30, + "100002": 97 + } + }, + { + "Id": 48, + "RankType": 2, + "RankLevelId": 8, + "AwardMap": { + "100001": 30, + "100002": 96 + } + }, + { + "Id": 49, + "RankType": 2, + "RankLevelId": 9, + "AwardMap": { + "100001": 30, + "100002": 95 + } + }, + { + "Id": 50, + "RankType": 2, + "RankLevelId": 10, + "AwardMap": { + "100001": 30, + "100002": 94 + } + }, + { + "Id": 51, + "RankType": 2, + "RankLevelId": 11, + "AwardMap": { + "100001": 30, + "100002": 93 + } + }, + { + "Id": 52, + "RankType": 2, + "RankLevelId": 12, + "AwardMap": { + "100001": 30, + "100002": 92 + } + }, + { + "Id": 53, + "RankType": 2, + "RankLevelId": 13, + "AwardMap": { + "100001": 30, + "100002": 91 + } + }, + { + "Id": 54, + "RankType": 2, + "RankLevelId": 14, + "AwardMap": { + "100001": 30, + "100002": 90 + } + }, + { + "Id": 55, + "RankType": 2, + "RankLevelId": 15, + "AwardMap": { + "100001": 30, + "100002": 89 + } + }, + { + "Id": 56, + "RankType": 2, + "RankLevelId": 16, + "AwardMap": { + "100001": 30, + "100002": 88 + } + }, + { + "Id": 57, + "RankType": 2, + "RankLevelId": 17, + "AwardMap": { + "100001": 30, + "100002": 87 + } + }, + { + "Id": 58, + "RankType": 2, + "RankLevelId": 18, + "AwardMap": { + "100001": 30, + "100002": 86 + } + }, + { + "Id": 59, + "RankType": 2, + "RankLevelId": 19, + "AwardMap": { + "100001": 30, + "100002": 85 + } + }, + { + "Id": 60, + "RankType": 2, + "RankLevelId": 20, + "AwardMap": { + "100001": 30, + "100002": 84 + } + }, + { + "Id": 61, + "RankType": 2, + "RankLevelId": 21, + "AwardMap": { + "100001": 30, + "100002": 83 + } + }, + { + "Id": 62, + "RankType": 2, + "RankLevelId": 22, + "AwardMap": { + "100001": 30, + "100002": 82 + } + }, + { + "Id": 63, + "RankType": 2, + "RankLevelId": 23, + "AwardMap": { + "100001": 30, + "100002": 81 + } + }, + { + "Id": 64, + "RankType": 2, + "RankLevelId": 24, + "AwardMap": { + "100001": 30, + "100002": 80 + } + }, + { + "Id": 65, + "RankType": 2, + "RankLevelId": 25, + "AwardMap": { + "100001": 30, + "100002": 79 + } + }, + { + "Id": 66, + "RankType": 2, + "RankLevelId": 26, + "AwardMap": { + "100001": 30, + "100002": 78 + } + }, + { + "Id": 67, + "RankType": 2, + "RankLevelId": 27, + "AwardMap": { + "100001": 30, + "100002": 77 + } + }, + { + "Id": 68, + "RankType": 2, + "RankLevelId": 28, + "AwardMap": { + "100001": 30, + "100002": 76 + } + }, + { + "Id": 69, + "RankType": 2, + "RankLevelId": 29, + "AwardMap": { + "100001": 30, + "100002": 75 + } + }, + { + "Id": 70, + "RankType": 2, + "RankLevelId": 30, + "AwardMap": { + "100001": 30, + "100002": 74 + } + }, + { + "Id": 71, + "RankType": 2, + "RankLevelId": 31, + "AwardMap": { + "100001": 30, + "100002": 73 + } + }, + { + "Id": 72, + "RankType": 2, + "RankLevelId": 32, + "AwardMap": { + "100001": 30, + "100002": 72 + } + }, + { + "Id": 73, + "RankType": 2, + "RankLevelId": 33, + "AwardMap": { + "100001": 30, + "100002": 71 + } + }, + { + "Id": 74, + "RankType": 2, + "RankLevelId": 34, + "AwardMap": { + "100001": 30, + "100002": 70 + } + }, + { + "Id": 75, + "RankType": 2, + "RankLevelId": 35, + "AwardMap": { + "100001": 30, + "100002": 69 + } + }, + { + "Id": 76, + "RankType": 2, + "RankLevelId": 36, + "AwardMap": { + "100001": 30, + "100002": 68 + } + }, + { + "Id": 77, + "RankType": 2, + "RankLevelId": 37, + "AwardMap": { + "100001": 30, + "100002": 67 + } + }, + { + "Id": 78, + "RankType": 2, + "RankLevelId": 38, + "AwardMap": { + "100001": 30, + "100002": 66 + } + }, + { + "Id": 79, + "RankType": 2, + "RankLevelId": 39, + "AwardMap": { + "100001": 30, + "100002": 65 + } + }, + { + "Id": 80, + "RankType": 2, + "RankLevelId": 40, + "AwardMap": { + "100001": 30, + "100002": 64 + } + } + ] +} \ No newline at end of file diff --git a/data/DB_PigBank_Diamond.dat b/data/DB_PigBank_Diamond.dat index c40b846..3a06af9 100644 --- a/data/DB_PigBank_Diamond.dat +++ b/data/DB_PigBank_Diamond.dat @@ -1,4 +1,4 @@  (8@;PdX`c -< ((2Ÿ28@;JJƸPdX` -?/ 2(22Ÿ8@;JƸJPdX` \ No newline at end of file +< ((22Ÿ8@;JƸJPdX` +?/ 2(2Ÿ28@;JƸJPdX` \ No newline at end of file diff --git a/data/DB_PropExchange.dat b/data/DB_PropExchange.dat index e8c943c..cc7f196 100644 Binary files a/data/DB_PropExchange.dat and b/data/DB_PropExchange.dat differ diff --git a/data/DB_Task.dat b/data/DB_Task.dat index 3f51acb..0bbbaa0 100644 Binary files a/data/DB_Task.dat and b/data/DB_Task.dat differ diff --git a/data/DB_Task.json b/data/DB_Task.json index 6577f2f..1d61204 100644 --- a/data/DB_Task.json +++ b/data/DB_Task.json @@ -1234,6 +1234,236 @@ "Award": { "100011": 50 } + }, + { + "Id": 13001, + "Order": 1, + "Name": "年兽活动", + "Des": "领取转盘签到奖励", + "ActivityType": 8, + "TaskType": 17, + "TargetTimes": 1, + "FinishTimes": 1, + "Award": { + "50014": 10 + } + }, + { + "Id": 13002, + "Order": 2, + "Name": "年兽活动", + "Des": "在线时长60分钟", + "ActivityType": 8, + "TaskType": 21, + "TargetTimes": 3600, + "FinishTimes": 1, + "Award": { + "50014": 10 + } + }, + { + "Id": 13003, + "Order": 3, + "Name": "年兽活动", + "Des": "购买任意金币1次", + "ActivityType": 8, + "TaskType": 2, + "TargetTimes": 1, + "FinishTimes": 1, + "Award": { + "50014": 10 + }, + "Position": [ + 0, + 1 + ] + }, + { + "Id": 13004, + "Order": 4, + "Name": "年兽活动", + "Des": "购买任意存钱罐1次", + "ActivityType": 8, + "TaskType": 22, + "TargetTimes": 1, + "FinishTimes": 1, + "Award": { + "50014": 10 + } + }, + { + "Id": 13005, + "Order": 5, + "Name": "年兽活动", + "Des": "参与大众场对局获得胜利3次", + "ActivityType": 8, + "TaskType": 23, + "TargetTimes": 3, + "FinishTimes": 1, + "Award": { + "50014": 10 + }, + "GameType": 1 + }, + { + "Id": 13006, + "Order": 6, + "Name": "年兽活动", + "Des": "参与排位赛获得胜利3次", + "ActivityType": 8, + "TaskType": 30, + "TargetTimes": 3, + "FinishTimes": 1, + "Award": { + "50014": 10 + }, + "GameType": 1 + }, + { + "Id": 13007, + "Order": 7, + "Name": "年兽活动", + "Des": "邀请好友进行私人桌对局1次", + "ActivityType": 8, + "TaskType": 24, + "TargetTimes": 1, + "FinishTimes": 1, + "Award": { + "50014": 10 + }, + "GameType": 1 + }, + { + "Id": 13008, + "Order": 8, + "Name": "年兽活动", + "Des": "成功参与比赛场3次", + "ActivityType": 8, + "TaskType": 25, + "TargetTimes": 3, + "FinishTimes": 1, + "Award": { + "50014": 10 + }, + "GameType": 1 + }, + { + "Id": 13009, + "Order": 9, + "Name": "年兽活动", + "Des": "比赛场获得前十名1次", + "ActivityType": 8, + "TaskType": 26, + "TargetTimes": 1, + "FinishTimes": 1, + "Award": { + "50014": 10 + }, + "GameType": 1 + }, + { + "Id": 13010, + "Order": 10, + "Name": "年兽活动", + "Des": "今日累计消耗100钻石", + "ActivityType": 8, + "TaskType": 27, + "TargetTimes": 100, + "FinishTimes": 1, + "Award": { + "50014": 10 + } + }, + { + "Id": 13011, + "Order": 11, + "Name": "年兽活动", + "Des": "充值任意金额", + "ActivityType": 8, + "TaskType": 7, + "TargetTimes": 1, + "FinishTimes": 1, + "Award": { + "50014": 10 + }, + "Position": [ + 1, + 1 + ] + }, + { + "Id": 13012, + "Order": 12, + "Name": "年兽活动", + "Des": "累计领取转盘签到奖励7天", + "ActivityType": 9, + "TaskType": 17, + "TargetTimes": 7, + "FinishTimes": 1, + "Award": { + "50014": 10 + } + }, + { + "Id": 13013, + "Order": 13, + "Name": "年兽活动", + "Des": "参与红包雨活动1次", + "ActivityType": 8, + "TaskType": 32, + "TargetTimes": 1, + "FinishTimes": 1, + "Award": { + "50015": 10 + } + }, + { + "Id": 13014, + "Order": 14, + "Name": "年兽活动", + "Des": "累计充值$9.99", + "ActivityType": 9, + "TaskType": 7, + "TargetTimes": 999, + "FinishTimes": 1, + "Award": { + "50015": 10 + }, + "Position": [ + 1, + 1 + ] + }, + { + "Id": 13015, + "Order": 15, + "Name": "年兽活动", + "Des": "累计充值$19.99", + "ActivityType": 9, + "TaskType": 7, + "TargetTimes": 1999, + "FinishTimes": 1, + "Award": { + "50015": 10 + }, + "Position": [ + 1, + 1 + ] + }, + { + "Id": 13016, + "Order": 16, + "Name": "年兽活动", + "Des": "累计赚取10B金币", + "ActivityType": 9, + "TaskType": 11, + "TargetTimes": 10000000000, + "FinishTimes": 1, + "Award": { + "50015": 10 + }, + "GameType": 1 } ] } \ No newline at end of file diff --git a/etcd/keyconf.go b/etcd/keyconf.go index 40da038..4561a9e 100644 --- a/etcd/keyconf.go +++ b/etcd/keyconf.go @@ -34,7 +34,7 @@ const ( ETCDKEY_ACT_Invite = "/game/act_invite" // 邀请活动配置 ETCDKEY_ACT_Permit = "/game/act_permit" // 赛季通行证配置 ETCDKEY_DIAMOND_LOTTERY = "/game/diamond_lottery" // 钻石抽奖配置 - ETCDKEY_Item = "/game/item/" // 道具列表 + ETCDKEY_Item = "/game/item" // 道具列表 ETCDKEY_SKin = "/game/skin_config" // 皮肤配置 ETCDKEY_RANK_TYPE = "/game/RankType" // 排行榜奖励配置 ETCDKEY_AWARD_CONFIG = "/game/awardlog_config" //获奖记录 @@ -51,5 +51,7 @@ const ( ETCDKEY_LotteryUser = "/game/user_lottery" //抽奖用户必中配置 ETCDKEY_PigBankDiamond = "/game/pigbank_diamond" //存钱罐消耗获得 ETCDKEY_PigBankProp = "/game/pigbank_prop" //存钱罐属性 + ETCDKEY_NianConfig = "/game/activity_nian" //年兽活动配置 ETCDKEY_REDPACKET = "/game/act_redpacket" //红包配置 + ) diff --git a/model/config.go b/model/config.go index 63325db..ac5c00d 100644 --- a/model/config.go +++ b/model/config.go @@ -17,15 +17,15 @@ import ( */ const ( - OpAll = 0 - OpTurnplate = 1 - OpBlindBox = 2 - OpFirstPay = 3 - OpContinuousPay = 4 - OpPhoneLottery = 5 - OpCollect = 6 - OpDiamondLottery = 7 - OpRedPacket = 8 // 红包活动 + OpAll = 0 + OpTurnplate = 1 + OpBlindBox = 2 + OpFirstPay = 3 + OpContinuousPay = 4 + OpPhoneLottery = 5 + OpCollect = 6 + OpNian = 7 + OpRedPacket = 8 // 红包活动 ) const ( @@ -168,6 +168,8 @@ type AllConfig struct { *webapi.GamePigBankDiamondConfig // 存钱罐属性 *webapi.GamePigBankPropConfig + //年兽配置 + *webapi.ActivityNianConfig // 红包配置 *webapi.RedPacketConfig } diff --git a/model/player.go b/model/player.go index 6eb5c6d..0a6a052 100644 --- a/model/player.go +++ b/model/player.go @@ -569,6 +569,7 @@ type WelfareData struct { DiamondBank *DiamondBankData // 钻石储存罐 PermitAward map[int32]int64 // 赛季通行证奖励领取时间 PermitExchange map[int32][]int64 // 赛季通行证兑换次数, 多次的兑换时间 + NianData *NianData //年兽活动数据 RedPacket map[int64]*RedPacketData // 红包活动 活动id:领取次数 } @@ -587,6 +588,9 @@ func NewWelfareData() *WelfareData { PermitAward: make(map[int32]int64), PermitExchange: make(map[int32][]int64), RedPacket: make(map[int64]*RedPacketData), + NianData: &NianData{ + OtherAwardNum: make(map[int32]int32), + }, } } @@ -679,6 +683,19 @@ type WebPlayerDataParam struct { Long, PermitScore int64 } +type NianData struct { + ActivityStartTime int64 //活动开始时间 + ActivityEndTime int64 //活动结束时间 + BossHp int64 //Boss当前血量 + BuffStatus bool //Buff领取状态 + BuffCount int64 //Buff剩余生效次数 + SignAwardTime int64 //签到奖励领取时间 + BossDieCount int32 //BOSS死亡次数 + LittleHurt int32 //小爆竹次数 + BigHurt int32 //大爆竹次数 + OtherAwardNum map[int32]int32 //奖励掉落数量 +} + func ConvertPlayerDataToWebData(param *WebPlayerDataParam) *webapi.PlayerData { if param == nil || param.PlayerData == nil { return nil diff --git a/protocol/activity/nian.pb.go b/protocol/activity/nian.pb.go new file mode 100644 index 0000000..cc51864 --- /dev/null +++ b/protocol/activity/nian.pb.go @@ -0,0 +1,1167 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.1-devel +// protoc v3.19.4 +// source: protocol/activity/nian.proto + +package activity + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type NianPacketID int32 + +const ( + NianPacketID_PACKET_Nian_ZERO NianPacketID = 0 // 弃用消息号 + NianPacketID_PACKET_CSNianData NianPacketID = 2660 // 获取年兽信息 + NianPacketID_PACKET_SCNianData NianPacketID = 2661 // 返回年兽信息 + NianPacketID_PACKET_CSNianBuff NianPacketID = 2662 // 请求领取BUFF + NianPacketID_PACKET_SCNianBuff NianPacketID = 2663 // 返回Buff信息 + NianPacketID_PACKET_CSNianRankData NianPacketID = 2664 // 请求排行榜信息 + NianPacketID_PACKET_SCNianRankData NianPacketID = 2665 // 返回排行榜信息 + NianPacketID_PACKET_CSNianAttack NianPacketID = 2666 //请求攻击年兽 + NianPacketID_PACKET_SCNianAttackData NianPacketID = 2667 //返回攻击年兽信息 + NianPacketID_PACKET_CSNianSignAward NianPacketID = 2668 //请求签到 + NianPacketID_PACKET_SCNianSignAward NianPacketID = 2669 //签到返回 +) + +// Enum value maps for NianPacketID. +var ( + NianPacketID_name = map[int32]string{ + 0: "PACKET_Nian_ZERO", + 2660: "PACKET_CSNianData", + 2661: "PACKET_SCNianData", + 2662: "PACKET_CSNianBuff", + 2663: "PACKET_SCNianBuff", + 2664: "PACKET_CSNianRankData", + 2665: "PACKET_SCNianRankData", + 2666: "PACKET_CSNianAttack", + 2667: "PACKET_SCNianAttackData", + 2668: "PACKET_CSNianSignAward", + 2669: "PACKET_SCNianSignAward", + } + NianPacketID_value = map[string]int32{ + "PACKET_Nian_ZERO": 0, + "PACKET_CSNianData": 2660, + "PACKET_SCNianData": 2661, + "PACKET_CSNianBuff": 2662, + "PACKET_SCNianBuff": 2663, + "PACKET_CSNianRankData": 2664, + "PACKET_SCNianRankData": 2665, + "PACKET_CSNianAttack": 2666, + "PACKET_SCNianAttackData": 2667, + "PACKET_CSNianSignAward": 2668, + "PACKET_SCNianSignAward": 2669, + } +) + +func (x NianPacketID) Enum() *NianPacketID { + p := new(NianPacketID) + *p = x + return p +} + +func (x NianPacketID) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NianPacketID) Descriptor() protoreflect.EnumDescriptor { + return file_protocol_activity_nian_proto_enumTypes[0].Descriptor() +} + +func (NianPacketID) Type() protoreflect.EnumType { + return &file_protocol_activity_nian_proto_enumTypes[0] +} + +func (x NianPacketID) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NianPacketID.Descriptor instead. +func (NianPacketID) EnumDescriptor() ([]byte, []int) { + return file_protocol_activity_nian_proto_rawDescGZIP(), []int{0} +} + +//获取年兽活动信息 +//PACKET_CSNianData +type CSNianData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CSNianData) Reset() { + *x = CSNianData{} + if protoimpl.UnsafeEnabled { + mi := &file_protocol_activity_nian_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSNianData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSNianData) ProtoMessage() {} + +func (x *CSNianData) ProtoReflect() protoreflect.Message { + mi := &file_protocol_activity_nian_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSNianData.ProtoReflect.Descriptor instead. +func (*CSNianData) Descriptor() ([]byte, []int) { + return file_protocol_activity_nian_proto_rawDescGZIP(), []int{0} +} + +//PACKET_SCNianData +type SCNianData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ActivityStartTime int64 `protobuf:"varint,1,opt,name=ActivityStartTime,proto3" json:"ActivityStartTime,omitempty"` //活动开始时间 + ActivityEndTime int64 `protobuf:"varint,2,opt,name=ActivityEndTime,proto3" json:"ActivityEndTime,omitempty"` //活动结束时间 + BossMaxHp int64 `protobuf:"varint,3,opt,name=BossMaxHp,proto3" json:"BossMaxHp,omitempty"` //Boss最大血量 + BossHp int64 `protobuf:"varint,4,opt,name=BossHp,proto3" json:"BossHp,omitempty"` //Boss当前血量 + LuckData []*RankData `protobuf:"bytes,5,rep,name=LuckData,proto3" json:"LuckData,omitempty"` //幸运榜 + AwardTime int64 `protobuf:"varint,6,opt,name=AwardTime,proto3" json:"AwardTime,omitempty"` //每日签到领取时间 + BuffCount int64 `protobuf:"varint,7,opt,name=BuffCount,proto3" json:"BuffCount,omitempty"` //Buff剩余次数 + BuffStatus bool `protobuf:"varint,8,opt,name=BuffStatus,proto3" json:"BuffStatus,omitempty"` //Buff领取状态 + On int32 `protobuf:"varint,9,opt,name=On,proto3" json:"On,omitempty"` //活动开关 1开启 2关闭 + SignAwardTime int64 `protobuf:"varint,10,opt,name=SignAwardTime,proto3" json:"SignAwardTime,omitempty"` //签到领取时间 0-未领取 +} + +func (x *SCNianData) Reset() { + *x = SCNianData{} + if protoimpl.UnsafeEnabled { + mi := &file_protocol_activity_nian_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SCNianData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SCNianData) ProtoMessage() {} + +func (x *SCNianData) ProtoReflect() protoreflect.Message { + mi := &file_protocol_activity_nian_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SCNianData.ProtoReflect.Descriptor instead. +func (*SCNianData) Descriptor() ([]byte, []int) { + return file_protocol_activity_nian_proto_rawDescGZIP(), []int{1} +} + +func (x *SCNianData) GetActivityStartTime() int64 { + if x != nil { + return x.ActivityStartTime + } + return 0 +} + +func (x *SCNianData) GetActivityEndTime() int64 { + if x != nil { + return x.ActivityEndTime + } + return 0 +} + +func (x *SCNianData) GetBossMaxHp() int64 { + if x != nil { + return x.BossMaxHp + } + return 0 +} + +func (x *SCNianData) GetBossHp() int64 { + if x != nil { + return x.BossHp + } + return 0 +} + +func (x *SCNianData) GetLuckData() []*RankData { + if x != nil { + return x.LuckData + } + return nil +} + +func (x *SCNianData) GetAwardTime() int64 { + if x != nil { + return x.AwardTime + } + return 0 +} + +func (x *SCNianData) GetBuffCount() int64 { + if x != nil { + return x.BuffCount + } + return 0 +} + +func (x *SCNianData) GetBuffStatus() bool { + if x != nil { + return x.BuffStatus + } + return false +} + +func (x *SCNianData) GetOn() int32 { + if x != nil { + return x.On + } + return 0 +} + +func (x *SCNianData) GetSignAwardTime() int64 { + if x != nil { + return x.SignAwardTime + } + return 0 +} + +//贺春 +//请求领取BUFF +//PACKET_CSNianBuff +type CSNianBuff struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CSNianBuff) Reset() { + *x = CSNianBuff{} + if protoimpl.UnsafeEnabled { + mi := &file_protocol_activity_nian_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSNianBuff) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSNianBuff) ProtoMessage() {} + +func (x *CSNianBuff) ProtoReflect() protoreflect.Message { + mi := &file_protocol_activity_nian_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSNianBuff.ProtoReflect.Descriptor instead. +func (*CSNianBuff) Descriptor() ([]byte, []int) { + return file_protocol_activity_nian_proto_rawDescGZIP(), []int{2} +} + +//PACKET_SCNianBuff +type SCNianBuff struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BuffCount int64 `protobuf:"varint,1,opt,name=BuffCount,proto3" json:"BuffCount,omitempty"` //BUFF剩余次数 +} + +func (x *SCNianBuff) Reset() { + *x = SCNianBuff{} + if protoimpl.UnsafeEnabled { + mi := &file_protocol_activity_nian_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SCNianBuff) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SCNianBuff) ProtoMessage() {} + +func (x *SCNianBuff) ProtoReflect() protoreflect.Message { + mi := &file_protocol_activity_nian_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SCNianBuff.ProtoReflect.Descriptor instead. +func (*SCNianBuff) Descriptor() ([]byte, []int) { + return file_protocol_activity_nian_proto_rawDescGZIP(), []int{3} +} + +func (x *SCNianBuff) GetBuffCount() int64 { + if x != nil { + return x.BuffCount + } + return 0 +} + +//排行榜数据 +//PACKET_CSNianRankData +type CSNianRankData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TypeId int32 `protobuf:"varint,1,opt,name=TypeId,proto3" json:"TypeId,omitempty"` //1-幸运榜 2-总伤害榜 +} + +func (x *CSNianRankData) Reset() { + *x = CSNianRankData{} + if protoimpl.UnsafeEnabled { + mi := &file_protocol_activity_nian_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSNianRankData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSNianRankData) ProtoMessage() {} + +func (x *CSNianRankData) ProtoReflect() protoreflect.Message { + mi := &file_protocol_activity_nian_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 CSNianRankData.ProtoReflect.Descriptor instead. +func (*CSNianRankData) Descriptor() ([]byte, []int) { + return file_protocol_activity_nian_proto_rawDescGZIP(), []int{4} +} + +func (x *CSNianRankData) GetTypeId() int32 { + if x != nil { + return x.TypeId + } + return 0 +} + +//PACKET_SCNianRankData +type SCNianRankData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TypeId int32 `protobuf:"varint,1,opt,name=TypeId,proto3" json:"TypeId,omitempty"` + Data []*RankData `protobuf:"bytes,2,rep,name=Data,proto3" json:"Data,omitempty"` +} + +func (x *SCNianRankData) Reset() { + *x = SCNianRankData{} + if protoimpl.UnsafeEnabled { + mi := &file_protocol_activity_nian_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SCNianRankData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SCNianRankData) ProtoMessage() {} + +func (x *SCNianRankData) ProtoReflect() protoreflect.Message { + mi := &file_protocol_activity_nian_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SCNianRankData.ProtoReflect.Descriptor instead. +func (*SCNianRankData) Descriptor() ([]byte, []int) { + return file_protocol_activity_nian_proto_rawDescGZIP(), []int{5} +} + +func (x *SCNianRankData) GetTypeId() int32 { + if x != nil { + return x.TypeId + } + return 0 +} + +func (x *SCNianRankData) GetData() []*RankData { + if x != nil { + return x.Data + } + return nil +} + +type RankData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RankId int32 `protobuf:"varint,1,opt,name=RankId,proto3" json:"RankId,omitempty"` + Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` + Icon int32 `protobuf:"varint,3,opt,name=Icon,proto3" json:"Icon,omitempty"` + Score int64 `protobuf:"varint,4,opt,name=Score,proto3" json:"Score,omitempty"` + Award []*RankAwardData `protobuf:"bytes,5,rep,name=Award,proto3" json:"Award,omitempty"` +} + +func (x *RankData) Reset() { + *x = RankData{} + if protoimpl.UnsafeEnabled { + mi := &file_protocol_activity_nian_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RankData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RankData) ProtoMessage() {} + +func (x *RankData) ProtoReflect() protoreflect.Message { + mi := &file_protocol_activity_nian_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RankData.ProtoReflect.Descriptor instead. +func (*RankData) Descriptor() ([]byte, []int) { + return file_protocol_activity_nian_proto_rawDescGZIP(), []int{6} +} + +func (x *RankData) GetRankId() int32 { + if x != nil { + return x.RankId + } + return 0 +} + +func (x *RankData) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *RankData) GetIcon() int32 { + if x != nil { + return x.Icon + } + return 0 +} + +func (x *RankData) GetScore() int64 { + if x != nil { + return x.Score + } + return 0 +} + +func (x *RankData) GetAward() []*RankAwardData { + if x != nil { + return x.Award + } + return nil +} + +type RankAwardData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ItemId int32 `protobuf:"varint,1,opt,name=ItemId,proto3" json:"ItemId,omitempty"` + ItemNum int64 `protobuf:"varint,2,opt,name=ItemNum,proto3" json:"ItemNum,omitempty"` +} + +func (x *RankAwardData) Reset() { + *x = RankAwardData{} + if protoimpl.UnsafeEnabled { + mi := &file_protocol_activity_nian_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RankAwardData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RankAwardData) ProtoMessage() {} + +func (x *RankAwardData) ProtoReflect() protoreflect.Message { + mi := &file_protocol_activity_nian_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RankAwardData.ProtoReflect.Descriptor instead. +func (*RankAwardData) Descriptor() ([]byte, []int) { + return file_protocol_activity_nian_proto_rawDescGZIP(), []int{7} +} + +func (x *RankAwardData) GetItemId() int32 { + if x != nil { + return x.ItemId + } + return 0 +} + +func (x *RankAwardData) GetItemNum() int64 { + if x != nil { + return x.ItemNum + } + return 0 +} + +//攻击年兽 +//PACKET_CSNianAttack +type CSNianAttack struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TypeId int32 `protobuf:"varint,1,opt,name=TypeId,proto3" json:"TypeId,omitempty"` //1-小爆竹 2-小爆竹*10 3-大爆竹 +} + +func (x *CSNianAttack) Reset() { + *x = CSNianAttack{} + if protoimpl.UnsafeEnabled { + mi := &file_protocol_activity_nian_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSNianAttack) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSNianAttack) ProtoMessage() {} + +func (x *CSNianAttack) ProtoReflect() protoreflect.Message { + mi := &file_protocol_activity_nian_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSNianAttack.ProtoReflect.Descriptor instead. +func (*CSNianAttack) Descriptor() ([]byte, []int) { + return file_protocol_activity_nian_proto_rawDescGZIP(), []int{8} +} + +func (x *CSNianAttack) GetTypeId() int32 { + if x != nil { + return x.TypeId + } + return 0 +} + +//PACKET_SCNianAttackData +type SCNianAttackData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TypeId int32 `protobuf:"varint,1,opt,name=TypeId,proto3" json:"TypeId,omitempty"` //1-小爆竹 2-小爆竹*10 3-大爆竹 + BossHp int64 `protobuf:"varint,2,opt,name=BossHp,proto3" json:"BossHp,omitempty"` //BOSS当前血量 + Award []*RankAwardData `protobuf:"bytes,3,rep,name=Award,proto3" json:"Award,omitempty"` //获得道具 + AttackHp int64 `protobuf:"varint,4,opt,name=AttackHp,proto3" json:"AttackHp,omitempty"` // 攻击伤害 + IsDie bool `protobuf:"varint,5,opt,name=IsDie,proto3" json:"IsDie,omitempty"` //BOSS是否死亡 + DieAward []*RankAwardData `protobuf:"bytes,6,rep,name=DieAward,proto3" json:"DieAward,omitempty"` //BOSS死亡奖励 + BuffCount int64 `protobuf:"varint,7,opt,name=BuffCount,proto3" json:"BuffCount,omitempty"` //BUFF剩余次数 + ExtraDrop []*RankAwardData `protobuf:"bytes,8,rep,name=ExtraDrop,proto3" json:"ExtraDrop,omitempty"` //大爆竹额外掉落 + FloorReward []*RankAwardData `protobuf:"bytes,9,rep,name=FloorReward,proto3" json:"FloorReward,omitempty"` //保底奖励 +} + +func (x *SCNianAttackData) Reset() { + *x = SCNianAttackData{} + if protoimpl.UnsafeEnabled { + mi := &file_protocol_activity_nian_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SCNianAttackData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SCNianAttackData) ProtoMessage() {} + +func (x *SCNianAttackData) ProtoReflect() protoreflect.Message { + mi := &file_protocol_activity_nian_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SCNianAttackData.ProtoReflect.Descriptor instead. +func (*SCNianAttackData) Descriptor() ([]byte, []int) { + return file_protocol_activity_nian_proto_rawDescGZIP(), []int{9} +} + +func (x *SCNianAttackData) GetTypeId() int32 { + if x != nil { + return x.TypeId + } + return 0 +} + +func (x *SCNianAttackData) GetBossHp() int64 { + if x != nil { + return x.BossHp + } + return 0 +} + +func (x *SCNianAttackData) GetAward() []*RankAwardData { + if x != nil { + return x.Award + } + return nil +} + +func (x *SCNianAttackData) GetAttackHp() int64 { + if x != nil { + return x.AttackHp + } + return 0 +} + +func (x *SCNianAttackData) GetIsDie() bool { + if x != nil { + return x.IsDie + } + return false +} + +func (x *SCNianAttackData) GetDieAward() []*RankAwardData { + if x != nil { + return x.DieAward + } + return nil +} + +func (x *SCNianAttackData) GetBuffCount() int64 { + if x != nil { + return x.BuffCount + } + return 0 +} + +func (x *SCNianAttackData) GetExtraDrop() []*RankAwardData { + if x != nil { + return x.ExtraDrop + } + return nil +} + +func (x *SCNianAttackData) GetFloorReward() []*RankAwardData { + if x != nil { + return x.FloorReward + } + return nil +} + +//领取签到奖励 +//PACKET_CSNianSignAward +type CSNianSignAward struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CSNianSignAward) Reset() { + *x = CSNianSignAward{} + if protoimpl.UnsafeEnabled { + mi := &file_protocol_activity_nian_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSNianSignAward) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSNianSignAward) ProtoMessage() {} + +func (x *CSNianSignAward) ProtoReflect() protoreflect.Message { + mi := &file_protocol_activity_nian_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSNianSignAward.ProtoReflect.Descriptor instead. +func (*CSNianSignAward) Descriptor() ([]byte, []int) { + return file_protocol_activity_nian_proto_rawDescGZIP(), []int{10} +} + +//PACKET_SCNianSignAward +type SCNianSignAward struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SignAwardTime int64 `protobuf:"varint,1,opt,name=SignAwardTime,proto3" json:"SignAwardTime,omitempty"` + SignAward []*RankAwardData `protobuf:"bytes,2,rep,name=SignAward,proto3" json:"SignAward,omitempty"` //签到奖励 +} + +func (x *SCNianSignAward) Reset() { + *x = SCNianSignAward{} + if protoimpl.UnsafeEnabled { + mi := &file_protocol_activity_nian_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SCNianSignAward) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SCNianSignAward) ProtoMessage() {} + +func (x *SCNianSignAward) ProtoReflect() protoreflect.Message { + mi := &file_protocol_activity_nian_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SCNianSignAward.ProtoReflect.Descriptor instead. +func (*SCNianSignAward) Descriptor() ([]byte, []int) { + return file_protocol_activity_nian_proto_rawDescGZIP(), []int{11} +} + +func (x *SCNianSignAward) GetSignAwardTime() int64 { + if x != nil { + return x.SignAwardTime + } + return 0 +} + +func (x *SCNianSignAward) GetSignAward() []*RankAwardData { + if x != nil { + return x.SignAward + } + return nil +} + +var File_protocol_activity_nian_proto protoreflect.FileDescriptor + +var file_protocol_activity_nian_proto_rawDesc = []byte{ + 0x0a, 0x1c, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x69, 0x74, 0x79, 0x2f, 0x6e, 0x69, 0x61, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x22, 0x0c, 0x0a, 0x0a, 0x43, 0x53, 0x4e, 0x69, + 0x61, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x22, 0xdc, 0x02, 0x0a, 0x0a, 0x53, 0x43, 0x4e, 0x69, 0x61, + 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x11, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, + 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x11, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x45, + 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x42, 0x6f, 0x73, 0x73, 0x4d, 0x61, 0x78, 0x48, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x09, 0x42, 0x6f, 0x73, 0x73, 0x4d, 0x61, 0x78, 0x48, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x42, + 0x6f, 0x73, 0x73, 0x48, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x42, 0x6f, 0x73, + 0x73, 0x48, 0x70, 0x12, 0x2e, 0x0a, 0x08, 0x4c, 0x75, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, + 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x4c, 0x75, 0x63, 0x6b, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x75, 0x66, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x42, 0x75, 0x66, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x1e, 0x0a, 0x0a, 0x42, 0x75, 0x66, 0x66, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0a, 0x42, 0x75, 0x66, 0x66, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x0e, 0x0a, 0x02, 0x4f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4f, 0x6e, 0x12, + 0x24, 0x0a, 0x0d, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x77, 0x61, 0x72, + 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x0c, 0x0a, 0x0a, 0x43, 0x53, 0x4e, 0x69, 0x61, 0x6e, 0x42, + 0x75, 0x66, 0x66, 0x22, 0x2a, 0x0a, 0x0a, 0x53, 0x43, 0x4e, 0x69, 0x61, 0x6e, 0x42, 0x75, 0x66, + 0x66, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x75, 0x66, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x42, 0x75, 0x66, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, + 0x28, 0x0a, 0x0e, 0x43, 0x53, 0x4e, 0x69, 0x61, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x22, 0x50, 0x0a, 0x0e, 0x53, 0x43, 0x4e, + 0x69, 0x61, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x54, + 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x79, 0x70, + 0x65, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x52, 0x61, 0x6e, + 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x8f, 0x01, 0x0a, 0x08, + 0x52, 0x61, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 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, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x49, 0x63, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x49, 0x63, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x2d, + 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, + 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x22, 0x41, 0x0a, + 0x0d, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, + 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, + 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, + 0x22, 0x26, 0x0a, 0x0c, 0x43, 0x53, 0x4e, 0x69, 0x61, 0x6e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, + 0x12, 0x16, 0x0a, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x22, 0xe8, 0x02, 0x0a, 0x10, 0x53, 0x43, 0x4e, + 0x69, 0x61, 0x6e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, + 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, + 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x42, 0x6f, 0x73, 0x73, 0x48, 0x70, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x42, 0x6f, 0x73, 0x73, 0x48, 0x70, 0x12, 0x2d, 0x0a, + 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, + 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x48, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, + 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x48, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x73, 0x44, 0x69, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x49, 0x73, 0x44, 0x69, 0x65, 0x12, 0x33, + 0x0a, 0x08, 0x44, 0x69, 0x65, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x6b, + 0x41, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x44, 0x69, 0x65, 0x41, 0x77, + 0x61, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x75, 0x66, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x42, 0x75, 0x66, 0x66, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x35, 0x0a, 0x09, 0x45, 0x78, 0x74, 0x72, 0x61, 0x44, 0x72, 0x6f, 0x70, 0x18, 0x08, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, + 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x45, + 0x78, 0x74, 0x72, 0x61, 0x44, 0x72, 0x6f, 0x70, 0x12, 0x39, 0x0a, 0x0b, 0x46, 0x6c, 0x6f, 0x6f, + 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, + 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x43, 0x53, 0x4e, 0x69, 0x61, 0x6e, 0x53, 0x69, 0x67, + 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x22, 0x6e, 0x0a, 0x0f, 0x53, 0x43, 0x4e, 0x69, 0x61, 0x6e, + 0x53, 0x69, 0x67, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x69, 0x67, + 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0d, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x35, 0x0a, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x52, 0x61, + 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x53, 0x69, 0x67, + 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x2a, 0xae, 0x02, 0x0a, 0x0c, 0x4e, 0x69, 0x61, 0x6e, 0x50, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x4e, 0x69, 0x61, 0x6e, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x16, 0x0a, + 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x4e, 0x69, 0x61, 0x6e, 0x44, 0x61, + 0x74, 0x61, 0x10, 0xe4, 0x14, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x53, 0x43, 0x4e, 0x69, 0x61, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x10, 0xe5, 0x14, 0x12, 0x16, 0x0a, + 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x4e, 0x69, 0x61, 0x6e, 0x42, 0x75, + 0x66, 0x66, 0x10, 0xe6, 0x14, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x53, 0x43, 0x4e, 0x69, 0x61, 0x6e, 0x42, 0x75, 0x66, 0x66, 0x10, 0xe7, 0x14, 0x12, 0x1a, 0x0a, + 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x4e, 0x69, 0x61, 0x6e, 0x52, 0x61, + 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x10, 0xe8, 0x14, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x4e, 0x69, 0x61, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x44, 0x61, + 0x74, 0x61, 0x10, 0xe9, 0x14, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x43, 0x53, 0x4e, 0x69, 0x61, 0x6e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x10, 0xea, 0x14, 0x12, + 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x4e, 0x69, 0x61, 0x6e, + 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x10, 0xeb, 0x14, 0x12, 0x1b, 0x0a, + 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x4e, 0x69, 0x61, 0x6e, 0x53, 0x69, + 0x67, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0xec, 0x14, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x4e, 0x69, 0x61, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x41, + 0x77, 0x61, 0x72, 0x64, 0x10, 0xed, 0x14, 0x42, 0x28, 0x5a, 0x26, 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, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, + 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_protocol_activity_nian_proto_rawDescOnce sync.Once + file_protocol_activity_nian_proto_rawDescData = file_protocol_activity_nian_proto_rawDesc +) + +func file_protocol_activity_nian_proto_rawDescGZIP() []byte { + file_protocol_activity_nian_proto_rawDescOnce.Do(func() { + file_protocol_activity_nian_proto_rawDescData = protoimpl.X.CompressGZIP(file_protocol_activity_nian_proto_rawDescData) + }) + return file_protocol_activity_nian_proto_rawDescData +} + +var file_protocol_activity_nian_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_protocol_activity_nian_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_protocol_activity_nian_proto_goTypes = []interface{}{ + (NianPacketID)(0), // 0: activity.NianPacketID + (*CSNianData)(nil), // 1: activity.CSNianData + (*SCNianData)(nil), // 2: activity.SCNianData + (*CSNianBuff)(nil), // 3: activity.CSNianBuff + (*SCNianBuff)(nil), // 4: activity.SCNianBuff + (*CSNianRankData)(nil), // 5: activity.CSNianRankData + (*SCNianRankData)(nil), // 6: activity.SCNianRankData + (*RankData)(nil), // 7: activity.RankData + (*RankAwardData)(nil), // 8: activity.RankAwardData + (*CSNianAttack)(nil), // 9: activity.CSNianAttack + (*SCNianAttackData)(nil), // 10: activity.SCNianAttackData + (*CSNianSignAward)(nil), // 11: activity.CSNianSignAward + (*SCNianSignAward)(nil), // 12: activity.SCNianSignAward +} +var file_protocol_activity_nian_proto_depIdxs = []int32{ + 7, // 0: activity.SCNianData.LuckData:type_name -> activity.RankData + 7, // 1: activity.SCNianRankData.Data:type_name -> activity.RankData + 8, // 2: activity.RankData.Award:type_name -> activity.RankAwardData + 8, // 3: activity.SCNianAttackData.Award:type_name -> activity.RankAwardData + 8, // 4: activity.SCNianAttackData.DieAward:type_name -> activity.RankAwardData + 8, // 5: activity.SCNianAttackData.ExtraDrop:type_name -> activity.RankAwardData + 8, // 6: activity.SCNianAttackData.FloorReward:type_name -> activity.RankAwardData + 8, // 7: activity.SCNianSignAward.SignAward:type_name -> activity.RankAwardData + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { file_protocol_activity_nian_proto_init() } +func file_protocol_activity_nian_proto_init() { + if File_protocol_activity_nian_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_protocol_activity_nian_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSNianData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protocol_activity_nian_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SCNianData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protocol_activity_nian_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSNianBuff); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protocol_activity_nian_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SCNianBuff); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protocol_activity_nian_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSNianRankData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protocol_activity_nian_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SCNianRankData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protocol_activity_nian_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RankData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protocol_activity_nian_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RankAwardData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protocol_activity_nian_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSNianAttack); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protocol_activity_nian_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SCNianAttackData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protocol_activity_nian_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSNianSignAward); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protocol_activity_nian_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SCNianSignAward); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_protocol_activity_nian_proto_rawDesc, + NumEnums: 1, + NumMessages: 12, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_protocol_activity_nian_proto_goTypes, + DependencyIndexes: file_protocol_activity_nian_proto_depIdxs, + EnumInfos: file_protocol_activity_nian_proto_enumTypes, + MessageInfos: file_protocol_activity_nian_proto_msgTypes, + }.Build() + File_protocol_activity_nian_proto = out.File + file_protocol_activity_nian_proto_rawDesc = nil + file_protocol_activity_nian_proto_goTypes = nil + file_protocol_activity_nian_proto_depIdxs = nil +} diff --git a/protocol/activity/nian.proto b/protocol/activity/nian.proto new file mode 100644 index 0000000..12f2b76 --- /dev/null +++ b/protocol/activity/nian.proto @@ -0,0 +1,93 @@ +syntax = "proto3"; +package activity; +option go_package = "mongo.games.com/game/protocol/activity"; + +enum NianPacketID { + PACKET_Nian_ZERO = 0; // 弃用消息号 + PACKET_CSNianData = 2660; // 获取年兽信息 + PACKET_SCNianData = 2661; // 返回年兽信息 + PACKET_CSNianBuff = 2662; // 请求领取BUFF + PACKET_SCNianBuff = 2663; // 返回Buff信息 + PACKET_CSNianRankData = 2664; // 请求排行榜信息 + PACKET_SCNianRankData = 2665; // 返回排行榜信息 + PACKET_CSNianAttack = 2666; //请求攻击年兽 + PACKET_SCNianAttackData = 2667; //返回攻击年兽信息 + PACKET_CSNianSignAward = 2668; //请求签到 + PACKET_SCNianSignAward = 2669; //签到返回 +} + +//获取年兽活动信息 +//PACKET_CSNianData +message CSNianData{ +} +//PACKET_SCNianData +message SCNianData{ + int64 ActivityStartTime = 1; //活动开始时间 + int64 ActivityEndTime = 2; //活动结束时间 + int64 BossMaxHp = 3; //Boss最大血量 + int64 BossHp = 4; //Boss当前血量 + repeated RankData LuckData = 5;//幸运榜 + int64 AwardTime = 6;//每日签到领取时间 + int64 BuffCount = 7;//Buff剩余次数 + bool BuffStatus = 8;//Buff领取状态 + int32 On = 9;//活动开关 1开启 2关闭 + int64 SignAwardTime = 10;//签到领取时间 0-未领取 +} + +//贺春 +//请求领取BUFF +//PACKET_CSNianBuff +message CSNianBuff{ +} +//PACKET_SCNianBuff +message SCNianBuff{ + int64 BuffCount = 1; //BUFF剩余次数 +} +//排行榜数据 +//PACKET_CSNianRankData +message CSNianRankData{ + int32 TypeId = 1;//1-幸运榜 2-总伤害榜 +} +//PACKET_SCNianRankData +message SCNianRankData{ + int32 TypeId = 1; + repeated RankData Data = 2; +} +message RankData{ + int32 RankId =1; + string Name = 2; + int32 Icon = 3; + int64 Score = 4; + repeated RankAwardData Award = 5; +} + +message RankAwardData{ + int32 ItemId =1; + int64 ItemNum = 2; +} +//攻击年兽 +//PACKET_CSNianAttack +message CSNianAttack{ + int32 TypeId = 1; //1-小爆竹 2-小爆竹*10 3-大爆竹 +} +//PACKET_SCNianAttackData +message SCNianAttackData{ + int32 TypeId = 1; //1-小爆竹 2-小爆竹*10 3-大爆竹 + int64 BossHp = 2; //BOSS当前血量 + repeated RankAwardData Award = 3; //获得道具 + int64 AttackHp = 4; // 攻击伤害 + bool IsDie = 5; //BOSS是否死亡 + repeated RankAwardData DieAward = 6;//BOSS死亡奖励 + int64 BuffCount = 7; //BUFF剩余次数 + repeated RankAwardData ExtraDrop = 8;//大爆竹额外掉落 + repeated RankAwardData FloorReward = 9;//保底奖励 +} +//领取签到奖励 +//PACKET_CSNianSignAward +message CSNianSignAward{ +} +//PACKET_SCNianSignAward +message SCNianSignAward{ + int64 SignAwardTime = 1; + repeated RankAwardData SignAward = 2;//签到奖励 +} \ No newline at end of file diff --git a/protocol/server/pbdata.pb.go b/protocol/server/pbdata.pb.go index ba450cf..712979b 100644 --- a/protocol/server/pbdata.pb.go +++ b/protocol/server/pbdata.pb.go @@ -7701,6 +7701,242 @@ func (x *DB_NewPlayerArray) GetArr() []*DB_NewPlayer { return nil } +type DB_NewYearActivity struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` + PorpName string `protobuf:"bytes,2,opt,name=PorpName,proto3" json:"PorpName,omitempty"` + PropValue string `protobuf:"bytes,3,opt,name=PropValue,proto3" json:"PropValue,omitempty"` + PropDec string `protobuf:"bytes,4,opt,name=PropDec,proto3" json:"PropDec,omitempty"` +} + +func (x *DB_NewYearActivity) Reset() { + *x = DB_NewYearActivity{} + if protoimpl.UnsafeEnabled { + mi := &file_protocol_server_pbdata_proto_msgTypes[98] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DB_NewYearActivity) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DB_NewYearActivity) ProtoMessage() {} + +func (x *DB_NewYearActivity) ProtoReflect() protoreflect.Message { + mi := &file_protocol_server_pbdata_proto_msgTypes[98] + 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 DB_NewYearActivity.ProtoReflect.Descriptor instead. +func (*DB_NewYearActivity) Descriptor() ([]byte, []int) { + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{98} +} + +func (x *DB_NewYearActivity) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *DB_NewYearActivity) GetPorpName() string { + if x != nil { + return x.PorpName + } + return "" +} + +func (x *DB_NewYearActivity) GetPropValue() string { + if x != nil { + return x.PropValue + } + return "" +} + +func (x *DB_NewYearActivity) GetPropDec() string { + if x != nil { + return x.PropDec + } + return "" +} + +type DB_NewYearActivityArray struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Arr []*DB_NewYearActivity `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` +} + +func (x *DB_NewYearActivityArray) Reset() { + *x = DB_NewYearActivityArray{} + if protoimpl.UnsafeEnabled { + mi := &file_protocol_server_pbdata_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DB_NewYearActivityArray) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DB_NewYearActivityArray) ProtoMessage() {} + +func (x *DB_NewYearActivityArray) ProtoReflect() protoreflect.Message { + mi := &file_protocol_server_pbdata_proto_msgTypes[99] + 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 DB_NewYearActivityArray.ProtoReflect.Descriptor instead. +func (*DB_NewYearActivityArray) Descriptor() ([]byte, []int) { + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{99} +} + +func (x *DB_NewYearActivityArray) GetArr() []*DB_NewYearActivity { + if x != nil { + return x.Arr + } + return nil +} + +type DB_NewYearRankReward struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` + RankType int32 `protobuf:"varint,2,opt,name=RankType,proto3" json:"RankType,omitempty"` + RankLevelId int32 `protobuf:"varint,3,opt,name=RankLevelId,proto3" json:"RankLevelId,omitempty"` + AwardMap map[int64]int64 `protobuf:"bytes,4,rep,name=AwardMap,proto3" json:"AwardMap,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` +} + +func (x *DB_NewYearRankReward) Reset() { + *x = DB_NewYearRankReward{} + if protoimpl.UnsafeEnabled { + mi := &file_protocol_server_pbdata_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DB_NewYearRankReward) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DB_NewYearRankReward) ProtoMessage() {} + +func (x *DB_NewYearRankReward) ProtoReflect() protoreflect.Message { + mi := &file_protocol_server_pbdata_proto_msgTypes[100] + 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 DB_NewYearRankReward.ProtoReflect.Descriptor instead. +func (*DB_NewYearRankReward) Descriptor() ([]byte, []int) { + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{100} +} + +func (x *DB_NewYearRankReward) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *DB_NewYearRankReward) GetRankType() int32 { + if x != nil { + return x.RankType + } + return 0 +} + +func (x *DB_NewYearRankReward) GetRankLevelId() int32 { + if x != nil { + return x.RankLevelId + } + return 0 +} + +func (x *DB_NewYearRankReward) GetAwardMap() map[int64]int64 { + if x != nil { + return x.AwardMap + } + return nil +} + +type DB_NewYearRankRewardArray struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Arr []*DB_NewYearRankReward `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` +} + +func (x *DB_NewYearRankRewardArray) Reset() { + *x = DB_NewYearRankRewardArray{} + if protoimpl.UnsafeEnabled { + mi := &file_protocol_server_pbdata_proto_msgTypes[101] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DB_NewYearRankRewardArray) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DB_NewYearRankRewardArray) ProtoMessage() {} + +func (x *DB_NewYearRankRewardArray) ProtoReflect() protoreflect.Message { + mi := &file_protocol_server_pbdata_proto_msgTypes[101] + 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 DB_NewYearRankRewardArray.ProtoReflect.Descriptor instead. +func (*DB_NewYearRankRewardArray) Descriptor() ([]byte, []int) { + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{101} +} + +func (x *DB_NewYearRankRewardArray) GetArr() []*DB_NewYearRankReward { + if x != nil { + return x.Arr + } + return nil +} + type DB_PassShow struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -7715,7 +7951,7 @@ type DB_PassShow struct { func (x *DB_PassShow) Reset() { *x = DB_PassShow{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[98] + mi := &file_protocol_server_pbdata_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7728,7 +7964,7 @@ func (x *DB_PassShow) String() string { func (*DB_PassShow) ProtoMessage() {} func (x *DB_PassShow) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[98] + mi := &file_protocol_server_pbdata_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7741,7 +7977,7 @@ func (x *DB_PassShow) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PassShow.ProtoReflect.Descriptor instead. func (*DB_PassShow) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{98} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{102} } func (x *DB_PassShow) GetId() int32 { @@ -7783,7 +8019,7 @@ type DB_PassShowArray struct { func (x *DB_PassShowArray) Reset() { *x = DB_PassShowArray{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[99] + mi := &file_protocol_server_pbdata_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7796,7 +8032,7 @@ func (x *DB_PassShowArray) String() string { func (*DB_PassShowArray) ProtoMessage() {} func (x *DB_PassShowArray) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[99] + mi := &file_protocol_server_pbdata_proto_msgTypes[103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7809,7 +8045,7 @@ func (x *DB_PassShowArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PassShowArray.ProtoReflect.Descriptor instead. func (*DB_PassShowArray) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{99} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{103} } func (x *DB_PassShowArray) GetArr() []*DB_PassShow { @@ -7838,7 +8074,7 @@ type DB_PetSkill struct { func (x *DB_PetSkill) Reset() { *x = DB_PetSkill{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[100] + mi := &file_protocol_server_pbdata_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7851,7 +8087,7 @@ func (x *DB_PetSkill) String() string { func (*DB_PetSkill) ProtoMessage() {} func (x *DB_PetSkill) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[100] + mi := &file_protocol_server_pbdata_proto_msgTypes[104] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7864,7 +8100,7 @@ func (x *DB_PetSkill) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PetSkill.ProtoReflect.Descriptor instead. func (*DB_PetSkill) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{100} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{104} } func (x *DB_PetSkill) GetId() int32 { @@ -7941,7 +8177,7 @@ type DB_PetSkillArray struct { func (x *DB_PetSkillArray) Reset() { *x = DB_PetSkillArray{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[101] + mi := &file_protocol_server_pbdata_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7954,7 +8190,7 @@ func (x *DB_PetSkillArray) String() string { func (*DB_PetSkillArray) ProtoMessage() {} func (x *DB_PetSkillArray) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[101] + mi := &file_protocol_server_pbdata_proto_msgTypes[105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7967,7 +8203,7 @@ func (x *DB_PetSkillArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PetSkillArray.ProtoReflect.Descriptor instead. func (*DB_PetSkillArray) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{101} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{105} } func (x *DB_PetSkillArray) GetArr() []*DB_PetSkill { @@ -7999,7 +8235,7 @@ type DB_PhoneLottery struct { func (x *DB_PhoneLottery) Reset() { *x = DB_PhoneLottery{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[102] + mi := &file_protocol_server_pbdata_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8012,7 +8248,7 @@ func (x *DB_PhoneLottery) String() string { func (*DB_PhoneLottery) ProtoMessage() {} func (x *DB_PhoneLottery) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[102] + mi := &file_protocol_server_pbdata_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8025,7 +8261,7 @@ func (x *DB_PhoneLottery) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PhoneLottery.ProtoReflect.Descriptor instead. func (*DB_PhoneLottery) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{102} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{106} } func (x *DB_PhoneLottery) GetId() int32 { @@ -8123,7 +8359,7 @@ type DB_PhoneLotteryArray struct { func (x *DB_PhoneLotteryArray) Reset() { *x = DB_PhoneLotteryArray{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[103] + mi := &file_protocol_server_pbdata_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8136,7 +8372,7 @@ func (x *DB_PhoneLotteryArray) String() string { func (*DB_PhoneLotteryArray) ProtoMessage() {} func (x *DB_PhoneLotteryArray) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[103] + mi := &file_protocol_server_pbdata_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8149,7 +8385,7 @@ func (x *DB_PhoneLotteryArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PhoneLotteryArray.ProtoReflect.Descriptor instead. func (*DB_PhoneLotteryArray) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{103} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{107} } func (x *DB_PhoneLotteryArray) GetArr() []*DB_PhoneLottery { @@ -8181,7 +8417,7 @@ type DB_PigBank_Diamond struct { func (x *DB_PigBank_Diamond) Reset() { *x = DB_PigBank_Diamond{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[104] + mi := &file_protocol_server_pbdata_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8194,7 +8430,7 @@ func (x *DB_PigBank_Diamond) String() string { func (*DB_PigBank_Diamond) ProtoMessage() {} func (x *DB_PigBank_Diamond) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[104] + mi := &file_protocol_server_pbdata_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8207,7 +8443,7 @@ func (x *DB_PigBank_Diamond) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PigBank_Diamond.ProtoReflect.Descriptor instead. func (*DB_PigBank_Diamond) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{104} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{108} } func (x *DB_PigBank_Diamond) GetId() int32 { @@ -8305,7 +8541,7 @@ type DB_PigBank_DiamondArray struct { func (x *DB_PigBank_DiamondArray) Reset() { *x = DB_PigBank_DiamondArray{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[105] + mi := &file_protocol_server_pbdata_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8318,7 +8554,7 @@ func (x *DB_PigBank_DiamondArray) String() string { func (*DB_PigBank_DiamondArray) ProtoMessage() {} func (x *DB_PigBank_DiamondArray) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[105] + mi := &file_protocol_server_pbdata_proto_msgTypes[109] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8331,7 +8567,7 @@ func (x *DB_PigBank_DiamondArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PigBank_DiamondArray.ProtoReflect.Descriptor instead. func (*DB_PigBank_DiamondArray) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{105} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{109} } func (x *DB_PigBank_DiamondArray) GetArr() []*DB_PigBank_Diamond { @@ -8354,7 +8590,7 @@ type DB_Pigbank_Prop struct { func (x *DB_Pigbank_Prop) Reset() { *x = DB_Pigbank_Prop{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[106] + mi := &file_protocol_server_pbdata_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8367,7 +8603,7 @@ func (x *DB_Pigbank_Prop) String() string { func (*DB_Pigbank_Prop) ProtoMessage() {} func (x *DB_Pigbank_Prop) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[106] + mi := &file_protocol_server_pbdata_proto_msgTypes[110] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8380,7 +8616,7 @@ func (x *DB_Pigbank_Prop) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_Pigbank_Prop.ProtoReflect.Descriptor instead. func (*DB_Pigbank_Prop) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{106} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{110} } func (x *DB_Pigbank_Prop) GetId() int32 { @@ -8415,7 +8651,7 @@ type DB_Pigbank_PropArray struct { func (x *DB_Pigbank_PropArray) Reset() { *x = DB_Pigbank_PropArray{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[107] + mi := &file_protocol_server_pbdata_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8428,7 +8664,7 @@ func (x *DB_Pigbank_PropArray) String() string { func (*DB_Pigbank_PropArray) ProtoMessage() {} func (x *DB_Pigbank_PropArray) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[107] + mi := &file_protocol_server_pbdata_proto_msgTypes[111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8441,7 +8677,7 @@ func (x *DB_Pigbank_PropArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_Pigbank_PropArray.ProtoReflect.Descriptor instead. func (*DB_Pigbank_PropArray) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{107} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{111} } func (x *DB_Pigbank_PropArray) GetArr() []*DB_Pigbank_Prop { @@ -8463,7 +8699,7 @@ type DB_PlayerExp struct { func (x *DB_PlayerExp) Reset() { *x = DB_PlayerExp{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[108] + mi := &file_protocol_server_pbdata_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8476,7 +8712,7 @@ func (x *DB_PlayerExp) String() string { func (*DB_PlayerExp) ProtoMessage() {} func (x *DB_PlayerExp) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[108] + mi := &file_protocol_server_pbdata_proto_msgTypes[112] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8489,7 +8725,7 @@ func (x *DB_PlayerExp) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PlayerExp.ProtoReflect.Descriptor instead. func (*DB_PlayerExp) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{108} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{112} } func (x *DB_PlayerExp) GetId() int32 { @@ -8517,7 +8753,7 @@ type DB_PlayerExpArray struct { func (x *DB_PlayerExpArray) Reset() { *x = DB_PlayerExpArray{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[109] + mi := &file_protocol_server_pbdata_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8530,7 +8766,7 @@ func (x *DB_PlayerExpArray) String() string { func (*DB_PlayerExpArray) ProtoMessage() {} func (x *DB_PlayerExpArray) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[109] + mi := &file_protocol_server_pbdata_proto_msgTypes[113] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8543,7 +8779,7 @@ func (x *DB_PlayerExpArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PlayerExpArray.ProtoReflect.Descriptor instead. func (*DB_PlayerExpArray) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{109} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{113} } func (x *DB_PlayerExpArray) GetArr() []*DB_PlayerExp { @@ -8581,7 +8817,7 @@ type DB_PlayerType struct { func (x *DB_PlayerType) Reset() { *x = DB_PlayerType{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[110] + mi := &file_protocol_server_pbdata_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8594,7 +8830,7 @@ func (x *DB_PlayerType) String() string { func (*DB_PlayerType) ProtoMessage() {} func (x *DB_PlayerType) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[110] + mi := &file_protocol_server_pbdata_proto_msgTypes[114] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8607,7 +8843,7 @@ func (x *DB_PlayerType) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PlayerType.ProtoReflect.Descriptor instead. func (*DB_PlayerType) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{110} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{114} } func (x *DB_PlayerType) GetId() int32 { @@ -8747,7 +8983,7 @@ type DB_PlayerTypeArray struct { func (x *DB_PlayerTypeArray) Reset() { *x = DB_PlayerTypeArray{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[111] + mi := &file_protocol_server_pbdata_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8760,7 +8996,7 @@ func (x *DB_PlayerTypeArray) String() string { func (*DB_PlayerTypeArray) ProtoMessage() {} func (x *DB_PlayerTypeArray) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[111] + mi := &file_protocol_server_pbdata_proto_msgTypes[115] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8773,7 +9009,7 @@ func (x *DB_PlayerTypeArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PlayerTypeArray.ProtoReflect.Descriptor instead. func (*DB_PlayerTypeArray) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{111} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{115} } func (x *DB_PlayerTypeArray) GetArr() []*DB_PlayerType { @@ -8797,7 +9033,7 @@ type DB_PotOdd struct { func (x *DB_PotOdd) Reset() { *x = DB_PotOdd{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[112] + mi := &file_protocol_server_pbdata_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8810,7 +9046,7 @@ func (x *DB_PotOdd) String() string { func (*DB_PotOdd) ProtoMessage() {} func (x *DB_PotOdd) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[112] + mi := &file_protocol_server_pbdata_proto_msgTypes[116] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8823,7 +9059,7 @@ func (x *DB_PotOdd) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PotOdd.ProtoReflect.Descriptor instead. func (*DB_PotOdd) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{112} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{116} } func (x *DB_PotOdd) GetId() int32 { @@ -8865,7 +9101,7 @@ type DB_PotOddArray struct { func (x *DB_PotOddArray) Reset() { *x = DB_PotOddArray{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[113] + mi := &file_protocol_server_pbdata_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8878,7 +9114,7 @@ func (x *DB_PotOddArray) String() string { func (*DB_PotOddArray) ProtoMessage() {} func (x *DB_PotOddArray) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[113] + mi := &file_protocol_server_pbdata_proto_msgTypes[117] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8891,7 +9127,7 @@ func (x *DB_PotOddArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PotOddArray.ProtoReflect.Descriptor instead. func (*DB_PotOddArray) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{113} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{117} } func (x *DB_PotOddArray) GetArr() []*DB_PotOdd { @@ -8915,7 +9151,7 @@ type DB_PropExchange struct { func (x *DB_PropExchange) Reset() { *x = DB_PropExchange{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[114] + mi := &file_protocol_server_pbdata_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8928,7 +9164,7 @@ func (x *DB_PropExchange) String() string { func (*DB_PropExchange) ProtoMessage() {} func (x *DB_PropExchange) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[114] + mi := &file_protocol_server_pbdata_proto_msgTypes[118] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8941,7 +9177,7 @@ func (x *DB_PropExchange) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PropExchange.ProtoReflect.Descriptor instead. func (*DB_PropExchange) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{114} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{118} } func (x *DB_PropExchange) GetId() int32 { @@ -8983,7 +9219,7 @@ type DB_PropExchangeArray struct { func (x *DB_PropExchangeArray) Reset() { *x = DB_PropExchangeArray{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[115] + mi := &file_protocol_server_pbdata_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8996,7 +9232,7 @@ func (x *DB_PropExchangeArray) String() string { func (*DB_PropExchangeArray) ProtoMessage() {} func (x *DB_PropExchangeArray) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[115] + mi := &file_protocol_server_pbdata_proto_msgTypes[119] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9009,7 +9245,7 @@ func (x *DB_PropExchangeArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PropExchangeArray.ProtoReflect.Descriptor instead. func (*DB_PropExchangeArray) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{115} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{119} } func (x *DB_PropExchangeArray) GetArr() []*DB_PropExchange { @@ -9032,7 +9268,7 @@ type DB_RankCycle struct { func (x *DB_RankCycle) Reset() { *x = DB_RankCycle{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[116] + mi := &file_protocol_server_pbdata_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9045,7 +9281,7 @@ func (x *DB_RankCycle) String() string { func (*DB_RankCycle) ProtoMessage() {} func (x *DB_RankCycle) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[116] + mi := &file_protocol_server_pbdata_proto_msgTypes[120] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9058,7 +9294,7 @@ func (x *DB_RankCycle) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_RankCycle.ProtoReflect.Descriptor instead. func (*DB_RankCycle) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{116} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{120} } func (x *DB_RankCycle) GetId() int32 { @@ -9093,7 +9329,7 @@ type DB_RankCycleArray struct { func (x *DB_RankCycleArray) Reset() { *x = DB_RankCycleArray{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[117] + mi := &file_protocol_server_pbdata_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9106,7 +9342,7 @@ func (x *DB_RankCycleArray) String() string { func (*DB_RankCycleArray) ProtoMessage() {} func (x *DB_RankCycleArray) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[117] + mi := &file_protocol_server_pbdata_proto_msgTypes[121] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9119,7 +9355,7 @@ func (x *DB_RankCycleArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_RankCycleArray.ProtoReflect.Descriptor instead. func (*DB_RankCycleArray) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{117} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{121} } func (x *DB_RankCycleArray) GetArr() []*DB_RankCycle { @@ -9144,7 +9380,7 @@ type DB_RankLevel struct { func (x *DB_RankLevel) Reset() { *x = DB_RankLevel{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[118] + mi := &file_protocol_server_pbdata_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9157,7 +9393,7 @@ func (x *DB_RankLevel) String() string { func (*DB_RankLevel) ProtoMessage() {} func (x *DB_RankLevel) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[118] + mi := &file_protocol_server_pbdata_proto_msgTypes[122] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9170,7 +9406,7 @@ func (x *DB_RankLevel) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_RankLevel.ProtoReflect.Descriptor instead. func (*DB_RankLevel) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{118} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{122} } func (x *DB_RankLevel) GetId() int32 { @@ -9219,7 +9455,7 @@ type DB_RankLevelArray struct { func (x *DB_RankLevelArray) Reset() { *x = DB_RankLevelArray{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[119] + mi := &file_protocol_server_pbdata_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9232,7 +9468,7 @@ func (x *DB_RankLevelArray) String() string { func (*DB_RankLevelArray) ProtoMessage() {} func (x *DB_RankLevelArray) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[119] + mi := &file_protocol_server_pbdata_proto_msgTypes[123] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9245,7 +9481,7 @@ func (x *DB_RankLevelArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_RankLevelArray.ProtoReflect.Descriptor instead. func (*DB_RankLevelArray) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{119} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{123} } func (x *DB_RankLevelArray) GetArr() []*DB_RankLevel { @@ -9274,7 +9510,7 @@ type DB_RankReward struct { func (x *DB_RankReward) Reset() { *x = DB_RankReward{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[120] + mi := &file_protocol_server_pbdata_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9287,7 +9523,7 @@ func (x *DB_RankReward) String() string { func (*DB_RankReward) ProtoMessage() {} func (x *DB_RankReward) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[120] + mi := &file_protocol_server_pbdata_proto_msgTypes[124] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9300,7 +9536,7 @@ func (x *DB_RankReward) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_RankReward.ProtoReflect.Descriptor instead. func (*DB_RankReward) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{120} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{124} } func (x *DB_RankReward) GetId() int32 { @@ -9377,7 +9613,7 @@ type DB_RankRewardArray struct { func (x *DB_RankRewardArray) Reset() { *x = DB_RankRewardArray{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[121] + mi := &file_protocol_server_pbdata_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9390,7 +9626,7 @@ func (x *DB_RankRewardArray) String() string { func (*DB_RankRewardArray) ProtoMessage() {} func (x *DB_RankRewardArray) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[121] + mi := &file_protocol_server_pbdata_proto_msgTypes[125] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9403,7 +9639,7 @@ func (x *DB_RankRewardArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_RankRewardArray.ProtoReflect.Descriptor instead. func (*DB_RankRewardArray) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{121} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{125} } func (x *DB_RankRewardArray) GetArr() []*DB_RankReward { @@ -9425,7 +9661,7 @@ type DB_Sensitive_Words struct { func (x *DB_Sensitive_Words) Reset() { *x = DB_Sensitive_Words{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[122] + mi := &file_protocol_server_pbdata_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9438,7 +9674,7 @@ func (x *DB_Sensitive_Words) String() string { func (*DB_Sensitive_Words) ProtoMessage() {} func (x *DB_Sensitive_Words) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[122] + mi := &file_protocol_server_pbdata_proto_msgTypes[126] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9451,7 +9687,7 @@ func (x *DB_Sensitive_Words) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_Sensitive_Words.ProtoReflect.Descriptor instead. func (*DB_Sensitive_Words) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{122} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{126} } func (x *DB_Sensitive_Words) GetId() int32 { @@ -9479,7 +9715,7 @@ type DB_Sensitive_WordsArray struct { func (x *DB_Sensitive_WordsArray) Reset() { *x = DB_Sensitive_WordsArray{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[123] + mi := &file_protocol_server_pbdata_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9492,7 +9728,7 @@ func (x *DB_Sensitive_WordsArray) String() string { func (*DB_Sensitive_WordsArray) ProtoMessage() {} func (x *DB_Sensitive_WordsArray) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[123] + mi := &file_protocol_server_pbdata_proto_msgTypes[127] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9505,7 +9741,7 @@ func (x *DB_Sensitive_WordsArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_Sensitive_WordsArray.ProtoReflect.Descriptor instead. func (*DB_Sensitive_WordsArray) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{123} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{127} } func (x *DB_Sensitive_WordsArray) GetArr() []*DB_Sensitive_Words { @@ -9539,7 +9775,7 @@ type DB_Skin struct { func (x *DB_Skin) Reset() { *x = DB_Skin{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[124] + mi := &file_protocol_server_pbdata_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9552,7 +9788,7 @@ func (x *DB_Skin) String() string { func (*DB_Skin) ProtoMessage() {} func (x *DB_Skin) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[124] + mi := &file_protocol_server_pbdata_proto_msgTypes[128] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9565,7 +9801,7 @@ func (x *DB_Skin) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_Skin.ProtoReflect.Descriptor instead. func (*DB_Skin) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{124} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{128} } func (x *DB_Skin) GetId() int32 { @@ -9677,7 +9913,7 @@ type DB_SkinArray struct { func (x *DB_SkinArray) Reset() { *x = DB_SkinArray{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[125] + mi := &file_protocol_server_pbdata_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9690,7 +9926,7 @@ func (x *DB_SkinArray) String() string { func (*DB_SkinArray) ProtoMessage() {} func (x *DB_SkinArray) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[125] + mi := &file_protocol_server_pbdata_proto_msgTypes[129] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9703,7 +9939,7 @@ func (x *DB_SkinArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_SkinArray.ProtoReflect.Descriptor instead. func (*DB_SkinArray) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{125} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{129} } func (x *DB_SkinArray) GetArr() []*DB_Skin { @@ -9731,7 +9967,7 @@ type DB_SkinLevel struct { func (x *DB_SkinLevel) Reset() { *x = DB_SkinLevel{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[126] + mi := &file_protocol_server_pbdata_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9744,7 +9980,7 @@ func (x *DB_SkinLevel) String() string { func (*DB_SkinLevel) ProtoMessage() {} func (x *DB_SkinLevel) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[126] + mi := &file_protocol_server_pbdata_proto_msgTypes[130] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9757,7 +9993,7 @@ func (x *DB_SkinLevel) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_SkinLevel.ProtoReflect.Descriptor instead. func (*DB_SkinLevel) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{126} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{130} } func (x *DB_SkinLevel) GetId() int32 { @@ -9827,7 +10063,7 @@ type DB_SkinLevelArray struct { func (x *DB_SkinLevelArray) Reset() { *x = DB_SkinLevelArray{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[127] + mi := &file_protocol_server_pbdata_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9840,7 +10076,7 @@ func (x *DB_SkinLevelArray) String() string { func (*DB_SkinLevelArray) ProtoMessage() {} func (x *DB_SkinLevelArray) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[127] + mi := &file_protocol_server_pbdata_proto_msgTypes[131] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9853,7 +10089,7 @@ func (x *DB_SkinLevelArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_SkinLevelArray.ProtoReflect.Descriptor instead. func (*DB_SkinLevelArray) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{127} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{131} } func (x *DB_SkinLevelArray) GetArr() []*DB_SkinLevel { @@ -9889,7 +10125,7 @@ type DB_SlotRateWeight struct { func (x *DB_SlotRateWeight) Reset() { *x = DB_SlotRateWeight{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[128] + mi := &file_protocol_server_pbdata_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9902,7 +10138,7 @@ func (x *DB_SlotRateWeight) String() string { func (*DB_SlotRateWeight) ProtoMessage() {} func (x *DB_SlotRateWeight) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[128] + mi := &file_protocol_server_pbdata_proto_msgTypes[132] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9915,7 +10151,7 @@ func (x *DB_SlotRateWeight) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_SlotRateWeight.ProtoReflect.Descriptor instead. func (*DB_SlotRateWeight) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{128} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{132} } func (x *DB_SlotRateWeight) GetId() int32 { @@ -10041,7 +10277,7 @@ type DB_SlotRateWeightArray struct { func (x *DB_SlotRateWeightArray) Reset() { *x = DB_SlotRateWeightArray{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[129] + mi := &file_protocol_server_pbdata_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10054,7 +10290,7 @@ func (x *DB_SlotRateWeightArray) String() string { func (*DB_SlotRateWeightArray) ProtoMessage() {} func (x *DB_SlotRateWeightArray) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[129] + mi := &file_protocol_server_pbdata_proto_msgTypes[133] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10067,7 +10303,7 @@ func (x *DB_SlotRateWeightArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_SlotRateWeightArray.ProtoReflect.Descriptor instead. func (*DB_SlotRateWeightArray) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{129} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{133} } func (x *DB_SlotRateWeightArray) GetArr() []*DB_SlotRateWeight { @@ -10092,7 +10328,7 @@ type DB_SystemChance struct { func (x *DB_SystemChance) Reset() { *x = DB_SystemChance{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[130] + mi := &file_protocol_server_pbdata_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10105,7 +10341,7 @@ func (x *DB_SystemChance) String() string { func (*DB_SystemChance) ProtoMessage() {} func (x *DB_SystemChance) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[130] + mi := &file_protocol_server_pbdata_proto_msgTypes[134] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10118,7 +10354,7 @@ func (x *DB_SystemChance) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_SystemChance.ProtoReflect.Descriptor instead. func (*DB_SystemChance) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{130} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{134} } func (x *DB_SystemChance) GetId() int32 { @@ -10167,7 +10403,7 @@ type DB_SystemChanceArray struct { func (x *DB_SystemChanceArray) Reset() { *x = DB_SystemChanceArray{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[131] + mi := &file_protocol_server_pbdata_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10180,7 +10416,7 @@ func (x *DB_SystemChanceArray) String() string { func (*DB_SystemChanceArray) ProtoMessage() {} func (x *DB_SystemChanceArray) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[131] + mi := &file_protocol_server_pbdata_proto_msgTypes[135] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10193,7 +10429,7 @@ func (x *DB_SystemChanceArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_SystemChanceArray.ProtoReflect.Descriptor instead. func (*DB_SystemChanceArray) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{131} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{135} } func (x *DB_SystemChanceArray) GetArr() []*DB_SystemChance { @@ -10224,7 +10460,7 @@ type DB_Task struct { func (x *DB_Task) Reset() { *x = DB_Task{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[132] + mi := &file_protocol_server_pbdata_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10237,7 +10473,7 @@ func (x *DB_Task) String() string { func (*DB_Task) ProtoMessage() {} func (x *DB_Task) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[132] + mi := &file_protocol_server_pbdata_proto_msgTypes[136] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10250,7 +10486,7 @@ func (x *DB_Task) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_Task.ProtoReflect.Descriptor instead. func (*DB_Task) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{132} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{136} } func (x *DB_Task) GetId() int32 { @@ -10341,7 +10577,7 @@ type DB_TaskArray struct { func (x *DB_TaskArray) Reset() { *x = DB_TaskArray{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[133] + mi := &file_protocol_server_pbdata_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10354,7 +10590,7 @@ func (x *DB_TaskArray) String() string { func (*DB_TaskArray) ProtoMessage() {} func (x *DB_TaskArray) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[133] + mi := &file_protocol_server_pbdata_proto_msgTypes[137] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10367,7 +10603,7 @@ func (x *DB_TaskArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_TaskArray.ProtoReflect.Descriptor instead. func (*DB_TaskArray) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{133} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{137} } func (x *DB_TaskArray) GetArr() []*DB_Task { @@ -10394,7 +10630,7 @@ type DB_ThirdPlatformGameMapping struct { func (x *DB_ThirdPlatformGameMapping) Reset() { *x = DB_ThirdPlatformGameMapping{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[134] + mi := &file_protocol_server_pbdata_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10407,7 +10643,7 @@ func (x *DB_ThirdPlatformGameMapping) String() string { func (*DB_ThirdPlatformGameMapping) ProtoMessage() {} func (x *DB_ThirdPlatformGameMapping) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[134] + mi := &file_protocol_server_pbdata_proto_msgTypes[138] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10420,7 +10656,7 @@ func (x *DB_ThirdPlatformGameMapping) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_ThirdPlatformGameMapping.ProtoReflect.Descriptor instead. func (*DB_ThirdPlatformGameMapping) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{134} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{138} } func (x *DB_ThirdPlatformGameMapping) GetId() int32 { @@ -10483,7 +10719,7 @@ type DB_ThirdPlatformGameMappingArray struct { func (x *DB_ThirdPlatformGameMappingArray) Reset() { *x = DB_ThirdPlatformGameMappingArray{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[135] + mi := &file_protocol_server_pbdata_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10496,7 +10732,7 @@ func (x *DB_ThirdPlatformGameMappingArray) String() string { func (*DB_ThirdPlatformGameMappingArray) ProtoMessage() {} func (x *DB_ThirdPlatformGameMappingArray) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[135] + mi := &file_protocol_server_pbdata_proto_msgTypes[139] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10509,7 +10745,7 @@ func (x *DB_ThirdPlatformGameMappingArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_ThirdPlatformGameMappingArray.ProtoReflect.Descriptor instead. func (*DB_ThirdPlatformGameMappingArray) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{135} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{139} } func (x *DB_ThirdPlatformGameMappingArray) GetArr() []*DB_ThirdPlatformGameMapping { @@ -10532,7 +10768,7 @@ type DB_Tips struct { func (x *DB_Tips) Reset() { *x = DB_Tips{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[136] + mi := &file_protocol_server_pbdata_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10545,7 +10781,7 @@ func (x *DB_Tips) String() string { func (*DB_Tips) ProtoMessage() {} func (x *DB_Tips) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[136] + mi := &file_protocol_server_pbdata_proto_msgTypes[140] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10558,7 +10794,7 @@ func (x *DB_Tips) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_Tips.ProtoReflect.Descriptor instead. func (*DB_Tips) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{136} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{140} } func (x *DB_Tips) GetId() int32 { @@ -10593,7 +10829,7 @@ type DB_TipsArray struct { func (x *DB_TipsArray) Reset() { *x = DB_TipsArray{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[137] + mi := &file_protocol_server_pbdata_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10606,7 +10842,7 @@ func (x *DB_TipsArray) String() string { func (*DB_TipsArray) ProtoMessage() {} func (x *DB_TipsArray) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[137] + mi := &file_protocol_server_pbdata_proto_msgTypes[141] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10619,7 +10855,7 @@ func (x *DB_TipsArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_TipsArray.ProtoReflect.Descriptor instead. func (*DB_TipsArray) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{137} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{141} } func (x *DB_TipsArray) GetArr() []*DB_Tips { @@ -10661,7 +10897,7 @@ type DB_VIP struct { func (x *DB_VIP) Reset() { *x = DB_VIP{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[138] + mi := &file_protocol_server_pbdata_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10674,7 +10910,7 @@ func (x *DB_VIP) String() string { func (*DB_VIP) ProtoMessage() {} func (x *DB_VIP) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[138] + mi := &file_protocol_server_pbdata_proto_msgTypes[142] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10687,7 +10923,7 @@ func (x *DB_VIP) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_VIP.ProtoReflect.Descriptor instead. func (*DB_VIP) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{138} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{142} } func (x *DB_VIP) GetId() int32 { @@ -10855,7 +11091,7 @@ type DB_VIPArray struct { func (x *DB_VIPArray) Reset() { *x = DB_VIPArray{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[139] + mi := &file_protocol_server_pbdata_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10868,7 +11104,7 @@ func (x *DB_VIPArray) String() string { func (*DB_VIPArray) ProtoMessage() {} func (x *DB_VIPArray) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[139] + mi := &file_protocol_server_pbdata_proto_msgTypes[143] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10881,7 +11117,7 @@ func (x *DB_VIPArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_VIPArray.ProtoReflect.Descriptor instead. func (*DB_VIPArray) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{139} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{143} } func (x *DB_VIPArray) GetArr() []*DB_VIP { @@ -10906,7 +11142,7 @@ type DB_VIPShow struct { func (x *DB_VIPShow) Reset() { *x = DB_VIPShow{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[140] + mi := &file_protocol_server_pbdata_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10919,7 +11155,7 @@ func (x *DB_VIPShow) String() string { func (*DB_VIPShow) ProtoMessage() {} func (x *DB_VIPShow) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[140] + mi := &file_protocol_server_pbdata_proto_msgTypes[144] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10932,7 +11168,7 @@ func (x *DB_VIPShow) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_VIPShow.ProtoReflect.Descriptor instead. func (*DB_VIPShow) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{140} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{144} } func (x *DB_VIPShow) GetId() int32 { @@ -10981,7 +11217,7 @@ type DB_VIPShowArray struct { func (x *DB_VIPShowArray) Reset() { *x = DB_VIPShowArray{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_server_pbdata_proto_msgTypes[141] + mi := &file_protocol_server_pbdata_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10994,7 +11230,7 @@ func (x *DB_VIPShowArray) String() string { func (*DB_VIPShowArray) ProtoMessage() {} func (x *DB_VIPShowArray) ProtoReflect() protoreflect.Message { - mi := &file_protocol_server_pbdata_proto_msgTypes[141] + mi := &file_protocol_server_pbdata_proto_msgTypes[145] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11007,7 +11243,7 @@ func (x *DB_VIPShowArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_VIPShowArray.ProtoReflect.Descriptor instead. func (*DB_VIPShowArray) Descriptor() ([]byte, []int) { - return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{141} + return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{145} } func (x *DB_VIPShowArray) GetArr() []*DB_VIPShow { @@ -12031,486 +12267,518 @@ var file_protocol_server_pbdata_proto_rawDesc = []byte{ 0x44, 0x42, 0x5f, 0x4e, 0x65, 0x77, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x26, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x4e, 0x65, 0x77, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x75, 0x0a, 0x0b, 0x44, 0x42, 0x5f, - 0x50, 0x61, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x77, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x68, 0x6f, 0x77, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x68, 0x6f, 0x77, 0x56, 0x6f, 0x6c, 0x75, - 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, 0x68, 0x6f, 0x77, 0x56, 0x6f, - 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x39, 0x0a, 0x10, 0x44, 0x42, 0x5f, 0x50, 0x61, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x41, - 0x72, 0x72, 0x61, 0x79, 0x12, 0x25, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x61, - 0x73, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xe9, 0x02, 0x0a, 0x0b, - 0x44, 0x42, 0x5f, 0x50, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x53, - 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x6b, - 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x65, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x50, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x6b, 0x69, - 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, - 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x6b, 0x69, - 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x6b, - 0x69, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x6b, 0x69, 0x6c, 0x6c, - 0x44, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x6b, 0x69, 0x6c, 0x6c, - 0x44, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x4b, 0x69, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, 0x4b, 0x69, 0x6c, 0x6c, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6e, 0x73, 0x75, - 0x6d, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x2e, 0x49, 0x74, 0x65, - 0x6d, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x49, 0x74, - 0x65, 0x6d, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x1a, 0x3d, 0x0a, 0x0f, 0x49, 0x74, 0x65, 0x6d, - 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 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, 0x39, 0x0a, 0x10, 0x44, 0x42, 0x5f, 0x50, 0x65, - 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x25, 0x0a, 0x03, 0x41, - 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x03, 0x41, - 0x72, 0x72, 0x22, 0xa2, 0x02, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, - 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 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, 0x05, 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, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x10, 0x0a, - 0x03, 0x4f, 0x64, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4f, 0x64, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x4f, 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x31, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x4f, 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x31, 0x12, 0x12, 0x0a, 0x04, 0x4f, - 0x64, 0x64, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x4f, 0x64, 0x64, 0x32, 0x12, - 0x1a, 0x0a, 0x08, 0x4f, 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x4f, 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x32, 0x12, 0x12, 0x0a, 0x04, 0x4f, - 0x64, 0x64, 0x33, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x4f, 0x64, 0x64, 0x33, 0x12, - 0x1a, 0x0a, 0x08, 0x4f, 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x33, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x4f, 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x33, 0x12, 0x1a, 0x0a, 0x08, 0x4f, - 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x34, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4f, - 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x34, 0x22, 0x41, 0x0a, 0x14, 0x44, 0x42, 0x5f, 0x50, 0x68, - 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, - 0x29, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, - 0x74, 0x74, 0x65, 0x72, 0x79, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xd8, 0x04, 0x0a, 0x12, 0x44, - 0x42, 0x5f, 0x50, 0x69, 0x67, 0x42, 0x61, 0x6e, 0x6b, 0x5f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, - 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, - 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x69, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x42, 0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x4d, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, - 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x42, 0x75, 0x79, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x61, - 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x43, 0x6f, 0x73, 0x74, - 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x61, 0x78, 0x47, 0x6f, - 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4d, 0x61, 0x78, 0x47, 0x6f, 0x6c, - 0x64, 0x12, 0x41, 0x0a, 0x07, 0x47, 0x6f, 0x6c, 0x64, 0x45, 0x78, 0x63, 0x18, 0x06, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, - 0x69, 0x67, 0x42, 0x61, 0x6e, 0x6b, 0x5f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x2e, 0x47, - 0x6f, 0x6c, 0x64, 0x45, 0x78, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x47, 0x6f, 0x6c, - 0x64, 0x45, 0x78, 0x63, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x61, 0x78, 0x44, 0x69, 0x61, 0x6d, 0x6f, - 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x61, 0x78, 0x44, 0x69, 0x61, - 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x49, - 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, - 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x0a, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x45, 0x78, 0x63, - 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, - 0x44, 0x42, 0x5f, 0x50, 0x69, 0x67, 0x42, 0x61, 0x6e, 0x6b, 0x5f, 0x44, 0x69, 0x61, 0x6d, 0x6f, - 0x6e, 0x64, 0x2e, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x45, 0x78, 0x63, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x0a, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x45, 0x78, 0x63, 0x12, 0x1c, - 0x0a, 0x09, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x09, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, - 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0c, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, - 0x12, 0x28, 0x0a, 0x0f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4e, 0x6f, 0x77, 0x50, 0x72, - 0x69, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x44, 0x69, 0x61, 0x6d, 0x6f, - 0x6e, 0x64, 0x4e, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x1a, 0x3a, 0x0a, 0x0c, 0x47, 0x6f, - 0x6c, 0x64, 0x45, 0x78, 0x63, 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, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, - 0x64, 0x45, 0x78, 0x63, 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, 0x47, 0x0a, 0x17, 0x44, 0x42, 0x5f, 0x50, 0x69, 0x67, 0x42, - 0x61, 0x6e, 0x6b, 0x5f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x41, 0x72, 0x72, 0x61, 0x79, - 0x12, 0x2c, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x69, 0x67, 0x42, 0x61, 0x6e, - 0x6b, 0x5f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x5b, - 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x50, 0x72, 0x6f, - 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, - 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6f, 0x72, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6f, 0x72, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x50, 0x72, 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x09, 0x50, 0x72, 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x41, 0x0a, 0x14, 0x44, - 0x42, 0x5f, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x41, 0x72, - 0x72, 0x61, 0x79, 0x12, 0x29, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x69, 0x67, - 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x30, - 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x78, 0x70, 0x12, 0x0e, - 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x10, - 0x0a, 0x03, 0x45, 0x78, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x45, 0x78, 0x70, - 0x22, 0x3b, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x78, 0x70, - 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x26, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x78, 0x70, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xa5, 0x05, - 0x0a, 0x0d, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x61, 0x79, 0x65, 0x72, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x78, 0x0a, 0x12, 0x44, 0x42, 0x5f, + 0x4e, 0x65, 0x77, 0x59, 0x65, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, - 0x65, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x50, 0x61, 0x79, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x50, 0x61, 0x79, 0x4c, - 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x50, 0x61, 0x79, - 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0d, 0x50, 0x61, 0x79, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, - 0x2e, 0x0a, 0x12, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4c, 0x6f, 0x77, 0x65, 0x72, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x47, 0x61, 0x6d, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, - 0x2e, 0x0a, 0x12, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x70, 0x70, 0x65, 0x72, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x47, 0x61, 0x6d, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, - 0x2c, 0x0a, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x54, 0x6f, 0x74, 0x61, - 0x6c, 0x49, 0x6e, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2c, 0x0a, - 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x49, - 0x6e, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x4f, - 0x64, 0x64, 0x73, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0e, 0x4f, 0x64, 0x64, 0x73, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x4f, 0x64, 0x64, 0x73, 0x55, 0x70, 0x70, 0x65, 0x72, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x4f, 0x64, 0x64, - 0x73, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x4c, - 0x75, 0x63, 0x6b, 0x79, 0x52, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, - 0x4c, 0x75, 0x63, 0x6b, 0x79, 0x52, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x74, - 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x05, - 0x52, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, - 0x22, 0x0a, 0x0c, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x18, - 0x10, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x62, 0x52, 0x61, - 0x74, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, - 0x62, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x62, - 0x41, 0x72, 0x72, 0x18, 0x12, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x4c, - 0x69, 0x62, 0x41, 0x72, 0x72, 0x22, 0x3d, 0x0a, 0x12, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x27, 0x0a, 0x03, 0x41, - 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x03, 0x41, 0x72, 0x72, 0x22, 0x5d, 0x0a, 0x09, 0x44, 0x42, 0x5f, 0x50, 0x6f, 0x74, 0x4f, 0x64, - 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x56, - 0x69, 0x70, 0x4f, 0x64, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x56, 0x69, 0x70, - 0x4f, 0x64, 0x64, 0x22, 0x35, 0x0a, 0x0e, 0x44, 0x42, 0x5f, 0x50, 0x6f, 0x74, 0x4f, 0x64, 0x64, - 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x23, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, - 0x6f, 0x74, 0x4f, 0x64, 0x64, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x97, 0x02, 0x0a, 0x0f, 0x44, - 0x42, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x0e, - 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x12, 0x35, 0x0a, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, - 0x72, 0x6f, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x73, 0x74, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x47, - 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x2e, 0x47, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x47, 0x61, - 0x69, 0x6e, 0x1a, 0x37, 0x0a, 0x09, 0x43, 0x6f, 0x73, 0x74, 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, 0x37, 0x0a, 0x09, 0x47, - 0x61, 0x69, 0x6e, 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, 0x41, 0x0a, 0x14, 0x44, 0x42, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x45, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x29, 0x0a, 0x03, - 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x46, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x52, 0x61, - 0x6e, 0x6b, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, - 0x03, 0x45, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x45, 0x6e, 0x64, 0x22, - 0x3b, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x41, - 0x72, 0x72, 0x61, 0x79, 0x12, 0x26, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x52, 0x61, - 0x6e, 0x6b, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x7a, 0x0a, 0x0c, - 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, - 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, - 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x12, - 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x3b, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x52, - 0x61, 0x6e, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x26, 0x0a, - 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, - 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xff, 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, - 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, - 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x77, 0x61, - 0x72, 0x64, 0x31, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x41, 0x77, 0x61, - 0x72, 0x64, 0x31, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, 0x4e, - 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, - 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x49, 0x64, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x49, 0x64, 0x12, - 0x1c, 0x0a, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x4e, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, - 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x33, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x33, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x77, 0x61, - 0x72, 0x64, 0x33, 0x4e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x41, 0x77, - 0x61, 0x72, 0x64, 0x33, 0x4e, 0x75, 0x6d, 0x22, 0x3d, 0x0a, 0x12, 0x44, 0x42, 0x5f, 0x52, 0x61, - 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x27, 0x0a, - 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x4d, 0x0a, 0x12, 0x44, 0x42, 0x5f, 0x53, 0x65, 0x6e, - 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x0e, 0x0a, 0x02, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, - 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, - 0x57, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x47, 0x0a, 0x17, 0x44, 0x42, 0x5f, 0x53, 0x65, 0x6e, 0x73, - 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, - 0x12, 0x2c, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x83, - 0x04, 0x0a, 0x07, 0x44, 0x42, 0x5f, 0x53, 0x6b, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x6b, - 0x69, 0x6e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, - 0x6b, 0x69, 0x6e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x4d, 0x6f, 0x64, 0x65, - 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x18, - 0x0a, 0x07, 0x53, 0x6b, 0x69, 0x6e, 0x50, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x53, 0x6b, 0x69, 0x6e, 0x50, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x6b, 0x69, 0x6e, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x6b, 0x69, 0x6e, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x6b, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x6b, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x3f, 0x0a, 0x0a, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x08, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, - 0x5f, 0x53, 0x6b, 0x69, 0x6e, 0x2e, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, - 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, - 0x69, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x6b, 0x69, 0x6e, 0x53, - 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x63, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x63, 0x6f, 0x6e, 0x12, 0x22, 0x0a, - 0x0c, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x73, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65, - 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, - 0x69, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x75, 0x72, 0x6e, 0x18, - 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x54, 0x75, 0x72, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x54, - 0x75, 0x72, 0x6e, 0x4b, 0x65, 0x79, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x54, 0x75, - 0x72, 0x6e, 0x4b, 0x65, 0x79, 0x1a, 0x3d, 0x0a, 0x0f, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x49, - 0x74, 0x65, 0x6d, 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, 0x31, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x53, 0x6b, 0x69, 0x6e, 0x41, - 0x72, 0x72, 0x61, 0x79, 0x12, 0x21, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x53, 0x6b, - 0x69, 0x6e, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xd7, 0x02, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x53, - 0x6b, 0x69, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6b, 0x69, 0x6e, - 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x64, - 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x38, 0x0a, 0x06, 0x55, 0x70, 0x49, 0x74, 0x65, 0x6d, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, - 0x44, 0x42, 0x5f, 0x53, 0x6b, 0x69, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x2e, 0x55, 0x70, 0x49, - 0x74, 0x65, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x55, 0x70, 0x49, 0x74, 0x65, 0x6d, - 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, - 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, - 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x53, 0x6b, 0x69, 0x6e, - 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x6b, - 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0e, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, - 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, - 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x55, 0x70, 0x49, 0x74, 0x65, 0x6d, + 0x1a, 0x0a, 0x08, 0x50, 0x6f, 0x72, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x50, 0x6f, 0x72, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x50, + 0x72, 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x50, 0x72, 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x72, 0x6f, + 0x70, 0x44, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x50, 0x72, 0x6f, 0x70, + 0x44, 0x65, 0x63, 0x22, 0x47, 0x0a, 0x17, 0x44, 0x42, 0x5f, 0x4e, 0x65, 0x77, 0x59, 0x65, 0x61, + 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x2c, + 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x4e, 0x65, 0x77, 0x59, 0x65, 0x61, 0x72, 0x41, + 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xe9, 0x01, 0x0a, + 0x14, 0x44, 0x42, 0x5f, 0x4e, 0x65, 0x77, 0x59, 0x65, 0x61, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x70, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, + 0x42, 0x5f, 0x4e, 0x65, 0x77, 0x59, 0x65, 0x61, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x70, 0x1a, 0x3b, 0x0a, 0x0d, 0x41, + 0x77, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x70, 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, 0x4b, 0x0a, 0x19, 0x44, 0x42, 0x5f, 0x4e, + 0x65, 0x77, 0x59, 0x65, 0x61, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x2e, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x4e, + 0x65, 0x77, 0x59, 0x65, 0x61, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x75, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x50, 0x61, 0x73, 0x73, + 0x53, 0x68, 0x6f, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x68, 0x6f, 0x77, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, 0x68, 0x6f, 0x77, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x39, 0x0a, 0x10, + 0x44, 0x42, 0x5f, 0x50, 0x61, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x72, 0x72, 0x61, 0x79, + 0x12, 0x25, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x61, 0x73, 0x73, 0x53, 0x68, + 0x6f, 0x77, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xe9, 0x02, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x50, + 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x6b, 0x69, 0x6c, 0x6c, + 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, + 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x50, 0x65, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x50, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, + 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x73, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x73, 0x12, + 0x1e, 0x0a, 0x0a, 0x53, 0x4b, 0x69, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, 0x4b, 0x69, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x43, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x18, 0x09, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, + 0x50, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6e, + 0x73, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, + 0x6e, 0x73, 0x75, 0x6d, 0x1a, 0x3d, 0x0a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6e, 0x73, + 0x75, 0x6d, 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, 0x39, 0x0a, 0x10, 0x44, 0x42, 0x5f, 0x50, 0x65, 0x74, 0x53, 0x6b, 0x69, + 0x6c, 0x6c, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x25, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, + 0x5f, 0x50, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xa2, + 0x02, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, 0x74, 0x65, + 0x72, 0x79, 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, 0x05, 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, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4f, 0x64, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4f, 0x64, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4f, + 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x31, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4f, + 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x31, 0x12, 0x12, 0x0a, 0x04, 0x4f, 0x64, 0x64, 0x32, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x4f, 0x64, 0x64, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x4f, + 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4f, + 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x32, 0x12, 0x12, 0x0a, 0x04, 0x4f, 0x64, 0x64, 0x33, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x4f, 0x64, 0x64, 0x33, 0x12, 0x1a, 0x0a, 0x08, 0x4f, + 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x33, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4f, + 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x33, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x64, 0x64, 0x72, 0x61, + 0x74, 0x65, 0x34, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4f, 0x64, 0x64, 0x72, 0x61, + 0x74, 0x65, 0x34, 0x22, 0x41, 0x0a, 0x14, 0x44, 0x42, 0x5f, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, + 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x29, 0x0a, 0x03, 0x41, + 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, + 0x79, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xd8, 0x04, 0x0a, 0x12, 0x44, 0x42, 0x5f, 0x50, 0x69, + 0x67, 0x42, 0x61, 0x6e, 0x6b, 0x5f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x0e, 0x0a, + 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x20, 0x0a, + 0x0b, 0x42, 0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0b, 0x42, 0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x69, 0x6e, 0x12, + 0x20, 0x0a, 0x0b, 0x42, 0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x42, 0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, + 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x61, 0x6d, + 0x6f, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x61, 0x78, 0x47, 0x6f, 0x6c, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4d, 0x61, 0x78, 0x47, 0x6f, 0x6c, 0x64, 0x12, 0x41, 0x0a, + 0x07, 0x47, 0x6f, 0x6c, 0x64, 0x45, 0x78, 0x63, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x69, 0x67, 0x42, 0x61, + 0x6e, 0x6b, 0x5f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x2e, 0x47, 0x6f, 0x6c, 0x64, 0x45, + 0x78, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x47, 0x6f, 0x6c, 0x64, 0x45, 0x78, 0x63, + 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x61, 0x78, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x61, 0x78, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, + 0x12, 0x1c, 0x0a, 0x09, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x4a, + 0x0a, 0x0a, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x45, 0x78, 0x63, 0x18, 0x09, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, + 0x69, 0x67, 0x42, 0x61, 0x6e, 0x6b, 0x5f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x2e, 0x44, + 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x45, 0x78, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, + 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x45, 0x78, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x6f, + 0x69, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x43, + 0x6f, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x44, 0x69, 0x61, 0x6d, + 0x6f, 0x6e, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, + 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0f, + 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4e, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4e, 0x6f, + 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x1a, 0x3a, 0x0a, 0x0c, 0x47, 0x6f, 0x6c, 0x64, 0x45, 0x78, + 0x63, 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, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x45, 0x78, 0x63, 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, 0x3b, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x53, 0x6b, 0x69, 0x6e, 0x4c, 0x65, 0x76, 0x65, - 0x6c, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x26, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, - 0x53, 0x6b, 0x69, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xbb, - 0x03, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x61, 0x74, 0x65, 0x57, 0x65, - 0x69, 0x67, 0x68, 0x74, 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, 0x46, 0x72, - 0x65, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, - 0x6c, 0x31, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, - 0x6c, 0x31, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x32, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x32, 0x12, 0x1a, - 0x0a, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x33, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, - 0x52, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x33, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, - 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x34, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f, - 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x34, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, - 0x6c, 0x35, 0x18, 0x08, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, - 0x6c, 0x35, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x31, 0x18, 0x09, - 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x31, 0x12, 0x1a, - 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x32, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x05, - 0x52, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x72, - 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x33, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x46, 0x72, - 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x33, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, - 0x6c, 0x34, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, - 0x6c, 0x34, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x35, 0x18, 0x0d, - 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x35, 0x12, 0x18, - 0x0a, 0x07, 0x4d, 0x61, 0x72, 0x79, 0x4f, 0x75, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x05, 0x52, - 0x07, 0x4d, 0x61, 0x72, 0x79, 0x4f, 0x75, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x61, 0x72, 0x79, - 0x4d, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x4d, 0x61, 0x72, 0x79, 0x4d, - 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x4a, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x74, 0x18, 0x10, 0x20, - 0x03, 0x28, 0x05, 0x52, 0x07, 0x4a, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x74, 0x22, 0x45, 0x0a, 0x16, - 0x44, 0x42, 0x5f, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x61, 0x74, 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x2b, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, - 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x61, 0x74, 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x03, - 0x41, 0x72, 0x72, 0x22, 0x7d, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, - 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x65, 0x73, 0x63, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x68, - 0x61, 0x6e, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, - 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x12, - 0x0a, 0x04, 0x52, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x52, 0x61, - 0x74, 0x65, 0x22, 0x41, 0x0a, 0x14, 0x44, 0x42, 0x5f, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x43, - 0x68, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x29, 0x0a, 0x03, 0x41, 0x72, - 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x2e, 0x44, 0x42, 0x5f, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, - 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xfd, 0x02, 0x0a, 0x07, 0x44, 0x42, 0x5f, 0x54, 0x61, 0x73, - 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, - 0x64, 0x12, 0x14, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x44, - 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x44, 0x65, 0x73, 0x12, 0x22, 0x0a, - 0x0c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, - 0x20, 0x0a, 0x0b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x12, 0x30, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x54, 0x61, 0x73, - 0x6b, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x41, 0x77, - 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x03, 0x28, - 0x05, 0x52, 0x08, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 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, 0x22, 0x31, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x54, 0x61, 0x73, 0x6b, - 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x21, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x54, - 0x61, 0x73, 0x6b, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x85, 0x02, 0x0a, 0x1b, 0x44, 0x42, 0x5f, - 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x47, 0x61, 0x6d, - 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, - 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x12, 0x2c, 0x0a, 0x11, - 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x54, 0x68, - 0x69, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x54, 0x68, 0x69, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, - 0x44, 0x65, 0x73, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x65, 0x73, 0x63, - 0x12, 0x34, 0x0a, 0x15, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x15, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x68, 0x69, 0x72, 0x64, 0x49, - 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x54, 0x68, 0x69, 0x72, 0x64, 0x49, 0x44, - 0x22, 0x59, 0x0a, 0x20, 0x44, 0x42, 0x5f, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x41, - 0x72, 0x72, 0x61, 0x79, 0x12, 0x35, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x54, 0x68, - 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x4d, - 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x43, 0x0a, 0x07, 0x44, - 0x42, 0x5f, 0x54, 0x69, 0x70, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x10, - 0x0a, 0x03, 0x44, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x44, 0x65, 0x73, - 0x22, 0x31, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x54, 0x69, 0x70, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, + 0x01, 0x22, 0x47, 0x0a, 0x17, 0x44, 0x42, 0x5f, 0x50, 0x69, 0x67, 0x42, 0x61, 0x6e, 0x6b, 0x5f, + 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x2c, 0x0a, 0x03, + 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x69, 0x67, 0x42, 0x61, 0x6e, 0x6b, 0x5f, 0x44, 0x69, + 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x5b, 0x0a, 0x0f, 0x44, 0x42, + 0x5f, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x12, 0x0e, 0x0a, + 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, + 0x08, 0x50, 0x6f, 0x72, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x50, 0x6f, 0x72, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x72, 0x6f, + 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x50, 0x72, + 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x41, 0x0a, 0x14, 0x44, 0x42, 0x5f, 0x50, 0x69, + 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, + 0x29, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, + 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x30, 0x0a, 0x0c, 0x44, 0x42, + 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x78, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x78, + 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x45, 0x78, 0x70, 0x22, 0x3b, 0x0a, 0x11, + 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x78, 0x70, 0x41, 0x72, 0x72, 0x61, + 0x79, 0x12, 0x26, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x45, 0x78, 0x70, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xa5, 0x05, 0x0a, 0x0d, 0x44, 0x42, + 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, + 0x24, 0x0a, 0x0d, 0x50, 0x61, 0x79, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x50, 0x61, 0x79, 0x4c, 0x6f, 0x77, 0x65, 0x72, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x50, 0x61, 0x79, 0x55, 0x70, 0x70, 0x65, + 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x50, 0x61, + 0x79, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x47, + 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x47, + 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x54, + 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x4c, + 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x54, 0x6f, 0x74, + 0x61, 0x6c, 0x49, 0x6e, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x55, 0x70, 0x70, + 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x4f, 0x64, 0x64, 0x73, 0x4c, + 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0e, 0x4f, 0x64, 0x64, 0x73, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, + 0x26, 0x0a, 0x0e, 0x4f, 0x64, 0x64, 0x73, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x4f, 0x64, 0x64, 0x73, 0x55, 0x70, 0x70, + 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x75, 0x63, 0x6b, 0x79, + 0x52, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4c, 0x75, 0x63, 0x6b, + 0x79, 0x52, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, + 0x61, 0x72, 0x64, 0x52, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, + 0x0e, 0x43, 0x61, 0x72, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, + 0x0e, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, + 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x45, + 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x10, 0x20, 0x03, 0x28, + 0x05, 0x52, 0x0c, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, + 0x20, 0x0a, 0x0b, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x62, 0x52, 0x61, 0x74, 0x65, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x62, 0x52, 0x61, 0x74, + 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x62, 0x41, 0x72, 0x72, 0x18, + 0x12, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x62, 0x41, 0x72, + 0x72, 0x22, 0x3d, 0x0a, 0x12, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x79, + 0x70, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x27, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, + 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x03, 0x41, 0x72, 0x72, + 0x22, 0x5d, 0x0a, 0x09, 0x44, 0x42, 0x5f, 0x50, 0x6f, 0x74, 0x4f, 0x64, 0x64, 0x12, 0x0e, 0x0a, + 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x56, 0x69, 0x70, 0x4f, 0x64, + 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x56, 0x69, 0x70, 0x4f, 0x64, 0x64, 0x22, + 0x35, 0x0a, 0x0e, 0x44, 0x42, 0x5f, 0x50, 0x6f, 0x74, 0x4f, 0x64, 0x64, 0x41, 0x72, 0x72, 0x61, + 0x79, 0x12, 0x23, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x6f, 0x74, 0x4f, 0x64, + 0x64, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x97, 0x02, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x50, 0x72, + 0x6f, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x12, 0x35, 0x0a, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x45, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x47, 0x61, 0x69, 0x6e, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, + 0x42, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x47, + 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x47, 0x61, 0x69, 0x6e, 0x1a, 0x37, + 0x0a, 0x09, 0x43, 0x6f, 0x73, 0x74, 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, 0x37, 0x0a, 0x09, 0x47, 0x61, 0x69, 0x6e, 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, 0x41, 0x0a, 0x14, 0x44, 0x42, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x29, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, + 0x42, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x03, + 0x41, 0x72, 0x72, 0x22, 0x46, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x79, + 0x63, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x6e, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x45, 0x6e, 0x64, 0x22, 0x3b, 0x0a, 0x11, 0x44, + 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, + 0x12, 0x26, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x79, + 0x63, 0x6c, 0x65, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x7a, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x52, + 0x61, 0x6e, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x6b, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, 0x61, 0x6e, 0x6b, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x53, + 0x63, 0x6f, 0x72, 0x65, 0x22, 0x3b, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x26, 0x0a, 0x03, 0x41, 0x72, 0x72, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, + 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x03, 0x41, 0x72, + 0x72, 0x22, 0xff, 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, 0x49, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, 0x49, + 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, 0x4e, 0x75, 0x6d, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, 0x4e, 0x75, 0x6d, 0x12, + 0x1a, 0x0a, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, + 0x77, 0x61, 0x72, 0x64, 0x32, 0x4e, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x77, 0x61, + 0x72, 0x64, 0x33, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x41, 0x77, 0x61, + 0x72, 0x64, 0x33, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x33, 0x4e, + 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x33, + 0x4e, 0x75, 0x6d, 0x22, 0x3d, 0x0a, 0x12, 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x27, 0x0a, 0x03, 0x41, 0x72, 0x72, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, + 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x03, 0x41, + 0x72, 0x72, 0x22, 0x4d, 0x0a, 0x12, 0x44, 0x42, 0x5f, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x73, + 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, + 0x73, 0x22, 0x47, 0x0a, 0x17, 0x44, 0x42, 0x5f, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x2c, 0x0a, 0x03, + 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x57, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x83, 0x04, 0x0a, 0x07, 0x44, + 0x42, 0x5f, 0x53, 0x6b, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6e, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x6b, 0x69, 0x6e, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x6b, + 0x69, 0x6e, 0x50, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x53, 0x6b, 0x69, + 0x6e, 0x50, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x6b, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x6b, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x6b, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x53, 0x6b, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3f, 0x0a, 0x0a, + 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x53, 0x6b, 0x69, + 0x6e, 0x2e, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x0a, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x24, 0x0a, + 0x0d, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, + 0x49, 0x63, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x53, 0x6b, 0x69, 0x6e, + 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x63, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x6b, 0x69, + 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x73, 0x12, 0x24, 0x0a, + 0x0d, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x75, 0x72, 0x6e, 0x18, 0x0d, 0x20, 0x03, 0x28, + 0x05, 0x52, 0x04, 0x54, 0x75, 0x72, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x75, 0x72, 0x6e, 0x4b, + 0x65, 0x79, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x54, 0x75, 0x72, 0x6e, 0x4b, 0x65, + 0x79, 0x1a, 0x3d, 0x0a, 0x0f, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 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, 0x31, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x53, 0x6b, 0x69, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x21, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x54, 0x69, 0x70, 0x73, 0x52, 0x03, - 0x41, 0x72, 0x72, 0x22, 0xce, 0x06, 0x0a, 0x06, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x12, 0x0e, - 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x56, 0x69, 0x70, 0x45, - 0x78, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x56, 0x69, 0x70, 0x45, 0x78, 0x70, - 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, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x32, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, - 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x33, 0x18, 0x08, 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, 0x09, 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, 0x0a, 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, 0x0b, 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, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 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, 0x0d, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x50, - 0x72, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x37, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x37, 0x12, 0x1e, - 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x38, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x38, 0x12, 0x14, - 0x0a, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x10, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x12, 0x28, 0x0a, 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x75, - 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x18, 0x11, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0f, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x12, 0x2f, - 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x2e, 0x41, 0x77, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x53, 0x6b, 0x69, 0x6e, 0x52, 0x03, + 0x41, 0x72, 0x72, 0x22, 0xd7, 0x02, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x53, 0x6b, 0x69, 0x6e, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x12, 0x38, 0x0a, 0x06, 0x55, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x53, + 0x6b, 0x69, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x2e, 0x55, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x55, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x20, 0x0a, 0x0b, + 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0b, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x26, + 0x0a, 0x0e, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, + 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, + 0x69, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, + 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x22, + 0x0a, 0x0c, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x73, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, + 0x65, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x55, 0x70, 0x49, 0x74, 0x65, 0x6d, 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, 0x3b, 0x0a, + 0x11, 0x44, 0x42, 0x5f, 0x53, 0x6b, 0x69, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x41, 0x72, 0x72, + 0x61, 0x79, 0x12, 0x26, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x53, 0x6b, 0x69, 0x6e, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xbb, 0x03, 0x0a, 0x11, 0x44, + 0x42, 0x5f, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x61, 0x74, 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, + 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, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, + 0x12, 0x10, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x50, + 0x6f, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x31, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x31, 0x12, 0x1a, + 0x0a, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x32, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, + 0x52, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, + 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x33, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f, + 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x33, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, + 0x6c, 0x34, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, + 0x6c, 0x34, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x35, 0x18, 0x08, + 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x35, 0x12, 0x1a, + 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x31, 0x18, 0x09, 0x20, 0x03, 0x28, 0x05, + 0x52, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x31, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x72, + 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x32, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x46, 0x72, + 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, + 0x6c, 0x33, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, + 0x6c, 0x33, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x34, 0x18, 0x0c, + 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x34, 0x12, 0x1a, + 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x35, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x05, + 0x52, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x35, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x61, + 0x72, 0x79, 0x4f, 0x75, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x4d, 0x61, 0x72, + 0x79, 0x4f, 0x75, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x61, 0x72, 0x79, 0x4d, 0x69, 0x64, 0x18, + 0x0f, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x4d, 0x61, 0x72, 0x79, 0x4d, 0x69, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x4a, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x74, 0x18, 0x10, 0x20, 0x03, 0x28, 0x05, 0x52, + 0x07, 0x4a, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x74, 0x22, 0x45, 0x0a, 0x16, 0x44, 0x42, 0x5f, 0x53, + 0x6c, 0x6f, 0x74, 0x52, 0x61, 0x74, 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x41, 0x72, 0x72, + 0x61, 0x79, 0x12, 0x2b, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x53, 0x6c, 0x6f, 0x74, + 0x52, 0x61, 0x74, 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, + 0x7d, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x43, 0x68, 0x61, 0x6e, + 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x68, 0x61, 0x6e, + 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x61, + 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x52, 0x61, 0x74, 0x65, 0x22, 0x41, + 0x0a, 0x14, 0x44, 0x42, 0x5f, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x63, + 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x29, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, + 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x03, 0x41, 0x72, + 0x72, 0x22, 0xfd, 0x02, 0x0a, 0x07, 0x44, 0x42, 0x5f, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x0e, 0x0a, + 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, + 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x65, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x44, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x46, + 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x30, 0x0a, + 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, - 0x1c, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x09, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, - 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, - 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x46, 0x72, 0x65, 0x65, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, - 0x67, 0x65, 0x39, 0x18, 0x15, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, - 0x6c, 0x65, 0x67, 0x65, 0x39, 0x12, 0x24, 0x0a, 0x0d, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, - 0x67, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x50, 0x72, - 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x53, 0x68, 0x6f, 0x77, 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, 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, 0x22, 0x2f, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x41, 0x72, - 0x72, 0x61, 0x79, 0x12, 0x20, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, - 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x7c, 0x0a, 0x0a, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x53, - 0x68, 0x6f, 0x77, 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, 0x16, 0x0a, 0x06, 0x53, 0x6b, 0x69, 0x6e, 0x49, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x56, 0x49, 0x50, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x56, 0x49, 0x50, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x56, - 0x49, 0x50, 0x44, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x56, 0x49, 0x50, - 0x44, 0x65, 0x73, 0x22, 0x37, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x53, 0x68, 0x6f, - 0x77, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x24, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, - 0x56, 0x49, 0x50, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x03, 0x41, 0x72, 0x72, 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, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x50, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 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, 0x22, 0x31, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x72, 0x72, 0x61, + 0x79, 0x12, 0x21, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x54, 0x61, 0x73, 0x6b, 0x52, + 0x03, 0x41, 0x72, 0x72, 0x22, 0x85, 0x02, 0x0a, 0x1b, 0x44, 0x42, 0x5f, 0x54, 0x68, 0x69, 0x72, + 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, + 0x70, 0x69, 0x6e, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x02, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x47, 0x61, + 0x6d, 0x65, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x53, 0x79, 0x73, 0x74, + 0x65, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x12, 0x2c, 0x0a, 0x11, 0x54, 0x68, 0x69, 0x72, + 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x11, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x54, 0x68, 0x69, 0x72, 0x64, 0x47, + 0x61, 0x6d, 0x65, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x54, 0x68, 0x69, + 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x65, 0x73, 0x63, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x65, 0x73, 0x63, 0x12, 0x34, 0x0a, 0x15, + 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x53, 0x63, 0x72, + 0x65, 0x65, 0x6e, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x68, 0x69, 0x72, 0x64, 0x49, 0x44, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x54, 0x68, 0x69, 0x72, 0x64, 0x49, 0x44, 0x22, 0x59, 0x0a, 0x20, + 0x44, 0x42, 0x5f, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x41, 0x72, 0x72, 0x61, 0x79, + 0x12, 0x35, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, + 0x6e, 0x67, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x43, 0x0a, 0x07, 0x44, 0x42, 0x5f, 0x54, 0x69, + 0x70, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x44, 0x65, 0x73, 0x22, 0x31, 0x0a, 0x0c, + 0x44, 0x42, 0x5f, 0x54, 0x69, 0x70, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x21, 0x0a, 0x03, + 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x54, 0x69, 0x70, 0x73, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, + 0xce, 0x06, 0x0a, 0x06, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x56, 0x69, 0x70, 0x45, 0x78, 0x70, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x56, 0x69, 0x70, 0x45, 0x78, 0x70, 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, 0x18, 0x0a, 0x07, + 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, + 0x68, 0x6f, 0x70, 0x49, 0x64, 0x32, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, + 0x65, 0x67, 0x65, 0x33, 0x18, 0x08, 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, 0x09, 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, 0x0a, 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, 0x0b, 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, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 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, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x50, 0x72, 0x69, 0x63, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x37, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x37, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, + 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x38, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x38, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x18, 0x10, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x12, 0x28, 0x0a, 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, + 0x65, 0x49, 0x44, 0x18, 0x11, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x12, 0x2f, 0x0a, 0x05, 0x41, 0x77, + 0x61, 0x72, 0x64, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x39, 0x18, + 0x15, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, + 0x39, 0x12, 0x24, 0x0a, 0x0d, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x53, 0x68, + 0x6f, 0x77, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, + 0x65, 0x67, 0x65, 0x53, 0x68, 0x6f, 0x77, 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, 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, + 0x22, 0x2f, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, + 0x20, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x52, 0x03, 0x41, 0x72, + 0x72, 0x22, 0x7c, 0x0a, 0x0a, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x53, 0x68, 0x6f, 0x77, 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, 0x16, 0x0a, 0x06, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x56, + 0x49, 0x50, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x56, + 0x49, 0x50, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x56, 0x49, 0x50, 0x44, 0x65, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x56, 0x49, 0x50, 0x44, 0x65, 0x73, 0x22, + 0x37, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x72, 0x72, + 0x61, 0x79, 0x12, 0x24, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x12, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x53, + 0x68, 0x6f, 0x77, 0x52, 0x03, 0x41, 0x72, 0x72, 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, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -12525,7 +12793,7 @@ func file_protocol_server_pbdata_proto_rawDescGZIP() []byte { return file_protocol_server_pbdata_proto_rawDescData } -var file_protocol_server_pbdata_proto_msgTypes = make([]protoimpl.MessageInfo, 158) +var file_protocol_server_pbdata_proto_msgTypes = make([]protoimpl.MessageInfo, 163) var file_protocol_server_pbdata_proto_goTypes = []interface{}{ (*DB_ActSign)(nil), // 0: server.DB_ActSign (*DB_ActSignArray)(nil), // 1: server.DB_ActSignArray @@ -12625,66 +12893,71 @@ var file_protocol_server_pbdata_proto_goTypes = []interface{}{ (*DB_NameGirlArray)(nil), // 95: server.DB_NameGirlArray (*DB_NewPlayer)(nil), // 96: server.DB_NewPlayer (*DB_NewPlayerArray)(nil), // 97: server.DB_NewPlayerArray - (*DB_PassShow)(nil), // 98: server.DB_PassShow - (*DB_PassShowArray)(nil), // 99: server.DB_PassShowArray - (*DB_PetSkill)(nil), // 100: server.DB_PetSkill - (*DB_PetSkillArray)(nil), // 101: server.DB_PetSkillArray - (*DB_PhoneLottery)(nil), // 102: server.DB_PhoneLottery - (*DB_PhoneLotteryArray)(nil), // 103: server.DB_PhoneLotteryArray - (*DB_PigBank_Diamond)(nil), // 104: server.DB_PigBank_Diamond - (*DB_PigBank_DiamondArray)(nil), // 105: server.DB_PigBank_DiamondArray - (*DB_Pigbank_Prop)(nil), // 106: server.DB_Pigbank_Prop - (*DB_Pigbank_PropArray)(nil), // 107: server.DB_Pigbank_PropArray - (*DB_PlayerExp)(nil), // 108: server.DB_PlayerExp - (*DB_PlayerExpArray)(nil), // 109: server.DB_PlayerExpArray - (*DB_PlayerType)(nil), // 110: server.DB_PlayerType - (*DB_PlayerTypeArray)(nil), // 111: server.DB_PlayerTypeArray - (*DB_PotOdd)(nil), // 112: server.DB_PotOdd - (*DB_PotOddArray)(nil), // 113: server.DB_PotOddArray - (*DB_PropExchange)(nil), // 114: server.DB_PropExchange - (*DB_PropExchangeArray)(nil), // 115: server.DB_PropExchangeArray - (*DB_RankCycle)(nil), // 116: server.DB_RankCycle - (*DB_RankCycleArray)(nil), // 117: server.DB_RankCycleArray - (*DB_RankLevel)(nil), // 118: server.DB_RankLevel - (*DB_RankLevelArray)(nil), // 119: server.DB_RankLevelArray - (*DB_RankReward)(nil), // 120: server.DB_RankReward - (*DB_RankRewardArray)(nil), // 121: server.DB_RankRewardArray - (*DB_Sensitive_Words)(nil), // 122: server.DB_Sensitive_Words - (*DB_Sensitive_WordsArray)(nil), // 123: server.DB_Sensitive_WordsArray - (*DB_Skin)(nil), // 124: server.DB_Skin - (*DB_SkinArray)(nil), // 125: server.DB_SkinArray - (*DB_SkinLevel)(nil), // 126: server.DB_SkinLevel - (*DB_SkinLevelArray)(nil), // 127: server.DB_SkinLevelArray - (*DB_SlotRateWeight)(nil), // 128: server.DB_SlotRateWeight - (*DB_SlotRateWeightArray)(nil), // 129: server.DB_SlotRateWeightArray - (*DB_SystemChance)(nil), // 130: server.DB_SystemChance - (*DB_SystemChanceArray)(nil), // 131: server.DB_SystemChanceArray - (*DB_Task)(nil), // 132: server.DB_Task - (*DB_TaskArray)(nil), // 133: server.DB_TaskArray - (*DB_ThirdPlatformGameMapping)(nil), // 134: server.DB_ThirdPlatformGameMapping - (*DB_ThirdPlatformGameMappingArray)(nil), // 135: server.DB_ThirdPlatformGameMappingArray - (*DB_Tips)(nil), // 136: server.DB_Tips - (*DB_TipsArray)(nil), // 137: server.DB_TipsArray - (*DB_VIP)(nil), // 138: server.DB_VIP - (*DB_VIPArray)(nil), // 139: server.DB_VIPArray - (*DB_VIPShow)(nil), // 140: server.DB_VIPShow - (*DB_VIPShowArray)(nil), // 141: server.DB_VIPShowArray - nil, // 142: server.DB_CollectBox.ItemIDEntry - nil, // 143: server.DB_GameItem.GainEntry - nil, // 144: server.DB_GameItem.CompoundEntry - nil, // 145: server.DB_GiftBox.ItemIDEntry - nil, // 146: server.DB_GiftCard.RewardsEntry - nil, // 147: server.DB_GiftCard.DayRewardsEntry - nil, // 148: server.DB_PetSkill.ItemConsumEntry - nil, // 149: server.DB_PigBank_Diamond.GoldExcEntry - nil, // 150: server.DB_PigBank_Diamond.DiamondExcEntry - nil, // 151: server.DB_PropExchange.CostEntry - nil, // 152: server.DB_PropExchange.GainEntry - nil, // 153: server.DB_Skin.UnlockItemEntry - nil, // 154: server.DB_SkinLevel.UpItemEntry - nil, // 155: server.DB_Task.AwardEntry - nil, // 156: server.DB_VIP.Privilege7Entry - nil, // 157: server.DB_VIP.AwardEntry + (*DB_NewYearActivity)(nil), // 98: server.DB_NewYearActivity + (*DB_NewYearActivityArray)(nil), // 99: server.DB_NewYearActivityArray + (*DB_NewYearRankReward)(nil), // 100: server.DB_NewYearRankReward + (*DB_NewYearRankRewardArray)(nil), // 101: server.DB_NewYearRankRewardArray + (*DB_PassShow)(nil), // 102: server.DB_PassShow + (*DB_PassShowArray)(nil), // 103: server.DB_PassShowArray + (*DB_PetSkill)(nil), // 104: server.DB_PetSkill + (*DB_PetSkillArray)(nil), // 105: server.DB_PetSkillArray + (*DB_PhoneLottery)(nil), // 106: server.DB_PhoneLottery + (*DB_PhoneLotteryArray)(nil), // 107: server.DB_PhoneLotteryArray + (*DB_PigBank_Diamond)(nil), // 108: server.DB_PigBank_Diamond + (*DB_PigBank_DiamondArray)(nil), // 109: server.DB_PigBank_DiamondArray + (*DB_Pigbank_Prop)(nil), // 110: server.DB_Pigbank_Prop + (*DB_Pigbank_PropArray)(nil), // 111: server.DB_Pigbank_PropArray + (*DB_PlayerExp)(nil), // 112: server.DB_PlayerExp + (*DB_PlayerExpArray)(nil), // 113: server.DB_PlayerExpArray + (*DB_PlayerType)(nil), // 114: server.DB_PlayerType + (*DB_PlayerTypeArray)(nil), // 115: server.DB_PlayerTypeArray + (*DB_PotOdd)(nil), // 116: server.DB_PotOdd + (*DB_PotOddArray)(nil), // 117: server.DB_PotOddArray + (*DB_PropExchange)(nil), // 118: server.DB_PropExchange + (*DB_PropExchangeArray)(nil), // 119: server.DB_PropExchangeArray + (*DB_RankCycle)(nil), // 120: server.DB_RankCycle + (*DB_RankCycleArray)(nil), // 121: server.DB_RankCycleArray + (*DB_RankLevel)(nil), // 122: server.DB_RankLevel + (*DB_RankLevelArray)(nil), // 123: server.DB_RankLevelArray + (*DB_RankReward)(nil), // 124: server.DB_RankReward + (*DB_RankRewardArray)(nil), // 125: server.DB_RankRewardArray + (*DB_Sensitive_Words)(nil), // 126: server.DB_Sensitive_Words + (*DB_Sensitive_WordsArray)(nil), // 127: server.DB_Sensitive_WordsArray + (*DB_Skin)(nil), // 128: server.DB_Skin + (*DB_SkinArray)(nil), // 129: server.DB_SkinArray + (*DB_SkinLevel)(nil), // 130: server.DB_SkinLevel + (*DB_SkinLevelArray)(nil), // 131: server.DB_SkinLevelArray + (*DB_SlotRateWeight)(nil), // 132: server.DB_SlotRateWeight + (*DB_SlotRateWeightArray)(nil), // 133: server.DB_SlotRateWeightArray + (*DB_SystemChance)(nil), // 134: server.DB_SystemChance + (*DB_SystemChanceArray)(nil), // 135: server.DB_SystemChanceArray + (*DB_Task)(nil), // 136: server.DB_Task + (*DB_TaskArray)(nil), // 137: server.DB_TaskArray + (*DB_ThirdPlatformGameMapping)(nil), // 138: server.DB_ThirdPlatformGameMapping + (*DB_ThirdPlatformGameMappingArray)(nil), // 139: server.DB_ThirdPlatformGameMappingArray + (*DB_Tips)(nil), // 140: server.DB_Tips + (*DB_TipsArray)(nil), // 141: server.DB_TipsArray + (*DB_VIP)(nil), // 142: server.DB_VIP + (*DB_VIPArray)(nil), // 143: server.DB_VIPArray + (*DB_VIPShow)(nil), // 144: server.DB_VIPShow + (*DB_VIPShowArray)(nil), // 145: server.DB_VIPShowArray + nil, // 146: server.DB_CollectBox.ItemIDEntry + nil, // 147: server.DB_GameItem.GainEntry + nil, // 148: server.DB_GameItem.CompoundEntry + nil, // 149: server.DB_GiftBox.ItemIDEntry + nil, // 150: server.DB_GiftCard.RewardsEntry + nil, // 151: server.DB_GiftCard.DayRewardsEntry + nil, // 152: server.DB_NewYearRankReward.AwardMapEntry + nil, // 153: server.DB_PetSkill.ItemConsumEntry + nil, // 154: server.DB_PigBank_Diamond.GoldExcEntry + nil, // 155: server.DB_PigBank_Diamond.DiamondExcEntry + nil, // 156: server.DB_PropExchange.CostEntry + nil, // 157: server.DB_PropExchange.GainEntry + nil, // 158: server.DB_Skin.UnlockItemEntry + nil, // 159: server.DB_SkinLevel.UpItemEntry + nil, // 160: server.DB_Task.AwardEntry + nil, // 161: server.DB_VIP.Privilege7Entry + nil, // 162: server.DB_VIP.AwardEntry } var file_protocol_server_pbdata_proto_depIdxs = []int32{ 0, // 0: server.DB_ActSignArray.Arr:type_name -> server.DB_ActSign @@ -12699,7 +12972,7 @@ var file_protocol_server_pbdata_proto_depIdxs = []int32{ 18, // 9: server.DB_ChessMatchRulesArray.Arr:type_name -> server.DB_ChessMatchRules 20, // 10: server.DB_ChessRankArray.Arr:type_name -> server.DB_ChessRank 22, // 11: server.DB_ClientVerArray.Arr:type_name -> server.DB_ClientVer - 142, // 12: server.DB_CollectBox.ItemID:type_name -> server.DB_CollectBox.ItemIDEntry + 146, // 12: server.DB_CollectBox.ItemID:type_name -> server.DB_CollectBox.ItemIDEntry 24, // 13: server.DB_CollectBoxArray.Arr:type_name -> server.DB_CollectBox 26, // 14: server.DB_CollectBoxGainArray.Arr:type_name -> server.DB_CollectBoxGain 28, // 15: server.DB_CrashSearchArray.Arr:type_name -> server.DB_CrashSearch @@ -12717,8 +12990,8 @@ var file_protocol_server_pbdata_proto_depIdxs = []int32{ 52, // 27: server.DB_GameBankruptcyArray.Arr:type_name -> server.DB_GameBankruptcy 54, // 28: server.DB_GameCoinPoolArray.Arr:type_name -> server.DB_GameCoinPool 56, // 29: server.DB_GameFreeArray.Arr:type_name -> server.DB_GameFree - 143, // 30: server.DB_GameItem.Gain:type_name -> server.DB_GameItem.GainEntry - 144, // 31: server.DB_GameItem.Compound:type_name -> server.DB_GameItem.CompoundEntry + 147, // 30: server.DB_GameItem.Gain:type_name -> server.DB_GameItem.GainEntry + 148, // 31: server.DB_GameItem.Compound:type_name -> server.DB_GameItem.CompoundEntry 58, // 32: server.DB_GameItemArray.Arr:type_name -> server.DB_GameItem 60, // 33: server.DB_GameMatchLevelArray.Arr:type_name -> server.DB_GameMatchLevel 62, // 34: server.DB_GameRuleArray.Arr:type_name -> server.DB_GameRule @@ -12727,10 +13000,10 @@ var file_protocol_server_pbdata_proto_depIdxs = []int32{ 68, // 37: server.DB_Game_IntroductionArray.Arr:type_name -> server.DB_Game_Introduction 70, // 38: server.DB_Game_PetArray.Arr:type_name -> server.DB_Game_Pet 72, // 39: server.DB_Game_RoleArray.Arr:type_name -> server.DB_Game_Role - 145, // 40: server.DB_GiftBox.ItemID:type_name -> server.DB_GiftBox.ItemIDEntry + 149, // 40: server.DB_GiftBox.ItemID:type_name -> server.DB_GiftBox.ItemIDEntry 74, // 41: server.DB_GiftBoxArray.Arr:type_name -> server.DB_GiftBox - 146, // 42: server.DB_GiftCard.Rewards:type_name -> server.DB_GiftCard.RewardsEntry - 147, // 43: server.DB_GiftCard.DayRewards:type_name -> server.DB_GiftCard.DayRewardsEntry + 150, // 42: server.DB_GiftCard.Rewards:type_name -> server.DB_GiftCard.RewardsEntry + 151, // 43: server.DB_GiftCard.DayRewards:type_name -> server.DB_GiftCard.DayRewardsEntry 76, // 44: server.DB_GiftCardArray.Arr:type_name -> server.DB_GiftCard 78, // 45: server.DB_IceAgeElementRateArray.Arr:type_name -> server.DB_IceAgeElementRate 80, // 46: server.DB_Legend_OddsArray.Arr:type_name -> server.DB_Legend_Odds @@ -12742,43 +13015,46 @@ var file_protocol_server_pbdata_proto_depIdxs = []int32{ 92, // 52: server.DB_NameBoyArray.Arr:type_name -> server.DB_NameBoy 94, // 53: server.DB_NameGirlArray.Arr:type_name -> server.DB_NameGirl 96, // 54: server.DB_NewPlayerArray.Arr:type_name -> server.DB_NewPlayer - 98, // 55: server.DB_PassShowArray.Arr:type_name -> server.DB_PassShow - 148, // 56: server.DB_PetSkill.ItemConsum:type_name -> server.DB_PetSkill.ItemConsumEntry - 100, // 57: server.DB_PetSkillArray.Arr:type_name -> server.DB_PetSkill - 102, // 58: server.DB_PhoneLotteryArray.Arr:type_name -> server.DB_PhoneLottery - 149, // 59: server.DB_PigBank_Diamond.GoldExc:type_name -> server.DB_PigBank_Diamond.GoldExcEntry - 150, // 60: server.DB_PigBank_Diamond.DiamondExc:type_name -> server.DB_PigBank_Diamond.DiamondExcEntry - 104, // 61: server.DB_PigBank_DiamondArray.Arr:type_name -> server.DB_PigBank_Diamond - 106, // 62: server.DB_Pigbank_PropArray.Arr:type_name -> server.DB_Pigbank_Prop - 108, // 63: server.DB_PlayerExpArray.Arr:type_name -> server.DB_PlayerExp - 110, // 64: server.DB_PlayerTypeArray.Arr:type_name -> server.DB_PlayerType - 112, // 65: server.DB_PotOddArray.Arr:type_name -> server.DB_PotOdd - 151, // 66: server.DB_PropExchange.Cost:type_name -> server.DB_PropExchange.CostEntry - 152, // 67: server.DB_PropExchange.Gain:type_name -> server.DB_PropExchange.GainEntry - 114, // 68: server.DB_PropExchangeArray.Arr:type_name -> server.DB_PropExchange - 116, // 69: server.DB_RankCycleArray.Arr:type_name -> server.DB_RankCycle - 118, // 70: server.DB_RankLevelArray.Arr:type_name -> server.DB_RankLevel - 120, // 71: server.DB_RankRewardArray.Arr:type_name -> server.DB_RankReward - 122, // 72: server.DB_Sensitive_WordsArray.Arr:type_name -> server.DB_Sensitive_Words - 153, // 73: server.DB_Skin.UnlockItem:type_name -> server.DB_Skin.UnlockItemEntry - 124, // 74: server.DB_SkinArray.Arr:type_name -> server.DB_Skin - 154, // 75: server.DB_SkinLevel.UpItem:type_name -> server.DB_SkinLevel.UpItemEntry - 126, // 76: server.DB_SkinLevelArray.Arr:type_name -> server.DB_SkinLevel - 128, // 77: server.DB_SlotRateWeightArray.Arr:type_name -> server.DB_SlotRateWeight - 130, // 78: server.DB_SystemChanceArray.Arr:type_name -> server.DB_SystemChance - 155, // 79: server.DB_Task.Award:type_name -> server.DB_Task.AwardEntry - 132, // 80: server.DB_TaskArray.Arr:type_name -> server.DB_Task - 134, // 81: server.DB_ThirdPlatformGameMappingArray.Arr:type_name -> server.DB_ThirdPlatformGameMapping - 136, // 82: server.DB_TipsArray.Arr:type_name -> server.DB_Tips - 156, // 83: server.DB_VIP.Privilege7:type_name -> server.DB_VIP.Privilege7Entry - 157, // 84: server.DB_VIP.Award:type_name -> server.DB_VIP.AwardEntry - 138, // 85: server.DB_VIPArray.Arr:type_name -> server.DB_VIP - 140, // 86: server.DB_VIPShowArray.Arr:type_name -> server.DB_VIPShow - 87, // [87:87] is the sub-list for method output_type - 87, // [87:87] is the sub-list for method input_type - 87, // [87:87] is the sub-list for extension type_name - 87, // [87:87] is the sub-list for extension extendee - 0, // [0:87] is the sub-list for field type_name + 98, // 55: server.DB_NewYearActivityArray.Arr:type_name -> server.DB_NewYearActivity + 152, // 56: server.DB_NewYearRankReward.AwardMap:type_name -> server.DB_NewYearRankReward.AwardMapEntry + 100, // 57: server.DB_NewYearRankRewardArray.Arr:type_name -> server.DB_NewYearRankReward + 102, // 58: server.DB_PassShowArray.Arr:type_name -> server.DB_PassShow + 153, // 59: server.DB_PetSkill.ItemConsum:type_name -> server.DB_PetSkill.ItemConsumEntry + 104, // 60: server.DB_PetSkillArray.Arr:type_name -> server.DB_PetSkill + 106, // 61: server.DB_PhoneLotteryArray.Arr:type_name -> server.DB_PhoneLottery + 154, // 62: server.DB_PigBank_Diamond.GoldExc:type_name -> server.DB_PigBank_Diamond.GoldExcEntry + 155, // 63: server.DB_PigBank_Diamond.DiamondExc:type_name -> server.DB_PigBank_Diamond.DiamondExcEntry + 108, // 64: server.DB_PigBank_DiamondArray.Arr:type_name -> server.DB_PigBank_Diamond + 110, // 65: server.DB_Pigbank_PropArray.Arr:type_name -> server.DB_Pigbank_Prop + 112, // 66: server.DB_PlayerExpArray.Arr:type_name -> server.DB_PlayerExp + 114, // 67: server.DB_PlayerTypeArray.Arr:type_name -> server.DB_PlayerType + 116, // 68: server.DB_PotOddArray.Arr:type_name -> server.DB_PotOdd + 156, // 69: server.DB_PropExchange.Cost:type_name -> server.DB_PropExchange.CostEntry + 157, // 70: server.DB_PropExchange.Gain:type_name -> server.DB_PropExchange.GainEntry + 118, // 71: server.DB_PropExchangeArray.Arr:type_name -> server.DB_PropExchange + 120, // 72: server.DB_RankCycleArray.Arr:type_name -> server.DB_RankCycle + 122, // 73: server.DB_RankLevelArray.Arr:type_name -> server.DB_RankLevel + 124, // 74: server.DB_RankRewardArray.Arr:type_name -> server.DB_RankReward + 126, // 75: server.DB_Sensitive_WordsArray.Arr:type_name -> server.DB_Sensitive_Words + 158, // 76: server.DB_Skin.UnlockItem:type_name -> server.DB_Skin.UnlockItemEntry + 128, // 77: server.DB_SkinArray.Arr:type_name -> server.DB_Skin + 159, // 78: server.DB_SkinLevel.UpItem:type_name -> server.DB_SkinLevel.UpItemEntry + 130, // 79: server.DB_SkinLevelArray.Arr:type_name -> server.DB_SkinLevel + 132, // 80: server.DB_SlotRateWeightArray.Arr:type_name -> server.DB_SlotRateWeight + 134, // 81: server.DB_SystemChanceArray.Arr:type_name -> server.DB_SystemChance + 160, // 82: server.DB_Task.Award:type_name -> server.DB_Task.AwardEntry + 136, // 83: server.DB_TaskArray.Arr:type_name -> server.DB_Task + 138, // 84: server.DB_ThirdPlatformGameMappingArray.Arr:type_name -> server.DB_ThirdPlatformGameMapping + 140, // 85: server.DB_TipsArray.Arr:type_name -> server.DB_Tips + 161, // 86: server.DB_VIP.Privilege7:type_name -> server.DB_VIP.Privilege7Entry + 162, // 87: server.DB_VIP.Award:type_name -> server.DB_VIP.AwardEntry + 142, // 88: server.DB_VIPArray.Arr:type_name -> server.DB_VIP + 144, // 89: server.DB_VIPShowArray.Arr:type_name -> server.DB_VIPShow + 90, // [90:90] is the sub-list for method output_type + 90, // [90:90] is the sub-list for method input_type + 90, // [90:90] is the sub-list for extension type_name + 90, // [90:90] is the sub-list for extension extendee + 0, // [0:90] is the sub-list for field type_name } func init() { file_protocol_server_pbdata_proto_init() } @@ -13964,7 +14240,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PassShow); i { + switch v := v.(*DB_NewYearActivity); i { case 0: return &v.state case 1: @@ -13976,7 +14252,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PassShowArray); i { + switch v := v.(*DB_NewYearActivityArray); i { case 0: return &v.state case 1: @@ -13988,7 +14264,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PetSkill); i { + switch v := v.(*DB_NewYearRankReward); i { case 0: return &v.state case 1: @@ -14000,7 +14276,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PetSkillArray); i { + switch v := v.(*DB_NewYearRankRewardArray); i { case 0: return &v.state case 1: @@ -14012,7 +14288,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PhoneLottery); i { + switch v := v.(*DB_PassShow); i { case 0: return &v.state case 1: @@ -14024,7 +14300,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PhoneLotteryArray); i { + switch v := v.(*DB_PassShowArray); i { case 0: return &v.state case 1: @@ -14036,7 +14312,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PigBank_Diamond); i { + switch v := v.(*DB_PetSkill); i { case 0: return &v.state case 1: @@ -14048,7 +14324,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PigBank_DiamondArray); i { + switch v := v.(*DB_PetSkillArray); i { case 0: return &v.state case 1: @@ -14060,7 +14336,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Pigbank_Prop); i { + switch v := v.(*DB_PhoneLottery); i { case 0: return &v.state case 1: @@ -14072,7 +14348,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Pigbank_PropArray); i { + switch v := v.(*DB_PhoneLotteryArray); i { case 0: return &v.state case 1: @@ -14084,7 +14360,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PlayerExp); i { + switch v := v.(*DB_PigBank_Diamond); i { case 0: return &v.state case 1: @@ -14096,7 +14372,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PlayerExpArray); i { + switch v := v.(*DB_PigBank_DiamondArray); i { case 0: return &v.state case 1: @@ -14108,7 +14384,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PlayerType); i { + switch v := v.(*DB_Pigbank_Prop); i { case 0: return &v.state case 1: @@ -14120,7 +14396,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PlayerTypeArray); i { + switch v := v.(*DB_Pigbank_PropArray); i { case 0: return &v.state case 1: @@ -14132,7 +14408,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PotOdd); i { + switch v := v.(*DB_PlayerExp); i { case 0: return &v.state case 1: @@ -14144,7 +14420,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PotOddArray); i { + switch v := v.(*DB_PlayerExpArray); i { case 0: return &v.state case 1: @@ -14156,7 +14432,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PropExchange); i { + switch v := v.(*DB_PlayerType); i { case 0: return &v.state case 1: @@ -14168,7 +14444,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PropExchangeArray); i { + switch v := v.(*DB_PlayerTypeArray); i { case 0: return &v.state case 1: @@ -14180,7 +14456,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_RankCycle); i { + switch v := v.(*DB_PotOdd); i { case 0: return &v.state case 1: @@ -14192,7 +14468,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_RankCycleArray); i { + switch v := v.(*DB_PotOddArray); i { case 0: return &v.state case 1: @@ -14204,7 +14480,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_RankLevel); i { + switch v := v.(*DB_PropExchange); i { case 0: return &v.state case 1: @@ -14216,7 +14492,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_RankLevelArray); i { + switch v := v.(*DB_PropExchangeArray); i { case 0: return &v.state case 1: @@ -14228,7 +14504,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_RankReward); i { + switch v := v.(*DB_RankCycle); i { case 0: return &v.state case 1: @@ -14240,7 +14516,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_RankRewardArray); i { + switch v := v.(*DB_RankCycleArray); i { case 0: return &v.state case 1: @@ -14252,7 +14528,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Sensitive_Words); i { + switch v := v.(*DB_RankLevel); i { case 0: return &v.state case 1: @@ -14264,7 +14540,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Sensitive_WordsArray); i { + switch v := v.(*DB_RankLevelArray); i { case 0: return &v.state case 1: @@ -14276,7 +14552,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Skin); i { + switch v := v.(*DB_RankReward); i { case 0: return &v.state case 1: @@ -14288,7 +14564,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_SkinArray); i { + switch v := v.(*DB_RankRewardArray); i { case 0: return &v.state case 1: @@ -14300,7 +14576,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_SkinLevel); i { + switch v := v.(*DB_Sensitive_Words); i { case 0: return &v.state case 1: @@ -14312,7 +14588,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_SkinLevelArray); i { + switch v := v.(*DB_Sensitive_WordsArray); i { case 0: return &v.state case 1: @@ -14324,7 +14600,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_SlotRateWeight); i { + switch v := v.(*DB_Skin); i { case 0: return &v.state case 1: @@ -14336,7 +14612,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_SlotRateWeightArray); i { + switch v := v.(*DB_SkinArray); i { case 0: return &v.state case 1: @@ -14348,7 +14624,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_SystemChance); i { + switch v := v.(*DB_SkinLevel); i { case 0: return &v.state case 1: @@ -14360,7 +14636,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_SystemChanceArray); i { + switch v := v.(*DB_SkinLevelArray); i { case 0: return &v.state case 1: @@ -14372,7 +14648,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Task); i { + switch v := v.(*DB_SlotRateWeight); i { case 0: return &v.state case 1: @@ -14384,7 +14660,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_TaskArray); i { + switch v := v.(*DB_SlotRateWeightArray); i { case 0: return &v.state case 1: @@ -14396,7 +14672,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_ThirdPlatformGameMapping); i { + switch v := v.(*DB_SystemChance); i { case 0: return &v.state case 1: @@ -14408,7 +14684,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_ThirdPlatformGameMappingArray); i { + switch v := v.(*DB_SystemChanceArray); i { case 0: return &v.state case 1: @@ -14420,7 +14696,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Tips); i { + switch v := v.(*DB_Task); i { case 0: return &v.state case 1: @@ -14432,7 +14708,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_TipsArray); i { + switch v := v.(*DB_TaskArray); i { case 0: return &v.state case 1: @@ -14444,7 +14720,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_VIP); i { + switch v := v.(*DB_ThirdPlatformGameMapping); i { case 0: return &v.state case 1: @@ -14456,7 +14732,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_VIPArray); i { + switch v := v.(*DB_ThirdPlatformGameMappingArray); i { case 0: return &v.state case 1: @@ -14468,7 +14744,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_VIPShow); i { + switch v := v.(*DB_Tips); i { case 0: return &v.state case 1: @@ -14480,6 +14756,54 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DB_TipsArray); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protocol_server_pbdata_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DB_VIP); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protocol_server_pbdata_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DB_VIPArray); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protocol_server_pbdata_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DB_VIPShow); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protocol_server_pbdata_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_VIPShowArray); i { case 0: return &v.state @@ -14498,7 +14822,7 @@ func file_protocol_server_pbdata_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_protocol_server_pbdata_proto_rawDesc, NumEnums: 0, - NumMessages: 158, + NumMessages: 163, NumExtensions: 0, NumServices: 0, }, diff --git a/protocol/server/pbdata.proto b/protocol/server/pbdata.proto index bd35af5..531f3fd 100644 --- a/protocol/server/pbdata.proto +++ b/protocol/server/pbdata.proto @@ -1263,6 +1263,38 @@ message DB_NewPlayerArray { repeated DB_NewPlayer Arr = 1; } +message DB_NewYearActivity { + + int32 Id = 1; + + string PorpName = 2; + + string PropValue = 3; + + string PropDec = 4; + +} + +message DB_NewYearActivityArray { + repeated DB_NewYearActivity Arr = 1; +} + +message DB_NewYearRankReward { + + int32 Id = 1; + + int32 RankType = 2; + + int32 RankLevelId = 3; + + map AwardMap = 4; + +} + +message DB_NewYearRankRewardArray { + repeated DB_NewYearRankReward Arr = 1; +} + message DB_PassShow { int32 Id = 1; diff --git a/protocol/task/task.pb.go b/protocol/task/task.pb.go index ec0ff8d..8cd279d 100644 --- a/protocol/task/task.pb.go +++ b/protocol/task/task.pb.go @@ -332,7 +332,7 @@ type CSTaskReward struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tp int32 `protobuf:"varint,1,opt,name=Tp,proto3" json:"Tp,omitempty"` // 任务类型 1:日常任务 2:周活跃任务 3:新手任务 4:邀请任务 5:成就系统 6:赛季通行证任务 + Tp int32 `protobuf:"varint,1,opt,name=Tp,proto3" json:"Tp,omitempty"` // 任务类型 1:日常任务 2:周活跃任务 3:新手任务 4:邀请任务 5:成就系统 6:赛季通行证任务 8: 年兽每日任务 9:年兽活动任务 Id int32 `protobuf:"varint,2,opt,name=Id,proto3" json:"Id,omitempty"` // 任务id; 0 表示一键领取 } diff --git a/protocol/task/task.proto b/protocol/task/task.proto index 2f7f359..88b4474 100644 --- a/protocol/task/task.proto +++ b/protocol/task/task.proto @@ -44,7 +44,7 @@ message SCTaskList{ // 领取任务奖励 // PACKET_CSTaskReward message CSTaskReward{ - int32 Tp = 1; // 任务类型 1:日常任务 2:周活跃任务 3:新手任务 4:邀请任务 5:成就系统 6:赛季通行证任务 + int32 Tp = 1; // 任务类型 1:日常任务 2:周活跃任务 3:新手任务 4:邀请任务 5:成就系统 6:赛季通行证任务 8: 年兽每日任务 9:年兽活动任务 int32 Id = 2; // 任务id; 0 表示一键领取 } // PACKET_SCTaskReward diff --git a/protocol/webapi/common.pb.go b/protocol/webapi/common.pb.go index 6766cbc..3800625 100644 --- a/protocol/webapi/common.pb.go +++ b/protocol/webapi/common.pb.go @@ -9860,6 +9860,244 @@ func (x *GamePigBankPropConfig) GetPropInfo() []*PigBankPropInfo { return nil } +//etcd /game/activity_nian +type ActivityNianConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台 + List []*NianInfo `protobuf:"bytes,2,rep,name=List,proto3" json:"List,omitempty"` + Switch int32 `protobuf:"varint,3,opt,name=Switch,proto3" json:"Switch,omitempty"` // 活动开关 1.开启 2.关闭 +} + +func (x *ActivityNianConfig) Reset() { + *x = ActivityNianConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_protocol_webapi_common_proto_msgTypes[104] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ActivityNianConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActivityNianConfig) ProtoMessage() {} + +func (x *ActivityNianConfig) ProtoReflect() protoreflect.Message { + mi := &file_protocol_webapi_common_proto_msgTypes[104] + 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 ActivityNianConfig.ProtoReflect.Descriptor instead. +func (*ActivityNianConfig) Descriptor() ([]byte, []int) { + return file_protocol_webapi_common_proto_rawDescGZIP(), []int{104} +} + +func (x *ActivityNianConfig) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *ActivityNianConfig) GetList() []*NianInfo { + if x != nil { + return x.List + } + return nil +} + +func (x *ActivityNianConfig) GetSwitch() int32 { + if x != nil { + return x.Switch + } + return 0 +} + +type NianInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ActivityStart string `protobuf:"bytes,1,opt,name=ActivityStart,proto3" json:"ActivityStart,omitempty"` // 活动开始时间 + ActivityEnd string `protobuf:"bytes,2,opt,name=ActivityEnd,proto3" json:"ActivityEnd,omitempty"` // 活动结束时间 + BuffStartTime int64 `protobuf:"varint,3,opt,name=BuffStartTime,proto3" json:"BuffStartTime,omitempty"` //Buff领取开始时间 18 + BuffEndTime int64 `protobuf:"varint,4,opt,name=BuffEndTime,proto3" json:"BuffEndTime,omitempty"` //Buff领取结束时间 21 + SignReward []*ItemInfo `protobuf:"bytes,5,rep,name=SignReward,proto3" json:"SignReward,omitempty"` // 签到奖励 + BossDieReward []*ItemInfo `protobuf:"bytes,6,rep,name=BossDieReward,proto3" json:"BossDieReward,omitempty"` // 击杀BOSS奖励 + BossDieOtherReward []*NianDropInfo `protobuf:"bytes,7,rep,name=BossDieOtherReward,proto3" json:"BossDieOtherReward,omitempty"` // 击杀Boss额外奖励 +} + +func (x *NianInfo) Reset() { + *x = NianInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_protocol_webapi_common_proto_msgTypes[105] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NianInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NianInfo) ProtoMessage() {} + +func (x *NianInfo) ProtoReflect() protoreflect.Message { + mi := &file_protocol_webapi_common_proto_msgTypes[105] + 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 NianInfo.ProtoReflect.Descriptor instead. +func (*NianInfo) Descriptor() ([]byte, []int) { + return file_protocol_webapi_common_proto_rawDescGZIP(), []int{105} +} + +func (x *NianInfo) GetActivityStart() string { + if x != nil { + return x.ActivityStart + } + return "" +} + +func (x *NianInfo) GetActivityEnd() string { + if x != nil { + return x.ActivityEnd + } + return "" +} + +func (x *NianInfo) GetBuffStartTime() int64 { + if x != nil { + return x.BuffStartTime + } + return 0 +} + +func (x *NianInfo) GetBuffEndTime() int64 { + if x != nil { + return x.BuffEndTime + } + return 0 +} + +func (x *NianInfo) GetSignReward() []*ItemInfo { + if x != nil { + return x.SignReward + } + return nil +} + +func (x *NianInfo) GetBossDieReward() []*ItemInfo { + if x != nil { + return x.BossDieReward + } + return nil +} + +func (x *NianInfo) GetBossDieOtherReward() []*NianDropInfo { + if x != nil { + return x.BossDieOtherReward + } + return nil +} + +type NianDropInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` + ItemId int32 `protobuf:"varint,2,opt,name=ItemId,proto3" json:"ItemId,omitempty"` // 物品ID + ItemNum int64 `protobuf:"varint,3,opt,name=ItemNum,proto3" json:"ItemNum,omitempty"` // 物品数量 + DropRate int32 `protobuf:"varint,4,opt,name=DropRate,proto3" json:"DropRate,omitempty"` //掉落概率 + DropUp int32 `protobuf:"varint,5,opt,name=DropUp,proto3" json:"DropUp,omitempty"` //掉落上限 +} + +func (x *NianDropInfo) Reset() { + *x = NianDropInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_protocol_webapi_common_proto_msgTypes[106] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NianDropInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NianDropInfo) ProtoMessage() {} + +func (x *NianDropInfo) ProtoReflect() protoreflect.Message { + mi := &file_protocol_webapi_common_proto_msgTypes[106] + 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 NianDropInfo.ProtoReflect.Descriptor instead. +func (*NianDropInfo) Descriptor() ([]byte, []int) { + return file_protocol_webapi_common_proto_rawDescGZIP(), []int{106} +} + +func (x *NianDropInfo) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *NianDropInfo) GetItemId() int32 { + if x != nil { + return x.ItemId + } + return 0 +} + +func (x *NianDropInfo) GetItemNum() int64 { + if x != nil { + return x.ItemNum + } + return 0 +} + +func (x *NianDropInfo) GetDropRate() int32 { + if x != nil { + return x.DropRate + } + return 0 +} + +func (x *NianDropInfo) GetDropUp() int32 { + if x != nil { + return x.DropUp + } + return 0 +} + // etcd /game/act_redpacket type RedPacketConfig struct { state protoimpl.MessageState @@ -9874,7 +10112,7 @@ type RedPacketConfig struct { func (x *RedPacketConfig) Reset() { *x = RedPacketConfig{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_webapi_common_proto_msgTypes[104] + mi := &file_protocol_webapi_common_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9887,7 +10125,7 @@ func (x *RedPacketConfig) String() string { func (*RedPacketConfig) ProtoMessage() {} func (x *RedPacketConfig) ProtoReflect() protoreflect.Message { - mi := &file_protocol_webapi_common_proto_msgTypes[104] + mi := &file_protocol_webapi_common_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9900,7 +10138,7 @@ func (x *RedPacketConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use RedPacketConfig.ProtoReflect.Descriptor instead. func (*RedPacketConfig) Descriptor() ([]byte, []int) { - return file_protocol_webapi_common_proto_rawDescGZIP(), []int{104} + return file_protocol_webapi_common_proto_rawDescGZIP(), []int{107} } func (x *RedPacketConfig) GetPlatform() string { @@ -9944,7 +10182,7 @@ type RedPacketInfo struct { func (x *RedPacketInfo) Reset() { *x = RedPacketInfo{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_webapi_common_proto_msgTypes[105] + mi := &file_protocol_webapi_common_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9957,7 +10195,7 @@ func (x *RedPacketInfo) String() string { func (*RedPacketInfo) ProtoMessage() {} func (x *RedPacketInfo) ProtoReflect() protoreflect.Message { - mi := &file_protocol_webapi_common_proto_msgTypes[105] + mi := &file_protocol_webapi_common_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9970,7 +10208,7 @@ func (x *RedPacketInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use RedPacketInfo.ProtoReflect.Descriptor instead. func (*RedPacketInfo) Descriptor() ([]byte, []int) { - return file_protocol_webapi_common_proto_rawDescGZIP(), []int{105} + return file_protocol_webapi_common_proto_rawDescGZIP(), []int{108} } func (x *RedPacketInfo) GetId() int64 { @@ -10055,7 +10293,7 @@ type RedInfo struct { func (x *RedInfo) Reset() { *x = RedInfo{} if protoimpl.UnsafeEnabled { - mi := &file_protocol_webapi_common_proto_msgTypes[106] + mi := &file_protocol_webapi_common_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10068,7 +10306,7 @@ func (x *RedInfo) String() string { func (*RedInfo) ProtoMessage() {} func (x *RedInfo) ProtoReflect() protoreflect.Message { - mi := &file_protocol_webapi_common_proto_msgTypes[106] + mi := &file_protocol_webapi_common_proto_msgTypes[109] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10081,7 +10319,7 @@ func (x *RedInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use RedInfo.ProtoReflect.Descriptor instead. func (*RedInfo) Descriptor() ([]byte, []int) { - return file_protocol_webapi_common_proto_rawDescGZIP(), []int{106} + return file_protocol_webapi_common_proto_rawDescGZIP(), []int{109} } func (x *RedInfo) GetNum() int64 { @@ -11625,38 +11863,74 @@ var file_protocol_webapi_common_proto_rawDesc = []byte{ 0x72, 0x6d, 0x12, 0x33, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x69, 0x67, 0x42, 0x61, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x50, - 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x7a, 0x0a, 0x0f, 0x52, 0x65, 0x64, 0x50, 0x61, - 0x63, 0x6b, 0x65, 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, 0x29, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, - 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x22, 0x94, 0x02, 0x0a, 0x0d, 0x52, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x02, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x4d, - 0x53, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x4d, - 0x53, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x6e, 0x64, 0x48, 0x4d, 0x53, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x06, 0x45, 0x6e, 0x64, 0x48, 0x4d, 0x53, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, - 0x79, 0x54, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x53, 0x74, 0x61, 0x79, 0x54, - 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x08, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, - 0x09, 0x4c, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x09, 0x4c, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x49, - 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, - 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x12, - 0x29, 0x0a, 0x07, 0x52, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x64, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x07, 0x52, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x2f, 0x0a, 0x07, 0x52, 0x65, - 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x61, 0x74, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x52, 0x61, 0x74, 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, + 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x6e, 0x0a, 0x12, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x69, 0x74, 0x79, 0x4e, 0x69, 0x61, 0x6e, 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, 0x24, 0x0a, 0x04, 0x4c, 0x69, 0x73, + 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, + 0x2e, 0x4e, 0x69, 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 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, 0xca, 0x02, 0x0a, 0x08, 0x4e, 0x69, 0x61, 0x6e, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x12, 0x24, 0x0a, 0x0d, + 0x42, 0x75, 0x66, 0x66, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0d, 0x42, 0x75, 0x66, 0x66, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x75, 0x66, 0x66, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x42, 0x75, 0x66, 0x66, 0x45, 0x6e, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x0a, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, + 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x53, 0x69, 0x67, 0x6e, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x36, 0x0a, 0x0d, 0x42, 0x6f, 0x73, 0x73, 0x44, 0x69, + 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, + 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x0d, 0x42, 0x6f, 0x73, 0x73, 0x44, 0x69, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x44, + 0x0a, 0x12, 0x42, 0x6f, 0x73, 0x73, 0x44, 0x69, 0x65, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, + 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x69, 0x61, 0x6e, 0x44, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x12, 0x42, 0x6f, 0x73, 0x73, 0x44, 0x69, 0x65, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x22, 0x84, 0x01, 0x0a, 0x0c, 0x4e, 0x69, 0x61, 0x6e, 0x44, 0x72, 0x6f, + 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, + 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, + 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x72, 0x6f, 0x70, 0x52, + 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x44, 0x72, 0x6f, 0x70, 0x52, + 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x72, 0x6f, 0x70, 0x55, 0x70, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x44, 0x72, 0x6f, 0x70, 0x55, 0x70, 0x22, 0x7a, 0x0a, 0x0f, 0x52, + 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 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, 0x29, 0x0a, 0x04, 0x4c, 0x69, + 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, + 0x69, 0x2e, 0x52, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x94, 0x02, 0x0a, 0x0d, 0x52, 0x65, 0x64, 0x50, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x48, 0x4d, 0x53, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x48, 0x4d, 0x53, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x6e, 0x64, 0x48, 0x4d, 0x53, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x45, 0x6e, 0x64, 0x48, 0x4d, 0x53, 0x12, 0x16, 0x0a, + 0x06, 0x53, 0x74, 0x61, 0x79, 0x54, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x53, + 0x74, 0x61, 0x79, 0x54, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x4c, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x6f, 0x74, 0x61, 0x6c, + 0x4e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x54, 0x6f, 0x74, 0x61, 0x6c, + 0x4e, 0x75, 0x6d, 0x12, 0x29, 0x0a, 0x07, 0x52, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x0a, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, + 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x52, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x2f, + 0x0a, 0x07, 0x52, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x52, + 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x52, 0x61, 0x74, 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 ( @@ -11671,7 +11945,7 @@ func file_protocol_webapi_common_proto_rawDescGZIP() []byte { return file_protocol_webapi_common_proto_rawDescData } -var file_protocol_webapi_common_proto_msgTypes = make([]protoimpl.MessageInfo, 117) +var file_protocol_webapi_common_proto_msgTypes = make([]protoimpl.MessageInfo, 120) var file_protocol_webapi_common_proto_goTypes = []interface{}{ (*MysqlDbSetting)(nil), // 0: webapi.MysqlDbSetting (*MongoDbSetting)(nil), // 1: webapi.MongoDbSetting @@ -11777,35 +12051,38 @@ var file_protocol_webapi_common_proto_goTypes = []interface{}{ (*GamePigBankDiamondConfig)(nil), // 101: webapi.GamePigBankDiamondConfig (*PigBankPropInfo)(nil), // 102: webapi.PigBankPropInfo (*GamePigBankPropConfig)(nil), // 103: webapi.GamePigBankPropConfig - (*RedPacketConfig)(nil), // 104: webapi.RedPacketConfig - (*RedPacketInfo)(nil), // 105: webapi.RedPacketInfo - (*RedInfo)(nil), // 106: webapi.RedInfo - nil, // 107: webapi.Platform.BindTelRewardEntry - nil, // 108: webapi.PlayerData.RankScoreEntry - nil, // 109: webapi.ItemShop.AwardEntry - nil, // 110: webapi.VIPcfg.AwardEntry - nil, // 111: webapi.VIPcfg.Privilege1Entry - nil, // 112: webapi.VIPcfg.Privilege7Entry - nil, // 113: webapi.VIPcfg.Privilege9Entry - nil, // 114: webapi.ActInviteConfig.PayScoreEntry - nil, // 115: webapi.SkinLevel.UpItemEntry - nil, // 116: webapi.SkinItem.UnlockParamEntry - (*server.DB_GameFree)(nil), // 117: server.DB_GameFree - (*server.DB_GameItem)(nil), // 118: server.DB_GameItem + (*ActivityNianConfig)(nil), // 104: webapi.ActivityNianConfig + (*NianInfo)(nil), // 105: webapi.NianInfo + (*NianDropInfo)(nil), // 106: webapi.NianDropInfo + (*RedPacketConfig)(nil), // 107: webapi.RedPacketConfig + (*RedPacketInfo)(nil), // 108: webapi.RedPacketInfo + (*RedInfo)(nil), // 109: webapi.RedInfo + nil, // 110: webapi.Platform.BindTelRewardEntry + nil, // 111: webapi.PlayerData.RankScoreEntry + nil, // 112: webapi.ItemShop.AwardEntry + nil, // 113: webapi.VIPcfg.AwardEntry + nil, // 114: webapi.VIPcfg.Privilege1Entry + nil, // 115: webapi.VIPcfg.Privilege7Entry + nil, // 116: webapi.VIPcfg.Privilege9Entry + nil, // 117: webapi.ActInviteConfig.PayScoreEntry + nil, // 118: webapi.SkinLevel.UpItemEntry + nil, // 119: webapi.SkinItem.UnlockParamEntry + (*server.DB_GameFree)(nil), // 120: server.DB_GameFree + (*server.DB_GameItem)(nil), // 121: server.DB_GameItem } var file_protocol_webapi_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 - 107, // 3: webapi.Platform.BindTelReward:type_name -> webapi.Platform.BindTelRewardEntry + 110, // 3: webapi.Platform.BindTelReward:type_name -> webapi.Platform.BindTelRewardEntry 6, // 4: webapi.GameConfigGlobal.GameStatus:type_name -> webapi.GameStatus - 117, // 5: webapi.GameFree.DbGameFree:type_name -> server.DB_GameFree + 120, // 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 - 117, // 10: webapi.GameConfigGroup.DbGameFree:type_name -> server.DB_GameFree - 108, // 11: webapi.PlayerData.RankScore:type_name -> webapi.PlayerData.RankScoreEntry + 120, // 10: webapi.GameConfigGroup.DbGameFree:type_name -> server.DB_GameFree + 111, // 11: webapi.PlayerData.RankScore:type_name -> webapi.PlayerData.RankScoreEntry 32, // 12: webapi.PlayerData.Items:type_name -> webapi.ItemInfo 14, // 13: webapi.PlayerData.RoleUnlockList:type_name -> webapi.ModInfo 14, // 14: webapi.PlayerData.PetUnlockList:type_name -> webapi.ModInfo @@ -11818,7 +12095,7 @@ var file_protocol_webapi_common_proto_depIdxs = []int32{ 32, // 21: webapi.ExchangeShop.Items:type_name -> webapi.ItemInfo 25, // 22: webapi.ExchangeShopList.List:type_name -> webapi.ExchangeShop 29, // 23: webapi.ExchangeShopList.Weight:type_name -> webapi.ShopWeight - 109, // 24: webapi.ItemShop.Award:type_name -> webapi.ItemShop.AwardEntry + 112, // 24: webapi.ItemShop.Award:type_name -> webapi.ItemShop.AwardEntry 30, // 25: webapi.ItemShopList.List:type_name -> webapi.ItemShop 32, // 26: webapi.MatchInfoAward.ItemId:type_name -> webapi.ItemInfo 33, // 27: webapi.GameMatchDate.Award:type_name -> webapi.MatchInfoAward @@ -11839,14 +12116,14 @@ var file_protocol_webapi_common_proto_depIdxs = []int32{ 38, // 42: webapi.WelfareSpree.Item:type_name -> webapi.WelfareDate 48, // 43: webapi.WelfareFirstPayDataList.List:type_name -> webapi.WelfareSpree 48, // 44: webapi.WelfareContinuousPayDataList.List:type_name -> webapi.WelfareSpree - 110, // 45: webapi.VIPcfg.Award:type_name -> webapi.VIPcfg.AwardEntry - 111, // 46: webapi.VIPcfg.Privilege1:type_name -> webapi.VIPcfg.Privilege1Entry - 112, // 47: webapi.VIPcfg.Privilege7:type_name -> webapi.VIPcfg.Privilege7Entry - 113, // 48: webapi.VIPcfg.Privilege9:type_name -> webapi.VIPcfg.Privilege9Entry + 113, // 45: webapi.VIPcfg.Award:type_name -> webapi.VIPcfg.AwardEntry + 114, // 46: webapi.VIPcfg.Privilege1:type_name -> webapi.VIPcfg.Privilege1Entry + 115, // 47: webapi.VIPcfg.Privilege7:type_name -> webapi.VIPcfg.Privilege7Entry + 116, // 48: webapi.VIPcfg.Privilege9:type_name -> webapi.VIPcfg.Privilege9Entry 51, // 49: webapi.VIPcfgDataList.List:type_name -> webapi.VIPcfg 38, // 50: webapi.ChessRankConfig.Item:type_name -> webapi.WelfareDate 55, // 51: webapi.ChessRankcfgData.Datas:type_name -> webapi.ChessRankConfig - 114, // 52: webapi.ActInviteConfig.PayScore:type_name -> webapi.ActInviteConfig.PayScoreEntry + 117, // 52: webapi.ActInviteConfig.PayScore:type_name -> webapi.ActInviteConfig.PayScoreEntry 62, // 53: webapi.ActInviteConfig.Awards1:type_name -> webapi.RankAward 62, // 54: webapi.ActInviteConfig.Awards2:type_name -> webapi.RankAward 62, // 55: webapi.ActInviteConfig.Awards3:type_name -> webapi.RankAward @@ -11863,12 +12140,12 @@ var file_protocol_webapi_common_proto_depIdxs = []int32{ 69, // 66: webapi.DiamondLotteryData.Info:type_name -> webapi.DiamondLotteryInfo 70, // 67: webapi.DiamondLotteryData.Players:type_name -> webapi.DiamondLotteryPlayers 72, // 68: webapi.DiamondLotteryConfig.LotteryData:type_name -> webapi.DiamondLotteryData - 118, // 69: webapi.ItemConfig.Items:type_name -> server.DB_GameItem + 121, // 69: webapi.ItemConfig.Items:type_name -> server.DB_GameItem 32, // 70: webapi.RankAwardInfo.Item:type_name -> webapi.ItemInfo 75, // 71: webapi.RankTypeInfo.Award:type_name -> webapi.RankAwardInfo 76, // 72: webapi.RankTypeConfig.Info:type_name -> webapi.RankTypeInfo - 115, // 73: webapi.SkinLevel.UpItem:type_name -> webapi.SkinLevel.UpItemEntry - 116, // 74: webapi.SkinItem.UnlockParam:type_name -> webapi.SkinItem.UnlockParamEntry + 118, // 73: webapi.SkinLevel.UpItem:type_name -> webapi.SkinLevel.UpItemEntry + 119, // 74: webapi.SkinItem.UnlockParam:type_name -> webapi.SkinItem.UnlockParamEntry 78, // 75: webapi.SkinItem.Levels:type_name -> webapi.SkinLevel 79, // 76: webapi.SkinConfig.Items:type_name -> webapi.SkinItem 82, // 77: webapi.AwardLogConfig.AwardLog:type_name -> webapi.AwardLogData @@ -11887,13 +12164,17 @@ var file_protocol_webapi_common_proto_depIdxs = []int32{ 32, // 90: webapi.PigBankDiamondInfo.DiamondExc:type_name -> webapi.ItemInfo 100, // 91: webapi.GamePigBankDiamondConfig.DiamondInfo:type_name -> webapi.PigBankDiamondInfo 102, // 92: webapi.GamePigBankPropConfig.PropInfo:type_name -> webapi.PigBankPropInfo - 105, // 93: webapi.RedPacketConfig.List:type_name -> webapi.RedPacketInfo - 106, // 94: webapi.RedPacketInfo.RedList:type_name -> webapi.RedInfo - 95, // [95:95] is the sub-list for method output_type - 95, // [95:95] is the sub-list for method input_type - 95, // [95:95] is the sub-list for extension type_name - 95, // [95:95] is the sub-list for extension extendee - 0, // [0:95] is the sub-list for field type_name + 105, // 93: webapi.ActivityNianConfig.List:type_name -> webapi.NianInfo + 32, // 94: webapi.NianInfo.SignReward:type_name -> webapi.ItemInfo + 32, // 95: webapi.NianInfo.BossDieReward:type_name -> webapi.ItemInfo + 106, // 96: webapi.NianInfo.BossDieOtherReward:type_name -> webapi.NianDropInfo + 108, // 97: webapi.RedPacketConfig.List:type_name -> webapi.RedPacketInfo + 109, // 98: webapi.RedPacketInfo.RedList:type_name -> webapi.RedInfo + 99, // [99:99] is the sub-list for method output_type + 99, // [99:99] is the sub-list for method input_type + 99, // [99:99] is the sub-list for extension type_name + 99, // [99:99] is the sub-list for extension extendee + 0, // [0:99] is the sub-list for field type_name } func init() { file_protocol_webapi_common_proto_init() } @@ -13151,7 +13432,7 @@ func file_protocol_webapi_common_proto_init() { } } file_protocol_webapi_common_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RedPacketConfig); i { + switch v := v.(*ActivityNianConfig); i { case 0: return &v.state case 1: @@ -13163,7 +13444,7 @@ func file_protocol_webapi_common_proto_init() { } } file_protocol_webapi_common_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RedPacketInfo); i { + switch v := v.(*NianInfo); i { case 0: return &v.state case 1: @@ -13175,6 +13456,42 @@ func file_protocol_webapi_common_proto_init() { } } file_protocol_webapi_common_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NianDropInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protocol_webapi_common_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RedPacketConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protocol_webapi_common_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RedPacketInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protocol_webapi_common_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RedInfo); i { case 0: return &v.state @@ -13193,7 +13510,7 @@ func file_protocol_webapi_common_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_protocol_webapi_common_proto_rawDesc, NumEnums: 0, - NumMessages: 117, + NumMessages: 120, NumExtensions: 0, NumServices: 0, }, diff --git a/protocol/webapi/common.proto b/protocol/webapi/common.proto index 54c6b8d..0347298 100644 --- a/protocol/webapi/common.proto +++ b/protocol/webapi/common.proto @@ -1097,6 +1097,29 @@ message GamePigBankPropConfig{ string Platform = 1; // 平台 repeated PigBankPropInfo PropInfo = 2; // 存钱罐属性 } +//etcd /game/activity_nian +message ActivityNianConfig { + string Platform = 1; // 平台 + repeated NianInfo List = 2; + int32 Switch = 3; // 活动开关 1.开启 2.关闭 +} + +message NianInfo{ + string ActivityStart = 1; // 活动开始时间 + string ActivityEnd = 2; // 活动结束时间 + int64 BuffStartTime = 3; //Buff领取开始时间 18 + int64 BuffEndTime = 4; //Buff领取结束时间 21 + repeated ItemInfo SignReward = 5; // 签到奖励 + repeated ItemInfo BossDieReward = 6; // 击杀BOSS奖励 + repeated NianDropInfo BossDieOtherReward = 7; // 击杀Boss额外奖励 +} +message NianDropInfo{ + int32 Id = 1; + int32 ItemId = 2; // 物品ID + int64 ItemNum = 3; // 物品数量 + int32 DropRate = 4;//掉落概率 + int32 DropUp = 5;//掉落上限 +} // etcd /game/act_redpacket message RedPacketConfig{ diff --git a/srvdata/db_newyearactivity.go b/srvdata/db_newyearactivity.go new file mode 100644 index 0000000..b7224d7 --- /dev/null +++ b/srvdata/db_newyearactivity.go @@ -0,0 +1,77 @@ + +// Code generated by xlsx2proto. +// DO NOT EDIT! + +package srvdata + +import ( + "google.golang.org/protobuf/proto" + + "mongo.games.com/game/protocol/server" +) + +var PBDB_NewYearActivityMgr = &DB_NewYearActivityMgr{ + Datas: &server.DB_NewYearActivityArray{}, + pool: make(map[int32]*server.DB_NewYearActivity), + +} + +type DB_NewYearActivityMgr struct { + Datas *server.DB_NewYearActivityArray + pool map[int32]*server.DB_NewYearActivity + +} + +func (this *DB_NewYearActivityMgr) unmarshal(data []byte) error { + err := proto.Unmarshal(data, this.Datas) + if err == nil { + this.arrangeData() + } + return err +} + +func (this *DB_NewYearActivityMgr) reunmarshal(data []byte) error { + newDatas := &server.DB_NewYearActivityArray{} + err := proto.Unmarshal(data, newDatas) + if err == nil { + for _, item := range newDatas.Arr { + existItem := this.GetData(item.GetId()) + if existItem == nil { + this.pool[item.GetId()] = item + this.Datas.Arr = append(this.Datas.Arr, item) + + } else { + *existItem = *item + } + } + } + return err +} + +func (this *DB_NewYearActivityMgr) arrangeData() { + if this.Datas == nil { + return + } + + dataArr := this.Datas.GetArr() + if dataArr == nil { + return + } + + for _, data := range dataArr { + this.pool[data.GetId()] = data + + } +} + +func (this *DB_NewYearActivityMgr) GetData(id int32) *server.DB_NewYearActivity { + if data, ok := this.pool[id]; ok { + return data + } + return nil +} + + +func init() { + DataMgr.register("DB_NewYearActivity.dat", &ProtobufDataLoader{dh: PBDB_NewYearActivityMgr}) +} diff --git a/srvdata/db_newyearrankreward.go b/srvdata/db_newyearrankreward.go new file mode 100644 index 0000000..38c579f --- /dev/null +++ b/srvdata/db_newyearrankreward.go @@ -0,0 +1,77 @@ + +// Code generated by xlsx2proto. +// DO NOT EDIT! + +package srvdata + +import ( + "google.golang.org/protobuf/proto" + + "mongo.games.com/game/protocol/server" +) + +var PBDB_NewYearRankRewardMgr = &DB_NewYearRankRewardMgr{ + Datas: &server.DB_NewYearRankRewardArray{}, + pool: make(map[int32]*server.DB_NewYearRankReward), + +} + +type DB_NewYearRankRewardMgr struct { + Datas *server.DB_NewYearRankRewardArray + pool map[int32]*server.DB_NewYearRankReward + +} + +func (this *DB_NewYearRankRewardMgr) unmarshal(data []byte) error { + err := proto.Unmarshal(data, this.Datas) + if err == nil { + this.arrangeData() + } + return err +} + +func (this *DB_NewYearRankRewardMgr) reunmarshal(data []byte) error { + newDatas := &server.DB_NewYearRankRewardArray{} + err := proto.Unmarshal(data, newDatas) + if err == nil { + for _, item := range newDatas.Arr { + existItem := this.GetData(item.GetId()) + if existItem == nil { + this.pool[item.GetId()] = item + this.Datas.Arr = append(this.Datas.Arr, item) + + } else { + *existItem = *item + } + } + } + return err +} + +func (this *DB_NewYearRankRewardMgr) arrangeData() { + if this.Datas == nil { + return + } + + dataArr := this.Datas.GetArr() + if dataArr == nil { + return + } + + for _, data := range dataArr { + this.pool[data.GetId()] = data + + } +} + +func (this *DB_NewYearRankRewardMgr) GetData(id int32) *server.DB_NewYearRankReward { + if data, ok := this.pool[id]; ok { + return data + } + return nil +} + + +func init() { + DataMgr.register("DB_NewYearRankReward.dat", &ProtobufDataLoader{dh: PBDB_NewYearRankRewardMgr}) +} diff --git a/worldsrv/action_nian.go b/worldsrv/action_nian.go new file mode 100644 index 0000000..ca15794 --- /dev/null +++ b/worldsrv/action_nian.go @@ -0,0 +1,505 @@ +package main + +import ( + "math/rand" + "mongo.games.com/game/common" + "mongo.games.com/game/model" + "mongo.games.com/game/protocol/activity" + "mongo.games.com/game/srvdata" + "mongo.games.com/goserver/core/logger" + "mongo.games.com/goserver/core/netlib" + "strconv" + "strings" + "time" +) + +// 请求年兽信息 +func CSNianData(s *netlib.Session, packetid int, data interface{}, sid int64) error { + if _, ok := data.(*activity.CSNianData); ok { + p := PlayerMgrSington.GetOnlinePlayer(sid) + sData := srvdata.PBDB_NewYearActivityMgr.Datas.GetArr() + BossMaxHp := int64(0) + for _, value := range sData { + if value.Id == 5 { + BossMaxHp, _ = strconv.ParseInt(value.PropValue, 10, 64) + break + } + } + logger.Logger.Trace("请求年兽信息!snid = ", p.SnId) + if p == nil { + logger.Logger.Warn("CSNianData p == nil") + return nil + } + pool := PlatformMgrSingleton.GetConfig(p.Platform).ActivityNianConfig + if pool == nil || pool.List == nil || pool.Switch == model.WelfareClose { + return nil + } + startTime := pool.List[0].ActivityStart + endTime := pool.List[0].ActivityEnd + start, _ := time.Parse(time.DateTime, startTime) + // 转换为时间戳(以秒为单位) + timestamp := start.Unix() + end, _ := time.Parse(time.DateTime, endTime) + endTimestamp := end.Unix() + + if p.WelfData.NianData != nil && (p.WelfData.NianData.ActivityStartTime != timestamp || p.WelfData.NianData.ActivityEndTime != endTimestamp) { + logger.Logger.Infof("CSNianData 年兽活动时间变更 清除之前数据 snid= %d", p.SnId) + WelfareMgrSington.ClearActivityNianData(p) + } + + if p.WelfData.NianData == nil { + p.WelfData.NianData = &model.NianData{ + ActivityStartTime: timestamp, + ActivityEndTime: endTimestamp, + } + + } + + if p.WelfData.NianData.BossHp == 0 { + p.WelfData.NianData.BossHp = BossMaxHp + } + pack := &activity.SCNianData{} + pack.BossHp = p.WelfData.NianData.BossHp + pack.BossMaxHp = BossMaxHp + // pack.ActivityStartTime = timestamp + //pack.ActivityEndTime = endTimestamp + pack.ActivityStartTime = 0 + pack.ActivityEndTime = 0 + pack.AwardTime = p.WelfData.NianData.SignAwardTime + pack.BuffCount = p.WelfData.NianData.BuffCount + pack.BuffStatus = p.WelfData.NianData.BuffStatus + pack.LuckData = nil + pack.SignAwardTime = p.WelfData.NianData.SignAwardTime + logger.Logger.Trace("请求年兽活动信息 ", pack) + p.SendToClient(int(activity.NianPacketID_PACKET_SCNianData), pack) + } + return nil +} + +// 攻击年兽 +func CSNianAttack(s *netlib.Session, packetid int, data interface{}, sid int64) error { + if msg, ok := data.(*activity.CSNianAttack); ok { + typeId := msg.TypeId + p := PlayerMgrSington.GetOnlinePlayer(sid) + sData := srvdata.PBDB_NewYearActivityMgr.Datas.GetArr() + BossMaxHp := int64(0) + for _, value := range sData { + if value.Id == 5 { + BossMaxHp, _ = strconv.ParseInt(value.PropValue, 10, 64) + break + } + } + if p.WelfData.NianData == nil { + p.WelfData.NianData = &model.NianData{} + } + if p.WelfData.NianData.BossHp <= 0 { + p.WelfData.NianData.BossHp = BossMaxHp + } + logger.Logger.Trace("客户端请求攻击年兽!snid = ", p.SnId) + if p == nil { + logger.Logger.Warn("CSNianAttack p == nil") + return nil + } + pool := PlatformMgrSingleton.GetConfig(p.Platform).ActivityNianConfig + if pool == nil || pool.List == nil { + return nil + } + if pool.Switch == model.WelfareClose { + logger.Logger.Trace("CSNianAttack 活动关闭!") + return nil + } + //判断活动时间 + startTime := pool.List[0].ActivityStart + endTime := pool.List[0].ActivityEnd + t, _ := time.Parse(time.DateTime, startTime) + // 转换为时间戳(以秒为单位) + timestamp := t.Unix() + end, _ := time.Parse(time.DateTime, endTime) + endTimestamp := end.Unix() + nowTime := time.Now().Unix() + if nowTime < timestamp || nowTime > endTimestamp { + return nil + } + + pack := &activity.SCNianAttackData{} + itemId := 0 + itemNum := 1 + count := 1 + if typeId == 1 { + itemId = common.ItemIDLittleGuaranteed + } else if typeId == 2 { + itemId = common.ItemIDLittleGuaranteed + itemNum = 10 + count = 10 + } else if typeId == 3 { + itemId = common.ItemIDBigGuaranteed + } else { + return nil + } + var items []*model.Item + items = append(items, &model.Item{ + ItemId: int32(itemId), + ItemNum: int64(itemNum), + }) + _, _, result := BagMgrSingleton.AddItems(&model.AddItemParam{ + Platform: p.Platform, + SnId: p.SnId, + Change: items, + GainWay: common.GainWayNianCost, + Operator: "system", + Remark: "年兽活动消耗", + }) + if !result { + return nil + } + //本次攻击总血量 + AttackHp := int64(0) + //伤害范围 + var intSlice []int + if typeId == 1 || typeId == 2 { + for _, value := range sData { + if value.Id == 9 { + str := value.PropValue + strSlice := strings.Split(str, ",") + // 转换每个字符串为 int + for _, s := range strSlice { + num, err := strconv.Atoi(s) + if err != nil { + return nil + } + intSlice = append(intSlice, num) + } + break + } + } + } + //保底奖励次数 + floorCount := 0 + for _, value := range sData { + if typeId == 1 || typeId == 2 { + if value.Id == 13 { + floorCount, _ = strconv.Atoi(value.PropValue) + break + } + } else { + if value.Id == 15 { + floorCount, _ = strconv.Atoi(value.PropValue) + break + } + } + } + if typeId == 3 { + for _, value := range sData { + if value.Id == 10 { + str := value.PropValue + strSlice := strings.Split(str, ",") + // 转换每个字符串为 int + for _, s := range strSlice { + num, err := strconv.Atoi(s) + if err != nil { + return nil + } + intSlice = append(intSlice, num) + } + break + } + } + } + awardInfo := &activity.RankAwardData{} + + for i := 0; i < count; i++ { + //随机伤害值 + randomValue := int64(rand.Intn(intSlice[1]-intSlice[0]+1) + intSlice[0]) + logger.Logger.Tracef("随机到的伤害值是:%d", randomValue) + //计算BUFF + if p.WelfData.NianData.BuffCount > 0 { + randomValue = randomValue + randomValue/2 + p.WelfData.NianData.BuffCount -= 1 + } + AttackHp += randomValue + if typeId == 3 { + p.WelfData.NianData.BigHurt += 1 + //判断是否掉落保底奖励 + if p.WelfData.NianData.BigHurt%int32(floorCount) == 0 { + floorReward := &activity.RankAwardData{} + for _, value := range sData { + if value.Id == 16 { + strSlice := strings.Split(value.PropValue, ",") + FloorItemId, _ := strconv.Atoi(strSlice[0]) + FloorItemNum, _ := strconv.Atoi(strSlice[1]) + items = append(items, &model.Item{ + ItemId: int32(FloorItemId), + ItemNum: int64(FloorItemNum), + }) + floorReward.ItemId = int32(FloorItemId) + floorReward.ItemNum = int64(FloorItemNum) + pack.FloorReward = append(pack.FloorReward, floorReward) + break + } + } + } + //额外掉落 + extraItemId := 0 + extraItemNum := 0 + var intSlice1 []int + for _, value := range sData { + if value.Id == 11 { + extraItemId, _ = strconv.Atoi(value.PropValue) + break + } + } + for _, value := range sData { + if value.Id == 12 { + str := value.PropValue + strSlice := strings.Split(str, ",") + // 转换每个字符串为 int + for _, s := range strSlice { + num, err := strconv.Atoi(s) + if err != nil { + return nil + } + intSlice1 = append(intSlice1, num) + } + break + } + } + //随机个数 + extraItemNum = rand.Intn(intSlice1[1]-intSlice1[0]+1) + intSlice1[0] + items = append(items, &model.Item{ + ItemId: int32(extraItemId), + ItemNum: int64(extraItemNum), + }) + extraDrop := &activity.RankAwardData{} + extraDrop.ItemId = int32(extraItemId) + extraDrop.ItemNum = int64(extraItemNum) + pack.ExtraDrop = append(pack.ExtraDrop, extraDrop) + } else { + p.WelfData.NianData.LittleHurt += 1 + //判断是否掉落保底奖励 + if p.WelfData.NianData.LittleHurt%int32(floorCount) == 0 { + floorReward := &activity.RankAwardData{} + for _, value := range sData { + if value.Id == 14 { + strSlice := strings.Split(value.PropValue, ",") + FloorItemId, _ := strconv.Atoi(strSlice[0]) + FloorItemNum, _ := strconv.Atoi(strSlice[1]) + items = append(items, &model.Item{ + ItemId: int32(FloorItemId), + ItemNum: int64(FloorItemNum), + }) + floorReward.ItemId = int32(FloorItemId) + floorReward.ItemNum = int64(FloorItemNum) + pack.FloorReward = append(pack.FloorReward, floorReward) + break + } + } + } + } + //上榜 幸运榜 总榜 + + } + p.WelfData.NianData.BossHp -= AttackHp + isDie := false //是否死亡 + //判断Boss是否死亡 + var bossDieAward []*model.Item + if p.WelfData.NianData.BossHp <= 0 { + isDie = true + p.WelfData.NianData.BossHp = BossMaxHp + p.WelfData.NianData.BossDieCount += 1 + //获取死亡奖励 + for _, value := range sData { + if value.Id == 6 { + str := value.PropValue + strSlice := strings.Split(str, ";") + for _, s := range strSlice { + strSlice1 := strings.Split(s, ",") + bossDieItemId, err := strconv.Atoi(strSlice1[0]) + if err != nil { + return nil + } + bossDieItemNum, err := strconv.ParseInt(strSlice1[1], 10, 64) + if err != nil { + return nil + } + bossDieAward = append(bossDieAward, &model.Item{ + ItemId: int32(bossDieItemId), + ItemNum: bossDieItemNum, + }) + items = append(items, &model.Item{ + ItemId: int32(bossDieItemId), + ItemNum: bossDieItemNum, + }) + } + break + } + } + //年兽死亡额外掉落 + BigHurtCount := 0 + for _, value := range sData { + if value.Id == 19 { + BigHurtCount, _ = strconv.Atoi(value.PropValue) + break + } + } + logger.Logger.Trace("年兽死亡额外掉落 当前已使用BigHurt :", p.WelfData.NianData.BigHurt, "BigHurtCount = ", BigHurtCount) + if p.WelfData.NianData.BigHurt >= int32(BigHurtCount) { + //后台配置额外掉落 + for _, info := range pool.List[0].BossDieOtherReward { + //value.BossDieOtherReward + if p.WelfData.NianData.OtherAwardNum[info.Id] >= info.DropUp { + logger.Logger.Trace("BOSS死亡 额外掉落达到上限 id = ", info.Id, "数量:", p.WelfData.NianData.OtherAwardNum[info.Id]) + continue + } + //随机 + if rand.Intn(100) < int(info.DropRate) { + otherItemId := info.ItemId + otherItemNum := info.ItemNum + if int32(otherItemNum)+p.WelfData.NianData.OtherAwardNum[info.Id] > info.DropUp { + otherItemNum = int64(info.DropUp - p.WelfData.NianData.OtherAwardNum[info.Id]) + } + p.WelfData.NianData.OtherAwardNum[info.Id] += int32(otherItemNum) + items = append(items, &model.Item{ + ItemId: otherItemId, + ItemNum: otherItemNum, + }) + bossDieAward = append(bossDieAward, &model.Item{ + ItemId: otherItemId, + ItemNum: otherItemNum, + }) + } + } + } + } + + items = append(items, &model.Item{ + ItemId: common.ItemIDCoin, + ItemNum: AttackHp, + }) + BagMgrSingleton.AddItems(&model.AddItemParam{ + Platform: p.Platform, + SnId: p.SnId, + Change: items, + GainWay: common.GainWayNianGain, + Operator: "system", + Remark: "年兽活动-攻击年兽获得", + }) + awardInfo.ItemId = common.ItemIDCoin + awardInfo.ItemNum = AttackHp + pack.Award = append(pack.Award, awardInfo) + pack.AttackHp = AttackHp + pack.TypeId = typeId + pack.BossHp = p.WelfData.NianData.BossHp + pack.IsDie = isDie + for _, item := range bossDieAward { + dieInfo := &activity.RankAwardData{} + dieInfo.ItemId = item.ItemId + dieInfo.ItemNum = item.ItemNum + pack.DieAward = append(pack.DieAward, dieInfo) + } + pack.BuffCount = p.WelfData.NianData.BuffCount + p.SendToClient(int(activity.NianPacketID_PACKET_SCNianAttackData), pack) + } + return nil +} + +// 请求领取BUFF +func CSNianBuff(s *netlib.Session, packetid int, data interface{}, sid int64) error { + if _, ok := data.(*activity.CSNianBuff); ok { + p := PlayerMgrSington.GetOnlinePlayer(sid) + //yearActivity := &server.DB_NewYearActivity{} + logger.Logger.Trace("客户端请求请求领取BUFF snid = ", p.SnId) + if p == nil { + return nil + } + if p.WelfData.NianData == nil { + p.WelfData.NianData = &model.NianData{} + } + if p.WelfData.NianData.BuffStatus { + return nil + } + pool := PlatformMgrSingleton.GetConfig(p.Platform).ActivityNianConfig + if pool == nil || pool.List == nil { + return nil + } + if pool.Switch == model.WelfareClose { + logger.Logger.Trace("CSNianSignAward 活动关闭!") + return nil + } + //判断领取时间 + if time.Now().Hour() >= int(pool.List[0].BuffStartTime) && time.Now().Hour() <= int(pool.List[0].BuffEndTime) { + sData := srvdata.PBDB_NewYearActivityMgr.Datas.GetArr() + count := int64(0) + for _, value := range sData { + if value.Id == 20 { + count, _ = strconv.ParseInt(value.PropValue, 10, 64) + break + } + } + p.WelfData.NianData.BuffCount = count + p.WelfData.NianData.BuffStatus = true + pack := &activity.SCNianBuff{ + BuffCount: p.WelfData.NianData.BuffCount, + } + p.SendToClient(int(activity.NianPacketID_PACKET_SCNianBuff), pack) + } + } + return nil +} + +// 领取签到奖励 +func CSNianSignAward(s *netlib.Session, packetid int, data interface{}, sid int64) error { + if _, ok := data.(*activity.CSNianBuff); ok { + p := PlayerMgrSington.GetOnlinePlayer(sid) + logger.Logger.Trace("客户端请求请求领取BUFF snid = ", p.SnId) + if p == nil { + return nil + } + pool := PlatformMgrSingleton.GetConfig(p.Platform).ActivityNianConfig + if pool == nil || pool.List == nil { + return nil + } + if pool.Switch == model.WelfareClose { + logger.Logger.Trace("CSNianSignAward 活动关闭!") + return nil + } + if p.WelfData.NianData == nil { + p.WelfData.NianData = &model.NianData{} + } + if p.WelfData.NianData.SignAwardTime > 0 { + return nil + } + p.WelfData.NianData.SignAwardTime = time.Now().Unix() + //奖励 + pack := &activity.SCNianSignAward{} + pack.SignAwardTime = p.WelfData.NianData.SignAwardTime + var items []*model.Item + for _, info := range pool.List[0].SignReward { + items = append(items, &model.Item{ + ItemId: info.ItemId, + ItemNum: info.ItemNum, + }) + award := &activity.RankAwardData{} + award.ItemId = info.ItemId + award.ItemNum = info.ItemNum + pack.SignAward = append(pack.SignAward, award) + } + + BagMgrSingleton.AddItems(&model.AddItemParam{ + Platform: p.Platform, + SnId: p.SnId, + Change: items, + GainWay: common.GainWayNianGain, + Operator: "system", + Remark: "年兽活动-领取签到奖励获得", + }) + p.SendToClient(int(activity.NianPacketID_PACKET_SCNianSignAward), pack) + } + return nil +} + +func init() { + common.Register(int(activity.NianPacketID_PACKET_CSNianData), activity.CSNianData{}, CSNianData) + common.Register(int(activity.NianPacketID_PACKET_CSNianAttack), activity.CSNianAttack{}, CSNianAttack) + common.Register(int(activity.NianPacketID_PACKET_CSNianBuff), activity.CSNianBuff{}, CSNianBuff) + common.Register(int(activity.NianPacketID_PACKET_CSNianSignAward), activity.CSNianSignAward{}, CSNianSignAward) +} diff --git a/worldsrv/action_task.go b/worldsrv/action_task.go index a88863d..877bea5 100644 --- a/worldsrv/action_task.go +++ b/worldsrv/action_task.go @@ -53,7 +53,7 @@ func IsTaskReward(p *Player, id int32) bool { if data := p.WelfData.Task[id]; data != nil && data.Ts > 0 { t := srvdata.PBDB_TaskMgr.GetData(id) switch t.ActivityType { - case common.TaskActivityTypeEveryDay, common.TaskActivityTypePermitEveryDay: + case common.TaskActivityTypeEveryDay, common.TaskActivityTypePermitEveryDay, common.TaskActivityTypeNianEveryDay: if common.TsInSameDay(time.Now().Unix(), data.Ts) { return true } @@ -74,6 +74,24 @@ func IsTaskReward(p *Player, id int32) bool { return data.Ts >= startTs && data.Ts < endTs } return true + case common.TaskActivityTypeNian: + pool := PlatformMgrSingleton.GetConfig(p.Platform).ActivityNianConfig + if pool == nil || pool.List == nil { + return false + } + if pool.Switch == model.WelfareClose { + return false + } + startTime := pool.List[0].ActivityStart + endTime := pool.List[0].ActivityEnd + start, _ := time.Parse(time.DateTime, startTime) + timestamp := start.Unix() + end, _ := time.Parse(time.DateTime, endTime) + endTimestamp := end.Unix() + if timestamp > 0 { + return data.Ts >= timestamp && data.Ts < endTimestamp + } + return true } } } diff --git a/worldsrv/etcd.go b/worldsrv/etcd.go index 1c495ca..b4d1d28 100644 --- a/worldsrv/etcd.go +++ b/worldsrv/etcd.go @@ -110,6 +110,8 @@ func init() { etcd.Register(etcd.ETCDKEY_PigBankDiamond, webapi.GamePigBankDiamondConfig{}, platformConfigEvent) // 存钱罐属性值 etcd.Register(etcd.ETCDKEY_PigBankProp, webapi.GamePigBankPropConfig{}, platformConfigEvent) + //年兽配置 + etcd.Register(etcd.ETCDKEY_NianConfig, webapi.ActivityNianConfig{}, platformConfigEvent) // 红包配置 etcd.Register(etcd.ETCDKEY_REDPACKET, webapi.RedPacketConfig{}, platformConfigEvent) @@ -450,9 +452,10 @@ func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, e PlatformMgrSingleton.GetConfig(config.Platform).GamePigBankDiamondConfig = config case *webapi.GamePigBankPropConfig: PlatformMgrSingleton.GetConfig(config.Platform).GamePigBankPropConfig = config + case *webapi.ActivityNianConfig: + WelfareMgrSington.UpdateActivityNianStatus(config) case *webapi.RedPacketConfig: WelfareMgrSington.UpdateRedPacket(config, isInit) - default: logger.Logger.Errorf("etcd completeKey:%s, Not processed", completeKey) } diff --git a/worldsrv/player.go b/worldsrv/player.go index b5528ea..6cc5cc6 100644 --- a/worldsrv/player.go +++ b/worldsrv/player.go @@ -1675,6 +1675,9 @@ func (this *Player) OnDayTimer(login, continuous bool, t int) { for _, v := range srvdata.TaskMgr.GetActivityType(common.TaskActivityTypePermitEveryDay) { this.WelfData.Task[v.GetId()] = &model.TaskData{} } + for _, v := range srvdata.TaskMgr.GetActivityType(common.TaskActivityTypeNianEveryDay) { + this.WelfData.Task[v.GetId()] = &model.TaskData{} + } } } //周卡数据更新 diff --git a/worldsrv/taskmgr.go b/worldsrv/taskmgr.go index ee42382..356aac8 100644 --- a/worldsrv/taskmgr.go +++ b/worldsrv/taskmgr.go @@ -4,6 +4,7 @@ import ( "container/list" "math" "mongo.games.com/goserver/core/logger" + "time" "mongo.games.com/game/common" "mongo.games.com/game/model" @@ -191,6 +192,25 @@ func (t *TaskHandle) AllTask(id int, data any) { } } } + if v.ActivityType == common.TaskActivityTypeNianEveryDay || v.ActivityType == common.TaskActivityTypeNian { + //判断是否在开启时间段内 + pool := PlatformMgrSingleton.GetConfig(p.Platform).ActivityNianConfig + if pool == nil || pool.List == nil { + continue + } + if pool.Switch == model.WelfareClose { + continue + } + startTime := pool.List[0].ActivityStart + endTime := pool.List[0].ActivityEnd + start, _ := time.Parse(time.DateTime, startTime) + timestamp := start.Unix() + end, _ := time.Parse(time.DateTime, endTime) + endTimestamp := end.Unix() + if time.Now().Unix() < timestamp || time.Now().Unix() > endTimestamp { + continue + } + } if p.WelfData.Task[v.Id] == nil { p.WelfData.Task[v.Id] = &model.TaskData{N: 0} // 初始化任务数据 @@ -292,4 +312,5 @@ func init() { TaskSubjectSingleton.Attach(common.TaskTypeTienlenWinCoin, taskHandle) TaskSubjectSingleton.Attach(common.TaskTypeRankMatchWinTimes, taskHandle) TaskSubjectSingleton.Attach(common.TaskTypeBuyPermit, taskHandle) + TaskSubjectSingleton.Attach(common.TaskTypeBuyRedBag, taskHandle) } diff --git a/worldsrv/trascate_webapi.go b/worldsrv/trascate_webapi.go index cd7913b..4e22871 100644 --- a/worldsrv/trascate_webapi.go +++ b/worldsrv/trascate_webapi.go @@ -2945,7 +2945,7 @@ func init() { var msg *webapi.DebugTestReq err := json.Unmarshal(params, &msg) if err != nil { - logger.Logger.Error("Unmarshal webapi.PlatfromUpScoreReq error:", err) + logger.Logger.Error("Unmarshal webapi.DebugTestReq error:", err) return common.ResponseTag_ParamError, pack } @@ -2955,7 +2955,7 @@ func init() { Message: "未知错误", } - logger.Logger.Tracef("/api/platform/debug upScoreReqInfo%v", msg) + logger.Logger.Tracef("/api/platform/debug DebugTestReq%v", msg) player := PlayerMgrSington.GetPlayerBySnId(msg.Snid) //玩家在线 @@ -2967,7 +2967,7 @@ func init() { if msg.Rpc == 1 { addCoin, _ := strconv.ParseInt(msg.Count, 10, 64) - player.AddCoin(addCoin, 0, 5555, "platform", "debug加钻石") + player.AddCoin(addCoin, 0, 5555, "platform", "debug加金币") player.SendDiffData() jsonRet.Data.Count = player.Coin } else if msg.Rpc == 2 { diff --git a/worldsrv/welfmgr.go b/worldsrv/welfmgr.go index 386ebf7..fbdd79e 100644 --- a/worldsrv/welfmgr.go +++ b/worldsrv/welfmgr.go @@ -294,6 +294,8 @@ func (this *WelfareMgr) OnDayChanged(player *Player) error { // 重置存钱罐 this.DayResetPigBank(player) + //重置年兽 + this.DayReserNian(player) return nil } @@ -308,8 +310,9 @@ func (this *WelfareMgr) MonitorWelfData(player *Player) { player.WelfData.PigBank = &model.PigBankData{} } else if player.WelfData.DiamondBank == nil { player.WelfData.DiamondBank = &model.DiamondBankData{} + } else if player.WelfData.NianData == nil { + player.WelfData.NianData = &model.NianData{} } - } // GetTurnplate 获取转盘奖励 @@ -1007,6 +1010,13 @@ func (this *WelfareMgr) WelfareSwitch(p *Player, platform string, op int) { } else { pack.WelfareSwitch = append(pack.WelfareSwitch, model.WelfareClose) } + //年兽活动 + nianConfig := info.ActivityNianConfig + if nianConfig != nil { + pack.WelfareSwitch = append(pack.WelfareSwitch, nianConfig.Switch) //年兽活动开关 + } else { + pack.WelfareSwitch = append(pack.WelfareSwitch, model.WelfareClose) + } if model.GameParamData.TestActSwitch { for k := range pack.WelfareSwitch { @@ -1121,7 +1131,7 @@ func (this *WelfareMgr) BlindBoxInfo(p *Player, bid int32) { if cyc == 1 || blindBox.Cycle == model.WelfareOpen { p.WelfData.BlindBoxId = 0 } - } + } // == 1代表当日循环 if p.WelfData.BlindBoxId == 0 { // 未领取过发随机Date idx := bid @@ -2067,15 +2077,15 @@ func (this *WelfareMgr) DiamondBankTakeCoin(p *Player) (retItemArr []*model.Item Num: 1, }) + retItemArr = append(retItemArr, &model.Item{ + ItemId: common.ItemIDDiamond, + ItemNum: addDiamond, + }) + // 发放奖励道具 if infoData.DiamondExc != nil { var items []*model.Item - retItemArr = append(retItemArr, &model.Item{ - ItemId: common.ItemIDDiamond, - ItemNum: addDiamond, - }) - for _, v := range infoData.DiamondExc { items = append(items, &model.Item{ ItemId: v.ItemId, @@ -2174,6 +2184,55 @@ func (this *WelfareMgr) UpdateDiamondBankData(p *Player, coinNum int64, isWin bo logger.Logger.Tracef("玩家更新钻石存储罐数据 snid = %d,coinNum = %d,isWin = %s,当前钻石存储罐钻石数量:%f,本次增加钻石数量:%f", p.SnId, coinNum, isWin, p.WelfData.DiamondBank.BankDiamond, addDiamond) } +// 年兽活动 +func (this *WelfareMgr) UpdateActivityNianStatus(cfg *webapi_proto.ActivityNianConfig) { + if model.GameParamData.TestActSwitch { + cfg.Switch = model.WelfareOpen + } + s := int32(0) + info := this.GetConfig(cfg.Platform) + if info.ActivityNianConfig != nil { + s = info.ActivityNianConfig.Switch + } + info.ActivityNianConfig = cfg + //更新活动时间 + // 打开关闭要广播给客户端 + if s != 0 && s != cfg.Switch { + this.WelfareSwitch(nil, cfg.Platform, model.OpNian) + } +} + +// 每日重置年兽 +func (this *WelfareMgr) DayReserNian(p *Player) { + if p.WelfData.NianData == nil { + return + } + if time.Now().Unix() > p.WelfData.NianData.ActivityEndTime { + this.ClearActivityNianData(p) + } + if p != nil && p.WelfData != nil && p.WelfData.NianData != nil { + p.WelfData.NianData.BuffStatus = false + p.WelfData.NianData.BuffCount = 0 + p.WelfData.NianData.SignAwardTime = 0 + p.WelfData.NianData.OtherAwardNum = make(map[int32]int32) + } + +} + +// 年兽活动结束清除数据 +func (this *WelfareMgr) ClearActivityNianData(p *Player) { + if p != nil && p.WelfData != nil && p.WelfData.NianData != nil { + p.WelfData.NianData = nil + //清除任务数据 + for id, _ := range p.WelfData.Task { + data := srvdata.PBDB_TaskMgr.GetData(id) + if data.ActivityType == common.TaskActivityTypeNianEveryDay || data.ActivityType == common.TaskActivityTypeNian { + p.WelfData.Task[id] = nil + } + } + } +} + // UpdateRedPacket 更新红包配置 func (this *WelfareMgr) UpdateRedPacket(cfg *webapi_proto.RedPacketConfig, isInit bool) { this.GetConfig(cfg.Platform).RedPacketConfig = cfg diff --git a/xlsx/DB_GameItem.xlsx b/xlsx/DB_GameItem.xlsx index 6df38f1..adf11e3 100644 Binary files a/xlsx/DB_GameItem.xlsx and b/xlsx/DB_GameItem.xlsx differ diff --git a/xlsx/DB_NewYearActivity.xlsx b/xlsx/DB_NewYearActivity.xlsx new file mode 100644 index 0000000..c47938b Binary files /dev/null and b/xlsx/DB_NewYearActivity.xlsx differ diff --git a/xlsx/DB_NewYearRankReward.xlsx b/xlsx/DB_NewYearRankReward.xlsx new file mode 100644 index 0000000..8aacb03 Binary files /dev/null and b/xlsx/DB_NewYearRankReward.xlsx differ diff --git a/xlsx/DB_Task.xlsx b/xlsx/DB_Task.xlsx index 6d465cc..d7d8acf 100644 Binary files a/xlsx/DB_Task.xlsx and b/xlsx/DB_Task.xlsx differ