dcdx 1.3.0-next.16 → 1.3.0-next.18

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.
@@ -59,555 +59,555 @@ const ActionHandler = async (program, { action, errorHandler }, options) => {
59
59
  };
60
60
 
61
61
  var jira = [
62
- "10.0.0-ubuntu-jdk17",
62
+ "latest",
63
+ "9.15.2",
64
+ "9.15-jdk17",
65
+ "9.15.2-jdk17",
63
66
  "10.0.0",
67
+ "10.0.0-ubuntu-jdk17",
64
68
  "10.0.0-jdk17",
65
- "9.15.1-jdk17",
66
69
  "9.15.1",
67
70
  "9.15.1-ubuntu-jdk17",
68
- "10.0.1-jdk17",
71
+ "9.15.1-jdk17",
69
72
  "10.0.1",
70
73
  "10.0-ubuntu-jdk17",
71
- "10.0",
72
- "10.0-jdk17",
74
+ "10.0.1-jdk17",
73
75
  "10.0.1-ubuntu-jdk17",
74
- "9.12.5",
75
- "9.15.2-ubuntu-jdk17",
76
+ "10.0-jdk17",
77
+ "10.0",
78
+ "9.15-ubuntu-jdk17",
76
79
  "9.15",
80
+ "9.15.2-ubuntu-jdk17",
77
81
  "9.12.5-jdk17",
82
+ "9.12.5",
78
83
  "9.12.5-ubuntu-jdk17",
79
- "9.15.2-jdk17",
80
- "9.15-jdk17",
81
- "9.15.2",
82
- "9.15-ubuntu-jdk17",
84
+ "9.12.1-jdk17",
83
85
  "9.12.1",
84
86
  "9.12.1-ubuntu-jdk17",
85
- "9.12.1-jdk17",
86
- "9.12.6-ubuntu-jdk17",
87
- "9.12.6-jdk17",
88
- "9.12.11",
87
+ "10.1.1-jdk17",
88
+ "10.1.1",
89
+ "10.1.1-ubuntu-jdk17",
90
+ "9.16.0",
91
+ "9.16.0-jdk17",
92
+ "9.16.0-ubuntu-jdk17",
93
+ "9.12.10-jdk17",
94
+ "9.7.1",
89
95
  "9.7.1-ubuntu-jdk11",
96
+ "9.12.6-jdk17",
97
+ "9.4.12-ubuntu-jdk11",
98
+ "9.12.10",
99
+ "9.12.6-ubuntu-jdk17",
90
100
  "9.12.6",
91
- "9.7.1-jdk11",
92
- "10.1",
93
- "10.1.2",
94
- "10.1-ubuntu-jdk17",
95
- "9.7.1",
96
- "9.14-ubuntu-jdk11",
97
- "10.1.2-jdk17",
98
101
  "9.12.10-ubuntu-jdk17",
99
- "9.14-jdk11",
100
- "10.1.2-ubuntu-jdk17",
101
- "9.12.10",
102
- "9.12.10-jdk17",
102
+ "9.12.8-jdk17",
103
+ "9.12.8",
104
+ "9.12.12",
103
105
  "9.12.11-ubuntu-jdk17",
104
- "9.14.1-jdk11",
105
- "9.14.1-ubuntu-jdk11",
106
- "10.1-jdk17",
107
- "9.12.7-jdk17",
108
- "10.1.1",
106
+ "9.7.1-jdk11",
107
+ "9.12.11",
109
108
  "9.12.11-jdk17",
110
- "10.1.1-ubuntu-jdk17",
111
- "9.16.0-jdk17",
112
- "9.7-jdk11",
113
- "9.7",
114
- "9.12.7-ubuntu-jdk17",
115
- "10.1.1-jdk17",
109
+ "9.12.12-ubuntu-jdk17",
110
+ "9.12.12-jdk17",
111
+ "9.4.12",
112
+ "9.12.8-ubuntu-jdk17",
113
+ "9.17.0-jdk11",
114
+ "9.12.9-jdk17",
116
115
  "9.16.1",
117
- "9.7.2",
118
- "9.4.2-ubuntu-jdk11",
119
- "9.4.2",
120
- "9.12.7",
116
+ "10.1-jdk17",
117
+ "9.17.0-ubuntu-jdk11",
118
+ "10.1.2-jdk17",
119
+ "10.2",
120
+ "10.1-ubuntu-jdk17",
121
121
  "9.16-jdk17",
122
- "9.7.2-jdk11",
123
- "9.16.0-ubuntu-jdk17",
124
- "9.7-ubuntu-jdk11",
125
- "9.4.26",
126
- "9.4.26-jdk11",
127
122
  "9.16-ubuntu-jdk17",
128
- "9.16.0",
129
- "9.15.0-jdk11",
130
- "9.7.2-ubuntu-jdk11",
131
- "9.12.12-jdk17",
132
- "9.12.7-jdk11",
133
- "9.4.7",
134
- "9.16.1-jdk17",
135
- "9.12.7-ubuntu-jdk11",
136
- "9.16.1-ubuntu-jdk17",
137
- "9.4.2-jdk11",
138
- "9.12.12",
139
- "9.10.0-ubuntu-jdk11",
140
123
  "9.16",
141
- "9.4.26-ubuntu-jdk11",
142
- "9.12.8",
143
- "9.10.0-jdk11",
144
- "9.12.12-ubuntu-jdk17",
145
- "9.12.8-jdk17",
124
+ "10.1.2-ubuntu-jdk17",
125
+ "9.12.7",
146
126
  "9.4.12-jdk11",
147
- "9.8.0-jdk11",
148
- "9.4.7-jdk11",
127
+ "10.1.2",
128
+ "ubuntu-jdk17",
129
+ "10.1",
130
+ "9.7-ubuntu-jdk11",
131
+ "9.14-jdk11",
132
+ "9.15.0-jdk11",
133
+ "9.16.1-ubuntu-jdk17",
134
+ "10.2-ubuntu-jdk17",
135
+ "10.2.0-jdk17",
149
136
  "9.4.7-ubuntu-jdk11",
137
+ "10-ubuntu-jdk17",
138
+ "10",
139
+ "9.16.1-jdk17",
140
+ "9.4.7-jdk11",
141
+ "9.12.7-ubuntu-jdk17",
142
+ "9.8.0-jdk11",
143
+ "9.12.7-jdk11",
144
+ "9.10.0-ubuntu-jdk11",
145
+ "9.4.7",
150
146
  "9.15.0-ubuntu-jdk11",
151
- "9.12.8-ubuntu-jdk17",
152
- "9.17.0-ubuntu-jdk11",
153
- "9.12-jdk11",
154
- "9.12.15-jdk11",
155
- "9.4.12",
156
- "9.12.9-jdk17",
157
- "9.12-ubuntu-jdk11",
158
- "9.10.0",
159
- "9.12.9-ubuntu-jdk17",
160
- "9.12.15-ubuntu-jdk11",
161
- "9.8.0",
162
- "latest",
163
- "9.4.12-ubuntu-jdk11",
164
- "9.8.0-ubuntu-jdk11",
147
+ "9.12.13-ubuntu-jdk17",
148
+ "9.7.2-jdk11",
165
149
  "9.12.9",
166
- "9.4.8-ubuntu-jdk11",
150
+ "9.12.7-jdk17",
151
+ "9.8.1-ubuntu-jdk11",
152
+ "9.4.26",
153
+ "9.14-ubuntu-jdk11",
154
+ "9.7.2",
155
+ "9.7.2-ubuntu-jdk11",
156
+ "9.7.2-ubi9-jdk17",
157
+ "9.8.1-jdk11",
158
+ "9.12.13",
167
159
  "9.4.8-jdk11",
168
- "ubuntu-jdk17",
169
- "9.17.0-jdk11",
170
- "9.12.13-jdk17",
171
- "9.12.13-ubuntu-jdk17",
172
- "10-jdk17",
173
- "9.4.27",
174
- "10.2-ubuntu-jdk17",
175
- "9.4.27-jdk11",
176
- "9.12.1-ubuntu-jdk11",
177
- "9.4.20-ubuntu-jdk11",
178
- "9.4.20-jdk11",
179
- "9.4.27-ubuntu-jdk11",
180
- "9.4.20",
181
- "10",
182
- "10-ubuntu-jdk17",
160
+ "9.7",
161
+ "9.14.1-ubuntu-jdk11",
162
+ "9.10.0-jdk11",
163
+ "9.12.9-ubuntu-jdk17",
164
+ "9.12-jdk11",
165
+ "9.7-jdk11",
166
+ "9.10.0",
167
+ "10.2.0",
168
+ "9.12.15-jdk11",
183
169
  "10.2-jdk17",
184
- "10.2.0-jdk17",
185
- "10.2",
170
+ "9.7.2-ubi9",
171
+ "10-jdk17",
172
+ "9.4.2-jdk11",
173
+ "9.12.13-jdk17",
186
174
  "9.4.8",
187
- "9.12.13",
188
- "9.12.8-jdk11",
189
- "10.2.0",
190
- "9.12.8-ubuntu-jdk11",
175
+ "9.4.8-ubuntu-jdk11",
176
+ "9.14.1-jdk11",
177
+ "9.4.2",
191
178
  "10.2.0-ubuntu-jdk17",
192
- "9.17.0-jdk17",
193
- "9.15.1-jdk11",
194
179
  "jdk17",
195
- "9.12.9-ubi9",
196
- "9.4.9",
197
- "9.17.0-ubuntu-jdk17",
180
+ "9.15.2-ubi9",
181
+ "9.4.2-ubuntu-jdk11",
182
+ "9.15.2-ubi9-jdk17",
198
183
  "9.17.0",
199
- "9.10.1",
200
- "9.12.1-jdk11",
201
- "9.4.9-jdk11",
202
- "9.15.1-ubuntu-jdk11",
203
184
  "9.10.1-jdk11",
204
- "10.0.0-ubi9-jdk17",
205
- "9.12.9-ubi9-jdk17",
206
- "9.7.2-ubi9",
207
- "9.7.2-ubi9-jdk17",
208
- "9.4.9-ubuntu-jdk11",
209
- "9.4.14-jdk11",
210
- "9.10.1-ubi9",
185
+ "9.4.26-ubuntu-jdk11",
186
+ "9.4.27-ubuntu-jdk11",
187
+ "9.4.20",
188
+ "9.4.27-jdk11",
189
+ "9.4.27",
190
+ "9.17.0-ubuntu-jdk17",
191
+ "9.17.0-jdk17",
211
192
  "9.17.4-ubi9-jdk17",
212
- "9.17.4-ubi9",
213
- "9.4.14-ubuntu-jdk11",
214
- "9.10.1-ubuntu-jdk11",
215
- "9.8.1-ubuntu-jdk11",
216
- "9.8.1-jdk11",
217
- "9.15.2-ubi9-jdk17",
218
- "9.4.14",
219
- "9.17.1-ubuntu-jdk11",
220
- "9.4-ubuntu-jdk11",
221
- "9.10.1-ubi9-jdk17",
222
- "9.8.1",
223
- "10.0.0-ubi9",
224
- "9.15.2-ubi9",
225
- "9.8.2-ubuntu-jdk17",
226
- "9.12.14",
227
- "9.12.14-ubuntu-jdk17",
228
- "9.4-jdk11",
229
- "9.17.1-ubuntu-jdk17",
230
- "9.8-jdk11",
231
- "9.12.14-jdk17",
232
- "9.4.28",
233
- "9.8.2",
234
- "9.12.2-jdk11",
235
- "9.13.0",
193
+ "9.17.1-jdk17",
194
+ "9.12.15-ubuntu-jdk11",
195
+ "9.11.0",
236
196
  "9.13.0-jdk17",
237
- "9.10.2-ubuntu-jdk11",
238
- "9.10-ubuntu-jdk11",
239
197
  "9.13.0-ubuntu-jdk17",
240
- "9.17.1-jdk17",
241
- "9.4.28-ubuntu-jdk11",
242
- "9.4",
243
- "9.11.0-ubuntu-jdk11",
244
- "9.4.28-jdk11",
245
- "9.17.1-jdk11",
246
- "9.15.2-jdk11",
247
- "9.8-ubuntu-jdk11",
248
198
  "9.17.1",
249
- "9.4.21",
250
- "9.12.10-ubuntu-jdk11",
251
- "9.8.2-jdk11",
252
- "9.12.2-ubuntu-jdk11",
253
- "9.4.21-ubuntu-jdk11",
254
- "9.4.21-jdk11",
255
- "9.8",
256
- "9.8.2-ubuntu-jdk11",
257
- "9.8-ubuntu-jdk17",
258
- "9.10.2-ubi9-jdk17",
259
- "9.17.5-ubi9",
260
- "9.8-jdk17",
261
- "9.8.2-jdk17",
262
- "9.10.2",
263
- "9.10.2-jdk11",
264
- "9.12.1-ubi9-jdk17",
199
+ "9.12.14-jdk17",
200
+ "9.8.1",
201
+ "9.12.7-ubuntu-jdk11",
202
+ "9.8.0-ubuntu-jdk11",
203
+ "9.8.0",
204
+ "9.12.14-ubuntu-jdk17",
205
+ "9.4.26-jdk11",
206
+ "9.13.0",
207
+ "9.10.1",
208
+ "9.17.5-ubi9-jdk17",
209
+ "9.11.0-ubuntu-jdk17",
210
+ "9.12.9-ubi9-jdk17",
211
+ "9.17.1-ubuntu-jdk11",
265
212
  "9.10-jdk11",
266
- "9.11.0",
267
- "9.15-ubuntu-jdk11",
268
- "9.15.2-ubuntu-jdk11",
213
+ "9.11.0-jdk17",
214
+ "9.4.14",
215
+ "9.12.1-ubi9",
216
+ "9.4.14-ubuntu-jdk11",
217
+ "9.17.1-jdk11",
218
+ "9.10.2",
219
+ "9.12.9-ubi9",
220
+ "9.12.14",
221
+ "9.4.20-jdk11",
222
+ "9.16.0-ubi9-jdk17",
223
+ "9.12.8-ubuntu-jdk11",
224
+ "9.15.1-ubuntu-jdk11",
225
+ "9.15.1-jdk11",
226
+ "9.12.1-jdk11",
227
+ "9.17.5-ubi9",
228
+ "9.4.14-jdk11",
229
+ "9.17.4-ubi9",
230
+ "9.10.2-ubi9-jdk17",
231
+ "9.10.1-ubi9",
232
+ "9.17.1-ubuntu-jdk17",
269
233
  "9.12.10-jdk11",
270
- "9.12.9-ubuntu-jdk11",
271
- "9.15-jdk11",
234
+ "9.10.2-jdk11",
235
+ "9.4.20-ubuntu-jdk11",
236
+ "9.12-ubuntu-jdk11",
237
+ "9.10.2-ubi9",
238
+ "9.10.1-ubi9-jdk17",
239
+ "9.10.1-ubuntu-jdk11",
240
+ "9.17.2",
241
+ "9.4.9",
242
+ "9.10-ubuntu-jdk11",
243
+ "9.10",
244
+ "9.4.9-jdk11",
245
+ "9.11.1-jdk17",
246
+ "9.16.0-ubi9",
247
+ "9.11.1",
248
+ "9.10.2-ubuntu-jdk11",
249
+ "9.12.8-jdk11",
250
+ "9.17.2-ubuntu-jdk17",
251
+ "9.12.1-ubuntu-jdk11",
252
+ "9.17.2-jdk17",
253
+ "9.7.1-jdk17",
254
+ "9.7.1-ubuntu-jdk17",
255
+ "10.0.0-ubi9-jdk17",
256
+ "9.8.0-ubi9-jdk17",
257
+ "9.13-ubuntu-jdk17",
258
+ "9.4.15-ubuntu-jdk11",
259
+ "9.8.0-ubi9",
260
+ "9.12.2-ubi9",
261
+ "9.11.1-ubuntu-jdk17",
272
262
  "9.13.1",
273
- "9.11.0-jdk11",
274
- "9.12.1-ubi9",
275
- "9.13.1-jdk17",
276
- "9.13.1-ubuntu-jdk17",
277
- "9.4.15",
278
263
  "9.12.9-jdk11",
279
- "9.10",
280
- "9.10.2-ubi9",
281
- "9.17.5-ubi9-jdk17",
282
- "9.11.0-jdk17",
264
+ "9.4-jdk11",
265
+ "9.4.28-jdk11",
266
+ "9.12.1-ubi9-jdk17",
267
+ "9.4",
268
+ "9.4.28",
269
+ "9.4-ubuntu-jdk11",
270
+ "9.16.1-ubi9",
271
+ "9.11.0-ubuntu-jdk11",
272
+ "9.5.0-ubuntu-jdk11",
273
+ "10.0.0-ubi9",
274
+ "9.16.1-ubi9-jdk17",
275
+ "9.13.0-ubi9",
276
+ "9.12.10-ubuntu-jdk11",
277
+ "9.4.9-ubuntu-jdk11",
278
+ "9.5.0-jdk11",
279
+ "9.8",
283
280
  "9.12",
284
- "9.11.0-ubuntu-jdk17",
281
+ "9.8-ubuntu-jdk11",
282
+ "9.13.1-ubuntu-jdk17",
283
+ "9.5.0",
284
+ "9.4.28-ubuntu-jdk11",
285
+ "9.8-ubuntu-jdk17",
286
+ "9.10.0-ubuntu-jdk17",
287
+ "9.12.2-ubi9-jdk17",
288
+ "9.7-jdk17",
289
+ "9.8.2-ubuntu-jdk17",
290
+ "9.12.9-ubuntu-jdk11",
291
+ "9.13",
292
+ "9.13.0-jdk11",
293
+ "9.8.2-jdk11",
285
294
  "9.5.0-jdk17",
286
- "9.13-jdk17",
295
+ "9.8-jdk11",
296
+ "9.17.2-jdk11",
297
+ "9.8.2-ubuntu-jdk11",
298
+ "9.7.2-jdk17",
299
+ "9.12-ubuntu-jdk17",
300
+ "9.4.15",
301
+ "9.8.2",
287
302
  "9.4.15-jdk11",
288
- "9.5.0-ubuntu-jdk17",
303
+ "9.13.1-ubi9-jdk17",
289
304
  "9.12.15",
290
305
  "9.12-jdk17",
291
- "9.5.0-jdk11",
292
- "9.4.15-ubuntu-jdk11",
293
- "9.13",
294
- "9.5.0",
295
- "9.12.2-ubi9",
296
- "9.12-ubuntu-jdk17",
297
- "10.0.1-ubi9",
298
- "9.13-ubuntu-jdk17",
299
- "9.17.2-jdk11",
306
+ "9.12.15-jdk17",
307
+ "9.15.2-ubuntu-jdk11",
300
308
  "9.13.0-ubi9-jdk17",
301
- "9.8.0-ubi9-jdk17",
302
309
  "9.12.15-ubuntu-jdk17",
303
- "9.13.0-ubi9",
304
- "9.5.0-ubuntu-jdk11",
305
- "9.7.1-jdk17",
306
- "10.0.1-ubi9-jdk17",
307
- "9.17.2-ubuntu-jdk17",
308
- "9.8.0-ubi9",
309
- "9.12.15-jdk17",
310
- "9.4.22-jdk11",
311
- "9.4.22-ubuntu-jdk11",
312
- "9.4.22",
310
+ "9.12.2-jdk11",
311
+ "9.8.2-jdk17",
312
+ "9.5.0-ubuntu-jdk17",
313
+ "9.13.1-jdk17",
314
+ "9.13-jdk17",
313
315
  "9.17.2-ubuntu-jdk11",
314
- "9.12.2-ubi9-jdk17",
315
- "9.7.1-ubuntu-jdk17",
316
- "9.17.2",
317
- "9.17.2-jdk17",
318
- "9.12.3-ubuntu-jdk11",
319
- "9.16.0-ubi9",
320
- "9.12.3-jdk11",
321
316
  "9.12.10-ubi9-jdk17",
322
- "9.12.11-ubuntu-jdk11",
323
- "9.11.1-ubuntu-jdk17",
324
- "9.12.3-ubi9",
317
+ "9.11.2-jdk17",
318
+ "9.4.21-ubuntu-jdk11",
319
+ "9.15-ubuntu-jdk11",
320
+ "9.15.2-jdk11",
321
+ "9.11.0-jdk11",
322
+ "9.8-jdk17",
323
+ "9.15-jdk11",
324
+ "9.12.2-ubuntu-jdk11",
325
+ "9.10.0-jdk17",
326
+ "9.11.2-ubuntu-jdk17",
327
+ "9.5-jdk17",
328
+ "9.5.1-jdk17",
329
+ "9.17.3-jdk17",
330
+ "9.4.21-jdk11",
331
+ "9.4.21",
332
+ "9.17.3-ubuntu-jdk17",
333
+ "9.17.3",
334
+ "9.5.1-ubuntu-jdk17",
335
+ "9.7.2-ubuntu-jdk17",
336
+ "9.11.2",
337
+ "9.7-ubuntu-jdk17",
338
+ "9.13.0-ubuntu-jdk11",
339
+ "9.11.0-ubi9",
340
+ "9.13.1-ubi9",
341
+ "9.4.16-jdk11",
342
+ "9.5-ubuntu-jdk11",
343
+ "9.11.0-ubi9-jdk17",
344
+ "9.5.1-ubuntu-jdk11",
325
345
  "9.12.10-ubi9",
326
- "9.9.0-jdk17",
327
- "9.17.3-jdk11",
328
- "9.17.3-ubuntu-jdk11",
346
+ "10.0.1-ubi9-jdk17",
347
+ "10.0.1-ubi9",
348
+ "9.4.0",
349
+ "9.14.0-jdk17",
329
350
  "9.4.16",
330
- "9.12.3-ubi9-jdk17",
331
- "9.9.0-ubuntu-jdk17",
332
- "9.5.0-ubi9-jdk17",
333
- "9.12.11-jdk11",
334
- "9.4.16-ubuntu-jdk11",
335
- "9.5.1-ubuntu-jdk17",
336
351
  "9.5-ubuntu-jdk17",
337
- "9.13.1-ubi9-jdk17",
338
- "9.4.16-jdk11",
339
- "9.16.0-ubi9-jdk17",
340
- "9.5.0-ubi9",
341
- "9.11.1-ubuntu-jdk11",
342
- "9.11.1-jdk11",
343
- "9.11.1",
344
- "9.11.1-jdk17",
345
- "9.5.1-jdk17",
346
- "9.5-jdk17",
347
- "9.7-jdk17",
348
- "9.5",
349
- "9.4.3",
350
- "9.8.1-ubi9-jdk17",
352
+ "9.4.16-ubuntu-jdk11",
353
+ "9.5-jdk11",
351
354
  "9.8.1-ubi9",
352
355
  "9.5.1",
353
- "9.5-jdk11",
354
- "9.5-ubuntu-jdk11",
355
- "9.7-ubuntu-jdk17",
356
- "9.4.3-jdk11",
357
- "9.5.1-jdk11",
358
- "9.7.2-ubuntu-jdk17",
359
- "9.5.1-ubuntu-jdk11",
360
- "9.7.2-jdk17",
361
- "9.13.1-ubi9",
362
- "9.4.3-ubuntu-jdk11",
363
- "9.17.3",
364
- "9.9.0-ubuntu-jdk11",
356
+ "9.14.0",
357
+ "9.4.22",
358
+ "9.17.3-ubuntu-jdk11",
365
359
  "9.9.0-jdk11",
366
- "9.13.0-jdk11",
367
- "9.17.3-jdk17",
368
- "9.13.0-ubuntu-jdk11",
369
- "9.4.0",
360
+ "9.5.1-jdk11",
361
+ "9.12.3-jdk11",
362
+ "9.4.3",
363
+ "9.5",
364
+ "9.11.1-jdk11",
365
+ "9.8.1-ubi9-jdk17",
366
+ "9.4.22-ubuntu-jdk11",
367
+ "9.12.11-ubi9-jdk17",
370
368
  "9.4.0-jdk11",
371
- "9.11.0-ubi9-jdk17",
372
- "9.4.23",
369
+ "9.9.0-ubuntu-jdk11",
370
+ "9.12.11-ubuntu-jdk11",
371
+ "9.4.0-ubuntu-jdk11",
372
+ "9.4.3-ubuntu-jdk11",
373
+ "9.4.22-jdk11",
374
+ "9.11.1-ubuntu-jdk11",
375
+ "9.17.3-jdk11",
376
+ "9.5.0-ubi9-jdk17",
377
+ "9.12.3-ubi9-jdk17",
378
+ "9.12.3-ubi9",
379
+ "9.5.0-ubi9",
380
+ "9.9.0-ubuntu-jdk17",
381
+ "9.12.11-jdk11",
382
+ "9.11.2-jdk11",
373
383
  "9.9.0",
374
- "9.4.0-ubuntu-jdk11",
375
- "9.11.2",
376
- "9.17.3-ubuntu-jdk17",
377
- "9.4.23-jdk11",
384
+ "9.11.1-ubi9-jdk17",
385
+ "9.4.3-jdk11",
386
+ "9.17.4-ubuntu-jdk17",
387
+ "9.12.3-ubuntu-jdk11",
388
+ "9.11.1-ubi9",
389
+ "9.17.4-jdk17",
390
+ "9.14.0-ubuntu-jdk17",
391
+ "9.9.0-jdk17",
392
+ "9.12.4-ubuntu-jdk11",
393
+ "9.17.4",
378
394
  "9.12.2",
379
- "9.14.0-jdk17",
380
- "9.14.0",
381
- "9.12.4-ubi9",
395
+ "9.16.0-jdk11",
396
+ "9.11.2-ubuntu-jdk11",
397
+ "9.12.2-jdk17",
398
+ "9.4.17-ubuntu-jdk11",
399
+ "9.4.17",
382
400
  "9.12.11-ubi9",
383
- "9.4.23-ubuntu-jdk11",
384
- "9.17.4-ubuntu-jdk11",
385
- "9.11.2-jdk17",
386
- "9.12.11-ubi9-jdk17",
387
- "9.16.1-ubi9",
388
- "9.16.1-ubi9-jdk17",
389
- "9.11.2-ubuntu-jdk17",
401
+ "9.4.17-jdk11",
402
+ "9.13-ubuntu-jdk11",
403
+ "9.8.2-ubi9-jdk17",
404
+ "9.13.1-ubuntu-jdk11",
405
+ "9.11.3-jdk17",
390
406
  "9.12.12-ubuntu-jdk11",
391
- "9.16.0-jdk11",
392
- "9.12.4-ubi9-jdk17",
407
+ "9.13.1-jdk11",
393
408
  "9.12.12-jdk11",
394
- "9.11.0-ubi9",
395
- "9.12.2-jdk17",
396
- "9.12.2-ubuntu-jdk17",
397
- "9.10.0-jdk17",
409
+ "9.12.4-ubi9-jdk17",
410
+ "9.11",
398
411
  "9.12.4-jdk11",
399
- "9.8.2-ubi9-jdk17",
400
- "9.14.0-ubuntu-jdk17",
401
- "10.1.1-ubi9-jdk17",
402
- "10.1.1-ubi9",
412
+ "9.4.4-ubuntu-jdk11",
403
413
  "9.8.2-ubi9",
404
- "9.11.2-ubuntu-jdk11",
405
- "9.10.0-ubuntu-jdk17",
406
- "9.12.4-ubuntu-jdk11",
407
- "9.17.4-jdk11",
414
+ "9.13-jdk11",
415
+ "9.12.4-ubi9",
416
+ "9.11.3",
417
+ "9.6-ubuntu-jdk17",
418
+ "9.6.0-jdk17",
408
419
  "9.16.0-ubuntu-jdk11",
409
- "9.12.12-ubi9",
410
- "9.12.12-ubi9-jdk17",
411
- "9.5.1-ubi9",
412
- "9.5.1-ubi9-jdk17",
413
- "9.11.2-jdk11",
414
- "9.4.17",
415
420
  "9.6.0-ubuntu-jdk17",
416
- "9.4.17-jdk11",
417
- "9.9.1-ubuntu-jdk17",
418
- "9.9.1-jdk17",
419
- "9.6-ubuntu-jdk17",
421
+ "9.12.2-ubuntu-jdk17",
422
+ "9.4.23-jdk11",
423
+ "9.11-ubuntu-jdk17",
424
+ "9.11.3-ubuntu-jdk17",
425
+ "9.4.23",
420
426
  "9.6-jdk17",
421
- "9.6.0-jdk17",
422
- "9.4.17-ubuntu-jdk11",
423
- "9.4.4-ubuntu-jdk11",
424
- "9.9.1-jdk11",
425
- "9.13-jdk11",
426
- "9.13-ubuntu-jdk11",
427
- "9.12.3-jdk17",
428
- "9.13.1-jdk11",
429
- "9.11.1-ubi9",
430
- "9.13.1-ubuntu-jdk11",
431
- "9.12.3",
432
- "9.4.4-jdk11",
433
- "9.9.1",
434
- "9.4.1",
435
427
  "9.4.4",
428
+ "9.11-jdk17",
429
+ "9.4.23-ubuntu-jdk11",
430
+ "9.9.1",
431
+ "9.5.1-ubi9-jdk17",
432
+ "9.4.4-jdk11",
433
+ "9.4.1-ubuntu-jdk11",
434
+ "9.17.4-ubuntu-jdk11",
435
+ "9.5.1-ubi9",
436
+ "9.14-ubuntu-jdk17",
436
437
  "9.10.1-ubuntu-jdk17",
437
- "9.6.0",
438
- "9.10.1-jdk17",
439
- "9.14",
440
- "9.17.4-ubuntu-jdk17",
441
- "9.12.3-ubuntu-jdk17",
442
- "9.11.1-ubi9-jdk17",
438
+ "10.1.1-ubi9",
439
+ "10.1.1-ubi9-jdk17",
440
+ "9.17.4-jdk11",
441
+ "9.9.1-ubuntu-jdk17",
443
442
  "9.4.1-jdk11",
444
- "9.6.0-ubuntu-jdk11",
445
- "9.9.1-ubuntu-jdk11",
446
- "9.4.24",
447
- "9.4.24-ubuntu-jdk11",
448
- "9.17.4",
449
- "9.17.4-jdk17",
450
443
  "9.14.1",
451
- "9.17.5-jdk11",
452
- "10.1.2-ubi9",
453
- "9.4.24-jdk11",
454
- "9.17-ubuntu-jdk11",
455
- "9.6-ubuntu-jdk11",
456
- "9.6",
457
- "9.6-jdk11",
458
- "9.14-ubuntu-jdk17",
459
- "9.4.1-ubuntu-jdk11",
444
+ "9.4.1",
445
+ "9.8.0-jdk17",
446
+ "9.8.0-ubuntu-jdk17",
447
+ "9.12.12-ubi9-jdk17",
460
448
  "9.6.0-jdk11",
461
- "9.12.5-ubi9-jdk17",
462
- "9.12.13-ubi9-jdk17",
463
- "9.17.5-ubuntu-jdk11",
464
- "9.11-jdk17",
465
- "9.11.3",
466
- "9.14.1-ubuntu-jdk17",
467
- "9-jdk11",
468
- "9-ubuntu-jdk11",
469
- "9.9.0-ubi9-jdk17",
470
- "10.1.2-ubi9-jdk17",
471
449
  "9.14.1-jdk17",
472
- "9.12.13-ubi9",
473
- "9.12.5-ubi9",
474
- "9.8.0-ubuntu-jdk17",
475
- "9.17-jdk11",
450
+ "9.10.1-jdk17",
451
+ "9.14",
476
452
  "9.14-jdk17",
477
- "9.8.0-jdk17",
478
- "9.9.2-ubuntu-jdk17",
479
- "9.9.0-ubi9",
480
- "9.11-ubuntu-jdk11",
453
+ "9.9.1-jdk17",
454
+ "9.14.1-ubuntu-jdk17",
455
+ "9.12.12-ubi9",
456
+ "9.9.1-ubuntu-jdk11",
457
+ "9.9.1-jdk11",
458
+ "9.6.0-ubuntu-jdk11",
459
+ "9.6-jdk11",
460
+ "9.6",
461
+ "9.6-ubuntu-jdk11",
462
+ "9.6.0",
463
+ "9.4.24",
464
+ "9-jdk17",
465
+ "9.14.0-ubi9",
466
+ "9.14.0-ubi9-jdk17",
481
467
  "9.11.3-ubuntu-jdk11",
482
- "9.4.10-jdk11",
468
+ "9.12.5-ubi9",
469
+ "9.17-jdk17",
483
470
  "9.11-jdk11",
484
- "9.9.2-jdk17",
471
+ "9.17.5-jdk17",
472
+ "9.12.5-jdk11",
473
+ "10.1.2-ubi9-jdk17",
474
+ "9.4.24-ubuntu-jdk11",
475
+ "9.12.5-ubuntu-jdk11",
476
+ "9.11-ubuntu-jdk11",
477
+ "9.11.2-ubi9",
478
+ "9.17.5",
479
+ "9-ubuntu-jdk11",
480
+ "9.12.5-ubi9-jdk17",
481
+ "9.17.0-ubi9-jdk17",
482
+ "9.17.0-ubi9",
483
+ "9.4.24-jdk11",
484
+ "9.17-ubuntu-jdk17",
485
+ "9.12.13-ubuntu-jdk11",
486
+ "9.11.2-ubi9-jdk17",
487
+ "9-ubuntu-jdk17",
488
+ "9.12.3-ubuntu-jdk17",
489
+ "9.12.3-jdk17",
490
+ "9.17",
491
+ "9.12.3",
485
492
  "9.11.3-jdk11",
486
- "9.4.10",
487
- "9.9-ubuntu-jdk17",
488
- "9.9-jdk17",
489
- "9.11.3-jdk17",
490
- "9.11-ubuntu-jdk17",
491
- "9.16.1-jdk11",
492
- "9.4.10-ubuntu-jdk11",
493
- "9.11.3-ubuntu-jdk17",
494
- "9.11",
495
- "9.4.5-ubuntu-jdk11",
496
- "9.4.5-jdk11",
497
- "9.4.5",
493
+ "9-jdk11",
494
+ "9",
498
495
  "9.4.18-jdk11",
496
+ "9.17.5-ubuntu-jdk17",
499
497
  "9.4.18-ubuntu-jdk11",
500
- "9.16-ubuntu-jdk11",
498
+ "9.4.10-jdk11",
501
499
  "9.16-jdk11",
502
- "9.16.1-ubuntu-jdk11",
503
- "9.12.5-jdk11",
504
- "9.14.0-ubi9",
505
- "9.12.13-ubuntu-jdk11",
506
- "9.11.2-ubi9-jdk17",
507
- "9.12.13-jdk11",
508
- "9.12.5-ubuntu-jdk11",
509
- "9.17.0-ubi9-jdk17",
510
500
  "9.4.18",
511
- "9.14.0-ubi9-jdk17",
512
- "9.12.6-ubi9-jdk17",
513
- "9.6.0-ubi9",
514
- "9.12.6-ubi9",
501
+ "9.4.5-jdk11",
502
+ "9.17.5-jdk11",
503
+ "9.12.13-jdk11",
504
+ "9.17.5-ubuntu-jdk11",
505
+ "9.17-jdk11",
506
+ "9.17-ubuntu-jdk11",
515
507
  "9.9.2-ubuntu-jdk11",
516
- "9.11.2-ubi9",
517
- "9.6.0-ubi9-jdk17",
518
- "9.12.14-ubi9-jdk17",
519
- "9.9.2-jdk11",
520
- "9.12.4",
521
- "9.12.14-ubi9",
522
508
  "9.9-ubuntu-jdk11",
523
- "9.17.0-ubi9",
524
509
  "9.10.2-ubuntu-jdk17",
525
- "9.9.2",
526
- "9.9-jdk11",
527
- "9.12.4-ubuntu-jdk17",
510
+ "10.1.2-ubi9",
511
+ "9.9-jdk17",
512
+ "9.4.10",
513
+ "9.9-ubuntu-jdk17",
514
+ "9.6.0-ubi9",
528
515
  "9.10-ubuntu-jdk17",
529
- "9.8.1-ubuntu-jdk17",
530
- "9.4.25",
531
- "9.10-jdk17",
532
- "9.4.25-jdk11",
533
- "9.8.1-jdk17",
534
- "9.9",
535
- "9.17.5-jdk17",
536
- "9.12.4-jdk17",
537
- "9-ubuntu-jdk17",
538
- "9.17",
539
- "9.17.5-ubuntu-jdk17",
540
- "9.17-jdk17",
541
- "9.9.1-ubi9-jdk17",
516
+ "9.16.1-jdk11",
517
+ "9.16.1-ubuntu-jdk11",
518
+ "9.16-ubuntu-jdk11",
519
+ "9.4.10-ubuntu-jdk11",
520
+ "9.9.0-ubi9-jdk17",
542
521
  "9.10.2-jdk17",
543
- "9-jdk17",
522
+ "9.10-jdk17",
523
+ "9.4.5-ubuntu-jdk11",
524
+ "9.4.5",
525
+ "9.6.0-ubi9-jdk17",
526
+ "9.9.2",
527
+ "9.9.2-jdk11",
544
528
  "9.14.1-ubi9-jdk17",
545
- "9.12.6-ubuntu-jdk11",
546
- "9.9.1-ubi9",
547
- "9.12.6-jdk11",
548
- "9.12.0-jdk17",
529
+ "9.9-jdk11",
530
+ "9.9.2-jdk17",
531
+ "9.9.0-ubi9",
532
+ "9.8.1-jdk17",
533
+ "9.9",
534
+ "9.9.2-ubuntu-jdk17",
535
+ "9.8.1-ubuntu-jdk17",
549
536
  "9.14.1-ubi9",
537
+ "9.12.13-ubi9",
538
+ "9.12.13-ubi9-jdk17",
539
+ "9.17.1-ubi9-jdk17",
540
+ "9.15.0-ubuntu-jdk17",
541
+ "9.17.1-ubi9",
542
+ "9.12.14-ubuntu-jdk11",
543
+ "9.15.0-jdk17",
544
+ "9.14.0-ubuntu-jdk11",
545
+ "9.12.4-ubuntu-jdk17",
546
+ "9.7.0-ubuntu-jdk17",
547
+ "9.4.19-jdk11",
550
548
  "9.12.0-ubuntu-jdk17",
549
+ "9.4.19-ubuntu-jdk11",
551
550
  "9.12.0",
552
- "9",
553
- "9.17.5",
554
- "9.17-ubuntu-jdk17",
551
+ "9.12.6-ubi9",
552
+ "9.12.6-jdk11",
553
+ "9.12.0-jdk17",
554
+ "9.4.25-jdk11",
555
+ "9.9.1-ubi9-jdk17",
556
+ "9.9.1-ubi9",
557
+ "9.12.6-ubi9-jdk17",
558
+ "9.12.14-jdk11",
559
+ "9.12.4-jdk17",
560
+ "9.12.4",
561
+ "9.4.6-ubuntu-jdk11",
555
562
  "9.4.25-ubuntu-jdk11",
556
- "9.4.19-ubuntu-jdk11",
557
563
  "9.4.19",
558
- "9.7.0",
559
- "9.4.19-jdk11",
560
- "9.7.0-jdk17",
561
564
  "9.14.0-jdk11",
562
- "9.7.0-ubuntu-jdk11",
563
- "9.7.0-ubuntu-jdk17",
564
- "9.7.0-ubi9-jdk17",
565
- "9.7.0-ubi9",
566
- "9.15.0-jdk17",
565
+ "9.7.0-jdk17",
566
+ "9.12.6-ubuntu-jdk11",
567
+ "9.4.25",
568
+ "9.4.6",
569
+ "9.15.0",
570
+ "9.11.3-ubi9",
567
571
  "9.7.0-jdk11",
568
- "9.14.0-ubuntu-jdk11",
569
- "9.4.6-ubuntu-jdk11",
570
- "9.15.0-ubuntu-jdk17",
572
+ "9.12.0-jdk11",
573
+ "9.7.0-ubuntu-jdk11",
574
+ "9.12.14-ubi9",
575
+ "9.11.3-ubi9-jdk17",
576
+ "9.7.0",
577
+ "10.2.0-ubi9-jdk17",
578
+ "9.12.14-ubi9-jdk17",
579
+ "10.2.0-ubi9",
571
580
  "ubi9-jdk17",
572
- "9.15.0",
573
- "9.9.2-ubi9-jdk17",
574
- "9.12.14-jdk11",
575
- "9.12.15-ubi9-jdk17",
576
- "9.12.15-ubi9",
577
- "9.12.7-ubi9",
578
- "9.4.11",
579
- "9.4.11-jdk11",
580
- "9.12.14-ubuntu-jdk11",
581
581
  "ubi9",
582
- "9.12.7-ubi9-jdk17",
583
- "9.17.1-ubi9",
584
582
  "9.12.0-ubuntu-jdk11",
585
- "10.2.0-ubi9-jdk17",
586
- "10.2.0-ubi9",
587
- "9.9.2-ubi9",
588
- "9.4.6",
589
- "9.4.6-jdk11",
590
- "9.12.0-jdk11",
591
- "9.11.3-ubi9",
592
- "9.17.1-ubi9-jdk17",
583
+ "9.12.7-ubi9",
593
584
  "9.4.11-ubuntu-jdk11",
594
- "9.11.3-ubi9-jdk17",
595
- "9.15.0-ubi9",
596
- "9.12.8-ubi9-jdk17",
597
- "9.7.1-ubi9-jdk17",
598
- "9.15.0-ubi9-jdk17",
599
- "9.12.8-ubi9",
585
+ "9.4.11-jdk11",
586
+ "9.4.11",
600
587
  "9.17.2-ubi9-jdk17",
601
- "9.7.1-ubi9",
588
+ "9.4.6-jdk11",
589
+ "9.15.0-ubi9",
602
590
  "9.17.2-ubi9",
591
+ "9.12.7-ubi9-jdk17",
592
+ "9.15.0-ubi9-jdk17",
593
+ "9.7.0-ubi9-jdk17",
594
+ "9.7.0-ubi9",
595
+ "9.9.2-ubi9",
596
+ "9.9.2-ubi9-jdk17",
597
+ "9.12.15-ubi9",
598
+ "9.12.15-ubi9-jdk17",
603
599
  "9.12.0-ubi9",
600
+ "9.17.3-ubi9",
601
+ "9.12.8-ubi9",
604
602
  "9.12.0-ubi9-jdk17",
603
+ "9.12.8-ubi9-jdk17",
605
604
  "9.17.3-ubi9-jdk17",
606
- "9.15.1-ubi9",
607
605
  "9.15.1-ubi9-jdk17",
608
- "9.17.3-ubi9",
609
- "9.10.0-ubi9",
606
+ "9.15.1-ubi9",
607
+ "9.7.1-ubi9",
608
+ "9.7.1-ubi9-jdk17",
610
609
  "9.10.0-ubi9-jdk17",
610
+ "9.10.0-ubi9",
611
611
  "10.3.0-EAP01-jdk17",
612
612
  "10.3.0-EAP01",
613
613
  "10.3.0-EAP01-ubuntu-jdk17",
@@ -2051,582 +2051,582 @@ var jira = [
2051
2051
  "8.8.0-RC02"
2052
2052
  ];
2053
2053
  var confluence = [
2054
- "9.2.0-beta3-ubuntu-jdk17",
2055
- "9.2.0-beta3-jdk17",
2056
- "eap-ubuntu-jdk17",
2057
- "eap",
2058
- "9.2.0-beta3",
2059
- "eap-jdk17",
2060
- "9.2.0-beta3-jdk21",
2061
- "9.2.0-beta3-ubuntu-jdk21",
2062
- "9.2.0-beta3-ubi9",
2063
- "9.2.0-beta3-ubi9-jdk21",
2064
- "9.2.0-beta3-ubi9-jdk17",
2065
- "8.9.7-jdk17",
2066
2054
  "8.9.7",
2055
+ "8.9.7-jdk17",
2067
2056
  "8.9.7-ubuntu-jdk17",
2068
- "8.7.2-jdk11",
2069
- "8.7-jdk11",
2057
+ "8.9.8-jdk17",
2058
+ "8.9.8",
2070
2059
  "8.9-ubuntu-jdk17",
2071
- "8.9-jdk17",
2060
+ "8.9",
2061
+ "8",
2072
2062
  "8.9.8-ubuntu-jdk17",
2073
- "8.6.2-jdk17",
2074
- "8.6.2",
2075
- "8.6.2-ubuntu-jdk17",
2076
- "8.6-jdk17",
2077
- "8-jdk17",
2078
2063
  "8-ubuntu-jdk17",
2079
- "8.9.8-jdk17",
2080
- "7.19.24-jdk11",
2081
- "8",
2082
- "8.6",
2083
- "8.6-ubuntu-jdk17",
2084
- "8.7-ubuntu-jdk11",
2085
- "8.9.8",
2064
+ "8-jdk17",
2065
+ "8.9-jdk17",
2086
2066
  "8.7.2-ubuntu-jdk11",
2067
+ "8.6-ubuntu-jdk17",
2068
+ "8.9.4-ubuntu-jdk11",
2069
+ "8.1.3-ubuntu-jdk11",
2070
+ "8.6",
2071
+ "7.19.9-ubuntu-jdk11",
2072
+ "9.0.1",
2073
+ "8.6-jdk17",
2074
+ "8.5.14-ubuntu-jdk11",
2087
2075
  "7.19.24-ubuntu-jdk11",
2088
- "8.9",
2089
- "7.19.24",
2076
+ "7.19.26-jdk11",
2077
+ "8.5.2-ubuntu-jdk11",
2078
+ "8.6.2-ubuntu-jdk17",
2079
+ "8.6.2",
2080
+ "8.6.2-jdk17",
2081
+ "8.5.8-jdk11",
2090
2082
  "8.9.3-jdk11",
2083
+ "8.7.2-jdk11",
2084
+ "8.5.12-jdk11",
2091
2085
  "8.9.3-ubuntu-jdk11",
2092
- "8.5.8-jdk11",
2093
- "7.19.19",
2094
- "8.5.8-ubuntu-jdk11",
2095
- "8.1.3-jdk11",
2096
- "7.19.9-jdk11",
2097
- "7.19.19-ubuntu-jdk11",
2086
+ "8.7-jdk11",
2087
+ "8.5.10-ubuntu-jdk17",
2088
+ "8.5.12-ubuntu-jdk11",
2089
+ "8.4.1",
2090
+ "8.5.16-jdk17",
2098
2091
  "7.19.9",
2099
- "8.1.3-ubuntu-jdk11",
2092
+ "8.1.4-ubuntu-jdk11",
2093
+ "8.5.14-jdk11",
2094
+ "8.5.10",
2100
2095
  "8.5.2-jdk11",
2101
- "8.5.2-ubuntu-jdk11",
2102
- "7.19.9-ubuntu-jdk11",
2103
- "8.9.1",
2104
- "7.19.19-jdk11",
2105
- "8.5.16-ubuntu-jdk17",
2106
- "8.4.1-jdk17",
2107
- "8.9.4-jdk11",
2108
- "8.1.3",
2109
- "8.0.1",
2110
2096
  "8.5.16",
2111
- "8.5.16-jdk17",
2097
+ "8.5.16-ubuntu-jdk17",
2098
+ "7.19.25",
2099
+ "8.1.4-jdk11",
2100
+ "7.19.24",
2101
+ "8.1-ubuntu-jdk11",
2102
+ "8.1.4",
2103
+ "8.3.1-jdk17",
2104
+ "8.7-ubuntu-jdk11",
2105
+ "8.1",
2106
+ "7.19.9-jdk11",
2112
2107
  "8.4.1-ubuntu-jdk17",
2113
- "8.9.1-ubuntu-jdk17",
2114
- "8.9.4-ubuntu-jdk11",
2115
- "8.9.1-jdk17",
2116
- "8.8.0-ubuntu-jdk11",
2117
- "8.5.1-ubuntu-jdk17",
2118
- "9.0.1-ubuntu-jdk17",
2119
- "8.7.1-ubuntu-jdk17",
2120
- "8.0.1-ubuntu-jdk11",
2108
+ "8.4.3-jdk17",
2109
+ "7.19.24-jdk11",
2121
2110
  "8.5.1-jdk17",
2122
- "8.5.1",
2123
- "8.4-jdk11",
2124
- "8.3.0-jdk17",
2125
- "9.0.1",
2126
- "8.4.1",
2127
- "8.0.1-jdk11",
2128
- "8.3.0",
2111
+ "7.19.4-jdk11",
2112
+ "7.19.19-jdk11",
2129
2113
  "7.19.25-ubuntu-jdk11",
2130
- "7.19.25",
2114
+ "8.1.3-jdk11",
2115
+ "7.20.0-ubuntu-jdk11",
2116
+ "8.1.3",
2117
+ "7.19.26-ubuntu-jdk11",
2118
+ "7.19.19-ubuntu-jdk11",
2119
+ "8.3.1",
2120
+ "7.20.0-jdk11",
2121
+ "8.5.1",
2122
+ "8.9.1-ubuntu-jdk17",
2123
+ "8.4.1-jdk17",
2124
+ "8.5.8-ubuntu-jdk11",
2131
2125
  "8.3.0-ubuntu-jdk17",
2132
- "8.8.0-jdk11",
2133
- "7.19.3-ubuntu-jdk11",
2134
- "7.19.3",
2135
- "8.5.9-jdk11",
2126
+ "8.1-jdk11",
2127
+ "8.4.0-jdk11",
2128
+ "8.4.2",
2129
+ "8.9.5-jdk11",
2136
2130
  "8.7.1",
2137
- "8.4.5-ubuntu-jdk11",
2138
- "7.19.3-jdk11",
2131
+ "8.9.4-jdk11",
2132
+ "8.5.10-jdk17",
2133
+ "8.3.0",
2134
+ "8.0.1",
2139
2135
  "8.7.1-jdk17",
2140
- "8.5.9-ubuntu-jdk11",
2136
+ "8.5.17-ubuntu-jdk17",
2137
+ "8.5.6",
2138
+ "7.19.25-jdk11",
2139
+ "8.3.1-ubuntu-jdk17",
2140
+ "8.5.6-ubuntu-jdk17",
2141
+ "8.5.1-ubuntu-jdk17",
2142
+ "8.5",
2143
+ "8.9.1-jdk17",
2141
2144
  "8.4-ubuntu-jdk11",
2142
- "8.1-jdk11",
2145
+ "7.19.3",
2143
2146
  "8.4.5-jdk11",
2144
- "8.9.2",
2145
- "7.19.25-jdk11",
2147
+ "8.0.2-ubuntu-jdk11",
2146
2148
  "9.0.1-jdk17",
2147
- "8.3.0-ubuntu-jdk11",
2148
- "8.5.6",
2149
- "8.1.4-ubuntu-jdk11",
2150
- "8.5.12-ubuntu-jdk11",
2151
- "8.1",
2152
- "8.5.6-jdk17",
2153
- "8.5.12-jdk11",
2154
- "8.3.0-jdk11",
2155
- "8.5.6-ubuntu-jdk17",
2156
- "8.1.4",
2157
- "8.9.2-ubuntu-jdk17",
2158
- "8.1-ubuntu-jdk11",
2159
- "8.1.4-jdk11",
2160
- "7.19.14",
2149
+ "8.0.1-jdk11",
2150
+ "8.0.3-ubuntu-jdk11",
2161
2151
  "9.0.2-jdk17",
2162
- "7.19.14-jdk11",
2163
2152
  "7.20.0",
2153
+ "7.19.19",
2154
+ "9.0.1-ubuntu-jdk17",
2155
+ "8.4.0-ubuntu-jdk11",
2156
+ "8.5.6-jdk17",
2157
+ "8.5.17-jdk17",
2158
+ "8.5-ubuntu-jdk17",
2159
+ "8.4.2-jdk17",
2160
+ "8.3.0-jdk17",
2161
+ "8.0.1-ubuntu-jdk11",
2162
+ "7.19.4-ubuntu-jdk11",
2163
+ "7.19.3-jdk11",
2164
+ "8.5.7-jdk17",
2165
+ "8.8.0-jdk11",
2164
2166
  "8.4.2-ubuntu-jdk17",
2167
+ "8.9.5-ubuntu-jdk11",
2168
+ "8.4.5-ubuntu-jdk11",
2169
+ "7.19.26",
2170
+ "8.9.1",
2171
+ "8.7.1-ubuntu-jdk17",
2172
+ "7.19.14-ubuntu-jdk11",
2173
+ "8.8.0-ubuntu-jdk11",
2174
+ "7.19.14-jdk11",
2165
2175
  "8.9.2-jdk17",
2166
- "9.0.2-ubuntu-jdk17",
2167
- "8.5.10-jdk17",
2168
- "8.0.2",
2169
- "8.0.2-ubuntu-jdk11",
2170
- "8.4.2-jdk17",
2171
- "8.4.2",
2172
- "7.20.0-ubuntu-jdk11",
2173
- "8.0.2-jdk11",
2174
- "9.0.2",
2175
- "7.20.0-jdk11",
2176
- "7.19.2",
2177
- "8.5.3-jdk11",
2178
- "8.3.1-ubuntu-jdk17",
2179
- "8.3.1-jdk17",
2180
- "7.19.2-jdk11",
2181
- "8.4.0-ubuntu-jdk11",
2176
+ "8.7.2-ubuntu-jdk17",
2182
2177
  "7.19.2-ubuntu-jdk11",
2183
- "8.5.3-ubuntu-jdk11",
2184
- "8.6.0-jdk11",
2185
- "7.19.14-ubuntu-jdk11",
2186
- "8.5",
2187
- "8.8-ubuntu-jdk11",
2178
+ "8.7",
2179
+ "8.5.9-ubuntu-jdk11",
2180
+ "8.7.2-jdk17",
2188
2181
  "8.5.17",
2189
- "8.5.17-ubuntu-jdk17",
2190
- "8.5.10-ubuntu-jdk17",
2191
- "8.5-jdk17",
2192
- "8.3.1",
2193
- "7.19.4",
2194
- "8.8.1-jdk11",
2182
+ "7.19.0",
2183
+ "8.3.0-ubuntu-jdk11",
2184
+ "7.19.14",
2185
+ "9.0.2",
2195
2186
  "7.19.0-jdk11",
2196
- "8.5-ubuntu-jdk17",
2197
- "8.9.5-jdk11",
2187
+ "8.9.2-ubuntu-jdk17",
2198
2188
  "7.19.0-ubuntu-jdk11",
2199
- "8.5.17-jdk17",
2200
- "8.5.10",
2201
- "8.4.0-jdk11",
2202
- "8.5.14-ubuntu-jdk11",
2203
- "8.7.2-ubuntu-jdk17",
2204
- "8.7.2-jdk17",
2205
- "7.19.4-jdk11",
2206
- "8.7-ubuntu-jdk17",
2207
- "8.6.0-ubuntu-jdk11",
2208
- "8.8.1-ubuntu-jdk11",
2189
+ "8.5-jdk17",
2190
+ "8.7.2",
2191
+ "7.19.3-ubuntu-jdk11",
2192
+ "7.19.4",
2193
+ "7.19.2",
2194
+ "8.9.2",
2195
+ "8.3.1-jdk11",
2209
2196
  "8.5.7",
2197
+ "8.5.7-ubuntu-jdk17",
2210
2198
  "8.8-jdk11",
2211
- "8.7.2",
2212
- "7.19.26-jdk11",
2213
- "8.7",
2214
- "8.9.5-ubuntu-jdk11",
2215
- "7.19.26",
2216
- "7.19.4-ubuntu-jdk11",
2217
- "8.4.3-jdk17",
2218
- "7.19.0",
2219
- "7.19.26-ubuntu-jdk11",
2220
- "8.7-jdk17",
2221
- "8.5.7-jdk17",
2222
- "8.5.14-jdk11",
2199
+ "8.5.9-jdk11",
2223
2200
  "8.3.1-ubuntu-jdk11",
2224
- "8.9.3-jdk17",
2225
- "8.0.3",
2226
- "8.0.3-ubuntu-jdk11",
2227
- "7.20.1-ubuntu-jdk11",
2228
- "8.5.0-jdk11",
2229
- "8.4.3",
2230
2201
  "8.4.3-ubuntu-jdk17",
2231
- "8.9.3",
2232
- "8.5.7-ubuntu-jdk17",
2233
- "7.20.1-jdk11",
2234
- "7.20.1",
2235
- "8.3.1-jdk11",
2236
- "8.4.1-ubuntu-jdk11",
2237
- "8.2.0",
2202
+ "8.4.3",
2203
+ "8.3.0-jdk11",
2204
+ "7.19.2-jdk11",
2205
+ "8.4-jdk11",
2206
+ "8.0.2",
2207
+ "8.5.11-ubuntu-jdk17",
2208
+ "8.8-ubuntu-jdk11",
2209
+ "8.7-jdk17",
2210
+ "8.7-ubuntu-jdk17",
2211
+ "8.8.1-ubuntu-jdk11",
2212
+ "8.0.3",
2213
+ "8.5.3-jdk11",
2214
+ "8.0.2-jdk11",
2215
+ "8.5.11",
2216
+ "9.0.2-ubuntu-jdk17",
2217
+ "8.0.3-jdk11",
2218
+ "8.8.1-jdk11",
2219
+ "8.6.0-jdk11",
2220
+ "8.6.0-ubuntu-jdk11",
2221
+ "8.5.11-jdk17",
2238
2222
  "8.2.0-jdk11",
2239
- "8.5.4-ubuntu-jdk11",
2240
- "8.4.1-jdk11",
2241
2223
  "8.9.3-ubuntu-jdk17",
2242
- "7.19.20-ubuntu-jdk11",
2243
- "8.3.2",
2244
- "8.2.0-ubuntu-jdk11",
2245
- "8.3.2-ubuntu-jdk17",
2246
- "8.5.0-ubuntu-jdk11",
2247
- "8.0.3-jdk11",
2224
+ "8.5.8",
2225
+ "8.4.1-jdk11",
2226
+ "8.5.8-ubuntu-jdk17",
2227
+ "8.2.0",
2228
+ "8.5.3-ubuntu-jdk11",
2229
+ "8.9.6-ubuntu-jdk11",
2230
+ "8.4.1-ubuntu-jdk11",
2231
+ "9.0-jdk17",
2232
+ "7.19.15-ubuntu-jdk11",
2248
2233
  "8.5.4-jdk11",
2249
- "8.3.2-jdk17",
2250
- "9.0.1-ubuntu-jdk21",
2234
+ "9.0.3",
2235
+ "8.3.2-ubuntu-jdk17",
2236
+ "8.2.0-ubuntu-jdk11",
2251
2237
  "7.19.15-jdk11",
2252
2238
  "9.0.1-jdk21",
2253
- "7.19.1-ubuntu-jdk11",
2254
- "8.5.11-ubuntu-jdk17",
2255
- "7.19.20-jdk11",
2256
- "7.19.20",
2257
- "9.0.3",
2239
+ "8.5.4-ubuntu-jdk11",
2258
2240
  "7.19.15",
2259
- "7.19.15-ubuntu-jdk11",
2241
+ "8.5.8-jdk17",
2242
+ "9.0.2-ubi9",
2243
+ "8.2.1",
2244
+ "7.19.20",
2245
+ "8.3.3-ubuntu-jdk17",
2246
+ "7.20.1",
2247
+ "8.5.2",
2248
+ "9.0",
2260
2249
  "7.19.1-jdk11",
2261
- "8.5.11-jdk17",
2262
2250
  "9.0.3-jdk17",
2251
+ "8.5.2-ubuntu-jdk17",
2252
+ "9.0.1-ubuntu-jdk21",
2253
+ "7.20.1-ubuntu-jdk11",
2263
2254
  "7.19.1",
2264
- "8.3.2-ubuntu-jdk11",
2265
- "7.19.5",
2266
- "7.19.27-jdk11",
2267
- "7.19.27",
2268
- "9.0-ubuntu-jdk17",
2269
- "8.5.11",
2270
- "7.19.5-ubuntu-jdk11",
2271
- "7.19.27-ubuntu-jdk11",
2272
- "9.0",
2273
- "9.0.2-ubi9-jdk17",
2274
- "9.0.3-ubuntu-jdk17",
2275
- "8.5.2",
2276
- "9.0-jdk17",
2277
2255
  "8.9.6-jdk11",
2256
+ "9.0.3-ubuntu-jdk17",
2257
+ "8.3.2",
2278
2258
  "8.5.2-jdk17",
2279
- "7.19.5-jdk11",
2259
+ "7.19.1-ubuntu-jdk11",
2260
+ "8.5.0-jdk11",
2261
+ "8.3.2-jdk17",
2262
+ "7.19.20-ubuntu-jdk11",
2263
+ "9.0-ubuntu-jdk17",
2280
2264
  "8.5.15-ubuntu-jdk11",
2281
- "8.5.2-ubuntu-jdk17",
2282
- "8.9.6-ubuntu-jdk11",
2283
- "8.3.2-jdk11",
2284
- "9.0.2-ubi9",
2285
- "8.5.8",
2286
- "8.5.8-ubuntu-jdk17",
2265
+ "8.5.12",
2266
+ "8.9.0-jdk11",
2267
+ "8.5.1-ubuntu-jdk11",
2268
+ "8.9.2-ubi9",
2269
+ "8.5.3-jdk17",
2270
+ "8.9.6-ubi9",
2271
+ "7.20.1-jdk11",
2287
2272
  "8.6.1-ubuntu-jdk11",
2288
- "8.6.1-ubi9",
2289
- "8.5.8-jdk17",
2290
- "8.4.4-jdk17",
2291
- "8.5.15-jdk11",
2273
+ "7.20.2-jdk11",
2274
+ "8.5.0-ubuntu-jdk11",
2275
+ "8.4.4-ubuntu-jdk17",
2276
+ "8.9.2-ubi9-jdk17",
2277
+ "8.9.3",
2278
+ "7.19.5-jdk11",
2279
+ "7.19.5-ubuntu-jdk11",
2280
+ "7.19.27",
2281
+ "7.19.5",
2282
+ "8.5.10-ubi9-jdk17",
2283
+ "7.19.20-jdk11",
2292
2284
  "8.8.0-jdk17",
2285
+ "8.5.15-jdk11",
2293
2286
  "8.8.0",
2287
+ "8.2.1-jdk11",
2288
+ "7.19.27-ubuntu-jdk11",
2289
+ "8.8.0-ubi9-jdk17",
2290
+ "8.0",
2294
2291
  "8.6.1-jdk11",
2295
- "8.6.1-ubi9-jdk17",
2292
+ "7.19.27-jdk11",
2293
+ "7.20.2",
2294
+ "8.9.3-jdk17",
2295
+ "8.3.2-jdk11",
2296
+ "8.8.0-ubi9",
2297
+ "9.0.2-ubi9-jdk17",
2298
+ "8.2.1-ubuntu-jdk11",
2299
+ "8.3.2-ubuntu-jdk11",
2296
2300
  "8.8.0-ubuntu-jdk17",
2297
2301
  "8.4.4",
2298
- "8.4.4-ubuntu-jdk17",
2299
- "8.9.0-jdk11",
2300
- "8.9.0-ubuntu-jdk11",
2301
- "8.0-ubuntu-jdk11",
2302
- "7.20.2",
2302
+ "8.3.3",
2303
2303
  "8.0-jdk11",
2304
- "8.0.4-jdk11",
2305
2304
  "8.3.3-jdk17",
2306
- "8.0.4-ubuntu-jdk11",
2305
+ "8.6.1-ubi9-jdk17",
2306
+ "8.0.4-jdk11",
2307
+ "8.5.9-jdk17",
2307
2308
  "8.0.4",
2308
- "8.5.1-ubuntu-jdk11",
2309
- "8.9.4-jdk17",
2310
- "8.9.4",
2311
- "8.0",
2312
- "8.9.4-ubuntu-jdk17",
2309
+ "8.4.4-jdk17",
2310
+ "7.19.6",
2311
+ "7.19.6-jdk11",
2312
+ "7.20.2-ubuntu-jdk11",
2313
+ "9.0.3-ubi9",
2314
+ "8.5.12-jdk17",
2315
+ "8.5.12-ubuntu-jdk17",
2316
+ "8.8.1-ubuntu-jdk17",
2317
+ "8.0-ubuntu-jdk11",
2318
+ "8.8-jdk17",
2313
2319
  "8.9.6-ubi9-jdk17",
2314
- "8.9.6-ubi9",
2315
- "8.8.0-ubi9-jdk17",
2316
- "8.4.2-jdk11",
2317
- "8.3.3-ubuntu-jdk17",
2318
- "8.3.3",
2319
- "7.19.16-ubuntu-jdk11",
2320
- "8.8.0-ubi9",
2321
- "7.19.10-ubuntu-jdk11",
2322
- "8.5.15-ubi9",
2320
+ "8.9.0-ubuntu-jdk11",
2321
+ "8.5.9",
2322
+ "8.0.4-ubuntu-jdk11",
2323
2323
  "8.5.1-jdk11",
2324
- "8.2.1",
2325
- "7.20.2-jdk11",
2326
- "7.20.2-ubuntu-jdk11",
2327
- "8.5.5-jdk11",
2324
+ "8.5.15-ubi9",
2328
2325
  "8.5.15-ubi9-jdk17",
2329
- "8.2.1-ubuntu-jdk11",
2330
- "8.2.1-jdk11",
2326
+ "8.2.2-ubuntu-jdk11",
2331
2327
  "7.19.21-ubuntu-jdk11",
2332
- "8.4.2-ubuntu-jdk11",
2333
- "8.9.2-ubi9-jdk17",
2334
- "8.5.12-jdk17",
2335
2328
  "7.19.10",
2336
- "8.5.9-jdk17",
2337
- "7.19.10-jdk11",
2329
+ "8.6.1-ubi9",
2330
+ "7.19.16-ubuntu-jdk11",
2331
+ "8.4.2-ubuntu-jdk11",
2332
+ "8.5.10-ubi9",
2333
+ "8.5.3-ubuntu-jdk17",
2334
+ "8.5.5-jdk11",
2335
+ "8.4.2-jdk11",
2336
+ "8.5.9-ubuntu-jdk17",
2337
+ "8.6-ubuntu-jdk11",
2338
+ "9.1.0-jdk17",
2339
+ "8.3.3-jdk11",
2340
+ "7.19.16",
2338
2341
  "7.19.16-jdk11",
2342
+ "7.19.10-ubuntu-jdk11",
2339
2343
  "8.5.5-ubuntu-jdk11",
2340
- "7.19.6",
2341
- "7.19.21-jdk11",
2342
- "7.19.6-jdk11",
2344
+ "8.2.2-ubuntu-jdk17",
2343
2345
  "8.5.3",
2344
- "8.5.12",
2345
- "7.19.6-ubuntu-jdk11",
2346
- "8.5.12-ubuntu-jdk17",
2347
- "8.5.9-ubuntu-jdk17",
2348
- "7.19.16",
2346
+ "7.19.10-jdk11",
2347
+ "8.2.2-jdk17",
2349
2348
  "7.19.21",
2350
- "8.5.3-jdk17",
2351
- "8.5.3-ubuntu-jdk17",
2352
- "8.9.2-ubi9",
2353
- "8.5.16-jdk11",
2354
- "8.5.16-ubuntu-jdk11",
2355
- "8.6-jdk11",
2356
- "8.3.3-ubuntu-jdk11",
2357
- "8.5.9",
2358
- "9.1.0",
2359
- "8.3.3-jdk11",
2360
- "8.6.2-jdk11",
2349
+ "8.9.7-jdk11",
2350
+ "7.19.21-jdk11",
2351
+ "8.5.7-ubi9",
2361
2352
  "9.1.0-ubuntu-jdk17",
2362
- "8.6-ubuntu-jdk11",
2363
- "8.6.2-ubuntu-jdk11",
2364
- "9.1.0-jdk17",
2365
- "8.6.2-ubi9-jdk17",
2353
+ "9.1.0",
2354
+ "8.9.7-ubuntu-jdk11",
2355
+ "9.0.3-ubi9-jdk17",
2356
+ "8.9.4-jdk17",
2357
+ "8.0.3-jdk17",
2358
+ "8.1.3-jdk17",
2359
+ "8.9.4-ubuntu-jdk17",
2360
+ "8.9.4",
2361
+ "8.5.14-jdk17",
2362
+ "7.19.6-ubuntu-jdk11",
2366
2363
  "9.0.3-ubi9-jdk21",
2367
- "8.9.7-jdk11",
2364
+ "8.0.3-ubuntu-jdk17",
2365
+ "8.8.1",
2368
2366
  "8.1.3-ubuntu-jdk17",
2369
- "7.19.28-ubuntu-jdk11",
2370
- "7.19.28-jdk11",
2371
- "8.9.1-jdk11",
2372
- "8.5.10-ubi9-jdk17",
2367
+ "8.5.16-jdk11",
2373
2368
  "9.0.2-jdk21",
2374
- "7.19.28",
2375
- "8.5.10-ubi9",
2376
- "8.9.7-ubuntu-jdk11",
2377
- "9.0.2-ubuntu-jdk21",
2378
- "8.2.2-ubuntu-jdk17",
2379
- "8.2.2-jdk17",
2380
- "8.6.2-ubi9",
2381
- "8.9.1-ubuntu-jdk11",
2382
- "8.5.7-ubi9-jdk17",
2383
2369
  "8.8-ubuntu-jdk17",
2384
- "8.8.1-jdk17",
2385
- "8.8.1-ubuntu-jdk17",
2386
- "8.1.3-jdk17",
2387
- "8.5.7-ubi9",
2388
- "8.8.1",
2389
- "8.3.4-ubuntu-jdk17",
2390
- "8.4.5-jdk17",
2391
- "8.3.4",
2392
- "8.0.3-ubuntu-jdk17",
2393
- "8.8",
2394
- "9.0.3-ubi9-jdk17",
2395
- "8.5.10-ubuntu-jdk11",
2396
- "8.8-jdk17",
2397
- "8.9.5-jdk17",
2370
+ "7.19.28-jdk11",
2398
2371
  "8.4.3-jdk11",
2399
- "9.0.3-ubi9",
2400
- "8.5.16-ubi9-jdk17",
2401
- "8.3-jdk17",
2402
- "8.3.4-jdk17",
2372
+ "8.3.3-ubuntu-jdk11",
2373
+ "7.19.28-ubuntu-jdk11",
2374
+ "8.8",
2375
+ "8.6.2-ubuntu-jdk11",
2376
+ "8.9.3-ubi9",
2377
+ "8.5.7-ubi9-jdk17",
2378
+ "8.9.3-ubi9-jdk17",
2403
2379
  "8.2.2-jdk11",
2380
+ "9.0.2-ubuntu-jdk21",
2381
+ "8.6-jdk11",
2382
+ "8.2.0-jdk17",
2383
+ "8.4.3-ubuntu-jdk11",
2384
+ "8.8.1-jdk17",
2385
+ "8.5.16-ubuntu-jdk11",
2386
+ "8.1.0-jdk17",
2404
2387
  "8.4.5",
2388
+ "8.4-ubuntu-jdk17",
2389
+ "8.4",
2390
+ "8.2.2",
2391
+ "7.19.28",
2405
2392
  "8.4-jdk17",
2393
+ "8.9.1-jdk11",
2394
+ "8.3.4",
2395
+ "8.9.5-ubuntu-jdk17",
2396
+ "8.8.1-ubi9-jdk17",
2397
+ "8.3.4-jdk17",
2398
+ "8.5.16-ubi9-jdk17",
2399
+ "8.6.2-jdk11",
2400
+ "8.8.1-ubi9",
2406
2401
  "8.5.16-ubi9",
2407
- "7.20",
2408
- "7-ubuntu-jdk11",
2409
- "8.3",
2410
2402
  "8.3-ubuntu-jdk17",
2411
- "8.4-ubuntu-jdk17",
2412
- "8.4",
2413
- "7.20-jdk11",
2414
2403
  "8.4.5-ubuntu-jdk17",
2404
+ "8.3.4-ubuntu-jdk17",
2405
+ "8.6.0",
2406
+ "7.19.11",
2407
+ "7.19.17",
2408
+ "8.4.5-jdk17",
2409
+ "8.6.0-ubuntu-jdk17",
2410
+ "8.6.2-ubi9-jdk17",
2411
+ "7-ubuntu-jdk11",
2412
+ "7.20",
2413
+ "7-jdk11",
2415
2414
  "7.20.3-ubuntu-jdk11",
2416
- "8.5.14-jdk17",
2417
- "8.0.3-jdk17",
2418
- "8.5.4",
2419
- "7.20.3",
2420
- "7.20-ubuntu-jdk11",
2421
2415
  "8.5.10-jdk11",
2422
- "8.2.2",
2423
- "8.5.4-ubuntu-jdk17",
2424
- "7-jdk11",
2416
+ "7.20-jdk11",
2417
+ "8.3",
2418
+ "8.9.7-ubi9-jdk17",
2425
2419
  "8.9.5",
2426
- "8.5.6-jdk11",
2427
- "8.5.6-ubuntu-jdk11",
2428
- "8.5.14",
2429
- "8.9.5-ubuntu-jdk17",
2420
+ "8.3-jdk17",
2421
+ "8.6.0-jdk17",
2430
2422
  "7.20.3-jdk11",
2431
- "8.5.14-ubuntu-jdk17",
2432
- "8.4.3-ubuntu-jdk11",
2433
- "8.5.4-jdk17",
2434
- "8.1.0-jdk17",
2423
+ "8.5.10-ubuntu-jdk11",
2435
2424
  "8.2.0-ubuntu-jdk17",
2436
- "7.19.22",
2437
- "8.9.7-ubi9",
2438
- "7.19.22-ubuntu-jdk11",
2439
- "8.9.7-ubi9-jdk17",
2440
- "7.19.11-ubuntu-jdk11",
2441
- "8.1.0-jdk11",
2425
+ "8.5.14",
2426
+ "8.6.2-ubi9",
2427
+ "7.19.7-jdk11",
2428
+ "7",
2429
+ "7.20.3",
2430
+ "7.19.17-ubuntu-jdk11",
2442
2431
  "7.19.17-jdk11",
2443
- "8.8.1-ubi9-jdk17",
2444
- "8.9.3-ubi9",
2445
- "8.1.0-ubuntu-jdk11",
2446
- "8.1.0-ubuntu-jdk17",
2432
+ "8.5.4-jdk17",
2433
+ "8.5.4-ubuntu-jdk17",
2447
2434
  "7.19.11-jdk11",
2448
- "8.2.0-jdk17",
2449
- "8.9.3-ubi9-jdk17",
2450
- "7.19.11",
2451
- "7",
2452
- "8.1.0",
2453
- "8.2.2-ubuntu-jdk11",
2454
- "latest",
2455
- "8.6.0-jdk17",
2456
- "7.19.7",
2457
- "8.6.0-ubuntu-jdk17",
2435
+ "8.1.0-ubuntu-jdk17",
2436
+ "7.20-ubuntu-jdk11",
2437
+ "8.9.1-ubuntu-jdk11",
2438
+ "8.1.0-jdk11",
2439
+ "8.5.14-ubuntu-jdk17",
2440
+ "7.19.22-ubuntu-jdk11",
2441
+ "8.9.7-ubi9",
2458
2442
  "7.19.22-jdk11",
2459
- "8.3.4-ubuntu-jdk11",
2460
- "7.19.17",
2461
- "8.6.0",
2462
- "7.19.17-ubuntu-jdk11",
2463
- "7.19.29",
2464
- "7.19",
2465
- "8.3.4-jdk11",
2466
- "8.3-jdk11",
2467
- "8.1.4-jdk17",
2468
- "8.5.17-ubuntu-jdk11",
2469
- "8.5.17-jdk11",
2470
- "8.8.1-ubi9",
2471
- "7.19.29-ubuntu-jdk11",
2472
- "8.1-ubuntu-jdk17",
2473
- "7.19-jdk11",
2474
- "8.9-jdk11",
2443
+ "7.19.22",
2444
+ "7.19.11-ubuntu-jdk11",
2475
2445
  "8.5-ubuntu-jdk11",
2476
- "9.1-jdk17",
2446
+ "7.19.7",
2447
+ "8.5.6-jdk11",
2448
+ "8.5.4",
2449
+ "8.5.6-ubuntu-jdk11",
2450
+ "8.3.4-jdk11",
2451
+ "ubuntu-jdk21",
2452
+ "8.1.0-ubuntu-jdk11",
2453
+ "8.5.11-ubi9",
2454
+ "latest",
2455
+ "8.1.0",
2477
2456
  "7.19.7-ubuntu-jdk11",
2478
- "7.19.29-jdk11",
2479
- "7.19-ubuntu-jdk11",
2480
- "8.5-jdk11",
2481
- "8.1-jdk17",
2482
- "9.0-ubuntu-jdk21",
2483
- "9.0-jdk21",
2484
- "8.9.8-jdk11",
2485
- "8-jdk11",
2486
- "9.1.1",
2487
- "8.3-ubuntu-jdk11",
2488
- "8.9.2-jdk11",
2489
- "8.1.4-ubuntu-jdk17",
2490
- "7.19.7-jdk11",
2491
- "8.9.2-ubuntu-jdk11",
2492
- "8.9.8-ubuntu-jdk11",
2493
- "9.0.3-ubuntu-jdk21",
2494
- "9-jdk17",
2457
+ "8.3.4-ubuntu-jdk11",
2458
+ "9",
2459
+ "9.0.3-jdk21",
2460
+ "8.9.5-jdk17",
2461
+ "8.2.3",
2495
2462
  "8.5.11-ubi9-jdk17",
2496
- "8.5.8-ubi9-jdk17",
2497
- "8.5.11-ubi9",
2463
+ "8.9-jdk11",
2498
2464
  "8-ubuntu-jdk11",
2465
+ "8-jdk11",
2466
+ "7.19-jdk11",
2499
2467
  "8.9-ubuntu-jdk11",
2500
- "8.2.3",
2468
+ "8.5.8-ubi9-jdk17",
2469
+ "jdk17",
2501
2470
  "9.1.1-ubuntu-jdk17",
2502
- "ubuntu-jdk21",
2503
- "8.5.8-ubi9",
2471
+ "8.5.17-jdk11",
2472
+ "8.9.8-ubuntu-jdk11",
2504
2473
  "8.2.3-ubuntu-jdk17",
2505
- "9-ubuntu-jdk17",
2506
- "9-jdk21",
2507
- "9.1.1-jdk17",
2508
- "jdk17",
2509
- "9-ubuntu-jdk21",
2474
+ "8.2.3-ubuntu-jdk11",
2475
+ "8.1.4-ubuntu-jdk17",
2476
+ "8.1.4-jdk17",
2477
+ "8.9.8-jdk11",
2478
+ "8.2.3-jdk17",
2479
+ "7.19.29-jdk11",
2480
+ "9-jdk17",
2481
+ "9.1-ubuntu-jdk21",
2482
+ "8.0-jdk17",
2510
2483
  "9.1-ubuntu-jdk17",
2511
- "ubuntu-jdk17",
2512
- "jdk21",
2484
+ "8.5-jdk11",
2485
+ "8.5.17-ubuntu-jdk11",
2513
2486
  "9.1.1-jdk21",
2514
- "8.2-jdk17",
2487
+ "8.3-ubuntu-jdk11",
2488
+ "9-jdk21",
2489
+ "7.19.29",
2490
+ "9-ubuntu-jdk21",
2515
2491
  "9.1",
2492
+ "jdk21",
2493
+ "7.19-ubuntu-jdk11",
2494
+ "8.9.0",
2495
+ "9.0-ubuntu-jdk21",
2496
+ "7.19",
2516
2497
  "9.1-jdk21",
2517
- "9",
2518
- "9.1-ubuntu-jdk21",
2519
- "8.0.4-jdk17",
2520
- "8.0-jdk17",
2521
- "9.1.1-ubuntu-jdk21",
2522
- "9.0.3-jdk21",
2523
- "8.2.3-jdk17",
2524
- "8.7.1-ubi9-jdk17",
2525
2498
  "8.2.3-jdk11",
2526
- "8.4.4-ubuntu-jdk11",
2499
+ "8.2-jdk17",
2500
+ "8.2-jdk11",
2501
+ "9.1.1-ubuntu-jdk21",
2502
+ "9.0-jdk21",
2527
2503
  "8.2-ubuntu-jdk11",
2528
- "9.1.0-jdk21",
2529
- "8.2-ubuntu-jdk17",
2530
- "8.9.6",
2531
- "7.19.23-ubuntu-jdk11",
2532
- "8.9.0",
2533
- "8.7.1-ubi9",
2534
- "8.5.7-jdk11",
2504
+ "8.3-jdk11",
2505
+ "ubuntu-jdk17",
2506
+ "9-ubuntu-jdk17",
2507
+ "7.19.29-ubuntu-jdk11",
2508
+ "8.2",
2509
+ "9.1-jdk17",
2510
+ "9.1.1-jdk17",
2535
2511
  "8.0.4-ubuntu-jdk17",
2536
- "8.2-jdk11",
2512
+ "9.1.1",
2513
+ "9.0.3-ubuntu-jdk21",
2514
+ "8.5.8-ubi9",
2537
2515
  "8.0-ubuntu-jdk17",
2538
- "8.2.3-ubuntu-jdk11",
2539
- "7.19.12",
2540
- "8.2",
2541
- "8.5.7-ubuntu-jdk11",
2516
+ "8.9.2-jdk11",
2517
+ "8.2-ubuntu-jdk17",
2542
2518
  "8.9.0-jdk17",
2543
- "7.19.12-ubuntu-jdk11",
2544
- "8.9.6-jdk17",
2545
- "7.19.12-jdk11",
2546
- "8.7.1-ubuntu-jdk11",
2547
- "8.4.4-jdk11",
2519
+ "8.1-jdk17",
2520
+ "8.0.4-jdk17",
2521
+ "8.6.1-jdk17",
2522
+ "8.1-ubuntu-jdk17",
2523
+ "8.6.1",
2524
+ "8.5.11-jdk11",
2525
+ "9.1.0-ubuntu-jdk21",
2526
+ "8.6.1-ubuntu-jdk17",
2548
2527
  "8.5.15",
2549
- "8.9.8-ubi9",
2550
- "8.5.0",
2528
+ "8.9.4-ubi9",
2529
+ "8.5.17-ubi9-jdk17",
2530
+ "9.1.0-ubi9-jdk17",
2531
+ "9.0.1-ubi9",
2532
+ "7.19.23-ubuntu-jdk11",
2533
+ "8.0.0-jdk11",
2534
+ "8.7.1-jdk11",
2535
+ "8.9.4-ubi9-jdk17",
2536
+ "8.7.1-ubuntu-jdk11",
2537
+ "8.1.1",
2538
+ "7.19.18-ubuntu-jdk11",
2539
+ "7.19.18",
2551
2540
  "9.1.0-ubi9-jdk21",
2552
- "9.1.0-ubi9",
2553
- "8.5.15-jdk17",
2554
- "8.9.6-ubuntu-jdk17",
2541
+ "8.5.17-ubi9",
2542
+ "8.1.1-ubuntu-jdk11",
2555
2543
  "7.19.23-jdk11",
2556
- "8.9.0-ubuntu-jdk17",
2557
- "7.19.18",
2558
- "9.1.0-ubuntu-jdk21",
2559
- "7.19.8-jdk11",
2544
+ "7.19.12",
2545
+ "8.1.1-jdk11",
2560
2546
  "7.19.23",
2561
- "8.5.5-jdk17",
2562
- "8.5.0-jdk17",
2547
+ "8.0.1-jdk17",
2563
2548
  "8.5.15-ubuntu-jdk17",
2564
- "9.1.0-ubi9-jdk17",
2565
- "8.7.1-jdk11",
2566
- "8.0.2-ubuntu-jdk17",
2567
- "8.5.5-ubuntu-jdk17",
2549
+ "8.9.2-ubuntu-jdk11",
2550
+ "8.5.0",
2551
+ "9.1.0-ubi9",
2552
+ "8.5.15-jdk17",
2553
+ "9.1.0-jdk21",
2554
+ "8.9.0-ubuntu-jdk17",
2555
+ "8.4.4-jdk11",
2556
+ "7.19.8",
2557
+ "8.0.1-ubuntu-jdk17",
2558
+ "7.19.12-jdk11",
2559
+ "7.19.12-ubuntu-jdk11",
2560
+ "8.2.1-jdk17",
2568
2561
  "8.5.11-ubuntu-jdk11",
2562
+ "8.2.1-ubuntu-jdk17",
2563
+ "8.0.0-ubuntu-jdk11",
2569
2564
  "8.9.8-ubi9-jdk17",
2565
+ "9.0.1-ubi9-jdk21",
2566
+ "8.0.0-ubuntu-jdk17",
2567
+ "8.5.7-ubuntu-jdk11",
2568
+ "8.0.0",
2569
+ "8.4.4-ubuntu-jdk11",
2570
+ "8.5.0-ubuntu-jdk17",
2571
+ "8.9.0-ubi9-jdk17",
2570
2572
  "7.19.18-jdk11",
2571
- "8.0.0-jdk11",
2572
- "8.5.11-jdk11",
2573
+ "8.4.0-jdk17",
2574
+ "8.5.5-jdk17",
2573
2575
  "8.4.0",
2574
- "8.1.1-jdk11",
2575
- "8.5.17-ubi9-jdk17",
2576
- "8.0.0-ubuntu-jdk11",
2577
- "8.1.1",
2578
- "8.5.0-ubuntu-jdk17",
2579
- "8.5.5",
2580
- "8.1.1-ubuntu-jdk17",
2581
- "7.19.18-ubuntu-jdk11",
2582
- "8.6.1-jdk17",
2583
- "8.1.1-ubuntu-jdk11",
2584
- "8.5.17-ubi9",
2576
+ "8.5.0-jdk17",
2577
+ "8.5.5-ubuntu-jdk17",
2578
+ "8.7.1-ubi9-jdk17",
2579
+ "8.0.2-ubuntu-jdk17",
2585
2580
  "8.0.2-jdk17",
2586
- "8.1.1-jdk17",
2587
- "8.2.1-ubuntu-jdk17",
2588
- "8.0.0",
2589
- "7.19.8",
2581
+ "8.0.0-jdk17",
2590
2582
  "7.19.8-ubuntu-jdk11",
2583
+ "8.5.7-jdk11",
2584
+ "8.1.1-jdk17",
2591
2585
  "8.4.0-ubuntu-jdk17",
2592
- "8.4.0-jdk17",
2593
- "8.6.1-ubuntu-jdk17",
2594
- "8.6.1",
2595
- "8.2.1-jdk17",
2596
- "8.0.0-ubuntu-jdk17",
2597
- "8.9.4-ubi9",
2598
- "8.0.0-jdk17",
2599
- "8.0.1-ubuntu-jdk17",
2600
- "8.0.1-jdk17",
2601
- "8.9.4-ubi9-jdk17",
2602
- "8.5.9-ubi9",
2603
- "9.0.1-ubi9-jdk21",
2586
+ "7.19.8-jdk11",
2604
2587
  "8.5.12-ubi9-jdk17",
2588
+ "8.1.1-ubuntu-jdk17",
2589
+ "8.5.5",
2605
2590
  "8.5.12-ubi9",
2606
- "9.0.1-ubi9",
2607
- "8.5.9-ubi9-jdk17",
2608
- "8.9.0-ubi9-jdk17",
2609
- "8.9.0-ubi9",
2610
- "ubi9-jdk17",
2591
+ "8.9.6-ubuntu-jdk17",
2592
+ "8.9.8-ubi9",
2593
+ "8.5.9-ubi9",
2611
2594
  "9.1.1-ubi9-jdk17",
2595
+ "8.9.6",
2612
2596
  "9.1.1-ubi9-jdk21",
2613
- "8.7.2-ubi9",
2614
2597
  "9.1.1-ubi9",
2615
- "ubi9",
2598
+ "8.7.1-ubi9",
2599
+ "8.9.6-jdk17",
2600
+ "8.9.0-ubi9",
2616
2601
  "ubi9-jdk21",
2617
- "8.7.2-ubi9-jdk17",
2618
- "8.9.5-ubi9-jdk17",
2619
2602
  "8.9.5-ubi9",
2620
- "8.9.1-ubi9",
2603
+ "8.5.9-ubi9-jdk17",
2604
+ "9.0.2-ubi9-jdk21",
2605
+ "8.7.2-ubi9",
2606
+ "8.9.5-ubi9-jdk17",
2607
+ "ubi9",
2608
+ "ubi9-jdk17",
2621
2609
  "8.5.6-ubi9-jdk17",
2622
- "8.9.1-ubi9-jdk17",
2623
- "8.6.0-ubi9-jdk17",
2624
- "8.5.6-ubi9",
2610
+ "8.7.2-ubi9-jdk17",
2625
2611
  "8.5.14-ubi9",
2612
+ "8.5.14-ubi9-jdk17",
2613
+ "8.6.0-ubi9-jdk17",
2626
2614
  "9.0.1-ubi9-jdk17",
2615
+ "8.9.1-ubi9-jdk17",
2616
+ "8.9.1-ubi9",
2617
+ "8.5.6-ubi9",
2627
2618
  "8.6.0-ubi9",
2628
- "9.0.2-ubi9-jdk21",
2629
- "8.5.14-ubi9-jdk17",
2619
+ "9.2.0-beta3-ubuntu-jdk17",
2620
+ "9.2.0-beta3-jdk17",
2621
+ "eap-ubuntu-jdk17",
2622
+ "eap",
2623
+ "9.2.0-beta3",
2624
+ "eap-jdk17",
2625
+ "9.2.0-beta3-jdk21",
2626
+ "9.2.0-beta3-ubuntu-jdk21",
2627
+ "9.2.0-beta3-ubi9",
2628
+ "9.2.0-beta3-ubi9-jdk21",
2629
+ "9.2.0-beta3-ubi9-jdk17",
2630
2630
  "9.2.0-beta2-ubuntu-jdk21",
2631
2631
  "9.2.0-beta2-jdk21",
2632
2632
  "9.2.0-beta2-jdk17",
@@ -9101,7 +9101,8 @@ class Base {
9101
9101
  log: false
9102
9102
  });
9103
9103
  return result.data.services.find(item => {
9104
- const [, service] = item.name.split('-');
9104
+ const parts = item.name.split('-');
9105
+ const service = parts[parts.length - 2];
9105
9106
  return service === this.options.name;
9106
9107
  });
9107
9108
  }
@@ -9318,4 +9319,4 @@ process.on('SIGINT', () => {
9318
9319
  console.log(`Received term signal, trying to stop gracefully 💪`);
9319
9320
  gracefulExit();
9320
9321
  });
9321
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VzIjpbIi4uLy4uL2Rpc3Qvc3JjL2hlbHBlcnMvQWN0aW9uSGFuZGxlci5qcyIsIi4uLy4uL2Rpc3Qvc3JjL3R5cGVzL0RhdGFiYXNlLmpzIiwiLi4vLi4vZGlzdC9zcmMvaGVscGVycy9uZXR3b3JrLmpzIiwiLi4vLi4vZGlzdC9zcmMvZGF0YWJhc2VzL2Jhc2UuanMiLCIuLi8uLi9kaXN0L3NyYy9kYXRhYmFzZXMvbXNzcWwuanMiLCIuLi8uLi9kaXN0L3NyYy9kYXRhYmFzZXMvbXlzcWwuanMiLCIuLi8uLi9kaXN0L3NyYy9kYXRhYmFzZXMvcG9zdGdyZXMuanMiLCIuLi8uLi9kaXN0L3NyYy9oZWxwZXJzL2dldERhdGFiYXNlRW5naW5lLmpzIiwiLi4vLi4vZGlzdC9zcmMvaGVscGVycy90b0Fic29sdXRlUGF0aC5qcyIsIi4uLy4uL2Rpc3Qvc3JjL2hlbHBlcnMvZ2V0VmVyc2lvbnMuanMiLCIuLi8uLi9kaXN0L3NyYy9oZWxwZXJzL2dldFpvZERlZmF1bHRzLmpzIiwiLi4vLi4vZGlzdC9zcmMvY29tbWFuZHMvZGF0YWJhc2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXN5bmNFeGl0SG9vaywgZ3JhY2VmdWxFeGl0IH0gZnJvbSAnZXhpdC1ob29rJztcbmltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuZXhwb3J0IGNvbnN0IEFjdGlvbkhhbmRsZXIgPSBhc3luYyAocHJvZ3JhbSwgeyBhY3Rpb24sIGVycm9ySGFuZGxlciB9LCBvcHRpb25zKSA9PiB7XG4gICAgY29uc3Qgb3BzID0gb3B0aW9ucyB8fCBwcm9ncmFtLm9wdHMoKTtcbiAgICBhd2FpdCBuZXcgUHJvbWlzZSgoXywgcmVqZWN0KSA9PiB7XG4gICAgICAgIGxldCBlcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgICAgYXN5bmNFeGl0SG9vayhhc3luYyAoY29kZSkgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBpZiAoY29kZSAhPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCBlcnJvckhhbmRsZXIob3BzKS5jYXRjaCgoKSA9PiBudWxsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGVycm9yTWVzc2FnZSkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JNZXNzYWdlLnRyaW0oKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBXZSBhcmUgcmVqZWN0aW5nIHRoZSBwcm9taXNlIHRvIGF2b2lkIHRoZVxuICAgICAgICAgICAgICAgICAgICAvLyBcIkNhbGxpbmcgcHJvY2Vzcy5leGl0XCIgbG9nIG1lc3NhZ2UgZnJvbSBleGl0LWhvb2tcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KG51bGwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6IGVycjtcbiAgICAgICAgICAgICAgICByZWplY3QobWVzc2FnZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIHtcbiAgICAgICAgICAgIHdhaXQ6IDYwICogMSAqIDEwMDBcbiAgICAgICAgfSk7XG4gICAgICAgIGFjdGlvbihvcHMpLmNhdGNoKGVyciA9PiB7XG4gICAgICAgICAgICBpZiAoZXJyIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgICAgICAgICAgIGVyci5pc3N1ZXMuZm9yRWFjaChpc3N1ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGVycm9yTWVzc2FnZSArPSBgVW5hYmxlIHRvIHBhcnNlIG9wdGlvbiAke2lzc3VlLnBhdGguam9pbignLCcpfTogJHtpc3N1ZS5tZXNzYWdlfVxcbmA7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChlcnIgaW5zdGFuY2VvZiBFcnJvciB8fCB0eXBlb2YgZXJyID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGVycm9yTWVzc2FnZSA9IGVyci50b1N0cmluZygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZ3JhY2VmdWxFeGl0KDEpO1xuICAgICAgICB9KTtcbiAgICB9KS5jYXRjaChtZXNzYWdlID0+IHtcbiAgICAgICAgaWYgKG1lc3NhZ2UgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHByb2dyYW0uZXJyb3IobWVzc2FnZSk7XG4gICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyBlcnJvciBtZXNzYWdlLFxuICAgICAgICAgICAgLy8gd2UgY2FuIGFzc3VtZSBhIGNsZWFuIGV4aXRcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHByb2Nlc3MuZXhpdCgwKTtcbiAgICAgICAgfVxuICAgIH0pO1xufTtcbiIsImltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuaW1wb3J0IHZlcnNpb25zIGZyb20gJy4uLy4uL2Fzc2V0cy92ZXJzaW9ucy5qc29uJztcbmV4cG9ydCBjb25zdCBTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMgPSB6LmVudW0oW1xuICAgICdwb3N0Z3Jlc3FsJyxcbiAgICAnbXlzcWwnLFxuICAgICdtc3NxbCdcbl0pO1xuZXhwb3J0IGNvbnN0IFN1cHBvcnRlZE1TU1FMRWRpdGlvbnMgPSB6LmVudW0oW1xuICAgICdEZXZlbG9wZXInLFxuICAgICdFeHByZXNzJyxcbiAgICAnU3RhbmRhcmQnLFxuICAgICdFbnRlcnByaXNlJyxcbiAgICAnRW50ZXJwcmlzZUNvcmUnXG5dKTtcbmV4cG9ydCBjb25zdCBEYXRhYmFzZU9wdGlvbnMgPSB6Lm9iamVjdCh7XG4gICAgbmFtZTogU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLFxuICAgIHBvcnQ6IHoubnVtYmVyKCkub3Ioei5zdHJpbmcoKS50cmFuc2Zvcm0oTnVtYmVyKS5yZWZpbmUoaXRlbSA9PiAhaXNOYU4oaXRlbSkpKSxcbiAgICBkYXRhYmFzZTogei5zdHJpbmcoKS5kZWZhdWx0KCdkY2R4JyksXG4gICAgdXNlcm5hbWU6IHouc3RyaW5nKCkuZGVmYXVsdCgnZGNkeCcpLFxuICAgIHBhc3N3b3JkOiB6LnN0cmluZygpLmRlZmF1bHQoJ2RjZHgnKSxcbiAgICBjbGVhbjogei5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gICAgcHJ1bmU6IHouYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICAgIHZlcmJvc2U6IHouYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICAgIGRyaXZlcjogei5zdHJpbmcoKVxufSk7XG5leHBvcnQgY29uc3QgUG9zdGdyZVNRTE9wdGlvbnMgPSBEYXRhYmFzZU9wdGlvbnMuZXh0ZW5kKHtcbiAgICBuYW1lOiBTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMucmVmaW5lKGl0ZW0gPT4gaXRlbSA9PT0gU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLlZhbHVlcy5wb3N0Z3Jlc3FsKS5kZWZhdWx0KFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMucG9zdGdyZXNxbCksXG4gICAgdGFnOiB6LnN0cmluZygpLnJlZmluZShpdGVtID0+IHZlcnNpb25zW1N1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMucG9zdGdyZXNxbF0uaW5jbHVkZXMoaXRlbSkpLmRlZmF1bHQoJ2xhdGVzdCcpLFxuICAgIHBvcnQ6IHoubnVtYmVyKCkub3Ioei5zdHJpbmcoKS50cmFuc2Zvcm0oTnVtYmVyKS5yZWZpbmUoaXRlbSA9PiAhaXNOYU4oaXRlbSkpKS5kZWZhdWx0KDU0MzIpLFxuICAgIGRyaXZlcjogei5zdHJpbmcoKS5yZWZpbmUoaXRlbSA9PiBpdGVtID09PSAnb3JnLnBvc3RncmVzcWwuRHJpdmVyJykuZGVmYXVsdCgnb3JnLnBvc3RncmVzcWwuRHJpdmVyJylcbn0pO1xuZXhwb3J0IGNvbnN0IE15U1FMT3B0aW9ucyA9IERhdGFiYXNlT3B0aW9ucy5leHRlbmQoe1xuICAgIG5hbWU6IFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5yZWZpbmUoaXRlbSA9PiBpdGVtID09PSBTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMuVmFsdWVzLm15c3FsKS5kZWZhdWx0KFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMubXlzcWwpLFxuICAgIHRhZzogei5zdHJpbmcoKS5yZWZpbmUoaXRlbSA9PiB2ZXJzaW9uc1tTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMuVmFsdWVzLm15c3FsXS5pbmNsdWRlcyhpdGVtKSkuZGVmYXVsdCgnbGF0ZXN0JyksXG4gICAgcG9ydDogei5udW1iZXIoKS5vcih6LnN0cmluZygpLnRyYW5zZm9ybShOdW1iZXIpLnJlZmluZShpdGVtID0+ICFpc05hTihpdGVtKSkpLmRlZmF1bHQoMzMwNiksXG4gICAgZHJpdmVyOiB6LnN0cmluZygpLnJlZmluZShpdGVtID0+IGl0ZW0gPT09ICdjb20ubXlzcWwuamRiYy5Ecml2ZXInKS5kZWZhdWx0KCdjb20ubXlzcWwuamRiYy5Ecml2ZXInKVxufSk7XG5leHBvcnQgY29uc3QgTVNTUUxPcHRpb25zID0gRGF0YWJhc2VPcHRpb25zLmV4dGVuZCh7XG4gICAgbmFtZTogU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLnJlZmluZShpdGVtID0+IGl0ZW0gPT09IFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMubXNzcWwpLmRlZmF1bHQoU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLlZhbHVlcy5tc3NxbCksXG4gICAgdGFnOiB6LnN0cmluZygpLnJlZmluZShpdGVtID0+IHZlcnNpb25zW1N1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMubXNzcWxdLmluY2x1ZGVzKGl0ZW0pKS5kZWZhdWx0KCdsYXRlc3QnKSxcbiAgICBlZGl0aW9uOiBTdXBwb3J0ZWRNU1NRTEVkaXRpb25zLmRlZmF1bHQoJ0RldmVsb3BlcicpLFxuICAgIHBvcnQ6IHoubnVtYmVyKCkub3Ioei5zdHJpbmcoKS50cmFuc2Zvcm0oTnVtYmVyKS5yZWZpbmUoaXRlbSA9PiAhaXNOYU4oaXRlbSkpKS5kZWZhdWx0KDE0MzMpLFxuICAgIHVzZXJuYW1lOiB6LnN0cmluZygpLnJlZmluZShpdGVtID0+IGl0ZW0gPT09ICdzYScpLmRlZmF1bHQoJ3NhJyksXG4gICAgcGFzc3dvcmQ6IHouc3RyaW5nKCkuZGVmYXVsdCgnRGF0YUNlbnRlckRYIScpLFxuICAgIGRyaXZlcjogei5zdHJpbmcoKS5yZWZpbmUoaXRlbSA9PiBpdGVtID09PSAnY29tLm1pY3Jvc29mdC5zcWxzZXJ2ZXIuamRiYy5TUUxTZXJ2ZXJEcml2ZXInKS5kZWZhdWx0KCdjb20ubWljcm9zb2Z0LnNxbHNlcnZlci5qZGJjLlNRTFNlcnZlckRyaXZlcicpXG59KTtcbiIsImV4cG9ydCBjb25zdCBuZXR3b3JrID0ge1xuICAgIG5hbWU6ICdzaGFyZWQnLFxuICAgIGRyaXZlcjogJ2JyaWRnZSdcbn07XG4iLCJpbXBvcnQgeyBzcGF3biB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0IHsgZG93bkFsbCwgcHMsIHN0b3AsIHVwQWxsIH0gZnJvbSAnZG9ja2VyLWNvbXBvc2UvZGlzdC92Mi5qcyc7XG5pbXBvcnQgeyBncmFjZWZ1bEV4aXQgfSBmcm9tICdleGl0LWhvb2snO1xuaW1wb3J0IHsgZHVtcCB9IGZyb20gJ2pzLXlhbWwnO1xuaW1wb3J0IHsgY3dkIH0gZnJvbSAncHJvY2Vzcyc7XG5pbXBvcnQgeyBDb25uZWN0aW9uQWNxdWlyZVRpbWVvdXRFcnJvciwgQ29ubmVjdGlvbkVycm9yLCBDb25uZWN0aW9uUmVmdXNlZEVycm9yLCBDb25uZWN0aW9uVGltZWRPdXRFcnJvciwgU2VxdWVsaXplLCBUaW1lb3V0RXJyb3IgfSBmcm9tICdzZXF1ZWxpemUnO1xuaW1wb3J0IHsgbmV0d29yayB9IGZyb20gJy4uL2hlbHBlcnMvbmV0d29yayc7XG5leHBvcnQgY2xhc3MgQmFzZSB7XG4gICAgb3B0aW9ucztcbiAgICBzZXF1ZWxpemU7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENvbnN0cnVjdG9yXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgICAgICAvLyBXZSBuZWVkIHRvIHVzZSAnbWFzdGVyJyBmb3IgbXNzcWwgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbml0aWFsaXplIHRoZSBkYXRhYmFzZSBvbiBzdGFydFxuICAgICAgICBjb25zdCBkYXRhYmFzZSA9IHRoaXMub3B0aW9ucy5uYW1lID09PSAnbXNzcWwnID8gJ21hc3RlcicgOiB0aGlzLm9wdGlvbnMuZGF0YWJhc2U7XG4gICAgICAgIHRoaXMuc2VxdWVsaXplID0gbmV3IFNlcXVlbGl6ZShkYXRhYmFzZSwgdGhpcy5vcHRpb25zLnVzZXJuYW1lLCB0aGlzLm9wdGlvbnMucGFzc3dvcmQsIHtcbiAgICAgICAgICAgIGhvc3Q6ICdsb2NhbGhvc3QnLFxuICAgICAgICAgICAgcG9ydDogdGhpcy5vcHRpb25zLnBvcnQsXG4gICAgICAgICAgICBkaWFsZWN0OiB0aGlzLm9wdGlvbnMubmFtZS5yZXBsYWNlKCdwb3N0Z3Jlc3FsJywgJ3Bvc3RncmVzJyksXG4gICAgICAgICAgICByZXRyeToge1xuICAgICAgICAgICAgICAgIG1heDogMzAsXG4gICAgICAgICAgICAgICAgbWF0Y2g6IFtDb25uZWN0aW9uRXJyb3IsIFRpbWVvdXRFcnJvciwgQ29ubmVjdGlvblRpbWVkT3V0RXJyb3IsIENvbm5lY3Rpb25SZWZ1c2VkRXJyb3IsIENvbm5lY3Rpb25BY3F1aXJlVGltZW91dEVycm9yXSxcbiAgICAgICAgICAgICAgICBiYWNrb2ZmQmFzZTogMTAwMCxcbiAgICAgICAgICAgICAgICBiYWNrb2ZmRXhwb25lbnQ6IDFcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBsb2dnaW5nOiBmYWxzZVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFB1YmxpYyBNZXRob2RzXG4gICAgYXN5bmMgcnVuKHNxbCwgbG9nZ2luZykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5zZXF1ZWxpemUucXVlcnkoc3FsLCB7IGxvZ2dpbmcgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgdHJ5aW5nIHRvIHJ1biB0aGUgZm9sbG93aW5nIFNRTCBxdWVyeTonLCBzcWwsIGVycik7XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgc3RhcnQoY2xlYW4gPSB0aGlzLm9wdGlvbnMuY2xlYW4pIHtcbiAgICAgICAgY29uc29sZS5sb2coYFN0YXJ0aW5nIGluc3RhbmNlIG9mICR7dGhpcy5vcHRpb25zLm5hbWV9Li4uIPCfkoNgKTtcbiAgICAgICAgaWYgKGNsZWFuKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmRvd24oKTtcbiAgICAgICAgfVxuICAgICAgICBhd2FpdCB0aGlzLnVwKCk7XG4gICAgICAgIGNvbnN0IGlzQXZhaWxhYmxlID0gYXdhaXQgdGhpcy53YWl0VW50aWxSZWFkeSgpO1xuICAgICAgICBpZiAoIWlzQXZhaWxhYmxlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgRmFpbGVkIHRvIHZlcmlmeSBzdGF0dXMgb2YgJHt0aGlzLm9wdGlvbnMubmFtZX0g4puUYCk7XG4gICAgICAgICAgICBncmFjZWZ1bEV4aXQoMSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgRGF0YWJhc2UgaXMgcmVhZHkgYW5kIGFjY2VwdGluZyBjb25uZWN0aW9ucyBvbiBsb2NhbGhvc3Q6JHt0aGlzLm9wdGlvbnMucG9ydH0g8J+XhO+4j2ApO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLm9uRGF0YWJhc2VSZWFkeSgpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZXJ2aWNlID0gYXdhaXQgdGhpcy5nZXRTZXJ2aWNlU3RhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlcnZpY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuc2hvd0RvY2tlckxvZ3Moc2VydmljZS5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICBncmFjZWZ1bEV4aXQoMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgc3RvcChwcnVuZSA9IHRoaXMub3B0aW9ucy5wcnVuZSkge1xuICAgICAgICBpZiAocHJ1bmUpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZG93bigpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgY29uZmlnQXNTdHJpbmcgPSBkdW1wKHRoaXMuZ2V0RG9ja2VyQ29tcG9zZUNvbmZpZygpKTtcbiAgICAgICAgICAgIGF3YWl0IHN0b3Aoe1xuICAgICAgICAgICAgICAgIGN3ZDogY3dkKCksXG4gICAgICAgICAgICAgICAgY29uZmlnQXNTdHJpbmcsXG4gICAgICAgICAgICAgICAgbG9nOiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhc3luYyBvbkRhdGFiYXNlUmVhZHkoKSB7IH1cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gUHJpdmF0ZSBNZXRob2RzXG4gICAgZ2V0RG9ja2VyQ29tcG9zZUNvbmZpZygpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNlcnZpY2VzOiB7XG4gICAgICAgICAgICAgICAgJ2RiJzogdGhpcy5nZXRTZXJ2aWNlKClcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBuZXR3b3Jrczoge1xuICAgICAgICAgICAgICAgICdzaGFyZWQnOiBuZXR3b3JrXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuICAgIGFzeW5jIHVwKCkge1xuICAgICAgICBjb25zdCBjb25maWdBc1N0cmluZyA9IGR1bXAodGhpcy5nZXREb2NrZXJDb21wb3NlQ29uZmlnKCkpO1xuICAgICAgICByZXR1cm4gdXBBbGwoe1xuICAgICAgICAgICAgY3dkOiBjd2QoKSxcbiAgICAgICAgICAgIGNvbmZpZ0FzU3RyaW5nLFxuICAgICAgICAgICAgbG9nOiB0cnVlXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBhc3luYyBkb3duKCkge1xuICAgICAgICBjb25zdCBjb25maWdBc1N0cmluZyA9IGR1bXAodGhpcy5nZXREb2NrZXJDb21wb3NlQ29uZmlnKCkpO1xuICAgICAgICByZXR1cm4gZG93bkFsbCh7XG4gICAgICAgICAgICBjd2Q6IGN3ZCgpLFxuICAgICAgICAgICAgY29uZmlnQXNTdHJpbmcsXG4gICAgICAgICAgICBjb21tYW5kT3B0aW9uczogWyctdicsICctLXJlbW92ZS1vcnBoYW5zJywgJy0tcm1pJywgJ2xvY2FsJ10sXG4gICAgICAgICAgICBsb2c6IHRydWVcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGFzeW5jIHdhaXRVbnRpbFJlYWR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXF1ZWxpemUuYXV0aGVudGljYXRlKCkudGhlbigoKSA9PiB0cnVlKS5jYXRjaCgoKSA9PiBmYWxzZSk7XG4gICAgfVxuICAgIGFzeW5jIGdldFNlcnZpY2VTdGF0ZSgpIHtcbiAgICAgICAgY29uc3QgY29uZmlnQXNTdHJpbmcgPSBkdW1wKHRoaXMuZ2V0RG9ja2VyQ29tcG9zZUNvbmZpZygpKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcHMoe1xuICAgICAgICAgICAgY3dkOiBjd2QoKSxcbiAgICAgICAgICAgIGNvbmZpZ0FzU3RyaW5nLFxuICAgICAgICAgICAgY29tbWFuZE9wdGlvbnM6IFsnLS1hbGwnXSxcbiAgICAgICAgICAgIGxvZzogZmFsc2VcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQuZGF0YS5zZXJ2aWNlcy5maW5kKGl0ZW0gPT4ge1xuICAgICAgICAgICAgY29uc3QgWywgc2VydmljZV0gPSBpdGVtLm5hbWUuc3BsaXQoJy0nKTtcbiAgICAgICAgICAgIHJldHVybiBzZXJ2aWNlID09PSB0aGlzLm9wdGlvbnMubmFtZTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGFzeW5jIHNob3dEb2NrZXJMb2dzKHNlcnZpY2UpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRvY2tlciA9IHNwYXduKCdkb2NrZXInLCBbJ2xvZ3MnLCAnLWYnLCAnLW4nLCAnNTAwMCcsIHNlcnZpY2VdLCB7IHN0ZGlvOiAnaW5oZXJpdCcgfSk7XG4gICAgICAgICAgICBkb2NrZXIub24oJ2V4aXQnLCAoY29kZSkgPT4gKGNvZGUgPT09IDApID8gcmVzb2x2ZSgpIDogcmVqZWN0KG5ldyBFcnJvcihgRG9ja2VyIGV4aXRlZCB3aXRoIGNvZGUgJHtjb2RlfWApKSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsImltcG9ydCB7IE1TU1FMT3B0aW9ucyB9IGZyb20gJy4uL3R5cGVzL0RhdGFiYXNlJztcbmltcG9ydCB7IEJhc2UgfSBmcm9tICcuL2Jhc2UnO1xuZXhwb3J0IGNsYXNzIE1TU1FMIGV4dGVuZHMgQmFzZSB7XG4gICAgb3B0aW9ucztcbiAgICBnZXQgdXJsKCkge1xuICAgICAgICByZXR1cm4gYGpkYmM6c3Fsc2VydmVyOi8vZGI6JHt0aGlzLm9wdGlvbnMucG9ydH07ZGF0YWJhc2VOYW1lPSR7dGhpcy5vcHRpb25zLmRhdGFiYXNlfTt0cnVzdFNlcnZlckNlcnRpZmljYXRlPXRydWVgO1xuICAgIH1cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ29uc3RydWN0b3JcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zID0gTVNTUUxPcHRpb25zLnBhcnNlKHt9KSkge1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB9XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFByb3RlY3RlZCBNZXRob2RzXG4gICAgYXN5bmMgb25EYXRhYmFzZVJlYWR5KCkge1xuICAgICAgICBhd2FpdCB0aGlzLnJ1bihgQ1JFQVRFIERBVEFCQVNFICR7dGhpcy5vcHRpb25zLmRhdGFiYXNlfWApO1xuICAgICAgICBhd2FpdCB0aGlzLnJ1bihgQUxURVIgREFUQUJBU0UgJHt0aGlzLm9wdGlvbnMuZGF0YWJhc2V9IENPTExBVEUgU1FMX0xhdGluMV9HZW5lcmFsX0NQMV9DU19BU2ApO1xuICAgICAgICBhd2FpdCB0aGlzLnJ1bihgQUxURVIgREFUQUJBU0UgJHt0aGlzLm9wdGlvbnMuZGF0YWJhc2V9IFNFVCBSRUFEX0NPTU1JVFRFRF9TTkFQU0hPVCBPTiBXSVRIIFJPTExCQUNLIElNTUVESUFURTtgKTtcbiAgICB9XG4gICAgZ2V0U2VydmljZSA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGltYWdlOiBgbWNyLm1pY3Jvc29mdC5jb20vbXNzcWwvc2VydmVyOiR7dGhpcy5vcHRpb25zLnRhZ31gLFxuICAgICAgICAgICAgcG9ydHM6IFtgJHt0aGlzLm9wdGlvbnMucG9ydCB8fCAxNDMzfToxNDMzYF0sXG4gICAgICAgICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAgICAgICAgIEFDQ0VQVF9FVUxBOiAneScsXG4gICAgICAgICAgICAgICAgTVNTUUxfU0FfUEFTU1dPUkQ6IHRoaXMub3B0aW9ucy5wYXNzd29yZCB8fCAnZGNkeCcsXG4gICAgICAgICAgICAgICAgTVNTUUxfUElEOiB0aGlzLm9wdGlvbnMuZWRpdGlvblxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5ldHdvcmtzOiB7XG4gICAgICAgICAgICAgICAgJ3NoYXJlZCc6IHtcbiAgICAgICAgICAgICAgICAgICAgYWxpYXNlczogWydkYicsICdkYXRhYmFzZSddXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH07XG59XG4iLCJpbXBvcnQgeyBNeVNRTE9wdGlvbnMgfSBmcm9tICcuLi90eXBlcy9EYXRhYmFzZSc7XG5pbXBvcnQgeyBCYXNlIH0gZnJvbSAnLi9iYXNlJztcbmV4cG9ydCBjbGFzcyBNeVNRTCBleHRlbmRzIEJhc2Uge1xuICAgIG9wdGlvbnM7XG4gICAgZ2V0IHVybCgpIHtcbiAgICAgICAgcmV0dXJuIGBqZGJjOm15c3FsOi8vZGI6JHt0aGlzLm9wdGlvbnMucG9ydH0vJHt0aGlzLm9wdGlvbnMuZGF0YWJhc2V9P3Nlc3Npb25WYXJpYWJsZXM9dHJhbnNhY3Rpb25faXNvbGF0aW9uPSdSRUFELUNPTU1JVFRFRCdgO1xuICAgIH1cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ29uc3RydWN0b3JcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zID0gTXlTUUxPcHRpb25zLnBhcnNlKHt9KSkge1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB9XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFByb3RlY3RlZCBNZXRob2RzXG4gICAgYXN5bmMgb25EYXRhYmFzZVJlYWR5KCkge1xuICAgICAgICBhd2FpdCB0aGlzLnJ1bihgQUxURVIgREFUQUJBU0UgJHt0aGlzLm9wdGlvbnMuZGF0YWJhc2V9IENIQVJBQ1RFUiBTRVQgJ3V0ZjhtYjQnIENPTExBVEUgdXRmOG1iNF9iaW5gKTtcbiAgICB9XG4gICAgZ2V0U2VydmljZSA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGltYWdlOiBgbXlzcWw6JHt0aGlzLm9wdGlvbnMudGFnfWAsXG4gICAgICAgICAgICBwb3J0czogW2Ake3RoaXMub3B0aW9ucy5wb3J0IHx8IDMzMDZ9OjMzMDZgXSxcbiAgICAgICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgICAgICAgTVlTUUxfUk9PVF9QQVNTV09SRDogdGhpcy5vcHRpb25zLnBhc3N3b3JkIHx8ICdkY2R4JyxcbiAgICAgICAgICAgICAgICBNWVNRTF9VU0VSOiB0aGlzLm9wdGlvbnMudXNlcm5hbWUgfHwgJ2RjZHgnLFxuICAgICAgICAgICAgICAgIE1ZU1FMX1BBU1NXT1JEOiB0aGlzLm9wdGlvbnMucGFzc3dvcmQgfHwgJ2RjZHgnLFxuICAgICAgICAgICAgICAgIE1ZU1FMX0RBVEFCQVNFOiB0aGlzLm9wdGlvbnMuZGF0YWJhc2UgfHwgJ2RjZHgnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY29tbWFuZDogWyctLWxvZ19iaW5fdHJ1c3RfZnVuY3Rpb25fY3JlYXRvcnM9MSddLFxuICAgICAgICAgICAgbmV0d29ya3M6IHtcbiAgICAgICAgICAgICAgICAnc2hhcmVkJzoge1xuICAgICAgICAgICAgICAgICAgICBhbGlhc2VzOiBbJ2RiJywgJ2RhdGFiYXNlJ11cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfTtcbn1cbiIsImltcG9ydCB7IFBvc3RncmVTUUxPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMvRGF0YWJhc2UnO1xuaW1wb3J0IHsgQmFzZSB9IGZyb20gJy4vYmFzZSc7XG5leHBvcnQgY2xhc3MgUG9zdGdyZXMgZXh0ZW5kcyBCYXNlIHtcbiAgICBvcHRpb25zO1xuICAgIGdldCB1cmwoKSB7XG4gICAgICAgIHJldHVybiBgamRiYzpwb3N0Z3Jlc3FsOi8vZGI6JHt0aGlzLm9wdGlvbnMucG9ydH0vJHt0aGlzLm9wdGlvbnMuZGF0YWJhc2V9YDtcbiAgICB9XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENvbnN0cnVjdG9yXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucyA9IFBvc3RncmVTUUxPcHRpb25zLnBhcnNlKHt9KSkge1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB9XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFByb3RlY3RlZCBNZXRob2RzXG4gICAgZ2V0U2VydmljZSA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGltYWdlOiBgcG9zdGdyZXM6JHt0aGlzLm9wdGlvbnMudGFnfWAsXG4gICAgICAgICAgICBwb3J0czogW2Ake3RoaXMub3B0aW9ucy5wb3J0IHx8IDU0MzJ9OjU0MzJgXSxcbiAgICAgICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgICAgICAgUE9TVEdSRVNfVVNFUjogdGhpcy5vcHRpb25zLnVzZXJuYW1lIHx8ICdkY2R4JyxcbiAgICAgICAgICAgICAgICBQT1NUR1JFU19QQVNTV09SRDogdGhpcy5vcHRpb25zLnBhc3N3b3JkIHx8ICdkY2R4JyxcbiAgICAgICAgICAgICAgICBQT1NUR1JFU19EQjogdGhpcy5vcHRpb25zLmRhdGFiYXNlIHx8ICdkY2R4JyxcbiAgICAgICAgICAgICAgICBQT1NUR1JFU19IT1NUX0FVVEhfTUVUSE9EOiAnbWQ1JyxcbiAgICAgICAgICAgICAgICBQT1NUR1JFU19JTklUREJfQVJHUzogJy0tZW5jb2Rpbmc9VVRGLTggLS1sYy1jb2xsYXRlPUMgLS1sYy1jdHlwZT1DJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5ldHdvcmtzOiB7XG4gICAgICAgICAgICAgICAgJ3NoYXJlZCc6IHtcbiAgICAgICAgICAgICAgICAgICAgYWxpYXNlczogWydkYicsICdkYXRhYmFzZSddXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH07XG59XG4iLCJpbXBvcnQgeyBNU1NRTCB9IGZyb20gJy4uL2RhdGFiYXNlcy9tc3NxbCc7XG5pbXBvcnQgeyBNeVNRTCB9IGZyb20gJy4uL2RhdGFiYXNlcy9teXNxbCc7XG5pbXBvcnQgeyBQb3N0Z3JlcyB9IGZyb20gJy4uL2RhdGFiYXNlcy9wb3N0Z3Jlcyc7XG5pbXBvcnQgeyBNU1NRTE9wdGlvbnMsIE15U1FMT3B0aW9ucywgUG9zdGdyZVNRTE9wdGlvbnMsIFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcyB9IGZyb20gJy4uL3R5cGVzL0RhdGFiYXNlJztcbmV4cG9ydCBjb25zdCBnZXREYXRhYmFzZUVuZ2luZSA9IChvcHRpb25zLCB0YWcpID0+IHtcbiAgICBzd2l0Y2ggKG9wdGlvbnMubmFtZSkge1xuICAgICAgICBjYXNlIFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMucG9zdGdyZXNxbDpcbiAgICAgICAgICAgIHJldHVybiBuZXcgUG9zdGdyZXMoUG9zdGdyZVNRTE9wdGlvbnMucGFyc2UoeyAuLi5vcHRpb25zLCB0YWcgfSkpO1xuICAgICAgICBjYXNlIFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMubXlzcWw6XG4gICAgICAgICAgICByZXR1cm4gbmV3IE15U1FMKE15U1FMT3B0aW9ucy5wYXJzZSh7IC4uLm9wdGlvbnMsIHRhZyB9KSk7XG4gICAgICAgIGNhc2UgU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLlZhbHVlcy5tc3NxbDpcbiAgICAgICAgICAgIHJldHVybiBuZXcgTVNTUUwoTVNTUUxPcHRpb25zLnBhcnNlKHsgLi4ub3B0aW9ucywgdGFnIH0pKTtcbiAgICB9XG59O1xuIiwiaW1wb3J0IHsgcmVhbHBhdGhTeW5jIH0gZnJvbSAnZnMnO1xuaW1wb3J0IHsgZGlybmFtZSwgam9pbiB9IGZyb20gJ3BhdGgnO1xuZXhwb3J0IGNvbnN0IHRvQWJzb2x1dGVQYXRoID0gKHJlbGF0aXZlUGF0aCkgPT4ge1xuICAgIGNvbnN0IFssIGZpbGVQYXRoXSA9IHByb2Nlc3MuYXJndjtcbiAgICBjb25zdCBleGVjdXRhYmxlRmlsZURpciA9IGRpcm5hbWUocmVhbHBhdGhTeW5jKGZpbGVQYXRoKSk7XG4gICAgY29uc3QgYmFzZWRpciA9IGV4ZWN1dGFibGVGaWxlRGlyLnN1YnN0cmluZygwLCBleGVjdXRhYmxlRmlsZURpci5pbmRleE9mKCdkY2R4JykgKyA0KTtcbiAgICByZXR1cm4gam9pbihiYXNlZGlyLCByZWxhdGl2ZVBhdGgucmVwbGFjZUFsbCgnLi4vJywgJycpKTtcbn07XG4iLCJpbXBvcnQgeyByZWFkRmlsZVN5bmMgfSBmcm9tICdmcyc7XG5pbXBvcnQgeyB0b0Fic29sdXRlUGF0aCB9IGZyb20gJy4vdG9BYnNvbHV0ZVBhdGgnO1xuZXhwb3J0IGNvbnN0IGdldFZlcnNpb25zID0gKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRlbnQgPSByZWFkRmlsZVN5bmModG9BYnNvbHV0ZVBhdGgoJy4uLy4uL2Fzc2V0cy92ZXJzaW9ucy5qc29uJyksICd1dGYtOCcpO1xuICAgIGNvbnN0IHZlcnNpb25zID0gSlNPTi5wYXJzZShjb250ZW50KTtcbiAgICByZXR1cm4gdmVyc2lvbnM7XG59O1xuIiwiaW1wb3J0IHsgeiB9IGZyb20gJ3pvZCc7XG5leHBvcnQgY29uc3QgZ2V0Wm9kRGVmYXVsdCA9IChzY2hlbWEsIGtleSkgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0gZ2V0Wm9kRGVmYXVsdHMoc2NoZW1hKTtcbiAgICByZXR1cm4gZGVmYXVsdHNba2V5XTtcbn07XG4vLyBDb2RlIHNuaXBwZXQgYnkgSmFjb2IgV2Vpc2VuYnVyZ2VyIChodHRwczovL2dpdGh1Yi5jb20vSmFjb2JXZWlzZW5idXJnZXIpXG4vLyBUYWtlbiBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9jb2xpbmhhY2tzL3pvZC9kaXNjdXNzaW9ucy8xOTUzI2Rpc2N1c3Npb25jb21tZW50LTQ4MTE1ODhcbmV4cG9ydCBjb25zdCBnZXRab2REZWZhdWx0cyA9IChzY2hlbWEpID0+IHtcbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKHNjaGVtYS5zaGFwZSkuZmlsdGVyKChbLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2Ygei5ab2REZWZhdWx0KSB7XG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSB2YWx1ZS5fZGVmLmRlZmF1bHRWYWx1ZSgpO1xuICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgZGVmYXVsdFZhbHVlICE9PSAndW5kZWZpbmVkJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSkubWFwKChba2V5LCB2YWx1ZV0pID0+IChba2V5LCB2YWx1ZS5fZGVmLmRlZmF1bHRWYWx1ZSgpXSkpKTtcbn07XG4iLCIjIS91c3IvYmluL2VudiBub2RlXG5pbXBvcnQgeyBDb21tYW5kIGFzIENvbW1hbmRlciwgT3B0aW9uIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7IGdyYWNlZnVsRXhpdCB9IGZyb20gJ2V4aXQtaG9vayc7XG5pbXBvcnQgeyBBY3Rpb25IYW5kbGVyIH0gZnJvbSAnLi4vaGVscGVycy9BY3Rpb25IYW5kbGVyJztcbmltcG9ydCB7IGdldERhdGFiYXNlRW5naW5lIH0gZnJvbSAnLi4vaGVscGVycy9nZXREYXRhYmFzZUVuZ2luZSc7XG5pbXBvcnQgeyBnZXRWZXJzaW9ucyB9IGZyb20gJy4uL2hlbHBlcnMvZ2V0VmVyc2lvbnMnO1xuaW1wb3J0IHsgZ2V0Wm9kRGVmYXVsdCB9IGZyb20gJy4uL2hlbHBlcnMvZ2V0Wm9kRGVmYXVsdHMnO1xuaW1wb3J0IHsgTVNTUUxPcHRpb25zLCBNeVNRTE9wdGlvbnMsIFBvc3RncmVTUUxPcHRpb25zLCBTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMsIFN1cHBvcnRlZE1TU1FMRWRpdGlvbnMgfSBmcm9tICcuLi90eXBlcy9EYXRhYmFzZSc7XG5jb25zdCBwcm9ncmFtID0gbmV3IENvbW1hbmRlcigpO1xuY29uc3QgdmVyc2lvbnMgPSBnZXRWZXJzaW9ucygpO1xuY29uc3QgQ29tbWFuZCA9ICgpID0+IHtcbiAgICBsZXQgaW5zdGFuY2UgPSBudWxsO1xuICAgIHJldHVybiB7XG4gICAgICAgIGFjdGlvbjogYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgICAgICAgIGluc3RhbmNlID0gZ2V0RGF0YWJhc2VFbmdpbmUob3B0aW9ucyk7XG4gICAgICAgICAgICByZXR1cm4gaW5zdGFuY2Uuc3RhcnQoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3JIYW5kbGVyOiBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoaW5zdGFuY2UpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IG5hbWUgfSA9IGluc3RhbmNlLm9wdGlvbnM7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYFN0b3BwaW5nICR7bmFtZX0uLi4g4o+zYCk7XG4gICAgICAgICAgICAgICAgYXdhaXQgaW5zdGFuY2Uuc3RvcCgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgU3RvcHBlZCAke25hbWV9IPCfkqpgKTtcbiAgICAgICAgICAgICAgICB9KS5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBGYWlsZWQgdG8gc3RvcHBlZCAke25hbWV9LCBtYW51YWwgYWN0aW9uIGlzIHJlcXVpcmVkYCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xufTtcbnByb2dyYW1cbiAgICAubmFtZSgnZGNkeCBkYXRhYmFzZScpXG4gICAgLnNob3dIZWxwQWZ0ZXJFcnJvcih0cnVlKTtcbnByb2dyYW1cbiAgICAuY29tbWFuZCgncG9zdGdyZXNxbCcpXG4gICAgLmRlc2NyaXB0aW9uKCdTdGFydCBQb3N0Z3JlU1FMJylcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy10LCAtLXRhZyA8dGFnPicsICdUaGUgRG9ja2VyIHRhZyBvZiBQb3N0Z3JlcycpLmNob2ljZXModmVyc2lvbnNbU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLlZhbHVlcy5wb3N0Z3Jlc3FsXSkuZGVmYXVsdCgnbGF0ZXN0JykpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctZCwgLS1kYXRhYmFzZSA8ZGF0YWJhc2U+JywgJ1RoZSB2YWx1ZSBwYXNzZWQgdG8gUE9TVEdSRVNfREIgZW52aXJvbm1lbnQgdmFyaWFibGUnKS5kZWZhdWx0KGdldFpvZERlZmF1bHQoUG9zdGdyZVNRTE9wdGlvbnMsICdkYXRhYmFzZScpKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy1wLCAtLXBvcnQgPHBvcnQ+JywgJ1RoZSBwb3J0IG9uIHdoaWNoIHRoZSBkYXRhYmFzZSB3aWxsIGJlIGFjY2Vzc2libGUnKS5kZWZhdWx0KGdldFpvZERlZmF1bHQoUG9zdGdyZVNRTE9wdGlvbnMsICdwb3J0JykpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLVUsIC0tdXNlcm5hbWUgPHVzZXJuYW1lPicsICdUaGUgdmFsdWUgcGFzc2VkIHRvIFBPU1RHUkVTX1VTRVIgZW52aXJvbm1lbnQgdmFyaWFibGUnKS5kZWZhdWx0KGdldFpvZERlZmF1bHQoUG9zdGdyZVNRTE9wdGlvbnMsICd1c2VybmFtZScpKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy1QLCAtLXBhc3N3b3JkIDxwYXNzd29yZD4nLCAnVGhlIHZhbHVlIHBhc3NlZCB0byBQT1NUR1JFU19QQVNTV09SRCBlbnZpcm9ubWVudCB2YXJpYWJsZScpLmRlZmF1bHQoZ2V0Wm9kRGVmYXVsdChQb3N0Z3JlU1FMT3B0aW9ucywgJ3Bhc3N3b3JkJykpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1jbGVhbicsICdSZW1vdmUgZGF0YSBmaWxlcyBiZWZvcmUgc3RhcnRpbmcgdGhlIGRhdGFiYXNlJykuZGVmYXVsdChmYWxzZSkpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLXBydW5lJywgJ1JlbW92ZSBkYXRhIGZpbGVzIHdoZW4gc3RvcHBpbmcgdGhlIGRhdGFiYXNlJykuZGVmYXVsdChmYWxzZSkpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLXZlcmJvc2UnLCAnT3V0cHV0IGRhdGFiYXNlIGxvZyBmaWxlcycpLmRlZmF1bHQoZmFsc2UpKVxuICAgIC5hY3Rpb24ob3B0aW9ucyA9PiBBY3Rpb25IYW5kbGVyKHByb2dyYW0sIENvbW1hbmQoKSwgeyAuLi5vcHRpb25zLCBuYW1lOiBTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMuVmFsdWVzLnBvc3RncmVzcWwgfSkpO1xucHJvZ3JhbVxuICAgIC5jb21tYW5kKCdteXNxbCcpXG4gICAgLmRlc2NyaXB0aW9uKCdTdGFydCBNeVNRTCcpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctdCwgLS10YWcgPHRhZz4nLCAnVGhlIERvY2tlciB0YWcgb2YgTXlTUUwnKS5jaG9pY2VzKHZlcnNpb25zW1N1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMubXlzcWxdKS5kZWZhdWx0KCdsYXRlc3QnKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy1kLCAtLWRhdGFiYXNlIDxkYXRhYmFzZT4nLCAnVGhlIHZhbHVlIHBhc3NlZCB0byBNWVNRTF9EQVRBQkFTRSBlbnZpcm9ubWVudCB2YXJpYWJsZScpLmRlZmF1bHQoZ2V0Wm9kRGVmYXVsdChNeVNRTE9wdGlvbnMsICdkYXRhYmFzZScpKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy1wLCAtLXBvcnQgPHBvcnQ+JywgJ1RoZSBwb3J0IG9uIHdoaWNoIHRoZSBkYXRhYmFzZSB3aWxsIGJlIGFjY2Vzc2libGUnKS5kZWZhdWx0KGdldFpvZERlZmF1bHQoTXlTUUxPcHRpb25zLCAncG9ydCcpKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy1VLCAtLXVzZXJuYW1lIDx1c2VybmFtZT4nLCAnVGhlIHZhbHVlIHBhc3NlZCB0byBNWVNRTF9VU0VSIGVudmlyb25tZW50IHZhcmlhYmxlJykuZGVmYXVsdChnZXRab2REZWZhdWx0KE15U1FMT3B0aW9ucywgJ3VzZXJuYW1lJykpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLVAsIC0tcGFzc3dvcmQgPHBhc3N3b3JkPicsICdUaGUgdmFsdWUgcGFzc2VkIHRvIE1ZU1FMX1BBU1NXT1JEIGVudmlyb25tZW50IHZhcmlhYmxlJykuZGVmYXVsdChnZXRab2REZWZhdWx0KE15U1FMT3B0aW9ucywgJ3Bhc3N3b3JkJykpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1jbGVhbicsICdSZW1vdmUgZGF0YSBmaWxlcyBiZWZvcmUgc3RhcnRpbmcgdGhlIGRhdGFiYXNlJykuZGVmYXVsdChmYWxzZSkpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLXBydW5lJywgJ1JlbW92ZSBkYXRhIGZpbGVzIHdoZW4gc3RvcHBpbmcgdGhlIGRhdGFiYXNlJykuZGVmYXVsdChmYWxzZSkpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLXZlcmJvc2UnLCAnT3V0cHV0IGRhdGFiYXNlIGxvZyBmaWxlcycpLmRlZmF1bHQoZmFsc2UpKVxuICAgIC5hY3Rpb24ob3B0aW9ucyA9PiBBY3Rpb25IYW5kbGVyKHByb2dyYW0sIENvbW1hbmQoKSwgeyAuLi5vcHRpb25zLCBuYW1lOiBTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMuVmFsdWVzLm15c3FsIH0pKTtcbnByb2dyYW1cbiAgICAuY29tbWFuZCgnbXNzcWwnKVxuICAgIC5kZXNjcmlwdGlvbignU3RhcnQgTWljcm9zb2Z0IFNRTCBTZXJ2ZXInKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLXQsIC0tdGFnIDx0YWc+JywgJ1RoZSBEb2NrZXIgdGFnIG9mIE1pY3Jvc29mdCBTUUwgU2VydmVyJykuY2hvaWNlcyh2ZXJzaW9uc1tTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMuVmFsdWVzLm1zc3FsXSkuZGVmYXVsdCgnbGF0ZXN0JykpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctZSwgLS1lZGl0aW9uIDxlZGl0aW9uPicsICdUaGUgZWRpdGlvbiBvZiBNaWNyb3NvZnQgU1FMIFNlcnZlcicpLmNob2ljZXMoT2JqZWN0LnZhbHVlcyhTdXBwb3J0ZWRNU1NRTEVkaXRpb25zLlZhbHVlcykpLmRlZmF1bHQoU3VwcG9ydGVkTVNTUUxFZGl0aW9ucy5WYWx1ZXMuRGV2ZWxvcGVyKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy1kLCAtLWRhdGFiYXNlIDxkYXRhYmFzZT4nLCAnVGhlIG5hbWUgb2YgdGhlIGRhdGFiYXNlIChhdXRvbWF0aWNhbGx5IGNyZWF0ZWQpJykuZGVmYXVsdChnZXRab2REZWZhdWx0KE1TU1FMT3B0aW9ucywgJ2RhdGFiYXNlJykpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLXAsIC0tcG9ydCA8cG9ydD4nLCAnVGhlIHBvcnQgb24gd2hpY2ggdGhlIGRhdGFiYXNlIHdpbGwgYmUgYWNjZXNzaWJsZScpLmRlZmF1bHQoZ2V0Wm9kRGVmYXVsdChNU1NRTE9wdGlvbnMsICdwb3J0JykpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLVAsIC0tcGFzc3dvcmQgPHBhc3N3b3JkPicsICdUaGUgdmFsdWUgcGFzc2VkIHRvIE1TU1FMX1NBX1BBU1NXT1JEIGVudmlyb25tZW50IHZhcmlhYmxlLiBNUyBTUUwgU2VydmVyIHBhc3N3b3JkIHBvbGljeSBhcHBsaWVzLicpLmRlZmF1bHQoZ2V0Wm9kRGVmYXVsdChNU1NRTE9wdGlvbnMsICdwYXNzd29yZCcpKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tY2xlYW4nLCAnUmVtb3ZlIGRhdGEgZmlsZXMgYmVmb3JlIHN0YXJ0aW5nIHRoZSBkYXRhYmFzZScpLmRlZmF1bHQoZmFsc2UpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1wcnVuZScsICdSZW1vdmUgZGF0YSBmaWxlcyB3aGVuIHN0b3BwaW5nIHRoZSBkYXRhYmFzZScpLmRlZmF1bHQoZmFsc2UpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS12ZXJib3NlJywgJ091dHB1dCBkYXRhYmFzZSBsb2cgZmlsZXMnKS5kZWZhdWx0KGZhbHNlKSlcbiAgICAuYWN0aW9uKG9wdGlvbnMgPT4gQWN0aW9uSGFuZGxlcihwcm9ncmFtLCBDb21tYW5kKCksIHsgLi4ub3B0aW9ucywgbmFtZTogU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLlZhbHVlcy5tc3NxbCwgdXNlcm5hbWU6ICdzYScgfSkpO1xucHJvZ3JhbS5wYXJzZUFzeW5jKHByb2Nlc3MuYXJndikuY2F0Y2goKCkgPT4gZ3JhY2VmdWxFeGl0KDEpKTtcbnByb2Nlc3Mub24oJ1NJR0lOVCcsICgpID0+IHtcbiAgICBjb25zb2xlLmxvZyhgUmVjZWl2ZWQgdGVybSBzaWduYWwsIHRyeWluZyB0byBzdG9wIGdyYWNlZnVsbHkg8J+SqmApO1xuICAgIGdyYWNlZnVsRXhpdCgpO1xufSk7XG4iXSwibmFtZXMiOlsidmVyc2lvbnMiLCJDb21tYW5kZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUVPLE1BQU0sYUFBYSxHQUFHLE9BQU8sT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxFQUFFLE9BQU8sS0FBSztBQUNuRixJQUFJLE1BQU0sR0FBRyxHQUFHLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDMUMsSUFBSSxNQUFNLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sS0FBSztBQUNyQyxRQUFRLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUM5QixRQUFRLGFBQWEsQ0FBQyxPQUFPLElBQUksS0FBSztBQUN0QyxZQUFZLElBQUk7QUFDaEIsZ0JBQWdCLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRTtBQUNoQyxvQkFBb0IsTUFBTSxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7QUFDOUQsaUJBQWlCO0FBQ2pCLGdCQUFnQixJQUFJLFlBQVksRUFBRTtBQUNsQyxvQkFBb0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUN6RCxpQkFBaUI7QUFDakIscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQSxvQkFBb0IsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pDLGlCQUFpQjtBQUNqQixhQUFhO0FBQ2IsWUFBWSxPQUFPLEdBQUcsRUFBRTtBQUN4QixnQkFBZ0IsTUFBTSxPQUFPLEdBQUcsR0FBRyxZQUFZLEtBQUssR0FBRyxHQUFHLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztBQUN6RSxnQkFBZ0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ2hDLGFBQWE7QUFDYixTQUFTLEVBQUU7QUFDWCxZQUFZLElBQUksRUFBRSxFQUFFLEdBQUcsQ0FBQyxHQUFHLElBQUk7QUFDL0IsU0FBUyxDQUFDLENBQUM7QUFDWCxRQUFRLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJO0FBQ2pDLFlBQVksSUFBSSxHQUFHLFlBQVksQ0FBQyxDQUFDLFFBQVEsRUFBRTtBQUMzQyxnQkFBZ0IsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJO0FBQzVDLG9CQUFvQixZQUFZLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN6RyxpQkFBaUIsQ0FBQyxDQUFDO0FBQ25CLGFBQWE7QUFDYixpQkFBaUIsSUFBSSxHQUFHLFlBQVksS0FBSyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtBQUN0RSxnQkFBZ0IsWUFBWSxHQUFHLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUM5QyxhQUFhO0FBQ2IsWUFBWSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUIsU0FBUyxDQUFDLENBQUM7QUFDWCxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJO0FBQ3hCLFFBQVEsSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFO0FBQzlCLFlBQVksT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNuQztBQUNBO0FBQ0EsU0FBUztBQUNULGFBQWE7QUFDYixZQUFZLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUIsU0FBUztBQUNULEtBQUssQ0FBQyxDQUFDO0FBQ1AsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDOUNNLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUMvQyxJQUFJLFlBQVk7QUFDaEIsSUFBSSxPQUFPO0FBQ1gsSUFBSSxPQUFPO0FBQ1gsQ0FBQyxDQUFDLENBQUM7QUFDSSxNQUFNLHNCQUFzQixHQUFHLENB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
9322
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VzIjpbIi4uLy4uL2Rpc3Qvc3JjL2hlbHBlcnMvQWN0aW9uSGFuZGxlci5qcyIsIi4uLy4uL2Rpc3Qvc3JjL3R5cGVzL0RhdGFiYXNlLmpzIiwiLi4vLi4vZGlzdC9zcmMvaGVscGVycy9uZXR3b3JrLmpzIiwiLi4vLi4vZGlzdC9zcmMvZGF0YWJhc2VzL2Jhc2UuanMiLCIuLi8uLi9kaXN0L3NyYy9kYXRhYmFzZXMvbXNzcWwuanMiLCIuLi8uLi9kaXN0L3NyYy9kYXRhYmFzZXMvbXlzcWwuanMiLCIuLi8uLi9kaXN0L3NyYy9kYXRhYmFzZXMvcG9zdGdyZXMuanMiLCIuLi8uLi9kaXN0L3NyYy9oZWxwZXJzL2dldERhdGFiYXNlRW5naW5lLmpzIiwiLi4vLi4vZGlzdC9zcmMvaGVscGVycy90b0Fic29sdXRlUGF0aC5qcyIsIi4uLy4uL2Rpc3Qvc3JjL2hlbHBlcnMvZ2V0VmVyc2lvbnMuanMiLCIuLi8uLi9kaXN0L3NyYy9oZWxwZXJzL2dldFpvZERlZmF1bHRzLmpzIiwiLi4vLi4vZGlzdC9zcmMvY29tbWFuZHMvZGF0YWJhc2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXN5bmNFeGl0SG9vaywgZ3JhY2VmdWxFeGl0IH0gZnJvbSAnZXhpdC1ob29rJztcbmltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuZXhwb3J0IGNvbnN0IEFjdGlvbkhhbmRsZXIgPSBhc3luYyAocHJvZ3JhbSwgeyBhY3Rpb24sIGVycm9ySGFuZGxlciB9LCBvcHRpb25zKSA9PiB7XG4gICAgY29uc3Qgb3BzID0gb3B0aW9ucyB8fCBwcm9ncmFtLm9wdHMoKTtcbiAgICBhd2FpdCBuZXcgUHJvbWlzZSgoXywgcmVqZWN0KSA9PiB7XG4gICAgICAgIGxldCBlcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgICAgYXN5bmNFeGl0SG9vayhhc3luYyAoY29kZSkgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBpZiAoY29kZSAhPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCBlcnJvckhhbmRsZXIob3BzKS5jYXRjaCgoKSA9PiBudWxsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGVycm9yTWVzc2FnZSkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JNZXNzYWdlLnRyaW0oKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBXZSBhcmUgcmVqZWN0aW5nIHRoZSBwcm9taXNlIHRvIGF2b2lkIHRoZVxuICAgICAgICAgICAgICAgICAgICAvLyBcIkNhbGxpbmcgcHJvY2Vzcy5leGl0XCIgbG9nIG1lc3NhZ2UgZnJvbSBleGl0LWhvb2tcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KG51bGwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6IGVycjtcbiAgICAgICAgICAgICAgICByZWplY3QobWVzc2FnZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIHtcbiAgICAgICAgICAgIHdhaXQ6IDYwICogMSAqIDEwMDBcbiAgICAgICAgfSk7XG4gICAgICAgIGFjdGlvbihvcHMpLmNhdGNoKGVyciA9PiB7XG4gICAgICAgICAgICBpZiAoZXJyIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgICAgICAgICAgIGVyci5pc3N1ZXMuZm9yRWFjaChpc3N1ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGVycm9yTWVzc2FnZSArPSBgVW5hYmxlIHRvIHBhcnNlIG9wdGlvbiAke2lzc3VlLnBhdGguam9pbignLCcpfTogJHtpc3N1ZS5tZXNzYWdlfVxcbmA7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChlcnIgaW5zdGFuY2VvZiBFcnJvciB8fCB0eXBlb2YgZXJyID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGVycm9yTWVzc2FnZSA9IGVyci50b1N0cmluZygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZ3JhY2VmdWxFeGl0KDEpO1xuICAgICAgICB9KTtcbiAgICB9KS5jYXRjaChtZXNzYWdlID0+IHtcbiAgICAgICAgaWYgKG1lc3NhZ2UgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHByb2dyYW0uZXJyb3IobWVzc2FnZSk7XG4gICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyBlcnJvciBtZXNzYWdlLFxuICAgICAgICAgICAgLy8gd2UgY2FuIGFzc3VtZSBhIGNsZWFuIGV4aXRcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHByb2Nlc3MuZXhpdCgwKTtcbiAgICAgICAgfVxuICAgIH0pO1xufTtcbiIsImltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuaW1wb3J0IHZlcnNpb25zIGZyb20gJy4uLy4uL2Fzc2V0cy92ZXJzaW9ucy5qc29uJztcbmV4cG9ydCBjb25zdCBTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMgPSB6LmVudW0oW1xuICAgICdwb3N0Z3Jlc3FsJyxcbiAgICAnbXlzcWwnLFxuICAgICdtc3NxbCdcbl0pO1xuZXhwb3J0IGNvbnN0IFN1cHBvcnRlZE1TU1FMRWRpdGlvbnMgPSB6LmVudW0oW1xuICAgICdEZXZlbG9wZXInLFxuICAgICdFeHByZXNzJyxcbiAgICAnU3RhbmRhcmQnLFxuICAgICdFbnRlcnByaXNlJyxcbiAgICAnRW50ZXJwcmlzZUNvcmUnXG5dKTtcbmV4cG9ydCBjb25zdCBEYXRhYmFzZU9wdGlvbnMgPSB6Lm9iamVjdCh7XG4gICAgbmFtZTogU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLFxuICAgIHBvcnQ6IHoubnVtYmVyKCkub3Ioei5zdHJpbmcoKS50cmFuc2Zvcm0oTnVtYmVyKS5yZWZpbmUoaXRlbSA9PiAhaXNOYU4oaXRlbSkpKSxcbiAgICBkYXRhYmFzZTogei5zdHJpbmcoKS5kZWZhdWx0KCdkY2R4JyksXG4gICAgdXNlcm5hbWU6IHouc3RyaW5nKCkuZGVmYXVsdCgnZGNkeCcpLFxuICAgIHBhc3N3b3JkOiB6LnN0cmluZygpLmRlZmF1bHQoJ2RjZHgnKSxcbiAgICBjbGVhbjogei5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gICAgcHJ1bmU6IHouYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICAgIHZlcmJvc2U6IHouYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICAgIGRyaXZlcjogei5zdHJpbmcoKVxufSk7XG5leHBvcnQgY29uc3QgUG9zdGdyZVNRTE9wdGlvbnMgPSBEYXRhYmFzZU9wdGlvbnMuZXh0ZW5kKHtcbiAgICBuYW1lOiBTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMucmVmaW5lKGl0ZW0gPT4gaXRlbSA9PT0gU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLlZhbHVlcy5wb3N0Z3Jlc3FsKS5kZWZhdWx0KFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMucG9zdGdyZXNxbCksXG4gICAgdGFnOiB6LnN0cmluZygpLnJlZmluZShpdGVtID0+IHZlcnNpb25zW1N1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMucG9zdGdyZXNxbF0uaW5jbHVkZXMoaXRlbSkpLmRlZmF1bHQoJ2xhdGVzdCcpLFxuICAgIHBvcnQ6IHoubnVtYmVyKCkub3Ioei5zdHJpbmcoKS50cmFuc2Zvcm0oTnVtYmVyKS5yZWZpbmUoaXRlbSA9PiAhaXNOYU4oaXRlbSkpKS5kZWZhdWx0KDU0MzIpLFxuICAgIGRyaXZlcjogei5zdHJpbmcoKS5yZWZpbmUoaXRlbSA9PiBpdGVtID09PSAnb3JnLnBvc3RncmVzcWwuRHJpdmVyJykuZGVmYXVsdCgnb3JnLnBvc3RncmVzcWwuRHJpdmVyJylcbn0pO1xuZXhwb3J0IGNvbnN0IE15U1FMT3B0aW9ucyA9IERhdGFiYXNlT3B0aW9ucy5leHRlbmQoe1xuICAgIG5hbWU6IFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5yZWZpbmUoaXRlbSA9PiBpdGVtID09PSBTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMuVmFsdWVzLm15c3FsKS5kZWZhdWx0KFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMubXlzcWwpLFxuICAgIHRhZzogei5zdHJpbmcoKS5yZWZpbmUoaXRlbSA9PiB2ZXJzaW9uc1tTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMuVmFsdWVzLm15c3FsXS5pbmNsdWRlcyhpdGVtKSkuZGVmYXVsdCgnbGF0ZXN0JyksXG4gICAgcG9ydDogei5udW1iZXIoKS5vcih6LnN0cmluZygpLnRyYW5zZm9ybShOdW1iZXIpLnJlZmluZShpdGVtID0+ICFpc05hTihpdGVtKSkpLmRlZmF1bHQoMzMwNiksXG4gICAgZHJpdmVyOiB6LnN0cmluZygpLnJlZmluZShpdGVtID0+IGl0ZW0gPT09ICdjb20ubXlzcWwuamRiYy5Ecml2ZXInKS5kZWZhdWx0KCdjb20ubXlzcWwuamRiYy5Ecml2ZXInKVxufSk7XG5leHBvcnQgY29uc3QgTVNTUUxPcHRpb25zID0gRGF0YWJhc2VPcHRpb25zLmV4dGVuZCh7XG4gICAgbmFtZTogU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLnJlZmluZShpdGVtID0+IGl0ZW0gPT09IFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMubXNzcWwpLmRlZmF1bHQoU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLlZhbHVlcy5tc3NxbCksXG4gICAgdGFnOiB6LnN0cmluZygpLnJlZmluZShpdGVtID0+IHZlcnNpb25zW1N1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMubXNzcWxdLmluY2x1ZGVzKGl0ZW0pKS5kZWZhdWx0KCdsYXRlc3QnKSxcbiAgICBlZGl0aW9uOiBTdXBwb3J0ZWRNU1NRTEVkaXRpb25zLmRlZmF1bHQoJ0RldmVsb3BlcicpLFxuICAgIHBvcnQ6IHoubnVtYmVyKCkub3Ioei5zdHJpbmcoKS50cmFuc2Zvcm0oTnVtYmVyKS5yZWZpbmUoaXRlbSA9PiAhaXNOYU4oaXRlbSkpKS5kZWZhdWx0KDE0MzMpLFxuICAgIHVzZXJuYW1lOiB6LnN0cmluZygpLnJlZmluZShpdGVtID0+IGl0ZW0gPT09ICdzYScpLmRlZmF1bHQoJ3NhJyksXG4gICAgcGFzc3dvcmQ6IHouc3RyaW5nKCkuZGVmYXVsdCgnRGF0YUNlbnRlckRYIScpLFxuICAgIGRyaXZlcjogei5zdHJpbmcoKS5yZWZpbmUoaXRlbSA9PiBpdGVtID09PSAnY29tLm1pY3Jvc29mdC5zcWxzZXJ2ZXIuamRiYy5TUUxTZXJ2ZXJEcml2ZXInKS5kZWZhdWx0KCdjb20ubWljcm9zb2Z0LnNxbHNlcnZlci5qZGJjLlNRTFNlcnZlckRyaXZlcicpXG59KTtcbiIsImV4cG9ydCBjb25zdCBuZXR3b3JrID0ge1xuICAgIG5hbWU6ICdzaGFyZWQnLFxuICAgIGRyaXZlcjogJ2JyaWRnZSdcbn07XG4iLCJpbXBvcnQgeyBzcGF3biB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0IHsgZG93bkFsbCwgcHMsIHN0b3AsIHVwQWxsIH0gZnJvbSAnZG9ja2VyLWNvbXBvc2UvZGlzdC92Mi5qcyc7XG5pbXBvcnQgeyBncmFjZWZ1bEV4aXQgfSBmcm9tICdleGl0LWhvb2snO1xuaW1wb3J0IHsgZHVtcCB9IGZyb20gJ2pzLXlhbWwnO1xuaW1wb3J0IHsgY3dkIH0gZnJvbSAncHJvY2Vzcyc7XG5pbXBvcnQgeyBDb25uZWN0aW9uQWNxdWlyZVRpbWVvdXRFcnJvciwgQ29ubmVjdGlvbkVycm9yLCBDb25uZWN0aW9uUmVmdXNlZEVycm9yLCBDb25uZWN0aW9uVGltZWRPdXRFcnJvciwgU2VxdWVsaXplLCBUaW1lb3V0RXJyb3IgfSBmcm9tICdzZXF1ZWxpemUnO1xuaW1wb3J0IHsgbmV0d29yayB9IGZyb20gJy4uL2hlbHBlcnMvbmV0d29yayc7XG5leHBvcnQgY2xhc3MgQmFzZSB7XG4gICAgb3B0aW9ucztcbiAgICBzZXF1ZWxpemU7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENvbnN0cnVjdG9yXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgICAgICAvLyBXZSBuZWVkIHRvIHVzZSAnbWFzdGVyJyBmb3IgbXNzcWwgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbml0aWFsaXplIHRoZSBkYXRhYmFzZSBvbiBzdGFydFxuICAgICAgICBjb25zdCBkYXRhYmFzZSA9IHRoaXMub3B0aW9ucy5uYW1lID09PSAnbXNzcWwnID8gJ21hc3RlcicgOiB0aGlzLm9wdGlvbnMuZGF0YWJhc2U7XG4gICAgICAgIHRoaXMuc2VxdWVsaXplID0gbmV3IFNlcXVlbGl6ZShkYXRhYmFzZSwgdGhpcy5vcHRpb25zLnVzZXJuYW1lLCB0aGlzLm9wdGlvbnMucGFzc3dvcmQsIHtcbiAgICAgICAgICAgIGhvc3Q6ICdsb2NhbGhvc3QnLFxuICAgICAgICAgICAgcG9ydDogdGhpcy5vcHRpb25zLnBvcnQsXG4gICAgICAgICAgICBkaWFsZWN0OiB0aGlzLm9wdGlvbnMubmFtZS5yZXBsYWNlKCdwb3N0Z3Jlc3FsJywgJ3Bvc3RncmVzJyksXG4gICAgICAgICAgICByZXRyeToge1xuICAgICAgICAgICAgICAgIG1heDogMzAsXG4gICAgICAgICAgICAgICAgbWF0Y2g6IFtDb25uZWN0aW9uRXJyb3IsIFRpbWVvdXRFcnJvciwgQ29ubmVjdGlvblRpbWVkT3V0RXJyb3IsIENvbm5lY3Rpb25SZWZ1c2VkRXJyb3IsIENvbm5lY3Rpb25BY3F1aXJlVGltZW91dEVycm9yXSxcbiAgICAgICAgICAgICAgICBiYWNrb2ZmQmFzZTogMTAwMCxcbiAgICAgICAgICAgICAgICBiYWNrb2ZmRXhwb25lbnQ6IDFcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBsb2dnaW5nOiBmYWxzZVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFB1YmxpYyBNZXRob2RzXG4gICAgYXN5bmMgcnVuKHNxbCwgbG9nZ2luZykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5zZXF1ZWxpemUucXVlcnkoc3FsLCB7IGxvZ2dpbmcgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgdHJ5aW5nIHRvIHJ1biB0aGUgZm9sbG93aW5nIFNRTCBxdWVyeTonLCBzcWwsIGVycik7XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgc3RhcnQoY2xlYW4gPSB0aGlzLm9wdGlvbnMuY2xlYW4pIHtcbiAgICAgICAgY29uc29sZS5sb2coYFN0YXJ0aW5nIGluc3RhbmNlIG9mICR7dGhpcy5vcHRpb25zLm5hbWV9Li4uIPCfkoNgKTtcbiAgICAgICAgaWYgKGNsZWFuKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmRvd24oKTtcbiAgICAgICAgfVxuICAgICAgICBhd2FpdCB0aGlzLnVwKCk7XG4gICAgICAgIGNvbnN0IGlzQXZhaWxhYmxlID0gYXdhaXQgdGhpcy53YWl0VW50aWxSZWFkeSgpO1xuICAgICAgICBpZiAoIWlzQXZhaWxhYmxlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgRmFpbGVkIHRvIHZlcmlmeSBzdGF0dXMgb2YgJHt0aGlzLm9wdGlvbnMubmFtZX0g4puUYCk7XG4gICAgICAgICAgICBncmFjZWZ1bEV4aXQoMSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgRGF0YWJhc2UgaXMgcmVhZHkgYW5kIGFjY2VwdGluZyBjb25uZWN0aW9ucyBvbiBsb2NhbGhvc3Q6JHt0aGlzLm9wdGlvbnMucG9ydH0g8J+XhO+4j2ApO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLm9uRGF0YWJhc2VSZWFkeSgpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZXJ2aWNlID0gYXdhaXQgdGhpcy5nZXRTZXJ2aWNlU3RhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlcnZpY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuc2hvd0RvY2tlckxvZ3Moc2VydmljZS5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICBncmFjZWZ1bEV4aXQoMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgc3RvcChwcnVuZSA9IHRoaXMub3B0aW9ucy5wcnVuZSkge1xuICAgICAgICBpZiAocHJ1bmUpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZG93bigpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgY29uZmlnQXNTdHJpbmcgPSBkdW1wKHRoaXMuZ2V0RG9ja2VyQ29tcG9zZUNvbmZpZygpKTtcbiAgICAgICAgICAgIGF3YWl0IHN0b3Aoe1xuICAgICAgICAgICAgICAgIGN3ZDogY3dkKCksXG4gICAgICAgICAgICAgICAgY29uZmlnQXNTdHJpbmcsXG4gICAgICAgICAgICAgICAgbG9nOiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhc3luYyBvbkRhdGFiYXNlUmVhZHkoKSB7IH1cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gUHJpdmF0ZSBNZXRob2RzXG4gICAgZ2V0RG9ja2VyQ29tcG9zZUNvbmZpZygpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNlcnZpY2VzOiB7XG4gICAgICAgICAgICAgICAgJ2RiJzogdGhpcy5nZXRTZXJ2aWNlKClcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBuZXR3b3Jrczoge1xuICAgICAgICAgICAgICAgICdzaGFyZWQnOiBuZXR3b3JrXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuICAgIGFzeW5jIHVwKCkge1xuICAgICAgICBjb25zdCBjb25maWdBc1N0cmluZyA9IGR1bXAodGhpcy5nZXREb2NrZXJDb21wb3NlQ29uZmlnKCkpO1xuICAgICAgICByZXR1cm4gdXBBbGwoe1xuICAgICAgICAgICAgY3dkOiBjd2QoKSxcbiAgICAgICAgICAgIGNvbmZpZ0FzU3RyaW5nLFxuICAgICAgICAgICAgbG9nOiB0cnVlXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBhc3luYyBkb3duKCkge1xuICAgICAgICBjb25zdCBjb25maWdBc1N0cmluZyA9IGR1bXAodGhpcy5nZXREb2NrZXJDb21wb3NlQ29uZmlnKCkpO1xuICAgICAgICByZXR1cm4gZG93bkFsbCh7XG4gICAgICAgICAgICBjd2Q6IGN3ZCgpLFxuICAgICAgICAgICAgY29uZmlnQXNTdHJpbmcsXG4gICAgICAgICAgICBjb21tYW5kT3B0aW9uczogWyctdicsICctLXJlbW92ZS1vcnBoYW5zJywgJy0tcm1pJywgJ2xvY2FsJ10sXG4gICAgICAgICAgICBsb2c6IHRydWVcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGFzeW5jIHdhaXRVbnRpbFJlYWR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXF1ZWxpemUuYXV0aGVudGljYXRlKCkudGhlbigoKSA9PiB0cnVlKS5jYXRjaCgoKSA9PiBmYWxzZSk7XG4gICAgfVxuICAgIGFzeW5jIGdldFNlcnZpY2VTdGF0ZSgpIHtcbiAgICAgICAgY29uc3QgY29uZmlnQXNTdHJpbmcgPSBkdW1wKHRoaXMuZ2V0RG9ja2VyQ29tcG9zZUNvbmZpZygpKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcHMoe1xuICAgICAgICAgICAgY3dkOiBjd2QoKSxcbiAgICAgICAgICAgIGNvbmZpZ0FzU3RyaW5nLFxuICAgICAgICAgICAgY29tbWFuZE9wdGlvbnM6IFsnLS1hbGwnXSxcbiAgICAgICAgICAgIGxvZzogZmFsc2VcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQuZGF0YS5zZXJ2aWNlcy5maW5kKGl0ZW0gPT4ge1xuICAgICAgICAgICAgY29uc3QgcGFydHMgPSBpdGVtLm5hbWUuc3BsaXQoJy0nKTtcbiAgICAgICAgICAgIGNvbnN0IHNlcnZpY2UgPSBwYXJ0c1twYXJ0cy5sZW5ndGggLSAyXTtcbiAgICAgICAgICAgIHJldHVybiBzZXJ2aWNlID09PSB0aGlzLm9wdGlvbnMubmFtZTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGFzeW5jIHNob3dEb2NrZXJMb2dzKHNlcnZpY2UpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRvY2tlciA9IHNwYXduKCdkb2NrZXInLCBbJ2xvZ3MnLCAnLWYnLCAnLW4nLCAnNTAwMCcsIHNlcnZpY2VdLCB7IHN0ZGlvOiAnaW5oZXJpdCcgfSk7XG4gICAgICAgICAgICBkb2NrZXIub24oJ2V4aXQnLCAoY29kZSkgPT4gKGNvZGUgPT09IDApID8gcmVzb2x2ZSgpIDogcmVqZWN0KG5ldyBFcnJvcihgRG9ja2VyIGV4aXRlZCB3aXRoIGNvZGUgJHtjb2RlfWApKSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsImltcG9ydCB7IE1TU1FMT3B0aW9ucyB9IGZyb20gJy4uL3R5cGVzL0RhdGFiYXNlJztcbmltcG9ydCB7IEJhc2UgfSBmcm9tICcuL2Jhc2UnO1xuZXhwb3J0IGNsYXNzIE1TU1FMIGV4dGVuZHMgQmFzZSB7XG4gICAgb3B0aW9ucztcbiAgICBnZXQgdXJsKCkge1xuICAgICAgICByZXR1cm4gYGpkYmM6c3Fsc2VydmVyOi8vZGI6JHt0aGlzLm9wdGlvbnMucG9ydH07ZGF0YWJhc2VOYW1lPSR7dGhpcy5vcHRpb25zLmRhdGFiYXNlfTt0cnVzdFNlcnZlckNlcnRpZmljYXRlPXRydWVgO1xuICAgIH1cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ29uc3RydWN0b3JcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zID0gTVNTUUxPcHRpb25zLnBhcnNlKHt9KSkge1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB9XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFByb3RlY3RlZCBNZXRob2RzXG4gICAgYXN5bmMgb25EYXRhYmFzZVJlYWR5KCkge1xuICAgICAgICBhd2FpdCB0aGlzLnJ1bihgQ1JFQVRFIERBVEFCQVNFICR7dGhpcy5vcHRpb25zLmRhdGFiYXNlfWApO1xuICAgICAgICBhd2FpdCB0aGlzLnJ1bihgQUxURVIgREFUQUJBU0UgJHt0aGlzLm9wdGlvbnMuZGF0YWJhc2V9IENPTExBVEUgU1FMX0xhdGluMV9HZW5lcmFsX0NQMV9DU19BU2ApO1xuICAgICAgICBhd2FpdCB0aGlzLnJ1bihgQUxURVIgREFUQUJBU0UgJHt0aGlzLm9wdGlvbnMuZGF0YWJhc2V9IFNFVCBSRUFEX0NPTU1JVFRFRF9TTkFQU0hPVCBPTiBXSVRIIFJPTExCQUNLIElNTUVESUFURTtgKTtcbiAgICB9XG4gICAgZ2V0U2VydmljZSA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGltYWdlOiBgbWNyLm1pY3Jvc29mdC5jb20vbXNzcWwvc2VydmVyOiR7dGhpcy5vcHRpb25zLnRhZ31gLFxuICAgICAgICAgICAgcG9ydHM6IFtgJHt0aGlzLm9wdGlvbnMucG9ydCB8fCAxNDMzfToxNDMzYF0sXG4gICAgICAgICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAgICAgICAgIEFDQ0VQVF9FVUxBOiAneScsXG4gICAgICAgICAgICAgICAgTVNTUUxfU0FfUEFTU1dPUkQ6IHRoaXMub3B0aW9ucy5wYXNzd29yZCB8fCAnZGNkeCcsXG4gICAgICAgICAgICAgICAgTVNTUUxfUElEOiB0aGlzLm9wdGlvbnMuZWRpdGlvblxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5ldHdvcmtzOiB7XG4gICAgICAgICAgICAgICAgJ3NoYXJlZCc6IHtcbiAgICAgICAgICAgICAgICAgICAgYWxpYXNlczogWydkYicsICdkYXRhYmFzZSddXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH07XG59XG4iLCJpbXBvcnQgeyBNeVNRTE9wdGlvbnMgfSBmcm9tICcuLi90eXBlcy9EYXRhYmFzZSc7XG5pbXBvcnQgeyBCYXNlIH0gZnJvbSAnLi9iYXNlJztcbmV4cG9ydCBjbGFzcyBNeVNRTCBleHRlbmRzIEJhc2Uge1xuICAgIG9wdGlvbnM7XG4gICAgZ2V0IHVybCgpIHtcbiAgICAgICAgcmV0dXJuIGBqZGJjOm15c3FsOi8vZGI6JHt0aGlzLm9wdGlvbnMucG9ydH0vJHt0aGlzLm9wdGlvbnMuZGF0YWJhc2V9P3Nlc3Npb25WYXJpYWJsZXM9dHJhbnNhY3Rpb25faXNvbGF0aW9uPSdSRUFELUNPTU1JVFRFRCdgO1xuICAgIH1cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ29uc3RydWN0b3JcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zID0gTXlTUUxPcHRpb25zLnBhcnNlKHt9KSkge1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB9XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFByb3RlY3RlZCBNZXRob2RzXG4gICAgYXN5bmMgb25EYXRhYmFzZVJlYWR5KCkge1xuICAgICAgICBhd2FpdCB0aGlzLnJ1bihgQUxURVIgREFUQUJBU0UgJHt0aGlzLm9wdGlvbnMuZGF0YWJhc2V9IENIQVJBQ1RFUiBTRVQgJ3V0ZjhtYjQnIENPTExBVEUgdXRmOG1iNF9iaW5gKTtcbiAgICB9XG4gICAgZ2V0U2VydmljZSA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGltYWdlOiBgbXlzcWw6JHt0aGlzLm9wdGlvbnMudGFnfWAsXG4gICAgICAgICAgICBwb3J0czogW2Ake3RoaXMub3B0aW9ucy5wb3J0IHx8IDMzMDZ9OjMzMDZgXSxcbiAgICAgICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgICAgICAgTVlTUUxfUk9PVF9QQVNTV09SRDogdGhpcy5vcHRpb25zLnBhc3N3b3JkIHx8ICdkY2R4JyxcbiAgICAgICAgICAgICAgICBNWVNRTF9VU0VSOiB0aGlzLm9wdGlvbnMudXNlcm5hbWUgfHwgJ2RjZHgnLFxuICAgICAgICAgICAgICAgIE1ZU1FMX1BBU1NXT1JEOiB0aGlzLm9wdGlvbnMucGFzc3dvcmQgfHwgJ2RjZHgnLFxuICAgICAgICAgICAgICAgIE1ZU1FMX0RBVEFCQVNFOiB0aGlzLm9wdGlvbnMuZGF0YWJhc2UgfHwgJ2RjZHgnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY29tbWFuZDogWyctLWxvZ19iaW5fdHJ1c3RfZnVuY3Rpb25fY3JlYXRvcnM9MSddLFxuICAgICAgICAgICAgbmV0d29ya3M6IHtcbiAgICAgICAgICAgICAgICAnc2hhcmVkJzoge1xuICAgICAgICAgICAgICAgICAgICBhbGlhc2VzOiBbJ2RiJywgJ2RhdGFiYXNlJ11cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfTtcbn1cbiIsImltcG9ydCB7IFBvc3RncmVTUUxPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMvRGF0YWJhc2UnO1xuaW1wb3J0IHsgQmFzZSB9IGZyb20gJy4vYmFzZSc7XG5leHBvcnQgY2xhc3MgUG9zdGdyZXMgZXh0ZW5kcyBCYXNlIHtcbiAgICBvcHRpb25zO1xuICAgIGdldCB1cmwoKSB7XG4gICAgICAgIHJldHVybiBgamRiYzpwb3N0Z3Jlc3FsOi8vZGI6JHt0aGlzLm9wdGlvbnMucG9ydH0vJHt0aGlzLm9wdGlvbnMuZGF0YWJhc2V9YDtcbiAgICB9XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENvbnN0cnVjdG9yXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucyA9IFBvc3RncmVTUUxPcHRpb25zLnBhcnNlKHt9KSkge1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB9XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFByb3RlY3RlZCBNZXRob2RzXG4gICAgZ2V0U2VydmljZSA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGltYWdlOiBgcG9zdGdyZXM6JHt0aGlzLm9wdGlvbnMudGFnfWAsXG4gICAgICAgICAgICBwb3J0czogW2Ake3RoaXMub3B0aW9ucy5wb3J0IHx8IDU0MzJ9OjU0MzJgXSxcbiAgICAgICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgICAgICAgUE9TVEdSRVNfVVNFUjogdGhpcy5vcHRpb25zLnVzZXJuYW1lIHx8ICdkY2R4JyxcbiAgICAgICAgICAgICAgICBQT1NUR1JFU19QQVNTV09SRDogdGhpcy5vcHRpb25zLnBhc3N3b3JkIHx8ICdkY2R4JyxcbiAgICAgICAgICAgICAgICBQT1NUR1JFU19EQjogdGhpcy5vcHRpb25zLmRhdGFiYXNlIHx8ICdkY2R4JyxcbiAgICAgICAgICAgICAgICBQT1NUR1JFU19IT1NUX0FVVEhfTUVUSE9EOiAnbWQ1JyxcbiAgICAgICAgICAgICAgICBQT1NUR1JFU19JTklUREJfQVJHUzogJy0tZW5jb2Rpbmc9VVRGLTggLS1sYy1jb2xsYXRlPUMgLS1sYy1jdHlwZT1DJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5ldHdvcmtzOiB7XG4gICAgICAgICAgICAgICAgJ3NoYXJlZCc6IHtcbiAgICAgICAgICAgICAgICAgICAgYWxpYXNlczogWydkYicsICdkYXRhYmFzZSddXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH07XG59XG4iLCJpbXBvcnQgeyBNU1NRTCB9IGZyb20gJy4uL2RhdGFiYXNlcy9tc3NxbCc7XG5pbXBvcnQgeyBNeVNRTCB9IGZyb20gJy4uL2RhdGFiYXNlcy9teXNxbCc7XG5pbXBvcnQgeyBQb3N0Z3JlcyB9IGZyb20gJy4uL2RhdGFiYXNlcy9wb3N0Z3Jlcyc7XG5pbXBvcnQgeyBNU1NRTE9wdGlvbnMsIE15U1FMT3B0aW9ucywgUG9zdGdyZVNRTE9wdGlvbnMsIFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcyB9IGZyb20gJy4uL3R5cGVzL0RhdGFiYXNlJztcbmV4cG9ydCBjb25zdCBnZXREYXRhYmFzZUVuZ2luZSA9IChvcHRpb25zLCB0YWcpID0+IHtcbiAgICBzd2l0Y2ggKG9wdGlvbnMubmFtZSkge1xuICAgICAgICBjYXNlIFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMucG9zdGdyZXNxbDpcbiAgICAgICAgICAgIHJldHVybiBuZXcgUG9zdGdyZXMoUG9zdGdyZVNRTE9wdGlvbnMucGFyc2UoeyAuLi5vcHRpb25zLCB0YWcgfSkpO1xuICAgICAgICBjYXNlIFN1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMubXlzcWw6XG4gICAgICAgICAgICByZXR1cm4gbmV3IE15U1FMKE15U1FMT3B0aW9ucy5wYXJzZSh7IC4uLm9wdGlvbnMsIHRhZyB9KSk7XG4gICAgICAgIGNhc2UgU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLlZhbHVlcy5tc3NxbDpcbiAgICAgICAgICAgIHJldHVybiBuZXcgTVNTUUwoTVNTUUxPcHRpb25zLnBhcnNlKHsgLi4ub3B0aW9ucywgdGFnIH0pKTtcbiAgICB9XG59O1xuIiwiaW1wb3J0IHsgcmVhbHBhdGhTeW5jIH0gZnJvbSAnZnMnO1xuaW1wb3J0IHsgZGlybmFtZSwgam9pbiB9IGZyb20gJ3BhdGgnO1xuZXhwb3J0IGNvbnN0IHRvQWJzb2x1dGVQYXRoID0gKHJlbGF0aXZlUGF0aCkgPT4ge1xuICAgIGNvbnN0IFssIGZpbGVQYXRoXSA9IHByb2Nlc3MuYXJndjtcbiAgICBjb25zdCBleGVjdXRhYmxlRmlsZURpciA9IGRpcm5hbWUocmVhbHBhdGhTeW5jKGZpbGVQYXRoKSk7XG4gICAgY29uc3QgYmFzZWRpciA9IGV4ZWN1dGFibGVGaWxlRGlyLnN1YnN0cmluZygwLCBleGVjdXRhYmxlRmlsZURpci5pbmRleE9mKCdkY2R4JykgKyA0KTtcbiAgICByZXR1cm4gam9pbihiYXNlZGlyLCByZWxhdGl2ZVBhdGgucmVwbGFjZUFsbCgnLi4vJywgJycpKTtcbn07XG4iLCJpbXBvcnQgeyByZWFkRmlsZVN5bmMgfSBmcm9tICdmcyc7XG5pbXBvcnQgeyB0b0Fic29sdXRlUGF0aCB9IGZyb20gJy4vdG9BYnNvbHV0ZVBhdGgnO1xuZXhwb3J0IGNvbnN0IGdldFZlcnNpb25zID0gKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRlbnQgPSByZWFkRmlsZVN5bmModG9BYnNvbHV0ZVBhdGgoJy4uLy4uL2Fzc2V0cy92ZXJzaW9ucy5qc29uJyksICd1dGYtOCcpO1xuICAgIGNvbnN0IHZlcnNpb25zID0gSlNPTi5wYXJzZShjb250ZW50KTtcbiAgICByZXR1cm4gdmVyc2lvbnM7XG59O1xuIiwiaW1wb3J0IHsgeiB9IGZyb20gJ3pvZCc7XG5leHBvcnQgY29uc3QgZ2V0Wm9kRGVmYXVsdCA9IChzY2hlbWEsIGtleSkgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0gZ2V0Wm9kRGVmYXVsdHMoc2NoZW1hKTtcbiAgICByZXR1cm4gZGVmYXVsdHNba2V5XTtcbn07XG4vLyBDb2RlIHNuaXBwZXQgYnkgSmFjb2IgV2Vpc2VuYnVyZ2VyIChodHRwczovL2dpdGh1Yi5jb20vSmFjb2JXZWlzZW5idXJnZXIpXG4vLyBUYWtlbiBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9jb2xpbmhhY2tzL3pvZC9kaXNjdXNzaW9ucy8xOTUzI2Rpc2N1c3Npb25jb21tZW50LTQ4MTE1ODhcbmV4cG9ydCBjb25zdCBnZXRab2REZWZhdWx0cyA9IChzY2hlbWEpID0+IHtcbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKHNjaGVtYS5zaGFwZSkuZmlsdGVyKChbLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2Ygei5ab2REZWZhdWx0KSB7XG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSB2YWx1ZS5fZGVmLmRlZmF1bHRWYWx1ZSgpO1xuICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgZGVmYXVsdFZhbHVlICE9PSAndW5kZWZpbmVkJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSkubWFwKChba2V5LCB2YWx1ZV0pID0+IChba2V5LCB2YWx1ZS5fZGVmLmRlZmF1bHRWYWx1ZSgpXSkpKTtcbn07XG4iLCIjIS91c3IvYmluL2VudiBub2RlXG5pbXBvcnQgeyBDb21tYW5kIGFzIENvbW1hbmRlciwgT3B0aW9uIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7IGdyYWNlZnVsRXhpdCB9IGZyb20gJ2V4aXQtaG9vayc7XG5pbXBvcnQgeyBBY3Rpb25IYW5kbGVyIH0gZnJvbSAnLi4vaGVscGVycy9BY3Rpb25IYW5kbGVyJztcbmltcG9ydCB7IGdldERhdGFiYXNlRW5naW5lIH0gZnJvbSAnLi4vaGVscGVycy9nZXREYXRhYmFzZUVuZ2luZSc7XG5pbXBvcnQgeyBnZXRWZXJzaW9ucyB9IGZyb20gJy4uL2hlbHBlcnMvZ2V0VmVyc2lvbnMnO1xuaW1wb3J0IHsgZ2V0Wm9kRGVmYXVsdCB9IGZyb20gJy4uL2hlbHBlcnMvZ2V0Wm9kRGVmYXVsdHMnO1xuaW1wb3J0IHsgTVNTUUxPcHRpb25zLCBNeVNRTE9wdGlvbnMsIFBvc3RncmVTUUxPcHRpb25zLCBTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMsIFN1cHBvcnRlZE1TU1FMRWRpdGlvbnMgfSBmcm9tICcuLi90eXBlcy9EYXRhYmFzZSc7XG5jb25zdCBwcm9ncmFtID0gbmV3IENvbW1hbmRlcigpO1xuY29uc3QgdmVyc2lvbnMgPSBnZXRWZXJzaW9ucygpO1xuY29uc3QgQ29tbWFuZCA9ICgpID0+IHtcbiAgICBsZXQgaW5zdGFuY2UgPSBudWxsO1xuICAgIHJldHVybiB7XG4gICAgICAgIGFjdGlvbjogYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgICAgICAgIGluc3RhbmNlID0gZ2V0RGF0YWJhc2VFbmdpbmUob3B0aW9ucyk7XG4gICAgICAgICAgICByZXR1cm4gaW5zdGFuY2Uuc3RhcnQoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3JIYW5kbGVyOiBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoaW5zdGFuY2UpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IG5hbWUgfSA9IGluc3RhbmNlLm9wdGlvbnM7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYFN0b3BwaW5nICR7bmFtZX0uLi4g4o+zYCk7XG4gICAgICAgICAgICAgICAgYXdhaXQgaW5zdGFuY2Uuc3RvcCgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgU3RvcHBlZCAke25hbWV9IPCfkqpgKTtcbiAgICAgICAgICAgICAgICB9KS5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBGYWlsZWQgdG8gc3RvcHBlZCAke25hbWV9LCBtYW51YWwgYWN0aW9uIGlzIHJlcXVpcmVkYCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xufTtcbnByb2dyYW1cbiAgICAubmFtZSgnZGNkeCBkYXRhYmFzZScpXG4gICAgLnNob3dIZWxwQWZ0ZXJFcnJvcih0cnVlKTtcbnByb2dyYW1cbiAgICAuY29tbWFuZCgncG9zdGdyZXNxbCcpXG4gICAgLmRlc2NyaXB0aW9uKCdTdGFydCBQb3N0Z3JlU1FMJylcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy10LCAtLXRhZyA8dGFnPicsICdUaGUgRG9ja2VyIHRhZyBvZiBQb3N0Z3JlcycpLmNob2ljZXModmVyc2lvbnNbU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLlZhbHVlcy5wb3N0Z3Jlc3FsXSkuZGVmYXVsdCgnbGF0ZXN0JykpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctZCwgLS1kYXRhYmFzZSA8ZGF0YWJhc2U+JywgJ1RoZSB2YWx1ZSBwYXNzZWQgdG8gUE9TVEdSRVNfREIgZW52aXJvbm1lbnQgdmFyaWFibGUnKS5kZWZhdWx0KGdldFpvZERlZmF1bHQoUG9zdGdyZVNRTE9wdGlvbnMsICdkYXRhYmFzZScpKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy1wLCAtLXBvcnQgPHBvcnQ+JywgJ1RoZSBwb3J0IG9uIHdoaWNoIHRoZSBkYXRhYmFzZSB3aWxsIGJlIGFjY2Vzc2libGUnKS5kZWZhdWx0KGdldFpvZERlZmF1bHQoUG9zdGdyZVNRTE9wdGlvbnMsICdwb3J0JykpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLVUsIC0tdXNlcm5hbWUgPHVzZXJuYW1lPicsICdUaGUgdmFsdWUgcGFzc2VkIHRvIFBPU1RHUkVTX1VTRVIgZW52aXJvbm1lbnQgdmFyaWFibGUnKS5kZWZhdWx0KGdldFpvZERlZmF1bHQoUG9zdGdyZVNRTE9wdGlvbnMsICd1c2VybmFtZScpKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy1QLCAtLXBhc3N3b3JkIDxwYXNzd29yZD4nLCAnVGhlIHZhbHVlIHBhc3NlZCB0byBQT1NUR1JFU19QQVNTV09SRCBlbnZpcm9ubWVudCB2YXJpYWJsZScpLmRlZmF1bHQoZ2V0Wm9kRGVmYXVsdChQb3N0Z3JlU1FMT3B0aW9ucywgJ3Bhc3N3b3JkJykpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1jbGVhbicsICdSZW1vdmUgZGF0YSBmaWxlcyBiZWZvcmUgc3RhcnRpbmcgdGhlIGRhdGFiYXNlJykuZGVmYXVsdChmYWxzZSkpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLXBydW5lJywgJ1JlbW92ZSBkYXRhIGZpbGVzIHdoZW4gc3RvcHBpbmcgdGhlIGRhdGFiYXNlJykuZGVmYXVsdChmYWxzZSkpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLXZlcmJvc2UnLCAnT3V0cHV0IGRhdGFiYXNlIGxvZyBmaWxlcycpLmRlZmF1bHQoZmFsc2UpKVxuICAgIC5hY3Rpb24ob3B0aW9ucyA9PiBBY3Rpb25IYW5kbGVyKHByb2dyYW0sIENvbW1hbmQoKSwgeyAuLi5vcHRpb25zLCBuYW1lOiBTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMuVmFsdWVzLnBvc3RncmVzcWwgfSkpO1xucHJvZ3JhbVxuICAgIC5jb21tYW5kKCdteXNxbCcpXG4gICAgLmRlc2NyaXB0aW9uKCdTdGFydCBNeVNRTCcpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctdCwgLS10YWcgPHRhZz4nLCAnVGhlIERvY2tlciB0YWcgb2YgTXlTUUwnKS5jaG9pY2VzKHZlcnNpb25zW1N1cHBvcnRlZERhdGFiYXNlRW5naW5lcy5WYWx1ZXMubXlzcWxdKS5kZWZhdWx0KCdsYXRlc3QnKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy1kLCAtLWRhdGFiYXNlIDxkYXRhYmFzZT4nLCAnVGhlIHZhbHVlIHBhc3NlZCB0byBNWVNRTF9EQVRBQkFTRSBlbnZpcm9ubWVudCB2YXJpYWJsZScpLmRlZmF1bHQoZ2V0Wm9kRGVmYXVsdChNeVNRTE9wdGlvbnMsICdkYXRhYmFzZScpKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy1wLCAtLXBvcnQgPHBvcnQ+JywgJ1RoZSBwb3J0IG9uIHdoaWNoIHRoZSBkYXRhYmFzZSB3aWxsIGJlIGFjY2Vzc2libGUnKS5kZWZhdWx0KGdldFpvZERlZmF1bHQoTXlTUUxPcHRpb25zLCAncG9ydCcpKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy1VLCAtLXVzZXJuYW1lIDx1c2VybmFtZT4nLCAnVGhlIHZhbHVlIHBhc3NlZCB0byBNWVNRTF9VU0VSIGVudmlyb25tZW50IHZhcmlhYmxlJykuZGVmYXVsdChnZXRab2REZWZhdWx0KE15U1FMT3B0aW9ucywgJ3VzZXJuYW1lJykpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLVAsIC0tcGFzc3dvcmQgPHBhc3N3b3JkPicsICdUaGUgdmFsdWUgcGFzc2VkIHRvIE1ZU1FMX1BBU1NXT1JEIGVudmlyb25tZW50IHZhcmlhYmxlJykuZGVmYXVsdChnZXRab2REZWZhdWx0KE15U1FMT3B0aW9ucywgJ3Bhc3N3b3JkJykpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1jbGVhbicsICdSZW1vdmUgZGF0YSBmaWxlcyBiZWZvcmUgc3RhcnRpbmcgdGhlIGRhdGFiYXNlJykuZGVmYXVsdChmYWxzZSkpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLXBydW5lJywgJ1JlbW92ZSBkYXRhIGZpbGVzIHdoZW4gc3RvcHBpbmcgdGhlIGRhdGFiYXNlJykuZGVmYXVsdChmYWxzZSkpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLXZlcmJvc2UnLCAnT3V0cHV0IGRhdGFiYXNlIGxvZyBmaWxlcycpLmRlZmF1bHQoZmFsc2UpKVxuICAgIC5hY3Rpb24ob3B0aW9ucyA9PiBBY3Rpb25IYW5kbGVyKHByb2dyYW0sIENvbW1hbmQoKSwgeyAuLi5vcHRpb25zLCBuYW1lOiBTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMuVmFsdWVzLm15c3FsIH0pKTtcbnByb2dyYW1cbiAgICAuY29tbWFuZCgnbXNzcWwnKVxuICAgIC5kZXNjcmlwdGlvbignU3RhcnQgTWljcm9zb2Z0IFNRTCBTZXJ2ZXInKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLXQsIC0tdGFnIDx0YWc+JywgJ1RoZSBEb2NrZXIgdGFnIG9mIE1pY3Jvc29mdCBTUUwgU2VydmVyJykuY2hvaWNlcyh2ZXJzaW9uc1tTdXBwb3J0ZWREYXRhYmFzZUVuZ2luZXMuVmFsdWVzLm1zc3FsXSkuZGVmYXVsdCgnbGF0ZXN0JykpXG4gICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctZSwgLS1lZGl0aW9uIDxlZGl0aW9uPicsICdUaGUgZWRpdGlvbiBvZiBNaWNyb3NvZnQgU1FMIFNlcnZlcicpLmNob2ljZXMoT2JqZWN0LnZhbHVlcyhTdXBwb3J0ZWRNU1NRTEVkaXRpb25zLlZhbHVlcykpLmRlZmF1bHQoU3VwcG9ydGVkTVNTUUxFZGl0aW9ucy5WYWx1ZXMuRGV2ZWxvcGVyKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy1kLCAtLWRhdGFiYXNlIDxkYXRhYmFzZT4nLCAnVGhlIG5hbWUgb2YgdGhlIGRhdGFiYXNlIChhdXRvbWF0aWNhbGx5IGNyZWF0ZWQpJykuZGVmYXVsdChnZXRab2REZWZhdWx0KE1TU1FMT3B0aW9ucywgJ2RhdGFiYXNlJykpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLXAsIC0tcG9ydCA8cG9ydD4nLCAnVGhlIHBvcnQgb24gd2hpY2ggdGhlIGRhdGFiYXNlIHdpbGwgYmUgYWNjZXNzaWJsZScpLmRlZmF1bHQoZ2V0Wm9kRGVmYXVsdChNU1NRTE9wdGlvbnMsICdwb3J0JykpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLVAsIC0tcGFzc3dvcmQgPHBhc3N3b3JkPicsICdUaGUgdmFsdWUgcGFzc2VkIHRvIE1TU1FMX1NBX1BBU1NXT1JEIGVudmlyb25tZW50IHZhcmlhYmxlLiBNUyBTUUwgU2VydmVyIHBhc3N3b3JkIHBvbGljeSBhcHBsaWVzLicpLmRlZmF1bHQoZ2V0Wm9kRGVmYXVsdChNU1NRTE9wdGlvbnMsICdwYXNzd29yZCcpKSlcbiAgICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tY2xlYW4nLCAnUmVtb3ZlIGRhdGEgZmlsZXMgYmVmb3JlIHN0YXJ0aW5nIHRoZSBkYXRhYmFzZScpLmRlZmF1bHQoZmFsc2UpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1wcnVuZScsICdSZW1vdmUgZGF0YSBmaWxlcyB3aGVuIHN0b3BwaW5nIHRoZSBkYXRhYmFzZScpLmRlZmF1bHQoZmFsc2UpKVxuICAgIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS12ZXJib3NlJywgJ091dHB1dCBkYXRhYmFzZSBsb2cgZmlsZXMnKS5kZWZhdWx0KGZhbHNlKSlcbiAgICAuYWN0aW9uKG9wdGlvbnMgPT4gQWN0aW9uSGFuZGxlcihwcm9ncmFtLCBDb21tYW5kKCksIHsgLi4ub3B0aW9ucywgbmFtZTogU3VwcG9ydGVkRGF0YWJhc2VFbmdpbmVzLlZhbHVlcy5tc3NxbCwgdXNlcm5hbWU6ICdzYScgfSkpO1xucHJvZ3JhbS5wYXJzZUFzeW5jKHByb2Nlc3MuYXJndikuY2F0Y2goKCkgPT4gZ3JhY2VmdWxFeGl0KDEpKTtcbnByb2Nlc3Mub24oJ1NJR0lOVCcsICgpID0+IHtcbiAgICBjb25zb2xlLmxvZyhgUmVjZWl2ZWQgdGVybSBzaWduYWwsIHRyeWluZyB0byBzdG9wIGdyYWNlZnVsbHkg8J+SqmApO1xuICAgIGdyYWNlZnVsRXhpdCgpO1xufSk7XG4iXSwibmFtZXMiOlsidmVyc2lvbnMiLCJDb21tYW5kZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUVPLE1BQU0sYUFBYSxHQUFHLE9BQU8sT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxFQUFFLE9BQU8sS0FBSztBQUNuRixJQUFJLE1BQU0sR0FBRyxHQUFHLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDMUMsSUFBSSxNQUFNLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sS0FBSztBQUNyQyxRQUFRLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUM5QixRQUFRLGFBQWEsQ0FBQyxPQUFPLElBQUksS0FBSztBQUN0QyxZQUFZLElBQUk7QUFDaEIsZ0JBQWdCLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRTtBQUNoQyxvQkFBb0IsTUFBTSxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7QUFDOUQsaUJBQWlCO0FBQ2pCLGdCQUFnQixJQUFJLFlBQVksRUFBRTtBQUNsQyxvQkFBb0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUN6RCxpQkFBaUI7QUFDakIscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQSxvQkFBb0IsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pDLGlCQUFpQjtBQUNqQixhQUFhO0FBQ2IsWUFBWSxPQUFPLEdBQUcsRUFBRTtBQUN4QixnQkFBZ0IsTUFBTSxPQUFPLEdBQUcsR0FBRyxZQUFZLEtBQUssR0FBRyxHQUFHLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztBQUN6RSxnQkFBZ0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ2hDLGFBQWE7QUFDYixTQUFTLEVBQUU7QUFDWCxZQUFZLElBQUksRUFBRSxFQUFFLEdBQUcsQ0FBQyxHQUFHLElBQUk7QUFDL0IsU0FBUyxDQUFDLENBQUM7QUFDWCxRQUFRLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJO0FBQ2pDLFlBQVksSUFBSSxHQUFHLFlBQVksQ0FBQyxDQUFDLFFBQVEsRUFBRTtBQUMzQyxnQkFBZ0IsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJO0FBQzVDLG9CQUFvQixZQUFZLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN6RyxpQkFBaUIsQ0FBQyxDQUFDO0FBQ25CLGFBQWE7QUFDYixpQkFBaUIsSUFBSSxHQUFHLFlBQVksS0FBSyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtBQUN0RSxnQkFBZ0IsWUFBWSxHQUFHLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUM5QyxhQUFhO0FBQ2IsWUFBWSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUIsU0FBUyxDQUFDLENBQUM7QUFDWCxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJO0FBQ3hCLFFBQVEsSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFO0FBQzlCLFlBQVksT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNuQztBQUNBO0FBQ0EsU0FBUztBQUNULGFBQWE7QUFDYixZQUFZLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUIsU0FBUztBQUNULEtBQUssQ0FBQyxDQUFDO0FBQ1AsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDOUNNLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUMvQyxJQUFJLFlBQVk7QUFDaEIsSUFBSSxPQUFPO0FBQ1gsSUFBSSxPQUFPO0FBQ1gsQ0FBQyxDQUFDLENBQUM7QUFDSSxNQUFNLHNCQUFzQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDN0MsSUFBSSxXQUFXO0FBQ2YsSUFBSSxTQUFTO0FBQ2IsSUFBSSxVQUFVO0FBQ2QsSUFBSSxZQUFZO0FBQ2hCLElBQUksZ0JBQWdCO0FBQ3BCLENBQUMsQ0FBQyxDQUFDO0FBQ0ksTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUN4QyxJQUFJLElBQUksRUFBRSx3QkFBd0I7QUFDbEMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNsRixJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztBQUN4QyxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztBQUN4QyxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztBQUN4QyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztBQUNyQyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztBQUNyQyxJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztBQUN2QyxJQUFJLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0FBQ3RCLENBQUMsQ0FBQyxDQUFDO0FBQ0ksTUFBTSxpQkFBaUIsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDO0FBQ3hELElBQUksSUFBSSxFQUFFLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSSxLQUFLLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztBQUMxSixJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSUEsVUFBUSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO0FBQ3pILElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0FBQ2hHLElBQUksTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLElBQUksS0FBSyx1QkFBdUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQztBQUN4RyxDQUFDLENBQUMsQ0FBQztBQUNJLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUM7QUFDbkQsSUFBSSxJQUFJLEVBQUUsd0JBQXdCLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLEtBQUssd0JBQXdCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0FBQ2hKLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJQSxVQUFRLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7QUFDcEgsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7QUFDaEcsSUFBSSxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSSxLQUFLLHVCQUF1QixDQUFDLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDO0FBQ3hHLENBQUMsQ0FBQyxDQUFDO0FBQ0ksTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQztBQUNuRCxJQUFJLElBQUksRUFBRSx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLElBQUksS0FBSyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7QUFDaEosSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUlBLFVBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztBQUNwSCxJQUFJLE9BQU8sRUFBRSxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO0FBQ3hELElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0FBQ2hHLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0FBQ3BFLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO0FBQ2pELElBQUksTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLElBQUksS0FBSyw4Q0FBOEMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyw4Q0FBOEMsQ0FBQztBQUN0SixDQUFDLENBQUM7O0FDN0NLLE1BQU0sT0FBTyxHQUFHO0FBQ3ZCLElBQUksSUFBSSxFQUFFLFFBQVE7QUFDbEIsSUFBSSxNQUFNLEVBQUUsUUFBUTtBQUNwQixDQUFDOztBQ0lNLE1BQU0sSUFBSSxDQUFDO0FBQ2xCLElBQUksT0FBTyxDQUFDO0FBQ1osSUFBSSxTQUFTLENBQUM7QUFDZDtBQUNBLElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRTtBQUN6QixRQUFRLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0FBQy9CO0FBQ0EsUUFBUSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxPQUFPLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO0FBQzFGLFFBQVEsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7QUFDL0YsWUFBWSxJQUFJLEVBQUUsV0FBVztBQUM3QixZQUFZLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUk7QUFDbkMsWUFBWSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUM7QUFDeEUsWUFBWSxLQUFLLEVBQUU7QUFDbkIsZ0JBQWdCLEdBQUcsRUFBRSxFQUFFO0FBQ3ZCLGdCQUFnQixLQUFLLEVBQUUsQ0FBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLHVCQUF1QixFQUFFLHNCQUFzQixFQUFFLDZCQUE2QixDQUFDO0FBQ3RJLGdCQUFnQixXQUFXLEVBQUUsSUFBSTtBQUNqQyxnQkFBZ0IsZUFBZSxFQUFFLENBQUM7QUFDbEMsYUFBYTtBQUNiLFlBQVksT0FBTyxFQUFFLEtBQUs7QUFDMUIsU0FBUyxDQUFDLENBQUM7QUFDWCxLQUFLO0FBQ0w7QUFDQSxJQUFJLE1BQU0sR0FBRyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUU7QUFDNUIsUUFBUSxJQUFJO0FBQ1osWUFBWSxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFDekQsU0FBUztBQUNULFFBQVEsT0FBTyxHQUFHLEVBQUU7QUFDcEIsWUFBWSxPQUFPLENBQUMsS0FBSyxDQUFDLGdFQUFnRSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUN0RyxZQUFZLE1BQU0sR0FBRyxDQUFDO0FBQ3RCLFNBQVM7QUFDVCxLQUFLO0FBQ0wsSUFBSSxNQUFNLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7QUFDNUMsUUFBUSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUN2RSxRQUFRLElBQUksS0FBSyxFQUFFO0FBQ25CLFlBQVksTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDOUIsU0FBUztBQUNULFFBQVEsTUFBTSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDeEIsUUFBUSxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztBQUN4RCxRQUFRLElBQUksQ0FBQyxXQUFXLEVBQUU7QUFDMUIsWUFBWSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM3RSxZQUFZLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QixTQUFTO0FBQ1QsYUFBYTtBQUNiLFlBQVksT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLHlEQUF5RCxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDN0csWUFBWSxJQUFJO0FBQ2hCLGdCQUFnQixNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztBQUM3QyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtBQUMxQyxvQkFBb0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7QUFDakUsb0JBQW9CLElBQUksT0FBTyxFQUFFO0FBQ2pDLHdCQUF3QixNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2hFLHFCQUFxQjtBQUNyQixpQkFBaUI7QUFDakIsYUFBYTtBQUNiLFlBQVksT0FBTyxHQUFHLEVBQUU7QUFDeEIsZ0JBQWdCLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoQyxhQUFhO0FBQ2IsU0FBUztBQUNULEtBQUs7QUFDTCxJQUFJLE1BQU0sSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRTtBQUMzQyxRQUFRLElBQUksS0FBSyxFQUFFO0FBQ25CLFlBQVksTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDOUIsU0FBUztBQUNULGFBQWE7QUFDYixZQUFZLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO0FBQ3ZFLFlBQVksTUFBTSxJQUFJLENBQUM7QUFDdkIsZ0JBQWdCLEdBQUcsRUFBRSxHQUFHLEVBQUU7QUFDMUIsZ0JBQWdCLGNBQWM7QUFDOUIsZ0JBQWdCLEdBQUcsRUFBRSxJQUFJO0FBQ3pCLGFBQWEsQ0FBQyxDQUFDO0FBQ2YsU0FBUztBQUNULEtBQUs7QUFDTCxJQUFJLE1BQU0sZUFBZSxHQUFHLEdBQUc7QUFDL0I7QUFDQSxJQUFJLHNCQUFzQixHQUFHO0FBQzdCLFFBQVEsT0FBTztBQUNmLFlBQVksUUFBUSxFQUFFO0FBQ3RCLGdCQUFnQixJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRTtBQUN2QyxhQUFhO0FBQ2IsWUFBWSxRQUFRLEVBQUU7QUFDdEIsZ0JBQWdCLFFBQVEsRUFBRSxPQUFPO0FBQ2pDLGFBQWE7QUFDYixTQUFTLENBQUM7QUFDVixLQUFLO0FBQ0wsSUFBSSxNQUFNLEVBQUUsR0FBRztBQUNmLFFBQVEsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUM7QUFDbkUsUUFBUSxPQUFPLEtBQUssQ0FBQztBQUNyQixZQUFZLEdBQUcsRUFBRSxHQUFHLEVBQUU7QUFDdEIsWUFBWSxjQUFjO0FBQzFCLFlBQVksR0FBRyxFQUFFLElBQUk7QUFDckIsU0FBUyxDQUFDLENBQUM7QUFDWCxLQUFLO0FBQ0wsSUFBSSxNQUFNLElBQUksR0FBRztBQUNqQixRQUFRLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO0FBQ25FLFFBQVEsT0FBTyxPQUFPLENBQUM7QUFDdkIsWUFBWSxHQUFHLEVBQUUsR0FBRyxFQUFFO0FBQ3RCLFlBQVksY0FBYztBQUMxQixZQUFZLGNBQWMsRUFBRSxDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO0FBQ3hFLFlBQVksR0FBRyxFQUFFLElBQUk7QUFDckIsU0FBUyxDQUFDLENBQUM7QUFDWCxLQUFLO0FBQ0wsSUFBSSxNQUFNLGNBQWMsR0FBRztBQUMzQixRQUFRLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztBQUNqRixLQUFLO0FBQ0wsSUFBSSxNQUFNLGVBQWUsR0FBRztBQUM1QixRQUFRLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO0FBQ25FLFFBQVEsTUFBTSxNQUFNLEdBQUcsTUFBTSxFQUFFLENBQUM7QUFDaEMsWUFBWSxHQUFHLEVBQUUsR0FBRyxFQUFFO0FBQ3RCLFlBQVksY0FBYztBQUMxQixZQUFZLGNBQWMsRUFBRSxDQUFDLE9BQU8sQ0FBQztBQUNyQyxZQUFZLEdBQUcsRUFBRSxLQUFLO0FBQ3RCLFNBQVMsQ0FBQyxDQUFDO0FBQ1gsUUFBUSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUk7QUFDakQsWUFBWSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMvQyxZQUFZLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3BELFlBQVksT0FBTyxPQUFPLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7QUFDakQsU0FBUyxDQUFDLENBQUM7QUFDWCxLQUFLO0FBQ0wsSUFBSSxNQUFNLGNBQWMsQ0FBQyxPQUFPLEVBQUU7QUFDbEMsUUFBUSxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sS0FBSztBQUNoRCxZQUFZLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztBQUN4RyxZQUFZLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxPQUFPLEVBQUUsR0FBRyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pILFNBQVMsQ0FBQyxDQUFDO0FBQ1gsS0FBSztBQUNMOztBQ2hJTyxNQUFNLEtBQUssU0FBUyxJQUFJLENBQUM7QUFDaEMsSUFBSSxPQUFPLENBQUM7QUFDWixJQUFJLElBQUksR0FBRyxHQUFHO0FBQ2QsUUFBUSxPQUFPLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFDNUgsS0FBSztBQUNMO0FBQ0EsSUFBSSxXQUFXLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUU7QUFDbEQsUUFBUSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDdkIsUUFBUSxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztBQUMvQixLQUFLO0FBQ0w7QUFDQSxJQUFJLE1BQU0sZUFBZSxHQUFHO0FBQzVCLFFBQVEsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkUsUUFBUSxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMscUNBQXFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZHLFFBQVEsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLHdEQUF3RCxDQUFDLENBQUMsQ0FBQztBQUMxSCxLQUFLO0FBQ0wsSUFBSSxVQUFVLEdBQUcsTUFBTTtBQUN2QixRQUFRLE9BQU87QUFDZixZQUFZLEtBQUssRUFBRSxDQUFDLCtCQUErQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDdkUsWUFBWSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hELFlBQVksV0FBVyxFQUFFO0FBQ3pCLGdCQUFnQixXQUFXLEVBQUUsR0FBRztBQUNoQyxnQkFBZ0IsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksTUFBTTtBQUNsRSxnQkFBZ0IsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTztBQUMvQyxhQUFhO0FBQ2IsWUFBWSxRQUFRLEVBQUU7QUFDdEIsZ0JBQWdCLFFBQVEsRUFBRTtBQUMxQixvQkFBb0IsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQztBQUMvQyxpQkFBaUI7QUFDakIsYUFBYTtBQUNiLFNBQVMsQ0FBQztBQUNWLEtBQUssQ0FBQztBQUNOOztBQ2hDTyxNQUFNLEtBQUssU0FBUyxJQUFJLENBQUM7QUFDaEMsSUFBSSxPQUFPLENBQUM7QUFDWixJQUFJLElBQUksR0FBRyxHQUFHO0FBQ2QsUUFBUSxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLHdEQUF3RCxDQUFDLENBQUM7QUFDdkksS0FBSztBQUNMO0FBQ0EsSUFBSSxXQUFXLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUU7QUFDbEQsUUFBUSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDdkIsUUFBUSxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztBQUMvQixLQUFLO0FBQ0w7QUFDQSxJQUFJLE1BQU0sZUFBZSxHQUFHO0FBQzVCLFFBQVEsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLDRDQUE0QyxDQUFDLENBQUMsQ0FBQztBQUM5RyxLQUFLO0FBQ0wsSUFBSSxVQUFVLEdBQUcsTUFBTTtBQUN2QixRQUFRLE9BQU87QUFDZixZQUFZLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzlDLFlBQVksS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN4RCxZQUFZLFdBQVcsRUFBRTtBQUN6QixnQkFBZ0IsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksTUFBTTtBQUNwRSxnQkFBZ0IsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLE1BQU07QUFDM0QsZ0JBQWdCLGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxNQUFNO0FBQy9ELGdCQUFnQixjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksTUFBTTtBQUMvRCxhQUFhO0FBQ2IsWUFBWSxPQUFPLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQztBQUM1RCxZQUFZLFFBQVEsRUFBRTtBQUN0QixnQkFBZ0IsUUFBUSxFQUFFO0FBQzFCLG9CQUFvQixPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDO0FBQy9DLGlCQUFpQjtBQUNqQixhQUFhO0FBQ2IsU0FBUyxDQUFDO0FBQ1YsS0FBSyxDQUFDO0FBQ047O0FDaENPLE1BQU0sUUFBUSxTQUFTLElBQUksQ0FBQztBQUNuQyxJQUFJLE9BQU8sQ0FBQztBQUNaLElBQUksSUFBSSxHQUFHLEdBQUc7QUFDZCxRQUFRLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQ3BGLEtBQUs7QUFDTDtBQUNBLElBQUksV0FBVyxDQUFDLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUU7QUFDdkQsUUFBUSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDdkIsUUFBUSxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztBQUMvQixLQUFLO0FBQ0w7QUFDQSxJQUFJLFVBQVUsR0FBRyxNQUFNO0FBQ3ZCLFFBQVEsT0FBTztBQUNmLFlBQVksS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDakQsWUFBWSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hELFlBQVksV0FBVyxFQUFFO0FBQ3pCLGdCQUFnQixhQUFhLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksTUFBTTtBQUM5RCxnQkFBZ0IsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksTUFBTTtBQUNsRSxnQkFBZ0IsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLE1BQU07QUFDNUQsZ0JBQWdCLHlCQUF5QixFQUFFLEtBQUs7QUFDaEQsZ0JBQWdCLG9CQUFvQixFQUFFLDhDQUE4QztBQUNwRixhQUFhO0FBQ2IsWUFBWSxRQUFRLEVBQUU7QUFDdEIsZ0JBQWdCLFFBQVEsRUFBRTtBQUMxQixvQkFBb0IsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQztBQUMvQyxpQkFBaUI7QUFDakIsYUFBYTtBQUNiLFNBQVMsQ0FBQztBQUNWLEtBQUssQ0FBQztBQUNOOztBQzNCTyxNQUFNLGlCQUFpQixHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsS0FBSztBQUNuRCxJQUFJLFFBQVEsT0FBTyxDQUFDLElBQUk7QUFDeEIsUUFBUSxLQUFLLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxVQUFVO0FBQ3ZELFlBQVksT0FBTyxJQUFJLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDOUUsUUFBUSxLQUFLLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxLQUFLO0FBQ2xELFlBQVksT0FBTyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3RFLFFBQVEsS0FBSyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsS0FBSztBQUNsRCxZQUFZLE9BQU8sSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN0RSxLQUFLO0FBQ0wsQ0FBQzs7QUNYTSxNQUFNLGNBQWMsR0FBRyxDQUFDLFlBQVksS0FBSztBQUNoRCxJQUFJLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO0FBQ3RDLElBQUksTUFBTSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDOUQsSUFBSSxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUMxRixJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzdELENBQUM7O0FDTE0sTUFBTSxXQUFXLEdBQUcsTUFBTTtBQUNqQyxJQUFJLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxjQUFjLENBQUMsNEJBQTRCLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN4RixJQUFJLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDekMsSUFBSSxPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDOztBQ0xNLE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBTSxFQUFFLEdBQUcsS0FBSztBQUM5QyxJQUFJLE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM1QyxJQUFJLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3pCLENBQUMsQ0FBQztBQUNGO0FBQ0E7QUFDTyxNQUFNLGNBQWMsR0FBRyxDQUFDLE1BQU0sS0FBSztBQUMxQyxJQUFJLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLO0FBQ2pGLFFBQVEsSUFBSSxLQUFLLFlBQVksQ0FBQyxDQUFDLFVBQVUsRUFBRTtBQUMzQyxZQUFZLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7QUFDM0QsWUFBWSxPQUFPLFlBQVksS0FBSyxJQUFJLElBQUksT0FBTyxZQUFZLEtBQUssV0FBVyxDQUFDO0FBQ2hGLFNBQVM7QUFDVCxRQUFRLE9BQU8sS0FBSyxDQUFDO0FBQ3JCLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRSxDQUFDOztBQ1BELE1BQU0sT0FBTyxHQUFHLElBQUlDLFNBQVMsRUFBRSxDQUFDO0FBQ2hDLE1BQU0sUUFBUSxHQUFHLFdBQVcsRUFBRSxDQUFDO0FBQy9CLE1BQU0sT0FBTyxHQUFHLE1BQU07QUFDdEIsSUFBSSxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUM7QUFDeEIsSUFBSSxPQUFPO0FBQ1gsUUFBUSxNQUFNLEVBQUUsT0FBTyxPQUFPLEtBQUs7QUFDbkMsWUFBWSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDbEQsWUFBWSxPQUFPLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUNwQyxTQUFTO0FBQ1QsUUFBUSxZQUFZLEVBQUUsWUFBWTtBQUNsQyxZQUFZLElBQUksUUFBUSxFQUFFO0FBQzFCLGdCQUFnQixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztBQUNsRCxnQkFBZ0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNyRCxnQkFBZ0IsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU07QUFDakQsb0JBQW9CLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDdEQsaUJBQWlCLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTTtBQUMvQixvQkFBb0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUM7QUFDeEYsaUJBQWlCLENBQUMsQ0FBQztBQUNuQixhQUFhO0FBQ2IsU0FBUztBQUNULEtBQUssQ0FBQztBQUNOLENBQUMsQ0FBQztBQUNGLE9BQU87QUFDUCxLQUFLLElBQUksQ0FBQyxlQUFlLENBQUM7QUFDMUIsS0FBSyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM5QixPQUFPO0FBQ1AsS0FBSyxPQUFPLENBQUMsWUFBWSxDQUFDO0FBQzFCLEtBQUssV0FBVyxDQUFDLGtCQUFrQixDQUFDO0FBQ3BDLEtBQUssU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLGlCQUFpQixFQUFFLDRCQUE0QixDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDM0osS0FBSyxTQUFTLENBQUMsSUFBSSxNQUFNLENBQUMsMkJBQTJCLEVBQUUsc0RBQXNELENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDckssS0FBSyxTQUFTLENBQUMsSUFBSSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsbURBQW1ELENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDdEosS0FBSyxTQUFTLENBQUMsSUFBSSxNQUFNLENBQUMsMkJBQTJCLEVBQUUsd0RBQXdELENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDdkssS0FBSyxTQUFTLENBQUMsSUFBSSxNQUFNLENBQUMsMkJBQTJCLEVBQUUsNERBQTRELENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDM0ssS0FBSyxTQUFTLENBQUMsSUFBSSxNQUFNLENBQUMsU0FBUyxFQUFFLGdEQUFnRCxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3RHLEtBQUssU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRSw4Q0FBOEMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNwRyxLQUFLLFNBQVMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUUsMkJBQTJCLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbkYsS0FBSyxNQUFNLENBQUMsT0FBTyxJQUFJLGFBQWEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sRUFBRSxJQUFJLEVBQUUsd0JBQXdCLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM1SCxPQUFPO0FBQ1AsS0FBSyxPQUFPLENBQUMsT0FBTyxDQUFDO0FBQ3JCLEtBQUssV0FBVyxDQUFDLGFBQWEsQ0FBQztBQUMvQixLQUFLLFNBQVMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ25KLEtBQUssU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLDJCQUEyQixFQUFFLHlEQUF5RCxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUNuSyxLQUFLLFNBQVMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxtREFBbUQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDakosS0FBSyxTQUFTLENBQUMsSUFBSSxNQUFNLENBQUMsMkJBQTJCLEVBQUUscURBQXFELENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQy9KLEtBQUssU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLDJCQUEyQixFQUFFLHlEQUF5RCxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUNuSyxLQUFLLFNBQVMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLEVBQUUsZ0RBQWdELENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdEcsS0FBSyxTQUFTLENBQUMsSUFBSSxNQUFNLENBQUMsU0FBUyxFQUFFLDhDQUE4QyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3BHLEtBQUssU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRSwyQkFBMkIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNuRixLQUFLLE1BQU0sQ0FBQyxPQUFPLElBQUksYUFBYSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxFQUFFLElBQUksRUFBRSx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3ZILE9BQU87QUFDUCxLQUFLLE9BQU8sQ0FBQyxPQUFPLENBQUM7QUFDckIsS0FBSyxXQUFXLENBQUMsNEJBQTRCLENBQUM7QUFDOUMsS0FBSyxTQUFTLENBQUMsSUFBSSxNQUFNLENBQUMsaUJBQWlCLEVBQUUsd0NBQXdDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNsSyxLQUFLLFNBQVMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSxxQ0FBcUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNuTSxLQUFLLFNBQVMsQ0FBQyxJQUFJLE1BQU0sQ0FBQywyQkFBMkIsRUFBRSxrREFBa0QsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDNUosS0FBSyxTQUFTLENBQUMsSUFBSSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsbURBQW1ELENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ2pKLEtBQUssU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLDJCQUEyQixFQUFFLG9HQUFvRyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUM5TSxLQUFLLFNBQVMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLEVBQUUsZ0RBQWdELENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdEcsS0FBSyxTQUFTLENBQUMsSUFBSSxNQUFNLENBQUMsU0FBUyxFQUFFLDhDQUE4QyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3BHLEtBQUssU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRSwyQkFBMkIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNuRixLQUFLLE1BQU0sQ0FBQyxPQUFPLElBQUksYUFBYSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxFQUFFLElBQUksRUFBRSx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDdkksT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUQsT0FBTyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTTtBQUMzQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxrREFBa0QsQ0FBQyxDQUFDLENBQUM7QUFDdEUsSUFBSSxZQUFZLEVBQUUsQ0FBQztBQUNuQixDQUFDLENBQUMifQ==