@mtgame/core 0.1.131 → 0.1.133

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.
@@ -4,112 +4,214 @@ let WaterpoloGameStatistic = class WaterpoloGameStatistic extends BaseModel {
4
4
  get id() {
5
5
  return this.gameUserId;
6
6
  }
7
- get shotsOnGoal() {
8
- return (this.evShotsOnGoal || 0) + (this.ppShotsOnGoal || 0) + (this.shShotsOnGoal || 0) +
9
- (this.evCornerOnGoals || 0) + (this.ppCornerOnGoals || 0) + (this.shCornerOnGoals || 0) +
10
- (this.evFreeKickOnGoals || 0) + (this.ppFreeKickOnGoals || 0) + (this.shFreeKickOnGoals || 0);
7
+ get gameMinutes() {
8
+ return Math.floor(this.gameTime / 60);
11
9
  }
12
- get shotsBlocked() {
13
- return (this.evShotsBlocked || 0) + (this.ppShotsBlocked || 0) + (this.shShotsBlocked || 0);
10
+ get penaltyTime() {
11
+ if (!this.penaltyMinutes) {
12
+ return '00:00';
13
+ }
14
+ const minutes = Math.floor(this.penaltyMinutes / 60);
15
+ const seconds = Math.floor(this.penaltyMinutes - minutes * 60);
16
+ return `${minutes < 10 ? 0 : ''}${minutes}:${seconds < 10 ? 0 : ''}${seconds}`;
14
17
  }
15
- get shotMisses() {
16
- return (this.evShotMisses || 0) + (this.ppShotMisses || 0) + (this.shShotMisses || 0) +
17
- (this.evCornerMisses || 0) + (this.ppCornerMisses || 0) + (this.shCornerMisses || 0) +
18
- (this.evFreeKickMisses || 0) + (this.ppFreeKickMisses || 0) + (this.shFreeKickMisses || 0);
18
+ get assists() {
19
+ return (this.ppAssists || 0) + (this.shAssists || 0) + (this.evAssists || 0);
20
+ }
21
+ get totalCounterAttackGoals() {
22
+ return (this.ppCounterAttackGoals || 0) + (this.evCounterAttackGoals || 0) + (this.shCounterAttackGoals || 0);
23
+ }
24
+ get ppCounterAttackShots() {
25
+ return (this.ppCounterAttackOnGoals || 0) + (this.ppCounterAttackMisses || 0);
26
+ }
27
+ get shCounterAttackShots() {
28
+ return (this.shCounterAttackOnGoals || 0) + (this.shCounterAttackMisses || 0);
29
+ }
30
+ get evCounterAttackShots() {
31
+ return (this.evCounterAttackOnGoals || 0) + (this.evCounterAttackMisses || 0);
32
+ }
33
+ get counterAttackShotMisses() {
34
+ return (this.ppCounterAttackMisses || 0) + (this.shCounterAttackMisses || 0) + (this.evCounterAttackMisses || 0);
35
+ }
36
+ get counterAttackShotOnGoals() {
37
+ return (this.ppCounterAttackOnGoals || 0) + (this.shCounterAttackOnGoals || 0) + (this.evCounterAttackOnGoals || 0);
38
+ }
39
+ get totalManeuverGoals() {
40
+ return (this.ppManeuverGoals || 0) + (this.shManeuverGoals || 0) + (this.evManeuverGoals || 0);
41
+ }
42
+ get ppManeuverShots() {
43
+ return (this.ppManeuverOnGoals || 0) + (this.ppManeuverMisses || 0);
44
+ }
45
+ get shManeuverShots() {
46
+ return (this.shManeuverOnGoals || 0) + (this.shManeuverMisses || 0);
47
+ }
48
+ get evManeuverShots() {
49
+ return (this.evManeuverOnGoals || 0) + (this.evManeuverMisses || 0);
50
+ }
51
+ get maneuverShotMisses() {
52
+ return (this.ppManeuverMisses || 0) + (this.shManeuverMisses || 0) + (this.evManeuverMisses || 0);
53
+ }
54
+ get maneuverShotOnGoals() {
55
+ return (this.ppManeuverOnGoals || 0) + (this.shManeuverOnGoals || 0) + (this.evManeuverOnGoals || 0);
56
+ }
57
+ get totalCenterForwardGoals() {
58
+ return (this.ppCenterForwardGoals || 0) + (this.shCenterForwardGoals || 0) + (this.evCenterForwardGoals || 0);
59
+ }
60
+ get ppCenterForwardShots() {
61
+ return (this.ppCenterForwardOnGoals || 0) + (this.ppCenterForwardMisses || 0);
62
+ }
63
+ get shCenterForwardShots() {
64
+ return (this.shCenterForwardOnGoals || 0) + (this.shCenterForwardMisses || 0);
65
+ }
66
+ get evCenterForwardShots() {
67
+ return (this.evCenterForwardOnGoals || 0) + (this.evCenterForwardMisses || 0);
68
+ }
69
+ get centerForwardShotMisses() {
70
+ return (this.ppCenterForwardMisses || 0) + (this.shCenterForwardMisses || 0) + (this.evCenterForwardMisses || 0);
71
+ }
72
+ get centerForwardShotOnGoals() {
73
+ return (this.ppCenterForwardOnGoals || 0) + (this.shCenterForwardOnGoals || 0) + (this.evCenterForwardOnGoals || 0);
19
74
  }
20
75
  get ppShots() {
21
76
  return (this.ppShotMisses || 0) + (this.ppShotsOnGoal || 0) + (this.ppShotsBlocked || 0) +
77
+ (this.ppFreeKickMisses || 0) + (this.ppFreeKickOnGoals || 0) +
22
78
  (this.ppCornerMisses || 0) + (this.ppCornerOnGoals || 0) +
23
- (this.ppFreeKickMisses || 0) + (this.ppFreeKickOnGoals || 0);
79
+ this.ppCounterAttackShots + this.ppManeuverShots + this.ppCenterForwardShots;
24
80
  }
25
81
  get evShots() {
26
82
  return (this.evShotMisses || 0) + (this.evShotsOnGoal || 0) + (this.evShotsBlocked || 0) +
83
+ (this.evFreeKickMisses || 0) + (this.evFreeKickOnGoals || 0) +
27
84
  (this.evCornerMisses || 0) + (this.evCornerOnGoals || 0) +
28
- (this.evFreeKickMisses || 0) + (this.evFreeKickOnGoals || 0);
85
+ this.evCounterAttackShots + this.evManeuverShots + this.evCenterForwardShots;
29
86
  }
30
87
  get shShots() {
31
88
  return (this.shShotMisses || 0) + (this.shShotsOnGoal || 0) + (this.shShotsBlocked || 0) +
89
+ (this.shFreeKickMisses || 0) + (this.shFreeKickOnGoals || 0) +
32
90
  (this.shCornerMisses || 0) + (this.shCornerOnGoals || 0) +
33
- (this.shFreeKickMisses || 0) + (this.shFreeKickOnGoals || 0);
34
- }
35
- get shots() {
36
- return this.ppShots + this.evShots + this.shShots + (this.shootoutAttempts || 0);
37
- }
38
- get shotsOnGoalPercent() {
39
- if (!this.shots || !this.shotsOnGoal) {
40
- return 0;
41
- }
42
- return Math.round(1000 * this.shotsOnGoal / this.shots) / 10;
43
- }
44
- get totalShots() {
45
- return this.shots + (this.shootoutAttempts || 0);
91
+ this.shCounterAttackShots + this.shManeuverShots + this.shCenterForwardShots;
46
92
  }
47
93
  get totalShGoals() {
48
- return (this.shGoals || 0) + (this.shFreeKickGoals || 0) + (this.shCornerGoals || 0);
94
+ return (this.shGoals || 0) + (this.shFreeKickGoals || 0) + (this.shCornerGoals || 0) +
95
+ (this.shCounterAttackGoals || 0) + (this.shManeuverGoals || 0) + (this.shCenterForwardGoals || 0);
49
96
  }
50
97
  get totalEvGoals() {
51
- return (this.evGoals || 0) + (this.evFreeKickGoals || 0) + (this.evCornerGoals || 0);
98
+ return (this.evGoals || 0) + (this.evFreeKickGoals || 0) + (this.evCornerGoals || 0) +
99
+ (this.evCounterAttackGoals || 0) + (this.evManeuverGoals || 0) + (this.evCenterForwardGoals || 0);
52
100
  }
53
101
  get totalPpGoals() {
54
- return (this.ppGoals || 0) + (this.ppFreeKickGoals || 0) + (this.ppCornerGoals || 0);
102
+ return (this.ppGoals || 0) + (this.ppFreeKickGoals || 0) + (this.ppCornerGoals || 0) +
103
+ (this.ppCounterAttackGoals || 0) + (this.ppManeuverGoals || 0) + (this.ppCenterForwardGoals || 0);
55
104
  }
56
105
  get goals() {
57
- return this.totalEvGoals + this.totalPpGoals + this.totalShGoals;
106
+ return this.totalShGoals + this.totalEvGoals + this.totalPpGoals;
58
107
  }
59
108
  get totalGoals() {
60
109
  return this.goals + (this.shootoutGoals || 0);
61
110
  }
62
- get assists() {
63
- return (this.ppAssists || 0) + (this.evAssists || 0) + (this.shAssists || 0);
111
+ get shootoutShots() {
112
+ return (this.shootoutGoals || 0) + (this.shootoutAttempts || 0);
113
+ }
114
+ get inGameShotMisses() {
115
+ return (this.ppShotMisses || 0) + (this.evShotMisses || 0) + (this.shShotMisses || 0) +
116
+ this.counterAttackShotMisses + this.maneuverShotMisses + this.centerForwardShotMisses;
117
+ }
118
+ get shotMisses() {
119
+ return (this.ppFreeKickMisses || 0) + (this.evFreeKickMisses || 0) + (this.shFreeKickMisses || 0) +
120
+ (this.ppCornerMisses || 0) + (this.evCornerMisses || 0) + (this.shCornerMisses || 0) +
121
+ this.inGameShotMisses;
122
+ }
123
+ get totalPpShotMisses() {
124
+ return (this.ppShotMisses || 0) + (this.ppFreeKickMisses || 0) + (this.ppCornerMisses || 0) +
125
+ (this.ppCounterAttackMisses || 0) + (this.ppManeuverMisses || 0) + (this.ppCenterForwardMisses || 0);
126
+ }
127
+ get shotsOnGoal() {
128
+ return (this.ppShotsOnGoal || 0) + (this.evShotsOnGoal || 0) + (this.shShotsOnGoal || 0) +
129
+ (this.ppFreeKickOnGoals || 0) + (this.evFreeKickOnGoals || 0) + (this.shFreeKickOnGoals || 0) +
130
+ (this.ppCornerOnGoals || 0) + (this.evCornerOnGoals || 0) + (this.shCornerOnGoals || 0) +
131
+ this.counterAttackShotOnGoals + this.maneuverShotOnGoals + this.centerForwardShotOnGoals;
132
+ }
133
+ get totalPpShotsOnGoal() {
134
+ return (this.ppShotsOnGoal || 0) + (this.ppFreeKickOnGoals || 0) + (this.ppCornerOnGoals || 0) +
135
+ (this.ppCounterAttackOnGoals || 0) + (this.ppManeuverOnGoals || 0) + (this.ppCenterForwardOnGoals || 0);
136
+ }
137
+ get inGameShotsOnGoals() {
138
+ return (this.ppShotsOnGoal || 0) + (this.evShotsOnGoal || 0) + (this.shShotsOnGoal || 0) +
139
+ this.counterAttackShotOnGoals + this.maneuverShotOnGoals + this.centerForwardShotOnGoals;
140
+ }
141
+ get shotsBlocked() {
142
+ return (this.ppShotsBlocked || 0) + (this.evShotsBlocked || 0) + (this.shShotsBlocked || 0);
143
+ }
144
+ get shots() {
145
+ return this.ppShots + this.evShots + this.shShots;
146
+ }
147
+ get totalShots() {
148
+ return this.shots + (this.shootoutAttempts || 0);
64
149
  }
65
150
  get faceOffs() {
66
151
  return (this.faceOffWins || 0) + (this.faceOffLosses || 0);
67
152
  }
68
- get shootOuts() {
69
- return (this.shootoutAttempts || 0) + (this.shootoutGoals || 0);
153
+ get freeKickShotMisses() {
154
+ return (this.ppFreeKickMisses || 0) + (this.evFreeKickMisses || 0) + (this.shFreeKickMisses || 0);
70
155
  }
71
- get shotsAgainst() {
72
- return (this.saves || 0) + (this.goalsAgainst || 0);
156
+ get freeKickOnGoals() {
157
+ return (this.ppFreeKickOnGoals || 0) + (this.evFreeKickOnGoals || 0) + (this.shFreeKickOnGoals || 0);
73
158
  }
74
- get shootoutShotsAgainst() {
75
- return (this.shootoutSaves || 0) + (this.shootoutGoalsAgainst || 0);
159
+ get totalFreeKickGoals() {
160
+ return (this.ppFreeKickGoals || 0) + (this.shFreeKickGoals || 0) + (this.evFreeKickGoals || 0);
76
161
  }
77
- get totalShotsAgainst() {
78
- return this.shotsAgainst + this.shootoutShotsAgainst;
162
+ get totalFreeKicks() {
163
+ return (this.freeKickSelfs || 0) + (this.freeKickPasses || 0) +
164
+ this.freeKickShotMisses + this.freeKickOnGoals + this.totalFreeKickGoals;
79
165
  }
80
- get savesPercent() {
81
- if (!this.shotsAgainst || !this.saves) {
82
- return 0;
83
- }
84
- return Math.round(1000 * this.saves / this.shotsAgainst) / 10;
166
+ get totalCornerGoals() {
167
+ return (this.ppCornerGoals || 0) + (this.shCornerGoals || 0) + (this.evCornerGoals || 0);
85
168
  }
86
- get totalSaves() {
87
- return (this.saves || 0) + (this.shootoutSaves || 0);
169
+ get totalCorners() {
170
+ return (this.cornerSelfs || 0) + (this.cornerPasses || 0) +
171
+ (this.ppCornerOnGoals || 0) + (this.shCornerOnGoals || 0) + (this.evCornerOnGoals || 0) +
172
+ (this.ppCornerMisses || 0) + (this.shCornerMisses || 0) + (this.evCornerMisses || 0) +
173
+ this.totalCornerGoals;
88
174
  }
89
- get totalSavesPercent() {
90
- if (!this.totalShotsAgainst || !this.totalSaves) {
175
+ get totalFouls() {
176
+ return (this.fouls || 0) + (this.penaltyFouls || 0) + (this.attackFouls || 0) + (this.personalFouls || 0);
177
+ }
178
+ get inGameGoals() {
179
+ return (this.shGoals || 0) + (this.evGoals || 0) + (this.ppGoals || 0);
180
+ }
181
+ get totalInGameGoals() {
182
+ return this.totalCenterForwardGoals + this.totalManeuverGoals + this.totalCounterAttackGoals + this.inGameGoals;
183
+ }
184
+ get ppGoalsPercent() {
185
+ if (!this.totalPpGoals || !this.ppShots) {
91
186
  return 0;
92
187
  }
93
- return Math.round(1000 * this.totalSaves / this.totalShotsAgainst) / 10;
188
+ return Math.round(1000 * this.totalPpGoals / this.ppShots) / 10;
94
189
  }
95
- get totalGoalsAgainst() {
96
- return (this.goalsAgainst || 0) + (this.shootoutGoalsAgainst || 0);
97
- }
98
- get totalFouls() {
99
- return (this.fouls || 0) + (this.personalFouls || 0);
190
+ get evGoalsPercent() {
191
+ if (!this.totalEvGoals || !this.evShots) {
192
+ return 0;
193
+ }
194
+ return Math.round(1000 * this.totalEvGoals / this.evShots) / 10;
100
195
  }
101
- get gameMinutes() {
102
- return Math.floor(this.gameTime / 60);
196
+ get shGoalsPercent() {
197
+ if (!this.totalShGoals || !this.shShots) {
198
+ return 0;
199
+ }
200
+ return Math.round(1000 * this.totalShGoals / this.shShots) / 10;
103
201
  }
104
- get penaltyTime() {
105
- if (!this.penaltyMinutes) {
106
- return '00:00';
202
+ get shotsOnGoalPercent() {
203
+ if (!this.shotsOnGoal || !this.shots) {
204
+ return 0;
107
205
  }
108
- const minutes = Math.floor(this.penaltyMinutes / 60);
109
- const seconds = Math.floor(this.penaltyMinutes - minutes * 60);
110
- return `${minutes < 10 ? 0 : ''}${minutes}:${seconds < 10 ? 0 : ''}${seconds}`;
206
+ return Math.round(1000 * this.shotsOnGoal / this.shots) / 10;
111
207
  }
112
208
  get goalsPercent() {
209
+ if (!this.goals || !this.shots) {
210
+ return 0;
211
+ }
212
+ return Math.round(1000 * this.goals / this.shots) / 10;
213
+ }
214
+ get totalGoalsPercent() {
113
215
  if (!this.totalGoals || !this.totalShots) {
114
216
  return 0;
115
217
  }
@@ -121,20 +223,85 @@ let WaterpoloGameStatistic = class WaterpoloGameStatistic extends BaseModel {
121
223
  }
122
224
  return Math.round(1000 * this.faceOffWins / this.faceOffs) / 10;
123
225
  }
226
+ get shootoutGoalsPercent() {
227
+ if (!this.shootoutGoals || !this.shootoutShots) {
228
+ return 0;
229
+ }
230
+ return Math.round(1000 * this.shootoutGoals / this.shootoutShots) / 10;
231
+ }
124
232
  get goalpass() {
125
233
  return (this.totalGoals || 0) + (this.assists || 0);
126
234
  }
127
- get totalFreeKicks() {
128
- return (this.freeKickPasses || 0) + (this.freeKickSelfs || 0) +
129
- (this.ppFreeKickGoals || 0) + (this.ppFreeKickOnGoals || 0) + (this.ppFreeKickMisses || 0) +
130
- (this.evFreeKickGoals || 0) + (this.evFreeKickOnGoals || 0) + (this.evFreeKickMisses || 0) +
131
- (this.shFreeKickGoals || 0) + (this.shFreeKickOnGoals || 0) + (this.shFreeKickMisses || 0);
235
+ /*goalie stat */
236
+ get counterAttackSaves() {
237
+ return (this.ppCounterAttackSaves || 0) + (this.shCounterAttackSaves || 0) + (this.evCounterAttackSaves || 0);
132
238
  }
133
- get totalCorners() {
134
- return (this.cornerPasses || 0) + (this.cornerSelfs || 0) +
135
- (this.ppCornerGoals || 0) + (this.ppCornerOnGoals || 0) + (this.ppCornerMisses || 0) +
136
- (this.evCornerGoals || 0) + (this.evCornerOnGoals || 0) + (this.evCornerMisses || 0) +
137
- (this.shCornerGoals || 0) + (this.shCornerOnGoals || 0) + (this.shCornerMisses || 0);
239
+ get centerForwardSaves() {
240
+ return (this.ppCenterForwardSaves || 0) + (this.shCenterForwardSaves || 0) + (this.evCenterForwardSaves || 0);
241
+ }
242
+ get maneuverSaves() {
243
+ return (this.ppManeuverSaves || 0) + (this.shManeuverSaves || 0) + (this.evManeuverSaves || 0);
244
+ }
245
+ get freeKickSaves() {
246
+ return (this.ppFreeKickSaves || 0) + (this.shFreeKickSaves || 0) + (this.evFreeKickSaves || 0);
247
+ }
248
+ get cornerSaves() {
249
+ return (this.ppCornerSaves || 0) + (this.shCornerSaves || 0) + (this.evCornerSaves || 0);
250
+ }
251
+ get totalShSaves() {
252
+ return (this.shCounterAttackSaves || 0) + (this.shManeuverSaves || 0) + (this.shCenterForwardSaves || 0) +
253
+ (this.shSaves || 0) + (this.shFreeKickSaves || 0) + (this.shCornerSaves || 0);
254
+ }
255
+ get inGameSaves() {
256
+ return (this.shSaves || 0) + (this.evSaves || 0) + (this.ppSaves || 0) +
257
+ this.counterAttackSaves + this.maneuverSaves + this.centerForwardSaves;
258
+ }
259
+ get saves() {
260
+ return this.inGameSaves + this.freeKickSaves + this.cornerSaves;
261
+ }
262
+ get totalSaves() {
263
+ return this.saves + (this.shootoutSaves || 0);
264
+ }
265
+ get totalShGoalsAgainst() {
266
+ return (this.shGoalsAgainst || 0) + (this.shFreeKickGoalsAgainst || 0) + (this.shCornerGoalsAgainst || 0) +
267
+ (this.shCounterAttackGoalsAgainst || 0) + (this.shManeuverGoalsAgainst || 0) + (this.shCenterForwardGoalsAgainst || 0);
268
+ }
269
+ get inGameGoalsAgainst() {
270
+ return (this.goalsAgainst || 0) + (this.counterAttackGoalsAgainst || 0) + (this.maneuverGoalsAgainst || 0) +
271
+ (this.centerForwardGoalsAgainst || 0);
272
+ }
273
+ get shootoutShotsAgainst() {
274
+ return (this.shootoutSaves || 0) + (this.shootoutGoalsAgainst || 0);
275
+ }
276
+ get gameGoalsAgainst() {
277
+ return this.inGameGoalsAgainst + (this.freeKickGoalsAgainst || 0) + (this.cornerGoalsAgainst || 0);
278
+ }
279
+ get totalGoalsAgainst() {
280
+ return this.gameGoalsAgainst + (this.shootoutGoalsAgainst || 0);
281
+ }
282
+ get gameShotsAgainst() {
283
+ return this.saves + this.gameGoalsAgainst;
284
+ }
285
+ get totalShotsAgainst() {
286
+ return this.gameShotsAgainst + this.shootoutShotsAgainst;
287
+ }
288
+ get shootoutSavesPercent() {
289
+ if (!this.shootoutSaves || !this.shootoutShotsAgainst) {
290
+ return 0;
291
+ }
292
+ return Math.round(1000 * this.shootoutSaves / this.shootoutShotsAgainst) / 10;
293
+ }
294
+ get savesPercent() {
295
+ if (!this.saves || !this.gameShotsAgainst) {
296
+ return 0;
297
+ }
298
+ return Math.round(1000 * this.saves / this.gameShotsAgainst) / 10;
299
+ }
300
+ get totalSavesPercent() {
301
+ if (!this.totalSaves || !this.totalShotsAgainst) {
302
+ return 0;
303
+ }
304
+ return Math.round(1000 * this.totalSaves / this.totalShotsAgainst) / 10;
138
305
  }
139
306
  static toFront(data) { }
140
307
  static toBack(data) { }
@@ -160,9 +327,39 @@ WaterpoloGameStatistic = __decorate([
160
327
  sh_shot_misses: 'shShotMisses',
161
328
  sh_shots_on_goal: 'shShotsOnGoal',
162
329
  sh_shots_blocked: 'shShotsBlocked',
330
+ pp_total_shots_on_goal: 'ppTotalShotsOnGoal',
331
+ ev_total_shots_on_goal: 'evTotalShotsOnGoal',
332
+ sh_total_shots_on_goal: 'shTotalShotsOnGoal',
163
333
  pp_goals: 'ppGoals',
164
334
  ev_goals: 'evGoals',
165
335
  sh_goals: 'shGoals',
336
+ pp_counterattack_goals: 'ppCounterAttackGoals',
337
+ pp_counterattack_on_goals: 'ppCounterAttackOnGoals',
338
+ pp_counterattack_misses: 'ppCounterAttackMisses',
339
+ ev_counterattack_goals: 'evCounterAttackGoals',
340
+ ev_counterattack_on_goals: 'evCounterAttackOnGoals',
341
+ ev_counterattack_misses: 'evCounterAttackMisses',
342
+ sh_counterattack_goals: 'shCounterAttackGoals',
343
+ sh_counterattack_on_goals: 'shCounterAttackOnGoals',
344
+ sh_counterattack_misses: 'shCounterAttackMisses',
345
+ pp_maneuver_goals: 'ppManeuverGoals',
346
+ pp_maneuver_on_goals: 'ppManeuverOnGoals',
347
+ pp_maneuver_misses: 'ppManeuverMisses',
348
+ ev_maneuver_goals: 'evManeuverGoals',
349
+ ev_maneuver_on_goals: 'evManeuverOnGoals',
350
+ ev_maneuver_misses: 'evManeuverMisses',
351
+ sh_maneuver_goals: 'shManeuverGoals',
352
+ sh_maneuver_on_goals: 'shManeuverOnGoals',
353
+ sh_maneuver_misses: 'shManeuverMisses',
354
+ pp_center_forward_goals: 'ppCenterForwardGoals',
355
+ pp_center_forward_on_goals: 'ppCenterForwardOnGoals',
356
+ pp_center_forward_misses: 'ppCenterForwardMisses',
357
+ ev_center_forward_goals: 'evCenterForwardGoals',
358
+ ev_center_forward_on_goals: 'evCenterForwardOnGoals',
359
+ ev_center_forward_misses: 'evCenterForwardMisses',
360
+ sh_center_forward_goals: 'shCenterForwardGoals',
361
+ sh_center_forward_on_goals: 'shCenterForwardOnGoals',
362
+ sh_center_forward_misses: 'shCenterForwardMisses',
166
363
  pp_assists: 'ppAssists',
167
364
  ev_assists: 'evAssists',
168
365
  sh_assists: 'shAssists',
@@ -173,23 +370,73 @@ WaterpoloGameStatistic = __decorate([
173
370
  block_shots: 'blockShots',
174
371
  face_off_losses: 'faceOffLosses',
175
372
  face_off_wins: 'faceOffWins',
176
- saves: 'saves',
177
- shootout_save: 'shootoutSaves',
373
+ pp_saves: 'ppSaves',
374
+ sh_saves: 'shSaves',
375
+ ev_saves: 'evSaves',
376
+ pp_counterattack_saves: 'ppCounterAttackSaves',
377
+ sh_counterattack_saves: 'shCounterAttackSaves',
378
+ ev_counterattack_saves: 'evCounterAttackSaves',
379
+ pp_maneuver_saves: 'ppManeuverSaves',
380
+ sh_maneuver_saves: 'shManeuverSaves',
381
+ ev_maneuver_saves: 'evManeuverSaves',
382
+ pp_center_forward_saves: 'ppCenterForwardSaves',
383
+ sh_center_forward_saves: 'shCenterForwardSaves',
384
+ ev_center_forward_saves: 'evCenterForwardSaves',
385
+ pp_free_kick_saves: 'ppFreeKickSaves',
386
+ sh_free_kick_saves: 'shFreeKickSaves',
387
+ ev_free_kick_saves: 'evFreeKickSaves',
388
+ pp_corner_saves: 'ppCornerSaves',
389
+ sh_corner_saves: 'shCornerSaves',
390
+ ev_corner_saves: 'evCornerSaves',
391
+ pp_total_game_saves: 'ppTotalGameSaves',
392
+ sh_total_game_saves: 'shTotalGameSaves',
393
+ ev_total_game_saves: 'evTotalGameSaves',
394
+ shootout_saves: 'shootoutSaves',
178
395
  after_game_shootout_saves: 'afterGameShootoutSaves',
396
+ pp_goals_against: 'ppGoalsAgainst',
397
+ sh_goals_against: 'shGoalsAgainst',
398
+ ev_goals_against: 'evGoalsAgainst',
179
399
  goals_against: 'goalsAgainst',
400
+ pp_counterattack_goals_against: 'ppCounterAttackGoalsAgainst',
401
+ sh_counterattack_goals_against: 'shCounterAttackGoalsAgainst',
402
+ ev_counterattack_goals_against: 'evCounterAttackGoalsAgainst',
403
+ counterattack_goals_against: 'counterAttackGoalsAgainst',
404
+ pp_maneuver_goals_against: 'ppManeuverGoalsAgainst',
405
+ sh_maneuver_goals_against: 'shManeuverGoalsAgainst',
406
+ ev_maneuver_goals_against: 'evManeuverGoalsAgainst',
407
+ maneuver_goals_against: 'maneuverGoalsAgainst',
408
+ pp_center_forward_goals_against: 'ppCenterForwardGoalsAgainst',
409
+ sh_center_forward_goals_against: 'shCenterForwardGoalsAgainst',
410
+ ev_center_forward_goals_against: 'evCenterForwardGoalsAgainst',
411
+ center_forward_goals_against: 'centerForwardGoalsAgainst',
412
+ pp_free_kick_goals_against: 'ppFreeKickGoalsAgainst',
413
+ sh_free_kick_goals_against: 'shFreeKickGoalsAgainst',
414
+ ev_free_kick_goals_against: 'evFreeKickGoalsAgainst',
415
+ free_kick_goals_against: 'freeKickGoalsAgainst',
416
+ pp_corner_goals_against: 'ppCornerGoalsAgainst',
417
+ sh_corner_goals_against: 'shCornerGoalsAgainst',
418
+ ev_corner_goals_against: 'evCornerGoalsAgainst',
419
+ corner_goals_against: 'cornerGoalsAgainst',
180
420
  shootout_goals_against: 'shootoutGoalsAgainst',
181
421
  after_game_shootout_goals_against: 'afterGameShootoutGoalsAgainst',
182
422
  safety_rate: 'safetyRate',
183
423
  penalty_minutes: 'penaltyMinutes',
184
424
  game_time: 'gameTime',
185
425
  plus_minus: 'plusMinus',
186
- yellow_cards: 'yellowCards',
187
- red_cards: 'redCards',
188
426
  fouls: 'fouls',
427
+ minor_penalties: 'minorPenalties',
428
+ major_penalties: 'majorPenalties',
429
+ match_penalties: 'matchPenalties',
430
+ penalty_fouls: 'penaltyFouls',
431
+ turnovers: 'turnovers',
432
+ attack_fouls: 'attackFouls',
189
433
  personal_fouls: 'personalFouls',
434
+ drawn_fouls: 'drawnFouls',
435
+ drawn_turnovers: 'drawnTurnovers',
436
+ yellow_cards: 'yellowCards',
437
+ red_cards: 'redCards',
190
438
  losses: 'losses',
191
439
  steals: 'steals',
192
- drawn_fouls: 'drawnFouls',
193
440
  pp_free_kick_goals: 'ppFreeKickGoals',
194
441
  pp_free_kick_on_goals: 'ppFreeKickOnGoals',
195
442
  pp_free_kick_misses: 'ppFreeKickMisses',
@@ -211,7 +458,9 @@ WaterpoloGameStatistic = __decorate([
211
458
  ev_corner_on_goals: 'evCornerOnGoals',
212
459
  ev_corner_misses: 'evCornerMisses',
213
460
  corner_passes: 'cornerPasses',
214
- corner_selfs: 'cornerSelfs'
461
+ corner_selfs: 'cornerSelfs',
462
+ tackles: 'tackles',
463
+ player_efficiency: 'playerEfficiency'
215
464
  },
216
465
  relation: {
217
466
  updatedAt: DateTimeField,
@@ -219,4 +468,4 @@ WaterpoloGameStatistic = __decorate([
219
468
  })
220
469
  ], WaterpoloGameStatistic);
221
470
  export { WaterpoloGameStatistic };
222
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJwb2xvLWdhbWUtc3RhdGlzdGljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbW9kZWxzL3dhdGVycG9sby1nYW1lLXN0YXRpc3RpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxRQUFRLENBQUM7SUEwRTdFLHNCQUFzQixTQUF0QixzQkFBdUIsU0FBUSxTQUFTO0lBa0VuRCxJQUFJLEVBQUU7UUFDSixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDO1lBQ3RGLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQztZQUN2RixDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNsRyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5RixD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QUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDbkUsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsQ0FBQyxHQUFH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QyxtQkFBbUIsRUFBRSxrQkFBa0I7WUFDdkMsa0JBQWtCLEVBQUUsaUJBQWlCO1lBQ3JDLHFCQUFxQixFQUFFLG1CQUFtQjtZQUMxQyxtQkFBbUIsRUFBRSxrQkFBa0I7WUFDdkMsZ0JBQWdCLEVBQUUsZ0JBQWdCO1lBQ2xDLGVBQWUsRUFBRSxlQUFlO1lBQ2hDLGVBQWUsRUFBRSxlQUFlO1lBQ2hDLGtCQUFrQixFQUFFLGlCQUFpQjtZQUNyQyxnQkFBZ0IsRUFBRSxnQkFBZ0I7WUFDbEMsZUFBZSxFQUFFLGVBQWU7WUFDaEMsa0JBQWtCLEVBQUUsaUJBQWlCO1lBQ3JDLGdCQUFnQixFQUFFLGdCQUFnQjtZQUNsQyxlQUFlLEVBQUUsZUFBZTtZQUNoQyxrQkFBa0IsRUFBRSxpQkFBaUI7WUFDckMsZ0JBQWdCLEVBQUUsZ0JBQWdCO1lBQ2xDLGFBQWEsRUFBRSxjQUFjO1lBQzdCLFlBQVksRUFBRSxhQUFhO1NBQzVCO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsU0FBUyxFQUFFLGFBQWE7U0FDekI7S0FDRixDQUFDO0dBQ1csc0JBQXNCLENBK09sQztTQS9PWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbEluc3RhbmNlLCBCYXNlTW9kZWwsIFRvRnJvbnRIb29rLCBUb0JhY2tIb29rLCBEYXRlVGltZUZpZWxkIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IEdhbWVTdGF0aXN0aWNCYXNlIH0gZnJvbSAnLi9nYW1lLXN0YXRpc3RpYy1iYXNlJztcblxuQE1vZGVsSW5zdGFuY2Uoe1xuICBtYXBwaW5nRmllbGRzOiB7XG4gICAgZ2FtZV91c2VyX2lkOiAnZ2FtZVVzZXJJZCcsXG4gICAgdXBkYXRlZF9hdDogJ3VwZGF0ZWRBdCcsXG4gICAgcG9pbnRzOiAncG9pbnRzJyxcbiAgICBwcF9zaG90X21pc3NlczogJ3BwU2hvdE1pc3NlcycsXG4gICAgcHBfc2hvdHNfb25fZ29hbDogJ3BwU2hvdHNPbkdvYWwnLFxuICAgIHBwX3Nob3RzX2Jsb2NrZWQ6ICdwcFNob3RzQmxvY2tlZCcsXG4gICAgZXZfc2hvdF9taXNzZXM6ICdldlNob3RNaXNzZXMnLFxuICAgIGV2X3Nob3RzX29uX2dvYWw6ICdldlNob3RzT25Hb2FsJyxcbiAgICBldl9zaG90c19ibG9ja2VkOiAnZXZTaG90c0Jsb2NrZWQnLFxuICAgIHNoX3Nob3RfbWlzc2VzOiAnc2hTaG90TWlzc2VzJyxcbiAgICBzaF9zaG90c19vbl9nb2FsOiAnc2hTaG90c09uR29hbCcsXG4gICAgc2hfc2hvdHNfYmxvY2tlZDogJ3NoU2hvdHNCbG9ja2VkJyxcbiAgICBwcF9nb2FsczogJ3BwR29hbHMnLFxuICAgIGV2X2dvYWxzOiAnZXZHb2FscycsXG4gICAgc2hfZ29hbHM6ICdzaEdvYWxzJyxcbiAgICBwcF9hc3Npc3RzOiAncHBBc3Npc3RzJyxcbiAgICBldl9hc3Npc3RzOiAnZXZBc3Npc3RzJyxcbiAgICBzaF9hc3Npc3RzOiAnc2hBc3Npc3RzJyxcbiAgICBzaG9vdG91dF9hdHRlbXB0czogJ3Nob290b3V0QXR0ZW1wdHMnLFxuICAgIHNob290b3V0X2dvYWxzOiAnc2hvb3RvdXRHb2FscycsXG4gICAgYWZ0ZXJfZ2FtZV9zaG9vdG91dF9hdHRlbXB0czogJ2FmdGVyR2FtZVNob290b3V0QXR0ZW1wdHMnLFxuICAgIGFmdGVyX2dhbWVfc2hvb3RvdXRfZ29hbHM6ICdhZnRlckdhbWVTaG9vdG91dEdvYWxzJyxcbiAgICBibG9ja19zaG90czogJ2Jsb2NrU2hvdHMnLFxuICAgIGZhY2Vfb2ZmX2xvc3NlczogJ2ZhY2VPZmZMb3NzZXMnLFxuICAgIGZhY2Vfb2ZmX3dpbnM6ICdmYWNlT2ZmV2lucycsXG4gICAgc2F2ZXM6ICdzYXZlcycsXG4gICAgc2hvb3RvdXRfc2F2ZTogJ3Nob290b3V0U2F2ZXMnLFxuICAgIGFmdGVyX2dhbWVfc2hvb3RvdXRfc2F2ZXM6ICdhZnRlckdhbWVTaG9vdG91dFNhdmVzJyxcbiAgICBnb2Fsc19hZ2FpbnN0OiAnZ29hbHNBZ2FpbnN0JyxcbiAgICBzaG9vdG91dF9nb2Fsc19hZ2FpbnN0OiAnc2hvb3RvdXRHb2Fsc0FnYWluc3QnLFxuICAgIGFmdGVyX2dhbWVfc2hvb3RvdXRfZ29hbHNfYWdhaW5zdDogJ2FmdGVyR2FtZVNob290b3V0R29hbHNBZ2FpbnN0JyxcbiAgICBzYWZldHlfcmF0ZTogJ3NhZmV0eVJhdGUnLFxuICAgIHBlbmFsdHlfbWludXRlczogJ3BlbmFsdHlNaW51dGVzJyxcbiAgICBnYW1lX3RpbWU6ICdnYW1lVGltZScsXG4gICAgcGx1c19taW51czogJ3BsdXNNaW51cycsXG4gICAgeWVsbG93X2NhcmRzOiAneWVsbG93Q2FyZHMnLFxuICAgIHJlZF9jYXJkczogJ3JlZENhcmRzJyxcbiAgICBmb3VsczogJ2ZvdWxzJyxcbiAgICBwZXJzb25hbF9mb3VsczogJ3BlcnNvbmFsRm91bHMnLFxuICAgIGxvc3NlczogJ2xvc3NlcycsXG4gICAgc3RlYWxzOiAnc3RlYWxzJyxcbiAgICBkcmF3bl9mb3VsczogJ2RyYXduRm91bHMnLFxuICAgIHBwX2ZyZWVfa2lja19nb2FsczogJ3BwRnJlZUtpY2tHb2FscycsXG4gICAgcHBfZnJlZV9raWNrX29uX2dvYWxzOiAncHBGcmVlS2lja09uR29hbHMnLFxuICAgIHBwX2ZyZWVfa2lja19taXNzZXM6ICdwcEZyZWVLaWNrTWlzc2VzJyxcbiAgICBzaF9mcmVlX2tpY2tfZ29hbHM6ICdzaEZyZWVLaWNrR29hbHMnLFxuICAgIHNoX2ZyZWVfa2lja19vbl9nb2FsczogJ3NoRnJlZUtpY2tPbkdvYWxzJyxcbiAgICBzaF9mcmVlX2tpY2tfbWlzc2VzOiAnc2hGcmVlS2lja01pc3NlcycsXG4gICAgZXZfZnJlZV9raWNrX2dvYWxzOiAnZXZGcmVlS2lja0dvYWxzJyxcbiAgICBldl9mcmVlX2tpY2tfb25fZ29hbHM6ICdldkZyZWVLaWNrT25Hb2FscycsXG4gICAgZXZfZnJlZV9raWNrX21pc3NlczogJ2V2RnJlZUtpY2tNaXNzZXMnLFxuICAgIGZyZWVfa2lja19wYXNzZXM6ICdmcmVlS2lja1Bhc3NlcycsXG4gICAgZnJlZV9raWNrX3NlbGZzOiAnZnJlZUtpY2tTZWxmcycsXG4gICAgcHBfY29ybmVyX2dvYWxzOiAncHBDb3JuZXJHb2FscycsXG4gICAgcHBfY29ybmVyX29uX2dvYWxzOiAncHBDb3JuZXJPbkdvYWxzJyxcbiAgICBwcF9jb3JuZXJfbWlzc2VzOiAncHBDb3JuZXJNaXNzZXMnLFxuICAgIHNoX2Nvcm5lcl9nb2FsczogJ3NoQ29ybmVyR29hbHMnLFxuICAgIHNoX2Nvcm5lcl9vbl9nb2FsczogJ3NoQ29ybmVyT25Hb2FscycsXG4gICAgc2hfY29ybmVyX21pc3NlczogJ3NoQ29ybmVyTWlzc2VzJyxcbiAgICBldl9jb3JuZXJfZ29hbHM6ICdldkNvcm5lckdvYWxzJyxcbiAgICBldl9jb3JuZXJfb25fZ29hbHM6ICdldkNvcm5lck9uR29hbHMnLFxuICAgIGV2X2Nvcm5lcl9taXNzZXM6ICdldkNvcm5lck1pc3NlcycsXG4gICAgY29ybmVyX3Bhc3NlczogJ2Nvcm5lclBhc3NlcycsXG4gICAgY29ybmVyX3NlbGZzOiAnY29ybmVyU2VsZnMnXG4gIH0sXG4gIHJlbGF0aW9uOiB7XG4gICAgdXBkYXRlZEF0OiBEYXRlVGltZUZpZWxkLFxuICB9XG59KVxuZXhwb3J0IGNsYXNzIFdhdGVycG9sb0dhbWVTdGF0aXN0aWMgZXh0ZW5kcyBCYXNlTW9kZWwgaW1wbGVtZW50cyBHYW1lU3RhdGlzdGljQmFzZSB7XG4gIGdhbWVVc2VySWQ6IG51bWJlcjtcbiAgcG9pbnRzOiBudW1iZXI7XG4gIHBwU2hvdE1pc3NlczogbnVtYmVyO1xuICBwcFNob3RzT25Hb2FsOiBudW1iZXI7XG4gIHBwU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIGV2U2hvdE1pc3NlczogbnVtYmVyO1xuICBldlNob3RzT25Hb2FsOiBudW1iZXI7XG4gIGV2U2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIHNoU2hvdE1pc3NlczogbnVtYmVyO1xuICBzaFNob3RzT25Hb2FsOiBudW1iZXI7XG4gIHNoU2hvdHNCbG9ja2VkOiBudW1iZXI7XG4gIHBwR29hbHM6IG51bWJlcjtcbiAgZXZHb2FsczogbnVtYmVyO1xuICBzaEdvYWxzOiBudW1iZXI7XG4gIHBwQXNzaXN0czogbnVtYmVyO1xuICBldkFzc2lzdHM6IG51bWJlcjtcbiAgc2hBc3Npc3RzOiBudW1iZXI7XG4gIHNob290b3V0QXR0ZW1wdHM6IG51bWJlcjtcbiAgc2hvb3RvdXRHb2FsczogbnVtYmVyO1xuICBhZnRlckdhbWVTaG9vdG91dEF0dGVtcHRzOiBudW1iZXI7XG4gIGFmdGVyR2FtZVNob290b3V0R29hbHM6IG51bWJlcjtcbiAgYmxvY2tTaG90czogbnVtYmVyO1xuICBmYWNlT2ZmTG9zc2VzOiBudW1iZXI7XG4gIGZhY2VPZmZXaW5zOiBudW1iZXI7XG4gIHNhdmVzOiBudW1iZXI7XG4gIHNob290b3V0U2F2ZXM6IG51bWJlcjtcbiAgYWZ0ZXJHYW1lU2hvb3RvdXRTYXZlczogbnVtYmVyO1xuICBnb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgc2hvb3RvdXRHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgYWZ0ZXJHYW1lU2hvb3RvdXRHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgc2FmZXR5UmF0ZTogbnVtYmVyO1xuICBwZW5hbHR5TWludXRlczogbnVtYmVyO1xuICBnYW1lVGltZTogbnVtYmVyO1xuICBwbHVzTWludXM6IG51bWJlcjtcbiAgZm91bHM6IG51bWJlcjtcbiAgcGVyc29uYWxGb3VsczogbnVtYmVyO1xuICB5ZWxsb3dDYXJkczogbnVtYmVyO1xuICByZWRDYXJkczogbnVtYmVyO1xuICBsb3NzZXM6IG51bWJlcjtcbiAgc3RlYWxzOiBudW1iZXI7XG4gIGRyYXduRm91bHM6IG51bWJlcjtcbiAgcHBGcmVlS2lja0dvYWxzOiBudW1iZXI7XG4gIHBwRnJlZUtpY2tPbkdvYWxzOiBudW1iZXI7XG4gIHBwRnJlZUtpY2tNaXNzZXM6IG51bWJlcjtcbiAgc2hGcmVlS2lja0dvYWxzOiBudW1iZXI7XG4gIHNoRnJlZUtpY2tPbkdvYWxzOiBudW1iZXI7XG4gIHNoRnJlZUtpY2tNaXNzZXM6IG51bWJlcjtcbiAgZXZGcmVlS2lja0dvYWxzOiBudW1iZXI7XG4gIGV2RnJlZUtpY2tPbkdvYWxzOiBudW1iZXI7XG4gIGV2RnJlZUtpY2tNaXNzZXM6IG51bWJlcjtcbiAgZnJlZUtpY2tQYXNzZXM6IG51bWJlcjtcbiAgZnJlZUtpY2tTZWxmczogbnVtYmVyO1xuICBwcENvcm5lckdvYWxzOiBudW1iZXI7XG4gIHBwQ29ybmVyT25Hb2FsczogbnVtYmVyO1xuICBwcENvcm5lck1pc3NlczogbnVtYmVyO1xuICBzaENvcm5lckdvYWxzOiBudW1iZXI7XG4gIHNoQ29ybmVyT25Hb2FsczogbnVtYmVyO1xuICBzaENvcm5lck1pc3NlczogbnVtYmVyO1xuICBldkNvcm5lckdvYWxzOiBudW1iZXI7XG4gIGV2Q29ybmVyT25Hb2FsczogbnVtYmVyO1xuICBldkNvcm5lck1pc3NlczogbnVtYmVyO1xuICBjb3JuZXJQYXNzZXM6IG51bWJlcjtcbiAgY29ybmVyU2VsZnM6IG51bWJlcjtcbiAgdXBkYXRlZEF0OiBEYXRlO1xuXG4gIGdldCBpZCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdhbWVVc2VySWQ7XG4gIH1cblxuICBnZXQgc2hvdHNPbkdvYWwoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuZXZTaG90c09uR29hbCB8fCAwKSArICh0aGlzLnBwU2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5zaFNob3RzT25Hb2FsIHx8IDApICtcbiAgICAgICh0aGlzLmV2Q29ybmVyT25Hb2FscyB8fCAwKSArICh0aGlzLnBwQ29ybmVyT25Hb2FscyB8fCAwKSArICh0aGlzLnNoQ29ybmVyT25Hb2FscyB8fCAwKSArXG4gICAgICAodGhpcy5ldkZyZWVLaWNrT25Hb2FscyB8fCAwKSArICh0aGlzLnBwRnJlZUtpY2tPbkdvYWxzIHx8IDApICsgKHRoaXMuc2hGcmVlS2lja09uR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgc2hvdHNCbG9ja2VkKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2U2hvdHNCbG9ja2VkIHx8IDApICsgKHRoaXMucHBTaG90c0Jsb2NrZWQgfHwgMCkgKyAodGhpcy5zaFNob3RzQmxvY2tlZCB8fCAwKTtcbiAgfVxuXG4gIGdldCBzaG90TWlzc2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2U2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLnBwU2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLnNoU2hvdE1pc3NlcyB8fCAwKSArXG4gICAgICAodGhpcy5ldkNvcm5lck1pc3NlcyB8fCAwKSArICh0aGlzLnBwQ29ybmVyTWlzc2VzIHx8IDApICsgKHRoaXMuc2hDb3JuZXJNaXNzZXMgfHwgMCkgK1xuICAgICAgKHRoaXMuZXZGcmVlS2lja01pc3NlcyB8fCAwKSArICh0aGlzLnBwRnJlZUtpY2tNaXNzZXMgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrTWlzc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHBwU2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBTaG90TWlzc2VzIHx8IDApICsgKHRoaXMucHBTaG90c09uR29hbCB8fCAwKSArICh0aGlzLnBwU2hvdHNCbG9ja2VkIHx8IDApICtcbiAgICAgICh0aGlzLnBwQ29ybmVyTWlzc2VzIHx8IDApICsgKHRoaXMucHBDb3JuZXJPbkdvYWxzIHx8IDApICtcbiAgICAgICh0aGlzLnBwRnJlZUtpY2tNaXNzZXMgfHwgMCkgKyAodGhpcy5wcEZyZWVLaWNrT25Hb2FscyB8fCAwKTtcbiAgfVxuXG4gIGdldCBldlNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2U2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLmV2U2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5ldlNob3RzQmxvY2tlZCB8fCAwKSArXG4gICAgICAodGhpcy5ldkNvcm5lck1pc3NlcyB8fCAwKSArICh0aGlzLmV2Q29ybmVyT25Hb2FscyB8fCAwKSArXG4gICAgICAodGhpcy5ldkZyZWVLaWNrTWlzc2VzIHx8IDApICsgKHRoaXMuZXZGcmVlS2lja09uR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgc2hTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaFNob3RNaXNzZXMgfHwgMCkgKyAodGhpcy5zaFNob3RzT25Hb2FsIHx8IDApICsgKHRoaXMuc2hTaG90c0Jsb2NrZWQgfHwgMCkgK1xuICAgICAgKHRoaXMuc2hDb3JuZXJNaXNzZXMgfHwgMCkgKyAodGhpcy5zaENvcm5lck9uR29hbHMgfHwgMCkgK1xuICAgICAgKHRoaXMuc2hGcmVlS2lja01pc3NlcyB8fCAwKSArICh0aGlzLnNoRnJlZUtpY2tPbkdvYWxzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucHBTaG90cyArIHRoaXMuZXZTaG90cyArIHRoaXMuc2hTaG90cyArICh0aGlzLnNob290b3V0QXR0ZW1wdHMgfHwgMCk7XG4gIH1cblxuICBnZXQgc2hvdHNPbkdvYWxQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLnNob3RzIHx8ICF0aGlzLnNob3RzT25Hb2FsKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMuc2hvdHNPbkdvYWwgLyB0aGlzLnNob3RzKSAvIDEwO1xuICB9XG5cbiAgZ2V0IHRvdGFsU2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zaG90cyArICh0aGlzLnNob290b3V0QXR0ZW1wdHMgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxTaEdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNoR29hbHMgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrR29hbHMgfHwgMCkgKyAodGhpcy5zaENvcm5lckdvYWxzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHRvdGFsRXZHb2FscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5ldkdvYWxzIHx8IDApICsgKHRoaXMuZXZGcmVlS2lja0dvYWxzIHx8IDApICsgKHRoaXMuZXZDb3JuZXJHb2FscyB8fCAwKTtcbiAgfVxuXG4gIGdldCB0b3RhbFBwR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBHb2FscyB8fCAwKSArICh0aGlzLnBwRnJlZUtpY2tHb2FscyB8fCAwKSArICh0aGlzLnBwQ29ybmVyR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgZ29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy50b3RhbEV2R29hbHMgKyB0aGlzLnRvdGFsUHBHb2FscyArIHRoaXMudG90YWxTaEdvYWxzO1xuICB9XG5cbiAgZ2V0IHRvdGFsR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nb2FscyArICh0aGlzLnNob290b3V0R29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgYXNzaXN0cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcEFzc2lzdHMgfHwgMCkgKyAodGhpcy5ldkFzc2lzdHMgfHwgMCkgKyAodGhpcy5zaEFzc2lzdHMgfHwgMCk7XG4gIH1cblxuICBnZXQgZmFjZU9mZnMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuZmFjZU9mZldpbnMgfHwgMCkgKyAodGhpcy5mYWNlT2ZmTG9zc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHNob290T3V0cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaG9vdG91dEF0dGVtcHRzIHx8IDApICsgKHRoaXMuc2hvb3RvdXRHb2FscyB8fCAwKTtcbiAgfVxuXG4gIGdldCBzaG90c0FnYWluc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuc2F2ZXMgfHwgMCkgKyAodGhpcy5nb2Fsc0FnYWluc3QgfHwgMCk7XG4gIH1cblxuICBnZXQgc2hvb3RvdXRTaG90c0FnYWluc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuc2hvb3RvdXRTYXZlcyB8fCAwKSArICh0aGlzLnNob290b3V0R29hbHNBZ2FpbnN0IHx8IDApO1xuICB9XG5cbiAgZ2V0IHRvdGFsU2hvdHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdHNBZ2FpbnN0ICsgdGhpcy5zaG9vdG91dFNob3RzQWdhaW5zdDtcbiAgfVxuXG4gIGdldCBzYXZlc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuc2hvdHNBZ2FpbnN0IHx8ICF0aGlzLnNhdmVzKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMuc2F2ZXMgLyB0aGlzLnNob3RzQWdhaW5zdCkgLyAxMDtcbiAgfVxuXG4gIGdldCB0b3RhbFNhdmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNhdmVzIHx8IDApICsgKHRoaXMuc2hvb3RvdXRTYXZlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCB0b3RhbFNhdmVzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy50b3RhbFNob3RzQWdhaW5zdCB8fCAhdGhpcy50b3RhbFNhdmVzKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMudG90YWxTYXZlcyAvIHRoaXMudG90YWxTaG90c0FnYWluc3QpIC8gMTA7XG4gIH1cblxuICBnZXQgdG90YWxHb2Fsc0FnYWluc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuZ29hbHNBZ2FpbnN0IHx8IDApICsgKHRoaXMuc2hvb3RvdXRHb2Fsc0FnYWluc3QgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxGb3VscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5mb3VscyB8fCAwKSArICh0aGlzLnBlcnNvbmFsRm91bHMgfHwgMCk7XG4gIH1cblxuICBnZXQgZ2FtZU1pbnV0ZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5mbG9vcih0aGlzLmdhbWVUaW1lIC8gNjApO1xuICB9XG5cbiAgZ2V0IHBlbmFsdHlUaW1lKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLnBlbmFsdHlNaW51dGVzKSB7XG4gICAgICByZXR1cm4gJzAwOjAwJztcbiAgICB9XG4gICAgY29uc3QgbWludXRlcyA9IE1hdGguZmxvb3IodGhpcy5wZW5hbHR5TWludXRlcyAvIDYwKTtcbiAgICBjb25zdCBzZWNvbmRzID0gTWF0aC5mbG9vcih0aGlzLnBlbmFsdHlNaW51dGVzIC0gbWludXRlcyAqIDYwKTtcbiAgICByZXR1cm4gYCR7bWludXRlcyA8IDEwID8gMCA6ICcnfSR7bWludXRlc306JHtzZWNvbmRzIDwgMTAgPyAwIDogJyd9JHtzZWNvbmRzfWA7XG4gIH1cblxuICBnZXQgZ29hbHNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLnRvdGFsR29hbHMgfHwgIXRoaXMudG90YWxTaG90cykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnRvdGFsR29hbHMgLyB0aGlzLnRvdGFsU2hvdHMpIC8gMTA7XG4gIH1cblxuICBnZXQgZmFjZU9mZlBlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuZmFjZU9mZldpbnMgfHwgIXRoaXMuZmFjZU9mZnMpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy5mYWNlT2ZmV2lucyAvIHRoaXMuZmFjZU9mZnMpIC8gMTA7XG4gIH1cblxuICBnZXQgZ29hbHBhc3MoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMudG90YWxHb2FscyB8fCAwKSArICh0aGlzLmFzc2lzdHMgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxGcmVlS2lja3MoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuZnJlZUtpY2tQYXNzZXMgfHwgMCkgKyAodGhpcy5mcmVlS2lja1NlbGZzIHx8IDApICtcbiAgICAgICh0aGlzLnBwRnJlZUtpY2tHb2FscyB8fCAwKSArICh0aGlzLnBwRnJlZUtpY2tPbkdvYWxzIHx8IDApICsgKHRoaXMucHBGcmVlS2lja01pc3NlcyB8fCAwKSArXG4gICAgICAodGhpcy5ldkZyZWVLaWNrR29hbHMgfHwgMCkgKyAodGhpcy5ldkZyZWVLaWNrT25Hb2FscyB8fCAwKSArICh0aGlzLmV2RnJlZUtpY2tNaXNzZXMgfHwgMCkgK1xuICAgICAgKHRoaXMuc2hGcmVlS2lja0dvYWxzIHx8IDApICsgKHRoaXMuc2hGcmVlS2lja09uR29hbHMgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrTWlzc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHRvdGFsQ29ybmVycygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5jb3JuZXJQYXNzZXMgfHwgMCkgKyAodGhpcy5jb3JuZXJTZWxmcyB8fCAwKSArXG4gICAgICAodGhpcy5wcENvcm5lckdvYWxzIHx8IDApICsgKHRoaXMucHBDb3JuZXJPbkdvYWxzIHx8IDApICsgKHRoaXMucHBDb3JuZXJNaXNzZXMgfHwgMCkgK1xuICAgICAgKHRoaXMuZXZDb3JuZXJHb2FscyB8fCAwKSArICh0aGlzLmV2Q29ybmVyT25Hb2FscyB8fCAwKSArICh0aGlzLmV2Q29ybmVyTWlzc2VzIHx8IDApICtcbiAgICAgICh0aGlzLnNoQ29ybmVyR29hbHMgfHwgMCkgKyAodGhpcy5zaENvcm5lck9uR29hbHMgfHwgMCkgKyAodGhpcy5zaENvcm5lck1pc3NlcyB8fCAwKTtcbiAgfVxuXG4gIEBUb0Zyb250SG9va1xuICBzdGF0aWMgdG9Gcm9udChkYXRhOiBhbnkpOiBhbnkge31cblxuICBAVG9CYWNrSG9va1xuICBzdGF0aWMgdG9CYWNrKGRhdGE6IGFueSk6IGFueSB7fVxufVxuIl19
471
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJwb2xvLWdhbWUtc3RhdGlzdGljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbW9kZWxzL3dhdGVycG9sby1nYW1lLXN0YXRpc3RpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxRQUFRLENBQUM7SUE0SjdFLHNCQUFzQixTQUF0QixzQkFBdUIsU0FBUSxTQUFTO0lBb0puRCxJQUFJLEVBQUU7UUFDSixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4QixPQUFPLE9BQU8sQ0FBQztTQUNoQjtRQUNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNyRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sR0FBRyxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7SUFDakYsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsR0FBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLEdBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakgsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbkgsQ0FBQztJQUVELElBQUksd0JBQXdCO1FBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEgsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxDQUFDLEdBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDckcsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksQ0FBQyxDQUFDLEdBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVELElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLEdBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakgsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbkgsQ0FBQztJQUVELElBQUksd0JBQXdCO1FBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEgsQ0FBQztJQUVELElBQUksT0FBTztRQUNU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bUI7WUFDMUMsbUJBQW1CLEVBQUUsa0JBQWtCO1lBQ3ZDLGtCQUFrQixFQUFFLGlCQUFpQjtZQUNyQyxxQkFBcUIsRUFBRSxtQkFBbUI7WUFDMUMsbUJBQW1CLEVBQUUsa0JBQWtCO1lBQ3ZDLGdCQUFnQixFQUFFLGdCQUFnQjtZQUNsQyxlQUFlLEVBQUUsZUFBZTtZQUNoQyxlQUFlLEVBQUUsZUFBZTtZQUNoQyxrQkFBa0IsRUFBRSxpQkFBaUI7WUFDckMsZ0JBQWdCLEVBQUUsZ0JBQWdCO1lBQ2xDLGVBQWUsRUFBRSxlQUFlO1lBQ2hDLGtCQUFrQixFQUFFLGlCQUFpQjtZQUNyQyxnQkFBZ0IsRUFBRSxnQkFBZ0I7WUFDbEMsZUFBZSxFQUFFLGVBQWU7WUFDaEMsa0JBQWtCLEVBQUUsaUJBQWlCO1lBQ3JDLGdCQUFnQixFQUFFLGdCQUFnQjtZQUNsQyxhQUFhLEVBQUUsY0FBYztZQUM3QixZQUFZLEVBQUUsYUFBYTtZQUMzQixPQUFPLEVBQUUsU0FBUztZQUNsQixpQkFBaUIsRUFBRSxrQkFBa0I7U0FDdEM7UUFDRCxRQUFRLEVBQUU7WUFDUixTQUFTLEVBQUUsYUFBYTtTQUN6QjtLQUNGLENBQUM7R0FDVyxzQkFBc0IsQ0FxaEJsQztTQXJoQlksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWxJbnN0YW5jZSwgQmFzZU1vZGVsLCBUb0Zyb250SG9vaywgVG9CYWNrSG9vaywgRGF0ZVRpbWVGaWVsZCB9IGZyb20gJy4vdXRpbCc7XG5pbXBvcnQgeyBHYW1lU3RhdGlzdGljQmFzZSB9IGZyb20gJy4vZ2FtZS1zdGF0aXN0aWMtYmFzZSc7XG5cbkBNb2RlbEluc3RhbmNlKHtcbiAgbWFwcGluZ0ZpZWxkczoge1xuICAgIGdhbWVfdXNlcl9pZDogJ2dhbWVVc2VySWQnLFxuICAgIHVwZGF0ZWRfYXQ6ICd1cGRhdGVkQXQnLFxuICAgIHBvaW50czogJ3BvaW50cycsXG4gICAgcHBfc2hvdF9taXNzZXM6ICdwcFNob3RNaXNzZXMnLFxuICAgIHBwX3Nob3RzX29uX2dvYWw6ICdwcFNob3RzT25Hb2FsJyxcbiAgICBwcF9zaG90c19ibG9ja2VkOiAncHBTaG90c0Jsb2NrZWQnLFxuICAgIGV2X3Nob3RfbWlzc2VzOiAnZXZTaG90TWlzc2VzJyxcbiAgICBldl9zaG90c19vbl9nb2FsOiAnZXZTaG90c09uR29hbCcsXG4gICAgZXZfc2hvdHNfYmxvY2tlZDogJ2V2U2hvdHNCbG9ja2VkJyxcbiAgICBzaF9zaG90X21pc3NlczogJ3NoU2hvdE1pc3NlcycsXG4gICAgc2hfc2hvdHNfb25fZ29hbDogJ3NoU2hvdHNPbkdvYWwnLFxuICAgIHNoX3Nob3RzX2Jsb2NrZWQ6ICdzaFNob3RzQmxvY2tlZCcsXG4gICAgcHBfdG90YWxfc2hvdHNfb25fZ29hbDogJ3BwVG90YWxTaG90c09uR29hbCcsXG4gICAgZXZfdG90YWxfc2hvdHNfb25fZ29hbDogJ2V2VG90YWxTaG90c09uR29hbCcsXG4gICAgc2hfdG90YWxfc2hvdHNfb25fZ29hbDogJ3NoVG90YWxTaG90c09uR29hbCcsXG4gICAgcHBfZ29hbHM6ICdwcEdvYWxzJyxcbiAgICBldl9nb2FsczogJ2V2R29hbHMnLFxuICAgIHNoX2dvYWxzOiAnc2hHb2FscycsXG4gICAgcHBfY291bnRlcmF0dGFja19nb2FsczogJ3BwQ291bnRlckF0dGFja0dvYWxzJyxcbiAgICBwcF9jb3VudGVyYXR0YWNrX29uX2dvYWxzOiAncHBDb3VudGVyQXR0YWNrT25Hb2FscycsXG4gICAgcHBfY291bnRlcmF0dGFja19taXNzZXM6ICdwcENvdW50ZXJBdHRhY2tNaXNzZXMnLFxuICAgIGV2X2NvdW50ZXJhdHRhY2tfZ29hbHM6ICdldkNvdW50ZXJBdHRhY2tHb2FscycsXG4gICAgZXZfY291bnRlcmF0dGFja19vbl9nb2FsczogJ2V2Q291bnRlckF0dGFja09uR29hbHMnLFxuICAgIGV2X2NvdW50ZXJhdHRhY2tfbWlzc2VzOiAnZXZDb3VudGVyQXR0YWNrTWlzc2VzJyxcbiAgICBzaF9jb3VudGVyYXR0YWNrX2dvYWxzOiAnc2hDb3VudGVyQXR0YWNrR29hbHMnLFxuICAgIHNoX2NvdW50ZXJhdHRhY2tfb25fZ29hbHM6ICdzaENvdW50ZXJBdHRhY2tPbkdvYWxzJyxcbiAgICBzaF9jb3VudGVyYXR0YWNrX21pc3NlczogJ3NoQ291bnRlckF0dGFja01pc3NlcycsXG4gICAgcHBfbWFuZXV2ZXJfZ29hbHM6ICdwcE1hbmV1dmVyR29hbHMnLFxuICAgIHBwX21hbmV1dmVyX29uX2dvYWxzOiAncHBNYW5ldXZlck9uR29hbHMnLFxuICAgIHBwX21hbmV1dmVyX21pc3NlczogJ3BwTWFuZXV2ZXJNaXNzZXMnLFxuICAgIGV2X21hbmV1dmVyX2dvYWxzOiAnZXZNYW5ldXZlckdvYWxzJyxcbiAgICBldl9tYW5ldXZlcl9vbl9nb2FsczogJ2V2TWFuZXV2ZXJPbkdvYWxzJyxcbiAgICBldl9tYW5ldXZlcl9taXNzZXM6ICdldk1hbmV1dmVyTWlzc2VzJyxcbiAgICBzaF9tYW5ldXZlcl9nb2FsczogJ3NoTWFuZXV2ZXJHb2FscycsXG4gICAgc2hfbWFuZXV2ZXJfb25fZ29hbHM6ICdzaE1hbmV1dmVyT25Hb2FscycsXG4gICAgc2hfbWFuZXV2ZXJfbWlzc2VzOiAnc2hNYW5ldXZlck1pc3NlcycsXG4gICAgcHBfY2VudGVyX2ZvcndhcmRfZ29hbHM6ICdwcENlbnRlckZvcndhcmRHb2FscycsXG4gICAgcHBfY2VudGVyX2ZvcndhcmRfb25fZ29hbHM6ICdwcENlbnRlckZvcndhcmRPbkdvYWxzJyxcbiAgICBwcF9jZW50ZXJfZm9yd2FyZF9taXNzZXM6ICdwcENlbnRlckZvcndhcmRNaXNzZXMnLFxuICAgIGV2X2NlbnRlcl9mb3J3YXJkX2dvYWxzOiAnZXZDZW50ZXJGb3J3YXJkR29hbHMnLFxuICAgIGV2X2NlbnRlcl9mb3J3YXJkX29uX2dvYWxzOiAnZXZDZW50ZXJGb3J3YXJkT25Hb2FscycsXG4gICAgZXZfY2VudGVyX2ZvcndhcmRfbWlzc2VzOiAnZXZDZW50ZXJGb3J3YXJkTWlzc2VzJyxcbiAgICBzaF9jZW50ZXJfZm9yd2FyZF9nb2FsczogJ3NoQ2VudGVyRm9yd2FyZEdvYWxzJyxcbiAgICBzaF9jZW50ZXJfZm9yd2FyZF9vbl9nb2FsczogJ3NoQ2VudGVyRm9yd2FyZE9uR29hbHMnLFxuICAgIHNoX2NlbnRlcl9mb3J3YXJkX21pc3NlczogJ3NoQ2VudGVyRm9yd2FyZE1pc3NlcycsXG4gICAgcHBfYXNzaXN0czogJ3BwQXNzaXN0cycsXG4gICAgZXZfYXNzaXN0czogJ2V2QXNzaXN0cycsXG4gICAgc2hfYXNzaXN0czogJ3NoQXNzaXN0cycsXG4gICAgc2hvb3RvdXRfYXR0ZW1wdHM6ICdzaG9vdG91dEF0dGVtcHRzJyxcbiAgICBzaG9vdG91dF9nb2FsczogJ3Nob290b3V0R29hbHMnLFxuICAgIGFmdGVyX2dhbWVfc2hvb3RvdXRfYXR0ZW1wdHM6ICdhZnRlckdhbWVTaG9vdG91dEF0dGVtcHRzJyxcbiAgICBhZnRlcl9nYW1lX3Nob290b3V0X2dvYWxzOiAnYWZ0ZXJHYW1lU2hvb3RvdXRHb2FscycsXG4gICAgYmxvY2tfc2hvdHM6ICdibG9ja1Nob3RzJyxcbiAgICBmYWNlX29mZl9sb3NzZXM6ICdmYWNlT2ZmTG9zc2VzJyxcbiAgICBmYWNlX29mZl93aW5zOiAnZmFjZU9mZldpbnMnLFxuICAgIHBwX3NhdmVzOiAncHBTYXZlcycsXG4gICAgc2hfc2F2ZXM6ICdzaFNhdmVzJyxcbiAgICBldl9zYXZlczogJ2V2U2F2ZXMnLFxuICAgIHBwX2NvdW50ZXJhdHRhY2tfc2F2ZXM6ICdwcENvdW50ZXJBdHRhY2tTYXZlcycsXG4gICAgc2hfY291bnRlcmF0dGFja19zYXZlczogJ3NoQ291bnRlckF0dGFja1NhdmVzJyxcbiAgICBldl9jb3VudGVyYXR0YWNrX3NhdmVzOiAnZXZDb3VudGVyQXR0YWNrU2F2ZXMnLFxuICAgIHBwX21hbmV1dmVyX3NhdmVzOiAncHBNYW5ldXZlclNhdmVzJyxcbiAgICBzaF9tYW5ldXZlcl9zYXZlczogJ3NoTWFuZXV2ZXJTYXZlcycsXG4gICAgZXZfbWFuZXV2ZXJfc2F2ZXM6ICdldk1hbmV1dmVyU2F2ZXMnLFxuICAgIHBwX2NlbnRlcl9mb3J3YXJkX3NhdmVzOiAncHBDZW50ZXJGb3J3YXJkU2F2ZXMnLFxuICAgIHNoX2NlbnRlcl9mb3J3YXJkX3NhdmVzOiAnc2hDZW50ZXJGb3J3YXJkU2F2ZXMnLFxuICAgIGV2X2NlbnRlcl9mb3J3YXJkX3NhdmVzOiAnZXZDZW50ZXJGb3J3YXJkU2F2ZXMnLFxuICAgIHBwX2ZyZWVfa2lja19zYXZlczogJ3BwRnJlZUtpY2tTYXZlcycsXG4gICAgc2hfZnJlZV9raWNrX3NhdmVzOiAnc2hGcmVlS2lja1NhdmVzJyxcbiAgICBldl9mcmVlX2tpY2tfc2F2ZXM6ICdldkZyZWVLaWNrU2F2ZXMnLFxuICAgIHBwX2Nvcm5lcl9zYXZlczogJ3BwQ29ybmVyU2F2ZXMnLFxuICAgIHNoX2Nvcm5lcl9zYXZlczogJ3NoQ29ybmVyU2F2ZXMnLFxuICAgIGV2X2Nvcm5lcl9zYXZlczogJ2V2Q29ybmVyU2F2ZXMnLFxuICAgIHBwX3RvdGFsX2dhbWVfc2F2ZXM6ICdwcFRvdGFsR2FtZVNhdmVzJyxcbiAgICBzaF90b3RhbF9nYW1lX3NhdmVzOiAnc2hUb3RhbEdhbWVTYXZlcycsXG4gICAgZXZfdG90YWxfZ2FtZV9zYXZlczogJ2V2VG90YWxHYW1lU2F2ZXMnLFxuICAgIHNob290b3V0X3NhdmVzOiAnc2hvb3RvdXRTYXZlcycsXG4gICAgYWZ0ZXJfZ2FtZV9zaG9vdG91dF9zYXZlczogJ2FmdGVyR2FtZVNob290b3V0U2F2ZXMnLFxuICAgIHBwX2dvYWxzX2FnYWluc3Q6ICdwcEdvYWxzQWdhaW5zdCcsXG4gICAgc2hfZ29hbHNfYWdhaW5zdDogJ3NoR29hbHNBZ2FpbnN0JyxcbiAgICBldl9nb2Fsc19hZ2FpbnN0OiAnZXZHb2Fsc0FnYWluc3QnLFxuICAgIGdvYWxzX2FnYWluc3Q6ICdnb2Fsc0FnYWluc3QnLFxuICAgIHBwX2NvdW50ZXJhdHRhY2tfZ29hbHNfYWdhaW5zdDogJ3BwQ291bnRlckF0dGFja0dvYWxzQWdhaW5zdCcsXG4gICAgc2hfY291bnRlcmF0dGFja19nb2Fsc19hZ2FpbnN0OiAnc2hDb3VudGVyQXR0YWNrR29hbHNBZ2FpbnN0JyxcbiAgICBldl9jb3VudGVyYXR0YWNrX2dvYWxzX2FnYWluc3Q6ICdldkNvdW50ZXJBdHRhY2tHb2Fsc0FnYWluc3QnLFxuICAgIGNvdW50ZXJhdHRhY2tfZ29hbHNfYWdhaW5zdDogJ2NvdW50ZXJBdHRhY2tHb2Fsc0FnYWluc3QnLFxuICAgIHBwX21hbmV1dmVyX2dvYWxzX2FnYWluc3Q6ICdwcE1hbmV1dmVyR29hbHNBZ2FpbnN0JyxcbiAgICBzaF9tYW5ldXZlcl9nb2Fsc19hZ2FpbnN0OiAnc2hNYW5ldXZlckdvYWxzQWdhaW5zdCcsXG4gICAgZXZfbWFuZXV2ZXJfZ29hbHNfYWdhaW5zdDogJ2V2TWFuZXV2ZXJHb2Fsc0FnYWluc3QnLFxuICAgIG1hbmV1dmVyX2dvYWxzX2FnYWluc3Q6ICdtYW5ldXZlckdvYWxzQWdhaW5zdCcsXG4gICAgcHBfY2VudGVyX2ZvcndhcmRfZ29hbHNfYWdhaW5zdDogJ3BwQ2VudGVyRm9yd2FyZEdvYWxzQWdhaW5zdCcsXG4gICAgc2hfY2VudGVyX2ZvcndhcmRfZ29hbHNfYWdhaW5zdDogJ3NoQ2VudGVyRm9yd2FyZEdvYWxzQWdhaW5zdCcsXG4gICAgZXZfY2VudGVyX2ZvcndhcmRfZ29hbHNfYWdhaW5zdDogJ2V2Q2VudGVyRm9yd2FyZEdvYWxzQWdhaW5zdCcsXG4gICAgY2VudGVyX2ZvcndhcmRfZ29hbHNfYWdhaW5zdDogJ2NlbnRlckZvcndhcmRHb2Fsc0FnYWluc3QnLFxuICAgIHBwX2ZyZWVfa2lja19nb2Fsc19hZ2FpbnN0OiAncHBGcmVlS2lja0dvYWxzQWdhaW5zdCcsXG4gICAgc2hfZnJlZV9raWNrX2dvYWxzX2FnYWluc3Q6ICdzaEZyZWVLaWNrR29hbHNBZ2FpbnN0JyxcbiAgICBldl9mcmVlX2tpY2tfZ29hbHNfYWdhaW5zdDogJ2V2RnJlZUtpY2tHb2Fsc0FnYWluc3QnLFxuICAgIGZyZWVfa2lja19nb2Fsc19hZ2FpbnN0OiAnZnJlZUtpY2tHb2Fsc0FnYWluc3QnLFxuICAgIHBwX2Nvcm5lcl9nb2Fsc19hZ2FpbnN0OiAncHBDb3JuZXJHb2Fsc0FnYWluc3QnLFxuICAgIHNoX2Nvcm5lcl9nb2Fsc19hZ2FpbnN0OiAnc2hDb3JuZXJHb2Fsc0FnYWluc3QnLFxuICAgIGV2X2Nvcm5lcl9nb2Fsc19hZ2FpbnN0OiAnZXZDb3JuZXJHb2Fsc0FnYWluc3QnLFxuICAgIGNvcm5lcl9nb2Fsc19hZ2FpbnN0OiAnY29ybmVyR29hbHNBZ2FpbnN0JyxcbiAgICBzaG9vdG91dF9nb2Fsc19hZ2FpbnN0OiAnc2hvb3RvdXRHb2Fsc0FnYWluc3QnLFxuICAgIGFmdGVyX2dhbWVfc2hvb3RvdXRfZ29hbHNfYWdhaW5zdDogJ2FmdGVyR2FtZVNob290b3V0R29hbHNBZ2FpbnN0JyxcbiAgICBzYWZldHlfcmF0ZTogJ3NhZmV0eVJhdGUnLFxuICAgIHBlbmFsdHlfbWludXRlczogJ3BlbmFsdHlNaW51dGVzJyxcbiAgICBnYW1lX3RpbWU6ICdnYW1lVGltZScsXG4gICAgcGx1c19taW51czogJ3BsdXNNaW51cycsXG4gICAgZm91bHM6ICdmb3VscycsXG4gICAgbWlub3JfcGVuYWx0aWVzOiAnbWlub3JQZW5hbHRpZXMnLFxuICAgIG1ham9yX3BlbmFsdGllczogJ21ham9yUGVuYWx0aWVzJyxcbiAgICBtYXRjaF9wZW5hbHRpZXM6ICdtYXRjaFBlbmFsdGllcycsXG4gICAgcGVuYWx0eV9mb3VsczogJ3BlbmFsdHlGb3VscycsXG4gICAgdHVybm92ZXJzOiAndHVybm92ZXJzJyxcbiAgICBhdHRhY2tfZm91bHM6ICdhdHRhY2tGb3VscycsXG4gICAgcGVyc29uYWxfZm91bHM6ICdwZXJzb25hbEZvdWxzJyxcbiAgICBkcmF3bl9mb3VsczogJ2RyYXduRm91bHMnLFxuICAgIGRyYXduX3R1cm5vdmVyczogJ2RyYXduVHVybm92ZXJzJyxcbiAgICB5ZWxsb3dfY2FyZHM6ICd5ZWxsb3dDYXJkcycsXG4gICAgcmVkX2NhcmRzOiAncmVkQ2FyZHMnLFxuICAgIGxvc3NlczogJ2xvc3NlcycsXG4gICAgc3RlYWxzOiAnc3RlYWxzJyxcbiAgICBwcF9mcmVlX2tpY2tfZ29hbHM6ICdwcEZyZWVLaWNrR29hbHMnLFxuICAgIHBwX2ZyZWVfa2lja19vbl9nb2FsczogJ3BwRnJlZUtpY2tPbkdvYWxzJyxcbiAgICBwcF9mcmVlX2tpY2tfbWlzc2VzOiAncHBGcmVlS2lja01pc3NlcycsXG4gICAgc2hfZnJlZV9raWNrX2dvYWxzOiAnc2hGcmVlS2lja0dvYWxzJyxcbiAgICBzaF9mcmVlX2tpY2tfb25fZ29hbHM6ICdzaEZyZWVLaWNrT25Hb2FscycsXG4gICAgc2hfZnJlZV9raWNrX21pc3NlczogJ3NoRnJlZUtpY2tNaXNzZXMnLFxuICAgIGV2X2ZyZWVfa2lja19nb2FsczogJ2V2RnJlZUtpY2tHb2FscycsXG4gICAgZXZfZnJlZV9raWNrX29uX2dvYWxzOiAnZXZGcmVlS2lja09uR29hbHMnLFxuICAgIGV2X2ZyZWVfa2lja19taXNzZXM6ICdldkZyZWVLaWNrTWlzc2VzJyxcbiAgICBmcmVlX2tpY2tfcGFzc2VzOiAnZnJlZUtpY2tQYXNzZXMnLFxuICAgIGZyZWVfa2lja19zZWxmczogJ2ZyZWVLaWNrU2VsZnMnLFxuICAgIHBwX2Nvcm5lcl9nb2FsczogJ3BwQ29ybmVyR29hbHMnLFxuICAgIHBwX2Nvcm5lcl9vbl9nb2FsczogJ3BwQ29ybmVyT25Hb2FscycsXG4gICAgcHBfY29ybmVyX21pc3NlczogJ3BwQ29ybmVyTWlzc2VzJyxcbiAgICBzaF9jb3JuZXJfZ29hbHM6ICdzaENvcm5lckdvYWxzJyxcbiAgICBzaF9jb3JuZXJfb25fZ29hbHM6ICdzaENvcm5lck9uR29hbHMnLFxuICAgIHNoX2Nvcm5lcl9taXNzZXM6ICdzaENvcm5lck1pc3NlcycsXG4gICAgZXZfY29ybmVyX2dvYWxzOiAnZXZDb3JuZXJHb2FscycsXG4gICAgZXZfY29ybmVyX29uX2dvYWxzOiAnZXZDb3JuZXJPbkdvYWxzJyxcbiAgICBldl9jb3JuZXJfbWlzc2VzOiAnZXZDb3JuZXJNaXNzZXMnLFxuICAgIGNvcm5lcl9wYXNzZXM6ICdjb3JuZXJQYXNzZXMnLFxuICAgIGNvcm5lcl9zZWxmczogJ2Nvcm5lclNlbGZzJyxcbiAgICB0YWNrbGVzOiAndGFja2xlcycsXG4gICAgcGxheWVyX2VmZmljaWVuY3k6ICdwbGF5ZXJFZmZpY2llbmN5J1xuICB9LFxuICByZWxhdGlvbjoge1xuICAgIHVwZGF0ZWRBdDogRGF0ZVRpbWVGaWVsZCxcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBXYXRlcnBvbG9HYW1lU3RhdGlzdGljIGV4dGVuZHMgQmFzZU1vZGVsIGltcGxlbWVudHMgR2FtZVN0YXRpc3RpY0Jhc2Uge1xuICBnYW1lVXNlcklkOiBudW1iZXI7XG4gIHBvaW50czogbnVtYmVyO1xuICBwcFNob3RNaXNzZXM6IG51bWJlcjtcbiAgcHBTaG90c09uR29hbDogbnVtYmVyO1xuICBwcFNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBldlNob3RNaXNzZXM6IG51bWJlcjtcbiAgZXZTaG90c09uR29hbDogbnVtYmVyO1xuICBldlNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBzaFNob3RNaXNzZXM6IG51bWJlcjtcbiAgc2hTaG90c09uR29hbDogbnVtYmVyO1xuICBzaFNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBwcFRvdGFsU2hvdHNPbkdvYWw6IG51bWJlcjtcbiAgZXZUb3RhbFNob3RzT25Hb2FsOiBudW1iZXI7XG4gIHNoVG90YWxTaG90c09uR29hbDogbnVtYmVyO1xuICBwcEdvYWxzOiBudW1iZXI7XG4gIGV2R29hbHM6IG51bWJlcjtcbiAgc2hHb2FsczogbnVtYmVyO1xuICBwcENvdW50ZXJBdHRhY2tHb2FsczogbnVtYmVyO1xuICBwcENvdW50ZXJBdHRhY2tPbkdvYWxzOiBudW1iZXI7XG4gIHBwQ291bnRlckF0dGFja01pc3NlczogbnVtYmVyO1xuICBldkNvdW50ZXJBdHRhY2tHb2FsczogbnVtYmVyO1xuICBldkNvdW50ZXJBdHRhY2tPbkdvYWxzOiBudW1iZXI7XG4gIGV2Q291bnRlckF0dGFja01pc3NlczogbnVtYmVyO1xuICBzaENvdW50ZXJBdHRhY2tHb2FsczogbnVtYmVyO1xuICBzaENvdW50ZXJBdHRhY2tPbkdvYWxzOiBudW1iZXI7XG4gIHNoQ291bnRlckF0dGFja01pc3NlczogbnVtYmVyO1xuICBwcE1hbmV1dmVyR29hbHM6IG51bWJlcjtcbiAgcHBNYW5ldXZlck9uR29hbHM6IG51bWJlcjtcbiAgcHBNYW5ldXZlck1pc3NlczogbnVtYmVyO1xuICBldk1hbmV1dmVyR29hbHM6IG51bWJlcjtcbiAgZXZNYW5ldXZlck9uR29hbHM6IG51bWJlcjtcbiAgZXZNYW5ldXZlck1pc3NlczogbnVtYmVyO1xuICBzaE1hbmV1dmVyR29hbHM6IG51bWJlcjtcbiAgc2hNYW5ldXZlck9uR29hbHM6IG51bWJlcjtcbiAgc2hNYW5ldXZlck1pc3NlczogbnVtYmVyO1xuICBwcENlbnRlckZvcndhcmRHb2FsczogbnVtYmVyO1xuICBwcENlbnRlckZvcndhcmRPbkdvYWxzOiBudW1iZXI7XG4gIHBwQ2VudGVyRm9yd2FyZE1pc3NlczogbnVtYmVyO1xuICBldkNlbnRlckZvcndhcmRHb2FsczogbnVtYmVyO1xuICBldkNlbnRlckZvcndhcmRPbkdvYWxzOiBudW1iZXI7XG4gIGV2Q2VudGVyRm9yd2FyZE1pc3NlczogbnVtYmVyO1xuICBzaENlbnRlckZvcndhcmRHb2FsczogbnVtYmVyO1xuICBzaENlbnRlckZvcndhcmRPbkdvYWxzOiBudW1iZXI7XG4gIHNoQ2VudGVyRm9yd2FyZE1pc3NlczogbnVtYmVyO1xuICBwcEFzc2lzdHM6IG51bWJlcjtcbiAgZXZBc3Npc3RzOiBudW1iZXI7XG4gIHNoQXNzaXN0czogbnVtYmVyO1xuICBzaG9vdG91dEF0dGVtcHRzOiBudW1iZXI7XG4gIHNob290b3V0R29hbHM6IG51bWJlcjtcbiAgYWZ0ZXJHYW1lU2hvb3RvdXRBdHRlbXB0czogbnVtYmVyO1xuICBhZnRlckdhbWVTaG9vdG91dEdvYWxzOiBudW1iZXI7XG4gIGJsb2NrU2hvdHM6IG51bWJlcjtcbiAgZmFjZU9mZkxvc3NlczogbnVtYmVyO1xuICBmYWNlT2ZmV2luczogbnVtYmVyO1xuICBwcFNhdmVzOiBudW1iZXI7XG4gIHNoU2F2ZXM6IG51bWJlcjtcbiAgZXZTYXZlczogbnVtYmVyO1xuICBwcENvdW50ZXJBdHRhY2tTYXZlczogbnVtYmVyO1xuICBzaENvdW50ZXJBdHRhY2tTYXZlczogbnVtYmVyO1xuICBldkNvdW50ZXJBdHRhY2tTYXZlczogbnVtYmVyO1xuICBwcE1hbmV1dmVyU2F2ZXM6IG51bWJlcjtcbiAgc2hNYW5ldXZlclNhdmVzOiBudW1iZXI7XG4gIGV2TWFuZXV2ZXJTYXZlczogbnVtYmVyO1xuICBwcENlbnRlckZvcndhcmRTYXZlczogbnVtYmVyO1xuICBzaENlbnRlckZvcndhcmRTYXZlczogbnVtYmVyO1xuICBldkNlbnRlckZvcndhcmRTYXZlczogbnVtYmVyO1xuICBwcEZyZWVLaWNrU2F2ZXM6IG51bWJlcjtcbiAgc2hGcmVlS2lja1NhdmVzOiBudW1iZXI7XG4gIGV2RnJlZUtpY2tTYXZlczogbnVtYmVyO1xuICBwcENvcm5lclNhdmVzOiBudW1iZXI7XG4gIHNoQ29ybmVyU2F2ZXM6IG51bWJlcjtcbiAgZXZDb3JuZXJTYXZlczogbnVtYmVyO1xuICBwcFRvdGFsR2FtZVNhdmVzOiBudW1iZXI7XG4gIHNoVG90YWxHYW1lU2F2ZXM6IG51bWJlcjtcbiAgZXZUb3RhbEdhbWVTYXZlczogbnVtYmVyO1xuICBzaG9vdG91dFNhdmVzOiBudW1iZXI7XG4gIGFmdGVyR2FtZVNob290b3V0U2F2ZXM6IG51bWJlcjtcbiAgcHBHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgc2hHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgZXZHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgZ29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHBwQ291bnRlckF0dGFja0dvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBzaENvdW50ZXJBdHRhY2tHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgZXZDb3VudGVyQXR0YWNrR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGNvdW50ZXJBdHRhY2tHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgcHBNYW5ldXZlckdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBzaE1hbmV1dmVyR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIGV2TWFuZXV2ZXJHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgbWFuZXV2ZXJHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgcHBDZW50ZXJGb3J3YXJkR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHNoQ2VudGVyRm9yd2FyZEdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBldkNlbnRlckZvcndhcmRHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgY2VudGVyRm9yd2FyZEdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBwcEZyZWVLaWNrR29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHNoRnJlZUtpY2tHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgZXZGcmVlS2lja0dvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBmcmVlS2lja0dvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBwcENvcm5lckdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBzaENvcm5lckdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBldkNvcm5lckdvYWxzQWdhaW5zdDogbnVtYmVyO1xuICBjb3JuZXJHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgc2hvb3RvdXRHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgYWZ0ZXJHYW1lU2hvb3RvdXRHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgc2FmZXR5UmF0ZTogbnVtYmVyO1xuICBwZW5hbHR5TWludXRlczogbnVtYmVyO1xuICBnYW1lVGltZTogbnVtYmVyO1xuICBwbHVzTWludXM6IG51bWJlcjtcbiAgZm91bHM6IG51bWJlcjtcbiAgbWlub3JQZW5hbHRpZXM6IG51bWJlcjtcbiAgbWFqb3JQZW5hbHRpZXM6IG51bWJlcjtcbiAgbWF0Y2hQZW5hbHRpZXM6IG51bWJlcjtcbiAgcGVuYWx0eUZvdWxzOiBudW1iZXI7XG4gIHR1cm5vdmVyczogbnVtYmVyO1xuICBhdHRhY2tGb3VsczogbnVtYmVyO1xuICBwZXJzb25hbEZvdWxzOiBudW1iZXI7XG4gIGRyYXduRm91bHM6IG51bWJlcjtcbiAgZHJhd25UdXJub3ZlcnM6IG51bWJlcjtcbiAgeWVsbG93Q2FyZHM6IG51bWJlcjtcbiAgcmVkQ2FyZHM6IG51bWJlcjtcbiAgbG9zc2VzOiBudW1iZXI7XG4gIHN0ZWFsczogbnVtYmVyO1xuICBwcEZyZWVLaWNrR29hbHM6IG51bWJlcjtcbiAgcHBGcmVlS2lja09uR29hbHM6IG51bWJlcjtcbiAgcHBGcmVlS2lja01pc3NlczogbnVtYmVyO1xuICBzaEZyZWVLaWNrR29hbHM6IG51bWJlcjtcbiAgc2hGcmVlS2lja09uR29hbHM6IG51bWJlcjtcbiAgc2hGcmVlS2lja01pc3NlczogbnVtYmVyO1xuICBldkZyZWVLaWNrR29hbHM6IG51bWJlcjtcbiAgZXZGcmVlS2lja09uR29hbHM6IG51bWJlcjtcbiAgZXZGcmVlS2lja01pc3NlczogbnVtYmVyO1xuICBmcmVlS2lja1Bhc3NlczogbnVtYmVyO1xuICBmcmVlS2lja1NlbGZzOiBudW1iZXI7XG4gIHBwQ29ybmVyR29hbHM6IG51bWJlcjtcbiAgcHBDb3JuZXJPbkdvYWxzOiBudW1iZXI7XG4gIHBwQ29ybmVyTWlzc2VzOiBudW1iZXI7XG4gIHNoQ29ybmVyR29hbHM6IG51bWJlcjtcbiAgc2hDb3JuZXJPbkdvYWxzOiBudW1iZXI7XG4gIHNoQ29ybmVyTWlzc2VzOiBudW1iZXI7XG4gIGV2Q29ybmVyR29hbHM6IG51bWJlcjtcbiAgZXZDb3JuZXJPbkdvYWxzOiBudW1iZXI7XG4gIGV2Q29ybmVyTWlzc2VzOiBudW1iZXI7XG4gIGNvcm5lclBhc3NlczogbnVtYmVyO1xuICBjb3JuZXJTZWxmczogbnVtYmVyO1xuICB0YWNrbGVzOiBudW1iZXI7XG4gIHBsYXllckVmZmljaWVuY3k6IG51bWJlcjtcbiAgdXBkYXRlZEF0OiBEYXRlO1xuXG4gIGdldCBpZCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdhbWVVc2VySWQ7XG4gIH1cblxuICBnZXQgZ2FtZU1pbnV0ZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5mbG9vcih0aGlzLmdhbWVUaW1lIC8gNjApO1xuICB9XG5cbiAgZ2V0IHBlbmFsdHlUaW1lKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLnBlbmFsdHlNaW51dGVzKSB7XG4gICAgICByZXR1cm4gJzAwOjAwJztcbiAgICB9XG4gICAgY29uc3QgbWludXRlcyA9IE1hdGguZmxvb3IodGhpcy5wZW5hbHR5TWludXRlcyAvIDYwKTtcbiAgICBjb25zdCBzZWNvbmRzID0gTWF0aC5mbG9vcih0aGlzLnBlbmFsdHlNaW51dGVzIC0gbWludXRlcyAqIDYwKTtcbiAgICByZXR1cm4gYCR7bWludXRlcyA8IDEwID8gMCA6ICcnfSR7bWludXRlc306JHtzZWNvbmRzIDwgMTAgPyAwIDogJyd9JHtzZWNvbmRzfWA7XG4gIH1cblxuICBnZXQgYXNzaXN0cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcEFzc2lzdHMgfHwgMCkgKyAodGhpcy5zaEFzc2lzdHMgfHwgMCkgICsgKHRoaXMuZXZBc3Npc3RzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHRvdGFsQ291bnRlckF0dGFja0dvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwQ291bnRlckF0dGFja0dvYWxzIHx8IDApICsgKHRoaXMuZXZDb3VudGVyQXR0YWNrR29hbHMgfHwgMCkgICsgKHRoaXMuc2hDb3VudGVyQXR0YWNrR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgcHBDb3VudGVyQXR0YWNrU2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBDb3VudGVyQXR0YWNrT25Hb2FscyB8fCAwKSArICh0aGlzLnBwQ291bnRlckF0dGFja01pc3NlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBzaENvdW50ZXJBdHRhY2tTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaENvdW50ZXJBdHRhY2tPbkdvYWxzIHx8IDApICsgKHRoaXMuc2hDb3VudGVyQXR0YWNrTWlzc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGV2Q291bnRlckF0dGFja1Nob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2Q291bnRlckF0dGFja09uR29hbHMgfHwgMCkgKyAodGhpcy5ldkNvdW50ZXJBdHRhY2tNaXNzZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgY291bnRlckF0dGFja1Nob3RNaXNzZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBDb3VudGVyQXR0YWNrTWlzc2VzIHx8IDApICsgKHRoaXMuc2hDb3VudGVyQXR0YWNrTWlzc2VzIHx8IDApICsgKHRoaXMuZXZDb3VudGVyQXR0YWNrTWlzc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGNvdW50ZXJBdHRhY2tTaG90T25Hb2FscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcENvdW50ZXJBdHRhY2tPbkdvYWxzIHx8IDApICsgKHRoaXMuc2hDb3VudGVyQXR0YWNrT25Hb2FscyB8fCAwKSArICh0aGlzLmV2Q291bnRlckF0dGFja09uR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxNYW5ldXZlckdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwTWFuZXV2ZXJHb2FscyB8fCAwKSArICh0aGlzLnNoTWFuZXV2ZXJHb2FscyB8fCAwKSArICh0aGlzLmV2TWFuZXV2ZXJHb2FscyB8fCAwKTtcbiAgfVxuXG4gIGdldCBwcE1hbmV1dmVyU2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBNYW5ldXZlck9uR29hbHMgfHwgMCkgKyAodGhpcy5wcE1hbmV1dmVyTWlzc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHNoTWFuZXV2ZXJTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaE1hbmV1dmVyT25Hb2FscyB8fCAwKSArICh0aGlzLnNoTWFuZXV2ZXJNaXNzZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgZXZNYW5ldXZlclNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2TWFuZXV2ZXJPbkdvYWxzIHx8IDApICsgKHRoaXMuZXZNYW5ldXZlck1pc3NlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBtYW5ldXZlclNob3RNaXNzZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBNYW5ldXZlck1pc3NlcyB8fCAwKSArICh0aGlzLnNoTWFuZXV2ZXJNaXNzZXMgfHwgMCkgKyAgKHRoaXMuZXZNYW5ldXZlck1pc3NlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBtYW5ldXZlclNob3RPbkdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwTWFuZXV2ZXJPbkdvYWxzIHx8IDApICsgKHRoaXMuc2hNYW5ldXZlck9uR29hbHMgfHwgMCkgKyAgKHRoaXMuZXZNYW5ldXZlck9uR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxDZW50ZXJGb3J3YXJkR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBDZW50ZXJGb3J3YXJkR29hbHMgfHwgMCkgKyAodGhpcy5zaENlbnRlckZvcndhcmRHb2FscyB8fCAwKSArICAodGhpcy5ldkNlbnRlckZvcndhcmRHb2FscyB8fCAwKTtcbiAgfVxuXG4gIGdldCBwcENlbnRlckZvcndhcmRTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcENlbnRlckZvcndhcmRPbkdvYWxzIHx8IDApICsgKHRoaXMucHBDZW50ZXJGb3J3YXJkTWlzc2VzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHNoQ2VudGVyRm9yd2FyZFNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNoQ2VudGVyRm9yd2FyZE9uR29hbHMgfHwgMCkgKyAodGhpcy5zaENlbnRlckZvcndhcmRNaXNzZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgZXZDZW50ZXJGb3J3YXJkU2hvdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuZXZDZW50ZXJGb3J3YXJkT25Hb2FscyB8fCAwKSArICh0aGlzLmV2Q2VudGVyRm9yd2FyZE1pc3NlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBjZW50ZXJGb3J3YXJkU2hvdE1pc3NlcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcENlbnRlckZvcndhcmRNaXNzZXMgfHwgMCkgKyAodGhpcy5zaENlbnRlckZvcndhcmRNaXNzZXMgfHwgMCkgKyAodGhpcy5ldkNlbnRlckZvcndhcmRNaXNzZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgY2VudGVyRm9yd2FyZFNob3RPbkdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwQ2VudGVyRm9yd2FyZE9uR29hbHMgfHwgMCkgKyAodGhpcy5zaENlbnRlckZvcndhcmRPbkdvYWxzIHx8IDApICsgKHRoaXMuZXZDZW50ZXJGb3J3YXJkT25Hb2FscyB8fCAwKTtcbiAgfVxuXG4gIGdldCBwcFNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwU2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLnBwU2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5wcFNob3RzQmxvY2tlZCB8fCAwKSArXG4gICAgICAodGhpcy5wcEZyZWVLaWNrTWlzc2VzIHx8IDApICsgKHRoaXMucHBGcmVlS2lja09uR29hbHMgfHwgMCkgK1xuICAgICAgKHRoaXMucHBDb3JuZXJNaXNzZXMgfHwgMCkgKyAodGhpcy5wcENvcm5lck9uR29hbHMgfHwgMCkgK1xuICAgICAgdGhpcy5wcENvdW50ZXJBdHRhY2tTaG90cyArIHRoaXMucHBNYW5ldXZlclNob3RzICsgdGhpcy5wcENlbnRlckZvcndhcmRTaG90cztcbiAgfVxuXG4gIGdldCBldlNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmV2U2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLmV2U2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5ldlNob3RzQmxvY2tlZCB8fCAwKSArXG4gICAgICAodGhpcy5ldkZyZWVLaWNrTWlzc2VzIHx8IDApICsgKHRoaXMuZXZGcmVlS2lja09uR29hbHMgfHwgMCkgK1xuICAgICAgKHRoaXMuZXZDb3JuZXJNaXNzZXMgfHwgMCkgKyAodGhpcy5ldkNvcm5lck9uR29hbHMgfHwgMCkgK1xuICAgICAgdGhpcy5ldkNvdW50ZXJBdHRhY2tTaG90cyArIHRoaXMuZXZNYW5ldXZlclNob3RzICsgdGhpcy5ldkNlbnRlckZvcndhcmRTaG90cztcbiAgfVxuXG4gIGdldCBzaFNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNoU2hvdE1pc3NlcyB8fCAwKSArICh0aGlzLnNoU2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5zaFNob3RzQmxvY2tlZCB8fCAwKSArXG4gICAgICAodGhpcy5zaEZyZWVLaWNrTWlzc2VzIHx8IDApICsgKHRoaXMuc2hGcmVlS2lja09uR29hbHMgfHwgMCkgK1xuICAgICAgKHRoaXMuc2hDb3JuZXJNaXNzZXMgfHwgMCkgKyAodGhpcy5zaENvcm5lck9uR29hbHMgfHwgMCkgK1xuICAgICAgdGhpcy5zaENvdW50ZXJBdHRhY2tTaG90cyArIHRoaXMuc2hNYW5ldXZlclNob3RzICsgdGhpcy5zaENlbnRlckZvcndhcmRTaG90cztcbiAgfVxuXG4gIGdldCB0b3RhbFNoR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuc2hHb2FscyB8fCAwKSArICh0aGlzLnNoRnJlZUtpY2tHb2FscyB8fCAwKSArICh0aGlzLnNoQ29ybmVyR29hbHMgfHwgMCkgK1xuICAgICAgKHRoaXMuc2hDb3VudGVyQXR0YWNrR29hbHMgfHwgMCkgKyAodGhpcy5zaE1hbmV1dmVyR29hbHMgfHwgMCkgKyAodGhpcy5zaENlbnRlckZvcndhcmRHb2FscyB8fCAwKTtcbiAgfVxuXG4gIGdldCB0b3RhbEV2R29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuZXZHb2FscyB8fCAwKSArICh0aGlzLmV2RnJlZUtpY2tHb2FscyB8fCAwKSArICh0aGlzLmV2Q29ybmVyR29hbHMgfHwgMCkgK1xuICAgICAgKHRoaXMuZXZDb3VudGVyQXR0YWNrR29hbHMgfHwgMCkgKyAodGhpcy5ldk1hbmV1dmVyR29hbHMgfHwgMCkgKyAodGhpcy5ldkNlbnRlckZvcndhcmRHb2FscyB8fCAwKTtcbiAgfVxuXG4gIGdldCB0b3RhbFBwR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBHb2FscyB8fCAwKSArICh0aGlzLnBwRnJlZUtpY2tHb2FscyB8fCAwKSArICh0aGlzLnBwQ29ybmVyR29hbHMgfHwgMCkgK1xuICAgICAgKHRoaXMucHBDb3VudGVyQXR0YWNrR29hbHMgfHwgMCkgKyAodGhpcy5wcE1hbmV1dmVyR29hbHMgfHwgMCkgKyAodGhpcy5wcENlbnRlckZvcndhcmRHb2FscyB8fCAwKTtcbiAgfVxuXG4gIGdldCBnb2FscygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnRvdGFsU2hHb2FscyArIHRoaXMudG90YWxFdkdvYWxzICsgdGhpcy50b3RhbFBwR29hbHM7XG4gIH1cblxuICBnZXQgdG90YWxHb2FscygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdvYWxzICsgKHRoaXMuc2hvb3RvdXRHb2FscyB8fCAwKTtcbiAgfVxuXG4gIGdldCBzaG9vdG91dFNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNob290b3V0R29hbHMgfHwgMCkgKyAodGhpcy5zaG9vdG91dEF0dGVtcHRzIHx8IDApO1xuICB9XG5cbiAgZ2V0IGluR2FtZVNob3RNaXNzZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBTaG90TWlzc2VzIHx8IDApICsgKHRoaXMuZXZTaG90TWlzc2VzIHx8IDApICsgKHRoaXMuc2hTaG90TWlzc2VzIHx8IDApICtcbiAgICAgIHRoaXMuY291bnRlckF0dGFja1Nob3RNaXNzZXMgKyB0aGlzLm1hbmV1dmVyU2hvdE1pc3NlcyArIHRoaXMuY2VudGVyRm9yd2FyZFNob3RNaXNzZXM7XG4gIH1cblxuICBnZXQgc2hvdE1pc3NlcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcEZyZWVLaWNrTWlzc2VzIHx8IDApICsgKHRoaXMuZXZGcmVlS2lja01pc3NlcyB8fCAwKSArICh0aGlzLnNoRnJlZUtpY2tNaXNzZXMgfHwgMCkgK1xuICAgICAgKHRoaXMucHBDb3JuZXJNaXNzZXMgfHwgMCkgKyAodGhpcy5ldkNvcm5lck1pc3NlcyB8fCAwKSArICh0aGlzLnNoQ29ybmVyTWlzc2VzIHx8IDApICtcbiAgICAgIHRoaXMuaW5HYW1lU2hvdE1pc3NlcztcbiAgfVxuXG4gIGdldCB0b3RhbFBwU2hvdE1pc3NlcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcFNob3RNaXNzZXMgfHwgMCkgKyAodGhpcy5wcEZyZWVLaWNrTWlzc2VzIHx8IDApICsgKHRoaXMucHBDb3JuZXJNaXNzZXMgfHwgMCkgK1xuICAgICAgKHRoaXMucHBDb3VudGVyQXR0YWNrTWlzc2VzIHx8IDApICsgKHRoaXMucHBNYW5ldXZlck1pc3NlcyB8fCAwKSArICh0aGlzLnBwQ2VudGVyRm9yd2FyZE1pc3NlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBzaG90c09uR29hbCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcFNob3RzT25Hb2FsIHx8IDApICsgKHRoaXMuZXZTaG90c09uR29hbCB8fCAwKSArICh0aGlzLnNoU2hvdHNPbkdvYWwgfHwgMCkgK1xuICAgICAgKHRoaXMucHBGcmVlS2lja09uR29hbHMgfHwgMCkgKyAodGhpcy5ldkZyZWVLaWNrT25Hb2FscyB8fCAwKSArICh0aGlzLnNoRnJlZUtpY2tPbkdvYWxzIHx8IDApICtcbiAgICAgICh0aGlzLnBwQ29ybmVyT25Hb2FscyB8fCAwKSArICh0aGlzLmV2Q29ybmVyT25Hb2FscyB8fCAwKSArICh0aGlzLnNoQ29ybmVyT25Hb2FscyB8fCAwKSArXG4gICAgICB0aGlzLmNvdW50ZXJBdHRhY2tTaG90T25Hb2FscyArIHRoaXMubWFuZXV2ZXJTaG90T25Hb2FscyArIHRoaXMuY2VudGVyRm9yd2FyZFNob3RPbkdvYWxzO1xuICB9XG5cbiAgZ2V0IHRvdGFsUHBTaG90c09uR29hbCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcFNob3RzT25Hb2FsIHx8IDApICsgKHRoaXMucHBGcmVlS2lja09uR29hbHMgfHwgMCkgKyAodGhpcy5wcENvcm5lck9uR29hbHMgfHwgMCkgK1xuICAgICAgKHRoaXMucHBDb3VudGVyQXR0YWNrT25Hb2FscyB8fCAwKSArICh0aGlzLnBwTWFuZXV2ZXJPbkdvYWxzIHx8IDApICsgKHRoaXMucHBDZW50ZXJGb3J3YXJkT25Hb2FscyB8fCAwKTtcbiAgfVxuXG4gIGdldCBpbkdhbWVTaG90c09uR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBTaG90c09uR29hbCB8fCAwKSArICh0aGlzLmV2U2hvdHNPbkdvYWwgfHwgMCkgKyAodGhpcy5zaFNob3RzT25Hb2FsIHx8IDApICtcbiAgICAgIHRoaXMuY291bnRlckF0dGFja1Nob3RPbkdvYWxzICsgdGhpcy5tYW5ldXZlclNob3RPbkdvYWxzICsgdGhpcy5jZW50ZXJGb3J3YXJkU2hvdE9uR29hbHM7XG4gIH1cblxuICBnZXQgc2hvdHNCbG9ja2VkKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwU2hvdHNCbG9ja2VkIHx8IDApICsgKHRoaXMuZXZTaG90c0Jsb2NrZWQgfHwgMCkgKyAodGhpcy5zaFNob3RzQmxvY2tlZCB8fCAwKTtcbiAgfVxuXG4gIGdldCBzaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBwU2hvdHMgKyB0aGlzLmV2U2hvdHMgKyB0aGlzLnNoU2hvdHM7XG4gIH1cblxuICBnZXQgdG90YWxTaG90cygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnNob3RzICsgKHRoaXMuc2hvb3RvdXRBdHRlbXB0cyB8fCAwKTtcbiAgfVxuXG4gIGdldCBmYWNlT2ZmcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5mYWNlT2ZmV2lucyB8fCAwKSArICh0aGlzLmZhY2VPZmZMb3NzZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgZnJlZUtpY2tTaG90TWlzc2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwRnJlZUtpY2tNaXNzZXMgfHwgMCkgKyAodGhpcy5ldkZyZWVLaWNrTWlzc2VzIHx8IDApICsgKHRoaXMuc2hGcmVlS2lja01pc3NlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBmcmVlS2lja09uR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucHBGcmVlS2lja09uR29hbHMgfHwgMCkgKyAodGhpcy5ldkZyZWVLaWNrT25Hb2FscyB8fCAwKSArICh0aGlzLnNoRnJlZUtpY2tPbkdvYWxzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHRvdGFsRnJlZUtpY2tHb2FscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcEZyZWVLaWNrR29hbHMgfHwgMCkgKyAodGhpcy5zaEZyZWVLaWNrR29hbHMgfHwgMCkgKyAodGhpcy5ldkZyZWVLaWNrR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxGcmVlS2lja3MoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuZnJlZUtpY2tTZWxmcyB8fCAwKSArICh0aGlzLmZyZWVLaWNrUGFzc2VzIHx8IDApICtcbiAgICAgIHRoaXMuZnJlZUtpY2tTaG90TWlzc2VzICsgdGhpcy5mcmVlS2lja09uR29hbHMgKyB0aGlzLnRvdGFsRnJlZUtpY2tHb2FscztcbiAgfVxuXG4gIGdldCB0b3RhbENvcm5lckdvYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwQ29ybmVyR29hbHMgfHwgMCkgKyAodGhpcy5zaENvcm5lckdvYWxzIHx8IDApICsgKHRoaXMuZXZDb3JuZXJHb2FscyB8fCAwKTtcbiAgfVxuXG4gIGdldCB0b3RhbENvcm5lcnMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuY29ybmVyU2VsZnMgfHwgMCkgKyAodGhpcy5jb3JuZXJQYXNzZXMgfHwgMCkgK1xuICAgICAgKHRoaXMucHBDb3JuZXJPbkdvYWxzIHx8IDApICsgKHRoaXMuc2hDb3JuZXJPbkdvYWxzIHx8IDApICsgKHRoaXMuZXZDb3JuZXJPbkdvYWxzIHx8IDApICtcbiAgICAgICh0aGlzLnBwQ29ybmVyTWlzc2VzIHx8IDApICsgKHRoaXMuc2hDb3JuZXJNaXNzZXMgfHwgMCkgKyAodGhpcy5ldkNvcm5lck1pc3NlcyB8fCAwKSArXG4gICAgICB0aGlzLnRvdGFsQ29ybmVyR29hbHM7XG4gIH1cblxuICBnZXQgdG90YWxGb3VscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5mb3VscyB8fCAwKSArICh0aGlzLnBlbmFsdHlGb3VscyB8fCAwKSArICh0aGlzLmF0dGFja0ZvdWxzIHx8IDApICsgKHRoaXMucGVyc29uYWxGb3VscyB8fCAwKTtcbiAgfVxuXG4gIGdldCBpbkdhbWVHb2FscygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zaEdvYWxzIHx8IDApICsgKHRoaXMuZXZHb2FscyB8fCAwKSArICh0aGlzLnBwR29hbHMgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxJbkdhbWVHb2FscygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnRvdGFsQ2VudGVyRm9yd2FyZEdvYWxzICsgdGhpcy50b3RhbE1hbmV1dmVyR29hbHMgKyB0aGlzLnRvdGFsQ291bnRlckF0dGFja0dvYWxzICsgdGhpcy5pbkdhbWVHb2FscztcbiAgfVxuXG4gIGdldCBwcEdvYWxzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy50b3RhbFBwR29hbHMgfHwgIXRoaXMucHBTaG90cykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnRvdGFsUHBHb2FscyAvIHRoaXMucHBTaG90cykgLyAxMDtcbiAgfVxuXG4gIGdldCBldkdvYWxzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy50b3RhbEV2R29hbHMgfHwgIXRoaXMuZXZTaG90cykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnRvdGFsRXZHb2FscyAvIHRoaXMuZXZTaG90cykgLyAxMDtcbiAgfVxuXG4gIGdldCBzaEdvYWxzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy50b3RhbFNoR29hbHMgfHwgIXRoaXMuc2hTaG90cykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnRvdGFsU2hHb2FscyAvIHRoaXMuc2hTaG90cykgLyAxMDtcbiAgfVxuXG4gIGdldCBzaG90c09uR29hbFBlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuc2hvdHNPbkdvYWwgfHwgIXRoaXMuc2hvdHMpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy5zaG90c09uR29hbCAvIHRoaXMuc2hvdHMpIC8gMTA7XG4gIH1cblxuICBnZXQgZ29hbHNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLmdvYWxzIHx8ICF0aGlzLnNob3RzKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMuZ29hbHMgLyB0aGlzLnNob3RzKSAvIDEwO1xuICB9XG5cbiAgZ2V0IHRvdGFsR29hbHNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLnRvdGFsR29hbHMgfHwgIXRoaXMudG90YWxTaG90cykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnRvdGFsR29hbHMgLyB0aGlzLnRvdGFsU2hvdHMpIC8gMTA7XG4gIH1cblxuICBnZXQgZmFjZU9mZlBlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuZmFjZU9mZldpbnMgfHwgIXRoaXMuZmFjZU9mZnMpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5yb3VuZCgxMDAwICogdGhpcy5mYWNlT2ZmV2lucyAvIHRoaXMuZmFjZU9mZnMpIC8gMTA7XG4gIH1cblxuICBnZXQgc2hvb3RvdXRHb2Fsc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuc2hvb3RvdXRHb2FscyB8fCAhdGhpcy5zaG9vdG91dFNob3RzKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMuc2hvb3RvdXRHb2FscyAvIHRoaXMuc2hvb3RvdXRTaG90cykgLyAxMDtcbiAgfVxuXG4gIGdldCBnb2FscGFzcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy50b3RhbEdvYWxzIHx8IDApICsgKHRoaXMuYXNzaXN0cyB8fCAwKTtcbiAgfVxuXG4gIC8qZ29hbGllIHN0YXQgKi9cbiAgZ2V0IGNvdW50ZXJBdHRhY2tTYXZlcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcENvdW50ZXJBdHRhY2tTYXZlcyB8fCAwKSArICh0aGlzLnNoQ291bnRlckF0dGFja1NhdmVzIHx8IDApICsgKHRoaXMuZXZDb3VudGVyQXR0YWNrU2F2ZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgY2VudGVyRm9yd2FyZFNhdmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwQ2VudGVyRm9yd2FyZFNhdmVzIHx8IDApICsgKHRoaXMuc2hDZW50ZXJGb3J3YXJkU2F2ZXMgfHwgMCkgKyAodGhpcy5ldkNlbnRlckZvcndhcmRTYXZlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBtYW5ldXZlclNhdmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwTWFuZXV2ZXJTYXZlcyB8fCAwKSArICh0aGlzLnNoTWFuZXV2ZXJTYXZlcyB8fCAwKSArICh0aGlzLmV2TWFuZXV2ZXJTYXZlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBmcmVlS2lja1NhdmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBwRnJlZUtpY2tTYXZlcyB8fCAwKSArICh0aGlzLnNoRnJlZUtpY2tTYXZlcyB8fCAwKSArICh0aGlzLmV2RnJlZUtpY2tTYXZlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCBjb3JuZXJTYXZlcygpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5wcENvcm5lclNhdmVzIHx8IDApICsgKHRoaXMuc2hDb3JuZXJTYXZlcyB8fCAwKSArICh0aGlzLmV2Q29ybmVyU2F2ZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxTaFNhdmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNoQ291bnRlckF0dGFja1NhdmVzIHx8IDApICsgKHRoaXMuc2hNYW5ldXZlclNhdmVzIHx8IDApICsgKHRoaXMuc2hDZW50ZXJGb3J3YXJkU2F2ZXMgfHwgMCkgK1xuICAgICAgKHRoaXMuc2hTYXZlcyB8fCAwKSArICh0aGlzLnNoRnJlZUtpY2tTYXZlcyB8fCAwKSArICh0aGlzLnNoQ29ybmVyU2F2ZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgaW5HYW1lU2F2ZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuc2hTYXZlcyB8fCAwKSArICh0aGlzLmV2U2F2ZXMgfHwgMCkgKyAodGhpcy5wcFNhdmVzIHx8IDApICtcbiAgICAgIHRoaXMuY291bnRlckF0dGFja1NhdmVzICsgdGhpcy5tYW5ldXZlclNhdmVzICsgdGhpcy5jZW50ZXJGb3J3YXJkU2F2ZXM7XG4gIH1cblxuICBnZXQgc2F2ZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pbkdhbWVTYXZlcyArIHRoaXMuZnJlZUtpY2tTYXZlcyArIHRoaXMuY29ybmVyU2F2ZXM7XG4gIH1cblxuICBnZXQgdG90YWxTYXZlcygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnNhdmVzICsgKHRoaXMuc2hvb3RvdXRTYXZlcyB8fCAwKTtcbiAgfVxuXG4gIGdldCB0b3RhbFNoR29hbHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNoR29hbHNBZ2FpbnN0IHx8IDApICsgKHRoaXMuc2hGcmVlS2lja0dvYWxzQWdhaW5zdCB8fCAwKSArICh0aGlzLnNoQ29ybmVyR29hbHNBZ2FpbnN0IHx8IDApICtcbiAgICAgICh0aGlzLnNoQ291bnRlckF0dGFja0dvYWxzQWdhaW5zdCB8fCAwKSArICh0aGlzLnNoTWFuZXV2ZXJHb2Fsc0FnYWluc3QgfHwgMCkgKyAodGhpcy5zaENlbnRlckZvcndhcmRHb2Fsc0FnYWluc3QgfHwgMCk7XG4gIH1cblxuICBnZXQgaW5HYW1lR29hbHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmdvYWxzQWdhaW5zdCB8fCAwKSArICh0aGlzLmNvdW50ZXJBdHRhY2tHb2Fsc0FnYWluc3QgfHwgMCkgKyAodGhpcy5tYW5ldXZlckdvYWxzQWdhaW5zdCB8fCAwKSArXG4gICAgICAodGhpcy5jZW50ZXJGb3J3YXJkR29hbHNBZ2FpbnN0IHx8IDApO1xuICB9XG5cbiAgZ2V0IHNob290b3V0U2hvdHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNob290b3V0U2F2ZXMgfHwgMCkgKyAodGhpcy5zaG9vdG91dEdvYWxzQWdhaW5zdCB8fCAwKTtcbiAgfVxuXG4gIGdldCBnYW1lR29hbHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5HYW1lR29hbHNBZ2FpbnN0ICsgKHRoaXMuZnJlZUtpY2tHb2Fsc0FnYWluc3QgfHwgMCkgKyAodGhpcy5jb3JuZXJHb2Fsc0FnYWluc3QgfHwgMCk7XG4gIH1cblxuICBnZXQgdG90YWxHb2Fsc0FnYWluc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nYW1lR29hbHNBZ2FpbnN0ICsgKHRoaXMuc2hvb3RvdXRHb2Fsc0FnYWluc3QgfHwgMCk7XG4gIH1cblxuICBnZXQgZ2FtZVNob3RzQWdhaW5zdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnNhdmVzICsgdGhpcy5nYW1lR29hbHNBZ2FpbnN0O1xuICB9XG5cbiAgZ2V0IHRvdGFsU2hvdHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2FtZVNob3RzQWdhaW5zdCArIHRoaXMuc2hvb3RvdXRTaG90c0FnYWluc3Q7XG4gIH1cblxuICBnZXQgc2hvb3RvdXRTYXZlc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuc2hvb3RvdXRTYXZlcyB8fCAhdGhpcy5zaG9vdG91dFNob3RzQWdhaW5zdCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnNob290b3V0U2F2ZXMgLyB0aGlzLnNob290b3V0U2hvdHNBZ2FpbnN0KSAvIDEwO1xuICB9XG5cbiAgZ2V0IHNhdmVzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5zYXZlcyB8fCAhdGhpcy5nYW1lU2hvdHNBZ2FpbnN0KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMuc2F2ZXMgLyB0aGlzLmdhbWVTaG90c0FnYWluc3QpIC8gMTA7XG4gIH1cblxuICBnZXQgdG90YWxTYXZlc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMudG90YWxTYXZlcyB8fCAhdGhpcy50b3RhbFNob3RzQWdhaW5zdCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnRvdGFsU2F2ZXMgLyB0aGlzLnRvdGFsU2hvdHNBZ2FpbnN0KSAvIDEwO1xuICB9XG5cbiAgQFRvRnJvbnRIb29rXG4gIHN0YXRpYyB0b0Zyb250KGRhdGE6IGFueSk6IGFueSB7fVxuXG4gIEBUb0JhY2tIb29rXG4gIHN0YXRpYyB0b0JhY2soZGF0YTogYW55KTogYW55IHt9XG59XG4iXX0=