@arsedizioni/ars-utils 18.1.25 → 18.1.26
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/ui.application/ui/dialogs/prompt/prompt-dialog.component.mjs +3 -3
- package/esm2022/ui.application/ui/dialogs/select/select-dialog.component.mjs +3 -3
- package/esm2022/ui.application/ui/dialogs/select-file/select-file-dialog.component.mjs +3 -3
- package/esm2022/ui.application/ui/dialogs/select-picture/select-picture-dialog.component.mjs +3 -3
- package/esm2022/ui.application/ui/dialogs/select-tree/select-tree-dialog.component.mjs +3 -3
- package/esm2022/ui.application/ui/dialogs/send-to/send-to-dialog.component.mjs +3 -3
- package/fesm2022/arsedizioni-ars-utils-ui.application.mjs +12 -12
- package/fesm2022/arsedizioni-ars-utils-ui.application.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -44,15 +44,15 @@ export class SelectFileDialogComponent {
|
|
|
44
44
|
}, 500);
|
|
45
45
|
}
|
|
46
46
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: SelectFileDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
47
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: SelectFileDialogComponent, isStandalone: true, selector: "ng-component", outputs: { done: "done" }, host: { attributes: { "Bind": SystemUtils.generateUUID() } }, ngImport: i0, template: "<h2 mat-dialog-title>{{data.title}}</h2>\r\n@if (data.description) {\r\n<div style=\"padding: 0 24px 24px 24px\" [innerHtml]=\"data.description | safeHtml\"></div>\r\n}\r\n<div mat-dialog-content>\r\n <div fxLayout=\"column\" fxLayoutGap=\"32px\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"column\" fxLayoutAlign=\"center center\" fxFill>\r\n <div style=\"padding:20px; width:320px; border: 5px dotted #eee\">\r\n <div style=\"text-align: center\">\r\n <input #_file type=\"file\" [hidden]=\"true\" (change)=\"update($event)\" />\r\n <button type=\"button\" mat-button color=\"primary\" (click)=\"_file.click()\">Seleziona file...</button>\r\n </div>\r\n @if (file) {\r\n<div class=\"truncated\" style='width:100%; margin-top:30px; text-align: center'>\r\n <div class=\"small\"><i>{{file.name}}</i></div>\r\n <div class=\"small\">Dimensioni: <i>{{size(file.size)}}</i></div>\r\n </div>\r\n}\r\n </div>\r\n </div>\r\n @if (data.options) {\r\n<div>\r\n @for (o of data.options; track o; let i = $index) {\r\n <div>\r\n <mat-checkbox color=\"primary\" [(ngModel)]=\"o.value\" name=\"opt_{{i}}\">\r\n {{o.description}}\r\n </mat-checkbox>\r\n </div>\r\n}\r\n </div>\r\n}\r\n </div>\r\n</div>\r\n<div mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlex=\"50\">\r\n @if (data.helpLink) {\r\n<a mat-button href=\"{{data.helpLink}}\" target=\"_blank\"\r\n color=\"primary\">{{data.helpCaption}}</a>\r\n}\r\n </div>\r\n <div fxFlex=\"50\" fxLayoutAlign=\"end\">\r\n <button mat-flat-button color=\"primary\" (click)=\"ok()\" \r\n [disabled]=\"!file\">{{data.okCaption}}</button>\r\n <button mat-button [mat-dialog-close]=\"true\" color=\"primary\">ANNULLA</button>\r\n </div>\r\n </div>\r\n</div>", styles: ["
|
|
47
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: SelectFileDialogComponent, isStandalone: true, selector: "ng-component", outputs: { done: "done" }, host: { attributes: { "Bind": SystemUtils.generateUUID() } }, ngImport: i0, template: "<h2 mat-dialog-title>{{data.title}}</h2>\r\n@if (data.description) {\r\n<div style=\"padding: 0 24px 24px 24px\" [innerHtml]=\"data.description | safeHtml\"></div>\r\n}\r\n<div mat-dialog-content>\r\n <div fxLayout=\"column\" fxLayoutGap=\"32px\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"column\" fxLayoutAlign=\"center center\" fxFill>\r\n <div style=\"padding:20px; width:320px; border: 5px dotted #eee\">\r\n <div style=\"text-align: center\">\r\n <input #_file type=\"file\" [hidden]=\"true\" (change)=\"update($event)\" />\r\n <button type=\"button\" mat-button color=\"primary\" (click)=\"_file.click()\">Seleziona file...</button>\r\n </div>\r\n @if (file) {\r\n<div class=\"truncated\" style='width:100%; margin-top:30px; text-align: center'>\r\n <div class=\"small\"><i>{{file.name}}</i></div>\r\n <div class=\"small\">Dimensioni: <i>{{size(file.size)}}</i></div>\r\n </div>\r\n}\r\n </div>\r\n </div>\r\n @if (data.options) {\r\n<div>\r\n @for (o of data.options; track o; let i = $index) {\r\n <div>\r\n <mat-checkbox color=\"primary\" [(ngModel)]=\"o.value\" name=\"opt_{{i}}\">\r\n {{o.description}}\r\n </mat-checkbox>\r\n </div>\r\n}\r\n </div>\r\n}\r\n </div>\r\n</div>\r\n<div mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlex=\"50\">\r\n @if (data.helpLink) {\r\n<a mat-button href=\"{{data.helpLink}}\" target=\"_blank\"\r\n color=\"primary\">{{data.helpCaption}}</a>\r\n}\r\n </div>\r\n <div fxFlex=\"50\" fxLayoutAlign=\"end\">\r\n <button mat-flat-button color=\"primary\" (click)=\"ok()\" \r\n [disabled]=\"!file\">{{data.okCaption}}</button>\r\n <button mat-button [mat-dialog-close]=\"true\" color=\"primary\">ANNULLA</button>\r\n </div>\r\n </div>\r\n</div>", styles: ["html{--ars-dialog-info-error: #a80710;--ars-dilaog-info-warning: #FFA000;--ars-dialog-info-ok: #388E3C}@media (prefers-color-scheme: dark){html{--ars-dialog-info-error: #ff5449;--ars-dialog-info-warning: #FFC107;--ars-dialog-info-ok: #4CAF50}}.dialog-info{font-size:x-small;font-weight:700;text-align:right;margin:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-dialog-info-ok)}.dialog-info-red,.dialog-info-error{color:var(--ars-dialog-info-error)}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:500;padding-top:10px;padding-bottom:8px}b{font-weight:700}.large{font-size:large!important;line-height:18px!important}.small{font-size:small!important;line-height:16px!important}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px!important}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: FlexModule }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }] }); }
|
|
48
48
|
}
|
|
49
49
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: SelectFileDialogComponent, decorators: [{
|
|
50
50
|
type: Component,
|
|
51
|
-
args: [{ host: { 'Bind': SystemUtils.generateUUID() }, standalone: true, imports: [MatDialogTitle, MatDialogContent, FlexModule, MatButtonModule, MatCheckboxModule, FormsModule, MatDialogActions, MatDialogClose, SafeHtmlPipe], template: "<h2 mat-dialog-title>{{data.title}}</h2>\r\n@if (data.description) {\r\n<div style=\"padding: 0 24px 24px 24px\" [innerHtml]=\"data.description | safeHtml\"></div>\r\n}\r\n<div mat-dialog-content>\r\n <div fxLayout=\"column\" fxLayoutGap=\"32px\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"column\" fxLayoutAlign=\"center center\" fxFill>\r\n <div style=\"padding:20px; width:320px; border: 5px dotted #eee\">\r\n <div style=\"text-align: center\">\r\n <input #_file type=\"file\" [hidden]=\"true\" (change)=\"update($event)\" />\r\n <button type=\"button\" mat-button color=\"primary\" (click)=\"_file.click()\">Seleziona file...</button>\r\n </div>\r\n @if (file) {\r\n<div class=\"truncated\" style='width:100%; margin-top:30px; text-align: center'>\r\n <div class=\"small\"><i>{{file.name}}</i></div>\r\n <div class=\"small\">Dimensioni: <i>{{size(file.size)}}</i></div>\r\n </div>\r\n}\r\n </div>\r\n </div>\r\n @if (data.options) {\r\n<div>\r\n @for (o of data.options; track o; let i = $index) {\r\n <div>\r\n <mat-checkbox color=\"primary\" [(ngModel)]=\"o.value\" name=\"opt_{{i}}\">\r\n {{o.description}}\r\n </mat-checkbox>\r\n </div>\r\n}\r\n </div>\r\n}\r\n </div>\r\n</div>\r\n<div mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlex=\"50\">\r\n @if (data.helpLink) {\r\n<a mat-button href=\"{{data.helpLink}}\" target=\"_blank\"\r\n color=\"primary\">{{data.helpCaption}}</a>\r\n}\r\n </div>\r\n <div fxFlex=\"50\" fxLayoutAlign=\"end\">\r\n <button mat-flat-button color=\"primary\" (click)=\"ok()\" \r\n [disabled]=\"!file\">{{data.okCaption}}</button>\r\n <button mat-button [mat-dialog-close]=\"true\" color=\"primary\">ANNULLA</button>\r\n </div>\r\n </div>\r\n</div>", styles: ["
|
|
51
|
+
args: [{ host: { 'Bind': SystemUtils.generateUUID() }, standalone: true, imports: [MatDialogTitle, MatDialogContent, FlexModule, MatButtonModule, MatCheckboxModule, FormsModule, MatDialogActions, MatDialogClose, SafeHtmlPipe], template: "<h2 mat-dialog-title>{{data.title}}</h2>\r\n@if (data.description) {\r\n<div style=\"padding: 0 24px 24px 24px\" [innerHtml]=\"data.description | safeHtml\"></div>\r\n}\r\n<div mat-dialog-content>\r\n <div fxLayout=\"column\" fxLayoutGap=\"32px\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"column\" fxLayoutAlign=\"center center\" fxFill>\r\n <div style=\"padding:20px; width:320px; border: 5px dotted #eee\">\r\n <div style=\"text-align: center\">\r\n <input #_file type=\"file\" [hidden]=\"true\" (change)=\"update($event)\" />\r\n <button type=\"button\" mat-button color=\"primary\" (click)=\"_file.click()\">Seleziona file...</button>\r\n </div>\r\n @if (file) {\r\n<div class=\"truncated\" style='width:100%; margin-top:30px; text-align: center'>\r\n <div class=\"small\"><i>{{file.name}}</i></div>\r\n <div class=\"small\">Dimensioni: <i>{{size(file.size)}}</i></div>\r\n </div>\r\n}\r\n </div>\r\n </div>\r\n @if (data.options) {\r\n<div>\r\n @for (o of data.options; track o; let i = $index) {\r\n <div>\r\n <mat-checkbox color=\"primary\" [(ngModel)]=\"o.value\" name=\"opt_{{i}}\">\r\n {{o.description}}\r\n </mat-checkbox>\r\n </div>\r\n}\r\n </div>\r\n}\r\n </div>\r\n</div>\r\n<div mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlex=\"50\">\r\n @if (data.helpLink) {\r\n<a mat-button href=\"{{data.helpLink}}\" target=\"_blank\"\r\n color=\"primary\">{{data.helpCaption}}</a>\r\n}\r\n </div>\r\n <div fxFlex=\"50\" fxLayoutAlign=\"end\">\r\n <button mat-flat-button color=\"primary\" (click)=\"ok()\" \r\n [disabled]=\"!file\">{{data.okCaption}}</button>\r\n <button mat-button [mat-dialog-close]=\"true\" color=\"primary\">ANNULLA</button>\r\n </div>\r\n </div>\r\n</div>", styles: ["html{--ars-dialog-info-error: #a80710;--ars-dilaog-info-warning: #FFA000;--ars-dialog-info-ok: #388E3C}@media (prefers-color-scheme: dark){html{--ars-dialog-info-error: #ff5449;--ars-dialog-info-warning: #FFC107;--ars-dialog-info-ok: #4CAF50}}.dialog-info{font-size:x-small;font-weight:700;text-align:right;margin:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-dialog-info-ok)}.dialog-info-red,.dialog-info-error{color:var(--ars-dialog-info-error)}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:500;padding-top:10px;padding-bottom:8px}b{font-weight:700}.large{font-size:large!important;line-height:18px!important}.small{font-size:small!important;line-height:16px!important}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px!important}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
|
|
52
52
|
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
53
53
|
type: Inject,
|
|
54
54
|
args: [MAT_DIALOG_DATA]
|
|
55
55
|
}] }], propDecorators: { done: [{
|
|
56
56
|
type: Output
|
|
57
57
|
}] } });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZpbGUtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy91aS5hcHBsaWNhdGlvbi91aS9kaWFsb2dzL3NlbGVjdC1maWxlL3NlbGVjdC1maWxlLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvdWkuYXBwbGljYXRpb24vdWkvZGlhbG9ncy9zZWxlY3QtZmlsZS9zZWxlY3QtZmlsZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0ksT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7OztBQVN4RCxNQUFNLE9BQU8seUJBQXlCO0lBTXBDLFlBQ1UsU0FBa0QsRUFDakMsS0FBMkI7UUFENUMsY0FBUyxHQUFULFNBQVMsQ0FBeUM7UUFObEQsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFTOUMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUdEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxDQUFNO1FBQ1gsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLENBQUMsSUFBWTtRQUNmLE9BQU8sV0FBVyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxFQUFFO1FBQ0EsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN2QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7OEdBeENVLHlCQUF5Qiw4Q0FRMUIsZUFBZTtrR0FSZCx5QkFBeUIseUdBTnBCLFdBQVcsQ0FBQyxZQUFZLEVBQUUsOEJDWDVDLG0yREErQ00sd3dDRGhDTSxjQUFjLCtIQUFHLGdCQUFnQix3R0FBRSxVQUFVLHU2RUFBRSxlQUFlLHdZQUFHLGlCQUFpQiw2V0FBRSxXQUFXLCtWQUFFLGdCQUFnQiw0SEFBRSxjQUFjLGdMQUFFLFlBQVk7OzJGQUU5SSx5QkFBeUI7a0JBUHJDLFNBQVM7MkJBQ0YsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLFlBQVksRUFBRSxFQUFFLGNBR2hDLElBQUksV0FDUCxDQUFDLGNBQWMsRUFBRyxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFHLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsWUFBWSxDQUFDOzswQkFVdkosTUFBTTsyQkFBQyxlQUFlO3lDQVBmLElBQUk7c0JBQWIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nVGl0bGUsIE1hdERpYWxvZ0NvbnRlbnQsIE1hdERpYWxvZ0FjdGlvbnMsIE1hdERpYWxvZ0Nsb3NlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgU3lzdGVtVXRpbHMgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2NvcmUnO1xyXG5pbXBvcnQgeyBTZWxlY3RGaWxlLCBTZWxlY3RGaWxlRGlhbG9nRGF0YSB9IGZyb20gJy4uLy4uL2RlZmluaXRpb25zJztcclxuaW1wb3J0IHsgU2FmZUh0bWxQaXBlIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBGbGV4TW9kdWxlIH0gZnJvbSAnQG5nYnJhY2tldC9uZ3gtbGF5b3V0L2ZsZXgnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgaG9zdDogeyAnQmluZCc6IFN5c3RlbVV0aWxzLmdlbmVyYXRlVVVJRCgpIH0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1maWxlLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LWZpbGUtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTWF0RGlhbG9nVGl0bGUsICBNYXREaWFsb2dDb250ZW50LCBGbGV4TW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsICBNYXRDaGVja2JveE1vZHVsZSwgRm9ybXNNb2R1bGUsIE1hdERpYWxvZ0FjdGlvbnMsIE1hdERpYWxvZ0Nsb3NlLCBTYWZlSHRtbFBpcGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3RGaWxlRGlhbG9nQ29tcG9uZW50IHtcclxuICBAT3V0cHV0KCkgZG9uZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0RmlsZT4oKTtcclxuICBkYXRhOiBTZWxlY3RGaWxlRGlhbG9nRGF0YTtcclxuICBmaWxlOiBhbnk7XHJcbiAgZmlsZVByZXZpZXc6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFNlbGVjdEZpbGVEaWFsb2dDb21wb25lbnQ+LFxyXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIF9kYXRhOiBTZWxlY3RGaWxlRGlhbG9nRGF0YVxyXG4gICkge1xyXG4gICAgdGhpcy5kYXRhID0gX2RhdGE7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIHByZXZpZXdcclxuICAgKiBAcGFyYW0gZSA6IHRoZSBldmVudFxyXG4gICAqL1xyXG4gIHVwZGF0ZShlOiBhbnkpIHtcclxuICAgIGlmIChlLnRhcmdldC5maWxlcykge1xyXG4gICAgICB0aGlzLmZpbGUgPSBlLnRhcmdldC5maWxlc1swXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZvcm1hdCBzaXplXHJcbiAgICogQHBhcmFtIHNpemUgdGhlIGZpbGUgc2l6ZVxyXG4gICAqL1xyXG4gIHNpemUoc2l6ZTogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gU3lzdGVtVXRpbHMuZm9ybWF0RmlsZVNpemUoc2l6ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdWJtaXQgc2VsZWN0aW9uXHJcbiAgICovXHJcbiAgb2soKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuZG9uZS5lbWl0KHsgZmlsZTogdGhpcy5maWxlLCBvcHRpb25zOiB0aGlzLmRhdGEub3B0aW9ucyB9KTtcclxuICAgIH0sIDUwMCk7XHJcbiAgfVxyXG59XHJcblxyXG4iLCI8aDIgbWF0LWRpYWxvZy10aXRsZT57e2RhdGEudGl0bGV9fTwvaDI+XHJcbkBpZiAoZGF0YS5kZXNjcmlwdGlvbikge1xyXG48ZGl2IHN0eWxlPVwicGFkZGluZzogMCAyNHB4IDI0cHggMjRweFwiIFtpbm5lckh0bWxdPVwiZGF0YS5kZXNjcmlwdGlvbiB8IHNhZmVIdG1sXCI+PC9kaXY+XHJcbn1cclxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0R2FwPVwiMzJweFwiIGZ4RmlsbD5cclxuICAgIDxkaXYgZnhGbGV4PVwiKlwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBmeEZpbGw+XHJcbiAgICAgIDxkaXYgc3R5bGU9XCJwYWRkaW5nOjIwcHg7IHdpZHRoOjMyMHB4OyBib3JkZXI6IDVweCBkb3R0ZWQgI2VlZVwiPlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj5cclxuICAgICAgICAgIDxpbnB1dCAjX2ZpbGUgdHlwZT1cImZpbGVcIiBbaGlkZGVuXT1cInRydWVcIiAoY2hhbmdlKT1cInVwZGF0ZSgkZXZlbnQpXCIgLz5cclxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cIl9maWxlLmNsaWNrKClcIj5TZWxlemlvbmEgZmlsZS4uLjwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIEBpZiAoZmlsZSkge1xyXG48ZGl2IGNsYXNzPVwidHJ1bmNhdGVkXCIgc3R5bGU9J3dpZHRoOjEwMCU7IG1hcmdpbi10b3A6MzBweDsgdGV4dC1hbGlnbjogY2VudGVyJz5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbWFsbFwiPjxpPnt7ZmlsZS5uYW1lfX08L2k+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic21hbGxcIj5EaW1lbnNpb25pOiA8aT57e3NpemUoZmlsZS5zaXplKX19PC9pPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG59XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICBAaWYgKGRhdGEub3B0aW9ucykge1xyXG48ZGl2PlxyXG4gICAgICBAZm9yIChvIG9mIGRhdGEub3B0aW9uczsgdHJhY2sgbzsgbGV0IGkgPSAkaW5kZXgpIHtcclxuICA8ZGl2PlxyXG4gICAgICAgIDxtYXQtY2hlY2tib3ggY29sb3I9XCJwcmltYXJ5XCIgWyhuZ01vZGVsKV09XCJvLnZhbHVlXCIgbmFtZT1cIm9wdF97e2l9fVwiPlxyXG4gICAgICAgICAge3tvLmRlc2NyaXB0aW9ufX1cclxuICAgICAgICA8L21hdC1jaGVja2JveD5cclxuICAgICAgPC9kaXY+XHJcbn1cclxuICAgIDwvZGl2PlxyXG59XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucz5cclxuICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRHYXA9XCIxMHB4XCIgZnhGaWxsPlxyXG4gICAgPGRpdiBmeEZsZXg9XCI1MFwiPlxyXG4gICAgICBAaWYgKGRhdGEuaGVscExpbmspIHtcclxuPGEgbWF0LWJ1dHRvbiBocmVmPVwie3tkYXRhLmhlbHBMaW5rfX1cIiB0YXJnZXQ9XCJfYmxhbmtcIlxyXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiPnt7ZGF0YS5oZWxwQ2FwdGlvbn19PC9hPlxyXG59XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgZnhGbGV4PVwiNTBcIiBmeExheW91dEFsaWduPVwiZW5kXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJvaygpXCIgXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFmaWxlXCI+e3tkYXRhLm9rQ2FwdGlvbn19PC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0LWRpYWxvZy1jbG9zZV09XCJ0cnVlXCIgY29sb3I9XCJwcmltYXJ5XCI+QU5OVUxMQTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
package/esm2022/ui.application/ui/dialogs/select-picture/select-picture-dialog.component.mjs
CHANGED
|
@@ -49,15 +49,15 @@ export class SelectPictureDialogComponent {
|
|
|
49
49
|
}, 500);
|
|
50
50
|
}
|
|
51
51
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: SelectPictureDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
52
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: SelectPictureDialogComponent, isStandalone: true, selector: "ng-component", outputs: { done: "done" }, host: { attributes: { "Bind": SystemUtils.generateUUID() } }, ngImport: i0, template: "<h2 mat-dialog-title>{{data.title}}</h2>\r\n@if (data.description) {\r\n<div style=\"padding: 0 24px 24px 24px\"\r\n [innerHtml]=\"data.description | safeHtml\"></div>\r\n}\r\n<div mat-dialog-content>\r\n <div fxLayout=\"column\" fxLayoutGap=\"32px\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"column\" fxLayoutAlign=\"center center\" fxFill>\r\n <input #_file type=\"file\" [hidden]=\"true\" accept=\"image/*\" (change)=\"update($event)\" />\r\n <button type=\"button\" mat-button color=\"primary\" (click)=\"_file.click()\">Seleziona file...</button>\r\n @if (file) {\r\n<div style='margin-top:30px; text-align: center'>\r\n <img [src]=\"filePreview\" style=\"max-height:300px; max-width:300px\"><br />\r\n <span class=\"small truncated\"><i>{{file.name}}</i></span>\r\n <div><span class=\"small truncated\">Dimensioni: <i>{{size(file.size)}}</i></span></div>\r\n </div>\r\n}\r\n </div>\r\n @if (data.options) {\r\n<div>\r\n @for (o of data.options; track o; let i = $index) {\r\n <div>\r\n <mat-checkbox color=\"primary\" [(ngModel)]=\"o.value\" name=\"opt_{{i}}\">\r\n {{o.description}}\r\n </mat-checkbox>\r\n </div>\r\n}\r\n </div>\r\n}\r\n </div>\r\n</div>\r\n<div mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxFill>\r\n <button mat-flat-button (click)=\"ok()\" color=\"primary\" \r\n [disabled]=\"!file\">{{data.okCaption}}</button>\r\n <button mat-button mat-dialog-close cdkFocusInitial \r\n color=\"primary\">ANNULLA</button>\r\n </div>\r\n</div>", styles: ["
|
|
52
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: SelectPictureDialogComponent, isStandalone: true, selector: "ng-component", outputs: { done: "done" }, host: { attributes: { "Bind": SystemUtils.generateUUID() } }, ngImport: i0, template: "<h2 mat-dialog-title>{{data.title}}</h2>\r\n@if (data.description) {\r\n<div style=\"padding: 0 24px 24px 24px\"\r\n [innerHtml]=\"data.description | safeHtml\"></div>\r\n}\r\n<div mat-dialog-content>\r\n <div fxLayout=\"column\" fxLayoutGap=\"32px\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"column\" fxLayoutAlign=\"center center\" fxFill>\r\n <input #_file type=\"file\" [hidden]=\"true\" accept=\"image/*\" (change)=\"update($event)\" />\r\n <button type=\"button\" mat-button color=\"primary\" (click)=\"_file.click()\">Seleziona file...</button>\r\n @if (file) {\r\n<div style='margin-top:30px; text-align: center'>\r\n <img [src]=\"filePreview\" style=\"max-height:300px; max-width:300px\"><br />\r\n <span class=\"small truncated\"><i>{{file.name}}</i></span>\r\n <div><span class=\"small truncated\">Dimensioni: <i>{{size(file.size)}}</i></span></div>\r\n </div>\r\n}\r\n </div>\r\n @if (data.options) {\r\n<div>\r\n @for (o of data.options; track o; let i = $index) {\r\n <div>\r\n <mat-checkbox color=\"primary\" [(ngModel)]=\"o.value\" name=\"opt_{{i}}\">\r\n {{o.description}}\r\n </mat-checkbox>\r\n </div>\r\n}\r\n </div>\r\n}\r\n </div>\r\n</div>\r\n<div mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxFill>\r\n <button mat-flat-button (click)=\"ok()\" color=\"primary\" \r\n [disabled]=\"!file\">{{data.okCaption}}</button>\r\n <button mat-button mat-dialog-close cdkFocusInitial \r\n color=\"primary\">ANNULLA</button>\r\n </div>\r\n</div>", styles: ["html{--ars-dialog-info-error: #a80710;--ars-dilaog-info-warning: #FFA000;--ars-dialog-info-ok: #388E3C}@media (prefers-color-scheme: dark){html{--ars-dialog-info-error: #ff5449;--ars-dialog-info-warning: #FFC107;--ars-dialog-info-ok: #4CAF50}}.dialog-info{font-size:x-small;font-weight:700;text-align:right;margin:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-dialog-info-ok)}.dialog-info-red,.dialog-info-error{color:var(--ars-dialog-info-error)}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:500;padding-top:10px;padding-bottom:8px}b{font-weight:700}.large{font-size:large!important;line-height:18px!important}.small{font-size:small!important;line-height:16px!important}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px!important}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: FlexModule }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }] }); }
|
|
53
53
|
}
|
|
54
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: SelectPictureDialogComponent, decorators: [{
|
|
55
55
|
type: Component,
|
|
56
|
-
args: [{ host: { 'Bind': SystemUtils.generateUUID() }, standalone: true, imports: [MatDialogTitle, MatDialogContent, FlexModule, MatButtonModule, MatCheckboxModule, FormsModule, MatDialogActions, MatDialogClose, SafeHtmlPipe], template: "<h2 mat-dialog-title>{{data.title}}</h2>\r\n@if (data.description) {\r\n<div style=\"padding: 0 24px 24px 24px\"\r\n [innerHtml]=\"data.description | safeHtml\"></div>\r\n}\r\n<div mat-dialog-content>\r\n <div fxLayout=\"column\" fxLayoutGap=\"32px\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"column\" fxLayoutAlign=\"center center\" fxFill>\r\n <input #_file type=\"file\" [hidden]=\"true\" accept=\"image/*\" (change)=\"update($event)\" />\r\n <button type=\"button\" mat-button color=\"primary\" (click)=\"_file.click()\">Seleziona file...</button>\r\n @if (file) {\r\n<div style='margin-top:30px; text-align: center'>\r\n <img [src]=\"filePreview\" style=\"max-height:300px; max-width:300px\"><br />\r\n <span class=\"small truncated\"><i>{{file.name}}</i></span>\r\n <div><span class=\"small truncated\">Dimensioni: <i>{{size(file.size)}}</i></span></div>\r\n </div>\r\n}\r\n </div>\r\n @if (data.options) {\r\n<div>\r\n @for (o of data.options; track o; let i = $index) {\r\n <div>\r\n <mat-checkbox color=\"primary\" [(ngModel)]=\"o.value\" name=\"opt_{{i}}\">\r\n {{o.description}}\r\n </mat-checkbox>\r\n </div>\r\n}\r\n </div>\r\n}\r\n </div>\r\n</div>\r\n<div mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxFill>\r\n <button mat-flat-button (click)=\"ok()\" color=\"primary\" \r\n [disabled]=\"!file\">{{data.okCaption}}</button>\r\n <button mat-button mat-dialog-close cdkFocusInitial \r\n color=\"primary\">ANNULLA</button>\r\n </div>\r\n</div>", styles: ["
|
|
56
|
+
args: [{ host: { 'Bind': SystemUtils.generateUUID() }, standalone: true, imports: [MatDialogTitle, MatDialogContent, FlexModule, MatButtonModule, MatCheckboxModule, FormsModule, MatDialogActions, MatDialogClose, SafeHtmlPipe], template: "<h2 mat-dialog-title>{{data.title}}</h2>\r\n@if (data.description) {\r\n<div style=\"padding: 0 24px 24px 24px\"\r\n [innerHtml]=\"data.description | safeHtml\"></div>\r\n}\r\n<div mat-dialog-content>\r\n <div fxLayout=\"column\" fxLayoutGap=\"32px\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"column\" fxLayoutAlign=\"center center\" fxFill>\r\n <input #_file type=\"file\" [hidden]=\"true\" accept=\"image/*\" (change)=\"update($event)\" />\r\n <button type=\"button\" mat-button color=\"primary\" (click)=\"_file.click()\">Seleziona file...</button>\r\n @if (file) {\r\n<div style='margin-top:30px; text-align: center'>\r\n <img [src]=\"filePreview\" style=\"max-height:300px; max-width:300px\"><br />\r\n <span class=\"small truncated\"><i>{{file.name}}</i></span>\r\n <div><span class=\"small truncated\">Dimensioni: <i>{{size(file.size)}}</i></span></div>\r\n </div>\r\n}\r\n </div>\r\n @if (data.options) {\r\n<div>\r\n @for (o of data.options; track o; let i = $index) {\r\n <div>\r\n <mat-checkbox color=\"primary\" [(ngModel)]=\"o.value\" name=\"opt_{{i}}\">\r\n {{o.description}}\r\n </mat-checkbox>\r\n </div>\r\n}\r\n </div>\r\n}\r\n </div>\r\n</div>\r\n<div mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxFill>\r\n <button mat-flat-button (click)=\"ok()\" color=\"primary\" \r\n [disabled]=\"!file\">{{data.okCaption}}</button>\r\n <button mat-button mat-dialog-close cdkFocusInitial \r\n color=\"primary\">ANNULLA</button>\r\n </div>\r\n</div>", styles: ["html{--ars-dialog-info-error: #a80710;--ars-dilaog-info-warning: #FFA000;--ars-dialog-info-ok: #388E3C}@media (prefers-color-scheme: dark){html{--ars-dialog-info-error: #ff5449;--ars-dialog-info-warning: #FFC107;--ars-dialog-info-ok: #4CAF50}}.dialog-info{font-size:x-small;font-weight:700;text-align:right;margin:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-dialog-info-ok)}.dialog-info-red,.dialog-info-error{color:var(--ars-dialog-info-error)}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:500;padding-top:10px;padding-bottom:8px}b{font-weight:700}.large{font-size:large!important;line-height:18px!important}.small{font-size:small!important;line-height:16px!important}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px!important}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
|
|
57
57
|
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
58
58
|
type: Inject,
|
|
59
59
|
args: [MAT_DIALOG_DATA]
|
|
60
60
|
}] }], propDecorators: { done: [{
|
|
61
61
|
type: Output
|
|
62
62
|
}] } });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXBpY3R1cmUtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy91aS5hcHBsaWNhdGlvbi91aS9kaWFsb2dzL3NlbGVjdC1waWN0dXJlL3NlbGVjdC1waWN0dXJlLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvdWkuYXBwbGljYXRpb24vdWkvZGlhbG9ncy9zZWxlY3QtcGljdHVyZS9zZWxlY3QtcGljdHVyZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0ksT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7OztBQVV4RCxNQUFNLE9BQU8sNEJBQTRCO0lBUXZDLFlBQ1UsU0FBcUQsRUFDcEMsS0FBMkI7UUFENUMsY0FBUyxHQUFULFNBQVMsQ0FBNEM7UUFSckQsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFXOUMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUdEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxDQUFNO1FBQ1gsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNoQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBTyxFQUFFLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUksRUFBRSxDQUFDLE1BQXFCLENBQUMsTUFBTSxDQUFDO1lBQ3RELENBQUMsQ0FBQztZQUNGLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksQ0FBQyxJQUFZO1FBQ2YsT0FBTyxXQUFXLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNILEVBQUU7UUFDQSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbEUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQzs4R0EvQ1UsNEJBQTRCLDhDQVU3QixlQUFlO2tHQVZkLDRCQUE0Qix5R0FOdkIsV0FBVyxDQUFDLFlBQVksRUFBRSw4QkNaNUMscWpEQXNDTSx3d0NEdEJNLGNBQWMsK0hBQUcsZ0JBQWdCLHdHQUFFLFVBQVUsdTZFQUFFLGVBQWUsMk5BQUcsaUJBQWlCLDZXQUFFLFdBQVcsK1ZBQUUsZ0JBQWdCLDRIQUFFLGNBQWMsZ0xBQUUsWUFBWTs7MkZBRTlJLDRCQUE0QjtrQkFQeEMsU0FBUzsyQkFDRixFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsWUFBWSxFQUFFLEVBQUUsY0FHaEMsSUFBSSxXQUNQLENBQUMsY0FBYyxFQUFHLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUcsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxZQUFZLENBQUM7OzBCQVl2SixNQUFNOzJCQUFDLGVBQWU7eUNBVGYsSUFBSTtzQkFBYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dUaXRsZSwgTWF0RGlhbG9nQ29udGVudCwgTWF0RGlhbG9nQWN0aW9ucywgTWF0RGlhbG9nQ2xvc2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBTeXN0ZW1VdGlscyB9IGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvY29yZSc7XHJcbmltcG9ydCB7IFNlbGVjdEZpbGUsIFNlbGVjdEZpbGVEaWFsb2dEYXRhIH0gZnJvbSAnLi4vLi4vZGVmaW5pdGlvbnMnO1xyXG5pbXBvcnQgeyBTYWZlSHRtbFBpcGUgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IEZsZXhNb2R1bGUgfSBmcm9tICdAbmdicmFja2V0L25neC1sYXlvdXQvZmxleCc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgaG9zdDogeyAnQmluZCc6IFN5c3RlbVV0aWxzLmdlbmVyYXRlVVVJRCgpIH0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1waWN0dXJlLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LXBpY3R1cmUtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTWF0RGlhbG9nVGl0bGUsICBNYXREaWFsb2dDb250ZW50LCBGbGV4TW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsICBNYXRDaGVja2JveE1vZHVsZSwgRm9ybXNNb2R1bGUsIE1hdERpYWxvZ0FjdGlvbnMsIE1hdERpYWxvZ0Nsb3NlLCBTYWZlSHRtbFBpcGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3RQaWN0dXJlRGlhbG9nQ29tcG9uZW50IHtcclxuICBAT3V0cHV0KCkgZG9uZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0RmlsZT4oKTtcclxuXHJcbiAgZGF0YTogU2VsZWN0RmlsZURpYWxvZ0RhdGE7XHJcblxyXG4gIGZpbGU6IGFueTtcclxuICBmaWxlUHJldmlldzogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8U2VsZWN0UGljdHVyZURpYWxvZ0NvbXBvbmVudD4sXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgX2RhdGE6IFNlbGVjdEZpbGVEaWFsb2dEYXRhXHJcbiAgKSB7XHJcbiAgICB0aGlzLmRhdGEgPSBfZGF0YTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgcHJldmlld1xyXG4gICAqIEBwYXJhbSBlIDogdGhlIGV2ZW50XHJcbiAgICovXHJcbiAgdXBkYXRlKGU6IGFueSkge1xyXG4gICAgaWYgKGUudGFyZ2V0LmZpbGVzKSB7XHJcbiAgICAgIHRoaXMuZmlsZSA9IGUudGFyZ2V0LmZpbGVzWzBdO1xyXG4gICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICByZWFkZXIub25sb2FkID0gKF9lOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmZpbGVQcmV2aWV3ID0gKF9lLnRhcmdldCBhcyBGaWxlUmVhZGVyKS5yZXN1bHQ7XHJcbiAgICAgIH07XHJcbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGUudGFyZ2V0LmZpbGVzWzBdKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZvcm1hdCBzaXplXHJcbiAgICogQHBhcmFtIHNpemUgdGhlIGZpbGUgc2l6ZVxyXG4gICAqL1xyXG4gIHNpemUoc2l6ZTogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gU3lzdGVtVXRpbHMuZm9ybWF0RmlsZVNpemUoc2l6ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdWJtaXQgc2VsZWN0aW9uXHJcbiAgICovXHJcbiAgb2soKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuZG9uZS5lbWl0KHsgZmlsZTogdGhpcy5maWxlLCBvcHRpb25zOiB0aGlzLmRhdGEub3B0aW9ucyB9KTtcclxuICAgIH0sIDUwMCk7XHJcbiAgfVxyXG59XHJcblxyXG4iLCI8aDIgbWF0LWRpYWxvZy10aXRsZT57e2RhdGEudGl0bGV9fTwvaDI+XHJcbkBpZiAoZGF0YS5kZXNjcmlwdGlvbikge1xyXG48ZGl2IHN0eWxlPVwicGFkZGluZzogMCAyNHB4IDI0cHggMjRweFwiXHJcbiAgW2lubmVySHRtbF09XCJkYXRhLmRlc2NyaXB0aW9uIHwgc2FmZUh0bWxcIj48L2Rpdj5cclxufVxyXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cclxuICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRHYXA9XCIzMnB4XCIgZnhGaWxsPlxyXG4gICAgPGRpdiBmeEZsZXg9XCIqXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGZ4RmlsbD5cclxuICAgICAgPGlucHV0ICNfZmlsZSB0eXBlPVwiZmlsZVwiIFtoaWRkZW5dPVwidHJ1ZVwiIGFjY2VwdD1cImltYWdlLypcIiAoY2hhbmdlKT1cInVwZGF0ZSgkZXZlbnQpXCIgLz5cclxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiX2ZpbGUuY2xpY2soKVwiPlNlbGV6aW9uYSBmaWxlLi4uPC9idXR0b24+XHJcbiAgICAgIEBpZiAoZmlsZSkge1xyXG48ZGl2IHN0eWxlPSdtYXJnaW4tdG9wOjMwcHg7IHRleHQtYWxpZ246IGNlbnRlcic+XHJcbiAgICAgICAgPGltZyBbc3JjXT1cImZpbGVQcmV2aWV3XCIgc3R5bGU9XCJtYXgtaGVpZ2h0OjMwMHB4OyBtYXgtd2lkdGg6MzAwcHhcIj48YnIgLz5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInNtYWxsIHRydW5jYXRlZFwiPjxpPnt7ZmlsZS5uYW1lfX08L2k+PC9zcGFuPlxyXG4gICAgICAgIDxkaXY+PHNwYW4gY2xhc3M9XCJzbWFsbCB0cnVuY2F0ZWRcIj5EaW1lbnNpb25pOiA8aT57e3NpemUoZmlsZS5zaXplKX19PC9pPjwvc3Bhbj48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbn1cclxuICAgIDwvZGl2PlxyXG4gICAgQGlmIChkYXRhLm9wdGlvbnMpIHtcclxuPGRpdj5cclxuICAgICAgQGZvciAobyBvZiBkYXRhLm9wdGlvbnM7IHRyYWNrIG87IGxldCBpID0gJGluZGV4KSB7XHJcbiAgPGRpdj5cclxuICAgICAgICA8bWF0LWNoZWNrYm94IGNvbG9yPVwicHJpbWFyeVwiIFsobmdNb2RlbCldPVwiby52YWx1ZVwiIG5hbWU9XCJvcHRfe3tpfX1cIj5cclxuICAgICAgICAgIHt7by5kZXNjcmlwdGlvbn19XHJcbiAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgIDwvZGl2PlxyXG59XHJcbiAgICA8L2Rpdj5cclxufVxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJlbmRcIiBmeEZpbGw+XHJcbiAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiAoY2xpY2spPVwib2soKVwiIGNvbG9yPVwicHJpbWFyeVwiIFxyXG4gICAgICBbZGlzYWJsZWRdPVwiIWZpbGVcIj57e2RhdGEub2tDYXB0aW9ufX08L2J1dHRvbj5cclxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBtYXQtZGlhbG9nLWNsb3NlIGNka0ZvY3VzSW5pdGlhbCBcclxuICAgICAgY29sb3I9XCJwcmltYXJ5XCI+QU5OVUxMQTwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
@@ -259,15 +259,15 @@ export class SelectTreeDialogComponent {
|
|
|
259
259
|
return false;
|
|
260
260
|
}
|
|
261
261
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: SelectTreeDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: TreeDataSource }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
262
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: SelectTreeDialogComponent, isStandalone: true, selector: "ng-component", outputs: { done: "done" }, host: { attributes: { "Bind": SystemUtils.generateUUID() } }, providers: [TreeDataSource], ngImport: i0, template: "<h2 mat-dialog-title (keyup.ArrowDown)=\"nextFiltered()\">{{data.title}}</h2>\r\n<div style=\"padding: 0 24px\">\r\n @if (data.description) {\r\n <div [innerHtml]=\"data.description | safeHtml\"></div>\r\n }\r\n <div>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlex=\"50\">\r\n <mat-form-field style=\"width:100%\" [appearance]=\"data.appearance\" subscriptSizing=\"dynamic\" >\r\n <mat-label>Cerca...</mat-label>\r\n <input type=\"text\" cdkFocusInitial (keyup)=\"doFilter()\" matInput title=\"Digita il testo'\"\r\n [(ngModel)]=\"filterText\">\r\n @if (filterText) {\r\n <button type=\"button\" type=\"button\" tabindex=\"-1\" matSuffix mat-icon-button aria-label=\"Clear\"\r\n (click)=\"clearFilter()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n </mat-form-field>\r\n </div>\r\n @if (filteredItems.length > 0) {\r\n <div fxFlex=\"50px\" fxLayoutAlign=\"end\">\r\n <div fxFlexAlign=\"center\" style='font-size: x-small'>{{filterIndex + 1}} / {{filteredItems.length}}</div>\r\n </div>\r\n }\r\n <div fxFlex=\"50\" fxLayoutAlign=\"end\" style=\"white-space:nowrap\">\r\n <div fxFlexAlign=\"center\">\r\n @if (filteredItems.length > 0) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button color=\"primary\" (click)=\"nextFiltered()\">\r\n <mat-icon aria-label=\"Vai al prossimo\" matTooltip=\"Vai al prossimo\">arrow_downward</mat-icon>\r\n </button>\r\n }\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button color=\"primary\" (click)=\"treeControl.collapseAll()\">\r\n <mat-icon aria-label=\"Comprimi tutto\" matTooltip=\"Comprimi tutto\">unfold_less</mat-icon>\r\n </button>\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button color=\"primary\" (click)=\"treeControl.expandAll()\">\r\n <mat-icon aria-label=\"Espandi tutto\" matTooltip=\"Espandi tutto\">unfold_more</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div mat-dialog-content>\r\n <div fxLayout=\"column\" fxFill>\r\n <mat-tree [dataSource]=\"treeData\" [treeControl]=\"treeControl\" class=\"scrollable-content\">\r\n <mat-tree-node [id]=\"node.id\" *matTreeNodeDef=\"let node\" matTreeNodeToggle matTreeNodePadding\r\n [matTreeNodePaddingIndent]=\"20\" class=\"tree-node tree-node-simple\" (click)=\"select($event, node);\"\r\n [ngClass]=\"{'tree-node-activated': currentNode && currentNode.id === node.id}\" [disabled]=\"busy\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"5px\" fxFill class=\"small\">\r\n <button type=\"button\" mat-icon-button disabled class=\"small-icon-button\"></button>\r\n <div fxFlex=\"*\" fxFlexAlign=\"center\" style=\"text-transform:uppercase; \">\r\n {{node.name}}\r\n </div>\r\n <div fxFlex=\"30px\" fxFlexAlign=\"center\">\r\n @if (node.count > 0) {\r\n <span fxLayoutAlign=\"end\">({{node.count}})</span>\r\n }\r\n </div>\r\n </div>\r\n </mat-tree-node>\r\n\r\n <mat-tree-node [id]=\"node.id\" *matTreeNodeDef=\"let node;when: hasChild\" matTreeNodePadding\r\n [matTreeNodePaddingIndent]=\"20\" class=\"tree-node tree-node-simple\"\r\n [ngClass]=\"{'tree-node-activated': currentNode && currentNode.id === node.id }\" (click)=\"select($event, node);\"\r\n [disabled]=\"busy\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"5px\" fxFill class=\"small\">\r\n <div fxFlex=\"30px\" fxFlexAlign=\"center\">\r\n <button type=\"button\" mat-icon-button matTreeNodeToggle [attr.aria-label]=\"'Apri/chiudi ' + node.name\"\r\n class=\"small-icon-button\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">\r\n {{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}\r\n </mat-icon>\r\n </button>\r\n </div>\r\n <div fxFlex=\"*\" fxFlexAlign=\"center\" style=\"text-transform:uppercase; \" class=\"truncated\">\r\n <div>\r\n {{node.name}}\r\n </div>\r\n </div>\r\n <div fxFlex=\"30px\" fxFlexAlign=\"center\">\r\n @if (node.count > 0) {\r\n <div fxLayoutAlign=\"end\">({{node.count}})</div>\r\n }\r\n </div>\r\n </div>\r\n </mat-tree-node>\r\n </mat-tree>\r\n </div>\r\n</div>\r\n<div mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxFill>\r\n <button mat-flat-button color=\"primary\" (click)=\"ok()\" \r\n [disabled]=\"!currentNode\">{{data.okCaption}}</button>\r\n <button mat-button mat-dialog-close cdkFocusInitial \r\n color=\"primary\">ANNULLA</button>\r\n </div>\r\n</div>", styles: [":root{--ars-dialog-info-error: #a80710;--ars-dilaog-info-warning: #FFA000;--ars-dialog-info-ok: #388E3C}@media (prefers-color-scheme: dark){:root{--ars-dialog-info-error: #ff5449;--ars-dialog-info-warning: #FFC107;--ars-dialog-info-ok: #4CAF50}}.dialog-info{font-size:x-small;text-align:right;margin:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-dialog-info-ok)}.dialog-info-red,.dialog-info-error{color:var(--ars-dialog-info-error)}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:500;padding-top:10px;padding-bottom:8px}b{font-weight:700}.large{font-size:large!important;line-height:18px!important}.small{font-size:small!important;line-height:16px!important}.x-small{font-size:x-small!important;line-height:14px!important}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree{overflow-x:hidden}.tree-node{min-height:31px!important;padding-right:0;margin-right:0}.tree-node:hover{cursor:pointer}.tree-node-simple,.tree-node-simple>div{min-height:31px!important}.tree-node-activated,.tree-node-activated>div{min-height:31px!important;font-weight:500!important}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}\n"], dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "ngmodule", type: FlexModule }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i2.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatTreeModule }, { kind: "directive", type: i9.MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { kind: "directive", type: i9.MatTreeNodePadding, selector: "[matTreeNodePadding]", inputs: ["matTreeNodePadding", "matTreeNodePaddingIndent"] }, { kind: "directive", type: i9.MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }, { kind: "component", type: i9.MatTree, selector: "mat-tree", exportAs: ["matTree"] }, { kind: "directive", type: i9.MatTreeNode, selector: "mat-tree-node", inputs: ["disabled", "tabIndex"], exportAs: ["matTreeNode"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ExtendedModule }, { kind: "directive", type: i10.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }] }); }
|
|
262
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: SelectTreeDialogComponent, isStandalone: true, selector: "ng-component", outputs: { done: "done" }, host: { attributes: { "Bind": SystemUtils.generateUUID() } }, providers: [TreeDataSource], ngImport: i0, template: "<h2 mat-dialog-title (keyup.ArrowDown)=\"nextFiltered()\">{{data.title}}</h2>\r\n<div style=\"padding: 0 24px\">\r\n @if (data.description) {\r\n <div [innerHtml]=\"data.description | safeHtml\"></div>\r\n }\r\n <div>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlex=\"50\">\r\n <mat-form-field style=\"width:100%\" [appearance]=\"data.appearance\" subscriptSizing=\"dynamic\" >\r\n <mat-label>Cerca...</mat-label>\r\n <input type=\"text\" cdkFocusInitial (keyup)=\"doFilter()\" matInput title=\"Digita il testo'\"\r\n [(ngModel)]=\"filterText\">\r\n @if (filterText) {\r\n <button type=\"button\" type=\"button\" tabindex=\"-1\" matSuffix mat-icon-button aria-label=\"Clear\"\r\n (click)=\"clearFilter()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n </mat-form-field>\r\n </div>\r\n @if (filteredItems.length > 0) {\r\n <div fxFlex=\"50px\" fxLayoutAlign=\"end\">\r\n <div fxFlexAlign=\"center\" style='font-size: x-small'>{{filterIndex + 1}} / {{filteredItems.length}}</div>\r\n </div>\r\n }\r\n <div fxFlex=\"50\" fxLayoutAlign=\"end\" style=\"white-space:nowrap\">\r\n <div fxFlexAlign=\"center\">\r\n @if (filteredItems.length > 0) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button color=\"primary\" (click)=\"nextFiltered()\">\r\n <mat-icon aria-label=\"Vai al prossimo\" matTooltip=\"Vai al prossimo\">arrow_downward</mat-icon>\r\n </button>\r\n }\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button color=\"primary\" (click)=\"treeControl.collapseAll()\">\r\n <mat-icon aria-label=\"Comprimi tutto\" matTooltip=\"Comprimi tutto\">unfold_less</mat-icon>\r\n </button>\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button color=\"primary\" (click)=\"treeControl.expandAll()\">\r\n <mat-icon aria-label=\"Espandi tutto\" matTooltip=\"Espandi tutto\">unfold_more</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div mat-dialog-content>\r\n <div fxLayout=\"column\" fxFill>\r\n <mat-tree [dataSource]=\"treeData\" [treeControl]=\"treeControl\" class=\"scrollable-content\">\r\n <mat-tree-node [id]=\"node.id\" *matTreeNodeDef=\"let node\" matTreeNodeToggle matTreeNodePadding\r\n [matTreeNodePaddingIndent]=\"20\" class=\"tree-node tree-node-simple\" (click)=\"select($event, node);\"\r\n [ngClass]=\"{'tree-node-activated': currentNode && currentNode.id === node.id}\" [disabled]=\"busy\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"5px\" fxFill class=\"small\">\r\n <button type=\"button\" mat-icon-button disabled class=\"small-icon-button\"></button>\r\n <div fxFlex=\"*\" fxFlexAlign=\"center\" style=\"text-transform:uppercase; \">\r\n {{node.name}}\r\n </div>\r\n <div fxFlex=\"30px\" fxFlexAlign=\"center\">\r\n @if (node.count > 0) {\r\n <span fxLayoutAlign=\"end\">({{node.count}})</span>\r\n }\r\n </div>\r\n </div>\r\n </mat-tree-node>\r\n\r\n <mat-tree-node [id]=\"node.id\" *matTreeNodeDef=\"let node;when: hasChild\" matTreeNodePadding\r\n [matTreeNodePaddingIndent]=\"20\" class=\"tree-node tree-node-simple\"\r\n [ngClass]=\"{'tree-node-activated': currentNode && currentNode.id === node.id }\" (click)=\"select($event, node);\"\r\n [disabled]=\"busy\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"5px\" fxFill class=\"small\">\r\n <div fxFlex=\"30px\" fxFlexAlign=\"center\">\r\n <button type=\"button\" mat-icon-button matTreeNodeToggle [attr.aria-label]=\"'Apri/chiudi ' + node.name\"\r\n class=\"small-icon-button\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">\r\n {{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}\r\n </mat-icon>\r\n </button>\r\n </div>\r\n <div fxFlex=\"*\" fxFlexAlign=\"center\" style=\"text-transform:uppercase; \" class=\"truncated\">\r\n <div>\r\n {{node.name}}\r\n </div>\r\n </div>\r\n <div fxFlex=\"30px\" fxFlexAlign=\"center\">\r\n @if (node.count > 0) {\r\n <div fxLayoutAlign=\"end\">({{node.count}})</div>\r\n }\r\n </div>\r\n </div>\r\n </mat-tree-node>\r\n </mat-tree>\r\n </div>\r\n</div>\r\n<div mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxFill>\r\n <button mat-flat-button color=\"primary\" (click)=\"ok()\" \r\n [disabled]=\"!currentNode\">{{data.okCaption}}</button>\r\n <button mat-button mat-dialog-close cdkFocusInitial \r\n color=\"primary\">ANNULLA</button>\r\n </div>\r\n</div>", styles: ["html{--ars-dialog-info-error: #a80710;--ars-dilaog-info-warning: #FFA000;--ars-dialog-info-ok: #388E3C}@media (prefers-color-scheme: dark){html{--ars-dialog-info-error: #ff5449;--ars-dialog-info-warning: #FFC107;--ars-dialog-info-ok: #4CAF50}}.dialog-info{font-size:x-small;font-weight:700;text-align:right;margin:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-dialog-info-ok)}.dialog-info-red,.dialog-info-error{color:var(--ars-dialog-info-error)}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:500;padding-top:10px;padding-bottom:8px}b{font-weight:700}.large{font-size:large!important;line-height:18px!important}.small{font-size:small!important;line-height:16px!important}.x-small{font-size:x-small!important;line-height:14px!important}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree{overflow-x:hidden}.tree-node{min-height:31px!important;padding-right:0;margin-right:0}.tree-node:hover{cursor:pointer}.tree-node-simple,.tree-node-simple>div{min-height:31px!important}.tree-node-activated,.tree-node-activated>div{min-height:31px!important;font-weight:500!important}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}\n"], dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "ngmodule", type: FlexModule }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i2.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatTreeModule }, { kind: "directive", type: i9.MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { kind: "directive", type: i9.MatTreeNodePadding, selector: "[matTreeNodePadding]", inputs: ["matTreeNodePadding", "matTreeNodePaddingIndent"] }, { kind: "directive", type: i9.MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }, { kind: "component", type: i9.MatTree, selector: "mat-tree", exportAs: ["matTree"] }, { kind: "directive", type: i9.MatTreeNode, selector: "mat-tree-node", inputs: ["disabled", "tabIndex"], exportAs: ["matTreeNode"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ExtendedModule }, { kind: "directive", type: i10.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }] }); }
|
|
263
263
|
}
|
|
264
264
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: SelectTreeDialogComponent, decorators: [{
|
|
265
265
|
type: Component,
|
|
266
|
-
args: [{ host: { 'Bind': SystemUtils.generateUUID() }, providers: [TreeDataSource], standalone: true, imports: [MatDialogTitle, FlexModule, MatFormFieldModule, MatInputModule, FormsModule, MatButtonModule, MatIconModule, MatTooltipModule, MatDialogContent, MatTreeModule, NgClass, ExtendedModule, MatDialogActions, MatDialogClose, SafeHtmlPipe], template: "<h2 mat-dialog-title (keyup.ArrowDown)=\"nextFiltered()\">{{data.title}}</h2>\r\n<div style=\"padding: 0 24px\">\r\n @if (data.description) {\r\n <div [innerHtml]=\"data.description | safeHtml\"></div>\r\n }\r\n <div>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlex=\"50\">\r\n <mat-form-field style=\"width:100%\" [appearance]=\"data.appearance\" subscriptSizing=\"dynamic\" >\r\n <mat-label>Cerca...</mat-label>\r\n <input type=\"text\" cdkFocusInitial (keyup)=\"doFilter()\" matInput title=\"Digita il testo'\"\r\n [(ngModel)]=\"filterText\">\r\n @if (filterText) {\r\n <button type=\"button\" type=\"button\" tabindex=\"-1\" matSuffix mat-icon-button aria-label=\"Clear\"\r\n (click)=\"clearFilter()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n </mat-form-field>\r\n </div>\r\n @if (filteredItems.length > 0) {\r\n <div fxFlex=\"50px\" fxLayoutAlign=\"end\">\r\n <div fxFlexAlign=\"center\" style='font-size: x-small'>{{filterIndex + 1}} / {{filteredItems.length}}</div>\r\n </div>\r\n }\r\n <div fxFlex=\"50\" fxLayoutAlign=\"end\" style=\"white-space:nowrap\">\r\n <div fxFlexAlign=\"center\">\r\n @if (filteredItems.length > 0) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button color=\"primary\" (click)=\"nextFiltered()\">\r\n <mat-icon aria-label=\"Vai al prossimo\" matTooltip=\"Vai al prossimo\">arrow_downward</mat-icon>\r\n </button>\r\n }\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button color=\"primary\" (click)=\"treeControl.collapseAll()\">\r\n <mat-icon aria-label=\"Comprimi tutto\" matTooltip=\"Comprimi tutto\">unfold_less</mat-icon>\r\n </button>\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button color=\"primary\" (click)=\"treeControl.expandAll()\">\r\n <mat-icon aria-label=\"Espandi tutto\" matTooltip=\"Espandi tutto\">unfold_more</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div mat-dialog-content>\r\n <div fxLayout=\"column\" fxFill>\r\n <mat-tree [dataSource]=\"treeData\" [treeControl]=\"treeControl\" class=\"scrollable-content\">\r\n <mat-tree-node [id]=\"node.id\" *matTreeNodeDef=\"let node\" matTreeNodeToggle matTreeNodePadding\r\n [matTreeNodePaddingIndent]=\"20\" class=\"tree-node tree-node-simple\" (click)=\"select($event, node);\"\r\n [ngClass]=\"{'tree-node-activated': currentNode && currentNode.id === node.id}\" [disabled]=\"busy\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"5px\" fxFill class=\"small\">\r\n <button type=\"button\" mat-icon-button disabled class=\"small-icon-button\"></button>\r\n <div fxFlex=\"*\" fxFlexAlign=\"center\" style=\"text-transform:uppercase; \">\r\n {{node.name}}\r\n </div>\r\n <div fxFlex=\"30px\" fxFlexAlign=\"center\">\r\n @if (node.count > 0) {\r\n <span fxLayoutAlign=\"end\">({{node.count}})</span>\r\n }\r\n </div>\r\n </div>\r\n </mat-tree-node>\r\n\r\n <mat-tree-node [id]=\"node.id\" *matTreeNodeDef=\"let node;when: hasChild\" matTreeNodePadding\r\n [matTreeNodePaddingIndent]=\"20\" class=\"tree-node tree-node-simple\"\r\n [ngClass]=\"{'tree-node-activated': currentNode && currentNode.id === node.id }\" (click)=\"select($event, node);\"\r\n [disabled]=\"busy\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"5px\" fxFill class=\"small\">\r\n <div fxFlex=\"30px\" fxFlexAlign=\"center\">\r\n <button type=\"button\" mat-icon-button matTreeNodeToggle [attr.aria-label]=\"'Apri/chiudi ' + node.name\"\r\n class=\"small-icon-button\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">\r\n {{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}\r\n </mat-icon>\r\n </button>\r\n </div>\r\n <div fxFlex=\"*\" fxFlexAlign=\"center\" style=\"text-transform:uppercase; \" class=\"truncated\">\r\n <div>\r\n {{node.name}}\r\n </div>\r\n </div>\r\n <div fxFlex=\"30px\" fxFlexAlign=\"center\">\r\n @if (node.count > 0) {\r\n <div fxLayoutAlign=\"end\">({{node.count}})</div>\r\n }\r\n </div>\r\n </div>\r\n </mat-tree-node>\r\n </mat-tree>\r\n </div>\r\n</div>\r\n<div mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxFill>\r\n <button mat-flat-button color=\"primary\" (click)=\"ok()\" \r\n [disabled]=\"!currentNode\">{{data.okCaption}}</button>\r\n <button mat-button mat-dialog-close cdkFocusInitial \r\n color=\"primary\">ANNULLA</button>\r\n </div>\r\n</div>", styles: ["
|
|
266
|
+
args: [{ host: { 'Bind': SystemUtils.generateUUID() }, providers: [TreeDataSource], standalone: true, imports: [MatDialogTitle, FlexModule, MatFormFieldModule, MatInputModule, FormsModule, MatButtonModule, MatIconModule, MatTooltipModule, MatDialogContent, MatTreeModule, NgClass, ExtendedModule, MatDialogActions, MatDialogClose, SafeHtmlPipe], template: "<h2 mat-dialog-title (keyup.ArrowDown)=\"nextFiltered()\">{{data.title}}</h2>\r\n<div style=\"padding: 0 24px\">\r\n @if (data.description) {\r\n <div [innerHtml]=\"data.description | safeHtml\"></div>\r\n }\r\n <div>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlex=\"50\">\r\n <mat-form-field style=\"width:100%\" [appearance]=\"data.appearance\" subscriptSizing=\"dynamic\" >\r\n <mat-label>Cerca...</mat-label>\r\n <input type=\"text\" cdkFocusInitial (keyup)=\"doFilter()\" matInput title=\"Digita il testo'\"\r\n [(ngModel)]=\"filterText\">\r\n @if (filterText) {\r\n <button type=\"button\" type=\"button\" tabindex=\"-1\" matSuffix mat-icon-button aria-label=\"Clear\"\r\n (click)=\"clearFilter()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n </mat-form-field>\r\n </div>\r\n @if (filteredItems.length > 0) {\r\n <div fxFlex=\"50px\" fxLayoutAlign=\"end\">\r\n <div fxFlexAlign=\"center\" style='font-size: x-small'>{{filterIndex + 1}} / {{filteredItems.length}}</div>\r\n </div>\r\n }\r\n <div fxFlex=\"50\" fxLayoutAlign=\"end\" style=\"white-space:nowrap\">\r\n <div fxFlexAlign=\"center\">\r\n @if (filteredItems.length > 0) {\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button color=\"primary\" (click)=\"nextFiltered()\">\r\n <mat-icon aria-label=\"Vai al prossimo\" matTooltip=\"Vai al prossimo\">arrow_downward</mat-icon>\r\n </button>\r\n }\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button color=\"primary\" (click)=\"treeControl.collapseAll()\">\r\n <mat-icon aria-label=\"Comprimi tutto\" matTooltip=\"Comprimi tutto\">unfold_less</mat-icon>\r\n </button>\r\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button color=\"primary\" (click)=\"treeControl.expandAll()\">\r\n <mat-icon aria-label=\"Espandi tutto\" matTooltip=\"Espandi tutto\">unfold_more</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div mat-dialog-content>\r\n <div fxLayout=\"column\" fxFill>\r\n <mat-tree [dataSource]=\"treeData\" [treeControl]=\"treeControl\" class=\"scrollable-content\">\r\n <mat-tree-node [id]=\"node.id\" *matTreeNodeDef=\"let node\" matTreeNodeToggle matTreeNodePadding\r\n [matTreeNodePaddingIndent]=\"20\" class=\"tree-node tree-node-simple\" (click)=\"select($event, node);\"\r\n [ngClass]=\"{'tree-node-activated': currentNode && currentNode.id === node.id}\" [disabled]=\"busy\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"5px\" fxFill class=\"small\">\r\n <button type=\"button\" mat-icon-button disabled class=\"small-icon-button\"></button>\r\n <div fxFlex=\"*\" fxFlexAlign=\"center\" style=\"text-transform:uppercase; \">\r\n {{node.name}}\r\n </div>\r\n <div fxFlex=\"30px\" fxFlexAlign=\"center\">\r\n @if (node.count > 0) {\r\n <span fxLayoutAlign=\"end\">({{node.count}})</span>\r\n }\r\n </div>\r\n </div>\r\n </mat-tree-node>\r\n\r\n <mat-tree-node [id]=\"node.id\" *matTreeNodeDef=\"let node;when: hasChild\" matTreeNodePadding\r\n [matTreeNodePaddingIndent]=\"20\" class=\"tree-node tree-node-simple\"\r\n [ngClass]=\"{'tree-node-activated': currentNode && currentNode.id === node.id }\" (click)=\"select($event, node);\"\r\n [disabled]=\"busy\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"5px\" fxFill class=\"small\">\r\n <div fxFlex=\"30px\" fxFlexAlign=\"center\">\r\n <button type=\"button\" mat-icon-button matTreeNodeToggle [attr.aria-label]=\"'Apri/chiudi ' + node.name\"\r\n class=\"small-icon-button\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">\r\n {{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}\r\n </mat-icon>\r\n </button>\r\n </div>\r\n <div fxFlex=\"*\" fxFlexAlign=\"center\" style=\"text-transform:uppercase; \" class=\"truncated\">\r\n <div>\r\n {{node.name}}\r\n </div>\r\n </div>\r\n <div fxFlex=\"30px\" fxFlexAlign=\"center\">\r\n @if (node.count > 0) {\r\n <div fxLayoutAlign=\"end\">({{node.count}})</div>\r\n }\r\n </div>\r\n </div>\r\n </mat-tree-node>\r\n </mat-tree>\r\n </div>\r\n</div>\r\n<div mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxFill>\r\n <button mat-flat-button color=\"primary\" (click)=\"ok()\" \r\n [disabled]=\"!currentNode\">{{data.okCaption}}</button>\r\n <button mat-button mat-dialog-close cdkFocusInitial \r\n color=\"primary\">ANNULLA</button>\r\n </div>\r\n</div>", styles: ["html{--ars-dialog-info-error: #a80710;--ars-dilaog-info-warning: #FFA000;--ars-dialog-info-ok: #388E3C}@media (prefers-color-scheme: dark){html{--ars-dialog-info-error: #ff5449;--ars-dialog-info-warning: #FFC107;--ars-dialog-info-ok: #4CAF50}}.dialog-info{font-size:x-small;font-weight:700;text-align:right;margin:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-dialog-info-ok)}.dialog-info-red,.dialog-info-error{color:var(--ars-dialog-info-error)}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:500;padding-top:10px;padding-bottom:8px}b{font-weight:700}.large{font-size:large!important;line-height:18px!important}.small{font-size:small!important;line-height:16px!important}.x-small{font-size:x-small!important;line-height:14px!important}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree{overflow-x:hidden}.tree-node{min-height:31px!important;padding-right:0;margin-right:0}.tree-node:hover{cursor:pointer}.tree-node-simple,.tree-node-simple>div{min-height:31px!important}.tree-node-activated,.tree-node-activated>div{min-height:31px!important;font-weight:500!important}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}\n"] }]
|
|
267
267
|
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: TreeDataSource }, { type: undefined, decorators: [{
|
|
268
268
|
type: Inject,
|
|
269
269
|
args: [MAT_DIALOG_DATA]
|
|
270
270
|
}] }], propDecorators: { done: [{
|
|
271
271
|
type: Output
|
|
272
272
|
}] } });
|
|
273
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXRyZWUtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy91aS5hcHBsaWNhdGlvbi91aS9kaWFsb2dzL3NlbGVjdC10cmVlL3NlbGVjdC10cmVlLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvdWkuYXBwbGljYXRpb24vdWkvZGlhbG9ncy9zZWxlY3QtdHJlZS9zZWxlY3QtdHJlZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixVQUFVLEVBR1YsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3SSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQWMsRUFBRSxJQUFJLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBWSxjQUFjLEVBQTRDLE1BQU0sbUJBQW1CLENBQUM7QUFDdkcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNo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Q0FBQyxFQUFFLEVBQUUsQ0FBQztvQkFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzNCLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO29CQUNmLE9BQU8sSUFBSSxDQUFDO2dCQUNkLENBQUM7Z0JBQ0QsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OEdBckpVLHlCQUF5Qix5RUFnQzFCLGVBQWU7a0dBaENkLHlCQUF5Qix5R0FQcEIsV0FBVyxDQUFDLFlBQVksRUFBRSxpQkFHL0IsQ0FBQyxjQUFjLENBQUMsMEJDdEk3QixnM0pBaUdNLDBoRER1Q00sY0FBYyw4SEFBRyxVQUFVLCtoR0FBRSxrQkFBa0IsMmFBQUUsY0FBYywwV0FBRSxXQUFXLDhtQkFBRSxlQUFlLHdVQUFFLGFBQWEsbUxBQUUsZ0JBQWdCLDZUQUFFLGdCQUFnQix3R0FBRSxhQUFhLHFvQkFBRSxPQUFPLG1GQUFFLGNBQWMsbWlCQUFFLGdCQUFnQiw0SEFBRSxjQUFjLGdMQUFFLFlBQVk7OzJGQUV2Tyx5QkFBeUI7a0JBUnJDLFNBQVM7MkJBQ0YsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLFlBQVksRUFBRSxFQUFFLGFBR2pDLENBQUMsY0FBYyxDQUFDLGNBQ2YsSUFBSSxXQUNQLENBQUMsY0FBYyxFQUFHLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLFlBQVksQ0FBQzs7MEJBa0NoUCxNQUFNOzJCQUFDLGVBQWU7eUNBL0JmLElBQUk7c0JBQWIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZsYXRUcmVlQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90cmVlJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdCxcclxuICBJbmplY3RhYmxlLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dUaXRsZSwgTWF0RGlhbG9nQ29udGVudCwgTWF0RGlhbG9nQWN0aW9ucywgTWF0RGlhbG9nQ2xvc2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRUcmVlRmxhdERhdGFTb3VyY2UsIE1hdFRyZWVGbGF0dGVuZXIsIE1hdFRyZWVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90cmVlJztcclxuaW1wb3J0IHsgU3lzdGVtVXRpbHMgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mIGFzIG9ic2VydmFibGVPZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEl0ZW1Ob2RlLCBTZWxlY3RhYmxlTm9kZSwgU2VsZWN0RGlhbG9nUmVzdWx0LCBTZWxlY3RUcmVlRGlhbG9nRGF0YSB9IGZyb20gJy4uLy4uL2RlZmluaXRpb25zJztcclxuaW1wb3J0IHsgU2FmZUh0bWxQaXBlIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuaW1wb3J0IHsgRXh0ZW5kZWRNb2R1bGUgfSBmcm9tICdAbmdicmFja2V0L25neC1sYXlvdXQvZXh0ZW5kZWQnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgRmxleE1vZHVsZSB9IGZyb20gJ0BuZ2JyYWNrZXQvbmd4LWxheW91dC9mbGV4JztcclxuaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVHJlZURhdGFTb3VyY2Uge1xyXG4gIGRhdGFDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEl0ZW1Ob2RlW10+KFtdKTtcclxuXHJcbiAgZ2V0IGRhdGEoKTogSXRlbU5vZGVbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRhQ2hhbmdlLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbHppZSB0aGUgZGF0YSBzb3VyY2VcclxuICAgKiBAcGFyYW0gZGF0YSA6IGRhdGFcclxuICAgKi9cclxuICBpbml0aWFsaXplKGRhdGE6IEl0ZW1Ob2RlW10pIHtcclxuICAgIHRoaXMuZGF0YUNoYW5nZS5uZXh0KGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmluZCBhIG5vZGUgYnkgaWQgcmVjdXJzaXZlbHlcclxuICAgKiBAcGFyYW0gbm9kZTogdGhlIHNvdXJjZSBub2RlXHJcbiAgICogQHBhcmFtIGlkIDogdGhlIGlkIHRvIHNlYXJjaCBmb3JcclxuICAgKi9cclxuICBmaW5kTm9kZShub2RlOiBJdGVtTm9kZSwgaWQ6IHN0cmluZyk6IEl0ZW1Ob2RlIHtcclxuICAgIGxldCBjaGlsZHJlbjtcclxuICAgIGlmIChub2RlICYmIG5vZGUuaWQgPT09IGlkKSByZXR1cm4gbm9kZTtcclxuICAgIGlmIChub2RlKSBjaGlsZHJlbiA9IG5vZGUuY2hpbGRyZW47XHJcbiAgICBlbHNlIGlmICh0aGlzLmRhdGEgJiYgdGhpcy5kYXRhLmxlbmd0aCA+IDApXHJcbiAgICAgIGNoaWxkcmVuID0gdGhpcy5kYXRhWzBdLmNoaWxkcmVuO1xyXG4gICAgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIGxldCBfbiA9IG51bGw7XHJcbiAgICAgIGNoaWxkcmVuLnNvbWUobiA9PiB7XHJcbiAgICAgICAgaWYgKG4uaWQgPT09IGlkKSB7XHJcbiAgICAgICAgICBfbiA9IG47XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgX24gPSB0aGlzLmZpbmROb2RlKG4sIGlkKTtcclxuICAgICAgICBpZiAoX24pIHJldHVybiB0cnVlO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBfbjtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBSZW1vdmUgYSBub2RlXHJcbiAgICogQHBhcmFtIGlkIDogdGhlIG5vZGUgaWQgdG8gcmVtb3ZlXHJcbiAgICovXHJcbiAgcmVtb3ZlTm9kZShpZDogc3RyaW5nKSB7XHJcbiAgICBsZXQgbiA9IHRoaXMuZmluZE5vZGUobnVsbCwgaWQpO1xyXG4gICAgaWYgKCFuKSByZXR1cm47XHJcbiAgICBpZiAobi5wYXJlbnQpIHtcclxuICAgICAgbGV0IGkgPSBTeXN0ZW1VdGlscy5hcnJheUZpbmRJbmRleEJ5S2V5KG4ucGFyZW50LmNoaWxkcmVuLCAnaWQnLCBpZCk7XHJcbiAgICAgIGlmIChpICE9IC0xKSB7XHJcbiAgICAgICAgbi5wYXJlbnQuY2hpbGRyZW4uc3BsaWNlKGksIDEpO1xyXG4gICAgICAgIGlmIChuLnBhcmVudC5jb3VudCA+IDApIG4ucGFyZW50LmNvdW50LS07XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBpID0gU3lzdGVtVXRpbHMuYXJyYXlGaW5kSW5kZXhCeUtleSh0aGlzLmRhdGEsICdpZCcsIGlkKTtcclxuICAgICAgaWYgKGkgIT0gLTEpIHtcclxuICAgICAgICB0aGlzLmRhdGEuc3BsaWNlKGksIDEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kYXRhQ2hhbmdlLm5leHQodGhpcy5kYXRhKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluc2VydCBhIG5ldyBub2RlXHJcbiAgICogQHBhcmFtIG5vZGUgOiB0aGUgbmV3IG5vZGVcclxuICAgKi9cclxuICBpbnNlcnROb2RlKG5vZGU6IEl0ZW1Ob2RlKSB7XHJcbiAgICBpZiAobm9kZS5wYXJlbnQpIHtcclxuICAgICAgbm9kZS5wYXJlbnQuY2hpbGRyZW4udW5zaGlmdChub2RlKTtcclxuICAgICAgbm9kZS5wYXJlbnQuY291bnQrKztcclxuICAgIH0gZWxzZSB0aGlzLmRhdGEudW5zaGlmdChub2RlKTtcclxuXHJcbiAgICB0aGlzLmRhdGFDaGFuZ2UubmV4dCh0aGlzLmRhdGEpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVuYW1lIGEgbm9kZVxyXG4gICAqIEBwYXJhbSBpZCA6IHRoZSBub2RlIGlkXHJcbiAgICogQHBhcmFtIG5hbWUgOiB0aGUgbmV3IG5vZGUgbmFtZVxyXG4gICAqL1xyXG4gIHJlbmFtZU5vZGUoaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nKTogSXRlbU5vZGUge1xyXG4gICAgbGV0IG4gPSB0aGlzLmZpbmROb2RlKG51bGwsIGlkKTtcclxuICAgIGlmIChuKSB7XHJcbiAgICAgIG4ubmFtZSA9IG5hbWU7XHJcbiAgICAgIHRoaXMuZGF0YUNoYW5nZS5uZXh0KHRoaXMuZGF0YSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSBkYXRhXHJcbiAgICovXHJcbiAgdXBkYXRlKCkge1xyXG4gICAgdGhpcy5kYXRhQ2hhbmdlLm5leHQodGhpcy5kYXRhKTtcclxuICB9XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIGhvc3Q6IHsgJ0JpbmQnOiBTeXN0ZW1VdGlscy5nZW5lcmF0ZVVVSUQoKSB9LFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtdHJlZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC10cmVlLWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1RyZWVEYXRhU291cmNlXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtNYXREaWFsb2dUaXRsZSwgIEZsZXhNb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZSwgTWF0SW5wdXRNb2R1bGUsIEZvcm1zTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGUsIE1hdERpYWxvZ0NvbnRlbnQsIE1hdFRyZWVNb2R1bGUsIE5nQ2xhc3MsIEV4dGVuZGVkTW9kdWxlLCBNYXREaWFsb2dBY3Rpb25zLCBNYXREaWFsb2dDbG9zZSwgU2FmZUh0bWxQaXBlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VsZWN0VHJlZURpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBAT3V0cHV0KCkgZG9uZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0RGlhbG9nUmVzdWx0PigpO1xyXG5cclxuICBwcml2YXRlIF9fZCQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBkYXRhOiBTZWxlY3RUcmVlRGlhbG9nRGF0YTtcclxuICB0cmVlQ29udHJvbDogRmxhdFRyZWVDb250cm9sPFNlbGVjdGFibGVOb2RlPjtcclxuICB0cmVlRmxhdHRlbmVyOiBNYXRUcmVlRmxhdHRlbmVyPEl0ZW1Ob2RlLCBTZWxlY3RhYmxlTm9kZT47XHJcbiAgdHJlZURhdGE6IE1hdFRyZWVGbGF0RGF0YVNvdXJjZTxJdGVtTm9kZSwgU2VsZWN0YWJsZU5vZGU+O1xyXG4gIGN1cnJlbnROb2RlOiBJdGVtTm9kZTtcclxuICBidXN5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8vIFVzZWQgZm9yIGFycmF5IGZpbHRlcmluZ1xyXG4gIGZpbHRlclRleHQ6IHN0cmluZyA9ICcnO1xyXG4gIGZpbHRlcmVkSXRlbXM6IFNlbGVjdGFibGVOb2RlW10gPSBbXTtcclxuICBmaWx0ZXJJbmRleDogbnVtYmVyID0gLTE7XHJcblxyXG4gIC8qKlxyXG4gICAqIE1hbmFnZSBmbGF0IHRyZWUgdmlld1xyXG4gICAqL1xyXG4gIHByaXZhdGUgX2dldENoaWxkcmVuID0gKG5vZGU6IEl0ZW1Ob2RlKTogT2JzZXJ2YWJsZTxJdGVtTm9kZVtdPiA9PlxyXG4gICAgb2JzZXJ2YWJsZU9mKG5vZGUuY2hpbGRyZW4pO1xyXG4gIHByaXZhdGUgX2dldExldmVsID0gKG5vZGU6IFNlbGVjdGFibGVOb2RlKSA9PiBub2RlLmxldmVsO1xyXG4gIHByaXZhdGUgX2lzRXhwYW5kYWJsZSA9IChub2RlOiBTZWxlY3RhYmxlTm9kZSkgPT4gbm9kZS5leHBhbmRhYmxlO1xyXG4gIGhhc0NoaWxkID0gKF86IG51bWJlciwgX25vZGU6IFNlbGVjdGFibGVOb2RlKSA9PiBfbm9kZS5leHBhbmRhYmxlO1xyXG4gIHRyYW5zZm9ybWVyID0gKGl0ZW06IEl0ZW1Ob2RlLCBsZXZlbDogbnVtYmVyKSA9PiB7XHJcbiAgICByZXR1cm4gbmV3IFNlbGVjdGFibGVOb2RlKGl0ZW0sIGxldmVsKTtcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8U2VsZWN0VHJlZURpYWxvZ0NvbXBvbmVudD4sXHJcbiAgICBwcml2YXRlIHRyZWU6IFRyZWVEYXRhU291cmNlLFxyXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIF9kYXRhOiBTZWxlY3RUcmVlRGlhbG9nRGF0YVxyXG4gICkge1xyXG4gICAgdGhpcy50cmVlRmxhdHRlbmVyID0gbmV3IE1hdFRyZWVGbGF0dGVuZXIoXHJcbiAgICAgIHRoaXMudHJhbnNmb3JtZXIsXHJcbiAgICAgIHRoaXMuX2dldExldmVsLFxyXG4gICAgICB0aGlzLl9pc0V4cGFuZGFibGUsXHJcbiAgICAgIHRoaXMuX2dldENoaWxkcmVuXHJcbiAgICApO1xyXG4gICAgdGhpcy50cmVlQ29udHJvbCA9IG5ldyBGbGF0VHJlZUNvbnRyb2w8U2VsZWN0YWJsZU5vZGU+KFxyXG4gICAgICB0aGlzLl9nZXRMZXZlbCxcclxuICAgICAgdGhpcy5faXNFeHBhbmRhYmxlXHJcbiAgICApO1xyXG4gICAgdGhpcy50cmVlRGF0YSA9IG5ldyBNYXRUcmVlRmxhdERhdGFTb3VyY2UoXHJcbiAgICAgIHRoaXMudHJlZUNvbnRyb2wsXHJcbiAgICAgIHRoaXMudHJlZUZsYXR0ZW5lclxyXG4gICAgKTtcclxuICAgIHRyZWUuZGF0YUNoYW5nZVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fX2QkKSlcclxuICAgICAgLnN1YnNjcmliZShkYXRhID0+ICh0aGlzLnRyZWVEYXRhLmRhdGEgPSBkYXRhKSk7XHJcbiAgICB0aGlzLnRyZWUuaW5pdGlhbGl6ZShfZGF0YS5ub2Rlcyk7XHJcbiAgICB0aGlzLmRhdGEgPSBfZGF0YSB8fCB7IGFwcGVhcmFuY2U6ICdvdXRsaW5lJywgdGl0bGU6ICdTZWxlemlvbmEnIH07XHJcblxyXG4gICAgaWYgKCF0aGlzLmRhdGEudGl0bGUpIHRoaXMuZGF0YS50aXRsZSA9ICdTZWxlemlvbmEnO1xyXG4gICAgaWYgKCF0aGlzLmRhdGEub2tDYXB0aW9uKSB0aGlzLmRhdGEub2tDYXB0aW9uID0gJ09LJztcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMuZGF0YS5pbml0aWFsRmlsdGVyKSB0aGlzLmRvRmlsdGVyKHRoaXMuZGF0YS5pbml0aWFsRmlsdGVyKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLl9fZCQubmV4dCgpO1xyXG4gICAgdGhpcy5fX2QkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdWJtaXQgc2VsZWN0aW9uXHJcbiAgICovXHJcbiAgb2soKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuZG9uZS5lbWl0KHsgc2VsZWN0ZWRJdGVtczogW3RoaXMuY3VycmVudE5vZGVdIH0pO1xyXG4gICAgfSwgNTAwKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbGVjdCAgYSBub2RlXHJcbiAgICogQHBhcmFtIGUgOiB0aGUgZXZlbnRcclxuICAgKiBAcGFyYW0gbm9kZSA6IHRoZVxyXG4gICAqL1xyXG4gIHNlbGVjdChlOiBhbnksIG5vZGU6IFNlbGVjdGFibGVOb2RlKSB7XHJcbiAgICBpZiAoZSkgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGlmIChub2RlKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudE5vZGUgPSBub2RlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYXIgZmlsdGVyXHJcbiAgICovXHJcbiAgY2xlYXJGaWx0ZXIoKSB7XHJcbiAgICB0aGlzLmZpbHRlclRleHQgPSAnJztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFwcGx5IGZpbHRlclxyXG4gICAqIEBwYXJhbSB0ZXh0IDogdGhlIHRleHQgdG8gZmlsdGVyXHJcbiAgICovXHJcbiAgZG9GaWx0ZXIodGV4dDogc3RyaW5nID0gbnVsbCkge1xyXG4gICAgaWYgKHRleHQpIHRoaXMuZmlsdGVyVGV4dCA9IHRleHQ7XHJcbiAgICB0aGlzLmZpbHRlcmVkSXRlbXMgPSBbXTtcclxuICAgIHRoaXMuZmlsdGVySW5kZXggPSAtMTtcclxuICAgIGlmICh0aGlzLmZpbHRlclRleHQpIHtcclxuICAgICAgdGhpcy50cmVlQ29udHJvbC5kYXRhTm9kZXMuZm9yRWFjaChuID0+IHtcclxuICAgICAgICBpZiAobi5uYW1lLmluZGV4T2YodGhpcy5maWx0ZXJUZXh0KSAhPSAtMSkge1xyXG4gICAgICAgICAgdGhpcy5maWx0ZXJlZEl0ZW1zLnB1c2gobik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGlmICh0aGlzLmZpbHRlcmVkSXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMubmV4dEZpbHRlcmVkKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdvdG8gbmV4dCBmaWx0ZXJlZCBpdGVtXHJcbiAgICovXHJcbiAgbmV4dEZpbHRlcmVkKCkge1xyXG4gICAgaWYgKCFTeXN0ZW1VdGlscy5pc0Jyb3dzZXIoKSkgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyZWRJdGVtcy5sZW5ndGggPT09IDApIHJldHVybjtcclxuICAgIHRoaXMuZmlsdGVySW5kZXgrKztcclxuICAgIGlmICh0aGlzLmZpbHRlckluZGV4ID09PSB0aGlzLmZpbHRlcmVkSXRlbXMubGVuZ3RoKSB0aGlzLmZpbHRlckluZGV4ID0gMDtcclxuICAgIGxldCBub2RlID0gdGhpcy5maWx0ZXJlZEl0ZW1zW3RoaXMuZmlsdGVySW5kZXhdO1xyXG4gICAgdGhpcy5jdXJyZW50Tm9kZSA9IG5vZGU7XHJcbiAgICB0aGlzLmV4cGFuZChub2RlKTtcclxuICAgIGxldCBlbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobm9kZS5pZCk7XHJcbiAgICBpZiAoZWxlbSkgZWxlbS5zY3JvbGxJbnRvVmlldygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXhwYW5kIGEgbm9kZSBhbmQgYWxsIGl0cyBwYXJlbnRzXHJcbiAgICogQHBhcmFtIG5vZGUgOiB0aGUgc2VsZWN0YWJsZSBub2RlIHRvIGV4cGFuZFxyXG4gICAqL1xyXG4gIGV4cGFuZChub2RlOiBTZWxlY3RhYmxlTm9kZSkge1xyXG4gICAgdGhpcy50cmVlQ29udHJvbC5leHBhbmQobm9kZSk7XHJcbiAgICBsZXQgX24gPSBub2RlLnBhcmVudDtcclxuICAgIHdoaWxlIChfbikge1xyXG4gICAgICB0aGlzLnRyZWVDb250cm9sLmRhdGFOb2Rlcy5zb21lKG4gPT4ge1xyXG4gICAgICAgIGlmIChuLmlkID09PSBfbi5pZCkge1xyXG4gICAgICAgICAgdGhpcy50cmVlQ29udHJvbC5leHBhbmQobik7XHJcbiAgICAgICAgICBfbiA9IF9uLnBhcmVudDtcclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufVxyXG5cclxuIiwiPGgyIG1hdC1kaWFsb2ctdGl0bGUgKGtleXVwLkFycm93RG93bik9XCJuZXh0RmlsdGVyZWQoKVwiPnt7ZGF0YS50aXRsZX19PC9oMj5cclxuPGRpdiBzdHlsZT1cInBhZGRpbmc6IDAgMjRweFwiPlxyXG4gIEBpZiAoZGF0YS5kZXNjcmlwdGlvbikge1xyXG4gIDxkaXYgW2lubmVySHRtbF09XCJkYXRhLmRlc2NyaXB0aW9uIHwgc2FmZUh0bWxcIj48L2Rpdj5cclxuICB9XHJcbiAgPGRpdj5cclxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjEwcHhcIiBmeEZpbGw+XHJcbiAgICAgIDxkaXYgZnhGbGV4PVwiNTBcIj5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgc3R5bGU9XCJ3aWR0aDoxMDAlXCIgW2FwcGVhcmFuY2VdPVwiZGF0YS5hcHBlYXJhbmNlXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiID5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+Q2VyY2EuLi48L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNka0ZvY3VzSW5pdGlhbCAoa2V5dXApPVwiZG9GaWx0ZXIoKVwiIG1hdElucHV0IHRpdGxlPVwiRGlnaXRhIGlsIHRlc3RvJ1wiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVyVGV4dFwiPlxyXG4gICAgICAgICAgQGlmIChmaWx0ZXJUZXh0KSB7XHJcbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiB0eXBlPVwiYnV0dG9uXCIgdGFiaW5kZXg9XCItMVwiIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gYXJpYS1sYWJlbD1cIkNsZWFyXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyRmlsdGVyKClcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICBAaWYgKGZpbHRlcmVkSXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICA8ZGl2IGZ4RmxleD1cIjUwcHhcIiBmeExheW91dEFsaWduPVwiZW5kXCI+XHJcbiAgICAgICAgPGRpdiBmeEZsZXhBbGlnbj1cImNlbnRlclwiIHN0eWxlPSdmb250LXNpemU6IHgtc21hbGwnPnt7ZmlsdGVySW5kZXggKyAxfX0gLyB7e2ZpbHRlcmVkSXRlbXMubGVuZ3RofX08L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgICAgPGRpdiBmeEZsZXg9XCI1MFwiIGZ4TGF5b3V0QWxpZ249XCJlbmRcIiBzdHlsZT1cIndoaXRlLXNwYWNlOm5vd3JhcFwiPlxyXG4gICAgICAgIDxkaXYgZnhGbGV4QWxpZ249XCJjZW50ZXJcIj5cclxuICAgICAgICAgIEBpZiAoZmlsdGVyZWRJdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICA8YnV0dG9uIGZ4RmxleEFsaWduPVwiY2VudGVyXCIgdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwibmV4dEZpbHRlcmVkKClcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJWYWkgYWwgcHJvc3NpbW9cIiBtYXRUb29sdGlwPVwiVmFpIGFsIHByb3NzaW1vXCI+YXJyb3dfZG93bndhcmQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICA8YnV0dG9uIGZ4RmxleEFsaWduPVwiY2VudGVyXCIgdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwidHJlZUNvbnRyb2wuY29sbGFwc2VBbGwoKVwiPlxyXG4gICAgICAgICAgICA8bWF0LWljb24gYXJpYS1sYWJlbD1cIkNvbXByaW1pIHR1dHRvXCIgbWF0VG9vbHRpcD1cIkNvbXByaW1pIHR1dHRvXCI+dW5mb2xkX2xlc3M8L21hdC1pY29uPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uIGZ4RmxleEFsaWduPVwiY2VudGVyXCIgdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwidHJlZUNvbnRyb2wuZXhwYW5kQWxsKClcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJFc3BhbmRpIHR1dHRvXCIgbWF0VG9vbHRpcD1cIkVzcGFuZGkgdHV0dG9cIj51bmZvbGRfbW9yZTwvbWF0LWljb24+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxyXG4gIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeEZpbGw+XHJcbiAgICA8bWF0LXRyZWUgW2RhdGFTb3VyY2VdPVwidHJlZURhdGFcIiBbdHJlZUNvbnRyb2xdPVwidHJlZUNvbnRyb2xcIiBjbGFzcz1cInNjcm9sbGFibGUtY29udGVudFwiPlxyXG4gICAgICA8bWF0LXRyZWUtbm9kZSBbaWRdPVwibm9kZS5pZFwiICptYXRUcmVlTm9kZURlZj1cImxldCBub2RlXCIgbWF0VHJlZU5vZGVUb2dnbGUgbWF0VHJlZU5vZGVQYWRkaW5nXHJcbiAgICAgICAgW21hdFRyZWVOb2RlUGFkZGluZ0luZGVudF09XCIyMFwiIGNsYXNzPVwidHJlZS1ub2RlIHRyZWUtbm9kZS1zaW1wbGVcIiAoY2xpY2spPVwic2VsZWN0KCRldmVudCwgbm9kZSk7XCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7J3RyZWUtbm9kZS1hY3RpdmF0ZWQnOiBjdXJyZW50Tm9kZSAmJiBjdXJyZW50Tm9kZS5pZCA9PT0gbm9kZS5pZH1cIiBbZGlzYWJsZWRdPVwiYnVzeVwiPlxyXG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjVweFwiIGZ4RmlsbCBjbGFzcz1cInNtYWxsXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gZGlzYWJsZWQgY2xhc3M9XCJzbWFsbC1pY29uLWJ1dHRvblwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgPGRpdiBmeEZsZXg9XCIqXCIgZnhGbGV4QWxpZ249XCJjZW50ZXJcIiBzdHlsZT1cInRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgXCI+XHJcbiAgICAgICAgICAgIHt7bm9kZS5uYW1lfX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBmeEZsZXg9XCIzMHB4XCIgZnhGbGV4QWxpZ249XCJjZW50ZXJcIj5cclxuICAgICAgICAgICAgQGlmIChub2RlLmNvdW50ID4gMCkge1xyXG4gICAgICAgICAgICA8c3BhbiBmeExheW91dEFsaWduPVwiZW5kXCI+KHt7bm9kZS5jb3VudH19KTwvc3Bhbj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbWF0LXRyZWUtbm9kZT5cclxuXHJcbiAgICAgIDxtYXQtdHJlZS1ub2RlIFtpZF09XCJub2RlLmlkXCIgKm1hdFRyZWVOb2RlRGVmPVwibGV0IG5vZGU7d2hlbjogaGFzQ2hpbGRcIiBtYXRUcmVlTm9kZVBhZGRpbmdcclxuICAgICAgICBbbWF0VHJlZU5vZGVQYWRkaW5nSW5kZW50XT1cIjIwXCIgY2xhc3M9XCJ0cmVlLW5vZGUgdHJlZS1ub2RlLXNpbXBsZVwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieyd0cmVlLW5vZGUtYWN0aXZhdGVkJzogY3VycmVudE5vZGUgJiYgY3VycmVudE5vZGUuaWQgPT09IG5vZGUuaWQgfVwiIChjbGljayk9XCJzZWxlY3QoJGV2ZW50LCBub2RlKTtcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJidXN5XCI+XHJcbiAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0R2FwPVwiNXB4XCIgZnhGaWxsIGNsYXNzPVwic21hbGxcIj5cclxuICAgICAgICAgIDxkaXYgZnhGbGV4PVwiMzBweFwiIGZ4RmxleEFsaWduPVwiY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiBtYXRUcmVlTm9kZVRvZ2dsZSBbYXR0ci5hcmlhLWxhYmVsXT1cIidBcHJpL2NoaXVkaSAnICsgbm9kZS5uYW1lXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInNtYWxsLWljb24tYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tcnRsLW1pcnJvclwiPlxyXG4gICAgICAgICAgICAgICAge3t0cmVlQ29udHJvbC5pc0V4cGFuZGVkKG5vZGUpID8gJ2V4cGFuZF9tb3JlJyA6ICdjaGV2cm9uX3JpZ2h0J319XHJcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgZnhGbGV4PVwiKlwiIGZ4RmxleEFsaWduPVwiY2VudGVyXCIgc3R5bGU9XCJ0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IFwiIGNsYXNzPVwidHJ1bmNhdGVkXCI+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAge3tub2RlLm5hbWV9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBmeEZsZXg9XCIzMHB4XCIgZnhGbGV4QWxpZ249XCJjZW50ZXJcIj5cclxuICAgICAgICAgICAgQGlmIChub2RlLmNvdW50ID4gMCkge1xyXG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0QWxpZ249XCJlbmRcIj4oe3tub2RlLmNvdW50fX0pPC9kaXY+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L21hdC10cmVlLW5vZGU+XHJcbiAgICA8L21hdC10cmVlPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJlbmRcIiBmeEZpbGw+XHJcbiAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwib2soKVwiIFxyXG4gICAgICBbZGlzYWJsZWRdPVwiIWN1cnJlbnROb2RlXCI+e3tkYXRhLm9rQ2FwdGlvbn19PC9idXR0b24+XHJcbiAgICA8YnV0dG9uIG1hdC1idXR0b24gbWF0LWRpYWxvZy1jbG9zZSBjZGtGb2N1c0luaXRpYWwgXHJcbiAgICAgIGNvbG9yPVwicHJpbWFyeVwiPkFOTlVMTEE8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
273
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXRyZWUtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy91aS5hcHBsaWNhdGlvbi91aS9kaWFsb2dzL3NlbGVjdC10cmVlL3NlbGVjdC10cmVlLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvdWkuYXBwbGljYXRpb24vdWkvZGlhbG9ncy9zZWxlY3QtdHJlZS9zZWxlY3QtdHJlZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixVQUFVLEVBR1YsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3SSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQWMsRUFBRSxJQUFJLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBWSxjQUFjLEVBQTRDLE1BQU0sbUJBQW1CLENBQUM7QUFDdkcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBSTFDLE1BQU0sT0FBTyxjQUFjO0lBR3pCLElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUVEO1FBTkEsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFhLEVBQUUsQ0FBQyxDQUFDO0lBTWpDLENBQUM7SUFFakI7OztPQUdHO0lBQ0gsVUFBVSxDQUFDLElBQWdCO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsUUFBUSxDQUFDLElBQWMsRUFBRSxFQUFVO1FBQ2pDLElBQUksUUFBUSxDQUFDO1FBQ2IsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDeEMsSUFBSSxJQUFJO1lBQUUsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7YUFDOUIsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDeEMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ25DLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUM7WUFDZCxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNoQixJQUFJLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7b0JBQ2hCLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQ1AsT0FBTyxJQUFJLENBQUM7Z0JBQ2QsQ0FBQztnQkFDRCxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzFCLElBQUksRUFBRTtvQkFBRSxPQUFPLElBQUksQ0FBQztnQkFDcEIsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNEOzs7T0FHRztJQUNILFVBQVUsQ0FBQyxFQUFVO1FBQ25CLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxDQUFDO1lBQUUsT0FBTztRQUNmLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLEdBQUcsV0FBVyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNaLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQztvQkFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzNDLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxHQUFHLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN6QixDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVSxDQUFDLElBQWM7UUFDdkIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdEIsQ0FBQzs7WUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUvQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxVQUFVLENBQUMsRUFBVSxFQUFFLElBQVk7UUFDakMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNOLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ2QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLENBQUM7UUFDRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDSixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs4R0FsR1UsY0FBYztrSEFBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVOztBQThHWCxNQUFNLE9BQU8seUJBQXlCO0lBNkJwQyxZQUNVLFNBQWtELEVBQ2xELElBQW9CLEVBQ0gsS0FBMkI7UUFGNUMsY0FBUyxHQUFULFNBQVMsQ0FBeUM7UUFDbEQsU0FBSSxHQUFKLElBQUksQ0FBZ0I7UUE5QnBCLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUVoRCxTQUFJLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFPbEQsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUV0QiwyQkFBMkI7UUFDM0IsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixrQkFBYSxHQUFxQixFQUFFLENBQUM7UUFDckMsZ0JBQVcsR0FBVyxDQUFDLENBQUMsQ0FBQztRQUV6Qjs7V0FFRztRQUNLLGlCQUFZLEdBQUcsQ0FBQyxJQUFjLEVBQTBCLEVBQUUsQ0FDaEUsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0QixjQUFTLEdBQUcsQ0FBQyxJQUFvQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ2pELGtCQUFhLEdBQUcsQ0FBQyxJQUFvQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ2xFLGFBQVEsR0FBRyxDQUFDLENBQVMsRUFBRSxLQUFxQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQ2xFLGdCQUFXLEdBQUcsQ0FBQyxJQUFjLEVBQUUsS0FBYSxFQUFFLEVBQUU7WUFDOUMsT0FBTyxJQUFJLGNBQWMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDO1FBT0EsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLGdCQUFnQixDQUN2QyxJQUFJLENBQUMsV0FBVyxFQUNoQixJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyxhQUFhLEVBQ2xCLElBQUksQ0FBQyxZQUFZLENBQ2xCLENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksZUFBZSxDQUNwQyxJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyxhQUFhLENBQ25CLENBQUM7UUFDRixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUkscUJBQXFCLENBQ3ZDLElBQUksQ0FBQyxXQUFXLEVBQ2hCLElBQUksQ0FBQyxhQUFhLENBQ25CLENBQUM7UUFDRixJQUFJLENBQUMsVUFBVTthQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzFCLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLElBQUksRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUVuRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDO1FBQ3BELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDdkQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxFQUFFO1FBQ0EsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN2QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLENBQU0sRUFBRSxJQUFvQjtRQUNqQyxJQUFJLENBQUM7WUFBRSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDM0IsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFFBQVEsQ0FBQyxPQUFlLElBQUk7UUFDMUIsSUFBSSxJQUFJO1lBQUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN0QixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3JDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQzFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM3QixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUU7WUFBRSxPQUFPO1FBQ3JDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUFFLE9BQU87UUFDNUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU07WUFBRSxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUN6RSxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLElBQUksSUFBSSxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLElBQUksSUFBSTtZQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLElBQW9CO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDckIsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztvQkFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzNCLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO29CQUNmLE9BQU8sSUFBSSxDQUFDO2dCQUNkLENBQUM7Z0JBQ0QsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OEdBckpVLHlCQUF5Qix5RUFnQzFCLGVBQWU7a0dBaENkLHlCQUF5Qix5R0FQcEIsV0FBVyxDQUFDLFlBQVksRUFBRSxpQkFHL0IsQ0FBQyxjQUFjLENBQUMsMEJDdEk3QixnM0pBaUdNLHdpRER1Q00sY0FBYyw4SEFBRyxVQUFVLCtoR0FBRSxrQkFBa0IsMmFBQUUsY0FBYywwV0FBRSxXQUFXLDhtQkFBRSxlQUFlLHdVQUFFLGFBQWEsbUxBQUUsZ0JBQWdCLDZUQUFFLGdCQUFnQix3R0FBRSxhQUFhLHFvQkFBRSxPQUFPLG1GQUFFLGNBQWMsbWlCQUFFLGdCQUFnQiw0SEFBRSxjQUFjLGdMQUFFLFlBQVk7OzJGQUV2Tyx5QkFBeUI7a0JBUnJDLFNBQVM7MkJBQ0YsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLFlBQVksRUFBRSxFQUFFLGFBR2pDLENBQUMsY0FBYyxDQUFDLGNBQ2YsSUFBSSxXQUNQLENBQUMsY0FBYyxFQUFHLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLFlBQVksQ0FBQzs7MEJBa0NoUCxNQUFNOzJCQUFDLGVBQWU7eUNBL0JmLElBQUk7c0JBQWIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZsYXRUcmVlQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90cmVlJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdCxcclxuICBJbmplY3RhYmxlLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dUaXRsZSwgTWF0RGlhbG9nQ29udGVudCwgTWF0RGlhbG9nQWN0aW9ucywgTWF0RGlhbG9nQ2xvc2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRUcmVlRmxhdERhdGFTb3VyY2UsIE1hdFRyZWVGbGF0dGVuZXIsIE1hdFRyZWVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90cmVlJztcclxuaW1wb3J0IHsgU3lzdGVtVXRpbHMgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mIGFzIG9ic2VydmFibGVPZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEl0ZW1Ob2RlLCBTZWxlY3RhYmxlTm9kZSwgU2VsZWN0RGlhbG9nUmVzdWx0LCBTZWxlY3RUcmVlRGlhbG9nRGF0YSB9IGZyb20gJy4uLy4uL2RlZmluaXRpb25zJztcclxuaW1wb3J0IHsgU2FmZUh0bWxQaXBlIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuaW1wb3J0IHsgRXh0ZW5kZWRNb2R1bGUgfSBmcm9tICdAbmdicmFja2V0L25neC1sYXlvdXQvZXh0ZW5kZWQnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgRmxleE1vZHVsZSB9IGZyb20gJ0BuZ2JyYWNrZXQvbmd4LWxheW91dC9mbGV4JztcclxuaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVHJlZURhdGFTb3VyY2Uge1xyXG4gIGRhdGFDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEl0ZW1Ob2RlW10+KFtdKTtcclxuXHJcbiAgZ2V0IGRhdGEoKTogSXRlbU5vZGVbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRhQ2hhbmdlLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbHppZSB0aGUgZGF0YSBzb3VyY2VcclxuICAgKiBAcGFyYW0gZGF0YSA6IGRhdGFcclxuICAgKi9cclxuICBpbml0aWFsaXplKGRhdGE6IEl0ZW1Ob2RlW10pIHtcclxuICAgIHRoaXMuZGF0YUNoYW5nZS5uZXh0KGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmluZCBhIG5vZGUgYnkgaWQgcmVjdXJzaXZlbHlcclxuICAgKiBAcGFyYW0gbm9kZTogdGhlIHNvdXJjZSBub2RlXHJcbiAgICogQHBhcmFtIGlkIDogdGhlIGlkIHRvIHNlYXJjaCBmb3JcclxuICAgKi9cclxuICBmaW5kTm9kZShub2RlOiBJdGVtTm9kZSwgaWQ6IHN0cmluZyk6IEl0ZW1Ob2RlIHtcclxuICAgIGxldCBjaGlsZHJlbjtcclxuICAgIGlmIChub2RlICYmIG5vZGUuaWQgPT09IGlkKSByZXR1cm4gbm9kZTtcclxuICAgIGlmIChub2RlKSBjaGlsZHJlbiA9IG5vZGUuY2hpbGRyZW47XHJcbiAgICBlbHNlIGlmICh0aGlzLmRhdGEgJiYgdGhpcy5kYXRhLmxlbmd0aCA+IDApXHJcbiAgICAgIGNoaWxkcmVuID0gdGhpcy5kYXRhWzBdLmNoaWxkcmVuO1xyXG4gICAgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIGxldCBfbiA9IG51bGw7XHJcbiAgICAgIGNoaWxkcmVuLnNvbWUobiA9PiB7XHJcbiAgICAgICAgaWYgKG4uaWQgPT09IGlkKSB7XHJcbiAgICAgICAgICBfbiA9IG47XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgX24gPSB0aGlzLmZpbmROb2RlKG4sIGlkKTtcclxuICAgICAgICBpZiAoX24pIHJldHVybiB0cnVlO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBfbjtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBSZW1vdmUgYSBub2RlXHJcbiAgICogQHBhcmFtIGlkIDogdGhlIG5vZGUgaWQgdG8gcmVtb3ZlXHJcbiAgICovXHJcbiAgcmVtb3ZlTm9kZShpZDogc3RyaW5nKSB7XHJcbiAgICBsZXQgbiA9IHRoaXMuZmluZE5vZGUobnVsbCwgaWQpO1xyXG4gICAgaWYgKCFuKSByZXR1cm47XHJcbiAgICBpZiAobi5wYXJlbnQpIHtcclxuICAgICAgbGV0IGkgPSBTeXN0ZW1VdGlscy5hcnJheUZpbmRJbmRleEJ5S2V5KG4ucGFyZW50LmNoaWxkcmVuLCAnaWQnLCBpZCk7XHJcbiAgICAgIGlmIChpICE9IC0xKSB7XHJcbiAgICAgICAgbi5wYXJlbnQuY2hpbGRyZW4uc3BsaWNlKGksIDEpO1xyXG4gICAgICAgIGlmIChuLnBhcmVudC5jb3VudCA+IDApIG4ucGFyZW50LmNvdW50LS07XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBpID0gU3lzdGVtVXRpbHMuYXJyYXlGaW5kSW5kZXhCeUtleSh0aGlzLmRhdGEsICdpZCcsIGlkKTtcclxuICAgICAgaWYgKGkgIT0gLTEpIHtcclxuICAgICAgICB0aGlzLmRhdGEuc3BsaWNlKGksIDEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kYXRhQ2hhbmdlLm5leHQodGhpcy5kYXRhKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluc2VydCBhIG5ldyBub2RlXHJcbiAgICogQHBhcmFtIG5vZGUgOiB0aGUgbmV3IG5vZGVcclxuICAgKi9cclxuICBpbnNlcnROb2RlKG5vZGU6IEl0ZW1Ob2RlKSB7XHJcbiAgICBpZiAobm9kZS5wYXJlbnQpIHtcclxuICAgICAgbm9kZS5wYXJlbnQuY2hpbGRyZW4udW5zaGlmdChub2RlKTtcclxuICAgICAgbm9kZS5wYXJlbnQuY291bnQrKztcclxuICAgIH0gZWxzZSB0aGlzLmRhdGEudW5zaGlmdChub2RlKTtcclxuXHJcbiAgICB0aGlzLmRhdGFDaGFuZ2UubmV4dCh0aGlzLmRhdGEpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVuYW1lIGEgbm9kZVxyXG4gICAqIEBwYXJhbSBpZCA6IHRoZSBub2RlIGlkXHJcbiAgICogQHBhcmFtIG5hbWUgOiB0aGUgbmV3IG5vZGUgbmFtZVxyXG4gICAqL1xyXG4gIHJlbmFtZU5vZGUoaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nKTogSXRlbU5vZGUge1xyXG4gICAgbGV0IG4gPSB0aGlzLmZpbmROb2RlKG51bGwsIGlkKTtcclxuICAgIGlmIChuKSB7XHJcbiAgICAgIG4ubmFtZSA9IG5hbWU7XHJcbiAgICAgIHRoaXMuZGF0YUNoYW5nZS5uZXh0KHRoaXMuZGF0YSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSBkYXRhXHJcbiAgICovXHJcbiAgdXBkYXRlKCkge1xyXG4gICAgdGhpcy5kYXRhQ2hhbmdlLm5leHQodGhpcy5kYXRhKTtcclxuICB9XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIGhvc3Q6IHsgJ0JpbmQnOiBTeXN0ZW1VdGlscy5nZW5lcmF0ZVVVSUQoKSB9LFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtdHJlZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC10cmVlLWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1RyZWVEYXRhU291cmNlXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtNYXREaWFsb2dUaXRsZSwgIEZsZXhNb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZSwgTWF0SW5wdXRNb2R1bGUsIEZvcm1zTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGUsIE1hdERpYWxvZ0NvbnRlbnQsIE1hdFRyZWVNb2R1bGUsIE5nQ2xhc3MsIEV4dGVuZGVkTW9kdWxlLCBNYXREaWFsb2dBY3Rpb25zLCBNYXREaWFsb2dDbG9zZSwgU2FmZUh0bWxQaXBlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VsZWN0VHJlZURpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBAT3V0cHV0KCkgZG9uZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0RGlhbG9nUmVzdWx0PigpO1xyXG5cclxuICBwcml2YXRlIF9fZCQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBkYXRhOiBTZWxlY3RUcmVlRGlhbG9nRGF0YTtcclxuICB0cmVlQ29udHJvbDogRmxhdFRyZWVDb250cm9sPFNlbGVjdGFibGVOb2RlPjtcclxuICB0cmVlRmxhdHRlbmVyOiBNYXRUcmVlRmxhdHRlbmVyPEl0ZW1Ob2RlLCBTZWxlY3RhYmxlTm9kZT47XHJcbiAgdHJlZURhdGE6IE1hdFRyZWVGbGF0RGF0YVNvdXJjZTxJdGVtTm9kZSwgU2VsZWN0YWJsZU5vZGU+O1xyXG4gIGN1cnJlbnROb2RlOiBJdGVtTm9kZTtcclxuICBidXN5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8vIFVzZWQgZm9yIGFycmF5IGZpbHRlcmluZ1xyXG4gIGZpbHRlclRleHQ6IHN0cmluZyA9ICcnO1xyXG4gIGZpbHRlcmVkSXRlbXM6IFNlbGVjdGFibGVOb2RlW10gPSBbXTtcclxuICBmaWx0ZXJJbmRleDogbnVtYmVyID0gLTE7XHJcblxyXG4gIC8qKlxyXG4gICAqIE1hbmFnZSBmbGF0IHRyZWUgdmlld1xyXG4gICAqL1xyXG4gIHByaXZhdGUgX2dldENoaWxkcmVuID0gKG5vZGU6IEl0ZW1Ob2RlKTogT2JzZXJ2YWJsZTxJdGVtTm9kZVtdPiA9PlxyXG4gICAgb2JzZXJ2YWJsZU9mKG5vZGUuY2hpbGRyZW4pO1xyXG4gIHByaXZhdGUgX2dldExldmVsID0gKG5vZGU6IFNlbGVjdGFibGVOb2RlKSA9PiBub2RlLmxldmVsO1xyXG4gIHByaXZhdGUgX2lzRXhwYW5kYWJsZSA9IChub2RlOiBTZWxlY3RhYmxlTm9kZSkgPT4gbm9kZS5leHBhbmRhYmxlO1xyXG4gIGhhc0NoaWxkID0gKF86IG51bWJlciwgX25vZGU6IFNlbGVjdGFibGVOb2RlKSA9PiBfbm9kZS5leHBhbmRhYmxlO1xyXG4gIHRyYW5zZm9ybWVyID0gKGl0ZW06IEl0ZW1Ob2RlLCBsZXZlbDogbnVtYmVyKSA9PiB7XHJcbiAgICByZXR1cm4gbmV3IFNlbGVjdGFibGVOb2RlKGl0ZW0sIGxldmVsKTtcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8U2VsZWN0VHJlZURpYWxvZ0NvbXBvbmVudD4sXHJcbiAgICBwcml2YXRlIHRyZWU6IFRyZWVEYXRhU291cmNlLFxyXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIF9kYXRhOiBTZWxlY3RUcmVlRGlhbG9nRGF0YVxyXG4gICkge1xyXG4gICAgdGhpcy50cmVlRmxhdHRlbmVyID0gbmV3IE1hdFRyZWVGbGF0dGVuZXIoXHJcbiAgICAgIHRoaXMudHJhbnNmb3JtZXIsXHJcbiAgICAgIHRoaXMuX2dldExldmVsLFxyXG4gICAgICB0aGlzLl9pc0V4cGFuZGFibGUsXHJcbiAgICAgIHRoaXMuX2dldENoaWxkcmVuXHJcbiAgICApO1xyXG4gICAgdGhpcy50cmVlQ29udHJvbCA9IG5ldyBGbGF0VHJlZUNvbnRyb2w8U2VsZWN0YWJsZU5vZGU+KFxyXG4gICAgICB0aGlzLl9nZXRMZXZlbCxcclxuICAgICAgdGhpcy5faXNFeHBhbmRhYmxlXHJcbiAgICApO1xyXG4gICAgdGhpcy50cmVlRGF0YSA9IG5ldyBNYXRUcmVlRmxhdERhdGFTb3VyY2UoXHJcbiAgICAgIHRoaXMudHJlZUNvbnRyb2wsXHJcbiAgICAgIHRoaXMudHJlZUZsYXR0ZW5lclxyXG4gICAgKTtcclxuICAgIHRyZWUuZGF0YUNoYW5nZVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fX2QkKSlcclxuICAgICAgLnN1YnNjcmliZShkYXRhID0+ICh0aGlzLnRyZWVEYXRhLmRhdGEgPSBkYXRhKSk7XHJcbiAgICB0aGlzLnRyZWUuaW5pdGlhbGl6ZShfZGF0YS5ub2Rlcyk7XHJcbiAgICB0aGlzLmRhdGEgPSBfZGF0YSB8fCB7IGFwcGVhcmFuY2U6ICdvdXRsaW5lJywgdGl0bGU6ICdTZWxlemlvbmEnIH07XHJcblxyXG4gICAgaWYgKCF0aGlzLmRhdGEudGl0bGUpIHRoaXMuZGF0YS50aXRsZSA9ICdTZWxlemlvbmEnO1xyXG4gICAgaWYgKCF0aGlzLmRhdGEub2tDYXB0aW9uKSB0aGlzLmRhdGEub2tDYXB0aW9uID0gJ09LJztcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMuZGF0YS5pbml0aWFsRmlsdGVyKSB0aGlzLmRvRmlsdGVyKHRoaXMuZGF0YS5pbml0aWFsRmlsdGVyKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLl9fZCQubmV4dCgpO1xyXG4gICAgdGhpcy5fX2QkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdWJtaXQgc2VsZWN0aW9uXHJcbiAgICovXHJcbiAgb2soKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuZG9uZS5lbWl0KHsgc2VsZWN0ZWRJdGVtczogW3RoaXMuY3VycmVudE5vZGVdIH0pO1xyXG4gICAgfSwgNTAwKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbGVjdCAgYSBub2RlXHJcbiAgICogQHBhcmFtIGUgOiB0aGUgZXZlbnRcclxuICAgKiBAcGFyYW0gbm9kZSA6IHRoZVxyXG4gICAqL1xyXG4gIHNlbGVjdChlOiBhbnksIG5vZGU6IFNlbGVjdGFibGVOb2RlKSB7XHJcbiAgICBpZiAoZSkgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGlmIChub2RlKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudE5vZGUgPSBub2RlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYXIgZmlsdGVyXHJcbiAgICovXHJcbiAgY2xlYXJGaWx0ZXIoKSB7XHJcbiAgICB0aGlzLmZpbHRlclRleHQgPSAnJztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFwcGx5IGZpbHRlclxyXG4gICAqIEBwYXJhbSB0ZXh0IDogdGhlIHRleHQgdG8gZmlsdGVyXHJcbiAgICovXHJcbiAgZG9GaWx0ZXIodGV4dDogc3RyaW5nID0gbnVsbCkge1xyXG4gICAgaWYgKHRleHQpIHRoaXMuZmlsdGVyVGV4dCA9IHRleHQ7XHJcbiAgICB0aGlzLmZpbHRlcmVkSXRlbXMgPSBbXTtcclxuICAgIHRoaXMuZmlsdGVySW5kZXggPSAtMTtcclxuICAgIGlmICh0aGlzLmZpbHRlclRleHQpIHtcclxuICAgICAgdGhpcy50cmVlQ29udHJvbC5kYXRhTm9kZXMuZm9yRWFjaChuID0+IHtcclxuICAgICAgICBpZiAobi5uYW1lLmluZGV4T2YodGhpcy5maWx0ZXJUZXh0KSAhPSAtMSkge1xyXG4gICAgICAgICAgdGhpcy5maWx0ZXJlZEl0ZW1zLnB1c2gobik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGlmICh0aGlzLmZpbHRlcmVkSXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMubmV4dEZpbHRlcmVkKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdvdG8gbmV4dCBmaWx0ZXJlZCBpdGVtXHJcbiAgICovXHJcbiAgbmV4dEZpbHRlcmVkKCkge1xyXG4gICAgaWYgKCFTeXN0ZW1VdGlscy5pc0Jyb3dzZXIoKSkgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyZWRJdGVtcy5sZW5ndGggPT09IDApIHJldHVybjtcclxuICAgIHRoaXMuZmlsdGVySW5kZXgrKztcclxuICAgIGlmICh0aGlzLmZpbHRlckluZGV4ID09PSB0aGlzLmZpbHRlcmVkSXRlbXMubGVuZ3RoKSB0aGlzLmZpbHRlckluZGV4ID0gMDtcclxuICAgIGxldCBub2RlID0gdGhpcy5maWx0ZXJlZEl0ZW1zW3RoaXMuZmlsdGVySW5kZXhdO1xyXG4gICAgdGhpcy5jdXJyZW50Tm9kZSA9IG5vZGU7XHJcbiAgICB0aGlzLmV4cGFuZChub2RlKTtcclxuICAgIGxldCBlbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobm9kZS5pZCk7XHJcbiAgICBpZiAoZWxlbSkgZWxlbS5zY3JvbGxJbnRvVmlldygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXhwYW5kIGEgbm9kZSBhbmQgYWxsIGl0cyBwYXJlbnRzXHJcbiAgICogQHBhcmFtIG5vZGUgOiB0aGUgc2VsZWN0YWJsZSBub2RlIHRvIGV4cGFuZFxyXG4gICAqL1xyXG4gIGV4cGFuZChub2RlOiBTZWxlY3RhYmxlTm9kZSkge1xyXG4gICAgdGhpcy50cmVlQ29udHJvbC5leHBhbmQobm9kZSk7XHJcbiAgICBsZXQgX24gPSBub2RlLnBhcmVudDtcclxuICAgIHdoaWxlIChfbikge1xyXG4gICAgICB0aGlzLnRyZWVDb250cm9sLmRhdGFOb2Rlcy5zb21lKG4gPT4ge1xyXG4gICAgICAgIGlmIChuLmlkID09PSBfbi5pZCkge1xyXG4gICAgICAgICAgdGhpcy50cmVlQ29udHJvbC5leHBhbmQobik7XHJcbiAgICAgICAgICBfbiA9IF9uLnBhcmVudDtcclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufVxyXG5cclxuIiwiPGgyIG1hdC1kaWFsb2ctdGl0bGUgKGtleXVwLkFycm93RG93bik9XCJuZXh0RmlsdGVyZWQoKVwiPnt7ZGF0YS50aXRsZX19PC9oMj5cclxuPGRpdiBzdHlsZT1cInBhZGRpbmc6IDAgMjRweFwiPlxyXG4gIEBpZiAoZGF0YS5kZXNjcmlwdGlvbikge1xyXG4gIDxkaXYgW2lubmVySHRtbF09XCJkYXRhLmRlc2NyaXB0aW9uIHwgc2FmZUh0bWxcIj48L2Rpdj5cclxuICB9XHJcbiAgPGRpdj5cclxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjEwcHhcIiBmeEZpbGw+XHJcbiAgICAgIDxkaXYgZnhGbGV4PVwiNTBcIj5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgc3R5bGU9XCJ3aWR0aDoxMDAlXCIgW2FwcGVhcmFuY2VdPVwiZGF0YS5hcHBlYXJhbmNlXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiID5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+Q2VyY2EuLi48L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNka0ZvY3VzSW5pdGlhbCAoa2V5dXApPVwiZG9GaWx0ZXIoKVwiIG1hdElucHV0IHRpdGxlPVwiRGlnaXRhIGlsIHRlc3RvJ1wiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVyVGV4dFwiPlxyXG4gICAgICAgICAgQGlmIChmaWx0ZXJUZXh0KSB7XHJcbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiB0eXBlPVwiYnV0dG9uXCIgdGFiaW5kZXg9XCItMVwiIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gYXJpYS1sYWJlbD1cIkNsZWFyXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyRmlsdGVyKClcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICBAaWYgKGZpbHRlcmVkSXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICA8ZGl2IGZ4RmxleD1cIjUwcHhcIiBmeExheW91dEFsaWduPVwiZW5kXCI+XHJcbiAgICAgICAgPGRpdiBmeEZsZXhBbGlnbj1cImNlbnRlclwiIHN0eWxlPSdmb250LXNpemU6IHgtc21hbGwnPnt7ZmlsdGVySW5kZXggKyAxfX0gLyB7e2ZpbHRlcmVkSXRlbXMubGVuZ3RofX08L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgICAgPGRpdiBmeEZsZXg9XCI1MFwiIGZ4TGF5b3V0QWxpZ249XCJlbmRcIiBzdHlsZT1cIndoaXRlLXNwYWNlOm5vd3JhcFwiPlxyXG4gICAgICAgIDxkaXYgZnhGbGV4QWxpZ249XCJjZW50ZXJcIj5cclxuICAgICAgICAgIEBpZiAoZmlsdGVyZWRJdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICA8YnV0dG9uIGZ4RmxleEFsaWduPVwiY2VudGVyXCIgdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwibmV4dEZpbHRlcmVkKClcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJWYWkgYWwgcHJvc3NpbW9cIiBtYXRUb29sdGlwPVwiVmFpIGFsIHByb3NzaW1vXCI+YXJyb3dfZG93bndhcmQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICA8YnV0dG9uIGZ4RmxleEFsaWduPVwiY2VudGVyXCIgdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwidHJlZUNvbnRyb2wuY29sbGFwc2VBbGwoKVwiPlxyXG4gICAgICAgICAgICA8bWF0LWljb24gYXJpYS1sYWJlbD1cIkNvbXByaW1pIHR1dHRvXCIgbWF0VG9vbHRpcD1cIkNvbXByaW1pIHR1dHRvXCI+dW5mb2xkX2xlc3M8L21hdC1pY29uPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uIGZ4RmxleEFsaWduPVwiY2VudGVyXCIgdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwidHJlZUNvbnRyb2wuZXhwYW5kQWxsKClcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJFc3BhbmRpIHR1dHRvXCIgbWF0VG9vbHRpcD1cIkVzcGFuZGkgdHV0dG9cIj51bmZvbGRfbW9yZTwvbWF0LWljb24+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxyXG4gIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeEZpbGw+XHJcbiAgICA8bWF0LXRyZWUgW2RhdGFTb3VyY2VdPVwidHJlZURhdGFcIiBbdHJlZUNvbnRyb2xdPVwidHJlZUNvbnRyb2xcIiBjbGFzcz1cInNjcm9sbGFibGUtY29udGVudFwiPlxyXG4gICAgICA8bWF0LXRyZWUtbm9kZSBbaWRdPVwibm9kZS5pZFwiICptYXRUcmVlTm9kZURlZj1cImxldCBub2RlXCIgbWF0VHJlZU5vZGVUb2dnbGUgbWF0VHJlZU5vZGVQYWRkaW5nXHJcbiAgICAgICAgW21hdFRyZWVOb2RlUGFkZGluZ0luZGVudF09XCIyMFwiIGNsYXNzPVwidHJlZS1ub2RlIHRyZWUtbm9kZS1zaW1wbGVcIiAoY2xpY2spPVwic2VsZWN0KCRldmVudCwgbm9kZSk7XCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7J3RyZWUtbm9kZS1hY3RpdmF0ZWQnOiBjdXJyZW50Tm9kZSAmJiBjdXJyZW50Tm9kZS5pZCA9PT0gbm9kZS5pZH1cIiBbZGlzYWJsZWRdPVwiYnVzeVwiPlxyXG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjVweFwiIGZ4RmlsbCBjbGFzcz1cInNtYWxsXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gZGlzYWJsZWQgY2xhc3M9XCJzbWFsbC1pY29uLWJ1dHRvblwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgPGRpdiBmeEZsZXg9XCIqXCIgZnhGbGV4QWxpZ249XCJjZW50ZXJcIiBzdHlsZT1cInRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgXCI+XHJcbiAgICAgICAgICAgIHt7bm9kZS5uYW1lfX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBmeEZsZXg9XCIzMHB4XCIgZnhGbGV4QWxpZ249XCJjZW50ZXJcIj5cclxuICAgICAgICAgICAgQGlmIChub2RlLmNvdW50ID4gMCkge1xyXG4gICAgICAgICAgICA8c3BhbiBmeExheW91dEFsaWduPVwiZW5kXCI+KHt7bm9kZS5jb3VudH19KTwvc3Bhbj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbWF0LXRyZWUtbm9kZT5cclxuXHJcbiAgICAgIDxtYXQtdHJlZS1ub2RlIFtpZF09XCJub2RlLmlkXCIgKm1hdFRyZWVOb2RlRGVmPVwibGV0IG5vZGU7d2hlbjogaGFzQ2hpbGRcIiBtYXRUcmVlTm9kZVBhZGRpbmdcclxuICAgICAgICBbbWF0VHJlZU5vZGVQYWRkaW5nSW5kZW50XT1cIjIwXCIgY2xhc3M9XCJ0cmVlLW5vZGUgdHJlZS1ub2RlLXNpbXBsZVwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieyd0cmVlLW5vZGUtYWN0aXZhdGVkJzogY3VycmVudE5vZGUgJiYgY3VycmVudE5vZGUuaWQgPT09IG5vZGUuaWQgfVwiIChjbGljayk9XCJzZWxlY3QoJGV2ZW50LCBub2RlKTtcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJidXN5XCI+XHJcbiAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0R2FwPVwiNXB4XCIgZnhGaWxsIGNsYXNzPVwic21hbGxcIj5cclxuICAgICAgICAgIDxkaXYgZnhGbGV4PVwiMzBweFwiIGZ4RmxleEFsaWduPVwiY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiBtYXRUcmVlTm9kZVRvZ2dsZSBbYXR0ci5hcmlhLWxhYmVsXT1cIidBcHJpL2NoaXVkaSAnICsgbm9kZS5uYW1lXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInNtYWxsLWljb24tYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tcnRsLW1pcnJvclwiPlxyXG4gICAgICAgICAgICAgICAge3t0cmVlQ29udHJvbC5pc0V4cGFuZGVkKG5vZGUpID8gJ2V4cGFuZF9tb3JlJyA6ICdjaGV2cm9uX3JpZ2h0J319XHJcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgZnhGbGV4PVwiKlwiIGZ4RmxleEFsaWduPVwiY2VudGVyXCIgc3R5bGU9XCJ0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IFwiIGNsYXNzPVwidHJ1bmNhdGVkXCI+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAge3tub2RlLm5hbWV9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBmeEZsZXg9XCIzMHB4XCIgZnhGbGV4QWxpZ249XCJjZW50ZXJcIj5cclxuICAgICAgICAgICAgQGlmIChub2RlLmNvdW50ID4gMCkge1xyXG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0QWxpZ249XCJlbmRcIj4oe3tub2RlLmNvdW50fX0pPC9kaXY+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L21hdC10cmVlLW5vZGU+XHJcbiAgICA8L21hdC10cmVlPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJlbmRcIiBmeEZpbGw+XHJcbiAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwib2soKVwiIFxyXG4gICAgICBbZGlzYWJsZWRdPVwiIWN1cnJlbnROb2RlXCI+e3tkYXRhLm9rQ2FwdGlvbn19PC9idXR0b24+XHJcbiAgICA8YnV0dG9uIG1hdC1idXR0b24gbWF0LWRpYWxvZy1jbG9zZSBjZGtGb2N1c0luaXRpYWwgXHJcbiAgICAgIGNvbG9yPVwicHJpbWFyeVwiPkFOTlVMTEE8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+Il19
|