1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
|
| (function() {
| var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
| var __module = nodeEnv ? module : {exports:{}};
| var __filename = 'preview-scripts/assets/Scripts/mod/backpack/backpack_const.js';
| var __require = nodeEnv ? function (request) {
| return cc.require(request);
| } : function (request) {
| return __quick_compile_project__.require(request, __filename);
| };
| function __define (exports, require, module) {
| if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict";
| cc._RF.push(module, 'db1e5MGeN1HQqhX41nowxKA', 'backpack_const');
| // Scripts/mod/backpack/backpack_const.js
|
| "use strict";
|
| var _BackPackConst$tips_b;
|
| function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
| // --------------------------------------------------------------------
| // @author: shiraho@syg.com(必填, 创建模块的人员)
| // @description:
| // 背包通用常量
| // <br/>Create: new Date().toISOString()
| // --------------------------------------------------------------------
| var BackPackConst = {
| Bag_Code: {
| BACKPACK: 1,
| // 背包
| STORAGE: 2,
| // 仓库
| EQUIPS: 3 // 装备
|
| },
| item_tab_type: {
| OTHERS: 0,
| // 其他
| EQUIPS: 1,
| // 装备
| PROPS: 2,
| // 道具
| HERO: 3,
| // 英雄
| SPECIAL: 4,
| // 特殊
| HOLYEQUIPMENT: 5 // 神装
|
| },
| quality: {
| white: 0,
| // 白
| green: 1,
| // 绿
| blue: 2,
| // 蓝
| purple: 3,
| // 紫
| orange: 4,
| // 橙
| red: 5 // 红
|
| },
| item_type: {
| NORMAL: 0,
| // 普通
| WEAPON: 1,
| // 武器
| SHOE: 2,
| // 鞋子
| CLOTHES: 3,
| // 衣服
| HAT: 4,
| // 头盔
| ASSET: 7,
| // 资产
| MATERIALS: 9,
| // 材料
| ARTIFACTCHIPS: 10,
| // 神器(现在叫 符文)
| GOD_EARRING: 23,
| // 神装_耳环
| GOD_RING: 24,
| // 神装_戒指
| GOD_NECKLACE: 25,
| // 神装_项链
| GOD_BANGLE: 26,
| // 神装_手镯
| GIFT: 100,
| // 礼包
| FREE_GIFT: 101,
| // 自选礼包
| PARTNER_DEBRIS: 102,
| // 伙伴碎片
| STAR_SOUL: 105,
| // 星命
| WEEK_CARD: 27,
| // 周卡
| HERO_SKIN: 28 // 英雄皮肤
|
| },
| // 背包中物品的使用类型,只区分消耗和非消耗类
| item_use_type: {
| NO_DIRECT_USE: 0,
| // 不能直接使用
| CONSUM: 1,
| // 消耗,直接使用的
| NO_CONSUM: 2,
| // 不消耗
| EQUIP: 3,
| // 穿戴
| BATCH_USE: 4 // 批量使用
|
| },
| // 物品tips按钮需要枚举
| tips_btn_type: {
| source: 1,
| //来源
| goods_use: 2,
| //普通物品使用
| boss_source: 3,
| //跳转世界boss界面
| drama_new_source: 4,
| //跳转剧情副本最新的关卡页面
| drama_source: 5,
| //跳转剧情副本界面
| hero_source: 6,
| //跳转英雄信息界面
| skill_source: 7,
| //跳转英雄技能界面
| form_source: 8,
| //跳转编队阵法界面
| call_source: 9,
| //跳转召唤界面
| artifact_source: 10,
| //跳转神器重铸界面
| redbag: 11,
| //红包
| head: 12,
| //个人设置头像
| chenghao: 13,
| //个人设置称号
| stone_upgrade: 14,
| //跳转宝石升级界面
| partner_character: 15,
| //跳转形象设置
| arena_source: 16,
| //跳转竞技场
| low_treasure: 17,
| //跳转幸运探宝
| high_treasure: 18,
| //跳转高级探宝
| seerpalace_summon: 19,
| // 先知殿
| seerpalace_change: 20,
| // 先知召唤
| tanwei: 20,
| //摆摊
| sell: 21,
| //出售
| sell2: 22,
| //按物品表填的价值出售
| fenjie: 30,
| //分解
| hecheng: 31,
| //英雄碎片合成
| hecheng2: 32,
| //神器合成
| upgrade_star: 33,
| // 伙伴直升卡,升星的
| halidom: 34,
| // 跳转到圣物
| heaven_book: 35,
| /// 神装图鉴
| item_sell: 37 //道具出售
|
| },
| // 物品消耗使用还是出售
| ItemConsumeType: {
| use: 1,
| sell: 2,
| resolve: 3,
| special: 4
| },
| // 监测是否为装备
| checkIsEquip: function checkIsEquip(type) {
| return type == this.item_type.WEAPON || type == this.item_type.SHOE || type == this.item_type.CLOTHES || type == this.item_type.HAT;
| },
| checkIsArtifact: function checkIsArtifact(type) {
| return type == BackPackConst.item_type.ARTIFACTCHIPS;
| },
| // 获取品质色
| quality_color: function quality_color(quality) {
| if (quality == this.quality.green) {
| return gdata("color_data", "data_color16", 178);
| } else if (quality == this.quality.blue) {
| return gdata("color_data", "data_color16", 203);
| } else if (quality == this.quality.purple) {
| return gdata("color_data", "data_color16", 185);
| } else if (quality == this.quality.orange) {
| return gdata("color_data", "data_color16", 184);
| } else if (quality == this.quality.red) {
| return gdata("color_data", "data_color16", 206);
| } else {
| return gdata("color_data", "data_color16", 1);
| }
| },
| // 通用获取属性值
| getAttrValue: function getAttrValue(attr_key, attr_val) {
| if (attr_key == null || attr_key == "" || attr_val == null || attr_val == 0) {
| return 0;
| }
|
| var val_type = gdata("attr_data", "data_type", attr_key);
|
| if (val_type == null || val_type == 1) {
| return attr_val;
| }
|
| return attr_val * 0.1 + "%";
| },
| getEquipTipsColor: function getEquipTipsColor(quality) {
| quality = quality || 0;
|
| if (quality == this.quality.red) {
| return new cc.Color(0xff, 0x9c, 0x97, 0xff);
| } else if (quality == this.quality.orange) {
| return new cc.Color(0xff, 0xed, 0x8b, 0xff);
| } else if (quality == this.quality.purple) {
| return new cc.Color(0xd4, 0xae, 0xff, 0xff);
| } else if (quality == this.quality.blue) {
| return new cc.Color(0x98, 0xfb, 0xff, 0xff);
| } else if (quality == this.quality.green) {
| return new cc.Color(0x8b, 0xff, 0x8e, 0xff);
| } else return new cc.Color(0xd9, 0xd9, 0xd9, 0xff);
| }
| };
| BackPackConst.tips_btn_title = (_BackPackConst$tips_b = {}, _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.source, "来源"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.goods_use, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.boss_source, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.drama_new_source, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.drama_source, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.hero_source, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.skill_source, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.form_source, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.call_source, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.artifact_source, "重铸"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.redbag, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.head, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.chenghao, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.stone_upgrade, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.partner_character, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.arena_source, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.low_treasure, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.high_treasure, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.tanwei, "摆摊"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.sell, "出售"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.sell2, "出售"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.fenjie, "分解"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.hecheng, "合成"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.hecheng2, "合成"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.upgrade_star, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.seerpalace_summon, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.seerpalace_change, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.halidom, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.item_sell, "出售"), _BackPackConst$tips_b), // -- 物品的使用效果,使用这个物品可以获得
| BackPackConst.item_effect_type = {
| GOLD: 1,
| // -- 使用这类物品可以获得钻石
| COIN: 2,
| EXP: 3,
| PARTNER_EXP: 4,
| // -- 获得伙伴经验
| PARTNER_DEBRIS: 5,
| //-- 伙伴碎片
| BUFF: 6,
| // -- buff
| PARTNER: 7,
| //-- 获得伙伴
| GIFT: 8 //-- 商城特惠礼包时效
|
| };
|
| BackPackConst.getWhiteQualityColorStr = function (quality) {
| quality = quality || 0;
|
| if (quality == BackPackConst.quality.red) {
| return Config.color_data.data_color16[206];
| } else if (quality == BackPackConst.quality.orange) {
| return Config.color_data.data_color16[184];
| } else if (quality == BackPackConst.quality.purple) {
| return Config.color_data.data_color16[185];
| } else if (quality == BackPackConst.quality.blue) {
| return Config.color_data.data_color16[203];
| } else if (quality == BackPackConst.quality.green) {
| return Config.color_data.data_color16[178];
| } else {
| return Config.color_data.data_color16[274];
| }
| }; //是否周卡
|
|
| BackPackConst.checkoutIsWeekCard = function (data_type) {
| if (data_type) {
| if (data_type == BackPackConst.item_type.WEEK_CARD) {
| return true;
| } else {
| return false;
| }
| }
|
| return false;
| }, //是否皮肤
| BackPackConst.checkIsHeroSkin = function (_type) {
| if (!_type) return false;
|
| if (_type == BackPackConst.item_type.HERO_SKIN) {
| return true;
| }
|
| return false;
| }, module.exports = BackPackConst;
|
| cc._RF.pop();
| }
| if (nodeEnv) {
| __define(__module.exports, __require, __module);
| }
| else {
| __quick_compile_project__.registerModuleFunc(__filename, function () {
| __define(__module.exports, __require, __module);
| });
| }
| })();
| //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxiYWNrcGFja1xcYmFja3BhY2tfY29uc3QuanMiXSwibmFtZXMiOlsiQmFja1BhY2tDb25zdCIsIkJhZ19Db2RlIiwiQkFDS1BBQ0siLCJTVE9SQUdFIiwiRVFVSVBTIiwiaXRlbV90YWJfdHlwZSIsIk9USEVSUyIsIlBST1BTIiwiSEVSTyIsIlNQRUNJQUwiLCJIT0xZRVFVSVBNRU5UIiwicXVhbGl0eSIsIndoaXRlIiwiZ3JlZW4iLCJibHVlIiwicHVycGxlIiwib3JhbmdlIiwicmVkIiwiaXRlbV90eXBlIiwiTk9STUFMIiwiV0VBUE9OIiwiU0hPRSIsIkNMT1RIRVMiLCJIQVQiLCJBU1NFVCIsIk1BVEVSSUFMUyIsIkFSVElGQUNUQ0hJUFMiLCJHT0RfRUFSUklORyIsIkdPRF9SSU5HIiwiR09EX05FQ0tMQUNFIiwiR09EX0JBTkdMRSIsIkdJRlQiLCJGUkVFX0dJRlQiLCJQQVJUTkVSX0RFQlJJUyIsIlNUQVJfU09VTCIsIldFRUtfQ0FSRCIsIkhFUk9fU0tJTiIsIml0ZW1fdXNlX3R5cGUiLCJOT19ESVJFQ1RfVVNFIiwiQ09OU1VNIiwiTk9fQ09OU1VNIiwiRVFVSVAiLCJCQVRDSF9VU0UiLCJ0aXBzX2J0bl90eXBlIiwic291cmNlIiwiZ29vZHNfdXNlIiwiYm9zc19zb3VyY2UiLCJkcmFtYV9uZXdfc291cmNlIiwiZHJhbWFfc291cmNlIiwiaGVyb19zb3VyY2UiLCJza2lsbF9zb3VyY2UiLCJmb3JtX3NvdXJjZSIsImNhbGxfc291cmNlIiwiYXJ0aWZhY3Rfc291cmNlIiwicmVkYmFnIiwiaGVhZCIsImNoZW5naGFvIiwic3RvbmVfdXBncmFkZSIsInBhcnRuZXJfY2hhcmFjdGVyIiwiYXJlbmFfc291cmNlIiwibG93X3RyZWFzdXJlIiwiaGlnaF90cmVhc3VyZSIsInNlZXJwYWxhY2Vfc3VtbW9uIiwic2VlcnBhbGFjZV9jaGFuZ2UiLCJ0YW53ZWkiLCJzZWxsIiwic2VsbDIiLCJmZW5qaWUiLCJoZWNoZW5nIiwiaGVjaGVuZzIiLCJ1cGdyYWRlX3N0YXIiLCJoYWxpZG9tIiwiaGVhdmVuX2Jvb2siLCJpdGVtX3NlbGwiLCJJdGVtQ29uc3VtZVR5cGUiLCJ1c2UiLCJyZXNvbHZlIiwic3BlY2lhbCIsImNoZWNrSXNFcXVpcCIsInR5cGUiLCJjaGVja0lzQXJ0aWZhY3QiLCJxdWFsaXR5X2NvbG9yIiwiZ2RhdGEiLCJnZXRBdHRyVmFsdWUiLCJhdHRyX2tleSIsImF0dHJfdmFsIiwidmFsX3R5cGUiLCJnZXRFcXVpcFRpcHNDb2xvciIsImNjIiwiQ29sb3IiLCJ0aXBzX2J0bl90aXRsZSIsIml0ZW1fZWZmZWN0X3R5cGUiLCJHT0xEIiwiQ09JTiIsIkVYUCIsIlBBUlRORVJfRVhQIiwiQlVGRiIsIlBBUlRORVIiLCJnZXRXaGl0ZVF1YWxpdHlDb2xvclN0ciIsIkNvbmZpZyIsImNvbG9yX2RhdGEiLCJkYXRhX2NvbG9yMTYiLCJjaGVja291dElzV2Vla0NhcmQiLCJkYXRhX3R5cGUiLCJjaGVja0lzSGVyb1NraW4iLCJfdHlwZSIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBLElBQUlBLGFBQWEsR0FBRztBQUNoQkMsRUFBQUEsUUFBUSxFQUFDO0FBQ0xDLElBQUFBLFFBQVEsRUFBRSxDQURMO0FBQ1c7QUFDaEJDLElBQUFBLE9BQU8sRUFBRSxDQUZKO0FBRVc7QUFDaEJDLElBQUFBLE1BQU0sRUFBRSxDQUhILENBR1c7O0FBSFgsR0FETztBQU9oQkMsRUFBQUEsYUFBYSxFQUFDO0FBQ1ZDLElBQUFBLE1BQU0sRUFBRSxDQURFO0FBQ007QUFDaEJGLElBQUFBLE1BQU0sRUFBRSxDQUZFO0FBRU07QUFDaEJHLElBQUFBLEtBQUssRUFBRSxDQUhHO0FBR007QUFDaEJDLElBQUFBLElBQUksRUFBQyxDQUpLO0FBSU07QUFDaEJDLElBQUFBLE9BQU8sRUFBRSxDQUxDO0FBS007QUFDaEJDLElBQUFBLGFBQWEsRUFBQyxDQU5KLENBTU07O0FBTk4sR0FQRTtBQWdCaEJDLEVBQUFBLE9BQU8sRUFBQztBQUNKQyxJQUFBQSxLQUFLLEVBQUUsQ0FESDtBQUNlO0FBQ25CQyxJQUFBQSxLQUFLLEVBQUUsQ0FGSDtBQUVlO0FBQ25CQyxJQUFBQSxJQUFJLEVBQUUsQ0FIRjtBQUdlO0FBQ25CQyxJQUFBQSxNQUFNLEVBQUUsQ0FKSjtBQUllO0FBQ25CQyxJQUFBQSxNQUFNLEVBQUUsQ0FMSjtBQUtlO0FBQ25CQyxJQUFBQSxHQUFHLEVBQUUsQ0FORCxDQU1lOztBQU5mLEdBaEJRO0FBeUJoQkMsRUFBQUEsU0FBUyxFQUFFO0FBQ1BDLElBQUFBLE1BQU0sRUFBRSxDQUREO0FBQ3FCO0FBQzVCQyxJQUFBQSxNQUFNLEVBQUUsQ0FGRDtBQUVxQjtBQUM1QkMsSUFBQUEsSUFBSSxFQUFFLENBSEM7QUFHcUI7QUFDNUJDLElBQUFBLE9BQU8sRUFBRSxDQUpGO0FBSXFCO0FBQzVCQyxJQUFBQSxHQUFHLEVBQUUsQ0FMRTtBQUtxQjtBQUM1QkMsSUFBQUEsS0FBSyxFQUFFLENBTkE7QUFNcUI7QUFDNUJDLElBQUFBLFNBQVMsRUFBRSxDQVBKO0FBT3FCO0FBQzVCQyxJQUFBQSxhQUFhLEVBQUUsRUFSUjtBQVFxQjtBQUM1QkMsSUFBQUEsV0FBVyxFQUFFLEVBVE47QUFTcUI7QUFDNUJDLElBQUFBLFFBQVEsRUFBRSxFQVZIO0FBVXFCO0FBQzVCQyxJQUFBQSxZQUFZLEVBQUUsRUFYUDtBQVdxQjtBQUM1QkMsSUFBQUEsVUFBVSxFQUFHLEVBWk47QUFZcUI7QUFDNUJDLElBQUFBLElBQUksRUFBRSxHQWJDO0FBYXFCO0FBQzVCQyxJQUFBQSxTQUFTLEVBQUUsR0FkSjtBQWNxQjtBQUM1QkMsSUFBQUEsY0FBYyxFQUFFLEdBZlQ7QUFlcUI7QUFDNUJDLElBQUFBLFNBQVMsRUFBRSxHQWhCSjtBQWdCcUI7QUFDNUJDLElBQUFBLFNBQVMsRUFBRSxFQWpCSjtBQWlCcUI7QUFDNUJDLElBQUFBLFNBQVMsRUFBRSxFQWxCSixDQWtCcUI7O0FBbEJyQixHQXpCSztBQThDaEI7QUFDQUMsRUFBQUEsYUFBYSxFQUFFO0FBQ1hDLElBQUFBLGFBQWEsRUFBRSxDQURKO0FBQ3NCO0FBQ2pDQyxJQUFBQSxNQUFNLEVBQUUsQ0FGRztBQUVlO0FBQzFCQyxJQUFBQSxTQUFTLEVBQUUsQ0FIQTtBQUdrQjtBQUM3QkMsSUFBQUEsS0FBSyxFQUFFLENBSkk7QUFJYztBQUN6QkMsSUFBQUEsU0FBUyxFQUFFLENBTEEsQ0FLa0I7O0FBTGxCLEdBL0NDO0FBdURoQjtBQUVBQyxFQUFBQSxhQUFhLEVBQUU7QUFDWEMsSUFBQUEsTUFBTSxFQUFFLENBREc7QUFDYTtBQUN4QkMsSUFBQUEsU0FBUyxFQUFFLENBRkE7QUFFYTtBQUN4QkMsSUFBQUEsV0FBVyxFQUFFLENBSEY7QUFHYTtBQUN4QkMsSUFBQUEsZ0JBQWdCLEVBQUUsQ0FKUDtBQUlhO0FBQ3hCQyxJQUFBQSxZQUFZLEVBQUUsQ0FMSDtBQUthO0FBQ3hCQyxJQUFBQSxXQUFXLEVBQUUsQ0FORjtBQU1hO0FBQ3hCQyxJQUFBQSxZQUFZLEVBQUUsQ0FQSDtBQU9hO0FBQ3hCQyxJQUFBQSxXQUFXLEVBQUUsQ0FSRjtBQVFhO0FBQ3hCQyxJQUFBQSxXQUFXLEVBQUUsQ0FURjtBQVNhO0FBQ3hCQyxJQUFBQSxlQUFlLEVBQUUsRUFWTjtBQVVhO0FBQ3hCQyxJQUFBQSxNQUFNLEVBQUUsRUFYRztBQVdhO0FBQ3hCQyxJQUFBQSxJQUFJLEVBQUUsRUFaSztBQVlhO0FBQ3hCQyxJQUFBQSxRQUFRLEVBQUUsRUFiQztBQWFhO0FBQ3hCQyxJQUFBQSxhQUFhLEVBQUUsRUFkSjtBQWNhO0FBQ3hCQyxJQUFBQSxpQkFBaUIsRUFBRSxFQWZSO0FBZWE7QUFDeEJDLElBQUFBLFlBQVksRUFBTyxFQWhCUjtBQWdCYTtBQUN4QkMsSUFBQUEsWUFBWSxFQUFPLEVBakJSO0FBaUJhO0FBQ3hCQyxJQUFBQSxhQUFhLEVBQU8sRUFsQlQ7QUFrQmM7QUFDekJDLElBQUFBLGlCQUFpQixFQUFFLEVBbkJSO0FBbUJhO0FBQ3hCQyxJQUFBQSxpQkFBaUIsRUFBRSxFQXBCUjtBQW9CYTtBQUN4QkMsSUFBQUEsTUFBTSxFQUFFLEVBckJHO0FBcUJhO0FBQ3hCQyxJQUFBQSxJQUFJLEVBQUUsRUF0Qks7QUFzQmE7QUFDeEJDLElBQUFBLEtBQUssRUFBRSxFQXZCSTtBQXVCYTtBQUN4QkMsSUFBQUEsTUFBTSxFQUFFLEVBeEJHO0FBd0JhO0FBQ3hCQyxJQUFBQSxPQUFPLEVBQUUsRUF6QkU7QUF5QmE7QUFDeEJDLElBQUFBLFFBQVEsRUFBRSxFQTFCQztBQTBCYTtBQUN4QkMsSUFBQUEsWUFBWSxFQUFFLEVBM0JIO0FBMkJhO0FBQ3hCQyxJQUFBQSxPQUFPLEVBQUUsRUE1QkU7QUE0QmE7QUFDeEJDLElBQUFBLFdBQVcsRUFBRyxFQTdCSDtBQTZCYTtBQUN4QkMsSUFBQUEsU0FBUyxFQUFLLEVBOUJILENBOEJhOztBQTlCYixHQXpEQztBQTBGaEI7QUFDQUMsRUFBQUEsZUFBZSxFQUFDO0FBQ1pDLElBQUFBLEdBQUcsRUFBRSxDQURPO0FBRVpWLElBQUFBLElBQUksRUFBRSxDQUZNO0FBR1pXLElBQUFBLE9BQU8sRUFBRSxDQUhHO0FBSVpDLElBQUFBLE9BQU8sRUFBRTtBQUpHLEdBM0ZBO0FBa0doQjtBQUNBQyxFQUFBQSxZQUFZLEVBQUMsc0JBQVNDLElBQVQsRUFBYztBQUN2QixXQUFPQSxJQUFJLElBQUksS0FBSzdELFNBQUwsQ0FBZUUsTUFBdkIsSUFBaUMyRCxJQUFJLElBQUksS0FBSzdELFNBQUwsQ0FBZUcsSUFBeEQsSUFBZ0UwRCxJQUFJLElBQUksS0FBSzdELFNBQUwsQ0FBZUksT0FBdkYsSUFBa0d5RCxJQUFJLElBQUksS0FBSzdELFNBQUwsQ0FBZUssR0FBaEk7QUFDSCxHQXJHZTtBQXVHaEJ5RCxFQUFBQSxlQUFlLEVBQUUseUJBQVNELElBQVQsRUFBZTtBQUM1QixXQUFPQSxJQUFJLElBQUkvRSxhQUFhLENBQUNrQixTQUFkLENBQXdCUSxhQUF2QztBQUNILEdBekdlO0FBMkdoQjtBQUNBdUQsRUFBQUEsYUFBYSxFQUFDLHVCQUFTdEUsT0FBVCxFQUFpQjtBQUMzQixRQUFHQSxPQUFPLElBQUksS0FBS0EsT0FBTCxDQUFhRSxLQUEzQixFQUFpQztBQUM3QixhQUFPcUUsS0FBSyxDQUFDLFlBQUQsRUFBZSxjQUFmLEVBQStCLEdBQS9CLENBQVo7QUFDSCxLQUZELE1BRU0sSUFBR3ZFLE9BQU8sSUFBSSxLQUFLQSxPQUFMLENBQWFHLElBQTNCLEVBQWdDO0FBQ2xDLGFBQU9vRSxLQUFLLENBQUMsWUFBRCxFQUFlLGNBQWYsRUFBK0IsR0FBL0IsQ0FBWjtBQUNILEtBRkssTUFFQSxJQUFHdkUsT0FBTyxJQUFJLEtBQUtBLE9BQUwsQ0FBYUksTUFBM0IsRUFBa0M7QUFDcEMsYUFBT21FLEtBQUssQ0FBQyxZQUFELEVBQWUsY0FBZixFQUErQixHQUEvQixDQUFaO0FBQ0gsS0FGSyxNQUVBLElBQUd2RSxPQUFPLElBQUksS0FBS0EsT0FBTCxDQUFhSyxNQUEzQixFQUFrQztBQUNwQyxhQUFPa0UsS0FBSyxDQUFDLFlBQUQsRUFBZSxjQUFmLEVBQStCLEdBQS9CLENBQVo7QUFDSCxLQUZLLE1BRUEsSUFBR3ZFLE9BQU8sSUFBSSxLQUFLQSxPQUFMLENBQWFNLEdBQTNCLEVBQStCO0FBQ2pDLGFBQU9pRSxLQUFLLENBQUMsWUFBRCxFQUFlLGNBQWYsRUFBK0IsR0FBL0IsQ0FBWjtBQUNILEtBRkssTUFFRDtBQUNELGFBQU9BLEtBQUssQ0FBQyxZQUFELEVBQWUsY0FBZixFQUErQixDQUEvQixDQUFaO0FBQ0g7QUFDSixHQTFIZTtBQTRIaEI7QUFDQUMsRUFBQUEsWUFBWSxFQUFDLHNCQUFTQyxRQUFULEVBQW1CQyxRQUFuQixFQUE0QjtBQUNyQyxRQUFJRCxRQUFRLElBQUksSUFBWixJQUFvQkEsUUFBUSxJQUFJLEVBQWhDLElBQXNDQyxRQUFRLElBQUksSUFBbEQsSUFBMERBLFFBQVEsSUFBSSxDQUExRSxFQUE0RTtBQUN4RSxhQUFPLENBQVA7QUFDSDs7QUFDRCxRQUFJQyxRQUFRLEdBQUdKLEtBQUssQ0FBQyxXQUFELEVBQWMsV0FBZCxFQUEyQkUsUUFBM0IsQ0FBcEI7O0FBQ0EsUUFBSUUsUUFBUSxJQUFJLElBQVosSUFBb0JBLFFBQVEsSUFBSSxDQUFwQyxFQUFzQztBQUNsQyxhQUFPRCxRQUFQO0FBQ0g7O0FBQ0QsV0FBT0EsUUFBUSxHQUFDLEdBQVQsR0FBYSxHQUFwQjtBQUNILEdBdEllO0FBd0loQkUsRUFBQUEsaUJBQWlCLEVBQUUsMkJBQVU1RSxPQUFWLEVBQW1CO0FBQ2xDQSxJQUFBQSxPQUFPLEdBQUdBLE9BQU8sSUFBSSxDQUFyQjs7QUFDQSxRQUFJQSxPQUFPLElBQUksS0FBS0EsT0FBTCxDQUFhTSxHQUE1QixFQUFpQztBQUM3QixhQUFPLElBQUl1RSxFQUFFLENBQUNDLEtBQVAsQ0FBYSxJQUFiLEVBQW1CLElBQW5CLEVBQXlCLElBQXpCLEVBQStCLElBQS9CLENBQVA7QUFDSCxLQUZELE1BRU8sSUFBSTlFLE9BQU8sSUFBSSxLQUFLQSxPQUFMLENBQWFLLE1BQTVCLEVBQW9DO0FBQ3ZDLGFBQU8sSUFBSXdFLEVBQUUsQ0FBQ0MsS0FBUCxDQUFhLElBQWIsRUFBbUIsSUFBbkIsRUFBeUIsSUFBekIsRUFBK0IsSUFBL0IsQ0FBUDtBQUNILEtBRk0sTUFFQSxJQUFJOUUsT0FBTyxJQUFJLEtBQUtBLE9BQUwsQ0FBYUksTUFBNUIsRUFBb0M7QUFDdkMsYUFBTyxJQUFJeUUsRUFBRSxDQUFDQyxLQUFQLENBQWEsSUFBYixFQUFtQixJQUFuQixFQUF5QixJQUF6QixFQUErQixJQUEvQixDQUFQO0FBQ0gsS0FGTSxNQUVBLElBQUk5RSxPQUFPLElBQUksS0FBS0EsT0FBTCxDQUFhRyxJQUE1QixFQUFrQztBQUNyQyxhQUFPLElBQUkwRSxFQUFFLENBQUNDLEtBQVAsQ0FBYSxJQUFiLEVBQW1CLElBQW5CLEVBQXlCLElBQXpCLEVBQStCLElBQS9CLENBQVA7QUFDSCxLQUZNLE1BRUEsSUFBSTlFLE9BQU8sSUFBSSxLQUFLQSxPQUFMLENBQWFFLEtBQTVCLEVBQW1DO0FBQ3RDLGFBQU8sSUFBSTJFLEVBQUUsQ0FBQ0MsS0FBUCxDQUFhLElBQWIsRUFBbUIsSUFBbkIsRUFBeUIsSUFBekIsRUFBK0IsSUFBL0IsQ0FBUDtBQUNILEtBRk0sTUFHSCxPQUFPLElBQUlELEVBQUUsQ0FBQ0MsS0FBUCxDQUFhLElBQWIsRUFBbUIsSUFBbkIsRUFBeUIsSUFBekIsRUFBK0IsSUFBL0IsQ0FBUDtBQUNQO0FBdEplLENBQXBCO0FBeUpBekYsYUFBYSxDQUFDMEYsY0FBZCx1RUFDSzFGLGFBQWEsQ0FBQzJDLGFBQWQsQ0FBNEJDLE1BRGpDLEVBQ3NELElBRHRELDBDQUVLNUMsYUFBYSxDQUFDMkMsYUFBZCxDQUE0QkUsU0FGakMsRUFFc0QsSUFGdEQsMENBR0s3QyxhQUFhLENBQUMyQyxhQUFkLENBQTRCRyxXQUhqQyxFQUdzRCxJQUh0RCwwQ0FJSzlDLGFBQWEsQ0FBQzJDLGFBQWQsQ0FBNEJJLGdCQUpqQyxFQUlzRCxJQUp0RCwwQ0FLSy9DLGFBQWEsQ0FBQzJDLGFBQWQsQ0FBNEJLLFlBTGpDLEVBS3NELElBTHRELDBDQU1LaEQsYUFBYSxDQUFDMkMsYUFBZCxDQUE0Qk0sV0FOakMsRUFNc0QsSUFOdEQsMENBT0tqRCxhQUFhLENBQUMyQyxhQUFkLENBQTRCTyxZQVBqQyxFQU9zRCxJQVB0RCwwQ0FRS2xELGFBQWEsQ0FBQzJDLGFBQWQsQ0FBNEJRLFdBUmpDLEVBUXNELElBUnRELDBDQVNLbkQsYUFBYSxDQUFDMkMsYUFBZCxDQUE0QlMsV0FUakMsRUFTc0QsSUFUdEQsMENBVUtwRCxhQUFhLENBQUMyQyxhQUFkLENBQTRCVSxlQVZqQyxFQVVzRCxJQVZ0RCwwQ0FXS3JELGFBQWEsQ0FBQzJDLGFBQWQsQ0FBNEJXLE1BWGpDLEVBV3NELElBWHRELDBDQVlLdEQsYUFBYSxDQUFDMkMsYUFBZCxDQUE0QlksSUFaakMsRUFZc0QsSUFadEQsMENBYUt2RCxhQUFhLENBQUMyQyxhQUFkLENBQTRCYSxRQWJqQyxFQWFzRCxJQWJ0RCwwQ0FjS3hELGFBQWEsQ0FBQzJDLGFBQWQsQ0FBNEJjLGFBZGpDLEVBY3NELElBZHRELDBDQWVLekQsYUFBYSxDQUFDMkMsYUFBZCxDQUE0QmUsaUJBZmpDLEVBZXNELElBZnRELDBDQWdCSzFELGFBQWEsQ0FBQzJDLGFBQWQsQ0FBNEJnQixZQWhCakMsRUFnQnNELElBaEJ0RCwwQ0FpQkszRCxhQUFhLENBQUMyQyxhQUFkLENBQTRCaUIsWUFqQmpDLEVBaUJzRCxJQWpCdEQsMENBa0JLNUQsYUFBYSxDQUFDMkMsYUFBZCxDQUE0QmtCLGFBbEJqQyxFQWtCc0QsSUFsQnRELDBDQW1CSzdELGFBQWEsQ0FBQzJDLGFBQWQsQ0FBNEJxQixNQW5CakMsRUFtQnNELElBbkJ0RCwwQ0FvQktoRSxhQUFhLENBQUMyQyxhQUFkLENBQTRCc0IsSUFwQmpDLEVBb0JzRCxJQXBCdEQsMENBcUJLakUsYUFBYSxDQUFDMkMsYUFBZCxDQUE0QnVCLEtBckJqQyxFQXFCc0QsSUFyQnRELDBDQXNCS2xFLGFBQWEsQ0FBQzJDLGFBQWQsQ0FBNEJ3QixNQXRCakMsRUFzQnNELElBdEJ0RCwwQ0F1QktuRSxhQUFhLENBQUMyQyxhQUFkLENBQTRCeUIsT0F2QmpDLEVBdUJzRCxJQXZCdEQsMENBd0JLcEUsYUFBYSxDQUFDMkMsYUFBZCxDQUE0QjBCLFFBeEJqQyxFQXdCc0QsSUF4QnRELDBDQXlCS3JFLGFBQWEsQ0FBQzJDLGFBQWQsQ0FBNEIyQixZQXpCakMsRUF5QnNELElBekJ0RCwwQ0EwQkt0RSxhQUFhLENBQUMyQyxhQUFkLENBQTRCbUIsaUJBMUJqQyxFQTBCc0QsSUExQnRELDBDQTJCSzlELGFBQWEsQ0FBQzJDLGFBQWQsQ0FBNEJvQixpQkEzQmpDLEVBMkJzRCxJQTNCdEQsMENBNEJLL0QsYUFBYSxDQUFDMkMsYUFBZCxDQUE0QjRCLE9BNUJqQyxFQTRCc0QsSUE1QnRELDBDQTZCS3ZFLGFBQWEsQ0FBQzJDLGFBQWQsQ0FBNEI4QixTQTdCakMsRUE2QnNELElBN0J0RCwyQkErQkE7QUFDQXpFLGFBQWEsQ0FBQzJGLGdCQUFkLEdBQWlDO0FBQzdCQyxFQUFBQSxJQUFJLEVBQUcsQ0FEc0I7QUFDRjtBQUMzQkMsRUFBQUEsSUFBSSxFQUFHLENBRnNCO0FBRzdCQyxFQUFBQSxHQUFHLEVBQUcsQ0FIdUI7QUFJN0JDLEVBQUFBLFdBQVcsRUFBRyxDQUplO0FBSUY7QUFDM0I5RCxFQUFBQSxjQUFjLEVBQUcsQ0FMWTtBQUtGO0FBQzNCK0QsRUFBQUEsSUFBSSxFQUFHLENBTnNCO0FBTUY7QUFDM0JDLEVBQUFBLE9BQU8sRUFBRyxDQVBtQjtBQU9GO0FBQzNCbEUsRUFBQUEsSUFBSSxFQUFHLENBUnNCLENBUUQ7O0FBUkMsQ0FoQ2pDOztBQTBDQS9CLGFBQWEsQ0FBQ2tHLHVCQUFkLEdBQXdDLFVBQVN2RixPQUFULEVBQWlCO0FBQ3JEQSxFQUFBQSxPQUFPLEdBQUdBLE9BQU8sSUFBSSxDQUFyQjs7QUFDQSxNQUFHQSxPQUFPLElBQUlYLGFBQWEsQ0FBQ1csT0FBZCxDQUFzQk0sR0FBcEMsRUFBd0M7QUFDcEMsV0FBT2tGLE1BQU0sQ0FBQ0MsVUFBUCxDQUFrQkMsWUFBbEIsQ0FBK0IsR0FBL0IsQ0FBUDtBQUNILEdBRkQsTUFFTSxJQUFHMUYsT0FBTyxJQUFJWCxhQUFhLENBQUNXLE9BQWQsQ0FBc0JLLE1BQXBDLEVBQTJDO0FBQzdDLFdBQU9tRixNQUFNLENBQUNDLFVBQVAsQ0FBa0JDLFlBQWxCLENBQStCLEdBQS9CLENBQVA7QUFDSCxHQUZLLE1BRUEsSUFBRzFGLE9BQU8sSUFBSVgsYUFBYSxDQUFDVyxPQUFkLENBQXNCSSxNQUFwQyxFQUEyQztBQUM3QyxXQUFPb0YsTUFBTSxDQUFDQyxVQUFQLENBQWtCQyxZQUFsQixDQUErQixHQUEvQixDQUFQO0FBQ0gsR0FGSyxNQUVBLElBQUcxRixPQUFPLElBQUlYLGFBQWEsQ0FBQ1csT0FBZCxDQUFzQkcsSUFBcEMsRUFBeUM7QUFDM0MsV0FBT3FGLE1BQU0sQ0FBQ0MsVUFBUCxDQUFrQkMsWUFBbEIsQ0FBK0IsR0FBL0IsQ0FBUDtBQUNILEdBRkssTUFFQSxJQUFHMUYsT0FBTyxJQUFJWCxhQUFhLENBQUNXLE9BQWQsQ0FBc0JFLEtBQXBDLEVBQTBDO0FBQzVDLFdBQU9zRixNQUFNLENBQUNDLFVBQVAsQ0FBa0JDLFlBQWxCLENBQStCLEdBQS9CLENBQVA7QUFDSCxHQUZLLE1BRUQ7QUFDRCxXQUFPRixNQUFNLENBQUNDLFVBQVAsQ0FBa0JDLFlBQWxCLENBQStCLEdBQS9CLENBQVA7QUFDSDtBQUNKLENBZkQsRUFnQkE7OztBQUNBckcsYUFBYSxDQUFDc0csa0JBQWQsR0FBbUMsVUFBU0MsU0FBVCxFQUFtQjtBQUNsRCxNQUFHQSxTQUFILEVBQWE7QUFDVCxRQUFHQSxTQUFTLElBQUl2RyxhQUFhLENBQUNrQixTQUFkLENBQXdCaUIsU0FBeEMsRUFBa0Q7QUFDOUMsYUFBTyxJQUFQO0FBQ0gsS0FGRCxNQUVLO0FBQ0QsYUFBTyxLQUFQO0FBQ0g7QUFDSjs7QUFDRCxTQUFPLEtBQVA7QUFDSCxDQVRELEVBVUE7QUFDQW5DLGFBQWEsQ0FBQ3dHLGVBQWQsR0FBZ0MsVUFBU0MsS0FBVCxFQUFlO0FBQzNDLE1BQUcsQ0FBQ0EsS0FBSixFQUFXLE9BQU8sS0FBUDs7QUFDWCxNQUFJQSxLQUFLLElBQUl6RyxhQUFhLENBQUNrQixTQUFkLENBQXdCa0IsU0FBckMsRUFBK0M7QUFDM0MsV0FBTyxJQUFQO0FBQ0g7O0FBQ0QsU0FBTyxLQUFQO0FBQ0gsQ0FqQkQsRUFrQkFzRSxNQUFNLENBQUNDLE9BQVAsR0FBaUIzRyxhQWxCakIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAYXV0aG9yOiBzaGlyYWhvQHN5Zy5jb20o5b+F5aGrLCDliJvlu7rmqKHlnZfnmoTkurrlkZgpXG4vLyBAZGVzY3JpcHRpb246XG4vLyAgICAgIOiDjOWMhemAmueUqOW4uOmHjyBcbi8vIDxici8+Q3JlYXRlOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKClcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnZhciBCYWNrUGFja0NvbnN0ID0ge1xuICAgIEJhZ19Db2RlOntcbiAgICAgICAgQkFDS1BBQ0s6IDEsICAgIC8vIOiDjOWMhVxuICAgICAgICBTVE9SQUdFOiAyLCAgICAgLy8g5LuT5bqTXG4gICAgICAgIEVRVUlQUzogMywgICAgICAvLyDoo4XlpIdcbiAgICB9LFxuXG4gICAgaXRlbV90YWJfdHlwZTp7XG4gICAgICAgIE9USEVSUzogMCwgICAgICAvLyDlhbbku5ZcbiAgICAgICAgRVFVSVBTOiAxLCAgICAgIC8vIOijheWkh1xuICAgICAgICBQUk9QUzogMiwgICAgICAgLy8g6YGT5YW3XG4gICAgICAgIEhFUk86MywgICAgICAgICAvLyDoi7Hpm4RcbiAgICAgICAgU1BFQ0lBTDogNCwgICAgIC8vIOeJueauilxuICAgICAgICBIT0xZRVFVSVBNRU5UOjUsLy8g56We6KOFXG4gICAgfSxcblxuICAgIHF1YWxpdHk6e1xuICAgICAgICB3aGl0ZTogMCwgICAgICAgICAgLy8g55m9XG4gICAgICAgIGdyZWVuOiAxLCAgICAgICAgICAvLyDnu79cbiAgICAgICAgYmx1ZTogMiwgICAgICAgICAgIC8vIOiTnVxuICAgICAgICBwdXJwbGU6IDMsICAgICAgICAgLy8g57SrXG4gICAgICAgIG9yYW5nZTogNCwgICAgICAgICAvLyDmqZlcbiAgICAgICAgcmVkOiA1ICAgICAgICAgICAgIC8vIOe6olxuICAgIH0sXG5cbiAgICBpdGVtX3R5cGU6IHtcbiAgICAgICAgTk9STUFMOiAwLCAgICAgICAgICAgICAgICAgIC8vIOaZrumAmlxuICAgICAgICBXRUFQT046IDEsICAgICAgICAgICAgICAgICAgLy8g5q2m5ZmoXG4gICAgICAgIFNIT0U6IDIsICAgICAgICAgICAgICAgICAgICAvLyDpnovlrZBcbiAgICAgICAgQ0xPVEhFUzogMywgICAgICAgICAgICAgICAgIC8vIOiho+acjVxuICAgICAgICBIQVQ6IDQsICAgICAgICAgICAgICAgICAgICAgLy8g5aS055uUXG4gICAgICAgIEFTU0VUOiA3LCAgICAgICAgICAgICAgICAgICAvLyDotYTkuqdcbiAgICAgICAgTUFURVJJQUxTOiA5LCAgICAgICAgICAgICAgIC8vIOadkOaWmVxuICAgICAgICBBUlRJRkFDVENISVBTOiAxMCwgICAgICAgICAgLy8g56We5ZmoKOeOsOWcqOWPqyDnrKbmlocpXG4gICAgICAgIEdPRF9FQVJSSU5HOiAyMywgICAgICAgICAgICAvLyDnpZ7oo4Vf6ICz546vXG4gICAgICAgIEdPRF9SSU5HOiAyNCwgICAgICAgICAgICAgICAvLyDnpZ7oo4Vf5oiS5oyHXG4gICAgICAgIEdPRF9ORUNLTEFDRTogMjUsICAgICAgICAgICAvLyDnpZ7oo4Vf6aG56ZO+XG4gICAgICAgIEdPRF9CQU5HTEUgOiAyNiwgICAgICAgICAgICAvLyDnpZ7oo4Vf5omL6ZWvXG4gICAgICAgIEdJRlQ6IDEwMCwgICAgICAgICAgICAgICAgICAvLyDnpLzljIVcbiAgICAgICAgRlJFRV9HSUZUOiAxMDEsICAgICAgICAgICAgIC8vIOiHqumAieekvOWMhVxuICAgICAgICBQQVJUTkVSX0RFQlJJUzogMTAyLCAgICAgICAgLy8g5LyZ5Ly056KO54mHXG4gICAgICAgIFNUQVJfU09VTDogMTA1LCAgICAgICAgICAgICAvLyDmmJ/lkb1cbiAgICAgICAgV0VFS19DQVJEOiAyNywgICAgICAgICAgICAgIC8vIOWRqOWNoVxuICAgICAgICBIRVJPX1NLSU46IDI4LCAgICAgICAgICAgICAgLy8g6Iux6ZuE55qu6IKkXG4gICAgfSxcblxuICAgIC8vICDog4zljIXkuK3nianlk4HnmoTkvb/nlKjnsbvlnoss5Y+q5Yy65YiG5raI6ICX5ZKM6Z2e5raI6ICX57G7XG4gICAgaXRlbV91c2VfdHlwZToge1xuICAgICAgICBOT19ESVJFQ1RfVVNFOiAwLCAgICAgICAgICAgICAgICAvLyDkuI3og73nm7TmjqXkvb/nlKhcbiAgICAgICAgQ09OU1VNOiAxLCAgICAgICAgICAgICAgICAvLyDmtojogJcs55u05o6l5L2/55So55qEXG4gICAgICAgIE5PX0NPTlNVTTogMiwgICAgICAgICAgICAgICAgLy8g5LiN5raI6ICXXG4gICAgICAgIEVRVUlQOiAzLCAgICAgICAgICAgICAgICAvLyDnqb/miLRcbiAgICAgICAgQkFUQ0hfVVNFOiA0LCAgICAgICAgICAgICAgICAvLyDmibnph4/kvb/nlKhcbiAgICB9LFxuICAgIFxuICAgIC8vIOeJqeWTgXRpcHPmjInpkq7pnIDopoHmnprkuL5cblxuICAgIHRpcHNfYnRuX3R5cGU6IHtcbiAgICAgICAgc291cmNlOiAxLCAgICAgICAgICAgICAgLy/mnaXmupBcbiAgICAgICAgZ29vZHNfdXNlOiAyLCAgICAgICAgICAgLy/mma7pgJrnianlk4Hkvb/nlKhcbiAgICAgICAgYm9zc19zb3VyY2U6IDMsICAgICAgICAgLy/ot7PovazkuJbnlYxib3Nz55WM6Z2iXG4gICAgICAgIGRyYW1hX25ld19zb3VyY2U6IDQsICAgIC8v6Lez6L2s5Ymn5oOF5Ymv5pys5pyA5paw55qE5YWz5Y2h6aG16Z2iXG4gICAgICAgIGRyYW1hX3NvdXJjZTogNSwgICAgICAgIC8v6Lez6L2s5Ymn5oOF5Ymv5pys55WM6Z2iXG4gICAgICAgIGhlcm9fc291cmNlOiA2LCAgICAgICAgIC8v6Lez6L2s6Iux6ZuE5L+h5oGv55WM6Z2iXG4gICAgICAgIHNraWxsX3NvdXJjZTogNywgICAgICAgIC8v6Lez6L2s6Iux6ZuE5oqA6IO955WM6Z2iXG4gICAgICAgIGZvcm1fc291cmNlOiA4LCAgICAgICAgIC8v6Lez6L2s57yW6Zif6Zi15rOV55WM6Z2iXG4gICAgICAgIGNhbGxfc291cmNlOiA5LCAgICAgICAgIC8v6Lez6L2s5Y+s5ZSk55WM6Z2iXG4gICAgICAgIGFydGlmYWN0X3NvdXJjZTogMTAsICAgIC8v6Lez6L2s56We5Zmo6YeN6ZO455WM6Z2iXG4gICAgICAgIHJlZGJhZzogMTEsICAgICAgICAgICAgIC8v57qi5YyFXG4gICAgICAgIGhlYWQ6IDEyLCAgICAgICAgICAgICAgIC8v5Liq5Lq66K6+572u5aS05YOPXG4gICAgICAgIGNoZW5naGFvOiAxMywgICAgICAgICAgIC8v5Liq5Lq66K6+572u56ew5Y+3XG4gICAgICAgIHN0b25lX3VwZ3JhZGU6IDE0LCAgICAgIC8v6Lez6L2s5a6d55+z5Y2H57qn55WM6Z2iXG4gICAgICAgIHBhcnRuZXJfY2hhcmFjdGVyOiAxNSwgIC8v6Lez6L2s5b2i6LGh6K6+572uXG4gICAgICAgIGFyZW5hX3NvdXJjZSAgICAgOiAxNiwgIC8v6Lez6L2s56ue5oqA5Zy6XG4gICAgICAgIGxvd190cmVhc3VyZSAgICAgOiAxNywgIC8v6Lez6L2s5bm46L+Q5o6i5a6dXG4gICAgICAgIGhpZ2hfdHJlYXN1cmUgICAgIDogMTgsICAvL+i3s+i9rOmrmOe6p+aOouWunVxuICAgICAgICBzZWVycGFsYWNlX3N1bW1vbjogMTksICAvLyDlhYjnn6Xmrr9cbiAgICAgICAgc2VlcnBhbGFjZV9jaGFuZ2U6IDIwLCAgLy8g5YWI55+l5Y+s5ZSkXG4gICAgICAgIHRhbndlaTogMjAsICAgICAgICAgICAgIC8v5pGG5pGKXG4gICAgICAgIHNlbGw6IDIxLCAgICAgICAgICAgICAgIC8v5Ye65ZSuXG4gICAgICAgIHNlbGwyOiAyMiwgICAgICAgICAgICAgIC8v5oyJ54mp5ZOB6KGo5aGr55qE5Lu35YC85Ye65ZSuXG4gICAgICAgIGZlbmppZTogMzAsICAgICAgICAgICAgIC8v5YiG6KejXG4gICAgICAgIGhlY2hlbmc6IDMxLCAgICAgICAgICAgIC8v6Iux6ZuE56KO54mH5ZCI5oiQXG4gICAgICAgIGhlY2hlbmcyOiAzMiwgICAgICAgICAgIC8v56We5Zmo5ZCI5oiQXG4gICAgICAgIHVwZ3JhZGVfc3RhcjogMzMsICAgICAgIC8vIOS8meS8tOebtOWNh+WNoSzljYfmmJ/nmoRcbiAgICAgICAgaGFsaWRvbTogMzQsICAgICAgICAgICAgLy8g6Lez6L2s5Yiw5Zyj54mpXG4gICAgICAgIGhlYXZlbl9ib29rIDogMzUsICAgICAgIC8vLyDnpZ7oo4Xlm77pibRcbiAgICAgICAgaXRlbV9zZWxsICA6ICAzNywgICAgICAgLy/pgZPlhbflh7rllK4gXG4gICAgfSxcblxuICAgIC8vIOeJqeWTgea2iOiAl+S9v+eUqOi/mOaYr+WHuuWUrlxuICAgIEl0ZW1Db25zdW1lVHlwZTp7XG4gICAgICAgIHVzZTogMSxcbiAgICAgICAgc2VsbDogMixcbiAgICAgICAgcmVzb2x2ZTogMyxcbiAgICAgICAgc3BlY2lhbDogNCxcbiAgICB9LFxuXG4gICAgLy8g55uR5rWL5piv5ZCm5Li66KOF5aSHXG4gICAgY2hlY2tJc0VxdWlwOmZ1bmN0aW9uKHR5cGUpe1xuICAgICAgICByZXR1cm4gdHlwZSA9PSB0aGlzLml0ZW1fdHlwZS5XRUFQT04gfHwgdHlwZSA9PSB0aGlzLml0ZW1fdHlwZS5TSE9FIHx8IHR5cGUgPT0gdGhpcy5pdGVtX3R5cGUuQ0xPVEhFUyB8fCB0eXBlID09IHRoaXMuaXRlbV90eXBlLkhBVFxuICAgIH0sXG5cbiAgICBjaGVja0lzQXJ0aWZhY3Q6IGZ1bmN0aW9uKHR5cGUpIHtcbiAgICAgICAgcmV0dXJuIHR5cGUgPT0gQmFja1BhY2tDb25zdC5pdGVtX3R5cGUuQVJUSUZBQ1RDSElQU1xuICAgIH0sXG5cbiAgICAvLyDojrflj5blk4HotKjoibJcbiAgICBxdWFsaXR5X2NvbG9yOmZ1bmN0aW9uKHF1YWxpdHkpe1xuICAgICAgICBpZihxdWFsaXR5ID09IHRoaXMucXVhbGl0eS5ncmVlbil7XG4gICAgICAgICAgICByZXR1cm4gZ2RhdGEoXCJjb2xvcl9kYXRhXCIsIFwiZGF0YV9jb2xvcjE2XCIsIDE3OClcbiAgICAgICAgfWVsc2UgaWYocXVhbGl0eSA9PSB0aGlzLnF1YWxpdHkuYmx1ZSl7XG4gICAgICAgICAgICByZXR1cm4gZ2RhdGEoXCJjb2xvcl9kYXRhXCIsIFwiZGF0YV9jb2xvcjE2XCIsIDIwMylcbiAgICAgICAgfWVsc2UgaWYocXVhbGl0eSA9PSB0aGlzLnF1YWxpdHkucHVycGxlKXtcbiAgICAgICAgICAgIHJldHVybiBnZGF0YShcImNvbG9yX2RhdGFcIiwgXCJkYXRhX2NvbG9yMTZcIiwgMTg1KVxuICAgICAgICB9ZWxzZSBpZihxdWFsaXR5ID09IHRoaXMucXVhbGl0eS5vcmFuZ2Upe1xuICAgICAgICAgICAgcmV0dXJuIGdkYXRhKFwiY29sb3JfZGF0YVwiLCBcImRhdGFfY29sb3IxNlwiLCAxODQpXG4gICAgICAgIH1lbHNlIGlmKHF1YWxpdHkgPT0gdGhpcy5xdWFsaXR5LnJlZCl7XG4gICAgICAgICAgICByZXR1cm4gZ2RhdGEoXCJjb2xvcl9kYXRhXCIsIFwiZGF0YV9jb2xvcjE2XCIsIDIwNilcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICByZXR1cm4gZ2RhdGEoXCJjb2xvcl9kYXRhXCIsIFwiZGF0YV9jb2xvcjE2XCIsIDEpXG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgLy8g6YCa55So6I635Y+W5bGe5oCn5YC8XG4gICAgZ2V0QXR0clZhbHVlOmZ1bmN0aW9uKGF0dHJfa2V5LCBhdHRyX3ZhbCl7XG4gICAgICAgIGlmIChhdHRyX2tleSA9PSBudWxsIHx8IGF0dHJfa2V5ID09IFwiXCIgfHwgYXR0cl92YWwgPT0gbnVsbCB8fCBhdHRyX3ZhbCA9PSAwKXtcbiAgICAgICAgICAgIHJldHVybiAwXG4gICAgICAgIH1cbiAgICAgICAgdmFyIHZhbF90eXBlID0gZ2RhdGEoXCJhdHRyX2RhdGFcIiwgXCJkYXRhX3R5cGVcIiwgYXR0cl9rZXkpXG4gICAgICAgIGlmICh2YWxfdHlwZSA9PSBudWxsIHx8IHZhbF90eXBlID09IDEpe1xuICAgICAgICAgICAgcmV0dXJuIGF0dHJfdmFsXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGF0dHJfdmFsKjAuMStcIiVcIlxuICAgIH0sXG5cbiAgICBnZXRFcXVpcFRpcHNDb2xvcjogZnVuY3Rpb24gKHF1YWxpdHkpIHtcbiAgICAgICAgcXVhbGl0eSA9IHF1YWxpdHkgfHwgMDtcbiAgICAgICAgaWYgKHF1YWxpdHkgPT0gdGhpcy5xdWFsaXR5LnJlZCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBjYy5Db2xvcigweGZmLCAweDljLCAweDk3LCAweGZmKVxuICAgICAgICB9IGVsc2UgaWYgKHF1YWxpdHkgPT0gdGhpcy5xdWFsaXR5Lm9yYW5nZSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBjYy5Db2xvcigweGZmLCAweGVkLCAweDhiLCAweGZmKVxuICAgICAgICB9IGVsc2UgaWYgKHF1YWxpdHkgPT0gdGhpcy5xdWFsaXR5LnB1cnBsZSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBjYy5Db2xvcigweGQ0LCAweGFlLCAweGZmLCAweGZmKVxuICAgICAgICB9IGVsc2UgaWYgKHF1YWxpdHkgPT0gdGhpcy5xdWFsaXR5LmJsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgY2MuQ29sb3IoMHg5OCwgMHhmYiwgMHhmZiwgMHhmZilcbiAgICAgICAgfSBlbHNlIGlmIChxdWFsaXR5ID09IHRoaXMucXVhbGl0eS5ncmVlbikge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBjYy5Db2xvcigweDhiLCAweGZmLCAweDhlLCAweGZmKVxuICAgICAgICB9IGVsc2VcbiAgICAgICAgICAgIHJldHVybiBuZXcgY2MuQ29sb3IoMHhkOSwgMHhkOSwgMHhkOSwgMHhmZilcbiAgICB9LFxufTtcblxuQmFja1BhY2tDb25zdC50aXBzX2J0bl90aXRsZSA9IHtcbiAgICBbQmFja1BhY2tDb25zdC50aXBzX2J0bl90eXBlLnNvdXJjZV0gICAgICAgICAgICA6IFwi5p2l5rqQXCIsXG4gICAgW0JhY2tQYWNrQ29uc3QudGlwc19idG5fdHlwZS5nb29kc191c2VdICAgICAgICAgOiBcIuS9v+eUqFwiLFxuICAgIFtCYWNrUGFja0NvbnN0LnRpcHNfYnRuX3R5cGUuYm9zc19zb3VyY2VdICAgICAgIDogXCLkvb/nlKhcIixcbiAgICBbQmFja1BhY2tDb25zdC50aXBzX2J0bl90eXBlLmRyYW1hX25ld19zb3VyY2VdICA6IFwi5L2/55SoXCIsXG4gICAgW0JhY2tQYWNrQ29uc3QudGlwc19idG5fdHlwZS5kcmFtYV9zb3VyY2VdICAgICAgOiBcIuS9v+eUqFwiLFxuICAgIFtCYWNrUGFja0NvbnN0LnRpcHNfYnRuX3R5cGUuaGVyb19zb3VyY2VdICAgICAgIDogXCLkvb/nlKhcIixcbiAgICBbQmFja1BhY2tDb25zdC50aXBzX2J0bl90eXBlLnNraWxsX3NvdXJjZV0gICAgICA6IFwi5L2/55SoXCIsXG4gICAgW0JhY2tQYWNrQ29uc3QudGlwc19idG5fdHlwZS5mb3JtX3NvdXJjZV0gICAgICAgOiBcIuS9v+eUqFwiLFxuICAgIFtCYWNrUGFja0NvbnN0LnRpcHNfYnRuX3R5cGUuY2FsbF9zb3VyY2VdICAgICAgIDogXCLkvb/nlKhcIixcbiAgICBbQmFja1BhY2tDb25zdC50aXBzX2J0bl90eXBlLmFydGlmYWN0X3NvdXJjZV0gICA6IFwi6YeN6ZO4XCIsXG4gICAgW0JhY2tQYWNrQ29uc3QudGlwc19idG5fdHlwZS5yZWRiYWddICAgICAgICAgICAgOiBcIuS9v+eUqFwiLFxuICAgIFtCYWNrUGFja0NvbnN0LnRpcHNfYnRuX3R5cGUuaGVhZF0gICAgICAgICAgICAgIDogXCLkvb/nlKhcIixcbiAgICBbQmFja1BhY2tDb25zdC50aXBzX2J0bl90eXBlLmNoZW5naGFvXSAgICAgICAgICA6IFwi5L2/55SoXCIsXG4gICAgW0JhY2tQYWNrQ29uc3QudGlwc19idG5fdHlwZS5zdG9uZV91cGdyYWRlXSAgICAgOiBcIuS9v+eUqFwiLFxuICAgIFtCYWNrUGFja0NvbnN0LnRpcHNfYnRuX3R5cGUucGFydG5lcl9jaGFyYWN0ZXJdIDogXCLkvb/nlKhcIixcbiAgICBbQmFja1BhY2tDb25zdC50aXBzX2J0bl90eXBlLmFyZW5hX3NvdXJjZV0gICAgICA6IFwi5L2/55SoXCIsXG4gICAgW0JhY2tQYWNrQ29uc3QudGlwc19idG5fdHlwZS5sb3dfdHJlYXN1cmVdICAgICAgOiBcIuS9v+eUqFwiLFxuICAgIFtCYWNrUGFja0NvbnN0LnRpcHNfYnRuX3R5cGUuaGlnaF90cmVhc3VyZV0gICAgIDogXCLkvb/nlKhcIixcbiAgICBbQmFja1BhY2tDb25zdC50aXBzX2J0bl90eXBlLnRhbndlaV0gICAgICAgICAgICA6IFwi5pGG5pGKXCIsXG4gICAgW0JhY2tQYWNrQ29uc3QudGlwc19idG5fdHlwZS5zZWxsXSAgICAgICAgICAgICAgOiBcIuWHuuWUrlwiLFxuICAgIFtCYWNrUGFja0NvbnN0LnRpcHNfYnRuX3R5cGUuc2VsbDJdICAgICAgICAgICAgIDogXCLlh7rllK5cIixcbiAgICBbQmFja1BhY2tDb25zdC50aXBzX2J0bl90eXBlLmZlbmppZV0gICAgICAgICAgICA6IFwi5YiG6KejXCIsXG4gICAgW0JhY2tQYWNrQ29uc3QudGlwc19idG5fdHlwZS5oZWNoZW5nXSAgICAgICAgICAgOiBcIuWQiOaIkFwiLFxuICAgIFtCYWNrUGFja0NvbnN0LnRpcHNfYnRuX3R5cGUuaGVjaGVuZzJdICAgICAgICAgIDogXCLlkIjmiJBcIixcbiAgICBbQmFja1BhY2tDb25zdC50aXBzX2J0bl90eXBlLnVwZ3JhZGVfc3Rhcl0gICAgICA6IFwi5L2/55SoXCIsXG4gICAgW0JhY2tQYWNrQ29uc3QudGlwc19idG5fdHlwZS5zZWVycGFsYWNlX3N1bW1vbl0gOiBcIuS9v+eUqFwiLFxuICAgIFtCYWNrUGFja0NvbnN0LnRpcHNfYnRuX3R5cGUuc2VlcnBhbGFjZV9jaGFuZ2VdIDogXCLkvb/nlKhcIixcbiAgICBbQmFja1BhY2tDb25zdC50aXBzX2J0bl90eXBlLmhhbGlkb21dICAgICAgICAgICA6IFwi5L2/55SoXCIsXG4gICAgW0JhY2tQYWNrQ29uc3QudGlwc19idG5fdHlwZS5pdGVtX3NlbGxdICAgICAgICAgOiBcIuWHuuWUrlwiLFxufSxcbi8vIC0tIOeJqeWTgeeahOS9v+eUqOaViOaenCzkvb/nlKjov5nkuKrnianlk4Hlj6/ku6XojrflvpdcbkJhY2tQYWNrQ29uc3QuaXRlbV9lZmZlY3RfdHlwZSA9IHtcbiAgICBHT0xEIDogMSwgICAgICAgICAgICAgICAgICAvLyAtLSDkvb/nlKjov5nnsbvnianlk4Hlj6/ku6Xojrflvpfpkrvnn7NcbiAgICBDT0lOIDogMixcbiAgICBFWFAgOiAzLFxuICAgIFBBUlRORVJfRVhQIDogNCwgICAgICAgICAgIC8vIC0tIOiOt+W+l+S8meS8tOe7j+mqjFxuICAgIFBBUlRORVJfREVCUklTIDogNSwgICAgICAgIC8vLS0g5LyZ5Ly056KO54mHXG4gICAgQlVGRiA6IDYsICAgICAgICAgICAgICAgICAgLy8gLS0gYnVmZlxuICAgIFBBUlRORVIgOiA3LCAgICAgICAgICAgICAgIC8vLS0g6I635b6X5LyZ5Ly0XG4gICAgR0lGVCA6IDggICAgICAgICAgICAgICAgICAgIC8vLS0g5ZWG5Z+O54m55oOg56S85YyF5pe25pWIXG59XG5CYWNrUGFja0NvbnN0LmdldFdoaXRlUXVhbGl0eUNvbG9yU3RyID0gZnVuY3Rpb24ocXVhbGl0eSl7XG4gICAgcXVhbGl0eSA9IHF1YWxpdHkgfHwgMFxuICAgIGlmKHF1YWxpdHkgPT0gQmFja1BhY2tDb25zdC5xdWFsaXR5LnJlZCl7XG4gICAgICAgIHJldHVybiBDb25maWcuY29sb3JfZGF0YS5kYXRhX2NvbG9yMTZbMjA2XSBcbiAgICB9ZWxzZSBpZihxdWFsaXR5ID09IEJhY2tQYWNrQ29uc3QucXVhbGl0eS5vcmFuZ2UpeyBcbiAgICAgICAgcmV0dXJuIENvbmZpZy5jb2xvcl9kYXRhLmRhdGFfY29sb3IxNlsxODRdIFxuICAgIH1lbHNlIGlmKHF1YWxpdHkgPT0gQmFja1BhY2tDb25zdC5xdWFsaXR5LnB1cnBsZSl7IFxuICAgICAgICByZXR1cm4gQ29uZmlnLmNvbG9yX2RhdGEuZGF0YV9jb2xvcjE2WzE4NV0gXG4gICAgfWVsc2UgaWYocXVhbGl0eSA9PSBCYWNrUGFja0NvbnN0LnF1YWxpdHkuYmx1ZSl7IFxuICAgICAgICByZXR1cm4gQ29uZmlnLmNvbG9yX2RhdGEuZGF0YV9jb2xvcjE2WzIwM10gXG4gICAgfWVsc2UgaWYocXVhbGl0eSA9PSBCYWNrUGFja0NvbnN0LnF1YWxpdHkuZ3JlZW4peyBcbiAgICAgICAgcmV0dXJuIENvbmZpZy5jb2xvcl9kYXRhLmRhdGFfY29sb3IxNlsxNzhdIFxuICAgIH1lbHNle1xuICAgICAgICByZXR1cm4gQ29uZmlnLmNvbG9yX2RhdGEuZGF0YV9jb2xvcjE2WzI3NF0gXG4gICAgfVxufVxuLy/mmK/lkKblkajljaFcbkJhY2tQYWNrQ29uc3QuY2hlY2tvdXRJc1dlZWtDYXJkID0gZnVuY3Rpb24oZGF0YV90eXBlKXtcbiAgICBpZihkYXRhX3R5cGUpe1xuICAgICAgICBpZihkYXRhX3R5cGUgPT0gQmFja1BhY2tDb25zdC5pdGVtX3R5cGUuV0VFS19DQVJEKXtcbiAgICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH1lbHNle1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlXG59LFxuLy/mmK/lkKbnmq7ogqRcbkJhY2tQYWNrQ29uc3QuY2hlY2tJc0hlcm9Ta2luID0gZnVuY3Rpb24oX3R5cGUpe1xuICAgIGlmKCFfdHlwZSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmIChfdHlwZSA9PSBCYWNrUGFja0NvbnN0Lml0ZW1fdHlwZS5IRVJPX1NLSU4pe1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2Vcbn0sXG5tb2R1bGUuZXhwb3J0cyA9IEJhY2tQYWNrQ29uc3Q7Il19
|
|