@worktile/theia 2.1.15 → 2.1.16

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.
Files changed (60) hide show
  1. package/bundles/worktile-theia.umd.js +193 -173
  2. package/bundles/worktile-theia.umd.js.map +1 -1
  3. package/components/toolbar-dropdown/toolbar-dropdown.component.scss +0 -1
  4. package/esm2015/components/color-select/color-select.component.js +3 -3
  5. package/esm2015/components/column-resize/column-resize-notifier.js +3 -3
  6. package/esm2015/components/column-resize/column-resize.directive.js +3 -3
  7. package/esm2015/components/column-resize/column-resize.module.js +8 -8
  8. package/esm2015/components/column-resize/event-dispatcher.js +3 -3
  9. package/esm2015/components/column-resize/overlay-handle.component.js +3 -3
  10. package/esm2015/components/column-resize/resizing.store.js +3 -3
  11. package/esm2015/components/contextmenu/contextmenu.component.js +3 -3
  12. package/esm2015/components/conversion-hint/conversion-hint.component.js +3 -3
  13. package/esm2015/components/element/element.component.js +3 -3
  14. package/esm2015/components/inline-toolbar/inline-toolbar.component.js +3 -3
  15. package/esm2015/components/nav-split-line/nav-split-line.component.js +3 -3
  16. package/esm2015/components/table-select/table-select.component.js +3 -3
  17. package/esm2015/components/template/template.component.js +3 -3
  18. package/esm2015/components/text/text.component.js +3 -3
  19. package/esm2015/components/toolbar/toolbar.component.js +3 -3
  20. package/esm2015/components/toolbar-base-item/toolbar-base-item.component.js +3 -3
  21. package/esm2015/components/toolbar-dropdown/toolbar-dropdown.component.js +5 -4
  22. package/esm2015/components/toolbar-group/toolbar-group.component.js +5 -4
  23. package/esm2015/components/toolbar-item/toolbar-item.component.js +3 -3
  24. package/esm2015/editor.component.js +3 -3
  25. package/esm2015/editor.module.js +4 -4
  26. package/esm2015/interfaces/view-base.js +3 -3
  27. package/esm2015/pipes.js +6 -6
  28. package/esm2015/plugins/blockquote/blockquote.component.js +3 -3
  29. package/esm2015/plugins/code/code.component.js +3 -3
  30. package/esm2015/plugins/color/toolbar-item.component.js +5 -4
  31. package/esm2015/plugins/deserializers/deserialize-md.plugin.js +2 -1
  32. package/esm2015/plugins/hr/hr.component.js +3 -3
  33. package/esm2015/plugins/image/image.component.js +3 -3
  34. package/esm2015/plugins/inline-code/inline-code.component.js +3 -3
  35. package/esm2015/plugins/link/edit/link-edit.component.js +3 -3
  36. package/esm2015/plugins/link/hover/link-hover.component.js +3 -3
  37. package/esm2015/plugins/link/link.component.js +11 -10
  38. package/esm2015/plugins/list/components/bulleted-list.component.js +3 -3
  39. package/esm2015/plugins/list/components/list-item.component.js +3 -3
  40. package/esm2015/plugins/list/components/numbered-list.component.js +3 -3
  41. package/esm2015/plugins/quick-insert/components/quick-insert.component.js +3 -3
  42. package/esm2015/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.js +3 -3
  43. package/esm2015/plugins/quick-insert/quick-insert.editor.js +2 -1
  44. package/esm2015/plugins/table/components/insert-mark/insert-mark.component.js +3 -3
  45. package/esm2015/plugins/table/components/row/row.component.js +3 -3
  46. package/esm2015/plugins/table/components/table.component.js +3 -3
  47. package/esm2015/plugins/table/components/td/td.component.js +3 -3
  48. package/esm2015/plugins/table/components/toolbar/table-toolbar.component.js +3 -3
  49. package/esm2015/plugins/table/table.service.js +5 -4
  50. package/esm2015/plugins/table/table.store.js +3 -3
  51. package/esm2015/plugins/table/toolbar-item.component.js +5 -4
  52. package/esm2015/plugins/todo-item/todo-item.component.js +3 -3
  53. package/esm2015/plugins/vertical-align/toolbar-item.component.js +5 -4
  54. package/esm2015/services/color-select.service.js +5 -4
  55. package/esm2015/services/context.service.js +3 -3
  56. package/esm2015/services/table-contextmenu.service.js +5 -4
  57. package/esm2015/services/toolbar.service.js +3 -3
  58. package/fesm2015/worktile-theia.js +182 -171
  59. package/fesm2015/worktile-theia.js.map +1 -1
  60. package/package.json +1 -1
@@ -87,6 +87,7 @@ export class TheBaseLinkComponent extends TheBaseElementComponent {
87
87
  origin: dom,
88
88
  placement: 'bottomLeft',
89
89
  offset: 8,
90
+ minWidth: 0,
90
91
  hasBackdrop: false,
91
92
  outsideClosable: true,
92
93
  viewContainerRef: this.viewContainerRef,
@@ -127,9 +128,9 @@ export class TheBaseLinkComponent extends TheBaseElementComponent {
127
128
  this.close(LinkCloseTypes.destroy);
128
129
  }
129
130
  }
130
- TheBaseLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheBaseLinkComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.ThyPopover }, { token: i2.Overlay }, { token: i0.ViewContainerRef }, { token: i3.ThyClickDispatcher }], target: i0.ɵɵFactoryTarget.Component });
131
- TheBaseLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheBaseLinkComponent, selector: "[TheBaseLinkComponent]", host: { listeners: { "click": "mousedownHandle($event)" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
132
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheBaseLinkComponent, decorators: [{
131
+ TheBaseLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TheBaseLinkComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.ThyPopover }, { token: i2.Overlay }, { token: i0.ViewContainerRef }, { token: i3.ThyClickDispatcher }], target: i0.ɵɵFactoryTarget.Component });
132
+ TheBaseLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TheBaseLinkComponent, selector: "[TheBaseLinkComponent]", host: { listeners: { "click": "mousedownHandle($event)" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TheBaseLinkComponent, decorators: [{
133
134
  type: Component,
134
135
  args: [{
135
136
  selector: '[TheBaseLinkComponent]',
@@ -147,11 +148,11 @@ export class TheLinkComponent extends TheBaseLinkComponent {
147
148
  this.inlineChromiumBugfix = String.fromCodePoint(160);
148
149
  }
149
150
  }
150
- TheLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheLinkComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
151
- TheLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheLinkComponent, selector: "span[theLink]", usesInheritance: true, ngImport: i0, template: ` <span contenteditable="false" style="font-size: 0;">{{ inlineChromiumBugfix }}</span>
151
+ TheLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TheLinkComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
152
+ TheLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TheLinkComponent, selector: "span[theLink]", usesInheritance: true, ngImport: i0, template: ` <span contenteditable="false" style="font-size: 0;">{{ inlineChromiumBugfix }}</span>
152
153
  <slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children>
153
154
  <span contenteditable="false" style="font-size: 0;">{{ inlineChromiumBugfix }}</span>`, isInline: true, components: [{ type: i4.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }] });
154
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheLinkComponent, decorators: [{
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TheLinkComponent, decorators: [{
155
156
  type: Component,
156
157
  args: [{
157
158
  selector: 'span[theLink]',
@@ -162,9 +163,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
162
163
  }] });
163
164
  export class TheReadonlyLinkComponent extends TheBaseLinkComponent {
164
165
  }
165
- TheReadonlyLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheReadonlyLinkComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
166
- TheReadonlyLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheReadonlyLinkComponent, selector: "a[theLink]", host: { attributes: { "target": "_blank" }, properties: { "attr.href": "element.url" } }, usesInheritance: true, ngImport: i0, template: `<slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children>`, isInline: true, components: [{ type: i4.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }] });
167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheReadonlyLinkComponent, decorators: [{
166
+ TheReadonlyLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TheReadonlyLinkComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
167
+ TheReadonlyLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TheReadonlyLinkComponent, selector: "a[theLink]", host: { attributes: { "target": "_blank" }, properties: { "attr.href": "element.url" } }, usesInheritance: true, ngImport: i0, template: `<slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children>`, isInline: true, components: [{ type: i4.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }] });
168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TheReadonlyLinkComponent, decorators: [{
168
169
  type: Component,
169
170
  args: [{
170
171
  selector: 'a[theLink]',
@@ -175,4 +176,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
175
176
  }
176
177
  }]
177
178
  }] });
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9saW5rL2xpbmsuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQXNFLFlBQVksRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVwSSxPQUFPLEVBQVUsT0FBTyxFQUFFLElBQUksSUFBSSxTQUFTLEVBQUUsVUFBVSxFQUFRLE1BQU0sT0FBTyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7O0FBUWxFLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx1QkFBNEM7SUFZbEYsWUFDVyxVQUFzQixFQUN0QixHQUFzQixFQUNyQixVQUFzQixFQUN0QixPQUFnQixFQUNoQixnQkFBa0MsRUFDbEMsa0JBQXNDO1FBRTlDLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFQaEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUNyQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBZWxELHdCQUFtQixHQUFHLENBQUMsS0FBMEIsRUFBRSxFQUFFO1lBQ2pELElBQUksSUFBSSxDQUFDLGlCQUFpQixJ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O2lCQUM3Rjs7QUFlRCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsb0JBQW9COztzSEFBckQsd0JBQXdCOzBHQUF4Qix3QkFBd0IsbUtBTnZCLGlIQUFpSDs0RkFNbEgsd0JBQXdCO2tCQVJwQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxZQUFZO29CQUN0QixRQUFRLEVBQUUsaUhBQWlIO29CQUMzSCxJQUFJLEVBQUU7d0JBQ0YsYUFBYSxFQUFFLGFBQWE7d0JBQzVCLE1BQU0sRUFBRSxRQUFRO3FCQUNuQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBDaGFuZ2VEZXRlY3RvclJlZiwgVmlld0NvbnRhaW5lclJlZiwgSG9zdExpc3RlbmVyLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXIsIFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgRWRpdG9yLCBFbGVtZW50LCBOb2RlIGFzIFNsYXRlTm9kZSwgVHJhbnNmb3JtcywgVGV4dCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEVsZW1lbnRLaW5kcyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBMaW5rRWxlbWVudCB9IGZyb20gJy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBUaGVCYXNlRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTGlua0Nsb3NlVHlwZXMsIExpbmtUYWdzIH0gZnJvbSAnLi9saW5rLnR5cGVzJztcbmltcG9ydCB7IFRoZUxpbmtIb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vaG92ZXIvbGluay1ob3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlTGlua0VkaXRDb21wb25lbnQgfSBmcm9tICcuL2VkaXQvbGluay1lZGl0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaHlDbGlja0Rpc3BhdGNoZXIgfSBmcm9tICduZ3gtdGV0aHlzJztcbmltcG9ydCB7IFNsYXRlRWxlbWVudENvbnRleHQgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdbVGhlQmFzZUxpbmtDb21wb25lbnRdJyxcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgY2xhc3MgVGhlQmFzZUxpbmtDb21wb25lbnQgZXh0ZW5kcyBUaGVCYXNlRWxlbWVudENvbXBvbmVudDxMaW5rRWxlbWVudCwgRWRpdG9yPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICB0aHlQb3BvdmVySG92ZXJSZWY6IFRoeVBvcG92ZXJSZWY8YW55PjtcbiAgICB0aHlQb3BvdmVyRWRpdFJlZjogVGh5UG9wb3ZlclJlZjxhbnk+O1xuXG4gICAgZ2V0IGxpbmtIb3Zlck9wZW5lZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGh5UG9wb3ZlckhvdmVyUmVmICYmIHRoaXMudGh5UG9wb3ZlckhvdmVyUmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgIH1cblxuICAgIGdldCBsaW5rRWRpdE9wZW5lZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGh5UG9wb3ZlckVkaXRSZWYgJiYgdGhpcy50aHlQb3BvdmVyRWRpdFJlZi5jb21wb25lbnRJbnN0YW5jZTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHRoeVBvcG92ZXI6IFRoeVBvcG92ZXIsXG4gICAgICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIHRoeUNsaWNrRGlzcGF0Y2hlcjogVGh5Q2xpY2tEaXNwYXRjaGVyXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgfVxuXG4gICAgY2xvc2VIb3ZlclBvcG92ZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmxpbmtIb3Zlck9wZW5lZCkge1xuICAgICAgICAgICAgdGhpcy50aHlQb3BvdmVySG92ZXJSZWYuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJlZm9yZUNvbnRleHRDaGFuZ2UgPSAodmFsdWU6IFNsYXRlRWxlbWVudENvbnRleHQpID0+IHtcbiAgICAgICAgaWYgKHRoaXMudGh5UG9wb3ZlckVkaXRSZWYgJiYgdGhpcy50aHlQb3BvdmVyRWRpdFJlZi5jb21wb25lbnRJbnN0YW5jZSkge1xuICAgICAgICAgICAgbGV0IHsgb3JpZ2luVGV4dCB9ID0gdGhpcy50aHlQb3BvdmVyRWRpdFJlZi5jb21wb25lbnRJbnN0YW5jZTtcbiAgICAgICAgICAgIGlmIChvcmlnaW5UZXh0ICYmIG9yaWdpblRleHQgIT09ICh2YWx1ZS5lbGVtZW50LmNoaWxkcmVuWzBdIGFzIFRleHQpLnRleHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRoeVBvcG92ZXJFZGl0UmVmLmNvbXBvbmVudEluc3RhbmNlLm9yaWdpblRleHQgPSAodmFsdWUuZWxlbWVudC5jaGlsZHJlblswXSBhcyBUZXh0KS50ZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBtb3VzZWRvd25IYW5kbGUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLnJlYWRvbmx5ICYmICF0aGlzLmVkaXRvci5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5vcGVuTGlua0hvdmVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvcGVuTGlua0VkaXQodGFnOiBMaW5rVGFncykge1xuICAgICAgICBpZiAodGhpcy5saW5rSG92ZXJPcGVuZWQpIHtcbiAgICAgICAgICAgIHRoaXMudGh5UG9wb3ZlckhvdmVyUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmludGVybmFsT3BlbkxpbmtFZGl0KHRhZyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMudGh5UG9wb3Zlci5jbG9zZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbE9wZW5MaW5rRWRpdCh0YWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNMaW5rRWRpdE9wZW5lZEJ5RG9tKGRvbTogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGlua0VkaXRPcGVuZWQgJiYgdGhpcy50aHlQb3BvdmVyRWRpdFJlZi5jb21wb25lbnRJbnN0YW5jZS5kb20gPT09IGRvbTtcbiAgICB9XG5cbiAgICBjbG9zZUVkaXRQb3BvdmVyKHR5cGU/OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMubGlua0VkaXRPcGVuZWQpIHtcbiAgICAgICAgICAgIHRoaXMudGh5UG9wb3ZlckVkaXRSZWYuY2xvc2UodHlwZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvcGVuTGlua0hvdmVyKCkge1xuICAgICAgICBjb25zdCBkb20gPSB0aGlzLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuZWxlbWVudC51cmw7XG5cbiAgICAgICAgaWYgKHRoaXMubGlua0hvdmVyT3BlbmVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50aHlQb3BvdmVySG92ZXJSZWYgPSB0aGlzLnRoeVBvcG92ZXIub3BlbihUaGVMaW5rSG92ZXJDb21wb25lbnQsIHtcbiAgICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgICAgIGxpbms6IHVybCxcbiAgICAgICAgICAgICAgICBkb206IGRvbSxcbiAgICAgICAgICAgICAgICBlZGl0SGFuZGxlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlbkxpbmtFZGl0KExpbmtUYWdzLmVkaXQpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZGVsZXRlSGFuZGxlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMudW53cmFwTm9kZXModGhpcy5lZGl0b3IsIHsgbWF0Y2g6IG4gPT4gRWxlbWVudC5pc0VsZW1lbnQobikgJiYgbi50eXBlID09PSBFbGVtZW50S2luZHMubGluayB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZUhvdmVyUG9wb3ZlcigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcmlnaW46IGRvbSxcbiAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbUxlZnQnLFxuICAgICAgICAgICAgb2Zmc2V0OiA4LFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgICAgb3V0c2lkZUNsb3NhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6ICd0aGUtbGluay1vdmVyJ1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGludGVybmFsT3BlbkxpbmtFZGl0KHRhZzogTGlua1RhZ3MpIHtcbiAgICAgICAgY29uc3QgbGluayA9IHRoaXMuZWxlbWVudC51cmw7XG4gICAgICAgIFNsYXRlTm9kZS5nZXQodGhpcy5lZGl0b3IsIHRoaXMuZWRpdG9yLnNlbGVjdGlvbi5mb2N1cy5wYXRoKTtcbiAgICAgICAgdGhpcy50aHlQb3BvdmVyRWRpdFJlZiA9IHRoaXMudGh5UG9wb3Zlci5vcGVuKFRoZUxpbmtFZGl0Q29tcG9uZW50LCB7XG4gICAgICAgICAgICBpbml0aWFsU3RhdGU6IHtcbiAgICAgICAgICAgICAgICB0YWcsXG4gICAgICAgICAgICAgICAgZWRpdG9yOiB0aGlzLmVkaXRvcixcbiAgICAgICAgICAgICAgICBub2RlOiB0aGlzLmVsZW1lbnQsXG4gICAgICAgICAgICAgICAgdGV4dDogU2xhdGVOb2RlLnN0cmluZyh0aGlzLmVsZW1lbnQpLFxuICAgICAgICAgICAgICAgIGxpbmssXG4gICAgICAgICAgICAgICAgb3JpZ2luU2VsZWN0aW9uOiB0aGlzLmVkaXRvci5zZWxlY3Rpb25cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcmlnaW46IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgYmFja2Ryb3BDbG9zYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbUxlZnQnLFxuICAgICAgICAgICAgb2Zmc2V0OiA4LFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgICAgb3JpZ2luQWN0aXZlQ2xhc3M6IG51bGwsXG4gICAgICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnZpZXdDb250YWluZXJSZWYsXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpLFxuICAgICAgICAgICAgcGFuZWxDbGFzczogJ3RoZS1saW5rLWVkaXQnXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBjbG9zZSh0eXBlPzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuY2xvc2VIb3ZlclBvcG92ZXIoKTtcbiAgICAgICAgdGhpcy5jbG9zZUVkaXRQb3BvdmVyKHR5cGUpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgICAgICB0aGlzLmNsb3NlKExpbmtDbG9zZVR5cGVzLmRlc3Ryb3kpO1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzcGFuW3RoZUxpbmtdJyxcbiAgICB0ZW1wbGF0ZTogYCA8c3BhbiBjb250ZW50ZWRpdGFibGU9XCJmYWxzZVwiIHN0eWxlPVwiZm9udC1zaXplOiAwO1wiPnt7IGlubGluZUNocm9taXVtQnVnZml4IH19PC9zcGFuPlxuICAgICAgICA8c2xhdGUtY2hpbGRyZW4gW2NoaWxkcmVuXT1cImNoaWxkcmVuXCIgW2NvbnRleHRdPVwiY2hpbGRyZW5Db250ZXh0XCIgW3ZpZXdDb250ZXh0XT1cInZpZXdDb250ZXh0XCI+PC9zbGF0ZS1jaGlsZHJlbj5cbiAgICAgICAgPHNwYW4gY29udGVudGVkaXRhYmxlPVwiZmFsc2VcIiBzdHlsZT1cImZvbnQtc2l6ZTogMDtcIj57eyBpbmxpbmVDaHJvbWl1bUJ1Z2ZpeCB9fTwvc3Bhbj5gXG59KVxuZXhwb3J0IGNsYXNzIFRoZUxpbmtDb21wb25lbnQgZXh0ZW5kcyBUaGVCYXNlTGlua0NvbXBvbmVudCB7XG4gICAgLy8gUHV0IHRoaXMgYXQgdGhlIHN0YXJ0IGFuZCBlbmQgb2YgYW4gaW5saW5lIGNvbXBvbmVudCB0byB3b3JrIGFyb3VuZCB0aGlzIENocm9taXVtIGJ1ZzpcbiAgICAvLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD0xMjQ5NDA1XG4gICAgaW5saW5lQ2hyb21pdW1CdWdmaXggPSBTdHJpbmcuZnJvbUNvZGVQb2ludCgxNjApO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FbdGhlTGlua10nLFxuICAgIHRlbXBsYXRlOiBgPHNsYXRlLWNoaWxkcmVuIFtjaGlsZHJlbl09XCJjaGlsZHJlblwiIFtjb250ZXh0XT1cImNoaWxkcmVuQ29udGV4dFwiIFt2aWV3Q29udGV4dF09XCJ2aWV3Q29udGV4dFwiPjwvc2xhdGUtY2hpbGRyZW4+YCxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5ocmVmXSc6ICdlbGVtZW50LnVybCcsXG4gICAgICAgIHRhcmdldDogJ19ibGFuaydcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFRoZVJlYWRvbmx5TGlua0NvbXBvbmVudCBleHRlbmRzIFRoZUJhc2VMaW5rQ29tcG9uZW50IHt9XG4iXX0=
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9saW5rL2xpbmsuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQXNFLFlBQVksRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVwSSxPQUFPLEVBQVUsT0FBTyxFQUFFLElBQUksSUFBSSxTQUFTLEVBQUUsVUFBVSxFQUFRLE1BQU0sT0FBTyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7O0FBUWxFLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx1QkFBNEM7SUFZbEYsWUFDVyxVQUFzQixFQUN0QixHQUFzQixFQUNyQixVQUFzQixFQUN0QixPQUFnQixFQUNoQixnQkFBa0MsRUFDbEMsa0JBQXNDO1FBRTlDLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFQaEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUNyQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBZWxELHdCQUFtQixHQUFHLENBQUMsS0FBMEIsRUFBRSxFQUFFO1lBQ2pELElBQUksSUFBSSxDQUFDLGlCQUFpQixJ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ekIsUUFBUSxFQUFFOzs4RkFFZ0Y7aUJBQzdGOztBQWVELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxvQkFBb0I7O3NIQUFyRCx3QkFBd0I7MEdBQXhCLHdCQUF3QixtS0FOdkIsaUhBQWlIOzRGQU1sSCx3QkFBd0I7a0JBUnBDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFFBQVEsRUFBRSxpSEFBaUg7b0JBQzNILElBQUksRUFBRTt3QkFDRixhQUFhLEVBQUUsYUFBYTt3QkFDNUIsTUFBTSxFQUFFLFFBQVE7cUJBQ25CO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIENoYW5nZURldGVjdG9yUmVmLCBWaWV3Q29udGFpbmVyUmVmLCBIb3N0TGlzdGVuZXIsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlciwgVGh5UG9wb3ZlclJlZiB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBFZGl0b3IsIEVsZW1lbnQsIE5vZGUgYXMgU2xhdGVOb2RlLCBUcmFuc2Zvcm1zLCBUZXh0IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IExpbmtFbGVtZW50IH0gZnJvbSAnLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFRoZUJhc2VFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBMaW5rQ2xvc2VUeXBlcywgTGlua1RhZ3MgfSBmcm9tICcuL2xpbmsudHlwZXMnO1xuaW1wb3J0IHsgVGhlTGlua0hvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi9ob3Zlci9saW5rLWhvdmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVMaW5rRWRpdENvbXBvbmVudCB9IGZyb20gJy4vZWRpdC9saW5rLWVkaXQuY29tcG9uZW50JztcbmltcG9ydCB7IFRoeUNsaWNrRGlzcGF0Y2hlciB9IGZyb20gJ25neC10ZXRoeXMnO1xuaW1wb3J0IHsgU2xhdGVFbGVtZW50Q29udGV4dCB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1tUaGVCYXNlTGlua0NvbXBvbmVudF0nLFxuICAgIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBjbGFzcyBUaGVCYXNlTGlua0NvbXBvbmVudCBleHRlbmRzIFRoZUJhc2VFbGVtZW50Q29tcG9uZW50PExpbmtFbGVtZW50LCBFZGl0b3I+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHRoeVBvcG92ZXJIb3ZlclJlZjogVGh5UG9wb3ZlclJlZjxhbnk+O1xuICAgIHRoeVBvcG92ZXJFZGl0UmVmOiBUaHlQb3BvdmVyUmVmPGFueT47XG5cbiAgICBnZXQgbGlua0hvdmVyT3BlbmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50aHlQb3BvdmVySG92ZXJSZWYgJiYgdGhpcy50aHlQb3BvdmVySG92ZXJSZWYuY29tcG9uZW50SW5zdGFuY2U7XG4gICAgfVxuXG4gICAgZ2V0IGxpbmtFZGl0T3BlbmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50aHlQb3BvdmVyRWRpdFJlZiAmJiB0aGlzLnRoeVBvcG92ZXJFZGl0UmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgdGh5UG9wb3ZlcjogVGh5UG9wb3ZlcixcbiAgICAgICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByaXZhdGUgdGh5Q2xpY2tEaXNwYXRjaGVyOiBUaHlDbGlja0Rpc3BhdGNoZXJcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB9XG5cbiAgICBjbG9zZUhvdmVyUG9wb3ZlcigpIHtcbiAgICAgICAgaWYgKHRoaXMubGlua0hvdmVyT3BlbmVkKSB7XG4gICAgICAgICAgICB0aGlzLnRoeVBvcG92ZXJIb3ZlclJlZi5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmVmb3JlQ29udGV4dENoYW5nZSA9ICh2YWx1ZTogU2xhdGVFbGVtZW50Q29udGV4dCkgPT4ge1xuICAgICAgICBpZiAodGhpcy50aHlQb3BvdmVyRWRpdFJlZiAmJiB0aGlzLnRoeVBvcG92ZXJFZGl0UmVmLmNvbXBvbmVudEluc3RhbmNlKSB7XG4gICAgICAgICAgICBsZXQgeyBvcmlnaW5UZXh0IH0gPSB0aGlzLnRoeVBvcG92ZXJFZGl0UmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgICAgICAgICAgaWYgKG9yaWdpblRleHQgJiYgb3JpZ2luVGV4dCAhPT0gKHZhbHVlLmVsZW1lbnQuY2hpbGRyZW5bMF0gYXMgVGV4dCkudGV4dCkge1xuICAgICAgICAgICAgICAgIHRoaXMudGh5UG9wb3ZlckVkaXRSZWYuY29tcG9uZW50SW5zdGFuY2Uub3JpZ2luVGV4dCA9ICh2YWx1ZS5lbGVtZW50LmNoaWxkcmVuWzBdIGFzIFRleHQpLnRleHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICAgIG1vdXNlZG93bkhhbmRsZShldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMucmVhZG9ubHkgJiYgIXRoaXMuZWRpdG9yLmRpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5MaW5rSG92ZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9wZW5MaW5rRWRpdCh0YWc6IExpbmtUYWdzKSB7XG4gICAgICAgIGlmICh0aGlzLmxpbmtIb3Zlck9wZW5lZCkge1xuICAgICAgICAgICAgdGhpcy50aHlQb3BvdmVySG92ZXJSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxPcGVuTGlua0VkaXQodGFnKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy50aHlQb3BvdmVyLmNsb3NlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmludGVybmFsT3BlbkxpbmtFZGl0KHRhZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc0xpbmtFZGl0T3BlbmVkQnlEb20oZG9tOiBIVE1MRWxlbWVudCkge1xuICAgICAgICByZXR1cm4gdGhpcy5saW5rRWRpdE9wZW5lZCAmJiB0aGlzLnRoeVBvcG92ZXJFZGl0UmVmLmNvbXBvbmVudEluc3RhbmNlLmRvbSA9PT0gZG9tO1xuICAgIH1cblxuICAgIGNsb3NlRWRpdFBvcG92ZXIodHlwZT86IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5saW5rRWRpdE9wZW5lZCkge1xuICAgICAgICAgICAgdGhpcy50aHlQb3BvdmVyRWRpdFJlZi5jbG9zZSh0eXBlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9wZW5MaW5rSG92ZXIoKSB7XG4gICAgICAgIGNvbnN0IGRvbSA9IHRoaXMubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5lbGVtZW50LnVybDtcblxuICAgICAgICBpZiAodGhpcy5saW5rSG92ZXJPcGVuZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRoeVBvcG92ZXJIb3ZlclJlZiA9IHRoaXMudGh5UG9wb3Zlci5vcGVuKFRoZUxpbmtIb3ZlckNvbXBvbmVudCwge1xuICAgICAgICAgICAgaW5pdGlhbFN0YXRlOiB7XG4gICAgICAgICAgICAgICAgbGluazogdXJsLFxuICAgICAgICAgICAgICAgIGRvbTogZG9tLFxuICAgICAgICAgICAgICAgIGVkaXRIYW5kbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcGVuTGlua0VkaXQoTGlua1RhZ3MuZWRpdCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBkZWxldGVIYW5kbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy51bndyYXBOb2Rlcyh0aGlzLmVkaXRvciwgeyBtYXRjaDogbiA9PiBFbGVtZW50LmlzRWxlbWVudChuKSAmJiBuLnR5cGUgPT09IEVsZW1lbnRLaW5kcy5saW5rIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlSG92ZXJQb3BvdmVyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9yaWdpbjogZG9tLFxuICAgICAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tTGVmdCcsXG4gICAgICAgICAgICBvZmZzZXQ6IDgsXG4gICAgICAgICAgICBtaW5XaWR0aDogMCxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICAgIG91dHNpZGVDbG9zYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCksXG4gICAgICAgICAgICBwYW5lbENsYXNzOiAndGhlLWxpbmstb3ZlcidcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbnRlcm5hbE9wZW5MaW5rRWRpdCh0YWc6IExpbmtUYWdzKSB7XG4gICAgICAgIGNvbnN0IGxpbmsgPSB0aGlzLmVsZW1lbnQudXJsO1xuICAgICAgICBTbGF0ZU5vZGUuZ2V0KHRoaXMuZWRpdG9yLCB0aGlzLmVkaXRvci5zZWxlY3Rpb24uZm9jdXMucGF0aCk7XG4gICAgICAgIHRoaXMudGh5UG9wb3ZlckVkaXRSZWYgPSB0aGlzLnRoeVBvcG92ZXIub3BlbihUaGVMaW5rRWRpdENvbXBvbmVudCwge1xuICAgICAgICAgICAgaW5pdGlhbFN0YXRlOiB7XG4gICAgICAgICAgICAgICAgdGFnLFxuICAgICAgICAgICAgICAgIGVkaXRvcjogdGhpcy5lZGl0b3IsXG4gICAgICAgICAgICAgICAgbm9kZTogdGhpcy5lbGVtZW50LFxuICAgICAgICAgICAgICAgIHRleHQ6IFNsYXRlTm9kZS5zdHJpbmcodGhpcy5lbGVtZW50KSxcbiAgICAgICAgICAgICAgICBsaW5rLFxuICAgICAgICAgICAgICAgIG9yaWdpblNlbGVjdGlvbjogdGhpcy5lZGl0b3Iuc2VsZWN0aW9uXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb3JpZ2luOiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xvc2FibGU6IHRydWUsXG4gICAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b21MZWZ0JyxcbiAgICAgICAgICAgIG9mZnNldDogOCxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICAgIG9yaWdpbkFjdGl2ZUNsYXNzOiBudWxsLFxuICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6ICd0aGUtbGluay1lZGl0J1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgY2xvc2UodHlwZT86IHN0cmluZykge1xuICAgICAgICB0aGlzLmNsb3NlSG92ZXJQb3BvdmVyKCk7XG4gICAgICAgIHRoaXMuY2xvc2VFZGl0UG9wb3Zlcih0eXBlKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5jbG9zZShMaW5rQ2xvc2VUeXBlcy5kZXN0cm95KTtcbiAgICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc3Bhblt0aGVMaW5rXScsXG4gICAgdGVtcGxhdGU6IGAgPHNwYW4gY29udGVudGVkaXRhYmxlPVwiZmFsc2VcIiBzdHlsZT1cImZvbnQtc2l6ZTogMDtcIj57eyBpbmxpbmVDaHJvbWl1bUJ1Z2ZpeCB9fTwvc3Bhbj5cbiAgICAgICAgPHNsYXRlLWNoaWxkcmVuIFtjaGlsZHJlbl09XCJjaGlsZHJlblwiIFtjb250ZXh0XT1cImNoaWxkcmVuQ29udGV4dFwiIFt2aWV3Q29udGV4dF09XCJ2aWV3Q29udGV4dFwiPjwvc2xhdGUtY2hpbGRyZW4+XG4gICAgICAgIDxzcGFuIGNvbnRlbnRlZGl0YWJsZT1cImZhbHNlXCIgc3R5bGU9XCJmb250LXNpemU6IDA7XCI+e3sgaW5saW5lQ2hyb21pdW1CdWdmaXggfX08L3NwYW4+YFxufSlcbmV4cG9ydCBjbGFzcyBUaGVMaW5rQ29tcG9uZW50IGV4dGVuZHMgVGhlQmFzZUxpbmtDb21wb25lbnQge1xuICAgIC8vIFB1dCB0aGlzIGF0IHRoZSBzdGFydCBhbmQgZW5kIG9mIGFuIGlubGluZSBjb21wb25lbnQgdG8gd29yayBhcm91bmQgdGhpcyBDaHJvbWl1bSBidWc6XG4gICAgLy8gaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9MTI0OTQwNVxuICAgIGlubGluZUNocm9taXVtQnVnZml4ID0gU3RyaW5nLmZyb21Db2RlUG9pbnQoMTYwKTtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhW3RoZUxpbmtdJyxcbiAgICB0ZW1wbGF0ZTogYDxzbGF0ZS1jaGlsZHJlbiBbY2hpbGRyZW5dPVwiY2hpbGRyZW5cIiBbY29udGV4dF09XCJjaGlsZHJlbkNvbnRleHRcIiBbdmlld0NvbnRleHRdPVwidmlld0NvbnRleHRcIj48L3NsYXRlLWNoaWxkcmVuPmAsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuaHJlZl0nOiAnZWxlbWVudC51cmwnLFxuICAgICAgICB0YXJnZXQ6ICdfYmxhbmsnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBUaGVSZWFkb25seUxpbmtDb21wb25lbnQgZXh0ZW5kcyBUaGVCYXNlTGlua0NvbXBvbmVudCB7fVxuIl19
@@ -21,9 +21,9 @@ export class TheBulletedListComponent extends TheBaseElementComponent {
21
21
  super.ngOnDestroy();
22
22
  }
23
23
  }
24
- TheBulletedListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheBulletedListComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.ElementClassPipe }], target: i0.ɵɵFactoryTarget.Component });
25
- TheBulletedListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheBulletedListComponent, selector: "ul[theUl]", host: { properties: { "class": "this.class" } }, providers: [ElementClassPipe], usesInheritance: true, ngImport: i0, template: `<slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children>`, isInline: true, components: [{ type: i2.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }] });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheBulletedListComponent, decorators: [{
24
+ TheBulletedListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TheBulletedListComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.ElementClassPipe }], target: i0.ɵɵFactoryTarget.Component });
25
+ TheBulletedListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TheBulletedListComponent, selector: "ul[theUl]", host: { properties: { "class": "this.class" } }, providers: [ElementClassPipe], usesInheritance: true, ngImport: i0, template: `<slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children>`, isInline: true, components: [{ type: i2.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }] });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TheBulletedListComponent, decorators: [{
27
27
  type: Component,
28
28
  args: [{
29
29
  selector: 'ul[theUl]',
@@ -83,9 +83,9 @@ export class TheListItemComponent extends TheBaseElementComponent {
83
83
  }
84
84
  }
85
85
  }
86
- TheListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheListItemComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
87
- TheListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheListItemComponent, selector: "li[theLi]", usesInheritance: true, ngImport: i0, template: `<slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children>`, isInline: true, components: [{ type: i1.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }] });
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheListItemComponent, decorators: [{
86
+ TheListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TheListItemComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
87
+ TheListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TheListItemComponent, selector: "li[theLi]", usesInheritance: true, ngImport: i0, template: `<slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children>`, isInline: true, components: [{ type: i1.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }] });
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TheListItemComponent, decorators: [{
89
89
  type: Component,
90
90
  args: [{
91
91
  selector: 'li[theLi]',
@@ -24,9 +24,9 @@ export class TheNumberedListComponent extends TheBaseElementComponent {
24
24
  super.ngOnDestroy();
25
25
  }
26
26
  }
27
- TheNumberedListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheNumberedListComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.ElementClassPipe }], target: i0.ɵɵFactoryTarget.Component });
28
- TheNumberedListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheNumberedListComponent, selector: "ol[theOl]", host: { properties: { "attr.start": "this.start", "class": "this.class" } }, providers: [ElementClassPipe], usesInheritance: true, ngImport: i0, template: `<slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children>`, isInline: true, components: [{ type: i2.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }] });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheNumberedListComponent, decorators: [{
27
+ TheNumberedListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TheNumberedListComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.ElementClassPipe }], target: i0.ɵɵFactoryTarget.Component });
28
+ TheNumberedListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TheNumberedListComponent, selector: "ol[theOl]", host: { properties: { "attr.start": "this.start", "class": "this.class" } }, providers: [ElementClassPipe], usesInheritance: true, ngImport: i0, template: `<slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children>`, isInline: true, components: [{ type: i2.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }] });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TheNumberedListComponent, decorators: [{
30
30
  type: Component,
31
31
  args: [{
32
32
  selector: 'ol[theOl]',
@@ -57,9 +57,9 @@ export class TheQuickInsertComponent {
57
57
  QuickInsertEditor.openQuickToolbar(this.editor, this.quickToolbarItems, this.iconElement.nativeElement);
58
58
  }
59
59
  }
60
- TheQuickInsertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheQuickInsertComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
61
- TheQuickInsertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheQuickInsertComponent, selector: "[theQuickInsert]", inputs: { editor: "editor", quickToolbarItems: "quickToolbarItems", isVisible: "isVisible" }, host: { listeners: { "mousedown": "handleMousedownNativeElement($event)" }, properties: { "class.hide": "isHide" }, classAttribute: "the-quick-insert" }, viewQueries: [{ propertyName: "iconElement", first: true, predicate: ["iconElement"], descendants: true, read: ElementRef }], ngImport: i0, template: "<thy-icon\n #iconElement\n [thyIconName]=\"displayIconName\"\n class=\"quick-insert-icon text-desc font-size-xlg\"\n (mouseenter)=\"mouseEnter($event)\"\n (mouseleave)=\"mouseLeave($event)\"\n (mousedown)=\"handleClick($event)\"\n></thy-icon>\n", components: [{ type: i1.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }] });
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheQuickInsertComponent, decorators: [{
60
+ TheQuickInsertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TheQuickInsertComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
61
+ TheQuickInsertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TheQuickInsertComponent, selector: "[theQuickInsert]", inputs: { editor: "editor", quickToolbarItems: "quickToolbarItems", isVisible: "isVisible" }, host: { listeners: { "mousedown": "handleMousedownNativeElement($event)" }, properties: { "class.hide": "isHide" }, classAttribute: "the-quick-insert" }, viewQueries: [{ propertyName: "iconElement", first: true, predicate: ["iconElement"], descendants: true, read: ElementRef }], ngImport: i0, template: "<thy-icon\n #iconElement\n [thyIconName]=\"displayIconName\"\n class=\"quick-insert-icon text-desc font-size-xlg\"\n (mouseenter)=\"mouseEnter($event)\"\n (mouseleave)=\"mouseLeave($event)\"\n (mousedown)=\"handleClick($event)\"\n></thy-icon>\n", components: [{ type: i1.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }] });
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TheQuickInsertComponent, decorators: [{
63
63
  type: Component,
64
64
  args: [{
65
65
  selector: '[theQuickInsert]',
@@ -57,9 +57,9 @@ export class TheQuickToolbarComponent extends mixinUnsubscribe(MixinBase) {
57
57
  super.ngOnDestroy();
58
58
  }
59
59
  }
60
- TheQuickToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheQuickToolbarComponent, deps: [{ token: i1.ThyPopoverRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
61
- TheQuickToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheQuickToolbarComponent, selector: "the-quick-toolbar", inputs: { editor: "editor", quickToolbarItems: "quickToolbarItems" }, host: { listeners: { "document: mousedown": "handleMouseDown($event)", "document: keydown.enter": "handleEnter()", "document: keydown.escape": "handleEsc()" } }, usesInheritance: true, ngImport: i0, template: "<thy-selection-list\n class=\"the-quick-toolbar\"\n [thyBindKeyEventContainer]=\"editorElement\"\n (thySelectionChange)=\"selectionChange($event)\"\n [thyMultiple]=\"false\"\n>\n <ng-container *ngFor=\"let item of quickToolbarItems\">\n <ng-container *ngIf=\"item.key !== ToolbarActionTypes.split; else splitLine\">\n <thy-list-option [thyValue]=\"item?.key\" (mousedown)=\"stopPropagation($event)\">\n <the-toolbar-item [editor]=\"editor\" [item]=\"item\" [itemMode]=\"ToolbarItemMode.vertical\"></the-toolbar-item>\n </thy-list-option>\n </ng-container>\n </ng-container>\n</thy-selection-list>\n\n<ng-template #splitLine>\n <nav-split-line [mode]=\"ToolbarItemMode.horizontal\"></nav-split-line>\n</ng-template>\n", components: [{ type: i2.ThySelectionListComponent, selector: "thy-selection-list,[thy-selection-list]", inputs: ["thyMultiple", "thyBindKeyEventContainer", "thyScrollContainer", "thyBeforeKeydown", "thyUniqueKey", "thyCompareWith", "thyLayout", "thyAutoActiveFirstItem", "thySize", "thySpaceKeyEnabled"], outputs: ["thySelectionChange"] }, { type: i3.ThyListOptionComponent, selector: "thy-list-option,[thy-list-option]", inputs: ["id", "thyValue", "thyDisabled"] }, { type: i4.TheToolbarItemComponent, selector: "the-toolbar-item", inputs: ["editor", "item", "itemMode"] }, { type: i5.NavSplitLineComponent, selector: "nav-split-line", inputs: ["mode"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheQuickToolbarComponent, decorators: [{
60
+ TheQuickToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TheQuickToolbarComponent, deps: [{ token: i1.ThyPopoverRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
61
+ TheQuickToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TheQuickToolbarComponent, selector: "the-quick-toolbar", inputs: { editor: "editor", quickToolbarItems: "quickToolbarItems" }, host: { listeners: { "document: mousedown": "handleMouseDown($event)", "document: keydown.enter": "handleEnter()", "document: keydown.escape": "handleEsc()" } }, usesInheritance: true, ngImport: i0, template: "<thy-selection-list\n class=\"the-quick-toolbar\"\n [thyBindKeyEventContainer]=\"editorElement\"\n (thySelectionChange)=\"selectionChange($event)\"\n [thyMultiple]=\"false\"\n>\n <ng-container *ngFor=\"let item of quickToolbarItems\">\n <ng-container *ngIf=\"item.key !== ToolbarActionTypes.split; else splitLine\">\n <thy-list-option [thyValue]=\"item?.key\" (mousedown)=\"stopPropagation($event)\">\n <the-toolbar-item [editor]=\"editor\" [item]=\"item\" [itemMode]=\"ToolbarItemMode.vertical\"></the-toolbar-item>\n </thy-list-option>\n </ng-container>\n </ng-container>\n</thy-selection-list>\n\n<ng-template #splitLine>\n <nav-split-line [mode]=\"ToolbarItemMode.horizontal\"></nav-split-line>\n</ng-template>\n", components: [{ type: i2.ThySelectionListComponent, selector: "thy-selection-list,[thy-selection-list]", inputs: ["thyMultiple", "thyBindKeyEventContainer", "thyScrollContainer", "thyBeforeKeydown", "thyUniqueKey", "thyCompareWith", "thyLayout", "thyAutoActiveFirstItem", "thySize", "thySpaceKeyEnabled"], outputs: ["thySelectionChange"] }, { type: i3.ThyListOptionComponent, selector: "thy-list-option,[thy-list-option]", inputs: ["id", "thyValue", "thyDisabled"] }, { type: i4.TheToolbarItemComponent, selector: "the-toolbar-item", inputs: ["editor", "item", "itemMode"] }, { type: i5.NavSplitLineComponent, selector: "nav-split-line", inputs: ["mode"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TheQuickToolbarComponent, decorators: [{
63
63
  type: Component,
64
64
  args: [{
65
65
  selector: 'the-quick-toolbar',
@@ -23,6 +23,7 @@ export const QuickInsertEditor = {
23
23
  backdropClosable: true,
24
24
  placement: 'bottomLeft',
25
25
  offset: 4,
26
+ minWidth: 0,
26
27
  hasBackdrop: false,
27
28
  insideClosable: true,
28
29
  panelClass: 'the-quick-toolbar-container',
@@ -58,4 +59,4 @@ export const QuickInsertEditor = {
58
59
  return false;
59
60
  }
60
61
  };
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2staW5zZXJ0LmVkaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3F1aWNrLWluc2VydC9xdWljay1pbnNlcnQuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQWMsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBVSxJQUFJLEVBQVcsS0FBSyxFQUF1QixNQUFNLE9BQU8sQ0FBQztBQUMxRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRy9ELE1BQU0sY0FBYyxHQUFHLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUVwRSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUM3QixnQkFBZ0IsQ0FBQyxNQUFjLEVBQUUsWUFBMkIsRUFBRSxNQUFnQztRQUMxRixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDL0QsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbkQsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUM5RCxZQUFZLEVBQUU7Z0JBQ1YsTUFBTTtnQkFDTixpQkFBaUIsRUFBRSxZQUFZO2FBQ2xDO1lBQ0QsTUFBTTtZQUNOLGdCQUFnQixFQUFFLGdCQUFnQjtZQUNsQyxnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLFNBQVMsRUFBRSxZQUFZO1lBQ3ZCLE1BQU0sRUFBRSxDQUFDO1lBQ1QsV0FBVyxFQUFFLEtBQUs7WUFDbEIsY0FBYyxFQUFFLElBQUk7WUFDcEIsVUFBVSxFQUFFLDZCQUE2QjtZQUN6QyxjQUFjLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRTtZQUNyRCxhQUFhLEVBQUUsSUFBSTtTQUN0QixDQUFDLENBQUM7UUFDSCw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxNQUFjO1FBQzVCLE1BQU0sZUFBZSxHQUFHLDRCQUE0QixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRSxJQUFJLGVBQWUsRUFBRTtZQUNqQixlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDeEIsNEJBQTRCLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNsRDtJQUNMLENBQUM7SUFDRCxhQUFhLENBQUMsTUFBYyxFQUFFLE9BQU8sR0FBRyxjQUFjO1FBQ2xELE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRWpILElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUNwQixPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQVksQ0FBQztRQUNsRixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUNqQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMxQyxNQUFNLE1BQU0sR0FBRyxTQUFTLElBQUksU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFNUQsSUFDSSxNQUFNO1lBQ04sS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUMzQixLQUFLLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxTQUFTO1lBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssb0JBQW9CO1lBQzNDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztZQUM3QixDQUFFLE1BQThCLENBQUMsSUFBSSxLQUFLLG9CQUFvQixJQUFLLE1BQThCLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxFQUN2SDtZQUNFLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBFbGVtZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IEVkaXRvciwgTm9kZSwgRWxlbWVudCwgUmFuZ2UsIEluc2VydFRleHRPcGVyYXRpb24gfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBUSEVfRURJVE9SX1FVSUNLX1RPT0xCQVJfUkVGIH0gZnJvbSAnLi4vLi4vdXRpbHMvd2Vhay1tYXBzJztcbmltcG9ydCB7IFRoZVF1aWNrVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9xdWljay10b29sYmFyL3F1aWNrLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZWRpdG9yJztcbmltcG9ydCB7IEVsZW1lbnRLaW5kcyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9ub2RlLXR5cGVzJztcbmltcG9ydCB7IFFVSUNLX1RPT0xCQVJfSE9US0VZIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3Rvb2xiYXInO1xuaW1wb3J0IHsgVG9vbGJhckl0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3Rvb2xiYXInO1xuXG5jb25zdCBPcGVyYXRpb25UeXBlcyA9IFsnaW5zZXJ0X3RleHQnLCAncmVtb3ZlX25vZGUnLCAnbWVyZ2Vfbm9kZSddO1xuXG5leHBvcnQgY29uc3QgUXVpY2tJbnNlcnRFZGl0b3IgPSB7XG4gICAgb3BlblF1aWNrVG9vbGJhcihlZGl0b3I6IEVkaXRvciwgdG9vbGJhckl0ZW1zOiBUb29sYmFySXRlbVtdLCBvcmlnaW46IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZikge1xuICAgICAgICBjb25zdCBvdmVybGF5ID0gZWRpdG9yLmluamVjdG9yLmdldChPdmVybGF5KTtcbiAgICAgICAgY29uc3Qgdmlld0NvbnRhaW5lclJlZiA9IGVkaXRvci5pbmplY3Rvci5nZXQoVmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIGNvbnN0IHRoeVBvcG92ZXIgPSBlZGl0b3IuaW5qZWN0b3IuZ2V0KFRoeVBvcG92ZXIpO1xuXG4gICAgICAgIGNvbnN0IHF1aWNrVG9vbGJhclJlZiA9IHRoeVBvcG92ZXIub3BlbihUaGVRdWlja1Rvb2xiYXJDb21wb25lbnQsIHtcbiAgICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgICAgICBxdWlja1Rvb2xiYXJJdGVtczogdG9vbGJhckl0ZW1zXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZjogdmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xvc2FibGU6IHRydWUsXG4gICAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b21MZWZ0JyxcbiAgICAgICAgICAgIG9mZnNldDogNCxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICAgIGluc2lkZUNsb3NhYmxlOiB0cnVlLFxuICAgICAgICAgICAgcGFuZWxDbGFzczogJ3RoZS1xdWljay10b29sYmFyLWNvbnRhaW5lcicsXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcbiAgICAgICAgICAgIG1hbnVhbENsb3N1cmU6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICAgIFRIRV9FRElUT1JfUVVJQ0tfVE9PTEJBUl9SRUYuc2V0KGVkaXRvciwgcXVpY2tUb29sYmFyUmVmKTtcbiAgICB9LFxuICAgIGNsb3NlUXVpY2tUb29sYmFyKGVkaXRvcjogRWRpdG9yKSB7XG4gICAgICAgIGNvbnN0IHF1aWNrVG9vbGJhclJlZiA9IFRIRV9FRElUT1JfUVVJQ0tfVE9PTEJBUl9SRUYuZ2V0KGVkaXRvcik7XG4gICAgICAgIGlmIChxdWlja1Rvb2xiYXJSZWYpIHtcbiAgICAgICAgICAgIHF1aWNrVG9vbGJhclJlZi5jbG9zZSgpO1xuICAgICAgICAgICAgVEhFX0VESVRPUl9RVUlDS19UT09MQkFSX1JFRi5zZXQoZWRpdG9yLCBudWxsKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgaXNPcGVuVG9vbGJhcihlZGl0b3I6IEVkaXRvciwgb3BUeXBlcyA9IE9wZXJhdGlvblR5cGVzKSB7XG4gICAgICAgIGNvbnN0IGlzQ29sbGFwc2VkQ3Vyc29yID0gVGhlRWRpdG9yLmlzRm9jdXNlZChlZGl0b3IpICYmIGVkaXRvci5zZWxlY3Rpb24gJiYgUmFuZ2UuaXNDb2xsYXBzZWQoZWRpdG9yLnNlbGVjdGlvbik7XG5cbiAgICAgICAgaWYgKCFpc0NvbGxhcHNlZEN1cnNvcikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYmxvY2sgPSBOb2RlLmFuY2VzdG9yKGVkaXRvciwgW2VkaXRvci5zZWxlY3Rpb24uYW5jaG9yLnBhdGhbMF1dKSBhcyBFbGVtZW50O1xuICAgICAgICBjb25zdCB7IHVuZG9zIH0gPSBlZGl0b3IuaGlzdG9yeTtcbiAgICAgICAgY29uc3QgbGFzdEJhdGNoID0gdW5kb3NbdW5kb3MubGVuZ3RoIC0gMV07XG4gICAgICAgIGNvbnN0IGxhc3RPcCA9IGxhc3RCYXRjaCAmJiBsYXN0QmF0Y2hbbGFzdEJhdGNoLmxlbmd0aCAtIDFdO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGxhc3RPcCAmJlxuICAgICAgICAgICAgYmxvY2suY2hpbGRyZW4ubGVuZ3RoID09PSAxICYmXG4gICAgICAgICAgICBibG9jay50eXBlID09PSBFbGVtZW50S2luZHMucGFyYWdyYXBoICYmXG4gICAgICAgICAgICBOb2RlLnN0cmluZyhibG9jaykgPT09IFFVSUNLX1RPT0xCQVJfSE9US0VZICYmXG4gICAgICAgICAgICBvcFR5cGVzLmluY2x1ZGVzKGxhc3RPcC50eXBlKSAmJlxuICAgICAgICAgICAgKChsYXN0T3AgYXMgSW5zZXJ0VGV4dE9wZXJhdGlvbikudGV4dCA9PT0gUVVJQ0tfVE9PTEJBUl9IT1RLRVkgfHwgKGxhc3RPcCBhcyBJbnNlcnRUZXh0T3BlcmF0aW9uKS50ZXh0ID09PSB1bmRlZmluZWQpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn07XG4iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2staW5zZXJ0LmVkaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3F1aWNrLWluc2VydC9xdWljay1pbnNlcnQuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQWMsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBVSxJQUFJLEVBQVcsS0FBSyxFQUF1QixNQUFNLE9BQU8sQ0FBQztBQUMxRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRy9ELE1BQU0sY0FBYyxHQUFHLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUVwRSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUM3QixnQkFBZ0IsQ0FBQyxNQUFjLEVBQUUsWUFBMkIsRUFBRSxNQUFnQztRQUMxRixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDL0QsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbkQsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUM5RCxZQUFZLEVBQUU7Z0JBQ1YsTUFBTTtnQkFDTixpQkFBaUIsRUFBRSxZQUFZO2FBQ2xDO1lBQ0QsTUFBTTtZQUNOLGdCQUFnQixFQUFFLGdCQUFnQjtZQUNsQyxnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLFNBQVMsRUFBRSxZQUFZO1lBQ3ZCLE1BQU0sRUFBRSxDQUFDO1lBQ1QsUUFBUSxFQUFFLENBQUM7WUFDWCxXQUFXLEVBQUUsS0FBSztZQUNsQixjQUFjLEVBQUUsSUFBSTtZQUNwQixVQUFVLEVBQUUsNkJBQTZCO1lBQ3pDLGNBQWMsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFO1lBQ3JELGFBQWEsRUFBRSxJQUFJO1NBQ3RCLENBQUMsQ0FBQztRQUNILDRCQUE0QixDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUNELGlCQUFpQixDQUFDLE1BQWM7UUFDNUIsTUFBTSxlQUFlLEdBQUcsNEJBQTRCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pFLElBQUksZUFBZSxFQUFFO1lBQ2pCLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN4Qiw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2xEO0lBQ0wsQ0FBQztJQUNELGFBQWEsQ0FBQyxNQUFjLEVBQUUsT0FBTyxHQUFHLGNBQWM7UUFDbEQsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFakgsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3BCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBWSxDQUFDO1FBQ2xGLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ2pDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sTUFBTSxHQUFHLFNBQVMsSUFBSSxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUU1RCxJQUNJLE1BQU07WUFDTixLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQzNCLEtBQUssQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLFNBQVM7WUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxvQkFBb0I7WUFDM0MsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQzdCLENBQUUsTUFBOEIsQ0FBQyxJQUFJLEtBQUssb0JBQW9CLElBQUssTUFBOEIsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLEVBQ3ZIO1lBQ0UsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IEVsZW1lbnRSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXIgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgRWRpdG9yLCBOb2RlLCBFbGVtZW50LCBSYW5nZSwgSW5zZXJ0VGV4dE9wZXJhdGlvbiB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRIRV9FRElUT1JfUVVJQ0tfVE9PTEJBUl9SRUYgfSBmcm9tICcuLi8uLi91dGlscy93ZWFrLW1hcHMnO1xuaW1wb3J0IHsgVGhlUXVpY2tUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3F1aWNrLXRvb2xiYXIvcXVpY2stdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlRWRpdG9yIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9lZGl0b3InO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL25vZGUtdHlwZXMnO1xuaW1wb3J0IHsgUVVJQ0tfVE9PTEJBUl9IT1RLRVkgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvdG9vbGJhcic7XG5pbXBvcnQgeyBUb29sYmFySXRlbSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvdG9vbGJhcic7XG5cbmNvbnN0IE9wZXJhdGlvblR5cGVzID0gWydpbnNlcnRfdGV4dCcsICdyZW1vdmVfbm9kZScsICdtZXJnZV9ub2RlJ107XG5cbmV4cG9ydCBjb25zdCBRdWlja0luc2VydEVkaXRvciA9IHtcbiAgICBvcGVuUXVpY2tUb29sYmFyKGVkaXRvcjogRWRpdG9yLCB0b29sYmFySXRlbXM6IFRvb2xiYXJJdGVtW10sIG9yaWdpbjogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmKSB7XG4gICAgICAgIGNvbnN0IG92ZXJsYXkgPSBlZGl0b3IuaW5qZWN0b3IuZ2V0KE92ZXJsYXkpO1xuICAgICAgICBjb25zdCB2aWV3Q29udGFpbmVyUmVmID0gZWRpdG9yLmluamVjdG9yLmdldChWaWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgY29uc3QgdGh5UG9wb3ZlciA9IGVkaXRvci5pbmplY3Rvci5nZXQoVGh5UG9wb3Zlcik7XG5cbiAgICAgICAgY29uc3QgcXVpY2tUb29sYmFyUmVmID0gdGh5UG9wb3Zlci5vcGVuKFRoZVF1aWNrVG9vbGJhckNvbXBvbmVudCwge1xuICAgICAgICAgICAgaW5pdGlhbFN0YXRlOiB7XG4gICAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICAgIHF1aWNrVG9vbGJhckl0ZW1zOiB0b29sYmFySXRlbXNcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcmlnaW4sXG4gICAgICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiB2aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgYmFja2Ryb3BDbG9zYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbUxlZnQnLFxuICAgICAgICAgICAgb2Zmc2V0OiA0LFxuICAgICAgICAgICAgbWluV2lkdGg6IDAsXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICAgICAgICBpbnNpZGVDbG9zYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6ICd0aGUtcXVpY2stdG9vbGJhci1jb250YWluZXInLFxuICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IG92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCksXG4gICAgICAgICAgICBtYW51YWxDbG9zdXJlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICBUSEVfRURJVE9SX1FVSUNLX1RPT0xCQVJfUkVGLnNldChlZGl0b3IsIHF1aWNrVG9vbGJhclJlZik7XG4gICAgfSxcbiAgICBjbG9zZVF1aWNrVG9vbGJhcihlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICBjb25zdCBxdWlja1Rvb2xiYXJSZWYgPSBUSEVfRURJVE9SX1FVSUNLX1RPT0xCQVJfUkVGLmdldChlZGl0b3IpO1xuICAgICAgICBpZiAocXVpY2tUb29sYmFyUmVmKSB7XG4gICAgICAgICAgICBxdWlja1Rvb2xiYXJSZWYuY2xvc2UoKTtcbiAgICAgICAgICAgIFRIRV9FRElUT1JfUVVJQ0tfVE9PTEJBUl9SRUYuc2V0KGVkaXRvciwgbnVsbCk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGlzT3BlblRvb2xiYXIoZWRpdG9yOiBFZGl0b3IsIG9wVHlwZXMgPSBPcGVyYXRpb25UeXBlcykge1xuICAgICAgICBjb25zdCBpc0NvbGxhcHNlZEN1cnNvciA9IFRoZUVkaXRvci5pc0ZvY3VzZWQoZWRpdG9yKSAmJiBlZGl0b3Iuc2VsZWN0aW9uICYmIFJhbmdlLmlzQ29sbGFwc2VkKGVkaXRvci5zZWxlY3Rpb24pO1xuXG4gICAgICAgIGlmICghaXNDb2xsYXBzZWRDdXJzb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGJsb2NrID0gTm9kZS5hbmNlc3RvcihlZGl0b3IsIFtlZGl0b3Iuc2VsZWN0aW9uLmFuY2hvci5wYXRoWzBdXSkgYXMgRWxlbWVudDtcbiAgICAgICAgY29uc3QgeyB1bmRvcyB9ID0gZWRpdG9yLmhpc3Rvcnk7XG4gICAgICAgIGNvbnN0IGxhc3RCYXRjaCA9IHVuZG9zW3VuZG9zLmxlbmd0aCAtIDFdO1xuICAgICAgICBjb25zdCBsYXN0T3AgPSBsYXN0QmF0Y2ggJiYgbGFzdEJhdGNoW2xhc3RCYXRjaC5sZW5ndGggLSAxXTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBsYXN0T3AgJiZcbiAgICAgICAgICAgIGJsb2NrLmNoaWxkcmVuLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgICAgICAgYmxvY2sudHlwZSA9PT0gRWxlbWVudEtpbmRzLnBhcmFncmFwaCAmJlxuICAgICAgICAgICAgTm9kZS5zdHJpbmcoYmxvY2spID09PSBRVUlDS19UT09MQkFSX0hPVEtFWSAmJlxuICAgICAgICAgICAgb3BUeXBlcy5pbmNsdWRlcyhsYXN0T3AudHlwZSkgJiZcbiAgICAgICAgICAgICgobGFzdE9wIGFzIEluc2VydFRleHRPcGVyYXRpb24pLnRleHQgPT09IFFVSUNLX1RPT0xCQVJfSE9US0VZIHx8IChsYXN0T3AgYXMgSW5zZXJ0VGV4dE9wZXJhdGlvbikudGV4dCA9PT0gdW5kZWZpbmVkKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59O1xuIl19
@@ -80,9 +80,9 @@ export class TheInsertMarkComponent {
80
80
  }
81
81
  ngOnDestroy() { }
82
82
  }
83
- TheInsertMarkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheInsertMarkComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
84
- TheInsertMarkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheInsertMarkComponent, selector: "the-table-insert-mark", inputs: { type: "type", at: "at", tableStore: "tableStore" }, ngImport: i0, template: "<div\n [thyTooltip]=\"!disabled && tooltipContent\"\n class=\"the-table-controls-insert-wrapper\"\n [ngClass]=\"{ disabled: disabled }\"\n contenteditable=\"false\"\n (mousedown)=\"onMouseDown($event)\"\n (mouseenter)=\"onMouseEnter($event)\"\n (mouseleave)=\"onMouseLeave($event)\"\n>\n <div\n class=\"the-table-controls-insert-line\"\n *ngIf=\"dotWrapperHovered\"\n [attr.data-dot-type]=\"type\"\n [ngStyle]=\"{ height: type === 'column' && insertLength, width: type === 'row' && insertLength }\"\n ></div>\n</div>\n", directives: [{ type: i1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheInsertMarkComponent, decorators: [{
83
+ TheInsertMarkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TheInsertMarkComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
84
+ TheInsertMarkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TheInsertMarkComponent, selector: "the-table-insert-mark", inputs: { type: "type", at: "at", tableStore: "tableStore" }, ngImport: i0, template: "<div\n [thyTooltip]=\"!disabled && tooltipContent\"\n class=\"the-table-controls-insert-wrapper\"\n [ngClass]=\"{ disabled: disabled }\"\n contenteditable=\"false\"\n (mousedown)=\"onMouseDown($event)\"\n (mouseenter)=\"onMouseEnter($event)\"\n (mouseleave)=\"onMouseLeave($event)\"\n>\n <div\n class=\"the-table-controls-insert-line\"\n *ngIf=\"dotWrapperHovered\"\n [attr.data-dot-type]=\"type\"\n [ngStyle]=\"{ height: type === 'column' && insertLength, width: type === 'row' && insertLength }\"\n ></div>\n</div>\n", directives: [{ type: i1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TheInsertMarkComponent, decorators: [{
86
86
  type: Component,
87
87
  args: [{
88
88
  selector: 'the-table-insert-mark',
@@ -29,9 +29,9 @@ export class TheTableRowComponent extends TheBaseElementComponent {
29
29
  }
30
30
  }
31
31
  }
32
- TheTableRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheTableRowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
33
- TheTableRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheTableRowComponent, selector: "tr[theTableRow]", host: { properties: { "style.backgroundColor": "this.backgroundColor", "style.height": "this.height" } }, usesInheritance: true, ngImport: i0, template: '<slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children>', isInline: true, components: [{ type: i1.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }] });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheTableRowComponent, decorators: [{
32
+ TheTableRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TheTableRowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
33
+ TheTableRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TheTableRowComponent, selector: "tr[theTableRow]", host: { properties: { "style.backgroundColor": "this.backgroundColor", "style.height": "this.height" } }, usesInheritance: true, ngImport: i0, template: '<slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children>', isInline: true, components: [{ type: i1.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }] });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TheTableRowComponent, decorators: [{
35
35
  type: Component,
36
36
  args: [{
37
37
  selector: 'tr[theTableRow]',
@@ -385,8 +385,8 @@ export class TheTableComponent extends TheBaseElementComponent {
385
385
  this.destroy$.complete();
386
386
  }
387
387
  }
388
- TheTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheTableComponent, deps: [{ token: i0.ElementRef }, { token: i1.TableCellEventDispatcher }, { token: i2.ColumnResizeNotifierSource }, { token: i3.TableStore }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i4.TableService }, { token: i5.TheContextService }, { token: i6.TheTableContextMenuService }], target: i0.ɵɵFactoryTarget.Component });
389
- TheTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheTableComponent, selector: "the-table, [theTable]", host: { listeners: { "mousedown": "handleMousedown($event)" } }, providers: [
388
+ TheTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TheTableComponent, deps: [{ token: i0.ElementRef }, { token: i1.TableCellEventDispatcher }, { token: i2.ColumnResizeNotifierSource }, { token: i3.TableStore }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i4.TableService }, { token: i5.TheContextService }, { token: i6.TheTableContextMenuService }], target: i0.ɵɵFactoryTarget.Component });
389
+ TheTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TheTableComponent, selector: "the-table, [theTable]", host: { listeners: { "mousedown": "handleMousedown($event)" } }, providers: [
390
390
  TableStore,
391
391
  TableService,
392
392
  TheTableContextMenuService,
@@ -397,7 +397,7 @@ TheTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
397
397
  useExisting: TheTableComponent
398
398
  }
399
399
  ], viewQueries: [{ propertyName: "tableWrapper", first: true, predicate: ["tableWrapper"], descendants: true, read: ElementRef, static: true }, { propertyName: "theTableElement", first: true, predicate: ["theTable"], descendants: true, read: ElementRef, static: true }, { propertyName: "tbodyElement", first: true, predicate: ["tbody"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"the-table-container\"\n theColumnResize\n [ngClass]=\"{\n 'the-table-with-controls': isInTable,\n 'the-table-selection-hide': tableStore.isCellSelecting || tableStore.isRightClicking\n }\"\n>\n <div class=\"the-table-row-controls-wrapper\" *ngIf=\"!readonly && isInTable\">\n <div>\n <div\n class=\"the-table-corner-controls\"\n [ngClass]=\"{ active: isSelectedAllCell, dangerous: tableStore.isSelectedTable && tableStore.dangerousCells.length > 0 }\"\n >\n <button type=\"button\" class=\"the-table-corner-button\" (mousedown)=\"onSelectTable($event)\"></button>\n <div class=\"the-table-corner-controls-insert-row-marker\">\n <the-table-insert-mark type=\"row\" [at]=\"0\" [tableStore]=\"tableStore\"></the-table-insert-mark>\n </div>\n <div class=\"the-table-corner-controls-insert-column-marker\">\n <the-table-insert-mark type=\"column\" [at]=\"0\" [tableStore]=\"tableStore\"></the-table-insert-mark>\n </div>\n </div>\n <div class=\"the-table-row-controls\">\n <div class=\"the-table-row-controls-inner\">\n <div\n class=\"the-table-row-controls-button-wrap\"\n *ngFor=\"let control of rowControls; let i = index; trackBy: trackByFnRowCotrols\"\n [ngClass]=\"{\n active: tableStore.selectedRowsIndex.includes(control.rowIndex),\n dangerous: tableStore.dangerousRowsIndex.includes(control.rowIndex) && tableStore.dangerousCells.length > 0\n }\"\n >\n <button\n (mousedown)=\"onRowMouseDown($event, control.rowIndex)\"\n type=\"button\"\n [ngStyle]=\"{ height: control.height + 1 + 'px' }\"\n class=\"the-table-row-controls-button the-table-controls-button\"\n ></button>\n <the-table-insert-mark type=\"row\" [at]=\"control.rowIndex + 1\" [tableStore]=\"tableStore\"></the-table-insert-mark>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"the-table-wrapper\" #tableWrapper>\n <table class=\"the-table\" #theTable [ngClass]=\"{ 'the-table-with-controls': isInTable }\">\n <colgroup *ngIf=\"columns\">\n <col *ngFor=\"let col of columns\" [ngStyle]=\"{ width: col.width + 'px' }\" />\n </colgroup>\n <thead>\n <tr class=\"the-table-col-controls-wrapper\">\n <th\n class=\"the-table-col-controls\"\n (mousedown)=\"onColMouseDown($event, i)\"\n *ngFor=\"let control of colControls; let i = index; trackBy: trackByFnColCotrols\"\n >\n <the-table-insert-mark\n *ngIf=\"isInTable\"\n type=\"column\"\n [at]=\"i + 1\"\n [tableStore]=\"tableStore\"\n ></the-table-insert-mark>\n <div\n class=\"the-table-col-controls-inner\"\n [ngClass]=\"{\n active: tableStore.selectedColumnsIndex.includes(i),\n dangerous: tableStore.dangerousColumnsIndex.includes(i) && tableStore.dangerousCells.length > 0\n }\"\n ></div>\n </th>\n </tr>\n </thead>\n <tbody #tbody>\n <slate-children [children]=\"children\" [context]=\"childrenContext\" [viewContext]=\"viewContext\"> </slate-children>\n </tbody>\n </table>\n </div>\n</div>\n", components: [{ type: i7.TheInsertMarkComponent, selector: "the-table-insert-mark", inputs: ["type", "at", "tableStore"] }, { type: i8.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }], directives: [{ type: i9.TheColumnResizeDirective, selector: "div[theColumnResize]" }, { type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
400
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheTableComponent, decorators: [{
400
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TheTableComponent, decorators: [{
401
401
  type: Component,
402
402
  args: [{
403
403
  selector: 'the-table, [theTable]',
@@ -650,9 +650,9 @@ export class TheTdComponent extends TheBaseElementComponent {
650
650
  this.destroy$.complete();
651
651
  }
652
652
  }
653
- TheTdComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheTdComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.NgZone }, { token: i0.Injector }, { token: i1.Overlay }, { token: i2.ColumnResizingStore }, { token: i1.ScrollDispatcher }], target: i0.ɵɵFactoryTarget.Component });
654
- TheTdComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheTdComponent, selector: "td[theTd]", host: { properties: { "style.backgroundColor": "this.backgroundColor", "attr.colspan": "this.colspan", "attr.rowspan": "this.rowspan", "style.display": "this.display" } }, providers: [ColumnResizingStore], viewQueries: [{ propertyName: "cellInner", first: true, predicate: ["cellInner"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div #cellInner>\n <slate-children [children]=\"children\" [context]=\"childrenContext\" [viewContext]=\"viewContext\"></slate-children>\n</div>\n", components: [{ type: i3.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }] });
655
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheTdComponent, decorators: [{
653
+ TheTdComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TheTdComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.NgZone }, { token: i0.Injector }, { token: i1.Overlay }, { token: i2.ColumnResizingStore }, { token: i1.ScrollDispatcher }], target: i0.ɵɵFactoryTarget.Component });
654
+ TheTdComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TheTdComponent, selector: "td[theTd]", host: { properties: { "style.backgroundColor": "this.backgroundColor", "attr.colspan": "this.colspan", "attr.rowspan": "this.rowspan", "style.display": "this.display" } }, providers: [ColumnResizingStore], viewQueries: [{ propertyName: "cellInner", first: true, predicate: ["cellInner"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div #cellInner>\n <slate-children [children]=\"children\" [context]=\"childrenContext\" [viewContext]=\"viewContext\"></slate-children>\n</div>\n", components: [{ type: i3.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }] });
655
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TheTdComponent, decorators: [{
656
656
  type: Component,
657
657
  args: [{
658
658
  selector: 'td[theTd]',
@@ -120,9 +120,9 @@ export class TheTableToolbarComponent {
120
120
  });
121
121
  }
122
122
  }
123
- TheTableToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheTableToolbarComponent, deps: [{ token: i0.NgZone }, { token: i1.TheColorSelectService }, { token: i2.ThyPopoverRef }], target: i0.ɵɵFactoryTarget.Component });
124
- TheTableToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheTableToolbarComponent, selector: "the-table-toolbar", inputs: { tableStore: "tableStore", isActiveSelect: "isActiveSelect" }, ngImport: i0, template: "<thy-icon-nav>\n <ng-container *ngFor=\"let item of cellMenuList\">\n <a href=\"javascript:;\" thyIconNavLink *ngIf=\"!item.invisibility\" [thyTooltip]=\"item.name\" (mousedown)=\"item.actionHandle()\">\n <thy-icon [thyIconName]=\"item.icon\"></thy-icon>\n </a>\n </ng-container>\n <nav-split-line *ngIf=\"!isActiveSelect && isShowSplitLine\"></nav-split-line>\n <a href=\"javascript:;\" thyIconNavLink thyTooltip=\"\u5355\u5143\u683C\u80CC\u666F\" (mousedown)=\"openSelectColor($event)\">\n <thy-icon thyIconName=\"background-tt\" thyIconType=\"twotone\" [thyTwotoneColor]=\"selectedColor\"></thy-icon>\n </a>\n <nav-split-line *ngIf=\"deleteIcon\"></nav-split-line>\n <a\n *ngIf=\"deleteIcon\"\n href=\"javascript:;\"\n thyIconNavLink\n [thyTooltip]=\"iconName\"\n class=\"danger\"\n [thyIconNavLinkIcon]=\"deleteIcon\"\n (mousedown)=\"onDelete($event)\"\n (mouseenter)=\"onEnterDelete($event)\"\n (mouseleave)=\"onLeaveDelete($event)\"\n ></a>\n</thy-icon-nav>\n", components: [{ type: i3.ThyIconNavComponent, selector: "thy-icon-nav", inputs: ["thyType"] }, { type: i3.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i4.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { type: i5.NavSplitLineComponent, selector: "nav-split-line", inputs: ["mode"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }] });
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheTableToolbarComponent, decorators: [{
123
+ TheTableToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TheTableToolbarComponent, deps: [{ token: i0.NgZone }, { token: i1.TheColorSelectService }, { token: i2.ThyPopoverRef }], target: i0.ɵɵFactoryTarget.Component });
124
+ TheTableToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TheTableToolbarComponent, selector: "the-table-toolbar", inputs: { tableStore: "tableStore", isActiveSelect: "isActiveSelect" }, ngImport: i0, template: "<thy-icon-nav>\n <ng-container *ngFor=\"let item of cellMenuList\">\n <a href=\"javascript:;\" thyIconNavLink *ngIf=\"!item.invisibility\" [thyTooltip]=\"item.name\" (mousedown)=\"item.actionHandle()\">\n <thy-icon [thyIconName]=\"item.icon\"></thy-icon>\n </a>\n </ng-container>\n <nav-split-line *ngIf=\"!isActiveSelect && isShowSplitLine\"></nav-split-line>\n <a href=\"javascript:;\" thyIconNavLink thyTooltip=\"\u5355\u5143\u683C\u80CC\u666F\" (mousedown)=\"openSelectColor($event)\">\n <thy-icon thyIconName=\"background-tt\" thyIconType=\"twotone\" [thyTwotoneColor]=\"selectedColor\"></thy-icon>\n </a>\n <nav-split-line *ngIf=\"deleteIcon\"></nav-split-line>\n <a\n *ngIf=\"deleteIcon\"\n href=\"javascript:;\"\n thyIconNavLink\n [thyTooltip]=\"iconName\"\n class=\"danger\"\n [thyIconNavLinkIcon]=\"deleteIcon\"\n (mousedown)=\"onDelete($event)\"\n (mouseenter)=\"onEnterDelete($event)\"\n (mouseleave)=\"onLeaveDelete($event)\"\n ></a>\n</thy-icon-nav>\n", components: [{ type: i3.ThyIconNavComponent, selector: "thy-icon-nav", inputs: ["thyType"] }, { type: i3.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i4.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { type: i5.NavSplitLineComponent, selector: "nav-split-line", inputs: ["mode"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }] });
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TheTableToolbarComponent, decorators: [{
126
126
  type: Component,
127
127
  args: [{
128
128
  selector: 'the-table-toolbar',
@@ -46,6 +46,7 @@ export class TableService {
46
46
  offset: this.offset,
47
47
  hasBackdrop: this.hasBackdrop,
48
48
  insideClosable: this.insideClosable,
49
+ minWidth: 0,
49
50
  panelClass: 'the-table-toolbar-wrap',
50
51
  scrollStrategy: this.overlay.scrollStrategies.reposition(),
51
52
  manualClosure: true
@@ -94,9 +95,9 @@ export class TableService {
94
95
  });
95
96
  }
96
97
  }
97
- TableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TableService, deps: [{ token: i1.ThyPopover }, { token: i2.Overlay }, { token: i3.TableStore }, { token: i4.TheTableContextMenuService }, { token: i0.NgZone }, { token: i5.TheContextService }], target: i0.ɵɵFactoryTarget.Injectable });
98
- TableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TableService });
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TableService, decorators: [{
98
+ TableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TableService, deps: [{ token: i1.ThyPopover }, { token: i2.Overlay }, { token: i3.TableStore }, { token: i4.TheTableContextMenuService }, { token: i0.NgZone }, { token: i5.TheContextService }], target: i0.ɵɵFactoryTarget.Injectable });
99
+ TableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TableService });
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TableService, decorators: [{
100
101
  type: Injectable
101
102
  }], ctorParameters: function () { return [{ type: i1.ThyPopover }, { type: i2.Overlay }, { type: i3.TableStore }, { type: i4.TheTableContextMenuService }, { type: i0.NgZone }, { type: i5.TheContextService }]; } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3RhYmxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUt4RixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQUd0RCxNQUFNLE9BQU8sWUFBWTtJQWlCckIsWUFDWSxVQUFzQixFQUN0QixPQUFnQixFQUNoQixVQUFzQixFQUN0QiwwQkFBc0QsRUFDdEQsTUFBYyxFQUNkLGlCQUFvQztRQUxwQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBQ3RELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBdEJoRCxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFekIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFFdkIsY0FBUyxHQUFpQixTQUFTLENBQUM7UUFFcEMsV0FBTSxHQUFHLENBQUMsQ0FBQztJQWVSLENBQUM7SUFYSixJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQztJQUNoRSxDQUFDO0lBV0QsV0FBVyxD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LFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQzVGLFNBQVMsQ0FBZ0IsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FDOUMsTUFBTSxDQUFDLENBQUMsQ0FBZ0IsRUFBRSxFQUFFO1lBQ3hCLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQ0wsQ0FDSjthQUNJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUMsQ0FBQyxDQUFhLEVBQUUsRUFBRTtZQUN6QixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQzNFLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7b0JBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMseUJBQXlCLEVBQUUsQ0FBQztpQkFDL0M7Z0JBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BCLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ25DO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDOzswR0FyR1EsWUFBWTs4R0FBWixZQUFZOzRGQUFaLFlBQVk7a0JBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeVBsYWNlbWVudCB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyLCBUaHlQb3BvdmVyUmVmIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IFRoZVRhYmxlVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b29sYmFyL3RhYmxlLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUYWJsZVN0b3JlIH0gZnJvbSAnLi90YWJsZS5zdG9yZSc7XG5pbXBvcnQgeyBUaGVUYWJsZUNvbnRleHRNZW51U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RhYmxlLWNvbnRleHRtZW51LnNlcnZpY2UnO1xuaW1wb3J0IHsgVGhlQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBtZXJnZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgaXNWaXJ0dWFsS2V5IH0gZnJvbSAnLi91dGlscy9pcy12aXJ0dWFsLWtleSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUYWJsZVNlcnZpY2Uge1xuICAgIGJhY2tkcm9wQ2xvc2FibGUgPSBmYWxzZTtcblxuICAgIGhhc0JhY2tkcm9wID0gZmFsc2U7XG5cbiAgICBpbnNpZGVDbG9zYWJsZSA9IGZhbHNlO1xuXG4gICAgcGxhY2VtZW50OiBUaHlQbGFjZW1lbnQgPSAndG9wTGVmdCc7XG5cbiAgICBvZmZzZXQgPSA4O1xuXG4gICAgdG9vbGJhclJlZjogVGh5UG9wb3ZlclJlZjxhbnk+O1xuXG4gICAgZ2V0IGlzT3BlbmVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50b29sYmFyUmVmICYmIHRoaXMudG9vbGJhclJlZi5jb21wb25lbnRJbnN0YW5jZTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB0aHlQb3BvdmVyOiBUaHlQb3BvdmVyLFxuICAgICAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgICAgIHByaXZhdGUgdGFibGVTdG9yZTogVGFibGVTdG9yZSxcbiAgICAgICAgcHJpdmF0ZSB0aGVUYWJsZUNvbnRleHRNZW51U2VydmljZTogVGhlVGFibGVDb250ZXh0TWVudVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgdGhlQ29udGV4dFNlcnZpY2U6IFRoZUNvbnRleHRTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgb3BlblRvb2xiYXIob3JpZ2luOiBIVE1MRWxlbWVudCwgaXNBY3RpdmVTZWxlY3Q/OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudGhlVGFibGVDb250ZXh0TWVudVNlcnZpY2UuY2xvc2VDb250ZXh0TWVudSgpO1xuXG4gICAgICAgIGlmICh0aGlzLmlzT3BlbmVkKSB7XG4gICAgICAgICAgICBpZiAodGhpcy50b29sYmFyUmVmLmNvbnRhaW5lckluc3RhbmNlLmNvbmZpZy5vcmlnaW4gPT09IG9yaWdpbikge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudG9vbGJhclJlZi5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudG9vbGJhclJlZiA9IHRoaXMudGh5UG9wb3Zlci5vcGVuKFRoZVRhYmxlVG9vbGJhckNvbXBvbmVudCwge1xuICAgICAgICAgICAgaW5pdGlhbFN0YXRlOiB7XG4gICAgICAgICAgICAgICAgdGFibGVTdG9yZTogdGhpcy50YWJsZVN0b3JlLFxuICAgICAgICAgICAgICAgIGlzQWN0aXZlU2VsZWN0XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy50aGVDb250ZXh0U2VydmljZS5nZXRPcHRpb25zKCkudmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgIG9yaWdpbjogdGhpcy5nZXRPcmlnaW4ob3JpZ2luKSxcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xvc2FibGU6IHRoaXMuYmFja2Ryb3BDbG9zYWJsZSxcbiAgICAgICAgICAgIHBsYWNlbWVudDogdGhpcy5wbGFjZW1lbnQsXG4gICAgICAgICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IHRoaXMuaGFzQmFja2Ryb3AsXG4gICAgICAgICAgICBpbnNpZGVDbG9zYWJsZTogdGhpcy5pbnNpZGVDbG9zYWJsZSxcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6ICd0aGUtdGFibGUtdG9vbGJhci13cmFwJyxcbiAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCksXG4gICAgICAgICAgICBtYW51YWxDbG9zdXJlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9saXN0ZW5DZWxsQ2xlYXJFdmVudCgpO1xuICAgIH1cblxuICAgIGdldE9yaWdpbihvcmlnaW46IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQge1xuICAgICAgICBpZiAob3JpZ2luIGluc3RhbmNlb2YgSFRNTFRhYmxlQ2VsbEVsZW1lbnQgJiYgb3JpZ2luLnRhZ05hbWUgIT09ICdUSCcpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dzSW5kZXgsIHNlbGVjdGVkQ29sdW1uc0luZGV4LCBmb2N1c0NlbGxQYXRoLCBpc1NlbGVjdGVkVGFibGUsIGZvY3VzQ2VsbEVsZW1lbnQgfSA9IHRoaXMudGFibGVTdG9yZTtcbiAgICAgICAgICAgIGNvbnN0IFtyb3csIGNvbF0gPSBmb2N1c0NlbGxQYXRoLnNsaWNlKC0yKTtcbiAgICAgICAgICAgIGNvbnN0IHRhYmxlRWxlbWVudCA9IGZvY3VzQ2VsbEVsZW1lbnQuY2xvc2VzdCgnLnRoZS10YWJsZS1jb250YWluZXInKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgIGlmIChpc1NlbGVjdGVkVGFibGUgJiYgY29sID09PSAwICYmIHJvdyA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0YWJsZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnRoZS10YWJsZS1jb3JuZXItY29udHJvbHMnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzZWxlY3RlZENvbHVtbnNJbmRleC5sZW5ndGggPiAwICYmIHJvdyA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0YWJsZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnRoZS10YWJsZS1jb2wtY29udHJvbHMtaW5uZXInKVtjb2xdIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNlbGVjdGVkUm93c0luZGV4Lmxlbmd0aCA+IDAgJiYgY29sID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRhYmxlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcudGhlLXRhYmxlLXJvdy1jb250cm9scy1idXR0b24td3JhcCcpW3Jvd10gYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9yaWdpbjtcbiAgICB9XG5cbiAgICBjbG9zZVRvb2xiYXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzT3BlbmVkKSB7XG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudG9vbGJhclJlZi5jbG9zZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50b29sYmFyUmVmLmFmdGVyQ2xvc2VkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBfbGlzdGVuQ2VsbENsZWFyRXZlbnQoKSB7XG4gICAgICAgIGNvbnN0IG9uTW91c2VPYnNlcnZhYmxlID0gbWVyZ2UoXG4gICAgICAgICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4oZG9jdW1lbnQsICdtb3VzZWRvd24nKS5waXBlKGZpbHRlcigoZTogTW91c2VFdmVudCkgPT4gZS5idXR0b24gIT09IDIpKSxcbiAgICAgICAgICAgIGZyb21FdmVudDxLZXlib2FyZEV2ZW50Pihkb2N1bWVudCwgJ2tleWRvd24nKS5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoZTogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gIWlzVmlydHVhbEtleShlKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApXG4gICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRhYmxlU3RvcmUuc2VsZWN0ZWRDZWxscyAmJiB0aGlzLnRhYmxlU3RvcmUuc2VsZWN0ZWRDZWxscy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlLnR5cGUgPT09ICdrZXlkb3duJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLmNsZWFyU2VsZWN0ZWRDZWxsc0NvbnRlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuY2xlYXJTZWxlY3RlZENlbGxzKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VUb29sYmFyKCk7XG4gICAgICAgICAgICAgICAgICAgIG9uTW91c2VPYnNlcnZhYmxlLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3RhYmxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUt4RixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQUd0RCxNQUFNLE9BQU8sWUFBWTtJQWlCckIsWUFDWSxVQUFzQixFQUN0QixPQUFnQixFQUNoQixVQUFzQixFQUN0QiwwQkFBc0QsRUFDdEQsTUFBYyxFQUNkLGlCQUFvQztRQUxwQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBQ3RELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBdEJoRCxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFekIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFFdkIsY0FBUyxHQUFpQixTQUFTLENBQUM7UUFFcEMsV0FBTSxHQUFHLENBQUMsQ0FBQztJQWVSLENBQUM7SUFYSixJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQztJQUNoRSxDQUFDO0lBV0QsV0FBVyxD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S0FBSyxDQUMzQixTQUFTLENBQWEsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDNUYsU0FBUyxDQUFnQixRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUM5QyxNQUFNLENBQUMsQ0FBQyxDQUFnQixFQUFFLEVBQUU7WUFDeEIsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FDTCxDQUNKO2FBQ0ksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNiLFNBQVMsQ0FBQyxDQUFDLENBQWEsRUFBRSxFQUFFO1lBQ3pCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDM0UsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRTtvQkFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO2lCQUMvQztnQkFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDcEIsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDbkM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7OzBHQXRHUSxZQUFZOzhHQUFaLFlBQVk7NEZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5UGxhY2VtZW50IH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXIsIFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgVGhlVGFibGVUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXIvdGFibGUtdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRhYmxlU3RvcmUgfSBmcm9tICcuL3RhYmxlLnN0b3JlJztcbmltcG9ydCB7IFRoZVRhYmxlQ29udGV4dE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGFibGUtY29udGV4dG1lbnUuc2VydmljZSc7XG5pbXBvcnQgeyBUaGVDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBpc1ZpcnR1YWxLZXkgfSBmcm9tICcuL3V0aWxzL2lzLXZpcnR1YWwta2V5JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRhYmxlU2VydmljZSB7XG4gICAgYmFja2Ryb3BDbG9zYWJsZSA9IGZhbHNlO1xuXG4gICAgaGFzQmFja2Ryb3AgPSBmYWxzZTtcblxuICAgIGluc2lkZUNsb3NhYmxlID0gZmFsc2U7XG5cbiAgICBwbGFjZW1lbnQ6IFRoeVBsYWNlbWVudCA9ICd0b3BMZWZ0JztcblxuICAgIG9mZnNldCA9IDg7XG5cbiAgICB0b29sYmFyUmVmOiBUaHlQb3BvdmVyUmVmPGFueT47XG5cbiAgICBnZXQgaXNPcGVuZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvb2xiYXJSZWYgJiYgdGhpcy50b29sYmFyUmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRoeVBvcG92ZXI6IFRoeVBvcG92ZXIsXG4gICAgICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgcHJpdmF0ZSB0YWJsZVN0b3JlOiBUYWJsZVN0b3JlLFxuICAgICAgICBwcml2YXRlIHRoZVRhYmxlQ29udGV4dE1lbnVTZXJ2aWNlOiBUaGVUYWJsZUNvbnRleHRNZW51U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSB0aGVDb250ZXh0U2VydmljZTogVGhlQ29udGV4dFNlcnZpY2VcbiAgICApIHt9XG5cbiAgICBvcGVuVG9vbGJhcihvcmlnaW46IEhUTUxFbGVtZW50LCBpc0FjdGl2ZVNlbGVjdD86IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy50aGVUYWJsZUNvbnRleHRNZW51U2VydmljZS5jbG9zZUNvbnRleHRNZW51KCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuZWQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRvb2xiYXJSZWYuY29udGFpbmVySW5zdGFuY2UuY29uZmlnLm9yaWdpbiA9PT0gb3JpZ2luKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy50b29sYmFyUmVmLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50b29sYmFyUmVmID0gdGhpcy50aHlQb3BvdmVyLm9wZW4oVGhlVGFibGVUb29sYmFyQ29tcG9uZW50LCB7XG4gICAgICAgICAgICBpbml0aWFsU3RhdGU6IHtcbiAgICAgICAgICAgICAgICB0YWJsZVN0b3JlOiB0aGlzLnRhYmxlU3RvcmUsXG4gICAgICAgICAgICAgICAgaXNBY3RpdmVTZWxlY3RcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLmdldE9wdGlvbnMoKS52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgb3JpZ2luOiB0aGlzLmdldE9yaWdpbihvcmlnaW4pLFxuICAgICAgICAgICAgYmFja2Ryb3BDbG9zYWJsZTogdGhpcy5iYWNrZHJvcENsb3NhYmxlLFxuICAgICAgICAgICAgcGxhY2VtZW50OiB0aGlzLnBsYWNlbWVudCxcbiAgICAgICAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogdGhpcy5oYXNCYWNrZHJvcCxcbiAgICAgICAgICAgIGluc2lkZUNsb3NhYmxlOiB0aGlzLmluc2lkZUNsb3NhYmxlLFxuICAgICAgICAgICAgbWluV2lkdGg6IDAsXG4gICAgICAgICAgICBwYW5lbENsYXNzOiAndGhlLXRhYmxlLXRvb2xiYXItd3JhcCcsXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpLFxuICAgICAgICAgICAgbWFudWFsQ2xvc3VyZTogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fbGlzdGVuQ2VsbENsZWFyRXZlbnQoKTtcbiAgICB9XG5cbiAgICBnZXRPcmlnaW4ob3JpZ2luOiBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgaWYgKG9yaWdpbiBpbnN0YW5jZW9mIEhUTUxUYWJsZUNlbGxFbGVtZW50ICYmIG9yaWdpbi50YWdOYW1lICE9PSAnVEgnKSB7XG4gICAgICAgICAgICBjb25zdCB7IHNlbGVjdGVkUm93c0luZGV4LCBzZWxlY3RlZENvbHVtbnNJbmRleCwgZm9jdXNDZWxsUGF0aCwgaXNTZWxlY3RlZFRhYmxlLCBmb2N1c0NlbGxFbGVtZW50IH0gPSB0aGlzLnRhYmxlU3RvcmU7XG4gICAgICAgICAgICBjb25zdCBbcm93LCBjb2xdID0gZm9jdXNDZWxsUGF0aC5zbGljZSgtMik7XG4gICAgICAgICAgICBjb25zdCB0YWJsZUVsZW1lbnQgPSBmb2N1c0NlbGxFbGVtZW50LmNsb3Nlc3QoJy50aGUtdGFibGUtY29udGFpbmVyJykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICBpZiAoaXNTZWxlY3RlZFRhYmxlICYmIGNvbCA9PT0gMCAmJiByb3cgPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGFibGVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy50aGUtdGFibGUtY29ybmVyLWNvbnRyb2xzJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRDb2x1bW5zSW5kZXgubGVuZ3RoID4gMCAmJiByb3cgPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGFibGVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy50aGUtdGFibGUtY29sLWNvbnRyb2xzLWlubmVyJylbY29sXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzZWxlY3RlZFJvd3NJbmRleC5sZW5ndGggPiAwICYmIGNvbCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0YWJsZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnRoZS10YWJsZS1yb3ctY29udHJvbHMtYnV0dG9uLXdyYXAnKVtyb3ddIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvcmlnaW47XG4gICAgfVxuXG4gICAgY2xvc2VUb29sYmFyKCkge1xuICAgICAgICBpZiAodGhpcy5pc09wZW5lZCkge1xuICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRvb2xiYXJSZWYuY2xvc2UoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudG9vbGJhclJlZi5hZnRlckNsb3NlZCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgX2xpc3RlbkNlbGxDbGVhckV2ZW50KCkge1xuICAgICAgICBjb25zdCBvbk1vdXNlT2JzZXJ2YWJsZSA9IG1lcmdlKFxuICAgICAgICAgICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGRvY3VtZW50LCAnbW91c2Vkb3duJykucGlwZShmaWx0ZXIoKGU6IE1vdXNlRXZlbnQpID0+IGUuYnV0dG9uICE9PSAyKSksXG4gICAgICAgICAgICBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4oZG9jdW1lbnQsICdrZXlkb3duJykucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKGU6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICFpc1ZpcnR1YWxLZXkoZSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50YWJsZVN0b3JlLnNlbGVjdGVkQ2VsbHMgJiYgdGhpcy50YWJsZVN0b3JlLnNlbGVjdGVkQ2VsbHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZS50eXBlID09PSAna2V5ZG93bicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGVTdG9yZS5jbGVhclNlbGVjdGVkQ2VsbHNDb250ZW50KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLmNsZWFyU2VsZWN0ZWRDZWxscygpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlVG9vbGJhcigpO1xuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlT2JzZXJ2YWJsZS51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==