@mtgame/core 0.1.139 → 0.1.141
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/mtgame-core.umd.js +205 -11
- package/bundles/mtgame-core.umd.js.map +1 -1
- package/esm2015/models/waterpolo-game-statistic.js +91 -1
- package/esm2015/models/waterpolo-statistic.js +35 -11
- package/fesm2015/mtgame-core.js +124 -10
- package/fesm2015/mtgame-core.js.map +1 -1
- package/models/waterpolo-game-statistic.d.ts +20 -0
- package/models/waterpolo-statistic.d.ts +34 -10
- package/mtgame-core.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -36,6 +36,15 @@ let WaterpoloGameStatistic = class WaterpoloGameStatistic extends BaseModel {
|
|
|
36
36
|
get counterAttackShotOnGoals() {
|
|
37
37
|
return (this.ppCounterAttackOnGoals || 0) + (this.shCounterAttackOnGoals || 0) + (this.evCounterAttackOnGoals || 0);
|
|
38
38
|
}
|
|
39
|
+
get counterAttackShots() {
|
|
40
|
+
return this.counterAttackShotMisses + this.counterAttackShotOnGoals;
|
|
41
|
+
}
|
|
42
|
+
get counterAttackGoalsPercent() {
|
|
43
|
+
if (!this.totalCounterAttackGoals || !this.counterAttackShots) {
|
|
44
|
+
return 0;
|
|
45
|
+
}
|
|
46
|
+
return Math.round(1000 * this.totalCounterAttackGoals / this.counterAttackShots) / 10;
|
|
47
|
+
}
|
|
39
48
|
get totalManeuverGoals() {
|
|
40
49
|
return (this.ppManeuverGoals || 0) + (this.shManeuverGoals || 0) + (this.evManeuverGoals || 0);
|
|
41
50
|
}
|
|
@@ -54,6 +63,15 @@ let WaterpoloGameStatistic = class WaterpoloGameStatistic extends BaseModel {
|
|
|
54
63
|
get maneuverShotOnGoals() {
|
|
55
64
|
return (this.ppManeuverOnGoals || 0) + (this.shManeuverOnGoals || 0) + (this.evManeuverOnGoals || 0);
|
|
56
65
|
}
|
|
66
|
+
get maneuverShots() {
|
|
67
|
+
return this.maneuverShotMisses + this.maneuverShotOnGoals;
|
|
68
|
+
}
|
|
69
|
+
get maneuverGoalsPercent() {
|
|
70
|
+
if (!this.totalManeuverGoals || !this.maneuverShots) {
|
|
71
|
+
return 0;
|
|
72
|
+
}
|
|
73
|
+
return Math.round(1000 * this.totalManeuverGoals / this.maneuverShots) / 10;
|
|
74
|
+
}
|
|
57
75
|
get totalCenterForwardGoals() {
|
|
58
76
|
return (this.ppCenterForwardGoals || 0) + (this.shCenterForwardGoals || 0) + (this.evCenterForwardGoals || 0);
|
|
59
77
|
}
|
|
@@ -72,6 +90,15 @@ let WaterpoloGameStatistic = class WaterpoloGameStatistic extends BaseModel {
|
|
|
72
90
|
get centerForwardShotOnGoals() {
|
|
73
91
|
return (this.ppCenterForwardOnGoals || 0) + (this.shCenterForwardOnGoals || 0) + (this.evCenterForwardOnGoals || 0);
|
|
74
92
|
}
|
|
93
|
+
get centerForwardShots() {
|
|
94
|
+
return this.centerForwardShotMisses + this.centerForwardShotOnGoals;
|
|
95
|
+
}
|
|
96
|
+
get centerForwardGoalsPercent() {
|
|
97
|
+
if (!this.totalCenterForwardGoals || !this.centerForwardShots) {
|
|
98
|
+
return 0;
|
|
99
|
+
}
|
|
100
|
+
return Math.round(1000 * this.totalCenterForwardGoals / this.centerForwardShots) / 10;
|
|
101
|
+
}
|
|
75
102
|
get ppShots() {
|
|
76
103
|
return (this.ppShotMisses || 0) + (this.ppShotsOnGoal || 0) + (this.ppShotsBlocked || 0) +
|
|
77
104
|
(this.ppFreeKickMisses || 0) + (this.ppFreeKickOnGoals || 0) +
|
|
@@ -163,6 +190,12 @@ let WaterpoloGameStatistic = class WaterpoloGameStatistic extends BaseModel {
|
|
|
163
190
|
return (this.freeKickSelfs || 0) + (this.freeKickPasses || 0) +
|
|
164
191
|
this.freeKickShotMisses + this.freeKickOnGoals + this.totalFreeKickGoals;
|
|
165
192
|
}
|
|
193
|
+
get freeKickGoalsPercent() {
|
|
194
|
+
if (!this.totalFreeKickGoals || !this.totalFreeKicks) {
|
|
195
|
+
return 0;
|
|
196
|
+
}
|
|
197
|
+
return Math.round(1000 * this.totalFreeKickGoals / this.totalFreeKicks) / 10;
|
|
198
|
+
}
|
|
166
199
|
get totalCornerGoals() {
|
|
167
200
|
return (this.ppCornerGoals || 0) + (this.shCornerGoals || 0) + (this.evCornerGoals || 0);
|
|
168
201
|
}
|
|
@@ -252,21 +285,78 @@ let WaterpoloGameStatistic = class WaterpoloGameStatistic extends BaseModel {
|
|
|
252
285
|
return (this.totalGoals || 0) + (this.assists || 0);
|
|
253
286
|
}
|
|
254
287
|
/*goalie stat */
|
|
288
|
+
get positionAttackSaves() {
|
|
289
|
+
return (this.ppSaves || 0) + (this.shSaves || 0) + (this.evSaves || 0);
|
|
290
|
+
}
|
|
291
|
+
get positionAttackShotsAgainst() {
|
|
292
|
+
return this.positionAttackSaves + (this.goalsAgainst || 0);
|
|
293
|
+
}
|
|
294
|
+
get positionAttackSavesPercent() {
|
|
295
|
+
if (!this.positionAttackSaves || !this.positionAttackShotsAgainst) {
|
|
296
|
+
return 0;
|
|
297
|
+
}
|
|
298
|
+
return Math.round(1000 * this.positionAttackSaves / this.positionAttackShotsAgainst) / 10;
|
|
299
|
+
}
|
|
255
300
|
get counterAttackSaves() {
|
|
256
301
|
return (this.ppCounterAttackSaves || 0) + (this.shCounterAttackSaves || 0) + (this.evCounterAttackSaves || 0);
|
|
257
302
|
}
|
|
303
|
+
get counterAttackShotsAgainst() {
|
|
304
|
+
return this.counterAttackSaves + (this.counterAttackGoalsAgainst || 0);
|
|
305
|
+
}
|
|
306
|
+
get counterAttackSavesPercent() {
|
|
307
|
+
if (!this.counterAttackSaves || !this.counterAttackShotsAgainst) {
|
|
308
|
+
return 0;
|
|
309
|
+
}
|
|
310
|
+
return Math.round(1000 * this.counterAttackSaves / this.counterAttackShotsAgainst) / 10;
|
|
311
|
+
}
|
|
258
312
|
get centerForwardSaves() {
|
|
259
313
|
return (this.ppCenterForwardSaves || 0) + (this.shCenterForwardSaves || 0) + (this.evCenterForwardSaves || 0);
|
|
260
314
|
}
|
|
315
|
+
get centerForwardShotsAgainst() {
|
|
316
|
+
return this.centerForwardSaves + (this.centerForwardGoalsAgainst || 0);
|
|
317
|
+
}
|
|
318
|
+
get centerForwardSavesPercent() {
|
|
319
|
+
if (!this.centerForwardSaves || !this.centerForwardShotsAgainst) {
|
|
320
|
+
return 0;
|
|
321
|
+
}
|
|
322
|
+
return Math.round(1000 * this.centerForwardSaves / this.centerForwardShotsAgainst) / 10;
|
|
323
|
+
}
|
|
261
324
|
get maneuverSaves() {
|
|
262
325
|
return (this.ppManeuverSaves || 0) + (this.shManeuverSaves || 0) + (this.evManeuverSaves || 0);
|
|
263
326
|
}
|
|
327
|
+
get maneuverShotsAgainst() {
|
|
328
|
+
return this.maneuverSaves + (this.maneuverGoalsAgainst || 0);
|
|
329
|
+
}
|
|
330
|
+
get maneuverSavesPercent() {
|
|
331
|
+
if (!this.maneuverSaves || !this.maneuverShotsAgainst) {
|
|
332
|
+
return 0;
|
|
333
|
+
}
|
|
334
|
+
return Math.round(1000 * this.maneuverSaves / this.maneuverShotsAgainst) / 10;
|
|
335
|
+
}
|
|
264
336
|
get freeKickSaves() {
|
|
265
337
|
return (this.ppFreeKickSaves || 0) + (this.shFreeKickSaves || 0) + (this.evFreeKickSaves || 0);
|
|
266
338
|
}
|
|
339
|
+
get freeKickShotsAgainst() {
|
|
340
|
+
return this.freeKickSaves + (this.freeKickGoalsAgainst || 0);
|
|
341
|
+
}
|
|
342
|
+
get freeKickSavesPercent() {
|
|
343
|
+
if (!this.freeKickSaves || !this.freeKickShotsAgainst) {
|
|
344
|
+
return 0;
|
|
345
|
+
}
|
|
346
|
+
return Math.round(1000 * this.freeKickSaves / this.freeKickShotsAgainst) / 10;
|
|
347
|
+
}
|
|
267
348
|
get cornerSaves() {
|
|
268
349
|
return (this.ppCornerSaves || 0) + (this.shCornerSaves || 0) + (this.evCornerSaves || 0);
|
|
269
350
|
}
|
|
351
|
+
get cornerShotsAgainst() {
|
|
352
|
+
return this.cornerSaves + (this.cornerGoalsAgainst || 0);
|
|
353
|
+
}
|
|
354
|
+
get cornerSavesPercent() {
|
|
355
|
+
if (!this.cornerSaves || !this.cornerShotsAgainst) {
|
|
356
|
+
return 0;
|
|
357
|
+
}
|
|
358
|
+
return Math.round(1000 * this.cornerSaves / this.cornerShotsAgainst) / 10;
|
|
359
|
+
}
|
|
270
360
|
get totalShSaves() {
|
|
271
361
|
return (this.shCounterAttackSaves || 0) + (this.shManeuverSaves || 0) + (this.shCenterForwardSaves || 0) +
|
|
272
362
|
(this.shSaves || 0) + (this.shFreeKickSaves || 0) + (this.shCornerSaves || 0);
|
|
@@ -487,4 +577,4 @@ WaterpoloGameStatistic = __decorate([
|
|
|
487
577
|
})
|
|
488
578
|
], WaterpoloGameStatistic);
|
|
489
579
|
export { WaterpoloGameStatistic };
|
|
490
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJwb2xvLWdhbWUtc3RhdGlzdGljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbW9kZWxzL3dhdGVycG9sby1nYW1lLXN0YXRpc3RpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxRQUFRLENBQUM7SUE0SjdFLHNCQUFzQixTQUF0QixzQkFBdUIsU0FBUSxTQUFTO0lBb0puRCxJQUFJLEVBQUU7UUFDSixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4QixPQUFPLE9BQU8sQ0FBQztTQUNoQjtRQUNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNyRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sR0FBRyxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7SUFDakYsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsR0FBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLEdBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakgsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbkgsQ0FBQztJQUVELElBQUksd0JBQXdCO1FBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEgsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxDQUFDLEdBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDckcsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksQ0FBQyxDQUFDLEdBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVELElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLEdBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakgsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbkgsQ0FBQztJQUVELElBQUksd0JBQXdCO1FBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEgsQ0FBQztJQUVELElBQUksT0FBTztRQUNU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QW1CO1lBQzFDLG1CQUFtQixFQUFFLGtCQUFrQjtZQUN2QyxrQkFBa0IsRUFBRSxpQkFBaUI7WUFDckMscUJBQXFCLEVBQUUsbUJBQW1CO1lBQzFDLG1CQUFtQixFQUFFLGtCQUFrQjtZQUN2QyxnQkFBZ0IsRUFBRSxnQkFBZ0I7WUFDbEMsZUFBZSxFQUFFLGVBQWU7WUFDaEMsZUFBZSxFQUFFLGVBQWU7WUFDaEMsa0JBQWtCLEVBQUUsaUJBQWlCO1lBQ3JDLGdCQUFnQixFQUFFLGdCQUFnQjtZQUNsQyxlQUFlLEVBQUUsZUFBZTtZQUNoQyxrQkFBa0IsRUFBRSxpQkFBaUI7WUFDckMsZ0JBQWdCLEVBQUUsZ0JBQWdCO1lBQ2xDLGVBQWUsRUFBRSxlQUFlO1lBQ2hDLGtCQUFrQixFQUFFLGlCQUFpQjtZQUNyQyxnQkFBZ0IsRUFBRSxnQkFBZ0I7WUFDbEMsYUFBYSxFQUFFLGNBQWM7WUFDN0IsWUFBWSxFQUFFLGFBQWE7WUFDM0IsT0FBTyxFQUFFLFNBQVM7WUFDbEIsaUJBQWlCLEVBQUUsa0JBQWtCO1NBQ3RDO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsU0FBUyxFQUFFLGFBQWE7U0FDekI7S0FDRixDQUFDO0dBQ1csc0JBQXNCLENBNmlCbEM7U0E3aUJZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsSW5zdGFuY2UsIEJhc2VNb2RlbCwgVG9Gcm9udEhvb2ssIFRvQmFja0hvb2ssIERhdGVUaW1lRmllbGQgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgR2FtZVN0YXRpc3RpY0Jhc2UgfSBmcm9tICcuL2dhbWUtc3RhdGlzdGljLWJhc2UnO1xuXG5ATW9kZWxJbnN0YW5jZSh7XG4gIG1hcHBpbmdGaWVsZHM6IHtcbiAgICBnYW1lX3VzZXJfaWQ6ICdnYW1lVXNlcklkJyxcbiAgICB1cGRhdGVkX2F0OiAndXBkYXRlZEF0JyxcbiAgICBwb2ludHM6ICdwb2ludHMnLFxuICAgIHBwX3Nob3RfbWlzc2VzOiAncHBTaG90TWlzc2VzJyxcbiAgICBwcF9zaG90c19vbl9nb2FsOiAncHBTaG90c09uR29hbCcsXG4gICAgcHBfc2hvdHNfYmxvY2tlZDogJ3BwU2hvdHNCbG9ja2VkJyxcbiAgICBldl9zaG90X21pc3NlczogJ2V2U2hvdE1pc3NlcycsXG4gICAgZXZfc2hvdHNfb25fZ29hbDogJ2V2U2hvdHNPbkdvYWwnLFxuICAgIGV2X3Nob3RzX2Jsb2NrZWQ6ICdldlNob3RzQmxvY2tlZCcsXG4gICAgc2hfc2hvdF9taXNzZXM6ICdzaFNob3RNaXNzZXMnLFxuICAgIHNoX3Nob3RzX29uX2dvYWw6ICdzaFNob3RzT25Hb2FsJyxcbiAgICBzaF9zaG90c19ibG9ja2VkOiAnc2hTaG90c0Jsb2NrZWQnLFxuICAgIHBwX3RvdGFsX3Nob3RzX29uX2dvYWw6ICdwcFRvdGFsU2hvdHNPbkdvYWwnLFxuICAgIGV2X3RvdGFsX3Nob3RzX29uX2dvYWw6ICdldlRvdGFsU2hvdHNPbkdvYWwnLFxuICAgIHNoX3RvdGFsX3Nob3RzX29uX2dvYWw6ICdzaFRvdGFsU2hvdHNPbkdvYWwnLFxuICAgIHBwX2dvYWxzOiAncHBHb2FscycsXG4gICAgZXZfZ29hbHM6ICdldkdvYWxzJyxcbiAgICBzaF9nb2FsczogJ3NoR29hbHMnLFxuICAgIHBwX2NvdW50ZXJhdHRhY2tfZ29hbHM6ICdwcENvdW50ZXJBdHRhY2tHb2FscycsXG4gICAgcHBfY291bnRlcmF0dGFja19vbl9nb2FsczogJ3BwQ291bnRlckF0dGFja09uR29hbHMnLFxuICAgIHBwX2NvdW50ZXJhdHRhY2tfbWlzc2VzOiAncHBDb3VudGVyQXR0YWNrTWlzc2VzJyxcbiAgICBldl9jb3VudGVyYXR0YWNrX2dvYWxzOiAnZXZDb3VudGVyQXR0YWNrR29hbHMnLFxuICAgIGV2X2NvdW50ZXJhdHRhY2tfb25fZ29hbHM6ICdldkNvdW50ZXJBdHRhY2tPbkdvYWxzJyxcbiAgICBldl9jb3VudGVyYXR0YWNrX21pc3NlczogJ2V2Q291bnRlckF0dGFja01pc3NlcycsXG4gICAgc2hfY291bnRlcmF0dGFja19nb2FsczogJ3NoQ291bnRlckF0dGFja0dvYWxzJyxcbiAgICBzaF9jb3VudGVyYXR0YWNrX29uX2dvYWxzOiAnc2hDb3VudGVyQXR0YWNrT25Hb2FscycsXG4gICAgc2hfY291bnRlcmF0dGFja19taXNzZXM6ICdzaENvdW50ZXJBdHRhY2tNaXNzZXMnLFxuICAgIHBwX21hbmV1dmVyX2dvYWxzOiAncHBNYW5ldXZlckdvYWxzJyxcbiAgICBwcF9tYW5ldXZlcl9vbl9nb2FsczogJ3BwTWFuZXV2ZXJPbkdvYWxzJyxcbiAgICBwcF9tYW5ldXZlcl9taXNzZXM6ICdwcE1hbmV1dmVyTWlzc2VzJyxcbiAgICBldl9tYW5ldXZlcl9nb2FsczogJ2V2TWFuZXV2ZXJHb2FscycsXG4gICAgZXZfbWFuZXV2ZXJfb25fZ29hbHM6ICdldk1hbmV1dmVyT25Hb2FscycsXG4gICAgZXZfbWFuZXV2ZXJfbWlzc2VzOiAnZXZNYW5ldXZlck1pc3NlcycsXG4gICAgc2hfbWFuZXV2ZXJfZ29hbHM6ICdzaE1hbmV1dmVyR29hbHMnLFxuICAgIHNoX21hbmV1dmVyX29uX2dvYWxzOiAnc2hNYW5ldXZlck9uR29hbHMnLFxuICAgIHNoX21hbmV1dmVyX21pc3NlczogJ3NoTWFuZXV2ZXJNaXNzZXMnLFxuICAgIHBwX2NlbnRlcl9mb3J3YXJkX2dvYWxzOiAncHBDZW50ZXJGb3J3YXJkR29hbHMnLFxuICAgIHBwX2NlbnRlcl9mb3J3YXJkX29uX2dvYWxzOiAncHBDZW50ZXJGb3J3YXJkT25Hb2FscycsXG4gICAgcHBfY2VudGVyX2ZvcndhcmRfbWlzc2VzOiAncHBDZW50ZXJGb3J3YXJkTWlzc2VzJyxcbiAgICBldl9jZW50ZXJfZm9yd2FyZF9nb2FsczogJ2V2Q2VudGVyRm9yd2FyZEdvYWxzJyxcbiAgICBldl9jZW50ZXJfZm9yd2FyZF9vbl9nb2FsczogJ2V2Q2VudGVyRm9yd2FyZE9uR29hbHMnLFxuICAgIGV2X2NlbnRlcl9mb3J3YXJkX21pc3NlczogJ2V2Q2VudGVyRm9yd2FyZE1pc3NlcycsXG4gICAgc2hfY2VudGVyX2ZvcndhcmRfZ29hbHM6ICdzaENlbnRlckZvcndhcmRHb2FscycsXG4gICAgc2hfY2VudGVyX2ZvcndhcmRfb25fZ29hbHM6ICdzaENlbnRlckZvcndhcmRPbkdvYWxzJyxcbiAgICBzaF9jZW50ZXJfZm9yd2FyZF9taXNzZXM6ICdzaENlbnRlckZvcndhcmRNaXNzZXMnLFxuICAgIHBwX2Fzc2lzdHM6ICdwcEFzc2lzdHMnLFxuICAgIGV2X2Fzc2lzdHM6ICdldkFzc2lzdHMnLFxuICAgIHNoX2Fzc2lzdHM6ICdzaEFzc2lzdHMnLFxuICAgIHNob290b3V0X2F0dGVtcHRzOiAnc2hvb3RvdXRBdHRlbXB0cycsXG4gICAgc2hvb3RvdXRfZ29hbHM6ICdzaG9vdG91dEdvYWxzJyxcbiAgICBhZnRlcl9nYW1lX3Nob290b3V0X2F0dGVtcHRzOiAnYWZ0ZXJHYW1lU2hvb3RvdXRBdHRlbXB0cycsXG4gICAgYWZ0ZXJfZ2FtZV9zaG9vdG91dF9nb2FsczogJ2FmdGVyR2FtZVNob290b3V0R29hbHMnLFxuICAgIGJsb2NrX3Nob3RzOiAnYmxvY2tTaG90cycsXG4gICAgZmFjZV9vZmZfbG9zc2VzOiAnZmFjZU9mZkxvc3NlcycsXG4gICAgZmFjZV9vZmZfd2luczogJ2ZhY2VPZmZXaW5zJyxcbiAgICBwcF9zYXZlczogJ3BwU2F2ZXMnLFxuICAgIHNoX3NhdmVzOiAnc2hTYXZlcycsXG4gICAgZXZfc2F2ZXM6ICdldlNhdmVzJyxcbiAgICBwcF9jb3VudGVyYXR0YWNrX3NhdmVzOiAncHBDb3VudGVyQXR0YWNrU2F2ZXMnLFxuICAgIHNoX2NvdW50ZXJhdHRhY2tfc2F2ZXM6ICdzaENvdW50ZXJBdHRhY2tTYXZlcycsXG4gICAgZXZfY291bnRlcmF0dGFja19zYXZlczogJ2V2Q291bnRlckF0dGFja1NhdmVzJyxcbiAgICBwcF9tYW5ldXZlcl9zYXZlczogJ3BwTWFuZXV2ZXJTYXZlcycsXG4gICAgc2hfbWFuZXV2ZXJfc2F2ZXM6ICdzaE1hbmV1dmVyU2F2ZXMnLFxuICAgIGV2X21hbmV1dmVyX3NhdmVzOiAnZXZNYW5ldXZlclNhdmVzJyxcbiAgICBwcF9jZW50ZXJfZm9yd2FyZF9zYXZlczogJ3BwQ2VudGVyRm9yd2FyZFNhdmVzJyxcbiAgICBzaF9jZW50ZXJfZm9yd2FyZF9zYXZlczogJ3NoQ2VudGVyRm9yd2FyZFNhdmVzJyxcbiAgICBldl9jZW50ZXJfZm9yd2FyZF9zYXZlczogJ2V2Q2VudGVyRm9yd2FyZFNhdmVzJyxcbiAgICBwcF9mcmVlX2tpY2tfc2F2ZXM6ICdwcEZyZWVLaWNrU2F2ZXMnLFxuICAgIHNoX2ZyZWVfa2lja19zYXZlczogJ3NoRnJlZUtpY2tTYXZlcycsXG4gICAgZXZfZnJlZV9raWNrX3NhdmVzOiAnZXZGcmVlS2lja1NhdmVzJyxcbiAgICBwcF9jb3JuZXJfc2F2ZXM6ICdwcENvcm5lclNhdmVzJyxcbiAgICBzaF9jb3JuZXJfc2F2ZXM6ICdzaENvcm5lclNhdmVzJyxcbiAgICBldl9jb3JuZXJfc2F2ZXM6ICdldkNvcm5lclNhdmVzJyxcbiAgICBwcF90b3RhbF9nYW1lX3NhdmVzOiAncHBUb3RhbEdhbWVTYXZlcycsXG4gICAgc2hfdG90YWxfZ2FtZV9zYXZlczogJ3NoVG90YWxHYW1lU2F2ZXMnLFxuICAgIGV2X3RvdGFsX2dhbWVfc2F2ZXM6ICdldlRvdGFsR2FtZVNhdmVzJyxcbiAgICBzaG9vdG91dF9zYXZlczogJ3Nob290b3V0U2F2ZXMnLFxuICAgIGFmdGVyX2dhbWVfc2hvb3RvdXRfc2F2ZXM6ICdhZnRlckdhbWVTaG9vdG91dFNhdmVzJyxcbiAgICBwcF9nb2Fsc19hZ2FpbnN0OiAncHBHb2Fsc0FnYWluc3QnLFxuICAgIHNoX2dvYWxzX2FnYWluc3Q6ICdzaEdvYWxzQWdhaW5zdCcsXG4gICAgZXZfZ29hbHNfYWdhaW5zdDogJ2V2R29hbHNBZ2FpbnN0JyxcbiAgICBnb2Fsc19hZ2FpbnN0OiAnZ29hbHNBZ2FpbnN0JyxcbiAgICBwcF9jb3VudGVyYXR0YWNrX2dvYWxzX2FnYWluc3Q6ICdwcENvdW50ZXJBdHRhY2tHb2Fsc0FnYWluc3QnLFxuICAgIHNoX2NvdW50ZXJhdHRhY2tfZ29hbHNfYWdhaW5zdDogJ3NoQ291bnRlckF0dGFja0dvYWxzQWdhaW5zdCcsXG4gICAgZXZfY291bnRlcmF0dGFja19nb2Fsc19hZ2FpbnN0OiAnZXZDb3VudGVyQXR0YWNrR29hbHNBZ2FpbnN0JyxcbiAgICBjb3VudGVyYXR0YWNrX2dvYWxzX2FnYWluc3Q6ICdjb3VudGVyQXR0YWNrR29hbHNBZ2FpbnN0JyxcbiAgICBwcF9tYW5ldXZlcl9nb2Fsc19hZ2FpbnN0OiAncHBNYW5ldXZlckdvYWxzQWdhaW5zdCcsXG4gICAgc2hfbWFuZXV2ZXJfZ29hbHNfYWdhaW5zdDogJ3NoTWFuZXV2ZXJHb2Fsc0FnYWluc3QnLFxuICAgIGV2X21hbmV1dmVyX2dvYWxzX2FnYWluc3Q6ICdldk1hbmV1dmVyR29hbHNBZ2FpbnN0JyxcbiAgICBtYW5ldXZlcl9nb2Fsc19hZ2FpbnN0OiAnbWFuZXV2ZXJHb2Fsc0FnYWluc3QnLFxuICAgIHBwX2NlbnRlcl9mb3J3YXJkX2dvYWxzX2FnYWluc3Q6ICdwcENlbnRlckZvcndhcmRHb2Fsc0FnYWluc3QnLFxuICAgIHNoX2NlbnRlcl9mb3J3YXJkX2dvYWxzX2FnYWluc3Q6ICdzaENlbnRlckZvcndhcmRHb2Fsc0FnYWluc3QnLFxuICAgIGV2X2NlbnRlcl9mb3J3YXJkX2dvYWxzX2FnYWluc3Q6ICdldkNlbnRlckZvcndhcmRHb2Fsc0FnYWluc3QnLFxuICAgIGNlbnRlcl9mb3J3YXJkX2dvYWxzX2FnYWluc3Q6ICdjZW50ZXJGb3J3YXJkR29hbHNBZ2FpbnN0JyxcbiAgICBwcF9mcmVlX2tpY2tfZ29hbHNfYWdhaW5zdDogJ3BwRnJlZUtpY2tHb2Fsc0FnYWluc3QnLFxuICAgIHNoX2ZyZWVfa2lja19nb2Fsc19hZ2FpbnN0OiAnc2hGcmVlS2lja0dvYWxzQWdhaW5zdCcsXG4gICAgZXZfZnJlZV9raWNrX2dvYWxzX2FnYWluc3Q6ICdldkZyZWVLaWNrR29hbHNBZ2FpbnN0JyxcbiAgICBmcmVlX2tpY2tfZ29hbHNfYWdhaW5zdDogJ2ZyZWVLaWNrR29hbHNBZ2FpbnN0JyxcbiAgICBwcF9jb3JuZXJfZ29hbHNfYWdhaW5zdDogJ3BwQ29ybmVyR29hbHNBZ2FpbnN0JyxcbiAgICBzaF9jb3JuZXJfZ29hbHNfYWdhaW5zdDogJ3NoQ29ybmVyR29hbHNBZ2FpbnN0JyxcbiAgICBldl9jb3JuZXJfZ29hbHNfYWdhaW5zdDogJ2V2Q29ybmVyR29hbHNBZ2FpbnN0JyxcbiAgICBjb3JuZXJfZ29hbHNfYWdhaW5zdDogJ2Nvcm5lckdvYWxzQWdhaW5zdCcsXG4gICAgc2hvb3RvdXRfZ29hbHNfYWdhaW5zdDogJ3Nob290b3V0R29hbHNBZ2FpbnN0JyxcbiAgICBhZnRlcl9nYW1lX3Nob290b3V0X2dvYWxzX2FnYWluc3Q6ICdhZnRlckdhbWVTaG9vdG91dEdvYWxzQWdhaW5zdCcsXG4gICAgc2FmZXR5X3JhdGU6ICdzYWZldHlSYXRlJyxcbiAgICBwZW5hbHR5X21pbnV0ZXM6ICdwZW5hbHR5TWludXRlcycsXG4gICAgZ2FtZV90aW1lOiAnZ2FtZVRpbWUnLFxuICAgIHBsdXNfbWludXM6ICdwbHVzTWludXMnLFxuICAgIGZvdWxzOiAnZm91bHMnLFxuICAgIG1pbm9yX3BlbmFsdGllczogJ21pbm9yUGVuYWx0aWVzJyxcbiAgICBtYWpvcl9wZW5hbHRpZXM6ICdtYWpvclBlbmFsdGllcycsXG4gICAgbWF0Y2hfcGVuYWx0aWVzOiAnbWF0Y2hQZW5hbHRpZXMnLFxuICAgIHBlbmFsdHlfZm91bHM6ICdwZW5hbHR5Rm91bHMnLFxuICAgIHR1cm5vdmVyczogJ3R1cm5vdmVycycsXG4gICAgYXR0YWNrX2ZvdWxzOiAnYXR0YWNrRm91bHMnLFxuICAgIHBlcnNvbmFsX2ZvdWxzOiAncGVyc29uYWxGb3VscycsXG4gICAgZHJhd25fZm91bHM6ICdkcmF3bkZvdWxzJyxcbiAgICBkcmF3bl90dXJub3ZlcnM6ICdkcmF3blR1cm5vdmVycycsXG4gICAgeWVsbG93X2NhcmRzOiAneWVsbG93Q2FyZHMnLFxuICAgIHJlZF9jYXJkczogJ3JlZENhcmRzJyxcbiAgICBsb3NzZXM6ICdsb3NzZXMnLFxuICAgIHN0ZWFsczogJ3N0ZWFscycsXG4gICAgcHBfZnJlZV9raWNrX2dvYWxzOiAncHBGcmVlS2lja0dvYWxzJyxcbiAgICBwcF9mcmVlX2tpY2tfb25fZ29hbHM6ICdwcEZyZWVLaWNrT25Hb2FscycsXG4gICAgcHBfZnJlZV9raWNrX21pc3NlczogJ3BwRnJlZUtpY2tNaXNzZXMnLFxuICAgIHNoX2ZyZWVfa2lja19nb2FsczogJ3NoRnJlZUtpY2tHb2FscycsXG4gICAgc2hfZnJlZV9raWNrX29uX2dvYWxzOiAnc2hGcmVlS2lja09uR29hbHMnLFxuICAgIHNoX2ZyZWVfa2lja19taXNzZXM6ICdzaEZyZWVLaWNrTWlzc2VzJyxcbiAgICBldl9mcmVlX2tpY2tfZ29hbHM6ICdldkZyZWVLaWNrR29hbHMnLFxuICAgIGV2X2ZyZWVfa2lja19vbl9nb2FsczogJ2V2RnJlZUtpY2tPbkdvYWxzJyxcbiAgICBldl9mcmVlX2tpY2tfbWlzc2VzOiAnZXZGcmVlS2lja01pc3NlcycsXG4gICAgZnJlZV9raWNrX3Bhc3NlczogJ2ZyZWVLaWNrUGFzc2VzJyxcbiAgICBmcmVlX2tpY2tfc2VsZnM6ICdmcmVlS2lja1NlbGZzJyxcbiAgICBwcF9jb3JuZXJfZ29hbHM6ICdwcENvcm5lckdvYWxzJyxcbiAgICBwcF9jb3JuZXJfb25fZ29hbHM6ICdwcENvcm5lck9uR29hbHMnLFxuICAgIHBwX2Nvcm5lcl9taXNzZXM6ICdwcENvcm5lck1pc3NlcycsXG4gICAgc2hfY29ybmVyX2dvYWxzOiAnc2hDb3JuZXJHb2FscycsXG4gICAgc2hfY29ybmVyX29uX2dvYWxzOiAnc2hDb3JuZXJPbkdvYWxzJyxcbiAgICBzaF9jb3JuZXJfbWlzc2VzOiAnc2hDb3JuZXJNaXNzZXMnLFxuICAgIGV2X2Nvcm5lcl9nb2FsczogJ2V2Q29ybmVyR29hbHMnLFxuICAgIGV2X2Nvcm5lcl9vbl9nb2FsczogJ2V2Q29ybmVyT25Hb2FscycsXG4gICAgZXZfY29ybmVyX21pc3NlczogJ2V2Q29ybmVyTWlzc2VzJyxcbiAgICBjb3JuZXJfcGFzc2VzOiAnY29ybmVyUGFzc2VzJyxcbiAgICBjb3JuZXJfc2VsZnM6ICdjb3JuZXJTZWxmcycsXG4gICAgdGFja2xlczogJ3RhY2tsZXMnLFxuICAgIHBsYXllcl9lZmZpY2llbmN5OiAncGxheWVyRWZmaWNpZW5jeSdcbiAgfSxcbiAgcmVsYXRpb246IHtcbiAgICB1cGRhdGVkQXQ6IERhdGVUaW1lRmllbGQsXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgV2F0ZXJwb2xvR2FtZVN0YXRpc3RpYyBleHRlbmRzIEJhc2VNb2RlbCBpbXBsZW1lbnRzIEdhbWVTdGF0aXN0aWNCYXNlIHtcbiAgZ2FtZVVzZXJJZDogbnVtYmVyO1xuICBwb2ludHM6IG51bWJlcjtcbiAgcHBTaG90TWlzc2VzOiBudW1iZXI7XG4gIHBwU2hvdHNPbkdvYWw6IG51bWJlcjtcbiAgcHBTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgZXZTaG90TWlzc2VzOiBudW1iZXI7XG4gIGV2U2hvdHNPbkdvYWw6IG51bWJlcjtcbiAgZXZTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgc2hTaG90TWlzc2VzOiBudW1iZXI7XG4gIHNoU2hvdHNPbkdvYWw6IG51bWJlcjtcbiAgc2hTaG90c0Jsb2NrZWQ6IG51bWJlcjtcbiAgcHBUb3RhbFNob3RzT25Hb2FsOiBudW1iZXI7XG4gIGV2VG90YWxTaG90c09uR29hbDogbnVtYmVyO1xuICBzaFRvdGFsU2hvdHNPbkdvYWw6IG51bWJlcjtcbiAgcHBHb2FsczogbnVtYmVyO1xuICBldkdvYWxzOiBudW1iZXI7XG4gIHNoR29hbHM6IG51bWJlcjtcbiAgcHBDb3VudGVyQXR0YWNrR29hbHM6IG51bWJlcjtcbiAgcHBDb3VudGVyQXR0YWNrT25Hb2FsczogbnVtYmVyO1xuICBwcENvdW50ZXJBdHRhY2tNaXNzZXM6IG51bWJlcjtcbiAgZXZDb3VudGVyQXR0YWNrR29hbHM6IG51bWJlcjtcbiAgZXZDb3VudGVyQXR0YWNrT25Hb2FsczogbnVtYmVyO1xuICBldkNvdW50ZXJBdHRhY2tNaXNzZXM6IG51bWJlcjtcbiAgc2hDb3VudGVyQXR0YWNrR29hbHM6IG51bWJlcjtcbiAgc2hDb3VudGVyQXR0YWNrT25Hb2FsczogbnVtYmVyO1xuICBzaENvdW50ZXJBdHRhY2tNaXNzZXM6IG51bWJlcjtcbiAgcHBNYW5ldXZlckdvYWxzOiBudW1iZXI7XG4gIHBwTWFuZXV2ZXJPbkdvYWxzOiBudW1iZXI7XG4gIHBwTWFuZXV2ZXJNaXNzZXM6IG51bWJlcjtcbiAgZXZNYW5ldXZlckdvYWxzOiBudW1iZXI7XG4gIGV2TWFuZXV2ZXJPbkdvYWxzOiBudW1iZXI7XG4gIGV2TWFuZXV2ZXJNaXNzZXM6IG51bWJlcjtcbiAgc2hNYW5ldXZlckdvYWxzOiBudW1iZXI7XG4gIHNoTWFuZXV2ZXJPbkdvYWxzOiBudW1iZXI7XG4gIHNoTWFuZXV2ZXJNaXNzZXM6IG51bWJlcjtcbiAgcHBDZW50ZXJGb3J3YXJkR29hbHM6IG51bWJlcjtcbiAgcHBDZW50ZXJGb3J3YXJkT25Hb2FsczogbnVtYmVyO1xuICBwcENlbnRlckZvcndhcmRNaXNzZXM6IG51bWJlcjtcbiAgZXZDZW50ZXJGb3J3YXJkR29hbHM6IG51bWJlcjtcbiAgZXZDZW50ZXJGb3J3YXJkT25Hb2FsczogbnVtYmVyO1xuICBldkNlbnRlckZvcndhcmRNaXNzZXM6IG51bWJlcjtcbiAgc2hDZW50ZXJGb3J3YXJkR29hbHM6IG51bWJlcjtcbiAgc2hDZW50ZXJGb3J3YXJkT25Hb2FsczogbnVtYmVyO1xuICBzaENlbnRlckZvcndhcmRNaXNzZXM6IG51bWJlcjtcbiAgcHBBc3Npc3RzOiBudW1iZXI7XG4gIGV2QXNzaXN0czogbnVtYmVyO1xuICBzaEFzc2lzdHM6IG51bWJlcjtcbiAgc2hvb3RvdXRBdHRlbXB0czogbnVtYmVyO1xuICBzaG9vdG91dEdvYWxzOiBudW1iZXI7XG4gIGFmdGVyR2FtZVNob290b3V0QXR0ZW1wdHM6IG51bWJlcjtcbiAgYWZ0ZXJHYW1lU2hvb3RvdXRHb2FsczogbnVtYmVyO1xuICBibG9ja1Nob3RzOiBudW1iZXI7XG4gIGZhY2VPZmZMb3NzZXM6IG51bWJlcjtcbiAgZmFjZU9mZldpbnM6IG51bWJlcjtcbiAgcHBTYXZlczogbnVtYmVyO1xuICBzaFNhdmVzOiBudW1iZXI7XG4gIGV2U2F2ZXM6IG51bWJlcjtcbiAgcHBDb3VudGVyQXR0YWNrU2F2ZXM6IG51bWJlcjtcbiAgc2hDb3VudGVyQXR0YWNrU2F2ZXM6IG51bWJlcjtcbiAgZXZDb3VudGVyQXR0YWNrU2F2ZXM6IG51bWJlcjtcbiAgcHBNYW5ldXZlclNhdmVzOiBudW1iZXI7XG4gIHNoTWFuZXV2ZXJTYXZlczogbnVtYmVyO1xuICBldk1hbmV1dmVyU2F2ZXM6IG51bWJlcjtcbiAgcHBDZW50ZXJGb3J3YXJkU2F2ZXM6IG51bWJlcjtcbiAgc2hDZW50ZXJGb3J3YXJkU2F2ZXM6IG51bWJlcjtcbiAgZXZDZW50ZXJGb3J3YXJkU2F2ZXM6IG51bWJlcjtcbiAgcHBGcmVlS2lja1NhdmVzOiBudW1iZXI7XG4gIHNoRnJlZUtpY2tTYXZlczogbnVtYmVyO1xuICBldkZyZWVLaWNrU2F2ZXM6IG51bWJlcjtcbiAgcHBDb3JuZXJTYXZlczogbnVtYmVyO1xuICBzaENvcm5lclNhdmVzOiBudW1iZXI7XG4gIGV2Q29ybmVyU2F2ZXM6IG51bWJlcjtcbiAgcHBUb3RhbEdhbWVTYXZlczogbnVtYmVyO1xuICBzaFRvdGFsR2FtZVNhdmVzOiBudW1iZXI7XG4gIGV2VG90YWxHYW1lU2F2ZXM6IG51bWJlcjtcbiAgc2hvb3RvdXRTYXZlczogbnVtYmVyO1xuICBhZnRlckdhbWVTaG9vdG91dFNhdmVzOiBudW1iZXI7XG4gIHBwR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHNoR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGV2R29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBwcENvdW50ZXJBdHRhY2tHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgc2hDb3VudGVyQXR0YWNrR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGV2Q291bnRlckF0dGFja0dvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBjb3VudGVyQXR0YWNrR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHBwTWFuZXV2ZXJHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgc2hNYW5ldXZlckdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBldk1hbmV1dmVyR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIG1hbmV1dmVyR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHBwQ2VudGVyRm9yd2FyZEdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBzaENlbnRlckZvcndhcmRHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgZXZDZW50ZXJGb3J3YXJkR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGNlbnRlckZvcndhcmRHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgcHBGcmVlS2lja0dvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBzaEZyZWVLaWNrR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGV2RnJlZUtpY2tHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgZnJlZUtpY2tHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgcHBDb3JuZXJHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgc2hDb3JuZXJHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgZXZDb3JuZXJHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgY29ybmVyR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHNob290b3V0R29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGFmdGVyR2FtZVNob290b3V0R29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHNhZmV0eVJhdGU6IG51bWJlcjtcbiAgcGVuYWx0eU1pbnV0ZXM6IG51bWJlcjtcbiAgZ2FtZVRpbWU6IG51bWJlcjtcbiAgcGx1c01pbnVzOiBudW1iZXI7XG4gIGZvdWxzOiBudW1iZXI7XG4gIG1pbm9yUGVuYWx0aWVzOiBudW1iZXI7XG4gIG1ham9yUGVuYWx0aWVzOiBudW1iZXI7XG4gIG1hdGNoUGVuYWx0aWVzOiBudW1iZXI7XG4gIHBlbmFsdHlGb3VsczogbnVtYmVyO1xuICB0dXJub3ZlcnM6IG51bWJlcjtcbiAgYXR0YWNrRm91bHM6IG51bWJlcjtcbiAgcGVyc29uYWxGb3VsczogbnVtYmVyO1xuICBkcmF3bkZvdWxzOiBudW1iZXI7XG4gIGRyYXduVHVybm92ZXJzOiBudW1iZXI7XG4gIHllbGxvd0NhcmRzOiBudW1iZXI7XG4gIHJlZENhcmRzOiBudW1iZXI7XG4gIGxvc3NlczogbnVtYmVyO1xuICBzdGVhbHM6IG51bWJlcjtcbiAgcHBGcmVlS2lja0dvYWxzOiBudW1iZXI7XG4gIHBwRnJlZUtpY2tPbkdvYWxzOiBudW1iZXI7XG4gIHBwRnJlZUtpY2tNaXNzZXM6IG51bWJlcjtcbiAgc2hGcmVlS2lja0dvYWxzOiBudW1iZXI7XG4gIHNoRnJlZUtpY2tPbkdvYWxzOiBudW1iZXI7XG4gIHNoRnJlZUtpY2tNaXNzZXM6IG51bWJlcjtcbiAgZXZGcmVlS2lja0dvYWxzOiBudW1iZXI7XG4gIGV2RnJlZUtpY2tPbkdvYWxzOiBudW1iZXI7XG4gIGV2RnJlZUtpY2tNaXNzZXM6IG51bWJlcjtcbiAgZnJlZUtpY2tQYXNzZXM6IG51bWJlcjtcbiAgZnJlZUtpY2tTZWxmczogbnVtYmVyO1xuICBwcENvcm5lckdvYWxzOiBudW1iZXI7XG4gIHBwQ29ybmVyT25Hb2FsczogbnVtYmVyO1xuICBwcENvcm5lck1pc3NlczogbnVtYmVyO1xuICBzaENvcm5lckdvYWxzOiBudW1iZXI7XG4gIHNoQ29ybmVyT25Hb2FsczogbnVtYmVyO1xuICBzaENvcm5lck1pc3NlczogbnVtYmVyO1xuICBldkNvcm5lckdvYWxzOiBudW1iZXI7XG4gIGV2Q29ybmVyT25Hb2FsczogbnVtYmVyO1xuICBldkNvcm5lck1pc3NlczogbnVtYmVyO1xuICBjb3JuZXJQYXNzZXM6IG51bWJlcjtcbiAgY29ybmVyU2VsZnM6IG51bWJlcjtcbiAgdGFja2xlczogbnVtYmVyO1xuICBwbGF5ZXJFZmZpY2llbmN5OiBudW1iZXI7XG4gIHVwZGF0ZWRBdDogRGF0ZTtcblxuICBnZXQgaWQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nYW1lVXNlcklkO1xuICB9XG5cbiAgZ2V0IGdhbWVNaW51dGVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguZmxvb3IodGhpcy5nYW1lVGltZSAvIDYwKTtcbiAgfVxuXG4gIGdldCBwZW5hbHR5VGltZSgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5wZW5hbHR5TWludXRlcykge1xuICAgICAgcmV0dXJuICcwMDowMCc7XG4gICAgfVxuICAgIGNvbnN0IG1pbnV0ZXMgPSBNYXRoLmZsb29yKHRoaXMucGVuYWx0eU1pbnV0ZXMgLyA2MCk7XG4gICAgY29uc3Qgc2Vjb25kcyA9IE1hdGguZmxvb3IodGhpcy5wZW5hbHR5TWludXRlcyAtIG1pbnV0ZXMgKiA2MCk7XG4gICAgcmV0dXJuIGAke21pbnV0ZXMgPCAxMCA/IDAgOiAnJ30ke21pbnV0ZXN9OiR7c2Vjb25kcyA8IDEwID8gMCA6ICcnfSR7c2Vjb25kc31gO1xuICB9XG5cbiAgZ2V0IGFzc2lzdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBBc3Npc3RzIHx8IDApICsgKHRoaXMuc2hBc3Npc3RzIHx8IDApICArICh0aGlzLmV2QXNzaXN0cyB8fCAwKTtcbiAgfVxuXG4gIGdldCB0b3RhbENvdW50ZXJBdHRhY2tHb2FscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcENvdW50ZXJBdHRhY2tHb2FscyB8fCAwKSArICh0aGlzLmV2Q291bnRlckF0dGFja0dvYWxzIHx8IDApICArICh0aGlzLnNoQ291bnRlckF0dGFja0dvYWxzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHBwQ291bnRlckF0dGFja1Nob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwQ291bnRlckF0dGFja09uR29hbHMgfHwgMCkgKyAodGhpcy5wcENvdW50ZXJBdHRhY2tNaXNzZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgc2hDb3VudGVyQXR0YWNrU2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuc2hDb3VudGVyQXR0YWNrT25Hb2FscyB8fCAwKSArICh0aGlzLnNoQ291bnRlckF0dGFja01pc3NlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBldkNvdW50ZXJBdHRhY2tTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5ldkNvdW50ZXJBdHRhY2tPbkdvYWxzIHx8IDApICsgKHRoaXMuZXZDb3VudGVyQXR0YWNrTWlzc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGNvdW50ZXJBdHRhY2tTaG90TWlzc2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwQ291bnRlckF0dGFja01pc3NlcyB8fCAwKSArICh0aGlzLnNoQ291bnRlckF0dGFja01pc3NlcyB8fCAwKSArICh0aGlzLmV2Q291bnRlckF0dGFja01pc3NlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBjb3VudGVyQXR0YWNrU2hvdE9uR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBDb3VudGVyQXR0YWNrT25Hb2FscyB8fCAwKSArICh0aGlzLnNoQ291bnRlckF0dGFja09uR29hbHMgfHwgMCkgKyAodGhpcy5ldkNvdW50ZXJBdHRhY2tPbkdvYWxzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHRvdGFsTWFuZXV2ZXJHb2FscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcE1hbmV1dmVyR29hbHMgfHwgMCkgKyAodGhpcy5zaE1hbmV1dmVyR29hbHMgfHwgMCkgKyAodGhpcy5ldk1hbmV1dmVyR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgcHBNYW5ldXZlclNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwTWFuZXV2ZXJPbkdvYWxzIHx8IDApICsgKHRoaXMucHBNYW5ldXZlck1pc3NlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBzaE1hbmV1dmVyU2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuc2hNYW5ldXZlck9uR29hbHMgfHwgMCkgKyAodGhpcy5zaE1hbmV1dmVyTWlzc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGV2TWFuZXV2ZXJTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5ldk1hbmV1dmVyT25Hb2FscyB8fCAwKSArICh0aGlzLmV2TWFuZXV2ZXJNaXNzZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgbWFuZXV2ZXJTaG90TWlzc2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwTWFuZXV2ZXJNaXNzZXMgfHwgMCkgKyAodGhpcy5zaE1hbmV1dmVyTWlzc2VzIHx8IDApICsgICh0aGlzLmV2TWFuZXV2ZXJNaXNzZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgbWFuZXV2ZXJTaG90T25Hb2FscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcE1hbmV1dmVyT25Hb2FscyB8fCAwKSArICh0aGlzLnNoTWFuZXV2ZXJPbkdvYWxzIHx8IDApICsgICh0aGlzLmV2TWFuZXV2ZXJPbkdvYWxzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHRvdGFsQ2VudGVyRm9yd2FyZEdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwQ2VudGVyRm9yd2FyZEdvYWxzIHx8IDApICsgKHRoaXMuc2hDZW50ZXJGb3J3YXJkR29hbHMgfHwgMCkgKyAgKHRoaXMuZXZDZW50ZXJGb3J3YXJkR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgcHBDZW50ZXJGb3J3YXJkU2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBDZW50ZXJGb3J3YXJkT25Hb2FscyB8fCAwKSArICh0aGlzLnBwQ2VudGVyRm9yd2FyZE1pc3NlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBzaENlbnRlckZvcndhcmRTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaENlbnRlckZvcndhcmRPbkdvYWxzIHx8IDApICsgKHRoaXMuc2hDZW50ZXJGb3J3YXJkTWlzc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGV2Q2VudGVyRm9yd2FyZFNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2Q2VudGVyRm9yd2FyZE9uR29hbHMgfHwgMCkgKyAodGhpcy5ldkNlbnRlckZvcndhcmRNaXNzZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgY2VudGVyRm9yd2FyZFNob3RNaXNzZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBDZW50ZXJGb3J3YXJkTWlzc2VzIHx8IDApICsgKHRoaXMuc2hDZW50ZXJGb3J3YXJkTWlzc2VzIHx8IDApICsgKHRoaXMuZXZDZW50ZXJGb3J3YXJkTWlzc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGNlbnRlckZvcndhcmRTaG90T25Hb2FscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcENlbnRlckZvcndhcmRPbkdvYWxzIHx8IDApICsgKHRoaXMuc2hDZW50ZXJGb3J3YXJkT25Hb2FscyB8fCAwKSArICh0aGlzLmV2Q2VudGVyRm9yd2FyZE9uR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgcHBTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcFNob3RNaXNzZXMgfHwgMCkgKyAodGhpcy5wcFNob3RzT25Hb2FsIHx8IDApICsgKHRoaXMucHBTaG90c0Jsb2NrZWQgfHwgMCkgK1xuICAgICAgKHRoaXMucHBGcmVlS2lja01pc3NlcyB8fCAwKSArICh0aGlzLnBwRnJlZUtpY2tPbkdvYWxzIHx8IDApICtcbiAgICAgICh0aGlzLnBwQ29ybmVyTWlzc2VzIHx8IDApICsgKHRoaXMucHBDb3JuZXJPbkdvYWxzIHx8IDApICtcbiAgICAgIHRoaXMucHBDb3VudGVyQXR0YWNrU2hvdHMgKyB0aGlzLnBwTWFuZXV2ZXJTaG90cyArIHRoaXMucHBDZW50ZXJGb3J3YXJkU2hvdHM7XG4gIH1cblxuICBnZXQgZXZTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5ldlNob3RNaXNzZXMgfHwgMCkgKyAodGhpcy5ldlNob3RzT25Hb2FsIHx8IDApICsgKHRoaXMuZXZTaG90c0Jsb2NrZWQgfHwgMCkgK1xuICAgICAgKHRoaXMuZXZGcmVlS2lja01pc3NlcyB8fCAwKSArICh0aGlzLmV2RnJlZUtpY2tPbkdvYWxzIHx8IDApICtcbiAgICAgICh0aGlzLmV2Q29ybmVyTWlzc2VzIHx8IDApICsgKHRoaXMuZXZDb3JuZXJPbkdvYWxzIHx8IDApICtcbiAgICAgIHRoaXMuZXZDb3VudGVyQXR0YWNrU2hvdHMgKyB0aGlzLmV2TWFuZXV2ZXJTaG90cyArIHRoaXMuZXZDZW50ZXJGb3J3YXJkU2hvdHM7XG4gIH1cblxuICBnZXQgc2hTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaFNob3RNaXNzZXMgfHwgMCkgKyAodGhpcy5zaFNob3RzT25Hb2FsIHx8IDApICsgKHRoaXMuc2hTaG90c0Jsb2NrZWQgfHwgMCkgK1xuICAgICAgKHRoaXMuc2hGcmVlS2lja01pc3NlcyB8fCAwKSArICh0aGlzLnNoRnJlZUtpY2tPbkdvYWxzIHx8IDApICtcbiAgICAgICh0aGlzLnNoQ29ybmVyTWlzc2VzIHx8IDApICsgKHRoaXMuc2hDb3JuZXJPbkdvYWxzIHx8IDApICtcbiAgICAgIHRoaXMuc2hDb3VudGVyQXR0YWNrU2hvdHMgKyB0aGlzLnNoTWFuZXV2ZXJTaG90cyArIHRoaXMuc2hDZW50ZXJGb3J3YXJkU2hvdHM7XG4gIH1cblxuICBnZXQgdG90YWxTaEdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNoR29hbHMgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrR29hbHMgfHwgMCkgKyAodGhpcy5zaENvcm5lckdvYWxzIHx8IDApICtcbiAgICAgICh0aGlzLnNoQ291bnRlckF0dGFja0dvYWxzIHx8IDApICsgKHRoaXMuc2hNYW5ldXZlckdvYWxzIHx8IDApICsgKHRoaXMuc2hDZW50ZXJGb3J3YXJkR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxFdkdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2R29hbHMgfHwgMCkgKyAodGhpcy5ldkZyZWVLaWNrR29hbHMgfHwgMCkgKyAodGhpcy5ldkNvcm5lckdvYWxzIHx8IDApICtcbiAgICAgICh0aGlzLmV2Q291bnRlckF0dGFja0dvYWxzIHx8IDApICsgKHRoaXMuZXZNYW5ldXZlckdvYWxzIHx8IDApICsgKHRoaXMuZXZDZW50ZXJGb3J3YXJkR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxQcEdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwR29hbHMgfHwgMCkgKyAodGhpcy5wcEZyZWVLaWNrR29hbHMgfHwgMCkgKyAodGhpcy5wcENvcm5lckdvYWxzIHx8IDApICtcbiAgICAgICh0aGlzLnBwQ291bnRlckF0dGFja0dvYWxzIHx8IDApICsgKHRoaXMucHBNYW5ldXZlckdvYWxzIHx8IDApICsgKHRoaXMucHBDZW50ZXJGb3J3YXJkR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgZ29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy50b3RhbFNoR29hbHMgKyB0aGlzLnRvdGFsRXZHb2FscyArIHRoaXMudG90YWxQcEdvYWxzO1xuICB9XG5cbiAgZ2V0IHRvdGFsR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nb2FscyArICh0aGlzLnNob290b3V0R29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgc2hvb3RvdXRTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaG9vdG91dEdvYWxzIHx8IDApICsgKHRoaXMuc2hvb3RvdXRBdHRlbXB0cyB8fCAwKTtcbiAgfVxuXG4gIGdldCBpbkdhbWVTaG90TWlzc2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwU2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLmV2U2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLnNoU2hvdE1pc3NlcyB8fCAwKSArXG4gICAgICB0aGlzLmNvdW50ZXJBdHRhY2tTaG90TWlzc2VzICsgdGhpcy5tYW5ldXZlclNob3RNaXNzZXMgKyB0aGlzLmNlbnRlckZvcndhcmRTaG90TWlzc2VzO1xuICB9XG5cbiAgZ2V0IHNob3RNaXNzZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBGcmVlS2lja01pc3NlcyB8fCAwKSArICh0aGlzLmV2RnJlZUtpY2tNaXNzZXMgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrTWlzc2VzIHx8IDApICtcbiAgICAgICh0aGlzLnBwQ29ybmVyTWlzc2VzIHx8IDApICsgKHRoaXMuZXZDb3JuZXJNaXNzZXMgfHwgMCkgKyAodGhpcy5zaENvcm5lck1pc3NlcyB8fCAwKSArXG4gICAgICB0aGlzLmluR2FtZVNob3RNaXNzZXM7XG4gIH1cblxuICBnZXQgdG90YWxQcFNob3RNaXNzZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBTaG90TWlzc2VzIHx8IDApICsgKHRoaXMucHBGcmVlS2lja01pc3NlcyB8fCAwKSArICh0aGlzLnBwQ29ybmVyTWlzc2VzIHx8IDApICtcbiAgICAgICh0aGlzLnBwQ291bnRlckF0dGFja01pc3NlcyB8fCAwKSArICh0aGlzLnBwTWFuZXV2ZXJNaXNzZXMgfHwgMCkgKyAodGhpcy5wcENlbnRlckZvcndhcmRNaXNzZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgc2hvdHNPbkdvYWwoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBTaG90c09uR29hbCB8fCAwKSArICh0aGlzLmV2U2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5zaFNob3RzT25Hb2FsIHx8IDApICtcbiAgICAgICh0aGlzLnBwRnJlZUtpY2tPbkdvYWxzIHx8IDApICsgKHRoaXMuZXZGcmVlS2lja09uR29hbHMgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrT25Hb2FscyB8fCAwKSArXG4gICAgICAodGhpcy5wcENvcm5lck9uR29hbHMgfHwgMCkgKyAodGhpcy5ldkNvcm5lck9uR29hbHMgfHwgMCkgKyAodGhpcy5zaENvcm5lck9uR29hbHMgfHwgMCkgK1xuICAgICAgdGhpcy5jb3VudGVyQXR0YWNrU2hvdE9uR29hbHMgKyB0aGlzLm1hbmV1dmVyU2hvdE9uR29hbHMgKyB0aGlzLmNlbnRlckZvcndhcmRTaG90T25Hb2FscztcbiAgfVxuXG4gIGdldCB0b3RhbFBwU2hvdHNPbkdvYWwoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBTaG90c09uR29hbCB8fCAwKSArICh0aGlzLnBwRnJlZUtpY2tPbkdvYWxzIHx8IDApICsgKHRoaXMucHBDb3JuZXJPbkdvYWxzIHx8IDApICtcbiAgICAgICh0aGlzLnBwQ291bnRlckF0dGFja09uR29hbHMgfHwgMCkgKyAodGhpcy5wcE1hbmV1dmVyT25Hb2FscyB8fCAwKSArICh0aGlzLnBwQ2VudGVyRm9yd2FyZE9uR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgaW5HYW1lU2hvdHNPbkdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwU2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5ldlNob3RzT25Hb2FsIHx8IDApICsgKHRoaXMuc2hTaG90c09uR29hbCB8fCAwKSArXG4gICAgICB0aGlzLmNvdW50ZXJBdHRhY2tTaG90T25Hb2FscyArIHRoaXMubWFuZXV2ZXJTaG90T25Hb2FscyArIHRoaXMuY2VudGVyRm9yd2FyZFNob3RPbkdvYWxzO1xuICB9XG5cbiAgZ2V0IHNob3RzQmxvY2tlZCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcFNob3RzQmxvY2tlZCB8fCAwKSArICh0aGlzLmV2U2hvdHNCbG9ja2VkIHx8IDApICsgKHRoaXMuc2hTaG90c0Jsb2NrZWQgfHwgMCk7XG4gIH1cblxuICBnZXQgc2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wcFNob3RzICsgdGhpcy5ldlNob3RzICsgdGhpcy5zaFNob3RzO1xuICB9XG5cbiAgZ2V0IHRvdGFsU2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zaG90cyArICh0aGlzLnNob290b3V0QXR0ZW1wdHMgfHwgMCk7XG4gIH1cblxuICBnZXQgZmFjZU9mZnMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuZmFjZU9mZldpbnMgfHwgMCkgKyAodGhpcy5mYWNlT2ZmTG9zc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGZyZWVLaWNrU2hvdE1pc3NlcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcEZyZWVLaWNrTWlzc2VzIHx8IDApICsgKHRoaXMuZXZGcmVlS2lja01pc3NlcyB8fCAwKSArICh0aGlzLnNoRnJlZUtpY2tNaXNzZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgZnJlZUtpY2tPbkdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwRnJlZUtpY2tPbkdvYWxzIHx8IDApICsgKHRoaXMuZXZGcmVlS2lja09uR29hbHMgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrT25Hb2FscyB8fCAwKTtcbiAgfVxuXG4gIGdldCB0b3RhbEZyZWVLaWNrR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBGcmVlS2lja0dvYWxzIHx8IDApICsgKHRoaXMuc2hGcmVlS2lja0dvYWxzIHx8IDApICsgKHRoaXMuZXZGcmVlS2lja0dvYWxzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHRvdGFsRnJlZUtpY2tzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmZyZWVLaWNrU2VsZnMgfHwgMCkgKyAodGhpcy5mcmVlS2lja1Bhc3NlcyB8fCAwKSArXG4gICAgICB0aGlzLmZyZWVLaWNrU2hvdE1pc3NlcyArIHRoaXMuZnJlZUtpY2tPbkdvYWxzICsgdGhpcy50b3RhbEZyZWVLaWNrR29hbHM7XG4gIH1cblxuICBnZXQgdG90YWxDb3JuZXJHb2FscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcENvcm5lckdvYWxzIHx8IDApICsgKHRoaXMuc2hDb3JuZXJHb2FscyB8fCAwKSArICh0aGlzLmV2Q29ybmVyR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxDb3JuZXJzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmNvcm5lclNlbGZzIHx8IDApICsgKHRoaXMuY29ybmVyUGFzc2VzIHx8IDApICtcbiAgICAgICh0aGlzLnBwQ29ybmVyT25Hb2FscyB8fCAwKSArICh0aGlzLnNoQ29ybmVyT25Hb2FscyB8fCAwKSArICh0aGlzLmV2Q29ybmVyT25Hb2FscyB8fCAwKSArXG4gICAgICAodGhpcy5wcENvcm5lck1pc3NlcyB8fCAwKSArICh0aGlzLnNoQ29ybmVyTWlzc2VzIHx8IDApICsgKHRoaXMuZXZDb3JuZXJNaXNzZXMgfHwgMCkgK1xuICAgICAgdGhpcy50b3RhbENvcm5lckdvYWxzO1xuICB9XG5cbiAgZ2V0IHRvdGFsRm91bHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuZm91bHMgfHwgMCkgKyAodGhpcy5wZW5hbHR5Rm91bHMgfHwgMCkgKyAodGhpcy5hdHRhY2tGb3VscyB8fCAwKSArICh0aGlzLnBlcnNvbmFsRm91bHMgfHwgMCkgK1xuICAgICAgKHRoaXMubWlub3JQZW5hbHRpZXMgfHwgMCkgKyAodGhpcy5tYWpvclBlbmFsdGllcyB8fCAwKSArICh0aGlzLm1hdGNoUGVuYWx0aWVzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHRvdGFsUGVuYWx0aWVzKCk6IG51bWJlciB7XG4gICAgICByZXR1cm4gKHRoaXMubWlub3JQZW5hbHRpZXMgfHwgMCkgKyAodGhpcy5tYWpvclBlbmFsdGllcyB8fCAwKSArICh0aGlzLm1hdGNoUGVuYWx0aWVzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHBvc2l0aW9uQXR0YWNrR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuc2hHb2FscyB8fCAwKSArICh0aGlzLmV2R29hbHMgfHwgMCkgKyAodGhpcy5wcEdvYWxzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHBvc2l0aW9uQXR0YWNrU2hvdHNPbkdvYWwoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBTaG90c09uR29hbCB8fCAwKSArICh0aGlzLmV2U2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5zaFNob3RzT25Hb2FsIHx8IDApO1xuICB9XG5cbiAgZ2V0IHBvc2l0aW9uQXR0YWNrU2hvdHNNaXNzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwU2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLmV2U2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLnNoU2hvdE1pc3NlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBwb3NpdGlvbkF0dGFja1Nob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucG9zaXRpb25BdHRhY2tTaG90c09uR29hbCArIHRoaXMucG9zaXRpb25BdHRhY2tTaG90c01pc3M7XG4gIH1cblxuICBnZXQgcG9zaXRpb25BdHRhY2tHb2Fsc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMucG9zaXRpb25BdHRhY2tHb2FscyB8fCAhdGhpcy5wb3NpdGlvbkF0dGFja1Nob3RzKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMucG9zaXRpb25BdHRhY2tHb2FscyAvIHRoaXMucG9zaXRpb25BdHRhY2tTaG90cykgLyAxMDtcbiAgfVxuXG4gIGdldCB0b3RhbEluR2FtZUdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudG90YWxDZW50ZXJGb3J3YXJkR29hbHMgKyB0aGlzLnRvdGFsTWFuZXV2ZXJHb2FscyArIHRoaXMudG90YWxDb3VudGVyQXR0YWNrR29hbHMgKyB0aGlzLnBvc2l0aW9uQXR0YWNrR29hbHM7XG4gIH1cblxuICBnZXQgcHBHb2Fsc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMudG90YWxQcEdvYWxzIHx8ICF0aGlzLnBwU2hvdHMpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy50b3RhbFBwR29hbHMgLyB0aGlzLnBwU2hvdHMpIC8gMTA7XG4gIH1cblxuICBnZXQgZXZHb2Fsc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMudG90YWxFdkdvYWxzIHx8ICF0aGlzLmV2U2hvdHMpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy50b3RhbEV2R29hbHMgLyB0aGlzLmV2U2hvdHMpIC8gMTA7XG4gIH1cblxuICBnZXQgc2hHb2Fsc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMudG90YWxTaEdvYWxzIHx8ICF0aGlzLnNoU2hvdHMpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy50b3RhbFNoR29hbHMgLyB0aGlzLnNoU2hvdHMpIC8gMTA7XG4gIH1cblxuICBnZXQgc2hvdHNPbkdvYWxQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLnNob3RzT25Hb2FsIHx8ICF0aGlzLnNob3RzKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMuc2hvdHNPbkdvYWwgLyB0aGlzLnNob3RzKSAvIDEwO1xuICB9XG5cbiAgZ2V0IGdvYWxzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5nb2FscyB8fCAhdGhpcy5zaG90cykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLmdvYWxzIC8gdGhpcy5zaG90cykgLyAxMDtcbiAgfVxuXG4gIGdldCB0b3RhbEdvYWxzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy50b3RhbEdvYWxzIHx8ICF0aGlzLnRvdGFsU2hvdHMpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy50b3RhbEdvYWxzIC8gdGhpcy50b3RhbFNob3RzKSAvIDEwO1xuICB9XG5cbiAgZ2V0IGZhY2VPZmZQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLmZhY2VPZmZXaW5zIHx8ICF0aGlzLmZhY2VPZmZzKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMuZmFjZU9mZldpbnMgLyB0aGlzLmZhY2VPZmZzKSAvIDEwO1xuICB9XG5cbiAgZ2V0IHNob290b3V0R29hbHNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLnNob290b3V0R29hbHMgfHwgIXRoaXMuc2hvb3RvdXRTaG90cykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnNob290b3V0R29hbHMgLyB0aGlzLnNob290b3V0U2hvdHMpIC8gMTA7XG4gIH1cblxuICBnZXQgZ29hbHBhc3MoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMudG90YWxHb2FscyB8fCAwKSArICh0aGlzLmFzc2lzdHMgfHwgMCk7XG4gIH1cblxuICAvKmdvYWxpZSBzdGF0ICovXG4gIGdldCBjb3VudGVyQXR0YWNrU2F2ZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBDb3VudGVyQXR0YWNrU2F2ZXMgfHwgMCkgKyAodGhpcy5zaENvdW50ZXJBdHRhY2tTYXZlcyB8fCAwKSArICh0aGlzLmV2Q291bnRlckF0dGFja1NhdmVzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGNlbnRlckZvcndhcmRTYXZlcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcENlbnRlckZvcndhcmRTYXZlcyB8fCAwKSArICh0aGlzLnNoQ2VudGVyRm9yd2FyZFNhdmVzIHx8IDApICsgKHRoaXMuZXZDZW50ZXJGb3J3YXJkU2F2ZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgbWFuZXV2ZXJTYXZlcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcE1hbmV1dmVyU2F2ZXMgfHwgMCkgKyAodGhpcy5zaE1hbmV1dmVyU2F2ZXMgfHwgMCkgKyAodGhpcy5ldk1hbmV1dmVyU2F2ZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgZnJlZUtpY2tTYXZlcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcEZyZWVLaWNrU2F2ZXMgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrU2F2ZXMgfHwgMCkgKyAodGhpcy5ldkZyZWVLaWNrU2F2ZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgY29ybmVyU2F2ZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBDb3JuZXJTYXZlcyB8fCAwKSArICh0aGlzLnNoQ29ybmVyU2F2ZXMgfHwgMCkgKyAodGhpcy5ldkNvcm5lclNhdmVzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHRvdGFsU2hTYXZlcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaENvdW50ZXJBdHRhY2tTYXZlcyB8fCAwKSArICh0aGlzLnNoTWFuZXV2ZXJTYXZlcyB8fCAwKSArICh0aGlzLnNoQ2VudGVyRm9yd2FyZFNhdmVzIHx8IDApICtcbiAgICAgICh0aGlzLnNoU2F2ZXMgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrU2F2ZXMgfHwgMCkgKyAodGhpcy5zaENvcm5lclNhdmVzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGluR2FtZVNhdmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNoU2F2ZXMgfHwgMCkgKyAodGhpcy5ldlNhdmVzIHx8IDApICsgKHRoaXMucHBTYXZlcyB8fCAwKSArXG4gICAgICB0aGlzLmNvdW50ZXJBdHRhY2tTYXZlcyArIHRoaXMubWFuZXV2ZXJTYXZlcyArIHRoaXMuY2VudGVyRm9yd2FyZFNhdmVzO1xuICB9XG5cbiAgZ2V0IHNhdmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5HYW1lU2F2ZXMgKyB0aGlzLmZyZWVLaWNrU2F2ZXMgKyB0aGlzLmNvcm5lclNhdmVzO1xuICB9XG5cbiAgZ2V0IHRvdGFsU2F2ZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zYXZlcyArICh0aGlzLnNob290b3V0U2F2ZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxTaEdvYWxzQWdhaW5zdCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaEdvYWxzQWdhaW5zdCB8fCAwKSArICh0aGlzLnNoRnJlZUtpY2tHb2Fsc0FnYWluc3QgfHwgMCkgKyAodGhpcy5zaENvcm5lckdvYWxzQWdhaW5zdCB8fCAwKSArXG4gICAgICAodGhpcy5zaENvdW50ZXJBdHRhY2tHb2Fsc0FnYWluc3QgfHwgMCkgKyAodGhpcy5zaE1hbmV1dmVyR29hbHNBZ2FpbnN0IHx8IDApICsgKHRoaXMuc2hDZW50ZXJGb3J3YXJkR29hbHNBZ2FpbnN0IHx8IDApO1xuICB9XG5cbiAgZ2V0IGluR2FtZUdvYWxzQWdhaW5zdCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5nb2Fsc0FnYWluc3QgfHwgMCkgKyAodGhpcy5jb3VudGVyQXR0YWNrR29hbHNBZ2FpbnN0IHx8IDApICsgKHRoaXMubWFuZXV2ZXJHb2Fsc0FnYWluc3QgfHwgMCkgK1xuICAgICAgKHRoaXMuY2VudGVyRm9yd2FyZEdvYWxzQWdhaW5zdCB8fCAwKTtcbiAgfVxuXG4gIGdldCBzaG9vdG91dFNob3RzQWdhaW5zdCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaG9vdG91dFNhdmVzIHx8IDApICsgKHRoaXMuc2hvb3RvdXRHb2Fsc0FnYWluc3QgfHwgMCk7XG4gIH1cblxuICBnZXQgZ2FtZUdvYWxzQWdhaW5zdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmluR2FtZUdvYWxzQWdhaW5zdCArICh0aGlzLmZyZWVLaWNrR29hbHNBZ2FpbnN0IHx8IDApICsgKHRoaXMuY29ybmVyR29hbHNBZ2FpbnN0IHx8IDApO1xuICB9XG5cbiAgZ2V0IHRvdGFsR29hbHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2FtZUdvYWxzQWdhaW5zdCArICh0aGlzLnNob290b3V0R29hbHNBZ2FpbnN0IHx8IDApO1xuICB9XG5cbiAgZ2V0IGdhbWVTaG90c0FnYWluc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zYXZlcyArIHRoaXMuZ2FtZUdvYWxzQWdhaW5zdDtcbiAgfVxuXG4gIGdldCB0b3RhbFNob3RzQWdhaW5zdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdhbWVTaG90c0FnYWluc3QgKyB0aGlzLnNob290b3V0U2hvdHNBZ2FpbnN0O1xuICB9XG5cbiAgZ2V0IHNob290b3V0U2F2ZXNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLnNob290b3V0U2F2ZXMgfHwgIXRoaXMuc2hvb3RvdXRTaG90c0FnYWluc3QpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy5zaG9vdG91dFNhdmVzIC8gdGhpcy5zaG9vdG91dFNob3RzQWdhaW5zdCkgLyAxMDtcbiAgfVxuXG4gIGdldCBzYXZlc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuc2F2ZXMgfHwgIXRoaXMuZ2FtZVNob3RzQWdhaW5zdCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnNhdmVzIC8gdGhpcy5nYW1lU2hvdHNBZ2FpbnN0KSAvIDEwO1xuICB9XG5cbiAgZ2V0IHRvdGFsU2F2ZXNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLnRvdGFsU2F2ZXMgfHwgIXRoaXMudG90YWxTaG90c0FnYWluc3QpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy50b3RhbFNhdmVzIC8gdGhpcy50b3RhbFNob3RzQWdhaW5zdCkgLyAxMDtcbiAgfVxuXG4gIEBUb0Zyb250SG9va1xuICBzdGF0aWMgdG9Gcm9udChkYXRhOiBhbnkpOiBhbnkge31cblxuICBAVG9CYWNrSG9va1xuICBzdGF0aWMgdG9CYWNrKGRhdGE6IGFueSk6IGFueSB7fVxufVxuIl19
|
|
580
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJwb2xvLWdhbWUtc3RhdGlzdGljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbW9kZWxzL3dhdGVycG9sby1nYW1lLXN0YXRpc3RpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxRQUFRLENBQUM7SUE0SjdFLHNCQUFzQixTQUF0QixzQkFBdUIsU0FBUSxTQUFTO0lBb0puRCxJQUFJLEVBQUU7UUFDSixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4QixPQUFPLE9BQU8sQ0FBQztTQUNoQjtRQUNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNyRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sR0FBRyxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7SUFDakYsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsR0FBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLEdBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakgsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbkgsQ0FBQztJQUVELElBQUksd0JBQXdCO1FBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FB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O1lBQ2xCLGlCQUFpQixFQUFFLGtCQUFrQjtTQUN0QztRQUNELFFBQVEsRUFBRTtZQUNSLFNBQVMsRUFBRSxhQUFhO1NBQ3pCO0tBQ0YsQ0FBQztHQUNXLHNCQUFzQixDQTRwQmxDO1NBNXBCWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbEluc3RhbmNlLCBCYXNlTW9kZWwsIFRvRnJvbnRIb29rLCBUb0JhY2tIb29rLCBEYXRlVGltZUZpZWxkIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IEdhbWVTdGF0aXN0aWNCYXNlIH0gZnJvbSAnLi9nYW1lLXN0YXRpc3RpYy1iYXNlJztcblxuQE1vZGVsSW5zdGFuY2Uoe1xuICBtYXBwaW5nRmllbGRzOiB7XG4gICAgZ2FtZV91c2VyX2lkOiAnZ2FtZVVzZXJJZCcsXG4gICAgdXBkYXRlZF9hdDogJ3VwZGF0ZWRBdCcsXG4gICAgcG9pbnRzOiAncG9pbnRzJyxcbiAgICBwcF9zaG90X21pc3NlczogJ3BwU2hvdE1pc3NlcycsXG4gICAgcHBfc2hvdHNfb25fZ29hbDogJ3BwU2hvdHNPbkdvYWwnLFxuICAgIHBwX3Nob3RzX2Jsb2NrZWQ6ICdwcFNob3RzQmxvY2tlZCcsXG4gICAgZXZfc2hvdF9taXNzZXM6ICdldlNob3RNaXNzZXMnLFxuICAgIGV2X3Nob3RzX29uX2dvYWw6ICdldlNob3RzT25Hb2FsJyxcbiAgICBldl9zaG90c19ibG9ja2VkOiAnZXZTaG90c0Jsb2NrZWQnLFxuICAgIHNoX3Nob3RfbWlzc2VzOiAnc2hTaG90TWlzc2VzJyxcbiAgICBzaF9zaG90c19vbl9nb2FsOiAnc2hTaG90c09uR29hbCcsXG4gICAgc2hfc2hvdHNfYmxvY2tlZDogJ3NoU2hvdHNCbG9ja2VkJyxcbiAgICBwcF90b3RhbF9zaG90c19vbl9nb2FsOiAncHBUb3RhbFNob3RzT25Hb2FsJyxcbiAgICBldl90b3RhbF9zaG90c19vbl9nb2FsOiAnZXZUb3RhbFNob3RzT25Hb2FsJyxcbiAgICBzaF90b3RhbF9zaG90c19vbl9nb2FsOiAnc2hUb3RhbFNob3RzT25Hb2FsJyxcbiAgICBwcF9nb2FsczogJ3BwR29hbHMnLFxuICAgIGV2X2dvYWxzOiAnZXZHb2FscycsXG4gICAgc2hfZ29hbHM6ICdzaEdvYWxzJyxcbiAgICBwcF9jb3VudGVyYXR0YWNrX2dvYWxzOiAncHBDb3VudGVyQXR0YWNrR29hbHMnLFxuICAgIHBwX2NvdW50ZXJhdHRhY2tfb25fZ29hbHM6ICdwcENvdW50ZXJBdHRhY2tPbkdvYWxzJyxcbiAgICBwcF9jb3VudGVyYXR0YWNrX21pc3NlczogJ3BwQ291bnRlckF0dGFja01pc3NlcycsXG4gICAgZXZfY291bnRlcmF0dGFja19nb2FsczogJ2V2Q291bnRlckF0dGFja0dvYWxzJyxcbiAgICBldl9jb3VudGVyYXR0YWNrX29uX2dvYWxzOiAnZXZDb3VudGVyQXR0YWNrT25Hb2FscycsXG4gICAgZXZfY291bnRlcmF0dGFja19taXNzZXM6ICdldkNvdW50ZXJBdHRhY2tNaXNzZXMnLFxuICAgIHNoX2NvdW50ZXJhdHRhY2tfZ29hbHM6ICdzaENvdW50ZXJBdHRhY2tHb2FscycsXG4gICAgc2hfY291bnRlcmF0dGFja19vbl9nb2FsczogJ3NoQ291bnRlckF0dGFja09uR29hbHMnLFxuICAgIHNoX2NvdW50ZXJhdHRhY2tfbWlzc2VzOiAnc2hDb3VudGVyQXR0YWNrTWlzc2VzJyxcbiAgICBwcF9tYW5ldXZlcl9nb2FsczogJ3BwTWFuZXV2ZXJHb2FscycsXG4gICAgcHBfbWFuZXV2ZXJfb25fZ29hbHM6ICdwcE1hbmV1dmVyT25Hb2FscycsXG4gICAgcHBfbWFuZXV2ZXJfbWlzc2VzOiAncHBNYW5ldXZlck1pc3NlcycsXG4gICAgZXZfbWFuZXV2ZXJfZ29hbHM6ICdldk1hbmV1dmVyR29hbHMnLFxuICAgIGV2X21hbmV1dmVyX29uX2dvYWxzOiAnZXZNYW5ldXZlck9uR29hbHMnLFxuICAgIGV2X21hbmV1dmVyX21pc3NlczogJ2V2TWFuZXV2ZXJNaXNzZXMnLFxuICAgIHNoX21hbmV1dmVyX2dvYWxzOiAnc2hNYW5ldXZlckdvYWxzJyxcbiAgICBzaF9tYW5ldXZlcl9vbl9nb2FsczogJ3NoTWFuZXV2ZXJPbkdvYWxzJyxcbiAgICBzaF9tYW5ldXZlcl9taXNzZXM6ICdzaE1hbmV1dmVyTWlzc2VzJyxcbiAgICBwcF9jZW50ZXJfZm9yd2FyZF9nb2FsczogJ3BwQ2VudGVyRm9yd2FyZEdvYWxzJyxcbiAgICBwcF9jZW50ZXJfZm9yd2FyZF9vbl9nb2FsczogJ3BwQ2VudGVyRm9yd2FyZE9uR29hbHMnLFxuICAgIHBwX2NlbnRlcl9mb3J3YXJkX21pc3NlczogJ3BwQ2VudGVyRm9yd2FyZE1pc3NlcycsXG4gICAgZXZfY2VudGVyX2ZvcndhcmRfZ29hbHM6ICdldkNlbnRlckZvcndhcmRHb2FscycsXG4gICAgZXZfY2VudGVyX2ZvcndhcmRfb25fZ29hbHM6ICdldkNlbnRlckZvcndhcmRPbkdvYWxzJyxcbiAgICBldl9jZW50ZXJfZm9yd2FyZF9taXNzZXM6ICdldkNlbnRlckZvcndhcmRNaXNzZXMnLFxuICAgIHNoX2NlbnRlcl9mb3J3YXJkX2dvYWxzOiAnc2hDZW50ZXJGb3J3YXJkR29hbHMnLFxuICAgIHNoX2NlbnRlcl9mb3J3YXJkX29uX2dvYWxzOiAnc2hDZW50ZXJGb3J3YXJkT25Hb2FscycsXG4gICAgc2hfY2VudGVyX2ZvcndhcmRfbWlzc2VzOiAnc2hDZW50ZXJGb3J3YXJkTWlzc2VzJyxcbiAgICBwcF9hc3Npc3RzOiAncHBBc3Npc3RzJyxcbiAgICBldl9hc3Npc3RzOiAnZXZBc3Npc3RzJyxcbiAgICBzaF9hc3Npc3RzOiAnc2hBc3Npc3RzJyxcbiAgICBzaG9vdG91dF9hdHRlbXB0czogJ3Nob290b3V0QXR0ZW1wdHMnLFxuICAgIHNob290b3V0X2dvYWxzOiAnc2hvb3RvdXRHb2FscycsXG4gICAgYWZ0ZXJfZ2FtZV9zaG9vdG91dF9hdHRlbXB0czogJ2FmdGVyR2FtZVNob290b3V0QXR0ZW1wdHMnLFxuICAgIGFmdGVyX2dhbWVfc2hvb3RvdXRfZ29hbHM6ICdhZnRlckdhbWVTaG9vdG91dEdvYWxzJyxcbiAgICBibG9ja19zaG90czogJ2Jsb2NrU2hvdHMnLFxuICAgIGZhY2Vfb2ZmX2xvc3NlczogJ2ZhY2VPZmZMb3NzZXMnLFxuICAgIGZhY2Vfb2ZmX3dpbnM6ICdmYWNlT2ZmV2lucycsXG4gICAgcHBfc2F2ZXM6ICdwcFNhdmVzJyxcbiAgICBzaF9zYXZlczogJ3NoU2F2ZXMnLFxuICAgIGV2X3NhdmVzOiAnZXZTYXZlcycsXG4gICAgcHBfY291bnRlcmF0dGFja19zYXZlczogJ3BwQ291bnRlckF0dGFja1NhdmVzJyxcbiAgICBzaF9jb3VudGVyYXR0YWNrX3NhdmVzOiAnc2hDb3VudGVyQXR0YWNrU2F2ZXMnLFxuICAgIGV2X2NvdW50ZXJhdHRhY2tfc2F2ZXM6ICdldkNvdW50ZXJBdHRhY2tTYXZlcycsXG4gICAgcHBfbWFuZXV2ZXJfc2F2ZXM6ICdwcE1hbmV1dmVyU2F2ZXMnLFxuICAgIHNoX21hbmV1dmVyX3NhdmVzOiAnc2hNYW5ldXZlclNhdmVzJyxcbiAgICBldl9tYW5ldXZlcl9zYXZlczogJ2V2TWFuZXV2ZXJTYXZlcycsXG4gICAgcHBfY2VudGVyX2ZvcndhcmRfc2F2ZXM6ICdwcENlbnRlckZvcndhcmRTYXZlcycsXG4gICAgc2hfY2VudGVyX2ZvcndhcmRfc2F2ZXM6ICdzaENlbnRlckZvcndhcmRTYXZlcycsXG4gICAgZXZfY2VudGVyX2ZvcndhcmRfc2F2ZXM6ICdldkNlbnRlckZvcndhcmRTYXZlcycsXG4gICAgcHBfZnJlZV9raWNrX3NhdmVzOiAncHBGcmVlS2lja1NhdmVzJyxcbiAgICBzaF9mcmVlX2tpY2tfc2F2ZXM6ICdzaEZyZWVLaWNrU2F2ZXMnLFxuICAgIGV2X2ZyZWVfa2lja19zYXZlczogJ2V2RnJlZUtpY2tTYXZlcycsXG4gICAgcHBfY29ybmVyX3NhdmVzOiAncHBDb3JuZXJTYXZlcycsXG4gICAgc2hfY29ybmVyX3NhdmVzOiAnc2hDb3JuZXJTYXZlcycsXG4gICAgZXZfY29ybmVyX3NhdmVzOiAnZXZDb3JuZXJTYXZlcycsXG4gICAgcHBfdG90YWxfZ2FtZV9zYXZlczogJ3BwVG90YWxHYW1lU2F2ZXMnLFxuICAgIHNoX3RvdGFsX2dhbWVfc2F2ZXM6ICdzaFRvdGFsR2FtZVNhdmVzJyxcbiAgICBldl90b3RhbF9nYW1lX3NhdmVzOiAnZXZUb3RhbEdhbWVTYXZlcycsXG4gICAgc2hvb3RvdXRfc2F2ZXM6ICdzaG9vdG91dFNhdmVzJyxcbiAgICBhZnRlcl9nYW1lX3Nob290b3V0X3NhdmVzOiAnYWZ0ZXJHYW1lU2hvb3RvdXRTYXZlcycsXG4gICAgcHBfZ29hbHNfYWdhaW5zdDogJ3BwR29hbHNBZ2FpbnN0JyxcbiAgICBzaF9nb2Fsc19hZ2FpbnN0OiAnc2hHb2Fsc0FnYWluc3QnLFxuICAgIGV2X2dvYWxzX2FnYWluc3Q6ICdldkdvYWxzQWdhaW5zdCcsXG4gICAgZ29hbHNfYWdhaW5zdDogJ2dvYWxzQWdhaW5zdCcsXG4gICAgcHBfY291bnRlcmF0dGFja19nb2Fsc19hZ2FpbnN0OiAncHBDb3VudGVyQXR0YWNrR29hbHNBZ2FpbnN0JyxcbiAgICBzaF9jb3VudGVyYXR0YWNrX2dvYWxzX2FnYWluc3Q6ICdzaENvdW50ZXJBdHRhY2tHb2Fsc0FnYWluc3QnLFxuICAgIGV2X2NvdW50ZXJhdHRhY2tfZ29hbHNfYWdhaW5zdDogJ2V2Q291bnRlckF0dGFja0dvYWxzQWdhaW5zdCcsXG4gICAgY291bnRlcmF0dGFja19nb2Fsc19hZ2FpbnN0OiAnY291bnRlckF0dGFja0dvYWxzQWdhaW5zdCcsXG4gICAgcHBfbWFuZXV2ZXJfZ29hbHNfYWdhaW5zdDogJ3BwTWFuZXV2ZXJHb2Fsc0FnYWluc3QnLFxuICAgIHNoX21hbmV1dmVyX2dvYWxzX2FnYWluc3Q6ICdzaE1hbmV1dmVyR29hbHNBZ2FpbnN0JyxcbiAgICBldl9tYW5ldXZlcl9nb2Fsc19hZ2FpbnN0OiAnZXZNYW5ldXZlckdvYWxzQWdhaW5zdCcsXG4gICAgbWFuZXV2ZXJfZ29hbHNfYWdhaW5zdDogJ21hbmV1dmVyR29hbHNBZ2FpbnN0JyxcbiAgICBwcF9jZW50ZXJfZm9yd2FyZF9nb2Fsc19hZ2FpbnN0OiAncHBDZW50ZXJGb3J3YXJkR29hbHNBZ2FpbnN0JyxcbiAgICBzaF9jZW50ZXJfZm9yd2FyZF9nb2Fsc19hZ2FpbnN0OiAnc2hDZW50ZXJGb3J3YXJkR29hbHNBZ2FpbnN0JyxcbiAgICBldl9jZW50ZXJfZm9yd2FyZF9nb2Fsc19hZ2FpbnN0OiAnZXZDZW50ZXJGb3J3YXJkR29hbHNBZ2FpbnN0JyxcbiAgICBjZW50ZXJfZm9yd2FyZF9nb2Fsc19hZ2FpbnN0OiAnY2VudGVyRm9yd2FyZEdvYWxzQWdhaW5zdCcsXG4gICAgcHBfZnJlZV9raWNrX2dvYWxzX2FnYWluc3Q6ICdwcEZyZWVLaWNrR29hbHNBZ2FpbnN0JyxcbiAgICBzaF9mcmVlX2tpY2tfZ29hbHNfYWdhaW5zdDogJ3NoRnJlZUtpY2tHb2Fsc0FnYWluc3QnLFxuICAgIGV2X2ZyZWVfa2lja19nb2Fsc19hZ2FpbnN0OiAnZXZGcmVlS2lja0dvYWxzQWdhaW5zdCcsXG4gICAgZnJlZV9raWNrX2dvYWxzX2FnYWluc3Q6ICdmcmVlS2lja0dvYWxzQWdhaW5zdCcsXG4gICAgcHBfY29ybmVyX2dvYWxzX2FnYWluc3Q6ICdwcENvcm5lckdvYWxzQWdhaW5zdCcsXG4gICAgc2hfY29ybmVyX2dvYWxzX2FnYWluc3Q6ICdzaENvcm5lckdvYWxzQWdhaW5zdCcsXG4gICAgZXZfY29ybmVyX2dvYWxzX2FnYWluc3Q6ICdldkNvcm5lckdvYWxzQWdhaW5zdCcsXG4gICAgY29ybmVyX2dvYWxzX2FnYWluc3Q6ICdjb3JuZXJHb2Fsc0FnYWluc3QnLFxuICAgIHNob290b3V0X2dvYWxzX2FnYWluc3Q6ICdzaG9vdG91dEdvYWxzQWdhaW5zdCcsXG4gICAgYWZ0ZXJfZ2FtZV9zaG9vdG91dF9nb2Fsc19hZ2FpbnN0OiAnYWZ0ZXJHYW1lU2hvb3RvdXRHb2Fsc0FnYWluc3QnLFxuICAgIHNhZmV0eV9yYXRlOiAnc2FmZXR5UmF0ZScsXG4gICAgcGVuYWx0eV9taW51dGVzOiAncGVuYWx0eU1pbnV0ZXMnLFxuICAgIGdhbWVfdGltZTogJ2dhbWVUaW1lJyxcbiAgICBwbHVzX21pbnVzOiAncGx1c01pbnVzJyxcbiAgICBmb3VsczogJ2ZvdWxzJyxcbiAgICBtaW5vcl9wZW5hbHRpZXM6ICdtaW5vclBlbmFsdGllcycsXG4gICAgbWFqb3JfcGVuYWx0aWVzOiAnbWFqb3JQZW5hbHRpZXMnLFxuICAgIG1hdGNoX3BlbmFsdGllczogJ21hdGNoUGVuYWx0aWVzJyxcbiAgICBwZW5hbHR5X2ZvdWxzOiAncGVuYWx0eUZvdWxzJyxcbiAgICB0dXJub3ZlcnM6ICd0dXJub3ZlcnMnLFxuICAgIGF0dGFja19mb3VsczogJ2F0dGFja0ZvdWxzJyxcbiAgICBwZXJzb25hbF9mb3VsczogJ3BlcnNvbmFsRm91bHMnLFxuICAgIGRyYXduX2ZvdWxzOiAnZHJhd25Gb3VscycsXG4gICAgZHJhd25fdHVybm92ZXJzOiAnZHJhd25UdXJub3ZlcnMnLFxuICAgIHllbGxvd19jYXJkczogJ3llbGxvd0NhcmRzJyxcbiAgICByZWRfY2FyZHM6ICdyZWRDYXJkcycsXG4gICAgbG9zc2VzOiAnbG9zc2VzJyxcbiAgICBzdGVhbHM6ICdzdGVhbHMnLFxuICAgIHBwX2ZyZWVfa2lja19nb2FsczogJ3BwRnJlZUtpY2tHb2FscycsXG4gICAgcHBfZnJlZV9raWNrX29uX2dvYWxzOiAncHBGcmVlS2lja09uR29hbHMnLFxuICAgIHBwX2ZyZWVfa2lja19taXNzZXM6ICdwcEZyZWVLaWNrTWlzc2VzJyxcbiAgICBzaF9mcmVlX2tpY2tfZ29hbHM6ICdzaEZyZWVLaWNrR29hbHMnLFxuICAgIHNoX2ZyZWVfa2lja19vbl9nb2FsczogJ3NoRnJlZUtpY2tPbkdvYWxzJyxcbiAgICBzaF9mcmVlX2tpY2tfbWlzc2VzOiAnc2hGcmVlS2lja01pc3NlcycsXG4gICAgZXZfZnJlZV9raWNrX2dvYWxzOiAnZXZGcmVlS2lja0dvYWxzJyxcbiAgICBldl9mcmVlX2tpY2tfb25fZ29hbHM6ICdldkZyZWVLaWNrT25Hb2FscycsXG4gICAgZXZfZnJlZV9raWNrX21pc3NlczogJ2V2RnJlZUtpY2tNaXNzZXMnLFxuICAgIGZyZWVfa2lja19wYXNzZXM6ICdmcmVlS2lja1Bhc3NlcycsXG4gICAgZnJlZV9raWNrX3NlbGZzOiAnZnJlZUtpY2tTZWxmcycsXG4gICAgcHBfY29ybmVyX2dvYWxzOiAncHBDb3JuZXJHb2FscycsXG4gICAgcHBfY29ybmVyX29uX2dvYWxzOiAncHBDb3JuZXJPbkdvYWxzJyxcbiAgICBwcF9jb3JuZXJfbWlzc2VzOiAncHBDb3JuZXJNaXNzZXMnLFxuICAgIHNoX2Nvcm5lcl9nb2FsczogJ3NoQ29ybmVyR29hbHMnLFxuICAgIHNoX2Nvcm5lcl9vbl9nb2FsczogJ3NoQ29ybmVyT25Hb2FscycsXG4gICAgc2hfY29ybmVyX21pc3NlczogJ3NoQ29ybmVyTWlzc2VzJyxcbiAgICBldl9jb3JuZXJfZ29hbHM6ICdldkNvcm5lckdvYWxzJyxcbiAgICBldl9jb3JuZXJfb25fZ29hbHM6ICdldkNvcm5lck9uR29hbHMnLFxuICAgIGV2X2Nvcm5lcl9taXNzZXM6ICdldkNvcm5lck1pc3NlcycsXG4gICAgY29ybmVyX3Bhc3NlczogJ2Nvcm5lclBhc3NlcycsXG4gICAgY29ybmVyX3NlbGZzOiAnY29ybmVyU2VsZnMnLFxuICAgIHRhY2tsZXM6ICd0YWNrbGVzJyxcbiAgICBwbGF5ZXJfZWZmaWNpZW5jeTogJ3BsYXllckVmZmljaWVuY3knXG4gIH0sXG4gIHJlbGF0aW9uOiB7XG4gICAgdXBkYXRlZEF0OiBEYXRlVGltZUZpZWxkLFxuICB9XG59KVxuZXhwb3J0IGNsYXNzIFdhdGVycG9sb0dhbWVTdGF0aXN0aWMgZXh0ZW5kcyBCYXNlTW9kZWwgaW1wbGVtZW50cyBHYW1lU3RhdGlzdGljQmFzZSB7XG4gIGdhbWVVc2VySWQ6IG51bWJlcjtcbiAgcG9pbnRzOiBudW1iZXI7XG4gIHBwU2hvdE1pc3NlczogbnVtYmVyO1xuICBwcFNob3RzT25Hb2FsOiBudW1iZXI7XG4gIHBwU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIGV2U2hvdE1pc3NlczogbnVtYmVyO1xuICBldlNob3RzT25Hb2FsOiBudW1iZXI7XG4gIGV2U2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIHNoU2hvdE1pc3NlczogbnVtYmVyO1xuICBzaFNob3RzT25Hb2FsOiBudW1iZXI7XG4gIHNoU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIHBwVG90YWxTaG90c09uR29hbDogbnVtYmVyO1xuICBldlRvdGFsU2hvdHNPbkdvYWw6IG51bWJlcjtcbiAgc2hUb3RhbFNob3RzT25Hb2FsOiBudW1iZXI7XG4gIHBwR29hbHM6IG51bWJlcjtcbiAgZXZHb2FsczogbnVtYmVyO1xuICBzaEdvYWxzOiBudW1iZXI7XG4gIHBwQ291bnRlckF0dGFja0dvYWxzOiBudW1iZXI7XG4gIHBwQ291bnRlckF0dGFja09uR29hbHM6IG51bWJlcjtcbiAgcHBDb3VudGVyQXR0YWNrTWlzc2VzOiBudW1iZXI7XG4gIGV2Q291bnRlckF0dGFja0dvYWxzOiBudW1iZXI7XG4gIGV2Q291bnRlckF0dGFja09uR29hbHM6IG51bWJlcjtcbiAgZXZDb3VudGVyQXR0YWNrTWlzc2VzOiBudW1iZXI7XG4gIHNoQ291bnRlckF0dGFja0dvYWxzOiBudW1iZXI7XG4gIHNoQ291bnRlckF0dGFja09uR29hbHM6IG51bWJlcjtcbiAgc2hDb3VudGVyQXR0YWNrTWlzc2VzOiBudW1iZXI7XG4gIHBwTWFuZXV2ZXJHb2FsczogbnVtYmVyO1xuICBwcE1hbmV1dmVyT25Hb2FsczogbnVtYmVyO1xuICBwcE1hbmV1dmVyTWlzc2VzOiBudW1iZXI7XG4gIGV2TWFuZXV2ZXJHb2FsczogbnVtYmVyO1xuICBldk1hbmV1dmVyT25Hb2FsczogbnVtYmVyO1xuICBldk1hbmV1dmVyTWlzc2VzOiBudW1iZXI7XG4gIHNoTWFuZXV2ZXJHb2FsczogbnVtYmVyO1xuICBzaE1hbmV1dmVyT25Hb2FsczogbnVtYmVyO1xuICBzaE1hbmV1dmVyTWlzc2VzOiBudW1iZXI7XG4gIHBwQ2VudGVyRm9yd2FyZEdvYWxzOiBudW1iZXI7XG4gIHBwQ2VudGVyRm9yd2FyZE9uR29hbHM6IG51bWJlcjtcbiAgcHBDZW50ZXJGb3J3YXJkTWlzc2VzOiBudW1iZXI7XG4gIGV2Q2VudGVyRm9yd2FyZEdvYWxzOiBudW1iZXI7XG4gIGV2Q2VudGVyRm9yd2FyZE9uR29hbHM6IG51bWJlcjtcbiAgZXZDZW50ZXJGb3J3YXJkTWlzc2VzOiBudW1iZXI7XG4gIHNoQ2VudGVyRm9yd2FyZEdvYWxzOiBudW1iZXI7XG4gIHNoQ2VudGVyRm9yd2FyZE9uR29hbHM6IG51bWJlcjtcbiAgc2hDZW50ZXJGb3J3YXJkTWlzc2VzOiBudW1iZXI7XG4gIHBwQXNzaXN0czogbnVtYmVyO1xuICBldkFzc2lzdHM6IG51bWJlcjtcbiAgc2hBc3Npc3RzOiBudW1iZXI7XG4gIHNob290b3V0QXR0ZW1wdHM6IG51bWJlcjtcbiAgc2hvb3RvdXRHb2FsczogbnVtYmVyO1xuICBhZnRlckdhbWVTaG9vdG91dEF0dGVtcHRzOiBudW1iZXI7XG4gIGFmdGVyR2FtZVNob290b3V0R29hbHM6IG51bWJlcjtcbiAgYmxvY2tTaG90czogbnVtYmVyO1xuICBmYWNlT2ZmTG9zc2VzOiBudW1iZXI7XG4gIGZhY2VPZmZXaW5zOiBudW1iZXI7XG4gIHBwU2F2ZXM6IG51bWJlcjtcbiAgc2hTYXZlczogbnVtYmVyO1xuICBldlNhdmVzOiBudW1iZXI7XG4gIHBwQ291bnRlckF0dGFja1NhdmVzOiBudW1iZXI7XG4gIHNoQ291bnRlckF0dGFja1NhdmVzOiBudW1iZXI7XG4gIGV2Q291bnRlckF0dGFja1NhdmVzOiBudW1iZXI7XG4gIHBwTWFuZXV2ZXJTYXZlczogbnVtYmVyO1xuICBzaE1hbmV1dmVyU2F2ZXM6IG51bWJlcjtcbiAgZXZNYW5ldXZlclNhdmVzOiBudW1iZXI7XG4gIHBwQ2VudGVyRm9yd2FyZFNhdmVzOiBudW1iZXI7XG4gIHNoQ2VudGVyRm9yd2FyZFNhdmVzOiBudW1iZXI7XG4gIGV2Q2VudGVyRm9yd2FyZFNhdmVzOiBudW1iZXI7XG4gIHBwRnJlZUtpY2tTYXZlczogbnVtYmVyO1xuICBzaEZyZWVLaWNrU2F2ZXM6IG51bWJlcjtcbiAgZXZGcmVlS2lja1NhdmVzOiBudW1iZXI7XG4gIHBwQ29ybmVyU2F2ZXM6IG51bWJlcjtcbiAgc2hDb3JuZXJTYXZlczogbnVtYmVyO1xuICBldkNvcm5lclNhdmVzOiBudW1iZXI7XG4gIHBwVG90YWxHYW1lU2F2ZXM6IG51bWJlcjtcbiAgc2hUb3RhbEdhbWVTYXZlczogbnVtYmVyO1xuICBldlRvdGFsR2FtZVNhdmVzOiBudW1iZXI7XG4gIHNob290b3V0U2F2ZXM6IG51bWJlcjtcbiAgYWZ0ZXJHYW1lU2hvb3RvdXRTYXZlczogbnVtYmVyO1xuICBwcEdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBzaEdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBldkdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBnb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgcHBDb3VudGVyQXR0YWNrR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHNoQ291bnRlckF0dGFja0dvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBldkNvdW50ZXJBdHRhY2tHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgY291bnRlckF0dGFja0dvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBwcE1hbmV1dmVyR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHNoTWFuZXV2ZXJHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgZXZNYW5ldXZlckdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBtYW5ldXZlckdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBwcENlbnRlckZvcndhcmRHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgc2hDZW50ZXJGb3J3YXJkR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGV2Q2VudGVyRm9yd2FyZEdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBjZW50ZXJGb3J3YXJkR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHBwRnJlZUtpY2tHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgc2hGcmVlS2lja0dvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBldkZyZWVLaWNrR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGZyZWVLaWNrR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHBwQ29ybmVyR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHNoQ29ybmVyR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGV2Q29ybmVyR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGNvcm5lckdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBzaG9vdG91dEdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBhZnRlckdhbWVTaG9vdG91dEdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBzYWZldHlSYXRlOiBudW1iZXI7XG4gIHBlbmFsdHlNaW51dGVzOiBudW1iZXI7XG4gIGdhbWVUaW1lOiBudW1iZXI7XG4gIHBsdXNNaW51czogbnVtYmVyO1xuICBmb3VsczogbnVtYmVyO1xuICBtaW5vclBlbmFsdGllczogbnVtYmVyO1xuICBtYWpvclBlbmFsdGllczogbnVtYmVyO1xuICBtYXRjaFBlbmFsdGllczogbnVtYmVyO1xuICBwZW5hbHR5Rm91bHM6IG51bWJlcjtcbiAgdHVybm92ZXJzOiBudW1iZXI7XG4gIGF0dGFja0ZvdWxzOiBudW1iZXI7XG4gIHBlcnNvbmFsRm91bHM6IG51bWJlcjtcbiAgZHJhd25Gb3VsczogbnVtYmVyO1xuICBkcmF3blR1cm5vdmVyczogbnVtYmVyO1xuICB5ZWxsb3dDYXJkczogbnVtYmVyO1xuICByZWRDYXJkczogbnVtYmVyO1xuICBsb3NzZXM6IG51bWJlcjtcbiAgc3RlYWxzOiBudW1iZXI7XG4gIHBwRnJlZUtpY2tHb2FsczogbnVtYmVyO1xuICBwcEZyZWVLaWNrT25Hb2FsczogbnVtYmVyO1xuICBwcEZyZWVLaWNrTWlzc2VzOiBudW1iZXI7XG4gIHNoRnJlZUtpY2tHb2FsczogbnVtYmVyO1xuICBzaEZyZWVLaWNrT25Hb2FsczogbnVtYmVyO1xuICBzaEZyZWVLaWNrTWlzc2VzOiBudW1iZXI7XG4gIGV2RnJlZUtpY2tHb2FsczogbnVtYmVyO1xuICBldkZyZWVLaWNrT25Hb2FsczogbnVtYmVyO1xuICBldkZyZWVLaWNrTWlzc2VzOiBudW1iZXI7XG4gIGZyZWVLaWNrUGFzc2VzOiBudW1iZXI7XG4gIGZyZWVLaWNrU2VsZnM6IG51bWJlcjtcbiAgcHBDb3JuZXJHb2FsczogbnVtYmVyO1xuICBwcENvcm5lck9uR29hbHM6IG51bWJlcjtcbiAgcHBDb3JuZXJNaXNzZXM6IG51bWJlcjtcbiAgc2hDb3JuZXJHb2FsczogbnVtYmVyO1xuICBzaENvcm5lck9uR29hbHM6IG51bWJlcjtcbiAgc2hDb3JuZXJNaXNzZXM6IG51bWJlcjtcbiAgZXZDb3JuZXJHb2FsczogbnVtYmVyO1xuICBldkNvcm5lck9uR29hbHM6IG51bWJlcjtcbiAgZXZDb3JuZXJNaXNzZXM6IG51bWJlcjtcbiAgY29ybmVyUGFzc2VzOiBudW1iZXI7XG4gIGNvcm5lclNlbGZzOiBudW1iZXI7XG4gIHRhY2tsZXM6IG51bWJlcjtcbiAgcGxheWVyRWZmaWNpZW5jeTogbnVtYmVyO1xuICB1cGRhdGVkQXQ6IERhdGU7XG5cbiAgZ2V0IGlkKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2FtZVVzZXJJZDtcbiAgfVxuXG4gIGdldCBnYW1lTWludXRlcygpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLmZsb29yKHRoaXMuZ2FtZVRpbWUgLyA2MCk7XG4gIH1cblxuICBnZXQgcGVuYWx0eVRpbWUoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMucGVuYWx0eU1pbnV0ZXMpIHtcbiAgICAgIHJldHVybiAnMDA6MDAnO1xuICAgIH1cbiAgICBjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcih0aGlzLnBlbmFsdHlNaW51dGVzIC8gNjApO1xuICAgIGNvbnN0IHNlY29uZHMgPSBNYXRoLmZsb29yKHRoaXMucGVuYWx0eU1pbnV0ZXMgLSBtaW51dGVzICogNjApO1xuICAgIHJldHVybiBgJHttaW51dGVzIDwgMTAgPyAwIDogJyd9JHttaW51dGVzfToke3NlY29uZHMgPCAxMCA/IDAgOiAnJ30ke3NlY29uZHN9YDtcbiAgfVxuXG4gIGdldCBhc3Npc3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwQXNzaXN0cyB8fCAwKSArICh0aGlzLnNoQXNzaXN0cyB8fCAwKSAgKyAodGhpcy5ldkFzc2lzdHMgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxDb3VudGVyQXR0YWNrR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBDb3VudGVyQXR0YWNrR29hbHMgfHwgMCkgKyAodGhpcy5ldkNvdW50ZXJBdHRhY2tHb2FscyB8fCAwKSAgKyAodGhpcy5zaENvdW50ZXJBdHRhY2tHb2FscyB8fCAwKTtcbiAgfVxuXG4gIGdldCBwcENvdW50ZXJBdHRhY2tTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcENvdW50ZXJBdHRhY2tPbkdvYWxzIHx8IDApICsgKHRoaXMucHBDb3VudGVyQXR0YWNrTWlzc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHNoQ291bnRlckF0dGFja1Nob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNoQ291bnRlckF0dGFja09uR29hbHMgfHwgMCkgKyAodGhpcy5zaENvdW50ZXJBdHRhY2tNaXNzZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgZXZDb3VudGVyQXR0YWNrU2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuZXZDb3VudGVyQXR0YWNrT25Hb2FscyB8fCAwKSArICh0aGlzLmV2Q291bnRlckF0dGFja01pc3NlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBjb3VudGVyQXR0YWNrU2hvdE1pc3NlcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcENvdW50ZXJBdHRhY2tNaXNzZXMgfHwgMCkgKyAodGhpcy5zaENvdW50ZXJBdHRhY2tNaXNzZXMgfHwgMCkgKyAodGhpcy5ldkNvdW50ZXJBdHRhY2tNaXNzZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgY291bnRlckF0dGFja1Nob3RPbkdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwQ291bnRlckF0dGFja09uR29hbHMgfHwgMCkgKyAodGhpcy5zaENvdW50ZXJBdHRhY2tPbkdvYWxzIHx8IDApICsgKHRoaXMuZXZDb3VudGVyQXR0YWNrT25Hb2FscyB8fCAwKTtcbiAgfVxuXG4gIGdldCBjb3VudGVyQXR0YWNrU2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jb3VudGVyQXR0YWNrU2hvdE1pc3NlcyArIHRoaXMuY291bnRlckF0dGFja1Nob3RPbkdvYWxzO1xuICB9XG5cbiAgZ2V0IGNvdW50ZXJBdHRhY2tHb2Fsc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMudG90YWxDb3VudGVyQXR0YWNrR29hbHMgfHwgIXRoaXMuY291bnRlckF0dGFja1Nob3RzKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMudG90YWxDb3VudGVyQXR0YWNrR29hbHMgLyB0aGlzLmNvdW50ZXJBdHRhY2tTaG90cykgLyAxMDtcbiAgfVxuXG4gIGdldCB0b3RhbE1hbmV1dmVyR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBNYW5ldXZlckdvYWxzIHx8IDApICsgKHRoaXMuc2hNYW5ldXZlckdvYWxzIHx8IDApICsgKHRoaXMuZXZNYW5ldXZlckdvYWxzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHBwTWFuZXV2ZXJTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcE1hbmV1dmVyT25Hb2FscyB8fCAwKSArICh0aGlzLnBwTWFuZXV2ZXJNaXNzZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgc2hNYW5ldXZlclNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNoTWFuZXV2ZXJPbkdvYWxzIHx8IDApICsgKHRoaXMuc2hNYW5ldXZlck1pc3NlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBldk1hbmV1dmVyU2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuZXZNYW5ldXZlck9uR29hbHMgfHwgMCkgKyAodGhpcy5ldk1hbmV1dmVyTWlzc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IG1hbmV1dmVyU2hvdE1pc3NlcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcE1hbmV1dmVyTWlzc2VzIHx8IDApICsgKHRoaXMuc2hNYW5ldXZlck1pc3NlcyB8fCAwKSArICAodGhpcy5ldk1hbmV1dmVyTWlzc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IG1hbmV1dmVyU2hvdE9uR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBNYW5ldXZlck9uR29hbHMgfHwgMCkgKyAodGhpcy5zaE1hbmV1dmVyT25Hb2FscyB8fCAwKSArICAodGhpcy5ldk1hbmV1dmVyT25Hb2FscyB8fCAwKTtcbiAgfVxuXG4gIGdldCBtYW5ldXZlclNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubWFuZXV2ZXJTaG90TWlzc2VzICsgdGhpcy5tYW5ldXZlclNob3RPbkdvYWxzO1xuICB9XG5cbiAgZ2V0IG1hbmV1dmVyR29hbHNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLnRvdGFsTWFuZXV2ZXJHb2FscyB8fCAhdGhpcy5tYW5ldXZlclNob3RzKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMudG90YWxNYW5ldXZlckdvYWxzIC8gdGhpcy5tYW5ldXZlclNob3RzKSAvIDEwO1xuICB9XG5cbiAgZ2V0IHRvdGFsQ2VudGVyRm9yd2FyZEdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwQ2VudGVyRm9yd2FyZEdvYWxzIHx8IDApICsgKHRoaXMuc2hDZW50ZXJGb3J3YXJkR29hbHMgfHwgMCkgKyAgKHRoaXMuZXZDZW50ZXJGb3J3YXJkR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgcHBDZW50ZXJGb3J3YXJkU2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBDZW50ZXJGb3J3YXJkT25Hb2FscyB8fCAwKSArICh0aGlzLnBwQ2VudGVyRm9yd2FyZE1pc3NlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBzaENlbnRlckZvcndhcmRTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaENlbnRlckZvcndhcmRPbkdvYWxzIHx8IDApICsgKHRoaXMuc2hDZW50ZXJGb3J3YXJkTWlzc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGV2Q2VudGVyRm9yd2FyZFNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2Q2VudGVyRm9yd2FyZE9uR29hbHMgfHwgMCkgKyAodGhpcy5ldkNlbnRlckZvcndhcmRNaXNzZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgY2VudGVyRm9yd2FyZFNob3RNaXNzZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBDZW50ZXJGb3J3YXJkTWlzc2VzIHx8IDApICsgKHRoaXMuc2hDZW50ZXJGb3J3YXJkTWlzc2VzIHx8IDApICsgKHRoaXMuZXZDZW50ZXJGb3J3YXJkTWlzc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGNlbnRlckZvcndhcmRTaG90T25Hb2FscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcENlbnRlckZvcndhcmRPbkdvYWxzIHx8IDApICsgKHRoaXMuc2hDZW50ZXJGb3J3YXJkT25Hb2FscyB8fCAwKSArICh0aGlzLmV2Q2VudGVyRm9yd2FyZE9uR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgY2VudGVyRm9yd2FyZFNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY2VudGVyRm9yd2FyZFNob3RNaXNzZXMgKyB0aGlzLmNlbnRlckZvcndhcmRTaG90T25Hb2FscztcbiAgfVxuXG4gIGdldCBjZW50ZXJGb3J3YXJkR29hbHNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLnRvdGFsQ2VudGVyRm9yd2FyZEdvYWxzIHx8ICF0aGlzLmNlbnRlckZvcndhcmRTaG90cykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnRvdGFsQ2VudGVyRm9yd2FyZEdvYWxzIC8gdGhpcy5jZW50ZXJGb3J3YXJkU2hvdHMpIC8gMTA7XG4gIH1cblxuICBnZXQgcHBTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcFNob3RNaXNzZXMgfHwgMCkgKyAodGhpcy5wcFNob3RzT25Hb2FsIHx8IDApICsgKHRoaXMucHBTaG90c0Jsb2NrZWQgfHwgMCkgK1xuICAgICAgKHRoaXMucHBGcmVlS2lja01pc3NlcyB8fCAwKSArICh0aGlzLnBwRnJlZUtpY2tPbkdvYWxzIHx8IDApICtcbiAgICAgICh0aGlzLnBwQ29ybmVyTWlzc2VzIHx8IDApICsgKHRoaXMucHBDb3JuZXJPbkdvYWxzIHx8IDApICtcbiAgICAgIHRoaXMucHBDb3VudGVyQXR0YWNrU2hvdHMgKyB0aGlzLnBwTWFuZXV2ZXJTaG90cyArIHRoaXMucHBDZW50ZXJGb3J3YXJkU2hvdHM7XG4gIH1cblxuICBnZXQgZXZTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5ldlNob3RNaXNzZXMgfHwgMCkgKyAodGhpcy5ldlNob3RzT25Hb2FsIHx8IDApICsgKHRoaXMuZXZTaG90c0Jsb2NrZWQgfHwgMCkgK1xuICAgICAgKHRoaXMuZXZGcmVlS2lja01pc3NlcyB8fCAwKSArICh0aGlzLmV2RnJlZUtpY2tPbkdvYWxzIHx8IDApICtcbiAgICAgICh0aGlzLmV2Q29ybmVyTWlzc2VzIHx8IDApICsgKHRoaXMuZXZDb3JuZXJPbkdvYWxzIHx8IDApICtcbiAgICAgIHRoaXMuZXZDb3VudGVyQXR0YWNrU2hvdHMgKyB0aGlzLmV2TWFuZXV2ZXJTaG90cyArIHRoaXMuZXZDZW50ZXJGb3J3YXJkU2hvdHM7XG4gIH1cblxuICBnZXQgc2hTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaFNob3RNaXNzZXMgfHwgMCkgKyAodGhpcy5zaFNob3RzT25Hb2FsIHx8IDApICsgKHRoaXMuc2hTaG90c0Jsb2NrZWQgfHwgMCkgK1xuICAgICAgKHRoaXMuc2hGcmVlS2lja01pc3NlcyB8fCAwKSArICh0aGlzLnNoRnJlZUtpY2tPbkdvYWxzIHx8IDApICtcbiAgICAgICh0aGlzLnNoQ29ybmVyTWlzc2VzIHx8IDApICsgKHRoaXMuc2hDb3JuZXJPbkdvYWxzIHx8IDApICtcbiAgICAgIHRoaXMuc2hDb3VudGVyQXR0YWNrU2hvdHMgKyB0aGlzLnNoTWFuZXV2ZXJTaG90cyArIHRoaXMuc2hDZW50ZXJGb3J3YXJkU2hvdHM7XG4gIH1cblxuICBnZXQgdG90YWxTaEdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNoR29hbHMgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrR29hbHMgfHwgMCkgKyAodGhpcy5zaENvcm5lckdvYWxzIHx8IDApICtcbiAgICAgICh0aGlzLnNoQ291bnRlckF0dGFja0dvYWxzIHx8IDApICsgKHRoaXMuc2hNYW5ldXZlckdvYWxzIHx8IDApICsgKHRoaXMuc2hDZW50ZXJGb3J3YXJkR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxFdkdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2R29hbHMgfHwgMCkgKyAodGhpcy5ldkZyZWVLaWNrR29hbHMgfHwgMCkgKyAodGhpcy5ldkNvcm5lckdvYWxzIHx8IDApICtcbiAgICAgICh0aGlzLmV2Q291bnRlckF0dGFja0dvYWxzIHx8IDApICsgKHRoaXMuZXZNYW5ldXZlckdvYWxzIHx8IDApICsgKHRoaXMuZXZDZW50ZXJGb3J3YXJkR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxQcEdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwR29hbHMgfHwgMCkgKyAodGhpcy5wcEZyZWVLaWNrR29hbHMgfHwgMCkgKyAodGhpcy5wcENvcm5lckdvYWxzIHx8IDApICtcbiAgICAgICh0aGlzLnBwQ291bnRlckF0dGFja0dvYWxzIHx8IDApICsgKHRoaXMucHBNYW5ldXZlckdvYWxzIHx8IDApICsgKHRoaXMucHBDZW50ZXJGb3J3YXJkR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgZ29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy50b3RhbFNoR29hbHMgKyB0aGlzLnRvdGFsRXZHb2FscyArIHRoaXMudG90YWxQcEdvYWxzO1xuICB9XG5cbiAgZ2V0IHRvdGFsR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nb2FscyArICh0aGlzLnNob290b3V0R29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgc2hvb3RvdXRTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaG9vdG91dEdvYWxzIHx8IDApICsgKHRoaXMuc2hvb3RvdXRBdHRlbXB0cyB8fCAwKTtcbiAgfVxuXG4gIGdldCBpbkdhbWVTaG90TWlzc2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwU2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLmV2U2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLnNoU2hvdE1pc3NlcyB8fCAwKSArXG4gICAgICB0aGlzLmNvdW50ZXJBdHRhY2tTaG90TWlzc2VzICsgdGhpcy5tYW5ldXZlclNob3RNaXNzZXMgKyB0aGlzLmNlbnRlckZvcndhcmRTaG90TWlzc2VzO1xuICB9XG5cbiAgZ2V0IHNob3RNaXNzZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBGcmVlS2lja01pc3NlcyB8fCAwKSArICh0aGlzLmV2RnJlZUtpY2tNaXNzZXMgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrTWlzc2VzIHx8IDApICtcbiAgICAgICh0aGlzLnBwQ29ybmVyTWlzc2VzIHx8IDApICsgKHRoaXMuZXZDb3JuZXJNaXNzZXMgfHwgMCkgKyAodGhpcy5zaENvcm5lck1pc3NlcyB8fCAwKSArXG4gICAgICB0aGlzLmluR2FtZVNob3RNaXNzZXM7XG4gIH1cblxuICBnZXQgdG90YWxQcFNob3RNaXNzZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBTaG90TWlzc2VzIHx8IDApICsgKHRoaXMucHBGcmVlS2lja01pc3NlcyB8fCAwKSArICh0aGlzLnBwQ29ybmVyTWlzc2VzIHx8IDApICtcbiAgICAgICh0aGlzLnBwQ291bnRlckF0dGFja01pc3NlcyB8fCAwKSArICh0aGlzLnBwTWFuZXV2ZXJNaXNzZXMgfHwgMCkgKyAodGhpcy5wcENlbnRlckZvcndhcmRNaXNzZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgc2hvdHNPbkdvYWwoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBTaG90c09uR29hbCB8fCAwKSArICh0aGlzLmV2U2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5zaFNob3RzT25Hb2FsIHx8IDApICtcbiAgICAgICh0aGlzLnBwRnJlZUtpY2tPbkdvYWxzIHx8IDApICsgKHRoaXMuZXZGcmVlS2lja09uR29hbHMgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrT25Hb2FscyB8fCAwKSArXG4gICAgICAodGhpcy5wcENvcm5lck9uR29hbHMgfHwgMCkgKyAodGhpcy5ldkNvcm5lck9uR29hbHMgfHwgMCkgKyAodGhpcy5zaENvcm5lck9uR29hbHMgfHwgMCkgK1xuICAgICAgdGhpcy5jb3VudGVyQXR0YWNrU2hvdE9uR29hbHMgKyB0aGlzLm1hbmV1dmVyU2hvdE9uR29hbHMgKyB0aGlzLmNlbnRlckZvcndhcmRTaG90T25Hb2FscztcbiAgfVxuXG4gIGdldCB0b3RhbFBwU2hvdHNPbkdvYWwoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBTaG90c09uR29hbCB8fCAwKSArICh0aGlzLnBwRnJlZUtpY2tPbkdvYWxzIHx8IDApICsgKHRoaXMucHBDb3JuZXJPbkdvYWxzIHx8IDApICtcbiAgICAgICh0aGlzLnBwQ291bnRlckF0dGFja09uR29hbHMgfHwgMCkgKyAodGhpcy5wcE1hbmV1dmVyT25Hb2FscyB8fCAwKSArICh0aGlzLnBwQ2VudGVyRm9yd2FyZE9uR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgaW5HYW1lU2hvdHNPbkdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwU2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5ldlNob3RzT25Hb2FsIHx8IDApICsgKHRoaXMuc2hTaG90c09uR29hbCB8fCAwKSArXG4gICAgICB0aGlzLmNvdW50ZXJBdHRhY2tTaG90T25Hb2FscyArIHRoaXMubWFuZXV2ZXJTaG90T25Hb2FscyArIHRoaXMuY2VudGVyRm9yd2FyZFNob3RPbkdvYWxzO1xuICB9XG5cbiAgZ2V0IHNob3RzQmxvY2tlZCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcFNob3RzQmxvY2tlZCB8fCAwKSArICh0aGlzLmV2U2hvdHNCbG9ja2VkIHx8IDApICsgKHRoaXMuc2hTaG90c0Jsb2NrZWQgfHwgMCk7XG4gIH1cblxuICBnZXQgc2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wcFNob3RzICsgdGhpcy5ldlNob3RzICsgdGhpcy5zaFNob3RzO1xuICB9XG5cbiAgZ2V0IHRvdGFsU2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zaG90cyArICh0aGlzLnNob290b3V0QXR0ZW1wdHMgfHwgMCk7XG4gIH1cblxuICBnZXQgZmFjZU9mZnMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuZmFjZU9mZldpbnMgfHwgMCkgKyAodGhpcy5mYWNlT2ZmTG9zc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGZyZWVLaWNrU2hvdE1pc3NlcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcEZyZWVLaWNrTWlzc2VzIHx8IDApICsgKHRoaXMuZXZGcmVlS2lja01pc3NlcyB8fCAwKSArICh0aGlzLnNoRnJlZUtpY2tNaXNzZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgZnJlZUtpY2tPbkdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwRnJlZUtpY2tPbkdvYWxzIHx8IDApICsgKHRoaXMuZXZGcmVlS2lja09uR29hbHMgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrT25Hb2FscyB8fCAwKTtcbiAgfVxuXG4gIGdldCB0b3RhbEZyZWVLaWNrR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBGcmVlS2lja0dvYWxzIHx8IDApICsgKHRoaXMuc2hGcmVlS2lja0dvYWxzIHx8IDApICsgKHRoaXMuZXZGcmVlS2lja0dvYWxzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHRvdGFsRnJlZUtpY2tzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmZyZWVLaWNrU2VsZnMgfHwgMCkgKyAodGhpcy5mcmVlS2lja1Bhc3NlcyB8fCAwKSArXG4gICAgICB0aGlzLmZyZWVLaWNrU2hvdE1pc3NlcyArIHRoaXMuZnJlZUtpY2tPbkdvYWxzICsgdGhpcy50b3RhbEZyZWVLaWNrR29hbHM7XG4gIH1cblxuICBnZXQgZnJlZUtpY2tHb2Fsc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMudG90YWxGcmVlS2lja0dvYWxzIHx8ICF0aGlzLnRvdGFsRnJlZUtpY2tzKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMudG90YWxGcmVlS2lja0dvYWxzIC8gdGhpcy50b3RhbEZyZWVLaWNrcykgLyAxMDtcbiAgfVxuXG4gIGdldCB0b3RhbENvcm5lckdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwQ29ybmVyR29hbHMgfHwgMCkgKyAodGhpcy5zaENvcm5lckdvYWxzIHx8IDApICsgKHRoaXMuZXZDb3JuZXJHb2FscyB8fCAwKTtcbiAgfVxuXG4gIGdldCB0b3RhbENvcm5lcnMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuY29ybmVyU2VsZnMgfHwgMCkgKyAodGhpcy5jb3JuZXJQYXNzZXMgfHwgMCkgK1xuICAgICAgKHRoaXMucHBDb3JuZXJPbkdvYWxzIHx8IDApICsgKHRoaXMuc2hDb3JuZXJPbkdvYWxzIHx8IDApICsgKHRoaXMuZXZDb3JuZXJPbkdvYWxzIHx8IDApICtcbiAgICAgICh0aGlzLnBwQ29ybmVyTWlzc2VzIHx8IDApICsgKHRoaXMuc2hDb3JuZXJNaXNzZXMgfHwgMCkgKyAodGhpcy5ldkNvcm5lck1pc3NlcyB8fCAwKSArXG4gICAgICB0aGlzLnRvdGFsQ29ybmVyR29hbHM7XG4gIH1cblxuICBnZXQgdG90YWxGb3VscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5mb3VscyB8fCAwKSArICh0aGlzLnBlbmFsdHlGb3VscyB8fCAwKSArICh0aGlzLmF0dGFja0ZvdWxzIHx8IDApICsgKHRoaXMucGVyc29uYWxGb3VscyB8fCAwKSArXG4gICAgICAodGhpcy5taW5vclBlbmFsdGllcyB8fCAwKSArICh0aGlzLm1ham9yUGVuYWx0aWVzIHx8IDApICsgKHRoaXMubWF0Y2hQZW5hbHRpZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxQZW5hbHRpZXMoKTogbnVtYmVyIHtcbiAgICAgIHJldHVybiAodGhpcy5taW5vclBlbmFsdGllcyB8fCAwKSArICh0aGlzLm1ham9yUGVuYWx0aWVzIHx8IDApICsgKHRoaXMubWF0Y2hQZW5hbHRpZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgcG9zaXRpb25BdHRhY2tHb2FscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaEdvYWxzIHx8IDApICsgKHRoaXMuZXZHb2FscyB8fCAwKSArICh0aGlzLnBwR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgcG9zaXRpb25BdHRhY2tTaG90c09uR29hbCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcFNob3RzT25Hb2FsIHx8IDApICsgKHRoaXMuZXZTaG90c09uR29hbCB8fCAwKSArICh0aGlzLnNoU2hvdHNPbkdvYWwgfHwgMCk7XG4gIH1cblxuICBnZXQgcG9zaXRpb25BdHRhY2tTaG90c01pc3MoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBTaG90TWlzc2VzIHx8IDApICsgKHRoaXMuZXZTaG90TWlzc2VzIHx8IDApICsgKHRoaXMuc2hTaG90TWlzc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHBvc2l0aW9uQXR0YWNrU2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wb3NpdGlvbkF0dGFja1Nob3RzT25Hb2FsICsgdGhpcy5wb3NpdGlvbkF0dGFja1Nob3RzTWlzcztcbiAgfVxuXG4gIGdldCBwb3NpdGlvbkF0dGFja0dvYWxzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5wb3NpdGlvbkF0dGFja0dvYWxzIHx8ICF0aGlzLnBvc2l0aW9uQXR0YWNrU2hvdHMpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy5wb3NpdGlvbkF0dGFja0dvYWxzIC8gdGhpcy5wb3NpdGlvbkF0dGFja1Nob3RzKSAvIDEwO1xuICB9XG5cbiAgZ2V0IHRvdGFsSW5HYW1lR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy50b3RhbENlbnRlckZvcndhcmRHb2FscyArIHRoaXMudG90YWxNYW5ldXZlckdvYWxzICsgdGhpcy50b3RhbENvdW50ZXJBdHRhY2tHb2FscyArIHRoaXMucG9zaXRpb25BdHRhY2tHb2FscztcbiAgfVxuXG4gIGdldCBwcEdvYWxzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy50b3RhbFBwR29hbHMgfHwgIXRoaXMucHBTaG90cykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnRvdGFsUHBHb2FscyAvIHRoaXMucHBTaG90cykgLyAxMDtcbiAgfVxuXG4gIGdldCBldkdvYWxzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy50b3RhbEV2R29hbHMgfHwgIXRoaXMuZXZTaG90cykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnRvdGFsRXZHb2FscyAvIHRoaXMuZXZTaG90cykgLyAxMDtcbiAgfVxuXG4gIGdldCBzaEdvYWxzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy50b3RhbFNoR29hbHMgfHwgIXRoaXMuc2hTaG90cykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnRvdGFsU2hHb2FscyAvIHRoaXMuc2hTaG90cykgLyAxMDtcbiAgfVxuXG4gIGdldCBzaG90c09uR29hbFBlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuc2hvdHNPbkdvYWwgfHwgIXRoaXMuc2hvdHMpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy5zaG90c09uR29hbCAvIHRoaXMuc2hvdHMpIC8gMTA7XG4gIH1cblxuICBnZXQgZ29hbHNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLmdvYWxzIHx8ICF0aGlzLnNob3RzKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMuZ29hbHMgLyB0aGlzLnNob3RzKSAvIDEwO1xuICB9XG5cbiAgZ2V0IHRvdGFsR29hbHNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLnRvdGFsR29hbHMgfHwgIXRoaXMudG90YWxTaG90cykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnRvdGFsR29hbHMgLyB0aGlzLnRvdGFsU2hvdHMpIC8gMTA7XG4gIH1cblxuICBnZXQgZmFjZU9mZlBlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuZmFjZU9mZldpbnMgfHwgIXRoaXMuZmFjZU9mZnMpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy5mYWNlT2ZmV2lucyAvIHRoaXMuZmFjZU9mZnMpIC8gMTA7XG4gIH1cblxuICBnZXQgc2hvb3RvdXRHb2Fsc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuc2hvb3RvdXRHb2FscyB8fCAhdGhpcy5zaG9vdG91dFNob3RzKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMuc2hvb3RvdXRHb2FscyAvIHRoaXMuc2hvb3RvdXRTaG90cykgLyAxMDtcbiAgfVxuXG4gIGdldCBnb2FscGFzcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy50b3RhbEdvYWxzIHx8IDApICsgKHRoaXMuYXNzaXN0cyB8fCAwKTtcbiAgfVxuXG4gIC8qZ29hbGllIHN0YXQgKi9cbiAgZ2V0IHBvc2l0aW9uQXR0YWNrU2F2ZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBTYXZlcyB8fCAwKSArICh0aGlzLnNoU2F2ZXMgfHwgMCkgKyAodGhpcy5ldlNhdmVzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHBvc2l0aW9uQXR0YWNrU2hvdHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucG9zaXRpb25BdHRhY2tTYXZlcyArICh0aGlzLmdvYWxzQWdhaW5zdCB8fCAwKTtcbiAgfVxuXG4gIGdldCBwb3NpdGlvbkF0dGFja1NhdmVzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5wb3NpdGlvbkF0dGFja1NhdmVzIHx8ICF0aGlzLnBvc2l0aW9uQXR0YWNrU2hvdHNBZ2FpbnN0KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMucG9zaXRpb25BdHRhY2tTYXZlcyAvIHRoaXMucG9zaXRpb25BdHRhY2tTaG90c0FnYWluc3QpIC8gMTA7XG4gIH1cblxuICBnZXQgY291bnRlckF0dGFja1NhdmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwQ291bnRlckF0dGFja1NhdmVzIHx8IDApICsgKHRoaXMuc2hDb3VudGVyQXR0YWNrU2F2ZXMgfHwgMCkgKyAodGhpcy5ldkNvdW50ZXJBdHRhY2tTYXZlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBjb3VudGVyQXR0YWNrU2hvdHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY291bnRlckF0dGFja1NhdmVzICsgKHRoaXMuY291bnRlckF0dGFja0dvYWxzQWdhaW5zdCB8fCAwKTtcbiAgfVxuXG4gIGdldCBjb3VudGVyQXR0YWNrU2F2ZXNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLmNvdW50ZXJBdHRhY2tTYXZlcyB8fCAhdGhpcy5jb3VudGVyQXR0YWNrU2hvdHNBZ2FpbnN0KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMuY291bnRlckF0dGFja1NhdmVzIC8gdGhpcy5jb3VudGVyQXR0YWNrU2hvdHNBZ2FpbnN0KSAvIDEwO1xuICB9XG5cblxuICBnZXQgY2VudGVyRm9yd2FyZFNhdmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwQ2VudGVyRm9yd2FyZFNhdmVzIHx8IDApICsgKHRoaXMuc2hDZW50ZXJGb3J3YXJkU2F2ZXMgfHwgMCkgKyAodGhpcy5ldkNlbnRlckZvcndhcmRTYXZlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBjZW50ZXJGb3J3YXJkU2hvdHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY2VudGVyRm9yd2FyZFNhdmVzICsgKHRoaXMuY2VudGVyRm9yd2FyZEdvYWxzQWdhaW5zdCB8fCAwKTtcbiAgfVxuXG4gIGdldCBjZW50ZXJGb3J3YXJkU2F2ZXNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLmNlbnRlckZvcndhcmRTYXZlcyB8fCAhdGhpcy5jZW50ZXJGb3J3YXJkU2hvdHNBZ2FpbnN0KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMuY2VudGVyRm9yd2FyZFNhdmVzIC8gdGhpcy5jZW50ZXJGb3J3YXJkU2hvdHNBZ2FpbnN0KSAvIDEwO1xuICB9XG5cbiAgZ2V0IG1hbmV1dmVyU2F2ZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBNYW5ldXZlclNhdmVzIHx8IDApICsgKHRoaXMuc2hNYW5ldXZlclNhdmVzIHx8IDApICsgKHRoaXMuZXZNYW5ldXZlclNhdmVzIHx8IDApO1xuICB9XG5cbiAgZ2V0IG1hbmV1dmVyU2hvdHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubWFuZXV2ZXJTYXZlcyArICh0aGlzLm1hbmV1dmVyR29hbHNBZ2FpbnN0IHx8IDApO1xuICB9XG5cbiAgZ2V0IG1hbmV1dmVyU2F2ZXNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLm1hbmV1dmVyU2F2ZXMgfHwgIXRoaXMubWFuZXV2ZXJTaG90c0FnYWluc3QpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy5tYW5ldXZlclNhdmVzIC8gdGhpcy5tYW5ldXZlclNob3RzQWdhaW5zdCkgLyAxMDtcbiAgfVxuXG4gIGdldCBmcmVlS2lja1NhdmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwRnJlZUtpY2tTYXZlcyB8fCAwKSArICh0aGlzLnNoRnJlZUtpY2tTYXZlcyB8fCAwKSArICh0aGlzLmV2RnJlZUtpY2tTYXZlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBmcmVlS2lja1Nob3RzQWdhaW5zdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmZyZWVLaWNrU2F2ZXMgKyAodGhpcy5mcmVlS2lja0dvYWxzQWdhaW5zdCB8fCAwKTtcbiAgfVxuXG4gIGdldCBmcmVlS2lja1NhdmVzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5mcmVlS2lja1NhdmVzIHx8ICF0aGlzLmZyZWVLaWNrU2hvdHNBZ2FpbnN0KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMuZnJlZUtpY2tTYXZlcyAvIHRoaXMuZnJlZUtpY2tTaG90c0FnYWluc3QpIC8gMTA7XG4gIH1cblxuICBnZXQgY29ybmVyU2F2ZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBDb3JuZXJTYXZlcyB8fCAwKSArICh0aGlzLnNoQ29ybmVyU2F2ZXMgfHwgMCkgKyAodGhpcy5ldkNvcm5lclNhdmVzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGNvcm5lclNob3RzQWdhaW5zdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNvcm5lclNhdmVzICsgKHRoaXMuY29ybmVyR29hbHNBZ2FpbnN0IHx8IDApO1xuICB9XG5cbiAgZ2V0IGNvcm5lclNhdmVzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5jb3JuZXJTYXZlcyB8fCAhdGhpcy5jb3JuZXJTaG90c0FnYWluc3QpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy5jb3JuZXJTYXZlcyAvIHRoaXMuY29ybmVyU2hvdHNBZ2FpbnN0KSAvIDEwO1xuICB9XG5cbiAgZ2V0IHRvdGFsU2hTYXZlcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaENvdW50ZXJBdHRhY2tTYXZlcyB8fCAwKSArICh0aGlzLnNoTWFuZXV2ZXJTYXZlcyB8fCAwKSArICh0aGlzLnNoQ2VudGVyRm9yd2FyZFNhdmVzIHx8IDApICtcbiAgICAgICh0aGlzLnNoU2F2ZXMgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrU2F2ZXMgfHwgMCkgKyAodGhpcy5zaENvcm5lclNhdmVzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGluR2FtZVNhdmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNoU2F2ZXMgfHwgMCkgKyAodGhpcy5ldlNhdmVzIHx8IDApICsgKHRoaXMucHBTYXZlcyB8fCAwKSArXG4gICAgICB0aGlzLmNvdW50ZXJBdHRhY2tTYXZlcyArIHRoaXMubWFuZXV2ZXJTYXZlcyArIHRoaXMuY2VudGVyRm9yd2FyZFNhdmVzO1xuICB9XG5cbiAgZ2V0IHNhdmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5HYW1lU2F2ZXMgKyB0aGlzLmZyZWVLaWNrU2F2ZXMgKyB0aGlzLmNvcm5lclNhdmVzO1xuICB9XG5cbiAgZ2V0IHRvdGFsU2F2ZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zYXZlcyArICh0aGlzLnNob290b3V0U2F2ZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxTaEdvYWxzQWdhaW5zdCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaEdvYWxzQWdhaW5zdCB8fCAwKSArICh0aGlzLnNoRnJlZUtpY2tHb2Fsc0FnYWluc3QgfHwgMCkgKyAodGhpcy5zaENvcm5lckdvYWxzQWdhaW5zdCB8fCAwKSArXG4gICAgICAodGhpcy5zaENvdW50ZXJBdHRhY2tHb2Fsc0FnYWluc3QgfHwgMCkgKyAodGhpcy5zaE1hbmV1dmVyR29hbHNBZ2FpbnN0IHx8IDApICsgKHRoaXMuc2hDZW50ZXJGb3J3YXJkR29hbHNBZ2FpbnN0IHx8IDApO1xuICB9XG5cbiAgZ2V0IGluR2FtZUdvYWxzQWdhaW5zdCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5nb2Fsc0FnYWluc3QgfHwgMCkgKyAodGhpcy5jb3VudGVyQXR0YWNrR29hbHNBZ2FpbnN0IHx8IDApICsgKHRoaXMubWFuZXV2ZXJHb2Fsc0FnYWluc3QgfHwgMCkgK1xuICAgICAgKHRoaXMuY2VudGVyRm9yd2FyZEdvYWxzQWdhaW5zdCB8fCAwKTtcbiAgfVxuXG4gIGdldCBzaG9vdG91dFNob3RzQWdhaW5zdCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaG9vdG91dFNhdmVzIHx8IDApICsgKHRoaXMuc2hvb3RvdXRHb2Fsc0FnYWluc3QgfHwgMCk7XG4gIH1cblxuICBnZXQgZ2FtZUdvYWxzQWdhaW5zdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmluR2FtZUdvYWxzQWdhaW5zdCArICh0aGlzLmZyZWVLaWNrR29hbHNBZ2FpbnN0IHx8IDApICsgKHRoaXMuY29ybmVyR29hbHNBZ2FpbnN0IHx8IDApO1xuICB9XG5cbiAgZ2V0IHRvdGFsR29hbHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2FtZUdvYWxzQWdhaW5zdCArICh0aGlzLnNob290b3V0R29hbHNBZ2FpbnN0IHx8IDApO1xuICB9XG5cbiAgZ2V0IGdhbWVTaG90c0FnYWluc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zYXZlcyArIHRoaXMuZ2FtZUdvYWxzQWdhaW5zdDtcbiAgfVxuXG4gIGdldCB0b3RhbFNob3RzQWdhaW5zdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdhbWVTaG90c0FnYWluc3QgKyB0aGlzLnNob290b3V0U2hvdHNBZ2FpbnN0O1xuICB9XG5cbiAgZ2V0IHNob290b3V0U2F2ZXNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLnNob290b3V0U2F2ZXMgfHwgIXRoaXMuc2hvb3RvdXRTaG90c0FnYWluc3QpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy5zaG9vdG91dFNhdmVzIC8gdGhpcy5zaG9vdG91dFNob3RzQWdhaW5zdCkgLyAxMDtcbiAgfVxuXG4gIGdldCBzYXZlc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuc2F2ZXMgfHwgIXRoaXMuZ2FtZVNob3RzQWdhaW5zdCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnNhdmVzIC8gdGhpcy5nYW1lU2hvdHNBZ2FpbnN0KSAvIDEwO1xuICB9XG5cbiAgZ2V0IHRvdGFsU2F2ZXNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLnRvdGFsU2F2ZXMgfHwgIXRoaXMudG90YWxTaG90c0FnYWluc3QpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy50b3RhbFNhdmVzIC8gdGhpcy50b3RhbFNob3RzQWdhaW5zdCkgLyAxMDtcbiAgfVxuXG4gIEBUb0Zyb250SG9va1xuICBzdGF0aWMgdG9Gcm9udChkYXRhOiBhbnkpOiBhbnkge31cblxuICBAVG9CYWNrSG9va1xuICBzdGF0aWMgdG9CYWNrKGRhdGE6IGFueSk6IGFueSB7fVxufVxuIl19
|