This commit is contained in:
meixiongfeng 2023-04-03 14:43:38 +08:00
commit 0a011f4dd9
38 changed files with 803 additions and 800 deletions

View File

@ -193,5 +193,110 @@
"AssistTeam": 0, "AssistTeam": 0,
"CanFriendHelp": 0, "CanFriendHelp": 0,
"Numrounds": 10 "Numrounds": 10
},
{
"id": 113,
"PlayType": "teaching",
"HeroCount": 5,
"readyScene": "scenesfight_role_interface_02",
"battleScenes": [
"scenesfight_03_02"
],
"DefaultHero": 0,
"DisableHero": [],
"LockSlots": [],
"AssistTeam": 0,
"CanFriendHelp": 0,
"Numrounds": 0
},
{
"id": 114,
"PlayType": "test",
"HeroCount": 5,
"readyScene": "scenesfight_role_interface_02",
"battleScenes": [
"scenesfight_03_02"
],
"DefaultHero": 0,
"DisableHero": [],
"LockSlots": [],
"AssistTeam": 0,
"CanFriendHelp": 0,
"Numrounds": 0
},
{
"id": 115,
"PlayType": "test",
"HeroCount": 5,
"readyScene": "scenesfight_role_interface_02",
"battleScenes": [
"scenesfight_06"
],
"DefaultHero": 0,
"DisableHero": [],
"LockSlots": [],
"AssistTeam": 0,
"CanFriendHelp": 0,
"Numrounds": 0
},
{
"id": 116,
"PlayType": "test",
"HeroCount": 5,
"readyScene": "scenesfight_role_interface_02",
"battleScenes": [
"scenesfight_07"
],
"DefaultHero": 0,
"DisableHero": [],
"LockSlots": [],
"AssistTeam": 0,
"CanFriendHelp": 0,
"Numrounds": 0
},
{
"id": 117,
"PlayType": "test",
"HeroCount": 5,
"readyScene": "scenesfight_role_interface_02",
"battleScenes": [
"scenesfight_06"
],
"DefaultHero": 0,
"DisableHero": [],
"LockSlots": [],
"AssistTeam": 0,
"CanFriendHelp": 0,
"Numrounds": 0
},
{
"id": 118,
"PlayType": "test",
"HeroCount": 5,
"readyScene": "scenesfight_role_interface_02",
"battleScenes": [
"scenesfight_05_01"
],
"DefaultHero": 0,
"DisableHero": [],
"LockSlots": [],
"AssistTeam": 0,
"CanFriendHelp": 0,
"Numrounds": 0
},
{
"id": 119,
"PlayType": "test",
"HeroCount": 5,
"readyScene": "scenesfight_role_interface_02",
"battleScenes": [
"scenesfight_03_02"
],
"DefaultHero": 0,
"DisableHero": [],
"LockSlots": [],
"AssistTeam": 0,
"CanFriendHelp": 0,
"Numrounds": 0
} }
] ]

View File

@ -42,7 +42,7 @@
"key": "atlas_13001", "key": "atlas_13001",
"text": "" "text": ""
}, },
"enteranivalue": -1, "enteranivalue": 50,
"camerainterval": 0, "camerainterval": 0,
"equiprcom": [ "equiprcom": [
"10001", "10001",
@ -370,7 +370,7 @@
"key": "atlas_13005", "key": "atlas_13005",
"text": "" "text": ""
}, },
"enteranivalue": -1, "enteranivalue": 10,
"camerainterval": 0, "camerainterval": 0,
"equiprcom": [ "equiprcom": [
"11021", "11021",
@ -1682,7 +1682,7 @@
"key": "atlas_24001", "key": "atlas_24001",
"text": "" "text": ""
}, },
"enteranivalue": -1, "enteranivalue": 30,
"camerainterval": 0, "camerainterval": 0,
"equiprcom": [ "equiprcom": [
"10041", "10041",
@ -2338,7 +2338,7 @@
"key": "atlas_24009", "key": "atlas_24009",
"text": "" "text": ""
}, },
"enteranivalue": -1, "enteranivalue": 10,
"camerainterval": 0, "camerainterval": 0,
"equiprcom": [ "equiprcom": [
"11021", "11021",
@ -2830,7 +2830,7 @@
"key": "atlas_33002", "key": "atlas_33002",
"text": "" "text": ""
}, },
"enteranivalue": -1, "enteranivalue": 40,
"camerainterval": 0, "camerainterval": 0,
"equiprcom": [ "equiprcom": [
"11021", "11021",
@ -3404,7 +3404,7 @@
"key": "atlas_34003", "key": "atlas_34003",
"text": "" "text": ""
}, },
"enteranivalue": -1, "enteranivalue": 70,
"camerainterval": 0, "camerainterval": 0,
"equiprcom": [ "equiprcom": [
"11041", "11041",
@ -3814,7 +3814,7 @@
"key": "atlas_34008", "key": "atlas_34008",
"text": "" "text": ""
}, },
"enteranivalue": -1, "enteranivalue": 80,
"camerainterval": 0, "camerainterval": 0,
"equiprcom": [ "equiprcom": [
"11021", "11021",
@ -4388,7 +4388,7 @@
"key": "atlas_43001", "key": "atlas_43001",
"text": "" "text": ""
}, },
"enteranivalue": -1, "enteranivalue": 90,
"camerainterval": 0, "camerainterval": 0,
"equiprcom": [ "equiprcom": [
"11041", "11041",
@ -4798,7 +4798,7 @@
"key": "atlas_43006", "key": "atlas_43006",
"text": "" "text": ""
}, },
"enteranivalue": -1, "enteranivalue": 40,
"camerainterval": 0, "camerainterval": 0,
"equiprcom": [ "equiprcom": [
"11021", "11021",

View File

@ -1,6 +1,7 @@
[ [
{ {
"heroid": "14001", "heroid": "14001",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -22,6 +23,7 @@
}, },
{ {
"heroid": "14002", "heroid": "14002",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -43,6 +45,7 @@
}, },
{ {
"heroid": "14003", "heroid": "14003",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -64,6 +67,7 @@
}, },
{ {
"heroid": "14004", "heroid": "14004",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -85,6 +89,7 @@
}, },
{ {
"heroid": "14005", "heroid": "14005",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -106,6 +111,7 @@
}, },
{ {
"heroid": "14006", "heroid": "14006",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -127,6 +133,7 @@
}, },
{ {
"heroid": "14007", "heroid": "14007",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -148,6 +155,7 @@
}, },
{ {
"heroid": "15001", "heroid": "15001",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -169,6 +177,7 @@
}, },
{ {
"heroid": "15002", "heroid": "15002",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -190,6 +199,7 @@
}, },
{ {
"heroid": "15003", "heroid": "15003",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -211,6 +221,7 @@
}, },
{ {
"heroid": "15004", "heroid": "15004",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -232,6 +243,7 @@
}, },
{ {
"heroid": "24001", "heroid": "24001",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -253,6 +265,7 @@
}, },
{ {
"heroid": "24002", "heroid": "24002",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -274,6 +287,7 @@
}, },
{ {
"heroid": "24003", "heroid": "24003",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -295,6 +309,7 @@
}, },
{ {
"heroid": "24004", "heroid": "24004",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -316,6 +331,7 @@
}, },
{ {
"heroid": "24005", "heroid": "24005",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -337,6 +353,7 @@
}, },
{ {
"heroid": "24006", "heroid": "24006",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -358,6 +375,7 @@
}, },
{ {
"heroid": "24007", "heroid": "24007",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -379,6 +397,7 @@
}, },
{ {
"heroid": "24008", "heroid": "24008",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -400,6 +419,7 @@
}, },
{ {
"heroid": "24009", "heroid": "24009",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -421,6 +441,7 @@
}, },
{ {
"heroid": "25001", "heroid": "25001",
"battleready": 119,
"task": [ "task": [
1, 1,
2, 2,
@ -442,6 +463,7 @@
}, },
{ {
"heroid": "25002", "heroid": "25002",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -463,6 +485,7 @@
}, },
{ {
"heroid": "25003", "heroid": "25003",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -484,6 +507,7 @@
}, },
{ {
"heroid": "25004", "heroid": "25004",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -505,6 +529,7 @@
}, },
{ {
"heroid": "34001", "heroid": "34001",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -526,6 +551,7 @@
}, },
{ {
"heroid": "34002", "heroid": "34002",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -547,6 +573,7 @@
}, },
{ {
"heroid": "34003", "heroid": "34003",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -568,6 +595,7 @@
}, },
{ {
"heroid": "34004", "heroid": "34004",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -589,6 +617,7 @@
}, },
{ {
"heroid": "34005", "heroid": "34005",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -610,6 +639,7 @@
}, },
{ {
"heroid": "34006", "heroid": "34006",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -631,6 +661,7 @@
}, },
{ {
"heroid": "34007", "heroid": "34007",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -652,6 +683,7 @@
}, },
{ {
"heroid": "34008", "heroid": "34008",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -673,6 +705,7 @@
}, },
{ {
"heroid": "35001", "heroid": "35001",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -694,6 +727,7 @@
}, },
{ {
"heroid": "35002", "heroid": "35002",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -715,6 +749,7 @@
}, },
{ {
"heroid": "35003", "heroid": "35003",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -736,6 +771,7 @@
}, },
{ {
"heroid": "35004", "heroid": "35004",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -757,6 +793,7 @@
}, },
{ {
"heroid": "35005", "heroid": "35005",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -778,6 +815,7 @@
}, },
{ {
"heroid": "35006", "heroid": "35006",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -799,6 +837,7 @@
}, },
{ {
"heroid": "44001", "heroid": "44001",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -820,6 +859,7 @@
}, },
{ {
"heroid": "44002", "heroid": "44002",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -841,6 +881,7 @@
}, },
{ {
"heroid": "44003", "heroid": "44003",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -862,6 +903,7 @@
}, },
{ {
"heroid": "44004", "heroid": "44004",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -883,6 +925,7 @@
}, },
{ {
"heroid": "44006", "heroid": "44006",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -904,6 +947,7 @@
}, },
{ {
"heroid": "45001", "heroid": "45001",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -925,6 +969,7 @@
}, },
{ {
"heroid": "45002", "heroid": "45002",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -946,6 +991,7 @@
}, },
{ {
"heroid": "45003", "heroid": "45003",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -967,6 +1013,7 @@
}, },
{ {
"heroid": "45004", "heroid": "45004",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -988,6 +1035,7 @@
}, },
{ {
"heroid": "44005", "heroid": "44005",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,
@ -1009,6 +1057,7 @@
}, },
{ {
"heroid": "15005", "heroid": "15005",
"battleready": 113,
"task": [ "task": [
1, 1,
2, 2,

View File

@ -149,7 +149,7 @@
], ],
"BattleReadyID": 102, "BattleReadyID": 102,
"FormatList": [ "FormatList": [
101011 101021
], ],
"captainId": 240025, "captainId": 240025,
"star": [ "star": [
@ -236,7 +236,7 @@
], ],
"BattleReadyID": 102, "BattleReadyID": 102,
"FormatList": [ "FormatList": [
101011 101031
], ],
"captainId": 530013, "captainId": 530013,
"star": [ "star": [
@ -323,7 +323,7 @@
], ],
"BattleReadyID": 102, "BattleReadyID": 102,
"FormatList": [ "FormatList": [
101011 101041
], ],
"captainId": 530013, "captainId": 530013,
"star": [ "star": [
@ -347,7 +347,7 @@
"chapterid": 11001, "chapterid": 11001,
"previoustage": 1100104, "previoustage": 1100104,
"Episodetype": 1, "Episodetype": 1,
"openlevel": 10, "openlevel": 6,
"Episodelocation": { "Episodelocation": {
"x": 0, "x": 0,
"y": 0, "y": 0,
@ -410,7 +410,7 @@
], ],
"BattleReadyID": 102, "BattleReadyID": 102,
"FormatList": [ "FormatList": [
101011 101051
], ],
"captainId": 440053, "captainId": 440053,
"star": [ "star": [
@ -497,7 +497,7 @@
], ],
"BattleReadyID": 102, "BattleReadyID": 102,
"FormatList": [ "FormatList": [
101011 101061
], ],
"captainId": 440063, "captainId": 440063,
"star": [ "star": [

View File

@ -7,7 +7,7 @@
"monster": 510023, "monster": 510023,
"lv": 10, "lv": 10,
"hppro": 0.5, "hppro": 0.5,
"atkpro": 10, "atkpro": 0.6,
"defpro": 0.1, "defpro": 0.1,
"modelsize": 1 "modelsize": 1
}, },
@ -19,7 +19,7 @@
"monster": 510053, "monster": 510053,
"lv": 10, "lv": 10,
"hppro": 0.5, "hppro": 0.5,
"atkpro": 10, "atkpro": 0.6,
"defpro": 0.1, "defpro": 0.1,
"modelsize": 1 "modelsize": 1
}, },
@ -31,7 +31,7 @@
"monster": 510043, "monster": 510043,
"lv": 10, "lv": 10,
"hppro": 0.5, "hppro": 0.5,
"atkpro": 10, "atkpro": 0.6,
"defpro": 0.1, "defpro": 0.1,
"modelsize": 1 "modelsize": 1
}, },
@ -43,7 +43,7 @@
"monster": 530013, "monster": 530013,
"lv": 12, "lv": 12,
"hppro": 0.5, "hppro": 0.5,
"atkpro": 10, "atkpro": 0.6,
"defpro": 0.1, "defpro": 0.1,
"modelsize": 1 "modelsize": 1
}, },
@ -55,7 +55,7 @@
"monster": 510033, "monster": 510033,
"lv": 10, "lv": 10,
"hppro": 0.5, "hppro": 0.5,
"atkpro": 10, "atkpro": 0.6,
"defpro": 0.1, "defpro": 0.1,
"modelsize": 1 "modelsize": 1
}, },
@ -66,8 +66,8 @@
"IsBoss": 0, "IsBoss": 0,
"monster": 510023, "monster": 510023,
"lv": 12, "lv": 12,
"hppro": 100, "hppro": 0.6,
"atkpro": 0.1, "atkpro": 0.8,
"defpro": 0.4, "defpro": 0.4,
"modelsize": 1 "modelsize": 1
}, },
@ -78,8 +78,8 @@
"IsBoss": 0, "IsBoss": 0,
"monster": 510023, "monster": 510023,
"lv": 12, "lv": 12,
"hppro": 100, "hppro": 0.6,
"atkpro": 0.1, "atkpro": 0.8,
"defpro": 0.4, "defpro": 0.4,
"modelsize": 1 "modelsize": 1
}, },
@ -90,8 +90,8 @@
"IsBoss": 0, "IsBoss": 0,
"monster": 510033, "monster": 510033,
"lv": 12, "lv": 12,
"hppro": 100, "hppro": 0.6,
"atkpro": 0.1, "atkpro": 0.8,
"defpro": 0.4, "defpro": 0.4,
"modelsize": 1 "modelsize": 1
}, },
@ -102,8 +102,8 @@
"IsBoss": 0, "IsBoss": 0,
"monster": 510033, "monster": 510033,
"lv": 12, "lv": 12,
"hppro": 100, "hppro": 0.6,
"atkpro": 0.1, "atkpro": 0.8,
"defpro": 0.4, "defpro": 0.4,
"modelsize": 1 "modelsize": 1
}, },
@ -114,8 +114,8 @@
"IsBoss": 0, "IsBoss": 0,
"monster": 510033, "monster": 510033,
"lv": 12, "lv": 12,
"hppro": 100, "hppro": 0.6,
"atkpro": 0.1, "atkpro": 0.8,
"defpro": 0.4, "defpro": 0.4,
"modelsize": 1 "modelsize": 1
}, },

View File

@ -1,6 +1,7 @@
[ [
{ {
"id": 10001, "id": 10001,
"battleready": 113,
"tab": 1, "tab": 1,
"suittype": 1, "suittype": 1,
"png1": "buff_2", "png1": "buff_2",
@ -46,6 +47,7 @@
}, },
{ {
"id": 10002, "id": 10002,
"battleready": 113,
"tab": 1, "tab": 1,
"suittype": 1, "suittype": 1,
"png1": "debuff_1", "png1": "debuff_1",
@ -91,6 +93,7 @@
}, },
{ {
"id": 10003, "id": 10003,
"battleready": 113,
"tab": 1, "tab": 1,
"suittype": 1, "suittype": 1,
"png1": "buff_2", "png1": "buff_2",
@ -136,6 +139,7 @@
}, },
{ {
"id": 20001, "id": 20001,
"battleready": 113,
"tab": 1, "tab": 1,
"suittype": 2, "suittype": 2,
"png1": "buff_2", "png1": "buff_2",
@ -181,6 +185,7 @@
}, },
{ {
"id": 20002, "id": 20002,
"battleready": 113,
"tab": 1, "tab": 1,
"suittype": 2, "suittype": 2,
"png1": "buff_2", "png1": "buff_2",
@ -226,6 +231,7 @@
}, },
{ {
"id": 20003, "id": 20003,
"battleready": 113,
"tab": 1, "tab": 1,
"suittype": 2, "suittype": 2,
"png1": "buff_2", "png1": "buff_2",
@ -271,6 +277,7 @@
}, },
{ {
"id": 30001, "id": 30001,
"battleready": 113,
"tab": 1, "tab": 1,
"suittype": 3, "suittype": 3,
"png1": "buff_2", "png1": "buff_2",
@ -316,6 +323,7 @@
}, },
{ {
"id": 30002, "id": 30002,
"battleready": 113,
"tab": 1, "tab": 1,
"suittype": 3, "suittype": 3,
"png1": "buff_2", "png1": "buff_2",
@ -361,6 +369,7 @@
}, },
{ {
"id": 30003, "id": 30003,
"battleready": 113,
"tab": 1, "tab": 1,
"suittype": 3, "suittype": 3,
"png1": "buff_2", "png1": "buff_2",
@ -406,6 +415,7 @@
}, },
{ {
"id": 40001, "id": 40001,
"battleready": 113,
"tab": 1, "tab": 1,
"suittype": 4, "suittype": 4,
"png1": "buff_2", "png1": "buff_2",
@ -451,6 +461,7 @@
}, },
{ {
"id": 40002, "id": 40002,
"battleready": 113,
"tab": 1, "tab": 1,
"suittype": 4, "suittype": 4,
"png1": "buff_2", "png1": "buff_2",
@ -496,6 +507,7 @@
}, },
{ {
"id": 40003, "id": 40003,
"battleready": 113,
"tab": 1, "tab": 1,
"suittype": 4, "suittype": 4,
"png1": "buff_2", "png1": "buff_2",
@ -541,6 +553,7 @@
}, },
{ {
"id": 50001, "id": 50001,
"battleready": 113,
"tab": 1, "tab": 1,
"suittype": 5, "suittype": 5,
"png1": "buff_2", "png1": "buff_2",
@ -586,6 +599,7 @@
}, },
{ {
"id": 50002, "id": 50002,
"battleready": 113,
"tab": 1, "tab": 1,
"suittype": 5, "suittype": 5,
"png1": "buff_2", "png1": "buff_2",
@ -631,6 +645,7 @@
}, },
{ {
"id": 50003, "id": 50003,
"battleready": 113,
"tab": 1, "tab": 1,
"suittype": 5, "suittype": 5,
"png1": "buff_2", "png1": "buff_2",

View File

@ -27,6 +27,7 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.AcademyChallen
session.SendMsg(string(this.module.GetType()), "challenge", &pb.AcademyChallengeResp{Code: cd, Level: req.Level, Info: &pb.BattleInfo{ session.SendMsg(string(this.module.GetType()), "challenge", &pb.AcademyChallengeResp{Code: cd, Level: req.Level, Info: &pb.BattleInfo{
Id: record.Id, Id: record.Id,
Title: record.Title, Title: record.Title,
Rulesid: level.Battleready,
Btype: record.Btype, Btype: record.Btype,
Ptype: record.Ptype, Ptype: record.Ptype,
RedCompId: record.RedCompId, RedCompId: record.RedCompId,

View File

@ -27,6 +27,7 @@ func (this *apiComp) Teaching(session comm.IUserSession, req *pb.AcademyTeaching
session.SendMsg(string(this.module.GetType()), "teaching", &pb.AcademyTeachingResp{Code: cd, HeroId: req.HeroId, Info: &pb.BattleInfo{ session.SendMsg(string(this.module.GetType()), "teaching", &pb.AcademyTeachingResp{Code: cd, HeroId: req.HeroId, Info: &pb.BattleInfo{
Id: record.Id, Id: record.Id,
Title: record.Title, Title: record.Title,
Rulesid: level.Battleready,
Btype: record.Btype, Btype: record.Btype,
Ptype: record.Ptype, Ptype: record.Ptype,
RedCompId: record.RedCompId, RedCompId: record.RedCompId,

View File

@ -32,6 +32,7 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.ArenaChallenge
session.SendMsg(string(this.module.GetType()), "challenge", &pb.ArenaChallengeResp{Code: cd, Info: &pb.BattleInfo{ session.SendMsg(string(this.module.GetType()), "challenge", &pb.ArenaChallengeResp{Code: cd, Info: &pb.BattleInfo{
Id: record.Id, Id: record.Id,
Title: record.Title, Title: record.Title,
Rulesid: 105,
Btype: record.Btype, Btype: record.Btype,
Ptype: record.Ptype, Ptype: record.Ptype,
RedCompId: record.RedCompId, RedCompId: record.RedCompId,

View File

@ -34,6 +34,7 @@ func (this *apiComp) Plot(session comm.IUserSession, req *pb.ArenaPlotReq) (code
Info: &pb.BattleInfo{ Info: &pb.BattleInfo{
Id: record.Id, Id: record.Id,
Title: record.Title, Title: record.Title,
Rulesid: npc.BattleReadyID,
Btype: record.Btype, Btype: record.Btype,
Ptype: record.Ptype, Ptype: record.Ptype,
RedCompId: record.RedCompId, RedCompId: record.RedCompId,

View File

@ -27,6 +27,7 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.CombatChalleng
session.SendMsg(string(this.module.GetType()), "challenge", &pb.CombatChallengeResp{Code: cd, Manster: req.Manster, Level: req.Level, Info: &pb.BattleInfo{ session.SendMsg(string(this.module.GetType()), "challenge", &pb.CombatChallengeResp{Code: cd, Manster: req.Manster, Level: req.Level, Info: &pb.BattleInfo{
Id: record.Id, Id: record.Id,
Title: record.Title, Title: record.Title,
Rulesid: manster.BattleReadyID,
Btype: record.Btype, Btype: record.Btype,
Ptype: record.Ptype, Ptype: record.Ptype,
RedCompId: record.RedCompId, RedCompId: record.RedCompId,

View File

@ -3,6 +3,7 @@ package enchant
import ( import (
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/pb" "go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
"google.golang.org/protobuf/proto" "google.golang.org/protobuf/proto"
) )
@ -52,10 +53,12 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.EnchantChallen
// 获取分数 // 获取分数
var score int32 var score int32
var format []int32 var format []int32
var battleconf *cfg.GameEnchantBossData
score = int32(enchant.Boss[req.BossType]) score = int32(enchant.Boss[req.BossType])
for _, v := range cfgData { for _, v := range cfgData {
if v.ScoreLow <= score && v.ScoreUp >= score { if v.ScoreLow <= score && v.ScoreUp >= score {
format = v.Boss format = v.Boss
battleconf = v
} }
} }
code, record := this.module.battle.CreatePveBattle(session, &pb.BattlePVEReq{ code, record := this.module.battle.CreatePveBattle(session, &pb.BattlePVEReq{
@ -69,7 +72,17 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.EnchantChallen
return return
} }
session.SendMsg(string(this.module.GetType()), EnchantChallengeResp, &pb.EnchantChallengeResp{ session.SendMsg(string(this.module.GetType()), EnchantChallengeResp, &pb.EnchantChallengeResp{
Info: &pb.BattleInfo{Id: record.Id, Title: record.Title, Btype: record.Btype, Ptype: record.Ptype, RedCompId: record.RedCompId, Redflist: record.Redflist, BlueCompId: record.BlueCompId, Buleflist: record.Buleflist}, Info: &pb.BattleInfo{
Id: record.Id,
Title: record.Title,
Rulesid: battleconf.BattleReadyID,
Btype: record.Btype,
Ptype: record.Ptype,
RedCompId: record.RedCompId,
Redflist: record.Redflist,
BlueCompId: record.BlueCompId,
Buleflist: record.Buleflist,
},
BossType: req.BossType, BossType: req.BossType,
}) })

View File

@ -59,7 +59,17 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.HuntingChallen
return return
} }
session.SendMsg(string(this.module.GetType()), HuntingChallengeResp, &pb.HuntingChallengeResp{ session.SendMsg(string(this.module.GetType()), HuntingChallengeResp, &pb.HuntingChallengeResp{
Info: &pb.BattleInfo{Id: record.Id, Title: record.Title, Btype: record.Btype, Ptype: record.Ptype, RedCompId: record.RedCompId, Redflist: record.Redflist, BlueCompId: record.BlueCompId, Buleflist: record.Buleflist}, Info: &pb.BattleInfo{
Id: record.Id,
Title: record.Title,
Rulesid: cfgData.BattleReadyID,
Btype: record.Btype,
Ptype: record.Ptype,
RedCompId: record.RedCompId,
Redflist: record.Redflist,
BlueCompId: record.BlueCompId,
Buleflist: record.Buleflist,
},
BossType: req.BossType, BossType: req.BossType,
Difficulty: req.Difficulty, Difficulty: req.Difficulty,
}) })

View File

@ -1,29 +0,0 @@
package martialhall
import (
"go_dreamfactory/modules"
"go_dreamfactory/lego/core"
)
/*
API
*/
type apiComp struct {
modules.MCompGate
service core.IService
module *Martialhall
}
//组件初始化接口
func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.MCompGate.Init(service, module, comp, options)
this.module = module.(*Martialhall)
this.service = service
return
}
func (this *apiComp) Start() (err error) {
err = this.MCompGate.Start()
return
}

View File

@ -1,40 +0,0 @@
package martialhall
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
"google.golang.org/protobuf/proto"
)
//参数校验
func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.MartialhallInfoReq) (code pb.ErrorCode) {
return
}
///练功请求
func (this *apiComp) Info(session comm.IUserSession, req *pb.MartialhallInfoReq) (code pb.ErrorCode, data proto.Message) {
var (
err error
mart *pb.DBMartialhall
mdata *cfg.GameKungfuMasterworkerData
)
if mart, err = this.module.modelMartialhall.queryUserMartialhall(session.GetUserId()); err != nil {
code = pb.ErrorCode_DBError
return
}
if mdata, err = this.module.configure.getMasterworker(mart.Lv); err != nil {
code = pb.ErrorCode_ConfigNoFound
return
}
check(this.module.ModuleRtask, session, mart.Pillar1, mdata)
check(this.module.ModuleRtask, session, mart.Pillar2, mdata)
check(this.module.ModuleRtask, session, mart.Pillar3, mdata)
check(this.module.ModuleRtask, session, mart.Pillar4, mdata)
check(this.module.ModuleRtask, session, mart.Pillar5, mdata)
this.module.modelMartialhall.Add(session.GetUserId(), mart)
session.SendMsg(string(this.module.GetType()), "info", &pb.MartialhallInfoResp{Info: mart})
return
}

View File

@ -1,101 +0,0 @@
package martialhall
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
"time"
"google.golang.org/protobuf/proto"
)
//参数校验
func (this *apiComp) PracticeCheck(session comm.IUserSession, req *pb.MartialhallPracticeReq) (code pb.ErrorCode) {
if req.Pillar == 0 || req.Hero == "" || req.Time == 0 {
code = pb.ErrorCode_ReqParameterError
}
return
}
///练功请求
func (this *apiComp) Practice(session comm.IUserSession, req *pb.MartialhallPracticeReq) (code pb.ErrorCode, data proto.Message) {
var (
err error
mart *pb.DBMartialhall
pillar *pb.DBPillar
mdata *cfg.GameKungfuMasterworkerData
filed string
ktime int32
num int32
)
if code = this.PracticeCheck(session, req); code != pb.ErrorCode_Success {
return
}
ktime = this.module.configure.GetGlobalConf().KungfuTime
num = req.Time / ktime
if mart, err = this.module.modelMartialhall.queryUserMartialhall(session.GetUserId()); err != nil {
code = pb.ErrorCode_DBError
}
if mdata, err = this.module.configure.getMasterworker(mart.Lv); err != nil {
code = pb.ErrorCode_ConfigNoFound
return
}
switch req.Pillar {
case 1:
pillar = mart.Pillar1
filed = "pillar1"
break
case 2:
pillar = mart.Pillar2
filed = "pillar2"
break
case 3:
pillar = mart.Pillar3
filed = "pillar3"
break
case 4:
pillar = mart.Pillar4
filed = "pillar4"
break
case 5:
pillar = mart.Pillar5
filed = "pillar5"
break
}
if pillar == nil || !pillar.Isunlock {
code = pb.ErrorCode_MartialhallNotUnlocked
return
}
if pillar.State != pb.PillarState_NoUse {
code = pb.ErrorCode_MartialhallInUse
return
}
var sale = make([]*cfg.Gameatn, 0)
for _, v := range mdata.Deplete {
sale = append(sale, &cfg.Gameatn{
A: v.A,
T: v.T,
N: v.N * num,
})
}
if code = this.module.ConsumeRes(session, sale, true); code != pb.ErrorCode_Success {
return
}
if code = this.module.ModuleHero.KungFuHero(session, req.Hero, true, ""); code != pb.ErrorCode_Success {
return
}
pillar.State = pb.PillarState_Useing
pillar.Hero = req.Hero
pillar.Start = configure.Now().Unix()
pillar.End = configure.Now().Add(time.Minute * time.Duration(req.Time)).Unix()
pillar.Lastbill = configure.Now().Unix()
pillar.Reward = 0
this.module.modelMartialhall.Change(session.GetUserId(), map[string]interface{}{
filed: pillar,
})
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype149, 1)
go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype149, 1))
session.SendMsg(string(this.module.GetType()), "practice", &pb.MartialhallPracticeResp{Issucc: true, Info: mart})
return
}

View File

@ -1,83 +0,0 @@
package martialhall
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
"google.golang.org/protobuf/proto"
)
//参数校验
func (this *apiComp) ReceiveCheck(session comm.IUserSession, req *pb.MartialhallReceiveReq) (code pb.ErrorCode) {
return
}
///练功请求
func (this *apiComp) Receive(session comm.IUserSession, req *pb.MartialhallReceiveReq) (code pb.ErrorCode, data proto.Message) {
var (
err error
mart *pb.DBMartialhall
pillar *pb.DBPillar
mdata *cfg.GameKungfuMasterworkerData
filed string
)
if code = this.ReceiveCheck(session, req); code != pb.ErrorCode_Success {
return
}
if mart, err = this.module.modelMartialhall.queryUserMartialhall(session.GetUserId()); err != nil {
code = pb.ErrorCode_DBError
return
}
if mdata, err = this.module.configure.getMasterworker(mart.Lv); err != nil {
code = pb.ErrorCode_ConfigNoFound
return
}
switch req.Pillar {
case 1:
pillar = mart.Pillar1
filed = "pillar1"
break
case 2:
pillar = mart.Pillar2
filed = "pillar2"
break
case 3:
pillar = mart.Pillar3
filed = "pillar3"
break
case 4:
pillar = mart.Pillar4
filed = "pillar4"
break
case 5:
pillar = mart.Pillar5
filed = "pillar5"
break
}
if pillar == nil || !pillar.Isunlock {
code = pb.ErrorCode_MartialhallNotUnlocked
return
}
check(this.module.ModuleRtask, session, pillar, mdata)
if pillar.State != pb.PillarState_Receive {
code = pb.ErrorCode_MartialhallInUse
return
}
if _, code = this.module.ModuleHero.AddHeroExp(session, pillar.Hero, pillar.Reward); code != pb.ErrorCode_Success {
return
}
if code = this.module.ModuleHero.KungFuHero(session, pillar.Hero, false, ""); code != pb.ErrorCode_Success {
return
}
pillar.Hero = ""
pillar.State = pb.PillarState_NoUse
this.module.modelMartialhall.Change(session.GetUserId(), map[string]interface{}{
filed: pillar,
})
session.SendMsg(string(this.module.GetType()), "receive", &pb.MartialhallReceiveResp{Pillar: req.Pillar})
return
}

View File

@ -1,92 +0,0 @@
package martialhall
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
"google.golang.org/protobuf/proto"
)
//参数校验
func (this *apiComp) UnLockCheck(session comm.IUserSession, req *pb.MartialhallUnLockReq) (code pb.ErrorCode) {
return
}
///练功请求
func (this *apiComp) UnLock(session comm.IUserSession, req *pb.MartialhallUnLockReq) (code pb.ErrorCode, data proto.Message) {
var (
err error
mart *pb.DBMartialhall
mdata *cfg.GameKungfuUnlockData
pillar *pb.DBPillar
filed string
)
if code = this.UnLockCheck(session, req); code != pb.ErrorCode_Success {
return
}
if mart, err = this.module.modelMartialhall.queryUserMartialhall(session.GetUserId()); err != nil {
code = pb.ErrorCode_DBError
return
}
if mdata, err = this.module.configure.getunlock(req.Pillar); err != nil {
code = pb.ErrorCode_ConfigNoFound
return
}
switch req.Pillar {
case 1:
pillar = mart.Pillar1
filed = "pillar1"
break
case 2:
pillar = mart.Pillar2
filed = "pillar2"
if !mart.Pillar1.Isunlock {
code = pb.ErrorCode_MartialhallNoUnlocked
return
}
break
case 3:
pillar = mart.Pillar3
filed = "pillar3"
if !mart.Pillar1.Isunlock || !mart.Pillar2.Isunlock {
code = pb.ErrorCode_MartialhallNoUnlocked
return
}
break
case 4:
pillar = mart.Pillar4
filed = "pillar4"
if !mart.Pillar1.Isunlock || !mart.Pillar2.Isunlock || !mart.Pillar3.Isunlock {
code = pb.ErrorCode_MartialhallNoUnlocked
return
}
break
case 5:
pillar = mart.Pillar5
filed = "pillar5"
if !mart.Pillar1.Isunlock || !mart.Pillar2.Isunlock || !mart.Pillar3.Isunlock || !mart.Pillar4.Isunlock {
code = pb.ErrorCode_MartialhallNoUnlocked
return
}
break
}
if pillar.Isunlock {
code = pb.ErrorCode_MartialhallUnlocked
return
}
pillar.Isunlock = true
if code = this.module.ConsumeRes(session, mdata.Consume, true); code != pb.ErrorCode_Success {
return
}
this.module.modelMartialhall.Change(session.GetUserId(), map[string]interface{}{
filed: pillar,
})
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype152, 1)
go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype152, 1))
session.SendMsg(string(this.module.GetType()), "unlock", &pb.MartialhallUnLockResp{Issucc: true, Info: mart})
return
}

View File

@ -1,59 +0,0 @@
package martialhall
import (
"crypto/rand"
"go_dreamfactory/comm"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
"math/big"
"google.golang.org/protobuf/proto"
)
//参数校验
func (this *apiComp) UpgradeCheck(session comm.IUserSession, req *pb.MartialhallUpgradeReq) (code pb.ErrorCode) {
return
}
///练功请求
func (this *apiComp) Upgrade(session comm.IUserSession, req *pb.MartialhallUpgradeReq) (code pb.ErrorCode, data proto.Message) {
var (
err error
mart *pb.DBMartialhall
mdata *cfg.GameKungfuMasterworkerData
issucc bool
)
if code = this.UpgradeCheck(session, req); code != pb.ErrorCode_Success {
return
}
if mart, err = this.module.modelMartialhall.queryUserMartialhall(session.GetUserId()); err != nil {
code = pb.ErrorCode_DBError
return
}
if mdata, err = this.module.configure.getMasterworker(mart.Lv); err != nil {
code = pb.ErrorCode_ConfigNoFound
return
}
if code = this.module.ConsumeRes(session, mdata.LevelDeplete, true); code != pb.ErrorCode_Success {
return
}
n, _ := rand.Int(rand.Reader, big.NewInt(1000))
if int32(n.Int64()) < mdata.Probability {
issucc = true
} else {
issucc = false
}
if issucc {
mart.Lv++
settlement(this.module.ModuleRtask, session, mart.Pillar1, mdata)
settlement(this.module.ModuleRtask, session, mart.Pillar2, mdata)
settlement(this.module.ModuleRtask, session, mart.Pillar3, mdata)
settlement(this.module.ModuleRtask, session, mart.Pillar4, mdata)
settlement(this.module.ModuleRtask, session, mart.Pillar5, mdata)
this.module.modelMartialhall.Add(session.GetUserId(), mart)
}
session.SendMsg(string(this.module.GetType()), "upgrade", &pb.MartialhallUpgradeResp{Issucc: issucc, Info: mart})
return
}

View File

@ -1,65 +0,0 @@
package martialhall
import (
"fmt"
"go_dreamfactory/modules"
cfg "go_dreamfactory/sys/configure/structs"
"go_dreamfactory/lego/core"
)
const (
game_kungfu_unlock = "game_kungfuunlock.json"
game_kungfu_masterworker = "game_kungfumasterworker.json"
)
///配置组件
type configureComp struct {
modules.MCompConfigure
module *Martialhall
}
//组件初始化接口
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.MCompConfigure.Init(service, module, comp, options)
this.module = module.(*Martialhall)
this.LoadConfigure(game_kungfu_unlock, cfg.NewGameKungfuUnlock)
this.LoadConfigure(game_kungfu_masterworker, cfg.NewGameKungfuMasterworker)
return
}
func (this *configureComp) getMasterworker(lv int32) (result *cfg.GameKungfuMasterworkerData, err error) {
var (
v interface{}
ok bool
)
if v, err = this.GetConfigure(game_kungfu_masterworker); err != nil {
this.module.Errorln(err)
return
} else {
if result, ok = v.(*cfg.GameKungfuMasterworker).GetDataMap()[lv]; !ok {
err = fmt.Errorf("not found:%d ", lv)
this.module.Errorln(err)
return
}
}
return
}
func (this *configureComp) getunlock(pillar int32) (result *cfg.GameKungfuUnlockData, err error) {
var (
v interface{}
ok bool
)
if v, err = this.GetConfigure(game_kungfu_unlock); err != nil {
this.module.Errorln(err)
return
} else {
if result, ok = v.(*cfg.GameKungfuUnlock).GetDataMap()[pillar]; !ok {
err = fmt.Errorf("not found:%d ", pillar)
this.module.Errorln(err)
return
}
}
return
}

View File

@ -1,45 +0,0 @@
package martialhall
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
"time"
)
//结算
func settlement(rtask comm.IRtask, session comm.IUserSession, pillar *pb.DBPillar, mdata *cfg.GameKungfuMasterworkerData) {
if pillar == nil || pillar.State != pb.PillarState_Useing {
return
}
minutes := int32(time.Unix(pillar.End, 0).Sub(time.Unix(pillar.Lastbill, 0)).Minutes())
pillar.Reward += minutes * mdata.Exp
pillar.Lastbill = configure.Now().Unix()
if configure.Now().After(time.Unix(pillar.End, 0)) {
pillar.State = pb.PillarState_Receive
}
if minutes > 0 {
// rtask.SendToRtask(session, comm.Rtype135, minutes)
go rtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype135, 1))
}
}
//结算
func check(rtask comm.IRtask, session comm.IUserSession, pillar *pb.DBPillar, mdata *cfg.GameKungfuMasterworkerData) {
if pillar == nil || pillar.State != pb.PillarState_Useing {
return
}
//达到修炼时间
if configure.Now().After(time.Unix(pillar.End, 0)) {
minutes := int32(time.Unix(pillar.End, 0).Sub(time.Unix(pillar.Lastbill, 0)).Minutes())
pillar.Reward += minutes * mdata.Exp
pillar.Lastbill = configure.Now().Unix()
pillar.State = pb.PillarState_Receive
if minutes > 0 {
// rtask.SendToRtask(session, comm.Rtype135, minutes)
go rtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype135, 1))
}
}
}

View File

@ -1,177 +0,0 @@
package martialhall
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
"go.mongodb.org/mongo-driver/bson/primitive"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/x/bsonx"
)
///论坛 数据组件
type modelMartialhall struct {
modules.MCompModel
module *Martialhall
}
//组件初始化接口
func (this *modelMartialhall) Init(service core.IService, module core.IModule, comp core.IModuleComp, opt core.IModuleOptions) (err error) {
this.TableName = comm.TableMartialhall
this.MCompModel.Init(service, module, comp, opt)
this.module = module.(*Martialhall)
//创建uid索引
this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{
Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}},
})
return
}
///询用户的练功房信息
func (this *modelMartialhall) queryUserMartialhall(uid string) (result *pb.DBMartialhall, err error) {
result = &pb.DBMartialhall{}
if err = this.Get(uid, result); err != nil && err != mgo.MongodbNil {
this.module.Errorln(err)
}
if err == mgo.MongodbNil {
unlocknum := this.module.configure.GetGlobalConf().KungfuInitialPracticeStake
result = &pb.DBMartialhall{
Id: primitive.NewObjectID().Hex(),
Uid: uid,
Lv: 1,
Pillar1: &pb.DBPillar{Index: 1},
Pillar2: &pb.DBPillar{Index: 2},
Pillar3: &pb.DBPillar{Index: 3},
Pillar4: &pb.DBPillar{Index: 4},
Pillar5: &pb.DBPillar{Index: 5},
}
switch unlocknum {
case 1:
result.Pillar1.Isunlock = true
case 2:
result.Pillar1.Isunlock = true
result.Pillar2.Isunlock = true
case 3:
result.Pillar1.Isunlock = true
result.Pillar2.Isunlock = true
result.Pillar3.Isunlock = true
case 4:
result.Pillar1.Isunlock = true
result.Pillar2.Isunlock = true
result.Pillar3.Isunlock = true
result.Pillar4.Isunlock = true
case 5:
result.Pillar1.Isunlock = true
result.Pillar2.Isunlock = true
result.Pillar3.Isunlock = true
result.Pillar4.Isunlock = true
result.Pillar5.Isunlock = true
}
if err = this.Add(uid, result); err != nil {
this.module.Errorln(err)
return
}
}
err = nil
return
}
//可领取红点
func (this *modelMartialhall) checkReddot23(seesion comm.IUserSession) bool {
var (
err error
mart *pb.DBMartialhall
mdata *cfg.GameKungfuMasterworkerData
code pb.ErrorCode
)
if mart, err = this.module.modelMartialhall.queryUserMartialhall(seesion.GetUserId()); err != nil {
return false
}
if mdata, err = this.module.configure.getMasterworker(mart.Lv); err != nil {
return false
}
if code = this.module.CheckRes(seesion, mdata.Deplete); code != pb.ErrorCode_Success {
return false
}
if mart.Pillar1.State == pb.PillarState_NoUse {
return true
}
if mart.Pillar2.State == pb.PillarState_NoUse {
return true
}
if mart.Pillar3.State == pb.PillarState_NoUse {
return true
}
if mart.Pillar4.State == pb.PillarState_NoUse {
return true
}
if mart.Pillar5.State == pb.PillarState_NoUse {
return true
}
return false
}
//可领取红点
func (this *modelMartialhall) checkReddot24(seesion comm.IUserSession) bool {
var (
err error
mart *pb.DBMartialhall
mdata *cfg.GameKungfuMasterworkerData
code pb.ErrorCode
)
if mart, err = this.module.modelMartialhall.queryUserMartialhall(seesion.GetUserId()); err != nil {
return false
}
if mdata, err = this.module.configure.getMasterworker(mart.Lv); err != nil {
return false
}
if mdata.LevelDeplete != nil && len(mdata.LevelDeplete) > 0 {
if code = this.module.CheckRes(seesion, mdata.LevelDeplete); code != pb.ErrorCode_Success {
return false
}
}
return false
}
//可领取红点
func (this *modelMartialhall) checkReddot25(seesion comm.IUserSession) bool {
var (
err error
mart *pb.DBMartialhall
mdata *cfg.GameKungfuMasterworkerData
)
if mart, err = this.module.modelMartialhall.queryUserMartialhall(seesion.GetUserId()); err != nil {
return false
}
if mdata, err = this.module.configure.getMasterworker(mart.Lv); err != nil {
return false
}
check(this.module.ModuleRtask, seesion, mart.Pillar1, mdata)
if mart.Pillar1.State == pb.PillarState_Receive {
return true
}
check(this.module.ModuleRtask, seesion, mart.Pillar2, mdata)
if mart.Pillar2.State == pb.PillarState_Receive {
return true
}
check(this.module.ModuleRtask, seesion, mart.Pillar3, mdata)
if mart.Pillar3.State == pb.PillarState_Receive {
return true
}
check(this.module.ModuleRtask, seesion, mart.Pillar4, mdata)
if mart.Pillar4.State == pb.PillarState_Receive {
return true
}
check(this.module.ModuleRtask, seesion, mart.Pillar5, mdata)
if mart.Pillar5.State == pb.PillarState_Receive {
return true
}
return false
}

View File

@ -1,70 +0,0 @@
package martialhall
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/base"
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
)
/*
模块名:武馆
描述:练功房相关业务
开发:李伟
*/
func NewModule() core.IModule {
m := new(Martialhall)
return m
}
type Martialhall struct {
modules.ModuleBase
service base.IRPCXService //rpc服务对象 通过这个对象可以发布服务和调用其他服务的接口
api_comp *apiComp
configure *configureComp
modelMartialhall *modelMartialhall
}
//模块名
func (this *Martialhall) GetType() core.M_Modules {
return comm.ModuleMartialhall
}
//模块初始化接口 注册用户创建角色事件
func (this *Martialhall) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
err = this.ModuleBase.Init(service, module, options)
this.service = service.(base.IRPCXService)
return
}
func (this *Martialhall) Start() (err error) {
err = this.ModuleBase.Start()
return
}
//装备组件
func (this *Martialhall) OnInstallComp() {
this.ModuleBase.OnInstallComp()
this.api_comp = this.RegisterComp(new(apiComp)).(*apiComp)
this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
this.modelMartialhall = this.RegisterComp(new(modelMartialhall)).(*modelMartialhall)
}
//红点查询
func (this *Martialhall) Reddot(session comm.IUserSession, rid ...comm.ReddotType) (reddot map[comm.ReddotType]bool) {
reddot = make(map[comm.ReddotType]bool)
for _, v := range rid {
switch v {
case comm.Reddot23:
reddot[comm.Reddot23] = this.modelMartialhall.checkReddot23(session)
break
case comm.Reddot24:
reddot[comm.Reddot24] = this.modelMartialhall.checkReddot24(session)
break
case comm.Reddot25:
reddot[comm.Reddot25] = this.modelMartialhall.checkReddot25(session)
break
}
}
return
}

View File

@ -114,7 +114,17 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.MlineChallenge
return return
} }
session.SendMsg(string(this.module.GetType()), MlineChallengeResp, &pb.MlineChallengeResp{ session.SendMsg(string(this.module.GetType()), MlineChallengeResp, &pb.MlineChallengeResp{
Info: &pb.BattleInfo{Id: record.Id, Title: record.Title, Btype: record.Btype, Ptype: record.Ptype, RedCompId: record.RedCompId, Redflist: record.Redflist, BlueCompId: record.BlueCompId, Buleflist: record.Buleflist}, Info: &pb.BattleInfo{
Id: record.Id,
Title: record.Title,
Rulesid: stageConf.BattleReadyID,
Btype: record.Btype,
Ptype: record.Ptype,
RedCompId: record.RedCompId,
Redflist: record.Redflist,
BlueCompId: record.BlueCompId,
Buleflist: record.Buleflist,
},
StageId: req.StageId, StageId: req.StageId,
}) })
return return

View File

@ -39,6 +39,7 @@ func (this *apiComp) Battle(session comm.IUserSession, req *pb.MoonfantasyBattle
Info: &pb.BattleInfo{ Info: &pb.BattleInfo{
Id: record.Id, Id: record.Id,
Title: record.Title, Title: record.Title,
Rulesid: boss.BattleReadyID,
Btype: record.Btype, Btype: record.Btype,
Ptype: record.Ptype, Ptype: record.Ptype,
RedCompId: record.RedCompId, RedCompId: record.RedCompId,

View File

@ -70,8 +70,18 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.PagodaChalleng
return return
} }
session.SendMsg(string(this.module.GetType()), PagodaChallengeResp, &pb.PagodaChallengeResp{ session.SendMsg(string(this.module.GetType()), PagodaChallengeResp, &pb.PagodaChallengeResp{
Info: &pb.BattleInfo{Id: record.Id, Title: record.Title, Btype: record.Btype, Ptype: record.Ptype, RedCompId: record.RedCompId, Redflist: record.Redflist, BlueCompId: record.BlueCompId, Buleflist: record.Buleflist}, Info: &pb.BattleInfo{
Cid: req.Cid, Id: record.Id,
Title: record.Title,
Rulesid: conf.BattleReadyID,
Btype: record.Btype,
Ptype: record.Ptype,
RedCompId: record.RedCompId,
Redflist: record.Redflist,
BlueCompId: record.BlueCompId,
Buleflist: record.Buleflist,
},
Cid: req.Cid,
}) })
return return
} }

View File

@ -37,6 +37,7 @@ func (this *apiComp) NPCBattkle(session comm.IUserSession, req *pb.PracticeNPCBa
Info: &pb.BattleInfo{ Info: &pb.BattleInfo{
Id: record.Id, Id: record.Id,
Title: record.Title, Title: record.Title,
Rulesid: 111,
Btype: record.Btype, Btype: record.Btype,
Ptype: record.Ptype, Ptype: record.Ptype,
RedCompId: record.RedCompId, RedCompId: record.RedCompId,

View File

@ -307,6 +307,7 @@ func (this *Pvp) startBattle(battle *BattleItem) {
info = &pb.BattleInfo{ info = &pb.BattleInfo{
Id: record.Id, Id: record.Id,
Title: record.Title, Title: record.Title,
Rulesid: 111,
Btype: record.Btype, Btype: record.Btype,
Ptype: record.Ptype, Ptype: record.Ptype,
RedCompId: record.RedCompId, RedCompId: record.RedCompId,

View File

@ -74,7 +74,16 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.VikingChalleng
return return
} }
session.SendMsg(string(this.module.GetType()), VikingChallengeResp, &pb.VikingChallengeResp{ session.SendMsg(string(this.module.GetType()), VikingChallengeResp, &pb.VikingChallengeResp{
Info: &pb.BattleInfo{Id: record.Id, Title: record.Title, Scene: cfgData.Scene, Btype: record.Btype, Ptype: record.Ptype, RedCompId: record.RedCompId, Redflist: record.Redflist, BlueCompId: record.BlueCompId, Buleflist: record.Buleflist}, Info: &pb.BattleInfo{
Id: record.Id, Title: record.Title,
Rulesid: cfgData.BattleReadyID,
Btype: record.Btype,
Ptype: record.Ptype,
RedCompId: record.RedCompId,
Redflist: record.Redflist,
BlueCompId: record.BlueCompId,
Buleflist: record.Buleflist,
},
BossId: req.BossId, BossId: req.BossId,
Difficulty: req.Difficulty, Difficulty: req.Difficulty,
}) })

View File

@ -234,7 +234,16 @@ func (this *Viking) AutoBattleInfo(session comm.IUserSession, battle *pb.BattleF
Mformat: cfgData.Boss, Mformat: cfgData.Boss,
}) })
if code == pb.ErrorCode_Success { if code == pb.ErrorCode_Success {
battleInfo = &pb.BattleInfo{Id: record.Id, Title: record.Title, Btype: record.Btype, Ptype: record.Ptype, RedCompId: record.RedCompId, Redflist: record.Redflist, BlueCompId: record.BlueCompId, Buleflist: record.Buleflist} battleInfo = &pb.BattleInfo{
Id: record.Id,
Title: record.Title,
Rulesid: cfgData.BattleReadyID,
Btype: record.Btype,
Ptype: record.Ptype, RedCompId: record.RedCompId,
Redflist: record.Redflist,
BlueCompId: record.BlueCompId,
Buleflist: record.Buleflist,
}
} }
return return

View File

@ -62,6 +62,7 @@ func (this *apiComp) Battlestart(session comm.IUserSession, req *pb.WorldtaskBat
resp = &pb.WorldtaskBattleStartResp{ resp = &pb.WorldtaskBattleStartResp{
Info: &pb.BattleInfo{ Info: &pb.BattleInfo{
Id: record.Id, Id: record.Id,
Rulesid: battleConf.BattleReadyID,
Btype: record.Btype, Btype: record.Btype,
Ptype: record.Ptype, Ptype: record.Ptype,
RedCompId: record.RedCompId, RedCompId: record.RedCompId,

View File

@ -30,6 +30,11 @@ func (this *apiComp) CompleteCondi(session comm.IUserSession, req *pb.WorldtaskC
code = pb.ErrorCode_ConfigNoFound code = pb.ErrorCode_ConfigNoFound
return return
} }
if (len(curTaskConf.Completetask) == 1 && curTaskConf.Completetask[0] == 0 ||
len(curTaskConf.Completetask) == 0) && curTaskConf.DeliverNpc == 0 {
code = pb.ErrorCode_WorldtaskNoProcess
return
}
myWorldtask, err := this.module.modelWorldtask.getWorldtask(uid) myWorldtask, err := this.module.modelWorldtask.getWorldtask(uid)
if err != nil { if err != nil {
@ -74,6 +79,5 @@ func (this *apiComp) CompleteCondi(session comm.IUserSession, req *pb.WorldtaskC
session.SendMsg(string(this.module.GetType()), "completecondi", rsp) session.SendMsg(string(this.module.GetType()), "completecondi", rsp)
return return
} }

View File

@ -47,6 +47,11 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe
return return
} }
if curTaskConf.DeliverNpc == 0 {
code = pb.ErrorCode_WorldtaskNoProcess
return
}
// 判断玩家等级要求 // 判断玩家等级要求
if user.Lv < curTaskConf.Lock { if user.Lv < curTaskConf.Lock {
code = pb.ErrorCode_WorldtaskLvNotEnough code = pb.ErrorCode_WorldtaskLvNotEnough

View File

@ -100,7 +100,7 @@ func (this *ModelWorldtask) finishTask(groupId, taskId int32, task *pb.DBWorldta
task.CurrentTask = make(map[int32]*pb.Worldtask) task.CurrentTask = make(map[int32]*pb.Worldtask)
} }
//判断是否有下个任务 //有下个任务
if taskConf.IdAfter != 0 { if taskConf.IdAfter != 0 {
wt.NpcStatus = 0 wt.NpcStatus = 0
wt.DeliverNpc = 0 wt.DeliverNpc = 0

View File

@ -75,8 +75,11 @@ const (
ErrorCode_UserOffline ErrorCode = 1020 //玩家不在线 ErrorCode_UserOffline ErrorCode = 1020 //玩家不在线
ErrorCode_UserNofound ErrorCode = 1021 //未查询到玩家 ErrorCode_UserNofound ErrorCode = 1021 //未查询到玩家
ErrorCode_UserSign ErrorCode = 1022 //签到状态不对 ErrorCode_UserSign ErrorCode = 1022 //签到状态不对
<<<<<<< HEAD
ErrorCode_OpenCondErr ErrorCode = 1023 //功能开启条件未达到 ErrorCode_OpenCondErr ErrorCode = 1023 //功能开启条件未达到
ErrorCode_OpenCondActivate ErrorCode = 1024 //功能开启条件已激活 ErrorCode_OpenCondActivate ErrorCode = 1024 //功能开启条件已激活
=======
>>>>>>> 6272919a6ac1d949e4a3a77459def990312b016d
// friend // friend
ErrorCode_FriendNotSelf ErrorCode = 1100 //不能是自己 ErrorCode_FriendNotSelf ErrorCode = 1100 //不能是自己
ErrorCode_FriendSelfMax ErrorCode = 1101 //超出好友最大数量 ErrorCode_FriendSelfMax ErrorCode = 1101 //超出好友最大数量
@ -324,7 +327,11 @@ const (
ErrorCode_WorldtaskGroupIdNosame ErrorCode = 3807 //组ID不一致 ErrorCode_WorldtaskGroupIdNosame ErrorCode = 3807 //组ID不一致
ErrorCode_WorldtaskChapterUnFinished ErrorCode = 3808 //章节任务未完成 ErrorCode_WorldtaskChapterUnFinished ErrorCode = 3808 //章节任务未完成
ErrorCode_WorldtaskChapterReceived ErrorCode = 3809 //章节奖励已领取 ErrorCode_WorldtaskChapterReceived ErrorCode = 3809 //章节奖励已领取
<<<<<<< HEAD
ErrorCode_WorldtaskNoDeliver ErrorCode = 3810 //无需交付 ErrorCode_WorldtaskNoDeliver ErrorCode = 3810 //无需交付
=======
ErrorCode_WorldtaskNoProcess ErrorCode = 3810 //无需处理
>>>>>>> 6272919a6ac1d949e4a3a77459def990312b016d
// academy // academy
ErrorCode_AcademyTaskNoCompleteTask ErrorCode = 3901 //未完成任务 ErrorCode_AcademyTaskNoCompleteTask ErrorCode = 3901 //未完成任务
// AutoBattle // AutoBattle
@ -416,8 +423,11 @@ var (
1020: "UserOffline", 1020: "UserOffline",
1021: "UserNofound", 1021: "UserNofound",
1022: "UserSign", 1022: "UserSign",
<<<<<<< HEAD
1023: "OpenCondErr", 1023: "OpenCondErr",
1024: "OpenCondActivate", 1024: "OpenCondActivate",
=======
>>>>>>> 6272919a6ac1d949e4a3a77459def990312b016d
1100: "FriendNotSelf", 1100: "FriendNotSelf",
1101: "FriendSelfMax", 1101: "FriendSelfMax",
1102: "FriendTargetMax", 1102: "FriendTargetMax",
@ -638,7 +648,11 @@ var (
3807: "WorldtaskGroupIdNosame", 3807: "WorldtaskGroupIdNosame",
3808: "WorldtaskChapterUnFinished", 3808: "WorldtaskChapterUnFinished",
3809: "WorldtaskChapterReceived", 3809: "WorldtaskChapterReceived",
<<<<<<< HEAD
3810: "WorldtaskNoDeliver", 3810: "WorldtaskNoDeliver",
=======
3810: "WorldtaskNoProcess",
>>>>>>> 6272919a6ac1d949e4a3a77459def990312b016d
3901: "AcademyTaskNoCompleteTask", 3901: "AcademyTaskNoCompleteTask",
4001: "AutoBattleNoData", 4001: "AutoBattleNoData",
4002: "AutoBattleStatesErr", 4002: "AutoBattleStatesErr",
@ -722,8 +736,11 @@ var (
"UserOffline": 1020, "UserOffline": 1020,
"UserNofound": 1021, "UserNofound": 1021,
"UserSign": 1022, "UserSign": 1022,
<<<<<<< HEAD
"OpenCondErr": 1023, "OpenCondErr": 1023,
"OpenCondActivate": 1024, "OpenCondActivate": 1024,
=======
>>>>>>> 6272919a6ac1d949e4a3a77459def990312b016d
"FriendNotSelf": 1100, "FriendNotSelf": 1100,
"FriendSelfMax": 1101, "FriendSelfMax": 1101,
"FriendTargetMax": 1102, "FriendTargetMax": 1102,
@ -944,7 +961,11 @@ var (
"WorldtaskGroupIdNosame": 3807, "WorldtaskGroupIdNosame": 3807,
"WorldtaskChapterUnFinished": 3808, "WorldtaskChapterUnFinished": 3808,
"WorldtaskChapterReceived": 3809, "WorldtaskChapterReceived": 3809,
<<<<<<< HEAD
"WorldtaskNoDeliver": 3810, "WorldtaskNoDeliver": 3810,
=======
"WorldtaskNoProcess": 3810,
>>>>>>> 6272919a6ac1d949e4a3a77459def990312b016d
"AcademyTaskNoCompleteTask": 3901, "AcademyTaskNoCompleteTask": 3901,
"AutoBattleNoData": 4001, "AutoBattleNoData": 4001,
"AutoBattleStatesErr": 4002, "AutoBattleStatesErr": 4002,
@ -1010,7 +1031,11 @@ var File_errorcode_proto protoreflect.FileDescriptor
var file_errorcode_proto_rawDesc = []byte{ var file_errorcode_proto_rawDesc = []byte{
0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
<<<<<<< HEAD
0x6f, 0x2a, 0xa9, 0x37, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x6f, 0x2a, 0xa9, 0x37, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12,
=======
0x6f, 0x2a, 0x80, 0x37, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12,
>>>>>>> 6272919a6ac1d949e4a3a77459def990312b016d
0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10,
0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76,
@ -1073,6 +1098,7 @@ var file_errorcode_proto_rawDesc = []byte{
0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xfb, 0x07, 0x12, 0x10, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xfb, 0x07, 0x12, 0x10, 0x0a, 0x0b, 0x55, 0x73, 0x65,
0x72, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x10, 0xfc, 0x07, 0x12, 0x10, 0x0a, 0x0b, 0x55, 0x72, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x10, 0xfc, 0x07, 0x12, 0x10, 0x0a, 0x0b, 0x55,
0x73, 0x65, 0x72, 0x4e, 0x6f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xfd, 0x07, 0x12, 0x0d, 0x0a, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xfd, 0x07, 0x12, 0x0d, 0x0a,
<<<<<<< HEAD
0x08, 0x55, 0x73, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x10, 0xfe, 0x07, 0x12, 0x10, 0x0a, 0x0b, 0x08, 0x55, 0x73, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x10, 0xfe, 0x07, 0x12, 0x10, 0x0a, 0x0b,
0x4f, 0x70, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x45, 0x72, 0x72, 0x10, 0xff, 0x07, 0x12, 0x15, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x45, 0x72, 0x72, 0x10, 0xff, 0x07, 0x12, 0x15,
0x0a, 0x10, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x0a, 0x10, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61,
@ -1454,6 +1480,387 @@ var file_errorcode_proto_rawDesc = []byte{
0x10, 0xcf, 0x21, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x10, 0xcf, 0x21, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50,
0x69, 0x6c, 0x6c, 0x61, 0x72, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0xd0, 0x21, 0x42, 0x06, 0x5a, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0xd0, 0x21, 0x42, 0x06, 0x5a,
0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
=======
0x08, 0x55, 0x73, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x10, 0xfe, 0x07, 0x12, 0x12, 0x0a, 0x0d,
0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x53, 0x65, 0x6c, 0x66, 0x10, 0xcc, 0x08,
0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x4d, 0x61,
0x78, 0x10, 0xcd, 0x08, 0x12, 0x14, 0x0a, 0x0f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61,
0x72, 0x67, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x10, 0xce, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72,
0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xcf,
0x08, 0x12, 0x17, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65,
0x74, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xd0, 0x08, 0x12, 0x0e, 0x0a, 0x09, 0x46, 0x72,
0x69, 0x65, 0x6e, 0x64, 0x59, 0x65, 0x74, 0x10, 0xd1, 0x08, 0x12, 0x13, 0x0a, 0x0e, 0x46, 0x72,
0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x59, 0x65, 0x74, 0x10, 0xd2, 0x08, 0x12,
0x17, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x42, 0x6c, 0x61,
0x63, 0x6b, 0x59, 0x65, 0x74, 0x10, 0xd3, 0x08, 0x12, 0x19, 0x0a, 0x14, 0x46, 0x72, 0x69, 0x65,
0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x59, 0x65, 0x74,
0x10, 0xd4, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70,
0x6c, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xd5, 0x08, 0x12, 0x13, 0x0a, 0x0e, 0x46, 0x72,
0x69, 0x65, 0x6e, 0x64, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x4d, 0x61, 0x78, 0x10, 0xd6, 0x08, 0x12,
0x1a, 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e,
0x61, 0x6d, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10, 0xd7, 0x08, 0x12, 0x10, 0x0a, 0x0b, 0x46,
0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, 0x61, 0x6e, 0x65, 0x64, 0x10, 0xd8, 0x08, 0x12, 0x16, 0x0a,
0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, 0x61, 0x6e, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76,
0x65, 0x64, 0x10, 0xd9, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a,
0x61, 0x6e, 0x53, 0x65, 0x6c, 0x66, 0x10, 0xda, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69,
0x65, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xdb, 0x08,
0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4e, 0x6f, 0x72, 0x65, 0x63, 0x65,
0x69, 0x76, 0x65, 0x64, 0x10, 0xdc, 0x08, 0x12, 0x18, 0x0a, 0x13, 0x46, 0x72, 0x69, 0x65, 0x6e,
0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0xdd,
0x08, 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75,
0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x10, 0xde, 0x08, 0x12, 0x1a, 0x0a,
0x15, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x4e, 0x6f, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xdf, 0x08, 0x12, 0x14, 0x0a, 0x0f, 0x46, 0x72, 0x69,
0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x69, 0x6e, 0x67, 0x10, 0xe0, 0x08, 0x12,
0x19, 0x0a, 0x14, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x54,
0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6b, 0x10, 0xe1, 0x08, 0x12, 0x19, 0x0a, 0x14, 0x46, 0x72,
0x69, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75,
0x67, 0x68, 0x10, 0xe2, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x4e, 0x6f,
0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xb0, 0x09, 0x12, 0x15, 0x0a, 0x10, 0x49, 0x74, 0x65,
0x6d, 0x73, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x47, 0x69, 0x72, 0x64, 0x10, 0xb1, 0x09,
0x12, 0x16, 0x0a, 0x11, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x47, 0x72, 0x69, 0x64, 0x4e, 0x75, 0x6d,
0x55, 0x70, 0x70, 0x65, 0x72, 0x10, 0xb2, 0x09, 0x12, 0x19, 0x0a, 0x14, 0x49, 0x74, 0x65, 0x6d,
0x73, 0x47, 0x69, 0x72, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x70, 0x70, 0x65, 0x72,
0x10, 0xb3, 0x09, 0x12, 0x19, 0x0a, 0x14, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x55, 0x73, 0x65, 0x4e,
0x6f, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x10, 0xb4, 0x09, 0x12, 0x16,
0x0a, 0x11, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x55, 0x73, 0x65, 0x4e, 0x6f, 0x43, 0x61, 0x6e, 0x53,
0x65, 0x6c, 0x6c, 0x10, 0xb5, 0x09, 0x12, 0x19, 0x0a, 0x14, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x42,
0x75, 0x79, 0x50, 0x73, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xb6,
0x09, 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x78, 0x69, 0x73, 0x74,
0x10, 0x94, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x6e, 0x6f,
0x75, 0x67, 0x68, 0x10, 0x95, 0x0a, 0x12, 0x0e, 0x0a, 0x09, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61,
0x78, 0x4c, 0x76, 0x10, 0x96, 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x6e,
0x69, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x10, 0x97, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65,
0x72, 0x6f, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x45, 0x72, 0x72, 0x10, 0x98, 0x0a, 0x12, 0x13, 0x0a,
0x0e, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x55, 0x70, 0x45, 0x72, 0x72, 0x10,
0x99, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x73,
0x6f, 0x6e, 0x61, 0x74, 0x65, 0x10, 0x9a, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f,
0x4e, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x10, 0x9b, 0x0a, 0x12, 0x18, 0x0a,
0x13, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x74, 0x4e, 0x65, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f,
0x6e, 0x61, 0x74, 0x65, 0x10, 0x9c, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x4e,
0x6f, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x10, 0x9d, 0x0a, 0x12, 0x0f, 0x0a, 0x0a, 0x48, 0x65,
0x72, 0x6f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x10, 0x9e, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x48,
0x65, 0x72, 0x6f, 0x45, 0x71, 0x75, 0x69, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x9f,
0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x41, 0x77, 0x61, 0x6b,
0x65, 0x6e, 0x10, 0xa0, 0x0a, 0x12, 0x0f, 0x0a, 0x0a, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x73, 0x4c,
0x6f, 0x63, 0x6b, 0x10, 0xa1, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61,
0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xa2, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x65, 0x72,
0x6f, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x45, 0x72, 0x72, 0x10, 0xa3, 0x0a, 0x12,
0x10, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x45, 0x72, 0x72, 0x10, 0xa4,
0x0a, 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x45, 0x72, 0x72,
0x10, 0xa5, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x78, 0x70, 0x54, 0x79,
0x70, 0x65, 0x45, 0x72, 0x72, 0x10, 0xa6, 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f,
0x41, 0x64, 0x64, 0x4d, 0x61, 0x78, 0x45, 0x78, 0x70, 0x10, 0xa7, 0x0a, 0x12, 0x12, 0x0a, 0x0d,
0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, 0xa8, 0x0a,
0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x53, 0x74, 0x61, 0x72, 0x4c,
0x76, 0x10, 0xa9, 0x0a, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x72, 0x61, 0x77, 0x43, 0x61, 0x72, 0x64,
0x54, 0x79, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xaa, 0x0a, 0x12,
0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c,
0x76, 0x10, 0xab, 0x0a, 0x12, 0x1c, 0x0a, 0x17, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x6c, 0x72, 0x65,
0x61, 0x64, 0x79, 0x4b, 0x6f, 0x6e, 0x67, 0x46, 0x75, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10,
0xac, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x4c, 0x76, 0x4e, 0x6f, 0x45, 0x6e,
0x6f, 0x75, 0x67, 0x68, 0x10, 0xad, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x49,
0x73, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x10, 0xae, 0x0a, 0x12, 0x1e, 0x0a, 0x19,
0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x6e, 0x46, 0x6f, 0x75, 0x6e, 0x64,
0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0xf8, 0x0a, 0x12, 0x1c, 0x0a, 0x17,
0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x76, 0x6c, 0x69, 0x6d, 0x69, 0x74,
0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x10, 0xf9, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x45, 0x71,
0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x73, 0x57, 0x6f, 0x72, 0x6e, 0x10, 0xfa, 0x0a,
0x12, 0x17, 0x0a, 0x12, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x43,
0x61, 0x6e, 0x53, 0x65, 0x6c, 0x6c, 0x10, 0xfb, 0x0a, 0x12, 0x1b, 0x0a, 0x16, 0x45, 0x71, 0x75,
0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f,
0x75, 0x6e, 0x64, 0x10, 0xfc, 0x0a, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69,
0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72,
0x10, 0xdc, 0x0b, 0x12, 0x15, 0x0a, 0x10, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x49,
0x44, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xdd, 0x0b, 0x12, 0x15, 0x0a, 0x10, 0x4d, 0x61,
0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xde,
0x0b, 0x12, 0x18, 0x0a, 0x13, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x72, 0x65,
0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xdf, 0x0b, 0x12, 0x19, 0x0a, 0x14, 0x4d,
0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x52, 0x65, 0x77,
0x61, 0x72, 0x64, 0x10, 0xe0, 0x0b, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69,
0x6e, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
0x10, 0xe1, 0x0b, 0x12, 0x19, 0x0a, 0x14, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4e,
0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x53, 0x74, 0x61, 0x72, 0x10, 0xe2, 0x0b, 0x12, 0x0d,
0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x6e, 0x69, 0x74, 0x10, 0xc0, 0x0c, 0x12, 0x0e, 0x0a,
0x09, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x65, 0x74, 0x10, 0xc1, 0x0c, 0x12, 0x0f, 0x0a,
0x0a, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x10, 0xc2, 0x0c, 0x12, 0x11,
0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xc3,
0x0c, 0x12, 0x13, 0x0a, 0x0e, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x49,
0x6e, 0x69, 0x74, 0x10, 0xc4, 0x0c, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63,
0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xc5, 0x0c, 0x12, 0x17,
0x0a, 0x12, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x65, 0x6e,
0x6f, 0x75, 0x67, 0x68, 0x10, 0xc6, 0x0c, 0x12, 0x13, 0x0a, 0x0e, 0x54, 0x61, 0x73, 0x6b, 0x4e,
0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xc7, 0x0c, 0x12, 0x11, 0x0a, 0x0c,
0x54, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xc8, 0x0c, 0x12,
0x11, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x61, 0x67, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10,
0xc9, 0x0c, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x45, 0x6d, 0x70, 0x74,
0x79, 0x10, 0xca, 0x0c, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x74, 0x46,
0x6f, 0x75, 0x6e, 0x64, 0x10, 0xcb, 0x0c, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x68, 0x6f, 0x70, 0x47,
0x6f, 0x6f, 0x64, 0x73, 0x49, 0x73, 0x53, 0x6f, 0x6c, 0x64, 0x4f, 0x75, 0x74, 0x10, 0xa4, 0x0d,
0x12, 0x1c, 0x0a, 0x17, 0x53, 0x68, 0x6f, 0x70, 0x4e, 0x6f, 0x53, 0x75, 0x72, 0x70, 0x6c, 0x75,
0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4e, 0x75, 0x6d, 0x10, 0xa5, 0x0d, 0x12, 0x0c,
0x0a, 0x07, 0x4d, 0x61, 0x69, 0x6c, 0x45, 0x72, 0x72, 0x10, 0x88, 0x0e, 0x12, 0x13, 0x0a, 0x0e,
0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xec,
0x0e, 0x12, 0x12, 0x0a, 0x0d, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x4c, 0x65, 0x76, 0x6c, 0x45,
0x72, 0x72, 0x10, 0xed, 0x0e, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x47,
0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x72, 0x72, 0x10, 0xee, 0x0e, 0x12, 0x17,
0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f,
0x6e, 0x45, 0x72, 0x72, 0x10, 0xef, 0x0e, 0x12, 0x11, 0x0a, 0x0c, 0x50, 0x61, 0x67, 0x6f, 0x64,
0x61, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0xf0, 0x0e, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x61,
0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x55, 0x6e, 0x6c, 0x6f,
0x63, 0x6b, 0x65, 0x64, 0x10, 0xd0, 0x0f, 0x12, 0x15, 0x0a, 0x10, 0x4d, 0x61, 0x72, 0x74, 0x69,
0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x55, 0x73, 0x65, 0x10, 0xd1, 0x0f, 0x12, 0x18,
0x0a, 0x13, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x55, 0x6e, 0x6c,
0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0xd2, 0x0f, 0x12, 0x1a, 0x0a, 0x15, 0x4d, 0x61, 0x72, 0x74,
0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65,
0x64, 0x10, 0xd3, 0x0f, 0x12, 0x1a, 0x0a, 0x15, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68,
0x61, 0x6c, 0x6c, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xd4, 0x0f,
0x12, 0x1d, 0x0a, 0x18, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x41,
0x74, 0x6c, 0x61, 0x73, 0x4e, 0x6f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xd5, 0x0f, 0x12,
0x19, 0x0a, 0x14, 0x47, 0x6f, 0x75, 0x72, 0x6d, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, 0x4f, 0x72,
0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x10, 0xb5, 0x10, 0x12, 0x16, 0x0a, 0x11, 0x47, 0x6f,
0x75, 0x72, 0x6d, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10,
0xb6, 0x10, 0x12, 0x12, 0x0a, 0x0d, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73,
0x68, 0x65, 0x64, 0x10, 0x99, 0x11, 0x12, 0x14, 0x0a, 0x0f, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x55,
0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0x9a, 0x11, 0x12, 0x11, 0x0a, 0x0c,
0x52, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x10, 0x9b, 0x11, 0x12,
0x12, 0x0a, 0x0d, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64,
0x10, 0x9c, 0x11, 0x12, 0x15, 0x0a, 0x10, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x65, 0x4e,
0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x10, 0x9d, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x52, 0x74,
0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x4e, 0x6f, 0x52, 0x65, 0x61, 0x63, 0x68, 0x10,
0x9e, 0x11, 0x12, 0x13, 0x0a, 0x0e, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x4c, 0x61, 0x73,
0x74, 0x4f, 0x6e, 0x65, 0x10, 0x9f, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x52, 0x74, 0x61, 0x73, 0x6b,
0x43, 0x6f, 0x6e, 0x64, 0x69, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xa0, 0x11, 0x12,
0x10, 0x0a, 0x0b, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, 0xfd,
0x11, 0x12, 0x13, 0x0a, 0x0e, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x54,
0x79, 0x70, 0x65, 0x10, 0xfe, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67,
0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xff, 0x11, 0x12, 0x1c,
0x0a, 0x17, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x78, 0x43, 0x68, 0x61, 0x6c, 0x6c,
0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x80, 0x12, 0x12, 0x1a, 0x0a, 0x15,
0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x48, 0x61, 0x73, 0x45, 0x78,
0x70, 0x69, 0x72, 0x65, 0x64, 0x10, 0xe1, 0x12, 0x12, 0x16, 0x0a, 0x11, 0x4d, 0x6f, 0x6f, 0x6e,
0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x4a, 0x6f, 0x69, 0x6e, 0x55, 0x70, 0x10, 0xe2, 0x12,
0x12, 0x16, 0x0a, 0x11, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x44,
0x61, 0x72, 0x65, 0x55, 0x70, 0x10, 0xe3, 0x12, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x6f, 0x6f, 0x6e,
0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x45,
0x6e, 0x64, 0x10, 0xe4, 0x12, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e,
0x74, 0x61, 0x73, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x57, 0x69, 0x6e, 0x10,
0xe5, 0x12, 0x12, 0x16, 0x0a, 0x11, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73,
0x79, 0x4e, 0x6f, 0x4a, 0x6f, 0x69, 0x6e, 0x10, 0xe6, 0x12, 0x12, 0x20, 0x0a, 0x1b, 0x4d, 0x6f,
0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75,
0x67, 0x68, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x73, 0x10, 0xe7, 0x12, 0x12, 0x18, 0x0a, 0x13,
0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x63,
0x6f, 0x72, 0x64, 0x10, 0xc5, 0x13, 0x12, 0x1a, 0x0a, 0x15, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74,
0x6f, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10,
0xa9, 0x14, 0x12, 0x17, 0x0a, 0x12, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4e,
0x6f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xaa, 0x14, 0x12, 0x1f, 0x0a, 0x1a, 0x4c,
0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x69, 0x73, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x10, 0xab, 0x14, 0x12, 0x1b, 0x0a, 0x16,
0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72,
0x4e, 0x6f, 0x4f, 0x70, 0x65, 0x6e, 0x10, 0xac, 0x14, 0x12, 0x1b, 0x0a, 0x16, 0x4c, 0x69, 0x6e,
0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x72, 0x65, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c,
0x65, 0x74, 0x65, 0x10, 0xad, 0x14, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e,
0x67, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, 0x8d, 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x75, 0x6e,
0x74, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x10, 0x8e, 0x15, 0x12,
0x17, 0x0a, 0x12, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x8f, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x48, 0x75, 0x6e, 0x74,
0x69, 0x6e, 0x67, 0x4d, 0x61, 0x78, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43,
0x6f, 0x75, 0x6e, 0x74, 0x10, 0x90, 0x15, 0x12, 0x1c, 0x0a, 0x17, 0x48, 0x75, 0x6e, 0x74, 0x69,
0x6e, 0x67, 0x4e, 0x6f, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75,
0x6e, 0x74, 0x10, 0x91, 0x15, 0x12, 0x11, 0x0a, 0x0c, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74,
0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, 0x97, 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x45, 0x6e, 0x63, 0x68,
0x61, 0x6e, 0x74, 0x42, 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x10, 0x98, 0x15, 0x12, 0x17,
0x0a, 0x12, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x43,
0x6f, 0x75, 0x6e, 0x74, 0x10, 0x99, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x45, 0x6e, 0x63, 0x68, 0x61,
0x6e, 0x74, 0x4d, 0x61, 0x78, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x10, 0x9a, 0x15, 0x12, 0x1c, 0x0a, 0x17, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e,
0x74, 0x4e, 0x6f, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x10, 0x9b, 0x15, 0x12, 0x11, 0x0a, 0x0c, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4d,
0x61, 0x78, 0x4c, 0x76, 0x10, 0xf1, 0x15, 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61,
0x72, 0x79, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xf2, 0x15, 0x12, 0x16, 0x0a, 0x11, 0x4c,
0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x10, 0xf3, 0x15, 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65,
0x77, 0x61, 0x72, 0x64, 0x10, 0xf4, 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61,
0x72, 0x79, 0x4c, 0x76, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xf5, 0x15, 0x12, 0x1d, 0x0a,
0x18, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x54, 0x61,
0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xf6, 0x15, 0x12, 0x1d, 0x0a, 0x18,
0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x50, 0x72, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f,
0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xf7, 0x15, 0x12, 0x1b, 0x0a, 0x16, 0x42,
0x61, 0x74, 0x74, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46,
0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd5, 0x16, 0x12, 0x10, 0x0a, 0x0b, 0x42, 0x61, 0x74, 0x74,
0x6c, 0x65, 0x4e, 0x6f, 0x57, 0x69, 0x6e, 0x10, 0xd6, 0x16, 0x12, 0x17, 0x0a, 0x12, 0x42, 0x61,
0x74, 0x74, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64,
0x10, 0xd7, 0x16, 0x12, 0x16, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x43,
0x6d, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd8, 0x16, 0x12, 0x12, 0x0a, 0x0d, 0x42,
0x61, 0x74, 0x74, 0x6c, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x10, 0xd9, 0x16, 0x12,
0x1e, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x61, 0x70, 0x73, 0x6b, 0x69, 0x6c,
0x6c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xda, 0x16, 0x12,
0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e,
0x64, 0x10, 0xb8, 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41,
0x64, 0x64, 0x65, 0x64, 0x10, 0xb9, 0x17, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61,
0x74, 0x79, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67,
0x68, 0x10, 0xba, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e,
0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x10, 0xbb, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f,
0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x52, 0x69, 0x67, 0x68, 0x74, 0x10, 0xbc, 0x17, 0x12,
0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x64, 0x64, 0x65,
0x64, 0x10, 0xbd, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44,
0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x10, 0xbe, 0x17, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x6f, 0x63,
0x69, 0x61, 0x74, 0x79, 0x51, 0x75, 0x69, 0x74, 0x10, 0xbf, 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53,
0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x67, 0x72, 0x65, 0x65, 0x10, 0xc0, 0x17, 0x12, 0x12,
0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x10,
0xc1, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67,
0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x10, 0xc2, 0x17, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6f, 0x63,
0x69, 0x61, 0x74, 0x79, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x44, 0x69, 0x73, 0x73,
0x10, 0xc3, 0x17, 0x12, 0x16, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65,
0x74, 0x74, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x10, 0xc4, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53,
0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xc5, 0x17,
0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x63, 0x63,
0x75, 0x73, 0x65, 0x10, 0xc6, 0x17, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74,
0x79, 0x53, 0x69, 0x67, 0x6e, 0x10, 0xc7, 0x17, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69,
0x61, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x10, 0xc8, 0x17, 0x12, 0x13, 0x0a, 0x0e,
0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x44, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xc9,
0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c,
0x79, 0x4d, 0x61, 0x78, 0x10, 0xca, 0x17, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61,
0x74, 0x79, 0x53, 0x65, 0x6c, 0x66, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xcb, 0x17,
0x12, 0x1c, 0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65,
0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xcc, 0x17, 0x12, 0x1a,
0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52,
0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xcd, 0x17, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x6f,
0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69,
0x76, 0x65, 0x10, 0xce, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79,
0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x10, 0xcf, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53,
0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x54, 0x6f, 0x10, 0xd1,
0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c,
0x69, 0x65, 0x64, 0x10, 0xd2, 0x17, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74,
0x79, 0x41, 0x70, 0x70, 0x79, 0x4c, 0x76, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10,
0xd3, 0x17, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73,
0x6b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xd4, 0x17, 0x12, 0x1c,
0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
0x79, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xd5, 0x17, 0x12, 0x1b, 0x0a, 0x16,
0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x69, 0x74, 0x76, 0x69, 0x74, 0x79, 0x52,
0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xd6, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6f, 0x63,
0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x10, 0xd7, 0x17,
0x12, 0x15, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x45,
0x78, 0x69, 0x73, 0x74, 0x10, 0xd8, 0x17, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61,
0x74, 0x79, 0x51, 0x75, 0x69, 0x74, 0x4e, 0x6f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10,
0xd9, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d,
0x61, 0x73, 0x74, 0x65, 0x72, 0x10, 0xda, 0x17, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69,
0x61, 0x74, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xdb,
0x17, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x69, 0x63, 0x6b,
0x65, 0x74, 0x73, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xdc, 0x17, 0x12, 0x18,
0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x4e,
0x6f, 0x69, 0x6e, 0x69, 0x74, 0x10, 0xdd, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69,
0x61, 0x74, 0x79, 0x53, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x45, 0x6e, 0x64, 0x10, 0xde, 0x17, 0x12,
0x16, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x55, 0x6e,
0x6c, 0x6f, 0x63, 0x6b, 0x10, 0xdf, 0x17, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61,
0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xe0, 0x17,
0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e,
0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xe1, 0x17, 0x12, 0x18, 0x0a, 0x13,
0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69,
0x76, 0x65, 0x64, 0x10, 0xe2, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54,
0x69, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x75, 0x79, 0x55, 0x70, 0x10, 0x9d, 0x18, 0x12, 0x19, 0x0a,
0x14, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x45,
0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x9e, 0x18, 0x12, 0x17, 0x0a, 0x12, 0x41, 0x72, 0x65, 0x6e,
0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x70, 0x63, 0x49, 0x6e, 0x43, 0x64, 0x10, 0x9f,
0x18, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x65, 0x61,
0x74, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x10, 0x81, 0x19, 0x12, 0x12, 0x0a, 0x0d, 0x54, 0x61, 0x6c,
0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0x82, 0x19, 0x12, 0x19, 0x0a,
0x14, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x42,
0x65, 0x66, 0x6f, 0x72, 0x65, 0x10, 0x83, 0x19, 0x12, 0x15, 0x0a, 0x10, 0x54, 0x61, 0x6c, 0x65,
0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0x84, 0x19, 0x12,
0x10, 0x0a, 0x0b, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x10, 0xe5,
0x19, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x53, 0x65, 0x6c, 0x6c, 0x4d, 0x61,
0x78, 0x10, 0xe6, 0x19, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78,
0x53, 0x65, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe7, 0x19, 0x12, 0x16, 0x0a, 0x11,
0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x10, 0xe8, 0x19, 0x12, 0x18, 0x0a, 0x13, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x52, 0x65, 0x70,
0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xe9, 0x19, 0x12, 0x19,
0x0a, 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x54, 0x75,
0x72, 0x6e, 0x65, 0x64, 0x4f, 0x6e, 0x10, 0xc9, 0x1a, 0x12, 0x19, 0x0a, 0x14, 0x48, 0x6f, 0x72,
0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x73, 0x74, 0x43, 0x44, 0x4e, 0x6f, 0x45, 0x6e,
0x64, 0x10, 0xca, 0x1a, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67,
0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xad, 0x1b, 0x12, 0x17, 0x0a, 0x12,
0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x54, 0x69,
0x6d, 0x65, 0x10, 0xae, 0x1b, 0x12, 0x0f, 0x0a, 0x0a, 0x56, 0x69, 0x70, 0x4c, 0x76, 0x45, 0x72,
0x72, 0x6f, 0x72, 0x10, 0xaf, 0x1b, 0x12, 0x11, 0x0a, 0x0c, 0x56, 0x69, 0x70, 0x47, 0x69, 0x66,
0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xb0, 0x1b, 0x12, 0x11, 0x0a, 0x0c, 0x56, 0x69, 0x70,
0x42, 0x75, 0x79, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x10, 0xb1, 0x1b, 0x12, 0x14, 0x0a, 0x0f,
0x47, 0x72, 0x6f, 0x77, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10,
0x91, 0x1c, 0x12, 0x17, 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x64,
0x76, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0x92, 0x1c, 0x12, 0x17, 0x0a, 0x12, 0x50,
0x61, 0x79, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67,
0x68, 0x10, 0xf5, 0x1c, 0x12, 0x14, 0x0a, 0x0f, 0x50, 0x61, 0x79, 0x52, 0x65, 0x6e, 0x65, 0x77,
0x54, 0x69, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x10, 0xf6, 0x1c, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x61,
0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x10,
0xf7, 0x1c, 0x12, 0x14, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46,
0x69, 0x6e, 0x69, 0x73, 0x68, 0x10, 0xd9, 0x1d, 0x12, 0x19, 0x0a, 0x14, 0x57, 0x6f, 0x72, 0x6c,
0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x76, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68,
0x10, 0xda, 0x1d, 0x12, 0x16, 0x0a, 0x11, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b,
0x4e, 0x6f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x10, 0xdb, 0x1d, 0x12, 0x18, 0x0a, 0x13, 0x57,
0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65,
0x74, 0x65, 0x10, 0xdc, 0x1d, 0x12, 0x15, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61,
0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x68, 0x65, 0x64, 0x10, 0xdd, 0x1d, 0x12, 0x1c, 0x0a, 0x17,
0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x61, 0x73, 0x74, 0x55, 0x6e, 0x46,
0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xde, 0x1d, 0x12, 0x1b, 0x0a, 0x16, 0x57, 0x6f,
0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4e, 0x6f,
0x73, 0x61, 0x6d, 0x65, 0x10, 0xdf, 0x1d, 0x12, 0x1f, 0x0a, 0x1a, 0x57, 0x6f, 0x72, 0x6c, 0x64,
0x74, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x55, 0x6e, 0x46, 0x69, 0x6e,
0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xe0, 0x1d, 0x12, 0x1d, 0x0a, 0x18, 0x57, 0x6f, 0x72, 0x6c,
0x64, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65,
0x69, 0x76, 0x65, 0x64, 0x10, 0xe1, 0x1d, 0x12, 0x17, 0x0a, 0x12, 0x57, 0x6f, 0x72, 0x6c, 0x64,
0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x10, 0xe2, 0x1d,
0x12, 0x1e, 0x0a, 0x19, 0x41, 0x63, 0x61, 0x64, 0x65, 0x6d, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e,
0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x10, 0xbd, 0x1e,
0x12, 0x15, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x6f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f,
0x44, 0x61, 0x74, 0x61, 0x10, 0xa1, 0x1f, 0x12, 0x18, 0x0a, 0x13, 0x41, 0x75, 0x74, 0x6f, 0x42,
0x61, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x45, 0x72, 0x72, 0x10, 0xa2,
0x1f, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4e, 0x6f, 0x52, 0x65, 0x65,
0x6c, 0x10, 0x85, 0x20, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4e, 0x6f,
0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x10, 0x86, 0x20, 0x12, 0x15,
0x0a, 0x10, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x53, 0x74, 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x78,
0x4c, 0x76, 0x10, 0x87, 0x20, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x43,
0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x88, 0x20, 0x12,
0x20, 0x0a, 0x1b, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65,
0x72, 0x45, 0x71, 0x75, 0x69, 0x70, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x89,
0x20, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4d, 0x61, 0x78, 0x54, 0x65,
0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x10, 0x8a, 0x20, 0x12, 0x13, 0x0a, 0x0e,
0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4c, 0x61, 0x63, 0x6b, 0x4c, 0x61, 0x76, 0x61, 0x10, 0x8b,
0x20, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x41, 0x74, 0x6c, 0x61, 0x73,
0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0x8c, 0x20, 0x12, 0x16, 0x0a, 0x11, 0x53, 0x6d, 0x69, 0x74,
0x68, 0x79, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x4c, 0x61, 0x63, 0x6b, 0x4c, 0x76, 0x10, 0x8d, 0x20,
0x12, 0x19, 0x0a, 0x14, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f,
0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0x8e, 0x20, 0x12, 0x17, 0x0a, 0x12, 0x53,
0x6d, 0x69, 0x74, 0x68, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65,
0x64, 0x10, 0x8f, 0x20, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4e, 0x6f,
0x46, 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x10, 0x90, 0x20, 0x12, 0x1a, 0x0a,
0x15, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4e, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74,
0x65, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x10, 0x91, 0x20, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6d, 0x69,
0x74, 0x68, 0x79, 0x4c, 0x76, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64,
0x10, 0x92, 0x20, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4c, 0x76, 0x54,
0x6f, 0x6f, 0x6c, 0x73, 0x50, 0x72, 0x65, 0x10, 0x93, 0x20, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6d,
0x69, 0x74, 0x68, 0x79, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x54, 0x79, 0x70, 0x65, 0x45, 0x72, 0x72,
0x10, 0x94, 0x20, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x48,
0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x10, 0xe9, 0x20, 0x12,
0x13, 0x0a, 0x0e, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x6f, 0x46, 0x72, 0x65,
0x65, 0x10, 0xea, 0x20, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68,
0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xeb,
0x20, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x48, 0x65, 0x72,
0x6f, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x10, 0xec, 0x20, 0x12, 0x18, 0x0a, 0x13,
0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x70, 0x69,
0x72, 0x65, 0x64, 0x10, 0xed, 0x20, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74,
0x63, 0x68, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4d, 0x61, 0x78, 0x10, 0xee, 0x20, 0x12,
0x17, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x6f, 0x46, 0x69, 0x6e,
0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xef, 0x20, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x70,
0x61, 0x74, 0x63, 0x68, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68,
0x10, 0xf0, 0x20, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x51,
0x69, 0x65, 0x63, 0x75, 0x6f, 0x69, 0x6e, 0x67, 0x10, 0xcd, 0x21, 0x12, 0x11, 0x0a, 0x0c, 0x50,
0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x10, 0xce, 0x21, 0x12, 0x1a,
0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65,
0x54, 0x69, 0x6d, 0x65, 0x4f, 0x75, 0x74, 0x10, 0xcf, 0x21, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x72,
0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x4d, 0x61, 0x78, 0x4c,
0x76, 0x10, 0xd0, 0x21, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,
>>>>>>> 6272919a6ac1d949e4a3a77459def990312b016d
} }
var ( var (

View File

@ -115,7 +115,11 @@ func (x *SysFuncListResp) GetCond() map[string]int32 {
} }
// 手动激活 // 手动激活
<<<<<<< HEAD
type SysFuncActivateReq struct { type SysFuncActivateReq struct {
=======
type SysGetListReq struct {
>>>>>>> 6272919a6ac1d949e4a3a77459def990312b016d
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
@ -123,8 +127,13 @@ type SysFuncActivateReq struct {
Cid string `protobuf:"bytes,1,opt,name=cid,proto3" json:"cid"` // opencond表的key Cid string `protobuf:"bytes,1,opt,name=cid,proto3" json:"cid"` // opencond表的key
} }
<<<<<<< HEAD
func (x *SysFuncActivateReq) Reset() { func (x *SysFuncActivateReq) Reset() {
*x = SysFuncActivateReq{} *x = SysFuncActivateReq{}
=======
func (x *SysGetListReq) Reset() {
*x = SysGetListReq{}
>>>>>>> 6272919a6ac1d949e4a3a77459def990312b016d
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_sys_sys_msg_proto_msgTypes[2] mi := &file_sys_sys_msg_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -132,6 +141,7 @@ func (x *SysFuncActivateReq) Reset() {
} }
} }
<<<<<<< HEAD
func (x *SysFuncActivateReq) String() string { func (x *SysFuncActivateReq) String() string {
return protoimpl.X.MessageStringOf(x) return protoimpl.X.MessageStringOf(x)
} }
@ -139,6 +149,15 @@ func (x *SysFuncActivateReq) String() string {
func (*SysFuncActivateReq) ProtoMessage() {} func (*SysFuncActivateReq) ProtoMessage() {}
func (x *SysFuncActivateReq) ProtoReflect() protoreflect.Message { func (x *SysFuncActivateReq) ProtoReflect() protoreflect.Message {
=======
func (x *SysGetListReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SysGetListReq) ProtoMessage() {}
func (x *SysGetListReq) ProtoReflect() protoreflect.Message {
>>>>>>> 6272919a6ac1d949e4a3a77459def990312b016d
mi := &file_sys_sys_msg_proto_msgTypes[2] mi := &file_sys_sys_msg_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -150,28 +169,49 @@ func (x *SysFuncActivateReq) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x) return mi.MessageOf(x)
} }
<<<<<<< HEAD
// Deprecated: Use SysFuncActivateReq.ProtoReflect.Descriptor instead. // Deprecated: Use SysFuncActivateReq.ProtoReflect.Descriptor instead.
func (*SysFuncActivateReq) Descriptor() ([]byte, []int) { func (*SysFuncActivateReq) Descriptor() ([]byte, []int) {
return file_sys_sys_msg_proto_rawDescGZIP(), []int{2} return file_sys_sys_msg_proto_rawDescGZIP(), []int{2}
} }
func (x *SysFuncActivateReq) GetCid() string { func (x *SysFuncActivateReq) GetCid() string {
=======
// Deprecated: Use SysGetListReq.ProtoReflect.Descriptor instead.
func (*SysGetListReq) Descriptor() ([]byte, []int) {
return file_sys_sys_msg_proto_rawDescGZIP(), []int{2}
}
func (x *SysGetListReq) GetCid() string {
>>>>>>> 6272919a6ac1d949e4a3a77459def990312b016d
if x != nil { if x != nil {
return x.Cid return x.Cid
} }
return "" return ""
} }
<<<<<<< HEAD
type SysFuncActivateResp struct { type SysFuncActivateResp struct {
=======
type SysGetListResp struct {
>>>>>>> 6272919a6ac1d949e4a3a77459def990312b016d
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
<<<<<<< HEAD
Cid string `protobuf:"bytes,1,opt,name=cid,proto3" json:"cid"` Cid string `protobuf:"bytes,1,opt,name=cid,proto3" json:"cid"`
} }
func (x *SysFuncActivateResp) Reset() { func (x *SysFuncActivateResp) Reset() {
*x = SysFuncActivateResp{} *x = SysFuncActivateResp{}
=======
Data *DBOpenCond `protobuf:"bytes,1,opt,name=data,proto3" json:"data"`
}
func (x *SysGetListResp) Reset() {
*x = SysGetListResp{}
>>>>>>> 6272919a6ac1d949e4a3a77459def990312b016d
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_sys_sys_msg_proto_msgTypes[3] mi := &file_sys_sys_msg_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -179,6 +219,7 @@ func (x *SysFuncActivateResp) Reset() {
} }
} }
<<<<<<< HEAD
func (x *SysFuncActivateResp) String() string { func (x *SysFuncActivateResp) String() string {
return protoimpl.X.MessageStringOf(x) return protoimpl.X.MessageStringOf(x)
} }
@ -186,6 +227,15 @@ func (x *SysFuncActivateResp) String() string {
func (*SysFuncActivateResp) ProtoMessage() {} func (*SysFuncActivateResp) ProtoMessage() {}
func (x *SysFuncActivateResp) ProtoReflect() protoreflect.Message { func (x *SysFuncActivateResp) ProtoReflect() protoreflect.Message {
=======
func (x *SysGetListResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SysGetListResp) ProtoMessage() {}
func (x *SysGetListResp) ProtoReflect() protoreflect.Message {
>>>>>>> 6272919a6ac1d949e4a3a77459def990312b016d
mi := &file_sys_sys_msg_proto_msgTypes[3] mi := &file_sys_sys_msg_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -197,6 +247,7 @@ func (x *SysFuncActivateResp) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x) return mi.MessageOf(x)
} }
<<<<<<< HEAD
// Deprecated: Use SysFuncActivateResp.ProtoReflect.Descriptor instead. // Deprecated: Use SysFuncActivateResp.ProtoReflect.Descriptor instead.
func (*SysFuncActivateResp) Descriptor() ([]byte, []int) { func (*SysFuncActivateResp) Descriptor() ([]byte, []int) {
return file_sys_sys_msg_proto_rawDescGZIP(), []int{3} return file_sys_sys_msg_proto_rawDescGZIP(), []int{3}
@ -207,12 +258,25 @@ func (x *SysFuncActivateResp) GetCid() string {
return x.Cid return x.Cid
} }
return "" return ""
=======
// Deprecated: Use SysGetListResp.ProtoReflect.Descriptor instead.
func (*SysGetListResp) Descriptor() ([]byte, []int) {
return file_sys_sys_msg_proto_rawDescGZIP(), []int{3}
}
func (x *SysGetListResp) GetData() *DBOpenCond {
if x != nil {
return x.Data
}
return nil
>>>>>>> 6272919a6ac1d949e4a3a77459def990312b016d
} }
var File_sys_sys_msg_proto protoreflect.FileDescriptor var File_sys_sys_msg_proto protoreflect.FileDescriptor
var file_sys_sys_msg_proto_rawDesc = []byte{ var file_sys_sys_msg_proto_rawDesc = []byte{
0x0a, 0x11, 0x73, 0x79, 0x73, 0x2f, 0x73, 0x79, 0x73, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x0a, 0x11, 0x73, 0x79, 0x73, 0x2f, 0x73, 0x79, 0x73, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72,
<<<<<<< HEAD
0x6f, 0x74, 0x6f, 0x22, 0x24, 0x0a, 0x0e, 0x53, 0x79, 0x73, 0x46, 0x75, 0x6e, 0x63, 0x4c, 0x69, 0x6f, 0x74, 0x6f, 0x22, 0x24, 0x0a, 0x0e, 0x53, 0x79, 0x73, 0x46, 0x75, 0x6e, 0x63, 0x4c, 0x69,
0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20,
0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x7a, 0x0a, 0x0f, 0x53, 0x79, 0x73, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x7a, 0x0a, 0x0f, 0x53, 0x79, 0x73,
@ -230,6 +294,21 @@ var file_sys_sys_msg_proto_rawDesc = []byte{
0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
=======
0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x73, 0x79, 0x73, 0x2f, 0x73, 0x79, 0x73, 0x5f, 0x64, 0x62, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x24, 0x0a, 0x0e, 0x53, 0x79, 0x73, 0x46, 0x75, 0x6e, 0x63,
0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18,
0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x2b, 0x0a, 0x0f, 0x53,
0x79, 0x73, 0x46, 0x75, 0x6e, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18,
0x0a, 0x07, 0x66, 0x75, 0x6e, 0x63, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
0x07, 0x66, 0x75, 0x6e, 0x63, 0x49, 0x64, 0x73, 0x22, 0x21, 0x0a, 0x0d, 0x53, 0x79, 0x73, 0x47,
0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x31, 0x0a, 0x0e, 0x53,
0x79, 0x73, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a,
0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x44, 0x42,
0x4f, 0x70, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x06,
0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
>>>>>>> 6272919a6ac1d949e4a3a77459def990312b016d
} }
var ( var (
@ -244,6 +323,7 @@ func file_sys_sys_msg_proto_rawDescGZIP() []byte {
return file_sys_sys_msg_proto_rawDescData return file_sys_sys_msg_proto_rawDescData
} }
<<<<<<< HEAD
var file_sys_sys_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_sys_sys_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
var file_sys_sys_msg_proto_goTypes = []interface{}{ var file_sys_sys_msg_proto_goTypes = []interface{}{
(*SysFuncListReq)(nil), // 0: SysFuncListReq (*SysFuncListReq)(nil), // 0: SysFuncListReq
@ -254,6 +334,18 @@ var file_sys_sys_msg_proto_goTypes = []interface{}{
} }
var file_sys_sys_msg_proto_depIdxs = []int32{ var file_sys_sys_msg_proto_depIdxs = []int32{
4, // 0: SysFuncListResp.cond:type_name -> SysFuncListResp.CondEntry 4, // 0: SysFuncListResp.cond:type_name -> SysFuncListResp.CondEntry
=======
var file_sys_sys_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_sys_sys_msg_proto_goTypes = []interface{}{
(*SysFuncListReq)(nil), // 0: SysFuncListReq
(*SysFuncListResp)(nil), // 1: SysFuncListResp
(*SysGetListReq)(nil), // 2: SysGetListReq
(*SysGetListResp)(nil), // 3: SysGetListResp
(*DBOpenCond)(nil), // 4: DBOpenCond
}
var file_sys_sys_msg_proto_depIdxs = []int32{
4, // 0: SysGetListResp.data:type_name -> DBOpenCond
>>>>>>> 6272919a6ac1d949e4a3a77459def990312b016d
1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method output_type
1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for method input_type
1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension type_name
@ -266,6 +358,7 @@ func file_sys_sys_msg_proto_init() {
if File_sys_sys_msg_proto != nil { if File_sys_sys_msg_proto != nil {
return return
} }
file_sys_sys_db_proto_init()
if !protoimpl.UnsafeEnabled { if !protoimpl.UnsafeEnabled {
file_sys_sys_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { file_sys_sys_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SysFuncListReq); i { switch v := v.(*SysFuncListReq); i {
@ -292,7 +385,11 @@ func file_sys_sys_msg_proto_init() {
} }
} }
file_sys_sys_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { file_sys_sys_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
<<<<<<< HEAD
switch v := v.(*SysFuncActivateReq); i { switch v := v.(*SysFuncActivateReq); i {
=======
switch v := v.(*SysGetListReq); i {
>>>>>>> 6272919a6ac1d949e4a3a77459def990312b016d
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -304,7 +401,11 @@ func file_sys_sys_msg_proto_init() {
} }
} }
file_sys_sys_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { file_sys_sys_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
<<<<<<< HEAD
switch v := v.(*SysFuncActivateResp); i { switch v := v.(*SysFuncActivateResp); i {
=======
switch v := v.(*SysGetListResp); i {
>>>>>>> 6272919a6ac1d949e4a3a77459def990312b016d
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -322,7 +423,11 @@ func file_sys_sys_msg_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_sys_sys_msg_proto_rawDesc, RawDescriptor: file_sys_sys_msg_proto_rawDesc,
NumEnums: 0, NumEnums: 0,
<<<<<<< HEAD
NumMessages: 5, NumMessages: 5,
=======
NumMessages: 4,
>>>>>>> 6272919a6ac1d949e4a3a77459def990312b016d
NumExtensions: 0, NumExtensions: 0,
NumServices: 0, NumServices: 0,
}, },

View File

@ -12,6 +12,7 @@ import "errors"
type GameHeroStrategyData struct { type GameHeroStrategyData struct {
Heroid string Heroid string
Battleready int32
Task []int32 Task []int32
UsFormatList []int32 UsFormatList []int32
FormatList []int32 FormatList []int32
@ -26,6 +27,7 @@ func (*GameHeroStrategyData) GetTypeId() int32 {
func (_v *GameHeroStrategyData)Deserialize(_buf map[string]interface{}) (err error) { func (_v *GameHeroStrategyData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; if _v.Heroid, _ok_ = _buf["heroid"].(string); !_ok_ { err = errors.New("heroid error"); return } } { var _ok_ bool; if _v.Heroid, _ok_ = _buf["heroid"].(string); !_ok_ { err = errors.New("heroid error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["battleready"].(float64); !_ok_ { err = errors.New("battleready error"); return }; _v.Battleready = int32(_tempNum_) }
{ {
var _arr_ []interface{} var _arr_ []interface{}
var _ok_ bool var _ok_ bool

View File

@ -12,6 +12,7 @@ import "errors"
type GameTeachingData struct { type GameTeachingData struct {
Id int32 Id int32
Battleready int32
Tab int32 Tab int32
Suittype int32 Suittype int32
Png1 string Png1 string
@ -35,6 +36,7 @@ func (*GameTeachingData) GetTypeId() int32 {
func (_v *GameTeachingData)Deserialize(_buf map[string]interface{}) (err error) { func (_v *GameTeachingData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["battleready"].(float64); !_ok_ { err = errors.New("battleready error"); return }; _v.Battleready = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["tab"].(float64); !_ok_ { err = errors.New("tab error"); return }; _v.Tab = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["tab"].(float64); !_ok_ { err = errors.New("tab error"); return }; _v.Tab = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["suittype"].(float64); !_ok_ { err = errors.New("suittype error"); return }; _v.Suittype = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["suittype"].(float64); !_ok_ { err = errors.New("suittype error"); return }; _v.Suittype = int32(_tempNum_) }
{ var _ok_ bool; if _v.Png1, _ok_ = _buf["png1"].(string); !_ok_ { err = errors.New("png1 error"); return } } { var _ok_ bool; if _v.Png1, _ok_ = _buf["png1"].(string); !_ok_ { err = errors.New("png1 error"); return } }