@worktile/theia 15.1.4 → 15.1.6-bugfix
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/esm2020/components/contextmenu/contextmenu.component.mjs +3 -3
- package/esm2020/plugins/color/toolbar-item.component.mjs +1 -1
- package/esm2020/plugins/common/common.plugin.mjs +11 -2
- package/esm2020/plugins/table/components/table.component.mjs +29 -18
- package/esm2020/plugins/table/components/toolbar/table-toolbar.component.mjs +3 -3
- package/esm2020/plugins/table/table.editor.mjs +11 -10
- package/esm2020/plugins/table/table.store.mjs +7 -6
- package/esm2020/plugins/table/utils/set-cells-background-color.mjs +14 -14
- package/fesm2015/worktile-theia.mjs +70 -49
- package/fesm2015/worktile-theia.mjs.map +1 -1
- package/fesm2020/worktile-theia.mjs +69 -48
- package/fesm2020/worktile-theia.mjs.map +1 -1
- package/package.json +1 -1
- package/plugins/table/table.editor.d.ts +4 -4
- package/plugins/table/table.store.d.ts +1 -0
|
@@ -57,10 +57,10 @@ export class TheContextMenuComponent {
|
|
|
57
57
|
ngOnInit() { }
|
|
58
58
|
}
|
|
59
59
|
TheContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheContextMenuComponent, deps: [{ token: i0.ElementRef }, { token: i1.ThyPopoverRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
60
|
-
TheContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: TheContextMenuComponent, selector: "the-contextmenu", inputs: { menuEntities: "menuEntities", actionHandle: "actionHandle", activeHandle: "activeHandle", deactivateHandle: "deactivateHandle" }, host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)", "mousedown": "handleMouseDown($event)" }, properties: { "class.the-overlay-menu-wrap": "this.wrap" } }, ngImport: i0, template: "<div class=\"thy-dropdown-menu\">\n <ng-container *ngFor=\"let menuItem of menuEntities\">\n <ng-container *ngIf=\"menuItem.visibility && !menuItem?.isInputNumber && menuItem.key !== 'background-color'\">\n <ng-template [ngTemplateOutlet]=\"defaultMenuTemplate\" [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"menuItem.visibility && menuItem.key === 'background-color'\">\n <ng-template [ngTemplateOutlet]=\"backgroundColorTemplate\" [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"menuItem.visibility && menuItem?.isInputNumber\">\n <ng-template [ngTemplateOutlet]=\"inputNumberMenuTemplate\" [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"></ng-template>\n </ng-container>\n <thy-dropdown-menu-divider *ngIf=\"menuItem.divider && menuItem.visibility\"></thy-dropdown-menu-divider>\n </ng-container>\n</div>\n\n<ng-template #defaultMenuTemplate let-item>\n <a\n href=\"javascript:;\"\n thyDropdownMenuItem\n (mousedown)=\"itemMousedown($event, item)\"\n (mouseenter)=\"itemMouseenter($event, item)\"\n (mouseleave)=\"itemMouseleave($event, item)\"\n >\n <span thyDropdownMenuItemIcon>\n <thy-icon [thyIconName]=\"item.icon\"></thy-icon>\n </span>\n <span thyDropdownMenuItemName>{{ item.name }}</span>\n <span *ngIf=\"item.extendIcon\" thyDropdownMenuItemExtendIcon>\n <thy-icon thyIconName=\"{{ item.extendIcon }}\"></thy-icon>\n </span>\n </a>\n</ng-template>\n\n<ng-template #backgroundColorTemplate let-item>\n <a\n href=\"javascript:;\"\n thyDropdownMenuItem\n thyColorPicker\n thyTrigger=\"hover\"\n thyPlacement=\"
|
|
60
|
+
TheContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: TheContextMenuComponent, selector: "the-contextmenu", inputs: { menuEntities: "menuEntities", actionHandle: "actionHandle", activeHandle: "activeHandle", deactivateHandle: "deactivateHandle" }, host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)", "mousedown": "handleMouseDown($event)" }, properties: { "class.the-overlay-menu-wrap": "this.wrap" } }, ngImport: i0, template: "<div class=\"thy-dropdown-menu\">\n <ng-container *ngFor=\"let menuItem of menuEntities\">\n <ng-container *ngIf=\"menuItem.visibility && !menuItem?.isInputNumber && menuItem.key !== 'background-color'\">\n <ng-template [ngTemplateOutlet]=\"defaultMenuTemplate\" [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"menuItem.visibility && menuItem.key === 'background-color'\">\n <ng-template [ngTemplateOutlet]=\"backgroundColorTemplate\" [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"menuItem.visibility && menuItem?.isInputNumber\">\n <ng-template [ngTemplateOutlet]=\"inputNumberMenuTemplate\" [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"></ng-template>\n </ng-container>\n <thy-dropdown-menu-divider *ngIf=\"menuItem.divider && menuItem.visibility\"></thy-dropdown-menu-divider>\n </ng-container>\n</div>\n\n<ng-template #defaultMenuTemplate let-item>\n <a\n href=\"javascript:;\"\n thyDropdownMenuItem\n (mousedown)=\"itemMousedown($event, item)\"\n (mouseenter)=\"itemMouseenter($event, item)\"\n (mouseleave)=\"itemMouseleave($event, item)\"\n >\n <span thyDropdownMenuItemIcon>\n <thy-icon [thyIconName]=\"item.icon\"></thy-icon>\n </span>\n <span thyDropdownMenuItemName>{{ item.name }}</span>\n <span *ngIf=\"item.extendIcon\" thyDropdownMenuItemExtendIcon>\n <thy-icon thyIconName=\"{{ item.extendIcon }}\"></thy-icon>\n </span>\n </a>\n</ng-template>\n\n<ng-template #backgroundColorTemplate let-item>\n <a\n href=\"javascript:;\"\n thyDropdownMenuItem\n thyColorPicker\n thyTrigger=\"hover\"\n thyPlacement=\"rightTop\"\n [(ngModel)]=\"item.backgroundColor\"\n (ngModelChange)=\"changeColor($event, item)\"\n [thyHasBackdrop]=\"false\"\n >\n <span thyDropdownMenuItemIcon>\n <thy-icon [thyIconName]=\"item.icon\" thyIconType=\"twotone\" [thyTwotoneColor]=\"item.backgroundColor\"></thy-icon>\n </span>\n <span thyDropdownMenuItemName>{{ item.name }}</span>\n <span *ngIf=\"item.extendIcon\" thyDropdownMenuItemExtendIcon>\n <thy-icon thyIconName=\"{{ item.extendIcon }}\"></thy-icon>\n </span>\n </a>\n</ng-template>\n\n<ng-template #inputNumberMenuTemplate let-item>\n <a href=\"javascript:;\" class=\"the-input-number-menu\" thyDropdownMenuItem (click)=\"itemMousedown($event, item)\">\n <span thyDropdownMenuItemIcon>\n <thy-icon [thyIconName]=\"item.icon\"></thy-icon>\n </span>\n <span thyDropdownMenuItemName class=\"d-flex align-items-center\">\n {{ item.name }}\n <thy-input-number\n #inputNumber\n class=\"mx-2\"\n thySize=\"sm\"\n [(ngModel)]=\"item.count\"\n [thyStep]=\"1\"\n [thyMin]=\"1\"\n (click)=\"inputNumberFocus($event)\"\n (thyEnter)=\"itemEnterHandle($event, item)\"\n thyStopPropagation\n ></thy-input-number>\n {{ item.nameSuffix }}\n </span>\n </a>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: i5.ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }, { kind: "directive", type: i5.ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "component", type: i6.ThyDropdownMenuDividerComponent, selector: "thy-dropdown-menu-divider" }, { kind: "directive", type: i6.ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: i6.ThyDropdownMenuItemNameDirective, selector: "[thyDropdownMenuItemName]" }, { kind: "directive", type: i6.ThyDropdownMenuItemIconDirective, selector: "[thyDropdownMenuItemIcon]" }, { kind: "directive", type: i6.ThyDropdownMenuItemExtendIconDirective, selector: "[thyDropdownMenuItemExtendIcon]" }, { kind: "component", type: i7.ThyInputNumberComponent, selector: "thy-input-number", inputs: ["thyAutoFocus", "thyPlaceholder", "thyDisabled", "thyMax", "thyMin", "thyStep", "thySize", "thyPrecision", "thySuffix"], outputs: ["thyBlur", "thyFocus"] }, { kind: "directive", type: i8.ThyColorPickerDirective, selector: "[thyColorPicker]", inputs: ["thyOffset", "thyHasBackdrop", "thyDefaultColor", "thyTransparentColorSelectable", "thyPresetColors", "thyPlacement", "thyTrigger", "thyShowDelay", "thyHideDelay"], outputs: ["thyPanelOpen", "thyPanelClose"] }] });
|
|
61
61
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheContextMenuComponent, decorators: [{
|
|
62
62
|
type: Component,
|
|
63
|
-
args: [{ selector: 'the-contextmenu', template: "<div class=\"thy-dropdown-menu\">\n <ng-container *ngFor=\"let menuItem of menuEntities\">\n <ng-container *ngIf=\"menuItem.visibility && !menuItem?.isInputNumber && menuItem.key !== 'background-color'\">\n <ng-template [ngTemplateOutlet]=\"defaultMenuTemplate\" [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"menuItem.visibility && menuItem.key === 'background-color'\">\n <ng-template [ngTemplateOutlet]=\"backgroundColorTemplate\" [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"menuItem.visibility && menuItem?.isInputNumber\">\n <ng-template [ngTemplateOutlet]=\"inputNumberMenuTemplate\" [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"></ng-template>\n </ng-container>\n <thy-dropdown-menu-divider *ngIf=\"menuItem.divider && menuItem.visibility\"></thy-dropdown-menu-divider>\n </ng-container>\n</div>\n\n<ng-template #defaultMenuTemplate let-item>\n <a\n href=\"javascript:;\"\n thyDropdownMenuItem\n (mousedown)=\"itemMousedown($event, item)\"\n (mouseenter)=\"itemMouseenter($event, item)\"\n (mouseleave)=\"itemMouseleave($event, item)\"\n >\n <span thyDropdownMenuItemIcon>\n <thy-icon [thyIconName]=\"item.icon\"></thy-icon>\n </span>\n <span thyDropdownMenuItemName>{{ item.name }}</span>\n <span *ngIf=\"item.extendIcon\" thyDropdownMenuItemExtendIcon>\n <thy-icon thyIconName=\"{{ item.extendIcon }}\"></thy-icon>\n </span>\n </a>\n</ng-template>\n\n<ng-template #backgroundColorTemplate let-item>\n <a\n href=\"javascript:;\"\n thyDropdownMenuItem\n thyColorPicker\n thyTrigger=\"hover\"\n thyPlacement=\"
|
|
63
|
+
args: [{ selector: 'the-contextmenu', template: "<div class=\"thy-dropdown-menu\">\n <ng-container *ngFor=\"let menuItem of menuEntities\">\n <ng-container *ngIf=\"menuItem.visibility && !menuItem?.isInputNumber && menuItem.key !== 'background-color'\">\n <ng-template [ngTemplateOutlet]=\"defaultMenuTemplate\" [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"menuItem.visibility && menuItem.key === 'background-color'\">\n <ng-template [ngTemplateOutlet]=\"backgroundColorTemplate\" [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"menuItem.visibility && menuItem?.isInputNumber\">\n <ng-template [ngTemplateOutlet]=\"inputNumberMenuTemplate\" [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"></ng-template>\n </ng-container>\n <thy-dropdown-menu-divider *ngIf=\"menuItem.divider && menuItem.visibility\"></thy-dropdown-menu-divider>\n </ng-container>\n</div>\n\n<ng-template #defaultMenuTemplate let-item>\n <a\n href=\"javascript:;\"\n thyDropdownMenuItem\n (mousedown)=\"itemMousedown($event, item)\"\n (mouseenter)=\"itemMouseenter($event, item)\"\n (mouseleave)=\"itemMouseleave($event, item)\"\n >\n <span thyDropdownMenuItemIcon>\n <thy-icon [thyIconName]=\"item.icon\"></thy-icon>\n </span>\n <span thyDropdownMenuItemName>{{ item.name }}</span>\n <span *ngIf=\"item.extendIcon\" thyDropdownMenuItemExtendIcon>\n <thy-icon thyIconName=\"{{ item.extendIcon }}\"></thy-icon>\n </span>\n </a>\n</ng-template>\n\n<ng-template #backgroundColorTemplate let-item>\n <a\n href=\"javascript:;\"\n thyDropdownMenuItem\n thyColorPicker\n thyTrigger=\"hover\"\n thyPlacement=\"rightTop\"\n [(ngModel)]=\"item.backgroundColor\"\n (ngModelChange)=\"changeColor($event, item)\"\n [thyHasBackdrop]=\"false\"\n >\n <span thyDropdownMenuItemIcon>\n <thy-icon [thyIconName]=\"item.icon\" thyIconType=\"twotone\" [thyTwotoneColor]=\"item.backgroundColor\"></thy-icon>\n </span>\n <span thyDropdownMenuItemName>{{ item.name }}</span>\n <span *ngIf=\"item.extendIcon\" thyDropdownMenuItemExtendIcon>\n <thy-icon thyIconName=\"{{ item.extendIcon }}\"></thy-icon>\n </span>\n </a>\n</ng-template>\n\n<ng-template #inputNumberMenuTemplate let-item>\n <a href=\"javascript:;\" class=\"the-input-number-menu\" thyDropdownMenuItem (click)=\"itemMousedown($event, item)\">\n <span thyDropdownMenuItemIcon>\n <thy-icon [thyIconName]=\"item.icon\"></thy-icon>\n </span>\n <span thyDropdownMenuItemName class=\"d-flex align-items-center\">\n {{ item.name }}\n <thy-input-number\n #inputNumber\n class=\"mx-2\"\n thySize=\"sm\"\n [(ngModel)]=\"item.count\"\n [thyStep]=\"1\"\n [thyMin]=\"1\"\n (click)=\"inputNumberFocus($event)\"\n (thyEnter)=\"itemEnterHandle($event, item)\"\n thyStopPropagation\n ></thy-input-number>\n {{ item.nameSuffix }}\n </span>\n </a>\n</ng-template>\n" }]
|
|
64
64
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ThyPopoverRef }]; }, propDecorators: { menuEntities: [{
|
|
65
65
|
type: Input
|
|
66
66
|
}], actionHandle: [{
|
|
@@ -79,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
79
79
|
type: HostListener,
|
|
80
80
|
args: ['mousedown', ['$event']]
|
|
81
81
|
}] } });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvbXBvbmVudHMvY29udGV4dG1lbnUvY29udGV4dG1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvbXBvbmVudHMvY29udGV4dG1lbnUvY29udGV4dG1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUVoRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7QUFPeEQsTUFBTSxPQUFPLHVCQUF1QjtJQWlCaEMsdUJBQXVCLENBQUMsS0FBaUI7UUFDckMsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLE1BQXFCLENBQUMsRUFBRTtZQUMzQyxPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFxQixDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDNUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUM5QjtJQUNMLENBQUM7SUFHRCxlQUFlLENBQUMsS0FBaUI7UUFDN0IsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWlCLEVBQUUsTUFBa0I7UUFDL0MsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQWlCLEVBQUUsTUFBa0I7UUFDaEQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFpQixFQUFFLE1BQWtCO1FBQ2hELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsQ0FBUTtRQUNwQixDQUFDLENBQUMsTUFBc0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsZUFBZSxDQUFDLENBQWEsRUFBRSxNQUFrQjtRQUM3QyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWEsRUFBRSxJQUFnQjtRQUN2QyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsWUFBbUIsVUFBc0IsRUFBVSxhQUFxRDtRQUFyRixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsa0JBQWEsR0FBYixhQUFhLENBQXdDO1FBOUR4RyxpQkFBWSxHQUFpQixFQUFFLENBQUM7UUFZaEMsU0FBSSxHQUFHLElBQUksQ0FBQztJQWtEK0YsQ0FBQztJQUU1RyxRQUFRLEtBQUksQ0FBQzs7b0hBbEVKLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDBYQ1RwQywrL0ZBNEVBOzJGRG5FYSx1QkFBdUI7a0JBSm5DLFNBQVM7K0JBQ0ksaUJBQWlCOzZIQUszQixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFJTixJQUFJO3NCQURILFdBQVc7dUJBQUMsNkJBQTZCO2dCQUkxQyx1QkFBdUI7c0JBRHRCLFlBQVk7dUJBQUMscUJBQXFCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBVy9DLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkluaXQsIENvbXBvbmVudCwgSW5wdXQsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgaXNDb2xvclBhbmVsIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29sb3ItcGlja2VyJztcbmltcG9ydCB7IE1lbnVFbnRpdHkgfSBmcm9tICcuLi8uLi9wbHVnaW5zL3RhYmxlL3RhYmxlLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aGUtY29udGV4dG1lbnUnLFxuICAgIHRlbXBsYXRlVXJsOiAnY29udGV4dG1lbnUuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFRoZUNvbnRleHRNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKVxuICAgIG1lbnVFbnRpdGllczogTWVudUVudGl0eVtdID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIGFjdGlvbkhhbmRsZTogKGVudGl0eTogTWVudUVudGl0eSkgPT4gdm9pZDtcblxuICAgIEBJbnB1dCgpXG4gICAgYWN0aXZlSGFuZGxlOiAoZXZlbnQ6IE1vdXNlRXZlbnQsIGVudGl0eTogTWVudUVudGl0eSkgPT4gdm9pZDtcblxuICAgIEBJbnB1dCgpXG4gICAgZGVhY3RpdmF0ZUhhbmRsZTogKGV2ZW50OiBNb3VzZUV2ZW50LCBlbnRpdHk6IE1lbnVFbnRpdHkpID0+IHZvaWQ7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoZS1vdmVybGF5LW1lbnUtd3JhcCcpXG4gICAgd3JhcCA9IHRydWU7XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDogbW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgICBoYW5kbGVEb2N1bWVudE1vdXNlRG93bihldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBpZiAoaXNDb2xvclBhbmVsKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkgJiYgZXZlbnQuYnV0dG9uICE9PSAyKSB7XG4gICAgICAgICAgICB0aGlzLnRoeVBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gICAgaGFuZGxlTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIGl0ZW1Nb3VzZWRvd24oZXZlbnQ6IE1vdXNlRXZlbnQsIGVudGl0eTogTWVudUVudGl0eSkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmFjdGlvbkhhbmRsZShlbnRpdHkpO1xuICAgICAgICB0aGlzLnRoeVBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBpdGVtTW91c2VsZWF2ZShldmVudDogTW91c2VFdmVudCwgZW50aXR5OiBNZW51RW50aXR5KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuZGVhY3RpdmF0ZUhhbmRsZShldmVudCwgZW50aXR5KTtcbiAgICB9XG5cbiAgICBpdGVtTW91c2VlbnRlcihldmVudDogTW91c2VFdmVudCwgZW50aXR5OiBNZW51RW50aXR5KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuYWN0aXZlSGFuZGxlKGV2ZW50LCBlbnRpdHkpO1xuICAgIH1cblxuICAgIGlucHV0TnVtYmVyRm9jdXMoZTogRXZlbnQpIHtcbiAgICAgICAgKGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5mb2N1cygpO1xuICAgIH1cblxuICAgIGl0ZW1FbnRlckhhbmRsZShlOiBNb3VzZUV2ZW50LCBlbnRpdHk6IE1lbnVFbnRpdHkpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLmFjdGlvbkhhbmRsZShlbnRpdHkpO1xuICAgICAgICB0aGlzLnRoeVBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBjaGFuZ2VDb2xvcihjb2xvcjogc3RyaW5nLCBpdGVtOiBNZW51RW50aXR5KSB7XG4gICAgICAgIGl0ZW0uYmFja2dyb3VuZENvbG9yID0gY29sb3I7XG4gICAgICAgIGl0ZW0uYWN0aXZlSGFuZGxlKHVuZGVmaW5lZCwgaXRlbSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgdGh5UG9wb3ZlclJlZjogVGh5UG9wb3ZlclJlZjxUaGVDb250ZXh0TWVudUNvbXBvbmVudD4pIHt9XG5cbiAgICBuZ09uSW5pdCgpIHt9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGh5LWRyb3Bkb3duLW1lbnVcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWVudUl0ZW0gb2YgbWVudUVudGl0aWVzXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lbnVJdGVtLnZpc2liaWxpdHkgJiYgIW1lbnVJdGVtPy5pc0lucHV0TnVtYmVyICYmIG1lbnVJdGVtLmtleSAhPT0gJ2JhY2tncm91bmQtY29sb3InXCI+XG4gICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGVmYXVsdE1lbnVUZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogbWVudUl0ZW0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lbnVJdGVtLnZpc2liaWxpdHkgJiYgbWVudUl0ZW0ua2V5ID09PSAnYmFja2dyb3VuZC1jb2xvcidcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJiYWNrZ3JvdW5kQ29sb3JUZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogbWVudUl0ZW0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lbnVJdGVtLnZpc2liaWxpdHkgJiYgbWVudUl0ZW0/LmlzSW5wdXROdW1iZXJcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpbnB1dE51bWJlck1lbnVUZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogbWVudUl0ZW0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPHRoeS1kcm9wZG93bi1tZW51LWRpdmlkZXIgKm5nSWY9XCJtZW51SXRlbS5kaXZpZGVyICYmIG1lbnVJdGVtLnZpc2liaWxpdHlcIj48L3RoeS1kcm9wZG93bi1tZW51LWRpdmlkZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdE1lbnVUZW1wbGF0ZSBsZXQtaXRlbT5cbiAgPGFcbiAgICBocmVmPVwiamF2YXNjcmlwdDo7XCJcbiAgICB0aHlEcm9wZG93bk1lbnVJdGVtXG4gICAgKG1vdXNlZG93bik9XCJpdGVtTW91c2Vkb3duKCRldmVudCwgaXRlbSlcIlxuICAgIChtb3VzZWVudGVyKT1cIml0ZW1Nb3VzZWVudGVyKCRldmVudCwgaXRlbSlcIlxuICAgIChtb3VzZWxlYXZlKT1cIml0ZW1Nb3VzZWxlYXZlKCRldmVudCwgaXRlbSlcIlxuICA+XG4gICAgPHNwYW4gdGh5RHJvcGRvd25NZW51SXRlbUljb24+XG4gICAgICA8dGh5LWljb24gW3RoeUljb25OYW1lXT1cIml0ZW0uaWNvblwiPjwvdGh5LWljb24+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIHRoeURyb3Bkb3duTWVudUl0ZW1OYW1lPnt7IGl0ZW0ubmFtZSB9fTwvc3Bhbj5cbiAgICA8c3BhbiAqbmdJZj1cIml0ZW0uZXh0ZW5kSWNvblwiIHRoeURyb3Bkb3duTWVudUl0ZW1FeHRlbmRJY29uPlxuICAgICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwie3sgaXRlbS5leHRlbmRJY29uIH19XCI+PC90aHktaWNvbj5cbiAgICA8L3NwYW4+XG4gIDwvYT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYmFja2dyb3VuZENvbG9yVGVtcGxhdGUgbGV0LWl0ZW0+XG4gIDxhXG4gICAgaHJlZj1cImphdmFzY3JpcHQ6O1wiXG4gICAgdGh5RHJvcGRvd25NZW51SXRlbVxuICAgIHRoeUNvbG9yUGlja2VyXG4gICAgdGh5VHJpZ2dlcj1cImhvdmVyXCJcbiAgICB0aHlQbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgWyhuZ01vZGVsKV09XCJpdGVtLmJhY2tncm91bmRDb2xvclwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlQ29sb3IoJGV2ZW50LCBpdGVtKVwiXG4gICAgW3RoeUhhc0JhY2tkcm9wXT1cImZhbHNlXCJcbiAgPlxuICAgIDxzcGFuIHRoeURyb3Bkb3duTWVudUl0ZW1JY29uPlxuICAgICAgPHRoeS1pY29uIFt0aHlJY29uTmFtZV09XCJpdGVtLmljb25cIiB0aHlJY29uVHlwZT1cInR3b3RvbmVcIiBbdGh5VHdvdG9uZUNvbG9yXT1cIml0ZW0uYmFja2dyb3VuZENvbG9yXCI+PC90aHktaWNvbj5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gdGh5RHJvcGRvd25NZW51SXRlbU5hbWU+e3sgaXRlbS5uYW1lIH19PC9zcGFuPlxuICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5leHRlbmRJY29uXCIgdGh5RHJvcGRvd25NZW51SXRlbUV4dGVuZEljb24+XG4gICAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJ7eyBpdGVtLmV4dGVuZEljb24gfX1cIj48L3RoeS1pY29uPlxuICAgIDwvc3Bhbj5cbiAgPC9hPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNpbnB1dE51bWJlck1lbnVUZW1wbGF0ZSBsZXQtaXRlbT5cbiAgPGEgaHJlZj1cImphdmFzY3JpcHQ6O1wiIGNsYXNzPVwidGhlLWlucHV0LW51bWJlci1tZW51XCIgdGh5RHJvcGRvd25NZW51SXRlbSAoY2xpY2spPVwiaXRlbU1vdXNlZG93bigkZXZlbnQsIGl0ZW0pXCI+XG4gICAgPHNwYW4gdGh5RHJvcGRvd25NZW51SXRlbUljb24+XG4gICAgICA8dGh5LWljb24gW3RoeUljb25OYW1lXT1cIml0ZW0uaWNvblwiPjwvdGh5LWljb24+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIHRoeURyb3Bkb3duTWVudUl0ZW1OYW1lIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAge3sgaXRlbS5uYW1lIH19XG4gICAgICA8dGh5LWlucHV0LW51bWJlclxuICAgICAgICAjaW5wdXROdW1iZXJcbiAgICAgICAgY2xhc3M9XCJteC0yXCJcbiAgICAgICAgdGh5U2l6ZT1cInNtXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJpdGVtLmNvdW50XCJcbiAgICAgICAgW3RoeVN0ZXBdPVwiMVwiXG4gICAgICAgIFt0aHlNaW5dPVwiMVwiXG4gICAgICAgIChjbGljayk9XCJpbnB1dE51bWJlckZvY3VzKCRldmVudClcIlxuICAgICAgICAodGh5RW50ZXIpPVwiaXRlbUVudGVySGFuZGxlKCRldmVudCwgaXRlbSlcIlxuICAgICAgICB0aHlTdG9wUHJvcGFnYXRpb25cbiAgICAgID48L3RoeS1pbnB1dC1udW1iZXI+XG4gICAgICB7eyBpdGVtLm5hbWVTdWZmaXggfX1cbiAgICA8L3NwYW4+XG4gIDwvYT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvbXBvbmVudHMvY29udGV4dG1lbnUvY29udGV4dG1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvbXBvbmVudHMvY29udGV4dG1lbnUvY29udGV4dG1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUVoRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7QUFPeEQsTUFBTSxPQUFPLHVCQUF1QjtJQWlCaEMsdUJBQXVCLENBQUMsS0FBaUI7UUFDckMsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLE1BQXFCLENBQUMsRUFBRTtZQUMzQyxPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFxQixDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDNUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUM5QjtJQUNMLENBQUM7SUFHRCxlQUFlLENBQUMsS0FBaUI7UUFDN0IsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWlCLEVBQUUsTUFBa0I7UUFDL0MsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQWlCLEVBQUUsTUFBa0I7UUFDaEQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFpQixFQUFFLE1BQWtCO1FBQ2hELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsQ0FBUTtRQUNwQixDQUFDLENBQUMsTUFBc0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsZUFBZSxDQUFDLENBQWEsRUFBRSxNQUFrQjtRQUM3QyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWEsRUFBRSxJQUFnQjtRQUN2QyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsWUFBbUIsVUFBc0IsRUFBVSxhQUFxRDtRQUFyRixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsa0JBQWEsR0FBYixhQUFhLENBQXdDO1FBOUR4RyxpQkFBWSxHQUFpQixFQUFFLENBQUM7UUFZaEMsU0FBSSxHQUFHLElBQUksQ0FBQztJQWtEK0YsQ0FBQztJQUU1RyxRQUFRLEtBQUksQ0FBQzs7b0hBbEVKLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDBYQ1RwQyxrZ0dBNEVBOzJGRG5FYSx1QkFBdUI7a0JBSm5DLFNBQVM7K0JBQ0ksaUJBQWlCOzZIQUszQixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFJTixJQUFJO3NCQURILFdBQVc7dUJBQUMsNkJBQTZCO2dCQUkxQyx1QkFBdUI7c0JBRHRCLFlBQVk7dUJBQUMscUJBQXFCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBVy9DLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkluaXQsIENvbXBvbmVudCwgSW5wdXQsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgaXNDb2xvclBhbmVsIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29sb3ItcGlja2VyJztcbmltcG9ydCB7IE1lbnVFbnRpdHkgfSBmcm9tICcuLi8uLi9wbHVnaW5zL3RhYmxlL3RhYmxlLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aGUtY29udGV4dG1lbnUnLFxuICAgIHRlbXBsYXRlVXJsOiAnY29udGV4dG1lbnUuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFRoZUNvbnRleHRNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKVxuICAgIG1lbnVFbnRpdGllczogTWVudUVudGl0eVtdID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIGFjdGlvbkhhbmRsZTogKGVudGl0eTogTWVudUVudGl0eSkgPT4gdm9pZDtcblxuICAgIEBJbnB1dCgpXG4gICAgYWN0aXZlSGFuZGxlOiAoZXZlbnQ6IE1vdXNlRXZlbnQsIGVudGl0eTogTWVudUVudGl0eSkgPT4gdm9pZDtcblxuICAgIEBJbnB1dCgpXG4gICAgZGVhY3RpdmF0ZUhhbmRsZTogKGV2ZW50OiBNb3VzZUV2ZW50LCBlbnRpdHk6IE1lbnVFbnRpdHkpID0+IHZvaWQ7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoZS1vdmVybGF5LW1lbnUtd3JhcCcpXG4gICAgd3JhcCA9IHRydWU7XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDogbW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgICBoYW5kbGVEb2N1bWVudE1vdXNlRG93bihldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBpZiAoaXNDb2xvclBhbmVsKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkgJiYgZXZlbnQuYnV0dG9uICE9PSAyKSB7XG4gICAgICAgICAgICB0aGlzLnRoeVBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gICAgaGFuZGxlTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIGl0ZW1Nb3VzZWRvd24oZXZlbnQ6IE1vdXNlRXZlbnQsIGVudGl0eTogTWVudUVudGl0eSkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmFjdGlvbkhhbmRsZShlbnRpdHkpO1xuICAgICAgICB0aGlzLnRoeVBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBpdGVtTW91c2VsZWF2ZShldmVudDogTW91c2VFdmVudCwgZW50aXR5OiBNZW51RW50aXR5KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuZGVhY3RpdmF0ZUhhbmRsZShldmVudCwgZW50aXR5KTtcbiAgICB9XG5cbiAgICBpdGVtTW91c2VlbnRlcihldmVudDogTW91c2VFdmVudCwgZW50aXR5OiBNZW51RW50aXR5KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuYWN0aXZlSGFuZGxlKGV2ZW50LCBlbnRpdHkpO1xuICAgIH1cblxuICAgIGlucHV0TnVtYmVyRm9jdXMoZTogRXZlbnQpIHtcbiAgICAgICAgKGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5mb2N1cygpO1xuICAgIH1cblxuICAgIGl0ZW1FbnRlckhhbmRsZShlOiBNb3VzZUV2ZW50LCBlbnRpdHk6IE1lbnVFbnRpdHkpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLmFjdGlvbkhhbmRsZShlbnRpdHkpO1xuICAgICAgICB0aGlzLnRoeVBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBjaGFuZ2VDb2xvcihjb2xvcjogc3RyaW5nLCBpdGVtOiBNZW51RW50aXR5KSB7XG4gICAgICAgIGl0ZW0uYmFja2dyb3VuZENvbG9yID0gY29sb3I7XG4gICAgICAgIGl0ZW0uYWN0aXZlSGFuZGxlKHVuZGVmaW5lZCwgaXRlbSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgdGh5UG9wb3ZlclJlZjogVGh5UG9wb3ZlclJlZjxUaGVDb250ZXh0TWVudUNvbXBvbmVudD4pIHt9XG5cbiAgICBuZ09uSW5pdCgpIHt9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGh5LWRyb3Bkb3duLW1lbnVcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWVudUl0ZW0gb2YgbWVudUVudGl0aWVzXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lbnVJdGVtLnZpc2liaWxpdHkgJiYgIW1lbnVJdGVtPy5pc0lucHV0TnVtYmVyICYmIG1lbnVJdGVtLmtleSAhPT0gJ2JhY2tncm91bmQtY29sb3InXCI+XG4gICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGVmYXVsdE1lbnVUZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogbWVudUl0ZW0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lbnVJdGVtLnZpc2liaWxpdHkgJiYgbWVudUl0ZW0ua2V5ID09PSAnYmFja2dyb3VuZC1jb2xvcidcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJiYWNrZ3JvdW5kQ29sb3JUZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogbWVudUl0ZW0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lbnVJdGVtLnZpc2liaWxpdHkgJiYgbWVudUl0ZW0/LmlzSW5wdXROdW1iZXJcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpbnB1dE51bWJlck1lbnVUZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogbWVudUl0ZW0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPHRoeS1kcm9wZG93bi1tZW51LWRpdmlkZXIgKm5nSWY9XCJtZW51SXRlbS5kaXZpZGVyICYmIG1lbnVJdGVtLnZpc2liaWxpdHlcIj48L3RoeS1kcm9wZG93bi1tZW51LWRpdmlkZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdE1lbnVUZW1wbGF0ZSBsZXQtaXRlbT5cbiAgPGFcbiAgICBocmVmPVwiamF2YXNjcmlwdDo7XCJcbiAgICB0aHlEcm9wZG93bk1lbnVJdGVtXG4gICAgKG1vdXNlZG93bik9XCJpdGVtTW91c2Vkb3duKCRldmVudCwgaXRlbSlcIlxuICAgIChtb3VzZWVudGVyKT1cIml0ZW1Nb3VzZWVudGVyKCRldmVudCwgaXRlbSlcIlxuICAgIChtb3VzZWxlYXZlKT1cIml0ZW1Nb3VzZWxlYXZlKCRldmVudCwgaXRlbSlcIlxuICA+XG4gICAgPHNwYW4gdGh5RHJvcGRvd25NZW51SXRlbUljb24+XG4gICAgICA8dGh5LWljb24gW3RoeUljb25OYW1lXT1cIml0ZW0uaWNvblwiPjwvdGh5LWljb24+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIHRoeURyb3Bkb3duTWVudUl0ZW1OYW1lPnt7IGl0ZW0ubmFtZSB9fTwvc3Bhbj5cbiAgICA8c3BhbiAqbmdJZj1cIml0ZW0uZXh0ZW5kSWNvblwiIHRoeURyb3Bkb3duTWVudUl0ZW1FeHRlbmRJY29uPlxuICAgICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwie3sgaXRlbS5leHRlbmRJY29uIH19XCI+PC90aHktaWNvbj5cbiAgICA8L3NwYW4+XG4gIDwvYT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYmFja2dyb3VuZENvbG9yVGVtcGxhdGUgbGV0LWl0ZW0+XG4gIDxhXG4gICAgaHJlZj1cImphdmFzY3JpcHQ6O1wiXG4gICAgdGh5RHJvcGRvd25NZW51SXRlbVxuICAgIHRoeUNvbG9yUGlja2VyXG4gICAgdGh5VHJpZ2dlcj1cImhvdmVyXCJcbiAgICB0aHlQbGFjZW1lbnQ9XCJyaWdodFRvcFwiXG4gICAgWyhuZ01vZGVsKV09XCJpdGVtLmJhY2tncm91bmRDb2xvclwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlQ29sb3IoJGV2ZW50LCBpdGVtKVwiXG4gICAgW3RoeUhhc0JhY2tkcm9wXT1cImZhbHNlXCJcbiAgPlxuICAgIDxzcGFuIHRoeURyb3Bkb3duTWVudUl0ZW1JY29uPlxuICAgICAgPHRoeS1pY29uIFt0aHlJY29uTmFtZV09XCJpdGVtLmljb25cIiB0aHlJY29uVHlwZT1cInR3b3RvbmVcIiBbdGh5VHdvdG9uZUNvbG9yXT1cIml0ZW0uYmFja2dyb3VuZENvbG9yXCI+PC90aHktaWNvbj5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gdGh5RHJvcGRvd25NZW51SXRlbU5hbWU+e3sgaXRlbS5uYW1lIH19PC9zcGFuPlxuICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5leHRlbmRJY29uXCIgdGh5RHJvcGRvd25NZW51SXRlbUV4dGVuZEljb24+XG4gICAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJ7eyBpdGVtLmV4dGVuZEljb24gfX1cIj48L3RoeS1pY29uPlxuICAgIDwvc3Bhbj5cbiAgPC9hPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNpbnB1dE51bWJlck1lbnVUZW1wbGF0ZSBsZXQtaXRlbT5cbiAgPGEgaHJlZj1cImphdmFzY3JpcHQ6O1wiIGNsYXNzPVwidGhlLWlucHV0LW51bWJlci1tZW51XCIgdGh5RHJvcGRvd25NZW51SXRlbSAoY2xpY2spPVwiaXRlbU1vdXNlZG93bigkZXZlbnQsIGl0ZW0pXCI+XG4gICAgPHNwYW4gdGh5RHJvcGRvd25NZW51SXRlbUljb24+XG4gICAgICA8dGh5LWljb24gW3RoeUljb25OYW1lXT1cIml0ZW0uaWNvblwiPjwvdGh5LWljb24+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIHRoeURyb3Bkb3duTWVudUl0ZW1OYW1lIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAge3sgaXRlbS5uYW1lIH19XG4gICAgICA8dGh5LWlucHV0LW51bWJlclxuICAgICAgICAjaW5wdXROdW1iZXJcbiAgICAgICAgY2xhc3M9XCJteC0yXCJcbiAgICAgICAgdGh5U2l6ZT1cInNtXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJpdGVtLmNvdW50XCJcbiAgICAgICAgW3RoeVN0ZXBdPVwiMVwiXG4gICAgICAgIFt0aHlNaW5dPVwiMVwiXG4gICAgICAgIChjbGljayk9XCJpbnB1dE51bWJlckZvY3VzKCRldmVudClcIlxuICAgICAgICAodGh5RW50ZXIpPVwiaXRlbUVudGVySGFuZGxlKCRldmVudCwgaXRlbSlcIlxuICAgICAgICB0aHlTdG9wUHJvcGFnYXRpb25cbiAgICAgID48L3RoeS1pbnB1dC1udW1iZXI+XG4gICAgICB7eyBpdGVtLm5hbWVTdWZmaXggfX1cbiAgICA8L3NwYW4+XG4gIDwvYT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -49,7 +49,7 @@ export class TheColorToolbarItemComponent extends TheBaseToolbarItem {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
TheColorToolbarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheColorToolbarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
52
|
-
TheColorToolbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: TheColorToolbarItemComponent, selector: "the-color-toolbar-item", host: { classAttribute: "the-toolbar-item" }, usesInheritance: true, ngImport: i0, template: "<a\n href=\"javascript:;\"\n thyAction\n [thyActionActive]=\"active\"\n [thyTooltip]=\"toolbarItem.name\"\n thyTooltipPlacement=\"top\"\n thyColorPicker\n thyPlacement=\"bottomLeft\"\n [(ngModel)]=\"selectedColor\"\n (ngModelChange)=\"changeColor($event)\"\n (mousedown)=\"preventDefault($event)\"\n>\n <thy-icon\n [thyIconName]=\"toolbarItem.icon\"\n thyIconType=\"twotone\"\n [thyTwotoneColor]=\"active ?? (toolbarItem.key === 'color' ? defaultColorLine : defaultBackgroundColorLine)\"\n ></thy-icon>\n <thy-icon class=\"link-down-icon font-size-sm text-desc ml-1\" thyIconName=\"caret-down\"></thy-icon>\n</a>\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: i3.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: i4.ThyActionComponent, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "directive", type: i5.ThyColorPickerDirective, selector: "[thyColorPicker]", inputs: ["thyOffset", "thyHasBackdrop", "thyDefaultColor", "thyTransparentColorSelectable", "thyPresetColors"], outputs: ["thyPanelOpen", "thyPanelClose"] }] });
|
|
52
|
+
TheColorToolbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: TheColorToolbarItemComponent, selector: "the-color-toolbar-item", host: { classAttribute: "the-toolbar-item" }, usesInheritance: true, ngImport: i0, template: "<a\n href=\"javascript:;\"\n thyAction\n [thyActionActive]=\"active\"\n [thyTooltip]=\"toolbarItem.name\"\n thyTooltipPlacement=\"top\"\n thyColorPicker\n thyPlacement=\"bottomLeft\"\n [(ngModel)]=\"selectedColor\"\n (ngModelChange)=\"changeColor($event)\"\n (mousedown)=\"preventDefault($event)\"\n>\n <thy-icon\n [thyIconName]=\"toolbarItem.icon\"\n thyIconType=\"twotone\"\n [thyTwotoneColor]=\"active ?? (toolbarItem.key === 'color' ? defaultColorLine : defaultBackgroundColorLine)\"\n ></thy-icon>\n <thy-icon class=\"link-down-icon font-size-sm text-desc ml-1\" thyIconName=\"caret-down\"></thy-icon>\n</a>\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: i3.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: i4.ThyActionComponent, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "directive", type: i5.ThyColorPickerDirective, selector: "[thyColorPicker]", inputs: ["thyOffset", "thyHasBackdrop", "thyDefaultColor", "thyTransparentColorSelectable", "thyPresetColors", "thyPlacement", "thyTrigger", "thyShowDelay", "thyHideDelay"], outputs: ["thyPanelOpen", "thyPanelClose"] }] });
|
|
53
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheColorToolbarItemComponent, decorators: [{
|
|
54
54
|
type: Component,
|
|
55
55
|
args: [{ selector: 'the-color-toolbar-item', host: {
|
|
@@ -2,8 +2,9 @@ import { createPluginFactory } from '../../core';
|
|
|
2
2
|
import { PluginKeys, ToolbarItemType } from '../../interfaces';
|
|
3
3
|
import { DropdownMode, ElementKinds, MarkTypes, ToolbarActionTypes } from '../../constants';
|
|
4
4
|
import { isColorIndicator, isColorInput, isColorPanel } from '../../utils/color-picker';
|
|
5
|
+
import { ThyPopover } from 'ngx-tethys/popover';
|
|
5
6
|
export const withInternalCommon = (editor) => {
|
|
6
|
-
const { globalMousedown } = editor;
|
|
7
|
+
const { globalMousedown, onKeydown } = editor;
|
|
7
8
|
editor.globalMousedown = (event) => {
|
|
8
9
|
const target = event.target;
|
|
9
10
|
if (isColorIndicator(target)) {
|
|
@@ -18,6 +19,14 @@ export const withInternalCommon = (editor) => {
|
|
|
18
19
|
}
|
|
19
20
|
globalMousedown(event);
|
|
20
21
|
};
|
|
22
|
+
editor.onKeydown = (event) => {
|
|
23
|
+
const isColorPanel = document.querySelector('.thy-color-picker-panel') || document.querySelector('.thy-color-picker-custom-panel');
|
|
24
|
+
if (editor.selection && isColorPanel) {
|
|
25
|
+
const popover = editor.injector.get(ThyPopover);
|
|
26
|
+
popover.close();
|
|
27
|
+
}
|
|
28
|
+
onKeydown(event);
|
|
29
|
+
};
|
|
21
30
|
return editor;
|
|
22
31
|
};
|
|
23
32
|
export const createCommonPlugin = createPluginFactory({
|
|
@@ -37,4 +46,4 @@ export const createCommonPlugin = createPluginFactory({
|
|
|
37
46
|
}
|
|
38
47
|
]
|
|
39
48
|
});
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2NvbW1vbi9jb21tb24ucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTVGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWhELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQW1CLE1BQVMsRUFBSyxFQUFFO0lBQ2pFLE1BQU0sRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRTlDLE1BQU0sQ0FBQyxlQUFlLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7UUFDM0MsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQXFCLENBQUM7UUFDM0MsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMxQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEIsT0FBTztTQUNWO1FBQ0QsSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdEIsT0FBTztTQUNWO1FBQ0QsSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQzFCO1FBQ0QsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUMsQ0FBQztJQUVGLE1BQU0sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUU7UUFDeEMsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxhQUFhLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUNuSSxJQUFJLE1BQU0sQ0FBQyxTQUFTLElBQUksWUFBWSxFQUFFO1lBQ2xDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2hELE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNuQjtRQUNELFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxtQkFBbUIsQ0FBQztJQUNsRCxHQUFHLEVBQUUsVUFBVSxDQUFDLGNBQWM7SUFDOUIsYUFBYSxFQUFFLGtCQUFrQjtJQUNqQyxZQUFZLEVBQUU7UUFDVjtZQUNJLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQyxLQUFLO1lBQzdCLElBQUksRUFBRSxJQUFJO1lBQ1YsSUFBSSxFQUFFLE1BQU07WUFDWixJQUFJLEVBQUUsZUFBZSxDQUFDLFFBQVE7WUFDOUIsWUFBWSxFQUFFLFlBQVksQ0FBQyxJQUFJO1lBQy9CLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQyxLQUFLO1lBQ3pDLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsd0JBQXdCLEVBQUUsSUFBSTtZQUM5QixRQUFRLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQztTQUM3RTtLQUNKO0NBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlUGx1Z2luRmFjdG9yeSB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgUGx1Z2luS2V5cywgVG9vbGJhckl0ZW1UeXBlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBEcm9wZG93bk1vZGUsIEVsZW1lbnRLaW5kcywgTWFya1R5cGVzLCBUb29sYmFyQWN0aW9uVHlwZXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgaXNDb2xvckluZGljYXRvciwgaXNDb2xvcklucHV0LCBpc0NvbG9yUGFuZWwgfSBmcm9tICcuLi8uLi91dGlscy9jb2xvci1waWNrZXInO1xuaW1wb3J0IHsgVGh5UG9wb3ZlciB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5cbmV4cG9ydCBjb25zdCB3aXRoSW50ZXJuYWxDb21tb24gPSA8VCBleHRlbmRzIEVkaXRvcj4oZWRpdG9yOiBUKTogVCA9PiB7XG4gICAgY29uc3QgeyBnbG9iYWxNb3VzZWRvd24sIG9uS2V5ZG93biB9ID0gZWRpdG9yO1xuXG4gICAgZWRpdG9yLmdsb2JhbE1vdXNlZG93biA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGlmIChpc0NvbG9ySW5kaWNhdG9yKHRhcmdldCkpIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0NvbG9ySW5wdXQodGFyZ2V0KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0NvbG9yUGFuZWwodGFyZ2V0KSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgICAgICBnbG9iYWxNb3VzZWRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICBlZGl0b3Iub25LZXlkb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGlzQ29sb3JQYW5lbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy50aHktY29sb3ItcGlja2VyLXBhbmVsJykgfHwgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnRoeS1jb2xvci1waWNrZXItY3VzdG9tLXBhbmVsJyk7XG4gICAgICAgIGlmIChlZGl0b3Iuc2VsZWN0aW9uICYmIGlzQ29sb3JQYW5lbCkge1xuICAgICAgICAgICAgY29uc3QgcG9wb3ZlciA9IGVkaXRvci5pbmplY3Rvci5nZXQoVGh5UG9wb3Zlcik7XG4gICAgICAgICAgICBwb3BvdmVyLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgICAgb25LZXlkb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGVkaXRvcjtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVDb21tb25QbHVnaW4gPSBjcmVhdGVQbHVnaW5GYWN0b3J5KHtcbiAgICBrZXk6IFBsdWdpbktleXMuaW50ZXJuYWxDb21tb24sXG4gICAgd2l0aE92ZXJyaWRlczogd2l0aEludGVybmFsQ29tbW9uLFxuICAgIHRvb2xiYXJJdGVtczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFRvb2xiYXJBY3Rpb25UeXBlcy5ncm91cCxcbiAgICAgICAgICAgIG5hbWU6ICfmm7TlpJonLFxuICAgICAgICAgICAgaWNvbjogJ21vcmUnLFxuICAgICAgICAgICAgdHlwZTogVG9vbGJhckl0ZW1UeXBlLmRyb3Bkb3duLFxuICAgICAgICAgICAgZHJvcGRvd25Nb2RlOiBEcm9wZG93bk1vZGUuaWNvbixcbiAgICAgICAgICAgIGRyb3Bkb3duSXRlbUtleTogVG9vbGJhckFjdGlvblR5cGVzLmdyb3VwLFxuICAgICAgICAgICAgZHJvcGRvd25GaXhlZEljb246IHRydWUsXG4gICAgICAgICAgICBpc0hpZGVEcm9wZG93bkFjdGlvbkljb246IHRydWUsXG4gICAgICAgICAgICBpbmNsdWRlczogW01hcmtUeXBlcy51bmRlcmxpbmUsIE1hcmtUeXBlcy5zdHJpa2UsIEVsZW1lbnRLaW5kcy5pbmxpbmVDb2RlXVxuICAgICAgICB9XG4gICAgXVxufSk7XG4iXX0=
|