@energycap/components 0.39.5-ECAP-23220-bc-file-upload-dialog.20240111-1135 → 0.39.6-standalone-components.20240111-1648
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components.module.mjs +73 -20
- package/esm2020/lib/controls/banner/banner.component.mjs +5 -5
- package/esm2020/lib/controls/button/button.component.mjs +6 -5
- package/esm2020/lib/controls/button/copy-button.directive.mjs +4 -3
- package/esm2020/lib/controls/button/copy-table-button.directive.mjs +4 -3
- package/esm2020/lib/controls/checkbox/checkbox.component.mjs +10 -8
- package/esm2020/lib/controls/collapsible-toggle/collapsible-toggle.component.mjs +4 -4
- package/esm2020/lib/controls/combobox/combobox.component.mjs +9 -9
- package/esm2020/lib/controls/dropdown/dropdown.component.mjs +6 -8
- package/esm2020/lib/controls/file-upload/file-upload.component.mjs +11 -10
- package/esm2020/lib/controls/form-control/form-control.component.mjs +4 -4
- package/esm2020/lib/controls/form-control-label/form-control-label.component.mjs +5 -4
- package/esm2020/lib/controls/form-group/form-group.component.mjs +5 -4
- package/esm2020/lib/controls/help-popover/help-popover.component.mjs +7 -6
- package/esm2020/lib/controls/item-picker/item-picker.component.mjs +11 -12
- package/esm2020/lib/controls/link-button/link-button.component.mjs +3 -3
- package/esm2020/lib/controls/menu/menu.component.mjs +9 -8
- package/esm2020/lib/controls/navigation/nav-item-active.directive.mjs +4 -3
- package/esm2020/lib/controls/numericbox/numericbox.component.mjs +6 -6
- package/esm2020/lib/controls/popover/popover.component.mjs +5 -5
- package/esm2020/lib/controls/radio-button/radio-button.component.mjs +8 -6
- package/esm2020/lib/controls/select/select.component.mjs +8 -6
- package/esm2020/lib/controls/tabs/tabs.component.mjs +7 -6
- package/esm2020/lib/controls/textbox/textbox.component.mjs +8 -10
- package/esm2020/lib/display/app-bar/app-bar.component.mjs +6 -6
- package/esm2020/lib/display/avatar/avatar.component.mjs +3 -3
- package/esm2020/lib/display/confirm/confirm.component.mjs +12 -12
- package/esm2020/lib/display/dialog/dialog-group/dialog-group.component.mjs +5 -5
- package/esm2020/lib/display/dialog/dialog.component.mjs +4 -3
- package/esm2020/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +7 -7
- package/esm2020/lib/display/item-display/item-display.component.mjs +8 -7
- package/esm2020/lib/display/json-display/json-display.component.mjs +6 -6
- package/esm2020/lib/display/resizable/resizable.component.mjs +3 -3
- package/esm2020/lib/display/spinner/spinner.component.mjs +3 -3
- package/esm2020/lib/display/splash/splash.component.mjs +3 -3
- package/esm2020/lib/display/table/resizable-column.component.mjs +3 -3
- package/esm2020/lib/display/table/resizable-table.directive.mjs +4 -3
- package/esm2020/lib/display/table/searchable-table.component.mjs +7 -9
- package/esm2020/lib/display/table/table-detail-row.component.mjs +3 -3
- package/esm2020/lib/display/table/table-locked-column.component.mjs +3 -3
- package/esm2020/lib/display/table/table-master-header-row.component.mjs +4 -4
- package/esm2020/lib/display/table/table-master-row.component.mjs +6 -6
- package/esm2020/lib/display/table/table-pagination.component.mjs +6 -6
- package/esm2020/lib/display/table/table-selectable-row.component.mjs +6 -6
- package/esm2020/lib/display/table/table.component.mjs +5 -5
- package/esm2020/lib/display/tags/tags.component.mjs +6 -5
- package/esm2020/lib/display/toast/toast/toast.component.mjs +8 -7
- package/esm2020/lib/display/toast/toaster/toaster.component.mjs +4 -4
- package/esm2020/lib/display/tooltip/tooltip.component.mjs +5 -5
- package/esm2020/lib/display/tooltip-directive/tooltip.directive.mjs +4 -3
- package/esm2020/lib/display/tour/tour.component.mjs +6 -6
- package/esm2020/lib/display/tree/tree.component.mjs +8 -10
- package/esm2020/lib/display/view-overlay/view-overlay.component.mjs +8 -7
- package/esm2020/lib/shared/directives/click-area-for/click-area-for.directive.mjs +4 -3
- package/esm2020/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +4 -3
- package/esm2020/lib/shared/directives/popup/popup-container.directive.mjs +6 -3
- package/esm2020/lib/shared/display/pipes/date-display.pipe.mjs +6 -3
- package/esm2020/lib/shared/display/pipes/highlight-text.pipe.mjs +4 -3
- package/esm2020/lib/shared/display/pipes/relative-date.pipe.mjs +4 -3
- package/esm2020/lib/shared/display/pipes/row-count.pipe.mjs +4 -3
- package/esm2020/lib/shared/display/pipes/time-display.pipe.mjs +6 -3
- package/esm2020/lib/shared/page/page-title/page-title.component.mjs +5 -5
- package/esm2020/lib/shared/page/page-view/page-view.component.mjs +10 -11
- package/esm2020/lib/shared/testing/public-mocks.spec.mjs +6 -3
- package/esm2020/lib/shared/wizard/wizard-buttons/wizard-buttons.component.mjs +5 -5
- package/esm2020/lib/shared/wizard/wizard-progress/wizard-progress.component.mjs +6 -5
- package/fesm2015/energycap-components.mjs +1052 -981
- package/fesm2015/energycap-components.mjs.map +1 -1
- package/fesm2020/energycap-components.mjs +1049 -978
- package/fesm2020/energycap-components.mjs.map +1 -1
- package/lib/components.module.d.ts +72 -72
- package/lib/controls/banner/banner.component.d.ts +1 -1
- package/lib/controls/button/button.component.d.ts +1 -1
- package/lib/controls/button/copy-button.directive.d.ts +1 -1
- package/lib/controls/button/copy-table-button.directive.d.ts +1 -1
- package/lib/controls/checkbox/checkbox.component.d.ts +3 -3
- package/lib/controls/collapsible-toggle/collapsible-toggle.component.d.ts +1 -1
- package/lib/controls/combobox/combobox.component.d.ts +1 -1
- package/lib/controls/dropdown/dropdown.component.d.ts +1 -1
- package/lib/controls/file-upload/file-upload.component.d.ts +1 -1
- package/lib/controls/form-control/form-control.component.d.ts +1 -1
- package/lib/controls/form-control-label/form-control-label.component.d.ts +1 -1
- package/lib/controls/form-group/form-group.component.d.ts +1 -1
- package/lib/controls/help-popover/help-popover.component.d.ts +1 -1
- package/lib/controls/item-picker/item-picker.component.d.ts +1 -1
- package/lib/controls/link-button/link-button.component.d.ts +1 -1
- package/lib/controls/menu/menu.component.d.ts +1 -1
- package/lib/controls/navigation/nav-item-active.directive.d.ts +1 -1
- package/lib/controls/numericbox/numericbox.component.d.ts +1 -1
- package/lib/controls/popover/popover.component.d.ts +1 -1
- package/lib/controls/radio-button/radio-button.component.d.ts +1 -1
- package/lib/controls/select/select.component.d.ts +1 -1
- package/lib/controls/tabs/tabs.component.d.ts +1 -1
- package/lib/controls/textbox/textbox.component.d.ts +1 -1
- package/lib/display/app-bar/app-bar.component.d.ts +1 -1
- package/lib/display/avatar/avatar.component.d.ts +1 -1
- package/lib/display/confirm/confirm.component.d.ts +1 -1
- package/lib/display/dialog/dialog-group/dialog-group.component.d.ts +1 -1
- package/lib/display/dialog/dialog.component.d.ts +1 -1
- package/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.d.ts +1 -1
- package/lib/display/item-display/item-display.component.d.ts +1 -1
- package/lib/display/json-display/json-display.component.d.ts +1 -1
- package/lib/display/resizable/resizable.component.d.ts +1 -1
- package/lib/display/spinner/spinner.component.d.ts +1 -1
- package/lib/display/splash/splash.component.d.ts +1 -1
- package/lib/display/table/resizable-column.component.d.ts +1 -1
- package/lib/display/table/resizable-table.directive.d.ts +1 -1
- package/lib/display/table/searchable-table.component.d.ts +1 -1
- package/lib/display/table/table-detail-row.component.d.ts +1 -1
- package/lib/display/table/table-locked-column.component.d.ts +1 -1
- package/lib/display/table/table-master-header-row.component.d.ts +1 -1
- package/lib/display/table/table-master-row.component.d.ts +1 -1
- package/lib/display/table/table-pagination.component.d.ts +1 -1
- package/lib/display/table/table-selectable-row.component.d.ts +1 -1
- package/lib/display/table/table.component.d.ts +1 -1
- package/lib/display/tags/tags.component.d.ts +1 -1
- package/lib/display/toast/toast/toast.component.d.ts +1 -1
- package/lib/display/toast/toaster/toaster.component.d.ts +1 -1
- package/lib/display/tooltip/tooltip.component.d.ts +1 -1
- package/lib/display/tooltip-directive/tooltip.directive.d.ts +1 -1
- package/lib/display/tour/tour.component.d.ts +1 -1
- package/lib/display/tree/tree.component.d.ts +1 -1
- package/lib/display/view-overlay/view-overlay.component.d.ts +1 -1
- package/lib/shared/directives/click-area-for/click-area-for.directive.d.ts +1 -1
- package/lib/shared/directives/if-viewport-width/if-viewport-width.directive.d.ts +1 -1
- package/lib/shared/directives/popup/popup-container.directive.d.ts +1 -1
- package/lib/shared/display/pipes/date-display.pipe.d.ts +1 -1
- package/lib/shared/display/pipes/highlight-text.pipe.d.ts +1 -1
- package/lib/shared/display/pipes/relative-date.pipe.d.ts +1 -1
- package/lib/shared/display/pipes/row-count.pipe.d.ts +1 -1
- package/lib/shared/display/pipes/time-display.pipe.d.ts +1 -1
- package/lib/shared/page/page-title/page-title.component.d.ts +1 -1
- package/lib/shared/page/page-view/page-view.component.d.ts +1 -1
- package/lib/shared/testing/public-mocks.spec.d.ts +1 -1
- package/lib/shared/wizard/wizard-buttons/wizard-buttons.component.d.ts +1 -1
- package/lib/shared/wizard/wizard-progress/wizard-progress.component.d.ts +1 -1
- package/package.json +1 -1
@@ -35,10 +35,10 @@ export class TableLockedColumnComponent {
|
|
35
35
|
}
|
36
36
|
}
|
37
37
|
TableLockedColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableLockedColumnComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
38
|
-
TableLockedColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TableLockedColumnComponent, selector: "[ecTableLockedColumn]", inputs: { options: ["ecTableLockedColumn", "options"] }, host: { properties: { "style.left.px": "this.left", "style.right.px": "this.right", "class.border-right": "this.borderRight", "class.border-left": "this.borderLeft" } }, usesOnChanges: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{background-color:var(--ec-background-color);position:sticky!important;z-index:calc(var(--ec-z-index-sticky-header) + 1)!important}:host(th){z-index:calc(var(--ec-z-index-sticky-header) + 2)!important}\n"] });
|
38
|
+
TableLockedColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TableLockedColumnComponent, isStandalone: true, selector: "[ecTableLockedColumn]", inputs: { options: ["ecTableLockedColumn", "options"] }, host: { properties: { "style.left.px": "this.left", "style.right.px": "this.right", "class.border-right": "this.borderRight", "class.border-left": "this.borderLeft" } }, usesOnChanges: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{background-color:var(--ec-background-color);position:sticky!important;z-index:calc(var(--ec-z-index-sticky-header) + 1)!important}:host(th){z-index:calc(var(--ec-z-index-sticky-header) + 2)!important}\n"] });
|
39
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableLockedColumnComponent, decorators: [{
|
40
40
|
type: Component,
|
41
|
-
args: [{ selector: '[ecTableLockedColumn]', template: `<ng-content></ng-content>`, styles: [":host{background-color:var(--ec-background-color);position:sticky!important;z-index:calc(var(--ec-z-index-sticky-header) + 1)!important}:host(th){z-index:calc(var(--ec-z-index-sticky-header) + 2)!important}\n"] }]
|
41
|
+
args: [{ selector: '[ecTableLockedColumn]', template: `<ng-content></ng-content>`, standalone: true, styles: [":host{background-color:var(--ec-background-color);position:sticky!important;z-index:calc(var(--ec-z-index-sticky-header) + 1)!important}:host(th){z-index:calc(var(--ec-z-index-sticky-header) + 2)!important}\n"] }]
|
42
42
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { options: [{
|
43
43
|
type: Input,
|
44
44
|
args: ['ecTableLockedColumn']
|
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
55
55
|
type: HostBinding,
|
56
56
|
args: ['class.border-left']
|
57
57
|
}] } });
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbG9ja2VkLWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90YWJsZS90YWJsZS1sb2NrZWQtY29sdW1uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQXNELE1BQU0sZUFBZSxDQUFDOztBQVFsSCxNQUFNLE9BQU8sMEJBQTBCO0lBZ0JyQyxZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUxsQyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUdwQixlQUFVLEdBQUcsS0FBSyxDQUFDO0lBRW1CLENBQUM7SUFFdkMsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUM1RCxNQUFNLElBQUksS0FBSyxDQUFDLHlOQUF5TixDQUFDLENBQUM7U0FDNU87UUFFRCxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDNUQsTUFBTSxJQUFJLEtBQUssQ0FBQywrTkFBK04sQ0FBQyxDQUFDO1NBQ2xQO1FBRUQsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRU8sdUJBQXVCO1FBQzdCLElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDbkYsTUFBTSxJQUFJLEtBQUssQ0FBQyxrSEFBa0gsQ0FBQyxDQUFDO1NBQ3JJO1FBRUQsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDO1NBQ2pEO2FBQU07WUFDTCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDO1NBQ2hEO0lBQ0gsQ0FBQzs7dUhBaERVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLHlVQUp6QiwyQkFBMkI7MkZBSTVCLDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDSSx1QkFBdUIsWUFDdkIsMkJBQTJCLGNBRXpCLElBQUk7aUdBSVksT0FBTztzQkFBcEMsS0FBSzt1QkFBQyxxQkFBcUI7Z0JBRzVCLElBQUk7c0JBREgsV0FBVzt1QkFBQyxlQUFlO2dCQUk1QixLQUFLO3NCQURKLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUk3QixXQUFXO3NCQURWLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUlqQyxVQUFVO3NCQURULFdBQVc7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgRWxlbWVudFJlZiwgSG9zdCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnW2VjVGFibGVMb2NrZWRDb2x1bW5dJyxcclxuICAgIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXHJcbiAgICBzdHlsZVVybHM6IFsnLi90YWJsZS1sb2NrZWQtY29sdW1uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUxvY2tlZENvbHVtbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuXHJcbiAgQElucHV0KCdlY1RhYmxlTG9ja2VkQ29sdW1uJykgb3B0aW9ucyE6IHsgYm9yZGVyOiBib29sZWFuLCBsZWZ0PzogbnVtYmVyLCByaWdodD86IG51bWJlciB9O1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmxlZnQucHgnKVxyXG4gIGxlZnQ/OiBudW1iZXI7XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUucmlnaHQucHgnKVxyXG4gIHJpZ2h0PzogbnVtYmVyO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmJvcmRlci1yaWdodCcpXHJcbiAgYm9yZGVyUmlnaHQgPSBmYWxzZTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5ib3JkZXItbGVmdCcpXHJcbiAgYm9yZGVyTGVmdCA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnaXMtcmVzaXphYmxlJykpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gbG9jayB0YWJsZSBjb2x1bW4gYmVjYXVzZSBpdCB3YXMgYWxzbyByZXNpemFibGUuIFJlc2l6YWJsZSB0YWJsZSBjb2x1bW5zIGNhbm5vdCBjdXJyZW50bHkgYmUgbG9ja2VkLiBSZW1vdmUgdGhlICdpcy1yZXNpemFibGUnIGNsYXNzIGZyb20gVEhzIG9mIHRhYmxlIGNvbHVtbXMgdGhhdCBoYXZlIHRoZSBbZWNUYWJsZUxvY2tlZENvbHVtbl0gY29tcG9uZW50LmApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuYXR0cmlidXRlcy5nZXROYW1lZEl0ZW0oJ2NvbHNwYW4nKSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBsb2NrIHRhYmxlIGNvbHVtbiBiZWNhdXNlIGl0IGhhZCBhICdjb2xzcGFuJy4gTG9ja2VkIGNvbHVtbnMgZG8gbm90IGN1cnJlbnRseSBzdXBwb3J0IFRIcyBvciBURHMgd2l0aCBhICdjb2xzcGFuJy4gUmVtb3ZlIHRoZSAnY29sc3BhbicgYXR0cmlidXRlIGZyb20gdGFibGUgY29sdW1ucyB0aGF0IGhhdmUgdGhlIFtlY1RhYmxlTG9ja2VkQ29sdW1uXSBjb21wb25lbnQuYCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy51cGRhdGVQb3NpdGlvbkFuZEJvcmRlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5vcHRpb25zKSB7XHJcbiAgICAgIHRoaXMudXBkYXRlUG9zaXRpb25BbmRCb3JkZXIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlUG9zaXRpb25BbmRCb3JkZXIoKTogdm9pZCB7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMub3B0aW9ucy5sZWZ0ID09PSAnbnVtYmVyJyAmJiB0eXBlb2YgdGhpcy5vcHRpb25zLnJpZ2h0ID09PSAnbnVtYmVyJykge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBsb2NrIHRhYmxlIGNvbHVtbiBiZWNhdXNlIGl0IGhhZCBhIHZhbHVlIGZvciBib3RoIGxlZnQgYW5kIHJpZ2h0LiBPbmx5IGxlZnQgb3IgcmlnaHQgY2FuIGhhdmUgYSB2YWx1ZS5gKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZW9mIHRoaXMub3B0aW9ucy5sZWZ0ID09PSAnbnVtYmVyJykge1xyXG4gICAgICB0aGlzLmxlZnQgPSB0aGlzLm9wdGlvbnMubGVmdDtcclxuICAgICAgdGhpcy5ib3JkZXJSaWdodCA9IHRoaXMub3B0aW9ucy5ib3JkZXIgfHwgZmFsc2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJpZ2h0ID0gdGhpcy5vcHRpb25zLnJpZ2h0O1xyXG4gICAgICB0aGlzLmJvcmRlckxlZnQgPSB0aGlzLm9wdGlvbnMuYm9yZGVyIHx8IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
@@ -1,14 +1,14 @@
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
2
|
+
import { NgIf } from '@angular/common';
|
2
3
|
import * as i0 from "@angular/core";
|
3
|
-
import * as i1 from "@angular/common";
|
4
4
|
export class TableMasterHeaderRowComponent {
|
5
5
|
}
|
6
6
|
TableMasterHeaderRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableMasterHeaderRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
7
|
-
TableMasterHeaderRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TableMasterHeaderRowComponent, selector: "[ecTableMasterHeaderRow]", inputs: { hideTableMaster: "hideTableMaster" }, ngImport: i0, template: `<th *ngIf="!hideTableMaster"></th><ng-content></ng-content>`, isInline: true, styles: ["th{width:1.5rem;padding:.25rem 0!important;vertical-align:top}th ::ng-deep+th,th ::ng-deep+th.is-resizable{padding-left:0}\n"], dependencies: [{ kind: "directive", type:
|
7
|
+
TableMasterHeaderRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TableMasterHeaderRowComponent, isStandalone: true, selector: "[ecTableMasterHeaderRow]", inputs: { hideTableMaster: "hideTableMaster" }, ngImport: i0, template: `<th *ngIf="!hideTableMaster"></th><ng-content></ng-content>`, isInline: true, styles: ["th{width:1.5rem;padding:.25rem 0!important;vertical-align:top}th ::ng-deep+th,th ::ng-deep+th.is-resizable{padding-left:0}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
8
8
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableMasterHeaderRowComponent, decorators: [{
|
9
9
|
type: Component,
|
10
|
-
args: [{ selector: '[ecTableMasterHeaderRow]', template: `<th *ngIf="!hideTableMaster"></th><ng-content></ng-content>`, styles: ["th{width:1.5rem;padding:.25rem 0!important;vertical-align:top}th ::ng-deep+th,th ::ng-deep+th.is-resizable{padding-left:0}\n"] }]
|
10
|
+
args: [{ selector: '[ecTableMasterHeaderRow]', template: `<th *ngIf="!hideTableMaster"></th><ng-content></ng-content>`, standalone: true, imports: [NgIf], styles: ["th{width:1.5rem;padding:.25rem 0!important;vertical-align:top}th ::ng-deep+th,th ::ng-deep+th.is-resizable{padding-left:0}\n"] }]
|
11
11
|
}], propDecorators: { hideTableMaster: [{
|
12
12
|
type: Input
|
13
13
|
}] } });
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbWFzdGVyLWhlYWRlci1yb3cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdGFibGUvdGFibGUtbWFzdGVyLWhlYWRlci1yb3cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFTdkMsTUFBTSxPQUFPLDZCQUE2Qjs7MEhBQTdCLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLG9JQUw1Qiw2REFBNkQsc01BRzdELElBQUk7MkZBRUwsNkJBQTZCO2tCQVB6QyxTQUFTOytCQUNJLDBCQUEwQixZQUMxQiw2REFBNkQsY0FFM0QsSUFBSSxXQUNQLENBQUMsSUFBSSxDQUFDOzhCQU1ELGVBQWU7c0JBQTlCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ1tlY1RhYmxlTWFzdGVySGVhZGVyUm93XScsXHJcbiAgICB0ZW1wbGF0ZTogYDx0aCAqbmdJZj1cIiFoaWRlVGFibGVNYXN0ZXJcIj48L3RoPjxuZy1jb250ZW50PjwvbmctY29udGVudD5gLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFibGUtbWFzdGVyLWhlYWRlci1yb3cuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTmdJZl1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlTWFzdGVySGVhZGVyUm93Q29tcG9uZW50IHtcclxuICAvKiogVXNlZCB0byBoaWRlIHRoZSBoZWFkZXIgYWRkZWQgdG8gdGhlIHRhYmxlLiBVc2VmdWwgaWYgYSB0YWJsZSBpcyBzaGFyZWQgYmV0d2VlbiB2aWV3cyBhbmQgbm90IGFsbFxyXG4gICAqICBzdXBwb3J0IHRoZSB0YWJsZSBtYXN0ZXIgc2NlbmFyaW9cclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgaGlkZVRhYmxlTWFzdGVyPzogYm9vbGVhbjtcclxufVxyXG4iXX0=
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { Component, Input, Output, EventEmitter, TemplateRef, ViewChild } from '@angular/core';
|
2
|
+
import { TableDetailRowComponent } from './table-detail-row.component';
|
3
|
+
import { CollapsibleToggleComponent } from '../../controls/collapsible-toggle/collapsible-toggle.component';
|
4
|
+
import { NgIf, NgTemplateOutlet } from '@angular/common';
|
2
5
|
import * as i0 from "@angular/core";
|
3
|
-
import * as i1 from "@angular/common";
|
4
|
-
import * as i2 from "../../controls/collapsible-toggle/collapsible-toggle.component";
|
5
|
-
import * as i3 from "./table-detail-row.component";
|
6
6
|
export class TableMasterRowComponent {
|
7
7
|
constructor(renderer, el, appRef) {
|
8
8
|
this.renderer = renderer;
|
@@ -128,10 +128,10 @@ export class TableMasterRowComponent {
|
|
128
128
|
}
|
129
129
|
}
|
130
130
|
TableMasterRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableMasterRowComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Component });
|
131
|
-
TableMasterRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TableMasterRowComponent, selector: "[ecTableMasterRow]", inputs: { id: "id", hasDetails: "hasDetails", showDetails: "showDetails", detailTemplate: "detailTemplate", detailContext: "detailContext", detailRowColSpan: "detailRowColSpan", detailRowClass: "detailRowClass", detailRowContentClass: "detailRowContentClass", detailRowMaxHeight: "detailRowMaxHeight", collapsibleToggleCellClass: "collapsibleToggleCellClass", hideTableMaster: "hideTableMaster" }, outputs: { showDetailsChanged: "showDetailsChanged" }, viewQueries: [{ propertyName: "detailRowTemplate", first: true, predicate: ["detailRow"], descendants: true, read: TemplateRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<td *ngIf=\"!hideTableMaster\" class=\"{{collapsibleToggleCellClass}}\">\r\n <ec-collapsible-toggle *ngIf=\"hasDetails\"\r\n id=\"{{id}}_toggle\"\r\n [expanded]=\"showDetails\"\r\n (expandedChange)=\"toggleDetails($event)\"></ec-collapsible-toggle>\r\n</td>\r\n<ng-content></ng-content>\r\n\r\n<ng-template #detailRow>\r\n <tr ecTableDetailRow class=\"{{detailRowClass}}\" [contentClass]=\"detailRowContentClass\" [contentColSpan]=\"detailRowColSpan\" [maxHeight]=\"detailRowMaxHeight\">\r\n <ng-container *ngTemplateOutlet=\"detailTemplate; context: {$implicit: detailContext}\"></ng-container>\r\n </tr>\r\n</ng-template>", styles: ["td{width:1.5rem;padding:.25rem 0!important;vertical-align:top}td ::ng-deep+td{padding-left:0}\n"], dependencies: [{ kind: "directive", type:
|
131
|
+
TableMasterRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TableMasterRowComponent, isStandalone: true, selector: "[ecTableMasterRow]", inputs: { id: "id", hasDetails: "hasDetails", showDetails: "showDetails", detailTemplate: "detailTemplate", detailContext: "detailContext", detailRowColSpan: "detailRowColSpan", detailRowClass: "detailRowClass", detailRowContentClass: "detailRowContentClass", detailRowMaxHeight: "detailRowMaxHeight", collapsibleToggleCellClass: "collapsibleToggleCellClass", hideTableMaster: "hideTableMaster" }, outputs: { showDetailsChanged: "showDetailsChanged" }, viewQueries: [{ propertyName: "detailRowTemplate", first: true, predicate: ["detailRow"], descendants: true, read: TemplateRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<td *ngIf=\"!hideTableMaster\" class=\"{{collapsibleToggleCellClass}}\">\r\n <ec-collapsible-toggle *ngIf=\"hasDetails\"\r\n id=\"{{id}}_toggle\"\r\n [expanded]=\"showDetails\"\r\n (expandedChange)=\"toggleDetails($event)\"></ec-collapsible-toggle>\r\n</td>\r\n<ng-content></ng-content>\r\n\r\n<ng-template #detailRow>\r\n <tr ecTableDetailRow class=\"{{detailRowClass}}\" [contentClass]=\"detailRowContentClass\" [contentColSpan]=\"detailRowColSpan\" [maxHeight]=\"detailRowMaxHeight\">\r\n <ng-container *ngTemplateOutlet=\"detailTemplate; context: {$implicit: detailContext}\"></ng-container>\r\n </tr>\r\n</ng-template>", styles: ["td{width:1.5rem;padding:.25rem 0!important;vertical-align:top}td ::ng-deep+td{padding-left:0}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CollapsibleToggleComponent, selector: "ec-collapsible-toggle", inputs: ["id", "expanded", "tabindex"], outputs: ["expandedChange"] }, { kind: "component", type: TableDetailRowComponent, selector: "[ecTableDetailRow]", inputs: ["contentClass", "contentColSpan", "maxHeight"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
132
132
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableMasterRowComponent, decorators: [{
|
133
133
|
type: Component,
|
134
|
-
args: [{ selector: '[ecTableMasterRow]', template: "<td *ngIf=\"!hideTableMaster\" class=\"{{collapsibleToggleCellClass}}\">\r\n <ec-collapsible-toggle *ngIf=\"hasDetails\"\r\n id=\"{{id}}_toggle\"\r\n [expanded]=\"showDetails\"\r\n (expandedChange)=\"toggleDetails($event)\"></ec-collapsible-toggle>\r\n</td>\r\n<ng-content></ng-content>\r\n\r\n<ng-template #detailRow>\r\n <tr ecTableDetailRow class=\"{{detailRowClass}}\" [contentClass]=\"detailRowContentClass\" [contentColSpan]=\"detailRowColSpan\" [maxHeight]=\"detailRowMaxHeight\">\r\n <ng-container *ngTemplateOutlet=\"detailTemplate; context: {$implicit: detailContext}\"></ng-container>\r\n </tr>\r\n</ng-template>", styles: ["td{width:1.5rem;padding:.25rem 0!important;vertical-align:top}td ::ng-deep+td{padding-left:0}\n"] }]
|
134
|
+
args: [{ selector: '[ecTableMasterRow]', standalone: true, imports: [NgIf, CollapsibleToggleComponent, TableDetailRowComponent, NgTemplateOutlet], template: "<td *ngIf=\"!hideTableMaster\" class=\"{{collapsibleToggleCellClass}}\">\r\n <ec-collapsible-toggle *ngIf=\"hasDetails\"\r\n id=\"{{id}}_toggle\"\r\n [expanded]=\"showDetails\"\r\n (expandedChange)=\"toggleDetails($event)\"></ec-collapsible-toggle>\r\n</td>\r\n<ng-content></ng-content>\r\n\r\n<ng-template #detailRow>\r\n <tr ecTableDetailRow class=\"{{detailRowClass}}\" [contentClass]=\"detailRowContentClass\" [contentColSpan]=\"detailRowColSpan\" [maxHeight]=\"detailRowMaxHeight\">\r\n <ng-container *ngTemplateOutlet=\"detailTemplate; context: {$implicit: detailContext}\"></ng-container>\r\n </tr>\r\n</ng-template>", styles: ["td{width:1.5rem;padding:.25rem 0!important;vertical-align:top}td ::ng-deep+td{padding-left:0}\n"] }]
|
135
135
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ApplicationRef }]; }, propDecorators: { id: [{
|
136
136
|
type: Input
|
137
137
|
}], hasDetails: [{
|
@@ -160,4 +160,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
160
160
|
type: ViewChild,
|
161
161
|
args: ['detailRow', { read: TemplateRef, static: true }]
|
162
162
|
}] } });
|
163
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbWFzdGVyLXJvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90YWJsZS90YWJsZS1tYXN0ZXItcm93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kaXNwbGF5L3RhYmxlL3RhYmxlLW1hc3Rlci1yb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUF1RyxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFPcE0sTUFBTSxPQUFPLHVCQUF1QjtJQXlGbEMsWUFBb0IsUUFBbUIsRUFBVSxFQUFjLEVBQVUsTUFBc0I7UUFBM0UsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQTlFL0Y7O1dBRUc7UUFDTSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQWtEN0I7O1dBRUc7UUFDTyx1QkFBa0IsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQXNCMEIsQ0FBQztJQUVwRyxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUMxQixPQUFPLENBQUMsS0FBSyxDQUFDLDhKQUE4SixDQUFDLENBQUM7U0FDL0s7UUFFRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBRXpCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsVUFB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QUFDO1lBQzFCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssaUJBQWlCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3BDLElBQUk7b0JBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDL0M7Z0JBQUMsT0FBTSxHQUFHLEVBQUU7b0JBQ1gsMkVBQTJFO2lCQUM1RTtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOztvSEFuTlUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsMGxCQXdFSCxXQUFXLGdFQy9FNUMsaXNCQVljOzJGRExELHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxvQkFBb0I7c0pBUWQsRUFBRTtzQkFBakIsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBTUcsY0FBYztzQkFBdEIsS0FBSztnQkFjRyxhQUFhO3NCQUFyQixLQUFLO2dCQU1HLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFLRyxjQUFjO3NCQUF0QixLQUFLO2dCQUtHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFFRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBS0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUtJLGVBQWU7c0JBQXZCLEtBQUs7Z0JBS0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUtvRCxpQkFBaUI7c0JBQTNFLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMiwgRW1iZWRkZWRWaWV3UmVmLCBTaW1wbGVDaGFuZ2VzLCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBBcHBsaWNhdGlvblJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdbZWNUYWJsZU1hc3RlclJvd10nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1tYXN0ZXItcm93LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWJsZS1tYXN0ZXItcm93LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlTWFzdGVyUm93Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgLyoqXHJcbiAgICogSWRlbnRpZmllciB0byBwYXNzIHRvIHRoZSBjb2xsYXBzaWJsZSB0b2dnbGVcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgaWQ/OiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnRyb2xzIHdoZXRoZXIgdGhlIHRhYmxlIHJvdyBoYXMgZGV0YWlscyBhbmQgc2hvd3MgdGhlIGNvbGxhcHNpYmxlIHRvZ2dsZSBpZiBpdCBkb2VzLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGhhc0RldGFpbHM/OiBib29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBQcm9ncmFtbWF0aWNhbGx5IHRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgZGV0YWlsIHJvdy4gRGVmYXVsdCBpcyBmYWxzZS5cclxuICAgKi9cclxuICBASW5wdXQoKSBzaG93RGV0YWlscyA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBUZW1wbGF0ZSBmb3IgdGhlIGRldGFpbCByb3cgY29udGVudC4gR2VuZXJhdGVzIGFuIFtFbWJlZGRlZFZpZXdSZWZdKGh0dHBzOi8vYW5ndWxhci5pby9hcGkvY29yZS9FbWJlZGRlZFZpZXdSZWYpXHJcbiAgICogd2l0aCB0aGUgJ2RldGFpbENvbnRleHQnLiBSZXF1aXJlZCBpZiBoYXNEZXRhaWxzIGlzIHRydWUuXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGV0YWlsVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICAvKipcclxuICAgKiBPcHRpb25hbCBjb250ZXh0IGJvdW5kIHRvIHRoZSAnZGV0YWlsVGVtcGxhdGUnLiBBdmFpbGFibGUgaW4gdGhlIHRlbXBsYXRlIGFzIHRoZSBkZWZhdWx0IGxvY2FsIHRlbXBsYXRlIGBsZXRgIGRlY2xhcmF0aW9uLlxyXG4gICAqIEBleGFtcGxlXHJcbiAgICogYGBgaHRtbFxyXG4gICAqIDx0ciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiIGVjVGFibGVNYXN0ZXJSb3cgW2RldGFpbFRlbXBsYXRlXT1cIm15RGV0YWlsVGVtcGxhdGVcIiBbZGV0YWlsQ29udGV4dF09XCJpdGVtXCI+XHJcbiAgICogIC4uLlxyXG4gICAqIDwvdHI+XHJcbiAgICpcclxuICAgKiA8bmctdGVtcGxhdGUgI215RGV0YWlsVGVtcGxhdGUgbGV0LWl0ZW0+XHJcbiAgICogIDxwPnt7aXRlbS5jb21tZW50fX08L3A+XHJcbiAgICogPC9uZy10ZW1wbGF0ZT5cclxuICAgKi9cclxuICBASW5wdXQoKSBkZXRhaWxDb250ZXh0PzogYW55O1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgbnVtYmVyIG9mIGNvbHVtbnMgaW4geW91ciB0YWJsZSBtaW51cyB0aGUgY29sdW1uIHRoYXQgaXMgYXV0b21hdGljYWxseSBhZGRlZCBieSB0aGVcclxuICAgKiBUYWJsZU1hc3RlclJvd0NvbXBvbmVudC4gUmVxdWlyZWQuXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGV0YWlsUm93Q29sU3BhbiE6IG51bWJlcjtcclxuXHJcbiAgLyoqXHJcbiAgICogU3BhY2UgZGVsaW1pdGVkIHN0cmluZyBhZGRlZCB0byB0aGUgY2xhc3MgYXR0cmlidXRlIG9mIGRldGFpbCByb3cgVFIuXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGV0YWlsUm93Q2xhc3M/OiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNwYWNlIGRlbGltaXRlZCBzdHJpbmcgYWRkZWQgdG8gdGhlIGNsYXNzIGF0dHJpYnV0ZSBvZiB0aGUgVEQgdGhhdCBjb250YWlucyB0aGUgZGV0YWlsIHJvdyBjb250ZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgZGV0YWlsUm93Q29udGVudENsYXNzPzogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBkZXRhaWxSb3dNYXhIZWlnaHQ/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBTcGFjZSBkZWxpbWl0ZWQgc3RyaW5nIGFkZGVkIHRvIHRoZSBjbGFzcyBhdHRyaWJ1dGUgb2YgdGhlIFREIHRoYXQgY29udGFpbnMgdGhlIGNvbGxhcHNpYmxlIHRvZ2dsZVxyXG4gICAqICBlbGVtZW50LlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNvbGxhcHNpYmxlVG9nZ2xlQ2VsbENsYXNzPzogc3RyaW5nO1xyXG5cclxuICAvKiogVXNlZCB0byBoaWRlIHRoZSBjZWxsIGFkZGVkIHRvIHRoZSB0YWJsZS4gVXNlZnVsIGlmIGEgdGFibGUgaXMgc2hhcmVkIGJldHdlZW4gdmlld3MgYW5kIG5vdCBhbGxcclxuICAgKiAgc3VwcG9ydCB0aGUgdGFibGUgbWFzdGVyIHNjZW5hcmlvXHJcbiAgICovXHJcbiAgIEBJbnB1dCgpIGhpZGVUYWJsZU1hc3Rlcj86IGJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIGFuIGV2ZW50IHdoZW4gdGhlIHZhbHVlIG9mIGBzaG93RGV0YWlsc2AgY2hhbmdlcy5cclxuICAgKi9cclxuICBAT3V0cHV0KCkgc2hvd0RldGFpbHNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSB0ZW1wbGF0ZSBmb3IgdGhlIGRldGFpbCByb3csIGluc2VydGVkIGluIHRoZSBET00gYWZ0ZXIgdGhlIG1hc3RlciByb3cuXHJcbiAgICovXHJcbiAgQFZpZXdDaGlsZCgnZGV0YWlsUm93Jywge3JlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWV9KSBkZXRhaWxSb3dUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSB2aWV3IGNyZWF0ZWQgZnJvbSB0aGUgYGRldGFpbFJvd2AgdGVtcGxhdGUuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBkZXRhaWxWaWV3PzogRW1iZWRkZWRWaWV3UmVmPGFueT47XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBwYXJlbnQgbm9kZSBvZiB0aGUgaG9zdCBlbGVtZW50LlxyXG4gICAqL1xyXG4gIHByaXZhdGUgcGFyZW50Tm9kZTogYW55O1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgc2libGluZyBub2RlIG9mIHRoZSBob3N0IGVsZW1lbnQuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzaWJsaW5nTm9kZTogYW55O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZikgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmRldGFpbFJvd0NvbFNwYW4pIHtcclxuICAgICAgY29uc29sZS5lcnJvcihgQSB2YWx1ZSBmb3IgW2RldGFpbFJvd0NvbFNwYW5dIGlzIHJlcXVpcmVkIHRvIHJlbmRlciBhIGRldGFpbCByb3cgY29ycmVjdGx5LiBUaGlzIHNob3VsZCBiZSB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgVERzIHBsYWNlZCBpbnNpZGUgYW4gdHJbZWNUYWJsZU1hc3RlclJvd10uYCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5wYXJlbnROb2RlID0gdGhpcy5yZW5kZXJlci5wYXJlbnROb2RlKHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XHJcbiAgICB0aGlzLnVwZGF0ZURldGFpbFJvdygpO1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzLmhhc0RldGFpbHMgJiYgIWNoYW5nZXMuaGFzRGV0YWlscy5maXJzdENoYW5nZSAmJiBjaGFuZ2VzLmhhc0RldGFpbHMuY3VycmVudFZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy51cGRhdGVEZXRhaWxSb3coKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY2hhbmdlcy5zaG93RGV0YWlscyAmJiAhY2hhbmdlcy5zaG93RGV0YWlscy5maXJzdENoYW5nZSAmJiBjaGFuZ2VzLnNob3dEZXRhaWxzLmN1cnJlbnRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMudXBkYXRlVmlzaWJpbGl0eSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbW92ZURldGFpbFZpZXcoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gdGhlIG1hc3RlciByb3cgaGFzIGRldGFpbHMsIGNyZWF0ZSB0aGUgZGV0YWlsIHJvdyBhbmQgdXBkYXRlIGl0J3MgdmlzaWJpbGl0eS4gSWYgdGhlIG1hc3RlclxyXG4gICAqIGhhcyBubyBkZXRhaWxzLCByZW1vdmUgdGhlIGRldGFpbCByb3dcclxuICAgKi9cclxuICB1cGRhdGVEZXRhaWxSb3coKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5oYXNEZXRhaWxzKSB7XHJcbiAgICAgIGlmICghdGhpcy5kZXRhaWxUZW1wbGF0ZSkge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYEEgdmFsdWUgZm9yIHRoZSBbZGV0YWlsVGVtcGxhdGVdIGlucHV0IGlzIHJlcXVpcmVkIHdoZW4gJ2hhc0RldGFpbHMnIGlzIHRydWUuYCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBGaXJzdCBjaGVjayB0byBzZWUgaWYgdGhlIGRldGFpbFZpZXcgaXMgYWxyZWFkeSBwcmVzZW50IGFuZCBpZiBzbywgcmVtb3ZlIGl0IHNvIHdlIGRvbid0IGdldCBhIFxyXG4gICAgICAvLyBkdXBsaWNhdGUgZGV0YWlsIHZpZXdcclxuICAgICAgaWYgKHRoaXMuZGV0YWlsVmlldyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy5yZW1vdmVEZXRhaWxWaWV3KCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuZGV0YWlsVmlldyA9IHRoaXMuZGV0YWlsUm93VGVtcGxhdGUuY3JlYXRlRW1iZWRkZWRWaWV3KHt9KTtcclxuXHJcbiAgICAgIC8vc29sdXRpb24gdG8gYWxsb3dpbmcgY2hhbmdlIGRldGVjdGlvbiBpbiBlbWJlZGRlZCB2aWV3IGFkYXB0ZWQgZnJvbSBoZXJlOlxyXG4gICAgICAvL2h0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzQyOTc3XHJcbiAgICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcodGhpcy5kZXRhaWxWaWV3KTtcclxuICAgICAgdGhpcy51cGRhdGVWaXNpYmlsaXR5KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJlbW92ZURldGFpbFZpZXcoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNob3cvaGlkZSB0aGUgZGV0YWlsIHJvd1xyXG4gICAqL1xyXG4gIHRvZ2dsZURldGFpbHMoc2hvdzogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93RGV0YWlscyA9IHNob3c7XHJcbiAgICB0aGlzLnNob3dEZXRhaWxzQ2hhbmdlZC5lbWl0KHNob3cpO1xyXG4gICAgdGhpcy51cGRhdGVWaXNpYmlsaXR5KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVZpc2liaWxpdHkoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zaG93RGV0YWlscykge1xyXG4gICAgICB0aGlzLnNob3coKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaGlkZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQXR0YWNoIHRoZSBkZXRhaWxWaWV3IHRoZSBjaGFuZ2UgZGV0ZWN0aW9uIHRyZWUgYW5kIGluc2VydCB0aGUgZ2VuZXJhdGVkIGh0bWxcclxuICAgKiBvZiB0aGUgZGV0YWlsIHJvdyB0byBET00gYWZ0ZXIgdGhlIGhvc3QgZWxlbWVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2hvdygpIHtcclxuICAgIGlmICh0aGlzLmRldGFpbFZpZXcpIHtcclxuICAgICAgLy9UaGUgbmV4dFNpYmxpbmcgbWF5IGhhdmUgY2hhbmdlZCwgc28gdXBkYXRlIGl0LiAoVGhpcyBjb3VsZCBoYXBwZW4gaWYgdGhlIHRhYmxlIGlzIGVtYmVkZGVkIGluIGEgc2VhcmNoYWJsZSB0YWJsZVxyXG4gICAgICAvLyAgYW5kIGEgc2VhcmNoIGlzIHBlcmZvcm1lZClcclxuICAgICAgdGhpcy5zaWJsaW5nTm9kZSA9IHRoaXMucmVuZGVyZXIubmV4dFNpYmxpbmcodGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcclxuICAgICAgdGhpcy5kZXRhaWxWaWV3LnJlYXR0YWNoKCk7XHJcbiAgICAgIHRoaXMuZGV0YWlsVmlldy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIHRoaXMuZGV0YWlsVmlldy5yb290Tm9kZXMuZm9yRWFjaChub2RlID0+IHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZSh0aGlzLnBhcmVudE5vZGUsIG5vZGUsIHRoaXMuc2libGluZ05vZGUpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERldGFjaCB0aGUgZGV0YWlsVmlldyBmcm9tIHRoZSBjaGFuZ2UgZGV0ZWN0aW9uIHRyZWUgYW5kIHJlbW92ZSB0aGUgZ2VuZXJhdGVkXHJcbiAgICogaHRtbCBvZiB0aGUgZGV0YWlsIHJvdyBmcm9tIHRoZSBET01cclxuICAgKi9cclxuICBwcml2YXRlIGhpZGUoKSB7XHJcbiAgICBpZiAodGhpcy5kZXRhaWxWaWV3KSB7XHJcbiAgICAgIHRoaXMuZGV0YWlsVmlldy5kZXRhY2goKTtcclxuICAgICAgdGhpcy5yZW1vdmVEZXRhaWxOb2RlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVzdHJveSB0aGUgZGV0YWlsVmlldyBhbmQgcmVtb3ZlIHRoZSBnZW5lcmF0ZWQgaHRtbCBvZiB0aGUgZGV0YWlsIHJvdyBmcm9tIHRoZSBET01cclxuICAgKi9cclxuICBwcml2YXRlIHJlbW92ZURldGFpbFZpZXcoKSB7XHJcbiAgICBpZiAodGhpcy5kZXRhaWxWaWV3KSB7XHJcbiAgICAgIHRoaXMuZGV0YWlsVmlldy5kZXN0cm95KCk7XHJcbiAgICAgIHRoaXMucmVtb3ZlRGV0YWlsTm9kZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSB0aGUgZ2VuZXJhdGVkIGh0bWwgb2YgdGhlIGRldGFpbCByb3cgZnJvbSB0aGUgRE9NXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZW1vdmVEZXRhaWxOb2RlcygpIHtcclxuICAgIGlmICh0aGlzLmRldGFpbFZpZXcpIHtcclxuICAgICAgdGhpcy5kZXRhaWxWaWV3LnJvb3ROb2Rlcy5mb3JFYWNoKG4gPT4ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMucGFyZW50Tm9kZSwgbik7XHJcbiAgICAgICAgfSBjYXRjaChlcnIpIHtcclxuICAgICAgICAgIC8vIElnbm9yZSBlcnJvcnMgdGhyb3duIGJ5IHJlbW92aW5nIG5vZGVzIHRoYXQgd2VyZSBuZXZlciBhZGRlZCB0byB0aGUgRE9NLlxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8dGQgKm5nSWY9XCIhaGlkZVRhYmxlTWFzdGVyXCIgY2xhc3M9XCJ7e2NvbGxhcHNpYmxlVG9nZ2xlQ2VsbENsYXNzfX1cIj5cclxuICA8ZWMtY29sbGFwc2libGUtdG9nZ2xlICpuZ0lmPVwiaGFzRGV0YWlsc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInt7aWR9fV90b2dnbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2V4cGFuZGVkXT1cInNob3dEZXRhaWxzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIChleHBhbmRlZENoYW5nZSk9XCJ0b2dnbGVEZXRhaWxzKCRldmVudClcIj48L2VjLWNvbGxhcHNpYmxlLXRvZ2dsZT5cclxuPC90ZD5cclxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG5cclxuPG5nLXRlbXBsYXRlICNkZXRhaWxSb3c+XHJcbiAgPHRyIGVjVGFibGVEZXRhaWxSb3cgY2xhc3M9XCJ7e2RldGFpbFJvd0NsYXNzfX1cIiBbY29udGVudENsYXNzXT1cImRldGFpbFJvd0NvbnRlbnRDbGFzc1wiIFtjb250ZW50Q29sU3Bhbl09XCJkZXRhaWxSb3dDb2xTcGFuXCIgW21heEhlaWdodF09XCJkZXRhaWxSb3dNYXhIZWlnaHRcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRldGFpbFRlbXBsYXRlOyBjb250ZXh0OiB7JGltcGxpY2l0OiBkZXRhaWxDb250ZXh0fVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvdHI+XHJcbjwvbmctdGVtcGxhdGU+Il19
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbWFzdGVyLXJvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90YWJsZS90YWJsZS1tYXN0ZXItcm93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kaXNwbGF5L3RhYmxlL3RhYmxlLW1hc3Rlci1yb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUF1RyxNQUFNLGVBQWUsQ0FBQztBQUNwTSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBU3pELE1BQU0sT0FBTyx1QkFBdUI7SUF5RmxDLFlBQW9CLFFBQW1CLEVBQVUsRUFBYyxFQUFVLE1BQXNCO1FBQTNFLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUE5RS9GOztXQUVHO1FBQ00sZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFrRDdCOztXQUVHO1FBQ08sdUJBQWtCLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7SUFzQjBCLENBQUM7SUFFcEcsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDMUIsT0FBTyxDQUFDLEtBQUssQ0FBQyw4SkFBOEosQ0FBQyxDQUFDO1NBQy9LO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMs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QUs7Z0JBS0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUtJLGVBQWU7c0JBQXZCLEtBQUs7Z0JBS0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUtvRCxpQkFBaUI7c0JBQTNFLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMiwgRW1iZWRkZWRWaWV3UmVmLCBTaW1wbGVDaGFuZ2VzLCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBBcHBsaWNhdGlvblJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUYWJsZURldGFpbFJvd0NvbXBvbmVudCB9IGZyb20gJy4vdGFibGUtZGV0YWlsLXJvdy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2xsYXBzaWJsZVRvZ2dsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL2NvbGxhcHNpYmxlLXRvZ2dsZS9jb2xsYXBzaWJsZS10b2dnbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnW2VjVGFibGVNYXN0ZXJSb3ddJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1tYXN0ZXItcm93LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3RhYmxlLW1hc3Rlci1yb3cuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTmdJZiwgQ29sbGFwc2libGVUb2dnbGVDb21wb25lbnQsIFRhYmxlRGV0YWlsUm93Q29tcG9uZW50LCBOZ1RlbXBsYXRlT3V0bGV0XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVNYXN0ZXJSb3dDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAvKipcclxuICAgKiBJZGVudGlmaWVyIHRvIHBhc3MgdG8gdGhlIGNvbGxhcHNpYmxlIHRvZ2dsZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpZD86IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogQ29udHJvbHMgd2hldGhlciB0aGUgdGFibGUgcm93IGhhcyBkZXRhaWxzIGFuZCBzaG93cyB0aGUgY29sbGFwc2libGUgdG9nZ2xlIGlmIGl0IGRvZXMuXHJcbiAgICovXHJcbiAgQElucHV0KCkgaGFzRGV0YWlscz86IGJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqIFByb2dyYW1tYXRpY2FsbHkgdG9nZ2xlIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBkZXRhaWwgcm93LiBEZWZhdWx0IGlzIGZhbHNlLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNob3dEZXRhaWxzID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRlbXBsYXRlIGZvciB0aGUgZGV0YWlsIHJvdyBjb250ZW50LiBHZW5lcmF0ZXMgYW4gW0VtYmVkZGVkVmlld1JlZl0oaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9jb3JlL0VtYmVkZGVkVmlld1JlZilcclxuICAgKiB3aXRoIHRoZSAnZGV0YWlsQ29udGV4dCcuIFJlcXVpcmVkIGlmIGhhc0RldGFpbHMgaXMgdHJ1ZS5cclxuICAgKi9cclxuICBASW5wdXQoKSBkZXRhaWxUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIC8qKlxyXG4gICAqIE9wdGlvbmFsIGNvbnRleHQgYm91bmQgdG8gdGhlICdkZXRhaWxUZW1wbGF0ZScuIEF2YWlsYWJsZSBpbiB0aGUgdGVtcGxhdGUgYXMgdGhlIGRlZmF1bHQgbG9jYWwgdGVtcGxhdGUgYGxldGAgZGVjbGFyYXRpb24uXHJcbiAgICogQGV4YW1wbGVcclxuICAgKiBgYGBodG1sXHJcbiAgICogPHRyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCIgZWNUYWJsZU1hc3RlclJvdyBbZGV0YWlsVGVtcGxhdGVdPVwibXlEZXRhaWxUZW1wbGF0ZVwiIFtkZXRhaWxDb250ZXh0XT1cIml0ZW1cIj5cclxuICAgKiAgLi4uXHJcbiAgICogPC90cj5cclxuICAgKlxyXG4gICAqIDxuZy10ZW1wbGF0ZSAjbXlEZXRhaWxUZW1wbGF0ZSBsZXQtaXRlbT5cclxuICAgKiAgPHA+e3tpdGVtLmNvbW1lbnR9fTwvcD5cclxuICAgKiA8L25nLXRlbXBsYXRlPlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRldGFpbENvbnRleHQ/OiBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBudW1iZXIgb2YgY29sdW1ucyBpbiB5b3VyIHRhYmxlIG1pbnVzIHRoZSBjb2x1bW4gdGhhdCBpcyBhdXRvbWF0aWNhbGx5IGFkZGVkIGJ5IHRoZVxyXG4gICAqIFRhYmxlTWFzdGVyUm93Q29tcG9uZW50LiBSZXF1aXJlZC5cclxuICAgKi9cclxuICBASW5wdXQoKSBkZXRhaWxSb3dDb2xTcGFuITogbnVtYmVyO1xyXG5cclxuICAvKipcclxuICAgKiBTcGFjZSBkZWxpbWl0ZWQgc3RyaW5nIGFkZGVkIHRvIHRoZSBjbGFzcyBhdHRyaWJ1dGUgb2YgZGV0YWlsIHJvdyBUUi5cclxuICAgKi9cclxuICBASW5wdXQoKSBkZXRhaWxSb3dDbGFzcz86IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogU3BhY2UgZGVsaW1pdGVkIHN0cmluZyBhZGRlZCB0byB0aGUgY2xhc3MgYXR0cmlidXRlIG9mIHRoZSBURCB0aGF0IGNvbnRhaW5zIHRoZSBkZXRhaWwgcm93IGNvbnRlbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBkZXRhaWxSb3dDb250ZW50Q2xhc3M/OiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIGRldGFpbFJvd01heEhlaWdodD86IHN0cmluZztcclxuXHJcbiAgLyoqIFNwYWNlIGRlbGltaXRlZCBzdHJpbmcgYWRkZWQgdG8gdGhlIGNsYXNzIGF0dHJpYnV0ZSBvZiB0aGUgVEQgdGhhdCBjb250YWlucyB0aGUgY29sbGFwc2libGUgdG9nZ2xlXHJcbiAgICogIGVsZW1lbnQuXHJcbiAgICovXHJcbiAgQElucHV0KCkgY29sbGFwc2libGVUb2dnbGVDZWxsQ2xhc3M/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBVc2VkIHRvIGhpZGUgdGhlIGNlbGwgYWRkZWQgdG8gdGhlIHRhYmxlLiBVc2VmdWwgaWYgYSB0YWJsZSBpcyBzaGFyZWQgYmV0d2VlbiB2aWV3cyBhbmQgbm90IGFsbFxyXG4gICAqICBzdXBwb3J0IHRoZSB0YWJsZSBtYXN0ZXIgc2NlbmFyaW9cclxuICAgKi9cclxuICAgQElucHV0KCkgaGlkZVRhYmxlTWFzdGVyPzogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdHMgYW4gZXZlbnQgd2hlbiB0aGUgdmFsdWUgb2YgYHNob3dEZXRhaWxzYCBjaGFuZ2VzLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBzaG93RGV0YWlsc0NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIHRlbXBsYXRlIGZvciB0aGUgZGV0YWlsIHJvdywgaW5zZXJ0ZWQgaW4gdGhlIERPTSBhZnRlciB0aGUgbWFzdGVyIHJvdy5cclxuICAgKi9cclxuICBAVmlld0NoaWxkKCdkZXRhaWxSb3cnLCB7cmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZX0pIGRldGFpbFJvd1RlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIHZpZXcgY3JlYXRlZCBmcm9tIHRoZSBgZGV0YWlsUm93YCB0ZW1wbGF0ZS5cclxuICAgKi9cclxuICBwcml2YXRlIGRldGFpbFZpZXc/OiBFbWJlZGRlZFZpZXdSZWY8YW55PjtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIHBhcmVudCBub2RlIG9mIHRoZSBob3N0IGVsZW1lbnQuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBwYXJlbnROb2RlOiBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBzaWJsaW5nIG5vZGUgb2YgdGhlIGhvc3QgZWxlbWVudC5cclxuICAgKi9cclxuICBwcml2YXRlIHNpYmxpbmdOb2RlOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuZGV0YWlsUm93Q29sU3Bhbikge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGBBIHZhbHVlIGZvciBbZGV0YWlsUm93Q29sU3Bhbl0gaXMgcmVxdWlyZWQgdG8gcmVuZGVyIGEgZGV0YWlsIHJvdyBjb3JyZWN0bHkuIFRoaXMgc2hvdWxkIGJlIHRoZSBudW1iZXIgb2YgY29sdW1ucyBURHMgcGxhY2VkIGluc2lkZSBhbiB0cltlY1RhYmxlTWFzdGVyUm93XS5gKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnBhcmVudE5vZGUgPSB0aGlzLnJlbmRlcmVyLnBhcmVudE5vZGUodGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcclxuICAgIHRoaXMudXBkYXRlRGV0YWlsUm93KCk7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXMuaGFzRGV0YWlscyAmJiAhY2hhbmdlcy5oYXNEZXRhaWxzLmZpcnN0Q2hhbmdlICYmIGNoYW5nZXMuaGFzRGV0YWlscy5jdXJyZW50VmFsdWUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnVwZGF0ZURldGFpbFJvdygpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjaGFuZ2VzLnNob3dEZXRhaWxzICYmICFjaGFuZ2VzLnNob3dEZXRhaWxzLmZpcnN0Q2hhbmdlICYmIGNoYW5nZXMuc2hvd0RldGFpbHMuY3VycmVudFZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy51cGRhdGVWaXNpYmlsaXR5KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVtb3ZlRGV0YWlsVmlldygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiB0aGUgbWFzdGVyIHJvdyBoYXMgZGV0YWlscywgY3JlYXRlIHRoZSBkZXRhaWwgcm93IGFuZCB1cGRhdGUgaXQncyB2aXNpYmlsaXR5LiBJZiB0aGUgbWFzdGVyXHJcbiAgICogaGFzIG5vIGRldGFpbHMsIHJlbW92ZSB0aGUgZGV0YWlsIHJvd1xyXG4gICAqL1xyXG4gIHVwZGF0ZURldGFpbFJvdygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmhhc0RldGFpbHMpIHtcclxuICAgICAgaWYgKCF0aGlzLmRldGFpbFRlbXBsYXRlKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihgQSB2YWx1ZSBmb3IgdGhlIFtkZXRhaWxUZW1wbGF0ZV0gaW5wdXQgaXMgcmVxdWlyZWQgd2hlbiAnaGFzRGV0YWlscycgaXMgdHJ1ZS5gKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIEZpcnN0IGNoZWNrIHRvIHNlZSBpZiB0aGUgZGV0YWlsVmlldyBpcyBhbHJlYWR5IHByZXNlbnQgYW5kIGlmIHNvLCByZW1vdmUgaXQgc28gd2UgZG9uJ3QgZ2V0IGEgXHJcbiAgICAgIC8vIGR1cGxpY2F0ZSBkZXRhaWwgdmlld1xyXG4gICAgICBpZiAodGhpcy5kZXRhaWxWaWV3ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLnJlbW92ZURldGFpbFZpZXcoKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5kZXRhaWxWaWV3ID0gdGhpcy5kZXRhaWxSb3dUZW1wbGF0ZS5jcmVhdGVFbWJlZGRlZFZpZXcoe30pO1xyXG5cclxuICAgICAgLy9zb2x1dGlvbiB0byBhbGxvd2luZyBjaGFuZ2UgZGV0ZWN0aW9uIGluIGVtYmVkZGVkIHZpZXcgYWRhcHRlZCBmcm9tIGhlcmU6XHJcbiAgICAgIC8vaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvNDI5NzdcclxuICAgICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyh0aGlzLmRldGFpbFZpZXcpO1xyXG4gICAgICB0aGlzLnVwZGF0ZVZpc2liaWxpdHkoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVtb3ZlRGV0YWlsVmlldygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2hvdy9oaWRlIHRoZSBkZXRhaWwgcm93XHJcbiAgICovXHJcbiAgdG9nZ2xlRGV0YWlscyhzaG93OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dEZXRhaWxzID0gc2hvdztcclxuICAgIHRoaXMuc2hvd0RldGFpbHNDaGFuZ2VkLmVtaXQoc2hvdyk7XHJcbiAgICB0aGlzLnVwZGF0ZVZpc2liaWxpdHkoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlVmlzaWJpbGl0eSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNob3dEZXRhaWxzKSB7XHJcbiAgICAgIHRoaXMuc2hvdygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5oaWRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBdHRhY2ggdGhlIGRldGFpbFZpZXcgdGhlIGNoYW5nZSBkZXRlY3Rpb24gdHJlZSBhbmQgaW5zZXJ0IHRoZSBnZW5lcmF0ZWQgaHRtbFxyXG4gICAqIG9mIHRoZSBkZXRhaWwgcm93IHRvIERPTSBhZnRlciB0aGUgaG9zdCBlbGVtZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzaG93KCkge1xyXG4gICAgaWYgKHRoaXMuZGV0YWlsVmlldykge1xyXG4gICAgICAvL1RoZSBuZXh0U2libGluZyBtYXkgaGF2ZSBjaGFuZ2VkLCBzbyB1cGRhdGUgaXQuIChUaGlzIGNvdWxkIGhhcHBlbiBpZiB0aGUgdGFibGUgaXMgZW1iZWRkZWQgaW4gYSBzZWFyY2hhYmxlIHRhYmxlXHJcbiAgICAgIC8vICBhbmQgYSBzZWFyY2ggaXMgcGVyZm9ybWVkKVxyXG4gICAgICB0aGlzLnNpYmxpbmdOb2RlID0gdGhpcy5yZW5kZXJlci5uZXh0U2libGluZyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgICB0aGlzLmRldGFpbFZpZXcucmVhdHRhY2goKTtcclxuICAgICAgdGhpcy5kZXRhaWxWaWV3LmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgdGhpcy5kZXRhaWxWaWV3LnJvb3ROb2Rlcy5mb3JFYWNoKG5vZGUgPT4ge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKHRoaXMucGFyZW50Tm9kZSwgbm9kZSwgdGhpcy5zaWJsaW5nTm9kZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGV0YWNoIHRoZSBkZXRhaWxWaWV3IGZyb20gdGhlIGNoYW5nZSBkZXRlY3Rpb24gdHJlZSBhbmQgcmVtb3ZlIHRoZSBnZW5lcmF0ZWRcclxuICAgKiBodG1sIG9mIHRoZSBkZXRhaWwgcm93IGZyb20gdGhlIERPTVxyXG4gICAqL1xyXG4gIHByaXZhdGUgaGlkZSgpIHtcclxuICAgIGlmICh0aGlzLmRldGFpbFZpZXcpIHtcclxuICAgICAgdGhpcy5kZXRhaWxWaWV3LmRldGFjaCgpO1xyXG4gICAgICB0aGlzLnJlbW92ZURldGFpbE5vZGVzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZXN0cm95IHRoZSBkZXRhaWxWaWV3IGFuZCByZW1vdmUgdGhlIGdlbmVyYXRlZCBodG1sIG9mIHRoZSBkZXRhaWwgcm93IGZyb20gdGhlIERPTVxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVtb3ZlRGV0YWlsVmlldygpIHtcclxuICAgIGlmICh0aGlzLmRldGFpbFZpZXcpIHtcclxuICAgICAgdGhpcy5kZXRhaWxWaWV3LmRlc3Ryb3koKTtcclxuICAgICAgdGhpcy5yZW1vdmVEZXRhaWxOb2RlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIHRoZSBnZW5lcmF0ZWQgaHRtbCBvZiB0aGUgZGV0YWlsIHJvdyBmcm9tIHRoZSBET01cclxuICAgKi9cclxuICBwcml2YXRlIHJlbW92ZURldGFpbE5vZGVzKCkge1xyXG4gICAgaWYgKHRoaXMuZGV0YWlsVmlldykge1xyXG4gICAgICB0aGlzLmRldGFpbFZpZXcucm9vdE5vZGVzLmZvckVhY2gobiA9PiB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5wYXJlbnROb2RlLCBuKTtcclxuICAgICAgICB9IGNhdGNoKGVycikge1xyXG4gICAgICAgICAgLy8gSWdub3JlIGVycm9ycyB0aHJvd24gYnkgcmVtb3Zpbmcgbm9kZXMgdGhhdCB3ZXJlIG5ldmVyIGFkZGVkIHRvIHRoZSBET00uXHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiIsIjx0ZCAqbmdJZj1cIiFoaWRlVGFibGVNYXN0ZXJcIiBjbGFzcz1cInt7Y29sbGFwc2libGVUb2dnbGVDZWxsQ2xhc3N9fVwiPlxyXG4gIDxlYy1jb2xsYXBzaWJsZS10b2dnbGUgKm5nSWY9XCJoYXNEZXRhaWxzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwie3tpZH19X3RvZ2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbZXhwYW5kZWRdPVwic2hvd0RldGFpbHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGV4cGFuZGVkQ2hhbmdlKT1cInRvZ2dsZURldGFpbHMoJGV2ZW50KVwiPjwvZWMtY29sbGFwc2libGUtdG9nZ2xlPlxyXG48L3RkPlxyXG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcblxyXG48bmctdGVtcGxhdGUgI2RldGFpbFJvdz5cclxuICA8dHIgZWNUYWJsZURldGFpbFJvdyBjbGFzcz1cInt7ZGV0YWlsUm93Q2xhc3N9fVwiIFtjb250ZW50Q2xhc3NdPVwiZGV0YWlsUm93Q29udGVudENsYXNzXCIgW2NvbnRlbnRDb2xTcGFuXT1cImRldGFpbFJvd0NvbFNwYW5cIiBbbWF4SGVpZ2h0XT1cImRldGFpbFJvd01heEhlaWdodFwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGV0YWlsVGVtcGxhdGU7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGRldGFpbENvbnRleHR9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC90cj5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
2
2
|
import { NavGroup } from '../../controls/navigation/nav-group';
|
3
|
+
import { DropdownComponent } from '../../controls/dropdown/dropdown.component';
|
4
|
+
import { NgIf } from '@angular/common';
|
5
|
+
import { TabsComponent } from '../../controls/tabs/tabs.component';
|
3
6
|
import * as i0 from "@angular/core";
|
4
|
-
import * as i1 from "@angular/common";
|
5
|
-
import * as i2 from "../../controls/tabs/tabs.component";
|
6
|
-
import * as i3 from "../../controls/dropdown/dropdown.component";
|
7
7
|
export class TablePaginationComponent {
|
8
8
|
constructor(el) {
|
9
9
|
this.el = el;
|
@@ -128,12 +128,12 @@ export class TablePaginationComponent {
|
|
128
128
|
}
|
129
129
|
}
|
130
130
|
TablePaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TablePaginationComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
131
|
-
TablePaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TablePaginationComponent, selector: "ec-table-pagination", inputs: { id: "id", totalItems: "totalItems", pageSize: "pageSize", pageNumber: "pageNumber", maxTabs: "maxTabs" }, outputs: { pageChanged: "pageChanged" }, host: { classAttribute: "d-flex px-2 align-items-center" }, usesOnChanges: true, ngImport: i0, template: "<ec-tabs id=\"{{id}}_pages\"\r\n class=\"my-2 is-condensed\"\r\n [tabGroup]=\"currentTabs\"\r\n tabStyle=\"pills\">\r\n</ec-tabs>\r\n<ec-dropdown id=\"{{id}}_morePages\"\r\n *ngIf=\"dropdownItems.length > 1\"\r\n class=\"my-1 ml-1\"\r\n menuTemplateType=\"label\"\r\n icon=\"icon-more\"\r\n menuPosition=\"left\"\r\n [menuMinWidth]=\"80\"\r\n [showArrow]=\"false\"\r\n [popupFixed]=\"true\"\r\n [items]=\"dropdownItems\"\r\n (itemSelected)=\"onItemSelected($event)\">\r\n</ec-dropdown>", dependencies: [{ kind: "
|
131
|
+
TablePaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TablePaginationComponent, isStandalone: true, selector: "ec-table-pagination", inputs: { id: "id", totalItems: "totalItems", pageSize: "pageSize", pageNumber: "pageNumber", maxTabs: "maxTabs" }, outputs: { pageChanged: "pageChanged" }, host: { classAttribute: "d-flex px-2 align-items-center" }, usesOnChanges: true, ngImport: i0, template: "<ec-tabs id=\"{{id}}_pages\"\r\n class=\"my-2 is-condensed\"\r\n [tabGroup]=\"currentTabs\"\r\n tabStyle=\"pills\">\r\n</ec-tabs>\r\n<ec-dropdown id=\"{{id}}_morePages\"\r\n *ngIf=\"dropdownItems.length > 1\"\r\n class=\"my-1 ml-1\"\r\n menuTemplateType=\"label\"\r\n icon=\"icon-more\"\r\n menuPosition=\"left\"\r\n [menuMinWidth]=\"80\"\r\n [showArrow]=\"false\"\r\n [popupFixed]=\"true\"\r\n [items]=\"dropdownItems\"\r\n (itemSelected)=\"onItemSelected($event)\">\r\n</ec-dropdown>", dependencies: [{ kind: "component", type: TabsComponent, selector: "ec-tabs", inputs: ["id", "tabindex", "tabStyle", "tabGroup"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DropdownComponent, selector: "ec-dropdown", inputs: ["id", "autofocus", "status", "disabled", "label", "icon", "buttonType", "buttonAlignment", "buttonTitle", "tabindex", "showArrow", "items", "menuTemplateType", "menuTitle", "menuHeight", "menuWidth", "menuMinWidth", "menuPosition", "menuFooter", "popupFixed", "buttonCustomTemplate", "pending"], outputs: ["itemSelected", "popupOpened"] }] });
|
132
132
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TablePaginationComponent, decorators: [{
|
133
133
|
type: Component,
|
134
134
|
args: [{ selector: 'ec-table-pagination', host: {
|
135
135
|
class: 'd-flex px-2 align-items-center'
|
136
|
-
}, template: "<ec-tabs id=\"{{id}}_pages\"\r\n class=\"my-2 is-condensed\"\r\n [tabGroup]=\"currentTabs\"\r\n tabStyle=\"pills\">\r\n</ec-tabs>\r\n<ec-dropdown id=\"{{id}}_morePages\"\r\n *ngIf=\"dropdownItems.length > 1\"\r\n class=\"my-1 ml-1\"\r\n menuTemplateType=\"label\"\r\n icon=\"icon-more\"\r\n menuPosition=\"left\"\r\n [menuMinWidth]=\"80\"\r\n [showArrow]=\"false\"\r\n [popupFixed]=\"true\"\r\n [items]=\"dropdownItems\"\r\n (itemSelected)=\"onItemSelected($event)\">\r\n</ec-dropdown>" }]
|
136
|
+
}, standalone: true, imports: [TabsComponent, NgIf, DropdownComponent], template: "<ec-tabs id=\"{{id}}_pages\"\r\n class=\"my-2 is-condensed\"\r\n [tabGroup]=\"currentTabs\"\r\n tabStyle=\"pills\">\r\n</ec-tabs>\r\n<ec-dropdown id=\"{{id}}_morePages\"\r\n *ngIf=\"dropdownItems.length > 1\"\r\n class=\"my-1 ml-1\"\r\n menuTemplateType=\"label\"\r\n icon=\"icon-more\"\r\n menuPosition=\"left\"\r\n [menuMinWidth]=\"80\"\r\n [showArrow]=\"false\"\r\n [popupFixed]=\"true\"\r\n [items]=\"dropdownItems\"\r\n (itemSelected)=\"onItemSelected($event)\">\r\n</ec-dropdown>" }]
|
137
137
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { id: [{
|
138
138
|
type: Input
|
139
139
|
}], totalItems: [{
|
@@ -147,4 +147,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
147
147
|
}], pageChanged: [{
|
148
148
|
type: Output
|
149
149
|
}] } });
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90YWJsZS90YWJsZS1wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kaXNwbGF5L3RhYmxlL3RhYmxlLXBhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFHOUYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7OztBQXVCL0QsTUFBTSxPQUFPLHdCQUF3QjtJQXVEbkMsWUFBb0IsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7UUF4Q2xDOzs7V0FHRztRQUNNLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFFaEM7O1dBRUc7UUFDTSxZQUFPLEdBQVksRUFBRSxDQUFDO1FBRS9COzs7Ozs7Ozs7Ozs7Ozs7O1dBZ0JHO1FBQ08sZ0JBQVcsR0FBNkIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVyRTs7V0FFRztRQUNJLGtCQUFhLEdBQTBCLEVBQUUsQ0FBQztRQUVqRDs7V0FFRztRQUNJLGdCQUFXLEdBQWEsSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUVSLENBQUM7SUFHdkMsV0FBVztRQUNULElBQUcsSUFBSSxDQUFDLFVBQVUsS0FBSyxDQUFDLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2xDLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhCLDJF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MUJyQyx1bkJBZ0JjOzJGRFVELHdCQUF3QjtrQkFQcEMsU0FBUzsrQkFDRSxxQkFBcUIsUUFFekI7d0JBQ0osS0FBSyxFQUFFLGdDQUFnQztxQkFDeEM7aUdBSVEsRUFBRTtzQkFBVixLQUFLO2dCQU1HLFVBQVU7c0JBQWxCLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFNRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtHLE9BQU87c0JBQWYsS0FBSztnQkFtQkksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBFbGVtZW50UmVmLCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICcuLi8uLi9jb250cm9scy9tZW51L21lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmF2SXRlbSB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL25hdmlnYXRpb24vbmF2LWl0ZW0nO1xyXG5pbXBvcnQgeyBOYXZHcm91cCB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL25hdmlnYXRpb24vbmF2LWdyb3VwJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5nSW5mbyB7XHJcbiAgLyoqTnVtYmVyIG9mIGl0ZW1zIHRvIHNraXAgdG8gZ2V0IHRvIHRoaXMgcGFnZSovXHJcbiAgc2tpcDogbnVtYmVyLFxyXG4gIC8qKk51bWJlciBvZiBpdGVtcyBpbiB0aGlzIHBhZ2UqL1xyXG4gIHBhZ2VTaXplOiBudW1iZXIsXHJcbiAgLyoqVGhlIG51bWJlciBvZiB0aGUgcGFnZSovXHJcbiAgcGFnZU51bWJlcjogbnVtYmVyXHJcbn1cclxuXHJcbmludGVyZmFjZSBQYWdlUmFuZ2Uge1xyXG4gIGZpcnN0UGFnZTogbnVtYmVyLFxyXG4gIGxhc3RQYWdlOiBudW1iZXJcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlYy10YWJsZS1wYWdpbmF0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICdkLWZsZXggcHgtMiBhbGlnbi1pdGVtcy1jZW50ZXInXHJcbiAgfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVQYWdpbmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuXHJcbiAgQElucHV0KCkgaWQ/OiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRvdGFsIG51bWJlciBvZiByb3dzIHRoYXQgd2UgbmVlZCB0byBwYWdlIHRocm91Z2guXHJcbiAgICogaS5lLiB0aGUgc3VtIG9mIGFsbCByb3dzIG9uIGFsbCBwYWdlcy5cclxuICAgKi9cclxuICBASW5wdXQoKSB0b3RhbEl0ZW1zITogbnVtYmVyO1xyXG5cclxuICAvKipcclxuICAgKiBNYXggc2l6ZSBvZiBhIHBhZ2UuXHJcbiAgICovXHJcbiAgQElucHV0KCkgcGFnZVNpemUhOiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIE51bWJlciBvZiB0aGUgY3VycmVudCBwYWdlLlxyXG4gICAqIEluaXRpYWwgdmFsdWUgaXMgMSwgY2FuIGJlIG92ZXJyaWRkZW4gdG8gY2hhbmdlIHRoZSBzdGFydGluZyBwYWdlIG51bWJlci5cclxuICAgKi9cclxuICBASW5wdXQoKSBwYWdlTnVtYmVyOiBudW1iZXIgPSAxO1xyXG5cclxuICAvKipcclxuICAgKiBNYXhpbXVtIG51bWJlciBvZiBwYWdlIHRhYnMgdG8gc2hvd1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1heFRhYnM/OiBudW1iZXIgPSAxMDtcclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdHMgd2hlbiB0aGUgcGFnZSBjaGFuZ2VzLlxyXG4gICAqIFxyXG4gICAqIEJpbmQgdG8gdGhlIGV2ZW50IGluIGEgdGVtcGxhdGUgdXNpbmcgYSBmdW5jdGlvbiB0aGF0IHVzZXMgdGhlIFwic2tpcFwiIGFuZCBcInBhZ2VTaXplXCJcclxuICAgKiBwcm9wZXJ0aWVzIHRvIHNsaWNlIHRoZSBuZXcgcGFnZSBmcm9tIHlvdXIgZGF0YSBzZXQuXHJcbiAgICogXHJcbiAgICogQGV4YW1wbGVcclxuICAgKiAvLy5odG1sXHJcbiAgICogKHBhZ2VDaGFuZ2VkKT1cIm9uUGFnZUNoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICogLy8udHNcclxuICAgKiBwdWJsaWMgb25QYWdlQ2hhbmdlZChldmVudDogUGFnaW5nSW5mbykge1xyXG4gICAqICB0aGlzLmN1cnJlbnRQYWdlSXRlbXMgPSB0aGlzLnBhZ2luYXRlZFRhYmxlSXRlbXMuc2xpY2UoZXZlbnQuc2tpcCwgZXZlbnQuc2tpcCArIGV2ZW50LnBhZ2VTaXplKTtcclxuICAgKiB9XHJcbiAgICogLy9TaW5jZSBwYWdlQ2hhbmdlZCBkb2Vzbid0IGVtaXQgZm9yIHRoZSBpbml0aWFsIHBhZ2UsIG9uUGFnZUNoYW5nZWQgc2hvdWxkIGJlIG1hbnVhbGx5IGNhbGxlZCBkdXJpbmcgaW5pdGlhbGl6YXRpb24gXHJcbiAgICogLy91c2luZyBnZXRQYWdpbmdJbmZvOlxyXG4gICAqIHRoaXMub25QYWdlQ2hhbmdlZChUYWJsZVBhZ2luYXRpb25Db21wb25lbnQuZ2V0UGFnaW5nSW5mbyh0aGlzLnN0YXJ0aW5nUGFnZU51bWJlciwgdGhpcy5wYWdlU2l6ZSkpO1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPFBhZ2luZ0luZm8+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAvKipcclxuICAgKiBBbGwgcG9zc2libGUgaXRlbXMgaW4gdGhlIGRyb3Bkb3duIG1lbnUuXHJcbiAgICovXHJcbiAgcHVibGljIGRyb3Bkb3duSXRlbXM6IE1lbnVJdGVtPFBhZ2VSYW5nZT5bXSA9IFtdO1xyXG5cclxuICAvKipcclxuICAgKiBDdXJyZW50IHRhYnMgYmVpbmcgZGlzcGxheWVkLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBjdXJyZW50VGFiczogTmF2R3JvdXAgPSBuZXcgTmF2R3JvdXAoKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikgeyB9XHJcblxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIGlmKHRoaXMudG90YWxJdGVtcyA9PT0gMCkge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duSXRlbXMgPSBbXTtcclxuICAgICAgdGhpcy5jdXJyZW50VGFicyA9IG5ldyBOYXZHcm91cCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldERyb3Bkb3duSXRlbXMoKTtcclxuXHJcbiAgICAvL0ZpbmQgdGhlIG1lbnUgaXRlbSB0aGF0IHRoZSBwYWdlIGNvcnJlc3BvbmRpbmcgdG8gdGhpcy5wYWdlTnVtYmVyIGxpZXMgaW5cclxuICAgIGxldCBmaXJzdE1lbnVJdGVtID0gdGhpcy5kcm9wZG93bkl0ZW1zLmZpbmQoaXRlbSA9PiB7XHJcbiAgICAgIHJldHVybiBpdGVtLnZhbHVlIS5maXJzdFBhZ2UgPD0gdGhpcy5wYWdlTnVtYmVyICYmIGl0ZW0udmFsdWUhLmxhc3RQYWdlID49IHRoaXMucGFnZU51bWJlcjtcclxuICAgIH0pO1xyXG4gICAgaWYoIWZpcnN0TWVudUl0ZW0pIHtcclxuICAgICAgY29uc29sZS5lcnJvcihgUGFnZSAke3RoaXMucGFnZU51bWJlcn0gZG9lcyBub3QgZXhpc3QuIFNldHRpbmcgdGhlIHN0YXJ0aW5nIHBhZ2UgbnVtYmVyIHRvIDEuYCk7XHJcbiAgICAgIGZpcnN0TWVudUl0ZW0gPSB0aGlzLmRyb3Bkb3duSXRlbXNbMF07XHJcbiAgICAgIHRoaXMucGFnZU51bWJlciA9IDE7XHJcbiAgICB9XHJcbiAgICAvL1NldCB0aGUgdGFicyB0byB0aG9zZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBmaXJzdCBtZW51IGl0ZW0uXHJcbiAgICAvL05vdGUgdGhhdCB3ZSBkb250IGVtaXQgYSBwYWdlQ2hhbmdlZCBldmVudCBoZXJlIGJlY2F1c2UgdGhlIGNvbnN1bWVyIGFscmVhZHkga25vd3Mgd2hhdCB0aGUgZmlyc3QgcGFnZSBpcy5cclxuICAgIHRoaXMuc2V0VGFicyhmaXJzdE1lbnVJdGVtLCB0aGlzLnBhZ2VOdW1iZXIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2l2ZW4gdGhlIG51bWJlciBvZiBhIHBhZ2UgYW5kIHRoZSBwYWdlU2l6ZSwgcmV0dXJuIHRoZSBQYWdpbmdJbmZvIG9iamVjdCBmb3IgdGhhdCBwYWdlLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0UGFnaW5nSW5mbyhwYWdlTnVtYmVyOiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIpIHtcclxuICAgIHJldHVybiB7IHNraXA6IChwYWdlTnVtYmVyIC0gMSkqcGFnZVNpemUsIHBhZ2VTaXplOiBwYWdlU2l6ZSwgcGFnZU51bWJlcjogcGFnZU51bWJlciB9O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uSXRlbVNlbGVjdGVkKG1lbnVJdGVtOiBNZW51SXRlbTxQYWdlUmFuZ2U+KSB7ICBcclxuICAgIHRoaXMuc2V0VGFicyhtZW51SXRlbSk7XHJcbiAgICB0aGlzLm9uUGFnZUNoYW5nZShwYXJzZUludCh0aGlzLmN1cnJlbnRUYWJzLnNlbGVjdGVkIS5sYWJlbCEpKTtcclxuICAgIC8vZm9jdXMgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0YWIgdG8gaGVscCBrZXlib2FyZCBuYXZpZ2F0aW9uXHJcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnRhYi5hY3RpdmUnKS5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIGEgdGFiIGZvciBlYWNoIGl0ZW0gaW4gdGhlIHJhbmdlIHJlcHJlc2VudGVkIGluIHRoZSBNZW51SXRlbVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0VGFicyhtZW51SXRlbTogTWVudUl0ZW08UGFnZVJhbmdlPiwgcGFnZU51bWJlcj86IG51bWJlcikge1xyXG4gICAgbGV0IHRhYkl0ZW1zOiBOYXZJdGVtW10gPSBbXTtcclxuICAgIGZvcihsZXQgaSA9IG1lbnVJdGVtLnZhbHVlIS5maXJzdFBhZ2U7IGkgPD0gbWVudUl0ZW0udmFsdWUhLmxhc3RQYWdlOyBpKyspIHtcclxuICAgICAgdGFiSXRlbXMucHVzaCh7XHJcbiAgICAgICAgbGFiZWw6IGAke2l9YCxcclxuICAgICAgICBvbkNsaWNrOiAoKSA9PiB7dGhpcy5vblBhZ2VDaGFuZ2UoaSl9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgLy9pZiBhIHBhZ2VOdW1iZXIgaXMgcHJvdmlkZWQsIHNlbGVjdCB0aGUgdGFiIHdpdGggdGhhdCBwYWdlIG51bWJlci5cclxuICAgIC8vb3RoZXJ3aXNlLCBzZWxlY3QgdGhlIGZpcnN0IHRhYi5cclxuICAgIGxldCBzZWxlY3RlZFRhYjogTmF2SXRlbSA9IHBhZ2VOdW1iZXIgPyB0YWJJdGVtcy5maW5kKHRhYiA9PiB7cmV0dXJuIHBhcnNlSW50KHRhYi5sYWJlbCEpID09PSBwYWdlTnVtYmVyfSkhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogdGFiSXRlbXNbMF07XHJcbiAgICB0aGlzLmN1cnJlbnRUYWJzID0gbmV3IE5hdkdyb3VwKHRhYkl0ZW1zLCBzZWxlY3RlZFRhYik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uUGFnZUNoYW5nZShwYWdlTnVtYmVyOiBudW1iZXIpIHtcclxuICAgIHRoaXMucGFnZU51bWJlciA9IHBhZ2VOdW1iZXI7XHJcbiAgICB0aGlzLnBhZ2VDaGFuZ2VkLmVtaXQoVGFibGVQYWdpbmF0aW9uQ29tcG9uZW50LmdldFBhZ2luZ0luZm8ocGFnZU51bWJlciwgdGhpcy5wYWdlU2l6ZSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgYWxsIHRoZSBpdGVtcyBmb3IgdGhlIGRyb3Bkb3duIG1lbnUuXHJcbiAgICogQSBkcm9wZG93biBpdGVtIHJlcHJlc2VudHMgYSBwYWdlIHJhbmdlIChlLmcuIDEtMTAsIDExLTIwLCBvciAyMS0yNSkuXHJcbiAgICogQSBzaW5nbGUgZHJvcGRvd24gaXRlbSBjYW4gcmVwcmVzZW50IGEgcmFuZ2Ugb2YgdXAgdG8gMTAgcGFnZXMgKHRoZSBsYXN0IGl0ZW0gY291bGQgaGF2ZSBsZXNzIHRoYW4gMTApLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0RHJvcGRvd25JdGVtcygpIHtcclxuICAgIHRoaXMuZHJvcGRvd25JdGVtcyA9IFtdO1xyXG4gICAgLy9maW5kIHRoZSBsYXN0IHBhZ2VcclxuICAgIGxldCBkaXZpZGVuZCA9IE1hdGguZmxvb3IodGhpcy50b3RhbEl0ZW1zIC8gdGhpcy5wYWdlU2l6ZSk7XHJcbiAgICBsZXQgcmVtYWluZGVyID0gdGhpcy50b3RhbEl0ZW1zICUgdGhpcy5wYWdlU2l6ZTtcclxuICAgIGNvbnN0IGxhc3RQYWdlID0gKHJlbWFpbmRlciA9PT0gMCkgPyBkaXZpZGVuZCA6IGRpdmlkZW5kICsgMTtcclxuXHJcbiAgICAvL2tlZXAgYnVpbGRpbmcgbWVudSBpdGVtcyBvZiB0aGUgZm9ybSAxLTEwLCAxMS0yMCwgMjEtMzAsIGV0YyB1bnRpbCAgXHJcbiAgICAvL2VuZCA+PSBsYXN0UGFnZSwgd2hpY2ggbWVhbnMgd2UndmUgZm91bmQgdGhlIHJhbmdlIHRoYXQgY29udGFpbnMgdGhlIGxhc3QgcGFnZS5cclxuICAgIGxldCBzdGFydCA9IDE7XHJcblxyXG4gICAgbGV0IG1heFRhYnMgPSB0aGlzLm1heFRhYnMgfHwgMTA7XHJcbiAgICBsZXQgZW5kID0gbWF4VGFicztcclxuXHJcbiAgICB3aGlsZShlbmQgPCBsYXN0UGFnZSkge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duSXRlbXMucHVzaCh7XHJcbiAgICAgICAgbGFiZWw6IGAke3N0YXJ0fS0ke2VuZH1gLFxyXG4gICAgICAgIHZhbHVlOiB7Zmlyc3RQYWdlOiBzdGFydCwgbGFzdFBhZ2U6IGVuZH1cclxuICAgICAgfSk7XHJcbiAgICAgIHN0YXJ0ID0gc3RhcnQgKyBtYXhUYWJzO1xyXG4gICAgICBlbmQgPSBlbmQgKyBtYXhUYWJzO1xyXG4gICAgfVxyXG4gICAgLy9hZGQgdGhlIG1lbnUgaXRlbSB0aGF0IGNvbnRhaW5zIHRoZSBsYXN0IHBhZ2UuXHJcbiAgICB0aGlzLmRyb3Bkb3duSXRlbXMucHVzaCh7XHJcbiAgICAgIGxhYmVsOiAoc3RhcnQgPT09IGxhc3RQYWdlKSA/IGAke3N0YXJ0fWA6IGAke3N0YXJ0fS0ke2xhc3RQYWdlfWAsXHJcbiAgICAgIHZhbHVlOiB7Zmlyc3RQYWdlOiBzdGFydCwgbGFzdFBhZ2U6IGxhc3RQYWdlfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxufSIsIjxlYy10YWJzIGlkPVwie3tpZH19X3BhZ2VzXCJcclxuICAgICAgICAgY2xhc3M9XCJteS0yIGlzLWNvbmRlbnNlZFwiXHJcbiAgICAgICAgIFt0YWJHcm91cF09XCJjdXJyZW50VGFic1wiXHJcbiAgICAgICAgIHRhYlN0eWxlPVwicGlsbHNcIj5cclxuPC9lYy10YWJzPlxyXG48ZWMtZHJvcGRvd24gaWQ9XCJ7e2lkfX1fbW9yZVBhZ2VzXCJcclxuICAgICAgICAgICAgICpuZ0lmPVwiZHJvcGRvd25JdGVtcy5sZW5ndGggPiAxXCJcclxuICAgICAgICAgICAgIGNsYXNzPVwibXktMSBtbC0xXCJcclxuICAgICAgICAgICAgIG1lbnVUZW1wbGF0ZVR5cGU9XCJsYWJlbFwiXHJcbiAgICAgICAgICAgICBpY29uPVwiaWNvbi1tb3JlXCJcclxuICAgICAgICAgICAgIG1lbnVQb3NpdGlvbj1cImxlZnRcIlxyXG4gICAgICAgICAgICAgW21lbnVNaW5XaWR0aF09XCI4MFwiXHJcbiAgICAgICAgICAgICBbc2hvd0Fycm93XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgIFtwb3B1cEZpeGVkXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgW2l0ZW1zXT1cImRyb3Bkb3duSXRlbXNcIlxyXG4gICAgICAgICAgICAgKGl0ZW1TZWxlY3RlZCk9XCJvbkl0ZW1TZWxlY3RlZCgkZXZlbnQpXCI+XHJcbjwvZWMtZHJvcGRvd24+Il19
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90YWJsZS90YWJsZS1wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kaXNwbGF5L3RhYmxlL3RhYmxlLXBhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFHOUYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBeUJuRSxNQUFNLE9BQU8sd0JBQXdCO0lBdURuQyxZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQXhDbEM7OztXQUdHO1FBQ00sZUFBVSxHQUFXLENBQUMsQ0FBQztRQUVoQzs7V0FFRztRQUNNLFlBQU8sR0FBWSxFQUFFLENBQUM7UUFFL0I7Ozs7Ozs7Ozs7Ozs7Ozs7V0FnQkc7UUFDTyxnQkFBVyxHQUE2QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXJFOztXQUVHO1FBQ0ksa0JBQWEsR0FBMEIsRUFBRSxDQUFDO1FBRWpEOztXQUVHO1FBQ0ksZ0JBQVcsR0FBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO0lBRVIsQ0FBQztJQUd2QyxXQUFXO1FBQ1QsSUFBRyxJQUFJLENBQUMsVUFBVSxLQUFLLENBQUMsRUFBRTtZQUN4QixJQUFJ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QUFRLEVBQUU7WUFDaEUsS0FBSyxFQUFFLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDO1NBQzlDLENBQUMsQ0FBQztJQUNMLENBQUM7O3FIQXJKVSx3QkFBd0I7eUdBQXhCLHdCQUF3Qiw2VEMvQnJDLHVuQkFnQmMsNENEYUEsYUFBYSx3R0FBRSxJQUFJLDZGQUFFLGlCQUFpQjsyRkFFdkMsd0JBQXdCO2tCQVRwQyxTQUFTOytCQUNJLHFCQUFxQixRQUV6Qjt3QkFDRixLQUFLLEVBQUUsZ0NBQWdDO3FCQUMxQyxjQUNXLElBQUksV0FDUCxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLENBQUM7aUdBSTFDLEVBQUU7c0JBQVYsS0FBSztnQkFNRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBTUcsVUFBVTtzQkFBbEIsS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBbUJJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgRWxlbWVudFJlZiwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvbWVudS9tZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5hdkl0ZW0gfSBmcm9tICcuLi8uLi9jb250cm9scy9uYXZpZ2F0aW9uL25hdi1pdGVtJztcclxuaW1wb3J0IHsgTmF2R3JvdXAgfSBmcm9tICcuLi8uLi9jb250cm9scy9uYXZpZ2F0aW9uL25hdi1ncm91cCc7XHJcbmltcG9ydCB7IERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29udHJvbHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFRhYnNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb250cm9scy90YWJzL3RhYnMuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5nSW5mbyB7XHJcbiAgLyoqTnVtYmVyIG9mIGl0ZW1zIHRvIHNraXAgdG8gZ2V0IHRvIHRoaXMgcGFnZSovXHJcbiAgc2tpcDogbnVtYmVyLFxyXG4gIC8qKk51bWJlciBvZiBpdGVtcyBpbiB0aGlzIHBhZ2UqL1xyXG4gIHBhZ2VTaXplOiBudW1iZXIsXHJcbiAgLyoqVGhlIG51bWJlciBvZiB0aGUgcGFnZSovXHJcbiAgcGFnZU51bWJlcjogbnVtYmVyXHJcbn1cclxuXHJcbmludGVyZmFjZSBQYWdlUmFuZ2Uge1xyXG4gIGZpcnN0UGFnZTogbnVtYmVyLFxyXG4gIGxhc3RQYWdlOiBudW1iZXJcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2VjLXRhYmxlLXBhZ2luYXRpb24nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLXBhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgaG9zdDoge1xyXG4gICAgICAgIGNsYXNzOiAnZC1mbGV4IHB4LTIgYWxpZ24taXRlbXMtY2VudGVyJ1xyXG4gICAgfSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbVGFic0NvbXBvbmVudCwgTmdJZiwgRHJvcGRvd25Db21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZVBhZ2luYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cclxuICBASW5wdXQoKSBpZD86IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogVG90YWwgbnVtYmVyIG9mIHJvd3MgdGhhdCB3ZSBuZWVkIHRvIHBhZ2UgdGhyb3VnaC5cclxuICAgKiBpLmUuIHRoZSBzdW0gb2YgYWxsIHJvd3Mgb24gYWxsIHBhZ2VzLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRvdGFsSXRlbXMhOiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIE1heCBzaXplIG9mIGEgcGFnZS5cclxuICAgKi9cclxuICBASW5wdXQoKSBwYWdlU2l6ZSE6IG51bWJlcjtcclxuXHJcbiAgLyoqXHJcbiAgICogTnVtYmVyIG9mIHRoZSBjdXJyZW50IHBhZ2UuXHJcbiAgICogSW5pdGlhbCB2YWx1ZSBpcyAxLCBjYW4gYmUgb3ZlcnJpZGRlbiB0byBjaGFuZ2UgdGhlIHN0YXJ0aW5nIHBhZ2UgbnVtYmVyLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHBhZ2VOdW1iZXI6IG51bWJlciA9IDE7XHJcblxyXG4gIC8qKlxyXG4gICAqIE1heGltdW0gbnVtYmVyIG9mIHBhZ2UgdGFicyB0byBzaG93XHJcbiAgICovXHJcbiAgQElucHV0KCkgbWF4VGFicz86IG51bWJlciA9IDEwO1xyXG5cclxuICAvKipcclxuICAgKiBFbWl0cyB3aGVuIHRoZSBwYWdlIGNoYW5nZXMuXHJcbiAgICogXHJcbiAgICogQmluZCB0byB0aGUgZXZlbnQgaW4gYSB0ZW1wbGF0ZSB1c2luZyBhIGZ1bmN0aW9uIHRoYXQgdXNlcyB0aGUgXCJza2lwXCIgYW5kIFwicGFnZVNpemVcIlxyXG4gICAqIHByb3BlcnRpZXMgdG8gc2xpY2UgdGhlIG5ldyBwYWdlIGZyb20geW91ciBkYXRhIHNldC5cclxuICAgKiBcclxuICAgKiBAZXhhbXBsZVxyXG4gICAqIC8vLmh0bWxcclxuICAgKiAocGFnZUNoYW5nZWQpPVwib25QYWdlQ2hhbmdlZCgkZXZlbnQpXCJcclxuICAgKiAvLy50c1xyXG4gICAqIHB1YmxpYyBvblBhZ2VDaGFuZ2VkKGV2ZW50OiBQYWdpbmdJbmZvKSB7XHJcbiAgICogIHRoaXMuY3VycmVudFBhZ2VJdGVtcyA9IHRoaXMucGFnaW5hdGVkVGFibGVJdGVtcy5zbGljZShldmVudC5za2lwLCBldmVudC5za2lwICsgZXZlbnQucGFnZVNpemUpO1xyXG4gICAqIH1cclxuICAgKiAvL1NpbmNlIHBhZ2VDaGFuZ2VkIGRvZXNuJ3QgZW1pdCBmb3IgdGhlIGluaXRpYWwgcGFnZSwgb25QYWdlQ2hhbmdlZCBzaG91bGQgYmUgbWFudWFsbHkgY2FsbGVkIGR1cmluZyBpbml0aWFsaXphdGlvbiBcclxuICAgKiAvL3VzaW5nIGdldFBhZ2luZ0luZm86XHJcbiAgICogdGhpcy5vblBhZ2VDaGFuZ2VkKFRhYmxlUGFnaW5hdGlvbkNvbXBvbmVudC5nZXRQYWdpbmdJbmZvKHRoaXMuc3RhcnRpbmdQYWdlTnVtYmVyLCB0aGlzLnBhZ2VTaXplKSk7XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHBhZ2VDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8UGFnaW5nSW5mbz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEFsbCBwb3NzaWJsZSBpdGVtcyBpbiB0aGUgZHJvcGRvd24gbWVudS5cclxuICAgKi9cclxuICBwdWJsaWMgZHJvcGRvd25JdGVtczogTWVudUl0ZW08UGFnZVJhbmdlPltdID0gW107XHJcblxyXG4gIC8qKlxyXG4gICAqIEN1cnJlbnQgdGFicyBiZWluZyBkaXNwbGF5ZWQuXHJcbiAgICovXHJcbiAgcHVibGljIGN1cnJlbnRUYWJzOiBOYXZHcm91cCA9IG5ldyBOYXZHcm91cCgpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7IH1cclxuXHJcblxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgaWYodGhpcy50b3RhbEl0ZW1zID09PSAwKSB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25JdGVtcyA9IFtdO1xyXG4gICAgICB0aGlzLmN1cnJlbnRUYWJzID0gbmV3IE5hdkdyb3VwKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0RHJvcGRvd25JdGVtcygpO1xyXG5cclxuICAgIC8vRmluZCB0aGUgbWVudSBpdGVtIHRoYXQgdGhlIHBhZ2UgY29ycmVzcG9uZGluZyB0byB0aGlzLnBhZ2VOdW1iZXIgbGllcyBpblxyXG4gICAgbGV0IGZpcnN0TWVudUl0ZW0gPSB0aGlzLmRyb3Bkb3duSXRlbXMuZmluZChpdGVtID0+IHtcclxuICAgICAgcmV0dXJuIGl0ZW0udmFsdWUhLmZpcnN0UGFnZSA8PSB0aGlzLnBhZ2VOdW1iZXIgJiYgaXRlbS52YWx1ZSEubGFzdFBhZ2UgPj0gdGhpcy5wYWdlTnVtYmVyO1xyXG4gICAgfSk7XHJcbiAgICBpZighZmlyc3RNZW51SXRlbSkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGBQYWdlICR7dGhpcy5wYWdlTnVtYmVyfSBkb2VzIG5vdCBleGlzdC4gU2V0dGluZyB0aGUgc3RhcnRpbmcgcGFnZSBudW1iZXIgdG8gMS5gKTtcclxuICAgICAgZmlyc3RNZW51SXRlbSA9IHRoaXMuZHJvcGRvd25JdGVtc1swXTtcclxuICAgICAgdGhpcy5wYWdlTnVtYmVyID0gMTtcclxuICAgIH1cclxuICAgIC8vU2V0IHRoZSB0YWJzIHRvIHRob3NlIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGZpcnN0IG1lbnUgaXRlbS5cclxuICAgIC8vTm90ZSB0aGF0IHdlIGRvbnQgZW1pdCBhIHBhZ2VDaGFuZ2VkIGV2ZW50IGhlcmUgYmVjYXVzZSB0aGUgY29uc3VtZXIgYWxyZWFkeSBrbm93cyB3aGF0IHRoZSBmaXJzdCBwYWdlIGlzLlxyXG4gICAgdGhpcy5zZXRUYWJzKGZpcnN0TWVudUl0ZW0sIHRoaXMucGFnZU51bWJlcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHaXZlbiB0aGUgbnVtYmVyIG9mIGEgcGFnZSBhbmQgdGhlIHBhZ2VTaXplLCByZXR1cm4gdGhlIFBhZ2luZ0luZm8gb2JqZWN0IGZvciB0aGF0IHBhZ2UuXHJcbiAgICovXHJcbiAgcHVibGljIHN0YXRpYyBnZXRQYWdpbmdJbmZvKHBhZ2VOdW1iZXI6IG51bWJlciwgcGFnZVNpemU6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHsgc2tpcDogKHBhZ2VOdW1iZXIgLSAxKSpwYWdlU2l6ZSwgcGFnZVNpemU6IHBhZ2VTaXplLCBwYWdlTnVtYmVyOiBwYWdlTnVtYmVyIH07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25JdGVtU2VsZWN0ZWQobWVudUl0ZW06IE1lbnVJdGVtPFBhZ2VSYW5nZT4pIHsgIFxyXG4gICAgdGhpcy5zZXRUYWJzKG1lbnVJdGVtKTtcclxuICAgIHRoaXMub25QYWdlQ2hhbmdlKHBhcnNlSW50KHRoaXMuY3VycmVudFRhYnMuc2VsZWN0ZWQhLmxhYmVsISkpO1xyXG4gICAgLy9mb2N1cyB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRhYiB0byBoZWxwIGtleWJvYXJkIG5hdmlnYXRpb25cclxuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcudGFiLmFjdGl2ZScpLmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgYSB0YWIgZm9yIGVhY2ggaXRlbSBpbiB0aGUgcmFuZ2UgcmVwcmVzZW50ZWQgaW4gdGhlIE1lbnVJdGVtXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZXRUYWJzKG1lbnVJdGVtOiBNZW51SXRlbTxQYWdlUmFuZ2U+LCBwYWdlTnVtYmVyPzogbnVtYmVyKSB7XHJcbiAgICBsZXQgdGFiSXRlbXM6IE5hdkl0ZW1bXSA9IFtdO1xyXG4gICAgZm9yKGxldCBpID0gbWVudUl0ZW0udmFsdWUhLmZpcnN0UGFnZTsgaSA8PSBtZW51SXRlbS52YWx1ZSEubGFzdFBhZ2U7IGkrKykge1xyXG4gICAgICB0YWJJdGVtcy5wdXNoKHtcclxuICAgICAgICBsYWJlbDogYCR7aX1gLFxyXG4gICAgICAgIG9uQ2xpY2s6ICgpID0+IHt0aGlzLm9uUGFnZUNoYW5nZShpKX1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICAvL2lmIGEgcGFnZU51bWJlciBpcyBwcm92aWRlZCwgc2VsZWN0IHRoZSB0YWIgd2l0aCB0aGF0IHBhZ2UgbnVtYmVyLlxyXG4gICAgLy9vdGhlcndpc2UsIHNlbGVjdCB0aGUgZmlyc3QgdGFiLlxyXG4gICAgbGV0IHNlbGVjdGVkVGFiOiBOYXZJdGVtID0gcGFnZU51bWJlciA/IHRhYkl0ZW1zLmZpbmQodGFiID0+IHtyZXR1cm4gcGFyc2VJbnQodGFiLmxhYmVsISkgPT09IHBhZ2VOdW1iZXJ9KSFcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0YWJJdGVtc1swXTtcclxuICAgIHRoaXMuY3VycmVudFRhYnMgPSBuZXcgTmF2R3JvdXAodGFiSXRlbXMsIHNlbGVjdGVkVGFiKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25QYWdlQ2hhbmdlKHBhZ2VOdW1iZXI6IG51bWJlcikge1xyXG4gICAgdGhpcy5wYWdlTnVtYmVyID0gcGFnZU51bWJlcjtcclxuICAgIHRoaXMucGFnZUNoYW5nZWQuZW1pdChUYWJsZVBhZ2luYXRpb25Db21wb25lbnQuZ2V0UGFnaW5nSW5mbyhwYWdlTnVtYmVyLCB0aGlzLnBhZ2VTaXplKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBhbGwgdGhlIGl0ZW1zIGZvciB0aGUgZHJvcGRvd24gbWVudS5cclxuICAgKiBBIGRyb3Bkb3duIGl0ZW0gcmVwcmVzZW50cyBhIHBhZ2UgcmFuZ2UgKGUuZy4gMS0xMCwgMTEtMjAsIG9yIDIxLTI1KS5cclxuICAgKiBBIHNpbmdsZSBkcm9wZG93biBpdGVtIGNhbiByZXByZXNlbnQgYSByYW5nZSBvZiB1cCB0byAxMCBwYWdlcyAodGhlIGxhc3QgaXRlbSBjb3VsZCBoYXZlIGxlc3MgdGhhbiAxMCkuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZXREcm9wZG93bkl0ZW1zKCkge1xyXG4gICAgdGhpcy5kcm9wZG93bkl0ZW1zID0gW107XHJcbiAgICAvL2ZpbmQgdGhlIGxhc3QgcGFnZVxyXG4gICAgbGV0IGRpdmlkZW5kID0gTWF0aC5mbG9vcih0aGlzLnRvdGFsSXRlbXMgLyB0aGlzLnBhZ2VTaXplKTtcclxuICAgIGxldCByZW1haW5kZXIgPSB0aGlzLnRvdGFsSXRlbXMgJSB0aGlzLnBhZ2VTaXplO1xyXG4gICAgY29uc3QgbGFzdFBhZ2UgPSAocmVtYWluZGVyID09PSAwKSA/IGRpdmlkZW5kIDogZGl2aWRlbmQgKyAxO1xyXG5cclxuICAgIC8va2VlcCBidWlsZGluZyBtZW51IGl0ZW1zIG9mIHRoZSBmb3JtIDEtMTAsIDExLTIwLCAyMS0zMCwgZXRjIHVudGlsICBcclxuICAgIC8vZW5kID49IGxhc3RQYWdlLCB3aGljaCBtZWFucyB3ZSd2ZSBmb3VuZCB0aGUgcmFuZ2UgdGhhdCBjb250YWlucyB0aGUgbGFzdCBwYWdlLlxyXG4gICAgbGV0IHN0YXJ0ID0gMTtcclxuXHJcbiAgICBsZXQgbWF4VGFicyA9IHRoaXMubWF4VGFicyB8fCAxMDtcclxuICAgIGxldCBlbmQgPSBtYXhUYWJzO1xyXG5cclxuICAgIHdoaWxlKGVuZCA8IGxhc3RQYWdlKSB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25JdGVtcy5wdXNoKHtcclxuICAgICAgICBsYWJlbDogYCR7c3RhcnR9LSR7ZW5kfWAsXHJcbiAgICAgICAgdmFsdWU6IHtmaXJzdFBhZ2U6IHN0YXJ0LCBsYXN0UGFnZTogZW5kfVxyXG4gICAgICB9KTtcclxuICAgICAgc3RhcnQgPSBzdGFydCArIG1heFRhYnM7XHJcbiAgICAgIGVuZCA9IGVuZCArIG1heFRhYnM7XHJcbiAgICB9XHJcbiAgICAvL2FkZCB0aGUgbWVudSBpdGVtIHRoYXQgY29udGFpbnMgdGhlIGxhc3QgcGFnZS5cclxuICAgIHRoaXMuZHJvcGRvd25JdGVtcy5wdXNoKHtcclxuICAgICAgbGFiZWw6IChzdGFydCA9PT0gbGFzdFBhZ2UpID8gYCR7c3RhcnR9YDogYCR7c3RhcnR9LSR7bGFzdFBhZ2V9YCxcclxuICAgICAgdmFsdWU6IHtmaXJzdFBhZ2U6IHN0YXJ0LCBsYXN0UGFnZTogbGFzdFBhZ2V9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59IiwiPGVjLXRhYnMgaWQ9XCJ7e2lkfX1fcGFnZXNcIlxyXG4gICAgICAgICBjbGFzcz1cIm15LTIgaXMtY29uZGVuc2VkXCJcclxuICAgICAgICAgW3RhYkdyb3VwXT1cImN1cnJlbnRUYWJzXCJcclxuICAgICAgICAgdGFiU3R5bGU9XCJwaWxsc1wiPlxyXG48L2VjLXRhYnM+XHJcbjxlYy1kcm9wZG93biBpZD1cInt7aWR9fV9tb3JlUGFnZXNcIlxyXG4gICAgICAgICAgICAgKm5nSWY9XCJkcm9wZG93bkl0ZW1zLmxlbmd0aCA+IDFcIlxyXG4gICAgICAgICAgICAgY2xhc3M9XCJteS0xIG1sLTFcIlxyXG4gICAgICAgICAgICAgbWVudVRlbXBsYXRlVHlwZT1cImxhYmVsXCJcclxuICAgICAgICAgICAgIGljb249XCJpY29uLW1vcmVcIlxyXG4gICAgICAgICAgICAgbWVudVBvc2l0aW9uPVwibGVmdFwiXHJcbiAgICAgICAgICAgICBbbWVudU1pbldpZHRoXT1cIjgwXCJcclxuICAgICAgICAgICAgIFtzaG93QXJyb3ddPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgW3BvcHVwRml4ZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICBbaXRlbXNdPVwiZHJvcGRvd25JdGVtc1wiXHJcbiAgICAgICAgICAgICAoaXRlbVNlbGVjdGVkKT1cIm9uSXRlbVNlbGVjdGVkKCRldmVudClcIj5cclxuPC9lYy1kcm9wZG93bj4iXX0=
|
@@ -2,10 +2,10 @@ import { Component, HostBinding, HostListener, Input } from '@angular/core';
|
|
2
2
|
import { UntypedFormArray, UntypedFormControl } from '@angular/forms';
|
3
3
|
import { Subject } from 'rxjs';
|
4
4
|
import { debounceTime, takeUntil } from 'rxjs/operators';
|
5
|
+
import { CheckboxComponent } from '../../controls/checkbox/checkbox.component';
|
6
|
+
import { TableLockedColumnComponent } from './table-locked-column.component';
|
7
|
+
import { NgIf } from '@angular/common';
|
5
8
|
import * as i0 from "@angular/core";
|
6
|
-
import * as i1 from "@angular/common";
|
7
|
-
import * as i2 from "../../controls/checkbox/checkbox.component";
|
8
|
-
import * as i3 from "./table-locked-column.component";
|
9
9
|
export class TableSelectableRowContext {
|
10
10
|
constructor() {
|
11
11
|
/**specify the form control to use for the selectAll checkbox or provide your own.
|
@@ -196,10 +196,10 @@ export class TableSelectableRowComponent {
|
|
196
196
|
}
|
197
197
|
}
|
198
198
|
TableSelectableRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableSelectableRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
199
|
-
TableSelectableRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TableSelectableRowComponent, selector: "[ecTableSelectableRow]", inputs: { id: "id", isSelectionEnabled: ["ecTableSelectableRow", "isSelectionEnabled"], context: ["selectionContext", "context"], rowIndex: "rowIndex", lockedColOptions: "lockedColOptions", isSelected: "isSelected", isCheckboxDisabled: "isCheckboxDisabled" }, host: { listeners: { "click": "rowClicked($event)" }, properties: { "attr.id": "this.id", "class.is-enabled": "this.isSelectionEnabled", "class.is-selected": "this.isSelected", "class.is-header": "this.isHeader" } }, usesOnChanges: true, ngImport: i0, template: "<!-- any elements of the existing table row that must go before the row selection checkbox can be marked with a class of before-checkbox -->\r\n<ng-content select=\".before-checkbox\"></ng-content>\r\n<ng-container *ngIf=\"isSelectionEnabled\">\r\n <th *ngIf=\"isHeader\"\r\n class=\"checkbox\"\r\n [ecTableLockedColumn]=\"lockedColOptions\">\r\n <ec-checkbox id=\"{{id}}_selectAll\"\r\n class=\"m-0\"\r\n *ngIf=\"context?.selectAllCheckbox\"\r\n [formModel]=\"context?.selectAllCheckbox\"\r\n [dependentCheckboxesGroup]=\"dependentCheckboxesReference\"\r\n [ignoreDisabledDependents]=\"false\">\r\n </ec-checkbox>\r\n </th>\r\n <td *ngIf=\"!isHeader && formControl\"\r\n class=\"checkbox\"\r\n [ecTableLockedColumn]=\"lockedColOptions\">\r\n <!-- Use [readonly] and not [disabled] for isCheckboxDisabled to prevent user interaction\r\n and allow the value to be visible to other components (for example, when they subscribe\r\n to valueChanges on the FormArray that contains all the checkbox FormControls). -->\r\n <ec-checkbox id=\"{{id}}_row{{rowIndex}}_checkbox\"\r\n [readonly]=\"isCheckboxDisabled\"\r\n [attr.id]=\"checkboxAttributeID\"\r\n class=\"m-0 row-checkbox\"\r\n [formModel]=\"formControl\">\r\n </ec-checkbox>\r\n </td>\r\n</ng-container>\r\n<!-- The rest of the table row -->\r\n<ng-content></ng-content>", styles: [":host.is-enabled:not(.is-header){cursor:pointer}:host .checkbox{padding-left:2px;padding-right:2px;width:1.25rem}:host .checkbox:first-child{padding-left:.5rem;width:1.625rem}:host.border-bottom-0 .checkbox{border-bottom:0}td.checkbox ec-checkbox ::ng-deep *{pointer-events:none}th.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-th, middle)}td.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-td, top)}\n"], dependencies: [{ kind: "directive", type:
|
199
|
+
TableSelectableRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TableSelectableRowComponent, isStandalone: true, selector: "[ecTableSelectableRow]", inputs: { id: "id", isSelectionEnabled: ["ecTableSelectableRow", "isSelectionEnabled"], context: ["selectionContext", "context"], rowIndex: "rowIndex", lockedColOptions: "lockedColOptions", isSelected: "isSelected", isCheckboxDisabled: "isCheckboxDisabled" }, host: { listeners: { "click": "rowClicked($event)" }, properties: { "attr.id": "this.id", "class.is-enabled": "this.isSelectionEnabled", "class.is-selected": "this.isSelected", "class.is-header": "this.isHeader" } }, usesOnChanges: true, ngImport: i0, template: "<!-- any elements of the existing table row that must go before the row selection checkbox can be marked with a class of before-checkbox -->\r\n<ng-content select=\".before-checkbox\"></ng-content>\r\n<ng-container *ngIf=\"isSelectionEnabled\">\r\n <th *ngIf=\"isHeader\"\r\n class=\"checkbox\"\r\n [ecTableLockedColumn]=\"lockedColOptions\">\r\n <ec-checkbox id=\"{{id}}_selectAll\"\r\n class=\"m-0\"\r\n *ngIf=\"context?.selectAllCheckbox\"\r\n [formModel]=\"context?.selectAllCheckbox\"\r\n [dependentCheckboxesGroup]=\"dependentCheckboxesReference\"\r\n [ignoreDisabledDependents]=\"false\">\r\n </ec-checkbox>\r\n </th>\r\n <td *ngIf=\"!isHeader && formControl\"\r\n class=\"checkbox\"\r\n [ecTableLockedColumn]=\"lockedColOptions\">\r\n <!-- Use [readonly] and not [disabled] for isCheckboxDisabled to prevent user interaction\r\n and allow the value to be visible to other components (for example, when they subscribe\r\n to valueChanges on the FormArray that contains all the checkbox FormControls). -->\r\n <ec-checkbox id=\"{{id}}_row{{rowIndex}}_checkbox\"\r\n [readonly]=\"isCheckboxDisabled\"\r\n [attr.id]=\"checkboxAttributeID\"\r\n class=\"m-0 row-checkbox\"\r\n [formModel]=\"formControl\">\r\n </ec-checkbox>\r\n </td>\r\n</ng-container>\r\n<!-- The rest of the table row -->\r\n<ng-content></ng-content>", styles: [":host.is-enabled:not(.is-header){cursor:pointer}:host .checkbox{padding-left:2px;padding-right:2px;width:1.25rem}:host .checkbox:first-child{padding-left:.5rem;width:1.625rem}:host.border-bottom-0 .checkbox{border-bottom:0}td.checkbox ec-checkbox ::ng-deep *{pointer-events:none}th.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-th, middle)}td.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-td, top)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TableLockedColumnComponent, selector: "[ecTableLockedColumn]", inputs: ["ecTableLockedColumn"] }, { kind: "component", type: CheckboxComponent, selector: "ec-checkbox", inputs: ["name", "dependentCheckboxesGroup", "ignoreDisabledDependents"] }] });
|
200
200
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableSelectableRowComponent, decorators: [{
|
201
201
|
type: Component,
|
202
|
-
args: [{ selector: '[ecTableSelectableRow]', template: "<!-- any elements of the existing table row that must go before the row selection checkbox can be marked with a class of before-checkbox -->\r\n<ng-content select=\".before-checkbox\"></ng-content>\r\n<ng-container *ngIf=\"isSelectionEnabled\">\r\n <th *ngIf=\"isHeader\"\r\n class=\"checkbox\"\r\n [ecTableLockedColumn]=\"lockedColOptions\">\r\n <ec-checkbox id=\"{{id}}_selectAll\"\r\n class=\"m-0\"\r\n *ngIf=\"context?.selectAllCheckbox\"\r\n [formModel]=\"context?.selectAllCheckbox\"\r\n [dependentCheckboxesGroup]=\"dependentCheckboxesReference\"\r\n [ignoreDisabledDependents]=\"false\">\r\n </ec-checkbox>\r\n </th>\r\n <td *ngIf=\"!isHeader && formControl\"\r\n class=\"checkbox\"\r\n [ecTableLockedColumn]=\"lockedColOptions\">\r\n <!-- Use [readonly] and not [disabled] for isCheckboxDisabled to prevent user interaction\r\n and allow the value to be visible to other components (for example, when they subscribe\r\n to valueChanges on the FormArray that contains all the checkbox FormControls). -->\r\n <ec-checkbox id=\"{{id}}_row{{rowIndex}}_checkbox\"\r\n [readonly]=\"isCheckboxDisabled\"\r\n [attr.id]=\"checkboxAttributeID\"\r\n class=\"m-0 row-checkbox\"\r\n [formModel]=\"formControl\">\r\n </ec-checkbox>\r\n </td>\r\n</ng-container>\r\n<!-- The rest of the table row -->\r\n<ng-content></ng-content>", styles: [":host.is-enabled:not(.is-header){cursor:pointer}:host .checkbox{padding-left:2px;padding-right:2px;width:1.25rem}:host .checkbox:first-child{padding-left:.5rem;width:1.625rem}:host.border-bottom-0 .checkbox{border-bottom:0}td.checkbox ec-checkbox ::ng-deep *{pointer-events:none}th.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-th, middle)}td.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-td, top)}\n"] }]
|
202
|
+
args: [{ selector: '[ecTableSelectableRow]', standalone: true, imports: [NgIf, TableLockedColumnComponent, CheckboxComponent], template: "<!-- any elements of the existing table row that must go before the row selection checkbox can be marked with a class of before-checkbox -->\r\n<ng-content select=\".before-checkbox\"></ng-content>\r\n<ng-container *ngIf=\"isSelectionEnabled\">\r\n <th *ngIf=\"isHeader\"\r\n class=\"checkbox\"\r\n [ecTableLockedColumn]=\"lockedColOptions\">\r\n <ec-checkbox id=\"{{id}}_selectAll\"\r\n class=\"m-0\"\r\n *ngIf=\"context?.selectAllCheckbox\"\r\n [formModel]=\"context?.selectAllCheckbox\"\r\n [dependentCheckboxesGroup]=\"dependentCheckboxesReference\"\r\n [ignoreDisabledDependents]=\"false\">\r\n </ec-checkbox>\r\n </th>\r\n <td *ngIf=\"!isHeader && formControl\"\r\n class=\"checkbox\"\r\n [ecTableLockedColumn]=\"lockedColOptions\">\r\n <!-- Use [readonly] and not [disabled] for isCheckboxDisabled to prevent user interaction\r\n and allow the value to be visible to other components (for example, when they subscribe\r\n to valueChanges on the FormArray that contains all the checkbox FormControls). -->\r\n <ec-checkbox id=\"{{id}}_row{{rowIndex}}_checkbox\"\r\n [readonly]=\"isCheckboxDisabled\"\r\n [attr.id]=\"checkboxAttributeID\"\r\n class=\"m-0 row-checkbox\"\r\n [formModel]=\"formControl\">\r\n </ec-checkbox>\r\n </td>\r\n</ng-container>\r\n<!-- The rest of the table row -->\r\n<ng-content></ng-content>", styles: [":host.is-enabled:not(.is-header){cursor:pointer}:host .checkbox{padding-left:2px;padding-right:2px;width:1.25rem}:host .checkbox:first-child{padding-left:.5rem;width:1.625rem}:host.border-bottom-0 .checkbox{border-bottom:0}td.checkbox ec-checkbox ::ng-deep *{pointer-events:none}th.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-th, middle)}td.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-td, top)}\n"] }]
|
203
203
|
}], propDecorators: { id: [{
|
204
204
|
type: HostBinding,
|
205
205
|
args: ['attr.id']
|
@@ -232,4 +232,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
232
232
|
type: HostListener,
|
233
233
|
args: ['click', ['$event']]
|
234
234
|
}] } });
|
235
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2VsZWN0YWJsZS1yb3cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdGFibGUvdGFibGUtc2VsZWN0YWJsZS1yb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdGFibGUvdGFibGUtc2VsZWN0YWJsZS1yb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBK0MsTUFBTSxlQUFlLENBQUM7QUFDekgsT0FBTyxFQUFtQixnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFFekQsTUFBTSxPQUFPLHlCQUF5QjtJQUF0QztRQUNFOzs7V0FHRztRQUNJLHNCQUFpQixHQUFvQixJQUFJLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFFOzs7OztXQUtHO1FBQ0ksa0JBQWEsR0FBcUIsSUFBSSxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVsRTs7O1dBR0c7UUFDSSxxQkFBZ0IsR0FBVyxDQUFDLENBQUMsQ0FBQztRQUVyQzs7O1dBR0c7UUFDSSxzQkFBaUIsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV4RDs7V0FFRztRQUNJLG9DQUErQixHQUFZLEtBQUssQ0FBQztRQUV4RDs7V0FFRztRQUNJLDJCQUFzQixHQUFhLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0NBQUE7QUFPRCxNQUFNLE9BQU8sMkJBQTJCO0lBTHhD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QUZSLFdBQVc7dUJBQUMsU0FBUzs7c0JBQ3JCLEtBQUs7Z0JBTUssa0JBQWtCO3NCQUY1QixXQUFXO3VCQUFDLGtCQUFrQjs7c0JBQzlCLEtBQUs7dUJBQUMsc0JBQXNCO2dCQVF0QixPQUFPO3NCQURiLEtBQUs7dUJBQUMsa0JBQWtCO2dCQU1sQixRQUFRO3NCQURkLEtBQUs7Z0JBT0MsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQU1DLFVBQVU7c0JBRmhCLFdBQVc7dUJBQUMsbUJBQW1COztzQkFDL0IsS0FBSztnQkFLQyxRQUFRO3NCQURkLFdBQVc7dUJBQUMsaUJBQWlCO2dCQVV2QixrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBeUVDLFVBQVU7c0JBRGhCLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZVNlbGVjdGFibGVSb3dDb250ZXh0IHtcclxuICAvKipzcGVjaWZ5IHRoZSBmb3JtIGNvbnRyb2wgdG8gdXNlIGZvciB0aGUgc2VsZWN0QWxsIGNoZWNrYm94IG9yIHByb3ZpZGUgeW91ciBvd24uXHJcbiAgICogVGhpcyBjYW4gYmUgdXNlZnVsIGlmIHlvdSB3YW50IHRvIHN1YnNjcmliZSB0byBjaGFuZ2VzIHRvIGNoYW5nZSBidXR0b24gc3RhdGVzIGFzIHRoZSBzZWxlY3Rpb24gY2hhbmdlc1xyXG4gICAqIG9yIGlmIHlvdSB3YW50IHRvIGFkZCBpdCB0byBhbiBhbHJlYWR5LWV4aXN0aW5nIGZvcm0gZ3JvdXBcclxuICAgKi9cclxuICBwdWJsaWMgc2VsZWN0QWxsQ2hlY2tib3g6IEFic3RyYWN0Q29udHJvbCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woZmFsc2UpO1xyXG5cclxuICAvKipzcGVjaWZ5IHRoZSBGb3JtQXJyYXkgdG8gdXNlIGZvciB0aGUgZGVwZW5kZW50IGNoZWNrYm94ZXMgb2YgdGhlIHNlbGVjdEFsbCBjaGVja2JveFxyXG4gICAqIFRoZSBkZXBlbmRlbnQgY2hlY2tib3hlcyB3aWxsIGFkZCBhbmQgcmVtb3ZlIHRoZW1zZWx2ZXMgYXV0b21hdGljYWxseSBhbmQgdGhlIHNlbGVjdEFsbFxyXG4gICAqIGJveCB3aWxsIHJlYWN0IGFjY29yZGluZ2x5LiBEbyBub3QgcHJvdmlkZSB5b3VyIG93biBjb250cm9sc1xyXG4gICAqIFRoaXMgY2FuIGJlIHVzZWZ1bCBpZiB5b3Ugd2FudCB0byBzdWJzY3JpYmUgdG8gY2hhbmdlcyB0byBjaGFuZ2UgYnV0dG9uIHN0YXRlcyBhcyB0aGUgc2VsZWN0aW9uIGNoYW5nZXNcclxuICAgKiBvciBpZiB5b3Ugd2FudCB0byBhZGQgaXQgdG8gYW4gYWxyZWFkeS1leGlzdGluZyBmb3JtIGdyb3VwXHJcbiAgICovXHJcbiAgcHVibGljIHJvd0NoZWNrYm94ZXM6IFVudHlwZWRGb3JtQXJyYXkgPSBuZXcgVW50eXBlZEZvcm1BcnJheShbXSk7XHJcblxyXG4gIC8qKlRoZSBpbmRleCBvZiB0aGUgbGFzdCByb3cgdGhlIHVzZXIgY2xpY2tlZC4gVGhpcyBhbGxvd3MgbXVsdGlwbGUgZGlyZWN0aXZlcyBvbiBhIHNjcmVlbiB0byBjb29yZGluYXRlXHJcbiAgICogZm9yIHJlYWN0aW5nIHRvIHNoaWZ0K2NsaWNrIGFjdGlvbnMgdGhhdCBzaG91bGQgYXV0b21hdGljYWxseSBzZWxlY3QgbXVsdGlwbGUgcm93cyBiZXR3ZWVuIHRoZSBjbGlja2VkIHJvd3NcclxuICAgKiBkZWZhdWx0cyB0byAtMSB0byBpbmRpY2F0ZSB0aGF0IG5vIHVzZXIgY2xpY2sgaGFzIGJlZW4gY2FwdHVyZWRcclxuICAgKi9cclxuICBwdWJsaWMgbGFzdENsaWNrZWRJbmRleDogbnVtYmVyID0gLTE7XHJcblxyXG4gIC8qKkEgc3ViamVjdCB0aGF0IGlzIHRyaWdnZXJlZCB3aGVuIGEgcm93LWJhc2VkIGRpcmVjdGl2ZSBpcyBhZGRlZCBvciByZW1vdmVkLiBJdCBhbGxvd3NcclxuICAgKiB0aGUgbWFzdGVyIGNoZWNrYm94IGluIHRoZSBoZWFkZXIgdG8ga25vdyB0aGF0IGl0IG5lZWRzIHRvIHJlc2V0IHRyYWNraW5nIGluZm9ybWF0aW9uXHJcbiAgICogd2l0aG91dCByZXBsYWNpbmcgdGhlIGFjdHVhbCBGb3JtQXJyYXkgdGhhdCB0aGUgaG9zdGluZyBjb21wb25lbnQgbWF5IGJlIHN1YnNjcmliZWQgdG8gZm9yIGNoYW5nZXNcclxuICAgKi9cclxuICBwdWJsaWMgcm93QWRkZWRPclJlbW92ZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICAvKipcclxuICAgKiBTZXQgdG8gdHJ1ZSB0byBkaXNhYmxlIFNoaWZ0LUNsaWNrL0N0cmwtQ2xpY2sgZnVuY3Rpb25hbGl0eVxyXG4gICAqL1xyXG4gIHB1YmxpYyBkaXNhYmxlQWR2YW5jZWRSb3dDbGlja0JlaGF2aW9yOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCB0byBsaXN0IG9mIGluZGljZXMgb2YgY29udHJvbHMgdGhhdCBzaG91bGQgbm90IHRvZ2dsZSB3aGVuIG1hc3Rlci9oZWFkZXIgY2hlY2tib3ggdG9nZ2xlc1xyXG4gICAqL1xyXG4gIHB1YmxpYyBub25EZXBlbmRlbnRDaGVja2JveGVzOiBudW1iZXJbXSA9IFtdO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ1tlY1RhYmxlU2VsZWN0YWJsZVJvd10nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1zZWxlY3RhYmxlLXJvdy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtc2VsZWN0YWJsZS1yb3cuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVTZWxlY3RhYmxlUm93Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XHJcbiAgLyoqVGhlIElEIHJvb3QgdG8gdXNlIGZvciB0aGUgY2hlY2tib3ggYW5kIHRhYmxlIGNlbGwgKi9cclxuICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlkOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLyoqIERpc2FibGVzIHRoZSBzZWxlY3Rpb24gZnVuY3Rpb25hbGl0eSB3aGVuIGZhbHNlICovXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1lbmFibGVkJylcclxuICBASW5wdXQoJ2VjVGFibGVTZWxlY3RhYmxlUm93JylcclxuICBwdWJsaWMgc2V0IGlzU2VsZWN0aW9uRW5hYmxlZCh2YWx1ZTogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQpIHsgdGhpcy5fc2VsZWN0aW9uRW5hYmxlZCA9IHZhbHVlICE9PSBmYWxzZTsgfVxyXG4gIHB1YmxpYyBnZXQgaXNTZWxlY3Rpb25FbmFibGVkKCkgeyByZXR1cm4gdGhpcy5fc2VsZWN0aW9uRW5hYmxlZDsgfVxyXG4gIHByaXZhdGUgX3NlbGVjdGlvbkVuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipTaGFyZWQgY29udGV4dCBiZXR3ZWVuIG1hc3RlciBhbmQgY2hpbGRyZW4uIENoaWxkIGRpcmVjdGl2ZSBhZGRzIGl0cyBvd24gRm9ybUNvbnRyb2wgdG8gdGhpc1xyXG4gIGFuZCByZW1vdmVzIGl0IG9uRGVzdHJveS4gVGhlIHNhbWUgY29udGV4dCBvYmplY3QgbXVzdCBiZSB1c2VkIGZvciBhbGwgZGlyZWN0aXZlcyBpbiBhIHNpbmdsZSB0YWJsZSovXHJcbiAgQElucHV0KCdzZWxlY3Rpb25Db250ZXh0JylcclxuICBwdWJsaWMgY29udGV4dCE6IFRhYmxlU2VsZWN0YWJsZVJvd0NvbnRleHQ7XHJcblxyXG4gIC8qUmVxdWlyZWQgZm9yIGFsbCByb3dzLiBUaGUgcm93IGluZGV4IHRoaXMgY29tcG9uZW50IHJlcHJlc2VudHMsIHRvIGFsbG93IGl0IHRvIGtub3cgaG93IHRvIGhhbmRsZSBzaGlmdCtjbGlja3MuXHJcbiAgICBEZWZhdWx0cyB0byAtMSB3aGljaCB3aWxsIGNhdXNlIHRoZSBkaXJlY3RpdmUgdG8gYmVoYXZlIGFzIGEgaGVhZGVyIHJvdyovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcm93SW5kZXg6IG51bWJlciA9IC0xO1xyXG5cclxuICAvKipUaGUgb3B0aW9ucyB1c2VkIHRvIGxvY2sgdGhlIGNoZWNrYm94IGNvbHVtbiB0byB0aGUgbGVmdCBvZiB0aGUgdGFibGUsIG11c3QgYmUgbW9kaWZpZWQgYnkgaG9zdFxyXG4gICAqIGlmIHRoZSBjaGVja2JveCBpcyBub3QgdGhlIGZpcnN0IGNvbHVtbiBpbiB0aGUgdGFibGVcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsb2NrZWRDb2xPcHRpb25zOiB7IGJvcmRlcjogYm9vbGVhbiwgbGVmdD86IG51bWJlciwgcmlnaHQ/OiBudW1iZXIgfSA9IHsgYm9yZGVyOiBmYWxzZSwgbGVmdDogMCB9O1xyXG5cclxuICAvKiogQXV0b21hdGljYWxseSBzZXQgdG8gdHJ1ZSBiYXNlZCBvbiBjaGVja2JveCBzdGF0ZSwgdXNlZCB0byBoaWdobGlnaHQgdGhlIHJvdyB0byBtYXRjaCBvdXIgdGFibGUgc2VsZWN0ZWQgcm93IHN0eWxlcyAqL1xyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXMtc2VsZWN0ZWQnKVxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuXHJcbiAgLyoqIEF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUgaWYgbm8gcm93SW5kZXggaXMgcHJvdmlkZWQgb3IgdGhlIHJvdyBpbmRleCBpcyBsZXNzIHRoYW4gemVybyAqL1xyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXMtaGVhZGVyJylcclxuICBwdWJsaWMgaXNIZWFkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHRvIHRydWUgaWYgeW91IHdhbnQgdGhlIGNoZWNrYm94IHRvIGJlIGRpc2FibGVkLlxyXG4gICAqXHJcbiAgICogV2hlbiB5b3UgdXNlIHRoaXMgcHJvcGVydHksIG1ha2Ugc3VyZSB5b3Ugc2V0IGBkaXNhYmxlQWR2YW5jZWRSb3dDbGlja0JlaGF2aW9yOiB0cnVlYFxyXG4gICAqIGluIHRoZSBgVGFibGVTZWxlY3RhYmxlUm93Q29udGV4dGAsIG9yIHVuZGVzaXJlZCBzaWRlLWVmZmVjdHMgd2lsbCBvY2N1ci5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpc0NoZWNrYm94RGlzYWJsZWQ/OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qIEEgcmVmZXJlbmNlIHRoYXQgd2UgY2FuIGNoYW5nZSB3aGVuIGEgY29udHJvbCBpcyByZXBsYWNlZCB0byBmb3JjZSB0aGUgbWFzdGVyIGNoZWNrYm94IHJlZmVyZW5jZSB0byB1cGRhdGVcclxuICAgICB3aXRob3V0IGFsc28gcmVwbGFjaW5nIHRoZSBmb3JtIGFycmF5IHRoYXQgdGhlIGhvc3QgY29tcG9uZW50IG1heSBiZSB3YXRjaGluZyBmb3Igc2VsZWN0ZWQgcm93IGNoYW5nZXMgKi9cclxuICBwdWJsaWMgZGVwZW5kZW50Q2hlY2tib3hlc1JlZmVyZW5jZTogeyBjb250cm9sczogQWJzdHJhY3RDb250cm9sW10gfSA9IHsgY29udHJvbHM6IFtdIH07XHJcblxyXG4gIC8qQ2FwdHVyZSB0aGUgZm9ybSBjb250cm9sIHRoaXMgY29tcG9uZW50IGNyZWF0ZXMgdG8gYWxsb3cgY2xlYW51cCBsYXRlciBvbiBhbmQgZXhwb3NlIGl0IHRvIHRoZSByb3cqL1xyXG4gIHB1YmxpYyBmb3JtQ29udHJvbCE6IEFic3RyYWN0Q29udHJvbDtcclxuXHJcbiAgcHVibGljIGNoZWNrYm94QXR0cmlidXRlSUQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKipTZW5kcyBhbiBldmVudCB3aGVuIHRoZSBjb21wb25lbnQgaXMgZGVzdHJveWVkIHNvIHRoYXQgaXQgY2FuIHVuc3Vic2NyaWJlIGZyb20gYW55IG9ic2VydmFibGVzICovXHJcbiAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAvKipWYWxpZGF0ZSBhbmQgcG9wdWxhdGUgdGhlIGNvbnRleHQgYXMgdGhlIHRhYmxlIGlzIGR5bmFtaWNhbGx5IGJ1aWx0LiBCZWNhdXNlIHRoZSBjb250ZXh0IGlzIHNoYXJlZCBiZXR3ZWVuIHRoZVxyXG4gICAqIGhlYWRlciBhbmQgZWFjaCBvZiB0aGUgcm93cywgY2hhbmdlcyB0byBpdCBjYW4gYmUgdXNlZCB0byBkZXRlcm1pbmUgd2hhdCBpcyBoYXBwZW5pbmcgYW5kIGhvb2sgdXAgdGhlIGNvcnJlY3RcclxuICAgKiBzdWJzY3JpcHRpb25zIGZvciBzZWxlY3RBbGwuIFRoZSB1c2VyIGNhbiBwcm92aWRlIGFuIGV4aXN0aW5nIGZvcm1BcnJheSBmb3IgdGhlIHJvd3MgYW5kIGZvcm0gY29udHJvbCBmb3IgdGhlIGhlYWRlcixcclxuICAgKiBvciBpdCBjYW4ganVzdCBiZSB0aGUgZGVmYXVsdCBlbXB0eSBvbmVzIGNyZWF0ZWQgYnkgdGhlIGNvbnRleHQgY2xhc3MuXHJcbiAgKi9cclxuICBwdWJsaWMgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmlzSGVhZGVyID0gdGhpcy5yb3dJbmRleCA8IDA7XHJcbiAgICBpZiAoIXRoaXMuY29udGV4dCkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdlY1RhYmxlU2VsZWN0YWJsZVJvdyByZXF1aXJlcyBhIGRlZmluZWQgU2VsZWN0YWJsZVRhYmxlUm93Q29udGV4dCB0byBiZSBzaGFyZWQgd2l0aCBhbGwgaW5zdGFuY2VzIGluIG9uZSB0YWJsZS4nKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCByb3dDaGVja2JveCA9IHRoaXMuY29udGV4dD8ucm93Q2hlY2tib3hlcz8uYXQodGhpcy5yb3dJbmRleCk7XHJcblxyXG4gICAgICBpZiAoIXRoaXMuaXNIZWFkZXIgJiYgIXJvd0NoZWNrYm94KSB7XHJcbiAgICAgICAgcm93Q2hlY2tib3ggPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRoaXMuaXNTZWxlY3RlZCk7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0Py5yb3dDaGVja2JveGVzLnB1c2gocm93Q2hlY2tib3gpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmZvcm1Db250cm9sID0gdGhpcy5pc0hlYWRlciA/IHRoaXMuY29udGV4dC5zZWxlY3RBbGxDaGVja2JveCA6IHJvd0NoZWNrYm94O1xyXG4gICAgICB0aGlzLndhdGNoRm9yQ2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqV2F0Y2ggZm9yIGNoYW5nZXMgdG8gdGhlIHJvdyBpbmRleCB0aGF0IGNhbiBvY2N1ciBpZiB0aGUgdGFibGUgaXMgcmVvcmRlcmVkIGluLXBsYWNlIGluc3RlYWQgb2ZcclxuICAgKiByZWNyZWF0ZWQgZnJvbSBzY3JhdGNoLiBSZS1jYXB0dXJlIHRoZSBjb3JyZWN0IGZvcm0gY29udHJvbCB0byBrZWVwIGV2ZXJ5dGhpbmcgaW4gc3luY1xyXG4gICAqL1xyXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlcy5yb3dJbmRleCAmJiAhdGhpcy5pc0hlYWRlcikge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sID0gdGhpcy5jb250ZXh0LnJvd0NoZWNrYm94ZXMuYXQodGhpcy5yb3dJbmRleCk7XHJcbiAgICAgIHRoaXMuY2hlY2tib3hBdHRyaWJ1dGVJRCA9IGAke3RoaXMuaWR9X3JvdyR7dGhpcy5yb3dJbmRleH1fZWNDaGVja2JveGA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNoYW5nZXMuaXNTZWxlY3Rpb25FbmFibGVkICYmICF0aGlzLmlzU2VsZWN0aW9uRW5hYmxlZCAmJiB0aGlzLmZvcm1Db250cm9sPy52YWx1ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKGZhbHNlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY2hhbmdlcy5pc1NlbGVjdGVkICYmIHRoaXMuZm9ybUNvbnRyb2wpIHtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmlzU2VsZWN0ZWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIFRlbGwgdGhlIGhlYWRlciBjaGVja2JveCB0byByZWZyZXNoIHRoZSBzZWxlY3RBbGwgc3Vic2NyaXB0aW9uIGJlY2F1c2UgYSByb3cgd2FzIHJlbW92ZWQqL1xyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcclxuICAgIGlmICghdGhpcy5pc0hlYWRlciAmJiB0aGlzLmZvcm1Db250cm9sKSB7XHJcbiAgICAgIHRoaXMuY29udGV4dC5yb3dBZGRlZE9yUmVtb3ZlZC5uZXh0KCk7XHJcblxyXG4gICAgICAvL2ZpbmQgdGhlIGxvY2F0aW9uIGluIHRoZSBhcnJheSB0aGF0IG1hdGNoZXMgdGhlIGNoZWNrYm94LiBJZiBtYW55IHJvd3MgYXJlIGJlaW5nIHJlbW92ZWQgaXQgbWF5IG5vdCBtYXRjaCByb3dJbmRleCB5ZXRcclxuICAgICAgbGV0IG1hdGNoSW5kZXggPSB0aGlzLmNvbnRleHQucm93Q2hlY2tib3hlcy5jb250cm9scy5maW5kSW5kZXgoYyA9PiBjID09IHRoaXMuZm9ybUNvbnRyb2wpO1xyXG4gICAgICBpZiAobWF0Y2hJbmRleCA+PSAwKSB7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LnJvd0NoZWNrYm94ZXMucmVtb3ZlQXQobWF0Y2hJbmRleCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKkhhbmRsZSB3aGVuIGEgdXNlciBjbGlja3Mgb24gYSB0YWJsZSByb3cgKG9yIHNvbWV0aGluZyBpbnNpZGUgaXQgd2hpY2ggYnViYmxlcyB1cCkgdG8gaW5jcmVhc2UgdGhlIGhpdCBhcmVhIGZvciByb3cgc2VsZWN0aW9uXHJcbiAgICogT25seSB3b3JrIG9uIHRoZSB0YWJsZSBib2R5IChub3QgdGhlIGhlYWRlcikgYmVjYXVzZSB0aGUgaGVhZGVyIG1heSBoYXZlIG90aGVyIGNsaWNrIGhhbmRsZXJzIGZvciBzb3J0IGV0YyB0aGF0IHdlIGRvbid0IGNhcmUgYWJvdXQuXHJcbiAgICogSGFuZGxlIHNoaWZ0IGFuZCBjb250cm9sIHNlbGVjdCBhcyB3ZWxsIGFzIGNoZWNrYm94IGNsaWNrIGxpa2Ugd2luZG93cyBleHBsb3JlciBvciB0aGUgb3JpZ2luYWwgYmlsbCBsaXN0cyBkby5cclxuICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcclxuICBwdWJsaWMgcm93Q2xpY2tlZChldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgaWYgKCF0aGlzLmlzSGVhZGVyICYmIHRoaXMuaXNTZWxlY3Rpb25FbmFibGVkICYmICF0aGlzLmlzQ2hlY2tib3hEaXNhYmxlZCkge1xyXG4gICAgICBsZXQgdGFyZ2V0RWwgPSBldmVudD8udGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG5cclxuICAgICAgLy9jbGlja2luZyBvbiBhIHJvdyBhbHdheXMgdG9nZ2xlcyB0aGF0IHJvdy4gU29tZXRpbWVzIHRoZSBzaGlmdC1zZWxlY3Qgd2lsbCB0b2dnbGUgaXQgYmFja1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKCF0aGlzLmZvcm1Db250cm9sLnZhbHVlKTtcclxuXHJcbiAgICAgIGlmICghdGhpcy5jb250ZXh0LmRpc2FibGVBZHZhbmNlZFJvd0NsaWNrQmVoYXZpb3IpIHtcclxuICAgICAgICB0aGlzLmhhbmRsZVNoaWZ0U2VsZWN0KGV2ZW50KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB3YXRjaEZvckNoYW5nZXMoKSB7XHJcbiAgICAvL3dhdGNoIGZvciByb3dzIGJlaW5nIHJlcGxhY2VkIHNvIHRoYXQgdGhlIG1hc3RlciBjaGVja2JveCBhbmQgc2hpZnQtc2VsZWN0IHN1cHBvcnQgY2FuIGJlIHJlc2V0IHRvIG1hdGNoXHJcbiAgICAvL3RoaXMga2VlcHMgdGhlIG1hc3RlciBpbiBzeW5jIGFzIHRoZSB0YWJsZSBjaGFuZ2VzIHBhZ2VzIGV0YyBhbmQgc3RvcHMgdW5leHBlY3RlZCByb3dzIGZyb20gYmVpbmcgc2VsZWN0ZWQgYWZ0ZXIgcmVkcmF3XHJcbiAgICBpZiAodGhpcy5pc0hlYWRlcikge1xyXG4gICAgICB0aGlzLmNvbnRleHQucm93QWRkZWRPclJlbW92ZWQucGlwZShkZWJvdW5jZVRpbWUoMTApLCB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5sYXN0Q2xpY2tlZEluZGV4ID0gLTE7XHJcblxyXG4gICAgICAgIC8vIGV4Y2x1ZGUgbm9uRGVwZW5kZW50Q2hlY2tib3hlcyAoc29tZSBtYXkgbm90IGJlIGFsbG93ZWQgdG8gYmUgZGVzZWxlY3RlZClcclxuICAgICAgICBsZXQgZGVwZW5kZW50Q2hlY2tib3hlczogQWJzdHJhY3RDb250cm9sW10gPSBbXTtcclxuICAgICAgICB0aGlzLmNvbnRleHQucm93Q2hlY2tib3hlcy5jb250cm9scy5mb3JFYWNoKChjb250cm9sLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgaWYgKCF0aGlzLmNvbnRleHQubm9uRGVwZW5kZW50Q2hlY2tib3hlcy5pbmNsdWRlcyhpbmRleCkpIHtcclxuICAgICAgICAgICAgZGVwZW5kZW50Q2hlY2tib3hlcy5wdXNoKGNvbnRyb2wpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmRlcGVuZGVudENoZWNrYm94ZXNSZWZlcmVuY2UgPSB7IGNvbnRyb2xzOiBkZXBlbmRlbnRDaGVja2JveGVzIH07XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jb250ZXh0LnJvd0FkZGVkT3JSZW1vdmVkLm5leHQoKTtcclxuXHJcbiAgICAgIC8vd2F0Y2ggZm9yIHRoZSBjaGVja2JveCBzdGF0ZSB0byBjaGFuZ2Ugb24gYSBjaGlsZCByb3cgYW5kIHNldCB0aGUgcm93IGlzU2VsZWN0ZWQgY2xhc3MgLyBoaWdobGlnaHQgdG8gbWF0Y2hcclxuICAgICAgLy90aGlzIHdheSB0aGUgcm93cyBtYXRjaCBldmVuIGlmIGV4dGVybmFsIGNvZGUgdXBkYXRlcyB0aGUgZm9ybSBtb2RlbFxyXG4gICAgICB0aGlzLmZvcm1Db250cm9sPy52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKHZhbHVlOiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc1NlbGVjdGVkID0gdmFsdWU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAgKiBJZiB0aGV5IGFyZSBob2xkaW5nIHRoZSBzaGlmdCBrZXksIHRyeSB0byBzZWxlY3QgYWxsIHRoZSBjaGVja2JveGVzIGJldHdlZW4gdGhlaXIgbGFzdCBzZWxlY3Rpb25cclxuICAgICogYW5kIG1vc3QgcmVjZW50IHNlbGVjdGlvbi4gVGhlIGxvZ2ljIGlzIHNldHVwIHRvIGJlaGF2ZSB0aGUgd2F5IHdpbmRvd3MgZXhwbG9yZXIgYmVoYXZlc1xyXG4gICAgKiBXZSBkb24ndCBhbGxvdyBkcmFnLXRvLXNlbGVjdCBsaWtlIHRoZSBrZW5kbyB0YWJsZXMsIGJ1dCBpdCBtZWFucyB1c2VycyBjYW4gaGlnaGxpZ2h0IHRleHQgYW5kIGNvcHkrcGFzdGUgdG8gZXhjZWwgZXRjXHJcbiAgICAqIHNvIEkgdGhpbmsgdGhpcyBpcyBhY3R1YWxseSBwcmVmZXJhYmxlXHJcbiAgICAqL1xyXG4gIHByaXZhdGUgaGFuZGxlU2hpZnRTZWxlY3QoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGxldCBsYXN0SW5kZXggPSB0aGlzLmNvbnRleHQubGFzdENsaWNrZWRJbmRleDtcclxuICAgIGxldCBjdXJJbmRleCA9IHRoaXMucm93SW5kZXg7XHJcbiAgICBpZiAoZXZlbnQuc2hpZnRLZXkgJiYgbGFzdEluZGV4ID49IDApIHtcclxuICAgICAgdGhpcy5jbGVhckFsbFJvd3MoKTtcclxuICAgICAgaWYgKGN1ckluZGV4ID4gbGFzdEluZGV4KSB7XHJcbiAgICAgICAgZm9yICh2YXIgaW5kZXggPSBsYXN0SW5kZXg7IGluZGV4IDw9IGN1ckluZGV4OyBpbmRleCsrKSB7XHJcbiAgICAgICAgICB0aGlzLmNvbnRleHQucm93Q2hlY2tib3hlcy5hdChpbmRleCkuc2V0VmFsdWUodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKGN1ckluZGV4IDwgbGFzdEluZGV4KSB7XHJcbiAgICAgICAgZm9yICh2YXIgaW5kZXggPSBsYXN0SW5kZXg7IGluZGV4ID49IGN1ckluZGV4OyBpbmRleC0tKSB7XHJcbiAgICAgICAgICB0aGlzLmNvbnRleHQucm93Q2hlY2tib3hlcy5hdChpbmRleCkuc2V0VmFsdWUodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKGN1ckluZGV4ID09PSBsYXN0SW5kZXgpIHtcclxuICAgICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHRydWUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKT8ucmVtb3ZlQWxsUmFuZ2VzKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvL3JlY29yZCB0aGUgY3VycmVudCByb3cgaW5kZXggZm9yIGZ1dHVyZSByb3cgY2xpY2tzIHRvIGtub3cgd2hlcmUgdGhleSBsYXN0IGludGVyYWN0ZWRcclxuICAgICAgLy9idXQgb25seSBpZiB0aGV5IGRvbid0IGhhdmUgc2hpZnQgZG93biBmb3IgdGhpcyBjbGljay4gSWYgc2hpZnQgaXMgZG93biB0aGVuIHRoZSBuZXh0IHNoaWZ0K2NsaWNrXHJcbiAgICAgIC8vc2hvdWxkIGJlIGNvbnNpZGVyZWQgYW4gZXh0ZW5zaW9uIChvciBjb250cmFjdGlvbikgb2YgdGhlIG9yaWdpbmFsIG11bHRpLXJvdyBzZWxlY3Rpb25cclxuICAgICAgdGhpcy5jb250ZXh0Lmxhc3RDbGlja2VkSW5kZXggPSB0aGlzLnJvd0luZGV4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbGVhckFsbFJvd3MoKSB7XHJcbiAgICB0aGlzLmNvbnRleHQucm93Q2hlY2tib3hlcy5jb250cm9scy5mb3JFYWNoKGNvbnRyb2wgPT4gY29udHJvbC5zZXRWYWx1ZShmYWxzZSkpO1xyXG4gIH1cclxufVxyXG4iLCI8IS0tIGFueSBlbGVtZW50cyBvZiB0aGUgZXhpc3RpbmcgdGFibGUgcm93IHRoYXQgbXVzdCBnbyBiZWZvcmUgdGhlIHJvdyBzZWxlY3Rpb24gY2hlY2tib3ggY2FuIGJlIG1hcmtlZCB3aXRoIGEgY2xhc3Mgb2YgYmVmb3JlLWNoZWNrYm94IC0tPlxyXG48bmctY29udGVudCBzZWxlY3Q9XCIuYmVmb3JlLWNoZWNrYm94XCI+PC9uZy1jb250ZW50PlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwiaXNTZWxlY3Rpb25FbmFibGVkXCI+XHJcbiAgPHRoICpuZ0lmPVwiaXNIZWFkZXJcIlxyXG4gICAgICBjbGFzcz1cImNoZWNrYm94XCJcclxuICAgICAgW2VjVGFibGVMb2NrZWRDb2x1bW5dPVwibG9ja2VkQ29sT3B0aW9uc1wiPlxyXG4gICAgPGVjLWNoZWNrYm94IGlkPVwie3tpZH19X3NlbGVjdEFsbFwiXHJcbiAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLTBcIlxyXG4gICAgICAgICAgICAgICAgICpuZ0lmPVwiY29udGV4dD8uc2VsZWN0QWxsQ2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgIFtmb3JtTW9kZWxdPVwiY29udGV4dD8uc2VsZWN0QWxsQ2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgIFtkZXBlbmRlbnRDaGVja2JveGVzR3JvdXBdPVwiZGVwZW5kZW50Q2hlY2tib3hlc1JlZmVyZW5jZVwiXHJcbiAgICAgICAgICAgICAgICAgW2lnbm9yZURpc2FibGVkRGVwZW5kZW50c109XCJmYWxzZVwiPlxyXG4gICAgPC9lYy1jaGVja2JveD5cclxuICA8L3RoPlxyXG4gIDx0ZCAqbmdJZj1cIiFpc0hlYWRlciAmJiBmb3JtQ29udHJvbFwiXHJcbiAgICAgIGNsYXNzPVwiY2hlY2tib3hcIlxyXG4gICAgICBbZWNUYWJsZUxvY2tlZENvbHVtbl09XCJsb2NrZWRDb2xPcHRpb25zXCI+XHJcbiAgICA8IS0tIFVzZSBbcmVhZG9ubHldIGFuZCBub3QgW2Rpc2FibGVkXSBmb3IgaXNDaGVja2JveERpc2FibGVkIHRvIHByZXZlbnQgdXNlciBpbnRlcmFjdGlvblxyXG4gICAgICAgICBhbmQgYWxsb3cgdGhlIHZhbHVlIHRvIGJlIHZpc2libGUgdG8gb3RoZXIgY29tcG9uZW50cyAoZm9yIGV4YW1wbGUsIHdoZW4gdGhleSBzdWJzY3JpYmVcclxuICAgICAgICAgdG8gdmFsdWVDaGFuZ2VzIG9uIHRoZSBGb3JtQXJyYXkgdGhhdCBjb250YWlucyBhbGwgdGhlIGNoZWNrYm94IEZvcm1Db250cm9scykuIC0tPlxyXG4gICAgPGVjLWNoZWNrYm94IGlkPVwie3tpZH19X3Jvd3t7cm93SW5kZXh9fV9jaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImlzQ2hlY2tib3hEaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiY2hlY2tib3hBdHRyaWJ1dGVJRFwiXHJcbiAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLTAgcm93LWNoZWNrYm94XCJcclxuICAgICAgICAgICAgICAgICBbZm9ybU1vZGVsXT1cImZvcm1Db250cm9sXCI+XHJcbiAgICA8L2VjLWNoZWNrYm94PlxyXG4gIDwvdGQ+XHJcbjwvbmctY29udGFpbmVyPlxyXG48IS0tIFRoZSByZXN0IG9mIHRoZSB0YWJsZSByb3cgLS0+XHJcbjxuZy1jb250ZW50PjwvbmctY29udGVudD4iXX0=
|
235
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2VsZWN0YWJsZS1yb3cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdGFibGUvdGFibGUtc2VsZWN0YWJsZS1yb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdGFibGUvdGFibGUtc2VsZWN0YWJsZS1yb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBK0MsTUFBTSxlQUFlLENBQUM7QUFDekgsT0FBTyxFQUFtQixnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRXZDLE1BQU0sT0FBTyx5QkFBeUI7SUFBdEM7UUFDRTs7O1dBR0c7UUFDSSxzQkFBaUIsR0FBb0IsSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxRTs7Ozs7V0FLRztRQUNJLGtCQUFhLEdBQXFCLElBQUksZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFbEU7OztXQUdHO1FBQ0kscUJBQWdCLEdBQVcsQ0FBQyxDQUFDLENBQUM7UUFFckM7OztXQUdHO1FBQ0ksc0JBQWlCLEdBQWtCLElBQUksT0FBTyxF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QUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7O3dIQWpNVSwyQkFBMkI7NEdBQTNCLDJCQUEyQixva0JDckR4QyxtL0NBNkJ5QiwwZ0JEc0JYLElBQUksNkZBQUUsMEJBQTBCLG1HQUFFLGlCQUFpQjsyRkFFcEQsMkJBQTJCO2tCQVB2QyxTQUFTOytCQUNJLHdCQUF3QixjQUd0QixJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsMEJBQTBCLEVBQUUsaUJBQWlCLENBQUM7OEJBTXpELEVBQUU7c0JBRlIsV0FBVzt1QkFBQyxTQUFTOztzQkFDckIsS0FBSztnQkFNSyxrQkFBa0I7c0JBRjVCLFdBQVc7dUJBQUMsa0JBQWtCOztzQkFDOUIsS0FBSzt1QkFBQyxzQkFBc0I7Z0JBUXRCLE9BQU87c0JBRGIsS0FBSzt1QkFBQyxrQkFBa0I7Z0JBTWxCLFFBQVE7c0JBRGQsS0FBSztnQkFPQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBTUMsVUFBVTtzQkFGaEIsV0FBVzt1QkFBQyxtQkFBbUI7O3NCQUMvQixLQUFLO2dCQUtDLFFBQVE7c0JBRGQsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBVXZCLGtCQUFrQjtzQkFEeEIsS0FBSztnQkF5RUMsVUFBVTtzQkFEaEIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVW50eXBlZEZvcm1BcnJheSwgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhYmxlTG9ja2VkQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS1sb2NrZWQtY29sdW1uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuZXhwb3J0IGNsYXNzIFRhYmxlU2VsZWN0YWJsZVJvd0NvbnRleHQge1xyXG4gIC8qKnNwZWNpZnkgdGhlIGZvcm0gY29udHJvbCB0byB1c2UgZm9yIHRoZSBzZWxlY3RBbGwgY2hlY2tib3ggb3IgcHJvdmlkZSB5b3VyIG93bi5cclxuICAgKiBUaGlzIGNhbiBiZSB1c2VmdWwgaWYgeW91IHdhbnQgdG8gc3Vic2NyaWJlIHRvIGNoYW5nZXMgdG8gY2hhbmdlIGJ1dHRvbiBzdGF0ZXMgYXMgdGhlIHNlbGVjdGlvbiBjaGFuZ2VzXHJcbiAgICogb3IgaWYgeW91IHdhbnQgdG8gYWRkIGl0IHRvIGFuIGFscmVhZHktZXhpc3RpbmcgZm9ybSBncm91cFxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZWxlY3RBbGxDaGVja2JveDogQWJzdHJhY3RDb250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChmYWxzZSk7XHJcblxyXG4gIC8qKnNwZWNpZnkgdGhlIEZvcm1BcnJheSB0byB1c2UgZm9yIHRoZSBkZXBlbmRlbnQgY2hlY2tib3hlcyBvZiB0aGUgc2VsZWN0QWxsIGNoZWNrYm94XHJcbiAgICogVGhlIGRlcGVuZGVudCBjaGVja2JveGVzIHdpbGwgYWRkIGFuZCByZW1vdmUgdGhlbXNlbHZlcyBhdXRvbWF0aWNhbGx5IGFuZCB0aGUgc2VsZWN0QWxsXHJcbiAgICogYm94IHdpbGwgcmVhY3QgYWNjb3JkaW5nbHkuIERvIG5vdCBwcm92aWRlIHlvdXIgb3duIGNvbnRyb2xzXHJcbiAgICogVGhpcyBjYW4gYmUgdXNlZnVsIGlmIHlvdSB3YW50IHRvIHN1YnNjcmliZSB0byBjaGFuZ2VzIHRvIGNoYW5nZSBidXR0b24gc3RhdGVzIGFzIHRoZSBzZWxlY3Rpb24gY2hhbmdlc1xyXG4gICAqIG9yIGlmIHlvdSB3YW50IHRvIGFkZCBpdCB0byBhbiBhbHJlYWR5LWV4aXN0aW5nIGZvcm0gZ3JvdXBcclxuICAgKi9cclxuICBwdWJsaWMgcm93Q2hlY2tib3hlczogVW50eXBlZEZvcm1BcnJheSA9IG5ldyBVbnR5cGVkRm9ybUFycmF5KFtdKTtcclxuXHJcbiAgLyoqVGhlIGluZGV4IG9mIHRoZSBsYXN0IHJvdyB0aGUgdXNlciBjbGlja2VkLiBUaGlzIGFsbG93cyBtdWx0aXBsZSBkaXJlY3RpdmVzIG9uIGEgc2NyZWVuIHRvIGNvb3JkaW5hdGVcclxuICAgKiBmb3IgcmVhY3RpbmcgdG8gc2hpZnQrY2xpY2sgYWN0aW9ucyB0aGF0IHNob3VsZCBhdXRvbWF0aWNhbGx5IHNlbGVjdCBtdWx0aXBsZSByb3dzIGJldHdlZW4gdGhlIGNsaWNrZWQgcm93c1xyXG4gICAqIGRlZmF1bHRzIHRvIC0xIHRvIGluZGljYXRlIHRoYXQgbm8gdXNlciBjbGljayBoYXMgYmVlbiBjYXB0dXJlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBsYXN0Q2xpY2tlZEluZGV4OiBudW1iZXIgPSAtMTtcclxuXHJcbiAgLyoqQSBzdWJqZWN0IHRoYXQgaXMgdHJpZ2dlcmVkIHdoZW4gYSByb3ctYmFzZWQgZGlyZWN0aXZlIGlzIGFkZGVkIG9yIHJlbW92ZWQuIEl0IGFsbG93c1xyXG4gICAqIHRoZSBtYXN0ZXIgY2hlY2tib3ggaW4gdGhlIGhlYWRlciB0byBrbm93IHRoYXQgaXQgbmVlZHMgdG8gcmVzZXQgdHJhY2tpbmcgaW5mb3JtYXRpb25cclxuICAgKiB3aXRob3V0IHJlcGxhY2luZyB0aGUgYWN0dWFsIEZvcm1BcnJheSB0aGF0IHRoZSBob3N0aW5nIGNvbXBvbmVudCBtYXkgYmUgc3Vic2NyaWJlZCB0byBmb3IgY2hhbmdlc1xyXG4gICAqL1xyXG4gIHB1YmxpYyByb3dBZGRlZE9yUmVtb3ZlZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCB0byB0cnVlIHRvIGRpc2FibGUgU2hpZnQtQ2xpY2svQ3RybC1DbGljayBmdW5jdGlvbmFsaXR5XHJcbiAgICovXHJcbiAgcHVibGljIGRpc2FibGVBZHZhbmNlZFJvd0NsaWNrQmVoYXZpb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHRvIGxpc3Qgb2YgaW5kaWNlcyBvZiBjb250cm9scyB0aGF0IHNob3VsZCBub3QgdG9nZ2xlIHdoZW4gbWFzdGVyL2hlYWRlciBjaGVja2JveCB0b2dnbGVzXHJcbiAgICovXHJcbiAgcHVibGljIG5vbkRlcGVuZGVudENoZWNrYm94ZXM6IG51bWJlcltdID0gW107XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdbZWNUYWJsZVNlbGVjdGFibGVSb3ddJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1zZWxlY3RhYmxlLXJvdy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi90YWJsZS1zZWxlY3RhYmxlLXJvdy5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtOZ0lmLCBUYWJsZUxvY2tlZENvbHVtbkNvbXBvbmVudCwgQ2hlY2tib3hDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZVNlbGVjdGFibGVSb3dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcclxuICAvKipUaGUgSUQgcm9vdCB0byB1c2UgZm9yIHRoZSBjaGVja2JveCBhbmQgdGFibGUgY2VsbCAqL1xyXG4gIEBIb3N0QmluZGluZygnYXR0ci5pZCcpXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaWQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKiogRGlzYWJsZXMgdGhlIHNlbGVjdGlvbiBmdW5jdGlvbmFsaXR5IHdoZW4gZmFsc2UgKi9cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLWVuYWJsZWQnKVxyXG4gIEBJbnB1dCgnZWNUYWJsZVNlbGVjdGFibGVSb3cnKVxyXG4gIHB1YmxpYyBzZXQgaXNTZWxlY3Rpb25FbmFibGVkKHZhbHVlOiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZCkgeyB0aGlzLl9zZWxlY3Rpb25FbmFibGVkID0gdmFsdWUgIT09IGZhbHNlOyB9XHJcbiAgcHVibGljIGdldCBpc1NlbGVjdGlvbkVuYWJsZWQoKSB7IHJldHVybiB0aGlzLl9zZWxlY3Rpb25FbmFibGVkOyB9XHJcbiAgcHJpdmF0ZSBfc2VsZWN0aW9uRW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKlNoYXJlZCBjb250ZXh0IGJldHdlZW4gbWFzdGVyIGFuZCBjaGlsZHJlbi4gQ2hpbGQgZGlyZWN0aXZlIGFkZHMgaXRzIG93biBGb3JtQ29udHJvbCB0byB0aGlzXHJcbiAgYW5kIHJlbW92ZXMgaXQgb25EZXN0cm95LiBUaGUgc2FtZSBjb250ZXh0IG9iamVjdCBtdXN0IGJlIHVzZWQgZm9yIGFsbCBkaXJlY3RpdmVzIGluIGEgc2luZ2xlIHRhYmxlKi9cclxuICBASW5wdXQoJ3NlbGVjdGlvbkNvbnRleHQnKVxyXG4gIHB1YmxpYyBjb250ZXh0ITogVGFibGVTZWxlY3RhYmxlUm93Q29udGV4dDtcclxuXHJcbiAgLypSZXF1aXJlZCBmb3IgYWxsIHJvd3MuIFRoZSByb3cgaW5kZXggdGhpcyBjb21wb25lbnQgcmVwcmVzZW50cywgdG8gYWxsb3cgaXQgdG8ga25vdyBob3cgdG8gaGFuZGxlIHNoaWZ0K2NsaWNrcy5cclxuICAgIERlZmF1bHRzIHRvIC0xIHdoaWNoIHdpbGwgY2F1c2UgdGhlIGRpcmVjdGl2ZSB0byBiZWhhdmUgYXMgYSBoZWFkZXIgcm93Ki9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByb3dJbmRleDogbnVtYmVyID0gLTE7XHJcblxyXG4gIC8qKlRoZSBvcHRpb25zIHVzZWQgdG8gbG9jayB0aGUgY2hlY2tib3ggY29sdW1uIHRvIHRoZSBsZWZ0IG9mIHRoZSB0YWJsZSwgbXVzdCBiZSBtb2RpZmllZCBieSBob3N0XHJcbiAgICogaWYgdGhlIGNoZWNrYm94IGlzIG5vdCB0aGUgZmlyc3QgY29sdW1uIGluIHRoZSB0YWJsZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxvY2tlZENvbE9wdGlvbnM6IHsgYm9yZGVyOiBib29sZWFuLCBsZWZ0PzogbnVtYmVyLCByaWdodD86IG51bWJlciB9ID0geyBib3JkZXI6IGZhbHNlLCBsZWZ0OiAwIH07XHJcblxyXG4gIC8qKiBBdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlIGJhc2VkIG9uIGNoZWNrYm94IHN0YXRlLCB1c2VkIHRvIGhpZ2hsaWdodCB0aGUgcm93IHRvIG1hdGNoIG91ciB0YWJsZSBzZWxlY3RlZCByb3cgc3R5bGVzICovXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1zZWxlY3RlZCcpXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG5cclxuICAvKiogQXV0b21hdGljYWxseSBzZXQgdG8gdHJ1ZSBpZiBubyByb3dJbmRleCBpcyBwcm92aWRlZCBvciB0aGUgcm93IGluZGV4IGlzIGxlc3MgdGhhbiB6ZXJvICovXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1oZWFkZXInKVxyXG4gIHB1YmxpYyBpc0hlYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBTZXQgdG8gdHJ1ZSBpZiB5b3Ugd2FudCB0aGUgY2hlY2tib3ggdG8gYmUgZGlzYWJsZWQuXHJcbiAgICpcclxuICAgKiBXaGVuIHlvdSB1c2UgdGhpcyBwcm9wZXJ0eSwgbWFrZSBzdXJlIHlvdSBzZXQgYGRpc2FibGVBZHZhbmNlZFJvd0NsaWNrQmVoYXZpb3I6IHRydWVgXHJcbiAgICogaW4gdGhlIGBUYWJsZVNlbGVjdGFibGVSb3dDb250ZXh0YCwgb3IgdW5kZXNpcmVkIHNpZGUtZWZmZWN0cyB3aWxsIG9jY3VyLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzQ2hlY2tib3hEaXNhYmxlZD86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyogQSByZWZlcmVuY2UgdGhhdCB3ZSBjYW4gY2hhbmdlIHdoZW4gYSBjb250cm9sIGlzIHJlcGxhY2VkIHRvIGZvcmNlIHRoZSBtYXN0ZXIgY2hlY2tib3ggcmVmZXJlbmNlIHRvIHVwZGF0ZVxyXG4gICAgIHdpdGhvdXQgYWxzbyByZXBsYWNpbmcgdGhlIGZvcm0gYXJyYXkgdGhhdCB0aGUgaG9zdCBjb21wb25lbnQgbWF5IGJlIHdhdGNoaW5nIGZvciBzZWxlY3RlZCByb3cgY2hhbmdlcyAqL1xyXG4gIHB1YmxpYyBkZXBlbmRlbnRDaGVja2JveGVzUmVmZXJlbmNlOiB7IGNvbnRyb2xzOiBBYnN0cmFjdENvbnRyb2xbXSB9ID0geyBjb250cm9sczogW10gfTtcclxuXHJcbiAgLypDYXB0dXJlIHRoZSBmb3JtIGNvbnRyb2wgdGhpcyBjb21wb25lbnQgY3JlYXRlcyB0byBhbGxvdyBjbGVhbnVwIGxhdGVyIG9uIGFuZCBleHBvc2UgaXQgdG8gdGhlIHJvdyovXHJcbiAgcHVibGljIGZvcm1Db250cm9sITogQWJzdHJhY3RDb250cm9sO1xyXG5cclxuICBwdWJsaWMgY2hlY2tib3hBdHRyaWJ1dGVJRDogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8qKlNlbmRzIGFuIGV2ZW50IHdoZW4gdGhlIGNvbXBvbmVudCBpcyBkZXN0cm95ZWQgc28gdGhhdCBpdCBjYW4gdW5zdWJzY3JpYmUgZnJvbSBhbnkgb2JzZXJ2YWJsZXMgKi9cclxuICBwcml2YXRlIGRlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIC8qKlZhbGlkYXRlIGFuZCBwb3B1bGF0ZSB0aGUgY29udGV4dCBhcyB0aGUgdGFibGUgaXMgZHluYW1pY2FsbHkgYnVpbHQuIEJlY2F1c2UgdGhlIGNvbnRleHQgaXMgc2hhcmVkIGJldHdlZW4gdGhlXHJcbiAgICogaGVhZGVyIGFuZCBlYWNoIG9mIHRoZSByb3dzLCBjaGFuZ2VzIHRvIGl0IGNhbiBiZSB1c2VkIHRvIGRldGVybWluZSB3aGF0IGlzIGhhcHBlbmluZyBhbmQgaG9vayB1cCB0aGUgY29ycmVjdFxyXG4gICAqIHN1YnNjcmlwdGlvbnMgZm9yIHNlbGVjdEFsbC4gVGhlIHVzZXIgY2FuIHByb3ZpZGUgYW4gZXhpc3RpbmcgZm9ybUFycmF5IGZvciB0aGUgcm93cyBhbmQgZm9ybSBjb250cm9sIGZvciB0aGUgaGVhZGVyLFxyXG4gICAqIG9yIGl0IGNhbiBqdXN0IGJlIHRoZSBkZWZhdWx0IGVtcHR5IG9uZXMgY3JlYXRlZCBieSB0aGUgY29udGV4dCBjbGFzcy5cclxuICAqL1xyXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaXNIZWFkZXIgPSB0aGlzLnJvd0luZGV4IDwgMDtcclxuICAgIGlmICghdGhpcy5jb250ZXh0KSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ2VjVGFibGVTZWxlY3RhYmxlUm93IHJlcXVpcmVzIGEgZGVmaW5lZCBTZWxlY3RhYmxlVGFibGVSb3dDb250ZXh0IHRvIGJlIHNoYXJlZCB3aXRoIGFsbCBpbnN0YW5jZXMgaW4gb25lIHRhYmxlLicpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IHJvd0NoZWNrYm94ID0gdGhpcy5jb250ZXh0Py5yb3dDaGVja2JveGVzPy5hdCh0aGlzLnJvd0luZGV4KTtcclxuXHJcbiAgICAgIGlmICghdGhpcy5pc0hlYWRlciAmJiAhcm93Q2hlY2tib3gpIHtcclxuICAgICAgICByb3dDaGVja2JveCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodGhpcy5pc1NlbGVjdGVkKTtcclxuICAgICAgICB0aGlzLmNvbnRleHQ/LnJvd0NoZWNrYm94ZXMucHVzaChyb3dDaGVja2JveCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wgPSB0aGlzLmlzSGVhZGVyID8gdGhpcy5jb250ZXh0LnNlbGVjdEFsbENoZWNrYm94IDogcm93Q2hlY2tib3g7XHJcbiAgICAgIHRoaXMud2F0Y2hGb3JDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipXYXRjaCBmb3IgY2hhbmdlcyB0byB0aGUgcm93IGluZGV4IHRoYXQgY2FuIG9jY3VyIGlmIHRoZSB0YWJsZSBpcyByZW9yZGVyZWQgaW4tcGxhY2UgaW5zdGVhZCBvZlxyXG4gICAqIHJlY3JlYXRlZCBmcm9tIHNjcmF0Y2guIFJlLWNhcHR1cmUgdGhlIGNvcnJlY3QgZm9ybSBjb250cm9sIHRvIGtlZXAgZXZlcnl0aGluZyBpbiBzeW5jXHJcbiAgICovXHJcbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmIChjaGFuZ2VzLnJvd0luZGV4ICYmICF0aGlzLmlzSGVhZGVyKSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wgPSB0aGlzLmNvbnRleHQucm93Q2hlY2tib3hlcy5hdCh0aGlzLnJvd0luZGV4KTtcclxuICAgICAgdGhpcy5jaGVja2JveEF0dHJpYnV0ZUlEID0gYCR7dGhpcy5pZH1fcm93JHt0aGlzLnJvd0luZGV4fV9lY0NoZWNrYm94YDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY2hhbmdlcy5pc1NlbGVjdGlvbkVuYWJsZWQgJiYgIXRoaXMuaXNTZWxlY3Rpb25FbmFibGVkICYmIHRoaXMuZm9ybUNvbnRyb2w/LnZhbHVlID09PSB0cnVlKSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUoZmFsc2UpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjaGFuZ2VzLmlzU2VsZWN0ZWQgJiYgdGhpcy5mb3JtQ29udHJvbCkge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHRoaXMuaXNTZWxlY3RlZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogVGVsbCB0aGUgaGVhZGVyIGNoZWNrYm94IHRvIHJlZnJlc2ggdGhlIHNlbGVjdEFsbCBzdWJzY3JpcHRpb24gYmVjYXVzZSBhIHJvdyB3YXMgcmVtb3ZlZCovXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xyXG4gICAgaWYgKCF0aGlzLmlzSGVhZGVyICYmIHRoaXMuZm9ybUNvbnRyb2wpIHtcclxuICAgICAgdGhpcy5jb250ZXh0LnJvd0FkZGVkT3JSZW1vdmVkLm5leHQoKTtcclxuXHJcbiAgICAgIC8vZmluZCB0aGUgbG9jYXRpb24gaW4gdGhlIGFycmF5IHRoYXQgbWF0Y2hlcyB0aGUgY2hlY2tib3guIElmIG1hbnkgcm93cyBhcmUgYmVpbmcgcmVtb3ZlZCBpdCBtYXkgbm90IG1hdGNoIHJvd0luZGV4IHlldFxyXG4gICAgICBsZXQgbWF0Y2hJbmRleCA9IHRoaXMuY29udGV4dC5yb3dDaGVja2JveGVzLmNvbnRyb2xzLmZpbmRJbmRleChjID0+IGMgPT0gdGhpcy5mb3JtQ29udHJvbCk7XHJcbiAgICAgIGlmIChtYXRjaEluZGV4ID49IDApIHtcclxuICAgICAgICB0aGlzLmNvbnRleHQucm93Q2hlY2tib3hlcy5yZW1vdmVBdChtYXRjaEluZGV4KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqSGFuZGxlIHdoZW4gYSB1c2VyIGNsaWNrcyBvbiBhIHRhYmxlIHJvdyAob3Igc29tZXRoaW5nIGluc2lkZSBpdCB3aGljaCBidWJibGVzIHVwKSB0byBpbmNyZWFzZSB0aGUgaGl0IGFyZWEgZm9yIHJvdyBzZWxlY3Rpb25cclxuICAgKiBPbmx5IHdvcmsgb24gdGhlIHRhYmxlIGJvZHkgKG5vdCB0aGUgaGVhZGVyKSBiZWNhdXNlIHRoZSBoZWFkZXIgbWF5IGhhdmUgb3RoZXIgY2xpY2sgaGFuZGxlcnMgZm9yIHNvcnQgZXRjIHRoYXQgd2UgZG9uJ3QgY2FyZSBhYm91dC5cclxuICAgKiBIYW5kbGUgc2hpZnQgYW5kIGNvbnRyb2wgc2VsZWN0IGFzIHdlbGwgYXMgY2hlY2tib3ggY2xpY2sgbGlrZSB3aW5kb3dzIGV4cGxvcmVyIG9yIHRoZSBvcmlnaW5hbCBiaWxsIGxpc3RzIGRvLlxyXG4gICovXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyByb3dDbGlja2VkKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBpZiAoIXRoaXMuaXNIZWFkZXIgJiYgdGhpcy5pc1NlbGVjdGlvbkVuYWJsZWQgJiYgIXRoaXMuaXNDaGVja2JveERpc2FibGVkKSB7XHJcbiAgICAgIGxldCB0YXJnZXRFbCA9IGV2ZW50Py50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcblxyXG4gICAgICAvL2NsaWNraW5nIG9uIGEgcm93IGFsd2F5cyB0b2dnbGVzIHRoYXQgcm93LiBTb21ldGltZXMgdGhlIHNoaWZ0LXNlbGVjdCB3aWxsIHRvZ2dsZSBpdCBiYWNrXHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUoIXRoaXMuZm9ybUNvbnRyb2wudmFsdWUpO1xyXG5cclxuICAgICAgaWYgKCF0aGlzLmNvbnRleHQuZGlzYWJsZUFkdmFuY2VkUm93Q2xpY2tCZWhhdmlvcikge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlU2hpZnRTZWxlY3QoZXZlbnQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHdhdGNoRm9yQ2hhbmdlcygpIHtcclxuICAgIC8vd2F0Y2ggZm9yIHJvd3MgYmVpbmcgcmVwbGFjZWQgc28gdGhhdCB0aGUgbWFzdGVyIGNoZWNrYm94IGFuZCBzaGlmdC1zZWxlY3Qgc3VwcG9ydCBjYW4gYmUgcmVzZXQgdG8gbWF0Y2hcclxuICAgIC8vdGhpcyBrZWVwcyB0aGUgbWFzdGVyIGluIHN5bmMgYXMgdGhlIHRhYmxlIGNoYW5nZXMgcGFnZXMgZXRjIGFuZCBzdG9wcyB1bmV4cGVjdGVkIHJvd3MgZnJvbSBiZWluZyBzZWxlY3RlZCBhZnRlciByZWRyYXdcclxuICAgIGlmICh0aGlzLmlzSGVhZGVyKSB7XHJcbiAgICAgIHRoaXMuY29udGV4dC5yb3dBZGRlZE9yUmVtb3ZlZC5waXBlKGRlYm91bmNlVGltZSgxMCksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0Lmxhc3RDbGlja2VkSW5kZXggPSAtMTtcclxuXHJcbiAgICAgICAgLy8gZXhjbHVkZSBub25EZXBlbmRlbnRDaGVja2JveGVzIChzb21lIG1heSBub3QgYmUgYWxsb3dlZCB0byBiZSBkZXNlbGVjdGVkKVxyXG4gICAgICAgIGxldCBkZXBlbmRlbnRDaGVja2JveGVzOiBBYnN0cmFjdENvbnRyb2xbXSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5yb3dDaGVja2JveGVzLmNvbnRyb2xzLmZvckVhY2goKGNvbnRyb2wsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICBpZiAoIXRoaXMuY29udGV4dC5ub25EZXBlbmRlbnRDaGVja2JveGVzLmluY2x1ZGVzKGluZGV4KSkge1xyXG4gICAgICAgICAgICBkZXBlbmRlbnRDaGVja2JveGVzLnB1c2goY29udHJvbCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuZGVwZW5kZW50Q2hlY2tib3hlc1JlZmVyZW5jZSA9IHsgY29udHJvbHM6IGRlcGVuZGVudENoZWNrYm94ZXMgfTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNvbnRleHQucm93QWRkZWRPclJlbW92ZWQubmV4dCgpO1xyXG5cclxuICAgICAgLy93YXRjaCBmb3IgdGhlIGNoZWNrYm94IHN0YXRlIHRvIGNoYW5nZSBvbiBhIGNoaWxkIHJvdyBhbmQgc2V0IHRoZSByb3cgaXNTZWxlY3RlZCBjbGFzcyAvIGhpZ2hsaWdodCB0byBtYXRjaFxyXG4gICAgICAvL3RoaXMgd2F5IHRoZSByb3dzIG1hdGNoIGV2ZW4gaWYgZXh0ZXJuYWwgY29kZSB1cGRhdGVzIHRoZSBmb3JtIG1vZGVsXHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2w/LnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpLnN1YnNjcmliZSgodmFsdWU6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICB0aGlzLmlzU2VsZWN0ZWQgPSB2YWx1ZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICAqIElmIHRoZXkgYXJlIGhvbGRpbmcgdGhlIHNoaWZ0IGtleSwgdHJ5IHRvIHNlbGVjdCBhbGwgdGhlIGNoZWNrYm94ZXMgYmV0d2VlbiB0aGVpciBsYXN0IHNlbGVjdGlvblxyXG4gICAgKiBhbmQgbW9zdCByZWNlbnQgc2VsZWN0aW9uLiBUaGUgbG9naWMgaXMgc2V0dXAgdG8gYmVoYXZlIHRoZSB3YXkgd2luZG93cyBleHBsb3JlciBiZWhhdmVzXHJcbiAgICAqIFdlIGRvbid0IGFsbG93IGRyYWctdG8tc2VsZWN0IGxpa2UgdGhlIGtlbmRvIHRhYmxlcywgYnV0IGl0IG1lYW5zIHVzZXJzIGNhbiBoaWdobGlnaHQgdGV4dCBhbmQgY29weStwYXN0ZSB0byBleGNlbCBldGNcclxuICAgICogc28gSSB0aGluayB0aGlzIGlzIGFjdHVhbGx5IHByZWZlcmFibGVcclxuICAgICovXHJcbiAgcHJpdmF0ZSBoYW5kbGVTaGlmdFNlbGVjdChldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgbGV0IGxhc3RJbmRleCA9IHRoaXMuY29udGV4dC5sYXN0Q2xpY2tlZEluZGV4O1xyXG4gICAgbGV0IGN1ckluZGV4ID0gdGhpcy5yb3dJbmRleDtcclxuICAgIGlmIChldmVudC5zaGlmdEtleSAmJiBsYXN0SW5kZXggPj0gMCkge1xyXG4gICAgICB0aGlzLmNsZWFyQWxsUm93cygpO1xyXG4gICAgICBpZiAoY3VySW5kZXggPiBsYXN0SW5kZXgpIHtcclxuICAgICAgICBmb3IgKHZhciBpbmRleCA9IGxhc3RJbmRleDsgaW5kZXggPD0gY3VySW5kZXg7IGluZGV4KyspIHtcclxuICAgICAgICAgIHRoaXMuY29udGV4dC5yb3dDaGVja2JveGVzLmF0KGluZGV4KS5zZXRWYWx1ZSh0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAoY3VySW5kZXggPCBsYXN0SW5kZXgpIHtcclxuICAgICAgICBmb3IgKHZhciBpbmRleCA9IGxhc3RJbmRleDsgaW5kZXggPj0gY3VySW5kZXg7IGluZGV4LS0pIHtcclxuICAgICAgICAgIHRoaXMuY29udGV4dC5yb3dDaGVja2JveGVzLmF0KGluZGV4KS5zZXRWYWx1ZSh0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAoY3VySW5kZXggPT09IGxhc3RJbmRleCkge1xyXG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodHJ1ZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpPy5yZW1vdmVBbGxSYW5nZXMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vcmVjb3JkIHRoZSBjdXJyZW50IHJvdyBpbmRleCBmb3IgZnV0dXJlIHJvdyBjbGlja3MgdG8ga25vdyB3aGVyZSB0aGV5IGxhc3QgaW50ZXJhY3RlZFxyXG4gICAgICAvL2J1dCBvbmx5IGlmIHRoZXkgZG9uJ3QgaGF2ZSBzaGlmdCBkb3duIGZvciB0aGlzIGNsaWNrLiBJZiBzaGlmdCBpcyBkb3duIHRoZW4gdGhlIG5leHQgc2hpZnQrY2xpY2tcclxuICAgICAgLy9zaG91bGQgYmUgY29uc2lkZXJlZCBhbiBleHRlbnNpb24gKG9yIGNvbnRyYWN0aW9uKSBvZiB0aGUgb3JpZ2luYWwgbXVsdGktcm93IHNlbGVjdGlvblxyXG4gICAgICB0aGlzLmNvbnRleHQubGFzdENsaWNrZWRJbmRleCA9IHRoaXMucm93SW5kZXg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNsZWFyQWxsUm93cygpIHtcclxuICAgIHRoaXMuY29udGV4dC5yb3dDaGVja2JveGVzLmNvbnRyb2xzLmZvckVhY2goY29udHJvbCA9PiBjb250cm9sLnNldFZhbHVlKGZhbHNlKSk7XHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gYW55IGVsZW1lbnRzIG9mIHRoZSBleGlzdGluZyB0YWJsZSByb3cgdGhhdCBtdXN0IGdvIGJlZm9yZSB0aGUgcm93IHNlbGVjdGlvbiBjaGVja2JveCBjYW4gYmUgbWFya2VkIHdpdGggYSBjbGFzcyBvZiBiZWZvcmUtY2hlY2tib3ggLS0+XHJcbjxuZy1jb250ZW50IHNlbGVjdD1cIi5iZWZvcmUtY2hlY2tib3hcIj48L25nLWNvbnRlbnQ+XHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJpc1NlbGVjdGlvbkVuYWJsZWRcIj5cclxuICA8dGggKm5nSWY9XCJpc0hlYWRlclwiXHJcbiAgICAgIGNsYXNzPVwiY2hlY2tib3hcIlxyXG4gICAgICBbZWNUYWJsZUxvY2tlZENvbHVtbl09XCJsb2NrZWRDb2xPcHRpb25zXCI+XHJcbiAgICA8ZWMtY2hlY2tib3ggaWQ9XCJ7e2lkfX1fc2VsZWN0QWxsXCJcclxuICAgICAgICAgICAgICAgICBjbGFzcz1cIm0tMFwiXHJcbiAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb250ZXh0Py5zZWxlY3RBbGxDaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgICAgW2Zvcm1Nb2RlbF09XCJjb250ZXh0Py5zZWxlY3RBbGxDaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgICAgW2RlcGVuZGVudENoZWNrYm94ZXNHcm91cF09XCJkZXBlbmRlbnRDaGVja2JveGVzUmVmZXJlbmNlXCJcclxuICAgICAgICAgICAgICAgICBbaWdub3JlRGlzYWJsZWREZXBlbmRlbnRzXT1cImZhbHNlXCI+XHJcbiAgICA8L2VjLWNoZWNrYm94PlxyXG4gIDwvdGg+XHJcbiAgPHRkICpuZ0lmPVwiIWlzSGVhZGVyICYmIGZvcm1Db250cm9sXCJcclxuICAgICAgY2xhc3M9XCJjaGVja2JveFwiXHJcbiAgICAgIFtlY1RhYmxlTG9ja2VkQ29sdW1uXT1cImxvY2tlZENvbE9wdGlvbnNcIj5cclxuICAgIDwhLS0gVXNlIFtyZWFkb25seV0gYW5kIG5vdCBbZGlzYWJsZWRdIGZvciBpc0NoZWNrYm94RGlzYWJsZWQgdG8gcHJldmVudCB1c2VyIGludGVyYWN0aW9uXHJcbiAgICAgICAgIGFuZCBhbGxvdyB0aGUgdmFsdWUgdG8gYmUgdmlzaWJsZSB0byBvdGhlciBjb21wb25lbnRzIChmb3IgZXhhbXBsZSwgd2hlbiB0aGV5IHN1YnNjcmliZVxyXG4gICAgICAgICB0byB2YWx1ZUNoYW5nZXMgb24gdGhlIEZvcm1BcnJheSB0aGF0IGNvbnRhaW5zIGFsbCB0aGUgY2hlY2tib3ggRm9ybUNvbnRyb2xzKS4gLS0+XHJcbiAgICA8ZWMtY2hlY2tib3ggaWQ9XCJ7e2lkfX1fcm93e3tyb3dJbmRleH19X2NoZWNrYm94XCJcclxuICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiaXNDaGVja2JveERpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJjaGVja2JveEF0dHJpYnV0ZUlEXCJcclxuICAgICAgICAgICAgICAgICBjbGFzcz1cIm0tMCByb3ctY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgIFtmb3JtTW9kZWxdPVwiZm9ybUNvbnRyb2xcIj5cclxuICAgIDwvZWMtY2hlY2tib3g+XHJcbiAgPC90ZD5cclxuPC9uZy1jb250YWluZXI+XHJcbjwhLS0gVGhlIHJlc3Qgb2YgdGhlIHRhYmxlIHJvdyAtLT5cclxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PiJdfQ==
|