kwikid-forms 0.3.21 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/kwikid-forms.umd.js +8985 -7727
- package/bundles/kwikid-forms.umd.js.map +1 -1
- package/esm2015/lib/builder/builder.component.js +2 -2
- package/esm2015/lib/builder/builder.module.js +8 -11
- package/esm2015/lib/builder/element-config-editor/editors/basic/radio-config.editor.component.js +10 -10
- package/esm2015/lib/builder/element-config-editor/editors/basic/select-config.editor.component.js +302 -0
- package/esm2015/lib/builder/element-config-editor/editors/basic/text-config.editor.component.js +6 -6
- package/esm2015/lib/builder/element-config-editor/editors/basic-element-config.editor.component.js +25 -25
- package/esm2015/lib/builder/element-config-editor/editors/document/pan-number-config.editor.component.js +6 -6
- package/esm2015/lib/builder/element-config-editor/editors/document-element-config.editor.component.js +18 -18
- package/esm2015/lib/builder/shared/elements.js +12 -3
- package/esm2015/lib/builder2/builder-form-editor/builder-form-editor.component.js +268 -0
- package/esm2015/lib/builder2/builder-form-editor/builder-form-editor.module.js +38 -0
- package/esm2015/lib/builder2/builder-form-editor/builder-form-editor.pipe.js +19 -0
- package/esm2015/lib/builder2/builder-form-editor/builder.form-editor.constants.js +178 -0
- package/esm2015/lib/builder2/builder-form-list/builder-forms-list.component.js +85 -0
- package/esm2015/lib/builder2/builder-form-list/builder-forms-list.module.js +37 -0
- package/esm2015/lib/builder2/builder2.component.js +169 -0
- package/esm2015/lib/builder2/builder2.module.js +46 -0
- package/esm2015/lib/kwikid-forms.module.js +16 -4
- package/esm2015/lib/renderer/config-converter.helper.js +86 -9
- package/esm2015/lib/renderer/form-view/definitions/form-view.fields.definition.js +4 -1
- package/esm2015/lib/renderer/form-view/form-view.component.js +196 -29
- package/esm2015/lib/renderer/form-view/helpers/form-view.fields.helper.js +17 -2
- package/esm2015/lib/renderer/forms-list/forms-list.component.js +6 -4
- package/esm2015/lib/renderer/renderer.component.js +73 -25
- package/esm2015/lib/renderer/renderer.definitions.js +6 -0
- package/esm2015/public_api.js +3 -1
- package/fesm2015/kwikid-forms.js +1300 -179
- package/fesm2015/kwikid-forms.js.map +1 -1
- package/lib/builder/builder.module.d.ts +2 -2
- package/lib/builder/element-config-editor/editors/basic/{dropdown-with-search-config.editor.component.d.ts → select-config.editor.component.d.ts} +5 -5
- package/lib/builder2/builder-form-editor/builder-form-editor.component.d.ts +48 -0
- package/lib/builder2/builder-form-editor/builder-form-editor.module.d.ts +12 -0
- package/lib/builder2/builder-form-editor/builder-form-editor.pipe.d.ts +7 -0
- package/lib/builder2/builder-form-editor/builder.form-editor.constants.d.ts +620 -0
- package/lib/builder2/builder-form-list/builder-forms-list.component.d.ts +19 -0
- package/lib/builder2/builder-form-list/builder-forms-list.module.d.ts +11 -0
- package/lib/builder2/builder2.component.d.ts +37 -0
- package/lib/builder2/builder2.module.d.ts +13 -0
- package/lib/kwikid-forms.module.d.ts +3 -2
- package/lib/renderer/form-view/definitions/form-view.fields.definition.d.ts +10 -7
- package/lib/renderer/form-view/form-view.component.d.ts +20 -3
- package/lib/renderer/form-view/helpers/form-view.fields.helper.d.ts +1 -0
- package/lib/renderer/renderer.definitions.d.ts +5 -0
- package/package.json +3 -16
- package/public_api.d.ts +2 -0
- package/esm2015/lib/builder/element-config-editor/editors/basic/dropdown-with-search-config.editor.component.js +0 -302
package/esm2015/lib/builder/element-config-editor/editors/basic-element-config.editor.component.js
CHANGED
|
@@ -7,7 +7,7 @@ import * as i1 from "kwikui";
|
|
|
7
7
|
import * as i2 from "./basic/text-config.editor.component";
|
|
8
8
|
import * as i3 from "./basic/number-config.editor.component";
|
|
9
9
|
import * as i4 from "./basic/radio-config.editor.component";
|
|
10
|
-
import * as i5 from "./basic/
|
|
10
|
+
import * as i5 from "./basic/select-config.editor.component";
|
|
11
11
|
import * as i6 from "./basic/checkbox-config.editor.component";
|
|
12
12
|
import * as i7 from "./basic/otp-config.editor.component";
|
|
13
13
|
import * as i8 from "./basic/phone-config.editor.component";
|
|
@@ -167,7 +167,7 @@ export class BasicElementConfigEditor {
|
|
|
167
167
|
></kwikui-input>
|
|
168
168
|
</div>
|
|
169
169
|
<div class="form-group">
|
|
170
|
-
<kwikui-select
|
|
170
|
+
<kwikui-input-select
|
|
171
171
|
[options]="[true, false]"
|
|
172
172
|
[label]="'Disabled'"
|
|
173
173
|
[id]="'basic-input-property-disabled'"
|
|
@@ -178,7 +178,7 @@ export class BasicElementConfigEditor {
|
|
|
178
178
|
[disabled]="false"
|
|
179
179
|
[invalid]="false"
|
|
180
180
|
[placeholder]="'Please select either true or false'"
|
|
181
|
-
></kwikui-select
|
|
181
|
+
></kwikui-input-select>
|
|
182
182
|
</div>
|
|
183
183
|
</fieldset>
|
|
184
184
|
|
|
@@ -186,7 +186,7 @@ export class BasicElementConfigEditor {
|
|
|
186
186
|
<fieldset>
|
|
187
187
|
<legend class="form-group-title">Default</legend>
|
|
188
188
|
<div class="form-group">
|
|
189
|
-
<kwikui-select
|
|
189
|
+
<kwikui-input-select
|
|
190
190
|
[options]="[true, false]"
|
|
191
191
|
[label]="'value'"
|
|
192
192
|
[id]="'basic-input-property-value'"
|
|
@@ -199,7 +199,7 @@ export class BasicElementConfigEditor {
|
|
|
199
199
|
[disabled]="false"
|
|
200
200
|
[invalid]="false"
|
|
201
201
|
[placeholder]="'Please select either true or false'"
|
|
202
|
-
></kwikui-select
|
|
202
|
+
></kwikui-input-select>
|
|
203
203
|
</div>
|
|
204
204
|
</fieldset>
|
|
205
205
|
</div>
|
|
@@ -268,7 +268,7 @@ export class BasicElementConfigEditor {
|
|
|
268
268
|
></kwikui-input-number>
|
|
269
269
|
</div>
|
|
270
270
|
<div class="form-group">
|
|
271
|
-
<kwikui-select
|
|
271
|
+
<kwikui-input-select
|
|
272
272
|
[options]="[true, false]"
|
|
273
273
|
[label]="'required'"
|
|
274
274
|
[id]="'basic-input-property-required'"
|
|
@@ -281,7 +281,7 @@ export class BasicElementConfigEditor {
|
|
|
281
281
|
[disabled]="false"
|
|
282
282
|
[invalid]="false"
|
|
283
283
|
[placeholder]="'Please select either true or false'"
|
|
284
|
-
></kwikui-select
|
|
284
|
+
></kwikui-input-select>
|
|
285
285
|
</div>
|
|
286
286
|
</fieldset>
|
|
287
287
|
</div>
|
|
@@ -307,7 +307,7 @@ export class BasicElementConfigEditor {
|
|
|
307
307
|
></kwikui-input>
|
|
308
308
|
</div>
|
|
309
309
|
<div class="form-group">
|
|
310
|
-
<kwikui-select
|
|
310
|
+
<kwikui-input-select
|
|
311
311
|
[options]="[true, false]"
|
|
312
312
|
[label]="'readOnly'"
|
|
313
313
|
[id]="'basic-input-property-readOnly'"
|
|
@@ -320,7 +320,7 @@ export class BasicElementConfigEditor {
|
|
|
320
320
|
[disabled]="false"
|
|
321
321
|
[invalid]="false"
|
|
322
322
|
[placeholder]="'Please select either true or false'"
|
|
323
|
-
></kwikui-select
|
|
323
|
+
></kwikui-input-select>
|
|
324
324
|
</div>
|
|
325
325
|
</fieldset>
|
|
326
326
|
</div>
|
|
@@ -347,12 +347,12 @@ export class BasicElementConfigEditor {
|
|
|
347
347
|
(updateElement)="handleOnSaveUpdateElement($event)"
|
|
348
348
|
></basic-radio-config-editor>
|
|
349
349
|
</ng-container>
|
|
350
|
-
<ng-container *ngSwitchCase="'
|
|
351
|
-
<basic-
|
|
350
|
+
<ng-container *ngSwitchCase="'select'">
|
|
351
|
+
<basic-select-config-editor
|
|
352
352
|
[saveBasicClickCounter]="saveBasicClickCounter"
|
|
353
353
|
[elementConfig]="elementConfig"
|
|
354
354
|
(updateElement)="handleOnSaveUpdateElement($event)"
|
|
355
|
-
></basic-
|
|
355
|
+
></basic-select-config-editor>
|
|
356
356
|
</ng-container>
|
|
357
357
|
<ng-container *ngSwitchCase="'checkbox'">
|
|
358
358
|
<basic-checkbox-config-editor
|
|
@@ -384,7 +384,7 @@ export class BasicElementConfigEditor {
|
|
|
384
384
|
</ng-container>
|
|
385
385
|
</ng-container>
|
|
386
386
|
</form>
|
|
387
|
-
`, isInline: true, styles: ["\n :host {\n display: flex;\n flex-direction: column;\n align-content: center;\n justify-content: flex-start;\n align-items: stretch;\n gap: 1rem;\n }\n "], components: [{ type: i1.KwikUITableComponent, selector: "kwikui-table", inputs: ["id", "columns", "headers", "data"], outputs: ["onClick"] }, { type: i1.KwikUIInputComponent, selector: "kwikui-input", inputs: ["label", "id", "type", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "validators", "case", "size", "icon", "properties"], outputs: ["getKeyValue"] }, { type: i1.
|
|
387
|
+
`, isInline: true, styles: ["\n :host {\n display: flex;\n flex-direction: column;\n align-content: center;\n justify-content: flex-start;\n align-items: stretch;\n gap: 1rem;\n }\n "], components: [{ type: i1.KwikUITableComponent, selector: "kwikui-table", inputs: ["id", "columns", "headers", "data"], outputs: ["onClick"] }, { type: i1.KwikUIInputComponent, selector: "kwikui-input", inputs: ["label", "id", "type", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "validators", "case", "size", "icon", "properties"], outputs: ["getKeyValue"] }, { type: i1.KwikUIInputSelectComponent, selector: "kwikui-input-select", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "options", "size", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i1.KwikUIInputNumberComponent, selector: "kwikui-input-number", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "min", "max", "prefix", "postfix", "precision", "decimal", "size", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2.BasicTextConfigEditor, selector: "basic-text-config-editor", inputs: ["saveBasicClickCounter", "elementConfig"], outputs: ["updateElement"] }, { type: i3.BasicNumberConfigEditor, selector: "basic-number-config-editor", inputs: ["saveBasicClickCounter", "elementConfig"], outputs: ["updateElement"] }, { type: i4.BasicRadioConfigEditor, selector: "basic-radio-config-editor", inputs: ["saveBasicClickCounter", "elementConfig"], outputs: ["updateElement"] }, { type: i5.BasicSelectConfigEditor, selector: "basic-select-config-editor", inputs: ["saveBasicClickCounter", "elementConfig"], outputs: ["updateElement"] }, { type: i6.BasicCheckboxConfigEditor, selector: "basic-checkbox-config-editor", inputs: ["saveBasicClickCounter", "elementConfig"], outputs: ["updateElement"] }, { type: i7.BasicOtpConfigEditor, selector: "basic-otp-config-editor", inputs: ["saveBasicClickCounter", "elementConfig"], outputs: ["updateElement"] }, { type: i8.BasicPhoneConfigEditor, selector: "basic-phone-config-editor", inputs: ["saveBasicClickCounter", "elementConfig"], outputs: ["updateElement"] }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i10.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i10.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i10.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i10.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i10.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i9.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i9.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
|
|
388
388
|
__decorate([
|
|
389
389
|
logMethod
|
|
390
390
|
], BasicElementConfigEditor.prototype, "ngOnInit", null);
|
|
@@ -457,7 +457,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
457
457
|
></kwikui-input>
|
|
458
458
|
</div>
|
|
459
459
|
<div class="form-group">
|
|
460
|
-
<kwikui-select
|
|
460
|
+
<kwikui-input-select
|
|
461
461
|
[options]="[true, false]"
|
|
462
462
|
[label]="'Disabled'"
|
|
463
463
|
[id]="'basic-input-property-disabled'"
|
|
@@ -468,7 +468,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
468
468
|
[disabled]="false"
|
|
469
469
|
[invalid]="false"
|
|
470
470
|
[placeholder]="'Please select either true or false'"
|
|
471
|
-
></kwikui-select
|
|
471
|
+
></kwikui-input-select>
|
|
472
472
|
</div>
|
|
473
473
|
</fieldset>
|
|
474
474
|
|
|
@@ -476,7 +476,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
476
476
|
<fieldset>
|
|
477
477
|
<legend class="form-group-title">Default</legend>
|
|
478
478
|
<div class="form-group">
|
|
479
|
-
<kwikui-select
|
|
479
|
+
<kwikui-input-select
|
|
480
480
|
[options]="[true, false]"
|
|
481
481
|
[label]="'value'"
|
|
482
482
|
[id]="'basic-input-property-value'"
|
|
@@ -489,7 +489,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
489
489
|
[disabled]="false"
|
|
490
490
|
[invalid]="false"
|
|
491
491
|
[placeholder]="'Please select either true or false'"
|
|
492
|
-
></kwikui-select
|
|
492
|
+
></kwikui-input-select>
|
|
493
493
|
</div>
|
|
494
494
|
</fieldset>
|
|
495
495
|
</div>
|
|
@@ -558,7 +558,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
558
558
|
></kwikui-input-number>
|
|
559
559
|
</div>
|
|
560
560
|
<div class="form-group">
|
|
561
|
-
<kwikui-select
|
|
561
|
+
<kwikui-input-select
|
|
562
562
|
[options]="[true, false]"
|
|
563
563
|
[label]="'required'"
|
|
564
564
|
[id]="'basic-input-property-required'"
|
|
@@ -571,7 +571,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
571
571
|
[disabled]="false"
|
|
572
572
|
[invalid]="false"
|
|
573
573
|
[placeholder]="'Please select either true or false'"
|
|
574
|
-
></kwikui-select
|
|
574
|
+
></kwikui-input-select>
|
|
575
575
|
</div>
|
|
576
576
|
</fieldset>
|
|
577
577
|
</div>
|
|
@@ -597,7 +597,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
597
597
|
></kwikui-input>
|
|
598
598
|
</div>
|
|
599
599
|
<div class="form-group">
|
|
600
|
-
<kwikui-select
|
|
600
|
+
<kwikui-input-select
|
|
601
601
|
[options]="[true, false]"
|
|
602
602
|
[label]="'readOnly'"
|
|
603
603
|
[id]="'basic-input-property-readOnly'"
|
|
@@ -610,7 +610,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
610
610
|
[disabled]="false"
|
|
611
611
|
[invalid]="false"
|
|
612
612
|
[placeholder]="'Please select either true or false'"
|
|
613
|
-
></kwikui-select
|
|
613
|
+
></kwikui-input-select>
|
|
614
614
|
</div>
|
|
615
615
|
</fieldset>
|
|
616
616
|
</div>
|
|
@@ -637,12 +637,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
637
637
|
(updateElement)="handleOnSaveUpdateElement($event)"
|
|
638
638
|
></basic-radio-config-editor>
|
|
639
639
|
</ng-container>
|
|
640
|
-
<ng-container *ngSwitchCase="'
|
|
641
|
-
<basic-
|
|
640
|
+
<ng-container *ngSwitchCase="'select'">
|
|
641
|
+
<basic-select-config-editor
|
|
642
642
|
[saveBasicClickCounter]="saveBasicClickCounter"
|
|
643
643
|
[elementConfig]="elementConfig"
|
|
644
644
|
(updateElement)="handleOnSaveUpdateElement($event)"
|
|
645
|
-
></basic-
|
|
645
|
+
></basic-select-config-editor>
|
|
646
646
|
</ng-container>
|
|
647
647
|
<ng-container *ngSwitchCase="'checkbox'">
|
|
648
648
|
<basic-checkbox-config-editor
|
|
@@ -695,4 +695,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
695
695
|
}], updateElement: [{
|
|
696
696
|
type: Output
|
|
697
697
|
}], ngOnInit: [], ngOnChanges: [], assignVariables: [], createBasicFormGroup: [], handleOnSaveUpdateElement: [], handleOnSave: [] } });
|
|
698
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMtZWxlbWVudC1jb25maWcuZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL2J1aWxkZXIvZWxlbWVudC1jb25maWctZWRpdG9yL2VkaXRvcnMvYmFzaWMtZWxlbWVudC1jb25maWcuZWRpdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7OztBQTZSekQsTUFBTSxPQUFPLHdCQUF3QjtJQWlDbkM7UUEvQkEscUJBQWdCLEdBQVcsQ0FBQyxDQUFDO1FBRzdCLGtCQUFhLEdBQVE7WUFDbkIsS0FBSyxFQUFFLEVBQUU7WUFDVCxHQUFHLEVBQUUsRUFBRTtZQUNQLFFBQVEsRUFBRSxLQUFLO1lBQ2YsT0FBTyxFQUFFO2dCQUNQLEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRCxVQUFVLEVBQUU7Z0JBQ1YsR0FBRyxFQUFFLElBQUk7Z0JBQ1QsR0FBRyxFQUFFLElBQUk7Z0JBQ1QsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsUUFBUSxFQUFFLElBQUk7YUFDZjtZQUNELFVBQVUsRUFBRTtnQkFDVixXQUFXLEVBQUUsRUFBRTtnQkFDZixRQUFRLEVBQUUsS0FBSzthQUNoQjtTQUNGLENBQUM7UUFHRixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFeEMsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsMEJBQXFCLEdBQVcsQ0FBQyxDQUFD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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyUVQ7QUFrREQ7SUFEQyxTQUFTO3dEQUlUO0FBR0Q7SUFEQyxTQUFTOzJEQXNCVDtBQUdEO0lBREMsU0FBUzsrREFHVDtBQUdEO0lBREMsU0FBUztvRUF5Q1Q7QUFHRDtJQURDLFNBQVM7eUVBbUJUO0FBR0Q7SUFEQyxTQUFTOzREQUdUOzRGQXpJVSx3QkFBd0I7a0JBM1JwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMlFUO29CQUNELE1BQU0sRUFBRTt3QkFDTjs7Ozs7Ozs7O0tBU0M7cUJBQ0Y7aUJBQ0Y7MEVBR0MsZ0JBQWdCO3NCQURmLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQXNCTixhQUFhO3NCQURaLE1BQU07Z0JBV1AsUUFBUSxNQU1SLFdBQVcsTUF3QlgsZUFBZSxNQUtmLG9CQUFvQixNQTJDcEIseUJBQXlCLE1BcUJ6QixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgbG9nTWV0aG9kLCBtZXJnZU9iamVjdHMgfSBmcm9tIFwia3dpa2lkLXRvb2xraXRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImJhc2ljLWVsZW1lbnQtY29uZmlnLWVkaXRvclwiLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbGVtZW50Q29uZmlnICE9PSB1bmRlZmluZWRcIj5cbiAgICAgIDxrd2lrdWktdGFibGVcbiAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBvdmVyZmxvdzogYXV0bzsgYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IC02cHggIzAwMDsgYm9yZGVyOiAwcHggc29saWQgZ3JheTsgYm9yZGVyLXJhZGl1czogMXJlbTtcIlxuICAgICAgICBbY29sdW1uc109XCJbJ2lkJywgJ3R5cGUnLCAnY2F0ZWdvcnknXVwiXG4gICAgICAgIFtoZWFkZXJzXT1cInsgaWQ6ICdJRCcsIHR5cGU6ICdUeXBlJywgY2F0ZWdvcnk6ICdDYXRlZ29yeScgfVwiXG4gICAgICAgIFtkYXRhXT1cIltcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogZWxlbWVudENvbmZpZy5lbGVtZW50SWQsXG4gICAgICAgICAgICB0eXBlOiBlbGVtZW50Q29uZmlnLmVsZW1lbnRUeXBlLFxuICAgICAgICAgICAgY2F0ZWdvcnk6IGVsZW1lbnRDb25maWcuZWxlbWVudENhdGVnb3J5XG4gICAgICAgICAgfVxuICAgICAgICBdXCJcbiAgICAgICAgKG9uQ2xpY2spPVwiKHVuZGVmaW5lZClcIlxuICAgICAgPjwva3dpa3VpLXRhYmxlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiYmFzaWNGb3JtR3JvdXBcIj5cbiAgICAgIDxmaWVsZHNldD5cbiAgICAgICAgPGxlZ2VuZCBjbGFzcz1cImZvcm0tZ3JvdXAtdGl0bGVcIj5TdGFuZGFyZDwvbGVnZW5kPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgIDxrd2lrdWktaW5wdXRcbiAgICAgICAgICAgIFtsYWJlbF09XCInTGFiZWwnXCJcbiAgICAgICAgICAgIFtpZF09XCInYmFzaWMtZmllbGQtbGFiZWwnXCJcbiAgICAgICAgICAgIFt0eXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIidsYWJlbCdcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImJhc2ljRm9ybUdyb3VwLmNvbnRyb2xzWydsYWJlbCddXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1BsZWFzZSBlbnRlciB5b3VyIExhYmVsJ1wiXG4gICAgICAgICAgICBbZm9jdXNdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW2ludmFsaWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW2Nhc2VdPVwiJ2RlZmF1bHQnXCJcbiAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICA+PC9rd2lrdWktaW5wdXQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgIDxrd2lrdWktaW5wdXRcbiAgICAgICAgICAgIFtsYWJlbF09XCInS2V5J1wiXG4gICAgICAgICAgICBbaWRdPVwiJ2Jhc2ljLWZpZWxkLWtleSdcIlxuICAgICAgICAgICAgW3R5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiJ2tleSdcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImJhc2ljRm9ybUdyb3VwLmNvbnRyb2xzWydrZXknXVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidQbGVhc2UgZW50ZXIgeW91ciBLZXknXCJcbiAgICAgICAgICAgIFtmb2N1c109XCJmYWxzZVwiXG4gICAgICAgICAgICBbaW52YWxpZF09XCJmYWxzZVwiXG4gICAgICAgICAgICBbY2FzZV09XCInZGVmYXVsdCdcIlxuICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgID48L2t3aWt1aS1pbnB1dD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgPGt3aWt1aS1zZWxlY3QtY29tYm9ib3hcbiAgICAgICAgICAgIFtvcHRpb25zXT1cIlt0cnVlLCBmYWxzZV1cIlxuICAgICAgICAgICAgW2xhYmVsXT1cIidEaXNhYmxlZCdcIlxuICAgICAgICAgICAgW2lkXT1cIidiYXNpYy1pbnB1dC1wcm9wZXJ0eS1kaXNhYmxlZCdcIlxuICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCInZGlzYWJsZWQnXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJiYXNpY0Zvcm1Hcm91cC5jb250cm9sc1snZGlzYWJsZWQnXVwiXG4gICAgICAgICAgICBbZm9jdXNdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFtpbnZhbGlkXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInUGxlYXNlIHNlbGVjdCBlaXRoZXIgdHJ1ZSBvciBmYWxzZSdcIlxuICAgICAgICAgID48L2t3aWt1aS1zZWxlY3QtY29tYm9ib3g+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9maWVsZHNldD5cblxuICAgICAgPGRpdiBmb3JtR3JvdXBOYW1lPVwiZGVmYXVsdFwiPlxuICAgICAgICA8ZmllbGRzZXQ+XG4gICAgICAgICAgPGxlZ2VuZCBjbGFzcz1cImZvcm0tZ3JvdXAtdGl0bGVcIj5EZWZhdWx0PC9sZWdlbmQ+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgIDxrd2lrdWktc2VsZWN0LWNvbWJvYm94XG4gICAgICAgICAgICAgIFtvcHRpb25zXT1cIlt0cnVlLCBmYWxzZV1cIlxuICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3ZhbHVlJ1wiXG4gICAgICAgICAgICAgIFtpZF09XCInYmFzaWMtaW5wdXQtcHJvcGVydHktdmFsdWUnXCJcbiAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIid2YWx1ZSdcIlxuICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiXG4gICAgICAgICAgICAgICAgYmFzaWNGb3JtR3JvdXBbJ2NvbnRyb2xzJ10uZGVmYXVsdFsnY29udHJvbHMnXS52YWx1ZVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBbZm9jdXNdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbaW52YWxpZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInUGxlYXNlIHNlbGVjdCBlaXRoZXIgdHJ1ZSBvciBmYWxzZSdcIlxuICAgICAgICAgICAgPjwva3dpa3VpLXNlbGVjdC1jb21ib2JveD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9maWVsZHNldD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9XCJ2YWxpZGF0b3JzXCI+XG4gICAgICAgIDxmaWVsZHNldD5cbiAgICAgICAgICA8bGVnZW5kIGNsYXNzPVwiZm9ybS1ncm91cC10aXRsZVwiPlZhbGlkYXRvcnM8L2xlZ2VuZD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgICAgPGt3aWt1aS1pbnB1dC1udW1iZXJcbiAgICAgICAgICAgICAgW2xhYmVsXT1cIidtaW4nXCJcbiAgICAgICAgICAgICAgW2lkXT1cIidiYXNpYy1pbnB1dC12YWxpZGF0b3JzLW1pbidcIlxuICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIidtaW4nXCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIlxuICAgICAgICAgICAgICAgIGJhc2ljRm9ybUdyb3VwWydjb250cm9scyddLnZhbGlkYXRvcnNbJ2NvbnRyb2xzJ10ubWluXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInUGxlYXNlIGVudGVyIHlvdXIgbWluaW11bSB2YWx1ZSdcIlxuICAgICAgICAgICAgICBbZm9jdXNdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbaW52YWxpZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgID48L2t3aWt1aS1pbnB1dC1udW1iZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgIDxrd2lrdWktaW5wdXQtbnVtYmVyXG4gICAgICAgICAgICAgIFtsYWJlbF09XCInbWF4J1wiXG4gICAgICAgICAgICAgIFtpZF09XCInYmFzaWMtaW5wdXQtdmFsaWRhdG9ycy1tYXgnXCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCInbWF4J1wiXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJcbiAgICAgICAgICAgICAgICBiYXNpY0Zvcm1Hcm91cFsnY29udHJvbHMnXS52YWxpZGF0b3JzWydjb250cm9scyddLm1heFxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1BsZWFzZSBlbnRlciB5b3VyIG1heGltdW0gdmFsdWUnXCJcbiAgICAgICAgICAgICAgW2ZvY3VzXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW2ludmFsaWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICA+PC9rd2lrdWktaW5wdXQtbnVtYmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICA8a3dpa3VpLWlucHV0LW51bWJlclxuICAgICAgICAgICAgICBbbGFiZWxdPVwiJ21pbkxlbmd0aCdcIlxuICAgICAgICAgICAgICBbaWRdPVwiJ2Jhc2ljLWlucHV0LXZhbGlkYXRvcnMtbWluTGVuZ3RoJ1wiXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiJ21pbkxlbmd0aCdcIlxuICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiXG4gICAgICAgICAgICAgICAgYmFzaWNGb3JtR3JvdXBbJ2NvbnRyb2xzJ10udmFsaWRhdG9yc1snY29udHJvbHMnXS5taW5MZW5ndGhcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidQbGVhc2UgZW50ZXIgeW91ciBtaW5pbXVtIGxlbmd0aCB2YWx1ZSdcIlxuICAgICAgICAgICAgICBbZm9jdXNdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbaW52YWxpZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgID48L2t3aWt1aS1pbnB1dC1udW1iZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgIDxrd2lrdWktaW5wdXQtbnVtYmVyXG4gICAgICAgICAgICAgIFtsYWJlbF09XCInbWF4TGVuZ3RoJ1wiXG4gICAgICAgICAgICAgIFtpZF09XCInYmFzaWMtaW5wdXQtdmFsaWRhdG9ycy1tYXhMZW5ndGgnXCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCInbWF4TGVuZ3RoJ1wiXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJcbiAgICAgICAgICAgICAgICBiYXNpY0Zvcm1Hcm91cFsnY29udHJvbHMnXS52YWxpZGF0b3JzWydjb250cm9scyddLm1heExlbmd0aFxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1BsZWFzZSBlbnRlciB5b3VyIG1heGltdW0gbGVuZ3RoIHZhbHVlJ1wiXG4gICAgICAgICAgICAgIFtmb2N1c109XCJmYWxzZVwiXG4gICAgICAgICAgICAgIFtpbnZhbGlkXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgPjwva3dpa3VpLWlucHV0LW51bWJlcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgICAgPGt3aWt1aS1zZWxlY3QtY29tYm9ib3hcbiAgICAgICAgICAgICAgW29wdGlvbnNdPVwiW3RydWUsIGZhbHNlXVwiXG4gICAgICAgICAgICAgIFtsYWJlbF09XCIncmVxdWlyZWQnXCJcbiAgICAgICAgICAgICAgW2lkXT1cIidiYXNpYy1pbnB1dC1wcm9wZXJ0eS1yZXF1aXJlZCdcIlxuICAgICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiJ3JlcXVpcmVkJ1wiXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJcbiAgICAgICAgICAgICAgICBiYXNpY0Zvcm1Hcm91cFsnY29udHJvbHMnXS52YWxpZGF0b3JzWydjb250cm9scyddLnJlcXVpcmVkXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIFtmb2N1c109XCJmYWxzZVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgIFtpbnZhbGlkXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidQbGVhc2Ugc2VsZWN0IGVpdGhlciB0cnVlIG9yIGZhbHNlJ1wiXG4gICAgICAgICAgICA+PC9rd2lrdWktc2VsZWN0LWNvbWJvYm94PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT1cInByb3BlcnRpZXNcIj5cbiAgICAgICAgPGZpZWxkc2V0PlxuICAgICAgICAgIDxsZWdlbmQgY2xhc3M9XCJmb3JtLWdyb3VwLXRpdGxlXCI+UHJvcGVydGllczwvbGVnZW5kPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICA8a3dpa3VpLWlucHV0XG4gICAgICAgICAgICAgIFtsYWJlbF09XCInUGxhY2Vob2xkZXInXCJcbiAgICAgICAgICAgICAgW2lkXT1cIidiYXNpYy1maWVsZC1wbGFjZWhvbGRlcidcIlxuICAgICAgICAgICAgICBbdHlwZV09XCIndGV4dCdcIlxuICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIidwbGFjZWhvbGRlcidcIlxuICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiXG4gICAgICAgICAgICAgICAgYmFzaWNGb3JtR3JvdXAuY29udHJvbHMucHJvcGVydGllc1snY29udHJvbHMnXS5wbGFjZWhvbGRlclxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1BsZWFzZSBlbnRlciB5b3VyIHBsYWNlaG9sZGVyJ1wiXG4gICAgICAgICAgICAgIFtmb2N1c109XCJmYWxzZVwiXG4gICAgICAgICAgICAgIFtpbnZhbGlkXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW2Nhc2VdPVwiJ2RlZmF1bHQnXCJcbiAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgPjwva3dpa3VpLWlucHV0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICA8a3dpa3VpLXNlbGVjdC1jb21ib2JveFxuICAgICAgICAgICAgICBbb3B0aW9uc109XCJbdHJ1ZSwgZmFsc2VdXCJcbiAgICAgICAgICAgICAgW2xhYmVsXT1cIidyZWFkT25seSdcIlxuICAgICAgICAgICAgICBbaWRdPVwiJ2Jhc2ljLWlucHV0LXByb3BlcnR5LXJlYWRPbmx5J1wiXG4gICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCIncmVhZE9ubHknXCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIlxuICAgICAgICAgICAgICAgIGJhc2ljRm9ybUdyb3VwWydjb250cm9scyddLnByb3BlcnRpZXNbJ2NvbnRyb2xzJ10ucmVhZE9ubHlcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgW2ZvY3VzXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW2ludmFsaWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1BsZWFzZSBzZWxlY3QgZWl0aGVyIHRydWUgb3IgZmFsc2UnXCJcbiAgICAgICAgICAgID48L2t3aWt1aS1zZWxlY3QtY29tYm9ib3g+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZWxlbWVudFR5cGVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3RleHQnXCI+XG4gICAgICAgICAgPGJhc2ljLXRleHQtY29uZmlnLWVkaXRvclxuICAgICAgICAgICAgW3NhdmVCYXNpY0NsaWNrQ291bnRlcl09XCJzYXZlQmFzaWNDbGlja0NvdW50ZXJcIlxuICAgICAgICAgICAgW2VsZW1lbnRDb25maWddPVwiZWxlbWVudENvbmZpZ1wiXG4gICAgICAgICAgICAodXBkYXRlRWxlbWVudCk9XCJoYW5kbGVPblNhdmVVcGRhdGVFbGVtZW50KCRldmVudClcIlxuICAgICAgICAgID48L2Jhc2ljLXRleHQtY29uZmlnLWVkaXRvcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidudW1iZXInXCI+XG4gICAgICAgICAgPGJhc2ljLW51bWJlci1jb25maWctZWRpdG9yXG4gICAgICAgICAgICBbc2F2ZUJhc2ljQ2xpY2tDb3VudGVyXT1cInNhdmVCYXNpY0NsaWNrQ291bnRlclwiXG4gICAgICAgICAgICBbZWxlbWVudENvbmZpZ109XCJlbGVtZW50Q29uZmlnXCJcbiAgICAgICAgICAgICh1cGRhdGVFbGVtZW50KT1cImhhbmRsZU9uU2F2ZVVwZGF0ZUVsZW1lbnQoJGV2ZW50KVwiXG4gICAgICAgICAgPjwvYmFzaWMtbnVtYmVyLWNvbmZpZy1lZGl0b3I+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncmFkaW8nXCI+XG4gICAgICAgICAgPGJhc2ljLXJhZGlvLWNvbmZpZy1lZGl0b3JcbiAgICAgICAgICAgIFtzYXZlQmFzaWNDbGlja0NvdW50ZXJdPVwic2F2ZUJhc2ljQ2xpY2tDb3VudGVyXCJcbiAgICAgICAgICAgIFtlbGVtZW50Q29uZmlnXT1cImVsZW1lbnRDb25maWdcIlxuICAgICAgICAgICAgKHVwZGF0ZUVsZW1lbnQpPVwiaGFuZGxlT25TYXZlVXBkYXRlRWxlbWVudCgkZXZlbnQpXCJcbiAgICAgICAgICA+PC9iYXNpYy1yYWRpby1jb25maWctZWRpdG9yPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2Ryb3Bkb3duLXdpdGgtc2VhcmNoJ1wiPlxuICAgICAgICAgIDxiYXNpYy1kcm9wZG93bi13aXRoLXNlYXJjaC1jb25maWctZWRpdG9yXG4gICAgICAgICAgICBbc2F2ZUJhc2ljQ2xpY2tDb3VudGVyXT1cInNhdmVCYXNpY0NsaWNrQ291bnRlclwiXG4gICAgICAgICAgICBbZWxlbWVudENvbmZpZ109XCJlbGVtZW50Q29uZmlnXCJcbiAgICAgICAgICAgICh1cGRhdGVFbGVtZW50KT1cImhhbmRsZU9uU2F2ZVVwZGF0ZUVsZW1lbnQoJGV2ZW50KVwiXG4gICAgICAgICAgPjwvYmFzaWMtZHJvcGRvd24td2l0aC1zZWFyY2gtY29uZmlnLWVkaXRvcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidjaGVja2JveCdcIj5cbiAgICAgICAgICA8YmFzaWMtY2hlY2tib3gtY29uZmlnLWVkaXRvclxuICAgICAgICAgICAgW3NhdmVCYXNpY0NsaWNrQ291bnRlcl09XCJzYXZlQmFzaWNDbGlja0NvdW50ZXJcIlxuICAgICAgICAgICAgW2VsZW1lbnRDb25maWddPVwiZWxlbWVudENvbmZpZ1wiXG4gICAgICAgICAgICAodXBkYXRlRWxlbWVudCk9XCJoYW5kbGVPblNhdmVVcGRhdGVFbGVtZW50KCRldmVudClcIlxuICAgICAgICAgID48L2Jhc2ljLWNoZWNrYm94LWNvbmZpZy1lZGl0b3I+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGF0ZSdcIj5cbiAgICAgICAgICA8YmFzaWMtY2hlY2tib3gtY29uZmlnLWVkaXRvclxuICAgICAgICAgICAgW3NhdmVCYXNpY0NsaWNrQ291bnRlcl09XCJzYXZlQmFzaWNDbGlja0NvdW50ZXJcIlxuICAgICAgICAgICAgW2VsZW1lbnRDb25maWddPVwiZWxlbWVudENvbmZpZ1wiXG4gICAgICAgICAgICAodXBkYXRlRWxlbWVudCk9XCJoYW5kbGVPblNhdmVVcGRhdGVFbGVtZW50KCRldmVudClcIlxuICAgICAgICAgID48L2Jhc2ljLWNoZWNrYm94LWNvbmZpZy1lZGl0b3I+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInb3RwJ1wiPlxuICAgICAgICAgIDxiYXNpYy1vdHAtY29uZmlnLWVkaXRvclxuICAgICAgICAgICAgW3NhdmVCYXNpY0NsaWNrQ291bnRlcl09XCJzYXZlQmFzaWNDbGlja0NvdW50ZXJcIlxuICAgICAgICAgICAgW2VsZW1lbnRDb25maWddPVwiZWxlbWVudENvbmZpZ1wiXG4gICAgICAgICAgICAodXBkYXRlRWxlbWVudCk9XCJoYW5kbGVPblNhdmVVcGRhdGVFbGVtZW50KCRldmVudClcIlxuICAgICAgICAgID48L2Jhc2ljLW90cC1jb25maWctZWRpdG9yPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3Bob25lJ1wiPlxuICAgICAgICAgIDxiYXNpYy1waG9uZS1jb25maWctZWRpdG9yXG4gICAgICAgICAgICBbc2F2ZUJhc2ljQ2xpY2tDb3VudGVyXT1cInNhdmVCYXNpY0NsaWNrQ291bnRlclwiXG4gICAgICAgICAgICBbZWxlbWVudENvbmZpZ109XCJlbGVtZW50Q29uZmlnXCJcbiAgICAgICAgICAgICh1cGRhdGVFbGVtZW50KT1cImhhbmRsZU9uU2F2ZVVwZGF0ZUVsZW1lbnQoJGV2ZW50KVwiXG4gICAgICAgICAgPjwvYmFzaWMtcGhvbmUtY29uZmlnLWVkaXRvcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Zvcm0+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgICB9XG4gICAgYFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEJhc2ljRWxlbWVudENvbmZpZ0VkaXRvciBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHNhdmVDbGlja0NvdW50ZXI6IG51bWJlciA9IDA7XG5cbiAgQElucHV0KClcbiAgZWxlbWVudENvbmZpZzogYW55ID0ge1xuICAgIGxhYmVsOiBcIlwiLFxuICAgIGtleTogXCJcIixcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgZGVmYXVsdDoge1xuICAgICAgdmFsdWU6IHRydWVcbiAgICB9LFxuICAgIHZhbGlkYXRvcnM6IHtcbiAgICAgIG1pbjogbnVsbCxcbiAgICAgIG1heDogbnVsbCxcbiAgICAgIG1pbkxlbmd0aDogbnVsbCxcbiAgICAgIG1heExlbmd0aDogbnVsbCxcbiAgICAgIHJlcXVpcmVkOiB0cnVlXG4gICAgfSxcbiAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICBwbGFjZWhvbGRlcjogXCJcIixcbiAgICAgIHJlYWRPbmx5OiBmYWxzZVxuICAgIH1cbiAgfTtcblxuICBAT3V0cHV0KClcbiAgdXBkYXRlRWxlbWVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGVsZW1lbnRUeXBlOiBzdHJpbmcgPSBcIlwiO1xuICBzYXZlQmFzaWNDbGlja0NvdW50ZXI6IG51bWJlciA9IDA7XG5cbiAgYmFzaWNGb3JtR3JvdXA6IEZvcm1Hcm91cCA9IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgQGxvZ01ldGhvZFxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmFzc2lnblZhcmlhYmxlcygpO1xuICAgIHRoaXMuY3JlYXRlQmFzaWNGb3JtR3JvdXAoKTtcbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnN0IHZlcmlmeUNoYW5nZSA9IChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIGNoYW5nZXMuaGFzT3duUHJvcGVydHkoa2V5KSAmJiAhY2hhbmdlc1trZXldLmZpcnN0Q2hhbmdlO1xuICAgIH07XG5cbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwiZWxlbWVudENvbmZpZ1wiKSkge1xuICAgICAgdGhpcy5lbGVtZW50Q29uZmlnID0gY2hhbmdlcy5lbGVtZW50Q29uZmlnLmN1cnJlbnRWYWx1ZTtcbiAgICAgIHRoaXMuYXNzaWduVmFyaWFibGVzKCk7XG4gICAgICB0aGlzLmJhc2ljRm9ybUdyb3VwPy5yZXNldCh0aGlzLmVsZW1lbnRDb25maWcpO1xuICAgIH1cblxuICAgIGlmICh2ZXJpZnlDaGFuZ2UoXCJzYXZlQ2xpY2tDb3VudGVyXCIpKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGNoYW5nZXMuc2F2ZUNsaWNrQ291bnRlci5wcmV2aW91c1ZhbHVlICE9PVxuICAgICAgICBjaGFuZ2VzLnNhdmVDbGlja0NvdW50ZXIuY3VycmVudFZhbHVlXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5zYXZlQ2xpY2tDb3VudGVyID0gY2hhbmdlcy5zYXZlQ2xpY2tDb3VudGVyLmN1cnJlbnRWYWx1ZTtcblxuICAgICAgICB0aGlzLmhhbmRsZU9uU2F2ZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgYXNzaWduVmFyaWFibGVzKCkge1xuICAgIHRoaXMuZWxlbWVudFR5cGUgPSB0aGlzLmVsZW1lbnRDb25maWcuZWxlbWVudFR5cGU7XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIGNyZWF0ZUJhc2ljRm9ybUdyb3VwKCkge1xuICAgIHRoaXMuYmFzaWNGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgIGxhYmVsOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5lbGVtZW50Q29uZmlnLmxhYmVsKSxcbiAgICAgIGtleTogbmV3IEZvcm1Db250cm9sKHRoaXMuZWxlbWVudENvbmZpZy5rZXkpLFxuICAgICAgZGlzYWJsZWQ6IG5ldyBGb3JtQ29udHJvbCh0aGlzLmVsZW1lbnRDb25maWcuZGlzYWJsZWQpLFxuICAgICAgZGVmYXVsdDogbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgIHZhbHVlOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5lbGVtZW50Q29uZmlnLmRlZmF1bHQudmFsdWUsIHtcbiAgICAgICAgICB1cGRhdGVPbjogXCJjaGFuZ2VcIlxuICAgICAgICB9KVxuICAgICAgfSksXG4gICAgICB2YWxpZGF0b3JzOiBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgbWluOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5lbGVtZW50Q29uZmlnLnZhbGlkYXRvcnMubWluLCB7XG4gICAgICAgICAgdXBkYXRlT246IFwiY2hhbmdlXCJcbiAgICAgICAgfSksXG4gICAgICAgIG1pbkxlbmd0aDogbmV3IEZvcm1Db250cm9sKHRoaXMuZWxlbWVudENvbmZpZy52YWxpZGF0b3JzLm1pbkxlbmd0aCwge1xuICAgICAgICAgIHVwZGF0ZU9uOiBcImNoYW5nZVwiXG4gICAgICAgIH0pLFxuICAgICAgICBtYXg6IG5ldyBGb3JtQ29udHJvbCh0aGlzLmVsZW1lbnRDb25maWcudmFsaWRhdG9ycy5tYXgsIHtcbiAgICAgICAgICB1cGRhdGVPbjogXCJjaGFuZ2VcIlxuICAgICAgICB9KSxcbiAgICAgICAgbWF4TGVuZ3RoOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5lbGVtZW50Q29uZmlnLnZhbGlkYXRvcnMubWF4TGVuZ3RoLCB7XG4gICAgICAgICAgdXBkYXRlT246IFwiY2hhbmdlXCJcbiAgICAgICAgfSksXG4gICAgICAgIHJlcXVpcmVkOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5lbGVtZW50Q29uZmlnLnZhbGlkYXRvcnMucmVxdWlyZWQsIHtcbiAgICAgICAgICB1cGRhdGVPbjogXCJjaGFuZ2VcIlxuICAgICAgICB9KVxuICAgICAgfSksXG4gICAgICBwcm9wZXJ0aWVzOiBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgcGxhY2Vob2xkZXI6IG5ldyBGb3JtQ29udHJvbChcbiAgICAgICAgICB0aGlzLmVsZW1lbnRDb25maWcucHJvcGVydGllcy5wbGFjZWhvbGRlcixcbiAgICAgICAgICB7XG4gICAgICAgICAgICB1cGRhdGVPbjogXCJjaGFuZ2VcIlxuICAgICAgICAgIH1cbiAgICAgICAgKSxcbiAgICAgICAgcmVhZE9ubHk6IG5ldyBGb3JtQ29udHJvbCh0aGlzLmVsZW1lbnRDb25maWcucHJvcGVydGllcy5yZWFkT25seSwge1xuICAgICAgICAgIHVwZGF0ZU9uOiBcImNoYW5nZVwiXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgIH0pO1xuICAgIHRoaXMuYmFzaWNGb3JtR3JvdXAudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBoYW5kbGVPblNhdmVVcGRhdGVFbGVtZW50KGV2ZW50OiBhbnkpIHtcbiAgICAvLyBHZXQgQ29tbW9uIENvbmZpZ1xuICAgIGxldCBiYXNpY0VsZW1lbnRDb21tb25Db25maWcgPSB0aGlzLmJhc2ljRm9ybUdyb3VwLmdldFJhd1ZhbHVlKCk7XG4gICAgYmFzaWNFbGVtZW50Q29tbW9uQ29uZmlnLmtleSA9IGJhc2ljRWxlbWVudENvbW1vbkNvbmZpZy5rZXkucmVwbGFjZShcbiAgICAgIC9cXHMvZyxcbiAgICAgIFwiX1wiXG4gICAgKTtcblxuICAgIC8vIEdldCBCYXNpYyBFbGVtZW50IENvbmZpZ1xuICAgIGNvbnN0IGJhc2ljRWxlbWVudENvbmZpZyA9IGV2ZW50LmJhc2ljRWxlbWVudENvbmZpZztcblxuICAgIHRoaXMuZWxlbWVudENvbmZpZyA9IG1lcmdlT2JqZWN0cyhcbiAgICAgIHRoaXMuZWxlbWVudENvbmZpZyxcbiAgICAgIGJhc2ljRWxlbWVudENvbW1vbkNvbmZpZyxcbiAgICAgIGJhc2ljRWxlbWVudENvbmZpZ1xuICAgICk7XG5cbiAgICB0aGlzLnVwZGF0ZUVsZW1lbnQuZW1pdCh7IGVsZW1lbnRDb25maWc6IHRoaXMuZWxlbWVudENvbmZpZyB9KTtcbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgaGFuZGxlT25TYXZlKCkge1xuICAgIHRoaXMuc2F2ZUJhc2ljQ2xpY2tDb3VudGVyKys7XG4gIH1cbn1cbiJdfQ==
|
|
698
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMtZWxlbWVudC1jb25maWcuZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL2J1aWxkZXIvZWxlbWVudC1jb25maWctZWRpdG9yL2VkaXRvcnMvYmFzaWMtZWxlbWVudC1jb25maWcuZWRpdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7OztBQTZSekQsTUFBTSxPQUFPLHdCQUF3QjtJQWlDbkM7UUEvQkEscUJBQWdCLEdBQVcsQ0FBQyxDQUFDO1FBRzdCLGtCQUFhLEdBQVE7WUFDbkIsS0FBSyxFQUFFLEVBQUU7WUFDVCxHQUFHLEVBQUUsRUFBRTtZQUNQLFFBQVEsRUFBRSxLQUFLO1lBQ2YsT0FBTyxFQUFFO2dCQUNQLEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRCxVQUFVLEVBQUU7Z0JBQ1YsR0FBRyxFQUFFLElBQUk7Z0JBQ1QsR0FBRyxFQUFFLElBQUk7Z0JBQ1QsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsUUFBUSxFQUFFLElBQUk7YUFDZjtZQUNELFVBQVUsRUFBRTtnQkFDVixXQUFXLEVBQUUsRUFBRTtnQkFDZixRQUFRLEVBQUUsS0FBSzthQUNoQjtTQUNGLENBQUM7UUFHRixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFeEMsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsMEJBQXFCLEdBQVcsQ0FBQyxDQUFD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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyUVQ7QUFrREQ7SUFEQyxTQUFTO3dEQUlUO0FBR0Q7SUFEQyxTQUFTOzJEQXNCVDtBQUdEO0lBREMsU0FBUzsrREFHVDtBQUdEO0lBREMsU0FBUztvRUF5Q1Q7QUFHRDtJQURDLFNBQVM7eUVBbUJUO0FBR0Q7SUFEQyxTQUFTOzREQUdUOzRGQXpJVSx3QkFBd0I7a0JBM1JwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMlFUO29CQUNELE1BQU0sRUFBRTt3QkFDTjs7Ozs7Ozs7O0tBU0M7cUJBQ0Y7aUJBQ0Y7MEVBR0MsZ0JBQWdCO3NCQURmLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQXNCTixhQUFhO3NCQURaLE1BQU07Z0JBV1AsUUFBUSxNQU1SLFdBQVcsTUF3QlgsZUFBZSxNQUtmLG9CQUFvQixNQTJDcEIseUJBQXlCLE1BcUJ6QixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgbG9nTWV0aG9kLCBtZXJnZU9iamVjdHMgfSBmcm9tIFwia3dpa2lkLXRvb2xraXRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImJhc2ljLWVsZW1lbnQtY29uZmlnLWVkaXRvclwiLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbGVtZW50Q29uZmlnICE9PSB1bmRlZmluZWRcIj5cbiAgICAgIDxrd2lrdWktdGFibGVcbiAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBvdmVyZmxvdzogYXV0bzsgYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IC02cHggIzAwMDsgYm9yZGVyOiAwcHggc29saWQgZ3JheTsgYm9yZGVyLXJhZGl1czogMXJlbTtcIlxuICAgICAgICBbY29sdW1uc109XCJbJ2lkJywgJ3R5cGUnLCAnY2F0ZWdvcnknXVwiXG4gICAgICAgIFtoZWFkZXJzXT1cInsgaWQ6ICdJRCcsIHR5cGU6ICdUeXBlJywgY2F0ZWdvcnk6ICdDYXRlZ29yeScgfVwiXG4gICAgICAgIFtkYXRhXT1cIltcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogZWxlbWVudENvbmZpZy5lbGVtZW50SWQsXG4gICAgICAgICAgICB0eXBlOiBlbGVtZW50Q29uZmlnLmVsZW1lbnRUeXBlLFxuICAgICAgICAgICAgY2F0ZWdvcnk6IGVsZW1lbnRDb25maWcuZWxlbWVudENhdGVnb3J5XG4gICAgICAgICAgfVxuICAgICAgICBdXCJcbiAgICAgICAgKG9uQ2xpY2spPVwiKHVuZGVmaW5lZClcIlxuICAgICAgPjwva3dpa3VpLXRhYmxlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiYmFzaWNGb3JtR3JvdXBcIj5cbiAgICAgIDxmaWVsZHNldD5cbiAgICAgICAgPGxlZ2VuZCBjbGFzcz1cImZvcm0tZ3JvdXAtdGl0bGVcIj5TdGFuZGFyZDwvbGVnZW5kPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgIDxrd2lrdWktaW5wdXRcbiAgICAgICAgICAgIFtsYWJlbF09XCInTGFiZWwnXCJcbiAgICAgICAgICAgIFtpZF09XCInYmFzaWMtZmllbGQtbGFiZWwnXCJcbiAgICAgICAgICAgIFt0eXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIidsYWJlbCdcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImJhc2ljRm9ybUdyb3VwLmNvbnRyb2xzWydsYWJlbCddXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1BsZWFzZSBlbnRlciB5b3VyIExhYmVsJ1wiXG4gICAgICAgICAgICBbZm9jdXNdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW2ludmFsaWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW2Nhc2VdPVwiJ2RlZmF1bHQnXCJcbiAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICA+PC9rd2lrdWktaW5wdXQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgIDxrd2lrdWktaW5wdXRcbiAgICAgICAgICAgIFtsYWJlbF09XCInS2V5J1wiXG4gICAgICAgICAgICBbaWRdPVwiJ2Jhc2ljLWZpZWxkLWtleSdcIlxuICAgICAgICAgICAgW3R5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiJ2tleSdcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImJhc2ljRm9ybUdyb3VwLmNvbnRyb2xzWydrZXknXVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidQbGVhc2UgZW50ZXIgeW91ciBLZXknXCJcbiAgICAgICAgICAgIFtmb2N1c109XCJmYWxzZVwiXG4gICAgICAgICAgICBbaW52YWxpZF09XCJmYWxzZVwiXG4gICAgICAgICAgICBbY2FzZV09XCInZGVmYXVsdCdcIlxuICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgID48L2t3aWt1aS1pbnB1dD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgPGt3aWt1aS1pbnB1dC1zZWxlY3RcbiAgICAgICAgICAgIFtvcHRpb25zXT1cIlt0cnVlLCBmYWxzZV1cIlxuICAgICAgICAgICAgW2xhYmVsXT1cIidEaXNhYmxlZCdcIlxuICAgICAgICAgICAgW2lkXT1cIidiYXNpYy1pbnB1dC1wcm9wZXJ0eS1kaXNhYmxlZCdcIlxuICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCInZGlzYWJsZWQnXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJiYXNpY0Zvcm1Hcm91cC5jb250cm9sc1snZGlzYWJsZWQnXVwiXG4gICAgICAgICAgICBbZm9jdXNdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFtpbnZhbGlkXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInUGxlYXNlIHNlbGVjdCBlaXRoZXIgdHJ1ZSBvciBmYWxzZSdcIlxuICAgICAgICAgID48L2t3aWt1aS1pbnB1dC1zZWxlY3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9maWVsZHNldD5cblxuICAgICAgPGRpdiBmb3JtR3JvdXBOYW1lPVwiZGVmYXVsdFwiPlxuICAgICAgICA8ZmllbGRzZXQ+XG4gICAgICAgICAgPGxlZ2VuZCBjbGFzcz1cImZvcm0tZ3JvdXAtdGl0bGVcIj5EZWZhdWx0PC9sZWdlbmQ+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgIDxrd2lrdWktaW5wdXQtc2VsZWN0XG4gICAgICAgICAgICAgIFtvcHRpb25zXT1cIlt0cnVlLCBmYWxzZV1cIlxuICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3ZhbHVlJ1wiXG4gICAgICAgICAgICAgIFtpZF09XCInYmFzaWMtaW5wdXQtcHJvcGVydHktdmFsdWUnXCJcbiAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIid2YWx1ZSdcIlxuICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiXG4gICAgICAgICAgICAgICAgYmFzaWNGb3JtR3JvdXBbJ2NvbnRyb2xzJ10uZGVmYXVsdFsnY29udHJvbHMnXS52YWx1ZVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBbZm9jdXNdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbaW52YWxpZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInUGxlYXNlIHNlbGVjdCBlaXRoZXIgdHJ1ZSBvciBmYWxzZSdcIlxuICAgICAgICAgICAgPjwva3dpa3VpLWlucHV0LXNlbGVjdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9maWVsZHNldD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9XCJ2YWxpZGF0b3JzXCI+XG4gICAgICAgIDxmaWVsZHNldD5cbiAgICAgICAgICA8bGVnZW5kIGNsYXNzPVwiZm9ybS1ncm91cC10aXRsZVwiPlZhbGlkYXRvcnM8L2xlZ2VuZD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgICAgPGt3aWt1aS1pbnB1dC1udW1iZXJcbiAgICAgICAgICAgICAgW2xhYmVsXT1cIidtaW4nXCJcbiAgICAgICAgICAgICAgW2lkXT1cIidiYXNpYy1pbnB1dC12YWxpZGF0b3JzLW1pbidcIlxuICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIidtaW4nXCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIlxuICAgICAgICAgICAgICAgIGJhc2ljRm9ybUdyb3VwWydjb250cm9scyddLnZhbGlkYXRvcnNbJ2NvbnRyb2xzJ10ubWluXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInUGxlYXNlIGVudGVyIHlvdXIgbWluaW11bSB2YWx1ZSdcIlxuICAgICAgICAgICAgICBbZm9jdXNdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbaW52YWxpZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgID48L2t3aWt1aS1pbnB1dC1udW1iZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgIDxrd2lrdWktaW5wdXQtbnVtYmVyXG4gICAgICAgICAgICAgIFtsYWJlbF09XCInbWF4J1wiXG4gICAgICAgICAgICAgIFtpZF09XCInYmFzaWMtaW5wdXQtdmFsaWRhdG9ycy1tYXgnXCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCInbWF4J1wiXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJcbiAgICAgICAgICAgICAgICBiYXNpY0Zvcm1Hcm91cFsnY29udHJvbHMnXS52YWxpZGF0b3JzWydjb250cm9scyddLm1heFxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1BsZWFzZSBlbnRlciB5b3VyIG1heGltdW0gdmFsdWUnXCJcbiAgICAgICAgICAgICAgW2ZvY3VzXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW2ludmFsaWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICA+PC9rd2lrdWktaW5wdXQtbnVtYmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICA8a3dpa3VpLWlucHV0LW51bWJlclxuICAgICAgICAgICAgICBbbGFiZWxdPVwiJ21pbkxlbmd0aCdcIlxuICAgICAgICAgICAgICBbaWRdPVwiJ2Jhc2ljLWlucHV0LXZhbGlkYXRvcnMtbWluTGVuZ3RoJ1wiXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiJ21pbkxlbmd0aCdcIlxuICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiXG4gICAgICAgICAgICAgICAgYmFzaWNGb3JtR3JvdXBbJ2NvbnRyb2xzJ10udmFsaWRhdG9yc1snY29udHJvbHMnXS5taW5MZW5ndGhcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidQbGVhc2UgZW50ZXIgeW91ciBtaW5pbXVtIGxlbmd0aCB2YWx1ZSdcIlxuICAgICAgICAgICAgICBbZm9jdXNdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbaW52YWxpZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgID48L2t3aWt1aS1pbnB1dC1udW1iZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgIDxrd2lrdWktaW5wdXQtbnVtYmVyXG4gICAgICAgICAgICAgIFtsYWJlbF09XCInbWF4TGVuZ3RoJ1wiXG4gICAgICAgICAgICAgIFtpZF09XCInYmFzaWMtaW5wdXQtdmFsaWRhdG9ycy1tYXhMZW5ndGgnXCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCInbWF4TGVuZ3RoJ1wiXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJcbiAgICAgICAgICAgICAgICBiYXNpY0Zvcm1Hcm91cFsnY29udHJvbHMnXS52YWxpZGF0b3JzWydjb250cm9scyddLm1heExlbmd0aFxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1BsZWFzZSBlbnRlciB5b3VyIG1heGltdW0gbGVuZ3RoIHZhbHVlJ1wiXG4gICAgICAgICAgICAgIFtmb2N1c109XCJmYWxzZVwiXG4gICAgICAgICAgICAgIFtpbnZhbGlkXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgPjwva3dpa3VpLWlucHV0LW51bWJlcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgICAgPGt3aWt1aS1pbnB1dC1zZWxlY3RcbiAgICAgICAgICAgICAgW29wdGlvbnNdPVwiW3RydWUsIGZhbHNlXVwiXG4gICAgICAgICAgICAgIFtsYWJlbF09XCIncmVxdWlyZWQnXCJcbiAgICAgICAgICAgICAgW2lkXT1cIidiYXNpYy1pbnB1dC1wcm9wZXJ0eS1yZXF1aXJlZCdcIlxuICAgICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiJ3JlcXVpcmVkJ1wiXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJcbiAgICAgICAgICAgICAgICBiYXNpY0Zvcm1Hcm91cFsnY29udHJvbHMnXS52YWxpZGF0b3JzWydjb250cm9scyddLnJlcXVpcmVkXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIFtmb2N1c109XCJmYWxzZVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgIFtpbnZhbGlkXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidQbGVhc2Ugc2VsZWN0IGVpdGhlciB0cnVlIG9yIGZhbHNlJ1wiXG4gICAgICAgICAgICA+PC9rd2lrdWktaW5wdXQtc2VsZWN0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT1cInByb3BlcnRpZXNcIj5cbiAgICAgICAgPGZpZWxkc2V0PlxuICAgICAgICAgIDxsZWdlbmQgY2xhc3M9XCJmb3JtLWdyb3VwLXRpdGxlXCI+UHJvcGVydGllczwvbGVnZW5kPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICA8a3dpa3VpLWlucHV0XG4gICAgICAgICAgICAgIFtsYWJlbF09XCInUGxhY2Vob2xkZXInXCJcbiAgICAgICAgICAgICAgW2lkXT1cIidiYXNpYy1maWVsZC1wbGFjZWhvbGRlcidcIlxuICAgICAgICAgICAgICBbdHlwZV09XCIndGV4dCdcIlxuICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIidwbGFjZWhvbGRlcidcIlxuICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiXG4gICAgICAgICAgICAgICAgYmFzaWNGb3JtR3JvdXAuY29udHJvbHMucHJvcGVydGllc1snY29udHJvbHMnXS5wbGFjZWhvbGRlclxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1BsZWFzZSBlbnRlciB5b3VyIHBsYWNlaG9sZGVyJ1wiXG4gICAgICAgICAgICAgIFtmb2N1c109XCJmYWxzZVwiXG4gICAgICAgICAgICAgIFtpbnZhbGlkXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW2Nhc2VdPVwiJ2RlZmF1bHQnXCJcbiAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgPjwva3dpa3VpLWlucHV0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICA8a3dpa3VpLWlucHV0LXNlbGVjdFxuICAgICAgICAgICAgICBbb3B0aW9uc109XCJbdHJ1ZSwgZmFsc2VdXCJcbiAgICAgICAgICAgICAgW2xhYmVsXT1cIidyZWFkT25seSdcIlxuICAgICAgICAgICAgICBbaWRdPVwiJ2Jhc2ljLWlucHV0LXByb3BlcnR5LXJlYWRPbmx5J1wiXG4gICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCIncmVhZE9ubHknXCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIlxuICAgICAgICAgICAgICAgIGJhc2ljRm9ybUdyb3VwWydjb250cm9scyddLnByb3BlcnRpZXNbJ2NvbnRyb2xzJ10ucmVhZE9ubHlcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgW2ZvY3VzXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW2ludmFsaWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1BsZWFzZSBzZWxlY3QgZWl0aGVyIHRydWUgb3IgZmFsc2UnXCJcbiAgICAgICAgICAgID48L2t3aWt1aS1pbnB1dC1zZWxlY3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZWxlbWVudFR5cGVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3RleHQnXCI+XG4gICAgICAgICAgPGJhc2ljLXRleHQtY29uZmlnLWVkaXRvclxuICAgICAgICAgICAgW3NhdmVCYXNpY0NsaWNrQ291bnRlcl09XCJzYXZlQmFzaWNDbGlja0NvdW50ZXJcIlxuICAgICAgICAgICAgW2VsZW1lbnRDb25maWddPVwiZWxlbWVudENvbmZpZ1wiXG4gICAgICAgICAgICAodXBkYXRlRWxlbWVudCk9XCJoYW5kbGVPblNhdmVVcGRhdGVFbGVtZW50KCRldmVudClcIlxuICAgICAgICAgID48L2Jhc2ljLXRleHQtY29uZmlnLWVkaXRvcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidudW1iZXInXCI+XG4gICAgICAgICAgPGJhc2ljLW51bWJlci1jb25maWctZWRpdG9yXG4gICAgICAgICAgICBbc2F2ZUJhc2ljQ2xpY2tDb3VudGVyXT1cInNhdmVCYXNpY0NsaWNrQ291bnRlclwiXG4gICAgICAgICAgICBbZWxlbWVudENvbmZpZ109XCJlbGVtZW50Q29uZmlnXCJcbiAgICAgICAgICAgICh1cGRhdGVFbGVtZW50KT1cImhhbmRsZU9uU2F2ZVVwZGF0ZUVsZW1lbnQoJGV2ZW50KVwiXG4gICAgICAgICAgPjwvYmFzaWMtbnVtYmVyLWNvbmZpZy1lZGl0b3I+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncmFkaW8nXCI+XG4gICAgICAgICAgPGJhc2ljLXJhZGlvLWNvbmZpZy1lZGl0b3JcbiAgICAgICAgICAgIFtzYXZlQmFzaWNDbGlja0NvdW50ZXJdPVwic2F2ZUJhc2ljQ2xpY2tDb3VudGVyXCJcbiAgICAgICAgICAgIFtlbGVtZW50Q29uZmlnXT1cImVsZW1lbnRDb25maWdcIlxuICAgICAgICAgICAgKHVwZGF0ZUVsZW1lbnQpPVwiaGFuZGxlT25TYXZlVXBkYXRlRWxlbWVudCgkZXZlbnQpXCJcbiAgICAgICAgICA+PC9iYXNpYy1yYWRpby1jb25maWctZWRpdG9yPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3NlbGVjdCdcIj5cbiAgICAgICAgICA8YmFzaWMtc2VsZWN0LWNvbmZpZy1lZGl0b3JcbiAgICAgICAgICAgIFtzYXZlQmFzaWNDbGlja0NvdW50ZXJdPVwic2F2ZUJhc2ljQ2xpY2tDb3VudGVyXCJcbiAgICAgICAgICAgIFtlbGVtZW50Q29uZmlnXT1cImVsZW1lbnRDb25maWdcIlxuICAgICAgICAgICAgKHVwZGF0ZUVsZW1lbnQpPVwiaGFuZGxlT25TYXZlVXBkYXRlRWxlbWVudCgkZXZlbnQpXCJcbiAgICAgICAgICA+PC9iYXNpYy1zZWxlY3QtY29uZmlnLWVkaXRvcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidjaGVja2JveCdcIj5cbiAgICAgICAgICA8YmFzaWMtY2hlY2tib3gtY29uZmlnLWVkaXRvclxuICAgICAgICAgICAgW3NhdmVCYXNpY0NsaWNrQ291bnRlcl09XCJzYXZlQmFzaWNDbGlja0NvdW50ZXJcIlxuICAgICAgICAgICAgW2VsZW1lbnRDb25maWddPVwiZWxlbWVudENvbmZpZ1wiXG4gICAgICAgICAgICAodXBkYXRlRWxlbWVudCk9XCJoYW5kbGVPblNhdmVVcGRhdGVFbGVtZW50KCRldmVudClcIlxuICAgICAgICAgID48L2Jhc2ljLWNoZWNrYm94LWNvbmZpZy1lZGl0b3I+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGF0ZSdcIj5cbiAgICAgICAgICA8YmFzaWMtY2hlY2tib3gtY29uZmlnLWVkaXRvclxuICAgICAgICAgICAgW3NhdmVCYXNpY0NsaWNrQ291bnRlcl09XCJzYXZlQmFzaWNDbGlja0NvdW50ZXJcIlxuICAgICAgICAgICAgW2VsZW1lbnRDb25maWddPVwiZWxlbWVudENvbmZpZ1wiXG4gICAgICAgICAgICAodXBkYXRlRWxlbWVudCk9XCJoYW5kbGVPblNhdmVVcGRhdGVFbGVtZW50KCRldmVudClcIlxuICAgICAgICAgID48L2Jhc2ljLWNoZWNrYm94LWNvbmZpZy1lZGl0b3I+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInb3RwJ1wiPlxuICAgICAgICAgIDxiYXNpYy1vdHAtY29uZmlnLWVkaXRvclxuICAgICAgICAgICAgW3NhdmVCYXNpY0NsaWNrQ291bnRlcl09XCJzYXZlQmFzaWNDbGlja0NvdW50ZXJcIlxuICAgICAgICAgICAgW2VsZW1lbnRDb25maWddPVwiZWxlbWVudENvbmZpZ1wiXG4gICAgICAgICAgICAodXBkYXRlRWxlbWVudCk9XCJoYW5kbGVPblNhdmVVcGRhdGVFbGVtZW50KCRldmVudClcIlxuICAgICAgICAgID48L2Jhc2ljLW90cC1jb25maWctZWRpdG9yPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3Bob25lJ1wiPlxuICAgICAgICAgIDxiYXNpYy1waG9uZS1jb25maWctZWRpdG9yXG4gICAgICAgICAgICBbc2F2ZUJhc2ljQ2xpY2tDb3VudGVyXT1cInNhdmVCYXNpY0NsaWNrQ291bnRlclwiXG4gICAgICAgICAgICBbZWxlbWVudENvbmZpZ109XCJlbGVtZW50Q29uZmlnXCJcbiAgICAgICAgICAgICh1cGRhdGVFbGVtZW50KT1cImhhbmRsZU9uU2F2ZVVwZGF0ZUVsZW1lbnQoJGV2ZW50KVwiXG4gICAgICAgICAgPjwvYmFzaWMtcGhvbmUtY29uZmlnLWVkaXRvcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Zvcm0+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgICB9XG4gICAgYFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEJhc2ljRWxlbWVudENvbmZpZ0VkaXRvciBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHNhdmVDbGlja0NvdW50ZXI6IG51bWJlciA9IDA7XG5cbiAgQElucHV0KClcbiAgZWxlbWVudENvbmZpZzogYW55ID0ge1xuICAgIGxhYmVsOiBcIlwiLFxuICAgIGtleTogXCJcIixcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgZGVmYXVsdDoge1xuICAgICAgdmFsdWU6IHRydWVcbiAgICB9LFxuICAgIHZhbGlkYXRvcnM6IHtcbiAgICAgIG1pbjogbnVsbCxcbiAgICAgIG1heDogbnVsbCxcbiAgICAgIG1pbkxlbmd0aDogbnVsbCxcbiAgICAgIG1heExlbmd0aDogbnVsbCxcbiAgICAgIHJlcXVpcmVkOiB0cnVlXG4gICAgfSxcbiAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICBwbGFjZWhvbGRlcjogXCJcIixcbiAgICAgIHJlYWRPbmx5OiBmYWxzZVxuICAgIH1cbiAgfTtcblxuICBAT3V0cHV0KClcbiAgdXBkYXRlRWxlbWVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGVsZW1lbnRUeXBlOiBzdHJpbmcgPSBcIlwiO1xuICBzYXZlQmFzaWNDbGlja0NvdW50ZXI6IG51bWJlciA9IDA7XG5cbiAgYmFzaWNGb3JtR3JvdXA6IEZvcm1Hcm91cCA9IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgQGxvZ01ldGhvZFxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmFzc2lnblZhcmlhYmxlcygpO1xuICAgIHRoaXMuY3JlYXRlQmFzaWNGb3JtR3JvdXAoKTtcbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnN0IHZlcmlmeUNoYW5nZSA9IChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIGNoYW5nZXMuaGFzT3duUHJvcGVydHkoa2V5KSAmJiAhY2hhbmdlc1trZXldLmZpcnN0Q2hhbmdlO1xuICAgIH07XG5cbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwiZWxlbWVudENvbmZpZ1wiKSkge1xuICAgICAgdGhpcy5lbGVtZW50Q29uZmlnID0gY2hhbmdlcy5lbGVtZW50Q29uZmlnLmN1cnJlbnRWYWx1ZTtcbiAgICAgIHRoaXMuYXNzaWduVmFyaWFibGVzKCk7XG4gICAgICB0aGlzLmJhc2ljRm9ybUdyb3VwPy5yZXNldCh0aGlzLmVsZW1lbnRDb25maWcpO1xuICAgIH1cblxuICAgIGlmICh2ZXJpZnlDaGFuZ2UoXCJzYXZlQ2xpY2tDb3VudGVyXCIpKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGNoYW5nZXMuc2F2ZUNsaWNrQ291bnRlci5wcmV2aW91c1ZhbHVlICE9PVxuICAgICAgICBjaGFuZ2VzLnNhdmVDbGlja0NvdW50ZXIuY3VycmVudFZhbHVlXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5zYXZlQ2xpY2tDb3VudGVyID0gY2hhbmdlcy5zYXZlQ2xpY2tDb3VudGVyLmN1cnJlbnRWYWx1ZTtcblxuICAgICAgICB0aGlzLmhhbmRsZU9uU2F2ZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgYXNzaWduVmFyaWFibGVzKCkge1xuICAgIHRoaXMuZWxlbWVudFR5cGUgPSB0aGlzLmVsZW1lbnRDb25maWcuZWxlbWVudFR5cGU7XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIGNyZWF0ZUJhc2ljRm9ybUdyb3VwKCkge1xuICAgIHRoaXMuYmFzaWNGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgIGxhYmVsOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5lbGVtZW50Q29uZmlnLmxhYmVsKSxcbiAgICAgIGtleTogbmV3IEZvcm1Db250cm9sKHRoaXMuZWxlbWVudENvbmZpZy5rZXkpLFxuICAgICAgZGlzYWJsZWQ6IG5ldyBGb3JtQ29udHJvbCh0aGlzLmVsZW1lbnRDb25maWcuZGlzYWJsZWQpLFxuICAgICAgZGVmYXVsdDogbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgIHZhbHVlOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5lbGVtZW50Q29uZmlnLmRlZmF1bHQudmFsdWUsIHtcbiAgICAgICAgICB1cGRhdGVPbjogXCJjaGFuZ2VcIlxuICAgICAgICB9KVxuICAgICAgfSksXG4gICAgICB2YWxpZGF0b3JzOiBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgbWluOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5lbGVtZW50Q29uZmlnLnZhbGlkYXRvcnMubWluLCB7XG4gICAgICAgICAgdXBkYXRlT246IFwiY2hhbmdlXCJcbiAgICAgICAgfSksXG4gICAgICAgIG1pbkxlbmd0aDogbmV3IEZvcm1Db250cm9sKHRoaXMuZWxlbWVudENvbmZpZy52YWxpZGF0b3JzLm1pbkxlbmd0aCwge1xuICAgICAgICAgIHVwZGF0ZU9uOiBcImNoYW5nZVwiXG4gICAgICAgIH0pLFxuICAgICAgICBtYXg6IG5ldyBGb3JtQ29udHJvbCh0aGlzLmVsZW1lbnRDb25maWcudmFsaWRhdG9ycy5tYXgsIHtcbiAgICAgICAgICB1cGRhdGVPbjogXCJjaGFuZ2VcIlxuICAgICAgICB9KSxcbiAgICAgICAgbWF4TGVuZ3RoOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5lbGVtZW50Q29uZmlnLnZhbGlkYXRvcnMubWF4TGVuZ3RoLCB7XG4gICAgICAgICAgdXBkYXRlT246IFwiY2hhbmdlXCJcbiAgICAgICAgfSksXG4gICAgICAgIHJlcXVpcmVkOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5lbGVtZW50Q29uZmlnLnZhbGlkYXRvcnMucmVxdWlyZWQsIHtcbiAgICAgICAgICB1cGRhdGVPbjogXCJjaGFuZ2VcIlxuICAgICAgICB9KVxuICAgICAgfSksXG4gICAgICBwcm9wZXJ0aWVzOiBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgcGxhY2Vob2xkZXI6IG5ldyBGb3JtQ29udHJvbChcbiAgICAgICAgICB0aGlzLmVsZW1lbnRDb25maWcucHJvcGVydGllcy5wbGFjZWhvbGRlcixcbiAgICAgICAgICB7XG4gICAgICAgICAgICB1cGRhdGVPbjogXCJjaGFuZ2VcIlxuICAgICAgICAgIH1cbiAgICAgICAgKSxcbiAgICAgICAgcmVhZE9ubHk6IG5ldyBGb3JtQ29udHJvbCh0aGlzLmVsZW1lbnRDb25maWcucHJvcGVydGllcy5yZWFkT25seSwge1xuICAgICAgICAgIHVwZGF0ZU9uOiBcImNoYW5nZVwiXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgIH0pO1xuICAgIHRoaXMuYmFzaWNGb3JtR3JvdXAudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBoYW5kbGVPblNhdmVVcGRhdGVFbGVtZW50KGV2ZW50OiBhbnkpIHtcbiAgICAvLyBHZXQgQ29tbW9uIENvbmZpZ1xuICAgIGxldCBiYXNpY0VsZW1lbnRDb21tb25Db25maWcgPSB0aGlzLmJhc2ljRm9ybUdyb3VwLmdldFJhd1ZhbHVlKCk7XG4gICAgYmFzaWNFbGVtZW50Q29tbW9uQ29uZmlnLmtleSA9IGJhc2ljRWxlbWVudENvbW1vbkNvbmZpZy5rZXkucmVwbGFjZShcbiAgICAgIC9cXHMvZyxcbiAgICAgIFwiX1wiXG4gICAgKTtcblxuICAgIC8vIEdldCBCYXNpYyBFbGVtZW50IENvbmZpZ1xuICAgIGNvbnN0IGJhc2ljRWxlbWVudENvbmZpZyA9IGV2ZW50LmJhc2ljRWxlbWVudENvbmZpZztcblxuICAgIHRoaXMuZWxlbWVudENvbmZpZyA9IG1lcmdlT2JqZWN0cyhcbiAgICAgIHRoaXMuZWxlbWVudENvbmZpZyxcbiAgICAgIGJhc2ljRWxlbWVudENvbW1vbkNvbmZpZyxcbiAgICAgIGJhc2ljRWxlbWVudENvbmZpZ1xuICAgICk7XG5cbiAgICB0aGlzLnVwZGF0ZUVsZW1lbnQuZW1pdCh7IGVsZW1lbnRDb25maWc6IHRoaXMuZWxlbWVudENvbmZpZyB9KTtcbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgaGFuZGxlT25TYXZlKCkge1xuICAgIHRoaXMuc2F2ZUJhc2ljQ2xpY2tDb3VudGVyKys7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -61,7 +61,7 @@ export class DocumentPanNumberConfigEditor {
|
|
|
61
61
|
<fieldset>
|
|
62
62
|
<legend class="form-group-title">Miscellaneous</legend>
|
|
63
63
|
<div class="form-group">
|
|
64
|
-
<kwikui-select
|
|
64
|
+
<kwikui-input-select
|
|
65
65
|
[options]="['default', 'upper', 'lower']"
|
|
66
66
|
[label]="'case'"
|
|
67
67
|
[id]="'document-pan-number-config-case'"
|
|
@@ -75,12 +75,12 @@ export class DocumentPanNumberConfigEditor {
|
|
|
75
75
|
[disabled]="false"
|
|
76
76
|
[invalid]="false"
|
|
77
77
|
[placeholder]="'Please select either true or false'"
|
|
78
|
-
></kwikui-select
|
|
78
|
+
></kwikui-input-select>
|
|
79
79
|
</div>
|
|
80
80
|
</fieldset>
|
|
81
81
|
</div>
|
|
82
82
|
</form>
|
|
83
|
-
`, isInline: true, styles: [""], components: [{ type: i1.
|
|
83
|
+
`, isInline: true, styles: [""], components: [{ type: i1.KwikUIInputSelectComponent, selector: "kwikui-input-select", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "options", "size", "validators", "properties"], outputs: ["getKeyValue"] }], directives: [{ type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
84
84
|
__decorate([
|
|
85
85
|
logMethod
|
|
86
86
|
], DocumentPanNumberConfigEditor.prototype, "ngOnInit", null);
|
|
@@ -103,7 +103,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
103
103
|
<fieldset>
|
|
104
104
|
<legend class="form-group-title">Miscellaneous</legend>
|
|
105
105
|
<div class="form-group">
|
|
106
|
-
<kwikui-select
|
|
106
|
+
<kwikui-input-select
|
|
107
107
|
[options]="['default', 'upper', 'lower']"
|
|
108
108
|
[label]="'case'"
|
|
109
109
|
[id]="'document-pan-number-config-case'"
|
|
@@ -117,7 +117,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
117
117
|
[disabled]="false"
|
|
118
118
|
[invalid]="false"
|
|
119
119
|
[placeholder]="'Please select either true or false'"
|
|
120
|
-
></kwikui-select
|
|
120
|
+
></kwikui-input-select>
|
|
121
121
|
</div>
|
|
122
122
|
</fieldset>
|
|
123
123
|
</div>
|
|
@@ -132,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
132
132
|
}], updateElement: [{
|
|
133
133
|
type: Output
|
|
134
134
|
}], ngOnInit: [], ngOnChanges: [], createDocumentPanNumberFormGroup: [], handleOnSave: [] } });
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuLW51bWJlci1jb25maWcuZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL2J1aWxkZXIvZWxlbWVudC1jb25maWctZWRpdG9yL2VkaXRvcnMvZG9jdW1lbnQvcGFuLW51bWJlci1jb25maWcuZWRpdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQWdDM0MsTUFBTSxPQUFPLDZCQUE2QjtJQWdCeEM7UUFkQSw2QkFBd0IsR0FBVyxDQUFDLENBQUM7UUFHckMsa0JBQWEsR0FBUTtZQUNuQixVQUFVLEVBQUU7Z0JBQ1YsSUFBSSxFQUFFLE9BQU87YUFDZDtTQUNGLENBQUM7UUFHRixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFeEMsK0JBQTBCLEdBQWMsU0FBUyxDQUFDO0lBRW5DLENBQUM7SUFHaEIsUUFBUTtRQUNOLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFHRCxXQUFXLENBQUMsT0FBc0I7O1FBQ2hDLE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDbkMsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNsRSxDQUFDLENBQUM7UUFFRixJQUFJLFlBQVksQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1lBQ3hELE1BQUEsSUFBSSxDQUFDLDBCQUEwQiwwQ0FBRSxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzVEO1FBQ0QsSUFBSSxZQUFZLENBQUMsMEJBQTBCLENBQUMsRUFBRTtZQUM1QyxJQUNFLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxhQUFhO2dCQUM5QyxPQUFPLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUM3QztnQkFDQSxJQUFJLENBQUMsd0JBQXdCO29CQUMzQixPQUFPLENBQUMsd0JBQXdCLENBQUMsWUFBWSxDQUFDO2dCQUVoRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7YUFDckI7U0FDRjtJQUNILENBQUM7SUFHRCxnQ0FBZ0M7UUFDOUIsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksU0FBUyxDQUFDO1lBQzlDLFVBQVUsRUFBRSxJQUFJLFNBQVMsQ0FBQztnQkFDeEIsSUFBSSxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRTtvQkFDeEQsUUFBUSxFQUFFLFFBQVE7aUJBQ25CLENBQUM7YUFDSCxDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLDBCQUEwQixDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDM0QsQ0FBQztJQUdELFlBQVk7UUFDVixJQUFJLHFCQUFxQixHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUUxRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztZQUN0QixxQkFBcUIsRUFBRSxxQkFBcUI7U0FDN0MsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OElBakVVLDZCQUE2QjtrSUFBN0IsNkJBQTZCLDZPQTVCOUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5QlQ7QUFzQkQ7SUFEQyxTQUFTOzZEQUdUO0FBR0Q7SUFEQyxTQUFTO2dFQXFCVDtBQUdEO0lBREMsU0FBUztxRkFVVDtBQUdEO0lBREMsU0FBUztpRUFPVDs0RkFqRVUsNkJBQTZCO2tCQTlCekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUNBQW1DO29CQUM3QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5QlQ7b0JBQ0QsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO2lCQUNiOzBFQUdDLHdCQUF3QjtzQkFEdkIsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBUU4sYUFBYTtzQkFEWixNQUFNO2dCQVFQLFFBQVEsTUFLUixXQUFXLE1BdUJYLGdDQUFnQyxNQVloQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgbG9nTWV0aG9kIH0gZnJvbSBcImt3aWtpZC10b29sa2l0XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJkb2N1bWVudC1wYW4tbnVtYmVyLWNvbmZpZy1lZGl0b3JcIixcbiAgdGVtcGxhdGU6IGBcbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImRvY3VtZW50UGFuTnVtYmVyRm9ybUdyb3VwXCI+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9XCJwcm9wZXJ0aWVzXCI+
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuLW51bWJlci1jb25maWcuZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL2J1aWxkZXIvZWxlbWVudC1jb25maWctZWRpdG9yL2VkaXRvcnMvZG9jdW1lbnQvcGFuLW51bWJlci1jb25maWcuZWRpdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQWdDM0MsTUFBTSxPQUFPLDZCQUE2QjtJQWdCeEM7UUFkQSw2QkFBd0IsR0FBVyxDQUFDLENBQUM7UUFHckMsa0JBQWEsR0FBUTtZQUNuQixVQUFVLEVBQUU7Z0JBQ1YsSUFBSSxFQUFFLE9BQU87YUFDZDtTQUNGLENBQUM7UUFHRixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFeEMsK0JBQTBCLEdBQWMsU0FBUyxDQUFDO0lBRW5DLENBQUM7SUFHaEIsUUFBUTtRQUNOLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFHRCxXQUFXLENBQUMsT0FBc0I7O1FBQ2hDLE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDbkMsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNsRSxDQUFDLENBQUM7UUFFRixJQUFJLFlBQVksQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1lBQ3hELE1BQUEsSUFBSSxDQUFDLDBCQUEwQiwwQ0FBRSxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzVEO1FBQ0QsSUFBSSxZQUFZLENBQUMsMEJBQTBCLENBQUMsRUFBRTtZQUM1QyxJQUNFLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxhQUFhO2dCQUM5QyxPQUFPLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUM3QztnQkFDQSxJQUFJLENBQUMsd0JBQXdCO29CQUMzQixPQUFPLENBQUMsd0JBQXdCLENBQUMsWUFBWSxDQUFDO2dCQUVoRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7YUFDckI7U0FDRjtJQUNILENBQUM7SUFHRCxnQ0FBZ0M7UUFDOUIsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksU0FBUyxDQUFDO1lBQzlDLFVBQVUsRUFBRSxJQUFJLFNBQVMsQ0FBQztnQkFDeEIsSUFBSSxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRTtvQkFDeEQsUUFBUSxFQUFFLFFBQVE7aUJBQ25CLENBQUM7YUFDSCxDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLDBCQUEwQixDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDM0QsQ0FBQztJQUdELFlBQVk7UUFDVixJQUFJLHFCQUFxQixHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUUxRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztZQUN0QixxQkFBcUIsRUFBRSxxQkFBcUI7U0FDN0MsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OElBakVVLDZCQUE2QjtrSUFBN0IsNkJBQTZCLDZPQTVCOUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5QlQ7QUFzQkQ7SUFEQyxTQUFTOzZEQUdUO0FBR0Q7SUFEQyxTQUFTO2dFQXFCVDtBQUdEO0lBREMsU0FBUztxRkFVVDtBQUdEO0lBREMsU0FBUztpRUFPVDs0RkFqRVUsNkJBQTZCO2tCQTlCekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUNBQW1DO29CQUM3QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5QlQ7b0JBQ0QsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO2lCQUNiOzBFQUdDLHdCQUF3QjtzQkFEdkIsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBUU4sYUFBYTtzQkFEWixNQUFNO2dCQVFQLFFBQVEsTUFLUixXQUFXLE1BdUJYLGdDQUFnQyxNQVloQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgbG9nTWV0aG9kIH0gZnJvbSBcImt3aWtpZC10b29sa2l0XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJkb2N1bWVudC1wYW4tbnVtYmVyLWNvbmZpZy1lZGl0b3JcIixcbiAgdGVtcGxhdGU6IGBcbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImRvY3VtZW50UGFuTnVtYmVyRm9ybUdyb3VwXCI+XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9XCJwcm9wZXJ0aWVzXCI+XG4gICAgICAgIDxmaWVsZHNldD5cbiAgICAgICAgICA8bGVnZW5kIGNsYXNzPVwiZm9ybS1ncm91cC10aXRsZVwiPk1pc2NlbGxhbmVvdXM8L2xlZ2VuZD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgICAgPGt3aWt1aS1pbnB1dC1zZWxlY3RcbiAgICAgICAgICAgICAgW29wdGlvbnNdPVwiWydkZWZhdWx0JywgJ3VwcGVyJywgJ2xvd2VyJ11cIlxuICAgICAgICAgICAgICBbbGFiZWxdPVwiJ2Nhc2UnXCJcbiAgICAgICAgICAgICAgW2lkXT1cIidkb2N1bWVudC1wYW4tbnVtYmVyLWNvbmZpZy1jYXNlJ1wiXG4gICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCInY2FzZSdcIlxuICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiXG4gICAgICAgICAgICAgICAgZG9jdW1lbnRQYW5OdW1iZXJGb3JtR3JvdXBbJ2NvbnRyb2xzJ10ucHJvcGVydGllc1snY29udHJvbHMnXVxuICAgICAgICAgICAgICAgICAgLmNhc2VcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgW2ZvY3VzXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW2ludmFsaWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1BsZWFzZSBzZWxlY3QgZWl0aGVyIHRydWUgb3IgZmFsc2UnXCJcbiAgICAgICAgICAgID48L2t3aWt1aS1pbnB1dC1zZWxlY3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG4gIGAsXG4gIHN0eWxlczogW2BgXVxufSlcbmV4cG9ydCBjbGFzcyBEb2N1bWVudFBhbk51bWJlckNvbmZpZ0VkaXRvciBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHNhdmVEb2N1bWVudENsaWNrQ291bnRlcjogbnVtYmVyID0gMDtcblxuICBASW5wdXQoKVxuICBlbGVtZW50Q29uZmlnOiBhbnkgPSB7XG4gICAgcHJvcGVydGllczoge1xuICAgICAgY2FzZTogXCJ1cHBlclwiXG4gICAgfVxuICB9O1xuXG4gIEBPdXRwdXQoKVxuICB1cGRhdGVFbGVtZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgZG9jdW1lbnRQYW5OdW1iZXJGb3JtR3JvdXA6IEZvcm1Hcm91cCA9IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgQGxvZ01ldGhvZFxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNyZWF0ZURvY3VtZW50UGFuTnVtYmVyRm9ybUdyb3VwKCk7XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBjb25zdCB2ZXJpZnlDaGFuZ2UgPSAoa2V5OiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiBjaGFuZ2VzLmhhc093blByb3BlcnR5KGtleSkgJiYgIWNoYW5nZXNba2V5XS5maXJzdENoYW5nZTtcbiAgICB9O1xuXG4gICAgaWYgKHZlcmlmeUNoYW5nZShcImVsZW1lbnRDb25maWdcIikpIHtcbiAgICAgIHRoaXMuZWxlbWVudENvbmZpZyA9IGNoYW5nZXMuZWxlbWVudENvbmZpZy5jdXJyZW50VmFsdWU7XG4gICAgICB0aGlzLmRvY3VtZW50UGFuTnVtYmVyRm9ybUdyb3VwPy5yZXNldCh0aGlzLmVsZW1lbnRDb25maWcpO1xuICAgIH1cbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwic2F2ZURvY3VtZW50Q2xpY2tDb3VudGVyXCIpKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGNoYW5nZXMuc2F2ZURvY3VtZW50Q2xpY2tDb3VudGVyLnByZXZpb3VzVmFsdWUgIT09XG4gICAgICAgIGNoYW5nZXMuc2F2ZURvY3VtZW50Q2xpY2tDb3VudGVyLmN1cnJlbnRWYWx1ZVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuc2F2ZURvY3VtZW50Q2xpY2tDb3VudGVyID1cbiAgICAgICAgICBjaGFuZ2VzLnNhdmVEb2N1bWVudENsaWNrQ291bnRlci5jdXJyZW50VmFsdWU7XG5cbiAgICAgICAgdGhpcy5oYW5kbGVPblNhdmUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIGNyZWF0ZURvY3VtZW50UGFuTnVtYmVyRm9ybUdyb3VwKCk6IHZvaWQge1xuICAgIHRoaXMuZG9jdW1lbnRQYW5OdW1iZXJGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgIHByb3BlcnRpZXM6IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBjYXNlOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5lbGVtZW50Q29uZmlnLnByb3BlcnRpZXMuY2FzZSwge1xuICAgICAgICAgIHVwZGF0ZU9uOiBcImNoYW5nZVwiXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgIH0pO1xuICAgIHRoaXMuZG9jdW1lbnRQYW5OdW1iZXJGb3JtR3JvdXAudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBoYW5kbGVPblNhdmUoKSB7XG4gICAgbGV0IGRvY3VtZW50RWxlbWVudENvbmZpZyA9IHRoaXMuZG9jdW1lbnRQYW5OdW1iZXJGb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKTtcblxuICAgIHRoaXMudXBkYXRlRWxlbWVudC5lbWl0KHtcbiAgICAgIGRvY3VtZW50RWxlbWVudENvbmZpZzogZG9jdW1lbnRFbGVtZW50Q29uZmlnXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|