fabrikantencore 2.33.14 → 2.33.15
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/esm2022/src/app/modules/fabrikantencore/components/fab-form/fab-form.component.mjs +3 -3
- package/esm2022/src/app/modules/fabrikantencore/components/fab-texture-configurator/fab-texture-configurator.component.mjs +4 -9
- package/esm2022/src/app/modules/fabrikantencore/swagger/SwaggerClient.mjs +2 -1
- package/fesm2022/fabrikantencore.mjs +6 -10
- package/fesm2022/fabrikantencore.mjs.map +1 -1
- package/package.json +1 -1
- package/src/app/modules/fabrikantencore/swagger/SwaggerClient.d.ts +2 -1
|
@@ -178,12 +178,12 @@ class FabFormComponent {
|
|
|
178
178
|
return false;
|
|
179
179
|
}
|
|
180
180
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FabFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.FabrikantenApiClient }, { token: i3.FabrikantenService }, { token: i4.TranslateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
181
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FabFormComponent, selector: "app-fab-form", inputs: { form: "form", instanceid: "instanceid" }, outputs: { completed: "completed" }, ngImport: i0, template: "<form [formGroup]=\"FormGroup\">\n <ng-container *ngFor=\"let cat of form.formCategories\">\n <div class=\"form-cat-name\" [ngClass]=\"'cat-' + cat.id\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Category, cat.id) }}\n </div>\n <ng-container *ngFor=\"let row of cat.rows\">\n <div class=\"form-cat-inputs displayflex\">\n <div class=\"form-cat-input\" *ngFor=\"let input of row.inputs\">\n <ng-container *ngIf=\"input.formInputType == 1 || input.formInputType == 6\">\n <mat-form-field appearance=\"fill\" class=\"full-width form-cat-input-input\">\n <mat-label>\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id) }}\n </mat-label>\n <input matInput type=\"text\" formControlName=\"{{ input.name }}\" [(ngModel)]=\"input.value\">\n <mat-error></mat-error>\n </mat-form-field>\n </ng-container>\n\n <ng-container *ngIf=\"input.formInputType == 2\">\n <mat-form-field appearance=\"fill\" class=\"full-width form-cat-input-select\">\n <mat-label class=\"select-mat-label filter-name\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id) }}\n </mat-label>\n <mat-select formControlName=\"{{ input.name }}\" [(ngModel)]=\"input.value\">\n <ng-container *ngFor=\"let option of input.options\">\n <mat-option [value]=\"TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Option, option.id)\" class=\"select-mat-option\">\n <span class=\"name-span\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Option, option.id) }}\n </span>\n </mat-option>\n </ng-container>\n </mat-select>\n </mat-form-field>\n </ng-container>\n\n <ng-container *ngIf=\"input.formInputType == 3 || input.formInputType == 7\">\n <mat-checkbox class=\"form-cat-input-checkbox\" formControlName=\"{{ input.name }}\" [(ngModel)]=\"input.checked\">\n <span [innerHTML]=\"TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id)\"></span>\n </mat-checkbox>\n </ng-container>\n\n <ng-container *ngIf=\"input.formInputType == 5\">\n <mat-form-field class=\"full-width form-cat-input-textarea\">\n <mat-label>\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id) }}\n </mat-label>\n <textarea matInput formControlName=\"{{ input.name }}\" [(ngModel)]=\"input.value\" style=\"height: 100px;\"></textarea>\n </mat-form-field>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n <div class=\"form-button-row\">\n <div class=\"mandatory-text\" *ngIf=\"ShowMandatoryText()\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.RequiredField) }}\n </div>\n <button mat-raised-button (click)=\"Close()\" class=\"form-cat-close form-button-row-button\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Close) }}\n </button>\n <button mat-raised-button (click)=\"OnSubmit()\" class=\"form-cat-submit form-button-row-button\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Send) }}\n </button>\n </div>\n</form>\n", styles: ["app-fab-form .mat-form-field-wrapper{padding-bottom:0}app-fab-form .mat-form-field-underline{bottom:0}app-fab-form .displayflex{display:flex}app-fab-form .form-cat-name{border-bottom:1px solid #000;font-size:20px;padding:5px}app-fab-form .form-cat-input{padding:3px;width:100%}app-fab-form .form-button-row{text-align:right}app-fab-form .form-button-row-button{margin:5px}app-fab-form .full-width{width:100%}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.MatLegacyError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i6.MatLegacyFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLegacyLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatLegacyInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", exportAs: ["matInput"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i8.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i9.MatLegacyCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i10.MatLegacySelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i11.MatLegacyOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
181
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FabFormComponent, selector: "app-fab-form", inputs: { form: "form", instanceid: "instanceid" }, outputs: { completed: "completed" }, ngImport: i0, template: "<form [formGroup]=\"FormGroup\">\n <ng-container *ngFor=\"let cat of form.formCategories\">\n <div class=\"form-cat-name\" [ngClass]=\"'cat-' + cat.id\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Category, cat.id) }}\n </div>\n <ng-container *ngFor=\"let row of cat.rows\">\n <div class=\"form-cat-inputs displayflex\">\n <div class=\"form-cat-input\" *ngFor=\"let input of row.inputs\">\n <ng-container *ngIf=\"input.formInputType == 1 || input.formInputType == 6\">\n <mat-form-field appearance=\"fill\" class=\"full-width form-cat-input-input\">\n <mat-label>\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id) }}\n </mat-label>\n <input matInput type=\"text\" formControlName=\"{{ input.name }}\" [(ngModel)]=\"input.value\">\n <mat-error></mat-error>\n </mat-form-field>\n </ng-container>\n\n <ng-container *ngIf=\"input.formInputType == 2\">\n <mat-form-field appearance=\"fill\" class=\"full-width form-cat-input-select\">\n <mat-label class=\"select-mat-label filter-name\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id) }}\n </mat-label>\n <mat-select formControlName=\"{{ input.name }}\" [(ngModel)]=\"input.value\">\n <ng-container *ngFor=\"let option of input.options\">\n <mat-option [value]=\"TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Option, option.id)\" class=\"select-mat-option\">\n <span class=\"name-span\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Option, option.id) }}\n </span>\n </mat-option>\n </ng-container>\n </mat-select>\n </mat-form-field>\n </ng-container>\n\n <ng-container *ngIf=\"input.formInputType == 3 || input.formInputType == 7\">\n <mat-checkbox class=\"form-cat-input-checkbox\" formControlName=\"{{ input.name }}\" [(ngModel)]=\"input.checked\">\n <span [innerHTML]=\"TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id)\"></span>\n </mat-checkbox>\n </ng-container>\n\n <ng-container *ngIf=\"input.formInputType == 8\">\n <span class=\"form-input-text\" [innerHTML]=\"TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id)\"></span>\n </ng-container>\n\n <ng-container *ngIf=\"input.formInputType == 5\">\n <mat-form-field class=\"full-width form-cat-input-textarea\">\n <mat-label>\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id) }}\n </mat-label>\n <textarea matInput formControlName=\"{{ input.name }}\" [(ngModel)]=\"input.value\" style=\"height: 100px;\"></textarea>\n </mat-form-field>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n <div class=\"form-button-row\">\n <div class=\"mandatory-text\" *ngIf=\"ShowMandatoryText()\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.RequiredField) }}\n </div>\n <button mat-raised-button (click)=\"Close()\" class=\"form-cat-close form-button-row-button\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Close) }}\n </button>\n <button mat-raised-button (click)=\"OnSubmit()\" class=\"form-cat-submit form-button-row-button\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Send) }}\n </button>\n </div>\n</form>\n", styles: ["app-fab-form .mat-form-field-wrapper{padding-bottom:0}app-fab-form .mat-form-field-underline{bottom:0}app-fab-form .displayflex{display:flex}app-fab-form .form-cat-name{border-bottom:1px solid #000;font-size:20px;padding:5px}app-fab-form .form-cat-input{padding:3px;width:100%}app-fab-form .form-button-row{text-align:right}app-fab-form .form-button-row-button{margin:5px}app-fab-form .full-width{width:100%}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.MatLegacyError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i6.MatLegacyFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLegacyLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatLegacyInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", exportAs: ["matInput"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i8.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i9.MatLegacyCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i10.MatLegacySelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i11.MatLegacyOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
182
182
|
}
|
|
183
183
|
export { FabFormComponent };
|
|
184
184
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FabFormComponent, decorators: [{
|
|
185
185
|
type: Component,
|
|
186
|
-
args: [{ selector: 'app-fab-form', encapsulation: ViewEncapsulation.None, template: "<form [formGroup]=\"FormGroup\">\n <ng-container *ngFor=\"let cat of form.formCategories\">\n <div class=\"form-cat-name\" [ngClass]=\"'cat-' + cat.id\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Category, cat.id) }}\n </div>\n <ng-container *ngFor=\"let row of cat.rows\">\n <div class=\"form-cat-inputs displayflex\">\n <div class=\"form-cat-input\" *ngFor=\"let input of row.inputs\">\n <ng-container *ngIf=\"input.formInputType == 1 || input.formInputType == 6\">\n <mat-form-field appearance=\"fill\" class=\"full-width form-cat-input-input\">\n <mat-label>\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id) }}\n </mat-label>\n <input matInput type=\"text\" formControlName=\"{{ input.name }}\" [(ngModel)]=\"input.value\">\n <mat-error></mat-error>\n </mat-form-field>\n </ng-container>\n\n <ng-container *ngIf=\"input.formInputType == 2\">\n <mat-form-field appearance=\"fill\" class=\"full-width form-cat-input-select\">\n <mat-label class=\"select-mat-label filter-name\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id) }}\n </mat-label>\n <mat-select formControlName=\"{{ input.name }}\" [(ngModel)]=\"input.value\">\n <ng-container *ngFor=\"let option of input.options\">\n <mat-option [value]=\"TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Option, option.id)\" class=\"select-mat-option\">\n <span class=\"name-span\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Option, option.id) }}\n </span>\n </mat-option>\n </ng-container>\n </mat-select>\n </mat-form-field>\n </ng-container>\n\n <ng-container *ngIf=\"input.formInputType == 3 || input.formInputType == 7\">\n <mat-checkbox class=\"form-cat-input-checkbox\" formControlName=\"{{ input.name }}\" [(ngModel)]=\"input.checked\">\n <span [innerHTML]=\"TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id)\"></span>\n </mat-checkbox>\n </ng-container>\n\n <ng-container *ngIf=\"input.formInputType == 5\">\n <mat-form-field class=\"full-width form-cat-input-textarea\">\n <mat-label>\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id) }}\n </mat-label>\n <textarea matInput formControlName=\"{{ input.name }}\" [(ngModel)]=\"input.value\" style=\"height: 100px;\"></textarea>\n </mat-form-field>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n <div class=\"form-button-row\">\n <div class=\"mandatory-text\" *ngIf=\"ShowMandatoryText()\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.RequiredField) }}\n </div>\n <button mat-raised-button (click)=\"Close()\" class=\"form-cat-close form-button-row-button\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Close) }}\n </button>\n <button mat-raised-button (click)=\"OnSubmit()\" class=\"form-cat-submit form-button-row-button\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Send) }}\n </button>\n </div>\n</form>\n", styles: ["app-fab-form .mat-form-field-wrapper{padding-bottom:0}app-fab-form .mat-form-field-underline{bottom:0}app-fab-form .displayflex{display:flex}app-fab-form .form-cat-name{border-bottom:1px solid #000;font-size:20px;padding:5px}app-fab-form .form-cat-input{padding:3px;width:100%}app-fab-form .form-button-row{text-align:right}app-fab-form .form-button-row-button{margin:5px}app-fab-form .full-width{width:100%}\n"] }]
|
|
186
|
+
args: [{ selector: 'app-fab-form', encapsulation: ViewEncapsulation.None, template: "<form [formGroup]=\"FormGroup\">\n <ng-container *ngFor=\"let cat of form.formCategories\">\n <div class=\"form-cat-name\" [ngClass]=\"'cat-' + cat.id\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Category, cat.id) }}\n </div>\n <ng-container *ngFor=\"let row of cat.rows\">\n <div class=\"form-cat-inputs displayflex\">\n <div class=\"form-cat-input\" *ngFor=\"let input of row.inputs\">\n <ng-container *ngIf=\"input.formInputType == 1 || input.formInputType == 6\">\n <mat-form-field appearance=\"fill\" class=\"full-width form-cat-input-input\">\n <mat-label>\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id) }}\n </mat-label>\n <input matInput type=\"text\" formControlName=\"{{ input.name }}\" [(ngModel)]=\"input.value\">\n <mat-error></mat-error>\n </mat-form-field>\n </ng-container>\n\n <ng-container *ngIf=\"input.formInputType == 2\">\n <mat-form-field appearance=\"fill\" class=\"full-width form-cat-input-select\">\n <mat-label class=\"select-mat-label filter-name\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id) }}\n </mat-label>\n <mat-select formControlName=\"{{ input.name }}\" [(ngModel)]=\"input.value\">\n <ng-container *ngFor=\"let option of input.options\">\n <mat-option [value]=\"TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Option, option.id)\" class=\"select-mat-option\">\n <span class=\"name-span\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Option, option.id) }}\n </span>\n </mat-option>\n </ng-container>\n </mat-select>\n </mat-form-field>\n </ng-container>\n\n <ng-container *ngIf=\"input.formInputType == 3 || input.formInputType == 7\">\n <mat-checkbox class=\"form-cat-input-checkbox\" formControlName=\"{{ input.name }}\" [(ngModel)]=\"input.checked\">\n <span [innerHTML]=\"TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id)\"></span>\n </mat-checkbox>\n </ng-container>\n\n <ng-container *ngIf=\"input.formInputType == 8\">\n <span class=\"form-input-text\" [innerHTML]=\"TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id)\"></span>\n </ng-container>\n\n <ng-container *ngIf=\"input.formInputType == 5\">\n <mat-form-field class=\"full-width form-cat-input-textarea\">\n <mat-label>\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id) }}\n </mat-label>\n <textarea matInput formControlName=\"{{ input.name }}\" [(ngModel)]=\"input.value\" style=\"height: 100px;\"></textarea>\n </mat-form-field>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n <div class=\"form-button-row\">\n <div class=\"mandatory-text\" *ngIf=\"ShowMandatoryText()\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.RequiredField) }}\n </div>\n <button mat-raised-button (click)=\"Close()\" class=\"form-cat-close form-button-row-button\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Close) }}\n </button>\n <button mat-raised-button (click)=\"OnSubmit()\" class=\"form-cat-submit form-button-row-button\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Send) }}\n </button>\n </div>\n</form>\n", styles: ["app-fab-form .mat-form-field-wrapper{padding-bottom:0}app-fab-form .mat-form-field-underline{bottom:0}app-fab-form .displayflex{display:flex}app-fab-form .form-cat-name{border-bottom:1px solid #000;font-size:20px;padding:5px}app-fab-form .form-cat-input{padding:3px;width:100%}app-fab-form .form-button-row{text-align:right}app-fab-form .form-button-row-button{margin:5px}app-fab-form .full-width{width:100%}\n"] }]
|
|
187
187
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.FabrikantenApiClient }, { type: i3.FabrikantenService }, { type: i4.TranslateService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { form: [{
|
|
188
188
|
type: Input
|
|
189
189
|
}], instanceid: [{
|
|
@@ -191,4 +191,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
191
191
|
}], completed: [{
|
|
192
192
|
type: Output
|
|
193
193
|
}] } });
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9jb21wb25lbnRzL2ZhYi1mb3JtL2ZhYi1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItZm9ybS9mYWItZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQXlELFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25HLE9BQU8sRUFBNEIsYUFBYSxFQUF3Qix5QkFBeUIsRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBaUMsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQUluTixNQU1hLGdCQUFnQjtJQW1GakI7SUFDQTtJQUNBO0lBQ0Q7SUFDQztJQXJGSCxVQUFVLEdBQVcsRUFBRSxDQUFDO0lBRS9CLEtBQUssQ0FBMkI7SUFDaEMsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFhLElBQUksQ0FBQyxLQUErQjtRQUMvQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQzNDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBRXBDLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtZQUNoQixLQUFLLElBQUksQ0FBQyxH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QkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0UsY0FBYyxpQkFHVCxpQkFBaUIsQ0FBQyxJQUFJO3FPQVd4QixJQUFJO3NCQUFoQixLQUFLO2dCQXlETyxVQUFVO3NCQUF0QixLQUFLO2dCQUlJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdG9yUmVmLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRmFicmlrYW50ZW5Gb3JtVmlld01vZGVsLCBGb3JtSW5wdXRUeXBlLCBGYWJyaWthbnRlbkFwaUNsaWVudCwgRmFicmlrYW50ZW5TZXRGb3JtUmVxdWVzdCwgVHJhbnNsYXRpb25DYXRlZ29yeSwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeSwgRmFicmlrYW50ZW5Gb3JtSW5wdXRWaWV3TW9kZWwgfSBmcm9tICcuLi8uLi9zd2FnZ2VyL1N3YWdnZXJDbGllbnQnO1xyXG5pbXBvcnQgeyBGYWJyaWthbnRlblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mYWJyaWthbnRlbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZmFiLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZmFiLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mYWItZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEZhYkZvcm1Db21wb25lbnQge1xuXG4gIHB1YmxpYyBJbnN0YW5jZUlkOiBzdHJpbmcgPSBcIlwiO1xuXG4gIF9mb3JtOiBGYWJyaWthbnRlbkZvcm1WaWV3TW9kZWw7XHJcbiAgZ2V0IGZvcm0oKTogRmFicmlrYW50ZW5Gb3JtVmlld01vZGVsIHtcclxuICAgIHJldHVybiB0aGlzLl9mb3JtO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IGZvcm0odmFsdWU6IEZhYnJpa2FudGVuRm9ybVZpZXdNb2RlbCkge1xyXG4gICAgdGhpcy5fZm9ybSA9IHZhbHVlO1xyXG5cclxuICAgIHRoaXMuRm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7fSlcbiAgICB2YXIgY2F0cyA9IHRoaXMuZm9ybS5mb3JtQ2F0ZWdvcmllcztcblxuICAgIGlmIChjYXRzICE9IG51bGwpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2F0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgcm93cyA9IGNhdHNbaV0ucm93cztcclxuXHJcbiAgICAgICAgaWYgKHJvd3MgIT0gbnVsbCkge1xyXG4gICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCByb3dzLmxlbmd0aDsgaisrKSB7XHJcbiAgICAgICAgICAgIHZhciBpbnB1dHMgPSByb3dzW2pdLmlucHV0cztcclxuXHJcbiAgICAgICAgICAgIGlmIChpbnB1dHMgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgIGZvciAodmFyIHAgPSAwOyBwIDwgaW5wdXRzLmxlbmd0aDsgcCsrKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgdmFyIFZhbGlkYXRvcnNBcnJheTogVmFsaWRhdG9yRm5bXSA9IG5ldyBBcnJheSgpO1xyXG5cclxuICAgICAgICAgICAgICAgIHZhciBkZWZhdWx0cyA9IGlucHV0c1twXS5kZWZhdWx0cztcclxuICAgICAgICAgICAgICAgIGlmIChkZWZhdWx0cyAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgIGZvciAodmFyIGQgPSAwOyBkIDwgZGVmYXVsdHMubGVuZ3RoOyBkKyspIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZGVmYXVsdHNbZF0ubGFuZ3VhZ2VJZCA9PSB0aGlzLlRyYW5zbGF0ZVNlcnZpY2UuQWN0aXZlTGFuZ3VhZ2U/LmlkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBpbnB1dHNbcF0udmFsdWUgPSBkZWZhdWx0c1tkXS5kZWZhdWx0VmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGlucHV0c1twXS5mb3JtSW5wdXRUeXBlID09IEZvcm1JbnB1dFR5cGUuRW1haWwpIHtcclxuICAgICAgICAgICAgICAgICAgVmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5lbWFpbCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGlucHV0c1twXS5mb3JtSW5wdXRUeXBlID09IEZvcm1JbnB1dFR5cGUuQ2hlY2tib3hSZXF1aXJlZFRydWUpIHtcclxuICAgICAgICAgICAgICAgICAgVmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZFRydWUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChpbnB1dHNbcF0ucmVxdWlyZWQpIHtcclxuICAgICAgICAgICAgICAgICAgVmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGlucHV0c1twXS5mb3JtSW5wdXRUeXBlID09IEZvcm1JbnB1dFR5cGUuRHJvcGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5Gb3JtR3JvdXAuYWRkQ29udHJvbChpbnB1dHNbcF0ubmFtZSArIFwiXCIsIHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChpbnB1dHNbcF0uc2VsZWN0ZWRPcHRpb24/LmlkLCBWYWxpZGF0b3JzQXJyYXkpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLkZvcm1Hcm91cC5hZGRDb250cm9sKGlucHV0c1twXS5uYW1lICsgXCJcIiwgdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKGlucHV0c1twXS52YWx1ZSwgVmFsaWRhdG9yc0FycmF5KSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgYWxlcnQoJ2Vycm9yJyk7XHJcbiAgICB9XHJcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBpbnN0YW5jZWlkKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuSW5zdGFuY2VJZCA9IHZhbHVlO1xyXG4gIH1cblxuICBAT3V0cHV0KCkgY29tcGxldGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHVibGljIEZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBnZXQgVHJhbnNsYXRpb25DYXRlZ29yeSgpIHtcbiAgICByZXR1cm4gVHJhbnNsYXRpb25DYXRlZ29yeTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgVHJhbnNsYXRpb25TdWJDYXRlZ29yeSgpIHtcbiAgICByZXR1cm4gVHJhbnNsYXRpb25TdWJDYXRlZ29yeTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgRmFicmlrYW50ZW5BcGlDbGllbnQ6IEZhYnJpa2FudGVuQXBpQ2xpZW50LFxuICAgIHByaXZhdGUgRmFicmlrYW50ZW5TZXJ2aWNlOiBGYWJyaWthbnRlblNlcnZpY2UsXG4gICAgcHVibGljIFRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBDaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG5cbiAgfVxuXG4gIHB1YmxpYyBPblN1Ym1pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLkZvcm1Hcm91cC52YWxpZCkge1xyXG4gICAgICB2YXIgcmVxdWVzdCA9IG5ldyBGYWJyaWthbnRlblNldEZvcm1SZXF1ZXN0KCk7XHJcblxyXG4gICAgICByZXF1ZXN0LnNlc3Npb25JZCA9IHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuVmlld01vZGVsLnNlc3Npb25JZDtcclxuICAgICAgcmVxdWVzdC5mb3JtID0gdGhpcy5mb3JtO1xyXG4gICAgICByZXF1ZXN0Lmxhbmd1YWdlSWQgPSB0aGlzLlRyYW5zbGF0ZVNlcnZpY2UuQWN0aXZlTGFuZ3VhZ2UuaWQ7XHJcbiAgICAgIHJlcXVlc3QuY291bnRyeUNvZGUgPSB0aGlzLlRyYW5zbGF0ZVNlcnZpY2UuQWN0aXZlTGFuZ3VhZ2UuY291bnRyeUNvZGU7XHJcbiAgICAgIHJlcXVlc3QuZmFicmlrYW50ZW5TZXR0aW5nc1ZpZXdNb2RlbCA9IHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuU2V0dGluZ3NWaWV3TW9kZWw7XHJcbiAgICAgIHJlcXVlc3QuaW5zdGFuY2VJZCA9IHRoaXMuSW5zdGFuY2VJZDtcclxuXHJcbiAgICAgIHRoaXMuRmFicmlrYW50ZW5BcGlDbGllbnQuc2V0Rm9ybShyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLlJlbG9hZE1vZGVsKHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYsIHVuZGVmaW5lZCwgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jb21wbGV0ZWQuZW1pdCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgYWxlcnQoJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG5cclxuICAgICAgICB0aGlzLkNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdmFyIHRleHQgPSBcIlwiO1xyXG5cclxuICAgICAgT2JqZWN0LmtleXModGhpcy5Gb3JtR3JvdXAuY29udHJvbHMpLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgICB2YXIgdGVtcCA9IHRoaXMuRm9ybUdyb3VwLmdldChrZXkpO1xyXG5cclxuICAgICAgICBpZiAodGVtcCAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIGNvbnN0IGNvbnRyb2xFcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgPSB0ZW1wLmVycm9ycyBhcyBWYWxpZGF0aW9uRXJyb3JzO1xyXG4gICAgICAgICAgaWYgKGNvbnRyb2xFcnJvcnMgIT0gbnVsbCkge1xyXG5cclxuICAgICAgICAgICAgT2JqZWN0LmtleXMoY29udHJvbEVycm9ycykuZm9yRWFjaChrZXlFcnJvciA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGtleUVycm9yID09IFwicmVxdWlyZWRcIiB8fCBrZXlFcnJvciA9PSBcImVtYWlsXCIpIHtcclxuICAgICAgICAgICAgICAgIHZhciBpbnB1dCA9IHRoaXMuR2V0SW5wdXQoa2V5KTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoaW5wdXQgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICB2YXIgdHJhbnNsYXRpb25faW5wdXQgPSB0aGlzLlRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Gb3JtcywgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5JbnB1dCwgaW5wdXQuaWQpXHJcblxyXG4gICAgICAgICAgICAgICAgICB0ZXh0ICs9IFwiPGxpPlwiICsgdHJhbnNsYXRpb25faW5wdXQgKyBcIjwvbGk+XCI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdmFyIHRlc3QgPSBcIlwiO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHZhciB0cmFuc2xhdGlvbiA9IHRoaXMuVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkNvbW1vbiwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5SZXF1aXJlZCk7XHJcbiAgICAgIHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLlNob3dQb3B1cFRleHQodHJhbnNsYXRpb24gKyBcIjx1bD5cIiArIHRleHQgKyBcIjwvdWw+XCIpO1xyXG4gICAgfVxyXG4gIH1cblxuICBwdWJsaWMgQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5jb21wbGV0ZWQuZW1pdCgpO1xyXG4gIH1cblxuICBwdWJsaWMgR2V0SW5wdXQobmFtZTogc3RyaW5nKTogRmFicmlrYW50ZW5Gb3JtSW5wdXRWaWV3TW9kZWwgfCBudWxsIHtcbiAgICB2YXIgY2F0cyA9IHRoaXMuZm9ybT8uZm9ybUNhdGVnb3JpZXM7XG5cbiAgICBpZiAoY2F0cyAhPSBudWxsKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNhdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIHJvd3MgPSBjYXRzW2ldLnJvd3M7XHJcblxyXG4gICAgICAgIGlmIChyb3dzICE9IG51bGwpIHtcclxuICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgcm93cy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICB2YXIgaW5wdXRzID0gcm93c1tqXS5pbnB1dHM7XHJcblxyXG4gICAgICAgICAgICBpZiAoaW5wdXRzICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICBmb3IgKHZhciBwID0gMDsgcCA8IGlucHV0cy5sZW5ndGg7IHArKykge1xyXG4gICAgICAgICAgICAgICAgaWYgKGlucHV0c1twXS5uYW1lID09IG5hbWUpIHtcclxuICAgICAgICAgICAgICAgICAgcmV0dXJuIGlucHV0c1twXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxuXG4gIHB1YmxpYyBTaG93TWFuZGF0b3J5VGV4dCgpOiBib29sZWFuIHtcbiAgICB2YXIgY2F0cyA9IHRoaXMuZm9ybT8uZm9ybUNhdGVnb3JpZXM7XG5cbiAgICBpZiAoY2F0cyAhPSBudWxsKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNhdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIHJvd3MgPSBjYXRzW2ldLnJvd3M7XHJcblxyXG4gICAgICAgIGlmIChyb3dzICE9IG51bGwpIHtcclxuICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgcm93cy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICB2YXIgaW5wdXRzID0gcm93c1tqXS5pbnB1dHM7XHJcblxyXG4gICAgICAgICAgICBpZiAoaW5wdXRzICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICBmb3IgKHZhciBwID0gMDsgcCA8IGlucHV0cy5sZW5ndGg7IHArKykge1xyXG4gICAgICAgICAgICAgICAgaWYgKGlucHV0c1twXS5yZXF1aXJlZCkge1xyXG4gICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJGb3JtR3JvdXBcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2F0IG9mIGZvcm0uZm9ybUNhdGVnb3JpZXNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jYXQtbmFtZVwiIFtuZ0NsYXNzXT1cIidjYXQtJyArIGNhdC5pZFwiPlxuICAgICAge3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkZvcm1zLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LkNhdGVnb3J5LCBjYXQuaWQpIH19XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcm93IG9mIGNhdC5yb3dzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jYXQtaW5wdXRzIGRpc3BsYXlmbGV4XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNhdC1pbnB1dFwiICpuZ0Zvcj1cImxldCBpbnB1dCBvZiByb3cuaW5wdXRzXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0LmZvcm1JbnB1dFR5cGUgPT0gMSB8fCBpbnB1dC5mb3JtSW5wdXRUeXBlID09IDZcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aCBmb3JtLWNhdC1pbnB1dC1pbnB1dFwiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Gb3JtcywgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5JbnB1dCwgaW5wdXQuaWQpIH19XG4gICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInRleHRcIiBmb3JtQ29udHJvbE5hbWU9XCJ7eyBpbnB1dC5uYW1lIH19XCIgWyhuZ01vZGVsKV09XCJpbnB1dC52YWx1ZVwiPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yPjwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dC5mb3JtSW5wdXRUeXBlID09IDJcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aCBmb3JtLWNhdC1pbnB1dC1zZWxlY3RcIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCBjbGFzcz1cInNlbGVjdC1tYXQtbGFiZWwgZmlsdGVyLW5hbWVcIj5cbiAgICAgICAgICAgICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuRm9ybXMsIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuSW5wdXQsIGlucHV0LmlkKSB9fVxuICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwie3sgaW5wdXQubmFtZSB9fVwiIFsobmdNb2RlbCldPVwiaW5wdXQudmFsdWVcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgaW5wdXQub3B0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIlRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Gb3JtcywgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5PcHRpb24sIG9wdGlvbi5pZClcIiBjbGFzcz1cInNlbGVjdC1tYXQtb3B0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibmFtZS1zcGFuXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkZvcm1zLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5Lk9wdGlvbiwgb3B0aW9uLmlkKSB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXQuZm9ybUlucHV0VHlwZSA9PSAzIHx8IGlucHV0LmZvcm1JbnB1dFR5cGUgPT0gN1wiPlxuICAgICAgICAgICAgPG1hdC1jaGVja2JveCBjbGFzcz1cImZvcm0tY2F0LWlucHV0LWNoZWNrYm94XCIgZm9ybUNvbnRyb2xOYW1lPVwie3sgaW5wdXQubmFtZSB9fVwiIFsobmdNb2RlbCldPVwiaW5wdXQuY2hlY2tlZFwiPlxuICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIlRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Gb3JtcywgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5JbnB1dCwgaW5wdXQuaWQpXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXQuZm9ybUlucHV0VHlwZSA9PSA1XCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmdWxsLXdpZHRoIGZvcm0tY2F0LWlucHV0LXRleHRhcmVhXCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAge3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkZvcm1zLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LklucHV0LCBpbnB1dC5pZCkgfX1cbiAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJ7eyBpbnB1dC5uYW1lIH19XCIgWyhuZ01vZGVsKV09XCJpbnB1dC52YWx1ZVwiIHN0eWxlPVwiaGVpZ2h0OiAxMDBweDtcIj48L3RleHRhcmVhPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPGRpdiBjbGFzcz1cImZvcm0tYnV0dG9uLXJvd1wiPlxuICAgIDxkaXYgY2xhc3M9XCJtYW5kYXRvcnktdGV4dFwiICpuZ0lmPVwiU2hvd01hbmRhdG9yeVRleHQoKVwiPlxuICAgICAge3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkNvbW1vbiwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5SZXF1aXJlZEZpZWxkKSB9fVxuICAgIDwvZGl2PlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIkNsb3NlKClcIiBjbGFzcz1cImZvcm0tY2F0LWNsb3NlIGZvcm0tYnV0dG9uLXJvdy1idXR0b25cIj5cbiAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Db21tb24sIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuQ2xvc2UpIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiT25TdWJtaXQoKVwiIGNsYXNzPVwiZm9ybS1jYXQtc3VibWl0IGZvcm0tYnV0dG9uLXJvdy1idXR0b25cIj5cbiAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Db21tb24sIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuU2VuZCkgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9jb21wb25lbnRzL2ZhYi1mb3JtL2ZhYi1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItZm9ybS9mYWItZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQXlELFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25HLE9BQU8sRUFBNEIsYUFBYSxFQUF3Qix5QkFBeUIsRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBaUMsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQUluTixNQU1hLGdCQUFnQjtJQW1GakI7SUFDQTtJQUNBO0lBQ0Q7SUFDQztJQXJGSCxVQUFVLEdBQVcsRUFBRSxDQUFDO0lBRS9CLEtBQUssQ0FBMkI7SUFDaEMsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFhLElBQUksQ0FBQyxLQUErQjtRQUMvQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQzNDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBRXBDLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtZQUNoQixLQUFLLElBQUksQ0FBQyxH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QkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0UsY0FBYyxpQkFHVCxpQkFBaUIsQ0FBQyxJQUFJO3FPQVd4QixJQUFJO3NCQUFoQixLQUFLO2dCQXlETyxVQUFVO3NCQUF0QixLQUFLO2dCQUlJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdG9yUmVmLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRmFicmlrYW50ZW5Gb3JtVmlld01vZGVsLCBGb3JtSW5wdXRUeXBlLCBGYWJyaWthbnRlbkFwaUNsaWVudCwgRmFicmlrYW50ZW5TZXRGb3JtUmVxdWVzdCwgVHJhbnNsYXRpb25DYXRlZ29yeSwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeSwgRmFicmlrYW50ZW5Gb3JtSW5wdXRWaWV3TW9kZWwgfSBmcm9tICcuLi8uLi9zd2FnZ2VyL1N3YWdnZXJDbGllbnQnO1xyXG5pbXBvcnQgeyBGYWJyaWthbnRlblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mYWJyaWthbnRlbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZmFiLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZmFiLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mYWItZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEZhYkZvcm1Db21wb25lbnQge1xuXG4gIHB1YmxpYyBJbnN0YW5jZUlkOiBzdHJpbmcgPSBcIlwiO1xuXG4gIF9mb3JtOiBGYWJyaWthbnRlbkZvcm1WaWV3TW9kZWw7XHJcbiAgZ2V0IGZvcm0oKTogRmFicmlrYW50ZW5Gb3JtVmlld01vZGVsIHtcclxuICAgIHJldHVybiB0aGlzLl9mb3JtO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IGZvcm0odmFsdWU6IEZhYnJpa2FudGVuRm9ybVZpZXdNb2RlbCkge1xyXG4gICAgdGhpcy5fZm9ybSA9IHZhbHVlO1xyXG5cclxuICAgIHRoaXMuRm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7fSlcbiAgICB2YXIgY2F0cyA9IHRoaXMuZm9ybS5mb3JtQ2F0ZWdvcmllcztcblxuICAgIGlmIChjYXRzICE9IG51bGwpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2F0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgcm93cyA9IGNhdHNbaV0ucm93cztcclxuXHJcbiAgICAgICAgaWYgKHJvd3MgIT0gbnVsbCkge1xyXG4gICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCByb3dzLmxlbmd0aDsgaisrKSB7XHJcbiAgICAgICAgICAgIHZhciBpbnB1dHMgPSByb3dzW2pdLmlucHV0cztcclxuXHJcbiAgICAgICAgICAgIGlmIChpbnB1dHMgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgIGZvciAodmFyIHAgPSAwOyBwIDwgaW5wdXRzLmxlbmd0aDsgcCsrKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgdmFyIFZhbGlkYXRvcnNBcnJheTogVmFsaWRhdG9yRm5bXSA9IG5ldyBBcnJheSgpO1xyXG5cclxuICAgICAgICAgICAgICAgIHZhciBkZWZhdWx0cyA9IGlucHV0c1twXS5kZWZhdWx0cztcclxuICAgICAgICAgICAgICAgIGlmIChkZWZhdWx0cyAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgIGZvciAodmFyIGQgPSAwOyBkIDwgZGVmYXVsdHMubGVuZ3RoOyBkKyspIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZGVmYXVsdHNbZF0ubGFuZ3VhZ2VJZCA9PSB0aGlzLlRyYW5zbGF0ZVNlcnZpY2UuQWN0aXZlTGFuZ3VhZ2U/LmlkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBpbnB1dHNbcF0udmFsdWUgPSBkZWZhdWx0c1tkXS5kZWZhdWx0VmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGlucHV0c1twXS5mb3JtSW5wdXRUeXBlID09IEZvcm1JbnB1dFR5cGUuRW1haWwpIHtcclxuICAgICAgICAgICAgICAgICAgVmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5lbWFpbCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGlucHV0c1twXS5mb3JtSW5wdXRUeXBlID09IEZvcm1JbnB1dFR5cGUuQ2hlY2tib3hSZXF1aXJlZFRydWUpIHtcclxuICAgICAgICAgICAgICAgICAgVmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZFRydWUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChpbnB1dHNbcF0ucmVxdWlyZWQpIHtcclxuICAgICAgICAgICAgICAgICAgVmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGlucHV0c1twXS5mb3JtSW5wdXRUeXBlID09IEZvcm1JbnB1dFR5cGUuRHJvcGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5Gb3JtR3JvdXAuYWRkQ29udHJvbChpbnB1dHNbcF0ubmFtZSArIFwiXCIsIHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChpbnB1dHNbcF0uc2VsZWN0ZWRPcHRpb24/LmlkLCBWYWxpZGF0b3JzQXJyYXkpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLkZvcm1Hcm91cC5hZGRDb250cm9sKGlucHV0c1twXS5uYW1lICsgXCJcIiwgdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKGlucHV0c1twXS52YWx1ZSwgVmFsaWRhdG9yc0FycmF5KSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgYWxlcnQoJ2Vycm9yJyk7XHJcbiAgICB9XHJcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBpbnN0YW5jZWlkKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuSW5zdGFuY2VJZCA9IHZhbHVlO1xyXG4gIH1cblxuICBAT3V0cHV0KCkgY29tcGxldGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHVibGljIEZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBnZXQgVHJhbnNsYXRpb25DYXRlZ29yeSgpIHtcbiAgICByZXR1cm4gVHJhbnNsYXRpb25DYXRlZ29yeTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgVHJhbnNsYXRpb25TdWJDYXRlZ29yeSgpIHtcbiAgICByZXR1cm4gVHJhbnNsYXRpb25TdWJDYXRlZ29yeTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgRmFicmlrYW50ZW5BcGlDbGllbnQ6IEZhYnJpa2FudGVuQXBpQ2xpZW50LFxuICAgIHByaXZhdGUgRmFicmlrYW50ZW5TZXJ2aWNlOiBGYWJyaWthbnRlblNlcnZpY2UsXG4gICAgcHVibGljIFRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBDaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG5cbiAgfVxuXG4gIHB1YmxpYyBPblN1Ym1pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLkZvcm1Hcm91cC52YWxpZCkge1xyXG4gICAgICB2YXIgcmVxdWVzdCA9IG5ldyBGYWJyaWthbnRlblNldEZvcm1SZXF1ZXN0KCk7XHJcblxyXG4gICAgICByZXF1ZXN0LnNlc3Npb25JZCA9IHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuVmlld01vZGVsLnNlc3Npb25JZDtcclxuICAgICAgcmVxdWVzdC5mb3JtID0gdGhpcy5mb3JtO1xyXG4gICAgICByZXF1ZXN0Lmxhbmd1YWdlSWQgPSB0aGlzLlRyYW5zbGF0ZVNlcnZpY2UuQWN0aXZlTGFuZ3VhZ2UuaWQ7XHJcbiAgICAgIHJlcXVlc3QuY291bnRyeUNvZGUgPSB0aGlzLlRyYW5zbGF0ZVNlcnZpY2UuQWN0aXZlTGFuZ3VhZ2UuY291bnRyeUNvZGU7XHJcbiAgICAgIHJlcXVlc3QuZmFicmlrYW50ZW5TZXR0aW5nc1ZpZXdNb2RlbCA9IHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuU2V0dGluZ3NWaWV3TW9kZWw7XHJcbiAgICAgIHJlcXVlc3QuaW5zdGFuY2VJZCA9IHRoaXMuSW5zdGFuY2VJZDtcclxuXHJcbiAgICAgIHRoaXMuRmFicmlrYW50ZW5BcGlDbGllbnQuc2V0Rm9ybShyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLlJlbG9hZE1vZGVsKHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYsIHVuZGVmaW5lZCwgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jb21wbGV0ZWQuZW1pdCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgYWxlcnQoJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG5cclxuICAgICAgICB0aGlzLkNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdmFyIHRleHQgPSBcIlwiO1xyXG5cclxuICAgICAgT2JqZWN0LmtleXModGhpcy5Gb3JtR3JvdXAuY29udHJvbHMpLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgICB2YXIgdGVtcCA9IHRoaXMuRm9ybUdyb3VwLmdldChrZXkpO1xyXG5cclxuICAgICAgICBpZiAodGVtcCAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIGNvbnN0IGNvbnRyb2xFcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgPSB0ZW1wLmVycm9ycyBhcyBWYWxpZGF0aW9uRXJyb3JzO1xyXG4gICAgICAgICAgaWYgKGNvbnRyb2xFcnJvcnMgIT0gbnVsbCkge1xyXG5cclxuICAgICAgICAgICAgT2JqZWN0LmtleXMoY29udHJvbEVycm9ycykuZm9yRWFjaChrZXlFcnJvciA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGtleUVycm9yID09IFwicmVxdWlyZWRcIiB8fCBrZXlFcnJvciA9PSBcImVtYWlsXCIpIHtcclxuICAgICAgICAgICAgICAgIHZhciBpbnB1dCA9IHRoaXMuR2V0SW5wdXQoa2V5KTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoaW5wdXQgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICB2YXIgdHJhbnNsYXRpb25faW5wdXQgPSB0aGlzLlRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Gb3JtcywgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5JbnB1dCwgaW5wdXQuaWQpXHJcblxyXG4gICAgICAgICAgICAgICAgICB0ZXh0ICs9IFwiPGxpPlwiICsgdHJhbnNsYXRpb25faW5wdXQgKyBcIjwvbGk+XCI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdmFyIHRlc3QgPSBcIlwiO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHZhciB0cmFuc2xhdGlvbiA9IHRoaXMuVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkNvbW1vbiwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5SZXF1aXJlZCk7XHJcbiAgICAgIHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLlNob3dQb3B1cFRleHQodHJhbnNsYXRpb24gKyBcIjx1bD5cIiArIHRleHQgKyBcIjwvdWw+XCIpO1xyXG4gICAgfVxyXG4gIH1cblxuICBwdWJsaWMgQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5jb21wbGV0ZWQuZW1pdCgpO1xyXG4gIH1cblxuICBwdWJsaWMgR2V0SW5wdXQobmFtZTogc3RyaW5nKTogRmFicmlrYW50ZW5Gb3JtSW5wdXRWaWV3TW9kZWwgfCBudWxsIHtcbiAgICB2YXIgY2F0cyA9IHRoaXMuZm9ybT8uZm9ybUNhdGVnb3JpZXM7XG5cbiAgICBpZiAoY2F0cyAhPSBudWxsKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNhdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIHJvd3MgPSBjYXRzW2ldLnJvd3M7XHJcblxyXG4gICAgICAgIGlmIChyb3dzICE9IG51bGwpIHtcclxuICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgcm93cy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICB2YXIgaW5wdXRzID0gcm93c1tqXS5pbnB1dHM7XHJcblxyXG4gICAgICAgICAgICBpZiAoaW5wdXRzICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICBmb3IgKHZhciBwID0gMDsgcCA8IGlucHV0cy5sZW5ndGg7IHArKykge1xyXG4gICAgICAgICAgICAgICAgaWYgKGlucHV0c1twXS5uYW1lID09IG5hbWUpIHtcclxuICAgICAgICAgICAgICAgICAgcmV0dXJuIGlucHV0c1twXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxuXG4gIHB1YmxpYyBTaG93TWFuZGF0b3J5VGV4dCgpOiBib29sZWFuIHtcbiAgICB2YXIgY2F0cyA9IHRoaXMuZm9ybT8uZm9ybUNhdGVnb3JpZXM7XG5cbiAgICBpZiAoY2F0cyAhPSBudWxsKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNhdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIHJvd3MgPSBjYXRzW2ldLnJvd3M7XHJcblxyXG4gICAgICAgIGlmIChyb3dzICE9IG51bGwpIHtcclxuICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgcm93cy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICB2YXIgaW5wdXRzID0gcm93c1tqXS5pbnB1dHM7XHJcblxyXG4gICAgICAgICAgICBpZiAoaW5wdXRzICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICBmb3IgKHZhciBwID0gMDsgcCA8IGlucHV0cy5sZW5ndGg7IHArKykge1xyXG4gICAgICAgICAgICAgICAgaWYgKGlucHV0c1twXS5yZXF1aXJlZCkge1xyXG4gICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJGb3JtR3JvdXBcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2F0IG9mIGZvcm0uZm9ybUNhdGVnb3JpZXNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jYXQtbmFtZVwiIFtuZ0NsYXNzXT1cIidjYXQtJyArIGNhdC5pZFwiPlxuICAgICAge3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkZvcm1zLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LkNhdGVnb3J5LCBjYXQuaWQpIH19XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcm93IG9mIGNhdC5yb3dzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jYXQtaW5wdXRzIGRpc3BsYXlmbGV4XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNhdC1pbnB1dFwiICpuZ0Zvcj1cImxldCBpbnB1dCBvZiByb3cuaW5wdXRzXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0LmZvcm1JbnB1dFR5cGUgPT0gMSB8fCBpbnB1dC5mb3JtSW5wdXRUeXBlID09IDZcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aCBmb3JtLWNhdC1pbnB1dC1pbnB1dFwiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Gb3JtcywgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5JbnB1dCwgaW5wdXQuaWQpIH19XG4gICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInRleHRcIiBmb3JtQ29udHJvbE5hbWU9XCJ7eyBpbnB1dC5uYW1lIH19XCIgWyhuZ01vZGVsKV09XCJpbnB1dC52YWx1ZVwiPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yPjwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dC5mb3JtSW5wdXRUeXBlID09IDJcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aCBmb3JtLWNhdC1pbnB1dC1zZWxlY3RcIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCBjbGFzcz1cInNlbGVjdC1tYXQtbGFiZWwgZmlsdGVyLW5hbWVcIj5cbiAgICAgICAgICAgICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuRm9ybXMsIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuSW5wdXQsIGlucHV0LmlkKSB9fVxuICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwie3sgaW5wdXQubmFtZSB9fVwiIFsobmdNb2RlbCldPVwiaW5wdXQudmFsdWVcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgaW5wdXQub3B0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIlRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Gb3JtcywgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5PcHRpb24sIG9wdGlvbi5pZClcIiBjbGFzcz1cInNlbGVjdC1tYXQtb3B0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibmFtZS1zcGFuXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkZvcm1zLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5Lk9wdGlvbiwgb3B0aW9uLmlkKSB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXQuZm9ybUlucHV0VHlwZSA9PSAzIHx8IGlucHV0LmZvcm1JbnB1dFR5cGUgPT0gN1wiPlxuICAgICAgICAgICAgPG1hdC1jaGVja2JveCBjbGFzcz1cImZvcm0tY2F0LWlucHV0LWNoZWNrYm94XCIgZm9ybUNvbnRyb2xOYW1lPVwie3sgaW5wdXQubmFtZSB9fVwiIFsobmdNb2RlbCldPVwiaW5wdXQuY2hlY2tlZFwiPlxuICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIlRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Gb3JtcywgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5JbnB1dCwgaW5wdXQuaWQpXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXQuZm9ybUlucHV0VHlwZSA9PSA4XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvcm0taW5wdXQtdGV4dFwiIFtpbm5lckhUTUxdPVwiVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkZvcm1zLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LklucHV0LCBpbnB1dC5pZClcIj48L3NwYW4+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXQuZm9ybUlucHV0VHlwZSA9PSA1XCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmdWxsLXdpZHRoIGZvcm0tY2F0LWlucHV0LXRleHRhcmVhXCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAge3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkZvcm1zLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LklucHV0LCBpbnB1dC5pZCkgfX1cbiAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJ7eyBpbnB1dC5uYW1lIH19XCIgWyhuZ01vZGVsKV09XCJpbnB1dC52YWx1ZVwiIHN0eWxlPVwiaGVpZ2h0OiAxMDBweDtcIj48L3RleHRhcmVhPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPGRpdiBjbGFzcz1cImZvcm0tYnV0dG9uLXJvd1wiPlxuICAgIDxkaXYgY2xhc3M9XCJtYW5kYXRvcnktdGV4dFwiICpuZ0lmPVwiU2hvd01hbmRhdG9yeVRleHQoKVwiPlxuICAgICAge3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkNvbW1vbiwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5SZXF1aXJlZEZpZWxkKSB9fVxuICAgIDwvZGl2PlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIkNsb3NlKClcIiBjbGFzcz1cImZvcm0tY2F0LWNsb3NlIGZvcm0tYnV0dG9uLXJvdy1idXR0b25cIj5cbiAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Db21tb24sIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuQ2xvc2UpIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiT25TdWJtaXQoKVwiIGNsYXNzPVwiZm9ybS1jYXQtc3VibWl0IGZvcm0tYnV0dG9uLXJvdy1idXR0b25cIj5cbiAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Db21tb24sIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuU2VuZCkgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=
|