@wizishop/wizi-block 4.2.2-beta → 4.2.23-beta
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/assets/i18n/en.json +1 -1
- package/assets/i18n/fr.json +1 -1
- package/bundles/wizishop-wizi-block.umd.js +602 -385
- package/bundles/wizishop-wizi-block.umd.js.map +1 -1
- package/bundles/wizishop-wizi-block.umd.min.js +1 -1
- package/bundles/wizishop-wizi-block.umd.min.js.map +1 -1
- package/esm2015/lib/components/configs/configs.component.js +2 -2
- package/esm2015/lib/dtos/blocks/parent-block.dto.js +3 -2
- package/esm2015/lib/dtos/blocks/witness/witness-background-one.dto.js +2 -2
- package/esm2015/lib/dtos/forms/forms.dto.js +2 -2
- package/esm2015/lib/shared/components/editorjs/editorjs.component.js +27 -7
- package/esm2015/lib/shared/components/editorjs/tools/inline/link-tool.component.js +76 -15
- package/esm2015/lib/shared/components/editorjs/tools/inline/text-background-color-tool.component.js +5 -7
- package/esm2015/lib/shared/components/editorjs/tools/inline/text-color-tool.component.js +4 -2
- package/esm2015/lib/shared/components/editorjs/tools/inline/text-size-tool.component.js +4 -3
- package/esm2015/lib/shared/components/editorjs/tools/inline/tool-type/inline-style-tool.component.js +51 -20
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/text-type-tool.component.js +3 -2
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/tool-type/paragraph-style-tool.component.js +35 -7
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/tool-type/text-edition.component.js +5 -6
- package/esm2015/lib/shared/components/editorjs/tools/utils/editorjs-conversion.service.js +13 -1
- package/esm2015/lib/shared/components/editorjs/tools/utils/editorjs-tool.component.js +35 -2
- package/esm2015/lib/shared/components/editorjs/tools/utils/editorjs-translation.service.js +20 -0
- package/esm2015/lib/structures/text-backgrounds/four-rows-icon-text/text-backgrounds-four-rows-icon-text.component.js +7 -2
- package/esm2015/lib/structures/text-backgrounds/three-rows-icon-text/text-backgrounds-three-rows-icon-text.component.js +2 -2
- package/esm2015/lib/structures/text-backgrounds/two-rows-icon-text/text-backgrounds-two-rows-icon-text.component.js +2 -2
- package/esm2015/lib/structures/texts/quadruple-numbers/texts-quadruple-numbers.component.js +2 -2
- package/esm2015/lib/structures/timer/airport/timer-airport.component.js +2 -2
- package/esm2015/lib/structures/timer/background/timer-background.component.js +2 -2
- package/esm2015/lib/structures/timer/clock/timer-clock.component.js +2 -2
- package/esm2015/lib/structures/timer/multiple-img/timer-multiple-img.component.js +2 -2
- package/esm2015/lib/structures/timer/simple/timer-simple.component.js +2 -2
- package/esm2015/lib/wizi-block.component.js +4 -4
- package/esm2015/wizishop-wizi-block.js +227 -226
- package/fesm2015/wizishop-wizi-block.js +276 -74
- package/fesm2015/wizishop-wizi-block.js.map +1 -1
- package/lib/shared/components/editorjs/editorjs.component.d.ts +5 -1
- package/lib/shared/components/editorjs/tools/inline/link-tool.component.d.ts +1 -0
- package/lib/shared/components/editorjs/tools/inline/tool-type/inline-style-tool.component.d.ts +2 -2
- package/lib/shared/components/editorjs/tools/paragraph/tool-type/paragraph-style-tool.component.d.ts +5 -0
- package/lib/shared/components/editorjs/tools/utils/editorjs-tool.component.d.ts +2 -0
- package/lib/shared/components/editorjs/tools/utils/editorjs-translation.service.d.ts +7 -0
- package/lib/structures/text-backgrounds/four-rows-icon-text/text-backgrounds-four-rows-icon-text.component.d.ts +1 -0
- package/package.json +1 -1
- package/wizi-block.scss +2133 -1869
- package/wizishop-wizi-block.d.ts +226 -225
- package/wizishop-wizi-block.metadata.json +1 -1
|
@@ -110,7 +110,7 @@ export class ConfigsComponent {
|
|
|
110
110
|
ConfigsComponent.decorators = [
|
|
111
111
|
{ type: Component, args: [{
|
|
112
112
|
selector: 'wb-configs',
|
|
113
|
-
template: "<div class=\"wb-configs\" [ngClass]=\"{ 'is-not-first': !isFirst }\" [@animateListFromLeft]=\"temporizeConfig\" *ngIf=\"temporizeConfig\">\n <div class=\"field\" *ngFor=\"let form of configs.forms; let i = index\">\n <label class=\"label\" *ngIf=\"form.type !== FORM_TYPE_CHECKBOX\" [ngClass]=\"{ 'icon-help': form.iconHelp }\"\n >{{ form.label | translate }}\n <i *ngIf=\"form.iconHelp\" class=\"fas fa-info-circle\"\n ><span>{{ form.help | translate }}</span></i\n ></label\n >\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_TEXT\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [placeholder]=\"form.placeholder | translate\"\n [ngModel]=\"form.value | translate\"\n (ngModelChange)=\"form.value = $event\"\n (keyup)=\"updateContent()\"\n />\n </div>\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_NUMBER\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [maxlength]=\"999999999\"\n [placeholder]=\"form.placeholder | translate\"\n [(ngModel)]=\"form.value\"\n (keyup)=\"updateNumber($event, i)\"\n />\n </div>\n <div class=\"control control--flex\" [ngClass]=\"{ 'dynamic-label': form.labelEnable }\" *ngIf=\"form.type === FORM_TYPE_CHECKBOX\">\n <input\n [id]=\"'switchRoundedDefault' + i\"\n [type]=\"form.type\"\n [name]=\"'switchRoundedDefault' + i\"\n class=\"switch is-rounded is-info\"\n [checked]=\"
|
|
113
|
+
template: "<div class=\"wb-configs\" [ngClass]=\"{ 'is-not-first': !isFirst }\" [@animateListFromLeft]=\"temporizeConfig\" *ngIf=\"temporizeConfig\">\n <div class=\"field\" *ngFor=\"let form of configs.forms; let i = index\">\n <label class=\"label\" *ngIf=\"form.type !== FORM_TYPE_CHECKBOX\" [ngClass]=\"{ 'icon-help': form.iconHelp }\"\n >{{ form.label | translate }}\n <i *ngIf=\"form.iconHelp\" class=\"fas fa-info-circle\"\n ><span>{{ form.help | translate }}</span></i\n ></label\n >\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_TEXT\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [placeholder]=\"form.placeholder | translate\"\n [ngModel]=\"form.value | translate\"\n (ngModelChange)=\"form.value = $event\"\n (keyup)=\"updateContent()\"\n />\n </div>\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_NUMBER\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [maxlength]=\"999999999\"\n [placeholder]=\"form.placeholder | translate\"\n [(ngModel)]=\"form.value\"\n (keyup)=\"updateNumber($event, i)\"\n />\n </div>\n <div class=\"control control--flex\" [ngClass]=\"{ 'dynamic-label': form.labelEnable }\" *ngIf=\"form.type === FORM_TYPE_CHECKBOX\">\n <input\n [id]=\"'switchRoundedDefault' + i\"\n [type]=\"form.type\"\n [name]=\"'switchRoundedDefault' + i\"\n class=\"switch is-rounded is-info\"\n [checked]=\"form.value === (form.state[0] ? form.state[0] : true)\"\n (change)=\"updateChanges($event, i)\"\n />\n <label [for]=\"'switchRoundedDefault' + i\"></label>\n <p [innerHTML]=\"form.label | translate\"></p>\n <p [innerHTML]=\"form.labelEnable | translate\"></p>\n </div>\n <div class=\"control control--button\" [ngClass]=\"{ 'max-width': form.step.length < 4 }\" *ngIf=\"form.type === FORM_TYPE_TAG\">\n <a\n class=\"button is-info\"\n [ngClass]=\"{ 'is-outlined': step !== form.value && (!form.stepKey.length || form.stepKey[i] !== form.value) }\"\n *ngFor=\"let step of form.step; let i = index\"\n (click)=\"form.value = form.stepKey.length && form.stepKey[i] ? form.stepKey[i] : step; updateContent()\"\n >\n {{ step | translate }}\n </a>\n </div>\n <div class=\"control control--flexStart\" *ngIf=\"form.type === FORM_TYPE_COLOR\" #colors>\n <div class=\"color-wrapper\">\n <div\n [class]=\"'wb-configs__color wb-configs__colorjs' + i\"\n [style.background]=\"form.value\"\n (click)=\"colors.show = !colors.show\"\n ></div>\n <span [innerHTML]=\"form.value\"></span>\n </div>\n <div\n class=\"wb-configs__picker\"\n wbAutoHide\n [triggerElement]=\"'wb-configs__colorjs' + i\"\n (clickOutside)=\"colors.show = false\"\n [ngClass]=\"{ 'is-active': colors.show }\"\n >\n <div\n [(colorPicker)]=\"form.value\"\n [style.background]=\"form.value\"\n [cpPosition]=\"'top'\"\n [cpWidth]=\"'auto'\"\n [cpToggle]=\"true\"\n [cpDialogDisplay]=\"'inline'\"\n (colorPickerChange)=\"updateContent()\"\n ></div>\n </div>\n </div>\n <p *ngIf=\"!form.iconHelp && !checkHelp(i)\" class=\"help\" [innerHTML]=\"form.help | translate\"></p>\n <p *ngIf=\"!form.iconHelp && checkHelp(i)\" class=\"help\" [innerHTML]=\"getValueHelp(form.value, i) | translate\"></p>\n </div>\n</div>\n",
|
|
114
114
|
animations: [animateListFromLeft('200ms ease-in-out')]
|
|
115
115
|
},] }
|
|
116
116
|
];
|
|
@@ -124,4 +124,4 @@ ConfigsComponent.propDecorators = {
|
|
|
124
124
|
isFirst: [{ type: Input }],
|
|
125
125
|
changeConfig: [{ type: Output }]
|
|
126
126
|
};
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcGF1bGluZS9Eb2N1bWVudHMvd29ya3NwYWNlL3dpemktYmxvY2svcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9jb25maWdzL2NvbmZpZ3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFNUksT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBT3BFLE1BQU0sT0FBTyxnQkFBZ0I7SUFnQnpCLFlBQW9CLGdCQUFrQyxFQUFVLGNBQThCLEVBQVUsYUFBNEI7UUFBaEgscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBZDNILFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDZixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFeEMsbUJBQWMsR0FBRyxjQUFjLENBQUM7UUFDaEMscUJBQWdCLEdBQUcsZ0JBQWdCLENBQUM7UUFDcEMsdUJBQWtCLEdBQUcsa0JBQWtCLENBQUM7UUFDeEMsa0JBQWEsR0FBRyxhQUFhLENBQUM7UUFDOUIsb0JBQWUsR0FBRyxlQUFl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UUFDUCxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDOzs7WUF6SEosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxZQUFZO2dCQUN0QixnbklBQXVDO2dCQUN2QyxVQUFVLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2FBQ3pEOzs7WUFaUSxnQkFBZ0I7WUFHaEIsY0FBYztZQUdkLGFBQWE7OztzQkFRakIsS0FBSztzQkFDTCxLQUFLOzJCQUNMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdpemlCbG9ja1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93aXppLWJsb2NrLnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJhbnNsYXRpb25zRHRvIH0gZnJvbSAnLi4vLi4vZHRvcy9jb25maWdzL3RyYW5zbGF0aW9ucy90cmFuc2xhdGlvbnMuZHRvJztcbmltcG9ydCB7IGFuaW1hdGVMaXN0RnJvbUxlZnQgfSBmcm9tICcuLi8uLi9zaGFyZWQvYW5pbWF0aW9ucy9saXN0L2FuaW1hdGUtbGlzdC1mcm9tLWxlZnQuYW5pbWF0aW9uJztcbmltcG9ydCB7IENvbnRlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbHMvY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEZPUk1fVFlQRV9DSEVDS0JPWCwgRk9STV9UWVBFX0NPTE9SLCBGT1JNX1RZUEVfVEFHLCBGT1JNX1RZUEVfVEVYVCwgRk9STV9UWVBFX05VTUJFUiwgRm9ybXNEdG8gfSBmcm9tICcuLi8uLi9kdG9zL2Zvcm1zL2Zvcm1zLmR0byc7XG5pbXBvcnQgeyBQYXJlbnRCbG9ja0R0byB9IGZyb20gJy4uLy4uL2R0b3MvYmxvY2tzL3BhcmVudC1ibG9jay5kdG8nO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWxzL2NvbmZpZy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd3Yi1jb25maWdzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29uZmlncy5jb21wb25lbnQuaHRtbCcsXG4gICAgYW5pbWF0aW9uczogW2FuaW1hdGVMaXN0RnJvbUxlZnQoJzIwMG1zIGVhc2UtaW4tb3V0JyldLFxufSlcbmV4cG9ydCBjbGFzcyBDb25maWdzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGNvbmZpZ3M6IEZvcm1zRHRvPFBhcmVudEJsb2NrRHRvPjtcbiAgICBASW5wdXQoKSBpc0ZpcnN0ID0gZmFsc2U7XG4gICAgQE91dHB1dCgpIGNoYW5nZUNvbmZpZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgcmVhZG9ubHkgRk9STV9UWVBFX1RFWFQgPSBGT1JNX1RZUEVfVEVYVDtcbiAgICByZWFkb25seSBGT1JNX1RZUEVfTlVNQkVSID0gRk9STV9UWVBFX05VTUJFUjtcbiAgICByZWFkb25seSBGT1JNX1RZUEVfQ0hFQ0tCT1ggPSBGT1JNX1RZUEVfQ0hFQ0tCT1g7XG4gICAgcmVhZG9ubHkgRk9STV9UWVBFX1RBRyA9IEZPUk1fVFlQRV9UQUc7XG4gICAgcmVhZG9ubHkgRk9STV9UWVBFX0NPTE9SID0gRk9STV9UWVBFX0NPTE9SO1xuXG4gICAgdGVtcG9yaXplQ29uZmlnID0gMDtcbiAgICBoZWxwVHlwZU9GQXJyYXkgPSBbXTtcblxuICAgIHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvbnNEdG87XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHdpemlCbG9ja1NlcnZpY2U6IFdpemlCbG9ja1NlcnZpY2UsIHByaXZhdGUgY29udGVudFNlcnZpY2U6IENvbnRlbnRTZXJ2aWNlLCBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy50cmFuc2xhdGlvbiA9IHRoaXMud2l6aUJsb2NrU2VydmljZS5nZXRUcmFuc2xhdGlvbigpO1xuXG4gICAgICAgIHRoaXMudGVtcG9yaXplQ29uZmlnID0gMDtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRlbXBvcml6ZUNvbmZpZyA9IHRoaXMuY29uZmlncy5mb3Jtcy5sZW5ndGg7XG4gICAgICAgIH0sIDIwMCk7XG5cbiAgICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLmNvbmZpZ0V2ZW50KCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudGVtcG9yaXplQ29uZmlnID0gMDtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudGVtcG9yaXplQ29uZmlnID0gdGhpcy5jb25maWdzLmZvcm1zLmxlbmd0aDtcbiAgICAgICAgICAgIH0sIDIwMCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmhhbmRsZUhlbHAodGhpcy5jb25maWdzLmZvcm1zKTtcbiAgICB9XG5cbiAgICBoYW5kbGVIZWxwKGNvbmZpZykge1xuICAgICAgICBPYmplY3Qua2V5cyhjb25maWcpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZ3MuZm9ybXNba2V5XS5oZWxwID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgIHRoaXMuaGVscFR5cGVPRkFycmF5LnB1c2gocGFyc2VGbG9hdChrZXkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0VmFsdWVIZWxwKHZhbHVlLCBpbmRleCkge1xuICAgICAgICBjb25zdCBpbmRleFZhbHVlID0gdGhpcy5jb25maWdzLmZvcm1zW2luZGV4XS5zdGVwS2V5LmluZGV4T2YodmFsdWUpO1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWdzLmZvcm1zW2luZGV4XS5oZWxwW2luZGV4VmFsdWVdO1xuICAgIH1cblxuICAgIGNoZWNrSGVscChpbmRleCkge1xuICAgICAgICBpZiAodGhpcy5oZWxwVHlwZU9GQXJyYXkuaW5kZXhPZihpbmRleCkgIT09IC0xKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgdXBkYXRlQ2hhbmdlcygkZXZlbnQgPSBudWxsLCBrZXkpIHtcbiAgICAgICAgaWYgKCRldmVudCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgbGV0IG9uVmFsdWU6IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZ3MuZm9ybXNba2V5XS5zdGF0ZVswXSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICBvblZhbHVlID0gdGhpcy5jb25maWdzLmZvcm1zW2tleV0uc3RhdGVbMF07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBvZmZWYWx1ZTogc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlciA9IHRydWU7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlncy5mb3Jtc1trZXldLnN0YXRlWzFdICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgIG9mZlZhbHVlID0gdGhpcy5jb25maWdzLmZvcm1zW2tleV0uc3RhdGVbMV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3MuZm9ybXNba2V5XS52YWx1ZSA9ICRldmVudC50YXJnZXQuY2hlY2tlZCA/IG9uVmFsdWUgOiBvZmZWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlQ29udGVudCgpO1xuICAgIH1cblxuICAgIHVwZGF0ZUNoYW5nZXNSZXZlcnNlKCRldmVudCA9IG51bGwsIGtleSkge1xuICAgICAgICBpZiAoJGV2ZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICBsZXQgb25WYWx1ZTogc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlciA9IHRydWU7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlncy5mb3Jtc1trZXldLnN0YXRlWzBdICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgIG9uVmFsdWUgPSB0aGlzLmNvbmZpZ3MuZm9ybXNba2V5XS5zdGF0ZVswXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IG9mZlZhbHVlOiBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWdzLmZvcm1zW2tleV0uc3RhdGVbMV0gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgb2ZmVmFsdWUgPSB0aGlzLmNvbmZpZ3MuZm9ybXNba2V5XS5zdGF0ZVsxXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY29uZmlncy5mb3Jtc1trZXldLnZhbHVlID0gJGV2ZW50LnRhcmdldC5jaGVja2VkID8gb2ZmVmFsdWUgOiBvblZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVDb250ZW50KCk7XG4gICAgfVxuXG4gICAgdXBkYXRlQ29udGVudCgpIHtcbiAgICAgICAgdGhpcy5jb250ZW50U2VydmljZS51cGRhdGVCeVVVSUQodGhpcy5jb25maWdzLmJsb2NrLnV1aWQsIHRoaXMuY29uZmlncyk7XG4gICAgICAgIHRoaXMuY2hhbmdlQ29uZmlnLmVtaXQoe1xuICAgICAgICAgICAgdXVpZDogdGhpcy5jb25maWdzLmJsb2NrLnV1aWQsXG4gICAgICAgICAgICBjb25maWc6IHRoaXMuY29uZmlncyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdXBkYXRlTnVtYmVyKGV2ZW50LCBpbmRleCkge1xuICAgICAgICBsZXQgU3BsaXRWYWx1ZSA9IFtdO1xuICAgICAgICBpZiAoZXZlbnQudGFyZ2V0LnZhbHVlLmluZGV4T2YoJy4nKSAhPT0gLTEpIHtcbiAgICAgICAgICAgIFNwbGl0VmFsdWUgPSBldmVudC50YXJnZXQudmFsdWUuc3BsaXQoJy4nKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIFNwbGl0VmFsdWVbMF0gPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmFtZVZhbHVlID0gU3BsaXRWYWx1ZVswXTtcbiAgICAgICAgY29uc3QgdGVtcFZhbHVlID0gbmFtZVZhbHVlLnN1YnN0cmluZygwLCA3KTtcbiAgICAgICAgaWYgKHRlbXBWYWx1ZSA8IDApIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlncy5mb3Jtc1tpbmRleF0udmFsdWUgPSAwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jb25maWdzLmZvcm1zW2luZGV4XS52YWx1ZSA9IHRlbXBWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbnRlbnRTZXJ2aWNlLnVwZGF0ZUJ5VVVJRCh0aGlzLmNvbmZpZ3MuYmxvY2sudXVpZCwgdGhpcy5jb25maWdzKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50ZW1wb3JpemVDb25maWcgPSAwO1xuICAgIH1cbn1cbiJdfQ==
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcGF1bGluZS9Eb2N1bWVudHMvd29ya3NwYWNlL3dpemktYmxvY2svcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9jb25maWdzL2NvbmZpZ3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFNUksT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBT3BFLE1BQU0sT0FBTyxnQkFBZ0I7SUFnQnpCLFlBQW9CLGdCQUFrQyxFQUFVLGNBQThCLEVBQVUsYUFBNEI7UUFBaEgscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBZDNILFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDZixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFeEMsbUJBQWMsR0FBRyxjQUFjLENBQUM7UUFDaEMscUJBQWdCLEdBQUcsZ0JBQWdCLENBQUM7UUFDcEMsdUJBQWtCLEdBQUcsa0JBQWtCLENBQUM7UUFDeEMsa0JBQWEsR0FBRyxhQUFhLENBQUM7UUFDOUIsb0JBQWUsR0FBRyxlQUFl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UUFDUCxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDOzs7WUF6SEosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxZQUFZO2dCQUN0Qiwya0lBQXVDO2dCQUN2QyxVQUFVLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2FBQ3pEOzs7WUFaUSxnQkFBZ0I7WUFHaEIsY0FBYztZQUdkLGFBQWE7OztzQkFRakIsS0FBSztzQkFDTCxLQUFLOzJCQUNMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdpemlCbG9ja1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93aXppLWJsb2NrLnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJhbnNsYXRpb25zRHRvIH0gZnJvbSAnLi4vLi4vZHRvcy9jb25maWdzL3RyYW5zbGF0aW9ucy90cmFuc2xhdGlvbnMuZHRvJztcbmltcG9ydCB7IGFuaW1hdGVMaXN0RnJvbUxlZnQgfSBmcm9tICcuLi8uLi9zaGFyZWQvYW5pbWF0aW9ucy9saXN0L2FuaW1hdGUtbGlzdC1mcm9tLWxlZnQuYW5pbWF0aW9uJztcbmltcG9ydCB7IENvbnRlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbHMvY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEZPUk1fVFlQRV9DSEVDS0JPWCwgRk9STV9UWVBFX0NPTE9SLCBGT1JNX1RZUEVfVEFHLCBGT1JNX1RZUEVfVEVYVCwgRk9STV9UWVBFX05VTUJFUiwgRm9ybXNEdG8gfSBmcm9tICcuLi8uLi9kdG9zL2Zvcm1zL2Zvcm1zLmR0byc7XG5pbXBvcnQgeyBQYXJlbnRCbG9ja0R0byB9IGZyb20gJy4uLy4uL2R0b3MvYmxvY2tzL3BhcmVudC1ibG9jay5kdG8nO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWxzL2NvbmZpZy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd3Yi1jb25maWdzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29uZmlncy5jb21wb25lbnQuaHRtbCcsXG4gICAgYW5pbWF0aW9uczogW2FuaW1hdGVMaXN0RnJvbUxlZnQoJzIwMG1zIGVhc2UtaW4tb3V0JyldLFxufSlcbmV4cG9ydCBjbGFzcyBDb25maWdzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGNvbmZpZ3M6IEZvcm1zRHRvPFBhcmVudEJsb2NrRHRvPjtcbiAgICBASW5wdXQoKSBpc0ZpcnN0ID0gZmFsc2U7XG4gICAgQE91dHB1dCgpIGNoYW5nZUNvbmZpZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgcmVhZG9ubHkgRk9STV9UWVBFX1RFWFQgPSBGT1JNX1RZUEVfVEVYVDtcbiAgICByZWFkb25seSBGT1JNX1RZUEVfTlVNQkVSID0gRk9STV9UWVBFX05VTUJFUjtcbiAgICByZWFkb25seSBGT1JNX1RZUEVfQ0hFQ0tCT1ggPSBGT1JNX1RZUEVfQ0hFQ0tCT1g7XG4gICAgcmVhZG9ubHkgRk9STV9UWVBFX1RBRyA9IEZPUk1fVFlQRV9UQUc7XG4gICAgcmVhZG9ubHkgRk9STV9UWVBFX0NPTE9SID0gRk9STV9UWVBFX0NPTE9SO1xuXG4gICAgdGVtcG9yaXplQ29uZmlnID0gMDtcbiAgICBoZWxwVHlwZU9GQXJyYXkgPSBbXTtcblxuICAgIHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvbnNEdG87XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHdpemlCbG9ja1NlcnZpY2U6IFdpemlCbG9ja1NlcnZpY2UsIHByaXZhdGUgY29udGVudFNlcnZpY2U6IENvbnRlbnRTZXJ2aWNlLCBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy50cmFuc2xhdGlvbiA9IHRoaXMud2l6aUJsb2NrU2VydmljZS5nZXRUcmFuc2xhdGlvbigpO1xuXG4gICAgICAgIHRoaXMudGVtcG9yaXplQ29uZmlnID0gMDtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRlbXBvcml6ZUNvbmZpZyA9IHRoaXMuY29uZmlncy5mb3Jtcy5sZW5ndGg7XG4gICAgICAgIH0sIDIwMCk7XG5cbiAgICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLmNvbmZpZ0V2ZW50KCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudGVtcG9yaXplQ29uZmlnID0gMDtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudGVtcG9yaXplQ29uZmlnID0gdGhpcy5jb25maWdzLmZvcm1zLmxlbmd0aDtcbiAgICAgICAgICAgIH0sIDIwMCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmhhbmRsZUhlbHAodGhpcy5jb25maWdzLmZvcm1zKTtcbiAgICB9XG5cbiAgICBoYW5kbGVIZWxwKGNvbmZpZykge1xuICAgICAgICBPYmplY3Qua2V5cyhjb25maWcpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZ3MuZm9ybXNba2V5XS5oZWxwID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgIHRoaXMuaGVscFR5cGVPRkFycmF5LnB1c2gocGFyc2VGbG9hdChrZXkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0VmFsdWVIZWxwKHZhbHVlLCBpbmRleCkge1xuICAgICAgICBjb25zdCBpbmRleFZhbHVlID0gdGhpcy5jb25maWdzLmZvcm1zW2luZGV4XS5zdGVwS2V5LmluZGV4T2YodmFsdWUpO1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWdzLmZvcm1zW2luZGV4XS5oZWxwW2luZGV4VmFsdWVdO1xuICAgIH1cblxuICAgIGNoZWNrSGVscChpbmRleCkge1xuICAgICAgICBpZiAodGhpcy5oZWxwVHlwZU9GQXJyYXkuaW5kZXhPZihpbmRleCkgIT09IC0xKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgdXBkYXRlQ2hhbmdlcygkZXZlbnQgPSBudWxsLCBrZXkpIHtcbiAgICAgICAgaWYgKCRldmVudCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgbGV0IG9uVmFsdWU6IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZ3MuZm9ybXNba2V5XS5zdGF0ZVswXSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICBvblZhbHVlID0gdGhpcy5jb25maWdzLmZvcm1zW2tleV0uc3RhdGVbMF07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBvZmZWYWx1ZTogc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlciA9IHRydWU7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlncy5mb3Jtc1trZXldLnN0YXRlWzFdICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgIG9mZlZhbHVlID0gdGhpcy5jb25maWdzLmZvcm1zW2tleV0uc3RhdGVbMV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3MuZm9ybXNba2V5XS52YWx1ZSA9ICRldmVudC50YXJnZXQuY2hlY2tlZCA/IG9uVmFsdWUgOiBvZmZWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlQ29udGVudCgpO1xuICAgIH1cblxuICAgIHVwZGF0ZUNoYW5nZXNSZXZlcnNlKCRldmVudCA9IG51bGwsIGtleSkge1xuICAgICAgICBpZiAoJGV2ZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICBsZXQgb25WYWx1ZTogc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlciA9IHRydWU7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlncy5mb3Jtc1trZXldLnN0YXRlWzBdICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgIG9uVmFsdWUgPSB0aGlzLmNvbmZpZ3MuZm9ybXNba2V5XS5zdGF0ZVswXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IG9mZlZhbHVlOiBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWdzLmZvcm1zW2tleV0uc3RhdGVbMV0gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgb2ZmVmFsdWUgPSB0aGlzLmNvbmZpZ3MuZm9ybXNba2V5XS5zdGF0ZVsxXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY29uZmlncy5mb3Jtc1trZXldLnZhbHVlID0gJGV2ZW50LnRhcmdldC5jaGVja2VkID8gb2ZmVmFsdWUgOiBvblZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVDb250ZW50KCk7XG4gICAgfVxuXG4gICAgdXBkYXRlQ29udGVudCgpIHtcbiAgICAgICAgdGhpcy5jb250ZW50U2VydmljZS51cGRhdGVCeVVVSUQodGhpcy5jb25maWdzLmJsb2NrLnV1aWQsIHRoaXMuY29uZmlncyk7XG4gICAgICAgIHRoaXMuY2hhbmdlQ29uZmlnLmVtaXQoe1xuICAgICAgICAgICAgdXVpZDogdGhpcy5jb25maWdzLmJsb2NrLnV1aWQsXG4gICAgICAgICAgICBjb25maWc6IHRoaXMuY29uZmlncyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdXBkYXRlTnVtYmVyKGV2ZW50LCBpbmRleCkge1xuICAgICAgICBsZXQgU3BsaXRWYWx1ZSA9IFtdO1xuICAgICAgICBpZiAoZXZlbnQudGFyZ2V0LnZhbHVlLmluZGV4T2YoJy4nKSAhPT0gLTEpIHtcbiAgICAgICAgICAgIFNwbGl0VmFsdWUgPSBldmVudC50YXJnZXQudmFsdWUuc3BsaXQoJy4nKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIFNwbGl0VmFsdWVbMF0gPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmFtZVZhbHVlID0gU3BsaXRWYWx1ZVswXTtcbiAgICAgICAgY29uc3QgdGVtcFZhbHVlID0gbmFtZVZhbHVlLnN1YnN0cmluZygwLCA3KTtcbiAgICAgICAgaWYgKHRlbXBWYWx1ZSA8IDApIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlncy5mb3Jtc1tpbmRleF0udmFsdWUgPSAwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jb25maWdzLmZvcm1zW2luZGV4XS52YWx1ZSA9IHRlbXBWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbnRlbnRTZXJ2aWNlLnVwZGF0ZUJ5VVVJRCh0aGlzLmNvbmZpZ3MuYmxvY2sudXVpZCwgdGhpcy5jb25maWdzKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50ZW1wb3JpemVDb25maWcgPSAwO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { v4 as uuid } from 'uuid';
|
|
2
|
-
import { FORM_NAME_MARGIN, FORM_NAME_MARGIN_TOP, FORM_NAME_WIDTH_BLOCK } from '../forms/forms.dto';
|
|
2
|
+
import { FORM_NAME_HIDE_BLOCK, FORM_NAME_MARGIN, FORM_NAME_MARGIN_TOP, FORM_NAME_WIDTH_BLOCK } from '../forms/forms.dto';
|
|
3
3
|
export class ParentBlockDto {
|
|
4
4
|
constructor(type) {
|
|
5
5
|
this.uuid = uuid();
|
|
6
6
|
this.type = type;
|
|
7
|
+
this[FORM_NAME_HIDE_BLOCK] = '1';
|
|
7
8
|
this[FORM_NAME_MARGIN] = 'medium';
|
|
8
9
|
this[FORM_NAME_MARGIN_TOP] = 'small';
|
|
9
10
|
this[FORM_NAME_WIDTH_BLOCK] = 'medium';
|
|
10
11
|
}
|
|
11
12
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyZW50LWJsb2NrLmR0by5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9wYXVsaW5lL0RvY3VtZW50cy93b3Jrc3BhY2Uvd2l6aS1ibG9jay9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9kdG9zL2Jsb2Nrcy9wYXJlbnQtYmxvY2suZHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXpILE1BQU0sT0FBZ0IsY0FBYztJQU1oQyxZQUFZLElBQUk7UUFMaEIsU0FBSSxHQUFXLElBQUksRUFBRSxDQUFDO1FBTWxCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUNqQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxRQUFRLENBQUM7UUFDbEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLFFBQVEsQ0FBQztJQUMzQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBGT1JNX05BTUVfSElERV9CTE9DSywgRk9STV9OQU1FX01BUkdJTiwgRk9STV9OQU1FX01BUkdJTl9UT1AsIEZPUk1fTkFNRV9XSURUSF9CTE9DSyB9IGZyb20gJy4uL2Zvcm1zL2Zvcm1zLmR0byc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQYXJlbnRCbG9ja0R0byB7XG4gICAgdXVpZDogc3RyaW5nID0gdXVpZCgpO1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBbRk9STV9OQU1FX01BUkdJTl06IHN0cmluZztcbiAgICBbRk9STV9OQU1FX1dJRFRIX0JMT0NLXTogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IodHlwZSkge1xuICAgICAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgICAgICB0aGlzW0ZPUk1fTkFNRV9ISURFX0JMT0NLXSA9ICcxJztcbiAgICAgICAgdGhpc1tGT1JNX05BTUVfTUFSR0lOXSA9ICdtZWRpdW0nO1xuICAgICAgICB0aGlzW0ZPUk1fTkFNRV9NQVJHSU5fVE9QXSA9ICdzbWFsbCc7XG4gICAgICAgIHRoaXNbRk9STV9OQU1FX1dJRFRIX0JMT0NLXSA9ICdtZWRpdW0nO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -8,8 +8,8 @@ export class WitnessBackgroundOneDto extends ParentBlockDto {
|
|
|
8
8
|
this[_a] = 'wb.dto.TITLE.37';
|
|
9
9
|
this[_b] = 'wb.dto.CONTENT.36';
|
|
10
10
|
this[_c] = new ButtonDto();
|
|
11
|
-
this[_d] = '#
|
|
11
|
+
this[_d] = '#FFFFFF';
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
_a = FORM_NAME_TITLE, _b = FORM_NAME_CONTENT, _c = FORM_NAME_URL, _d = FORM_NAME_COLOR;
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0bmVzcy1iYWNrZ3JvdW5kLW9uZS5kdG8uanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcGF1bGluZS9Eb2N1bWVudHMvd29ya3NwYWNlL3dpemktYmxvY2svcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvIiwic291cmNlcyI6WyJsaWIvZHRvcy9ibG9ja3Mvd2l0bmVzcy93aXRuZXNzLWJhY2tncm91bmQtb25lLmR0by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXJELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1SCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFN0QsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGNBQWM7SUFBM0Q7O1FBRUksUUFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUN0QyxRQUFtQixHQUFHLG1CQUFtQixDQUFDO1FBQzFDLFFBQWUsR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2xDLFFBQWlCLEdBQUcsU0FBUyxDQUFDO0lBQ2xDLENBQUM7Q0FBQTtLQUpJLGVBQWUsT0FDZixpQkFBaUIsT0FDakIsYUFBYSxPQUNiLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXJlbnRCbG9ja0R0byB9IGZyb20gJy4uL3BhcmVudC1ibG9jay5kdG8nO1xuaW1wb3J0IHsgSW1hZ2VNZWRpYUR0byB9IGZyb20gJy4uLy4uL2NvbmZpZ3MvbWVkaWFzL2ltYWdlL2ltYWdlLW1lZGlhLmR0byc7XG5pbXBvcnQgeyBGT1JNX05BTUVfQ09OVEVOVCwgRk9STV9OQU1FX0lNQUdFLCBGT1JNX05BTUVfVElUTEUsIEZPUk1fTkFNRV9VUkwsIEZPUk1fTkFNRV9DT0xPUiB9IGZyb20gJy4uLy4uL2Zvcm1zL2Zvcm1zLmR0byc7XG5pbXBvcnQgeyBCdXR0b25EdG8gfSBmcm9tICcuLi8uLi9jb25maWdzL2J1dHRvbnMvYnV0dG9uLmR0byc7XG5cbmV4cG9ydCBjbGFzcyBXaXRuZXNzQmFja2dyb3VuZE9uZUR0byBleHRlbmRzIFBhcmVudEJsb2NrRHRvIHtcbiAgICBbRk9STV9OQU1FX0lNQUdFXTogSW1hZ2VNZWRpYUR0bztcbiAgICBbRk9STV9OQU1FX1RJVExFXSA9ICd3Yi5kdG8uVElUTEUuMzcnO1xuICAgIFtGT1JNX05BTUVfQ09OVEVOVF0gPSAnd2IuZHRvLkNPTlRFTlQuMzYnO1xuICAgIFtGT1JNX05BTUVfVVJMXSA9IG5ldyBCdXR0b25EdG8oKTtcbiAgICBbRk9STV9OQU1FX0NPTE9SXSA9ICcjRkZGRkZGJztcbn1cbiJdfQ==
|
|
@@ -213,7 +213,7 @@ export class FormsDto {
|
|
|
213
213
|
this.block = block;
|
|
214
214
|
translateBlockService.translateProperties(this.block);
|
|
215
215
|
if (hasMargin) {
|
|
216
|
-
this.forms.push(new FormsContentDto(FORM_NAME_HIDE_BLOCK, 'wb.forms.FormsContentDto.16',
|
|
216
|
+
this.forms.push(new FormsContentDto(FORM_NAME_HIDE_BLOCK, 'wb.forms.FormsContentDto.16', FORM_TYPE_TAG, block[FORM_NAME_HIDE_BLOCK], '#122231', '', ['wb.blocks.FormContentDto.123', 'wb.blocks.FormContentDto.122'], ['0', '1']));
|
|
217
217
|
}
|
|
218
218
|
this.forms.push(new FormsContentDto(FORM_NAME_MARGIN_TOP, 'wb.forms.FormsContentDto.13', FORM_TYPE_TAG, block[FORM_NAME_MARGIN_TOP], '#122231', '', [
|
|
219
219
|
'wb.blocks.FormContentDto.101',
|
|
@@ -242,4 +242,4 @@ export class FormsDto {
|
|
|
242
242
|
}
|
|
243
243
|
}
|
|
244
244
|
}
|
|
245
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMuZHRvLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3BhdWxpbmUvRG9jdW1lbnRzL3dvcmtzcGFjZS93aXppLWJsb2NrL3Byb2plY3RzL3dpemktYmxvY2svc3JjLyIsInNvdXJjZXMiOlsibGliL2R0b3MvZm9ybXMvZm9ybXMuZHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUVyRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDO0FBQ3JDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxVQUFVLENBQUM7QUFDN0MsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQztBQUNuQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDO0FBRXZDLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLE9BQU8sQ0FBQztBQUNsRCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxRQUFRLENBQUM7QUFDcEQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsT0FBTyxDQUFDO0FBRWxEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQztBQUNqQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUM7QUFDM0MsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLFlBQVksQ0FBQztBQUNqRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxjQUFjLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsaUJBQWlCLENBQUM7QUFDM0QsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLFdBQVcsQ0FBQztBQUMvQyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxhQUFhLENBQUM7QUFDbkQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQztBQUNyQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUM7QUFDaEQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLFlBQVksQ0FBQztBQUNqRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxZQUFZLENBQUM7QUFDakQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsYUFBYSxDQUFDO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLFlBQVksQ0FBQztBQUNqRCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxrQkFBa0IsQ0FBQztBQUM3RCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxpQkFBaUIsQ0FBQztBQUMzRCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxtQkFBbUIsQ0FBQztBQUMvRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxZQUFZLENBQUM7QUFDakQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLGNBQWMsQ0FBQztBQUNyRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxXQUFXLENBQUM7QUFDL0MsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsc0JBQXNCLENBQUM7QUFDckUsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsaUJBQWlCLENBQUM7QUFDM0QsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsWUFBWSxDQUFDO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLGlCQUFpQixDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLGdCQUFnQixDQUFDO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLGtCQUFrQixDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLG1CQUFtQixDQUFDO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLGtCQUFrQixDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLHdCQUF3QixDQUFDO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLHVCQUF1QixDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLHlCQUF5QixDQUFDO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLG9CQUFvQixDQUFDO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLG1CQUFtQixDQUFDO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLHlCQUF5QixDQUFDO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLHdCQUF3QixDQUFDO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFHLDBCQUEwQixDQUFDO0FBQzdFLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLGtCQUFrQixDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLGlCQUFpQixDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLHVCQUF1QixDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLHFCQUFxQixDQUFDO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLG1CQUFtQixDQUFDO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLGdCQUFnQixDQUFDO0FBQ3pELE1BQU0sQ0FB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YSxFQUNiLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxFQUN2QixTQUFTLEVBQ1QsRUFBRSxFQUNGO2dCQUNJLDhCQUE4QjtnQkFDOUIsNkJBQTZCO2dCQUM3Qiw2QkFBNkI7Z0JBQzdCLDZCQUE2QjthQUNoQyxFQUNELENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQ3ZDLENBQ0osQ0FBQztZQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNYLElBQUksZUFBZSxDQUNmLHFCQUFxQixFQUNyQiw0QkFBNEIsRUFDNUIsYUFBYSxFQUNiLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxFQUM1QixTQUFTLEVBQ1Q7Z0JBQ0ksNEJBQTRCO2dCQUM1Qiw0QkFBNEI7Z0JBQzVCLDRCQUE0QjtnQkFDNUIsNEJBQTRCO2FBQy9CLEVBQ0Q7Z0JBQ0ksNEJBQTRCO2dCQUM1Qiw2QkFBNkI7Z0JBQzdCLDZCQUE2QjtnQkFDN0IsNkJBQTZCO2FBQ2hDLEVBQ0QsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FDdkMsQ0FDSixDQUFDO1NBQ0w7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlscy9pbmplY3Rvci5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zbGF0ZUJsb2NrU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWxzL3RyYW5zbGF0ZS1ibG9jay5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IEZPUk1fVFlQRV9URVhUID0gJ3RleHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fVFlQRV9OVU1CRVIgPSAnbnVtYmVyJztcbmV4cG9ydCBjb25zdCBGT1JNX1RZUEVfQ0hFQ0tCT1ggPSAnY2hlY2tib3gnO1xuZXhwb3J0IGNvbnN0IEZPUk1fVFlQRV9UQUcgPSAndGFnJztcbmV4cG9ydCBjb25zdCBGT1JNX1RZUEVfQ09MT1IgPSAnY29sb3InO1xuXG5leHBvcnQgY29uc3QgRk9STV9UWVBFX0lNQUdFX01BU0tfU01BTEwgPSAnc21hbGwnO1xuZXhwb3J0IGNvbnN0IEZPUk1fVFlQRV9JTUFHRV9NQVNLX01FRElVTSA9ICdtZWRpdW0nO1xuZXhwb3J0IGNvbnN0IEZPUk1fVFlQRV9JTUFHRV9NQVNLX0xBUkdFID0gJ2xhcmdlJztcblxuLyoqXG4gKiBEdG8gbmFtZSBpcyBmaXhlZCwgaWYgeW91IGNoYW5nZSB0aGVtLCB5b3UgaGF2ZSB0byB1cGRhdGUgaW4gYWxsIGNvbXBvbmVudFxuICovXG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lEID0gJ2lkJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSURfRk9STSA9ICdpZF9mb3JtJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfTUFSR0lOID0gJ21hcmdpbic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX01BUkdJTl9UT1AgPSAnbWFyZ2luX3RvcCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0FNUExJRllfVFlQRSA9ICdhbXBsaWZ5X3R5cGUnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9BTVBMSUZZX05CTElHTkUgPSAnYW1wbGlmeV9uYmxpZ25lJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQVBQX0lEID0gJ2FwcF9pZCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNQUdFX1VSTCA9ICdpbWFnZV91cmwnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTUFHRV9XSURUSCA9ICdpbWFnZV93aWR0aCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNQUdFX0hFSUdIVCA9ICdpbWFnZV9oZWlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTUFHRSA9ICdpbWFnZSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT04gPSAnaWNvbic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1BBWU1FTlQgPSAncGF5bWVudF9saW5rJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9BRERSRVNTID0gJ2ljb25fYWRkcmVzcyc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fUEhPTkUgPSAnaWNvbl9waG9uZSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fRU1BSUwgPSAnaWNvbl9lbWFpbCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNQUdFX1JJR0hUID0gJ2ltYWdlX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9SSUdIVCA9ICdpY29uX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9DT0xPUl9SSUdIVCA9ICdpY29uX2NvbG9yX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9MSU5LX1JJR0hUID0gJ2ljb25fbGlua19yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fVEFSR0VUX1JJR0hUID0gJ2ljb25fdGFyZ2V0X3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSU1BR0VfTEVGVCA9ICdpbWFnZV9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09PUkRJTkFURV9YID0gJ2Nvb3JkaW5hdGVfeCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPT1JESU5BVEVfWSA9ICdjb29yZGluYXRlX3knO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX0xFRlQgPSAnaWNvbl9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVEVYVF9CQUNLR1JPVU5EX0xJTksgPSAndGV4dF9iYWNrZ3JvdW5kX2xpbmsnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9URVhUX0JBQ0tHUk9VTkQgPSAndGV4dF9iYWNrZ3JvdW5kJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9DT0xPUiA9ICdpY29uX2NvbG9yJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9DT0xPUl9MRUZUID0gJ2ljb25fY29sb3JfbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fTElOS19MRUZUID0gJ2ljb25fbGlua19sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9UQVJHRVRfTEVGVCA9ICdpY29uX3RhcmdldF9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSU1BR0VfTUlERExFX0xFRlQgPSAnaW1hZ2VfbWlkZGxlX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX01JRERMRV9MRUZUID0gJ2ljb25fbWlkZGxlX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX0NPTE9SX01JRERMRV9MRUZUID0gJ2ljb25fY29sb3JfbWlkZGxlX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX0xJTktfTUlERExFX0xFRlQgPSAnaWNvbl9saW5rX21pZGRsZV9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9UQVJHRVRfTUlERExFX0xFRlQgPSAnaWNvbl90YXJnZXRfbWlkZGxlX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTUFHRV9NSURETEVfUklHSFQgPSAnaW1hZ2VfbWlkZGxlX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9NSURETEVfUklHSFQgPSAnaWNvbl9taWRkbGVfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX0NPTE9SX01JRERMRV9SSUdIVCA9ICdpY29uX2NvbG9yX21pZGRsZV9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fTElOS19NSURETEVfUklHSFQgPSAnaWNvbl9saW5rX21pZGRsZV9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fVEFSR0VUX01JRERMRV9SSUdIVCA9ICdpY29uX3RhcmdldF9taWRkbGVfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTUFHRV9NSURETEVfVE9QID0gJ2ltYWdlX21pZGRsZV90b3AnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX01JRERMRV9UT1AgPSAnaWNvbl9taWRkbGVfdG9wJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9DT0xPUl9NSURETEVfVE9QID0gJ2ljb25fY29sb3JfbWlkZGxlX3RvcCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNQUdFX01JRERMRV9CT1RUT00gPSAnaW1hZ2VfbWlkZGxlX2JvdHRvbSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNQUdFX0xFRlRfQk9UVE9NID0gJ2ltYWdlX2xlZnRfYm90dG9tJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSU1BR0VfTEVGVF9UT1AgPSAnaW1hZ2VfbGVmdF90b3AnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX01JRERMRV9CT1RUT00gPSAnaWNvbl9taWRkbGVfYm90dG9tJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9CT1RUT01fTEVGVCA9ICdpY29uX2JvdHRvbV9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9CT1RUT01fUklHSFQgPSAnaWNvbl9ib3R0b21fcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX0NPTE9SX0JPVFRPTV9MRUZUID0gJ2ljb25fX2NvbG9yX2JvdHRvbV9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9DT0xPUl9CT1RUT01fUklHSFQgPSAnaWNvbl9fY29sb3JfYm90dG9tX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfUEFZTUVOVF9PUl9NRURJQSA9ICdwYXltZW50X29yX21lZGlhJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9DT0xPUl9NSURETEVfQk9UVE9NID0gJ2ljb25fY29sb3JfbWlkZGxlX2JvdHRvbSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RJTUUgPSAndGltZSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0RPVFMgPSAnZG90cyc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0ZVTExQQUdFID0gJ2Z1bGxwYWdlJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVEVYVF9DRU5URVIgPSAndGV4dF9jZW50ZXInO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9TTElERVIgPSAnc2xpZGVyJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSU1BR0VfQk9UVE9NID0gJ2ltYWdlX2JvdHRvbSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTlRST0wgPSAnY29udHJvbCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0FVVE9QTEFZID0gJ2F1dG9wbGF5JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfTVVURSA9ICdtdXRlJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfTE9PUCA9ICdsb29wJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfTElOSyA9ICdsaW5rJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfTElOS19MRUZUID0gJ2xpbmtfbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0xJTktfUklHSFQgPSAnbGlua19yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1VSTCA9ICd1cmwnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9VUkxfTEVGVCA9ICd1cmxfbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1VSTF9SSUdIVCA9ICd1cmxfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9URVhUID0gJ3RleHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9URVhUX0xFRlQgPSAndGV4dF9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVEVYVF9SSUdIVCA9ICd0ZXh0X3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVFlQRV9WSURFTyA9ICd0eXBlX3ZpZGVvJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVFlQRV9QUk9EVUNUID0gJ3R5cGVfcHJvZHVjdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0FNUExJRllfQ0FURUdPUlkgPSAnYW1wbGlmeV9jYXRlZ29yeSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0xJU1RfUFJPRFVDVCA9ICdsaXN0X3Byb2R1Y3QnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9OQkxJR05FID0gJ25iX2xpZ25lJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSURfUFJPRFVDVCA9ICdpZF9wcm9kdWN0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVElUTEUgPSAndGl0bGUnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT0xPUl9CVVRUT04gPSAnY29sb3ItYnV0dG9uJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQkFDS0dST1VORF9DT0xPUl9CVVRUT04gPSAnYmFja2dyb3VuZC1jb2xvci1idXR0b24nO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9BRERSRVNTID0gJ2FkZHJlc3MnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9QSE9ORSA9ICdwaG9uZSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0VNQUlMID0gJ2VtYWlsJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQVVUSE9SID0gJ2F1dGhvcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1NIT1dfVElUTEUgPSAnc2hvd190aXRsZSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RJVExFX01JRERMRV9SSUdIVCA9ICd0aXRsZV9taWRkbGVfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9USVRMRV9NSURETEVfTEVGVCA9ICd0aXRsZV9taWRkbGVfbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RJVExFX0xFRlQgPSAndGl0bGVfbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RJVExFX1JJR0hUID0gJ3RpdGxlX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09OVEVOVCA9ICdjb250ZW50JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfUExBQ0VIT0xERVIgPSAncGxhY2Vob2xkZXInO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT05URU5UX0xFRlQgPSAnY29udGVudF9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09OVEVOVF9SSUdIVCA9ICdjb250ZW50X3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09OVEVOVF9NSURETEVfUklHSFQgPSAnY29udGVudF9taWRkbGVfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT05URU5UX01JRERMRV9CT1RUT00gPSAnY29udGVudF9taWRkbGVfYm90dG9tJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09OVEVOVF9NSURETEVfTEVGVCA9ICdjb250ZW50X21pZGRsZV9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09OVEVOVF9NSURETEVfVE9QID0gJ2NvbnRlbnRfbWlkZGxlX3RvcCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTlRFTlRfQk9UVE9NX0xFRlQgPSAnY29udGVudF9ib3R0b21fbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTlRFTlRfQk9UVE9NX1JJR0hUID0gJ2NvbnRlbnRfYm90dG9tX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSU1BR0VfUEFZTUVOVCA9ICdpbWFnZV9wYXltZW50JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09MT1IgPSAnY29sb3InO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9QQURESU5HID0gJ3BhZGRpbmcnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9CQUNLR1JPVU5EX0NPTE9SID0gJ2JhY2tncm91bmRfY29sb3InO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9CQUNLR1JPVU5EX0NPTE9SX1NFQ09OREFSWSA9ICdiYWNrZ3JvdW5kX2NvbG9yX3NlY29uZGFyeSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0hSRUYgPSAnaHJlZic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RBUkdFVCA9ICd0YXJnZXQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9URVhUX0NPTE9SID0gJ3RleHRfY29sb3InO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9TVEFSX0NPTE9SID0gJ3N0YXJfY29sb3InO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9TRUNPTkRBUllfQ09MT1IgPSAnc2Vjb25kYXJ5X2NvbG9yJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfU1RBUl9TRUNPTkRBUllfQ09MT1IgPSAnc3Rhcl9zZWNvbmRhcnlfY29sb3InO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT0xPUl9MRUZUID0gJ2NvbG9yX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT0xPUl9SSUdIVCA9ICdjb2xvcl9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTE9SX01JRERMRV9MRUZUID0gJ2NvbG9yX21pZGRsZV9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09MT1JfTUlERExFX1JJR0hUID0gJ2NvbG9yX21pZGRsZV9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1dJRFRIID0gJ3dpZHRoJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSEVJR0hUID0gJ2hlaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0JPUkRFUl9TVFlMRSA9ICdib3JkZXJfc3R5bGUnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9CT1JERVJfQ09MT1IgPSAnYm9yZGVyX2NvbG9yJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQlVUVE9OID0gJ2J1dHRvbic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0JVVFRPTl9MRUZUID0gJ2J1dHRvbl9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQlVUVE9OX01JRERMRV9MRUZUID0gJ2J1dHRvbl9taWRkbGVfbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0JVVFRPTl9SSUdIVCA9ICdidXR0b25fcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9CVVRUT05fTUlERExFX1JJR0hUID0gJ2J1dHRvbl9taWRkbGVfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9CVVRUT05fVEVYVCA9ICdidXR0b25fdGV4dCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1VSTF9UQVJHRVQgPSAndXJsX3RhcmdldCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0ZBQ0VCT09LID0gJ2ZhY2Vib29rJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVFdJVFRFUiA9ICd0d2l0dGVyJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSU5TVEFHUkFNID0gJ2luc3RhZ3JhbSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1BJTlRFUkVTVCA9ICdwaW50ZXJlc3QnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTUFHRV9DRU5URVIgPSAnaW1hZ2VfY2VudGVyJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09OVEVOVF9DRU5URVIgPSAnY29udGVudF9jZW50ZXInO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9USVRMRV9DRU5URVIgPSAndGl0bGVfY2VudGVyJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVVJMX0NFTlRFUiA9ICd1cmxfY2VudGVyJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09MT1JfQ0VOVEVSID0gJ2NvbG9yX2NlbnRlcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNQUdFX0NFTlRFUl9MRUZUID0gJ2ltYWdlX2NlbnRlcl9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09OVEVOVF9DRU5URVJfTEVGVCA9ICdjb250ZW50X2NlbnRlcl9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVElUTEVfQ0VOVEVSX0xFRlQgPSAndGl0bGVfY2VudGVyX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9VUkxfQ0VOVEVSX0xFRlQgPSAndXJsX2NlbnRlcl9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09MT1JfQ0VOVEVSX0xFRlQgPSAnY29sb3JfY2VudGVyX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTUFHRV9DRU5URVJfUklHSFQgPSAnaW1hZ2VfY2VudGVyX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09OVEVOVF9DRU5URVJfUklHSFQgPSAnY29udGVudF9jZW50ZXJfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9USVRMRV9DRU5URVJfUklHSFQgPSAndGl0bGVfY2VudGVyX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVVJMX0NFTlRFUl9SSUdIVCA9ICd1cmxfY2VudGVyX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09MT1JfQ0VOVEVSX1JJR0hUID0gJ2NvbG9yX2NlbnRlcl9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0FVVEhPUl9SSUdIVCA9ICdhdXRob3JfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9BVVRIT1JfTEVGVCA9ICdhdXRob3JfbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNQUdFX0JBQ0tHUk9VTkQgPSAnaW1hZ2VfYmFja2dyb3VuZCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNR19NQVNLID0gJ2ltYWdlX21hc2snO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9QQVJBTExBWCA9ICdwYXJhbGxheCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1BBUkFMTEFYX1NQRUVEID0gJ3BhcmFsbGF4X3NwZWVkJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfUEFSQUxMQVhfSU5WRVJURUQgPSAncGFyYWxsYXhfaW52ZXJ0ZWQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9EQVRFID0gJ2RhdGUnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9EQVlTID0gJ2RheXMnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9NSU5VVEVTID0gJ21pbnV0ZXMnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9IT1VSUyA9ICdob3Vycyc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1NFQ09ORFMgPSAnc2Vjb25kcyc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0FCU09MVVRFID0gJ2Fic29sdXRlJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfRklSU1RfU1RFUCA9ICdmaXJzdF9zdGVwJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfUkFUSU5HU19MSU5LID0gJ3JhdGluZ3NfbGluayc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1VOREVSTElORV9DT0xPUiA9ICd1bmRlcmxpbmVfY29sb3InO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9FTEVNRU5UUyA9ICdlbGVtZW50cyc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0FVVEhPUl9OQU1FID0gJ2F1dGhvcl9uYW1lJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQVVUSE9SX1RJVExFID0gJ2F1dGhvcl90aXRsZSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lOSVQgPSAnaW5pdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0ZBUSA9ICdmYXFfcm93cyc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1NIQURPV19DT0xPUiA9ICdzaGFkb3dfY29sb3InO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9PUEVOID0gJ29wZW4nO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9BQ0NPUkRJT04gPSAnYWNjb3JkaW9uJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQUxJR05fQlVUVE9OID0gJ2FsaWduX2J1dHRvbic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1dJRFRIX0JMT0NLID0gJ3dpZHRoX2Jsb2NrJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSElERV9CTE9DSyA9ICdoaWRlX2Jsb2NrJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfRVhURVJOQUwgPSAnZXh0ZXJuYWwnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JVEVNX05VTUJFUiA9ICdpdGVtX251bWJlcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0xJTkVfTlVNQkVSID0gJ2xpbmVfbnVtYmVyJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfUk9XUyA9ICdyb3dzJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09MVU1OUyA9ICdjb2x1bW5zJztcblxuZXhwb3J0IGNsYXNzIEZvcm1zQ29udGVudER0byB7XG4gICAgaWQ6IHN0cmluZztcblxuICAgIGxhYmVsOiBzdHJpbmc7XG5cbiAgICB0eXBlOiBzdHJpbmc7XG5cbiAgICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgaGVscDogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPjtcblxuICAgIHZhbHVlOiBhbnk7XG5cbiAgICBzdGVwOiBBcnJheTxzdHJpbmc+O1xuXG4gICAgc3RlcEtleTogQXJyYXk8c3RyaW5nPjtcblxuICAgIGxhYmVsRW5hYmxlOiBzdHJpbmc7XG5cbiAgICByZXZlcnNlU2hvdzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogMDogT25cbiAgICAgKiAxOiBPZmZcbiAgICAgKi9cbiAgICBzdGF0ZTogQXJyYXk8c3RyaW5nPjtcblxuICAgIGljb25IZWxwOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGlkLFxuICAgICAgICBsYWJlbCxcbiAgICAgICAgdHlwZSxcbiAgICAgICAgdmFsdWU6IGJvb2xlYW4gfCBzdHJpbmcgfCBudW1iZXIsXG4gICAgICAgIHBsYWNlaG9sZGVyLFxuICAgICAgICBoZWxwOiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+ID0gJycsXG4gICAgICAgIHN0ZXAgPSBbXSxcbiAgICAgICAgc3RlcEtleSA9IFtdLFxuICAgICAgICBzdGF0ZSA9IFtdLFxuICAgICAgICBpY29uSGVscCA9IGZhbHNlLFxuICAgICAgICBsYWJlbEVuYWJsZSA9ICcnLFxuICAgICAgICByZXZlcnNlU2hvdyA9IGZhbHNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuaWQgPSBpZDtcbiAgICAgICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xuICAgICAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gcGxhY2Vob2xkZXI7XG4gICAgICAgIHRoaXMuaGVscCA9IGhlbHA7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zdGVwID0gc3RlcDtcbiAgICAgICAgdGhpcy5zdGVwS2V5ID0gc3RlcEtleTtcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHN0YXRlO1xuICAgICAgICB0aGlzLmljb25IZWxwID0gaWNvbkhlbHA7XG4gICAgICAgIHRoaXMubGFiZWxFbmFibGUgPSBsYWJlbEVuYWJsZTtcbiAgICAgICAgdGhpcy5yZXZlcnNlU2hvdyA9IHJldmVyc2VTaG93O1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZvcm1zRHRvPFQ+IHtcbiAgICBibG9jazogYW55O1xuXG4gICAgdHlwZTogYW55O1xuXG4gICAgZm9ybXM6IEZvcm1zQ29udGVudER0b1tdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihibG9jaywgaGFzTWFyZ2luID0gdHJ1ZSkge1xuICAgICAgICBjb25zdCB0cmFuc2xhdGVCbG9ja1NlcnZpY2UgPSBJbmplY3RvclNlcnZpY2UuSW5qZWN0b3IuZ2V0KFRyYW5zbGF0ZUJsb2NrU2VydmljZSk7XG4gICAgICAgIHRoaXMuYmxvY2sgPSBibG9jaztcbiAgICAgICAgdHJhbnNsYXRlQmxvY2tTZXJ2aWNlLnRyYW5zbGF0ZVByb3BlcnRpZXModGhpcy5ibG9jayk7XG4gICAgICAgIGlmIChoYXNNYXJnaW4pIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybXMucHVzaChcbiAgICAgICAgICAgICAgICBuZXcgRm9ybXNDb250ZW50RHRvKFxuICAgICAgICAgICAgICAgICAgICBGT1JNX05BTUVfSElERV9CTE9DSyxcbiAgICAgICAgICAgICAgICAgICAgJ3diLmZvcm1zLkZvcm1zQ29udGVudER0by4xNicsXG4gICAgICAgICAgICAgICAgICAgIEZPUk1fVFlQRV9DSEVDS0JPWCxcbiAgICAgICAgICAgICAgICAgICAgYmxvY2tbRk9STV9OQU1FX0hJREVfQkxPQ0tdLFxuICAgICAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICAgICAgJycsXG4gICAgICAgICAgICAgICAgICAgIFtdLFxuICAgICAgICAgICAgICAgICAgICBbXSxcbiAgICAgICAgICAgICAgICAgICAgW2ZhbHNlLCB0cnVlXSxcbiAgICAgICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICd3Yi5mb3Jtcy5Gb3Jtc0NvbnRlbnREdG8uMTUnXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZvcm1zLnB1c2goXG4gICAgICAgICAgICBuZXcgRm9ybXNDb250ZW50RHRvKFxuICAgICAgICAgICAgICAgIEZPUk1fTkFNRV9NQVJHSU5fVE9QLFxuICAgICAgICAgICAgICAgICd3Yi5mb3Jtcy5Gb3Jtc0NvbnRlbnREdG8uMTMnLFxuICAgICAgICAgICAgICAgIEZPUk1fVFlQRV9UQUcsXG4gICAgICAgICAgICAgICAgYmxvY2tbRk9STV9OQU1FX01BUkdJTl9UT1BdLFxuICAgICAgICAgICAgICAgICcjMTIyMjMxJyxcbiAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICd3Yi5ibG9ja3MuRm9ybUNvbnRlbnREdG8uMTAxJyxcbiAgICAgICAgICAgICAgICAgICAgJ3diLmJsb2Nrcy5Gb3JtQ29udGVudER0by45NCcsXG4gICAgICAgICAgICAgICAgICAgICd3Yi5ibG9ja3MuRm9ybUNvbnRlbnREdG8uOTUnLFxuICAgICAgICAgICAgICAgICAgICAnd2IuYmxvY2tzLkZvcm1Db250ZW50RHRvLjk2JyxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIFsnbm9uZScsICdzbWFsbCcsICdtZWRpdW0nLCAnbGFyZ2UnXVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgICBpZiAoaGFzTWFyZ2luKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1zLnB1c2goXG4gICAgICAgICAgICAgICAgbmV3IEZvcm1zQ29udGVudER0byhcbiAgICAgICAgICAgICAgICAgICAgRk9STV9OQU1FX01BUkdJTixcbiAgICAgICAgICAgICAgICAgICAgJ3diLmZvcm1zLkZvcm1zQ29udGVudER0by4xJyxcbiAgICAgICAgICAgICAgICAgICAgRk9STV9UWVBFX1RBRyxcbiAgICAgICAgICAgICAgICAgICAgYmxvY2tbRk9STV9OQU1FX01BUkdJTl0sXG4gICAgICAgICAgICAgICAgICAgICcjMTIyMjMxJyxcbiAgICAgICAgICAgICAgICAgICAgJycsXG4gICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICd3Yi5ibG9ja3MuRm9ybUNvbnRlbnREdG8uMTAxJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd3Yi5ibG9ja3MuRm9ybUNvbnRlbnREdG8uOTQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3diLmJsb2Nrcy5Gb3JtQ29udGVudER0by45NScsXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2IuYmxvY2tzLkZvcm1Db250ZW50RHRvLjk2JyxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgWydub25lJywgJ3NtYWxsJywgJ21lZGl1bScsICdsYXJnZSddXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuZm9ybXMucHVzaChcbiAgICAgICAgICAgICAgICBuZXcgRm9ybXNDb250ZW50RHRvKFxuICAgICAgICAgICAgICAgICAgICBGT1JNX05BTUVfV0lEVEhfQkxPQ0ssXG4gICAgICAgICAgICAgICAgICAgICd3Yi5mb3Jtcy5Gb3Jtc0NvbnRlbnREdG8uMicsXG4gICAgICAgICAgICAgICAgICAgIEZPUk1fVFlQRV9UQUcsXG4gICAgICAgICAgICAgICAgICAgIGJsb2NrW0ZPUk1fTkFNRV9XSURUSF9CTE9DS10sXG4gICAgICAgICAgICAgICAgICAgICcjMTIyMjMxJyxcbiAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgJ3diLmZvcm1zLkZvcm1zQ29udGVudER0by41JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd3Yi5mb3Jtcy5Gb3Jtc0NvbnRlbnREdG8uNicsXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2IuZm9ybXMuRm9ybXNDb250ZW50RHRvLjcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3diLmZvcm1zLkZvcm1zQ29udGVudER0by44JyxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgJ3diLmZvcm1zLkZvcm1zQ29udGVudER0by45JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd3Yi5mb3Jtcy5Gb3Jtc0NvbnRlbnREdG8uMTAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3diLmZvcm1zLkZvcm1zQ29udGVudER0by4xMScsXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2IuZm9ybXMuRm9ybXNDb250ZW50RHRvLjEyJyxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgWydzbWFsbCcsICdtZWRpdW0nLCAnbGFyZ2UnLCAnZnVsbCddXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
245
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMuZHRvLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3BhdWxpbmUvRG9jdW1lbnRzL3dvcmtzcGFjZS93aXppLWJsb2NrL3Byb2plY3RzL3dpemktYmxvY2svc3JjLyIsInNvdXJjZXMiOlsibGliL2R0b3MvZm9ybXMvZm9ybXMuZHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUVyRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDO0FBQ3JDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxVQUFVLENBQUM7QUFDN0MsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQztBQUNuQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDO0FBRXZDLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLE9BQU8sQ0FBQztBQUNsRCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxRQUFRLENBQUM7QUFDcEQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsT0FBTyxDQUFDO0FBRWxEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQztBQUNqQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUM7QUFDM0MsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLFlBQVksQ0FBQztBQUNqRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxjQUFjLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsaUJBQWlCLENBQUM7QUFDM0QsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLFdBQVcsQ0FBQztBQUMvQyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxhQUFhLENBQUM7QUFDbkQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQztBQUNyQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUM7QUFDaEQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLFlBQVksQ0FBQztBQUNqRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxZQUFZLENBQUM7QUFDakQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsYUFBYSxDQUFDO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLFlBQVksQ0FBQztBQUNqRCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxrQkFBa0IsQ0FBQztBQUM3RCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxpQkFBaUIsQ0FBQztBQUMzRCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxtQkFBbUIsQ0FBQztBQUMvRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxZQUFZLENBQUM7QUFDakQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLGNBQWMsQ0FBQztBQUNyRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxXQUFXLENBQUM7QUFDL0MsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsc0JBQXNCLENBQUM7QUFDckUsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsaUJBQWlCLENBQUM7QUFDM0QsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsWUFBWSxDQUFDO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLGlCQUFpQixDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLGdCQUFnQixDQUFDO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLGtCQUFrQixDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLG1CQUFtQixDQUFDO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLGtCQUFrQixDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLHdCQUF3QixDQUFDO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLHVCQUF1QixDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLHlCQUF5QixDQUFDO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLG9CQUFvQixDQUFDO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLG1CQUFtQixDQUFDO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLHlCQUF5QixDQUFDO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLHdCQUF3QixDQUFDO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFHLDBCQUEwQixDQUFDO0FBQzdFLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLGtCQUFrQixDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLGlCQUFpQixDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLHVCQUF1QixDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLHFCQUFxQixDQUFDO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLG1CQUFtQixDQUFDO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLGdCQUFnQixDQUFDO0FBQ3pELE1BQU0sQ0FB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LENBQUMsZ0JBQWdCLENBQUMsRUFDdkIsU0FBUyxFQUNULEVBQUUsRUFDRjtnQkFDSSw4QkFBOEI7Z0JBQzlCLDZCQUE2QjtnQkFDN0IsNkJBQTZCO2dCQUM3Qiw2QkFBNkI7YUFDaEMsRUFDRCxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUN2QyxDQUNKLENBQUM7WUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDWCxJQUFJLGVBQWUsQ0FDZixxQkFBcUIsRUFDckIsNEJBQTRCLEVBQzVCLGFBQWEsRUFDYixLQUFLLENBQUMscUJBQXFCLENBQUMsRUFDNUIsU0FBUyxFQUNUO2dCQUNJLDRCQUE0QjtnQkFDNUIsNEJBQTRCO2dCQUM1Qiw0QkFBNEI7Z0JBQzVCLDRCQUE0QjthQUMvQixFQUNEO2dCQUNJLDRCQUE0QjtnQkFDNUIsNkJBQTZCO2dCQUM3Qiw2QkFBNkI7Z0JBQzdCLDZCQUE2QjthQUNoQyxFQUNELENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQ3ZDLENBQ0osQ0FBQztTQUNMO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbHMvaW5qZWN0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVCbG9ja1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlscy90cmFuc2xhdGUtYmxvY2suc2VydmljZSc7XG5cbmV4cG9ydCBjb25zdCBGT1JNX1RZUEVfVEVYVCA9ICd0ZXh0JztcbmV4cG9ydCBjb25zdCBGT1JNX1RZUEVfTlVNQkVSID0gJ251bWJlcic7XG5leHBvcnQgY29uc3QgRk9STV9UWVBFX0NIRUNLQk9YID0gJ2NoZWNrYm94JztcbmV4cG9ydCBjb25zdCBGT1JNX1RZUEVfVEFHID0gJ3RhZyc7XG5leHBvcnQgY29uc3QgRk9STV9UWVBFX0NPTE9SID0gJ2NvbG9yJztcblxuZXhwb3J0IGNvbnN0IEZPUk1fVFlQRV9JTUFHRV9NQVNLX1NNQUxMID0gJ3NtYWxsJztcbmV4cG9ydCBjb25zdCBGT1JNX1RZUEVfSU1BR0VfTUFTS19NRURJVU0gPSAnbWVkaXVtJztcbmV4cG9ydCBjb25zdCBGT1JNX1RZUEVfSU1BR0VfTUFTS19MQVJHRSA9ICdsYXJnZSc7XG5cbi8qKlxuICogRHRvIG5hbWUgaXMgZml4ZWQsIGlmIHlvdSBjaGFuZ2UgdGhlbSwgeW91IGhhdmUgdG8gdXBkYXRlIGluIGFsbCBjb21wb25lbnRcbiAqL1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JRCA9ICdpZCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lEX0ZPUk0gPSAnaWRfZm9ybSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX01BUkdJTiA9ICdtYXJnaW4nO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9NQVJHSU5fVE9QID0gJ21hcmdpbl90b3AnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9BTVBMSUZZX1RZUEUgPSAnYW1wbGlmeV90eXBlJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQU1QTElGWV9OQkxJR05FID0gJ2FtcGxpZnlfbmJsaWduZSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0FQUF9JRCA9ICdhcHBfaWQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTUFHRV9VUkwgPSAnaW1hZ2VfdXJsJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSU1BR0VfV0lEVEggPSAnaW1hZ2Vfd2lkdGgnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTUFHRV9IRUlHSFQgPSAnaW1hZ2VfaGVpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSU1BR0UgPSAnaW1hZ2UnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OID0gJ2ljb24nO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9QQVlNRU5UID0gJ3BheW1lbnRfbGluayc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fQUREUkVTUyA9ICdpY29uX2FkZHJlc3MnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX1BIT05FID0gJ2ljb25fcGhvbmUnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX0VNQUlMID0gJ2ljb25fZW1haWwnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTUFHRV9SSUdIVCA9ICdpbWFnZV9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fUklHSFQgPSAnaWNvbl9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fQ09MT1JfUklHSFQgPSAnaWNvbl9jb2xvcl9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fTElOS19SSUdIVCA9ICdpY29uX2xpbmtfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX1RBUkdFVF9SSUdIVCA9ICdpY29uX3RhcmdldF9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNQUdFX0xFRlQgPSAnaW1hZ2VfbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPT1JESU5BVEVfWCA9ICdjb29yZGluYXRlX3gnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT09SRElOQVRFX1kgPSAnY29vcmRpbmF0ZV95JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9MRUZUID0gJ2ljb25fbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RFWFRfQkFDS0dST1VORF9MSU5LID0gJ3RleHRfYmFja2dyb3VuZF9saW5rJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVEVYVF9CQUNLR1JPVU5EID0gJ3RleHRfYmFja2dyb3VuZCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fQ09MT1IgPSAnaWNvbl9jb2xvcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fQ09MT1JfTEVGVCA9ICdpY29uX2NvbG9yX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX0xJTktfTEVGVCA9ICdpY29uX2xpbmtfbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fVEFSR0VUX0xFRlQgPSAnaWNvbl90YXJnZXRfbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNQUdFX01JRERMRV9MRUZUID0gJ2ltYWdlX21pZGRsZV9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9NSURETEVfTEVGVCA9ICdpY29uX21pZGRsZV9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9DT0xPUl9NSURETEVfTEVGVCA9ICdpY29uX2NvbG9yX21pZGRsZV9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9MSU5LX01JRERMRV9MRUZUID0gJ2ljb25fbGlua19taWRkbGVfbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fVEFSR0VUX01JRERMRV9MRUZUID0gJ2ljb25fdGFyZ2V0X21pZGRsZV9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSU1BR0VfTUlERExFX1JJR0hUID0gJ2ltYWdlX21pZGRsZV9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fTUlERExFX1JJR0hUID0gJ2ljb25fbWlkZGxlX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9DT0xPUl9NSURETEVfUklHSFQgPSAnaWNvbl9jb2xvcl9taWRkbGVfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX0xJTktfTUlERExFX1JJR0hUID0gJ2ljb25fbGlua19taWRkbGVfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JQ09OX1RBUkdFVF9NSURETEVfUklHSFQgPSAnaWNvbl90YXJnZXRfbWlkZGxlX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSU1BR0VfTUlERExFX1RPUCA9ICdpbWFnZV9taWRkbGVfdG9wJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9NSURETEVfVE9QID0gJ2ljb25fbWlkZGxlX3RvcCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fQ09MT1JfTUlERExFX1RPUCA9ICdpY29uX2NvbG9yX21pZGRsZV90b3AnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTUFHRV9NSURETEVfQk9UVE9NID0gJ2ltYWdlX21pZGRsZV9ib3R0b20nO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTUFHRV9MRUZUX0JPVFRPTSA9ICdpbWFnZV9sZWZ0X2JvdHRvbSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNQUdFX0xFRlRfVE9QID0gJ2ltYWdlX2xlZnRfdG9wJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9NSURETEVfQk9UVE9NID0gJ2ljb25fbWlkZGxlX2JvdHRvbSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fQk9UVE9NX0xFRlQgPSAnaWNvbl9ib3R0b21fbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fQk9UVE9NX1JJR0hUID0gJ2ljb25fYm90dG9tX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSUNPTl9DT0xPUl9CT1RUT01fTEVGVCA9ICdpY29uX19jb2xvcl9ib3R0b21fbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fQ09MT1JfQk9UVE9NX1JJR0hUID0gJ2ljb25fX2NvbG9yX2JvdHRvbV9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1BBWU1FTlRfT1JfTUVESUEgPSAncGF5bWVudF9vcl9tZWRpYSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lDT05fQ09MT1JfTUlERExFX0JPVFRPTSA9ICdpY29uX2NvbG9yX21pZGRsZV9ib3R0b20nO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9USU1FID0gJ3RpbWUnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9ET1RTID0gJ2RvdHMnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9GVUxMUEFHRSA9ICdmdWxscGFnZSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RFWFRfQ0VOVEVSID0gJ3RleHRfY2VudGVyJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfU0xJREVSID0gJ3NsaWRlcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNQUdFX0JPVFRPTSA9ICdpbWFnZV9ib3R0b20nO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT05UUk9MID0gJ2NvbnRyb2wnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9BVVRPUExBWSA9ICdhdXRvcGxheSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX01VVEUgPSAnbXV0ZSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0xPT1AgPSAnbG9vcCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0xJTksgPSAnbGluayc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0xJTktfTEVGVCA9ICdsaW5rX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9MSU5LX1JJR0hUID0gJ2xpbmtfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9VUkwgPSAndXJsJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVVJMX0xFRlQgPSAndXJsX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9VUkxfUklHSFQgPSAndXJsX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVEVYVCA9ICd0ZXh0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVEVYVF9MRUZUID0gJ3RleHRfbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RFWFRfUklHSFQgPSAndGV4dF9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RZUEVfVklERU8gPSAndHlwZV92aWRlbyc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RZUEVfUFJPRFVDVCA9ICd0eXBlX3Byb2R1Y3QnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9BTVBMSUZZX0NBVEVHT1JZID0gJ2FtcGxpZnlfY2F0ZWdvcnknO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9MSVNUX1BST0RVQ1QgPSAnbGlzdF9wcm9kdWN0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfTkJMSUdORSA9ICduYl9saWduZSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lEX1BST0RVQ1QgPSAnaWRfcHJvZHVjdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RJVExFID0gJ3RpdGxlJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09MT1JfQlVUVE9OID0gJ2NvbG9yLWJ1dHRvbic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0JBQ0tHUk9VTkRfQ09MT1JfQlVUVE9OID0gJ2JhY2tncm91bmQtY29sb3ItYnV0dG9uJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQUREUkVTUyA9ICdhZGRyZXNzJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfUEhPTkUgPSAncGhvbmUnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9FTUFJTCA9ICdlbWFpbCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0FVVEhPUiA9ICdhdXRob3InO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9TSE9XX1RJVExFID0gJ3Nob3dfdGl0bGUnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9USVRMRV9NSURETEVfUklHSFQgPSAndGl0bGVfbWlkZGxlX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVElUTEVfTUlERExFX0xFRlQgPSAndGl0bGVfbWlkZGxlX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9USVRMRV9MRUZUID0gJ3RpdGxlX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9USVRMRV9SSUdIVCA9ICd0aXRsZV9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTlRFTlQgPSAnY29udGVudCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1BMQUNFSE9MREVSID0gJ3BsYWNlaG9sZGVyJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09OVEVOVF9MRUZUID0gJ2NvbnRlbnRfbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTlRFTlRfUklHSFQgPSAnY29udGVudF9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTlRFTlRfTUlERExFX1JJR0hUID0gJ2NvbnRlbnRfbWlkZGxlX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09OVEVOVF9NSURETEVfQk9UVE9NID0gJ2NvbnRlbnRfbWlkZGxlX2JvdHRvbSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTlRFTlRfTUlERExFX0xFRlQgPSAnY29udGVudF9taWRkbGVfbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTlRFTlRfTUlERExFX1RPUCA9ICdjb250ZW50X21pZGRsZV90b3AnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT05URU5UX0JPVFRPTV9MRUZUID0gJ2NvbnRlbnRfYm90dG9tX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT05URU5UX0JPVFRPTV9SSUdIVCA9ICdjb250ZW50X2JvdHRvbV9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lNQUdFX1BBWU1FTlQgPSAnaW1hZ2VfcGF5bWVudCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTE9SID0gJ2NvbG9yJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfUEFERElORyA9ICdwYWRkaW5nJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQkFDS0dST1VORF9DT0xPUiA9ICdiYWNrZ3JvdW5kX2NvbG9yJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQkFDS0dST1VORF9DT0xPUl9TRUNPTkRBUlkgPSAnYmFja2dyb3VuZF9jb2xvcl9zZWNvbmRhcnknO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9IUkVGID0gJ2hyZWYnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9UQVJHRVQgPSAndGFyZ2V0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVEVYVF9DT0xPUiA9ICd0ZXh0X2NvbG9yJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfU1RBUl9DT0xPUiA9ICdzdGFyX2NvbG9yJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfU0VDT05EQVJZX0NPTE9SID0gJ3NlY29uZGFyeV9jb2xvcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1NUQVJfU0VDT05EQVJZX0NPTE9SID0gJ3N0YXJfc2Vjb25kYXJ5X2NvbG9yJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09MT1JfTEVGVCA9ICdjb2xvcl9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQ09MT1JfUklHSFQgPSAnY29sb3JfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9DT0xPUl9NSURETEVfTEVGVCA9ICdjb2xvcl9taWRkbGVfbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTE9SX01JRERMRV9SSUdIVCA9ICdjb2xvcl9taWRkbGVfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9XSURUSCA9ICd3aWR0aCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0hFSUdIVCA9ICdoZWlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9CT1JERVJfU1RZTEUgPSAnYm9yZGVyX3N0eWxlJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQk9SREVSX0NPTE9SID0gJ2JvcmRlcl9jb2xvcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0JVVFRPTiA9ICdidXR0b24nO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9CVVRUT05fTEVGVCA9ICdidXR0b25fbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0JVVFRPTl9NSURETEVfTEVGVCA9ICdidXR0b25fbWlkZGxlX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9CVVRUT05fUklHSFQgPSAnYnV0dG9uX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQlVUVE9OX01JRERMRV9SSUdIVCA9ICdidXR0b25fbWlkZGxlX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQlVUVE9OX1RFWFQgPSAnYnV0dG9uX3RleHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9VUkxfVEFSR0VUID0gJ3VybF90YXJnZXQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9GQUNFQk9PSyA9ICdmYWNlYm9vayc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RXSVRURVIgPSAndHdpdHRlcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0lOU1RBR1JBTSA9ICdpbnN0YWdyYW0nO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9QSU5URVJFU1QgPSAncGludGVyZXN0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSU1BR0VfQ0VOVEVSID0gJ2ltYWdlX2NlbnRlcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTlRFTlRfQ0VOVEVSID0gJ2NvbnRlbnRfY2VudGVyJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVElUTEVfQ0VOVEVSID0gJ3RpdGxlX2NlbnRlcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1VSTF9DRU5URVIgPSAndXJsX2NlbnRlcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTE9SX0NFTlRFUiA9ICdjb2xvcl9jZW50ZXInO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTUFHRV9DRU5URVJfTEVGVCA9ICdpbWFnZV9jZW50ZXJfbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTlRFTlRfQ0VOVEVSX0xFRlQgPSAnY29udGVudF9jZW50ZXJfbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1RJVExFX0NFTlRFUl9MRUZUID0gJ3RpdGxlX2NlbnRlcl9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVVJMX0NFTlRFUl9MRUZUID0gJ3VybF9jZW50ZXJfbGVmdCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTE9SX0NFTlRFUl9MRUZUID0gJ2NvbG9yX2NlbnRlcl9sZWZ0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSU1BR0VfQ0VOVEVSX1JJR0hUID0gJ2ltYWdlX2NlbnRlcl9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTlRFTlRfQ0VOVEVSX1JJR0hUID0gJ2NvbnRlbnRfY2VudGVyX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfVElUTEVfQ0VOVEVSX1JJR0hUID0gJ3RpdGxlX2NlbnRlcl9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1VSTF9DRU5URVJfUklHSFQgPSAndXJsX2NlbnRlcl9yaWdodCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTE9SX0NFTlRFUl9SSUdIVCA9ICdjb2xvcl9jZW50ZXJfcmlnaHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9BVVRIT1JfUklHSFQgPSAnYXV0aG9yX3JpZ2h0JztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQVVUSE9SX0xFRlQgPSAnYXV0aG9yX2xlZnQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTUFHRV9CQUNLR1JPVU5EID0gJ2ltYWdlX2JhY2tncm91bmQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTUdfTUFTSyA9ICdpbWFnZV9tYXNrJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfUEFSQUxMQVggPSAncGFyYWxsYXgnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9QQVJBTExBWF9TUEVFRCA9ICdwYXJhbGxheF9zcGVlZCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1BBUkFMTEFYX0lOVkVSVEVEID0gJ3BhcmFsbGF4X2ludmVydGVkJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfREFURSA9ICdkYXRlJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfREFZUyA9ICdkYXlzJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfTUlOVVRFUyA9ICdtaW51dGVzJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSE9VUlMgPSAnaG91cnMnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9TRUNPTkRTID0gJ3NlY29uZHMnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9BQlNPTFVURSA9ICdhYnNvbHV0ZSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0ZJUlNUX1NURVAgPSAnZmlyc3Rfc3RlcCc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1JBVElOR1NfTElOSyA9ICdyYXRpbmdzX2xpbmsnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9VTkRFUkxJTkVfQ09MT1IgPSAndW5kZXJsaW5lX2NvbG9yJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfRUxFTUVOVFMgPSAnZWxlbWVudHMnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9BVVRIT1JfTkFNRSA9ICdhdXRob3JfbmFtZSc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0FVVEhPUl9USVRMRSA9ICdhdXRob3JfdGl0bGUnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9JTklUID0gJ2luaXQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9GQVEgPSAnZmFxX3Jvd3MnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9TSEFET1dfQ09MT1IgPSAnc2hhZG93X2NvbG9yJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfT1BFTiA9ICdvcGVuJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfQUNDT1JESU9OID0gJ2FjY29yZGlvbic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0FMSUdOX0JVVFRPTiA9ICdhbGlnbl9idXR0b24nO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9XSURUSF9CTE9DSyA9ICd3aWR0aF9ibG9jayc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0hJREVfQkxPQ0sgPSAnaGlkZV9ibG9jayc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0VYVEVSTkFMID0gJ2V4dGVybmFsJztcbmV4cG9ydCBjb25zdCBGT1JNX05BTUVfSVRFTV9OVU1CRVIgPSAnaXRlbV9udW1iZXInO1xuZXhwb3J0IGNvbnN0IEZPUk1fTkFNRV9MSU5FX05VTUJFUiA9ICdsaW5lX251bWJlcic7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX1JPV1MgPSAncm93cyc7XG5leHBvcnQgY29uc3QgRk9STV9OQU1FX0NPTFVNTlMgPSAnY29sdW1ucyc7XG5cbmV4cG9ydCBjbGFzcyBGb3Jtc0NvbnRlbnREdG8ge1xuICAgIGlkOiBzdHJpbmc7XG5cbiAgICBsYWJlbDogc3RyaW5nO1xuXG4gICAgdHlwZTogc3RyaW5nO1xuXG4gICAgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICAgIGhlbHA6IHN0cmluZyB8IEFycmF5PHN0cmluZz47XG5cbiAgICB2YWx1ZTogYW55O1xuXG4gICAgc3RlcDogQXJyYXk8c3RyaW5nPjtcblxuICAgIHN0ZXBLZXk6IEFycmF5PHN0cmluZz47XG5cbiAgICBsYWJlbEVuYWJsZTogc3RyaW5nO1xuXG4gICAgcmV2ZXJzZVNob3c6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIDA6IE9uXG4gICAgICogMTogT2ZmXG4gICAgICovXG4gICAgc3RhdGU6IEFycmF5PHN0cmluZz47XG5cbiAgICBpY29uSGVscDogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpZCxcbiAgICAgICAgbGFiZWwsXG4gICAgICAgIHR5cGUsXG4gICAgICAgIHZhbHVlOiBib29sZWFuIHwgc3RyaW5nIHwgbnVtYmVyLFxuICAgICAgICBwbGFjZWhvbGRlcixcbiAgICAgICAgaGVscDogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPiA9ICcnLFxuICAgICAgICBzdGVwID0gW10sXG4gICAgICAgIHN0ZXBLZXkgPSBbXSxcbiAgICAgICAgc3RhdGUgPSBbXSxcbiAgICAgICAgaWNvbkhlbHAgPSBmYWxzZSxcbiAgICAgICAgbGFiZWxFbmFibGUgPSAnJyxcbiAgICAgICAgcmV2ZXJzZVNob3cgPSBmYWxzZVxuICAgICkge1xuICAgICAgICB0aGlzLmlkID0gaWQ7XG4gICAgICAgIHRoaXMubGFiZWwgPSBsYWJlbDtcbiAgICAgICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IHBsYWNlaG9sZGVyO1xuICAgICAgICB0aGlzLmhlbHAgPSBoZWxwO1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc3RlcCA9IHN0ZXA7XG4gICAgICAgIHRoaXMuc3RlcEtleSA9IHN0ZXBLZXk7XG4gICAgICAgIHRoaXMuc3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgdGhpcy5pY29uSGVscCA9IGljb25IZWxwO1xuICAgICAgICB0aGlzLmxhYmVsRW5hYmxlID0gbGFiZWxFbmFibGU7XG4gICAgICAgIHRoaXMucmV2ZXJzZVNob3cgPSByZXZlcnNlU2hvdztcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGb3Jtc0R0bzxUPiB7XG4gICAgYmxvY2s6IGFueTtcblxuICAgIHR5cGU6IGFueTtcblxuICAgIGZvcm1zOiBGb3Jtc0NvbnRlbnREdG9bXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IoYmxvY2ssIGhhc01hcmdpbiA9IHRydWUpIHtcbiAgICAgICAgY29uc3QgdHJhbnNsYXRlQmxvY2tTZXJ2aWNlID0gSW5qZWN0b3JTZXJ2aWNlLkluamVjdG9yLmdldChUcmFuc2xhdGVCbG9ja1NlcnZpY2UpO1xuICAgICAgICB0aGlzLmJsb2NrID0gYmxvY2s7XG4gICAgICAgIHRyYW5zbGF0ZUJsb2NrU2VydmljZS50cmFuc2xhdGVQcm9wZXJ0aWVzKHRoaXMuYmxvY2spO1xuICAgICAgICBpZiAoaGFzTWFyZ2luKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1zLnB1c2goXG4gICAgICAgICAgICAgICAgbmV3IEZvcm1zQ29udGVudER0byhcbiAgICAgICAgICAgICAgICAgICAgRk9STV9OQU1FX0hJREVfQkxPQ0ssXG4gICAgICAgICAgICAgICAgICAgICd3Yi5mb3Jtcy5Gb3Jtc0NvbnRlbnREdG8uMTYnLFxuICAgICAgICAgICAgICAgICAgICBGT1JNX1RZUEVfVEFHLFxuICAgICAgICAgICAgICAgICAgICBibG9ja1tGT1JNX05BTUVfSElERV9CTE9DS10sXG4gICAgICAgICAgICAgICAgICAgICcjMTIyMjMxJyxcbiAgICAgICAgICAgICAgICAgICAgJycsXG4gICAgICAgICAgICAgICAgICAgIFsnd2IuYmxvY2tzLkZvcm1Db250ZW50RHRvLjEyMycsICd3Yi5ibG9ja3MuRm9ybUNvbnRlbnREdG8uMTIyJ10sXG4gICAgICAgICAgICAgICAgICAgIFsnMCcsICcxJ11cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZm9ybXMucHVzaChcbiAgICAgICAgICAgIG5ldyBGb3Jtc0NvbnRlbnREdG8oXG4gICAgICAgICAgICAgICAgRk9STV9OQU1FX01BUkdJTl9UT1AsXG4gICAgICAgICAgICAgICAgJ3diLmZvcm1zLkZvcm1zQ29udGVudER0by4xMycsXG4gICAgICAgICAgICAgICAgRk9STV9UWVBFX1RBRyxcbiAgICAgICAgICAgICAgICBibG9ja1tGT1JNX05BTUVfTUFSR0lOX1RPUF0sXG4gICAgICAgICAgICAgICAgJyMxMjIyMzEnLFxuICAgICAgICAgICAgICAgICcnLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgJ3diLmJsb2Nrcy5Gb3JtQ29udGVudER0by4xMDEnLFxuICAgICAgICAgICAgICAgICAgICAnd2IuYmxvY2tzLkZvcm1Db250ZW50RHRvLjk0JyxcbiAgICAgICAgICAgICAgICAgICAgJ3diLmJsb2Nrcy5Gb3JtQ29udGVudER0by45NScsXG4gICAgICAgICAgICAgICAgICAgICd3Yi5ibG9ja3MuRm9ybUNvbnRlbnREdG8uOTYnLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgWydub25lJywgJ3NtYWxsJywgJ21lZGl1bScsICdsYXJnZSddXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIGlmIChoYXNNYXJnaW4pIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybXMucHVzaChcbiAgICAgICAgICAgICAgICBuZXcgRm9ybXNDb250ZW50RHRvKFxuICAgICAgICAgICAgICAgICAgICBGT1JNX05BTUVfTUFSR0lOLFxuICAgICAgICAgICAgICAgICAgICAnd2IuZm9ybXMuRm9ybXNDb250ZW50RHRvLjEnLFxuICAgICAgICAgICAgICAgICAgICBGT1JNX1RZUEVfVEFHLFxuICAgICAgICAgICAgICAgICAgICBibG9ja1tGT1JNX05BTUVfTUFSR0lOXSxcbiAgICAgICAgICAgICAgICAgICAgJyMxMjIyMzEnLFxuICAgICAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgJ3diLmJsb2Nrcy5Gb3JtQ29udGVudER0by4xMDEnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3diLmJsb2Nrcy5Gb3JtQ29udGVudER0by45NCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2IuYmxvY2tzLkZvcm1Db250ZW50RHRvLjk1JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd3Yi5ibG9ja3MuRm9ybUNvbnRlbnREdG8uOTYnLFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBbJ25vbmUnLCAnc21hbGwnLCAnbWVkaXVtJywgJ2xhcmdlJ11cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5mb3Jtcy5wdXNoKFxuICAgICAgICAgICAgICAgIG5ldyBGb3Jtc0NvbnRlbnREdG8oXG4gICAgICAgICAgICAgICAgICAgIEZPUk1fTkFNRV9XSURUSF9CTE9DSyxcbiAgICAgICAgICAgICAgICAgICAgJ3diLmZvcm1zLkZvcm1zQ29udGVudER0by4yJyxcbiAgICAgICAgICAgICAgICAgICAgRk9STV9UWVBFX1RBRyxcbiAgICAgICAgICAgICAgICAgICAgYmxvY2tbRk9STV9OQU1FX1dJRFRIX0JMT0NLXSxcbiAgICAgICAgICAgICAgICAgICAgJyMxMjIyMzEnLFxuICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2IuZm9ybXMuRm9ybXNDb250ZW50RHRvLjUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3diLmZvcm1zLkZvcm1zQ29udGVudER0by42JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd3Yi5mb3Jtcy5Gb3Jtc0NvbnRlbnREdG8uNycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2IuZm9ybXMuRm9ybXNDb250ZW50RHRvLjgnLFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2IuZm9ybXMuRm9ybXNDb250ZW50RHRvLjknLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3diLmZvcm1zLkZvcm1zQ29udGVudER0by4xMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2IuZm9ybXMuRm9ybXNDb250ZW50RHRvLjExJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd3Yi5mb3Jtcy5Gb3Jtc0NvbnRlbnREdG8uMTInLFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBbJ3NtYWxsJywgJ21lZGl1bScsICdsYXJnZScsICdmdWxsJ11cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -28,15 +28,20 @@ import { UndoTool } from './tools/paragraph/undo-tool.component';
|
|
|
28
28
|
import { RedoTool } from './tools/paragraph/redo-tool.component';
|
|
29
29
|
import { isTextEditionTool, setIsTextEditionTool } from './tools/utils/editorjs-tool.component';
|
|
30
30
|
import { EditorJSConversionService } from './tools/utils/editorjs-conversion.service';
|
|
31
|
+
import { EditorJSTranslationService } from './tools/utils/editorjs-translation.service';
|
|
32
|
+
import { onEditList, setlistApiEditor } from './tools/paragraph/tool-type/paragraph-style-tool.component';
|
|
31
33
|
export class EditorJsComponent {
|
|
32
|
-
constructor(translateService, editorJSConversionService) {
|
|
34
|
+
constructor(translateService, editorJSConversionService, editorJSTranslationService) {
|
|
33
35
|
this.translateService = translateService;
|
|
34
36
|
this.editorJSConversionService = editorJSConversionService;
|
|
37
|
+
this.editorJSTranslationService = editorJSTranslationService;
|
|
35
38
|
this.contentChange = new EventEmitter();
|
|
36
39
|
this.content = '';
|
|
40
|
+
this.position = 'bottom';
|
|
37
41
|
this.uuid = uuid();
|
|
38
42
|
this.timeoutHandle = null;
|
|
39
43
|
this.timeoutTextEditionHandle = null;
|
|
44
|
+
this.onChangeTimeoutHandle = null;
|
|
40
45
|
this.wrapperTags = 'h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote';
|
|
41
46
|
}
|
|
42
47
|
ngOnInit() {
|
|
@@ -95,16 +100,26 @@ export class EditorJsComponent {
|
|
|
95
100
|
placeholder: this.placeholder,
|
|
96
101
|
autofocus: false,
|
|
97
102
|
onChange: (api, event) => {
|
|
98
|
-
this.
|
|
103
|
+
clearTimeout(this.onChangeTimeoutHandle);
|
|
104
|
+
this.onChangeTimeoutHandle = setTimeout(() => {
|
|
105
|
+
this.contentChanged(api, event);
|
|
106
|
+
}, 300);
|
|
99
107
|
},
|
|
100
108
|
i18n: this.getI18nDictionnary(),
|
|
101
109
|
});
|
|
102
110
|
try {
|
|
103
111
|
yield this.editor.isReady;
|
|
112
|
+
this.editorJSTranslationService.setDictionnary(this.getI18nDictionnary());
|
|
104
113
|
this.editorJSConversionService.convert(this.content).then((content) => {
|
|
105
114
|
this.content = content;
|
|
106
115
|
this.applyContent();
|
|
107
116
|
this.checkSingleChild();
|
|
117
|
+
setTimeout(() => {
|
|
118
|
+
const editorElement = document.getElementById('editorJs-' + this.uuid);
|
|
119
|
+
editorElement.addEventListener('focusin', () => {
|
|
120
|
+
setlistApiEditor(this.editor, editorElement);
|
|
121
|
+
});
|
|
122
|
+
}, 0);
|
|
108
123
|
});
|
|
109
124
|
}
|
|
110
125
|
catch (reason) {
|
|
@@ -157,7 +172,7 @@ export class EditorJsComponent {
|
|
|
157
172
|
}
|
|
158
173
|
}
|
|
159
174
|
checkWrapper() {
|
|
160
|
-
let currentEditor = document.
|
|
175
|
+
let currentEditor = document.querySelector('#editorJs-' + this.uuid);
|
|
161
176
|
let editorBlocks = currentEditor.querySelectorAll('.codex-editor__redactor .ce-paragraph');
|
|
162
177
|
if (editorBlocks.length === 1 && editorBlocks[0].innerText.length === 0) {
|
|
163
178
|
return;
|
|
@@ -223,6 +238,7 @@ export class EditorJsComponent {
|
|
|
223
238
|
while (contentElement.firstElementChild) {
|
|
224
239
|
if (contentElement.firstElementChild.tagName.toLowerCase() === 'ul' ||
|
|
225
240
|
contentElement.firstElementChild.tagName.toLowerCase() === 'ol') {
|
|
241
|
+
setlistApiEditor(this.editor.api, currentEditor);
|
|
226
242
|
while (contentElement.firstElementChild.firstElementChild) {
|
|
227
243
|
let container = document.createElement(contentElement.firstElementChild.tagName);
|
|
228
244
|
container.appendChild(contentElement.firstElementChild.firstElementChild.cloneNode(true));
|
|
@@ -231,10 +247,12 @@ export class EditorJsComponent {
|
|
|
231
247
|
let tmpParagraph = currentEditor.querySelectorAll('.ce-paragraph');
|
|
232
248
|
tmpParagraph[tmpParagraph.length - 1].innerHTML = '';
|
|
233
249
|
tmpParagraph[tmpParagraph.length - 1].appendChild(container);
|
|
250
|
+
tmpParagraph[tmpParagraph.length - 1].addEventListener('keydown', onEditList, true);
|
|
234
251
|
}
|
|
235
252
|
else {
|
|
236
253
|
paragraph[i].innerHTML = '';
|
|
237
254
|
paragraph[i].appendChild(container);
|
|
255
|
+
paragraph[i].addEventListener('keydown', onEditList, true);
|
|
238
256
|
}
|
|
239
257
|
contentElement.firstElementChild.firstElementChild.remove();
|
|
240
258
|
++i;
|
|
@@ -317,16 +335,18 @@ export class EditorJsComponent {
|
|
|
317
335
|
EditorJsComponent.decorators = [
|
|
318
336
|
{ type: Component, args: [{
|
|
319
337
|
selector: 'wb-editorjs',
|
|
320
|
-
template: "<div class=\"editorJs\" [id]=\"'editorJs-' + uuid\" wbAutoHide></div>\n"
|
|
338
|
+
template: "<div [class]=\"'editorJs editorJs--' + position\" [id]=\"'editorJs-' + uuid\" wbAutoHide></div>\n"
|
|
321
339
|
},] }
|
|
322
340
|
];
|
|
323
341
|
EditorJsComponent.ctorParameters = () => [
|
|
324
342
|
{ type: TranslateService },
|
|
325
|
-
{ type: EditorJSConversionService }
|
|
343
|
+
{ type: EditorJSConversionService },
|
|
344
|
+
{ type: EditorJSTranslationService }
|
|
326
345
|
];
|
|
327
346
|
EditorJsComponent.propDecorators = {
|
|
328
347
|
contentChange: [{ type: Output }],
|
|
329
348
|
content: [{ type: Input }],
|
|
330
|
-
placeholder: [{ type: Input }]
|
|
349
|
+
placeholder: [{ type: Input }],
|
|
350
|
+
position: [{ type: Input }]
|
|
331
351
|
};
|
|
332
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yanMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3BhdWxpbmUvRG9jdW1lbnRzL3dvcmtzcGFjZS93aXppLWJsb2NrL3Byb2plY3RzL3dpemktYmxvY2svc3JjLyIsInNvdXJjZXMiOlsibGliL3NoYXJlZC9jb21wb25lbnRzL2VkaXRvcmpzL2VkaXRvcmpzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxRQUF3QixNQUFNLG9CQUFvQixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDOUYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FB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QWMsQ0FBQztTQUNwQjtRQUNELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLEdBQUcsUUFBUSxFQUFFLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxJQUFZO1FBQ3RDLE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU8scUJBQXFCLENBQUMsSUFBWSxFQUFFLEtBQWE7UUFDckQsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVPLHdCQUF3QixDQUFDLElBQUk7UUFDakMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDOzs7WUFuVEosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxhQUFhO2dCQUN2QixtRkFBd0M7YUFDM0M7OztZQS9CUSxnQkFBZ0I7WUEwQmhCLHlCQUF5Qjs7OzRCQU83QixNQUFNO3NCQUVOLEtBQUs7MEJBRUwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IEVkaXRvckpTLCB7IEkxOG5Db25maWcgfSBmcm9tICdAZWRpdG9yanMvZWRpdG9yanMnO1xuaW1wb3J0IHsgU3RyaWtlVG9vbCB9IGZyb20gJy4vdG9vbHMvaW5saW5lL3N0cmlrZS10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRUb29sIH0gZnJvbSAnLi90b29scy9pbmxpbmUvc3Vic2NyaXB0LXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IFN1cGVyc2NyaXB0VG9vbCB9IGZyb20gJy4vdG9vbHMvaW5saW5lL3N1cGVyc2NyaXB0LXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IEJvbGRUb29sIH0gZnJvbSAnLi90b29scy9pbmxpbmUvYm9sZC10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdGFsaWNUb29sIH0gZnJvbSAnLi90b29scy9pbmxpbmUvaXRhbGljLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IFVuZGVybGluZVRvb2wgfSBmcm9tICcuL3Rvb2xzL2lubGluZS91bmRlcmxpbmUtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FwaXRhbGl6ZVRvb2wgfSBmcm9tICcuL3Rvb2xzL2lubGluZS9jYXBpdGFsaXplLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRDb2xvclRvb2wgfSBmcm9tICcuL3Rvb2xzL2lubGluZS90ZXh0LWNvbG9yLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRCYWNrZ3JvdW5kQ29sb3JUb29sIH0gZnJvbSAnLi90b29scy9pbmxpbmUvdGV4dC1iYWNrZ3JvdW5kLWNvbG9yLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRUeXBlVG9vbCB9IGZyb20gJy4vdG9vbHMvcGFyYWdyYXBoL3RleHQtdHlwZS10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBmckkxOG5EaWN0aW9ubmFyeSB9IGZyb20gJy4vdG9vbHMvdXRpbHMvaTE4bi9mci1pMThuLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBlbkkxOG5EaWN0aW9ubmFyeSB9IGZyb20gJy4vdG9vbHMvdXRpbHMvaTE4bi9lbi1pMThuLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0QWxpZ25Ub29sIH0gZnJvbSAnLi90b29scy9wYXJhZ3JhcGgvdGV4dC1hbGlnbi10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbm9yZGVyZWRMaXN0VG9vbCB9IGZyb20gJy4vdG9vbHMvcGFyYWdyYXBoL3Vub3JkZXJlZC1saXN0LXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IE9yZGVyZWRMaXN0VG9vbCB9IGZyb20gJy4vdG9vbHMvcGFyYWdyYXBoL29yZGVyZWQtbGlzdC10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBRdW90ZVRvb2wgfSBmcm9tICcuL3Rvb2xzL3BhcmFncmFwaC9xdW90ZS10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaW5rVG9vbCB9IGZyb20gJy4vdG9vbHMvaW5saW5lL2xpbmstdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5kZW50VG9vbCB9IGZyb20gJy4vdG9vbHMvcGFyYWdyYXBoL2luZGVudC10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPdXRkZW50VG9vbCB9IGZyb20gJy4vdG9vbHMvcGFyYWdyYXBoL291dGRlbnQtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgdGV4dFNpemVUb29sIH0gZnJvbSAnLi90b29scy9pbmxpbmUvdGV4dC1zaXplLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IENvZGVFZGl0VG9vbCB9IGZyb20gJy4vdG9vbHMvcGFyYWdyYXBoL2NvZGUtZWRpdC10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbmRvVG9vbCB9IGZyb20gJy4vdG9vbHMvcGFyYWdyYXBoL3VuZG8tdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVkb1Rvb2wgfSBmcm9tICcuL3Rvb2xzL3BhcmFncmFwaC9yZWRvLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IGlzVGV4dEVkaXRpb25Ub29sLCBzZXRJc1RleHRFZGl0aW9uVG9vbCB9IGZyb20gJy4vdG9vbHMvdXRpbHMvZWRpdG9yanMtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWRpdG9ySlNDb252ZXJzaW9uU2VydmljZSB9IGZyb20gJy4vdG9vbHMvdXRpbHMvZWRpdG9yanMtY29udmVyc2lvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd3Yi1lZGl0b3JqcycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VkaXRvcmpzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRWRpdG9ySnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQE91dHB1dCgpIGNvbnRlbnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBASW5wdXQoKSBjb250ZW50ID0gJyc7XG5cbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgZWRpdG9yOiBhbnk7XG5cbiAgICB1dWlkID0gdXVpZCgpO1xuXG4gICAgdGltZW91dEhhbmRsZSA9IG51bGw7XG5cbiAgICB0aW1lb3V0VGV4dEVkaXRpb25IYW5kbGUgPSBudWxsO1xuXG4gICAgd3JhcHBlclRhZ3MgPSAnaDEsaDIsaDMsaDQsaDUsaDYscCx1bCxvbCxibG9ja3F1b3RlJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZWRpdG9ySlNDb252ZXJzaW9uU2VydmljZTogRWRpdG9ySlNDb252ZXJzaW9uU2VydmljZVxuICAgICkge31cblxuICAgIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aGlzLmhhbmRsZURlZmF1bHRDb250ZW50VHJhbnNsYXRpb24oKTtcbiAgICAgICAgdGhpcy5lZGl0b3IgPSBuZXcgRWRpdG9ySlMoe1xuICAgICAgICAgICAgaG9sZGVyOiAnZWRpdG9ySnMtJyArIHRoaXMudXVpZCxcbiAgICAgICAgICAgIHRvb2xzOiB7XG4gICAgICAgICAgICAgICAgdGV4dFR5cGU6IFRleHRUeXBlVG9vbCxcbiAgICAgICAgICAgICAgICB0ZXh0U2l6ZTogdGV4dFNpemVUb29sLFxuICAgICAgICAgICAgICAgIHVuZG86IFVuZG9Ub29sLFxuICAgICAgICAgICAgICAgIHJlZG86IFJlZG9Ub29sLFxuICAgICAgICAgICAgICAgIGJvbGQ6IEJvbGRUb29sLFxuICAgICAgICAgICAgICAgIGl0YWxpYzogSXRhbGljVG9vbCxcbiAgICAgICAgICAgICAgICB1bmRlcmxpbmU6IFVuZGVybGluZVRvb2wsXG4gICAgICAgICAgICAgICAgc3RyaWtlOiBTdHJpa2VUb29sLFxuICAgICAgICAgICAgICAgIGNhcGl0YWxpemU6IENhcGl0YWxpemVUb29sLFxuICAgICAgICAgICAgICAgIHN1YnNjcmlwdDogU3Vic2NyaXB0VG9vbCxcbiAgICAgICAgICAgICAgICBzdXBlcnNjcmlwdDogU3VwZXJzY3JpcHRUb29sLFxuICAgICAgICAgICAgICAgIHRleHRDb2xvcjogVGV4dENvbG9yVG9vbCxcbiAgICAgICAgICAgICAgICB0ZXh0QmFja2dyb3VuZENvbG9yOiBUZXh0QmFja2dyb3VuZENvbG9yVG9vbCxcbiAgICAgICAgICAgICAgICBsaW5rOiBMaW5rVG9vbCxcbiAgICAgICAgICAgICAgICBxdW90ZTogUXVvdGVUb29sLFxuICAgICAgICAgICAgICAgIHRleHRBbGlnbjogVGV4dEFsaWduVG9vbCxcbiAgICAgICAgICAgICAgICBvcmRlcmVkTGlzdDogT3JkZXJlZExpc3RUb29sLFxuICAgICAgICAgICAgICAgIHVub3JkZXJlZExpc3Q6IFVub3JkZXJlZExpc3RUb29sLFxuICAgICAgICAgICAgICAgIGluZGVudDogSW5kZW50VG9vbCxcbiAgICAgICAgICAgICAgICBvdXRkZW50OiBPdXRkZW50VG9vbCxcbiAgICAgICAgICAgICAgICBjb2RlRWRpdDogQ29kZUVkaXRUb29sLFxuICAgICAgICAgICAgICAgIHBhcmFncmFwaDoge1xuICAgICAgICAgICAgICAgICAgICBpbmxpbmVUb29sYmFyOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAndGV4dFR5cGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3RleHRTaXplJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd1bmRvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdyZWRvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdib2xkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdpdGFsaWMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3VuZGVybGluZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAnc3RyaWtlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdjYXBpdGFsaXplJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdzdWJzY3JpcHQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3N1cGVyc2NyaXB0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd0ZXh0Q29sb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3RleHRCYWNrZ3JvdW5kQ29sb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2xpbmsnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3F1b3RlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd0ZXh0QWxpZ24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ29yZGVyZWRMaXN0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd1bm9yZGVyZWRMaXN0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdpbmRlbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ291dGRlbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2NvZGVFZGl0JyxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLnBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgYXV0b2ZvY3VzOiBmYWxzZSxcbiAgICAgICAgICAgIG9uQ2hhbmdlOiAoYXBpLCBldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY29udGVudENoYW5nZWQoYXBpLCBldmVudCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaTE4bjogdGhpcy5nZXRJMThuRGljdGlvbm5hcnkoKSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmVkaXRvci5pc1JlYWR5O1xuICAgICAgICAgICAgdGhpcy5lZGl0b3JKU0NvbnZlcnNpb25TZXJ2aWNlLmNvbnZlcnQodGhpcy5jb250ZW50KS50aGVuKChjb250ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZW50ID0gY29udGVudDtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcGx5Q29udGVudCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tTaW5nbGVDaGlsZCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gY2F0Y2ggKHJlYXNvbikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgRWRpdG9yLmpzIGluaXRpYWxpemF0aW9uIGZhaWxlZCBiZWNhdXNlIG9mICR7cmVhc29ufWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGVkaXRvck5hbWUgPSAnZWRpdG9ySnMtJyArIHRoaXMudXVpZDtcbiAgICAgICAgdGhpcy5kZWxldGVTYXZlZEVkaXRvckNvbnRlbnQoZWRpdG9yTmFtZSk7XG4gICAgICAgIHRoaXMuZGVsZXRlU2F2ZWRFZGl0b3JDb250ZW50KGVkaXRvck5hbWUpO1xuICAgICAgICB0aGlzLmVkaXRvci5kZXN0cm95KCk7XG4gICAgfVxuXG4gICAgaGFuZGxlRGVmYXVsdENvbnRlbnRUcmFuc2xhdGlvbigpIHtcbiAgICAgICAgdGhpcy5jb250ZW50ID0gL153YlxcLi8udGVzdCh0aGlzLmNvbnRlbnQpID8gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQodGhpcy5jb250ZW50KSA6IHRoaXMuY29udGVudDtcbiAgICB9XG5cbiAgICBjb250ZW50Q2hhbmdlZChhcGksIGV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmVkaXRvcikge1xuICAgICAgICAgICAgLy8gYWRkZWQgdGltZW91dCBoZXJlIHRvIHByZXZlbnQgZW1wdHkgb3V0cHV0IG9uIHBhc3RlXG4gICAgICAgICAgICAvLyBzZWUgaXNzdWUgaHR0cHM6Ly9naXRodWIuY29tL2NvZGV4LXRlYW0vZWRpdG9yLmpzL2lzc3Vlcy8xNzU1XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoZWNrU2luZ2xlQ2hpbGQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNoZWNrV3JhcHBlcigpO1xuICAgICAgICAgICAgICAgIHRoaXMuZWRpdG9yXG4gICAgICAgICAgICAgICAgICAgIC5zYXZlKClcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50ID0gdGhpcy5nZXRFZGl0b3JDb250ZW50KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNhdmVFZGl0b3JDb250ZW50KHRoaXMuY29udGVudCwgdGhpcy51dWlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudENoYW5nZS5lbWl0KHRoaXMuY29udGVudCk7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1NhdmluZyBFZGl0b3JKUyBjb250ZW50IGZhaWxlZDogJywgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sIDIwMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrU2luZ2xlQ2hpbGQoKSB7XG4gICAgICAgIGxldCBjdXJyZW50RWRpdG9yID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI2VkaXRvckpzLScgKyB0aGlzLnV1aWQpWzBdO1xuICAgICAgICBsZXQgc2luZ2xlQmxvY2sgPSBjdXJyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3JBbGwoJy5jb2RleC1lZGl0b3JfX3JlZGFjdG9yIC5jZS1ibG9jazpvbmx5LWNoaWxkJyk7XG4gICAgICAgIGxldCB0b29sYmFyID0gY3VycmVudEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY2UtdG9vbGJhcl9fYWN0aW9ucycpWzBdO1xuICAgICAgICBpZiAoc2luZ2xlQmxvY2subGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICBpZiAoIXRvb2xiYXIuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b29scy1oaWRkZW4nKSkge1xuICAgICAgICAgICAgICAgIHRvb2xiYXIuY2xhc3NMaXN0LmFkZCgndG9vbHMtaGlkZGVuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodG9vbGJhci5jbGFzc0xpc3QuY29udGFpbnMoJ3Rvb2xzLWhpZGRlbicpKSB7XG4gICAgICAgICAgICAgICAgdG9vbGJhci5jbGFzc0xpc3QucmVtb3ZlKCd0b29scy1oaWRkZW4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tXcmFwcGVyKCkge1xuICAgICAgICBsZXQgY3VycmVudEVkaXRvciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyNlZGl0b3JKcy0nICsgdGhpcy51dWlkKVswXTtcbiAgICAgICAgbGV0IGVkaXRvckJsb2NrcyA9IGN1cnJlbnRFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNvZGV4LWVkaXRvcl9fcmVkYWN0b3IgLmNlLXBhcmFncmFwaCcpO1xuICAgICAgICBpZiAoZWRpdG9yQmxvY2tzLmxlbmd0aCA9PT0gMSAmJiAoPEhUTUxFbGVtZW50PmVkaXRvckJsb2Nrc1swXSkuaW5uZXJUZXh0Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGVkaXRvckJsb2Nrcy5mb3JFYWNoKChibG9jaykgPT4ge1xuICAgICAgICAgICAgaWYgKGJsb2NrLmNoaWxkRWxlbWVudENvdW50ICE9PSAxIHx8ICF0aGlzLmhhc1dyYXBwZXIoYmxvY2spKSB7XG4gICAgICAgICAgICAgICAgbGV0IHNlbGVjdGlvbiA9IHRoaXMuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgICAgICAgICAgbGV0IHNlbGVjdGVkQW5jaG9yTm9kZSA9IHNlbGVjdGlvbi5hbmNob3JOb2RlO1xuICAgICAgICAgICAgICAgIGxldCBzZWxlY3RlZEZvY3VzTm9kZSA9IHNlbGVjdGlvbi5mb2N1c05vZGU7XG4gICAgICAgICAgICAgICAgbGV0IGFuY2hvck9mZnNldCA9IHNlbGVjdGlvbi5hbmNob3JPZmZzZXQ7XG4gICAgICAgICAgICAgICAgbGV0IGZvY3VzT2Zmc2V0ID0gc2VsZWN0aW9uLmZvY3VzT2Zmc2V0O1xuICAgICAgICAgICAgICAgIGxldCBwYXJhZ3JhcGggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdQJyk7XG4gICAgICAgICAgICAgICAgcGFyYWdyYXBoLmlubmVySFRNTCA9IGJsb2NrLmlubmVySFRNTDtcbiAgICAgICAgICAgICAgICBibG9jay5pbm5lckhUTUwgPSAnJztcbiAgICAgICAgICAgICAgICBibG9jay5hcHBlbmRDaGlsZChwYXJhZ3JhcGgpO1xuICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZEFuY2hvck5vZGUgJiYgc2VsZWN0ZWRGb2N1c05vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG5vZGUgPSBwYXJhZ3JhcGguY2hpbGROb2Rlc1swXSA/IHBhcmFncmFwaC5jaGlsZE5vZGVzWzBdIDogcGFyYWdyYXBoO1xuICAgICAgICAgICAgICAgICAgICB2YXIgdG1wQW5jaG9yT2Zmc2V0ID0gcGFyYWdyYXBoLmNoaWxkTm9kZXNbMF0gPyBhbmNob3JPZmZzZXQgOiAwO1xuICAgICAgICAgICAgICAgICAgICB2YXIgdG1wRm9jdXNPZmZzZXQgPSBwYXJhZ3JhcGguY2hpbGROb2Rlc1swXSA/IGZvY3VzT2Zmc2V0IDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmFuZ2Uuc2V0U3RhcnQobm9kZSwgdG1wQW5jaG9yT2Zmc2V0KTtcbiAgICAgICAgICAgICAgICAgICAgcmFuZ2Uuc2V0RW5kKG5vZGUsIHRtcEZvY3VzT2Zmc2V0KTtcbiAgICAgICAgICAgICAgICAgICAgcmFuZ2UuY29sbGFwc2UodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uLmFkZFJhbmdlKHJhbmdlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzV3JhcHBlcihibG9jazogRWxlbWVudCkge1xuICAgICAgICBsZXQgd3JhcHBlciA9IGJsb2NrLmNoaWxkcmVuWzBdO1xuICAgICAgICBpZiAod3JhcHBlciAmJiB0aGlzLndyYXBwZXJUYWdzLnNwbGl0KCcsJykuaW5kZXhPZih3cmFwcGVyLnRhZ05hbWUudG9Mb3dlckNhc2UoKSkgPiAtMSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRFZGl0b3JDb250ZW50KCkge1xuICAgICAgICBsZXQgY3VycmVudEVkaXRvciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyNlZGl0b3JKcy0nICsgdGhpcy51dWlkKVswXTtcbiAgICAgICAgbGV0IGVkaXRvckJsb2NrcyA9IGN1cnJlbnRFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNvZGV4LWVkaXRvcl9fcmVkYWN0b3IgLmNlLXBhcmFncmFwaCcpO1xuICAgICAgICBsZXQgY29udGVudCA9ICcnO1xuICAgICAgICBlZGl0b3JCbG9ja3MuZm9yRWFjaCgoYmxvY2spID0+IHtcbiAgICAgICAgICAgIGxldCBjbG9zaW5nVGFnID0gJzwvJyArIGJsb2NrLmNoaWxkcmVuWzBdPy50YWdOYW1lLnRvTG93ZXJDYXNlKCkgKyAnPic7XG4gICAgICAgICAgICBsZXQgcmVnZXhwID0gLygoPFxcLylcXHcrKD4pKSg/IVtcXHNcXFNdKigoPFxcLylcXHcrKD4pKVtcXHNcXFNdKiQpL2k7XG4gICAgICAgICAgICBsZXQgbGFzdENvbnRlbnRDbG9zaW5nVGFnID0gY29udGVudC5tYXRjaChyZWdleHApID8gY29udGVudC5tYXRjaChyZWdleHApWzBdIDogJyc7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgKGJsb2NrLmNoaWxkcmVuWzBdPy50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICd1bCcgfHwgYmxvY2suY2hpbGRyZW5bMF0/LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ29sJykgJiZcbiAgICAgICAgICAgICAgICBsYXN0Q29udGVudENsb3NpbmdUYWcgPT09IGNsb3NpbmdUYWdcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQgPSBjb250ZW50LnN1YnN0cmluZygwLCBjb250ZW50Lmxlbmd0aCAtIGNsb3NpbmdUYWcubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICBjb250ZW50ICs9IGJsb2NrLmlubmVySFRNTC5zdWJzdHJpbmcoY2xvc2luZ1RhZy5yZXBsYWNlKCcvJywgJycpLmxlbmd0aCwgYmxvY2suaW5uZXJIVE1MLmxlbmd0aCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYmxvY2suaW5uZXJIVE1MO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseUNvbnRlbnQoKSB7XG4gICAgICAgIGxldCBjb250ZW50RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBsZXQgY3VycmVudEVkaXRvciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyNlZGl0b3JKcy0nICsgdGhpcy51dWlkKVswXTtcbiAgICAgICAgbGV0IHBhcmFncmFwaCA9IGN1cnJlbnRFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNlLXBhcmFncmFwaCcpO1xuICAgICAgICBjb250ZW50RWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLmNvbnRlbnQ7XG4gICAgICAgIGxldCBpID0gMDtcbiAgICAgICAgd2hpbGUgKGNvbnRlbnRFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkKSB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgY29udGVudEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAndWwnIHx8XG4gICAgICAgICAgICAgICAgY29udGVudEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnb2wnXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICB3aGlsZSAoY29udGVudEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuZmlyc3RFbGVtZW50Q2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoY29udGVudEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQudGFnTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChjb250ZW50RWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5maXJzdEVsZW1lbnRDaGlsZC5jbG9uZU5vZGUodHJ1ZSkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaSA+PSBwYXJhZ3JhcGgubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVkaXRvci5ibG9ja3MuaW5zZXJ0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgdG1wUGFyYWdyYXBoID0gY3VycmVudEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY2UtcGFyYWdyYXBoJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0bXBQYXJhZ3JhcGhbdG1wUGFyYWdyYXBoLmxlbmd0aCAtIDFdLmlubmVySFRNTCA9ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG1wUGFyYWdyYXBoW3RtcFBhcmFncmFwaC5sZW5ndGggLSAxXS5hcHBlbmRDaGlsZChjb250YWluZXIpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYWdyYXBoW2ldLmlubmVySFRNTCA9ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYWdyYXBoW2ldLmFwcGVuZENoaWxkKGNvbnRhaW5lcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29udGVudEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuZmlyc3RFbGVtZW50Q2hpbGQucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgICAgICsraTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChpID49IHBhcmFncmFwaC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lZGl0b3IuYmxvY2tzLmluc2VydCgpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgdG1wUGFyYWdyYXBoID0gY3VycmVudEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY2UtcGFyYWdyYXBoJyk7XG4gICAgICAgICAgICAgICAgICAgIHRtcFBhcmFncmFwaFt0bXBQYXJhZ3JhcGgubGVuZ3RoIC0gMV0uaW5uZXJIVE1MID0gJyc7XG4gICAgICAgICAgICAgICAgICAgIHRtcFBhcmFncmFwaFt0bXBQYXJhZ3JhcGgubGVuZ3RoIC0gMV0uYXBwZW5kQ2hpbGQoY29udGVudEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuY2xvbmVOb2RlKHRydWUpKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBwYXJhZ3JhcGhbaV0uaW5uZXJIVE1MID0gJyc7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFncmFwaFtpXS5hcHBlbmRDaGlsZChjb250ZW50RWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5jbG9uZU5vZGUodHJ1ZSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICArK2k7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb250ZW50RWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5yZW1vdmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0STE4bkRpY3Rpb25uYXJ5KCk6IEkxOG5Db25maWcge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nID09PSAnZnInID8gZnJJMThuRGljdGlvbm5hcnkgOiBlbkkxOG5EaWN0aW9ubmFyeTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNlbGVjdGlvbigpOiBTZWxlY3Rpb24ge1xuICAgICAgICBpZiAod2luZG93Py5nZXRTZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIHJldHVybiB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZG9jdW1lbnQ/LmdldFNlbGVjdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIGRvY3VtZW50LmdldFNlbGVjdGlvbigpO1xuICAgICAgICB9IGVsc2UgaWYgKGRvY3VtZW50ICYmIChkb2N1bWVudCBhcyBhbnkpLnNlbGVjdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIChkb2N1bWVudCBhcyBhbnkpLnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpLnRleHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzYXZlRWRpdG9yQ29udGVudChkYXRhOiBzdHJpbmcsIHV1aWQ6IHN0cmluZykge1xuICAgICAgICBpZiAoIWlzVGV4dEVkaXRpb25Ub29sKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0SGFuZGxlKTtcbiAgICAgICAgICAgIHRoaXMudGltZW91dEhhbmRsZSA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlU2F2ZUVkaXRvcihkYXRhLCB1dWlkKTtcbiAgICAgICAgICAgIH0sIDIwMDApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dFRleHRFZGl0aW9uSGFuZGxlKTtcbiAgICAgICAgICAgIHRoaXMudGltZW91dFRleHRFZGl0aW9uSGFuZGxlID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SXNUZXh0RWRpdGlvblRvb2woZmFsc2UpO1xuICAgICAgICAgICAgfSwgMjAwMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVNhdmVFZGl0b3IoZGF0YTogc3RyaW5nLCB1dWlkOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgZWRpdG9yTmFtZSA9ICdlZGl0b3JKcy0nICsgdXVpZDtcbiAgICAgICAgbGV0IHNhdmVkRGF0YSA9IHRoaXMuZ2V0U2F2ZWRFZGl0b3JDb250ZW50KGVkaXRvck5hbWUpO1xuICAgICAgICBsZXQgc2F2ZWREYXRhSW5kZXggPSB0aGlzLmdldFNhdmVkRWRpdG9yQ29udGVudChlZGl0b3JOYW1lICsgJy1pbmRleCcpXG4gICAgICAgICAgICA/IHBhcnNlSW50KHRoaXMuZ2V0U2F2ZWRFZGl0b3JDb250ZW50KGVkaXRvck5hbWUgKyAnLWluZGV4JykpXG4gICAgICAgICAgICA6IC0xO1xuICAgICAgICBsZXQgcGFyc2VkU2F2ZWREYXRhOiBBcnJheTxzdHJpbmc+ID0gW107XG4gICAgICAgIGlmIChzYXZlZERhdGEpIHtcbiAgICAgICAgICAgIHBhcnNlZFNhdmVkRGF0YSA9IEpTT04ucGFyc2Uoc2F2ZWREYXRhKTtcbiAgICAgICAgfVxuICAgICAgICBwYXJzZWRTYXZlZERhdGEucHVzaChkYXRhKTtcbiAgICAgICAgKytzYXZlZERhdGFJbmRleDtcbiAgICAgICAgd2hpbGUgKHBhcnNlZFNhdmVkRGF0YS5sZW5ndGggPiAxNSkge1xuICAgICAgICAgICAgcGFyc2VkU2F2ZWREYXRhLnNoaWZ0KCk7XG4gICAgICAgICAgICAtLXNhdmVkRGF0YUluZGV4O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0U2F2ZWRFZGl0b3JDb250ZW50KGVkaXRvck5hbWUsIEpTT04uc3RyaW5naWZ5KHBhcnNlZFNhdmVkRGF0YSkpO1xuICAgICAgICB0aGlzLnNldFNhdmVkRWRpdG9yQ29udGVudChlZGl0b3JOYW1lICsgJy1pbmRleCcsIHNhdmVkRGF0YUluZGV4LnRvU3RyaW5nKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2F2ZWRFZGl0b3JDb250ZW50KG5hbWU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0obmFtZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRTYXZlZEVkaXRvckNvbnRlbnQobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKG5hbWUsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlbGV0ZVNhdmVkRWRpdG9yQ29udGVudChuYW1lKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKG5hbWUpO1xuICAgIH1cbn1cbiJdfQ==
|
|
352
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yanMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3BhdWxpbmUvRG9jdW1lbnRzL3dvcmtzcGFjZS93aXppLWJsb2NrL3Byb2plY3RzL3dpemktYmxvY2svc3JjLyIsInNvdXJjZXMiOlsibGliL3NoYXJlZC9jb21wb25lbnRzL2VkaXRvcmpzL2VkaXRvcmpzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxRQUF3QixNQUFNLG9CQUFvQixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDOUYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FB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LENBQUMscUJBQXFCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxHQUFHLFFBQVEsRUFBRSxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRU8scUJBQXFCLENBQUMsSUFBWTtRQUN0QyxPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVPLHFCQUFxQixDQUFDLElBQVksRUFBRSxLQUFhO1FBQ3JELFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxJQUFJO1FBQ2pDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7O1lBclVKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsNkdBQXdDO2FBQzNDOzs7WUFqQ1EsZ0JBQWdCO1lBMEJoQix5QkFBeUI7WUFDekIsMEJBQTBCOzs7NEJBUTlCLE1BQU07c0JBRU4sS0FBSzswQkFFTCxLQUFLO3VCQUVMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCBFZGl0b3JKUywgeyBJMThuQ29uZmlnIH0gZnJvbSAnQGVkaXRvcmpzL2VkaXRvcmpzJztcbmltcG9ydCB7IFN0cmlrZVRvb2wgfSBmcm9tICcuL3Rvb2xzL2lubGluZS9zdHJpa2UtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3Vic2NyaXB0VG9vbCB9IGZyb20gJy4vdG9vbHMvaW5saW5lL3N1YnNjcmlwdC10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdXBlcnNjcmlwdFRvb2wgfSBmcm9tICcuL3Rvb2xzL2lubGluZS9zdXBlcnNjcmlwdC10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCb2xkVG9vbCB9IGZyb20gJy4vdG9vbHMvaW5saW5lL2JvbGQtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRhbGljVG9vbCB9IGZyb20gJy4vdG9vbHMvaW5saW5lL2l0YWxpYy10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbmRlcmxpbmVUb29sIH0gZnJvbSAnLi90b29scy9pbmxpbmUvdW5kZXJsaW5lLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IENhcGl0YWxpemVUb29sIH0gZnJvbSAnLi90b29scy9pbmxpbmUvY2FwaXRhbGl6ZS10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0Q29sb3JUb29sIH0gZnJvbSAnLi90b29scy9pbmxpbmUvdGV4dC1jb2xvci10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0QmFja2dyb3VuZENvbG9yVG9vbCB9IGZyb20gJy4vdG9vbHMvaW5saW5lL3RleHQtYmFja2dyb3VuZC1jb2xvci10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0VHlwZVRvb2wgfSBmcm9tICcuL3Rvb2xzL3BhcmFncmFwaC90ZXh0LXR5cGUtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgZnJJMThuRGljdGlvbm5hcnkgfSBmcm9tICcuL3Rvb2xzL3V0aWxzL2kxOG4vZnItaTE4bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgZW5JMThuRGljdGlvbm5hcnkgfSBmcm9tICcuL3Rvb2xzL3V0aWxzL2kxOG4vZW4taTE4bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dEFsaWduVG9vbCB9IGZyb20gJy4vdG9vbHMvcGFyYWdyYXBoL3RleHQtYWxpZ24tdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVW5vcmRlcmVkTGlzdFRvb2wgfSBmcm9tICcuL3Rvb2xzL3BhcmFncmFwaC91bm9yZGVyZWQtbGlzdC10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcmRlcmVkTGlzdFRvb2wgfSBmcm9tICcuL3Rvb2xzL3BhcmFncmFwaC9vcmRlcmVkLWxpc3QtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUXVvdGVUb29sIH0gZnJvbSAnLi90b29scy9wYXJhZ3JhcGgvcXVvdGUtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGlua1Rvb2wgfSBmcm9tICcuL3Rvb2xzL2lubGluZS9saW5rLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IEluZGVudFRvb2wgfSBmcm9tICcuL3Rvb2xzL3BhcmFncmFwaC9pbmRlbnQtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3V0ZGVudFRvb2wgfSBmcm9tICcuL3Rvb2xzL3BhcmFncmFwaC9vdXRkZW50LXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IHRleHRTaXplVG9vbCB9IGZyb20gJy4vdG9vbHMvaW5saW5lL3RleHQtc2l6ZS10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb2RlRWRpdFRvb2wgfSBmcm9tICcuL3Rvb2xzL3BhcmFncmFwaC9jb2RlLWVkaXQtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVW5kb1Rvb2wgfSBmcm9tICcuL3Rvb2xzL3BhcmFncmFwaC91bmRvLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IFJlZG9Ub29sIH0gZnJvbSAnLi90b29scy9wYXJhZ3JhcGgvcmVkby10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBpc1RleHRFZGl0aW9uVG9vbCwgc2V0SXNUZXh0RWRpdGlvblRvb2wgfSBmcm9tICcuL3Rvb2xzL3V0aWxzL2VkaXRvcmpzLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IEVkaXRvckpTQ29udmVyc2lvblNlcnZpY2UgfSBmcm9tICcuL3Rvb2xzL3V0aWxzL2VkaXRvcmpzLWNvbnZlcnNpb24uc2VydmljZSc7XG5pbXBvcnQgeyBFZGl0b3JKU1RyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJy4vdG9vbHMvdXRpbHMvZWRpdG9yanMtdHJhbnNsYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBvbkVkaXRMaXN0LCBzZXRsaXN0QXBpRWRpdG9yIH0gZnJvbSAnLi90b29scy9wYXJhZ3JhcGgvdG9vbC10eXBlL3BhcmFncmFwaC1zdHlsZS10b29sLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnd2ItZWRpdG9yanMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lZGl0b3Jqcy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEVkaXRvckpzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBPdXRwdXQoKSBjb250ZW50Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQElucHV0KCkgY29udGVudCA9ICcnO1xuXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHBvc2l0aW9uOiAndG9wJyB8ICdib3R0b20nID0gJ2JvdHRvbSc7XG5cbiAgICBlZGl0b3I6IGFueTtcblxuICAgIHV1aWQgPSB1dWlkKCk7XG5cbiAgICB0aW1lb3V0SGFuZGxlID0gbnVsbDtcblxuICAgIHRpbWVvdXRUZXh0RWRpdGlvbkhhbmRsZSA9IG51bGw7XG5cbiAgICBvbkNoYW5nZVRpbWVvdXRIYW5kbGUgPSBudWxsO1xuXG4gICAgd3JhcHBlclRhZ3MgPSAnaDEsaDIsaDMsaDQsaDUsaDYscCx1bCxvbCxibG9ja3F1b3RlJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZWRpdG9ySlNDb252ZXJzaW9uU2VydmljZTogRWRpdG9ySlNDb252ZXJzaW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBlZGl0b3JKU1RyYW5zbGF0aW9uU2VydmljZTogRWRpdG9ySlNUcmFuc2xhdGlvblNlcnZpY2VcbiAgICApIHt9XG5cbiAgICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5oYW5kbGVEZWZhdWx0Q29udGVudFRyYW5zbGF0aW9uKCk7XG4gICAgICAgIHRoaXMuZWRpdG9yID0gbmV3IEVkaXRvckpTKHtcbiAgICAgICAgICAgIGhvbGRlcjogJ2VkaXRvckpzLScgKyB0aGlzLnV1aWQsXG4gICAgICAgICAgICB0b29sczoge1xuICAgICAgICAgICAgICAgIHRleHRUeXBlOiBUZXh0VHlwZVRvb2wsXG4gICAgICAgICAgICAgICAgdGV4dFNpemU6IHRleHRTaXplVG9vbCxcbiAgICAgICAgICAgICAgICB1bmRvOiBVbmRvVG9vbCxcbiAgICAgICAgICAgICAgICByZWRvOiBSZWRvVG9vbCxcbiAgICAgICAgICAgICAgICBib2xkOiBCb2xkVG9vbCxcbiAgICAgICAgICAgICAgICBpdGFsaWM6IEl0YWxpY1Rvb2wsXG4gICAgICAgICAgICAgICAgdW5kZXJsaW5lOiBVbmRlcmxpbmVUb29sLFxuICAgICAgICAgICAgICAgIHN0cmlrZTogU3RyaWtlVG9vbCxcbiAgICAgICAgICAgICAgICBjYXBpdGFsaXplOiBDYXBpdGFsaXplVG9vbCxcbiAgICAgICAgICAgICAgICBzdWJzY3JpcHQ6IFN1YnNjcmlwdFRvb2wsXG4gICAgICAgICAgICAgICAgc3VwZXJzY3JpcHQ6IFN1cGVyc2NyaXB0VG9vbCxcbiAgICAgICAgICAgICAgICB0ZXh0Q29sb3I6IFRleHRDb2xvclRvb2wsXG4gICAgICAgICAgICAgICAgdGV4dEJhY2tncm91bmRDb2xvcjogVGV4dEJhY2tncm91bmRDb2xvclRvb2wsXG4gICAgICAgICAgICAgICAgbGluazogTGlua1Rvb2wsXG4gICAgICAgICAgICAgICAgcXVvdGU6IFF1b3RlVG9vbCxcbiAgICAgICAgICAgICAgICB0ZXh0QWxpZ246IFRleHRBbGlnblRvb2wsXG4gICAgICAgICAgICAgICAgb3JkZXJlZExpc3Q6IE9yZGVyZWRMaXN0VG9vbCxcbiAgICAgICAgICAgICAgICB1bm9yZGVyZWRMaXN0OiBVbm9yZGVyZWRMaXN0VG9vbCxcbiAgICAgICAgICAgICAgICBpbmRlbnQ6IEluZGVudFRvb2wsXG4gICAgICAgICAgICAgICAgb3V0ZGVudDogT3V0ZGVudFRvb2wsXG4gICAgICAgICAgICAgICAgY29kZUVkaXQ6IENvZGVFZGl0VG9vbCxcbiAgICAgICAgICAgICAgICBwYXJhZ3JhcGg6IHtcbiAgICAgICAgICAgICAgICAgICAgaW5saW5lVG9vbGJhcjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgJ3RleHRUeXBlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd0ZXh0U2l6ZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAndW5kbycsXG4gICAgICAgICAgICAgICAgICAgICAgICAncmVkbycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAnaXRhbGljJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd1bmRlcmxpbmUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmlrZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAnY2FwaXRhbGl6ZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAnc3Vic2NyaXB0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdzdXBlcnNjcmlwdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAndGV4dENvbG9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd0ZXh0QmFja2dyb3VuZENvbG9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdsaW5rJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdxdW90ZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAndGV4dEFsaWduJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdvcmRlcmVkTGlzdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAndW5vcmRlcmVkTGlzdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAnaW5kZW50JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdvdXRkZW50JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdjb2RlRWRpdCcsXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogdGhpcy5wbGFjZWhvbGRlcixcbiAgICAgICAgICAgIGF1dG9mb2N1czogZmFsc2UsXG4gICAgICAgICAgICBvbkNoYW5nZTogKGFwaSwgZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5vbkNoYW5nZVRpbWVvdXRIYW5kbGUpO1xuICAgICAgICAgICAgICAgIHRoaXMub25DaGFuZ2VUaW1lb3V0SGFuZGxlID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudENoYW5nZWQoYXBpLCBldmVudCk7XG4gICAgICAgICAgICAgICAgfSwgMzAwKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpMThuOiB0aGlzLmdldEkxOG5EaWN0aW9ubmFyeSgpLFxuICAgICAgICB9KTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZWRpdG9yLmlzUmVhZHk7XG4gICAgICAgICAgICB0aGlzLmVkaXRvckpTVHJhbnNsYXRpb25TZXJ2aWNlLnNldERpY3Rpb25uYXJ5KHRoaXMuZ2V0STE4bkRpY3Rpb25uYXJ5KCkpO1xuICAgICAgICAgICAgdGhpcy5lZGl0b3JKU0NvbnZlcnNpb25TZXJ2aWNlLmNvbnZlcnQodGhpcy5jb250ZW50KS50aGVuKChjb250ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZW50ID0gY29udGVudDtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcGx5Q29udGVudCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tTaW5nbGVDaGlsZCgpO1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlZGl0b3JFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VkaXRvckpzLScgKyB0aGlzLnV1aWQpO1xuICAgICAgICAgICAgICAgICAgICBlZGl0b3JFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzaW4nLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRsaXN0QXBpRWRpdG9yKHRoaXMuZWRpdG9yLCBlZGl0b3JFbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBjYXRjaCAocmVhc29uKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBFZGl0b3IuanMgaW5pdGlhbGl6YXRpb24gZmFpbGVkIGJlY2F1c2Ugb2YgJHtyZWFzb259YCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZWRpdG9yTmFtZSA9ICdlZGl0b3JKcy0nICsgdGhpcy51dWlkO1xuICAgICAgICB0aGlzLmRlbGV0ZVNhdmVkRWRpdG9yQ29udGVudChlZGl0b3JOYW1lKTtcbiAgICAgICAgdGhpcy5kZWxldGVTYXZlZEVkaXRvckNvbnRlbnQoZWRpdG9yTmFtZSk7XG4gICAgICAgIHRoaXMuZWRpdG9yLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBoYW5kbGVEZWZhdWx0Q29udGVudFRyYW5zbGF0aW9uKCkge1xuICAgICAgICB0aGlzLmNvbnRlbnQgPSAvXndiXFwuLy50ZXN0KHRoaXMuY29udGVudCkgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0aGlzLmNvbnRlbnQpIDogdGhpcy5jb250ZW50O1xuICAgIH1cblxuICAgIGNvbnRlbnRDaGFuZ2VkKGFwaSwgZXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuZWRpdG9yKSB7XG4gICAgICAgICAgICAvLyBhZGRlZCB0aW1lb3V0IGhlcmUgdG8gcHJldmVudCBlbXB0eSBvdXRwdXQgb24gcGFzdGVcbiAgICAgICAgICAgIC8vIHNlZSBpc3N1ZSBodHRwczovL2dpdGh1Yi5jb20vY29kZXgtdGVhbS9lZGl0b3IuanMvaXNzdWVzLzE3NTVcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tTaW5nbGVDaGlsZCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tXcmFwcGVyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5lZGl0b3JcbiAgICAgICAgICAgICAgICAgICAgLnNhdmUoKVxuICAgICAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnQgPSB0aGlzLmdldEVkaXRvckNvbnRlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2F2ZUVkaXRvckNvbnRlbnQodGhpcy5jb250ZW50LCB0aGlzLnV1aWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50Q2hhbmdlLmVtaXQodGhpcy5jb250ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignU2F2aW5nIEVkaXRvckpTIGNvbnRlbnQgZmFpbGVkOiAnLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSwgMjAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tTaW5nbGVDaGlsZCgpIHtcbiAgICAgICAgbGV0IGN1cnJlbnRFZGl0b3IgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjZWRpdG9ySnMtJyArIHRoaXMudXVpZClbMF07XG4gICAgICAgIGxldCBzaW5nbGVCbG9jayA9IGN1cnJlbnRFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNvZGV4LWVkaXRvcl9fcmVkYWN0b3IgLmNlLWJsb2NrOm9ubHktY2hpbGQnKTtcbiAgICAgICAgbGV0IHRvb2xiYXIgPSBjdXJyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3JBbGwoJy5jZS10b29sYmFyX19hY3Rpb25zJylbMF07XG4gICAgICAgIGlmIChzaW5nbGVCbG9jay5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIGlmICghdG9vbGJhci5jbGFzc0xpc3QuY29udGFpbnMoJ3Rvb2xzLWhpZGRlbicpKSB7XG4gICAgICAgICAgICAgICAgdG9vbGJhci5jbGFzc0xpc3QuYWRkKCd0b29scy1oaWRkZW4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0b29sYmFyLmNsYXNzTGlzdC5jb250YWlucygndG9vbHMtaGlkZGVuJykpIHtcbiAgICAgICAgICAgICAgICB0b29sYmFyLmNsYXNzTGlzdC5yZW1vdmUoJ3Rvb2xzLWhpZGRlbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja1dyYXBwZXIoKSB7XG4gICAgICAgIGxldCBjdXJyZW50RWRpdG9yID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2VkaXRvckpzLScgKyB0aGlzLnV1aWQpO1xuICAgICAgICBsZXQgZWRpdG9yQmxvY2tzID0gY3VycmVudEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY29kZXgtZWRpdG9yX19yZWRhY3RvciAuY2UtcGFyYWdyYXBoJyk7XG4gICAgICAgIGlmIChlZGl0b3JCbG9ja3MubGVuZ3RoID09PSAxICYmICg8SFRNTEVsZW1lbnQ+ZWRpdG9yQmxvY2tzWzBdKS5pbm5lclRleHQubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZWRpdG9yQmxvY2tzLmZvckVhY2goKGJsb2NrKSA9PiB7XG4gICAgICAgICAgICBpZiAoYmxvY2suY2hpbGRFbGVtZW50Q291bnQgIT09IDEgfHwgIXRoaXMuaGFzV3JhcHBlcihibG9jaykpIHtcbiAgICAgICAgICAgICAgICBsZXQgc2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgICAgICBsZXQgc2VsZWN0ZWRBbmNob3JOb2RlID0gc2VsZWN0aW9uLmFuY2hvck5vZGU7XG4gICAgICAgICAgICAgICAgbGV0IHNlbGVjdGVkRm9jdXNOb2RlID0gc2VsZWN0aW9uLmZvY3VzTm9kZTtcbiAgICAgICAgICAgICAgICBsZXQgYW5jaG9yT2Zmc2V0ID0gc2VsZWN0aW9uLmFuY2hvck9mZnNldDtcbiAgICAgICAgICAgICAgICBsZXQgZm9jdXNPZmZzZXQgPSBzZWxlY3Rpb24uZm9jdXNPZmZzZXQ7XG4gICAgICAgICAgICAgICAgbGV0IHBhcmFncmFwaCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ1AnKTtcbiAgICAgICAgICAgICAgICBwYXJhZ3JhcGguaW5uZXJIVE1MID0gYmxvY2suaW5uZXJIVE1MO1xuICAgICAgICAgICAgICAgIGJsb2NrLmlubmVySFRNTCA9ICcnO1xuICAgICAgICAgICAgICAgIGJsb2NrLmFwcGVuZENoaWxkKHBhcmFncmFwaCk7XG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkQW5jaG9yTm9kZSAmJiBzZWxlY3RlZEZvY3VzTm9kZSkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgbm9kZSA9IHBhcmFncmFwaC5jaGlsZE5vZGVzWzBdID8gcGFyYWdyYXBoLmNoaWxkTm9kZXNbMF0gOiBwYXJhZ3JhcGg7XG4gICAgICAgICAgICAgICAgICAgIHZhciB0bXBBbmNob3JPZmZzZXQgPSBwYXJhZ3JhcGguY2hpbGROb2Rlc1swXSA/IGFuY2hvck9mZnNldCA6IDA7XG4gICAgICAgICAgICAgICAgICAgIHZhciB0bXBGb2N1c09mZnNldCA9IHBhcmFncmFwaC5jaGlsZE5vZGVzWzBdID8gZm9jdXNPZmZzZXQgOiAwO1xuICAgICAgICAgICAgICAgICAgICByYW5nZS5zZXRTdGFydChub2RlLCB0bXBBbmNob3JPZmZzZXQpO1xuICAgICAgICAgICAgICAgICAgICByYW5nZS5zZXRFbmQobm9kZSwgdG1wRm9jdXNPZmZzZXQpO1xuICAgICAgICAgICAgICAgICAgICByYW5nZS5jb2xsYXBzZSh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb24uYWRkUmFuZ2UocmFuZ2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNXcmFwcGVyKGJsb2NrOiBFbGVtZW50KSB7XG4gICAgICAgIGxldCB3cmFwcGVyID0gYmxvY2suY2hpbGRyZW5bMF07XG4gICAgICAgIGlmICh3cmFwcGVyICYmIHRoaXMud3JhcHBlclRhZ3Muc3BsaXQoJywnKS5pbmRleE9mKHdyYXBwZXIudGFnTmFtZS50b0xvd2VyQ2FzZSgpKSA+IC0xKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEVkaXRvckNvbnRlbnQoKSB7XG4gICAgICAgIGxldCBjdXJyZW50RWRpdG9yID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI2VkaXRvckpzLScgKyB0aGlzLnV1aWQpWzBdO1xuICAgICAgICBsZXQgZWRpdG9yQmxvY2tzID0gY3VycmVudEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY29kZXgtZWRpdG9yX19yZWRhY3RvciAuY2UtcGFyYWdyYXBoJyk7XG4gICAgICAgIGxldCBjb250ZW50ID0gJyc7XG4gICAgICAgIGVkaXRvckJsb2Nrcy5mb3JFYWNoKChibG9jaykgPT4ge1xuICAgICAgICAgICAgbGV0IGNsb3NpbmdUYWcgPSAnPC8nICsgYmxvY2suY2hpbGRyZW5bMF0/LnRhZ05hbWUudG9Mb3dlckNhc2UoKSArICc+JztcbiAgICAgICAgICAgIGxldCByZWdleHAgPSAvKCg8XFwvKVxcdysoPikpKD8hW1xcc1xcU10qKCg8XFwvKVxcdysoPikpW1xcc1xcU10qJCkvaTtcbiAgICAgICAgICAgIGxldCBsYXN0Q29udGVudENsb3NpbmdUYWcgPSBjb250ZW50Lm1hdGNoKHJlZ2V4cCkgPyBjb250ZW50Lm1hdGNoKHJlZ2V4cClbMF0gOiAnJztcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAoYmxvY2suY2hpbGRyZW5bMF0/LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ3VsJyB8fCBibG9jay5jaGlsZHJlblswXT8udGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnb2wnKSAmJlxuICAgICAgICAgICAgICAgIGxhc3RDb250ZW50Q2xvc2luZ1RhZyA9PT0gY2xvc2luZ1RhZ1xuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgY29udGVudCA9IGNvbnRlbnQuc3Vic3RyaW5nKDAsIGNvbnRlbnQubGVuZ3RoIC0gY2xvc2luZ1RhZy5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYmxvY2suaW5uZXJIVE1MLnN1YnN0cmluZyhjbG9zaW5nVGFnLnJlcGxhY2UoJy8nLCAnJykubGVuZ3RoLCBibG9jay5pbm5lckhUTUwubGVuZ3RoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29udGVudCArPSBibG9jay5pbm5lckhUTUw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5Q29udGVudCgpIHtcbiAgICAgICAgbGV0IGNvbnRlbnRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIGxldCBjdXJyZW50RWRpdG9yID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI2VkaXRvckpzLScgKyB0aGlzLnV1aWQpWzBdO1xuICAgICAgICBsZXQgcGFyYWdyYXBoID0gY3VycmVudEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY2UtcGFyYWdyYXBoJyk7XG4gICAgICAgIGNvbnRlbnRFbGVtZW50LmlubmVySFRNTCA9IHRoaXMuY29udGVudDtcbiAgICAgICAgbGV0IGkgPSAwO1xuICAgICAgICB3aGlsZSAoY29udGVudEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQpIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBjb250ZW50RWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICd1bCcgfHxcbiAgICAgICAgICAgICAgICBjb250ZW50RWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdvbCdcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHNldGxpc3RBcGlFZGl0b3IodGhpcy5lZGl0b3IuYXBpLCBjdXJyZW50RWRpdG9yKTtcbiAgICAgICAgICAgICAgICB3aGlsZSAoY29udGVudEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuZmlyc3RFbGVtZW50Q2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoY29udGVudEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQudGFnTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChjb250ZW50RWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5maXJzdEVsZW1lbnRDaGlsZC5jbG9uZU5vZGUodHJ1ZSkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaSA+PSBwYXJhZ3JhcGgubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVkaXRvci5ibG9ja3MuaW5zZXJ0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgdG1wUGFyYWdyYXBoID0gY3VycmVudEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY2UtcGFyYWdyYXBoJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0bXBQYXJhZ3JhcGhbdG1wUGFyYWdyYXBoLmxlbmd0aCAtIDFdLmlubmVySFRNTCA9ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG1wUGFyYWdyYXBoW3RtcFBhcmFncmFwaC5sZW5ndGggLSAxXS5hcHBlbmRDaGlsZChjb250YWluZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG1wUGFyYWdyYXBoW3RtcFBhcmFncmFwaC5sZW5ndGggLSAxXS5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgb25FZGl0TGlzdCwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhZ3JhcGhbaV0uaW5uZXJIVE1MID0gJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhZ3JhcGhbaV0uYXBwZW5kQ2hpbGQoY29udGFpbmVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFncmFwaFtpXS5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgb25FZGl0TGlzdCwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29udGVudEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuZmlyc3RFbGVtZW50Q2hpbGQucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgICAgICsraTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChpID49IHBhcmFncmFwaC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lZGl0b3IuYmxvY2tzLmluc2VydCgpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgdG1wUGFyYWdyYXBoID0gY3VycmVudEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY2UtcGFyYWdyYXBoJyk7XG4gICAgICAgICAgICAgICAgICAgIHRtcFBhcmFncmFwaFt0bXBQYXJhZ3JhcGgubGVuZ3RoIC0gMV0uaW5uZXJIVE1MID0gJyc7XG4gICAgICAgICAgICAgICAgICAgIHRtcFBhcmFncmFwaFt0bXBQYXJhZ3JhcGgubGVuZ3RoIC0gMV0uYXBwZW5kQ2hpbGQoY29udGVudEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuY2xvbmVOb2RlKHRydWUpKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBwYXJhZ3JhcGhbaV0uaW5uZXJIVE1MID0gJyc7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFncmFwaFtpXS5hcHBlbmRDaGlsZChjb250ZW50RWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5jbG9uZU5vZGUodHJ1ZSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICArK2k7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb250ZW50RWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5yZW1vdmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0STE4bkRpY3Rpb25uYXJ5KCk6IEkxOG5Db25maWcge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nID09PSAnZnInID8gZnJJMThuRGljdGlvbm5hcnkgOiBlbkkxOG5EaWN0aW9ubmFyeTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNlbGVjdGlvbigpOiBTZWxlY3Rpb24ge1xuICAgICAgICBpZiAod2luZG93Py5nZXRTZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIHJldHVybiB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZG9jdW1lbnQ/LmdldFNlbGVjdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIGRvY3VtZW50LmdldFNlbGVjdGlvbigpO1xuICAgICAgICB9IGVsc2UgaWYgKGRvY3VtZW50ICYmIChkb2N1bWVudCBhcyBhbnkpLnNlbGVjdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIChkb2N1bWVudCBhcyBhbnkpLnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpLnRleHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzYXZlRWRpdG9yQ29udGVudChkYXRhOiBzdHJpbmcsIHV1aWQ6IHN0cmluZykge1xuICAgICAgICBpZiAoIWlzVGV4dEVkaXRpb25Ub29sKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0SGFuZGxlKTtcbiAgICAgICAgICAgIHRoaXMudGltZW91dEhhbmRsZSA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlU2F2ZUVkaXRvcihkYXRhLCB1dWlkKTtcbiAgICAgICAgICAgIH0sIDIwMDApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dFRleHRFZGl0aW9uSGFuZGxlKTtcbiAgICAgICAgICAgIHRoaXMudGltZW91dFRleHRFZGl0aW9uSGFuZGxlID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SXNUZXh0RWRpdGlvblRvb2woZmFsc2UpO1xuICAgICAgICAgICAgfSwgMjAwMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVNhdmVFZGl0b3IoZGF0YTogc3RyaW5nLCB1dWlkOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgZWRpdG9yTmFtZSA9ICdlZGl0b3JKcy0nICsgdXVpZDtcbiAgICAgICAgbGV0IHNhdmVkRGF0YSA9IHRoaXMuZ2V0U2F2ZWRFZGl0b3JDb250ZW50KGVkaXRvck5hbWUpO1xuICAgICAgICBsZXQgc2F2ZWREYXRhSW5kZXggPSB0aGlzLmdldFNhdmVkRWRpdG9yQ29udGVudChlZGl0b3JOYW1lICsgJy1pbmRleCcpXG4gICAgICAgICAgICA/IHBhcnNlSW50KHRoaXMuZ2V0U2F2ZWRFZGl0b3JDb250ZW50KGVkaXRvck5hbWUgKyAnLWluZGV4JykpXG4gICAgICAgICAgICA6IC0xO1xuICAgICAgICBsZXQgcGFyc2VkU2F2ZWREYXRhOiBBcnJheTxzdHJpbmc+ID0gW107XG4gICAgICAgIGlmIChzYXZlZERhdGEpIHtcbiAgICAgICAgICAgIHBhcnNlZFNhdmVkRGF0YSA9IEpTT04ucGFyc2Uoc2F2ZWREYXRhKTtcbiAgICAgICAgfVxuICAgICAgICBwYXJzZWRTYXZlZERhdGEucHVzaChkYXRhKTtcbiAgICAgICAgKytzYXZlZERhdGFJbmRleDtcbiAgICAgICAgd2hpbGUgKHBhcnNlZFNhdmVkRGF0YS5sZW5ndGggPiAxNSkge1xuICAgICAgICAgICAgcGFyc2VkU2F2ZWREYXRhLnNoaWZ0KCk7XG4gICAgICAgICAgICAtLXNhdmVkRGF0YUluZGV4O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0U2F2ZWRFZGl0b3JDb250ZW50KGVkaXRvck5hbWUsIEpTT04uc3RyaW5naWZ5KHBhcnNlZFNhdmVkRGF0YSkpO1xuICAgICAgICB0aGlzLnNldFNhdmVkRWRpdG9yQ29udGVudChlZGl0b3JOYW1lICsgJy1pbmRleCcsIHNhdmVkRGF0YUluZGV4LnRvU3RyaW5nKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2F2ZWRFZGl0b3JDb250ZW50KG5hbWU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0obmFtZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRTYXZlZEVkaXRvckNvbnRlbnQobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKG5hbWUsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlbGV0ZVNhdmVkRWRpdG9yQ29udGVudChuYW1lKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKG5hbWUpO1xuICAgIH1cbn1cbiJdfQ==
|