@alauda-fe/storage 0.0.11 → 0.0.13

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.
@@ -106,6 +106,15 @@ function PersistentVolumeClaimFormComponent_aui_form_item_4_Template(rf, ctx) {
106
106
  i0.ɵɵadvance();
107
107
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(10, 12, "storage.static_match"), " ");
108
108
  } }
109
+ function PersistentVolumeClaimFormComponent_ng_container_6_aui_form_item_1_div_9_Template(rf, ctx) { if (rf & 1) {
110
+ i0.ɵɵelementStart(0, "div", 22);
111
+ i0.ɵɵtext(1);
112
+ i0.ɵɵpipe(2, "translate");
113
+ i0.ɵɵelementEnd();
114
+ } if (rf & 2) {
115
+ i0.ɵɵadvance();
116
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "storage.restore_pvc_storageclass_hint"), " ");
117
+ } }
109
118
  function PersistentVolumeClaimFormComponent_ng_container_6_aui_form_item_1_Template(rf, ctx) { if (rf & 1) {
110
119
  const _r7 = i0.ɵɵgetCurrentView();
111
120
  i0.ɵɵelementStart(0, "aui-form-item", 18)(1, "label", 13);
@@ -119,21 +128,24 @@ function PersistentVolumeClaimFormComponent_ng_container_6_aui_form_item_1_Templ
119
128
  i0.ɵɵlistener("storageClassChange", function PersistentVolumeClaimFormComponent_ng_container_6_aui_form_item_1_Template_acl_storageclass_select_storageClassChange_4_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.storageclassChange($event)); });
120
129
  i0.ɵɵelementEnd();
121
130
  i0.ɵɵelement(8, "acl-errors-mapper", 20);
131
+ i0.ɵɵtemplate(9, PersistentVolumeClaimFormComponent_ng_container_6_aui_form_item_1_div_9_Template, 3, 3, "div", 21);
122
132
  i0.ɵɵelementEnd();
123
133
  } if (rf & 2) {
124
134
  const storageClassName_r8 = i0.ɵɵreference(5);
125
135
  const ctx_r1 = i0.ɵɵnextContext(2);
126
136
  i0.ɵɵadvance(2);
127
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 6, "storageclass"));
137
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "storageclass"));
128
138
  i0.ɵɵadvance(2);
129
- i0.ɵɵproperty("storageClasses", i0.ɵɵpipeBind1(6, 8, ctx_r1.storageClassList$))("volumeSnapshotClasses", i0.ɵɵpipeBind1(7, 10, ctx_r1.volumeSnapshotClassList$))("isFromSnapshot", ctx_r1.isFromSnapshot);
139
+ i0.ɵɵproperty("storageClasses", i0.ɵɵpipeBind1(6, 10, ctx_r1.storageClassList$))("volumeSnapshotClasses", i0.ɵɵpipeBind1(7, 12, ctx_r1.volumeSnapshotClassList$))("isFromSnapshot", ctx_r1.isFromSnapshotAndSourcePVCExist)("selectDefault", ctx_r1.selectDefault);
130
140
  i0.ɵɵtwoWayProperty("ngModel", ctx_r1.model.storageClassName);
131
141
  i0.ɵɵadvance(4);
132
142
  i0.ɵɵproperty("errors", storageClassName_r8.errors);
143
+ i0.ɵɵadvance();
144
+ i0.ɵɵproperty("ngIf", ctx_r1.showStorageClassHintWhenFromSnapshot);
133
145
  } }
134
146
  function PersistentVolumeClaimFormComponent_ng_container_6_Template(rf, ctx) { if (rf & 1) {
135
147
  i0.ɵɵelementContainerStart(0);
136
- i0.ɵɵtemplate(1, PersistentVolumeClaimFormComponent_ng_container_6_aui_form_item_1_Template, 9, 12, "aui-form-item", 11);
148
+ i0.ɵɵtemplate(1, PersistentVolumeClaimFormComponent_ng_container_6_aui_form_item_1_Template, 10, 14, "aui-form-item", 11);
137
149
  i0.ɵɵelementContainerEnd();
138
150
  } if (rf & 2) {
139
151
  const ctx_r1 = i0.ɵɵnextContext();
@@ -141,7 +153,7 @@ function PersistentVolumeClaimFormComponent_ng_container_6_Template(rf, ctx) { i
141
153
  i0.ɵɵproperty("ngIf", ctx_r1.createMethod !== ctx_r1.PvcStorageClassCreateType.STATIC);
142
154
  } }
143
155
  function PersistentVolumeClaimFormComponent_aui_form_item_8_aui_radio_button_5_Template(rf, ctx) { if (rf & 1) {
144
- i0.ɵɵelementStart(0, "aui-radio-button", 24);
156
+ i0.ɵɵelementStart(0, "aui-radio-button", 26);
145
157
  i0.ɵɵpipe(1, "translate");
146
158
  i0.ɵɵpipe(2, "pure");
147
159
  i0.ɵɵpipe(3, "pure");
@@ -156,8 +168,8 @@ function PersistentVolumeClaimFormComponent_aui_form_item_8_aui_radio_button_5_T
156
168
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 15, "storage." + ctx_r1.VolumeModeTranslateKey[mode_r10]), " ");
157
169
  } }
158
170
  function PersistentVolumeClaimFormComponent_aui_form_item_8_div_6_Template(rf, ctx) { if (rf & 1) {
159
- i0.ɵɵelementStart(0, "div", 25);
160
- i0.ɵɵelement(1, "aui-icon", 26);
171
+ i0.ɵɵelementStart(0, "div", 27);
172
+ i0.ɵɵelement(1, "aui-icon", 28);
161
173
  i0.ɵɵelementEnd();
162
174
  } if (rf & 2) {
163
175
  i0.ɵɵnextContext();
@@ -166,7 +178,7 @@ function PersistentVolumeClaimFormComponent_aui_form_item_8_div_6_Template(rf, c
166
178
  i0.ɵɵproperty("auiTooltip", volumeModeTip_r11)("auiTooltipPosition", "top center");
167
179
  } }
168
180
  function PersistentVolumeClaimFormComponent_aui_form_item_8_ng_template_7_Template(rf, ctx) { if (rf & 1) {
169
- i0.ɵɵelementStart(0, "ul", 27)(1, "li");
181
+ i0.ɵɵelementStart(0, "ul", 29)(1, "li");
170
182
  i0.ɵɵtext(2);
171
183
  i0.ɵɵpipe(3, "translate");
172
184
  i0.ɵɵelementEnd();
@@ -193,12 +205,12 @@ function PersistentVolumeClaimFormComponent_aui_form_item_8_Template(rf, ctx) {
193
205
  i0.ɵɵtext(2);
194
206
  i0.ɵɵpipe(3, "translate");
195
207
  i0.ɵɵelementEnd();
196
- i0.ɵɵelementStart(4, "aui-radio-group", 21);
208
+ i0.ɵɵelementStart(4, "aui-radio-group", 23);
197
209
  i0.ɵɵtwoWayListener("ngModelChange", function PersistentVolumeClaimFormComponent_aui_form_item_8_Template_aui_radio_group_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.model.volumeMode, $event) || (ctx_r1.model.volumeMode = $event); return i0.ɵɵresetView($event); });
198
210
  i0.ɵɵlistener("ngModelChange", function PersistentVolumeClaimFormComponent_aui_form_item_8_Template_aui_radio_group_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.volumeModeChange($event)); });
199
- i0.ɵɵtemplate(5, PersistentVolumeClaimFormComponent_aui_form_item_8_aui_radio_button_5_Template, 6, 17, "aui-radio-button", 22);
211
+ i0.ɵɵtemplate(5, PersistentVolumeClaimFormComponent_aui_form_item_8_aui_radio_button_5_Template, 6, 17, "aui-radio-button", 24);
200
212
  i0.ɵɵelementEnd();
201
- i0.ɵɵtemplate(6, PersistentVolumeClaimFormComponent_aui_form_item_8_div_6_Template, 2, 2, "div", 23)(7, PersistentVolumeClaimFormComponent_aui_form_item_8_ng_template_7_Template, 7, 6, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor)(9, PersistentVolumeClaimFormComponent_aui_form_item_8_ng_template_9_Template, 2, 3, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor);
213
+ i0.ɵɵtemplate(6, PersistentVolumeClaimFormComponent_aui_form_item_8_div_6_Template, 2, 2, "div", 25)(7, PersistentVolumeClaimFormComponent_aui_form_item_8_ng_template_7_Template, 7, 6, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor)(9, PersistentVolumeClaimFormComponent_aui_form_item_8_ng_template_9_Template, 2, 3, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor);
202
214
  i0.ɵɵelementEnd();
203
215
  } if (rf & 2) {
204
216
  const volumeModeTmpl_r12 = i0.ɵɵreference(10);
@@ -207,14 +219,14 @@ function PersistentVolumeClaimFormComponent_aui_form_item_8_Template(rf, ctx) {
207
219
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 6, "storage.volume_mode"));
208
220
  i0.ɵɵadvance(2);
209
221
  i0.ɵɵtwoWayProperty("ngModel", ctx_r1.model.volumeMode);
210
- i0.ɵɵproperty("aclReadonlyField", ctx_r1.isFromSnapshot || !!ctx_r1.volumeMode)("aclReadonlyFieldTemplate", volumeModeTmpl_r12);
222
+ i0.ɵɵproperty("aclReadonlyField", ctx_r1.isFromSnapshotAndSourcePVCExist || !!ctx_r1.volumeMode)("aclReadonlyFieldTemplate", volumeModeTmpl_r12);
211
223
  i0.ɵɵadvance();
212
224
  i0.ɵɵproperty("ngForOf", ctx_r1.volumeModes);
213
225
  i0.ɵɵadvance();
214
226
  i0.ɵɵproperty("ngIf", !ctx_r1.volumeMode);
215
227
  } }
216
228
  function PersistentVolumeClaimFormComponent_aui_form_item_10_aui_radio_button_6_Template(rf, ctx) { if (rf & 1) {
217
- i0.ɵɵelementStart(0, "aui-radio-button", 30);
229
+ i0.ɵɵelementStart(0, "aui-radio-button", 32);
218
230
  i0.ɵɵpipe(1, "translate");
219
231
  i0.ɵɵpipe(2, "pure");
220
232
  i0.ɵɵpipe(3, "pure");
@@ -229,7 +241,7 @@ function PersistentVolumeClaimFormComponent_aui_form_item_10_aui_radio_button_6_
229
241
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 17, "storage." + ctx_r1.AccessModeTranslateKey[mode_r14]), " ");
230
242
  } }
231
243
  function PersistentVolumeClaimFormComponent_aui_form_item_10_ng_template_10_Template(rf, ctx) { if (rf & 1) {
232
- i0.ɵɵelementStart(0, "ul", 27)(1, "li");
244
+ i0.ɵɵelementStart(0, "ul", 29)(1, "li");
233
245
  i0.ɵɵtext(2);
234
246
  i0.ɵɵpipe(3, "translate");
235
247
  i0.ɵɵelementEnd();
@@ -255,12 +267,12 @@ function PersistentVolumeClaimFormComponent_aui_form_item_10_Template(rf, ctx) {
255
267
  i0.ɵɵtext(2);
256
268
  i0.ɵɵpipe(3, "translate");
257
269
  i0.ɵɵelementEnd();
258
- i0.ɵɵelementStart(4, "aui-radio-group", 28, 5);
270
+ i0.ɵɵelementStart(4, "aui-radio-group", 30, 5);
259
271
  i0.ɵɵtwoWayListener("ngModelChange", function PersistentVolumeClaimFormComponent_aui_form_item_10_Template_aui_radio_group_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r13); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.model.accessModes, $event) || (ctx_r1.model.accessModes = $event); return i0.ɵɵresetView($event); });
260
- i0.ɵɵtemplate(6, PersistentVolumeClaimFormComponent_aui_form_item_10_aui_radio_button_6_Template, 6, 19, "aui-radio-button", 29);
272
+ i0.ɵɵtemplate(6, PersistentVolumeClaimFormComponent_aui_form_item_10_aui_radio_button_6_Template, 6, 19, "aui-radio-button", 31);
261
273
  i0.ɵɵelementEnd();
262
- i0.ɵɵelementStart(7, "div", 25);
263
- i0.ɵɵelement(8, "aui-icon", 26);
274
+ i0.ɵɵelementStart(7, "div", 27);
275
+ i0.ɵɵelement(8, "aui-icon", 28);
264
276
  i0.ɵɵelementEnd();
265
277
  i0.ɵɵelement(9, "acl-errors-mapper", 20);
266
278
  i0.ɵɵtemplate(10, PersistentVolumeClaimFormComponent_aui_form_item_10_ng_template_10_Template, 10, 9, "ng-template", null, 6, i0.ɵɵtemplateRefExtractor);
@@ -281,7 +293,7 @@ function PersistentVolumeClaimFormComponent_aui_form_item_10_Template(rf, ctx) {
281
293
  i0.ɵɵproperty("errors", accessMode_r15.errors);
282
294
  } }
283
295
  function PersistentVolumeClaimFormComponent_aui_form_item_12_aui_select_6_aui_option_1_Template(rf, ctx) { if (rf & 1) {
284
- i0.ɵɵelementStart(0, "aui-option", 35);
296
+ i0.ɵɵelementStart(0, "aui-option", 37);
285
297
  i0.ɵɵtext(1);
286
298
  i0.ɵɵelementEnd();
287
299
  } if (rf & 2) {
@@ -292,9 +304,9 @@ function PersistentVolumeClaimFormComponent_aui_form_item_12_aui_select_6_aui_op
292
304
  } }
293
305
  function PersistentVolumeClaimFormComponent_aui_form_item_12_aui_select_6_Template(rf, ctx) { if (rf & 1) {
294
306
  const _r18 = i0.ɵɵgetCurrentView();
295
- i0.ɵɵelementStart(0, "aui-select", 33);
307
+ i0.ɵɵelementStart(0, "aui-select", 35);
296
308
  i0.ɵɵtwoWayListener("ngModelChange", function PersistentVolumeClaimFormComponent_aui_form_item_12_aui_select_6_Template_aui_select_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r18); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.unit, $event) || (ctx_r1.unit = $event); return i0.ɵɵresetView($event); });
297
- i0.ɵɵtemplate(1, PersistentVolumeClaimFormComponent_aui_form_item_12_aui_select_6_aui_option_1_Template, 2, 3, "aui-option", 34);
309
+ i0.ɵɵtemplate(1, PersistentVolumeClaimFormComponent_aui_form_item_12_aui_select_6_aui_option_1_Template, 2, 3, "aui-option", 36);
298
310
  i0.ɵɵelementEnd();
299
311
  } if (rf & 2) {
300
312
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -314,10 +326,10 @@ function PersistentVolumeClaimFormComponent_aui_form_item_12_Template(rf, ctx) {
314
326
  i0.ɵɵtext(2);
315
327
  i0.ɵɵpipe(3, "translate");
316
328
  i0.ɵɵelementEnd();
317
- i0.ɵɵelementStart(4, "input", 31, 7);
329
+ i0.ɵɵelementStart(4, "input", 33, 7);
318
330
  i0.ɵɵtwoWayListener("ngModelChange", function PersistentVolumeClaimFormComponent_aui_form_item_12_Template_input_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r17); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.model.storage, $event) || (ctx_r1.model.storage = $event); return i0.ɵɵresetView($event); });
319
331
  i0.ɵɵelementEnd();
320
- i0.ɵɵtemplate(6, PersistentVolumeClaimFormComponent_aui_form_item_12_aui_select_6_Template, 2, 2, "aui-select", 32)(7, PersistentVolumeClaimFormComponent_aui_form_item_12_ng_template_7_Template, 1, 1, "ng-template", null, 8, i0.ɵɵtemplateRefExtractor);
332
+ i0.ɵɵtemplate(6, PersistentVolumeClaimFormComponent_aui_form_item_12_aui_select_6_Template, 2, 2, "aui-select", 34)(7, PersistentVolumeClaimFormComponent_aui_form_item_12_ng_template_7_Template, 1, 1, "ng-template", null, 8, i0.ɵɵtemplateRefExtractor);
321
333
  i0.ɵɵelement(9, "acl-errors-mapper", 15);
322
334
  i0.ɵɵpipe(10, "translate");
323
335
  i0.ɵɵelementEnd();
@@ -338,11 +350,11 @@ function PersistentVolumeClaimFormComponent_aui_form_item_12_Template(rf, ctx) {
338
350
  } }
339
351
  function PersistentVolumeClaimFormComponent_ng_container_14_aui_form_item_3_Template(rf, ctx) { if (rf & 1) {
340
352
  const _r22 = i0.ɵɵgetCurrentView();
341
- i0.ɵɵelementStart(0, "aui-form-item", 38)(1, "label", 13);
353
+ i0.ɵɵelementStart(0, "aui-form-item", 40)(1, "label", 13);
342
354
  i0.ɵɵtext(2);
343
355
  i0.ɵɵpipe(3, "translate");
344
356
  i0.ɵɵelementEnd();
345
- i0.ɵɵelementStart(4, "acl-key-value-form-table", 39);
357
+ i0.ɵɵelementStart(4, "acl-key-value-form-table", 41);
346
358
  i0.ɵɵpipe(5, "translate");
347
359
  i0.ɵɵpipe(6, "lowercase");
348
360
  i0.ɵɵpipe(7, "async");
@@ -358,11 +370,11 @@ function PersistentVolumeClaimFormComponent_ng_container_14_aui_form_item_3_Temp
358
370
  } }
359
371
  function PersistentVolumeClaimFormComponent_ng_container_14_aui_form_item_5_Template(rf, ctx) { if (rf & 1) {
360
372
  const _r23 = i0.ɵɵgetCurrentView();
361
- i0.ɵɵelementStart(0, "aui-form-item", 38)(1, "label", 13);
373
+ i0.ɵɵelementStart(0, "aui-form-item", 40)(1, "label", 13);
362
374
  i0.ɵɵtext(2);
363
375
  i0.ɵɵpipe(3, "translate");
364
376
  i0.ɵɵelementEnd();
365
- i0.ɵɵelementStart(4, "acl-key-value-form-table", 40);
377
+ i0.ɵɵelementStart(4, "acl-key-value-form-table", 42);
366
378
  i0.ɵɵpipe(5, "translate");
367
379
  i0.ɵɵpipe(6, "lowercase");
368
380
  i0.ɵɵpipe(7, "async");
@@ -380,11 +392,11 @@ function PersistentVolumeClaimFormComponent_ng_container_14_aui_form_item_5_Temp
380
392
  function PersistentVolumeClaimFormComponent_ng_container_14_ng_container_7_Template(rf, ctx) { if (rf & 1) {
381
393
  const _r24 = i0.ɵɵgetCurrentView();
382
394
  i0.ɵɵelementContainerStart(0);
383
- i0.ɵɵelementStart(1, "aui-form-item", 41)(2, "label", 13);
395
+ i0.ɵɵelementStart(1, "aui-form-item", 43)(2, "label", 13);
384
396
  i0.ɵɵtext(3);
385
397
  i0.ɵɵpipe(4, "translate");
386
398
  i0.ɵɵelementEnd();
387
- i0.ɵɵelementStart(5, "acl-key-value-form-table", 42);
399
+ i0.ɵɵelementStart(5, "acl-key-value-form-table", 44);
388
400
  i0.ɵɵtwoWayListener("ngModelChange", function PersistentVolumeClaimFormComponent_ng_container_14_ng_container_7_Template_acl_key_value_form_table_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.model.selector, $event) || (ctx_r1.model.selector = $event); return i0.ɵɵresetView($event); });
389
401
  i0.ɵɵelementEnd()();
390
402
  i0.ɵɵelementContainerEnd();
@@ -399,11 +411,11 @@ function PersistentVolumeClaimFormComponent_ng_container_14_ng_container_7_Templ
399
411
  } }
400
412
  function PersistentVolumeClaimFormComponent_ng_container_14_Template(rf, ctx) { if (rf & 1) {
401
413
  i0.ɵɵelementContainerStart(0);
402
- i0.ɵɵelementStart(1, "acl-foldable-block", 36);
414
+ i0.ɵɵelementStart(1, "acl-foldable-block", 38);
403
415
  i0.ɵɵpipe(2, "translate");
404
- i0.ɵɵtemplate(3, PersistentVolumeClaimFormComponent_ng_container_14_aui_form_item_3_Template, 8, 13, "aui-form-item", 37);
416
+ i0.ɵɵtemplate(3, PersistentVolumeClaimFormComponent_ng_container_14_aui_form_item_3_Template, 8, 13, "aui-form-item", 39);
405
417
  i0.ɵɵpipe(4, "pure");
406
- i0.ɵɵtemplate(5, PersistentVolumeClaimFormComponent_ng_container_14_aui_form_item_5_Template, 8, 13, "aui-form-item", 37);
418
+ i0.ɵɵtemplate(5, PersistentVolumeClaimFormComponent_ng_container_14_aui_form_item_5_Template, 8, 13, "aui-form-item", 39);
407
419
  i0.ɵɵpipe(6, "pure");
408
420
  i0.ɵɵtemplate(7, PersistentVolumeClaimFormComponent_ng_container_14_ng_container_7_Template, 6, 5, "ng-container", 10);
409
421
  i0.ɵɵpipe(8, "pure");
@@ -434,7 +446,19 @@ export class PersistentVolumeClaimFormComponent extends createNestedFormControl(
434
446
  }
435
447
  return this.displayFields?.some(field => ['labels', 'annotations', 'selector'].includes(field));
436
448
  }
449
+ get isFromSnapshotAndSourcePVCExist() {
450
+ return this.isFromSnapshot && !!this.originResource?.spec?.storageClassName;
451
+ }
452
+ get selectDefault() {
453
+ return this.isFromSnapshot
454
+ ? !!this.originResource?.spec?.storageClassName
455
+ : true;
456
+ }
457
+ get showStorageClassHintWhenFromSnapshot() {
458
+ return this.isFromSnapshot && !this.originResource?.spec?.storageClassName;
459
+ }
437
460
  writeValue(value) {
461
+ this.originResource = value;
438
462
  this.model = this.valueIn(value ??
439
463
  buildPvcResource({
440
464
  namespace: this.baseParams.namespace,
@@ -534,7 +558,7 @@ export class PersistentVolumeClaimFormComponent extends createNestedFormControl(
534
558
  storageclassChange(selectedOption) {
535
559
  this.selectedStorageSelectOption = selectedOption;
536
560
  this.setVolumeModeToSupportValueIfNeed();
537
- this.setAccessModeToSupportValueIfNeed();
561
+ this.setAccessModeToSupportValueIfNeed(this.model.volumeMode);
538
562
  }
539
563
  volumeModeChange(volumeMode) {
540
564
  this.setAccessModeToSupportValueIfNeed(volumeMode);
@@ -567,7 +591,7 @@ export class PersistentVolumeClaimFormComponent extends createNestedFormControl(
567
591
  useExisting: forwardRef(() => PersistentVolumeClaimFormComponent),
568
592
  multi: true,
569
593
  },
570
- ]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 15, vars: 29, consts: [["name", "ngModel"], ["createTypeTmpl", ""], ["storageClassName", "ngModel"], ["volumeModeTip", ""], ["volumeModeTmpl", ""], ["accessMode", "ngModel"], ["accessModeTip", ""], ["storage", "ngModel"], ["capacityTpl", ""], ["width", "large", 4, "ngIf"], [4, "ngIf"], ["width", "medium", 4, "ngIf"], ["width", "large"], ["auiFormItemLabel", ""], ["aui-input", "", "auiFormItemControl", "", "name", "name", "maxlength", "63", "required", "", 3, "ngModelChange", "ngModel", "placeholder", "pattern"], ["auiFormItemError", "", 3, "errors", "errorsMapper"], ["size", "medium", "name", "createMethod", 3, "ngModelChange", "ngModel", "aclReadonlyField", "aclReadonlyFieldTemplate"], [3, "value"], ["width", "medium"], ["auiFormItemControl", "", "required", "", "name", "storageClassName", 3, "ngModelChange", "storageClassChange", "storageClasses", "volumeSnapshotClasses", "isFromSnapshot", "ngModel"], ["auiFormItemError", "", 3, "errors"], ["size", "medium", "name", "volumeMode", 3, "ngModelChange", "ngModel", "aclReadonlyField", "aclReadonlyFieldTemplate"], [3, "auiTooltip", "auiTooltipDisabled", "disabled", "value", 4, "ngFor", "ngForOf"], ["auiFormItemAddon", "", 4, "ngIf"], [3, "auiTooltip", "auiTooltipDisabled", "disabled", "value"], ["auiFormItemAddon", ""], ["icon", "question_circle", 1, "icon--help", 3, "auiTooltip", "auiTooltipPosition"], [1, "d-list"], ["auiFormItemControl", "", "name", "accessModes", 3, "ngModelChange", "ngModel"], [3, "auiTooltip", "auiTooltipDisabled", "value", "disabled", 4, "ngFor", "ngForOf"], [3, "auiTooltip", "auiTooltipDisabled", "value", "disabled"], ["aui-input", "", "type", "text", "name", "storage", "required", "", "auiFormItemControl", "", "required", "", 3, "ngModelChange", "pattern", "ngModel", "aclReadonlyField", "aclReadonlyFieldTemplate"], ["class", "tw-max-w-[60px] tw-ml-[-60px]", 3, "ngModel", "ngModelChange", 4, "ngIf"], [1, "tw-max-w-[60px]", "tw-ml-[-60px]", 3, "ngModelChange", "ngModel"], [3, "label", "value", 4, "ngFor", "ngForOf"], [3, "label", "value"], [3, "hint"], ["formGroupName", "metadata", 4, "ngIf"], ["formGroupName", "metadata"], ["auiFormItemControl", "", "name", "labels", 3, "ngModelChange", "ngModel", "resourceNameTranslated", "validator", "errorMapper"], ["auiFormItemControl", "", "name", "annotations", 3, "ngModelChange", "resourceNameTranslated", "ngModel", "validator", "errorMapper"], [3, "hidden"], ["auiFormItemControl", "", "name", "selector", 3, "ngModelChange", "ngModel"]], template: function PersistentVolumeClaimFormComponent_Template(rf, ctx) { if (rf & 1) {
594
+ ]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 15, vars: 29, consts: [["name", "ngModel"], ["createTypeTmpl", ""], ["storageClassName", "ngModel"], ["volumeModeTip", ""], ["volumeModeTmpl", ""], ["accessMode", "ngModel"], ["accessModeTip", ""], ["storage", "ngModel"], ["capacityTpl", ""], ["width", "large", 4, "ngIf"], [4, "ngIf"], ["width", "medium", 4, "ngIf"], ["width", "large"], ["auiFormItemLabel", ""], ["aui-input", "", "auiFormItemControl", "", "name", "name", "maxlength", "63", "required", "", 3, "ngModelChange", "ngModel", "placeholder", "pattern"], ["auiFormItemError", "", 3, "errors", "errorsMapper"], ["size", "medium", "name", "createMethod", 3, "ngModelChange", "ngModel", "aclReadonlyField", "aclReadonlyFieldTemplate"], [3, "value"], ["width", "medium"], ["auiFormItemControl", "", "required", "", "name", "storageClassName", 3, "ngModelChange", "storageClassChange", "storageClasses", "volumeSnapshotClasses", "isFromSnapshot", "selectDefault", "ngModel"], ["auiFormItemError", "", 3, "errors"], ["auiFormItemHint", "", "class", "tw-text-yellow", 4, "ngIf"], ["auiFormItemHint", "", 1, "tw-text-yellow"], ["size", "medium", "name", "volumeMode", 3, "ngModelChange", "ngModel", "aclReadonlyField", "aclReadonlyFieldTemplate"], [3, "auiTooltip", "auiTooltipDisabled", "disabled", "value", 4, "ngFor", "ngForOf"], ["auiFormItemAddon", "", 4, "ngIf"], [3, "auiTooltip", "auiTooltipDisabled", "disabled", "value"], ["auiFormItemAddon", ""], ["icon", "question_circle", 1, "icon--help", 3, "auiTooltip", "auiTooltipPosition"], [1, "d-list"], ["auiFormItemControl", "", "name", "accessModes", 3, "ngModelChange", "ngModel"], [3, "auiTooltip", "auiTooltipDisabled", "value", "disabled", 4, "ngFor", "ngForOf"], [3, "auiTooltip", "auiTooltipDisabled", "value", "disabled"], ["aui-input", "", "type", "text", "name", "storage", "required", "", "auiFormItemControl", "", "required", "", 3, "ngModelChange", "pattern", "ngModel", "aclReadonlyField", "aclReadonlyFieldTemplate"], ["class", "tw-max-w-[60px] tw-ml-[-60px]", 3, "ngModel", "ngModelChange", 4, "ngIf"], [1, "tw-max-w-[60px]", "tw-ml-[-60px]", 3, "ngModelChange", "ngModel"], [3, "label", "value", 4, "ngFor", "ngForOf"], [3, "label", "value"], [3, "hint"], ["formGroupName", "metadata", 4, "ngIf"], ["formGroupName", "metadata"], ["auiFormItemControl", "", "name", "labels", 3, "ngModelChange", "ngModel", "resourceNameTranslated", "validator", "errorMapper"], ["auiFormItemControl", "", "name", "annotations", 3, "ngModelChange", "resourceNameTranslated", "ngModel", "validator", "errorMapper"], [3, "hidden"], ["auiFormItemControl", "", "name", "selector", 3, "ngModelChange", "ngModel"]], template: function PersistentVolumeClaimFormComponent_Template(rf, ctx) { if (rf & 1) {
571
595
  i0.ɵɵtemplate(0, PersistentVolumeClaimFormComponent_aui_form_item_0_Template, 9, 14, "aui-form-item", 9);
572
596
  i0.ɵɵpipe(1, "pure");
573
597
  i0.ɵɵtemplate(2, PersistentVolumeClaimFormComponent_ng_container_2_Template, 2, 1, "ng-container", 10);
@@ -601,7 +625,7 @@ export class PersistentVolumeClaimFormComponent extends createNestedFormControl(
601
625
  i0.ɵɵproperty("ngIf", ctx.showAdvancedField);
602
626
  } }, dependencies: [NgIf,
603
627
  NgFor,
604
- FormsModule, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgControlStatusGroup, i3.RequiredValidator, i3.MaxLengthValidator, i3.PatternValidator, i3.NgModel, FormModule, i4.FormItemComponent, i4.FormItemAddonDirective, i4.FormItemErrorDirective, i4.FormItemLabelDirective, i4.FormItemControlDirective, RadioModule, i4.RadioGroupComponent, i4.RadioButtonComponent, InputModule, i4.InputComponent, SelectModule, i4.SelectComponent, i4.OptionComponent, TooltipModule, i4.TooltipDirective, IconModule, i4.IconComponent, PurePipe,
628
+ FormsModule, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgControlStatusGroup, i3.RequiredValidator, i3.MaxLengthValidator, i3.PatternValidator, i3.NgModel, FormModule, i4.FormItemComponent, i4.FormItemAddonDirective, i4.FormItemErrorDirective, i4.FormItemHintDirective, i4.FormItemLabelDirective, i4.FormItemControlDirective, RadioModule, i4.RadioGroupComponent, i4.RadioButtonComponent, InputModule, i4.InputComponent, SelectModule, i4.SelectComponent, i4.OptionComponent, TooltipModule, i4.TooltipDirective, IconModule, i4.IconComponent, PurePipe,
605
629
  AsyncPipe,
606
630
  LowerCasePipe,
607
631
  ReadonlyFieldDirective,
@@ -655,7 +679,7 @@ __decorate([
655
679
  useExisting: forwardRef(() => PersistentVolumeClaimFormComponent),
656
680
  multi: true,
657
681
  },
658
- ], template: "<aui-form-item\n width=\"large\"\n *ngIf=\"'name' | pure: displayFieldSupported\"\n>\n <label auiFormItemLabel>{{ 'name' | translate }}</label>\n <input\n aui-input\n auiFormItemControl\n [(ngModel)]=\"model.name\"\n name=\"name\"\n #name=\"ngModel\"\n maxlength=\"63\"\n [placeholder]=\"resourceNameReg.tip | translate\"\n [pattern]=\"resourceNameReg.pattern\"\n required\n />\n <acl-errors-mapper\n auiFormItemError\n [errors]=\"name.errors\"\n [errorsMapper]=\"{\n pattern: resourceNameReg.tip | translate,\n }\"\n ></acl-errors-mapper>\n</aui-form-item>\n\n<ng-container *ngIf=\"'dataSource' | pure: displayFieldSupported\">\n <aui-form-item *ngIf=\"model.dataSource as dataSource\">\n <label auiFormItemLabel>{{ 'storage.data_source' | translate }}</label>\n {{ dataSource.name }}\n </aui-form-item>\n</ng-container>\n\n<aui-form-item *ngIf=\"'createType' | pure: displayFieldSupported\">\n <label auiFormItemLabel>{{ 'storage.create_method' | translate }}</label>\n <aui-radio-group\n size=\"medium\"\n [(ngModel)]=\"createMethod\"\n name=\"createMethod\"\n [aclReadonlyField]=\"isFromSnapshot || !!createType\"\n [aclReadonlyFieldTemplate]=\"createTypeTmpl\"\n (ngModelChange)=\"createMethodChange($event)\"\n >\n <aui-radio-button [value]=\"PvcStorageClassCreateType.DYNAMIC\">\n {{ 'storage.dynamic_create' | translate }}\n </aui-radio-button>\n <aui-radio-button [value]=\"PvcStorageClassCreateType.STATIC\">\n {{ 'storage.static_match' | translate }}\n </aui-radio-button>\n </aui-radio-group>\n <ng-template #createTypeTmpl>\n {{\n (createMethod === PvcStorageClassCreateType.DYNAMIC\n ? 'storage.dynamic_create'\n : 'storage.static_match'\n ) | translate\n }}\n </ng-template>\n</aui-form-item>\n\n<ng-container *ngIf=\"'storageClassName' | pure: displayFieldSupported\">\n <aui-form-item\n *ngIf=\"createMethod !== PvcStorageClassCreateType.STATIC\"\n width=\"medium\"\n >\n <label auiFormItemLabel>{{ 'storageclass' | translate }}</label>\n <acl-storageclass-select\n [storageClasses]=\"storageClassList$ | async\"\n [volumeSnapshotClasses]=\"volumeSnapshotClassList$ | async\"\n [isFromSnapshot]=\"isFromSnapshot\"\n auiFormItemControl\n required\n [(ngModel)]=\"model.storageClassName\"\n name=\"storageClassName\"\n #storageClassName=\"ngModel\"\n (storageClassChange)=\"storageclassChange($event)\"\n ></acl-storageclass-select>\n <acl-errors-mapper\n auiFormItemError\n [errors]=\"storageClassName.errors\"\n ></acl-errors-mapper>\n </aui-form-item>\n</ng-container>\n\n<aui-form-item *ngIf=\"'volumeMode' | pure: displayFieldSupported\">\n <label auiFormItemLabel>{{ 'storage.volume_mode' | translate }}</label>\n <aui-radio-group\n size=\"medium\"\n [(ngModel)]=\"model.volumeMode\"\n name=\"volumeMode\"\n [aclReadonlyField]=\"isFromSnapshot || !!volumeMode\"\n [aclReadonlyFieldTemplate]=\"volumeModeTmpl\"\n (ngModelChange)=\"volumeModeChange($event)\"\n >\n <aui-radio-button\n *ngFor=\"let mode of volumeModes\"\n [auiTooltip]=\"'storage.storage_forbid_select_volume_mode' | translate\"\n [auiTooltipDisabled]=\"\n !(\n mode\n | pure\n : storageCommonUtil.isVolumeModeDisabled\n : selectedStorageSelectOption\n )\n \"\n [disabled]=\"\n mode\n | pure\n : storageCommonUtil.isVolumeModeDisabled\n : selectedStorageSelectOption\n \"\n [value]=\"mode\"\n >\n {{ 'storage.' + VolumeModeTranslateKey[mode] | translate }}\n </aui-radio-button>\n </aui-radio-group>\n <div\n auiFormItemAddon\n *ngIf=\"!volumeMode\"\n >\n <aui-icon\n [auiTooltip]=\"volumeModeTip\"\n [auiTooltipPosition]=\"'top center'\"\n icon=\"question_circle\"\n class=\"icon--help\"\n ></aui-icon>\n </div>\n <ng-template #volumeModeTip>\n <ul class=\"d-list\">\n <li>{{ 'storage.volume_mode_file_system_hint' | translate }}</li>\n <li>{{ 'storage.volume_mode_block_device_hint' | translate }}</li>\n </ul>\n </ng-template>\n <ng-template #volumeModeTmpl>\n {{\n (model.volumeMode === 'Filesystem'\n ? 'storage.file_system'\n : 'storage.block_device'\n ) | translate\n }}\n </ng-template>\n</aui-form-item>\n\n<aui-form-item *ngIf=\"'accessModes' | pure: displayFieldSupported\">\n <label auiFormItemLabel>{{ 'storage.access_mode' | translate }}</label>\n <aui-radio-group\n auiFormItemControl\n [(ngModel)]=\"model.accessModes\"\n name=\"accessModes\"\n #accessMode=\"ngModel\"\n >\n <aui-radio-button\n *ngFor=\"let mode of accessModes\"\n [auiTooltip]=\"'storage.storage_forbid_select_access_mode' | translate\"\n [auiTooltipDisabled]=\"\n !(\n mode\n | pure\n : storageCommonUtil.isAccessModeDisabled\n : selectedStorageSelectOption\n : model.volumeMode === 'Block'\n )\n \"\n [value]=\"mode\"\n [disabled]=\"\n mode\n | pure\n : storageCommonUtil.isAccessModeDisabled\n : selectedStorageSelectOption\n : model.volumeMode === 'Block'\n \"\n >\n {{ 'storage.' + AccessModeTranslateKey[mode] | translate }}\n </aui-radio-button>\n </aui-radio-group>\n <div auiFormItemAddon>\n <aui-icon\n [auiTooltip]=\"accessModeTip\"\n [auiTooltipPosition]=\"'top center'\"\n icon=\"question_circle\"\n class=\"icon--help\"\n ></aui-icon>\n </div>\n <acl-errors-mapper\n auiFormItemError\n [errors]=\"accessMode.errors\"\n ></acl-errors-mapper>\n <ng-template #accessModeTip>\n <ul class=\"d-list\">\n <li>{{ 'storage.access_mode_rwo' | translate }}</li>\n <li>{{ 'storage.access_mode_rox' | translate }}</li>\n <li>{{ 'storage.access_mode_rwx' | translate }}</li>\n </ul>\n </ng-template>\n</aui-form-item>\n\n<aui-form-item\n width=\"medium\"\n *ngIf=\"'storage' | pure: displayFieldSupported\"\n>\n <label auiFormItemLabel>{{ 'storage.capacity' | translate }}</label>\n <input\n aui-input\n type=\"text\"\n [pattern]=\"POSITIVE_INT_PATTERN.pattern\"\n [(ngModel)]=\"model.storage\"\n name=\"storage\"\n #storage=\"ngModel\"\n required\n auiFormItemControl\n required\n [aclReadonlyField]=\"isFromSnapshot\"\n [aclReadonlyFieldTemplate]=\"capacityTpl\"\n />\n <aui-select\n *ngIf=\"!isFromSnapshot\"\n [(ngModel)]=\"unit\"\n class=\"tw-max-w-[60px] tw-ml-[-60px]\"\n >\n <aui-option\n *ngFor=\"let item of UNITS\"\n [label]=\"item\"\n [value]=\"item\"\n >\n {{ item }}\n </aui-option>\n </aui-select>\n <ng-template #capacityTpl> {{ model.storage }}Gi </ng-template>\n <acl-errors-mapper\n auiFormItemError\n [errors]=\"storage.errors\"\n [errorsMapper]=\"{\n pattern: POSITIVE_INT_PATTERN.tip | translate,\n }\"\n ></acl-errors-mapper>\n</aui-form-item>\n\n<ng-container *ngIf=\"showAdvancedField\">\n <acl-foldable-block hint=\"{{ 'storage.advanced' | translate }}\">\n <aui-form-item\n formGroupName=\"metadata\"\n *ngIf=\"'labels' | pure: displayFieldSupported\"\n >\n <label auiFormItemLabel>{{ 'label' | translate }}</label>\n <acl-key-value-form-table\n auiFormItemControl\n [(ngModel)]=\"model.labels\"\n name=\"labels\"\n [resourceNameTranslated]=\"'storage.labels' | translate | lowercase\"\n [validator]=\"labelValidator\"\n [errorMapper]=\"labelErrorMapper$ | async\"\n ></acl-key-value-form-table>\n </aui-form-item>\n <aui-form-item\n formGroupName=\"metadata\"\n *ngIf=\"'annotations' | pure: displayFieldSupported\"\n >\n <label auiFormItemLabel>{{ 'storage.k8s_annotation' | translate }}</label>\n <acl-key-value-form-table\n auiFormItemControl\n [resourceNameTranslated]=\"\n 'storage.k8s_annotation' | translate | lowercase\n \"\n [(ngModel)]=\"model.annotations\"\n name=\"annotations\"\n [validator]=\"annotationValidator\"\n [errorMapper]=\"annotationErrorMapper$ | async\"\n ></acl-key-value-form-table>\n </aui-form-item>\n <ng-container *ngIf=\"'selector' | pure: displayFieldSupported\">\n <aui-form-item\n [hidden]=\"createMethod === PvcStorageClassCreateType.DYNAMIC\"\n >\n <label auiFormItemLabel>{{ 'storage.selector' | translate }}</label>\n <acl-key-value-form-table\n auiFormItemControl\n [(ngModel)]=\"model.selector\"\n name=\"selector\"\n ></acl-key-value-form-table>\n </aui-form-item>\n </ng-container>\n </acl-foldable-block>\n</ng-container>\n" }]
682
+ ], template: "<aui-form-item\n width=\"large\"\n *ngIf=\"'name' | pure: displayFieldSupported\"\n>\n <label auiFormItemLabel>{{ 'name' | translate }}</label>\n <input\n aui-input\n auiFormItemControl\n [(ngModel)]=\"model.name\"\n name=\"name\"\n #name=\"ngModel\"\n maxlength=\"63\"\n [placeholder]=\"resourceNameReg.tip | translate\"\n [pattern]=\"resourceNameReg.pattern\"\n required\n />\n <acl-errors-mapper\n auiFormItemError\n [errors]=\"name.errors\"\n [errorsMapper]=\"{\n pattern: resourceNameReg.tip | translate,\n }\"\n ></acl-errors-mapper>\n</aui-form-item>\n\n<ng-container *ngIf=\"'dataSource' | pure: displayFieldSupported\">\n <aui-form-item *ngIf=\"model.dataSource as dataSource\">\n <label auiFormItemLabel>{{ 'storage.data_source' | translate }}</label>\n {{ dataSource.name }}\n </aui-form-item>\n</ng-container>\n\n<aui-form-item *ngIf=\"'createType' | pure: displayFieldSupported\">\n <label auiFormItemLabel>{{ 'storage.create_method' | translate }}</label>\n <aui-radio-group\n size=\"medium\"\n [(ngModel)]=\"createMethod\"\n name=\"createMethod\"\n [aclReadonlyField]=\"isFromSnapshot || !!createType\"\n [aclReadonlyFieldTemplate]=\"createTypeTmpl\"\n (ngModelChange)=\"createMethodChange($event)\"\n >\n <aui-radio-button [value]=\"PvcStorageClassCreateType.DYNAMIC\">\n {{ 'storage.dynamic_create' | translate }}\n </aui-radio-button>\n <aui-radio-button [value]=\"PvcStorageClassCreateType.STATIC\">\n {{ 'storage.static_match' | translate }}\n </aui-radio-button>\n </aui-radio-group>\n <ng-template #createTypeTmpl>\n {{\n (createMethod === PvcStorageClassCreateType.DYNAMIC\n ? 'storage.dynamic_create'\n : 'storage.static_match'\n ) | translate\n }}\n </ng-template>\n</aui-form-item>\n\n<ng-container *ngIf=\"'storageClassName' | pure: displayFieldSupported\">\n <aui-form-item\n *ngIf=\"createMethod !== PvcStorageClassCreateType.STATIC\"\n width=\"medium\"\n >\n <label auiFormItemLabel>{{ 'storageclass' | translate }}</label>\n <acl-storageclass-select\n [storageClasses]=\"storageClassList$ | async\"\n [volumeSnapshotClasses]=\"volumeSnapshotClassList$ | async\"\n [isFromSnapshot]=\"isFromSnapshotAndSourcePVCExist\"\n [selectDefault]=\"selectDefault\"\n auiFormItemControl\n required\n [(ngModel)]=\"model.storageClassName\"\n name=\"storageClassName\"\n #storageClassName=\"ngModel\"\n (storageClassChange)=\"storageclassChange($event)\"\n ></acl-storageclass-select>\n <acl-errors-mapper\n auiFormItemError\n [errors]=\"storageClassName.errors\"\n ></acl-errors-mapper>\n <div\n auiFormItemHint\n class=\"tw-text-yellow\"\n *ngIf=\"showStorageClassHintWhenFromSnapshot\"\n >\n {{ 'storage.restore_pvc_storageclass_hint' | translate }}\n </div>\n </aui-form-item>\n</ng-container>\n\n<aui-form-item *ngIf=\"'volumeMode' | pure: displayFieldSupported\">\n <label auiFormItemLabel>{{ 'storage.volume_mode' | translate }}</label>\n <aui-radio-group\n size=\"medium\"\n [(ngModel)]=\"model.volumeMode\"\n name=\"volumeMode\"\n [aclReadonlyField]=\"isFromSnapshotAndSourcePVCExist || !!volumeMode\"\n [aclReadonlyFieldTemplate]=\"volumeModeTmpl\"\n (ngModelChange)=\"volumeModeChange($event)\"\n >\n <aui-radio-button\n *ngFor=\"let mode of volumeModes\"\n [auiTooltip]=\"'storage.storage_forbid_select_volume_mode' | translate\"\n [auiTooltipDisabled]=\"\n !(\n mode\n | pure\n : storageCommonUtil.isVolumeModeDisabled\n : selectedStorageSelectOption\n )\n \"\n [disabled]=\"\n mode\n | pure\n : storageCommonUtil.isVolumeModeDisabled\n : selectedStorageSelectOption\n \"\n [value]=\"mode\"\n >\n {{ 'storage.' + VolumeModeTranslateKey[mode] | translate }}\n </aui-radio-button>\n </aui-radio-group>\n <div\n auiFormItemAddon\n *ngIf=\"!volumeMode\"\n >\n <aui-icon\n [auiTooltip]=\"volumeModeTip\"\n [auiTooltipPosition]=\"'top center'\"\n icon=\"question_circle\"\n class=\"icon--help\"\n ></aui-icon>\n </div>\n <ng-template #volumeModeTip>\n <ul class=\"d-list\">\n <li>{{ 'storage.volume_mode_file_system_hint' | translate }}</li>\n <li>{{ 'storage.volume_mode_block_device_hint' | translate }}</li>\n </ul>\n </ng-template>\n <ng-template #volumeModeTmpl>\n {{\n (model.volumeMode === 'Filesystem'\n ? 'storage.file_system'\n : 'storage.block_device'\n ) | translate\n }}\n </ng-template>\n</aui-form-item>\n\n<aui-form-item *ngIf=\"'accessModes' | pure: displayFieldSupported\">\n <label auiFormItemLabel>{{ 'storage.access_mode' | translate }}</label>\n <aui-radio-group\n auiFormItemControl\n [(ngModel)]=\"model.accessModes\"\n name=\"accessModes\"\n #accessMode=\"ngModel\"\n >\n <aui-radio-button\n *ngFor=\"let mode of accessModes\"\n [auiTooltip]=\"'storage.storage_forbid_select_access_mode' | translate\"\n [auiTooltipDisabled]=\"\n !(\n mode\n | pure\n : storageCommonUtil.isAccessModeDisabled\n : selectedStorageSelectOption\n : model.volumeMode === 'Block'\n )\n \"\n [value]=\"mode\"\n [disabled]=\"\n mode\n | pure\n : storageCommonUtil.isAccessModeDisabled\n : selectedStorageSelectOption\n : model.volumeMode === 'Block'\n \"\n >\n {{ 'storage.' + AccessModeTranslateKey[mode] | translate }}\n </aui-radio-button>\n </aui-radio-group>\n <div auiFormItemAddon>\n <aui-icon\n [auiTooltip]=\"accessModeTip\"\n [auiTooltipPosition]=\"'top center'\"\n icon=\"question_circle\"\n class=\"icon--help\"\n ></aui-icon>\n </div>\n <acl-errors-mapper\n auiFormItemError\n [errors]=\"accessMode.errors\"\n ></acl-errors-mapper>\n <ng-template #accessModeTip>\n <ul class=\"d-list\">\n <li>{{ 'storage.access_mode_rwo' | translate }}</li>\n <li>{{ 'storage.access_mode_rox' | translate }}</li>\n <li>{{ 'storage.access_mode_rwx' | translate }}</li>\n </ul>\n </ng-template>\n</aui-form-item>\n\n<aui-form-item\n width=\"medium\"\n *ngIf=\"'storage' | pure: displayFieldSupported\"\n>\n <label auiFormItemLabel>{{ 'storage.capacity' | translate }}</label>\n <input\n aui-input\n type=\"text\"\n [pattern]=\"POSITIVE_INT_PATTERN.pattern\"\n [(ngModel)]=\"model.storage\"\n name=\"storage\"\n #storage=\"ngModel\"\n required\n auiFormItemControl\n required\n [aclReadonlyField]=\"isFromSnapshot\"\n [aclReadonlyFieldTemplate]=\"capacityTpl\"\n />\n <aui-select\n *ngIf=\"!isFromSnapshot\"\n [(ngModel)]=\"unit\"\n class=\"tw-max-w-[60px] tw-ml-[-60px]\"\n >\n <aui-option\n *ngFor=\"let item of UNITS\"\n [label]=\"item\"\n [value]=\"item\"\n >\n {{ item }}\n </aui-option>\n </aui-select>\n <ng-template #capacityTpl> {{ model.storage }}Gi </ng-template>\n <acl-errors-mapper\n auiFormItemError\n [errors]=\"storage.errors\"\n [errorsMapper]=\"{\n pattern: POSITIVE_INT_PATTERN.tip | translate,\n }\"\n ></acl-errors-mapper>\n</aui-form-item>\n\n<ng-container *ngIf=\"showAdvancedField\">\n <acl-foldable-block hint=\"{{ 'storage.advanced' | translate }}\">\n <aui-form-item\n formGroupName=\"metadata\"\n *ngIf=\"'labels' | pure: displayFieldSupported\"\n >\n <label auiFormItemLabel>{{ 'label' | translate }}</label>\n <acl-key-value-form-table\n auiFormItemControl\n [(ngModel)]=\"model.labels\"\n name=\"labels\"\n [resourceNameTranslated]=\"'storage.labels' | translate | lowercase\"\n [validator]=\"labelValidator\"\n [errorMapper]=\"labelErrorMapper$ | async\"\n ></acl-key-value-form-table>\n </aui-form-item>\n <aui-form-item\n formGroupName=\"metadata\"\n *ngIf=\"'annotations' | pure: displayFieldSupported\"\n >\n <label auiFormItemLabel>{{ 'storage.k8s_annotation' | translate }}</label>\n <acl-key-value-form-table\n auiFormItemControl\n [resourceNameTranslated]=\"\n 'storage.k8s_annotation' | translate | lowercase\n \"\n [(ngModel)]=\"model.annotations\"\n name=\"annotations\"\n [validator]=\"annotationValidator\"\n [errorMapper]=\"annotationErrorMapper$ | async\"\n ></acl-key-value-form-table>\n </aui-form-item>\n <ng-container *ngIf=\"'selector' | pure: displayFieldSupported\">\n <aui-form-item\n [hidden]=\"createMethod === PvcStorageClassCreateType.DYNAMIC\"\n >\n <label auiFormItemLabel>{{ 'storage.selector' | translate }}</label>\n <acl-key-value-form-table\n auiFormItemControl\n [(ngModel)]=\"model.selector\"\n name=\"selector\"\n ></acl-key-value-form-table>\n </aui-form-item>\n </ng-container>\n </acl-foldable-block>\n</ng-container>\n" }]
659
683
  }], () => [{ type: i1.StorageCommonUtilService }, { type: i2.TranslateService }, { type: i2.K8sApiService }], { baseParams: [{
660
684
  type: Input,
661
685
  args: [{ required: true }]
@@ -671,4 +695,4 @@ __decorate([
671
695
  type: Input
672
696
  }], displayFieldSupported: [] }); })();
673
697
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PersistentVolumeClaimFormComponent, { className: "PersistentVolumeClaimFormComponent", filePath: "lib/components/pvc-form/component.ts", lineNumber: 128 }); })();
674
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9zdG9yYWdlL3NyYy9saWIvY29tcG9uZW50cy9wdmMtZm9ybS9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL3N0b3JhZ2Uvc3JjL2xpYi9jb21wb25lbnRzL3B2Yy1mb3JtL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFdBQVcsRUFDWCxXQUFXLEVBQ1gsWUFBWSxFQUNaLGFBQWEsR0FDZCxNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBRUwsV0FBVyxFQUNYLG9DQUFvQyxFQUNwQyw4QkFBOEIsRUFDOUIsK0JBQStCLEVBQy9CLHlCQUF5QixFQUN6QixVQUFVLEVBRVYsc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUcxQix1QkFBdUIsRUFDdkIsWUFBWSxFQUNaLHNCQUFzQixFQUN0QixzQkFBc0IsRUFDdEIsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixhQUFhLEVBQ2IsY0FBYyxFQUNkLFNBQVMsRUFDVCxXQUFXLEVBRVgsVUFBVSxFQUVWLElBQUksRUFFSixnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3BCLFFBQVEsRUFDUixvQkFBb0IsR0FDckIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEUsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxPQUFPLENB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b0JBQ2Isc0JBQXNCO29CQUN0QixzQkFBc0I7b0JBQ3RCLDJCQUEyQjtvQkFDM0IsMEJBQTBCO29CQUMxQixnQkFBZ0I7b0JBQ2hCLG9CQUFvQjtpQkFDckIsYUFDVTtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxtQ0FBbUMsQ0FBQzt3QkFDakUsS0FBSyxFQUFFLElBQUk7cUJBQ1o7b0JBQ0Q7d0JBQ0UsT0FBTyxFQUFFLGFBQWE7d0JBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1DQUFtQyxDQUFDO3dCQUNqRSxLQUFLLEVBQUUsSUFBSTtxQkFDWjtpQkFDRjtvSEFTRCxVQUFVO2tCQURULEtBQUs7bUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1lBSXpCLFdBQVcsTUFHWCxjQUFjO2tCQURiLEtBQUs7WUFJTixlQUFlLE1BSWYsY0FBYztrQkFEYixLQUFLO1lBS04sVUFBVTtrQkFEVCxLQUFLO1lBS04sVUFBVTtrQkFEVCxLQUFLO1lBS04sYUFBYTtrQkFEWixLQUFLO1lBK0hOLHFCQUFxQjtrRkE5SlYsa0NBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRm9ybU1vZHVsZSxcbiAgSWNvbk1vZHVsZSxcbiAgSW5wdXRNb2R1bGUsXG4gIFJhZGlvTW9kdWxlLFxuICBTZWxlY3RNb2R1bGUsXG4gIFRvb2x0aXBNb2R1bGUsXG59IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHtcbiAgQWNjZXNzTW9kZSxcbiAgQWNjZXNzTW9kZXMsXG4gIGdldEs4c1Jlc291cmNlQW5ub3RhdGlvbkVycm9yTWFwcGVyJCxcbiAgazhzUmVzb3VyY2VBbm5vdGF0aW9uVmFsaWRhdG9yLFxuICBnZXRLOHNSZXNvdXJjZUxhYmVsRXJyb3JNYXBwZXIkLFxuICBrOHNSZXNvdXJjZUxhYmVsVmFsaWRhdG9yLFxuICBWb2x1bWVNb2RlLFxuICBMYWJlbFNlbGVjdG9yLFxuICBGb2xkYWJsZUJsb2NrQ29tcG9uZW50LFxuICBLZXlWYWx1ZUZvcm1UYWJsZUNvbXBvbmVudCxcbiAgUGVyc2lzdGVudFZvbHVtZUNsYWltLFxuICBQZXJzaXN0ZW50Vm9sdW1lQ2xhaW1EYXRhU291cmNlLFxuICBjcmVhdGVOZXN0ZWRGb3JtQ29udHJvbCxcbiAgZGF0YVRyYW5zZmVyLFxuICBSZWFkb25seUZpZWxkRGlyZWN0aXZlLFxuICBLOFNfUkVTT1VSQ0VfTkFNRV9CQVNFLFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxuICBPYnNlcnZhYmxlSW5wdXQsXG4gIEs4c0FwaVNlcnZpY2UsXG4gIFJFU09VUkNFX1RZUEVTLFxuICBza2lwRXJyb3IsXG4gIFZvbHVtZU1vZGVzLFxuICBWYWx1ZU9mLFxuICBwdWJsaXNoUmVmLFxuICBTdHJpbmdNYXAsXG4gIGJpbmQsXG4gIFdvcmtzcGFjZVBhcmFtcyxcbiAgVFJBTlNMQVRFX01PRFVMRSxcbiAgRVJST1JTX01BUFBFUl9NT0RVTEUsXG4gIFB1cmVQaXBlLFxuICBQT1NJVElWRV9JTlRfUEFUVEVSTixcbn0gZnJvbSAnQGFsYXVkYS1mZS9jb21tb24nO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBMb3dlckNhc2VQaXBlLCBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjb21wb3NlIH0gZnJvbSAncmFtZGEnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgbWFwLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIFN0b3JhZ2VTZWxlY3RPcHRpb24sXG4gIFN0b3JhZ2VDb21tb25VdGlsU2VydmljZSxcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29tbW9uLXV0aWwuc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yYWdlQ2xhc3MsIFZvbHVtZVNuYXBzaG90Q2xhc3MgfSBmcm9tICcuLi8uLi90eXBlcy9rOHMnO1xuaW1wb3J0IHtcbiAgQWNjZXNzTW9kZVRyYW5zbGF0ZUtleSxcbiAgVm9sdW1lTW9kZVRyYW5zbGF0ZUtleSxcbn0gZnJvbSAnLi4vLi4vdXRpbHMvY29uc3RhbnRzJztcbmltcG9ydCB7IGJ1aWxkUHZjUmVzb3VyY2UgfSBmcm9tICcuLi8uLi91dGlscy91dGlsJztcbmltcG9ydCB7IFN0b3JhZ2VDbGFzc1NlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uL3N0b3JhZ2VjbGFzcy1zZWxlY3QvY29tcG9uZW50JztcblxuY29uc3QgUHZjU3RvcmFnZUNsYXNzQ3JlYXRlVHlwZSA9IHtcbiAgRFlOQU1JQzogJ2R5bmFtaWMnLFxuICBTVEFUSUM6ICdzdGF0aWMnLFxufSBhcyBjb25zdDtcblxudHlwZSBQdmNTdG9yYWdlQ2xhc3NDcmVhdGVUeXBlID0gVmFsdWVPZjx0eXBlb2YgUHZjU3RvcmFnZUNsYXNzQ3JlYXRlVHlwZT47XG5cbmludGVyZmFjZSBQZXJzaXN0ZW50Vm9sdW1lRm9ybU1vZGVsIHtcbiAgbmFtZTogc3RyaW5nO1xuICBsYWJlbHM6IFN0cmluZ01hcDtcbiAgYW5ub3RhdGlvbnM6IFN0cmluZ01hcDtcbiAgLy8gbnVsbCDooajnpLrkvb/nlKjpu5jorqQgc2NcbiAgLy8gXCJcIiDmiJbkuI3lhpnor6XlrZfmrrXooajnpLrkuI3orr7nva7lrZjlgqjnsbtcbiAgc3RvcmFnZUNsYXNzTmFtZTogc3RyaW5nO1xuICBhY2Nlc3NNb2RlczogQWNjZXNzTW9kZTtcbiAgdm9sdW1lTW9kZTogVm9sdW1lTW9kZTtcbiAgc3RvcmFnZTogc3RyaW5nO1xuICBkYXRhU291cmNlPzogUGVyc2lzdGVudFZvbHVtZUNsYWltRGF0YVNvdXJjZTtcbiAgc2VsZWN0b3I6IExhYmVsU2VsZWN0b3I7XG59XG5cbnR5cGUgRGlzcGxheUZpZWxkID0ga2V5b2YgUGVyc2lzdGVudFZvbHVtZUZvcm1Nb2RlbCB8ICdjcmVhdGVUeXBlJztcblxuY29uc3QgVU5JVFMgPSBbJ0dpJywgJ1RpJ10gYXMgY29uc3Q7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2FjbC1wdmMtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAndGVtcGxhdGUuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBOZ0ZvcixcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBGb3JtTW9kdWxlLFxuICAgIFJhZGlvTW9kdWxlLFxuICAgIElucHV0TW9kdWxlLFxuICAgIFNlbGVjdE1vZHVsZSxcbiAgICBUb29sdGlwTW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgUHVyZVBpcGUsXG4gICAgQXN5bmNQaXBlLFxuICAgIExvd2VyQ2FzZVBpcGUsXG4gICAgUmVhZG9ubHlGaWVsZERpcmVjdGl2ZSxcbiAgICBGb2xkYWJsZUJsb2NrQ29tcG9uZW50LFxuICAgIFN0b3JhZ2VDbGFzc1NlbGVjdENvbXBvbmVudCxcbiAgICBLZXlWYWx1ZUZvcm1UYWJsZUNvbXBvbmVudCxcbiAgICBUUkFOU0xBVEVfTU9EVUxFLFxuICAgIEVSUk9SU19NQVBQRVJfTU9EVUxFLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBlcnNpc3RlbnRWb2x1bWVDbGFpbUZvcm1Db21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUGVyc2lzdGVudFZvbHVtZUNsYWltRm9ybUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQZXJzaXN0ZW50Vm9sdW1lQ2xhaW1Gb3JtQ29tcG9uZW50IGV4dGVuZHMgY3JlYXRlTmVzdGVkRm9ybUNvbnRyb2w8XG4gIFBlcnNpc3RlbnRWb2x1bWVDbGFpbSxcbiAgUGVyc2lzdGVudFZvbHVtZUZvcm1Nb2RlbFxuPih7XG4gIGF1dG9FbWl0Q2hhbmdlOiB0cnVlLFxufSkge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICBiYXNlUGFyYW1zOiBXb3Jrc3BhY2VQYXJhbXM7XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGJhc2VQYXJhbXMkITogT2JzZXJ2YWJsZTxXb3Jrc3BhY2VQYXJhbXM+O1xuXG4gIEBJbnB1dCgpXG4gIHN0b3JhZ2VDbGFzc2VzOiBTdG9yYWdlQ2xhc3NbXTtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgc3RvcmFnZUNsYXNzZXMkITogT2JzZXJ2YWJsZTxTdG9yYWdlQ2xhc3NbXT47XG5cbiAgLy8g5b+r54Wn57G7IHB2YyDliJvlu7pcbiAgQElucHV0KClcbiAgaXNGcm9tU25hcHNob3Q6IGJvb2xlYW47XG5cbiAgLy8g5aaC5p6c5Lyg5YWl55u45bqU55qEIGNyZWF0ZVR5cGUg6KGo56S65Zu65a6a5YW25YC8XG4gIEBJbnB1dCgpXG4gIGNyZWF0ZVR5cGU6IFB2Y1N0b3JhZ2VDbGFzc0NyZWF0ZVR5cGU7XG5cbiAgLy8g5aaC5p6c5Lyg5YWl55u45bqU55qEIHZvbHVtZU1vZGUg6KGo56S65Zu65a6a5YW25YC8XG4gIEBJbnB1dCgpXG4gIHZvbHVtZU1vZGU6IFZvbHVtZU1vZGU7XG5cbiAgLy8g5aaC5p6c5Lyg5YWl55u45bqU55qEIGRpc3BsYXlGaWVsZCDooajnpLrlj6rkvJrlsZXnpLrlr7nlupTnmoQgY29udHJvbFxuICBASW5wdXQoKVxuICBkaXNwbGF5RmllbGRzOiBEaXNwbGF5RmllbGRbXTtcblxuICBnZXQgc2hvd0FkdmFuY2VkRmllbGQoKSB7XG4gICAgaWYgKCF0aGlzLmRpc3BsYXlGaWVsZHM/Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZGlzcGxheUZpZWxkcz8uc29tZShmaWVsZCA9PlxuICAgICAgWydsYWJlbHMnLCAnYW5ub3RhdGlvbnMnLCAnc2VsZWN0b3InXS5pbmNsdWRlcyhmaWVsZCksXG4gICAgKTtcbiAgfVxuXG4gIGFjY2Vzc01vZGVzID0gQWNjZXNzTW9kZXM7XG4gIHZvbHVtZU1vZGVzID0gVm9sdW1lTW9kZXM7XG4gIFBPU0lUSVZFX0lOVF9QQVRURVJOID0gUE9TSVRJVkVfSU5UX1BBVFRFUk47XG5cbiAgb3ZlcnJpZGUgbW9kZWwgPSB7fSBhcyBQZXJzaXN0ZW50Vm9sdW1lRm9ybU1vZGVsO1xuXG4gIHJlc291cmNlTmFtZVJlZyA9IEs4U19SRVNPVVJDRV9OQU1FX0JBU0U7XG4gIGxhYmVsVmFsaWRhdG9yID0gazhzUmVzb3VyY2VMYWJlbFZhbGlkYXRvcjtcbiAgQWNjZXNzTW9kZVRyYW5zbGF0ZUtleSA9IEFjY2Vzc01vZGVUcmFuc2xhdGVLZXk7XG4gIFZvbHVtZU1vZGVUcmFuc2xhdGVLZXkgPSBWb2x1bWVNb2RlVHJhbnNsYXRlS2V5O1xuXG4gIGxhYmVsRXJyb3JNYXBwZXIkID0gZ2V0SzhzUmVzb3VyY2VMYWJlbEVycm9yTWFwcGVyJCh0aGlzLnRyYW5zbGF0ZSk7XG4gIGFubm90YXRpb25WYWxpZGF0b3IgPSBrOHNSZXNvdXJjZUFubm90YXRpb25WYWxpZGF0b3I7XG4gIGFubm90YXRpb25FcnJvck1hcHBlciQgPSBnZXRLOHNSZXNvdXJjZUFubm90YXRpb25FcnJvck1hcHBlciQodGhpcy50cmFuc2xhdGUpO1xuXG4gIGNyZWF0ZU1ldGhvZDogUHZjU3RvcmFnZUNsYXNzQ3JlYXRlVHlwZTtcbiAgUHZjU3RvcmFnZUNsYXNzQ3JlYXRlVHlwZSA9IFB2Y1N0b3JhZ2VDbGFzc0NyZWF0ZVR5cGU7XG4gIHNlbGVjdGVkU3RvcmFnZVNlbGVjdE9wdGlvbjogU3RvcmFnZVNlbGVjdE9wdGlvbjtcbiAgVU5JVFMgPSBVTklUUztcbiAgdW5pdCA9ICdHaSc7XG5cbiAgc3RvcmFnZUNsYXNzTGlzdCQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLmJhc2VQYXJhbXMkLFxuICAgIHRoaXMuc3RvcmFnZUNsYXNzZXMkLFxuICBdKS5waXBlKFxuICAgIHN3aXRjaE1hcCgoW3sgY2x1c3RlciB9LCBzdG9yYWdlQ2xhc3Nlc10pID0+IHtcbiAgICAgIGlmIChzdG9yYWdlQ2xhc3Nlcykge1xuICAgICAgICByZXR1cm4gb2Yoc3RvcmFnZUNsYXNzZXMpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuazhzQXBpXG4gICAgICAgIC5nZXRSZXNvdXJjZUxpc3Q8U3RvcmFnZUNsYXNzPih7XG4gICAgICAgICAgdHlwZTogUkVTT1VSQ0VfVFlQRVMuU1RPUkFHRV9DTEFTUyxcbiAgICAgICAgICBjbHVzdGVyLFxuICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgICAgICBsaW1pdDogJzAnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pXG4gICAgICAgIC5waXBlKG1hcChyZXMgPT4gcmVzPy5pdGVtcykpO1xuICAgIH0pLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICB2b2x1bWVTbmFwc2hvdENsYXNzTGlzdCQgPSB0aGlzLmJhc2VQYXJhbXMkLnBpcGUoXG4gICAgc3dpdGNoTWFwKGJhc2VQYXJhbXMgPT5cbiAgICAgIHRoaXMuazhzQXBpXG4gICAgICAgIC5nZXRSZXNvdXJjZUxpc3Q8Vm9sdW1lU25hcHNob3RDbGFzcz4oe1xuICAgICAgICAgIHR5cGU6IFJFU09VUkNFX1RZUEVTLlZPTFVNRV9TTkFQU0hPVF9DTEFTUyxcbiAgICAgICAgICBjbHVzdGVyOiBiYXNlUGFyYW1zLmNsdXN0ZXIsXG4gICAgICAgIH0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcChyID0+IHIuaXRlbXMpLFxuICAgICAgICAgIHNraXBFcnJvcihbXSBhcyBWb2x1bWVTbmFwc2hvdENsYXNzW10pLFxuICAgICAgICApLFxuICAgICksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IFBlcnNpc3RlbnRWb2x1bWVDbGFpbSk6IHZvaWQge1xuICAgIHRoaXMubW9kZWwgPSB0aGlzLnZhbHVlSW4oXG4gICAgICB2YWx1ZSA/P1xuICAgICAgICBidWlsZFB2Y1Jlc291cmNlKHtcbiAgICAgICAgICBuYW1lc3BhY2U6IHRoaXMuYmFzZVBhcmFtcy5uYW1lc3BhY2UsXG4gICAgICAgICAgdm9sdW1lTW9kZTogdGhpcy52b2x1bWVNb2RlLFxuICAgICAgICB9KSxcbiAgICApO1xuICAgIGlmICh0aGlzLmNyZWF0ZVR5cGUpIHtcbiAgICAgIHRoaXMuY3JlYXRlTWV0aG9kID0gdGhpcy5jcmVhdGVUeXBlO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBzdG9yYWdlQ29tbW9uVXRpbDogU3RvcmFnZUNvbW1vblV0aWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgazhzQXBpOiBLOHNBcGlTZXJ2aWNlLFxuICApIHtcbiAgICBzdXBlcigpO1xuXG4gICAgY29uc3QgW3RvTW9kZWwsIHRvUmVzb3VyY2VdID0gZGF0YVRyYW5zZmVyPFxuICAgICAgUGVyc2lzdGVudFZvbHVtZUNsYWltLFxuICAgICAgUGVyc2lzdGVudFZvbHVtZUZvcm1Nb2RlbFxuICAgID4oe1xuICAgICAgbmFtZTogJ21ldGFkYXRhLm5hbWUnLFxuICAgICAgbGFiZWxzOiAnbWV0YWRhdGEubGFiZWxzJyxcbiAgICAgIGFubm90YXRpb25zOiAnbWV0YWRhdGEuYW5ub3RhdGlvbnMnLFxuICAgICAgc3RvcmFnZUNsYXNzTmFtZTogJ3NwZWMuc3RvcmFnZUNsYXNzTmFtZScsXG4gICAgICBhY2Nlc3NNb2RlczogWydzcGVjJywgJ2FjY2Vzc01vZGVzJywgMF0sXG4gICAgICB2b2x1bWVNb2RlOiAnc3BlYy52b2x1bWVNb2RlJyxcbiAgICAgIHN0b3JhZ2U6ICdzcGVjLnJlc291cmNlcy5yZXF1ZXN0cy5zdG9yYWdlJyxcbiAgICAgIGRhdGFTb3VyY2U6ICdzcGVjLmRhdGFTb3VyY2UnLFxuICAgICAgc2VsZWN0b3I6ICdzcGVjLnNlbGVjdG9yLm1hdGNoTGFiZWxzJyxcbiAgICB9KTtcblxuICAgIHRoaXMudmFsdWVJbiA9IGNvbXBvc2UodG9Nb2RlbCwgdGhpcy5hZGFwdFJlc291cmNlTW9kZWwpO1xuICAgIHRoaXMubW9kZWxPdXQgPSBjb21wb3NlKHRoaXMub3ZlcnJpZGVSZXNvdXJjZSwgdG9SZXNvdXJjZSk7XG4gIH1cblxuICBjcmVhdGVNZXRob2RDaGFuZ2UoY3JlYXRlVHlwZTogUHZjU3RvcmFnZUNsYXNzQ3JlYXRlVHlwZSkge1xuICAgIC8vIOmdmeaAgeWMuemFjeS4jemcgOimgemZkOWItuiuv+mXruaooeW8j1xuICAgIGlmIChjcmVhdGVUeXBlID09PSAnc3RhdGljJykge1xuICAgICAgdGhpcy5zZWxlY3RlZFN0b3JhZ2VTZWxlY3RPcHRpb24gPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHN0b3JhZ2VjbGFzc0NoYW5nZShzZWxlY3RlZE9wdGlvbjogU3RvcmFnZVNlbGVjdE9wdGlvbikge1xuICAgIHRoaXMuc2VsZWN0ZWRTdG9yYWdlU2VsZWN0T3B0aW9uID0gc2VsZWN0ZWRPcHRpb247XG4gICAgdGhpcy5zZXRWb2x1bWVNb2RlVG9TdXBwb3J0VmFsdWVJZk5lZWQoKTtcbiAgICB0aGlzLnNldEFjY2Vzc01vZGVUb1N1cHBvcnRWYWx1ZUlmTmVlZCgpO1xuICB9XG5cbiAgdm9sdW1lTW9kZUNoYW5nZSh2b2x1bWVNb2RlOiBWb2x1bWVNb2RlKSB7XG4gICAgdGhpcy5zZXRBY2Nlc3NNb2RlVG9TdXBwb3J0VmFsdWVJZk5lZWQodm9sdW1lTW9kZSk7XG4gIH1cblxuICBAYmluZFxuICBkaXNwbGF5RmllbGRTdXBwb3J0ZWQoZmllbGROYW1lOiBEaXNwbGF5RmllbGQpIHtcbiAgICBpZiAoIXRoaXMuZGlzcGxheUZpZWxkcz8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5kaXNwbGF5RmllbGRzLmluY2x1ZGVzKGZpZWxkTmFtZSk7XG4gIH1cblxuICBwcml2YXRlIHNldEFjY2Vzc01vZGVUb1N1cHBvcnRWYWx1ZUlmTmVlZCh2b2x1bWVNb2RlID0gdGhpcy52b2x1bWVNb2RlKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5zdG9yYWdlQ29tbW9uVXRpbC5pc0FjY2Vzc01vZGVEaXNhYmxlZChcbiAgICAgICAgdGhpcy5tb2RlbC5hY2Nlc3NNb2RlcyxcbiAgICAgICAgdGhpcy5zZWxlY3RlZFN0b3JhZ2VTZWxlY3RPcHRpb24sXG4gICAgICAgIHZvbHVtZU1vZGUgPT09ICdCbG9jaycsXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0aGlzLm1vZGVsLmFjY2Vzc01vZGVzID0gdGhpcy5hY2Nlc3NNb2Rlcy5maW5kKFxuICAgICAgICBhY2Nlc3NNb2RlID0+XG4gICAgICAgICAgIXRoaXMuc3RvcmFnZUNvbW1vblV0aWwuaXNBY2Nlc3NNb2RlRGlzYWJsZWQoXG4gICAgICAgICAgICBhY2Nlc3NNb2RlLFxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFN0b3JhZ2VTZWxlY3RPcHRpb24sXG4gICAgICAgICAgICB0aGlzLnZvbHVtZU1vZGUgPT09ICdCbG9jaycsXG4gICAgICAgICAgKSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRWb2x1bWVNb2RlVG9TdXBwb3J0VmFsdWVJZk5lZWQoKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5zdG9yYWdlQ29tbW9uVXRpbC5pc1ZvbHVtZU1vZGVEaXNhYmxlZChcbiAgICAgICAgdGhpcy5tb2RlbC52b2x1bWVNb2RlLFxuICAgICAgICB0aGlzLnNlbGVjdGVkU3RvcmFnZVNlbGVjdE9wdGlvbixcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMubW9kZWwudm9sdW1lTW9kZSA9IHRoaXMudm9sdW1lTW9kZXMuZmluZChcbiAgICAgICAgdm9sdW1lTW9kZSA9PlxuICAgICAgICAgICF0aGlzLnN0b3JhZ2VDb21tb25VdGlsLmlzVm9sdW1lTW9kZURpc2FibGVkKFxuICAgICAgICAgICAgdm9sdW1lTW9kZSxcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRTdG9yYWdlU2VsZWN0T3B0aW9uLFxuICAgICAgICAgICksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgYWRhcHRSZXNvdXJjZU1vZGVsID0gKHB2YzogUGVyc2lzdGVudFZvbHVtZUNsYWltKSA9PiB7XG4gICAgY29uc3Qgc3RvcmFnZSA9IHB2Yz8uc3BlYz8ucmVzb3VyY2VzPy5yZXF1ZXN0cz8uc3RvcmFnZTtcbiAgICBpZiAoc3RvcmFnZSkge1xuICAgICAgY29uc3QgcmVzID0gU3RyaW5nKHN0b3JhZ2UpLm1hdGNoKC9bQS1aYS16XSt8XFxkKyg/OlxcLlxcZCspPy9nKTtcbiAgICAgIHB2Yy5zcGVjLnJlc291cmNlcy5yZXF1ZXN0cy5zdG9yYWdlID0gcmVzWzBdIHx8ICcnO1xuICAgICAgdGhpcy51bml0ID0gcmVzWzFdIHx8ICdHaSc7XG4gICAgfVxuXG4gICAgLy8gXCJcIiDooajnpLrpnZnmgIHliJvlu7pcbiAgICB0aGlzLmNyZWF0ZU1ldGhvZCA9XG4gICAgICBwdmM/LnNwZWM/LnN0b3JhZ2VDbGFzc05hbWUgPT09ICcnID8gJ3N0YXRpYycgOiAnZHluYW1pYyc7XG5cbiAgICByZXR1cm4gcHZjO1xuICB9O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgb3ZlcnJpZGVSZXNvdXJjZSA9IChwdmM6IFBlcnNpc3RlbnRWb2x1bWVDbGFpbSkgPT4ge1xuICAgIGlmIChcbiAgICAgIHRoaXMuY3JlYXRlTWV0aG9kID09PSAnZHluYW1pYycgfHxcbiAgICAgIE9iamVjdC5rZXlzKHB2Yz8uc3BlYz8uc2VsZWN0b3I/Lm1hdGNoTGFiZWxzID8/IHt9KS5sZW5ndGggPT09IDBcbiAgICApIHtcbiAgICAgIGRlbGV0ZSBwdmM/LnNwZWM/LnNlbGVjdG9yO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNyZWF0ZU1ldGhvZCA9PT0gJ3N0YXRpYycpIHtcbiAgICAgIHB2Yy5zcGVjLnN0b3JhZ2VDbGFzc05hbWUgPSAnJztcbiAgICB9XG5cbiAgICBpZiAocHZjPy5zcGVjPy5yZXNvdXJjZXM/LnJlcXVlc3RzPy5zdG9yYWdlKSB7XG4gICAgICBwdmMuc3BlYy5yZXNvdXJjZXMucmVxdWVzdHMuc3RvcmFnZSA9IGAke3B2Yy5zcGVjLnJlc291cmNlcy5yZXF1ZXN0cy5zdG9yYWdlfSR7dGhpcy51bml0fWA7XG4gICAgfVxuICAgIHJldHVybiBwdmM7XG4gIH07XG59XG4iLCI8YXVpLWZvcm0taXRlbVxuICB3aWR0aD1cImxhcmdlXCJcbiAgKm5nSWY9XCInbmFtZScgfCBwdXJlOiBkaXNwbGF5RmllbGRTdXBwb3J0ZWRcIlxuPlxuICA8bGFiZWwgYXVpRm9ybUl0ZW1MYWJlbD57eyAnbmFtZScgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICA8aW5wdXRcbiAgICBhdWktaW5wdXRcbiAgICBhdWlGb3JtSXRlbUNvbnRyb2xcbiAgICBbKG5nTW9kZWwpXT1cIm1vZGVsLm5hbWVcIlxuICAgIG5hbWU9XCJuYW1lXCJcbiAgICAjbmFtZT1cIm5nTW9kZWxcIlxuICAgIG1heGxlbmd0aD1cIjYzXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicmVzb3VyY2VOYW1lUmVnLnRpcCB8IHRyYW5zbGF0ZVwiXG4gICAgW3BhdHRlcm5dPVwicmVzb3VyY2VOYW1lUmVnLnBhdHRlcm5cIlxuICAgIHJlcXVpcmVkXG4gIC8+XG4gIDxhY2wtZXJyb3JzLW1hcHBlclxuICAgIGF1aUZvcm1JdGVtRXJyb3JcbiAgICBbZXJyb3JzXT1cIm5hbWUuZXJyb3JzXCJcbiAgICBbZXJyb3JzTWFwcGVyXT1cIntcbiAgICAgIHBhdHRlcm46IHJlc291cmNlTmFtZVJlZy50aXAgfCB0cmFuc2xhdGUsXG4gICAgfVwiXG4gID48L2FjbC1lcnJvcnMtbWFwcGVyPlxuPC9hdWktZm9ybS1pdGVtPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiJ2RhdGFTb3VyY2UnIHwgcHVyZTogZGlzcGxheUZpZWxkU3VwcG9ydGVkXCI+XG4gIDxhdWktZm9ybS1pdGVtICpuZ0lmPVwibW9kZWwuZGF0YVNvdXJjZSBhcyBkYXRhU291cmNlXCI+XG4gICAgPGxhYmVsIGF1aUZvcm1JdGVtTGFiZWw+e3sgJ3N0b3JhZ2UuZGF0YV9zb3VyY2UnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgICB7eyBkYXRhU291cmNlLm5hbWUgfX1cbiAgPC9hdWktZm9ybS1pdGVtPlxuPC9uZy1jb250YWluZXI+XG5cbjxhdWktZm9ybS1pdGVtICpuZ0lmPVwiJ2NyZWF0ZVR5cGUnIHwgcHVyZTogZGlzcGxheUZpZWxkU3VwcG9ydGVkXCI+XG4gIDxsYWJlbCBhdWlGb3JtSXRlbUxhYmVsPnt7ICdzdG9yYWdlLmNyZWF0ZV9tZXRob2QnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgPGF1aS1yYWRpby1ncm91cFxuICAgIHNpemU9XCJtZWRpdW1cIlxuICAgIFsobmdNb2RlbCldPVwiY3JlYXRlTWV0aG9kXCJcbiAgICBuYW1lPVwiY3JlYXRlTWV0aG9kXCJcbiAgICBbYWNsUmVhZG9ubHlGaWVsZF09XCJpc0Zyb21TbmFwc2hvdCB8fCAhIWNyZWF0ZVR5cGVcIlxuICAgIFthY2xSZWFkb25seUZpZWxkVGVtcGxhdGVdPVwiY3JlYXRlVHlwZVRtcGxcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cImNyZWF0ZU1ldGhvZENoYW5nZSgkZXZlbnQpXCJcbiAgPlxuICAgIDxhdWktcmFkaW8tYnV0dG9uIFt2YWx1ZV09XCJQdmNTdG9yYWdlQ2xhc3NDcmVhdGVUeXBlLkRZTkFNSUNcIj5cbiAgICAgIHt7ICdzdG9yYWdlLmR5bmFtaWNfY3JlYXRlJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYXVpLXJhZGlvLWJ1dHRvbj5cbiAgICA8YXVpLXJhZGlvLWJ1dHRvbiBbdmFsdWVdPVwiUHZjU3RvcmFnZUNsYXNzQ3JlYXRlVHlwZS5TVEFUSUNcIj5cbiAgICAgIHt7ICdzdG9yYWdlLnN0YXRpY19tYXRjaCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2F1aS1yYWRpby1idXR0b24+XG4gIDwvYXVpLXJhZGlvLWdyb3VwPlxuICA8bmctdGVtcGxhdGUgI2NyZWF0ZVR5cGVUbXBsPlxuICAgIHt7XG4gICAgICAoY3JlYXRlTWV0aG9kID09PSBQdmNTdG9yYWdlQ2xhc3NDcmVhdGVUeXBlLkRZTkFNSUNcbiAgICAgICAgPyAnc3RvcmFnZS5keW5hbWljX2NyZWF0ZSdcbiAgICAgICAgOiAnc3RvcmFnZS5zdGF0aWNfbWF0Y2gnXG4gICAgICApIHwgdHJhbnNsYXRlXG4gICAgfX1cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvYXVpLWZvcm0taXRlbT5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIidzdG9yYWdlQ2xhc3NOYW1lJyB8IHB1cmU6IGRpc3BsYXlGaWVsZFN1cHBvcnRlZFwiPlxuICA8YXVpLWZvcm0taXRlbVxuICAgICpuZ0lmPVwiY3JlYXRlTWV0aG9kICE9PSBQdmNTdG9yYWdlQ2xhc3NDcmVhdGVUeXBlLlNUQVRJQ1wiXG4gICAgd2lkdGg9XCJtZWRpdW1cIlxuICA+XG4gICAgPGxhYmVsIGF1aUZvcm1JdGVtTGFiZWw+e3sgJ3N0b3JhZ2VjbGFzcycgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICAgIDxhY2wtc3RvcmFnZWNsYXNzLXNlbGVjdFxuICAgICAgW3N0b3JhZ2VDbGFzc2VzXT1cInN0b3JhZ2VDbGFzc0xpc3QkIHwgYXN5bmNcIlxuICAgICAgW3ZvbHVtZVNuYXBzaG90Q2xhc3Nlc109XCJ2b2x1bWVTbmFwc2hvdENsYXNzTGlzdCQgfCBhc3luY1wiXG4gICAgICBbaXNGcm9tU25hcHNob3RdPVwiaXNGcm9tU25hcHNob3RcIlxuICAgICAgYXVpRm9ybUl0ZW1Db250cm9sXG4gICAgICByZXF1aXJlZFxuICAgICAgWyhuZ01vZGVsKV09XCJtb2RlbC5zdG9yYWdlQ2xhc3NOYW1lXCJcbiAgICAgIG5hbWU9XCJzdG9yYWdlQ2xhc3NOYW1lXCJcbiAgICAgICNzdG9yYWdlQ2xhc3NOYW1lPVwibmdNb2RlbFwiXG4gICAgICAoc3RvcmFnZUNsYXNzQ2hhbmdlKT1cInN0b3JhZ2VjbGFzc0NoYW5nZSgkZXZlbnQpXCJcbiAgICA+PC9hY2wtc3RvcmFnZWNsYXNzLXNlbGVjdD5cbiAgICA8YWNsLWVycm9ycy1tYXBwZXJcbiAgICAgIGF1aUZvcm1JdGVtRXJyb3JcbiAgICAgIFtlcnJvcnNdPVwic3RvcmFnZUNsYXNzTmFtZS5lcnJvcnNcIlxuICAgID48L2FjbC1lcnJvcnMtbWFwcGVyPlxuICA8L2F1aS1mb3JtLWl0ZW0+XG48L25nLWNvbnRhaW5lcj5cblxuPGF1aS1mb3JtLWl0ZW0gKm5nSWY9XCIndm9sdW1lTW9kZScgfCBwdXJlOiBkaXNwbGF5RmllbGRTdXBwb3J0ZWRcIj5cbiAgPGxhYmVsIGF1aUZvcm1JdGVtTGFiZWw+e3sgJ3N0b3JhZ2Uudm9sdW1lX21vZGUnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgPGF1aS1yYWRpby1ncm91cFxuICAgIHNpemU9XCJtZWRpdW1cIlxuICAgIFsobmdNb2RlbCldPVwibW9kZWwudm9sdW1lTW9kZVwiXG4gICAgbmFtZT1cInZvbHVtZU1vZGVcIlxuICAgIFthY2xSZWFkb25seUZpZWxkXT1cImlzRnJvbVNuYXBzaG90IHx8ICEhdm9sdW1lTW9kZVwiXG4gICAgW2FjbFJlYWRvbmx5RmllbGRUZW1wbGF0ZV09XCJ2b2x1bWVNb2RlVG1wbFwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwidm9sdW1lTW9kZUNoYW5nZSgkZXZlbnQpXCJcbiAgPlxuICAgIDxhdWktcmFkaW8tYnV0dG9uXG4gICAgICAqbmdGb3I9XCJsZXQgbW9kZSBvZiB2b2x1bWVNb2Rlc1wiXG4gICAgICBbYXVpVG9vbHRpcF09XCInc3RvcmFnZS5zdG9yYWdlX2ZvcmJpZF9zZWxlY3Rfdm9sdW1lX21vZGUnIHwgdHJhbnNsYXRlXCJcbiAgICAgIFthdWlUb29sdGlwRGlzYWJsZWRdPVwiXG4gICAgICAgICEoXG4gICAgICAgICAgbW9kZVxuICAgICAgICAgIHwgcHVyZVxuICAgICAgICAgICAgOiBzdG9yYWdlQ29tbW9uVXRpbC5pc1ZvbHVtZU1vZGVEaXNhYmxlZFxuICAgICAgICAgICAgOiBzZWxlY3RlZFN0b3JhZ2VTZWxlY3RPcHRpb25cbiAgICAgICAgKVxuICAgICAgXCJcbiAgICAgIFtkaXNhYmxlZF09XCJcbiAgICAgICAgbW9kZVxuICAgICAgICAgIHwgcHVyZVxuICAgICAgICAgICAgOiBzdG9yYWdlQ29tbW9uVXRpbC5pc1ZvbHVtZU1vZGVEaXNhYmxlZFxuICAgICAgICAgICAgOiBzZWxlY3RlZFN0b3JhZ2VTZWxlY3RPcHRpb25cbiAgICAgIFwiXG4gICAgICBbdmFsdWVdPVwibW9kZVwiXG4gICAgPlxuICAgICAge3sgJ3N0b3JhZ2UuJyArIFZvbHVtZU1vZGVUcmFuc2xhdGVLZXlbbW9kZV0gfCB0cmFuc2xhdGUgfX1cbiAgICA8L2F1aS1yYWRpby1idXR0b24+XG4gIDwvYXVpLXJhZGlvLWdyb3VwPlxuICA8ZGl2XG4gICAgYXVpRm9ybUl0ZW1BZGRvblxuICAgICpuZ0lmPVwiIXZvbHVtZU1vZGVcIlxuICA+XG4gICAgPGF1aS1pY29uXG4gICAgICBbYXVpVG9vbHRpcF09XCJ2b2x1bWVNb2RlVGlwXCJcbiAgICAgIFthdWlUb29sdGlwUG9zaXRpb25dPVwiJ3RvcCBjZW50ZXInXCJcbiAgICAgIGljb249XCJxdWVzdGlvbl9jaXJjbGVcIlxuICAgICAgY2xhc3M9XCJpY29uLS1oZWxwXCJcbiAgICA+PC9hdWktaWNvbj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjdm9sdW1lTW9kZVRpcD5cbiAgICA8dWwgY2xhc3M9XCJkLWxpc3RcIj5cbiAgICAgIDxsaT57eyAnc3RvcmFnZS52b2x1bWVfbW9kZV9maWxlX3N5c3RlbV9oaW50JyB8IHRyYW5zbGF0ZSB9fTwvbGk+XG4gICAgICA8bGk+e3sgJ3N0b3JhZ2Uudm9sdW1lX21vZGVfYmxvY2tfZGV2aWNlX2hpbnQnIHwgdHJhbnNsYXRlIH19PC9saT5cbiAgICA8L3VsPlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI3ZvbHVtZU1vZGVUbXBsPlxuICAgIHt7XG4gICAgICAobW9kZWwudm9sdW1lTW9kZSA9PT0gJ0ZpbGVzeXN0ZW0nXG4gICAgICAgID8gJ3N0b3JhZ2UuZmlsZV9zeXN0ZW0nXG4gICAgICAgIDogJ3N0b3JhZ2UuYmxvY2tfZGV2aWNlJ1xuICAgICAgKSB8IHRyYW5zbGF0ZVxuICAgIH19XG4gIDwvbmctdGVtcGxhdGU+XG48L2F1aS1mb3JtLWl0ZW0+XG5cbjxhdWktZm9ybS1pdGVtICpuZ0lmPVwiJ2FjY2Vzc01vZGVzJyB8IHB1cmU6IGRpc3BsYXlGaWVsZFN1cHBvcnRlZFwiPlxuICA8bGFiZWwgYXVpRm9ybUl0ZW1MYWJlbD57eyAnc3RvcmFnZS5hY2Nlc3NfbW9kZScgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICA8YXVpLXJhZGlvLWdyb3VwXG4gICAgYXVpRm9ybUl0ZW1Db250cm9sXG4gICAgWyhuZ01vZGVsKV09XCJtb2RlbC5hY2Nlc3NNb2Rlc1wiXG4gICAgbmFtZT1cImFjY2Vzc01vZGVzXCJcbiAgICAjYWNjZXNzTW9kZT1cIm5nTW9kZWxcIlxuICA+XG4gICAgPGF1aS1yYWRpby1idXR0b25cbiAgICAgICpuZ0Zvcj1cImxldCBtb2RlIG9mIGFjY2Vzc01vZGVzXCJcbiAgICAgIFthdWlUb29sdGlwXT1cIidzdG9yYWdlLnN0b3JhZ2VfZm9yYmlkX3NlbGVjdF9hY2Nlc3NfbW9kZScgfCB0cmFuc2xhdGVcIlxuICAgICAgW2F1aVRvb2x0aXBEaXNhYmxlZF09XCJcbiAgICAgICAgIShcbiAgICAgICAgICBtb2RlXG4gICAgICAgICAgfCBwdXJlXG4gICAgICAgICAgICA6IHN0b3JhZ2VDb21tb25VdGlsLmlzQWNjZXNzTW9kZURpc2FibGVkXG4gICAgICAgICAgICA6IHNlbGVjdGVkU3RvcmFnZVNlbGVjdE9wdGlvblxuICAgICAgICAgICAgOiBtb2RlbC52b2x1bWVNb2RlID09PSAnQmxvY2snXG4gICAgICAgIClcbiAgICAgIFwiXG4gICAgICBbdmFsdWVdPVwibW9kZVwiXG4gICAgICBbZGlzYWJsZWRdPVwiXG4gICAgICAgIG1vZGVcbiAgICAgICAgICB8IHB1cmVcbiAgICAgICAgICAgIDogc3RvcmFnZUNvbW1vblV0aWwuaXNBY2Nlc3NNb2RlRGlzYWJsZWRcbiAgICAgICAgICAgIDogc2VsZWN0ZWRTdG9yYWdlU2VsZWN0T3B0aW9uXG4gICAgICAgICAgICA6IG1vZGVsLnZvbHVtZU1vZGUgPT09ICdCbG9jaydcbiAgICAgIFwiXG4gICAgPlxuICAgICAge3sgJ3N0b3JhZ2UuJyArIEFjY2Vzc01vZGVUcmFuc2xhdGVLZXlbbW9kZV0gfCB0cmFuc2xhdGUgfX1cbiAgICA8L2F1aS1yYWRpby1idXR0b24+XG4gIDwvYXVpLXJhZGlvLWdyb3VwPlxuICA8ZGl2IGF1aUZvcm1JdGVtQWRkb24+XG4gICAgPGF1aS1pY29uXG4gICAgICBbYXVpVG9vbHRpcF09XCJhY2Nlc3NNb2RlVGlwXCJcbiAgICAgIFthdWlUb29sdGlwUG9zaXRpb25dPVwiJ3RvcCBjZW50ZXInXCJcbiAgICAgIGljb249XCJxdWVzdGlvbl9jaXJjbGVcIlxuICAgICAgY2xhc3M9XCJpY29uLS1oZWxwXCJcbiAgICA+PC9hdWktaWNvbj5cbiAgPC9kaXY+XG4gIDxhY2wtZXJyb3JzLW1hcHBlclxuICAgIGF1aUZvcm1JdGVtRXJyb3JcbiAgICBbZXJyb3JzXT1cImFjY2Vzc01vZGUuZXJyb3JzXCJcbiAgPjwvYWNsLWVycm9ycy1tYXBwZXI+XG4gIDxuZy10ZW1wbGF0ZSAjYWNjZXNzTW9kZVRpcD5cbiAgICA8dWwgY2xhc3M9XCJkLWxpc3RcIj5cbiAgICAgIDxsaT57eyAnc3RvcmFnZS5hY2Nlc3NfbW9kZV9yd28nIHwgdHJhbnNsYXRlIH19PC9saT5cbiAgICAgIDxsaT57eyAnc3RvcmFnZS5hY2Nlc3NfbW9kZV9yb3gnIHwgdHJhbnNsYXRlIH19PC9saT5cbiAgICAgIDxsaT57eyAnc3RvcmFnZS5hY2Nlc3NfbW9kZV9yd3gnIHwgdHJhbnNsYXRlIH19PC9saT5cbiAgICA8L3VsPlxuICA8L25nLXRlbXBsYXRlPlxuPC9hdWktZm9ybS1pdGVtPlxuXG48YXVpLWZvcm0taXRlbVxuICB3aWR0aD1cIm1lZGl1bVwiXG4gICpuZ0lmPVwiJ3N0b3JhZ2UnIHwgcHVyZTogZGlzcGxheUZpZWxkU3VwcG9ydGVkXCJcbj5cbiAgPGxhYmVsIGF1aUZvcm1JdGVtTGFiZWw+e3sgJ3N0b3JhZ2UuY2FwYWNpdHknIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgPGlucHV0XG4gICAgYXVpLWlucHV0XG4gICAgdHlwZT1cInRleHRcIlxuICAgIFtwYXR0ZXJuXT1cIlBPU0lUSVZFX0lOVF9QQVRURVJOLnBhdHRlcm5cIlxuICAgIFsobmdNb2RlbCldPVwibW9kZWwuc3RvcmFnZVwiXG4gICAgbmFtZT1cInN0b3JhZ2VcIlxuICAgICNzdG9yYWdlPVwibmdNb2RlbFwiXG4gICAgcmVxdWlyZWRcbiAgICBhdWlGb3JtSXRlbUNvbnRyb2xcbiAgICByZXF1aXJlZFxuICAgIFthY2xSZWFkb25seUZpZWxkXT1cImlzRnJvbVNuYXBzaG90XCJcbiAgICBbYWNsUmVhZG9ubHlGaWVsZFRlbXBsYXRlXT1cImNhcGFjaXR5VHBsXCJcbiAgLz5cbiAgPGF1aS1zZWxlY3RcbiAgICAqbmdJZj1cIiFpc0Zyb21TbmFwc2hvdFwiXG4gICAgWyhuZ01vZGVsKV09XCJ1bml0XCJcbiAgICBjbGFzcz1cInR3LW1heC13LVs2MHB4XSB0dy1tbC1bLTYwcHhdXCJcbiAgPlxuICAgIDxhdWktb3B0aW9uXG4gICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBVTklUU1wiXG4gICAgICBbbGFiZWxdPVwiaXRlbVwiXG4gICAgICBbdmFsdWVdPVwiaXRlbVwiXG4gICAgPlxuICAgICAge3sgaXRlbSB9fVxuICAgIDwvYXVpLW9wdGlvbj5cbiAgPC9hdWktc2VsZWN0PlxuICA8bmctdGVtcGxhdGUgI2NhcGFjaXR5VHBsPiB7eyBtb2RlbC5zdG9yYWdlIH19R2kgPC9uZy10ZW1wbGF0ZT5cbiAgPGFjbC1lcnJvcnMtbWFwcGVyXG4gICAgYXVpRm9ybUl0ZW1FcnJvclxuICAgIFtlcnJvcnNdPVwic3RvcmFnZS5lcnJvcnNcIlxuICAgIFtlcnJvcnNNYXBwZXJdPVwie1xuICAgICAgcGF0dGVybjogUE9TSVRJVkVfSU5UX1BBVFRFUk4udGlwIHwgdHJhbnNsYXRlLFxuICAgIH1cIlxuICA+PC9hY2wtZXJyb3JzLW1hcHBlcj5cbjwvYXVpLWZvcm0taXRlbT5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dBZHZhbmNlZEZpZWxkXCI+XG4gIDxhY2wtZm9sZGFibGUtYmxvY2sgaGludD1cInt7ICdzdG9yYWdlLmFkdmFuY2VkJyB8IHRyYW5zbGF0ZSB9fVwiPlxuICAgIDxhdWktZm9ybS1pdGVtXG4gICAgICBmb3JtR3JvdXBOYW1lPVwibWV0YWRhdGFcIlxuICAgICAgKm5nSWY9XCInbGFiZWxzJyB8IHB1cmU6IGRpc3BsYXlGaWVsZFN1cHBvcnRlZFwiXG4gICAgPlxuICAgICAgPGxhYmVsIGF1aUZvcm1JdGVtTGFiZWw+e3sgJ2xhYmVsJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgICA8YWNsLWtleS12YWx1ZS1mb3JtLXRhYmxlXG4gICAgICAgIGF1aUZvcm1JdGVtQ29udHJvbFxuICAgICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsLmxhYmVsc1wiXG4gICAgICAgIG5hbWU9XCJsYWJlbHNcIlxuICAgICAgICBbcmVzb3VyY2VOYW1lVHJhbnNsYXRlZF09XCInc3RvcmFnZS5sYWJlbHMnIHwgdHJhbnNsYXRlIHwgbG93ZXJjYXNlXCJcbiAgICAgICAgW3ZhbGlkYXRvcl09XCJsYWJlbFZhbGlkYXRvclwiXG4gICAgICAgIFtlcnJvck1hcHBlcl09XCJsYWJlbEVycm9yTWFwcGVyJCB8IGFzeW5jXCJcbiAgICAgID48L2FjbC1rZXktdmFsdWUtZm9ybS10YWJsZT5cbiAgICA8L2F1aS1mb3JtLWl0ZW0+XG4gICAgPGF1aS1mb3JtLWl0ZW1cbiAgICAgIGZvcm1Hcm91cE5hbWU9XCJtZXRhZGF0YVwiXG4gICAgICAqbmdJZj1cIidhbm5vdGF0aW9ucycgfCBwdXJlOiBkaXNwbGF5RmllbGRTdXBwb3J0ZWRcIlxuICAgID5cbiAgICAgIDxsYWJlbCBhdWlGb3JtSXRlbUxhYmVsPnt7ICdzdG9yYWdlLms4c19hbm5vdGF0aW9uJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgICA8YWNsLWtleS12YWx1ZS1mb3JtLXRhYmxlXG4gICAgICAgIGF1aUZvcm1JdGVtQ29udHJvbFxuICAgICAgICBbcmVzb3VyY2VOYW1lVHJhbnNsYXRlZF09XCJcbiAgICAgICAgICAnc3RvcmFnZS5rOHNfYW5ub3RhdGlvbicgfCB0cmFuc2xhdGUgfCBsb3dlcmNhc2VcbiAgICAgICAgXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJtb2RlbC5hbm5vdGF0aW9uc1wiXG4gICAgICAgIG5hbWU9XCJhbm5vdGF0aW9uc1wiXG4gICAgICAgIFt2YWxpZGF0b3JdPVwiYW5ub3RhdGlvblZhbGlkYXRvclwiXG4gICAgICAgIFtlcnJvck1hcHBlcl09XCJhbm5vdGF0aW9uRXJyb3JNYXBwZXIkIHwgYXN5bmNcIlxuICAgICAgPjwvYWNsLWtleS12YWx1ZS1mb3JtLXRhYmxlPlxuICAgIDwvYXVpLWZvcm0taXRlbT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiJ3NlbGVjdG9yJyB8IHB1cmU6IGRpc3BsYXlGaWVsZFN1cHBvcnRlZFwiPlxuICAgICAgPGF1aS1mb3JtLWl0ZW1cbiAgICAgICAgW2hpZGRlbl09XCJjcmVhdGVNZXRob2QgPT09IFB2Y1N0b3JhZ2VDbGFzc0NyZWF0ZVR5cGUuRFlOQU1JQ1wiXG4gICAgICA+XG4gICAgICAgIDxsYWJlbCBhdWlGb3JtSXRlbUxhYmVsPnt7ICdzdG9yYWdlLnNlbGVjdG9yJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgICAgIDxhY2wta2V5LXZhbHVlLWZvcm0tdGFibGVcbiAgICAgICAgICBhdWlGb3JtSXRlbUNvbnRyb2xcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsLnNlbGVjdG9yXCJcbiAgICAgICAgICBuYW1lPVwic2VsZWN0b3JcIlxuICAgICAgICA+PC9hY2wta2V5LXZhbHVlLWZvcm0tdGFibGU+XG4gICAgICA8L2F1aS1mb3JtLWl0ZW0+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvYWNsLWZvbGRhYmxlLWJsb2NrPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
698
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9zdG9yYWdlL3NyYy9saWIvY29tcG9uZW50cy9wdmMtZm9ybS9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL3N0b3JhZ2Uvc3JjL2xpYi9jb21wb25lbnRzL3B2Yy1mb3JtL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFdBQVcsRUFDWCxXQUFXLEVBQ1gsWUFBWSxFQUNaLGFBQWEsR0FDZCxNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBRUwsV0FBVyxFQUNYLG9DQUFvQyxFQUNwQyw4QkFBOEIsRUFDOUIsK0JBQStCLEVBQy9CLHlCQUF5QixFQUN6QixVQUFVLEVBRVYsc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUcxQix1QkFBdUIsRUFDdkIsWUFBWSxFQUNaLHNCQUFzQixFQUN0QixzQkFBc0IsRUFDdEIsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixhQUFhLEVBQ2IsY0FBYyxFQUNkLFNBQVMsRUFDVCxXQUFXLEVBRVgsVUFBVSxFQUVWLElBQUksRUFFSixnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3BCLFFBQVEsRUFDUixvQkFBb0IsR0FDckIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEUsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxPQUFPLENB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QVcsTUFHWCxjQUFjO2tCQURiLEtBQUs7WUFJTixlQUFlLE1BSWYsY0FBYztrQkFEYixLQUFLO1lBS04sVUFBVTtrQkFEVCxLQUFLO1lBS04sVUFBVTtrQkFEVCxLQUFLO1lBS04sYUFBYTtrQkFEWixLQUFLO1lBK0lOLHFCQUFxQjtrRkE5S1Ysa0NBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRm9ybU1vZHVsZSxcbiAgSWNvbk1vZHVsZSxcbiAgSW5wdXRNb2R1bGUsXG4gIFJhZGlvTW9kdWxlLFxuICBTZWxlY3RNb2R1bGUsXG4gIFRvb2x0aXBNb2R1bGUsXG59IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHtcbiAgQWNjZXNzTW9kZSxcbiAgQWNjZXNzTW9kZXMsXG4gIGdldEs4c1Jlc291cmNlQW5ub3RhdGlvbkVycm9yTWFwcGVyJCxcbiAgazhzUmVzb3VyY2VBbm5vdGF0aW9uVmFsaWRhdG9yLFxuICBnZXRLOHNSZXNvdXJjZUxhYmVsRXJyb3JNYXBwZXIkLFxuICBrOHNSZXNvdXJjZUxhYmVsVmFsaWRhdG9yLFxuICBWb2x1bWVNb2RlLFxuICBMYWJlbFNlbGVjdG9yLFxuICBGb2xkYWJsZUJsb2NrQ29tcG9uZW50LFxuICBLZXlWYWx1ZUZvcm1UYWJsZUNvbXBvbmVudCxcbiAgUGVyc2lzdGVudFZvbHVtZUNsYWltLFxuICBQZXJzaXN0ZW50Vm9sdW1lQ2xhaW1EYXRhU291cmNlLFxuICBjcmVhdGVOZXN0ZWRGb3JtQ29udHJvbCxcbiAgZGF0YVRyYW5zZmVyLFxuICBSZWFkb25seUZpZWxkRGlyZWN0aXZlLFxuICBLOFNfUkVTT1VSQ0VfTkFNRV9CQVNFLFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxuICBPYnNlcnZhYmxlSW5wdXQsXG4gIEs4c0FwaVNlcnZpY2UsXG4gIFJFU09VUkNFX1RZUEVTLFxuICBza2lwRXJyb3IsXG4gIFZvbHVtZU1vZGVzLFxuICBWYWx1ZU9mLFxuICBwdWJsaXNoUmVmLFxuICBTdHJpbmdNYXAsXG4gIGJpbmQsXG4gIFdvcmtzcGFjZVBhcmFtcyxcbiAgVFJBTlNMQVRFX01PRFVMRSxcbiAgRVJST1JTX01BUFBFUl9NT0RVTEUsXG4gIFB1cmVQaXBlLFxuICBQT1NJVElWRV9JTlRfUEFUVEVSTixcbn0gZnJvbSAnQGFsYXVkYS1mZS9jb21tb24nO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBMb3dlckNhc2VQaXBlLCBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjb21wb3NlIH0gZnJvbSAncmFtZGEnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgbWFwLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIFN0b3JhZ2VTZWxlY3RPcHRpb24sXG4gIFN0b3JhZ2VDb21tb25VdGlsU2VydmljZSxcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29tbW9uLXV0aWwuc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yYWdlQ2xhc3MsIFZvbHVtZVNuYXBzaG90Q2xhc3MgfSBmcm9tICcuLi8uLi90eXBlcy9rOHMnO1xuaW1wb3J0IHtcbiAgQWNjZXNzTW9kZVRyYW5zbGF0ZUtleSxcbiAgVm9sdW1lTW9kZVRyYW5zbGF0ZUtleSxcbn0gZnJvbSAnLi4vLi4vdXRpbHMvY29uc3RhbnRzJztcbmltcG9ydCB7IGJ1aWxkUHZjUmVzb3VyY2UgfSBmcm9tICcuLi8uLi91dGlscy91dGlsJztcbmltcG9ydCB7IFN0b3JhZ2VDbGFzc1NlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uL3N0b3JhZ2VjbGFzcy1zZWxlY3QvY29tcG9uZW50JztcblxuY29uc3QgUHZjU3RvcmFnZUNsYXNzQ3JlYXRlVHlwZSA9IHtcbiAgRFlOQU1JQzogJ2R5bmFtaWMnLFxuICBTVEFUSUM6ICdzdGF0aWMnLFxufSBhcyBjb25zdDtcblxudHlwZSBQdmNTdG9yYWdlQ2xhc3NDcmVhdGVUeXBlID0gVmFsdWVPZjx0eXBlb2YgUHZjU3RvcmFnZUNsYXNzQ3JlYXRlVHlwZT47XG5cbmludGVyZmFjZSBQZXJzaXN0ZW50Vm9sdW1lRm9ybU1vZGVsIHtcbiAgbmFtZTogc3RyaW5nO1xuICBsYWJlbHM6IFN0cmluZ01hcDtcbiAgYW5ub3RhdGlvbnM6IFN0cmluZ01hcDtcbiAgLy8gbnVsbCDooajnpLrkvb/nlKjpu5jorqQgc2NcbiAgLy8gXCJcIiDmiJbkuI3lhpnor6XlrZfmrrXooajnpLrkuI3orr7nva7lrZjlgqjnsbtcbiAgc3RvcmFnZUNsYXNzTmFtZTogc3RyaW5nO1xuICBhY2Nlc3NNb2RlczogQWNjZXNzTW9kZTtcbiAgdm9sdW1lTW9kZTogVm9sdW1lTW9kZTtcbiAgc3RvcmFnZTogc3RyaW5nO1xuICBkYXRhU291cmNlPzogUGVyc2lzdGVudFZvbHVtZUNsYWltRGF0YVNvdXJjZTtcbiAgc2VsZWN0b3I6IExhYmVsU2VsZWN0b3I7XG59XG5cbnR5cGUgRGlzcGxheUZpZWxkID0ga2V5b2YgUGVyc2lzdGVudFZvbHVtZUZvcm1Nb2RlbCB8ICdjcmVhdGVUeXBlJztcblxuY29uc3QgVU5JVFMgPSBbJ0dpJywgJ1RpJ10gYXMgY29uc3Q7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2FjbC1wdmMtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAndGVtcGxhdGUuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBOZ0ZvcixcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBGb3JtTW9kdWxlLFxuICAgIFJhZGlvTW9kdWxlLFxuICAgIElucHV0TW9kdWxlLFxuICAgIFNlbGVjdE1vZHVsZSxcbiAgICBUb29sdGlwTW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgUHVyZVBpcGUsXG4gICAgQXN5bmNQaXBlLFxuICAgIExvd2VyQ2FzZVBpcGUsXG4gICAgUmVhZG9ubHlGaWVsZERpcmVjdGl2ZSxcbiAgICBGb2xkYWJsZUJsb2NrQ29tcG9uZW50LFxuICAgIFN0b3JhZ2VDbGFzc1NlbGVjdENvbXBvbmVudCxcbiAgICBLZXlWYWx1ZUZvcm1UYWJsZUNvbXBvbmVudCxcbiAgICBUUkFOU0xBVEVfTU9EVUxFLFxuICAgIEVSUk9SU19NQVBQRVJfTU9EVUxFLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBlcnNpc3RlbnRWb2x1bWVDbGFpbUZvcm1Db21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUGVyc2lzdGVudFZvbHVtZUNsYWltRm9ybUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQZXJzaXN0ZW50Vm9sdW1lQ2xhaW1Gb3JtQ29tcG9uZW50IGV4dGVuZHMgY3JlYXRlTmVzdGVkRm9ybUNvbnRyb2w8XG4gIFBlcnNpc3RlbnRWb2x1bWVDbGFpbSxcbiAgUGVyc2lzdGVudFZvbHVtZUZvcm1Nb2RlbFxuPih7XG4gIGF1dG9FbWl0Q2hhbmdlOiB0cnVlLFxufSkge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICBiYXNlUGFyYW1zOiBXb3Jrc3BhY2VQYXJhbXM7XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGJhc2VQYXJhbXMkITogT2JzZXJ2YWJsZTxXb3Jrc3BhY2VQYXJhbXM+O1xuXG4gIEBJbnB1dCgpXG4gIHN0b3JhZ2VDbGFzc2VzOiBTdG9yYWdlQ2xhc3NbXTtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgc3RvcmFnZUNsYXNzZXMkITogT2JzZXJ2YWJsZTxTdG9yYWdlQ2xhc3NbXT47XG5cbiAgLy8g5b+r54Wn57G7IHB2YyDliJvlu7pcbiAgQElucHV0KClcbiAgaXNGcm9tU25hcHNob3Q6IGJvb2xlYW47XG5cbiAgLy8g5aaC5p6c5Lyg5YWl55u45bqU55qEIGNyZWF0ZVR5cGUg6KGo56S65Zu65a6a5YW25YC8XG4gIEBJbnB1dCgpXG4gIGNyZWF0ZVR5cGU6IFB2Y1N0b3JhZ2VDbGFzc0NyZWF0ZVR5cGU7XG5cbiAgLy8g5aaC5p6c5Lyg5YWl55u45bqU55qEIHZvbHVtZU1vZGUg6KGo56S65Zu65a6a5YW25YC8XG4gIEBJbnB1dCgpXG4gIHZvbHVtZU1vZGU6IFZvbHVtZU1vZGU7XG5cbiAgLy8g5aaC5p6c5Lyg5YWl55u45bqU55qEIGRpc3BsYXlGaWVsZCDooajnpLrlj6rkvJrlsZXnpLrlr7nlupTnmoQgY29udHJvbFxuICBASW5wdXQoKVxuICBkaXNwbGF5RmllbGRzOiBEaXNwbGF5RmllbGRbXTtcblxuICBnZXQgc2hvd0FkdmFuY2VkRmllbGQoKSB7XG4gICAgaWYgKCF0aGlzLmRpc3BsYXlGaWVsZHM/Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZGlzcGxheUZpZWxkcz8uc29tZShmaWVsZCA9PlxuICAgICAgWydsYWJlbHMnLCAnYW5ub3RhdGlvbnMnLCAnc2VsZWN0b3InXS5pbmNsdWRlcyhmaWVsZCksXG4gICAgKTtcbiAgfVxuXG4gIGdldCBpc0Zyb21TbmFwc2hvdEFuZFNvdXJjZVBWQ0V4aXN0KCkge1xuICAgIHJldHVybiB0aGlzLmlzRnJvbVNuYXBzaG90ICYmICEhdGhpcy5vcmlnaW5SZXNvdXJjZT8uc3BlYz8uc3RvcmFnZUNsYXNzTmFtZTtcbiAgfVxuXG4gIGdldCBzZWxlY3REZWZhdWx0KCkge1xuICAgIHJldHVybiB0aGlzLmlzRnJvbVNuYXBzaG90XG4gICAgICA/ICEhdGhpcy5vcmlnaW5SZXNvdXJjZT8uc3BlYz8uc3RvcmFnZUNsYXNzTmFtZVxuICAgICAgOiB0cnVlO1xuICB9XG5cbiAgZ2V0IHNob3dTdG9yYWdlQ2xhc3NIaW50V2hlbkZyb21TbmFwc2hvdCgpIHtcbiAgICByZXR1cm4gdGhpcy5pc0Zyb21TbmFwc2hvdCAmJiAhdGhpcy5vcmlnaW5SZXNvdXJjZT8uc3BlYz8uc3RvcmFnZUNsYXNzTmFtZTtcbiAgfVxuXG4gIGFjY2Vzc01vZGVzID0gQWNjZXNzTW9kZXM7XG4gIHZvbHVtZU1vZGVzID0gVm9sdW1lTW9kZXM7XG4gIFBPU0lUSVZFX0lOVF9QQVRURVJOID0gUE9TSVRJVkVfSU5UX1BBVFRFUk47XG4gIG9yaWdpblJlc291cmNlOiBQZXJzaXN0ZW50Vm9sdW1lQ2xhaW07XG5cbiAgb3ZlcnJpZGUgbW9kZWwgPSB7fSBhcyBQZXJzaXN0ZW50Vm9sdW1lRm9ybU1vZGVsO1xuXG4gIHJlc291cmNlTmFtZVJlZyA9IEs4U19SRVNPVVJDRV9OQU1FX0JBU0U7XG4gIGxhYmVsVmFsaWRhdG9yID0gazhzUmVzb3VyY2VMYWJlbFZhbGlkYXRvcjtcbiAgQWNjZXNzTW9kZVRyYW5zbGF0ZUtleSA9IEFjY2Vzc01vZGVUcmFuc2xhdGVLZXk7XG4gIFZvbHVtZU1vZGVUcmFuc2xhdGVLZXkgPSBWb2x1bWVNb2RlVHJhbnNsYXRlS2V5O1xuXG4gIGxhYmVsRXJyb3JNYXBwZXIkID0gZ2V0SzhzUmVzb3VyY2VMYWJlbEVycm9yTWFwcGVyJCh0aGlzLnRyYW5zbGF0ZSk7XG4gIGFubm90YXRpb25WYWxpZGF0b3IgPSBrOHNSZXNvdXJjZUFubm90YXRpb25WYWxpZGF0b3I7XG4gIGFubm90YXRpb25FcnJvck1hcHBlciQgPSBnZXRLOHNSZXNvdXJjZUFubm90YXRpb25FcnJvck1hcHBlciQodGhpcy50cmFuc2xhdGUpO1xuXG4gIGNyZWF0ZU1ldGhvZDogUHZjU3RvcmFnZUNsYXNzQ3JlYXRlVHlwZTtcbiAgUHZjU3RvcmFnZUNsYXNzQ3JlYXRlVHlwZSA9IFB2Y1N0b3JhZ2VDbGFzc0NyZWF0ZVR5cGU7XG4gIHNlbGVjdGVkU3RvcmFnZVNlbGVjdE9wdGlvbjogU3RvcmFnZVNlbGVjdE9wdGlvbjtcbiAgVU5JVFMgPSBVTklUUztcbiAgdW5pdCA9ICdHaSc7XG5cbiAgc3RvcmFnZUNsYXNzTGlzdCQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLmJhc2VQYXJhbXMkLFxuICAgIHRoaXMuc3RvcmFnZUNsYXNzZXMkLFxuICBdKS5waXBlKFxuICAgIHN3aXRjaE1hcCgoW3sgY2x1c3RlciB9LCBzdG9yYWdlQ2xhc3Nlc10pID0+IHtcbiAgICAgIGlmIChzdG9yYWdlQ2xhc3Nlcykge1xuICAgICAgICByZXR1cm4gb2Yoc3RvcmFnZUNsYXNzZXMpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuazhzQXBpXG4gICAgICAgIC5nZXRSZXNvdXJjZUxpc3Q8U3RvcmFnZUNsYXNzPih7XG4gICAgICAgICAgdHlwZTogUkVTT1VSQ0VfVFlQRVMuU1RPUkFHRV9DTEFTUyxcbiAgICAgICAgICBjbHVzdGVyLFxuICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgICAgICBsaW1pdDogJzAnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pXG4gICAgICAgIC5waXBlKG1hcChyZXMgPT4gcmVzPy5pdGVtcykpO1xuICAgIH0pLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICB2b2x1bWVTbmFwc2hvdENsYXNzTGlzdCQgPSB0aGlzLmJhc2VQYXJhbXMkLnBpcGUoXG4gICAgc3dpdGNoTWFwKGJhc2VQYXJhbXMgPT5cbiAgICAgIHRoaXMuazhzQXBpXG4gICAgICAgIC5nZXRSZXNvdXJjZUxpc3Q8Vm9sdW1lU25hcHNob3RDbGFzcz4oe1xuICAgICAgICAgIHR5cGU6IFJFU09VUkNFX1RZUEVTLlZPTFVNRV9TTkFQU0hPVF9DTEFTUyxcbiAgICAgICAgICBjbHVzdGVyOiBiYXNlUGFyYW1zLmNsdXN0ZXIsXG4gICAgICAgIH0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcChyID0+IHIuaXRlbXMpLFxuICAgICAgICAgIHNraXBFcnJvcihbXSBhcyBWb2x1bWVTbmFwc2hvdENsYXNzW10pLFxuICAgICAgICApLFxuICAgICksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IFBlcnNpc3RlbnRWb2x1bWVDbGFpbSk6IHZvaWQge1xuICAgIHRoaXMub3JpZ2luUmVzb3VyY2UgPSB2YWx1ZTtcbiAgICB0aGlzLm1vZGVsID0gdGhpcy52YWx1ZUluKFxuICAgICAgdmFsdWUgPz9cbiAgICAgICAgYnVpbGRQdmNSZXNvdXJjZSh7XG4gICAgICAgICAgbmFtZXNwYWNlOiB0aGlzLmJhc2VQYXJhbXMubmFtZXNwYWNlLFxuICAgICAgICAgIHZvbHVtZU1vZGU6IHRoaXMudm9sdW1lTW9kZSxcbiAgICAgICAgfSksXG4gICAgKTtcbiAgICBpZiAodGhpcy5jcmVhdGVUeXBlKSB7XG4gICAgICB0aGlzLmNyZWF0ZU1ldGhvZCA9IHRoaXMuY3JlYXRlVHlwZTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgc3RvcmFnZUNvbW1vblV0aWw6IFN0b3JhZ2VDb21tb25VdGlsU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGs4c0FwaTogSzhzQXBpU2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGNvbnN0IFt0b01vZGVsLCB0b1Jlc291cmNlXSA9IGRhdGFUcmFuc2ZlcjxcbiAgICAgIFBlcnNpc3RlbnRWb2x1bWVDbGFpbSxcbiAgICAgIFBlcnNpc3RlbnRWb2x1bWVGb3JtTW9kZWxcbiAgICA+KHtcbiAgICAgIG5hbWU6ICdtZXRhZGF0YS5uYW1lJyxcbiAgICAgIGxhYmVsczogJ21ldGFkYXRhLmxhYmVscycsXG4gICAgICBhbm5vdGF0aW9uczogJ21ldGFkYXRhLmFubm90YXRpb25zJyxcbiAgICAgIHN0b3JhZ2VDbGFzc05hbWU6ICdzcGVjLnN0b3JhZ2VDbGFzc05hbWUnLFxuICAgICAgYWNjZXNzTW9kZXM6IFsnc3BlYycsICdhY2Nlc3NNb2RlcycsIDBdLFxuICAgICAgdm9sdW1lTW9kZTogJ3NwZWMudm9sdW1lTW9kZScsXG4gICAgICBzdG9yYWdlOiAnc3BlYy5yZXNvdXJjZXMucmVxdWVzdHMuc3RvcmFnZScsXG4gICAgICBkYXRhU291cmNlOiAnc3BlYy5kYXRhU291cmNlJyxcbiAgICAgIHNlbGVjdG9yOiAnc3BlYy5zZWxlY3Rvci5tYXRjaExhYmVscycsXG4gICAgfSk7XG5cbiAgICB0aGlzLnZhbHVlSW4gPSBjb21wb3NlKHRvTW9kZWwsIHRoaXMuYWRhcHRSZXNvdXJjZU1vZGVsKTtcbiAgICB0aGlzLm1vZGVsT3V0ID0gY29tcG9zZSh0aGlzLm92ZXJyaWRlUmVzb3VyY2UsIHRvUmVzb3VyY2UpO1xuICB9XG5cbiAgY3JlYXRlTWV0aG9kQ2hhbmdlKGNyZWF0ZVR5cGU6IFB2Y1N0b3JhZ2VDbGFzc0NyZWF0ZVR5cGUpIHtcbiAgICAvLyDpnZnmgIHljLnphY3kuI3pnIDopoHpmZDliLborr/pl67mqKHlvI9cbiAgICBpZiAoY3JlYXRlVHlwZSA9PT0gJ3N0YXRpYycpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdG9yYWdlU2VsZWN0T3B0aW9uID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBzdG9yYWdlY2xhc3NDaGFuZ2Uoc2VsZWN0ZWRPcHRpb246IFN0b3JhZ2VTZWxlY3RPcHRpb24pIHtcbiAgICB0aGlzLnNlbGVjdGVkU3RvcmFnZVNlbGVjdE9wdGlvbiA9IHNlbGVjdGVkT3B0aW9uO1xuICAgIHRoaXMuc2V0Vm9sdW1lTW9kZVRvU3VwcG9ydFZhbHVlSWZOZWVkKCk7XG4gICAgdGhpcy5zZXRBY2Nlc3NNb2RlVG9TdXBwb3J0VmFsdWVJZk5lZWQodGhpcy5tb2RlbC52b2x1bWVNb2RlKTtcbiAgfVxuXG4gIHZvbHVtZU1vZGVDaGFuZ2Uodm9sdW1lTW9kZTogVm9sdW1lTW9kZSkge1xuICAgIHRoaXMuc2V0QWNjZXNzTW9kZVRvU3VwcG9ydFZhbHVlSWZOZWVkKHZvbHVtZU1vZGUpO1xuICB9XG5cbiAgQGJpbmRcbiAgZGlzcGxheUZpZWxkU3VwcG9ydGVkKGZpZWxkTmFtZTogRGlzcGxheUZpZWxkKSB7XG4gICAgaWYgKCF0aGlzLmRpc3BsYXlGaWVsZHM/Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZGlzcGxheUZpZWxkcy5pbmNsdWRlcyhmaWVsZE5hbWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRBY2Nlc3NNb2RlVG9TdXBwb3J0VmFsdWVJZk5lZWQodm9sdW1lTW9kZSA9IHRoaXMudm9sdW1lTW9kZSkge1xuICAgIGlmIChcbiAgICAgIHRoaXMuc3RvcmFnZUNvbW1vblV0aWwuaXNBY2Nlc3NNb2RlRGlzYWJsZWQoXG4gICAgICAgIHRoaXMubW9kZWwuYWNjZXNzTW9kZXMsXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTdG9yYWdlU2VsZWN0T3B0aW9uLFxuICAgICAgICB2b2x1bWVNb2RlID09PSAnQmxvY2snLFxuICAgICAgKVxuICAgICkge1xuICAgICAgdGhpcy5tb2RlbC5hY2Nlc3NNb2RlcyA9IHRoaXMuYWNjZXNzTW9kZXMuZmluZChcbiAgICAgICAgYWNjZXNzTW9kZSA9PlxuICAgICAgICAgICF0aGlzLnN0b3JhZ2VDb21tb25VdGlsLmlzQWNjZXNzTW9kZURpc2FibGVkKFxuICAgICAgICAgICAgYWNjZXNzTW9kZSxcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRTdG9yYWdlU2VsZWN0T3B0aW9uLFxuICAgICAgICAgICAgdGhpcy52b2x1bWVNb2RlID09PSAnQmxvY2snLFxuICAgICAgICAgICksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0Vm9sdW1lTW9kZVRvU3VwcG9ydFZhbHVlSWZOZWVkKCkge1xuICAgIGlmIChcbiAgICAgIHRoaXMuc3RvcmFnZUNvbW1vblV0aWwuaXNWb2x1bWVNb2RlRGlzYWJsZWQoXG4gICAgICAgIHRoaXMubW9kZWwudm9sdW1lTW9kZSxcbiAgICAgICAgdGhpcy5zZWxlY3RlZFN0b3JhZ2VTZWxlY3RPcHRpb24sXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0aGlzLm1vZGVsLnZvbHVtZU1vZGUgPSB0aGlzLnZvbHVtZU1vZGVzLmZpbmQoXG4gICAgICAgIHZvbHVtZU1vZGUgPT5cbiAgICAgICAgICAhdGhpcy5zdG9yYWdlQ29tbW9uVXRpbC5pc1ZvbHVtZU1vZGVEaXNhYmxlZChcbiAgICAgICAgICAgIHZvbHVtZU1vZGUsXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkU3RvcmFnZVNlbGVjdE9wdGlvbixcbiAgICAgICAgICApLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IGFkYXB0UmVzb3VyY2VNb2RlbCA9IChwdmM6IFBlcnNpc3RlbnRWb2x1bWVDbGFpbSkgPT4ge1xuICAgIGNvbnN0IHN0b3JhZ2UgPSBwdmM/LnNwZWM/LnJlc291cmNlcz8ucmVxdWVzdHM/LnN0b3JhZ2U7XG4gICAgaWYgKHN0b3JhZ2UpIHtcbiAgICAgIGNvbnN0IHJlcyA9IFN0cmluZyhzdG9yYWdlKS5tYXRjaCgvW0EtWmEtel0rfFxcZCsoPzpcXC5cXGQrKT8vZyk7XG4gICAgICBwdmMuc3BlYy5yZXNvdXJjZXMucmVxdWVzdHMuc3RvcmFnZSA9IHJlc1swXSB8fCAnJztcbiAgICAgIHRoaXMudW5pdCA9IHJlc1sxXSB8fCAnR2knO1xuICAgIH1cblxuICAgIC8vIFwiXCIg6KGo56S66Z2Z5oCB5Yib5bu6XG4gICAgdGhpcy5jcmVhdGVNZXRob2QgPVxuICAgICAgcHZjPy5zcGVjPy5zdG9yYWdlQ2xhc3NOYW1lID09PSAnJyA/ICdzdGF0aWMnIDogJ2R5bmFtaWMnO1xuXG4gICAgcmV0dXJuIHB2YztcbiAgfTtcblxuICBwcml2YXRlIHJlYWRvbmx5IG92ZXJyaWRlUmVzb3VyY2UgPSAocHZjOiBQZXJzaXN0ZW50Vm9sdW1lQ2xhaW0pID0+IHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmNyZWF0ZU1ldGhvZCA9PT0gJ2R5bmFtaWMnIHx8XG4gICAgICBPYmplY3Qua2V5cyhwdmM/LnNwZWM/LnNlbGVjdG9yPy5tYXRjaExhYmVscyA/PyB7fSkubGVuZ3RoID09PSAwXG4gICAgKSB7XG4gICAgICBkZWxldGUgcHZjPy5zcGVjPy5zZWxlY3RvcjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jcmVhdGVNZXRob2QgPT09ICdzdGF0aWMnKSB7XG4gICAgICBwdmMuc3BlYy5zdG9yYWdlQ2xhc3NOYW1lID0gJyc7XG4gICAgfVxuXG4gICAgaWYgKHB2Yz8uc3BlYz8ucmVzb3VyY2VzPy5yZXF1ZXN0cz8uc3RvcmFnZSkge1xuICAgICAgcHZjLnNwZWMucmVzb3VyY2VzLnJlcXVlc3RzLnN0b3JhZ2UgPSBgJHtwdmMuc3BlYy5yZXNvdXJjZXMucmVxdWVzdHMuc3RvcmFnZX0ke3RoaXMudW5pdH1gO1xuICAgIH1cbiAgICByZXR1cm4gcHZjO1xuICB9O1xufVxuIiwiPGF1aS1mb3JtLWl0ZW1cbiAgd2lkdGg9XCJsYXJnZVwiXG4gICpuZ0lmPVwiJ25hbWUnIHwgcHVyZTogZGlzcGxheUZpZWxkU3VwcG9ydGVkXCJcbj5cbiAgPGxhYmVsIGF1aUZvcm1JdGVtTGFiZWw+e3sgJ25hbWUnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgPGlucHV0XG4gICAgYXVpLWlucHV0XG4gICAgYXVpRm9ybUl0ZW1Db250cm9sXG4gICAgWyhuZ01vZGVsKV09XCJtb2RlbC5uYW1lXCJcbiAgICBuYW1lPVwibmFtZVwiXG4gICAgI25hbWU9XCJuZ01vZGVsXCJcbiAgICBtYXhsZW5ndGg9XCI2M1wiXG4gICAgW3BsYWNlaG9sZGVyXT1cInJlc291cmNlTmFtZVJlZy50aXAgfCB0cmFuc2xhdGVcIlxuICAgIFtwYXR0ZXJuXT1cInJlc291cmNlTmFtZVJlZy5wYXR0ZXJuXCJcbiAgICByZXF1aXJlZFxuICAvPlxuICA8YWNsLWVycm9ycy1tYXBwZXJcbiAgICBhdWlGb3JtSXRlbUVycm9yXG4gICAgW2Vycm9yc109XCJuYW1lLmVycm9yc1wiXG4gICAgW2Vycm9yc01hcHBlcl09XCJ7XG4gICAgICBwYXR0ZXJuOiByZXNvdXJjZU5hbWVSZWcudGlwIHwgdHJhbnNsYXRlLFxuICAgIH1cIlxuICA+PC9hY2wtZXJyb3JzLW1hcHBlcj5cbjwvYXVpLWZvcm0taXRlbT5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIidkYXRhU291cmNlJyB8IHB1cmU6IGRpc3BsYXlGaWVsZFN1cHBvcnRlZFwiPlxuICA8YXVpLWZvcm0taXRlbSAqbmdJZj1cIm1vZGVsLmRhdGFTb3VyY2UgYXMgZGF0YVNvdXJjZVwiPlxuICAgIDxsYWJlbCBhdWlGb3JtSXRlbUxhYmVsPnt7ICdzdG9yYWdlLmRhdGFfc291cmNlJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAge3sgZGF0YVNvdXJjZS5uYW1lIH19XG4gIDwvYXVpLWZvcm0taXRlbT5cbjwvbmctY29udGFpbmVyPlxuXG48YXVpLWZvcm0taXRlbSAqbmdJZj1cIidjcmVhdGVUeXBlJyB8IHB1cmU6IGRpc3BsYXlGaWVsZFN1cHBvcnRlZFwiPlxuICA8bGFiZWwgYXVpRm9ybUl0ZW1MYWJlbD57eyAnc3RvcmFnZS5jcmVhdGVfbWV0aG9kJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gIDxhdWktcmFkaW8tZ3JvdXBcbiAgICBzaXplPVwibWVkaXVtXCJcbiAgICBbKG5nTW9kZWwpXT1cImNyZWF0ZU1ldGhvZFwiXG4gICAgbmFtZT1cImNyZWF0ZU1ldGhvZFwiXG4gICAgW2FjbFJlYWRvbmx5RmllbGRdPVwiaXNGcm9tU25hcHNob3QgfHwgISFjcmVhdGVUeXBlXCJcbiAgICBbYWNsUmVhZG9ubHlGaWVsZFRlbXBsYXRlXT1cImNyZWF0ZVR5cGVUbXBsXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJjcmVhdGVNZXRob2RDaGFuZ2UoJGV2ZW50KVwiXG4gID5cbiAgICA8YXVpLXJhZGlvLWJ1dHRvbiBbdmFsdWVdPVwiUHZjU3RvcmFnZUNsYXNzQ3JlYXRlVHlwZS5EWU5BTUlDXCI+XG4gICAgICB7eyAnc3RvcmFnZS5keW5hbWljX2NyZWF0ZScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2F1aS1yYWRpby1idXR0b24+XG4gICAgPGF1aS1yYWRpby1idXR0b24gW3ZhbHVlXT1cIlB2Y1N0b3JhZ2VDbGFzc0NyZWF0ZVR5cGUuU1RBVElDXCI+XG4gICAgICB7eyAnc3RvcmFnZS5zdGF0aWNfbWF0Y2gnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9hdWktcmFkaW8tYnV0dG9uPlxuICA8L2F1aS1yYWRpby1ncm91cD5cbiAgPG5nLXRlbXBsYXRlICNjcmVhdGVUeXBlVG1wbD5cbiAgICB7e1xuICAgICAgKGNyZWF0ZU1ldGhvZCA9PT0gUHZjU3RvcmFnZUNsYXNzQ3JlYXRlVHlwZS5EWU5BTUlDXG4gICAgICAgID8gJ3N0b3JhZ2UuZHluYW1pY19jcmVhdGUnXG4gICAgICAgIDogJ3N0b3JhZ2Uuc3RhdGljX21hdGNoJ1xuICAgICAgKSB8IHRyYW5zbGF0ZVxuICAgIH19XG4gIDwvbmctdGVtcGxhdGU+XG48L2F1aS1mb3JtLWl0ZW0+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCInc3RvcmFnZUNsYXNzTmFtZScgfCBwdXJlOiBkaXNwbGF5RmllbGRTdXBwb3J0ZWRcIj5cbiAgPGF1aS1mb3JtLWl0ZW1cbiAgICAqbmdJZj1cImNyZWF0ZU1ldGhvZCAhPT0gUHZjU3RvcmFnZUNsYXNzQ3JlYXRlVHlwZS5TVEFUSUNcIlxuICAgIHdpZHRoPVwibWVkaXVtXCJcbiAgPlxuICAgIDxsYWJlbCBhdWlGb3JtSXRlbUxhYmVsPnt7ICdzdG9yYWdlY2xhc3MnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgICA8YWNsLXN0b3JhZ2VjbGFzcy1zZWxlY3RcbiAgICAgIFtzdG9yYWdlQ2xhc3Nlc109XCJzdG9yYWdlQ2xhc3NMaXN0JCB8IGFzeW5jXCJcbiAgICAgIFt2b2x1bWVTbmFwc2hvdENsYXNzZXNdPVwidm9sdW1lU25hcHNob3RDbGFzc0xpc3QkIHwgYXN5bmNcIlxuICAgICAgW2lzRnJvbVNuYXBzaG90XT1cImlzRnJvbVNuYXBzaG90QW5kU291cmNlUFZDRXhpc3RcIlxuICAgICAgW3NlbGVjdERlZmF1bHRdPVwic2VsZWN0RGVmYXVsdFwiXG4gICAgICBhdWlGb3JtSXRlbUNvbnRyb2xcbiAgICAgIHJlcXVpcmVkXG4gICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsLnN0b3JhZ2VDbGFzc05hbWVcIlxuICAgICAgbmFtZT1cInN0b3JhZ2VDbGFzc05hbWVcIlxuICAgICAgI3N0b3JhZ2VDbGFzc05hbWU9XCJuZ01vZGVsXCJcbiAgICAgIChzdG9yYWdlQ2xhc3NDaGFuZ2UpPVwic3RvcmFnZWNsYXNzQ2hhbmdlKCRldmVudClcIlxuICAgID48L2FjbC1zdG9yYWdlY2xhc3Mtc2VsZWN0PlxuICAgIDxhY2wtZXJyb3JzLW1hcHBlclxuICAgICAgYXVpRm9ybUl0ZW1FcnJvclxuICAgICAgW2Vycm9yc109XCJzdG9yYWdlQ2xhc3NOYW1lLmVycm9yc1wiXG4gICAgPjwvYWNsLWVycm9ycy1tYXBwZXI+XG4gICAgPGRpdlxuICAgICAgYXVpRm9ybUl0ZW1IaW50XG4gICAgICBjbGFzcz1cInR3LXRleHQteWVsbG93XCJcbiAgICAgICpuZ0lmPVwic2hvd1N0b3JhZ2VDbGFzc0hpbnRXaGVuRnJvbVNuYXBzaG90XCJcbiAgICA+XG4gICAgICB7eyAnc3RvcmFnZS5yZXN0b3JlX3B2Y19zdG9yYWdlY2xhc3NfaGludCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2Rpdj5cbiAgPC9hdWktZm9ybS1pdGVtPlxuPC9uZy1jb250YWluZXI+XG5cbjxhdWktZm9ybS1pdGVtICpuZ0lmPVwiJ3ZvbHVtZU1vZGUnIHwgcHVyZTogZGlzcGxheUZpZWxkU3VwcG9ydGVkXCI+XG4gIDxsYWJlbCBhdWlGb3JtSXRlbUxhYmVsPnt7ICdzdG9yYWdlLnZvbHVtZV9tb2RlJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gIDxhdWktcmFkaW8tZ3JvdXBcbiAgICBzaXplPVwibWVkaXVtXCJcbiAgICBbKG5nTW9kZWwpXT1cIm1vZGVsLnZvbHVtZU1vZGVcIlxuICAgIG5hbWU9XCJ2b2x1bWVNb2RlXCJcbiAgICBbYWNsUmVhZG9ubHlGaWVsZF09XCJpc0Zyb21TbmFwc2hvdEFuZFNvdXJjZVBWQ0V4aXN0IHx8ICEhdm9sdW1lTW9kZVwiXG4gICAgW2FjbFJlYWRvbmx5RmllbGRUZW1wbGF0ZV09XCJ2b2x1bWVNb2RlVG1wbFwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwidm9sdW1lTW9kZUNoYW5nZSgkZXZlbnQpXCJcbiAgPlxuICAgIDxhdWktcmFkaW8tYnV0dG9uXG4gICAgICAqbmdGb3I9XCJsZXQgbW9kZSBvZiB2b2x1bWVNb2Rlc1wiXG4gICAgICBbYXVpVG9vbHRpcF09XCInc3RvcmFnZS5zdG9yYWdlX2ZvcmJpZF9zZWxlY3Rfdm9sdW1lX21vZGUnIHwgdHJhbnNsYXRlXCJcbiAgICAgIFthdWlUb29sdGlwRGlzYWJsZWRdPVwiXG4gICAgICAgICEoXG4gICAgICAgICAgbW9kZVxuICAgICAgICAgIHwgcHVyZVxuICAgICAgICAgICAgOiBzdG9yYWdlQ29tbW9uVXRpbC5pc1ZvbHVtZU1vZGVEaXNhYmxlZFxuICAgICAgICAgICAgOiBzZWxlY3RlZFN0b3JhZ2VTZWxlY3RPcHRpb25cbiAgICAgICAgKVxuICAgICAgXCJcbiAgICAgIFtkaXNhYmxlZF09XCJcbiAgICAgICAgbW9kZVxuICAgICAgICAgIHwgcHVyZVxuICAgICAgICAgICAgOiBzdG9yYWdlQ29tbW9uVXRpbC5pc1ZvbHVtZU1vZGVEaXNhYmxlZFxuICAgICAgICAgICAgOiBzZWxlY3RlZFN0b3JhZ2VTZWxlY3RPcHRpb25cbiAgICAgIFwiXG4gICAgICBbdmFsdWVdPVwibW9kZVwiXG4gICAgPlxuICAgICAge3sgJ3N0b3JhZ2UuJyArIFZvbHVtZU1vZGVUcmFuc2xhdGVLZXlbbW9kZV0gfCB0cmFuc2xhdGUgfX1cbiAgICA8L2F1aS1yYWRpby1idXR0b24+XG4gIDwvYXVpLXJhZGlvLWdyb3VwPlxuICA8ZGl2XG4gICAgYXVpRm9ybUl0ZW1BZGRvblxuICAgICpuZ0lmPVwiIXZvbHVtZU1vZGVcIlxuICA+XG4gICAgPGF1aS1pY29uXG4gICAgICBbYXVpVG9vbHRpcF09XCJ2b2x1bWVNb2RlVGlwXCJcbiAgICAgIFthdWlUb29sdGlwUG9zaXRpb25dPVwiJ3RvcCBjZW50ZXInXCJcbiAgICAgIGljb249XCJxdWVzdGlvbl9jaXJjbGVcIlxuICAgICAgY2xhc3M9XCJpY29uLS1oZWxwXCJcbiAgICA+PC9hdWktaWNvbj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjdm9sdW1lTW9kZVRpcD5cbiAgICA8dWwgY2xhc3M9XCJkLWxpc3RcIj5cbiAgICAgIDxsaT57eyAnc3RvcmFnZS52b2x1bWVfbW9kZV9maWxlX3N5c3RlbV9oaW50JyB8IHRyYW5zbGF0ZSB9fTwvbGk+XG4gICAgICA8bGk+e3sgJ3N0b3JhZ2Uudm9sdW1lX21vZGVfYmxvY2tfZGV2aWNlX2hpbnQnIHwgdHJhbnNsYXRlIH19PC9saT5cbiAgICA8L3VsPlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI3ZvbHVtZU1vZGVUbXBsPlxuICAgIHt7XG4gICAgICAobW9kZWwudm9sdW1lTW9kZSA9PT0gJ0ZpbGVzeXN0ZW0nXG4gICAgICAgID8gJ3N0b3JhZ2UuZmlsZV9zeXN0ZW0nXG4gICAgICAgIDogJ3N0b3JhZ2UuYmxvY2tfZGV2aWNlJ1xuICAgICAgKSB8IHRyYW5zbGF0ZVxuICAgIH19XG4gIDwvbmctdGVtcGxhdGU+XG48L2F1aS1mb3JtLWl0ZW0+XG5cbjxhdWktZm9ybS1pdGVtICpuZ0lmPVwiJ2FjY2Vzc01vZGVzJyB8IHB1cmU6IGRpc3BsYXlGaWVsZFN1cHBvcnRlZFwiPlxuICA8bGFiZWwgYXVpRm9ybUl0ZW1MYWJlbD57eyAnc3RvcmFnZS5hY2Nlc3NfbW9kZScgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICA8YXVpLXJhZGlvLWdyb3VwXG4gICAgYXVpRm9ybUl0ZW1Db250cm9sXG4gICAgWyhuZ01vZGVsKV09XCJtb2RlbC5hY2Nlc3NNb2Rlc1wiXG4gICAgbmFtZT1cImFjY2Vzc01vZGVzXCJcbiAgICAjYWNjZXNzTW9kZT1cIm5nTW9kZWxcIlxuICA+XG4gICAgPGF1aS1yYWRpby1idXR0b25cbiAgICAgICpuZ0Zvcj1cImxldCBtb2RlIG9mIGFjY2Vzc01vZGVzXCJcbiAgICAgIFthdWlUb29sdGlwXT1cIidzdG9yYWdlLnN0b3JhZ2VfZm9yYmlkX3NlbGVjdF9hY2Nlc3NfbW9kZScgfCB0cmFuc2xhdGVcIlxuICAgICAgW2F1aVRvb2x0aXBEaXNhYmxlZF09XCJcbiAgICAgICAgIShcbiAgICAgICAgICBtb2RlXG4gICAgICAgICAgfCBwdXJlXG4gICAgICAgICAgICA6IHN0b3JhZ2VDb21tb25VdGlsLmlzQWNjZXNzTW9kZURpc2FibGVkXG4gICAgICAgICAgICA6IHNlbGVjdGVkU3RvcmFnZVNlbGVjdE9wdGlvblxuICAgICAgICAgICAgOiBtb2RlbC52b2x1bWVNb2RlID09PSAnQmxvY2snXG4gICAgICAgIClcbiAgICAgIFwiXG4gICAgICBbdmFsdWVdPVwibW9kZVwiXG4gICAgICBbZGlzYWJsZWRdPVwiXG4gICAgICAgIG1vZGVcbiAgICAgICAgICB8IHB1cmVcbiAgICAgICAgICAgIDogc3RvcmFnZUNvbW1vblV0aWwuaXNBY2Nlc3NNb2RlRGlzYWJsZWRcbiAgICAgICAgICAgIDogc2VsZWN0ZWRTdG9yYWdlU2VsZWN0T3B0aW9uXG4gICAgICAgICAgICA6IG1vZGVsLnZvbHVtZU1vZGUgPT09ICdCbG9jaydcbiAgICAgIFwiXG4gICAgPlxuICAgICAge3sgJ3N0b3JhZ2UuJyArIEFjY2Vzc01vZGVUcmFuc2xhdGVLZXlbbW9kZV0gfCB0cmFuc2xhdGUgfX1cbiAgICA8L2F1aS1yYWRpby1idXR0b24+XG4gIDwvYXVpLXJhZGlvLWdyb3VwPlxuICA8ZGl2IGF1aUZvcm1JdGVtQWRkb24+XG4gICAgPGF1aS1pY29uXG4gICAgICBbYXVpVG9vbHRpcF09XCJhY2Nlc3NNb2RlVGlwXCJcbiAgICAgIFthdWlUb29sdGlwUG9zaXRpb25dPVwiJ3RvcCBjZW50ZXInXCJcbiAgICAgIGljb249XCJxdWVzdGlvbl9jaXJjbGVcIlxuICAgICAgY2xhc3M9XCJpY29uLS1oZWxwXCJcbiAgICA+PC9hdWktaWNvbj5cbiAgPC9kaXY+XG4gIDxhY2wtZXJyb3JzLW1hcHBlclxuICAgIGF1aUZvcm1JdGVtRXJyb3JcbiAgICBbZXJyb3JzXT1cImFjY2Vzc01vZGUuZXJyb3JzXCJcbiAgPjwvYWNsLWVycm9ycy1tYXBwZXI+XG4gIDxuZy10ZW1wbGF0ZSAjYWNjZXNzTW9kZVRpcD5cbiAgICA8dWwgY2xhc3M9XCJkLWxpc3RcIj5cbiAgICAgIDxsaT57eyAnc3RvcmFnZS5hY2Nlc3NfbW9kZV9yd28nIHwgdHJhbnNsYXRlIH19PC9saT5cbiAgICAgIDxsaT57eyAnc3RvcmFnZS5hY2Nlc3NfbW9kZV9yb3gnIHwgdHJhbnNsYXRlIH19PC9saT5cbiAgICAgIDxsaT57eyAnc3RvcmFnZS5hY2Nlc3NfbW9kZV9yd3gnIHwgdHJhbnNsYXRlIH19PC9saT5cbiAgICA8L3VsPlxuICA8L25nLXRlbXBsYXRlPlxuPC9hdWktZm9ybS1pdGVtPlxuXG48YXVpLWZvcm0taXRlbVxuICB3aWR0aD1cIm1lZGl1bVwiXG4gICpuZ0lmPVwiJ3N0b3JhZ2UnIHwgcHVyZTogZGlzcGxheUZpZWxkU3VwcG9ydGVkXCJcbj5cbiAgPGxhYmVsIGF1aUZvcm1JdGVtTGFiZWw+e3sgJ3N0b3JhZ2UuY2FwYWNpdHknIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgPGlucHV0XG4gICAgYXVpLWlucHV0XG4gICAgdHlwZT1cInRleHRcIlxuICAgIFtwYXR0ZXJuXT1cIlBPU0lUSVZFX0lOVF9QQVRURVJOLnBhdHRlcm5cIlxuICAgIFsobmdNb2RlbCldPVwibW9kZWwuc3RvcmFnZVwiXG4gICAgbmFtZT1cInN0b3JhZ2VcIlxuICAgICNzdG9yYWdlPVwibmdNb2RlbFwiXG4gICAgcmVxdWlyZWRcbiAgICBhdWlGb3JtSXRlbUNvbnRyb2xcbiAgICByZXF1aXJlZFxuICAgIFthY2xSZWFkb25seUZpZWxkXT1cImlzRnJvbVNuYXBzaG90XCJcbiAgICBbYWNsUmVhZG9ubHlGaWVsZFRlbXBsYXRlXT1cImNhcGFjaXR5VHBsXCJcbiAgLz5cbiAgPGF1aS1zZWxlY3RcbiAgICAqbmdJZj1cIiFpc0Zyb21TbmFwc2hvdFwiXG4gICAgWyhuZ01vZGVsKV09XCJ1bml0XCJcbiAgICBjbGFzcz1cInR3LW1heC13LVs2MHB4XSB0dy1tbC1bLTYwcHhdXCJcbiAgPlxuICAgIDxhdWktb3B0aW9uXG4gICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBVTklUU1wiXG4gICAgICBbbGFiZWxdPVwiaXRlbVwiXG4gICAgICBbdmFsdWVdPVwiaXRlbVwiXG4gICAgPlxuICAgICAge3sgaXRlbSB9fVxuICAgIDwvYXVpLW9wdGlvbj5cbiAgPC9hdWktc2VsZWN0PlxuICA8bmctdGVtcGxhdGUgI2NhcGFjaXR5VHBsPiB7eyBtb2RlbC5zdG9yYWdlIH19R2kgPC9uZy10ZW1wbGF0ZT5cbiAgPGFjbC1lcnJvcnMtbWFwcGVyXG4gICAgYXVpRm9ybUl0ZW1FcnJvclxuICAgIFtlcnJvcnNdPVwic3RvcmFnZS5lcnJvcnNcIlxuICAgIFtlcnJvcnNNYXBwZXJdPVwie1xuICAgICAgcGF0dGVybjogUE9TSVRJVkVfSU5UX1BBVFRFUk4udGlwIHwgdHJhbnNsYXRlLFxuICAgIH1cIlxuICA+PC9hY2wtZXJyb3JzLW1hcHBlcj5cbjwvYXVpLWZvcm0taXRlbT5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dBZHZhbmNlZEZpZWxkXCI+XG4gIDxhY2wtZm9sZGFibGUtYmxvY2sgaGludD1cInt7ICdzdG9yYWdlLmFkdmFuY2VkJyB8IHRyYW5zbGF0ZSB9fVwiPlxuICAgIDxhdWktZm9ybS1pdGVtXG4gICAgICBmb3JtR3JvdXBOYW1lPVwibWV0YWRhdGFcIlxuICAgICAgKm5nSWY9XCInbGFiZWxzJyB8IHB1cmU6IGRpc3BsYXlGaWVsZFN1cHBvcnRlZFwiXG4gICAgPlxuICAgICAgPGxhYmVsIGF1aUZvcm1JdGVtTGFiZWw+e3sgJ2xhYmVsJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgICA8YWNsLWtleS12YWx1ZS1mb3JtLXRhYmxlXG4gICAgICAgIGF1aUZvcm1JdGVtQ29udHJvbFxuICAgICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsLmxhYmVsc1wiXG4gICAgICAgIG5hbWU9XCJsYWJlbHNcIlxuICAgICAgICBbcmVzb3VyY2VOYW1lVHJhbnNsYXRlZF09XCInc3RvcmFnZS5sYWJlbHMnIHwgdHJhbnNsYXRlIHwgbG93ZXJjYXNlXCJcbiAgICAgICAgW3ZhbGlkYXRvcl09XCJsYWJlbFZhbGlkYXRvclwiXG4gICAgICAgIFtlcnJvck1hcHBlcl09XCJsYWJlbEVycm9yTWFwcGVyJCB8IGFzeW5jXCJcbiAgICAgID48L2FjbC1rZXktdmFsdWUtZm9ybS10YWJsZT5cbiAgICA8L2F1aS1mb3JtLWl0ZW0+XG4gICAgPGF1aS1mb3JtLWl0ZW1cbiAgICAgIGZvcm1Hcm91cE5hbWU9XCJtZXRhZGF0YVwiXG4gICAgICAqbmdJZj1cIidhbm5vdGF0aW9ucycgfCBwdXJlOiBkaXNwbGF5RmllbGRTdXBwb3J0ZWRcIlxuICAgID5cbiAgICAgIDxsYWJlbCBhdWlGb3JtSXRlbUxhYmVsPnt7ICdzdG9yYWdlLms4c19hbm5vdGF0aW9uJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgICA8YWNsLWtleS12YWx1ZS1mb3JtLXRhYmxlXG4gICAgICAgIGF1aUZvcm1JdGVtQ29udHJvbFxuICAgICAgICBbcmVzb3VyY2VOYW1lVHJhbnNsYXRlZF09XCJcbiAgICAgICAgICAnc3RvcmFnZS5rOHNfYW5ub3RhdGlvbicgfCB0cmFuc2xhdGUgfCBsb3dlcmNhc2VcbiAgICAgICAgXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJtb2RlbC5hbm5vdGF0aW9uc1wiXG4gICAgICAgIG5hbWU9XCJhbm5vdGF0aW9uc1wiXG4gICAgICAgIFt2YWxpZGF0b3JdPVwiYW5ub3RhdGlvblZhbGlkYXRvclwiXG4gICAgICAgIFtlcnJvck1hcHBlcl09XCJhbm5vdGF0aW9uRXJyb3JNYXBwZXIkIHwgYXN5bmNcIlxuICAgICAgPjwvYWNsLWtleS12YWx1ZS1mb3JtLXRhYmxlPlxuICAgIDwvYXVpLWZvcm0taXRlbT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiJ3NlbGVjdG9yJyB8IHB1cmU6IGRpc3BsYXlGaWVsZFN1cHBvcnRlZFwiPlxuICAgICAgPGF1aS1mb3JtLWl0ZW1cbiAgICAgICAgW2hpZGRlbl09XCJjcmVhdGVNZXRob2QgPT09IFB2Y1N0b3JhZ2VDbGFzc0NyZWF0ZVR5cGUuRFlOQU1JQ1wiXG4gICAgICA+XG4gICAgICAgIDxsYWJlbCBhdWlGb3JtSXRlbUxhYmVsPnt7ICdzdG9yYWdlLnNlbGVjdG9yJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgICAgIDxhY2wta2V5LXZhbHVlLWZvcm0tdGFibGVcbiAgICAgICAgICBhdWlGb3JtSXRlbUNvbnRyb2xcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsLnNlbGVjdG9yXCJcbiAgICAgICAgICBuYW1lPVwic2VsZWN0b3JcIlxuICAgICAgICA+PC9hY2wta2V5LXZhbHVlLWZvcm0tdGFibGU+XG4gICAgICA8L2F1aS1mb3JtLWl0ZW0+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvYWNsLWZvbGRhYmxlLWJsb2NrPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -45,7 +45,7 @@ function StorageClassSelectComponent_aui_select_0_Template(rf, ctx) { if (rf & 1
45
45
  const __r2 = ctx.ngIf;
46
46
  const ctx_r2 = i0.ɵɵnextContext();
47
47
  const storageClassTmpl_r6 = i0.ɵɵreference(5);
48
- i0.ɵɵproperty("required", ctx_r2.required)("formControl", ctx_r2.form)("clearable", !ctx_r2.required)("placeholder", i0.ɵɵpipeBind1(1, 8, "storage.select_storageclass"))("aclReadonlyField", ctx_r2.isFromSnapshot)("aclReadonlyFieldTemplate", storageClassTmpl_r6);
48
+ i0.ɵɵproperty("required", ctx_r2.required)("formControl", ctx_r2.form)("clearable", !ctx_r2.required)("placeholder", i0.ɵɵpipeBind1(1, 8, "storage.select_storageclass"))("aclReadonlyField", ctx_r2.isFromSnapshot && !!ctx_r2.form.value)("aclReadonlyFieldTemplate", storageClassTmpl_r6);
49
49
  i0.ɵɵadvance(2);
50
50
  i0.ɵɵproperty("ngForOf", __r2.storageClassOptions);
51
51
  i0.ɵɵadvance(2);
@@ -86,7 +86,7 @@ function StorageClassSelectComponent_ng_template_2_Template(rf, ctx) { if (rf &
86
86
  i0.ɵɵadvance();
87
87
  i0.ɵɵproperty("ngIf", option_r7)("ngIfElse", empty_r9);
88
88
  i0.ɵɵadvance();
89
- i0.ɵɵproperty("ngIf", option_r7.displayName && inOption_r8);
89
+ i0.ɵɵproperty("ngIf", (option_r7 == null ? null : option_r7.displayName) && inOption_r8);
90
90
  } }
91
91
  function StorageClassSelectComponent_ng_template_4_ng_container_0_Template(rf, ctx) { if (rf & 1) {
92
92
  i0.ɵɵelementContainer(0);
@@ -177,7 +177,7 @@ __decorate([
177
177
  TRANSLATE_MODULE,
178
178
  ReadonlyFieldDirective,
179
179
  StorageFeatureTagsComponent,
180
- ], template: "<aui-select\n *ngIf=\"{ storageClassOptions: storageClassOptions$ | async } as _\"\n [required]=\"required\"\n [formControl]=\"form\"\n [clearable]=\"!required\"\n [placeholder]=\"'storage.select_storageclass' | translate\"\n [aclReadonlyField]=\"isFromSnapshot\"\n [aclReadonlyFieldTemplate]=\"storageClassTmpl\"\n (ngModelChange)=\"onStorageClassChange($event, _.storageClassOptions)\"\n>\n <aui-option\n *ngFor=\"let option of _.storageClassOptions\"\n [value]=\"option.value\"\n [label]=\"storageClassLabel\"\n [labelContext]=\"{ option }\"\n >\n <ng-container\n *ngTemplateOutlet=\"storageClassLabel; context: { option, inOption: true }\"\n ></ng-container>\n </aui-option>\n <aui-option-placeholder>\n {{ 'no_data' | translate }}\n </aui-option-placeholder>\n</aui-select>\n\n<ng-template\n #storageClassLabel\n let-option=\"option\"\n let-inOption=\"inOption\"\n>\n <div class=\"features-container\">\n <div\n class=\"features\"\n *ngIf=\"option; else empty\"\n >\n <label>{{ option.key }}</label>\n <acl-storage-feature-tags\n [provisioner]=\"option.provisioner\"\n [storageClass]=\"option.storageClass\"\n [hasDefault]=\"option.isDefault\"\n [volumeSnapshotClasses]=\"volumeSnapshotClasses\"\n ></acl-storage-feature-tags>\n </div>\n <p *ngIf=\"option.displayName && inOption\">\n {{ option.displayName }}\n </p>\n </div>\n</ng-template>\n\n<ng-template #storageClassTmpl>\n <ng-container\n *ngTemplateOutlet=\"\n storageClassLabel;\n context: {\n option:\n form.value\n | pure: getStorageClassOption : (storageClassOptions$ | async),\n }\n \"\n ></ng-container>\n</ng-template>\n\n<ng-template #empty>{{ null | aclFieldNotAvailable }}</ng-template>\n", styles: [".features-container .features{display:flex}.features-container .features label{margin-right:2px}.features-container p{font-size:var(--aui-font-size-s);color:rgb(var(--aui-color-n-4));text-overflow:ellipsis;white-space:nowrap;overflow:hidden}\n"] }]
180
+ ], template: "<aui-select\n *ngIf=\"{ storageClassOptions: storageClassOptions$ | async } as _\"\n [required]=\"required\"\n [formControl]=\"form\"\n [clearable]=\"!required\"\n [placeholder]=\"'storage.select_storageclass' | translate\"\n [aclReadonlyField]=\"isFromSnapshot && !!form.value\"\n [aclReadonlyFieldTemplate]=\"storageClassTmpl\"\n (ngModelChange)=\"onStorageClassChange($event, _.storageClassOptions)\"\n>\n <aui-option\n *ngFor=\"let option of _.storageClassOptions\"\n [value]=\"option.value\"\n [label]=\"storageClassLabel\"\n [labelContext]=\"{ option }\"\n >\n <ng-container\n *ngTemplateOutlet=\"storageClassLabel; context: { option, inOption: true }\"\n ></ng-container>\n </aui-option>\n <aui-option-placeholder>\n {{ 'no_data' | translate }}\n </aui-option-placeholder>\n</aui-select>\n\n<ng-template\n #storageClassLabel\n let-option=\"option\"\n let-inOption=\"inOption\"\n>\n <div class=\"features-container\">\n <div\n class=\"features\"\n *ngIf=\"option; else empty\"\n >\n <label>{{ option.key }}</label>\n <acl-storage-feature-tags\n [provisioner]=\"option.provisioner\"\n [storageClass]=\"option.storageClass\"\n [hasDefault]=\"option.isDefault\"\n [volumeSnapshotClasses]=\"volumeSnapshotClasses\"\n ></acl-storage-feature-tags>\n </div>\n <p *ngIf=\"option?.displayName && inOption\">\n {{ option.displayName }}\n </p>\n </div>\n</ng-template>\n\n<ng-template #storageClassTmpl>\n <ng-container\n *ngTemplateOutlet=\"\n storageClassLabel;\n context: {\n option:\n form.value\n | pure: getStorageClassOption : (storageClassOptions$ | async),\n }\n \"\n ></ng-container>\n</ng-template>\n\n<ng-template #empty>{{ null | aclFieldNotAvailable }}</ng-template>\n", styles: [".features-container .features{display:flex}.features-container .features label{margin-right:2px}.features-container p{font-size:var(--aui-font-size-s);color:rgb(var(--aui-color-n-4));text-overflow:ellipsis;white-space:nowrap;overflow:hidden}\n"] }]
181
181
  }], null, { storageClasses: [{
182
182
  type: Input,
183
183
  args: [{ required: true }]
@@ -193,4 +193,4 @@ __decorate([
193
193
  type: Output
194
194
  }] }); })();
195
195
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(StorageClassSelectComponent, { className: "StorageClassSelectComponent", filePath: "lib/components/storageclass-select/component.ts", lineNumber: 51 }); })();
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9zdG9yYWdlL3NyYy9saWIvY29tcG9uZW50cy9zdG9yYWdlY2xhc3Mtc2VsZWN0L2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvc3RvcmFnZS9zcmMvbGliL2NvbXBvbmVudHMvc3RvcmFnZWNsYXNzLXNlbGVjdC90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzFFLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsZUFBZSxFQUNmLFFBQVEsRUFDUixzQkFBc0IsRUFDdEIsZ0JBQWdCLEVBQ2hCLFVBQVUsR0FDWCxNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNFLE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRW5FLE9BQU8sRUFDTCx3QkFBd0IsR0FFekIsTUFBTSxvQ0FBb0MsQ0FBQztBQUU1QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7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MkJBQ0UseUJBQXlCLG1CQUVsQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FFUDtvQkFDUCxTQUFTO29CQUNULElBQUk7b0JBQ0osS0FBSztvQkFDTCxnQkFBZ0I7b0JBQ2hCLG1CQUFtQjtvQkFDbkIsWUFBWTtvQkFDWixRQUFRO29CQUNSLHFCQUFxQjtvQkFDckIsZ0JBQWdCO29CQUNoQixzQkFBc0I7b0JBQ3RCLDJCQUEyQjtpQkFDNUI7Z0JBSUQsY0FBYztrQkFEYixLQUFLO21CQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtZQUl6QixlQUFlLE1BR1gsUUFBUTtrQkFEWCxLQUFLO1lBVU4scUJBQXFCO2tCQURwQixLQUFLO1lBSU4sYUFBYTtrQkFEWixLQUFLO1lBTU4sY0FBYztrQkFEYixLQUFLO1lBSU4sa0JBQWtCO2tCQURqQixNQUFNOztrRkEzQkksMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXR0ckJvb2xlYW4sIFNlbGVjdE1vZHVsZSwgY29lcmNlQXR0ckJvb2xlYW4gfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7XG4gIEZpZWxkTm90QXZhaWxhYmxlUGlwZSxcbiAgT2JzZXJ2YWJsZUlucHV0LFxuICBQdXJlUGlwZSxcbiAgUmVhZG9ubHlGaWVsZERpcmVjdGl2ZSxcbiAgVFJBTlNMQVRFX01PRFVMRSxcbiAgcHVibGlzaFJlZixcbn0gZnJvbSAnQGFsYXVkYS1mZS9jb21tb24nO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0ZvciwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBCYXNlUmVzb3VyY2VGb3JtQ29tcG9uZW50IH0gZnJvbSAnbmctcmVzb3VyY2UtZm9ybS11dGlsJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIGZpbHRlciwgbWFwLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgU3RvcmFnZUNvbW1vblV0aWxTZXJ2aWNlLFxuICBTdG9yYWdlU2VsZWN0T3B0aW9uLFxufSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb21tb24tdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3JhZ2VDbGFzcywgVm9sdW1lU25hcHNob3RDbGFzcyB9IGZyb20gJy4uLy4uL3R5cGVzL2s4cyc7XG5pbXBvcnQgeyBTdG9yYWdlRmVhdHVyZVRhZ3NDb21wb25lbnQgfSBmcm9tICcuLi9zdG9yYWdlLWZlYXR1cmUtdGFncy9jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtc3RvcmFnZWNsYXNzLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAndGVtcGxhdGUuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzdHlsZVVybHM6IFsnc3R5bGUuc2NzcyddLFxuICBpbXBvcnRzOiBbXG4gICAgQXN5bmNQaXBlLFxuICAgIE5nSWYsXG4gICAgTmdGb3IsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFNlbGVjdE1vZHVsZSxcbiAgICBQdXJlUGlwZSxcbiAgICBGaWVsZE5vdEF2YWlsYWJsZVBpcGUsXG4gICAgVFJBTlNMQVRFX01PRFVMRSxcbiAgICBSZWFkb25seUZpZWxkRGlyZWN0aXZlLFxuICAgIFN0b3JhZ2VGZWF0dXJlVGFnc0NvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU3RvcmFnZUNsYXNzU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgQmFzZVJlc291cmNlRm9ybUNvbXBvbmVudDxzdHJpbmc+IHtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgc3RvcmFnZUNsYXNzZXM6IFN0b3JhZ2VDbGFzc1tdO1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBzdG9yYWdlQ2xhc3NlcyQhOiBPYnNlcnZhYmxlPFN0b3JhZ2VDbGFzc1tdPjtcblxuICBASW5wdXQoKVxuICBzZXQgcmVxdWlyZWQodmFsdWU6IEF0dHJCb29sZWFuKSB7XG4gICAgdGhpcy5fcmVxdWlyZWQgPSBjb2VyY2VBdHRyQm9vbGVhbih2YWx1ZSk7XG4gIH1cblxuICBnZXQgcmVxdWlyZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkO1xuICB9XG5cbiAgQElucHV0KClcbiAgdm9sdW1lU25hcHNob3RDbGFzc2VzOiBWb2x1bWVTbmFwc2hvdENsYXNzW107XG5cbiAgQElucHV0KClcbiAgc2VsZWN0RGVmYXVsdDpcbiAgICB8IGJvb2xlYW5cbiAgICB8ICgob3B0aW9uczogU3RvcmFnZVNlbGVjdE9wdGlvbltdKSA9PiBTdG9yYWdlU2VsZWN0T3B0aW9uKSA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgaXNGcm9tU25hcHNob3Q6IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpXG4gIHN0b3JhZ2VDbGFzc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U3RvcmFnZVNlbGVjdE9wdGlvbj4oKTtcblxuICBzdG9yYWdlQ29tbW9uVXRpbCA9IGluamVjdChTdG9yYWdlQ29tbW9uVXRpbFNlcnZpY2UpO1xuXG4gIHN0b3JhZ2VDbGFzc09wdGlvbnMkID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5zdG9yYWdlQ2xhc3NlcyQucGlwZShmaWx0ZXIobGlzdCA9PiAhIWxpc3QpKSxcbiAgICB0aGlzLnN0b3JhZ2VDb21tb25VdGlsLnN0b3JhZ2VEZXNjcmlwdGlvbk1hcENhY2hlLmZldGNoKG51bGwpLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW3N0b3JhZ2VDbGFzc2VzLCBzdG9yYWdlRGVzY3JpcHRpb25NYXBzXSkgPT5cbiAgICAgIHN0b3JhZ2VDbGFzc2VzLm1hcChpdGVtID0+XG4gICAgICAgIHRoaXMuc3RvcmFnZUNvbW1vblV0aWwubWFwVG9TdG9yYWdlQ2xhc3NPcHRpb24oXG4gICAgICAgICAgaXRlbSxcbiAgICAgICAgICBzdG9yYWdlRGVzY3JpcHRpb25NYXBzLFxuICAgICAgICAgIHRoaXMuaXNGcm9tU25hcHNob3QsXG4gICAgICAgICksXG4gICAgICApLFxuICAgICksXG4gICAgdGFwKGl0ZW1zID0+IHtcbiAgICAgIGlmICh0aGlzLnNlbGVjdERlZmF1bHQgJiYgIXRoaXMuaXNGcm9tU25hcHNob3QgJiYgIXRoaXMuZm9ybS52YWx1ZSkge1xuICAgICAgICBjb25zdCBkZWZhdWx0U2MgPSBpc0Z1bmN0aW9uKHRoaXMuc2VsZWN0RGVmYXVsdClcbiAgICAgICAgICA/IHRoaXMuc2VsZWN0RGVmYXVsdChpdGVtcylcbiAgICAgICAgICA6IGl0ZW1zLmZpbmQoaXRlbSA9PiBpdGVtLmlzRGVmYXVsdCk7XG4gICAgICAgIGlmIChkZWZhdWx0U2MpIHtcbiAgICAgICAgICB0aGlzLmZvcm0uc2V0VmFsdWUoZGVmYXVsdFNjLnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5vblN0b3JhZ2VDbGFzc0NoYW5nZSh0aGlzLmZvcm0udmFsdWUsIGl0ZW1zKTtcbiAgICB9KSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgcHJpdmF0ZSBfcmVxdWlyZWQ6IGJvb2xlYW47XG5cbiAgb3ZlcnJpZGUgY3JlYXRlRm9ybSgpIHtcbiAgICByZXR1cm4gdGhpcy5mYi5jb250cm9sKCcnKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGVycm9yc0luRGV0YWlsID0gdHJ1ZTtcblxuICBnZXRTdG9yYWdlQ2xhc3NPcHRpb24odmFsdWU6IHN0cmluZywgb3B0aW9ucz86IFN0b3JhZ2VTZWxlY3RPcHRpb25bXSkge1xuICAgIHJldHVybiBvcHRpb25zPy5maW5kKG9wdGlvbiA9PiBvcHRpb24udmFsdWUgPT09IHZhbHVlKTtcbiAgfVxuXG4gIG9uU3RvcmFnZUNsYXNzQ2hhbmdlKFxuICAgIHN0b3JhZ2VDbGFzc05hbWU6IHN0cmluZyxcbiAgICBzdG9yYWdlQ2xhc3NPcHRpb25zPzogU3RvcmFnZVNlbGVjdE9wdGlvbltdLFxuICApIHtcbiAgICBjb25zdCBzdG9yYWdlQ2xhc3NPcHRpb24gPSB0aGlzLmdldFN0b3JhZ2VDbGFzc09wdGlvbihcbiAgICAgIHN0b3JhZ2VDbGFzc05hbWUsXG4gICAgICBzdG9yYWdlQ2xhc3NPcHRpb25zLFxuICAgICk7XG4gICAgdGhpcy5zdG9yYWdlQ2xhc3NDaGFuZ2UuZW1pdChzdG9yYWdlQ2xhc3NPcHRpb24pO1xuICB9XG59XG4iLCI8YXVpLXNlbGVjdFxuICAqbmdJZj1cInsgc3RvcmFnZUNsYXNzT3B0aW9uczogc3RvcmFnZUNsYXNzT3B0aW9ucyQgfCBhc3luYyB9IGFzIF9cIlxuICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICBbZm9ybUNvbnRyb2xdPVwiZm9ybVwiXG4gIFtjbGVhcmFibGVdPVwiIXJlcXVpcmVkXCJcbiAgW3BsYWNlaG9sZGVyXT1cIidzdG9yYWdlLnNlbGVjdF9zdG9yYWdlY2xhc3MnIHwgdHJhbnNsYXRlXCJcbiAgW2FjbFJlYWRvbmx5RmllbGRdPVwiaXNGcm9tU25hcHNob3RcIlxuICBbYWNsUmVhZG9ubHlGaWVsZFRlbXBsYXRlXT1cInN0b3JhZ2VDbGFzc1RtcGxcIlxuICAobmdNb2RlbENoYW5nZSk9XCJvblN0b3JhZ2VDbGFzc0NoYW5nZSgkZXZlbnQsIF8uc3RvcmFnZUNsYXNzT3B0aW9ucylcIlxuPlxuICA8YXVpLW9wdGlvblxuICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgXy5zdG9yYWdlQ2xhc3NPcHRpb25zXCJcbiAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICBbbGFiZWxdPVwic3RvcmFnZUNsYXNzTGFiZWxcIlxuICAgIFtsYWJlbENvbnRleHRdPVwieyBvcHRpb24gfVwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInN0b3JhZ2VDbGFzc0xhYmVsOyBjb250ZXh0OiB7IG9wdGlvbiwgaW5PcHRpb246IHRydWUgfVwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuICA8L2F1aS1vcHRpb24+XG4gIDxhdWktb3B0aW9uLXBsYWNlaG9sZGVyPlxuICAgIHt7ICdub19kYXRhJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2F1aS1vcHRpb24tcGxhY2Vob2xkZXI+XG48L2F1aS1zZWxlY3Q+XG5cbjxuZy10ZW1wbGF0ZVxuICAjc3RvcmFnZUNsYXNzTGFiZWxcbiAgbGV0LW9wdGlvbj1cIm9wdGlvblwiXG4gIGxldC1pbk9wdGlvbj1cImluT3B0aW9uXCJcbj5cbiAgPGRpdiBjbGFzcz1cImZlYXR1cmVzLWNvbnRhaW5lclwiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZmVhdHVyZXNcIlxuICAgICAgKm5nSWY9XCJvcHRpb247IGVsc2UgZW1wdHlcIlxuICAgID5cbiAgICAgIDxsYWJlbD57eyBvcHRpb24ua2V5IH19PC9sYWJlbD5cbiAgICAgIDxhY2wtc3RvcmFnZS1mZWF0dXJlLXRhZ3NcbiAgICAgICAgW3Byb3Zpc2lvbmVyXT1cIm9wdGlvbi5wcm92aXNpb25lclwiXG4gICAgICAgIFtzdG9yYWdlQ2xhc3NdPVwib3B0aW9uLnN0b3JhZ2VDbGFzc1wiXG4gICAgICAgIFtoYXNEZWZhdWx0XT1cIm9wdGlvbi5pc0RlZmF1bHRcIlxuICAgICAgICBbdm9sdW1lU25hcHNob3RDbGFzc2VzXT1cInZvbHVtZVNuYXBzaG90Q2xhc3Nlc1wiXG4gICAgICA+PC9hY2wtc3RvcmFnZS1mZWF0dXJlLXRhZ3M+XG4gICAgPC9kaXY+XG4gICAgPHAgKm5nSWY9XCJvcHRpb24uZGlzcGxheU5hbWUgJiYgaW5PcHRpb25cIj5cbiAgICAgIHt7IG9wdGlvbi5kaXNwbGF5TmFtZSB9fVxuICAgIDwvcD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3N0b3JhZ2VDbGFzc1RtcGw+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgc3RvcmFnZUNsYXNzTGFiZWw7XG4gICAgICBjb250ZXh0OiB7XG4gICAgICAgIG9wdGlvbjpcbiAgICAgICAgICBmb3JtLnZhbHVlXG4gICAgICAgICAgfCBwdXJlOiBnZXRTdG9yYWdlQ2xhc3NPcHRpb24gOiAoc3RvcmFnZUNsYXNzT3B0aW9ucyQgfCBhc3luYyksXG4gICAgICB9XG4gICAgXCJcbiAgPjwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNlbXB0eT57eyBudWxsIHwgYWNsRmllbGROb3RBdmFpbGFibGUgfX08L25nLXRlbXBsYXRlPlxuIl19
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9zdG9yYWdlL3NyYy9saWIvY29tcG9uZW50cy9zdG9yYWdlY2xhc3Mtc2VsZWN0L2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvc3RvcmFnZS9zcmMvbGliL2NvbXBvbmVudHMvc3RvcmFnZWNsYXNzLXNlbGVjdC90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzFFLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsZUFBZSxFQUNmLFFBQVEsRUFDUixzQkFBc0IsRUFDdEIsZ0JBQWdCLEVBQ2hCLFVBQVUsR0FDWCxNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNFLE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRW5FLE9BQU8sRUFDTCx3QkFBd0IsR0FFekIsTUFBTSxvQ0FBb0MsQ0FBQztBQUU1QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7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QkFDRSx5QkFBeUIsbUJBRWxCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUVQO29CQUNQLFNBQVM7b0JBQ1QsSUFBSTtvQkFDSixLQUFLO29CQUNMLGdCQUFnQjtvQkFDaEIsbUJBQW1CO29CQUNuQixZQUFZO29CQUNaLFFBQVE7b0JBQ1IscUJBQXFCO29CQUNyQixnQkFBZ0I7b0JBQ2hCLHNCQUFzQjtvQkFDdEIsMkJBQTJCO2lCQUM1QjtnQkFJRCxjQUFjO2tCQURiLEtBQUs7bUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1lBSXpCLGVBQWUsTUFHWCxRQUFRO2tCQURYLEtBQUs7WUFVTixxQkFBcUI7a0JBRHBCLEtBQUs7WUFJTixhQUFhO2tCQURaLEtBQUs7WUFNTixjQUFjO2tCQURiLEtBQUs7WUFJTixrQkFBa0I7a0JBRGpCLE1BQU07O2tGQTNCSSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdHRyQm9vbGVhbiwgU2VsZWN0TW9kdWxlLCBjb2VyY2VBdHRyQm9vbGVhbiB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHtcbiAgRmllbGROb3RBdmFpbGFibGVQaXBlLFxuICBPYnNlcnZhYmxlSW5wdXQsXG4gIFB1cmVQaXBlLFxuICBSZWFkb25seUZpZWxkRGlyZWN0aXZlLFxuICBUUkFOU0xBVEVfTU9EVUxFLFxuICBwdWJsaXNoUmVmLFxufSBmcm9tICdAYWxhdWRhLWZlL2NvbW1vbic7XG5pbXBvcnQgeyBBc3luY1BpcGUsIE5nRm9yLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEJhc2VSZXNvdXJjZUZvcm1Db21wb25lbnQgfSBmcm9tICduZy1yZXNvdXJjZS1mb3JtLXV0aWwnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgZmlsdGVyLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBTdG9yYWdlQ29tbW9uVXRpbFNlcnZpY2UsXG4gIFN0b3JhZ2VTZWxlY3RPcHRpb24sXG59IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbW1vbi11dGlsLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RvcmFnZUNsYXNzLCBWb2x1bWVTbmFwc2hvdENsYXNzIH0gZnJvbSAnLi4vLi4vdHlwZXMvazhzJztcbmltcG9ydCB7IFN0b3JhZ2VGZWF0dXJlVGFnc0NvbXBvbmVudCB9IGZyb20gJy4uL3N0b3JhZ2UtZmVhdHVyZS10YWdzL2NvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1zdG9yYWdlY2xhc3Mtc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZS5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHN0eWxlVXJsczogWydzdHlsZS5zY3NzJ10sXG4gIGltcG9ydHM6IFtcbiAgICBBc3luY1BpcGUsXG4gICAgTmdJZixcbiAgICBOZ0ZvcixcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgU2VsZWN0TW9kdWxlLFxuICAgIFB1cmVQaXBlLFxuICAgIEZpZWxkTm90QXZhaWxhYmxlUGlwZSxcbiAgICBUUkFOU0xBVEVfTU9EVUxFLFxuICAgIFJlYWRvbmx5RmllbGREaXJlY3RpdmUsXG4gICAgU3RvcmFnZUZlYXR1cmVUYWdzQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTdG9yYWdlQ2xhc3NTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBCYXNlUmVzb3VyY2VGb3JtQ29tcG9uZW50PHN0cmluZz4ge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICBzdG9yYWdlQ2xhc3NlczogU3RvcmFnZUNsYXNzW107XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIHN0b3JhZ2VDbGFzc2VzJCE6IE9ic2VydmFibGU8U3RvcmFnZUNsYXNzW10+O1xuXG4gIEBJbnB1dCgpXG4gIHNldCByZXF1aXJlZCh2YWx1ZTogQXR0ckJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZXF1aXJlZCA9IGNvZXJjZUF0dHJCb29sZWFuKHZhbHVlKTtcbiAgfVxuXG4gIGdldCByZXF1aXJlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XG4gIH1cblxuICBASW5wdXQoKVxuICB2b2x1bWVTbmFwc2hvdENsYXNzZXM6IFZvbHVtZVNuYXBzaG90Q2xhc3NbXTtcblxuICBASW5wdXQoKVxuICBzZWxlY3REZWZhdWx0OlxuICAgIHwgYm9vbGVhblxuICAgIHwgKChvcHRpb25zOiBTdG9yYWdlU2VsZWN0T3B0aW9uW10pID0+IFN0b3JhZ2VTZWxlY3RPcHRpb24pID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBpc0Zyb21TbmFwc2hvdDogYm9vbGVhbjtcblxuICBAT3V0cHV0KClcbiAgc3RvcmFnZUNsYXNzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTdG9yYWdlU2VsZWN0T3B0aW9uPigpO1xuXG4gIHN0b3JhZ2VDb21tb25VdGlsID0gaW5qZWN0KFN0b3JhZ2VDb21tb25VdGlsU2VydmljZSk7XG5cbiAgc3RvcmFnZUNsYXNzT3B0aW9ucyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLnN0b3JhZ2VDbGFzc2VzJC5waXBlKGZpbHRlcihsaXN0ID0+ICEhbGlzdCkpLFxuICAgIHRoaXMuc3RvcmFnZUNvbW1vblV0aWwuc3RvcmFnZURlc2NyaXB0aW9uTWFwQ2FjaGUuZmV0Y2gobnVsbCksXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbc3RvcmFnZUNsYXNzZXMsIHN0b3JhZ2VEZXNjcmlwdGlvbk1hcHNdKSA9PlxuICAgICAgc3RvcmFnZUNsYXNzZXMubWFwKGl0ZW0gPT5cbiAgICAgICAgdGhpcy5zdG9yYWdlQ29tbW9uVXRpbC5tYXBUb1N0b3JhZ2VDbGFzc09wdGlvbihcbiAgICAgICAgICBpdGVtLFxuICAgICAgICAgIHN0b3JhZ2VEZXNjcmlwdGlvbk1hcHMsXG4gICAgICAgICAgdGhpcy5pc0Zyb21TbmFwc2hvdCxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKSxcbiAgICB0YXAoaXRlbXMgPT4ge1xuICAgICAgaWYgKHRoaXMuc2VsZWN0RGVmYXVsdCAmJiAhdGhpcy5pc0Zyb21TbmFwc2hvdCAmJiAhdGhpcy5mb3JtLnZhbHVlKSB7XG4gICAgICAgIGNvbnN0IGRlZmF1bHRTYyA9IGlzRnVuY3Rpb24odGhpcy5zZWxlY3REZWZhdWx0KVxuICAgICAgICAgID8gdGhpcy5zZWxlY3REZWZhdWx0KGl0ZW1zKVxuICAgICAgICAgIDogaXRlbXMuZmluZChpdGVtID0+IGl0ZW0uaXNEZWZhdWx0KTtcbiAgICAgICAgaWYgKGRlZmF1bHRTYykge1xuICAgICAgICAgIHRoaXMuZm9ybS5zZXRWYWx1ZShkZWZhdWx0U2MudmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLm9uU3RvcmFnZUNsYXNzQ2hhbmdlKHRoaXMuZm9ybS52YWx1ZSwgaXRlbXMpO1xuICAgIH0pLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBwcml2YXRlIF9yZXF1aXJlZDogYm9vbGVhbjtcblxuICBvdmVycmlkZSBjcmVhdGVGb3JtKCkge1xuICAgIHJldHVybiB0aGlzLmZiLmNvbnRyb2woJycpO1xuICB9XG5cbiAgb3ZlcnJpZGUgZXJyb3JzSW5EZXRhaWwgPSB0cnVlO1xuXG4gIGdldFN0b3JhZ2VDbGFzc09wdGlvbih2YWx1ZTogc3RyaW5nLCBvcHRpb25zPzogU3RvcmFnZVNlbGVjdE9wdGlvbltdKSB7XG4gICAgcmV0dXJuIG9wdGlvbnM/LmZpbmQob3B0aW9uID0+IG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpO1xuICB9XG5cbiAgb25TdG9yYWdlQ2xhc3NDaGFuZ2UoXG4gICAgc3RvcmFnZUNsYXNzTmFtZTogc3RyaW5nLFxuICAgIHN0b3JhZ2VDbGFzc09wdGlvbnM/OiBTdG9yYWdlU2VsZWN0T3B0aW9uW10sXG4gICkge1xuICAgIGNvbnN0IHN0b3JhZ2VDbGFzc09wdGlvbiA9IHRoaXMuZ2V0U3RvcmFnZUNsYXNzT3B0aW9uKFxuICAgICAgc3RvcmFnZUNsYXNzTmFtZSxcbiAgICAgIHN0b3JhZ2VDbGFzc09wdGlvbnMsXG4gICAgKTtcbiAgICB0aGlzLnN0b3JhZ2VDbGFzc0NoYW5nZS5lbWl0KHN0b3JhZ2VDbGFzc09wdGlvbik7XG4gIH1cbn1cbiIsIjxhdWktc2VsZWN0XG4gICpuZ0lmPVwieyBzdG9yYWdlQ2xhc3NPcHRpb25zOiBzdG9yYWdlQ2xhc3NPcHRpb25zJCB8IGFzeW5jIH0gYXMgX1wiXG4gIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gIFtmb3JtQ29udHJvbF09XCJmb3JtXCJcbiAgW2NsZWFyYWJsZV09XCIhcmVxdWlyZWRcIlxuICBbcGxhY2Vob2xkZXJdPVwiJ3N0b3JhZ2Uuc2VsZWN0X3N0b3JhZ2VjbGFzcycgfCB0cmFuc2xhdGVcIlxuICBbYWNsUmVhZG9ubHlGaWVsZF09XCJpc0Zyb21TbmFwc2hvdCAmJiAhIWZvcm0udmFsdWVcIlxuICBbYWNsUmVhZG9ubHlGaWVsZFRlbXBsYXRlXT1cInN0b3JhZ2VDbGFzc1RtcGxcIlxuICAobmdNb2RlbENoYW5nZSk9XCJvblN0b3JhZ2VDbGFzc0NoYW5nZSgkZXZlbnQsIF8uc3RvcmFnZUNsYXNzT3B0aW9ucylcIlxuPlxuICA8YXVpLW9wdGlvblxuICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgXy5zdG9yYWdlQ2xhc3NPcHRpb25zXCJcbiAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICBbbGFiZWxdPVwic3RvcmFnZUNsYXNzTGFiZWxcIlxuICAgIFtsYWJlbENvbnRleHRdPVwieyBvcHRpb24gfVwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInN0b3JhZ2VDbGFzc0xhYmVsOyBjb250ZXh0OiB7IG9wdGlvbiwgaW5PcHRpb246IHRydWUgfVwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuICA8L2F1aS1vcHRpb24+XG4gIDxhdWktb3B0aW9uLXBsYWNlaG9sZGVyPlxuICAgIHt7ICdub19kYXRhJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2F1aS1vcHRpb24tcGxhY2Vob2xkZXI+XG48L2F1aS1zZWxlY3Q+XG5cbjxuZy10ZW1wbGF0ZVxuICAjc3RvcmFnZUNsYXNzTGFiZWxcbiAgbGV0LW9wdGlvbj1cIm9wdGlvblwiXG4gIGxldC1pbk9wdGlvbj1cImluT3B0aW9uXCJcbj5cbiAgPGRpdiBjbGFzcz1cImZlYXR1cmVzLWNvbnRhaW5lclwiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZmVhdHVyZXNcIlxuICAgICAgKm5nSWY9XCJvcHRpb247IGVsc2UgZW1wdHlcIlxuICAgID5cbiAgICAgIDxsYWJlbD57eyBvcHRpb24ua2V5IH19PC9sYWJlbD5cbiAgICAgIDxhY2wtc3RvcmFnZS1mZWF0dXJlLXRhZ3NcbiAgICAgICAgW3Byb3Zpc2lvbmVyXT1cIm9wdGlvbi5wcm92aXNpb25lclwiXG4gICAgICAgIFtzdG9yYWdlQ2xhc3NdPVwib3B0aW9uLnN0b3JhZ2VDbGFzc1wiXG4gICAgICAgIFtoYXNEZWZhdWx0XT1cIm9wdGlvbi5pc0RlZmF1bHRcIlxuICAgICAgICBbdm9sdW1lU25hcHNob3RDbGFzc2VzXT1cInZvbHVtZVNuYXBzaG90Q2xhc3Nlc1wiXG4gICAgICA+PC9hY2wtc3RvcmFnZS1mZWF0dXJlLXRhZ3M+XG4gICAgPC9kaXY+XG4gICAgPHAgKm5nSWY9XCJvcHRpb24/LmRpc3BsYXlOYW1lICYmIGluT3B0aW9uXCI+XG4gICAgICB7eyBvcHRpb24uZGlzcGxheU5hbWUgfX1cbiAgICA8L3A+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzdG9yYWdlQ2xhc3NUbXBsPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgIHN0b3JhZ2VDbGFzc0xhYmVsO1xuICAgICAgY29udGV4dDoge1xuICAgICAgICBvcHRpb246XG4gICAgICAgICAgZm9ybS52YWx1ZVxuICAgICAgICAgIHwgcHVyZTogZ2V0U3RvcmFnZUNsYXNzT3B0aW9uIDogKHN0b3JhZ2VDbGFzc09wdGlvbnMkIHwgYXN5bmMpLFxuICAgICAgfVxuICAgIFwiXG4gID48L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZW1wdHk+e3sgbnVsbCB8IGFjbEZpZWxkTm90QXZhaWxhYmxlIH19PC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -33,4 +33,4 @@ export var PoolState;
33
33
  PoolState["POOL_CREATED"] = "PoolCreated";
34
34
  PoolState["POOL_INITIALIZED"] = "PoolInitialized";
35
35
  })(PoolState || (PoolState = {}));
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9zdG9yYWdlL3NyYy9saWIvdHlwZXMvazhzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlMQSxNQUFNLDZCQUE2QixHQUFHO0lBQ3BDLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLFdBQVc7SUFDWCxZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLFNBQVM7Q0FDRCxDQUFDO0FBaUVYLE1BQU0sOEJBQThCLEdBQUc7SUFDckMsS0FBSztJQUNMLEtBQUs7SUFDTCxXQUFXO0lBQ1gsU0FBUztJQUNULEtBQUs7SUFDTCxLQUFLO0NBQ0csQ0FBQztBQW1LWCxNQUFNLENBQU4sSUFBWSwwQ0FHWDtBQUhELFdBQVksMENBQTBDO0lBQ3BELHFFQUF1QixDQUFBO0lBQ3ZCLDZFQUErQixDQUFBO0FBQ2pDLENBQUMsRUFIVywwQ0FBMEMsS0FBMUMsMENBQTBDLFFBR3JEO0FBOEJELGVBQWU7QUFFZixNQUFNLENBQU4sSUFBWSxZQUlYO0FBSkQsV0FBWSxZQUFZO0lBQ3RCLCtCQUFlLENBQUE7SUFDZixpQ0FBaUIsQ0FBQTtJQUNqQiwyQkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUpXLFlBQVksS0FBWixZQUFZLFFBSXZCO0FBRUQsTUFBTSxDQUFOLElBQVksU0FJWDtBQUpELFdBQVksU0FBUztJQUNuQixnREFBbUMsQ0FBQTtJQUNuQyx5Q0FBNEIsQ0FBQTtJQUM1QixpREFBb0MsQ0FBQTtBQUN0QyxDQUFDLEVBSlcsU0FBUyxLQUFULFNBQVMsUUFJcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBY2Nlc3NNb2RlLFxuICBDb25kaXRpb24sXG4gIEt1YmVybmV0ZXNSZXNvdXJjZSxcbiAgU3RyaW5nTWFwLFxuICBBZmZpbml0eSxcbiAgUmVzb3VyY2VSZXF1aXJlbWVudHMsXG59IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcblxuaW1wb3J0IHtcbiAgUmVjbGFpbVBvbGljeSxcbiAgU3RvcmFnZVByb3Zpc2lvbmVyLFxuICBWb2x1bWVCaW5kaW5nTW9kZSxcbn0gZnJvbSAnLi9jb21tb25zJztcblxuZXhwb3J0IGludGVyZmFjZSBWb2x1bWVTbmFwc2hvdENsYXNzIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgZHJpdmVyOiBzdHJpbmc7XG4gIHBhcmFtZXRlcnM/OiBTdHJpbmdNYXA7XG4gIGRlbGV0aW9uUG9saWN5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZvbHVtZVNuYXBzaG90IGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYzogVm9sdW1lU25hcHNob3RTcGVjO1xuICBzdGF0dXM/OiB7XG4gICAgYm91bmRWb2x1bWVTbmFwc2hvdENvbnRlbnROYW1lPzogc3RyaW5nO1xuICAgIHJlYWR5VG9Vc2U/OiBib29sZWFuO1xuICAgIGVycm9yPzogc3RyaW5nO1xuICAgIHJlc3RvcmVTaXplPzogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZvbHVtZVNuYXBzaG90U3BlYyB7XG4gIHZvbHVtZVNuYXBzaG90Q2xhc3NOYW1lOiBzdHJpbmc7XG4gIHNvdXJjZT86IHtcbiAgICBwZXJzaXN0ZW50Vm9sdW1lQ2xhaW1OYW1lPzogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0b3JhZ2VDbGFzcyBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIGFwaVZlcnNpb246ICdzdG9yYWdlLms4cy5pby92MSc7XG4gIGtpbmQ6ICdTdG9yYWdlQ2xhc3MnO1xuICBtb3VudE9wdGlvbnM/OiBzdHJpbmdbXTtcbiAgcGFyYW1ldGVycz86IFN0cmluZ01hcDtcbiAgcHJvdmlzaW9uZXI/OiBTdG9yYWdlUHJvdmlzaW9uZXI7XG4gIHJlY2xhaW1Qb2xpY3k/OiBSZWNsYWltUG9saWN5O1xuICB2b2x1bWVCaW5kaW5nTW9kZT86IFZvbHVtZUJpbmRpbmdNb2RlO1xuICBhbGxvd1ZvbHVtZUV4cGFuc2lvbj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVja2V0Q2xhc3MgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBraW5kOiAnQnVja2V0Q2xhc3MnO1xuICBkcml2ZXJOYW1lOiBTdG9yYWdlUHJvdmlzaW9uZXI7XG4gIGRlbGV0aW9uUG9saWN5PzogUmVjbGFpbVBvbGljeTtcbiAgaXNEZWZhdWx0QnVja2V0Q2xhc3M/OiBib29sZWFuO1xuICBwYXJhbWV0ZXJzPzogU3RyaW5nTWFwO1xuICBwcm90b2NvbD86IHtcbiAgICBzMzoge1xuICAgICAgcmVnaW9uOiBzdHJpbmc7XG4gICAgICBzaWduYXR1cmVWZXJzaW9uOiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbn1cblxuZXhwb3J0IHR5cGUgQ29tbW9uU3RvcmFnZUNsYXNzID0gU3RvcmFnZUNsYXNzIHwgQnVja2V0Q2xhc3M7XG5cbmV4cG9ydCB0eXBlIENvbW1vblN0b3JhZ2VDbGFzc0tpbmQgPSBDb21tb25TdG9yYWdlQ2xhc3MgZXh0ZW5kcyB7XG4gIGtpbmQ6IGluZmVyIEs7XG59XG4gID8gS1xuICA6IG5ldmVyO1xuXG5leHBvcnQgaW50ZXJmYWNlIENlcGhGU1BlcnNpc3RlbnRWb2x1bWVTb3VyY2Uge1xuICBtb25pdG9yczogc3RyaW5nW107XG4gIHBhdGg/OiBzdHJpbmc7XG4gIHNlY3JldFJlZjogU2VjcmV0UmVmZXJlbmNlO1xuICB1c2VyOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VjcmV0UmVmZXJlbmNlIHtcbiAgbmFtZTogc3RyaW5nO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQZXJzaXN0ZW50Vm9sdW1lU3BlYyBleHRlbmRzIFBlcnNpc3RlbnRWb2x1bWVTcGVjTWV0YSB7XG4gIGFjY2Vzc01vZGVzOiBbQWNjZXNzTW9kZV07XG4gIC8vIG51bGwg6KGo56S65L2/55So6buY6K6kIHNjXG4gIC8vIFwiXCIg5oiW5LiN5YaZ6K+l5a2X5q616KGo56S65LiN6K6+572u5a2Y5YKo57G7XG4gIHN0b3JhZ2VDbGFzc05hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGVyc2lzdGVudFZvbHVtZSBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIGFwaVZlcnNpb246IHN0cmluZztcbiAga2luZDogc3RyaW5nO1xuICBzcGVjOiBQZXJzaXN0ZW50Vm9sdW1lU3BlYztcbiAgc3RhdHVzPzoge1xuICAgIHBoYXNlOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGVyc2lzdGVudFZvbHVtZVNwZWNNZXRhIHtcbiAgY2FwYWNpdHk6IHtcbiAgICBzdG9yYWdlOiBzdHJpbmc7XG4gIH07XG4gIGNsYWltUmVmPzoge1xuICAgIGFwaVZlcnNpb246IHN0cmluZztcbiAgICBraW5kOiAnUGVyc2lzdGVudFZvbHVtZUNsYWltJztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gICAgdWlkOiBzdHJpbmc7XG4gIH07XG4gIHBlcnNpc3RlbnRWb2x1bWVSZWNsYWltUG9saWN5OiAnUmV0YWluJyB8ICdEZWxldGUnO1xuICBob3N0UGF0aD86IHtcbiAgICBwYXRoOiBzdHJpbmc7XG4gIH07XG4gIG5mcz86IHtcbiAgICBzZXJ2ZXI6IHN0cmluZztcbiAgICBwYXRoOiBzdHJpbmc7XG4gIH07XG4gIGNlcGhmcz86IENlcGhGU1BlcnNpc3RlbnRWb2x1bWVTb3VyY2U7XG4gIG1vdW50T3B0aW9ucz86IHN0cmluZ1tdO1xuICBjc2k/OiB7XG4gICAgZHJpdmVyPzogc3RyaW5nO1xuICAgIHJlYWRPbmx5PzogYm9vbGVhbjtcbiAgICAvKiog6K+l5a2X5q6155SxVUnnlJ/miJDvvIwg6ZyA5L+d6K+B6ZuG576k5ZSv5LiA77yMIOWPr+mHh+eUqHV1aWQgKi9cbiAgICB2b2x1bWVIYW5kbGU/OiBzdHJpbmc7XG4gICAgdm9sdW1lQXR0cmlidXRlczoge1xuICAgICAgLyoqIG5mcyDmnI3liqHnq6/lnLDlnYAgKi9cbiAgICAgIHNlcnZlcjogc3RyaW5nO1xuICAgICAgLyoqIG5mcyDmnI3liqHnq69mc+ebruW9lSAqL1xuICAgICAgc2hhcmU6IHN0cmluZztcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZvbHVtZUNsYWltVGVtcGxhdGUgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjOiB7XG4gICAgYWNjZXNzTW9kZXM6IHN0cmluZ1tdO1xuICAgIHJlc291cmNlczoge1xuICAgICAgcmVxdWVzdHM6IHtcbiAgICAgICAgc3RvcmFnZTogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICAgIHN0b3JhZ2VDbGFzc05hbWU6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZXBoQ2x1c3Rlck5ldHdvcmsge1xuICBpcEZhbWlseT86IHN0cmluZztcbiAgcHJvdmlkZXI/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VwaENsdXN0ZXJTdGF0dXMge1xuICBjZXBoOiB7XG4gICAgaGVhbHRoOiBzdHJpbmc7XG4gICAgbGFzdENoZWNrZWQ6IHN0cmluZztcbiAgICBkZXRhaWxzOiB1bmtub3duO1xuICAgIGNhcGFjaXR5Pzoge1xuICAgICAgYnl0ZXNBdmFpbGFibGU6IG51bWJlcjtcbiAgICAgIGJ5dGVzVG90YWw6IG51bWJlcjtcbiAgICAgIGJ5dGVzVXNlZDogbnVtYmVyO1xuICAgICAgbGFzdFVwZGF0ZWQ6IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBjb25kaXRpb25zOiBDb25kaXRpb25bXTtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBwaGFzZTogc3RyaW5nO1xuICBzdGF0ZTogc3RyaW5nO1xuICB2ZXJzaW9uOiB7XG4gICAgaW1hZ2U6IHN0cmluZztcbiAgICB2ZXJzaW9uOiBzdHJpbmc7XG4gIH07XG4gIHN0b3JhZ2U6IHtcbiAgICBkZXZpY2VDbGFzc2VzOiBBcnJheTx7IG5hbWU6IHN0cmluZyB9PjtcbiAgfTtcbiAgbmV0d29yazogQ2VwaENsdXN0ZXJOZXR3b3JrO1xufVxuXG5jb25zdCBDZXBoUmVzb3VyY2VDb25maWd1cmF0aW9uS2V5cyA9IFtcbiAgJ21ncicsXG4gICdtb24nLFxuICAnb3NkJyxcbiAgJ3JiZG1pcnJvcicsXG4gICdwcmVwYXJlb3NkJyxcbiAgJ2NyYXNoY29sbGVjdG9yJyxcbiAgJ2NsZWFudXAnLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IGludGVyZmFjZSBDZXBoRGFzaEJvYXJkU3BlYyB7XG4gIGVuYWJsZWQ6IGJvb2xlYW47XG4gIHVybFByZWZpeD86IHN0cmluZztcbiAgcG9ydD86IG51bWJlcjtcbiAgc3NsPzogYm9vbGVhbjtcbn1cblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3Jvb2svcm9vay9ibG9iL21hc3Rlci9Eb2N1bWVudGF0aW9uL0NSRHMvQ2x1c3Rlci9zdHJldGNoLWNsdXN0ZXIubWRcbmV4cG9ydCBpbnRlcmZhY2UgU3RyZXRjaENsdXN0ZXIge1xuICBmYWlsdXJlRG9tYWluTGFiZWw6IHN0cmluZztcbiAgc3ViRmFpbHVyZURvbWFpbjogc3RyaW5nO1xuICB6b25lczogQXJyYXk8e1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBhcmJpdGVyPzogYm9vbGVhbjtcbiAgfT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VwaE1vblNldHRpbmdzIHtcbiAgY291bnQ6IG51bWJlcjtcbiAgYWxsb3dNdWx0aXBsZVBlck5vZGU/OiBib29sZWFuO1xuICB2b2x1bWVDbGFpbVRlbXBsYXRlPzogUGVyc2lzdGVudFZvbHVtZVNwZWM7XG4gIHN0cmV0Y2hDbHVzdGVyPzogU3RyZXRjaENsdXN0ZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VwaE1nclNldHRpbmdzIHtcbiAgbW9kdWxlczogQXJyYXk8e1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBlbmFibGVkOiBib29sZWFuO1xuICB9PjtcbiAgY291bnQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VwaE9zZENvbmZpZ3VyYXRpb24ge1xuICBtZXRhZGF0YURldmljZT86IHN0cmluZztcbiAgc3RvcmVUeXBlPzogc3RyaW5nO1xuICBkYXRhYmFzZVNpemVNQj86IG51bWJlcjtcbiAgd2FsU2l6ZU1CPzogbnVtYmVyO1xuICBvc2RzUGVyRGV2aWNlPzogbnVtYmVyO1xuICBlbmNyeXB0ZWREZXZpY2U/OiBib29sZWFuO1xuICBkZXZpY2VDbGFzcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZXBoTm9kZVNldHRpbmdzIHtcbiAgbmFtZTogc3RyaW5nO1xuICBjb25maWc/OiBDZXBoT3NkQ29uZmlndXJhdGlvbjtcbiAgdXNlQWxsRGV2aWNlcz86IGJvb2xlYW47XG4gIGRldmljZUZpbHRlcj86IFJlZ0V4cDtcbiAgZGV2aWNlUGF0aEZpbHRlcj86IFJlZ0V4cDtcbiAgZGV2aWNlcz86IEFycmF5PHsgY29uZmlnPzogeyBkZXZpY2VDbGFzczogc3RyaW5nIH07IG5hbWU6IHN0cmluZyB9Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZXBoRGlzcnVwdGlvbk1hbmFnZW1lbnQge1xuICBtYW5hZ2VQb2RCdWRnZXRzPzogYm9vbGVhbjtcbiAgb3NkTWFpbnRlbmFuY2VUaW1lb3V0PzogbnVtYmVyO1xuICBtYW5hZ2VNYWNoaW5lRGlzcnVwdGlvbkJ1ZGdldHM/OiBib29sZWFuO1xuICBtYWNoaW5lRGlzcnVwdGlvbkJ1ZGdldE5hbWVzcGFjZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZXBoU3RvcmFnZVNldHRpbmdzIHtcbiAgdXNlQWxsTm9kZXM/OiBib29sZWFuO1xuICBub2RlczogQ2VwaE5vZGVTZXR0aW5nc1tdO1xufVxuXG5jb25zdCBDZXBoUGxhY2VtZW50Q29uZmlndXJhdGlvbktleXMgPSBbXG4gICdtZ3InLFxuICAnbW9uJyxcbiAgJ3JiZG1pcnJvcicsXG4gICdjbGVhbnVwJyxcbiAgJ2FsbCcsXG4gICdvc2QnLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IGludGVyZmFjZSBDZXBoUGxhY2VtZW50Tm9kZUFmZmluaXR5IHtcbiAgcmVxdWlyZWREdXJpbmdTY2hlZHVsaW5nSWdub3JlZER1cmluZ0V4ZWN1dGlvbjoge1xuICAgIG5vZGVTZWxlY3RvclRlcm1zOiBBcnJheTx7XG4gICAgICBtYXRjaEV4cHJlc3Npb25zOiBBcnJheTx7XG4gICAgICAgIGtleTogc3RyaW5nO1xuICAgICAgICBvcGVyYXRvcjogJ0luJyB8ICdOb3RJbicgfCAnRXhpc3RzJyB8ICdEb2VzTm90RXhpc3QnO1xuICAgICAgICB2YWx1ZXM/OiBzdHJpbmdbXTtcbiAgICAgIH0+O1xuICAgIH0+O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENlcGhQbGFjZW1lbnRDb25maWd1cmF0aW9uIHtcbiAgbm9kZUFmZmluaXR5PzogQ2VwaFBsYWNlbWVudE5vZGVBZmZpbml0eTtcbiAgcG9kQWZmaW5pdHk/OiBBZmZpbml0eTtcbiAgcG9kQW50aUFmZmluaXR5PzogQWZmaW5pdHk7XG4gIHRvbGVyYXRpb25zPzogYW55W107XG4gIHRvcG9sb2d5U3ByZWFkQ29uc3RyYWludHM/OiBhbnlbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZXBoQ2x1c3RlclNwZWMge1xuICBwcmlvcml0eUNsYXNzTmFtZXM/OiBTdHJpbmdNYXA7XG4gIGV4dGVybmFsPzoge1xuICAgIGVuYWJsZTogYm9vbGVhbjtcbiAgfTtcbiAgY2VwaFZlcnNpb246IHtcbiAgICBpbWFnZTogc3RyaW5nO1xuICAgIGFsbG93VW5zdXBwb3J0ZWQ/OiBib29sZWFuO1xuICB9O1xuICBkYXRhRGlySG9zdFBhdGg6IHN0cmluZztcbiAgc2tpcFVwZ3JhZGVDaGVja3M/OiBib29sZWFuO1xuICBjb250aW51ZVVwZ3JhZGVBZnRlckNoZWNrc0V2ZW5JZk5vdEhlYWx0aHk/OiBib29sZWFuO1xuICBkYXNoYm9hcmQ/OiBDZXBoRGFzaEJvYXJkU3BlYztcbiAgbW9uOiBDZXBoTW9uU2V0dGluZ3M7XG4gIG1ncj86IENlcGhNZ3JTZXR0aW5ncztcbiAgc3RvcmFnZT86IENlcGhTdG9yYWdlU2V0dGluZ3M7XG4gIHJlbW92ZU9TRHNJZk91dEFuZFNhZmVUb1JlbW92ZT86IGJvb2xlYW47XG4gIGNyYXNoQ29sbGVjdG9yPzoge1xuICAgIGRpc2FibGU6IGJvb2xlYW47XG4gIH07XG4gIG5ldHdvcms/OiBDZXBoQ2x1c3Rlck5ldHdvcms7XG4gIGRpc3J1cHRpb25NYW5hZ2VtZW50PzogQ2VwaERpc3J1cHRpb25NYW5hZ2VtZW50O1xuICBwbGFjZW1lbnQ/OiBQYXJ0aWFsPFxuICAgIFJlY29yZDxcbiAgICAgIFBhcnRpYWw8dHlwZW9mIENlcGhQbGFjZW1lbnRDb25maWd1cmF0aW9uS2V5cz5bbnVtYmVyXSxcbiAgICAgIENlcGhQbGFjZW1lbnRDb25maWd1cmF0aW9uXG4gICAgPlxuICA+O1xuICByZXNvdXJjZXM/OiBQYXJ0aWFsPFxuICAgIFJlY29yZDxcbiAgICAgIFBhcnRpYWw8dHlwZW9mIENlcGhSZXNvdXJjZUNvbmZpZ3VyYXRpb25LZXlzPltudW1iZXJdLFxuICAgICAge1xuICAgICAgICByZXF1ZXN0czoge1xuICAgICAgICAgIGNwdTogc3RyaW5nO1xuICAgICAgICAgIG1lbW9yeTogc3RyaW5nO1xuICAgICAgICB9O1xuICAgICAgfVxuICAgID5cbiAgPjtcbiAgbW9uaXRvcmluZz86IHtcbiAgICBlbmFibGVkOiBib29sZWFuO1xuICAgIHJ1bGVOYW1lc3BhY2U/OiBzdHJpbmc7XG4gIH07XG59XG5cbi8vIGh0dHBzOi8vcm9vay5pby9kb2NzL3Jvb2svdjEuMy9jZXBoLWNsdXN0ZXItY3JkLmh0bWxcbmV4cG9ydCBpbnRlcmZhY2UgQ2VwaENsdXN0ZXIgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjOiBDZXBoQ2x1c3RlclNwZWM7XG4gIHN0YXR1cz86IENlcGhDbHVzdGVyU3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENlcGhPYmplY3RQb29sU3BlYyB7XG4gIGRldmljZUNsYXNzPzogc3RyaW5nO1xuICBmYWlsdXJlRG9tYWluPzogc3RyaW5nO1xuICByZXBsaWNhdGVkOiB7XG4gICAgc2l6ZTogbnVtYmVyO1xuICAgIHJlcXVpcmVTYWZlUmVwbGljYVNpemU/OiBib29sZWFuO1xuICB9O1xuICBwYXJhbWV0ZXJzPzoge1xuICAgIGNvbXByZXNzaW9uX21vZGU/OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VwaE1ldGFkYXRhU2VydmVyIHtcbiAgYWN0aXZlQ291bnQ6IG51bWJlcjtcbiAgYWN0aXZlU3RhbmRieT86IGJvb2xlYW47XG4gIHBsYWNlbWVudD86IENlcGhQbGFjZW1lbnRDb25maWd1cmF0aW9uO1xuICByZXNvdXJjZXM6IFJlc291cmNlUmVxdWlyZW1lbnRzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENlcGhGaWxlU3lzdGVtIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYzoge1xuICAgIG1ldGFkYXRhUG9vbD86IGFueTtcbiAgICBkYXRhUG9vbHM/OiBDZXBoT2JqZWN0UG9vbFNwZWNbXTtcbiAgICBwcmVzZXJ2ZVBvb2xzT25EZWxldGU/OiBib29sZWFuO1xuICAgIG1ldGFkYXRhU2VydmVyPzogQ2VwaE1ldGFkYXRhU2VydmVyO1xuICB9O1xuICBzdGF0dXM/OiB7XG4gICAgcGhhc2U6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZXBoQmxvY2tQb29sIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYzoge1xuICAgIGRldmljZUNsYXNzPzogc3RyaW5nO1xuICAgIGZhaWx1cmVEb21haW46IHN0cmluZztcbiAgICByZXBsaWNhdGVkOiB7XG4gICAgICBzaXplOiBudW1iZXI7XG4gICAgfTtcbiAgfTtcbiAgc3RhdHVzPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENlcGhPYmplY3RTdG9yZSBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM6IENlcGhPYmplY3RTdG9yZVNwZWM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VwaE9iamVjdFN0b3JlR2F0ZXdheSB7XG4gIHR5cGU6IHN0cmluZztcbiAgcG9ydDogbnVtYmVyO1xuICBpbnN0YW5jZXM6IG51bWJlcjtcbiAgcGxhY2VtZW50OiB7XG4gICAgbm9kZUFmZmluaXR5OiBDZXBoUGxhY2VtZW50Tm9kZUFmZmluaXR5O1xuICB9O1xuICBhbm5vdGF0aW9uczogdW5rbm93bjtcbiAgcmVzb3VyY2VzOiB7XG4gICAgbGltaXRzOiBTdHJpbmdNYXA7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VwaE9iamVjdFN0b3JlU3BlYyB7XG4gIG1ldGFkYXRhUG9vbD86IENlcGhPYmplY3RQb29sU3BlYztcbiAgZGF0YVBvb2w/OiBDZXBoT2JqZWN0UG9vbFNwZWM7XG4gIHByZXNlcnZlUG9vbHNPbkRlbGV0ZT86IGJvb2xlYW47XG4gIGdhdGV3YXk/OiBDZXBoT2JqZWN0U3RvcmVHYXRld2F5O1xufVxuXG4vLyBUb3BvbHZtQ2x1c3RlclxuZXhwb3J0IGludGVyZmFjZSBUb3BvbHZtTm9kZVN0b3JhZ2VTdGF0ZUNsYXNzIHtcbiAgY2xhc3NOYW1lOiBzdHJpbmc7XG4gIHZnTmFtZTogc3RyaW5nO1xuICBkZXZpY2VTdGF0ZXM/OiBBcnJheTx7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIG1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgc3RhdGU6ICdPbmxpbmUnIHwgJ09mZmxpbmUnO1xuICB9PjtcbiAgc3RhdGU6ICdSZWFkeScgfCAnVW5SZWFkeSc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9wb2x2bUNsdXN0ZXJTdGF0dXMge1xuICBwaGFzZT86ICdSZWFkeScgfCAnRmFpbHVyZSc7XG4gIG5vZGVTdG9yYWdlU3RhdGU/OiBBcnJheTx7XG4gICAgZmFpbENsYXNzZXM6IFRvcG9sdm1Ob2RlU3RvcmFnZVN0YXRlQ2xhc3NbXTtcbiAgICBzdWNjZXNzQ2xhc3NlczogVG9wb2x2bU5vZGVTdG9yYWdlU3RhdGVDbGFzc1tdO1xuICAgIG5vZGU6IHN0cmluZztcbiAgICBwaGFzZTogJ1JlYWR5JyB8ICdGYWlsdXJlJyB8ICdVbmtub3duJyB8ICdQZW5kaW5nJyB8ICcnO1xuICB9Pjtcbn1cblxuZXhwb3J0IHR5cGUgVG9wb2x2bURldmljZVR5cGUgPSAnZGlzaycgfCAnbG9vcCcgfCAnbHZtJztcblxuZXhwb3J0IGVudW0gVG9wb2x2bUNsdXN0ZXJTdG9yYWdlRGV2aWNlQ2xhc3NTdGF0dXNFbnVtIHtcbiAgQVZBSUxBQkxFID0gJ2F2YWlsYWJsZScsXG4gIE5PVF9BVkFJTEFCTEUgPSAnbm90X2F2YWlsYWJsZScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9wb2x2bUNsdXN0ZXJTcGVjRGV2aWNlQ2xhc3NJdGVtIHtcbiAgY2xhc3NOYW1lOiBzdHJpbmc7XG4gIGRlZmF1bHQ6IGJvb2xlYW47XG4gIHZvbHVtZUdyb3VwOiBzdHJpbmc7XG4gIGRldmljZXM6IEFycmF5PHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdHlwZTogVG9wb2x2bURldmljZVR5cGU7XG4gIH0+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRvcG9sdm1DbHVzdGVyU3BlY0RldmljZUNsYXNzIHtcbiAgbm9kZU5hbWU6IHN0cmluZztcbiAgY2xhc3NlczogVG9wb2x2bUNsdXN0ZXJTcGVjRGV2aWNlQ2xhc3NJdGVtW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9wb2x2bUNsdXN0ZXJWMlNwZWMge1xuICBjbGVhbnVwPzogYm9vbGVhbjtcbiAgdG9wb2x2bVZlcnNpb246IHN0cmluZztcbiAgc3RvcmFnZT86IHtcbiAgICBkZXZpY2VDbGFzc2VzOiBUb3BvbHZtQ2x1c3RlclNwZWNEZXZpY2VDbGFzc1tdO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRvcG9sdm1DbHVzdGVyVjIgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjOiBUb3BvbHZtQ2x1c3RlclYyU3BlYztcbiAgc3RhdHVzPzogVG9wb2x2bUNsdXN0ZXJTdGF0dXM7XG59XG5cbi8vIE1pbmlvQ2x1c3RlclxuXG5leHBvcnQgZW51bSBIZWFsdGhTdGF0dXMge1xuICBHUkVFTiA9ICdncmVlbicsXG4gIFlFTExPVyA9ICd5ZWxsb3cnLFxuICBSRUQgPSAncmVkJyxcbn1cblxuZXhwb3J0IGVudW0gUG9vbFN0YXRlIHtcbiAgUE9PTF9OT1RfQ1JFQVRFRCA9ICdQb29sTm90Q3JlYXRlZCcsXG4gIFBPT0xfQ1JFQVRFRCA9ICdQb29sQ3JlYXRlZCcsXG4gIFBPT0xfSU5JVElBTElaRUQgPSAnUG9vbEluaXRpYWxpemVkJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaW5pb0NsdXN0ZXJTdGF0dXMge1xuICBjdXJyZW50U3RhdGU6IHN0cmluZztcbiAgaGVhbHRoU3RhdHVzOiBIZWFsdGhTdGF0dXM7XG4gIGRyaXZlc09ubGluZTogbnVtYmVyO1xuICBwb29sczogQXJyYXk8eyBzc05hbWU6IHN0cmluZzsgc3RhdGU6IFBvb2xTdGF0ZSB9PjtcbiAgdXNhZ2U6IHtcbiAgICAvLyDmgLttaW5pb+WPr+eUqOWuuemHj1xuICAgIGNhcGFjaXR5OiBudW1iZXI7XG4gICAgLy8gbWluaW/lt7Lkvb/nlKjlrrnph49cbiAgICB1c2FnZTogbnVtYmVyO1xuICAgIC8vIOaAu+ijuOiuvuWkh+WuuemHj1xuICAgIHJhd0NhcGFjaXR5OiBudW1iZXI7XG4gICAgLy8g5bey5L2/55So6KO46K6+5aSH5a656YePXG4gICAgcmF3VXNhZ2U6IG51bWJlcjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaW5pb0NsdXN0ZXJQb29sIHtcbiAgYWZmaW5pdHk6IHtcbiAgICBwb2RBbnRpQWZmaW5pdHk/OiBBZmZpbml0eTtcbiAgICBub2RlQWZmaW5pdHk/OiBBZmZpbml0eTtcbiAgfTtcbiAgLy8g5a2Y5YKo5rGg5ZCN5a2X55SxcG9vbCvluo/lj7fnu4TmiJAgcG9vbC0wIHBvb2wtMVxuICBuYW1lOiBzdHJpbmc7XG4gIC8vIOagueaNruaJgOmAieiKgueCueaVsO+8jCDlvZPoioLngrnmlbDkuLoz5pe277yMIOatpOWkhOWhqzbvvIwg5b2T6IqC54K55pWwPj005pe277yMIOWhq+WGmeWunumZheaJgOmAieiKgueCueaVsFxuICBzZXJ2ZXJzOiBudW1iZXI7XG4gIC8vIDFcbiAgdm9sdW1lc1BlclNlcnZlcjogbnVtYmVyO1xuICB2b2x1bWVDbGFpbVRlbXBsYXRlOiBWb2x1bWVDbGFpbVRlbXBsYXRlO1xuICAvLyDlrZjlgqjmsaBwb2Tlrrnlv43vvIzpu5jorqTlrrnlv43kuIDliIdcbiAgdG9sZXJhdGlvbnM/OiBBcnJheTx7IGVmZmVjdDogc3RyaW5nOyBvcGVyYXRvcjogc3RyaW5nIH0+O1xuICByZXNvdXJjZXM/OiB7XG4gICAgbGltaXRzPzoge1xuICAgICAgY3B1OiBzdHJpbmc7XG4gICAgICBtZW1vcnk6IHN0cmluZztcbiAgICB9O1xuICAgIHJlcXVlc3RzPzoge1xuICAgICAgY3B1OiBzdHJpbmc7XG4gICAgICBtZW1vcnk6IHN0cmluZztcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pbmlvQ2x1c3RlclNwZWMge1xuICBjb25maWd1cmF0aW9uOiB7XG4gICAgLy8gbWluaW/phY3nva5zZWNyZXQg55SxdGVuYW505ZCN5a2XKyBcIi1lbnYtY29uZmlndXJhdGlvblwiXG4gICAgbmFtZTogc3RyaW5nO1xuICB9O1xuICBjcmVkc1NlY3JldDoge1xuICAgIG5hbWU6IHN0cmluZztcbiAgfTtcbiAgaW1hZ2U/OiBzdHJpbmc7XG4gIHJlcXVlc3RBdXRvQ2VydDogYm9vbGVhbjtcbiAgcG9vbHM6IE1pbmlvQ2x1c3RlclBvb2xbXTtcbiAgZXh0ZXJuYWxDZXJ0U2VjcmV0PzogQXJyYXk8eyBuYW1lOiBzdHJpbmc7IHR5cGU6IHN0cmluZyB9PjtcbiAgc2lkZUNhcnM/OiB7XG4gICAgcmVzb3VyY2VzOiB7XG4gICAgICBsaW1pdHM/OiB7XG4gICAgICAgIGNwdTogc3RyaW5nO1xuICAgICAgICBtZW1vcnk6IHN0cmluZztcbiAgICAgIH07XG4gICAgICByZXF1ZXN0cz86IHtcbiAgICAgICAgY3B1OiBzdHJpbmc7XG4gICAgICAgIG1lbW9yeTogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pbmlvQ2x1c3RlciBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM6IE1pbmlvQ2x1c3RlclNwZWM7XG4gIHN0YXR1cz86IE1pbmlvQ2x1c3RlclN0YXR1cztcbn1cbiJdfQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9zdG9yYWdlL3NyYy9saWIvdHlwZXMvazhzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlMQSxNQUFNLDZCQUE2QixHQUFHO0lBQ3BDLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLFdBQVc7SUFDWCxZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLFNBQVM7Q0FDRCxDQUFDO0FBaUVYLE1BQU0sOEJBQThCLEdBQUc7SUFDckMsS0FBSztJQUNMLEtBQUs7SUFDTCxXQUFXO0lBQ1gsU0FBUztJQUNULEtBQUs7SUFDTCxLQUFLO0NBQ0csQ0FBQztBQW1MWCxNQUFNLENBQU4sSUFBWSwwQ0FHWDtBQUhELFdBQVksMENBQTBDO0lBQ3BELHFFQUF1QixDQUFBO0lBQ3ZCLDZFQUErQixDQUFBO0FBQ2pDLENBQUMsRUFIVywwQ0FBMEMsS0FBMUMsMENBQTBDLFFBR3JEO0FBOEZELGVBQWU7QUFFZixNQUFNLENBQU4sSUFBWSxZQUlYO0FBSkQsV0FBWSxZQUFZO0lBQ3RCLCtCQUFlLENBQUE7SUFDZixpQ0FBaUIsQ0FBQTtJQUNqQiwyQkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUpXLFlBQVksS0FBWixZQUFZLFFBSXZCO0FBRUQsTUFBTSxDQUFOLElBQVksU0FJWDtBQUpELFdBQVksU0FBUztJQUNuQixnREFBbUMsQ0FBQTtJQUNuQyx5Q0FBNEIsQ0FBQTtJQUM1QixpREFBb0MsQ0FBQTtBQUN0QyxDQUFDLEVBSlcsU0FBUyxLQUFULFNBQVMsUUFJcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBY2Nlc3NNb2RlLFxuICBDb25kaXRpb24sXG4gIEt1YmVybmV0ZXNSZXNvdXJjZSxcbiAgU3RyaW5nTWFwLFxuICBBZmZpbml0eSxcbiAgUmVzb3VyY2VSZXF1aXJlbWVudHMsXG59IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcblxuaW1wb3J0IHtcbiAgUmVjbGFpbVBvbGljeSxcbiAgU3RvcmFnZVByb3Zpc2lvbmVyLFxuICBWb2x1bWVCaW5kaW5nTW9kZSxcbn0gZnJvbSAnLi9jb21tb25zJztcblxuZXhwb3J0IGludGVyZmFjZSBWb2x1bWVTbmFwc2hvdENsYXNzIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgZHJpdmVyOiBzdHJpbmc7XG4gIHBhcmFtZXRlcnM/OiBTdHJpbmdNYXA7XG4gIGRlbGV0aW9uUG9saWN5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZvbHVtZVNuYXBzaG90IGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYzogVm9sdW1lU25hcHNob3RTcGVjO1xuICBzdGF0dXM/OiB7XG4gICAgYm91bmRWb2x1bWVTbmFwc2hvdENvbnRlbnROYW1lPzogc3RyaW5nO1xuICAgIHJlYWR5VG9Vc2U/OiBib29sZWFuO1xuICAgIGVycm9yPzogc3RyaW5nO1xuICAgIHJlc3RvcmVTaXplPzogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZvbHVtZVNuYXBzaG90U3BlYyB7XG4gIHZvbHVtZVNuYXBzaG90Q2xhc3NOYW1lOiBzdHJpbmc7XG4gIHNvdXJjZT86IHtcbiAgICBwZXJzaXN0ZW50Vm9sdW1lQ2xhaW1OYW1lPzogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0b3JhZ2VDbGFzcyBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIGFwaVZlcnNpb246ICdzdG9yYWdlLms4cy5pby92MSc7XG4gIGtpbmQ6ICdTdG9yYWdlQ2xhc3MnO1xuICBtb3VudE9wdGlvbnM/OiBzdHJpbmdbXTtcbiAgcGFyYW1ldGVycz86IFN0cmluZ01hcDtcbiAgcHJvdmlzaW9uZXI/OiBTdG9yYWdlUHJvdmlzaW9uZXI7XG4gIHJlY2xhaW1Qb2xpY3k/OiBSZWNsYWltUG9saWN5O1xuICB2b2x1bWVCaW5kaW5nTW9kZT86IFZvbHVtZUJpbmRpbmdNb2RlO1xuICBhbGxvd1ZvbHVtZUV4cGFuc2lvbj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVja2V0Q2xhc3MgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBraW5kOiAnQnVja2V0Q2xhc3MnO1xuICBkcml2ZXJOYW1lOiBTdG9yYWdlUHJvdmlzaW9uZXI7XG4gIGRlbGV0aW9uUG9saWN5PzogUmVjbGFpbVBvbGljeTtcbiAgaXNEZWZhdWx0QnVja2V0Q2xhc3M/OiBib29sZWFuO1xuICBwYXJhbWV0ZXJzPzogU3RyaW5nTWFwO1xuICBwcm90b2NvbD86IHtcbiAgICBzMzoge1xuICAgICAgcmVnaW9uOiBzdHJpbmc7XG4gICAgICBzaWduYXR1cmVWZXJzaW9uOiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbn1cblxuZXhwb3J0IHR5cGUgQ29tbW9uU3RvcmFnZUNsYXNzID0gU3RvcmFnZUNsYXNzIHwgQnVja2V0Q2xhc3M7XG5cbmV4cG9ydCB0eXBlIENvbW1vblN0b3JhZ2VDbGFzc0tpbmQgPSBDb21tb25TdG9yYWdlQ2xhc3MgZXh0ZW5kcyB7XG4gIGtpbmQ6IGluZmVyIEs7XG59XG4gID8gS1xuICA6IG5ldmVyO1xuXG5leHBvcnQgaW50ZXJmYWNlIENlcGhGU1BlcnNpc3RlbnRWb2x1bWVTb3VyY2Uge1xuICBtb25pdG9yczogc3RyaW5nW107XG4gIHBhdGg/OiBzdHJpbmc7XG4gIHNlY3JldFJlZjogU2VjcmV0UmVmZXJlbmNlO1xuICB1c2VyOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VjcmV0UmVmZXJlbmNlIHtcbiAgbmFtZTogc3RyaW5nO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQZXJzaXN0ZW50Vm9sdW1lU3BlYyBleHRlbmRzIFBlcnNpc3RlbnRWb2x1bWVTcGVjTWV0YSB7XG4gIGFjY2Vzc01vZGVzOiBbQWNjZXNzTW9kZV07XG4gIC8vIG51bGwg6KGo56S65L2/55So6buY6K6kIHNjXG4gIC8vIFwiXCIg5oiW5LiN5YaZ6K+l5a2X5q616KGo56S65LiN6K6+572u5a2Y5YKo57G7XG4gIHN0b3JhZ2VDbGFzc05hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGVyc2lzdGVudFZvbHVtZSBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIGFwaVZlcnNpb246IHN0cmluZztcbiAga2luZDogc3RyaW5nO1xuICBzcGVjOiBQZXJzaXN0ZW50Vm9sdW1lU3BlYztcbiAgc3RhdHVzPzoge1xuICAgIHBoYXNlOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGVyc2lzdGVudFZvbHVtZVNwZWNNZXRhIHtcbiAgY2FwYWNpdHk6IHtcbiAgICBzdG9yYWdlOiBzdHJpbmc7XG4gIH07XG4gIGNsYWltUmVmPzoge1xuICAgIGFwaVZlcnNpb246IHN0cmluZztcbiAgICBraW5kOiAnUGVyc2lzdGVudFZvbHVtZUNsYWltJztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gICAgdWlkOiBzdHJpbmc7XG4gIH07XG4gIHBlcnNpc3RlbnRWb2x1bWVSZWNsYWltUG9saWN5OiAnUmV0YWluJyB8ICdEZWxldGUnO1xuICBob3N0UGF0aD86IHtcbiAgICBwYXRoOiBzdHJpbmc7XG4gIH07XG4gIG5mcz86IHtcbiAgICBzZXJ2ZXI6IHN0cmluZztcbiAgICBwYXRoOiBzdHJpbmc7XG4gIH07XG4gIGNlcGhmcz86IENlcGhGU1BlcnNpc3RlbnRWb2x1bWVTb3VyY2U7XG4gIG1vdW50T3B0aW9ucz86IHN0cmluZ1tdO1xuICBjc2k/OiB7XG4gICAgZHJpdmVyPzogc3RyaW5nO1xuICAgIHJlYWRPbmx5PzogYm9vbGVhbjtcbiAgICAvKiog6K+l5a2X5q6155SxVUnnlJ/miJDvvIwg6ZyA5L+d6K+B6ZuG576k5ZSv5LiA77yMIOWPr+mHh+eUqHV1aWQgKi9cbiAgICB2b2x1bWVIYW5kbGU/OiBzdHJpbmc7XG4gICAgdm9sdW1lQXR0cmlidXRlczoge1xuICAgICAgLyoqIG5mcyDmnI3liqHnq6/lnLDlnYAgKi9cbiAgICAgIHNlcnZlcjogc3RyaW5nO1xuICAgICAgLyoqIG5mcyDmnI3liqHnq69mc+ebruW9lSAqL1xuICAgICAgc2hhcmU6IHN0cmluZztcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZvbHVtZUNsYWltVGVtcGxhdGUgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjOiB7XG4gICAgYWNjZXNzTW9kZXM6IHN0cmluZ1tdO1xuICAgIHJlc291cmNlczoge1xuICAgICAgcmVxdWVzdHM6IHtcbiAgICAgICAgc3RvcmFnZTogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICAgIHN0b3JhZ2VDbGFzc05hbWU6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZXBoQ2x1c3Rlck5ldHdvcmsge1xuICBpcEZhbWlseT86IHN0cmluZztcbiAgcHJvdmlkZXI/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VwaENsdXN0ZXJTdGF0dXMge1xuICBjZXBoOiB7XG4gICAgaGVhbHRoOiBzdHJpbmc7XG4gICAgbGFzdENoZWNrZWQ6IHN0cmluZztcbiAgICBkZXRhaWxzOiB1bmtub3duO1xuICAgIGNhcGFjaXR5Pzoge1xuICAgICAgYnl0ZXNBdmFpbGFibGU6IG51bWJlcjtcbiAgICAgIGJ5dGVzVG90YWw6IG51bWJlcjtcbiAgICAgIGJ5dGVzVXNlZDogbnVtYmVyO1xuICAgICAgbGFzdFVwZGF0ZWQ6IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBjb25kaXRpb25zOiBDb25kaXRpb25bXTtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBwaGFzZTogc3RyaW5nO1xuICBzdGF0ZTogc3RyaW5nO1xuICB2ZXJzaW9uOiB7XG4gICAgaW1hZ2U6IHN0cmluZztcbiAgICB2ZXJzaW9uOiBzdHJpbmc7XG4gIH07XG4gIHN0b3JhZ2U6IHtcbiAgICBkZXZpY2VDbGFzc2VzOiBBcnJheTx7IG5hbWU6IHN0cmluZyB9PjtcbiAgfTtcbiAgbmV0d29yazogQ2VwaENsdXN0ZXJOZXR3b3JrO1xufVxuXG5jb25zdCBDZXBoUmVzb3VyY2VDb25maWd1cmF0aW9uS2V5cyA9IFtcbiAgJ21ncicsXG4gICdtb24nLFxuICAnb3NkJyxcbiAgJ3JiZG1pcnJvcicsXG4gICdwcmVwYXJlb3NkJyxcbiAgJ2NyYXNoY29sbGVjdG9yJyxcbiAgJ2NsZWFudXAnLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IGludGVyZmFjZSBDZXBoRGFzaEJvYXJkU3BlYyB7XG4gIGVuYWJsZWQ6IGJvb2xlYW47XG4gIHVybFByZWZpeD86IHN0cmluZztcbiAgcG9ydD86IG51bWJlcjtcbiAgc3NsPzogYm9vbGVhbjtcbn1cblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3Jvb2svcm9vay9ibG9iL21hc3Rlci9Eb2N1bWVudGF0aW9uL0NSRHMvQ2x1c3Rlci9zdHJldGNoLWNsdXN0ZXIubWRcbmV4cG9ydCBpbnRlcmZhY2UgU3RyZXRjaENsdXN0ZXIge1xuICBmYWlsdXJlRG9tYWluTGFiZWw6IHN0cmluZztcbiAgc3ViRmFpbHVyZURvbWFpbjogc3RyaW5nO1xuICB6b25lczogQXJyYXk8e1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBhcmJpdGVyPzogYm9vbGVhbjtcbiAgfT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VwaE1vblNldHRpbmdzIHtcbiAgY291bnQ6IG51bWJlcjtcbiAgYWxsb3dNdWx0aXBsZVBlck5vZGU/OiBib29sZWFuO1xuICB2b2x1bWVDbGFpbVRlbXBsYXRlPzogUGVyc2lzdGVudFZvbHVtZVNwZWM7XG4gIHN0cmV0Y2hDbHVzdGVyPzogU3RyZXRjaENsdXN0ZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VwaE1nclNldHRpbmdzIHtcbiAgbW9kdWxlczogQXJyYXk8e1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBlbmFibGVkOiBib29sZWFuO1xuICB9PjtcbiAgY291bnQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VwaE9zZENvbmZpZ3VyYXRpb24ge1xuICBtZXRhZGF0YURldmljZT86IHN0cmluZztcbiAgc3RvcmVUeXBlPzogc3RyaW5nO1xuICBkYXRhYmFzZVNpemVNQj86IG51bWJlcjtcbiAgd2FsU2l6ZU1CPzogbnVtYmVyO1xuICBvc2RzUGVyRGV2aWNlPzogbnVtYmVyO1xuICBlbmNyeXB0ZWREZXZpY2U/OiBib29sZWFuO1xuICBkZXZpY2VDbGFzcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZXBoTm9kZVNldHRpbmdzIHtcbiAgbmFtZTogc3RyaW5nO1xuICBjb25maWc/OiBDZXBoT3NkQ29uZmlndXJhdGlvbjtcbiAgdXNlQWxsRGV2aWNlcz86IGJvb2xlYW47XG4gIGRldmljZUZpbHRlcj86IFJlZ0V4cDtcbiAgZGV2aWNlUGF0aEZpbHRlcj86IFJlZ0V4cDtcbiAgZGV2aWNlcz86IEFycmF5PHsgY29uZmlnPzogeyBkZXZpY2VDbGFzczogc3RyaW5nIH07IG5hbWU6IHN0cmluZyB9Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZXBoRGlzcnVwdGlvbk1hbmFnZW1lbnQge1xuICBtYW5hZ2VQb2RCdWRnZXRzPzogYm9vbGVhbjtcbiAgb3NkTWFpbnRlbmFuY2VUaW1lb3V0PzogbnVtYmVyO1xuICBtYW5hZ2VNYWNoaW5lRGlzcnVwdGlvbkJ1ZGdldHM/OiBib29sZWFuO1xuICBtYWNoaW5lRGlzcnVwdGlvbkJ1ZGdldE5hbWVzcGFjZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZXBoU3RvcmFnZVNldHRpbmdzIHtcbiAgdXNlQWxsTm9kZXM/OiBib29sZWFuO1xuICBub2RlczogQ2VwaE5vZGVTZXR0aW5nc1tdO1xufVxuXG5jb25zdCBDZXBoUGxhY2VtZW50Q29uZmlndXJhdGlvbktleXMgPSBbXG4gICdtZ3InLFxuICAnbW9uJyxcbiAgJ3JiZG1pcnJvcicsXG4gICdjbGVhbnVwJyxcbiAgJ2FsbCcsXG4gICdvc2QnLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IGludGVyZmFjZSBDZXBoUGxhY2VtZW50Tm9kZUFmZmluaXR5IHtcbiAgcmVxdWlyZWREdXJpbmdTY2hlZHVsaW5nSWdub3JlZER1cmluZ0V4ZWN1dGlvbjoge1xuICAgIG5vZGVTZWxlY3RvclRlcm1zOiBBcnJheTx7XG4gICAgICBtYXRjaEV4cHJlc3Npb25zOiBBcnJheTx7XG4gICAgICAgIGtleTogc3RyaW5nO1xuICAgICAgICBvcGVyYXRvcjogJ0luJyB8ICdOb3RJbicgfCAnRXhpc3RzJyB8ICdEb2VzTm90RXhpc3QnO1xuICAgICAgICB2YWx1ZXM/OiBzdHJpbmdbXTtcbiAgICAgIH0+O1xuICAgIH0+O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENlcGhQbGFjZW1lbnRDb25maWd1cmF0aW9uIHtcbiAgbm9kZUFmZmluaXR5PzogQ2VwaFBsYWNlbWVudE5vZGVBZmZpbml0eTtcbiAgcG9kQWZmaW5pdHk/OiBBZmZpbml0eTtcbiAgcG9kQW50aUFmZmluaXR5PzogQWZmaW5pdHk7XG4gIHRvbGVyYXRpb25zPzogYW55W107XG4gIHRvcG9sb2d5U3ByZWFkQ29uc3RyYWludHM/OiBhbnlbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZXBoQ2x1c3RlclNwZWMge1xuICBwcmlvcml0eUNsYXNzTmFtZXM/OiBTdHJpbmdNYXA7XG4gIGV4dGVybmFsPzoge1xuICAgIGVuYWJsZTogYm9vbGVhbjtcbiAgfTtcbiAgY2VwaFZlcnNpb246IHtcbiAgICBpbWFnZTogc3RyaW5nO1xuICAgIGFsbG93VW5zdXBwb3J0ZWQ/OiBib29sZWFuO1xuICB9O1xuICBkYXRhRGlySG9zdFBhdGg6IHN0cmluZztcbiAgc2tpcFVwZ3JhZGVDaGVja3M/OiBib29sZWFuO1xuICBjb250aW51ZVVwZ3JhZGVBZnRlckNoZWNrc0V2ZW5JZk5vdEhlYWx0aHk/OiBib29sZWFuO1xuICBkYXNoYm9hcmQ/OiBDZXBoRGFzaEJvYXJkU3BlYztcbiAgbW9uOiBDZXBoTW9uU2V0dGluZ3M7XG4gIG1ncj86IENlcGhNZ3JTZXR0aW5ncztcbiAgc3RvcmFnZT86IENlcGhTdG9yYWdlU2V0dGluZ3M7XG4gIHJlbW92ZU9TRHNJZk91dEFuZFNhZmVUb1JlbW92ZT86IGJvb2xlYW47XG4gIGNyYXNoQ29sbGVjdG9yPzoge1xuICAgIGRpc2FibGU6IGJvb2xlYW47XG4gIH07XG4gIG5ldHdvcms/OiBDZXBoQ2x1c3Rlck5ldHdvcms7XG4gIGRpc3J1cHRpb25NYW5hZ2VtZW50PzogQ2VwaERpc3J1cHRpb25NYW5hZ2VtZW50O1xuICBwbGFjZW1lbnQ/OiBQYXJ0aWFsPFxuICAgIFJlY29yZDxcbiAgICAgIFBhcnRpYWw8dHlwZW9mIENlcGhQbGFjZW1lbnRDb25maWd1cmF0aW9uS2V5cz5bbnVtYmVyXSxcbiAgICAgIENlcGhQbGFjZW1lbnRDb25maWd1cmF0aW9uXG4gICAgPlxuICA+O1xuICByZXNvdXJjZXM/OiBQYXJ0aWFsPFxuICAgIFJlY29yZDxcbiAgICAgIFBhcnRpYWw8dHlwZW9mIENlcGhSZXNvdXJjZUNvbmZpZ3VyYXRpb25LZXlzPltudW1iZXJdLFxuICAgICAge1xuICAgICAgICByZXF1ZXN0czoge1xuICAgICAgICAgIGNwdTogc3RyaW5nO1xuICAgICAgICAgIG1lbW9yeTogc3RyaW5nO1xuICAgICAgICB9O1xuICAgICAgfVxuICAgID5cbiAgPjtcbiAgbW9uaXRvcmluZz86IHtcbiAgICBlbmFibGVkOiBib29sZWFuO1xuICAgIHJ1bGVOYW1lc3BhY2U/OiBzdHJpbmc7XG4gIH07XG59XG5cbi8vIGh0dHBzOi8vcm9vay5pby9kb2NzL3Jvb2svdjEuMy9jZXBoLWNsdXN0ZXItY3JkLmh0bWxcbmV4cG9ydCBpbnRlcmZhY2UgQ2VwaENsdXN0ZXIgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjOiBDZXBoQ2x1c3RlclNwZWM7XG4gIHN0YXR1cz86IENlcGhDbHVzdGVyU3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENlcGhPYmplY3RQb29sU3BlYyB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGRldmljZUNsYXNzPzogc3RyaW5nO1xuICBmYWlsdXJlRG9tYWluPzogc3RyaW5nO1xuICByZXBsaWNhdGVkOiB7XG4gICAgc2l6ZTogbnVtYmVyO1xuICAgIHJlcXVpcmVTYWZlUmVwbGljYVNpemU/OiBib29sZWFuO1xuICB9O1xuICBlcmFzdXJlQ29kZWQ/OiB7XG4gICAgZGF0YUNodW5rczogbnVtYmVyO1xuICAgIGNvZGluZ0NodW5rczogbnVtYmVyO1xuICB9O1xuICBxdW90YXM/OiB7XG4gICAgbWF4U2l6ZT86IHN0cmluZztcbiAgfTtcbiAgcGFyYW1ldGVycz86IHtcbiAgICBjb21wcmVzc2lvbl9tb2RlPzogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENlcGhNZXRhZGF0YVNlcnZlciB7XG4gIGFjdGl2ZUNvdW50OiBudW1iZXI7XG4gIGFjdGl2ZVN0YW5kYnk/OiBib29sZWFuO1xuICBwbGFjZW1lbnQ/OiBDZXBoUGxhY2VtZW50Q29uZmlndXJhdGlvbjtcbiAgcmVzb3VyY2VzOiBSZXNvdXJjZVJlcXVpcmVtZW50cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZXBoRmlsZVN5c3RlbSBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM6IHtcbiAgICBtZXRhZGF0YVBvb2w/OiBhbnk7XG4gICAgZGF0YVBvb2xzPzogQ2VwaE9iamVjdFBvb2xTcGVjW107XG4gICAgcHJlc2VydmVQb29sc09uRGVsZXRlPzogYm9vbGVhbjtcbiAgICBtZXRhZGF0YVNlcnZlcj86IENlcGhNZXRhZGF0YVNlcnZlcjtcbiAgfTtcbiAgc3RhdHVzPzoge1xuICAgIHBoYXNlOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VwaEJsb2NrUG9vbCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM6IHtcbiAgICBkZXZpY2VDbGFzcz86IHN0cmluZztcbiAgICBmYWlsdXJlRG9tYWluOiBzdHJpbmc7XG4gICAgcmVwbGljYXRlZDoge1xuICAgICAgc2l6ZTogbnVtYmVyO1xuICAgIH07XG4gICAgZXJhc3VyZUNvZGVkPzoge1xuICAgICAgZGF0YUNodW5rczogbnVtYmVyO1xuICAgICAgY29kaW5nQ2h1bmtzOiBudW1iZXI7XG4gICAgfTtcbiAgICBwYXJhbWV0ZXJzPzogU3RyaW5nTWFwO1xuICAgIHF1b3Rhcz86IHtcbiAgICAgIG1heFNpemU/OiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbiAgc3RhdHVzPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENlcGhPYmplY3RTdG9yZSBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM6IENlcGhPYmplY3RTdG9yZVNwZWM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VwaE9iamVjdFN0b3JlR2F0ZXdheSB7XG4gIHR5cGU6IHN0cmluZztcbiAgcG9ydDogbnVtYmVyO1xuICBpbnN0YW5jZXM6IG51bWJlcjtcbiAgcGxhY2VtZW50OiB7XG4gICAgbm9kZUFmZmluaXR5OiBDZXBoUGxhY2VtZW50Tm9kZUFmZmluaXR5O1xuICB9O1xuICBhbm5vdGF0aW9uczogdW5rbm93bjtcbiAgcmVzb3VyY2VzOiB7XG4gICAgbGltaXRzOiBTdHJpbmdNYXA7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VwaE9iamVjdFN0b3JlU3BlYyB7XG4gIG1ldGFkYXRhUG9vbD86IENlcGhPYmplY3RQb29sU3BlYztcbiAgZGF0YVBvb2w/OiBDZXBoT2JqZWN0UG9vbFNwZWM7XG4gIHByZXNlcnZlUG9vbHNPbkRlbGV0ZT86IGJvb2xlYW47XG4gIGdhdGV3YXk/OiBDZXBoT2JqZWN0U3RvcmVHYXRld2F5O1xufVxuXG4vLyBUb3BvbHZtQ2x1c3RlclxuZXhwb3J0IGludGVyZmFjZSBUb3BvbHZtTm9kZVN0b3JhZ2VTdGF0ZUNsYXNzIHtcbiAgY2xhc3NOYW1lOiBzdHJpbmc7XG4gIHZnTmFtZTogc3RyaW5nO1xuICBkZXZpY2VTdGF0ZXM/OiBBcnJheTx7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIG1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgc3RhdGU6ICdPbmxpbmUnIHwgJ09mZmxpbmUnO1xuICB9PjtcbiAgc3RhdGU6ICdSZWFkeScgfCAnVW5SZWFkeSc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9wb2x2bUNsdXN0ZXJTdGF0dXMge1xuICBwaGFzZT86ICdSZWFkeScgfCAnRmFpbHVyZSc7XG4gIG5vZGVTdG9yYWdlU3RhdGU/OiBBcnJheTx7XG4gICAgZmFpbENsYXNzZXM6IFRvcG9sdm1Ob2RlU3RvcmFnZVN0YXRlQ2xhc3NbXTtcbiAgICBzdWNjZXNzQ2xhc3NlczogVG9wb2x2bU5vZGVTdG9yYWdlU3RhdGVDbGFzc1tdO1xuICAgIG5vZGU6IHN0cmluZztcbiAgICBwaGFzZTogJ1JlYWR5JyB8ICdGYWlsdXJlJyB8ICdVbmtub3duJyB8ICdQZW5kaW5nJyB8ICcnO1xuICB9Pjtcbn1cblxuZXhwb3J0IHR5cGUgVG9wb2x2bURldmljZVR5cGUgPSAnZGlzaycgfCAnbG9vcCcgfCAnbHZtJztcblxuZXhwb3J0IGVudW0gVG9wb2x2bUNsdXN0ZXJTdG9yYWdlRGV2aWNlQ2xhc3NTdGF0dXNFbnVtIHtcbiAgQVZBSUxBQkxFID0gJ2F2YWlsYWJsZScsXG4gIE5PVF9BVkFJTEFCTEUgPSAnbm90X2F2YWlsYWJsZScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhpblBvb2xDb25maWcge1xuICAvKipcbiAgICogTmFtZSBzcGVjaWZpZXMgYSBuYW1lIGZvciB0aGUgdGhpbiBwb29sLlxuICAgKi9cbiAgbmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogT3ZlclByb3Zpc2lvblJhdGlvIHNwZWNpZmllcyBhIGZhY3RvciBieSB3aGljaCB5b3UgY2FuIHByb3Zpc2lvbiBhZGRpdGlvbmFsIHN0b3JhZ2VcbiAgICogYmFzZWQgb24gdGhlIGF2YWlsYWJsZSBzdG9yYWdlIGluIHRoZSB0aGluIHBvb2wuXG4gICAqIFRvIHByZXZlbnQgb3Zlci1wcm92aXNpb25pbmcgdGhyb3VnaCB2YWxpZGF0aW9uLCBzZXQgdGhpcyBmaWVsZCB0byAxLlxuICAgKiBNaW5pbXVtOiAxXG4gICAqL1xuICAvLyBjc3BlbGw6IGRpc2FibGUtbmV4dC1saW5lXG4gIG92ZXJwcm92aXNpb25SYXRpbzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBDaHVua1NpemUgc3BlY2lmaWVzIHRoZSBzdGF0aWNhbGx5IGNhbGN1bGF0ZWQgY2h1bmsgc2l6ZSBmb3IgdGhlIHRoaW4gcG9vbC5cbiAgICogVXNlZCBvbmx5IHdoZW4gQ2h1bmtTaXplQ2FsY3VsYXRpb25Qb2xpY3kgPSBcIlN0YXRpY1wiLlxuICAgKiBEZWZhdWx0OiAxMjhLaSBpZiBub3Qgc2V0LlxuICAgKiBSYW5nZTogNjRLaSDigJMgMUdpLlxuICAgKlxuICAgKiBDYW4gYmUgaW50ZWdlciBvciBzdHJpbmcgKGUuZy4sIFwiMTI4TWlcIikuXG4gICAqIC8vIGNzcGVsbDogZGlzYWJsZS1uZXh0LWxpbmVcbiAgICogUGF0dGVybjogXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyRcbiAgICovXG4gIGNodW5rU2l6ZT86IG51bWJlciB8IHN0cmluZztcblxuICAvKipcbiAgICogQ2h1bmtTaXplQ2FsY3VsYXRpb25Qb2xpY3kgc3BlY2lmaWVzIGhvdyBjaHVuayBzaXplIGlzIGRldGVybWluZWQuXG4gICAqIC0gXCJIb3N0XCI6IHVzZSB0aGUgaG9zdCBsdm0yIHNldHRpbmcuXG4gICAqIC0gXCJTdGF0aWNcIjogdXNlIHRoZSBDaHVua1NpemUgdmFsdWUuXG4gICAqIERlZmF1bHQ6IFwiU3RhdGljXCIuXG4gICAqL1xuICBjaHVua1NpemVDYWxjdWxhdGlvblBvbGljeT86ICdIb3N0JyB8ICdTdGF0aWMnO1xuXG4gIC8qKlxuICAgKiBNZXRhZGF0YVNpemUgc3BlY2lmaWVzIG1ldGFkYXRhIHNpemUgZm9yIHRoZSB0aGluIHBvb2wuXG4gICAqIFVzZWQgb25seSB3aGVuIE1ldGFkYXRhU2l6ZUNhbGN1bGF0aW9uUG9saWN5ID0gXCJTdGF0aWNcIi5cbiAgICogRGVmYXVsdDogMUdpIGlmIG5vdCBzZXQuXG4gICAqIFJhbmdlOiAyTWkg4oCTIDE2R2kuXG4gICAqXG4gICAqIENhbiBiZSBpbnRlZ2VyIG9yIHN0cmluZyAoZS5nLiwgXCIxR2lcIikuXG4gICAqIFBhdHRlcm4gc2FtZSBhcyBjaHVua1NpemUuXG4gICAqL1xuICBtZXRhZGF0YVNpemU/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE1ldGFkYXRhU2l6ZUNhbGN1bGF0aW9uUG9saWN5IHNwZWNpZmllcyBob3cgbWV0YWRhdGEgc2l6ZSBpcyBkZXRlcm1pbmVkLlxuICAgKiAtIFwiSG9zdFwiOiB1c2UgbHZtMiBkZWZhdWx0IHNldHRpbmdzLlxuICAgKiAtIFwiU3RhdGljXCI6IHVzZSB0aGUgTWV0YWRhdGFTaXplIHZhbHVlLlxuICAgKiBEZWZhdWx0OiBcIkhvc3RcIi5cbiAgICovXG4gIG1ldGFkYXRhU2l6ZUNhbGN1bGF0aW9uUG9saWN5PzogJ0hvc3QnIHwgJ1N0YXRpYyc7XG5cbiAgLyoqXG4gICAqIFNpemVQZXJjZW50IHNwZWNpZmllcyB0aGUgcGVyY2VudGFnZSBvZiBzcGFjZSBpbiB0aGUgTFZNIHZvbHVtZSBncm91cFxuICAgKiBmb3IgY3JlYXRpbmcgdGhlIHRoaW4gcG9vbC5cbiAgICogRGVmYXVsdDogOTAuXG4gICAqIFJhbmdlOiAxMCDigJMgMTAwLlxuICAgKi9cbiAgc2l6ZVBlcmNlbnQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9wb2x2bUNsdXN0ZXJTcGVjRGV2aWNlQ2xhc3NJdGVtIHtcbiAgY2xhc3NOYW1lOiBzdHJpbmc7XG4gIGRlZmF1bHQ6IGJvb2xlYW47XG4gIHZvbHVtZUdyb3VwOiBzdHJpbmc7XG4gIGRldmljZXM6IEFycmF5PHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdHlwZTogVG9wb2x2bURldmljZVR5cGU7XG4gIH0+O1xuICB0aGluUG9vbENvbmZpZz86IFRoaW5Qb29sQ29uZmlnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRvcG9sdm1DbHVzdGVyU3BlY0RldmljZUNsYXNzIHtcbiAgbm9kZU5hbWU6IHN0cmluZztcbiAgY2xhc3NlczogVG9wb2x2bUNsdXN0ZXJTcGVjRGV2aWNlQ2xhc3NJdGVtW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9wb2x2bUNsdXN0ZXJWMlNwZWMge1xuICBjbGVhbnVwPzogYm9vbGVhbjtcbiAgdG9wb2x2bVZlcnNpb246IHN0cmluZztcbiAgc3RvcmFnZT86IHtcbiAgICBkZXZpY2VDbGFzc2VzOiBUb3BvbHZtQ2x1c3RlclNwZWNEZXZpY2VDbGFzc1tdO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRvcG9sdm1DbHVzdGVyVjIgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjOiBUb3BvbHZtQ2x1c3RlclYyU3BlYztcbiAgc3RhdHVzPzogVG9wb2x2bUNsdXN0ZXJTdGF0dXM7XG59XG5cbi8vIE1pbmlvQ2x1c3RlclxuXG5leHBvcnQgZW51bSBIZWFsdGhTdGF0dXMge1xuICBHUkVFTiA9ICdncmVlbicsXG4gIFlFTExPVyA9ICd5ZWxsb3cnLFxuICBSRUQgPSAncmVkJyxcbn1cblxuZXhwb3J0IGVudW0gUG9vbFN0YXRlIHtcbiAgUE9PTF9OT1RfQ1JFQVRFRCA9ICdQb29sTm90Q3JlYXRlZCcsXG4gIFBPT0xfQ1JFQVRFRCA9ICdQb29sQ3JlYXRlZCcsXG4gIFBPT0xfSU5JVElBTElaRUQgPSAnUG9vbEluaXRpYWxpemVkJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaW5pb0NsdXN0ZXJTdGF0dXMge1xuICBjdXJyZW50U3RhdGU6IHN0cmluZztcbiAgaGVhbHRoU3RhdHVzOiBIZWFsdGhTdGF0dXM7XG4gIGRyaXZlc09ubGluZTogbnVtYmVyO1xuICBwb29sczogQXJyYXk8eyBzc05hbWU6IHN0cmluZzsgc3RhdGU6IFBvb2xTdGF0ZSB9PjtcbiAgdXNhZ2U6IHtcbiAgICAvLyDmgLttaW5pb+WPr+eUqOWuuemHj1xuICAgIGNhcGFjaXR5OiBudW1iZXI7XG4gICAgLy8gbWluaW/lt7Lkvb/nlKjlrrnph49cbiAgICB1c2FnZTogbnVtYmVyO1xuICAgIC8vIOaAu+ijuOiuvuWkh+WuuemHj1xuICAgIHJhd0NhcGFjaXR5OiBudW1iZXI7XG4gICAgLy8g5bey5L2/55So6KO46K6+5aSH5a656YePXG4gICAgcmF3VXNhZ2U6IG51bWJlcjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaW5pb0NsdXN0ZXJQb29sIHtcbiAgYWZmaW5pdHk6IHtcbiAgICBwb2RBbnRpQWZmaW5pdHk/OiBBZmZpbml0eTtcbiAgICBub2RlQWZmaW5pdHk/OiBBZmZpbml0eTtcbiAgfTtcbiAgLy8g5a2Y5YKo5rGg5ZCN5a2X55SxcG9vbCvluo/lj7fnu4TmiJAgcG9vbC0wIHBvb2wtMVxuICBuYW1lOiBzdHJpbmc7XG4gIC8vIOagueaNruaJgOmAieiKgueCueaVsO+8jCDlvZPoioLngrnmlbDkuLoz5pe277yMIOatpOWkhOWhqzbvvIwg5b2T6IqC54K55pWwPj005pe277yMIOWhq+WGmeWunumZheaJgOmAieiKgueCueaVsFxuICBzZXJ2ZXJzOiBudW1iZXI7XG4gIC8vIDFcbiAgdm9sdW1lc1BlclNlcnZlcjogbnVtYmVyO1xuICB2b2x1bWVDbGFpbVRlbXBsYXRlOiBWb2x1bWVDbGFpbVRlbXBsYXRlO1xuICAvLyDlrZjlgqjmsaBwb2Tlrrnlv43vvIzpu5jorqTlrrnlv43kuIDliIdcbiAgdG9sZXJhdGlvbnM/OiBBcnJheTx7IGVmZmVjdDogc3RyaW5nOyBvcGVyYXRvcjogc3RyaW5nIH0+O1xuICByZXNvdXJjZXM/OiB7XG4gICAgbGltaXRzPzoge1xuICAgICAgY3B1OiBzdHJpbmc7XG4gICAgICBtZW1vcnk6IHN0cmluZztcbiAgICB9O1xuICAgIHJlcXVlc3RzPzoge1xuICAgICAgY3B1OiBzdHJpbmc7XG4gICAgICBtZW1vcnk6IHN0cmluZztcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pbmlvQ2x1c3RlclNwZWMge1xuICBjb25maWd1cmF0aW9uOiB7XG4gICAgLy8gbWluaW/phY3nva5zZWNyZXQg55SxdGVuYW505ZCN5a2XKyBcIi1lbnYtY29uZmlndXJhdGlvblwiXG4gICAgbmFtZTogc3RyaW5nO1xuICB9O1xuICBjcmVkc1NlY3JldDoge1xuICAgIG5hbWU6IHN0cmluZztcbiAgfTtcbiAgaW1hZ2U/OiBzdHJpbmc7XG4gIHJlcXVlc3RBdXRvQ2VydDogYm9vbGVhbjtcbiAgcG9vbHM6IE1pbmlvQ2x1c3RlclBvb2xbXTtcbiAgZXh0ZXJuYWxDZXJ0U2VjcmV0PzogQXJyYXk8eyBuYW1lOiBzdHJpbmc7IHR5cGU6IHN0cmluZyB9PjtcbiAgc2lkZUNhcnM/OiB7XG4gICAgcmVzb3VyY2VzOiB7XG4gICAgICBsaW1pdHM/OiB7XG4gICAgICAgIGNwdTogc3RyaW5nO1xuICAgICAgICBtZW1vcnk6IHN0cmluZztcbiAgICAgIH07XG4gICAgICByZXF1ZXN0cz86IHtcbiAgICAgICAgY3B1OiBzdHJpbmc7XG4gICAgICAgIG1lbW9yeTogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pbmlvQ2x1c3RlciBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM6IE1pbmlvQ2x1c3RlclNwZWM7XG4gIHN0YXR1cz86IE1pbmlvQ2x1c3RlclN0YXR1cztcbn1cbiJdfQ==
@@ -49,7 +49,7 @@ export const STORAGE_OPTION_MAP = {
49
49
  zh: 'CephRBD 块存储',
50
50
  },
51
51
  accessModes: [AccessMode.RWO],
52
- snapshotAccessModes: [AccessMode.RWO],
52
+ snapshotAccessModes: [AccessMode.RWO, AccessMode.RWX],
53
53
  features: [StorageclassFeature.SNAPSHOT, StorageclassFeature.EXPANSION],
54
54
  volumeModes: [VolumeMode.FILE_SYSTEM, VolumeMode.BLOCK_DEVICE],
55
55
  },
@@ -200,4 +200,4 @@ export const VolumeSnapshotStatusIconMapper = {
200
200
  [VolumeSnapshotStatus.MALFUNCTION]: GenericStatusIcon.Warning,
201
201
  [VolumeSnapshotStatus.DELETING]: GenericStatusIcon.Deleting,
202
202
  };
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9zdG9yYWdlL3NyYy9saWIvdXRpbHMvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEVBQ1Ysa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixVQUFVLEdBQ1gsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixPQUFPLEVBRUwsa0JBQWtCLEVBQ2xCLFdBQVcsRUFDWCxtQkFBbUIsR0FDcEIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFcEQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7SUFDcEMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsd0JBQXdCO0lBQzFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLHVCQUF1QjtJQUN6QyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSx3QkFBd0I7SUFDMUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsdUJBQXVCO0NBQzNDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRztJQUNwQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRSxhQUFhO0lBQ3ZDLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUFFLGNBQWM7Q0FDMUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUM3Qyw2Q0FBNkMsQ0FBQztBQUVoRCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRztJQUN6QyxtQkFBbUI7SUFDbkIsbUJBQW1CO0NBQ3BCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRywyQkFBMkIsQ0FBQztBQUN0RSxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRywwQkFBMEIsQ0FBQztBQUN4RSxNQUFNLENBQUMs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LG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxFQUFFLGlCQUFpQixDQUFDLFFBQVE7Q0FDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFjY2Vzc01vZGUsXG4gIEdlbmVyaWNTdGF0dXNDb2xvcixcbiAgR2VuZXJpY1N0YXR1c0ljb24sXG4gIFZvbHVtZU1vZGUsXG59IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcblxuaW1wb3J0IHtcbiAgU3RvcmFnZU9wdGlvbixcbiAgU3RvcmFnZVByb3Zpc2lvbmVyLFxuICBTdG9yYWdlVHlwZSxcbiAgU3RvcmFnZWNsYXNzRmVhdHVyZSxcbn0gZnJvbSAnLi4vdHlwZXMvY29tbW9ucyc7XG5pbXBvcnQgeyBTdG9yYWdlUHJvdmlkZXIgfSBmcm9tICcuLi90eXBlcy9pbnRlcm5hbCc7XG5cbmV4cG9ydCBjb25zdCBBY2Nlc3NNb2RlVHJhbnNsYXRlS2V5ID0ge1xuICBbQWNjZXNzTW9kZS5SV09dOiAnc2luZ2xlX25vZGVfcmVhZF93cml0ZScsXG4gIFtBY2Nlc3NNb2RlLlJPWF06ICdtdWx0aV9ub2Rlc19yZWFkX29ubHknLFxuICBbQWNjZXNzTW9kZS5SV1hdOiAnbXVsdGlfbm9kZXNfcmVhZF93cml0ZScsXG4gIFtBY2Nlc3NNb2RlLlJXT1BdOiAnc2luZ2xlX3BvZF9yZWFkX3dyaXRlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBWb2x1bWVNb2RlVHJhbnNsYXRlS2V5ID0ge1xuICBbVm9sdW1lTW9kZS5GSUxFX1NZU1RFTV06ICdmaWxlX3N5c3RlbScsXG4gIFtWb2x1bWVNb2RlLkJMT0NLX0RFVklDRV06ICdibG9ja19kZXZpY2UnLFxufTtcblxuZXhwb3J0IGNvbnN0IElTX0RFRkFVTFRfU1RPUkFHRUNMQVNTX0FOTk9UQVRJT04gPVxuICAnc3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyc7XG5cbmV4cG9ydCBjb25zdCBSRVNFUlZFRF9TVE9SQUdFQ0xBU1NfTkFNRVMgPSBbXG4gICdhbGF1ZGEtc3lzdGVtLWdmcycsXG4gICdhbGF1ZGEtc3lzdGVtLWVicycsXG5dO1xuXG5leHBvcnQgY29uc3QgQ1NJX1RPUF9TTkFQU0hPVENMQVNTX05BTUUgPSAnY3NpLXRvcG9sdm0tc25hcHNob3RjbGFzcyc7XG5leHBvcnQgY29uc3QgQ1NJX0NFUEhGU19TTkFQU0hPVENMQVNTX05BTUUgPSAnY3NpLWNlcGhmcy1zbmFwc2hvdGNsYXNzJztcbmV4cG9ydCBjb25zdCBDU0lfUkJEX1NOQVBTSE9UQ0xBU1NfTkFNRSA9ICdjc2ktcmJkLXNuYXBzaG90Y2xhc3MnO1xuZXhwb3J0IGNvbnN0IE9CSkVDVF9TVE9SQUdFX0ZFQVRVUkVfR0FURSA9ICdvYmplY3Qtc3RvcmFnZSc7XG5cbmNvbnN0IFRPUE9MVk1fQ0xVU1RFUl9GRUFUVVJFX0dBVEUgPSAnYWNwLXRvcG9sdm0nO1xuY29uc3QgSFVBV0VJX0NTSV9GRUFUVVJFX0dBVEUgPSAnaHVhd2VpLWNzaSc7XG5jb25zdCBORlNfQ1NJX0ZFQVRVUkVfR0FURSA9ICduZnMtY3NpJztcbmNvbnN0IFNUT1JBR0VfQ0VQSF9GRUFUVVJFX0dBVEUgPSAnc3RvcmFnZS1jZXBoJztcblxuZXhwb3J0IGNvbnN0IFNUT1JBR0VfT1BUSU9OX01BUDogUmVjb3JkPFN0b3JhZ2VQcm92aXNpb25lciwgU3RvcmFnZU9wdGlvbj4gPSB7XG4gIFtTdG9yYWdlUHJvdmlzaW9uZXIuQ0VQSF9GU19JTlRFUk5BTF06IHtcbiAgICBwcm92aXNpb25lcjogU3RvcmFnZVByb3Zpc2lvbmVyLkNFUEhfRlNfSU5URVJOQUwsXG4gICAgY2x1c3RlckdhdGU6IFNUT1JBR0VfQ0VQSF9GRUFUVVJFX0dBVEUsXG4gICAgcHJvdmlkZXI6IFN0b3JhZ2VQcm92aWRlci5QTEFURk9STSxcbiAgICB0eXBlOiBTdG9yYWdlVHlwZS5GSUxFX1NUT1JBR0UsXG4gICAgZGlzcGxheToge1xuICAgICAgZW46ICdDZXBoRlMgRmlsZSBTdG9yYWdlJyxcbiAgICAgIHpoOiAnQ2VwaEZTIOaWh+S7tuWtmOWCqCcsXG4gICAgfSxcbiAgICBhY2Nlc3NNb2RlczogW0FjY2Vzc01vZGUuUldPLCBBY2Nlc3NNb2RlLlJXWF0sXG4gICAgc25hcHNob3RBY2Nlc3NNb2RlczogW0FjY2Vzc01vZGUuUk9YLCBBY2Nlc3NNb2RlLlJXTywgQWNjZXNzTW9kZS5SV1hdLFxuICAgIGZlYXR1cmVzOiBbU3RvcmFnZWNsYXNzRmVhdHVyZS5TTkFQU0hPVCwgU3RvcmFnZWNsYXNzRmVhdHVyZS5FWFBBTlNJT05dLFxuICAgIHZvbHVtZU1vZGVzOiBbVm9sdW1lTW9kZS5GSUxFX1NZU1RFTV0sXG4gIH0sXG4gIFtTdG9yYWdlUHJvdmlzaW9uZXIuQ0VQSF9GU19SQkRdOiB7XG4gICAgcHJvdmlzaW9uZXI6IFN0b3JhZ2VQcm92aXNpb25lci5DRVBIX0ZTX1JCRCxcbiAgICBjbHVzdGVyR2F0ZTogU1RPUkFHRV9DRVBIX0ZFQVRVUkVfR0FURSxcbiAgICBwcm92aWRlcjogU3RvcmFnZVByb3ZpZGVyLlBMQVRGT1JNLFxuICAgIHR5cGU6IFN0b3JhZ2VUeXBlLkJMT0NLX1NUT1JBR0UsXG4gICAgZGlzcGxheToge1xuICAgICAgZW46ICdDZXBoUkJEIEJsb2NrIFN0b3JhZ2UnLFxuICAgICAgemg6ICdDZXBoUkJEIOWdl+WtmOWCqCcsXG4gICAgfSxcbiAgICBhY2Nlc3NNb2RlczogW0FjY2Vzc01vZGUuUldPXSxcbiAgICBzbmFwc2hvdEFjY2Vzc01vZGVzOiBbQWNjZXNzTW9kZS5SV09dLFxuICAgIGZlYXR1cmVzOiBbU3RvcmFnZWNsYXNzRmVhdHVyZS5TTkFQU0hPVCwgU3RvcmFnZWNsYXNzRmVhdHVyZS5FWFBBTlNJT05dLFxuICAgIHZvbHVtZU1vZGVzOiBbVm9sdW1lTW9kZS5GSUxFX1NZU1RFTSwgVm9sdW1lTW9kZS5CTE9DS19ERVZJQ0VdLFxuICB9LFxuICBbU3RvcmFnZVByb3Zpc2lvbmVyLkNFUEhfT0JKRUNUXToge1xuICAgIHByb3Zpc2lvbmVyOiBTdG9yYWdlUHJvdmlzaW9uZXIuQ0VQSF9PQkpFQ1QsXG4gICAgY2x1c3RlckdhdGU6IE9CSkVDVF9TVE9SQUdFX0ZFQVRVUkVfR0FURSxcbiAgICBwcm92aWRlcjogU3RvcmFnZVByb3ZpZGVyLlBMQVRGT1JNLFxuICAgIHR5cGU6IFN0b3JhZ2VUeXBlLk9CSkVDVF9TVE9SQUdFLFxuICAgIGRpc3BsYXk6IHtcbiAgICAgIGVuOiAnQ2VwaE9iamVjdCBEaXN0cmlidXRlZCBTdG9yYWdlJyxcbiAgICAgIHpoOiAnQ2VwaE9iamVjdCDliIbluIPlvI/lrZjlgqgnLFxuICAgIH0sXG4gICAgYWNjZXNzTW9kZXM6IFtdLFxuICAgIGZlYXR1cmVzOiBbU3RvcmFnZWNsYXNzRmVhdHVyZS5FWFBBTlNJT05dLFxuICAgIHZvbHVtZU1vZGVzOiBbXSxcbiAgICBkaXNhYmxlZDogdHJ1ZSwgLy8gVE9ETzog5a2Y5YKo5qG26ZyA5rGC5LiN5YWB6K645Yib5bu677yM5ZCO57ut5LiL57q/6K+l5a2Y5YKo57G7XG4gIH0sXG4gIFtTdG9yYWdlUHJvdmlzaW9uZXIuQ0VQSF9DT1NJXToge1xuICAgIHByb3Zpc2lvbmVyOiBTdG9yYWdlUHJvdmlzaW9uZXIuQ0VQSF9DT1NJLFxuICAgIGNsdXN0ZXJHYXRlOiAnY29zaScsXG4gICAgbW9kdWxlOiAnY29zaScsXG4gICAgcHJvdmlkZXI6IFN0b3JhZ2VQcm92aWRlci5QTEFURk9STSxcbiAgICB0eXBlOiBTdG9yYWdlVHlwZS5PQkpFQ1RfU1RPUkFHRSxcbiAgICBkaXNwbGF5OiB7XG4gICAgICBlbjogJ0NlcGggT2JqZWN0IFN0b3JhZ2UnLFxuICAgICAgemg6ICdDZXBoIOWvueixoeWtmOWCqCcsXG4gICAgfSxcbiAgICBhY2Nlc3NNb2RlczogW10sXG4gICAgZmVhdHVyZXM6IFtdLFxuICAgIHZvbHVtZU1vZGVzOiBbXSxcbiAgfSxcbiAgW1N0b3JhZ2VQcm92aXNpb25lci5NSU5JT106IHtcbiAgICBwcm92aXNpb25lcjogU3RvcmFnZVByb3Zpc2lvbmVyLk1JTklPLFxuICAgIGNsdXN0ZXJHYXRlOiAnY29zaScsXG4gICAgbW9kdWxlOiAnY29zaScsXG4gICAgcHJvdmlkZXI6IFN0b3JhZ2VQcm92aWRlci5QTEFURk9STSxcbiAgICB0eXBlOiBTdG9yYWdlVHlwZS5PQkpFQ1RfU1RPUkFHRSxcbiAgICBkaXNwbGF5OiB7XG4gICAgICBlbjogJ01pbklPIE9iamVjdCBTdG9yYWdlJyxcbiAgICAgIHpoOiAnTWluSU8g5a+56LGh5a2Y5YKoJyxcbiAgICB9LFxuICAgIGFjY2Vzc01vZGVzOiBbXSxcbiAgICBmZWF0dXJlczogW10sXG4gICAgdm9sdW1lTW9kZXM6IFtdLFxuICB9LFxuICBbU3RvcmFnZVByb3Zpc2lvbmVyLkNFUEhfRlNdOiB7XG4gICAgcHJvdmlzaW9uZXI6IFN0b3JhZ2VQcm92aXNpb25lci5DRVBIX0ZTLFxuICAgIHByb3ZpZGVyOiBTdG9yYWdlUHJvdmlkZXIuVEhJUkRfUEFSVFksXG4gICAgdHlwZTogU3RvcmFnZVR5cGUuRklMRV9TVE9SQUdFLFxuICAgIGRpc3BsYXk6IHtcbiAgICAgIGVuOiAnQ2VwaEZTJyxcbiAgICAgIHpoOiAnQ2VwaEZTJyxcbiAgICB9LFxuICAgIGFjY2Vzc01vZGVzOiBbQWNjZXNzTW9kZS5SV08sIEFjY2Vzc01vZGUuUldYLCBBY2Nlc3NNb2RlLlJPWF0sXG4gICAgZmVhdHVyZXM6IFtdLFxuICAgIHZvbHVtZU1vZGVzOiBbVm9sdW1lTW9kZS5GSUxFX1NZU1RFTV0sXG4gICAgZGlzYWJsZWQ6IHRydWUsXG4gIH0sXG4gIFtTdG9yYWdlUHJvdmlzaW9uZXIuVE9QT0xWTV06IHtcbiAgICBwcm92aXNpb25lcjogU3RvcmFnZVByb3Zpc2lvbmVyLlRPUE9MVk0sXG4gICAgY2x1c3RlckdhdGU6IFRPUE9MVk1fQ0xVU1RFUl9GRUFUVVJFX0dBVEUsXG4gICAgcHJvdmlkZXI6IFN0b3JhZ2VQcm92aWRlci5QTEFURk9STSxcbiAgICB0eXBlOiBTdG9yYWdlVHlwZS5CTE9DS19TVE9SQUdFLFxuICAgIGRpc3BsYXk6IHtcbiAgICAgIGVuOiAnVG9wb0xWTScsXG4gICAgICB6aDogJ1RvcG9MVk0nLFxuICAgIH0sXG4gICAgYWNjZXNzTW9kZXM6IFtBY2Nlc3NNb2RlLlJXT10sXG4gICAgc25hcHNob3RBY2Nlc3NNb2RlczogW0FjY2Vzc01vZGUuUldPXSxcbiAgICBmZWF0dXJlczogW1N0b3JhZ2VjbGFzc0ZlYXR1cmUuU05BUFNIT1QsIFN0b3JhZ2VjbGFzc0ZlYXR1cmUuRVhQQU5TSU9OXSxcbiAgICB2b2x1bWVNb2RlczogW1ZvbHVtZU1vZGUuRklMRV9TWVNURU0sIFZvbHVtZU1vZGUuQkxPQ0tfREVWSUNFXSxcbiAgfSxcbiAgW1N0b3JhZ2VQcm92aXNpb25lci5ORlNdOiB7XG4gICAgcHJvdmlzaW9uZXI6IFN0b3JhZ2VQcm92aXNpb25lci5ORlMsXG4gICAgcHJvdmlkZXI6IFN0b3JhZ2VQcm92aWRlci5USElSRF9QQVJUWSxcbiAgICB0eXBlOiBTdG9yYWdlVHlwZS5GSUxFX1NUT1JBR0UsXG4gICAgZGlzcGxheToge1xuICAgICAgZW46ICdORlMnLFxuICAgICAgemg6ICdORlMnLFxuICAgIH0sXG4gICAgYWNjZXNzTW9kZXM6IFtBY2Nlc3NNb2RlLlJXTywgQWNjZXNzTW9kZS5SV1gsIEFjY2Vzc01vZGUuUk9YXSxcbiAgICBmZWF0dXJlczogW10sXG4gICAgdm9sdW1lTW9kZXM6IFtWb2x1bWVNb2RlLkZJTEVfU1lTVEVNXSxcbiAgICBkaXNhYmxlZDogdHJ1ZSxcbiAgfSxcbiAgW1N0b3JhZ2VQcm92aXNpb25lci5IVUFXRUlfQ1NJXToge1xuICAgIHByb3Zpc2lvbmVyOiBTdG9yYWdlUHJvdmlzaW9uZXIuSFVBV0VJX0NTSSxcbiAgICBwcm92aWRlcjogU3RvcmFnZVByb3ZpZGVyLlRISVJEX1BBUlRZLFxuICAgIGNsdXN0ZXJHYXRlOiBIVUFXRUlfQ1NJX0ZFQVRVUkVfR0FURSxcbiAgICBkaXNwbGF5OiB7XG4gICAgICBlbjogJ09jZWFuU3RvciBQYWNpZmljJyxcbiAgICAgIHpoOiAnT2NlYW5TdG9yIFBhY2lmaWMnLFxuICAgIH0sXG4gICAgYWNjZXNzTW9kZXM6IFtBY2Nlc3NNb2RlLlJXTywgQWNjZXNzTW9kZS5SV1gsIEFjY2Vzc01vZGUuUk9YXSxcbiAgICBzbmFwc2hvdEFjY2Vzc01vZGVzOiBbQWNjZXNzTW9kZS5SV08sIEFjY2Vzc01vZGUuUldYLCBBY2Nlc3NNb2RlLlJPWF0sXG4gICAgZmVhdHVyZXM6IFtTdG9yYWdlY2xhc3NGZWF0dXJlLlNOQVBTSE9ULCBTdG9yYWdlY2xhc3NGZWF0dXJlLkVYUEFOU0lPTl0sXG4gICAgdm9sdW1lTW9kZXM6IFtWb2x1bWVNb2RlLkZJTEVfU1lTVEVNLCBWb2x1bWVNb2RlLkJMT0NLX0RFVklDRV0sXG4gICAgc3VwcG9ydFR5cGVzOiBbU3RvcmFnZVR5cGUuRklMRV9TVE9SQUdFLCBTdG9yYWdlVHlwZS5CTE9DS19TVE9SQUdFXSxcbiAgfSxcbiAgW1N0b3JhZ2VQcm92aXNpb25lci5ORlNfQ1NJXToge1xuICAgIHByb3Zpc2lvbmVyOiBTdG9yYWdlUHJvdmlzaW9uZXIuTkZTX0NTSSxcbiAgICBwcm92aWRlcjogU3RvcmFnZVByb3ZpZGVyLlRISVJEX1BBUlRZLFxuICAgIHR5cGU6IFN0b3JhZ2VUeXBlLkZJTEVfU1RPUkFHRSxcbiAgICBjbHVzdGVyR2F0ZTogTkZTX0NTSV9GRUFUVVJFX0dBVEUsXG4gICAgZGlzcGxheToge1xuICAgICAgZW46ICdORlMgQ1NJJyxcbiAgICAgIHpoOiAnTkZTIOWFseS6q+WtmOWCqCcsXG4gICAgfSxcbiAgICBhY2Nlc3NNb2RlczogW0FjY2Vzc01vZGUuUldPLCBBY2Nlc3NNb2RlLlJXWF0sXG4gICAgZmVhdHVyZXM6IFtdLFxuICAgIHZvbHVtZU1vZGVzOiBbVm9sdW1lTW9kZS5GSUxFX1NZU1RFTV0sXG4gIH0sXG4gIFtTdG9yYWdlUHJvdmlzaW9uZXIuQ1NUT1JfQ1NJXToge1xuICAgIHByb3Zpc2lvbmVyOiBTdG9yYWdlUHJvdmlzaW9uZXIuQ1NUT1JfQ1NJLFxuICAgIHByb3ZpZGVyOiBTdG9yYWdlUHJvdmlkZXIuVEhJUkRfUEFSVFksXG4gICAgdHlwZTogU3RvcmFnZVR5cGUuQkxPQ0tfU1RPUkFHRSxcbiAgICBhY2Nlc3NNb2RlczogW0FjY2Vzc01vZGUuUldPXSxcbiAgICBmZWF0dXJlczogW1N0b3JhZ2VjbGFzc0ZlYXR1cmUuU05BUFNIT1QsIFN0b3JhZ2VjbGFzc0ZlYXR1cmUuRVhQQU5TSU9OXSxcbiAgICB2b2x1bWVNb2RlczogW1ZvbHVtZU1vZGUuRklMRV9TWVNURU0sIFZvbHVtZU1vZGUuQkxPQ0tfREVWSUNFXSxcbiAgICBkaXNhYmxlZDogdHJ1ZSxcbiAgfSxcbn07XG5cbi8vIOWvueS6juesrOS4ieaWuSBwcm92aWRlciDnmoTmlK/mjIHnmoQgYWNjZXNzTW9kZXMg5ZKMIHZvbHVtZU1vZGVzIOS4jeWGjeWBmumZkOWItlxuZXhwb3J0IGNvbnN0IFNUT1JBR0VDTEFTU19VTktOT1dOOiBTdG9yYWdlT3B0aW9uID0ge1xuICBwcm92aXNpb25lcjogbnVsbCxcbiAgcHJvdmlkZXI6IFN0b3JhZ2VQcm92aWRlci5USElSRF9QQVJUWSxcbiAgdHlwZTogbnVsbCxcbiAgYWNjZXNzTW9kZXM6IFtBY2Nlc3NNb2RlLlJXTywgQWNjZXNzTW9kZS5SV1gsIEFjY2Vzc01vZGUuUk9YXSxcbiAgZmVhdHVyZXM6IFtdLFxuICB2b2x1bWVNb2RlczogW1ZvbHVtZU1vZGUuRklMRV9TWVNURU0sIFZvbHVtZU1vZGUuQkxPQ0tfREVWSUNFXSxcbn07XG5cbmV4cG9ydCBlbnVtIFZvbHVtZVNuYXBzaG90U3RhdHVzIHtcbiAgQ1JFQVRJTkcgPSAnY3JlYXRpbmcnLFxuICBBVkFJTEFCTEUgPSAnYXZhaWxhYmxlJyxcbiAgTUFMRlVOQ1RJT04gPSAnbWFsZnVuY3Rpb24nLFxuICBERUxFVElORyA9ICdkZWxldGluZycsXG59XG5cbmV4cG9ydCBjb25zdCBWb2x1bWVTbmFwc2hvdFN0YXR1c0NvbG9yTWFwcGVyID0ge1xuICBbVm9sdW1lU25hcHNob3RTdGF0dXMuQ1JFQVRJTkddOiBHZW5lcmljU3RhdHVzQ29sb3IuUGVuZGluZyxcbiAgW1ZvbHVtZVNuYXBzaG90U3RhdHVzLkFWQUlMQUJMRV06IEdlbmVyaWNTdGF0dXNDb2xvci5TdWNjZWVkZWQsXG4gIFtWb2x1bWVTbmFwc2hvdFN0YXR1cy5NQUxGVU5DVElPTl06IEdlbmVyaWNTdGF0dXNDb2xvci5GYWlsZWQsXG4gIFtWb2x1bWVTbmFwc2hvdFN0YXR1cy5ERUxFVElOR106IEdlbmVyaWNTdGF0dXNDb2xvci5XYXJuaW5nLFxufTtcblxuZXhwb3J0IGNvbnN0IFZvbHVtZVNuYXBzaG90U3RhdHVzSWNvbk1hcHBlciA9IHtcbiAgW1ZvbHVtZVNuYXBzaG90U3RhdHVzLkNSRUFUSU5HXTogR2VuZXJpY1N0YXR1c0ljb24uUGVuZGluZyxcbiAgW1ZvbHVtZVNuYXBzaG90U3RhdHVzLkFWQUlMQUJMRV06IEdlbmVyaWNTdGF0dXNJY29uLkNoZWNrLFxuICBbVm9sdW1lU25hcHNob3RTdGF0dXMuTUFMRlVOQ1RJT05dOiBHZW5lcmljU3RhdHVzSWNvbi5XYXJuaW5nLFxuICBbVm9sdW1lU25hcHNob3RTdGF0dXMuREVMRVRJTkddOiBHZW5lcmljU3RhdHVzSWNvbi5EZWxldGluZyxcbn07XG4iXX0=
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9zdG9yYWdlL3NyYy9saWIvdXRpbHMvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEVBQ1Ysa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixVQUFVLEdBQ1gsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixPQUFPLEVBRUwsa0JBQWtCLEVBQ2xCLFdBQVcsRUFDWCxtQkFBbUIsR0FDcEIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFcEQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7SUFDcEMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsd0JBQXdCO0lBQzFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLHVCQUF1QjtJQUN6QyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSx3QkFBd0I7SUFDMUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsdUJBQXVCO0NBQzNDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRztJQUNwQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRSxhQUFhO0lBQ3ZDLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUFFLGNBQWM7Q0FDMUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUM3Qyw2Q0FBNkMsQ0FBQztBQUVoRCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRztJQUN6QyxtQkFBbUI7SUFDbkIsbUJBQW1CO0NBQ3BCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRywyQkFBMkIsQ0FBQztBQUN0RSxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRywwQkFBMEIsQ0FBQztBQUN4RSxNQUFNLENBQUMs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Q0FBQyxPQUFPO0lBQzdELENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLEVBQUUsaUJBQWlCLENBQUMsUUFBUTtDQUM1RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWNjZXNzTW9kZSxcbiAgR2VuZXJpY1N0YXR1c0NvbG9yLFxuICBHZW5lcmljU3RhdHVzSWNvbixcbiAgVm9sdW1lTW9kZSxcbn0gZnJvbSAnQGFsYXVkYS1mZS9jb21tb24nO1xuXG5pbXBvcnQge1xuICBTdG9yYWdlT3B0aW9uLFxuICBTdG9yYWdlUHJvdmlzaW9uZXIsXG4gIFN0b3JhZ2VUeXBlLFxuICBTdG9yYWdlY2xhc3NGZWF0dXJlLFxufSBmcm9tICcuLi90eXBlcy9jb21tb25zJztcbmltcG9ydCB7IFN0b3JhZ2VQcm92aWRlciB9IGZyb20gJy4uL3R5cGVzL2ludGVybmFsJztcblxuZXhwb3J0IGNvbnN0IEFjY2Vzc01vZGVUcmFuc2xhdGVLZXkgPSB7XG4gIFtBY2Nlc3NNb2RlLlJXT106ICdzaW5nbGVfbm9kZV9yZWFkX3dyaXRlJyxcbiAgW0FjY2Vzc01vZGUuUk9YXTogJ211bHRpX25vZGVzX3JlYWRfb25seScsXG4gIFtBY2Nlc3NNb2RlLlJXWF06ICdtdWx0aV9ub2Rlc19yZWFkX3dyaXRlJyxcbiAgW0FjY2Vzc01vZGUuUldPUF06ICdzaW5nbGVfcG9kX3JlYWRfd3JpdGUnLFxufTtcblxuZXhwb3J0IGNvbnN0IFZvbHVtZU1vZGVUcmFuc2xhdGVLZXkgPSB7XG4gIFtWb2x1bWVNb2RlLkZJTEVfU1lTVEVNXTogJ2ZpbGVfc3lzdGVtJyxcbiAgW1ZvbHVtZU1vZGUuQkxPQ0tfREVWSUNFXTogJ2Jsb2NrX2RldmljZScsXG59O1xuXG5leHBvcnQgY29uc3QgSVNfREVGQVVMVF9TVE9SQUdFQ0xBU1NfQU5OT1RBVElPTiA9XG4gICdzdG9yYWdlY2xhc3Mua3ViZXJuZXRlcy5pby9pcy1kZWZhdWx0LWNsYXNzJztcblxuZXhwb3J0IGNvbnN0IFJFU0VSVkVEX1NUT1JBR0VDTEFTU19OQU1FUyA9IFtcbiAgJ2FsYXVkYS1zeXN0ZW0tZ2ZzJyxcbiAgJ2FsYXVkYS1zeXN0ZW0tZWJzJyxcbl07XG5cbmV4cG9ydCBjb25zdCBDU0lfVE9QX1NOQVBTSE9UQ0xBU1NfTkFNRSA9ICdjc2ktdG9wb2x2bS1zbmFwc2hvdGNsYXNzJztcbmV4cG9ydCBjb25zdCBDU0lfQ0VQSEZTX1NOQVBTSE9UQ0xBU1NfTkFNRSA9ICdjc2ktY2VwaGZzLXNuYXBzaG90Y2xhc3MnO1xuZXhwb3J0IGNvbnN0IENTSV9SQkRfU05BUFNIT1RDTEFTU19OQU1FID0gJ2NzaS1yYmQtc25hcHNob3RjbGFzcyc7XG5leHBvcnQgY29uc3QgT0JKRUNUX1NUT1JBR0VfRkVBVFVSRV9HQVRFID0gJ29iamVjdC1zdG9yYWdlJztcblxuY29uc3QgVE9QT0xWTV9DTFVTVEVSX0ZFQVRVUkVfR0FURSA9ICdhY3AtdG9wb2x2bSc7XG5jb25zdCBIVUFXRUlfQ1NJX0ZFQVRVUkVfR0FURSA9ICdodWF3ZWktY3NpJztcbmNvbnN0IE5GU19DU0lfRkVBVFVSRV9HQVRFID0gJ25mcy1jc2knO1xuY29uc3QgU1RPUkFHRV9DRVBIX0ZFQVRVUkVfR0FURSA9ICdzdG9yYWdlLWNlcGgnO1xuXG5leHBvcnQgY29uc3QgU1RPUkFHRV9PUFRJT05fTUFQOiBSZWNvcmQ8U3RvcmFnZVByb3Zpc2lvbmVyLCBTdG9yYWdlT3B0aW9uPiA9IHtcbiAgW1N0b3JhZ2VQcm92aXNpb25lci5DRVBIX0ZTX0lOVEVSTkFMXToge1xuICAgIHByb3Zpc2lvbmVyOiBTdG9yYWdlUHJvdmlzaW9uZXIuQ0VQSF9GU19JTlRFUk5BTCxcbiAgICBjbHVzdGVyR2F0ZTogU1RPUkFHRV9DRVBIX0ZFQVRVUkVfR0FURSxcbiAgICBwcm92aWRlcjogU3RvcmFnZVByb3ZpZGVyLlBMQVRGT1JNLFxuICAgIHR5cGU6IFN0b3JhZ2VUeXBlLkZJTEVfU1RPUkFHRSxcbiAgICBkaXNwbGF5OiB7XG4gICAgICBlbjogJ0NlcGhGUyBGaWxlIFN0b3JhZ2UnLFxuICAgICAgemg6ICdDZXBoRlMg5paH5Lu25a2Y5YKoJyxcbiAgICB9LFxuICAgIGFjY2Vzc01vZGVzOiBbQWNjZXNzTW9kZS5SV08sIEFjY2Vzc01vZGUuUldYXSxcbiAgICBzbmFwc2hvdEFjY2Vzc01vZGVzOiBbQWNjZXNzTW9kZS5ST1gsIEFjY2Vzc01vZGUuUldPLCBBY2Nlc3NNb2RlLlJXWF0sXG4gICAgZmVhdHVyZXM6IFtTdG9yYWdlY2xhc3NGZWF0dXJlLlNOQVBTSE9ULCBTdG9yYWdlY2xhc3NGZWF0dXJlLkVYUEFOU0lPTl0sXG4gICAgdm9sdW1lTW9kZXM6IFtWb2x1bWVNb2RlLkZJTEVfU1lTVEVNXSxcbiAgfSxcbiAgW1N0b3JhZ2VQcm92aXNpb25lci5DRVBIX0ZTX1JCRF06IHtcbiAgICBwcm92aXNpb25lcjogU3RvcmFnZVByb3Zpc2lvbmVyLkNFUEhfRlNfUkJELFxuICAgIGNsdXN0ZXJHYXRlOiBTVE9SQUdFX0NFUEhfRkVBVFVSRV9HQVRFLFxuICAgIHByb3ZpZGVyOiBTdG9yYWdlUHJvdmlkZXIuUExBVEZPUk0sXG4gICAgdHlwZTogU3RvcmFnZVR5cGUuQkxPQ0tfU1RPUkFHRSxcbiAgICBkaXNwbGF5OiB7XG4gICAgICBlbjogJ0NlcGhSQkQgQmxvY2sgU3RvcmFnZScsXG4gICAgICB6aDogJ0NlcGhSQkQg5Z2X5a2Y5YKoJyxcbiAgICB9LFxuICAgIGFjY2Vzc01vZGVzOiBbQWNjZXNzTW9kZS5SV09dLFxuICAgIHNuYXBzaG90QWNjZXNzTW9kZXM6IFtBY2Nlc3NNb2RlLlJXTywgQWNjZXNzTW9kZS5SV1hdLFxuICAgIGZlYXR1cmVzOiBbU3RvcmFnZWNsYXNzRmVhdHVyZS5TTkFQU0hPVCwgU3RvcmFnZWNsYXNzRmVhdHVyZS5FWFBBTlNJT05dLFxuICAgIHZvbHVtZU1vZGVzOiBbVm9sdW1lTW9kZS5GSUxFX1NZU1RFTSwgVm9sdW1lTW9kZS5CTE9DS19ERVZJQ0VdLFxuICB9LFxuICBbU3RvcmFnZVByb3Zpc2lvbmVyLkNFUEhfT0JKRUNUXToge1xuICAgIHByb3Zpc2lvbmVyOiBTdG9yYWdlUHJvdmlzaW9uZXIuQ0VQSF9PQkpFQ1QsXG4gICAgY2x1c3RlckdhdGU6IE9CSkVDVF9TVE9SQUdFX0ZFQVRVUkVfR0FURSxcbiAgICBwcm92aWRlcjogU3RvcmFnZVByb3ZpZGVyLlBMQVRGT1JNLFxuICAgIHR5cGU6IFN0b3JhZ2VUeXBlLk9CSkVDVF9TVE9SQUdFLFxuICAgIGRpc3BsYXk6IHtcbiAgICAgIGVuOiAnQ2VwaE9iamVjdCBEaXN0cmlidXRlZCBTdG9yYWdlJyxcbiAgICAgIHpoOiAnQ2VwaE9iamVjdCDliIbluIPlvI/lrZjlgqgnLFxuICAgIH0sXG4gICAgYWNjZXNzTW9kZXM6IFtdLFxuICAgIGZlYXR1cmVzOiBbU3RvcmFnZWNsYXNzRmVhdHVyZS5FWFBBTlNJT05dLFxuICAgIHZvbHVtZU1vZGVzOiBbXSxcbiAgICBkaXNhYmxlZDogdHJ1ZSwgLy8gVE9ETzog5a2Y5YKo5qG26ZyA5rGC5LiN5YWB6K645Yib5bu677yM5ZCO57ut5LiL57q/6K+l5a2Y5YKo57G7XG4gIH0sXG4gIFtTdG9yYWdlUHJvdmlzaW9uZXIuQ0VQSF9DT1NJXToge1xuICAgIHByb3Zpc2lvbmVyOiBTdG9yYWdlUHJvdmlzaW9uZXIuQ0VQSF9DT1NJLFxuICAgIGNsdXN0ZXJHYXRlOiAnY29zaScsXG4gICAgbW9kdWxlOiAnY29zaScsXG4gICAgcHJvdmlkZXI6IFN0b3JhZ2VQcm92aWRlci5QTEFURk9STSxcbiAgICB0eXBlOiBTdG9yYWdlVHlwZS5PQkpFQ1RfU1RPUkFHRSxcbiAgICBkaXNwbGF5OiB7XG4gICAgICBlbjogJ0NlcGggT2JqZWN0IFN0b3JhZ2UnLFxuICAgICAgemg6ICdDZXBoIOWvueixoeWtmOWCqCcsXG4gICAgfSxcbiAgICBhY2Nlc3NNb2RlczogW10sXG4gICAgZmVhdHVyZXM6IFtdLFxuICAgIHZvbHVtZU1vZGVzOiBbXSxcbiAgfSxcbiAgW1N0b3JhZ2VQcm92aXNpb25lci5NSU5JT106IHtcbiAgICBwcm92aXNpb25lcjogU3RvcmFnZVByb3Zpc2lvbmVyLk1JTklPLFxuICAgIGNsdXN0ZXJHYXRlOiAnY29zaScsXG4gICAgbW9kdWxlOiAnY29zaScsXG4gICAgcHJvdmlkZXI6IFN0b3JhZ2VQcm92aWRlci5QTEFURk9STSxcbiAgICB0eXBlOiBTdG9yYWdlVHlwZS5PQkpFQ1RfU1RPUkFHRSxcbiAgICBkaXNwbGF5OiB7XG4gICAgICBlbjogJ01pbklPIE9iamVjdCBTdG9yYWdlJyxcbiAgICAgIHpoOiAnTWluSU8g5a+56LGh5a2Y5YKoJyxcbiAgICB9LFxuICAgIGFjY2Vzc01vZGVzOiBbXSxcbiAgICBmZWF0dXJlczogW10sXG4gICAgdm9sdW1lTW9kZXM6IFtdLFxuICB9LFxuICBbU3RvcmFnZVByb3Zpc2lvbmVyLkNFUEhfRlNdOiB7XG4gICAgcHJvdmlzaW9uZXI6IFN0b3JhZ2VQcm92aXNpb25lci5DRVBIX0ZTLFxuICAgIHByb3ZpZGVyOiBTdG9yYWdlUHJvdmlkZXIuVEhJUkRfUEFSVFksXG4gICAgdHlwZTogU3RvcmFnZVR5cGUuRklMRV9TVE9SQUdFLFxuICAgIGRpc3BsYXk6IHtcbiAgICAgIGVuOiAnQ2VwaEZTJyxcbiAgICAgIHpoOiAnQ2VwaEZTJyxcbiAgICB9LFxuICAgIGFjY2Vzc01vZGVzOiBbQWNjZXNzTW9kZS5SV08sIEFjY2Vzc01vZGUuUldYLCBBY2Nlc3NNb2RlLlJPWF0sXG4gICAgZmVhdHVyZXM6IFtdLFxuICAgIHZvbHVtZU1vZGVzOiBbVm9sdW1lTW9kZS5GSUxFX1NZU1RFTV0sXG4gICAgZGlzYWJsZWQ6IHRydWUsXG4gIH0sXG4gIFtTdG9yYWdlUHJvdmlzaW9uZXIuVE9QT0xWTV06IHtcbiAgICBwcm92aXNpb25lcjogU3RvcmFnZVByb3Zpc2lvbmVyLlRPUE9MVk0sXG4gICAgY2x1c3RlckdhdGU6IFRPUE9MVk1fQ0xVU1RFUl9GRUFUVVJFX0dBVEUsXG4gICAgcHJvdmlkZXI6IFN0b3JhZ2VQcm92aWRlci5QTEFURk9STSxcbiAgICB0eXBlOiBTdG9yYWdlVHlwZS5CTE9DS19TVE9SQUdFLFxuICAgIGRpc3BsYXk6IHtcbiAgICAgIGVuOiAnVG9wb0xWTScsXG4gICAgICB6aDogJ1RvcG9MVk0nLFxuICAgIH0sXG4gICAgYWNjZXNzTW9kZXM6IFtBY2Nlc3NNb2RlLlJXT10sXG4gICAgc25hcHNob3RBY2Nlc3NNb2RlczogW0FjY2Vzc01vZGUuUldPXSxcbiAgICBmZWF0dXJlczogW1N0b3JhZ2VjbGFzc0ZlYXR1cmUuU05BUFNIT1QsIFN0b3JhZ2VjbGFzc0ZlYXR1cmUuRVhQQU5TSU9OXSxcbiAgICB2b2x1bWVNb2RlczogW1ZvbHVtZU1vZGUuRklMRV9TWVNURU0sIFZvbHVtZU1vZGUuQkxPQ0tfREVWSUNFXSxcbiAgfSxcbiAgW1N0b3JhZ2VQcm92aXNpb25lci5ORlNdOiB7XG4gICAgcHJvdmlzaW9uZXI6IFN0b3JhZ2VQcm92aXNpb25lci5ORlMsXG4gICAgcHJvdmlkZXI6IFN0b3JhZ2VQcm92aWRlci5USElSRF9QQVJUWSxcbiAgICB0eXBlOiBTdG9yYWdlVHlwZS5GSUxFX1NUT1JBR0UsXG4gICAgZGlzcGxheToge1xuICAgICAgZW46ICdORlMnLFxuICAgICAgemg6ICdORlMnLFxuICAgIH0sXG4gICAgYWNjZXNzTW9kZXM6IFtBY2Nlc3NNb2RlLlJXTywgQWNjZXNzTW9kZS5SV1gsIEFjY2Vzc01vZGUuUk9YXSxcbiAgICBmZWF0dXJlczogW10sXG4gICAgdm9sdW1lTW9kZXM6IFtWb2x1bWVNb2RlLkZJTEVfU1lTVEVNXSxcbiAgICBkaXNhYmxlZDogdHJ1ZSxcbiAgfSxcbiAgW1N0b3JhZ2VQcm92aXNpb25lci5IVUFXRUlfQ1NJXToge1xuICAgIHByb3Zpc2lvbmVyOiBTdG9yYWdlUHJvdmlzaW9uZXIuSFVBV0VJX0NTSSxcbiAgICBwcm92aWRlcjogU3RvcmFnZVByb3ZpZGVyLlRISVJEX1BBUlRZLFxuICAgIGNsdXN0ZXJHYXRlOiBIVUFXRUlfQ1NJX0ZFQVRVUkVfR0FURSxcbiAgICBkaXNwbGF5OiB7XG4gICAgICBlbjogJ09jZWFuU3RvciBQYWNpZmljJyxcbiAgICAgIHpoOiAnT2NlYW5TdG9yIFBhY2lmaWMnLFxuICAgIH0sXG4gICAgYWNjZXNzTW9kZXM6IFtBY2Nlc3NNb2RlLlJXTywgQWNjZXNzTW9kZS5SV1gsIEFjY2Vzc01vZGUuUk9YXSxcbiAgICBzbmFwc2hvdEFjY2Vzc01vZGVzOiBbQWNjZXNzTW9kZS5SV08sIEFjY2Vzc01vZGUuUldYLCBBY2Nlc3NNb2RlLlJPWF0sXG4gICAgZmVhdHVyZXM6IFtTdG9yYWdlY2xhc3NGZWF0dXJlLlNOQVBTSE9ULCBTdG9yYWdlY2xhc3NGZWF0dXJlLkVYUEFOU0lPTl0sXG4gICAgdm9sdW1lTW9kZXM6IFtWb2x1bWVNb2RlLkZJTEVfU1lTVEVNLCBWb2x1bWVNb2RlLkJMT0NLX0RFVklDRV0sXG4gICAgc3VwcG9ydFR5cGVzOiBbU3RvcmFnZVR5cGUuRklMRV9TVE9SQUdFLCBTdG9yYWdlVHlwZS5CTE9DS19TVE9SQUdFXSxcbiAgfSxcbiAgW1N0b3JhZ2VQcm92aXNpb25lci5ORlNfQ1NJXToge1xuICAgIHByb3Zpc2lvbmVyOiBTdG9yYWdlUHJvdmlzaW9uZXIuTkZTX0NTSSxcbiAgICBwcm92aWRlcjogU3RvcmFnZVByb3ZpZGVyLlRISVJEX1BBUlRZLFxuICAgIHR5cGU6IFN0b3JhZ2VUeXBlLkZJTEVfU1RPUkFHRSxcbiAgICBjbHVzdGVyR2F0ZTogTkZTX0NTSV9GRUFUVVJFX0dBVEUsXG4gICAgZGlzcGxheToge1xuICAgICAgZW46ICdORlMgQ1NJJyxcbiAgICAgIHpoOiAnTkZTIOWFseS6q+WtmOWCqCcsXG4gICAgfSxcbiAgICBhY2Nlc3NNb2RlczogW0FjY2Vzc01vZGUuUldPLCBBY2Nlc3NNb2RlLlJXWF0sXG4gICAgZmVhdHVyZXM6IFtdLFxuICAgIHZvbHVtZU1vZGVzOiBbVm9sdW1lTW9kZS5GSUxFX1NZU1RFTV0sXG4gIH0sXG4gIFtTdG9yYWdlUHJvdmlzaW9uZXIuQ1NUT1JfQ1NJXToge1xuICAgIHByb3Zpc2lvbmVyOiBTdG9yYWdlUHJvdmlzaW9uZXIuQ1NUT1JfQ1NJLFxuICAgIHByb3ZpZGVyOiBTdG9yYWdlUHJvdmlkZXIuVEhJUkRfUEFSVFksXG4gICAgdHlwZTogU3RvcmFnZVR5cGUuQkxPQ0tfU1RPUkFHRSxcbiAgICBhY2Nlc3NNb2RlczogW0FjY2Vzc01vZGUuUldPXSxcbiAgICBmZWF0dXJlczogW1N0b3JhZ2VjbGFzc0ZlYXR1cmUuU05BUFNIT1QsIFN0b3JhZ2VjbGFzc0ZlYXR1cmUuRVhQQU5TSU9OXSxcbiAgICB2b2x1bWVNb2RlczogW1ZvbHVtZU1vZGUuRklMRV9TWVNURU0sIFZvbHVtZU1vZGUuQkxPQ0tfREVWSUNFXSxcbiAgICBkaXNhYmxlZDogdHJ1ZSxcbiAgfSxcbn07XG5cbi8vIOWvueS6juesrOS4ieaWuSBwcm92aWRlciDnmoTmlK/mjIHnmoQgYWNjZXNzTW9kZXMg5ZKMIHZvbHVtZU1vZGVzIOS4jeWGjeWBmumZkOWItlxuZXhwb3J0IGNvbnN0IFNUT1JBR0VDTEFTU19VTktOT1dOOiBTdG9yYWdlT3B0aW9uID0ge1xuICBwcm92aXNpb25lcjogbnVsbCxcbiAgcHJvdmlkZXI6IFN0b3JhZ2VQcm92aWRlci5USElSRF9QQVJUWSxcbiAgdHlwZTogbnVsbCxcbiAgYWNjZXNzTW9kZXM6IFtBY2Nlc3NNb2RlLlJXTywgQWNjZXNzTW9kZS5SV1gsIEFjY2Vzc01vZGUuUk9YXSxcbiAgZmVhdHVyZXM6IFtdLFxuICB2b2x1bWVNb2RlczogW1ZvbHVtZU1vZGUuRklMRV9TWVNURU0sIFZvbHVtZU1vZGUuQkxPQ0tfREVWSUNFXSxcbn07XG5cbmV4cG9ydCBlbnVtIFZvbHVtZVNuYXBzaG90U3RhdHVzIHtcbiAgQ1JFQVRJTkcgPSAnY3JlYXRpbmcnLFxuICBBVkFJTEFCTEUgPSAnYXZhaWxhYmxlJyxcbiAgTUFMRlVOQ1RJT04gPSAnbWFsZnVuY3Rpb24nLFxuICBERUxFVElORyA9ICdkZWxldGluZycsXG59XG5cbmV4cG9ydCBjb25zdCBWb2x1bWVTbmFwc2hvdFN0YXR1c0NvbG9yTWFwcGVyID0ge1xuICBbVm9sdW1lU25hcHNob3RTdGF0dXMuQ1JFQVRJTkddOiBHZW5lcmljU3RhdHVzQ29sb3IuUGVuZGluZyxcbiAgW1ZvbHVtZVNuYXBzaG90U3RhdHVzLkFWQUlMQUJMRV06IEdlbmVyaWNTdGF0dXNDb2xvci5TdWNjZWVkZWQsXG4gIFtWb2x1bWVTbmFwc2hvdFN0YXR1cy5NQUxGVU5DVElPTl06IEdlbmVyaWNTdGF0dXNDb2xvci5GYWlsZWQsXG4gIFtWb2x1bWVTbmFwc2hvdFN0YXR1cy5ERUxFVElOR106IEdlbmVyaWNTdGF0dXNDb2xvci5XYXJuaW5nLFxufTtcblxuZXhwb3J0IGNvbnN0IFZvbHVtZVNuYXBzaG90U3RhdHVzSWNvbk1hcHBlciA9IHtcbiAgW1ZvbHVtZVNuYXBzaG90U3RhdHVzLkNSRUFUSU5HXTogR2VuZXJpY1N0YXR1c0ljb24uUGVuZGluZyxcbiAgW1ZvbHVtZVNuYXBzaG90U3RhdHVzLkFWQUlMQUJMRV06IEdlbmVyaWNTdGF0dXNJY29uLkNoZWNrLFxuICBbVm9sdW1lU25hcHNob3RTdGF0dXMuTUFMRlVOQ1RJT05dOiBHZW5lcmljU3RhdHVzSWNvbi5XYXJuaW5nLFxuICBbVm9sdW1lU25hcHNob3RTdGF0dXMuREVMRVRJTkddOiBHZW5lcmljU3RhdHVzSWNvbi5EZWxldGluZyxcbn07XG4iXX0=
@@ -51,7 +51,8 @@ export function isStorageClassSupportSnapshot(sc, vscList) {
51
51
  }
52
52
  }
53
53
  }
54
- export function buildPvcResource({ namespace, snapshot, volumeMode, }, pvc) {
54
+ export function buildPvcResource({ namespace, snapshot, volumeMode, }, pvcResource, // 创建快照类 Pvc 时传入
55
+ snapshotResource) {
55
56
  return {
56
57
  apiVersion: 'v1',
57
58
  kind: 'PersistentVolumeClaim',
@@ -62,15 +63,16 @@ export function buildPvcResource({ namespace, snapshot, volumeMode, }, pvc) {
62
63
  labels: {},
63
64
  },
64
65
  spec: {
65
- storageClassName: pvc?.spec?.storageClassName ?? null,
66
- accessModes: pvc?.spec?.accessModes ?? ['ReadWriteOnce'],
67
- volumeMode: pvc?.spec?.volumeMode || (volumeMode ?? 'Filesystem'),
66
+ storageClassName: pvcResource?.spec?.storageClassName ?? null,
67
+ accessModes: pvcResource?.spec?.accessModes ?? ['ReadWriteOnce'],
68
+ volumeMode: pvcResource?.spec?.volumeMode || (volumeMode ?? 'Filesystem'),
68
69
  resources: {
69
70
  requests: {
70
- storage: pvc?.spec?.resources.requests?.storage ?? null,
71
+ storage: pvcResource?.spec?.resources?.requests?.storage ??
72
+ (snapshotResource?.status?.restoreSize || null),
71
73
  },
72
74
  },
73
- ...(pvc
75
+ ...(pvcResource || snapshotResource
74
76
  ? {
75
77
  dataSource: {
76
78
  name: snapshot,
@@ -126,4 +128,4 @@ export function getPvStatus(pv) {
126
128
  }
127
129
  }
128
130
  }
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvc3RvcmFnZS9zcmMvbGliL3V0aWxzL3V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUtMLElBQUksRUFDSix5QkFBeUIsR0FFMUIsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixPQUFPLEVBQ0wsYUFBYSxFQUNiLFlBQVksRUFFWixrQkFBa0IsRUFDbEIsaUJBQWlCLEdBQ2xCLE1BQU0sa0JBQWtCLENBQUM7QUFTMUIsT0FBTyxFQUNMLGtDQUFrQyxFQUNsQyxvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLG9CQUFvQixHQUNyQixNQUFNLGFBQWEsQ0FBQztBQUVyQixNQUFNLFVBQVUsY0FBYyxDQUFDLEVBQXNDO0lBQ25FLE1BQU0sV0FBVyxHQUNmLEVBQUU7UUFDRixDQUFDLGFBQWEsSUFBSSxFQUFFO1lBQ2xCLENBQUMsQ0FBQyxFQUFFLENBQUMsV0FBVztZQUNoQixDQUFDLENBQUMsWUFBWSxJQUFJLEVBQUU7Z0JBQ2xCLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVTtnQkFDZixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFZCxtRUFBbUU7SUFDbkUsSUFBSSxXQUFXLEtBQU0seUJBQWdELEVBQUUsQ0FBQztRQUN0RSxPQUFRLEVBQW1CLEVBQUUsVUFBVSxDQUNyQyxvQ0FBb0MsQ0FDZixDQUFDO0lBQzFCLENBQUM7SUFDRCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxFQUFzQztJQUV0QyxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFdkMsT0FBTyxDQUNMLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxFQUFFLE9BQU8sSUFBSTtRQUMxQyxFQUFFLEVBQUUsV0FBVztRQUNmLEVBQUUsRUFBRSxXQUFXO0tBQ2hCLENBQ0YsQ0FBQztBQUNK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QWEsQ0FBQyxLQUFLLENBQUM7UUFDN0IsQ0FBQztRQUNELEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNaLE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLEVBQW9CO0lBQzlDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztRQUN0QyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDakIsT0FBTyxZQUFZLENBQUMsU0FBUyxDQUFDO1FBQ2hDLENBQUM7UUFDRCxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDYixPQUFPLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDNUIsQ0FBQztRQUNELEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQztZQUNoQixPQUFPLFlBQVksQ0FBQyxlQUFlLENBQUM7UUFDdEMsQ0FBQztRQUNELEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztZQUNkLE9BQU8sWUFBWSxDQUFDLGNBQWMsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBY2Nlc3NNb2RlLFxuICBQZXJzaXN0ZW50Vm9sdW1lQ2xhaW0sXG4gIFBlcnNpc3RlbnRWb2x1bWVDbGFpbVN0YXR1cyxcbiAgVHJhbnNsYXRpb24sXG4gIFRSVUUsXG4gIFZPTFVNRV9TTkFQU0hPVF9BUElfR1JPVVAsXG4gIFZvbHVtZU1vZGUsXG59IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcblxuaW1wb3J0IHtcbiAgUHZjU3RhdHVzRW51bSxcbiAgUHZTdGF0dXNFbnVtLFxuICBTdG9yYWdlT3B0aW9uLFxuICBTdG9yYWdlUHJvdmlzaW9uZXIsXG4gIFZvbHVtZUJpbmRpbmdNb2RlLFxufSBmcm9tICcuLi90eXBlcy9jb21tb25zJztcbmltcG9ydCB7XG4gIENvbW1vblN0b3JhZ2VDbGFzcyxcbiAgUGVyc2lzdGVudFZvbHVtZSxcbiAgU3RvcmFnZUNsYXNzLFxuICBWb2x1bWVTbmFwc2hvdCxcbiAgVm9sdW1lU25hcHNob3RDbGFzcyxcbn0gZnJvbSAnLi4vdHlwZXMvazhzJztcblxuaW1wb3J0IHtcbiAgSVNfREVGQVVMVF9TVE9SQUdFQ0xBU1NfQU5OT1RBVElPTixcbiAgU1RPUkFHRUNMQVNTX1VOS05PV04sXG4gIFNUT1JBR0VfT1BUSU9OX01BUCxcbiAgVm9sdW1lU25hcHNob3RTdGF0dXMsXG59IGZyb20gJy4vY29uc3RhbnRzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFByb3Zpc2lvbmVyKHNjOiBDb21tb25TdG9yYWdlQ2xhc3MgfCBTdG9yYWdlT3B0aW9uKSB7XG4gIGNvbnN0IHByb3Zpc2lvbmVyID1cbiAgICBzYyAmJlxuICAgICgncHJvdmlzaW9uZXInIGluIHNjXG4gICAgICA/IHNjLnByb3Zpc2lvbmVyXG4gICAgICA6ICdkcml2ZXJOYW1lJyBpbiBzY1xuICAgICAgICA/IHNjLmRyaXZlck5hbWVcbiAgICAgICAgOiBudWxsKTtcblxuICAvLyBDQ0Ug6ZuG576k5LiK77yM5LiN5ZCM5a2Y5YKo5L2/55So55u45ZCM55qEIHByb3Zpc2lvbmVyKGV2ZXJlc3QtY3NpLXByb3Zpc2lvbmVyKSDml7bpnIDopoHov5vooYzpop3lpJblpITnkIZcbiAgaWYgKHByb3Zpc2lvbmVyID09PSAoJ2V2ZXJlc3QtY3NpLXByb3Zpc2lvbmVyJyBhcyBTdG9yYWdlUHJvdmlzaW9uZXIpKSB7XG4gICAgcmV0dXJuIChzYyBhcyBTdG9yYWdlQ2xhc3MpPy5wYXJhbWV0ZXJzW1xuICAgICAgJ2NzaS5zdG9yYWdlLms4cy5pby9jc2ktZHJpdmVyLW5hbWUnXG4gICAgXSBhcyBTdG9yYWdlUHJvdmlzaW9uZXI7XG4gIH1cbiAgcmV0dXJuIHByb3Zpc2lvbmVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJvdmlzaW9uZXJEaXNwbGF5KFxuICBzYzogQ29tbW9uU3RvcmFnZUNsYXNzIHwgU3RvcmFnZU9wdGlvbixcbik6IFRyYW5zbGF0aW9uIHtcbiAgY29uc3QgcHJvdmlzaW9uZXIgPSBnZXRQcm92aXNpb25lcihzYyk7XG5cbiAgcmV0dXJuIChcbiAgICBTVE9SQUdFX09QVElPTl9NQVBbcHJvdmlzaW9uZXJdPy5kaXNwbGF5IHx8IHtcbiAgICAgIGVuOiBwcm92aXNpb25lcixcbiAgICAgIHpoOiBwcm92aXNpb25lcixcbiAgICB9XG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdG9yYWdlY2xhc3NWb2x1bWVNb2Rlcyhwcm92aXNpb25lcjogU3RvcmFnZVByb3Zpc2lvbmVyKSB7XG4gIHJldHVybiBwcm92aXNpb25lclxuICAgID8gKFNUT1JBR0VfT1BUSU9OX01BUFtwcm92aXNpb25lcl0gfHwgU1RPUkFHRUNMQVNTX1VOS05PV04pLnZvbHVtZU1vZGVzXG4gICAgOiAoWydGaWxlc3lzdGVtJywgJ0Jsb2NrJ10gYXMgVm9sdW1lTW9kZVtdKTsgLy8g6ZKI5a+55pyq6K+G5Yir55qEIHNjIOWFqOmDqOWNt+aooeW8j+WPr+eUqFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RvcmFnZWNsYXNzQWNjZXNzTW9kZXMoXG4gIHByb3Zpc2lvbmVyOiBTdG9yYWdlUHJvdmlzaW9uZXIsXG4gIGlzRnJvbVNuYXBzaG90ID0gZmFsc2UsXG4pIHtcbiAgcmV0dXJuIHByb3Zpc2lvbmVyXG4gICAgPyAoU1RPUkFHRV9PUFRJT05fTUFQW3Byb3Zpc2lvbmVyXSB8fCBTVE9SQUdFQ0xBU1NfVU5LTk9XTilbXG4gICAgICAgIGlzRnJvbVNuYXBzaG90ID8gJ3NuYXBzaG90QWNjZXNzTW9kZXMnIDogJ2FjY2Vzc01vZGVzJ1xuICAgICAgXVxuICAgIDogKFsnUmVhZE9ubHlNYW55JywgJ1JlYWRXcml0ZU1hbnknLCAnUmVhZFdyaXRlT25jZSddIGFzIEFjY2Vzc01vZGVbXSk7IC8vIOmSiOWvueacquivhuWIq+eahCBzYyDlhajpg6jorr/pl67mlrnlvI/lj6/nlKhcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGVmYXVsdFN0b3JhZ2VjbGFzcyhkYXRhOiBDb21tb25TdG9yYWdlQ2xhc3MpIHtcbiAgcmV0dXJuIChcbiAgICBkYXRhLm1ldGFkYXRhLmFubm90YXRpb25zPy5bSVNfREVGQVVMVF9TVE9SQUdFQ0xBU1NfQU5OT1RBVElPTl0gPT09IFRSVUVcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU3RvcmFnZUNsYXNzU3VwcG9ydFNuYXBzaG90KFxuICBzYzogU3RvcmFnZUNsYXNzLFxuICB2c2NMaXN0OiBWb2x1bWVTbmFwc2hvdENsYXNzW10sXG4pIHtcbiAgY29uc3QgbGlzdCA9IHZzY0xpc3QuZmlsdGVyKFxuICAgIGl0ZW0gPT4gaXRlbS5wYXJhbWV0ZXJzPy5jbHVzdGVySUQgPT09IHNjLnBhcmFtZXRlcnM/LmNsdXN0ZXJJRCxcbiAgKTtcbiAgc3dpdGNoIChzYy5wcm92aXNpb25lcikge1xuICAgIGNhc2UgU3RvcmFnZVByb3Zpc2lvbmVyLkNFUEhfRlNfSU5URVJOQUw6IHtcbiAgICAgIHJldHVybiBsaXN0LnNvbWUoXG4gICAgICAgIGl0ZW0gPT4gaXRlbS5kcml2ZXIgPT09IFN0b3JhZ2VQcm92aXNpb25lci5DRVBIX0ZTX0lOVEVSTkFMLFxuICAgICAgKTtcbiAgICB9XG4gICAgY2FzZSBTdG9yYWdlUHJvdmlzaW9uZXIuQ0VQSF9GU19SQkQ6IHtcbiAgICAgIHJldHVybiBsaXN0LnNvbWUoaXRlbSA9PiBpdGVtLmRyaXZlciA9PT0gU3RvcmFnZVByb3Zpc2lvbmVyLkNFUEhfRlNfUkJEKTtcbiAgICB9XG4gICAgY2FzZSBTdG9yYWdlUHJvdmlzaW9uZXIuVE9QT0xWTToge1xuICAgICAgcmV0dXJuIGxpc3Quc29tZShpdGVtID0+IGl0ZW0uZHJpdmVyID09PSBTdG9yYWdlUHJvdmlzaW9uZXIuVE9QT0xWTSk7XG4gICAgfVxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkUHZjUmVzb3VyY2UoXG4gIHtcbiAgICBuYW1lc3BhY2UsXG4gICAgc25hcHNob3QsXG4gICAgdm9sdW1lTW9kZSxcbiAgfTogeyBuYW1lc3BhY2U6IHN0cmluZzsgc25hcHNob3Q/OiBzdHJpbmc7IHZvbHVtZU1vZGU/OiBWb2x1bWVNb2RlIH0sXG4gIHB2Yz86IFBlcnNpc3RlbnRWb2x1bWVDbGFpbSwgLy8g5Yib5bu65b+r54Wn57G7IFB2YyDml7bkvKDlhaVcbik6IFBlcnNpc3RlbnRWb2x1bWVDbGFpbSB7XG4gIHJldHVybiB7XG4gICAgYXBpVmVyc2lvbjogJ3YxJyxcbiAgICBraW5kOiAnUGVyc2lzdGVudFZvbHVtZUNsYWltJyxcbiAgICBtZXRhZGF0YToge1xuICAgICAgbmFtZTogJycsXG4gICAgICBuYW1lc3BhY2UsXG4gICAgICBhbm5vdGF0aW9uczoge30sXG4gICAgICBsYWJlbHM6IHt9LFxuICAgIH0sXG4gICAgc3BlYzoge1xuICAgICAgc3RvcmFnZUNsYXNzTmFtZTogcHZjPy5zcGVjPy5zdG9yYWdlQ2xhc3NOYW1lID8/IG51bGwsXG4gICAgICBhY2Nlc3NNb2RlczogcHZjPy5zcGVjPy5hY2Nlc3NNb2RlcyA/PyBbJ1JlYWRXcml0ZU9uY2UnXSxcbiAgICAgIHZvbHVtZU1vZGU6IHB2Yz8uc3BlYz8udm9sdW1lTW9kZSB8fCAodm9sdW1lTW9kZSA/PyAnRmlsZXN5c3RlbScpLFxuICAgICAgcmVzb3VyY2VzOiB7XG4gICAgICAgIHJlcXVlc3RzOiB7XG4gICAgICAgICAgc3RvcmFnZTogcHZjPy5zcGVjPy5yZXNvdXJjZXMucmVxdWVzdHM/LnN0b3JhZ2UgPz8gbnVsbCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICAuLi4ocHZjXG4gICAgICAgID8ge1xuICAgICAgICAgICAgZGF0YVNvdXJjZToge1xuICAgICAgICAgICAgICBuYW1lOiBzbmFwc2hvdCxcbiAgICAgICAgICAgICAga2luZDogJ1ZvbHVtZVNuYXBzaG90JyxcbiAgICAgICAgICAgICAgYXBpR3JvdXA6IFZPTFVNRV9TTkFQU0hPVF9BUElfR1JPVVAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH1cbiAgICAgICAgOiB7fSksXG4gICAgICBzZWxlY3Rvcjoge1xuICAgICAgICBtYXRjaExhYmVsczoge30sXG4gICAgICB9LFxuICAgIH0sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWb2x1bWVTbmFwc2hvdFN0YXR1cyhyZXNvdXJjZTogVm9sdW1lU25hcHNob3QpIHtcbiAgcmV0dXJuIHJlc291cmNlLm1ldGFkYXRhPy5kZWxldGlvblRpbWVzdGFtcFxuICAgID8gVm9sdW1lU25hcHNob3RTdGF0dXMuREVMRVRJTkdcbiAgICA6IHJlc291cmNlLnN0YXR1cz8uZXJyb3JcbiAgICAgID8gVm9sdW1lU25hcHNob3RTdGF0dXMuTUFMRlVOQ1RJT05cbiAgICAgIDogcmVzb3VyY2Uuc3RhdHVzPy5yZWFkeVRvVXNlXG4gICAgICAgID8gVm9sdW1lU25hcHNob3RTdGF0dXMuQVZBSUxBQkxFXG4gICAgICAgIDogVm9sdW1lU25hcHNob3RTdGF0dXMuQ1JFQVRJTkc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQdmNTdGF0dXMoXG4gIHN0YXR1czogUGVyc2lzdGVudFZvbHVtZUNsYWltU3RhdHVzLFxuICByZWZTdG9yYWdlY2xhc3M/OiBTdG9yYWdlQ2xhc3MsXG4pOiBQdmNTdGF0dXNFbnVtIHtcbiAgc3dpdGNoIChzdGF0dXMucGhhc2UudG9Mb3dlckNhc2UoKSkge1xuICAgIGNhc2UgJ3BlbmRpbmcnOiB7XG4gICAgICByZXR1cm4gcmVmU3RvcmFnZWNsYXNzPy52b2x1bWVCaW5kaW5nTW9kZSA9PT1cbiAgICAgICAgVm9sdW1lQmluZGluZ01vZGUuV2FpdEZvckZpcnN0Q29uc3VtZXJcbiAgICAgICAgPyBQdmNTdGF0dXNFbnVtLndhaXRpbmdcbiAgICAgICAgOiBQdmNTdGF0dXNFbnVtLnByb2Nlc3Npbmc7XG4gICAgfVxuICAgIGNhc2UgJ2JvdW5kJzoge1xuICAgICAgcmV0dXJuIFB2Y1N0YXR1c0VudW0uYm91bmQ7XG4gICAgfVxuICAgIGNhc2UgJ2xvc3QnOiB7XG4gICAgICByZXR1cm4gUHZjU3RhdHVzRW51bS5pbnZhbGlkO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHZTdGF0dXMocHY6IFBlcnNpc3RlbnRWb2x1bWUpOiBQdlN0YXR1c0VudW0ge1xuICBzd2l0Y2ggKHB2LnN0YXR1cy5waGFzZS50b0xvd2VyQ2FzZSgpKSB7XG4gICAgY2FzZSAnYXZhaWxhYmxlJzoge1xuICAgICAgcmV0dXJuIFB2U3RhdHVzRW51bS5BVkFJTEFCTEU7XG4gICAgfVxuICAgIGNhc2UgJ2JvdW5kJzoge1xuICAgICAgcmV0dXJuIFB2U3RhdHVzRW51bS5CT1VORDtcbiAgICB9XG4gICAgY2FzZSAncmVsZWFzZWQnOiB7XG4gICAgICByZXR1cm4gUHZTdGF0dXNFbnVtLldBSVRJTkdfUkVDWUNMRTtcbiAgICB9XG4gICAgY2FzZSAnZmFpbGVkJzoge1xuICAgICAgcmV0dXJuIFB2U3RhdHVzRW51bS5SRUNZQ0xFX0ZBSUxFRDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvc3RvcmFnZS9zcmMvbGliL3V0aWxzL3V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUtMLElBQUksRUFDSix5QkFBeUIsR0FFMUIsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixPQUFPLEVBQ0wsYUFBYSxFQUNiLFlBQVksRUFFWixrQkFBa0IsRUFDbEIsaUJBQWlCLEdBQ2xCLE1BQU0sa0JBQWtCLENBQUM7QUFTMUIsT0FBTyxFQUNMLGtDQUFrQyxFQUNsQyxvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLG9CQUFvQixHQUNyQixNQUFNLGFBQWEsQ0FBQztBQUVyQixNQUFNLFVBQVUsY0FBYyxDQUFDLEVBQXNDO0lBQ25FLE1BQU0sV0FBVyxHQUNmLEVBQUU7UUFDRixDQUFDLGFBQWEsSUFBSSxFQUFFO1lBQ2xCLENBQUMsQ0FBQyxFQUFFLENBQUMsV0FBVztZQUNoQixDQUFDLENBQUMsWUFBWSxJQUFJLEVBQUU7Z0JBQ2xCLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVTtnQkFDZixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFZCxtRUFBbUU7SUFDbkUsSUFBSSxXQUFXLEtBQU0seUJBQWdELEVBQUUsQ0FBQztRQUN0RSxPQUFRLEVBQW1CLEVBQUUsVUFBVSxDQUNyQyxvQ0FBb0MsQ0FDZixDQUFDO0lBQzFCLENBQUM7SUFDRCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxFQUFzQztJQUV0QyxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFdkMsT0FBTyxDQUNMLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxFQUFFLE9BQU8sSUFBSTtRQUMxQyxFQUFFLEVBQUUsV0FBVztRQUNmLEVBQUUsRUFBRSxXQUFXO0tBQ2hCLENBQ0YsQ0FBQztBQUNK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QyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7UUFDL0IsQ0FBQztRQUNELEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNiLE9BQU8sYUFBYSxDQUFDLEtBQUssQ0FBQztRQUM3QixDQUFDO1FBQ0QsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ1osT0FBTyxhQUFhLENBQUMsT0FBTyxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsRUFBb0I7SUFDOUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1FBQ3RDLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztZQUNqQixPQUFPLFlBQVksQ0FBQyxTQUFTLENBQUM7UUFDaEMsQ0FBQztRQUNELEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNiLE9BQU8sWUFBWSxDQUFDLEtBQUssQ0FBQztRQUM1QixDQUFDO1FBQ0QsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ2hCLE9BQU8sWUFBWSxDQUFDLGVBQWUsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ2QsT0FBTyxZQUFZLENBQUMsY0FBYyxDQUFDO1FBQ3JDLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFjY2Vzc01vZGUsXG4gIFBlcnNpc3RlbnRWb2x1bWVDbGFpbSxcbiAgUGVyc2lzdGVudFZvbHVtZUNsYWltU3RhdHVzLFxuICBUcmFuc2xhdGlvbixcbiAgVFJVRSxcbiAgVk9MVU1FX1NOQVBTSE9UX0FQSV9HUk9VUCxcbiAgVm9sdW1lTW9kZSxcbn0gZnJvbSAnQGFsYXVkYS1mZS9jb21tb24nO1xuXG5pbXBvcnQge1xuICBQdmNTdGF0dXNFbnVtLFxuICBQdlN0YXR1c0VudW0sXG4gIFN0b3JhZ2VPcHRpb24sXG4gIFN0b3JhZ2VQcm92aXNpb25lcixcbiAgVm9sdW1lQmluZGluZ01vZGUsXG59IGZyb20gJy4uL3R5cGVzL2NvbW1vbnMnO1xuaW1wb3J0IHtcbiAgQ29tbW9uU3RvcmFnZUNsYXNzLFxuICBQZXJzaXN0ZW50Vm9sdW1lLFxuICBTdG9yYWdlQ2xhc3MsXG4gIFZvbHVtZVNuYXBzaG90LFxuICBWb2x1bWVTbmFwc2hvdENsYXNzLFxufSBmcm9tICcuLi90eXBlcy9rOHMnO1xuXG5pbXBvcnQge1xuICBJU19ERUZBVUxUX1NUT1JBR0VDTEFTU19BTk5PVEFUSU9OLFxuICBTVE9SQUdFQ0xBU1NfVU5LTk9XTixcbiAgU1RPUkFHRV9PUFRJT05fTUFQLFxuICBWb2x1bWVTbmFwc2hvdFN0YXR1cyxcbn0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJvdmlzaW9uZXIoc2M6IENvbW1vblN0b3JhZ2VDbGFzcyB8IFN0b3JhZ2VPcHRpb24pIHtcbiAgY29uc3QgcHJvdmlzaW9uZXIgPVxuICAgIHNjICYmXG4gICAgKCdwcm92aXNpb25lcicgaW4gc2NcbiAgICAgID8gc2MucHJvdmlzaW9uZXJcbiAgICAgIDogJ2RyaXZlck5hbWUnIGluIHNjXG4gICAgICAgID8gc2MuZHJpdmVyTmFtZVxuICAgICAgICA6IG51bGwpO1xuXG4gIC8vIENDRSDpm4bnvqTkuIrvvIzkuI3lkIzlrZjlgqjkvb/nlKjnm7jlkIznmoQgcHJvdmlzaW9uZXIoZXZlcmVzdC1jc2ktcHJvdmlzaW9uZXIpIOaXtumcgOimgei/m+ihjOmineWkluWkhOeQhlxuICBpZiAocHJvdmlzaW9uZXIgPT09ICgnZXZlcmVzdC1jc2ktcHJvdmlzaW9uZXInIGFzIFN0b3JhZ2VQcm92aXNpb25lcikpIHtcbiAgICByZXR1cm4gKHNjIGFzIFN0b3JhZ2VDbGFzcyk/LnBhcmFtZXRlcnNbXG4gICAgICAnY3NpLnN0b3JhZ2UuazhzLmlvL2NzaS1kcml2ZXItbmFtZSdcbiAgICBdIGFzIFN0b3JhZ2VQcm92aXNpb25lcjtcbiAgfVxuICByZXR1cm4gcHJvdmlzaW9uZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQcm92aXNpb25lckRpc3BsYXkoXG4gIHNjOiBDb21tb25TdG9yYWdlQ2xhc3MgfCBTdG9yYWdlT3B0aW9uLFxuKTogVHJhbnNsYXRpb24ge1xuICBjb25zdCBwcm92aXNpb25lciA9IGdldFByb3Zpc2lvbmVyKHNjKTtcblxuICByZXR1cm4gKFxuICAgIFNUT1JBR0VfT1BUSU9OX01BUFtwcm92aXNpb25lcl0/LmRpc3BsYXkgfHwge1xuICAgICAgZW46IHByb3Zpc2lvbmVyLFxuICAgICAgemg6IHByb3Zpc2lvbmVyLFxuICAgIH1cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFN0b3JhZ2VjbGFzc1ZvbHVtZU1vZGVzKHByb3Zpc2lvbmVyOiBTdG9yYWdlUHJvdmlzaW9uZXIpIHtcbiAgcmV0dXJuIHByb3Zpc2lvbmVyXG4gICAgPyAoU1RPUkFHRV9PUFRJT05fTUFQW3Byb3Zpc2lvbmVyXSB8fCBTVE9SQUdFQ0xBU1NfVU5LTk9XTikudm9sdW1lTW9kZXNcbiAgICA6IChbJ0ZpbGVzeXN0ZW0nLCAnQmxvY2snXSBhcyBWb2x1bWVNb2RlW10pOyAvLyDpkojlr7nmnKror4bliKvnmoQgc2Mg5YWo6YOo5Y235qih5byP5Y+v55SoXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdG9yYWdlY2xhc3NBY2Nlc3NNb2RlcyhcbiAgcHJvdmlzaW9uZXI6IFN0b3JhZ2VQcm92aXNpb25lcixcbiAgaXNGcm9tU25hcHNob3QgPSBmYWxzZSxcbikge1xuICByZXR1cm4gcHJvdmlzaW9uZXJcbiAgICA/IChTVE9SQUdFX09QVElPTl9NQVBbcHJvdmlzaW9uZXJdIHx8IFNUT1JBR0VDTEFTU19VTktOT1dOKVtcbiAgICAgICAgaXNGcm9tU25hcHNob3QgPyAnc25hcHNob3RBY2Nlc3NNb2RlcycgOiAnYWNjZXNzTW9kZXMnXG4gICAgICBdXG4gICAgOiAoWydSZWFkT25seU1hbnknLCAnUmVhZFdyaXRlTWFueScsICdSZWFkV3JpdGVPbmNlJ10gYXMgQWNjZXNzTW9kZVtdKTsgLy8g6ZKI5a+55pyq6K+G5Yir55qEIHNjIOWFqOmDqOiuv+mXruaWueW8j+WPr+eUqFxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNEZWZhdWx0U3RvcmFnZWNsYXNzKGRhdGE6IENvbW1vblN0b3JhZ2VDbGFzcykge1xuICByZXR1cm4gKFxuICAgIGRhdGEubWV0YWRhdGEuYW5ub3RhdGlvbnM/LltJU19ERUZBVUxUX1NUT1JBR0VDTEFTU19BTk5PVEFUSU9OXSA9PT0gVFJVRVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTdG9yYWdlQ2xhc3NTdXBwb3J0U25hcHNob3QoXG4gIHNjOiBTdG9yYWdlQ2xhc3MsXG4gIHZzY0xpc3Q6IFZvbHVtZVNuYXBzaG90Q2xhc3NbXSxcbikge1xuICBjb25zdCBsaXN0ID0gdnNjTGlzdC5maWx0ZXIoXG4gICAgaXRlbSA9PiBpdGVtLnBhcmFtZXRlcnM/LmNsdXN0ZXJJRCA9PT0gc2MucGFyYW1ldGVycz8uY2x1c3RlcklELFxuICApO1xuICBzd2l0Y2ggKHNjLnByb3Zpc2lvbmVyKSB7XG4gICAgY2FzZSBTdG9yYWdlUHJvdmlzaW9uZXIuQ0VQSF9GU19JTlRFUk5BTDoge1xuICAgICAgcmV0dXJuIGxpc3Quc29tZShcbiAgICAgICAgaXRlbSA9PiBpdGVtLmRyaXZlciA9PT0gU3RvcmFnZVByb3Zpc2lvbmVyLkNFUEhfRlNfSU5URVJOQUwsXG4gICAgICApO1xuICAgIH1cbiAgICBjYXNlIFN0b3JhZ2VQcm92aXNpb25lci5DRVBIX0ZTX1JCRDoge1xuICAgICAgcmV0dXJuIGxpc3Quc29tZShpdGVtID0+IGl0ZW0uZHJpdmVyID09PSBTdG9yYWdlUHJvdmlzaW9uZXIuQ0VQSF9GU19SQkQpO1xuICAgIH1cbiAgICBjYXNlIFN0b3JhZ2VQcm92aXNpb25lci5UT1BPTFZNOiB7XG4gICAgICByZXR1cm4gbGlzdC5zb21lKGl0ZW0gPT4gaXRlbS5kcml2ZXIgPT09IFN0b3JhZ2VQcm92aXNpb25lci5UT1BPTFZNKTtcbiAgICB9XG4gICAgZGVmYXVsdDoge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRQdmNSZXNvdXJjZShcbiAge1xuICAgIG5hbWVzcGFjZSxcbiAgICBzbmFwc2hvdCxcbiAgICB2b2x1bWVNb2RlLFxuICB9OiB7XG4gICAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gICAgc25hcHNob3Q/OiBzdHJpbmc7XG4gICAgdm9sdW1lTW9kZT86IFZvbHVtZU1vZGU7XG4gIH0sXG4gIHB2Y1Jlc291cmNlPzogUGVyc2lzdGVudFZvbHVtZUNsYWltLCAvLyDliJvlu7rlv6vnhafnsbsgUHZjIOaXtuS8oOWFpVxuICBzbmFwc2hvdFJlc291cmNlPzogVm9sdW1lU25hcHNob3QsXG4pOiBQZXJzaXN0ZW50Vm9sdW1lQ2xhaW0ge1xuICByZXR1cm4ge1xuICAgIGFwaVZlcnNpb246ICd2MScsXG4gICAga2luZDogJ1BlcnNpc3RlbnRWb2x1bWVDbGFpbScsXG4gICAgbWV0YWRhdGE6IHtcbiAgICAgIG5hbWU6ICcnLFxuICAgICAgbmFtZXNwYWNlLFxuICAgICAgYW5ub3RhdGlvbnM6IHt9LFxuICAgICAgbGFiZWxzOiB7fSxcbiAgICB9LFxuICAgIHNwZWM6IHtcbiAgICAgIHN0b3JhZ2VDbGFzc05hbWU6IHB2Y1Jlc291cmNlPy5zcGVjPy5zdG9yYWdlQ2xhc3NOYW1lID8/IG51bGwsXG4gICAgICBhY2Nlc3NNb2RlczogcHZjUmVzb3VyY2U/LnNwZWM/LmFjY2Vzc01vZGVzID8/IFsnUmVhZFdyaXRlT25jZSddLFxuICAgICAgdm9sdW1lTW9kZTogcHZjUmVzb3VyY2U/LnNwZWM/LnZvbHVtZU1vZGUgfHwgKHZvbHVtZU1vZGUgPz8gJ0ZpbGVzeXN0ZW0nKSxcbiAgICAgIHJlc291cmNlczoge1xuICAgICAgICByZXF1ZXN0czoge1xuICAgICAgICAgIHN0b3JhZ2U6XG4gICAgICAgICAgICBwdmNSZXNvdXJjZT8uc3BlYz8ucmVzb3VyY2VzPy5yZXF1ZXN0cz8uc3RvcmFnZSA/P1xuICAgICAgICAgICAgKHNuYXBzaG90UmVzb3VyY2U/LnN0YXR1cz8ucmVzdG9yZVNpemUgfHwgbnVsbCksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgLi4uKHB2Y1Jlc291cmNlIHx8IHNuYXBzaG90UmVzb3VyY2VcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBkYXRhU291cmNlOiB7XG4gICAgICAgICAgICAgIG5hbWU6IHNuYXBzaG90LFxuICAgICAgICAgICAgICBraW5kOiAnVm9sdW1lU25hcHNob3QnLFxuICAgICAgICAgICAgICBhcGlHcm91cDogVk9MVU1FX1NOQVBTSE9UX0FQSV9HUk9VUCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVxuICAgICAgICA6IHt9KSxcbiAgICAgIHNlbGVjdG9yOiB7XG4gICAgICAgIG1hdGNoTGFiZWxzOiB7fSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZvbHVtZVNuYXBzaG90U3RhdHVzKHJlc291cmNlOiBWb2x1bWVTbmFwc2hvdCkge1xuICByZXR1cm4gcmVzb3VyY2UubWV0YWRhdGE/LmRlbGV0aW9uVGltZXN0YW1wXG4gICAgPyBWb2x1bWVTbmFwc2hvdFN0YXR1cy5ERUxFVElOR1xuICAgIDogcmVzb3VyY2Uuc3RhdHVzPy5lcnJvclxuICAgICAgPyBWb2x1bWVTbmFwc2hvdFN0YXR1cy5NQUxGVU5DVElPTlxuICAgICAgOiByZXNvdXJjZS5zdGF0dXM/LnJlYWR5VG9Vc2VcbiAgICAgICAgPyBWb2x1bWVTbmFwc2hvdFN0YXR1cy5BVkFJTEFCTEVcbiAgICAgICAgOiBWb2x1bWVTbmFwc2hvdFN0YXR1cy5DUkVBVElORztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFB2Y1N0YXR1cyhcbiAgc3RhdHVzOiBQZXJzaXN0ZW50Vm9sdW1lQ2xhaW1TdGF0dXMsXG4gIHJlZlN0b3JhZ2VjbGFzcz86IFN0b3JhZ2VDbGFzcyxcbik6IFB2Y1N0YXR1c0VudW0ge1xuICBzd2l0Y2ggKHN0YXR1cy5waGFzZS50b0xvd2VyQ2FzZSgpKSB7XG4gICAgY2FzZSAncGVuZGluZyc6IHtcbiAgICAgIHJldHVybiByZWZTdG9yYWdlY2xhc3M/LnZvbHVtZUJpbmRpbmdNb2RlID09PVxuICAgICAgICBWb2x1bWVCaW5kaW5nTW9kZS5XYWl0Rm9yRmlyc3RDb25zdW1lclxuICAgICAgICA/IFB2Y1N0YXR1c0VudW0ud2FpdGluZ1xuICAgICAgICA6IFB2Y1N0YXR1c0VudW0ucHJvY2Vzc2luZztcbiAgICB9XG4gICAgY2FzZSAnYm91bmQnOiB7XG4gICAgICByZXR1cm4gUHZjU3RhdHVzRW51bS5ib3VuZDtcbiAgICB9XG4gICAgY2FzZSAnbG9zdCc6IHtcbiAgICAgIHJldHVybiBQdmNTdGF0dXNFbnVtLmludmFsaWQ7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQdlN0YXR1cyhwdjogUGVyc2lzdGVudFZvbHVtZSk6IFB2U3RhdHVzRW51bSB7XG4gIHN3aXRjaCAocHYuc3RhdHVzLnBoYXNlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICBjYXNlICdhdmFpbGFibGUnOiB7XG4gICAgICByZXR1cm4gUHZTdGF0dXNFbnVtLkFWQUlMQUJMRTtcbiAgICB9XG4gICAgY2FzZSAnYm91bmQnOiB7XG4gICAgICByZXR1cm4gUHZTdGF0dXNFbnVtLkJPVU5EO1xuICAgIH1cbiAgICBjYXNlICdyZWxlYXNlZCc6IHtcbiAgICAgIHJldHVybiBQdlN0YXR1c0VudW0uV0FJVElOR19SRUNZQ0xFO1xuICAgIH1cbiAgICBjYXNlICdmYWlsZWQnOiB7XG4gICAgICByZXR1cm4gUHZTdGF0dXNFbnVtLlJFQ1lDTEVfRkFJTEVEO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -34,12 +34,16 @@ export declare class PersistentVolumeClaimFormComponent extends PersistentVolume
34
34
  volumeMode: VolumeMode;
35
35
  displayFields: DisplayField[];
36
36
  get showAdvancedField(): boolean;
37
+ get isFromSnapshotAndSourcePVCExist(): boolean;
38
+ get selectDefault(): boolean;
39
+ get showStorageClassHintWhenFromSnapshot(): boolean;
37
40
  accessModes: ("ReadWriteOnce" | "ReadOnlyMany" | "ReadWriteMany")[];
38
41
  volumeModes: ("Filesystem" | "Block")[];
39
42
  POSITIVE_INT_PATTERN: {
40
43
  pattern: RegExp;
41
44
  tip: string;
42
45
  };
46
+ originResource: PersistentVolumeClaim;
43
47
  model: PersistentVolumeFormModel;
44
48
  resourceNameReg: {
45
49
  pattern: RegExp;
@@ -263,12 +263,20 @@ export interface CephCluster extends KubernetesResource {
263
263
  status?: CephClusterStatus;
264
264
  }
265
265
  export interface CephObjectPoolSpec {
266
+ name?: string;
266
267
  deviceClass?: string;
267
268
  failureDomain?: string;
268
269
  replicated: {
269
270
  size: number;
270
271
  requireSafeReplicaSize?: boolean;
271
272
  };
273
+ erasureCoded?: {
274
+ dataChunks: number;
275
+ codingChunks: number;
276
+ };
277
+ quotas?: {
278
+ maxSize?: string;
279
+ };
272
280
  parameters?: {
273
281
  compression_mode?: string;
274
282
  };
@@ -297,6 +305,14 @@ export interface CephBlockPool extends KubernetesResource {
297
305
  replicated: {
298
306
  size: number;
299
307
  };
308
+ erasureCoded?: {
309
+ dataChunks: number;
310
+ codingChunks: number;
311
+ };
312
+ parameters?: StringMap;
313
+ quotas?: {
314
+ maxSize?: string;
315
+ };
300
316
  };
301
317
  status?: any;
302
318
  }
@@ -345,6 +361,61 @@ export declare enum TopolvmClusterStorageDeviceClassStatusEnum {
345
361
  AVAILABLE = "available",
346
362
  NOT_AVAILABLE = "not_available"
347
363
  }
364
+ export interface ThinPoolConfig {
365
+ /**
366
+ * Name specifies a name for the thin pool.
367
+ */
368
+ name?: string;
369
+ /**
370
+ * OverProvisionRatio specifies a factor by which you can provision additional storage
371
+ * based on the available storage in the thin pool.
372
+ * To prevent over-provisioning through validation, set this field to 1.
373
+ * Minimum: 1
374
+ */
375
+ overprovisionRatio: number;
376
+ /**
377
+ * ChunkSize specifies the statically calculated chunk size for the thin pool.
378
+ * Used only when ChunkSizeCalculationPolicy = "Static".
379
+ * Default: 128Ki if not set.
380
+ * Range: 64Ki – 1Gi.
381
+ *
382
+ * Can be integer or string (e.g., "128Mi").
383
+ * // cspell: disable-next-line
384
+ * Pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
385
+ */
386
+ chunkSize?: number | string;
387
+ /**
388
+ * ChunkSizeCalculationPolicy specifies how chunk size is determined.
389
+ * - "Host": use the host lvm2 setting.
390
+ * - "Static": use the ChunkSize value.
391
+ * Default: "Static".
392
+ */
393
+ chunkSizeCalculationPolicy?: 'Host' | 'Static';
394
+ /**
395
+ * MetadataSize specifies metadata size for the thin pool.
396
+ * Used only when MetadataSizeCalculationPolicy = "Static".
397
+ * Default: 1Gi if not set.
398
+ * Range: 2Mi – 16Gi.
399
+ *
400
+ * Can be integer or string (e.g., "1Gi").
401
+ * Pattern same as chunkSize.
402
+ */
403
+ metadataSize?: number | string;
404
+ /**
405
+ * MetadataSizeCalculationPolicy specifies how metadata size is determined.
406
+ * - "Host": use lvm2 default settings.
407
+ * - "Static": use the MetadataSize value.
408
+ * Default: "Host".
409
+ */
410
+ metadataSizeCalculationPolicy?: 'Host' | 'Static';
411
+ /**
412
+ * SizePercent specifies the percentage of space in the LVM volume group
413
+ * for creating the thin pool.
414
+ * Default: 90.
415
+ * Range: 10 – 100.
416
+ */
417
+ sizePercent?: number;
418
+ }
348
419
  export interface TopolvmClusterSpecDeviceClassItem {
349
420
  className: string;
350
421
  default: boolean;
@@ -353,6 +424,7 @@ export interface TopolvmClusterSpecDeviceClassItem {
353
424
  name: string;
354
425
  type: TopolvmDeviceType;
355
426
  }>;
427
+ thinPoolConfig?: ThinPoolConfig;
356
428
  }
357
429
  export interface TopolvmClusterSpecDeviceClass {
358
430
  nodeName: string;
@@ -12,7 +12,8 @@ export declare function buildPvcResource({ namespace, snapshot, volumeMode, }: {
12
12
  namespace: string;
13
13
  snapshot?: string;
14
14
  volumeMode?: VolumeMode;
15
- }, pvc?: PersistentVolumeClaim): PersistentVolumeClaim;
15
+ }, pvcResource?: PersistentVolumeClaim, // 创建快照类 Pvc 时传入
16
+ snapshotResource?: VolumeSnapshot): PersistentVolumeClaim;
16
17
  export declare function getVolumeSnapshotStatus(resource: VolumeSnapshot): VolumeSnapshotStatus;
17
18
  export declare function getPvcStatus(status: PersistentVolumeClaimStatus, refStorageclass?: StorageClass): PvcStatusEnum;
18
19
  export declare function getPvStatus(pv: PersistentVolume): PvStatusEnum;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alauda-fe/storage",
3
- "version": "0.0.11",
3
+ "version": "0.0.13",
4
4
  "peerDependencies": {
5
5
  "@alauda/ui": "^8.0.0",
6
6
  "@alauda-fe/i18n": "1.0.11",