@worktile/theia 13.0.0 → 13.0.3
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/components/color-select/color-select.component.scss +11 -8
- package/components/column-resize/column-resize.scss +6 -4
- package/components/inline-toolbar/inline-toolbar.component.scss +7 -4
- package/components/table-select/table-select.component.scss +7 -5
- package/components/toolbar/toolbar.component.d.ts +3 -2
- package/components/toolbar/toolbar.component.scss +15 -17
- package/components/toolbar-dropdown/toolbar-dropdown.component.scss +16 -27
- package/components/toolbar-group/toolbar-group.component.scss +5 -3
- package/editor.module.d.ts +58 -58
- package/esm2020/components/color-select/color-select.component.mjs +4 -4
- package/esm2020/components/column-resize/column-resize-notifier.mjs +4 -4
- package/esm2020/components/column-resize/column-resize.directive.mjs +4 -4
- package/esm2020/components/column-resize/column-resize.module.mjs +9 -9
- package/esm2020/components/column-resize/event-dispatcher.mjs +4 -4
- package/esm2020/components/column-resize/overlay-handle.component.mjs +4 -4
- package/esm2020/components/column-resize/resizing.store.mjs +4 -4
- package/esm2020/components/contextmenu/contextmenu.component.mjs +7 -7
- package/esm2020/components/conversion-hint/conversion-hint.component.mjs +4 -4
- package/esm2020/components/element/element.component.mjs +4 -4
- package/esm2020/components/inline-toolbar/inline-toolbar.component.mjs +4 -4
- package/esm2020/components/table-select/table-select.component.mjs +4 -4
- package/esm2020/components/template/template.component.mjs +4 -4
- package/esm2020/components/text/text.component.mjs +4 -4
- package/esm2020/components/toolbar/toolbar.component.mjs +31 -17
- package/esm2020/components/toolbar-dropdown/toolbar-dropdown.component.mjs +7 -7
- package/esm2020/components/toolbar-group/toolbar-group.component.mjs +6 -6
- package/esm2020/components/toolbar-item/toolbar-item.component.mjs +14 -12
- package/esm2020/core/toolbar-item/base-toolbar-item.mjs +8 -8
- package/esm2020/editor.component.mjs +4 -4
- package/esm2020/editor.module.mjs +16 -13
- package/esm2020/interfaces/view-base.mjs +4 -4
- package/esm2020/pipes.mjs +7 -7
- package/esm2020/plugins/blockquote/blockquote.component.mjs +4 -4
- package/esm2020/plugins/code/code.component.mjs +9 -9
- package/esm2020/plugins/color/color.editor.mjs +2 -2
- package/esm2020/plugins/color/toolbar-item.component.mjs +24 -14
- package/esm2020/plugins/hr/hr.component.mjs +4 -4
- package/esm2020/plugins/image/image.component.mjs +28 -29
- package/esm2020/plugins/inline-code/inline-code.component.mjs +4 -4
- package/esm2020/plugins/link/edit/link-edit.component.mjs +4 -4
- package/esm2020/plugins/link/hover/link-hover.component.mjs +4 -4
- package/esm2020/plugins/link/link.component.mjs +7 -7
- package/esm2020/plugins/list/components/bulleted-list.component.mjs +4 -4
- package/esm2020/plugins/list/components/list-item.component.mjs +4 -4
- package/esm2020/plugins/list/components/numbered-list.component.mjs +4 -4
- package/esm2020/plugins/quick-insert/components/quick-insert.component.mjs +4 -4
- package/esm2020/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.mjs +6 -6
- package/esm2020/plugins/table/components/insert-mark/insert-mark.component.mjs +4 -4
- package/esm2020/plugins/table/components/row/row.component.mjs +4 -4
- package/esm2020/plugins/table/components/table.component.mjs +29 -54
- package/esm2020/plugins/table/components/td/td.component.mjs +5 -10
- package/esm2020/plugins/table/components/toolbar/table-options.component.mjs +18 -18
- package/esm2020/plugins/table/components/toolbar/table-toolbar.component.mjs +11 -9
- package/esm2020/plugins/table/table.service.mjs +4 -4
- package/esm2020/plugins/table/table.store.mjs +4 -4
- package/esm2020/plugins/table/toolbar-item.component.mjs +14 -12
- package/esm2020/plugins/todo-item/todo-item.component.mjs +4 -4
- package/esm2020/plugins/vertical-align/toolbar-item.component.mjs +9 -9
- package/esm2020/services/color-select.service.mjs +4 -4
- package/esm2020/services/context.service.mjs +4 -4
- package/esm2020/services/table-contextmenu.service.mjs +4 -4
- package/esm2020/services/toolbar.service.mjs +4 -4
- package/fesm2015/worktile-theia.mjs +319 -346
- package/fesm2015/worktile-theia.mjs.map +1 -1
- package/fesm2020/worktile-theia.mjs +318 -346
- package/fesm2020/worktile-theia.mjs.map +1 -1
- package/package.json +1 -1
- package/plugins/code/code.component.scss +16 -23
- package/plugins/color/toolbar-item.component.d.ts +2 -0
- package/plugins/font-size/toolbar-item.component.scss +1 -4
- package/plugins/image/image.component.d.ts +4 -1
- package/plugins/image/image.component.scss +15 -17
- package/plugins/inline-code/inline-code.component.scss +4 -2
- package/plugins/link/link.component.scss +5 -3
- package/plugins/quick-insert/components/quick-insert.component.scss +4 -2
- package/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.scss +4 -2
- package/plugins/table/components/table.component.d.ts +2 -7
- package/plugins/table/components/table.component.scss +35 -45
- package/plugins/table/components/td/td.component.d.ts +0 -1
- package/styles/editor.scss +10 -112
- package/styles/index.scss +29 -21
- package/styles/mixins.scss +83 -0
- package/styles/typo.scss +31 -65
- package/styles/variables.scss +21 -0
- package/components/nav-split-line/nav-split-line.component.d.ts +0 -13
- package/esm2020/components/nav-split-line/nav-split-line.component.mjs +0 -37
|
@@ -7,9 +7,9 @@ import { TheTableOptionsComponent } from './table-options.component';
|
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "../../../../services/color-select.service";
|
|
9
9
|
import * as i2 from "ngx-tethys/popover";
|
|
10
|
-
import * as i3 from "ngx-tethys/
|
|
11
|
-
import * as i4 from "ngx-tethys/
|
|
12
|
-
import * as i5 from "
|
|
10
|
+
import * as i3 from "ngx-tethys/action";
|
|
11
|
+
import * as i4 from "ngx-tethys/divider";
|
|
12
|
+
import * as i5 from "ngx-tethys/icon";
|
|
13
13
|
import * as i6 from "ngx-tethys/button";
|
|
14
14
|
import * as i7 from "@angular/common";
|
|
15
15
|
import * as i8 from "ngx-tethys/tooltip";
|
|
@@ -104,7 +104,7 @@ export class TheTableToolbarComponent {
|
|
|
104
104
|
openSelectColor(event) {
|
|
105
105
|
event.preventDefault();
|
|
106
106
|
event.stopPropagation();
|
|
107
|
-
const element = event.target.closest('.thy-
|
|
107
|
+
const element = event.target.closest('.thy-action');
|
|
108
108
|
const isHeader = TableEditor.isActiveHeader(this.editor);
|
|
109
109
|
this.ngZone.run(() => {
|
|
110
110
|
this.colorSelectService.toggleColorSelect(element, this.selectedColor, BackgroundColors, {
|
|
@@ -140,11 +140,13 @@ export class TheTableToolbarComponent {
|
|
|
140
140
|
});
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
|
-
TheTableToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
144
|
-
TheTableToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
|
145
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
143
|
+
TheTableToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TheTableToolbarComponent, deps: [{ token: i0.NgZone }, { token: i1.TheColorSelectService }, { token: i2.ThyPopover }, { token: i2.ThyPopoverRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
144
|
+
TheTableToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TheTableToolbarComponent, selector: "the-table-toolbar", inputs: { tableStore: "tableStore", isActiveSelect: "isActiveSelect" }, host: { classAttribute: "d-flex align-items-center" }, ngImport: i0, template: "<ng-container *ngFor=\"let item of cellMenuList\">\n <a\n *ngIf=\"!item.invisibility\"\n href=\"javascript:;\"\n thyAction\n [thyActionIcon]=\"item.icon\"\n [thyTooltip]=\"item.name\"\n (mousedown)=\"item.actionHandle()\"\n ></a>\n</ng-container>\n<thy-divider *ngIf=\"!isActiveSelect && isShowSplitLine\" class=\"mx-2\" [thyVertical]=\"true\"></thy-divider>\n<a href=\"javascript:;\" thyAction thyTooltip=\"\u5355\u5143\u683C\u80CC\u666F\" (mousedown)=\"openSelectColor($event)\">\n <thy-icon thyIconName=\"background-tt\" thyIconType=\"twotone\" [thyTwotoneColor]=\"selectedColor\"></thy-icon>\n</a>\n\n<ng-container *ngIf=\"tableStore.isSelectedTable\">\n <thy-divider class=\"mx-2\" [thyVertical]=\"true\"></thy-divider>\n <button class=\"table-options mr-0\" thyButton=\"default\" thySize=\"md\" (mousedown)=\"openTableOptionMenu($event)\">\n <span>\u8868\u683C\u9009\u9879</span>\n <thy-icon thyIconName=\"caret-down\"></thy-icon>\n </button>\n</ng-container>\n\n<thy-divider *ngIf=\"deleteIcon\" class=\"mx-2\" [thyVertical]=\"true\"></thy-divider>\n<a\n *ngIf=\"deleteIcon\"\n href=\"javascript:;\"\n thyAction\n thyType=\"danger\"\n [thyActionIcon]=\"deleteIcon\"\n [thyTooltip]=\"iconName\"\n (mousedown)=\"onDelete($event)\"\n (mouseenter)=\"onEnterDelete($event)\"\n (mouseleave)=\"onLeaveDelete($event)\"\n></a>\n", components: [{ type: i3.ThyActionComponent, selector: "thy-action, [thyAction]", inputs: ["thyActionIcon", "thyActionActive", "thyType"] }, { type: i4.ThyDividerComponent, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { type: i5.ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { type: i6.ThyButtonComponent, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock"] }], directives: [{ type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }] });
|
|
145
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TheTableToolbarComponent, decorators: [{
|
|
146
146
|
type: Component,
|
|
147
|
-
args: [{ selector: 'the-table-toolbar',
|
|
147
|
+
args: [{ selector: 'the-table-toolbar', host: {
|
|
148
|
+
class: 'd-flex align-items-center'
|
|
149
|
+
}, template: "<ng-container *ngFor=\"let item of cellMenuList\">\n <a\n *ngIf=\"!item.invisibility\"\n href=\"javascript:;\"\n thyAction\n [thyActionIcon]=\"item.icon\"\n [thyTooltip]=\"item.name\"\n (mousedown)=\"item.actionHandle()\"\n ></a>\n</ng-container>\n<thy-divider *ngIf=\"!isActiveSelect && isShowSplitLine\" class=\"mx-2\" [thyVertical]=\"true\"></thy-divider>\n<a href=\"javascript:;\" thyAction thyTooltip=\"\u5355\u5143\u683C\u80CC\u666F\" (mousedown)=\"openSelectColor($event)\">\n <thy-icon thyIconName=\"background-tt\" thyIconType=\"twotone\" [thyTwotoneColor]=\"selectedColor\"></thy-icon>\n</a>\n\n<ng-container *ngIf=\"tableStore.isSelectedTable\">\n <thy-divider class=\"mx-2\" [thyVertical]=\"true\"></thy-divider>\n <button class=\"table-options mr-0\" thyButton=\"default\" thySize=\"md\" (mousedown)=\"openTableOptionMenu($event)\">\n <span>\u8868\u683C\u9009\u9879</span>\n <thy-icon thyIconName=\"caret-down\"></thy-icon>\n </button>\n</ng-container>\n\n<thy-divider *ngIf=\"deleteIcon\" class=\"mx-2\" [thyVertical]=\"true\"></thy-divider>\n<a\n *ngIf=\"deleteIcon\"\n href=\"javascript:;\"\n thyAction\n thyType=\"danger\"\n [thyActionIcon]=\"deleteIcon\"\n [thyTooltip]=\"iconName\"\n (mousedown)=\"onDelete($event)\"\n (mouseenter)=\"onEnterDelete($event)\"\n (mouseleave)=\"onLeaveDelete($event)\"\n></a>\n" }]
|
|
148
150
|
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.TheColorSelectService }, { type: i2.ThyPopover }, { type: i2.ThyPopoverRef }]; }, propDecorators: { tableStore: [{
|
|
149
151
|
type: Input
|
|
150
152
|
}], isActiveSelect: [{
|
|
@@ -156,4 +158,4 @@ export var DeleteIcon;
|
|
|
156
158
|
DeleteIcon[DeleteIcon["table-delete-columns"] = 1] = "table-delete-columns";
|
|
157
159
|
DeleteIcon[DeleteIcon["trash"] = 2] = "trash";
|
|
158
160
|
})(DeleteIcon || (DeleteIcon = {}));
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL3Rvb2xiYXIvdGFibGUtdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL3Rvb2xiYXIvdGFibGUtdG9vbGJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFJNUUsT0FBTyxFQUFhLGdCQUFnQixFQUFFLDBCQUEwQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFckksT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7OztBQU1yRSxNQUFNLE9BQU8sd0JBQXdCO0lBZ0RqQyxZQUNZLE1BQWMsRUFDZCxrQkFBeUMsRUFDekMsVUFBc0IsRUFDdEIsVUFBbUQ7UUFIbkQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBdUI7UUFDekMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUF5QztRQXJDL0QsaUJBQVksR0FBaUI7WUFDekI7Z0JBQ0ksR0FBRyxFQUFFLGFBQWE7Z0JBQ2xCLElBQUksRUFBRSxPQUFPO2dCQUNiLFlBQVksRUFBRSxLQUFLO2dCQUNuQixJQUFJLEVBQUUsbUJBQW1CO2dC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cUVBQW1CLENBQUE7SUFDbkIsMkVBQXNCLENBQUE7SUFDdEIsNkNBQU8sQ0FBQTtBQUNYLENBQUMsRUFKVyxVQUFVLEtBQVYsVUFBVSxRQUlyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgTmdab25lLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXIsIFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGFibGVTdG9yZSB9IGZyb20gJy4uLy4uL3RhYmxlLnN0b3JlJztcbmltcG9ydCB7IENvbG9yVHlwZSwgQmFja2dyb3VuZENvbG9ycywgVGFibGVIZWFkZXJCYWNrZ3JvdW5kQ29sb3IsIFNwZWNpYWxCYWNrZ3JvdW5kQ29sb3IgfSBmcm9tICcuLi8uLi8uLi8uLi9jb25zdGFudHMvY29sb3Itc2VsZWN0JztcbmltcG9ydCB7IFRoZUNvbG9yU2VsZWN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2NvbG9yLXNlbGVjdC5zZXJ2aWNlJztcbmltcG9ydCB7IHNwbGl0Q2VsbCB9IGZyb20gJy4uLy4uL3V0aWxzL3NwbGl0LWNlbGwnO1xuaW1wb3J0IHsgc2V0Q2VsbE1lbnVJbnZpc2liaWxpdHkgfSBmcm9tICcuLi8uLi91dGlscy9zZXQtbWVudS1jZWxsLWludmlzaWJpbGl0eSc7XG5pbXBvcnQgeyBNZW51RW50aXR5IH0gZnJvbSAnLi4vLi4vdGFibGUudHlwZXMnO1xuaW1wb3J0IHsgVGFibGVFZGl0b3IgfSBmcm9tICcuLi8uLi90YWJsZS5lZGl0b3InO1xuaW1wb3J0IHsgVGhlVGFibGVPcHRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS1vcHRpb25zLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGhlLXRhYmxlLXRvb2xiYXInLFxuICAgIHRlbXBsYXRlVXJsOiAndGFibGUtdG9vbGJhci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVGhlVGFibGVUb29sYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHNlbGVjdGVkQ29sb3I6IHN0cmluZztcblxuICAgIGRlbGV0ZUljb246IHN0cmluZztcblxuICAgIGljb25OYW1lOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSB0YWJsZVN0b3JlOiBUYWJsZVN0b3JlO1xuXG4gICAgQElucHV0KCkgaXNBY3RpdmVTZWxlY3Q6IGJvb2xlYW47XG5cbiAgICBnZXQgZWRpdG9yKCk6IEVkaXRvciB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYmxlU3RvcmUgJiYgdGhpcy50YWJsZVN0b3JlLmVkaXRvcjtcbiAgICB9XG5cbiAgICBjZWxsTWVudUxpc3Q6IE1lbnVFbnRpdHlbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiAnbWVyZ2UtY2VsbHMnLFxuICAgICAgICAgICAgbmFtZTogJ+WQiOW5tuWNleWFg+agvCcsXG4gICAgICAgICAgICBpbnZpc2liaWxpdHk6IGZhbHNlLFxuICAgICAgICAgICAgaWNvbjogJ3RhYmxlLW1lcmdlLWNlbGxzJyxcbiAgICAgICAgICAgIGFjdGlvbkhhbmRsZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLm1lcmdlQ2VsbCh0aGlzLmVkaXRvcik7XG4gICAgICAgICAgICAgICAgdGhpcy5wb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLmNsZWFyU2VsZWN0ZWRDZWxscygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6ICdzcGxpdC1jZWxscycsXG4gICAgICAgICAgICBuYW1lOiAn5ouG5YiG5Y2V5YWD5qC8JyxcbiAgICAgICAgICAgIGludmlzaWJpbGl0eTogZmFsc2UsXG4gICAgICAgICAgICBpY29uOiAndGFibGUtdW5tZXJnZS1jZWxscycsXG4gICAgICAgICAgICBhY3Rpb25IYW5kbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIHNwbGl0Q2VsbCh0aGlzLmVkaXRvcik7XG4gICAgICAgICAgICAgICAgdGhpcy5wb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLmNsZWFyU2VsZWN0ZWRDZWxscygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXTtcblxuICAgIGdldCBpc1Nob3dTcGxpdExpbmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNlbGxNZW51TGlzdC5maWx0ZXIoaXRlbSA9PiAhaXRlbS5pbnZpc2liaWxpdHkpLmxlbmd0aCA+IDE7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgY29sb3JTZWxlY3RTZXJ2aWNlOiBUaGVDb2xvclNlbGVjdFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdGh5UG9wb3ZlcjogVGh5UG9wb3ZlcixcbiAgICAgICAgcHJpdmF0ZSBwb3BvdmVyUmVmOiBUaHlQb3BvdmVyUmVmPFRoZVRhYmxlVG9vbGJhckNvbXBvbmVudD5cbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5kZWxldGVJY29uID0gRGVsZXRlSWNvblt0aGlzLmdldERlbGV0ZUljb24oKV07XG4gICAgICAgIHRoaXMuZ2V0SWNvbk5hbWUodGhpcy5kZWxldGVJY29uKTtcbiAgICAgICAgc2V0Q2VsbE1lbnVJbnZpc2liaWxpdHkodGhpcy5lZGl0b3IsIHRoaXMuY2VsbE1lbnVMaXN0LCB0aGlzLnRhYmxlU3RvcmUuc2VsZWN0ZWRDZWxscywgdGhpcy5pc0FjdGl2ZVNlbGVjdCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb2xvciA9IHRoaXMudGFibGVTdG9yZS5nZXRTZWxlY3RlZENlbGxCYWNrZ3JvdW5kQ29sb3IoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5jb2xvclNlbGVjdFNlcnZpY2UuY2xvc2VDb2xvclNlbGVjdCgpO1xuICAgIH1cblxuICAgIGdldEljb25OYW1lKGtleTogc3RyaW5nKSB7XG4gICAgICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICAgICAgICBjYXNlICd0cmFzaCc6XG4gICAgICAgICAgICAgICAgdGhpcy5pY29uTmFtZSA9ICfliKDpmaTooajmoLwnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAndGFibGUtZGVsZXRlLWNvbHVtbnMnOlxuICAgICAgICAgICAgICAgIHRoaXMuaWNvbk5hbWUgPSAn5Yig6Zmk5pW05YiXJztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3RhYmxlLWRlbGV0ZS1yb3dzJzpcbiAgICAgICAgICAgICAgICB0aGlzLmljb25OYW1lID0gJ+WIoOmZpOaVtOihjCc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXREZWxldGVJY29uKCkge1xuICAgICAgICBpZiAodGhpcy50YWJsZVN0b3JlLmlzU2VsZWN0ZWRUYWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuIERlbGV0ZUljb24udHJhc2g7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudGFibGVTdG9yZS5zZWxlY3RlZFJvd3NJbmRleC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICByZXR1cm4gRGVsZXRlSWNvblsndGFibGUtZGVsZXRlLXJvd3MnXTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy50YWJsZVN0b3JlLnNlbGVjdGVkQ29sdW1uc0luZGV4Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiBEZWxldGVJY29uWyd0YWJsZS1kZWxldGUtY29sdW1ucyddO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIG9uRGVsZXRlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMudGFibGVTdG9yZS5yZW1vdmVDb2x1bW5PclJvd3MoKTtcbiAgICAgICAgdGhpcy50YWJsZVN0b3JlLmNsZWFyRGFuZ2Vyb3VzQ2VsbHMoKTtcbiAgICAgICAgdGhpcy50YWJsZVN0b3JlLmNsZWFyU2VsZWN0ZWRDZWxscygpO1xuICAgICAgICB0aGlzLnBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBvbkVudGVyRGVsZXRlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHRoaXMudGFibGVTdG9yZS5zZXREYW5nZXJvdXNDZWxscygpO1xuICAgIH1cblxuICAgIG9uTGVhdmVEZWxldGUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgdGhpcy50YWJsZVN0b3JlLmNsZWFyRGFuZ2Vyb3VzQ2VsbHMoKTtcbiAgICB9XG5cbiAgICBvcGVuU2VsZWN0Q29sb3IoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbG9zZXN0KCcudGh5LWljb24tbmF2LWxpbmsnKTtcbiAgICAgICAgY29uc3QgaXNIZWFkZXIgPSBUYWJsZUVkaXRvci5pc0FjdGl2ZUhlYWRlcih0aGlzLmVkaXRvcik7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNvbG9yU2VsZWN0U2VydmljZS50b2dnbGVDb2xvclNlbGVjdChcbiAgICAgICAgICAgICAgICBlbGVtZW50IGFzIEhUTUxFbGVtZW50LFxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb2xvcixcbiAgICAgICAgICAgICAgICBCYWNrZ3JvdW5kQ29sb3JzLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGVyUm93Q29sb3JOdW1iZXJzOiA3LFxuICAgICAgICAgICAgICAgICAgICByb3dPcHRpb25zOiB7IDE6ICcjYmJiJywgMjogJyNiYmInIH0sXG4gICAgICAgICAgICAgICAgICAgIHNwZWNpYWxDb2xvcjogaXNIZWFkZXIgPyBUYWJsZUhlYWRlckJhY2tncm91bmRDb2xvciA6IFNwZWNpYWxCYWNrZ3JvdW5kQ29sb3JcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIChuZXdDb2xvcjogQ29sb3JUeXBlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICgobmV3Q29sb3IgPT09IFRhYmxlSGVhZGVyQmFja2dyb3VuZENvbG9yICYmIGlzSGVhZGVyKSB8fCAobmV3Q29sb3IgPT09IFNwZWNpYWxCYWNrZ3JvdW5kQ29sb3IgJiYgIWlzSGVhZGVyKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLnNldFNlbGVjdGVkQ2VsbHNCYWNrZ3JvdW5kQ29sb3IobnVsbCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuc2V0U2VsZWN0ZWRDZWxsc0JhY2tncm91bmRDb2xvcihuZXdDb2xvcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENvbG9yID0gbmV3Q29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb3BlblRhYmxlT3B0aW9uTWVudShldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMudGh5UG9wb3Zlci5vcGVuKFRoZVRhYmxlT3B0aW9uc0NvbXBvbmVudCwge1xuICAgICAgICAgICAgb3JpZ2luOiBldmVudC5jdXJyZW50VGFyZ2V0IGFzIEhUTUxFbGVtZW50LFxuICAgICAgICAgICAgaW5pdGlhbFN0YXRlOiB7XG4gICAgICAgICAgICAgICAgdGFibGVTdG9yZTogdGhpcy50YWJsZVN0b3JlLFxuICAgICAgICAgICAgICAgIGVkaXRvcjogdGhpcy5lZGl0b3JcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBtaW5XaWR0aDogMCxcbiAgICAgICAgICAgIGluc2lkZUNsb3NhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbUxlZnQnLFxuICAgICAgICAgICAgb3JpZ2luQWN0aXZlQ2xhc3M6ICd0YWJsZS1vcHRpb25zLWFjdGl2ZScsXG4gICAgICAgICAgICBwYW5lbENsYXNzOiAndGFibGUtb3B0aW9ucy1wYW5uZWwnXG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGVudW0gRGVsZXRlSWNvbiB7XG4gICAgJ3RhYmxlLWRlbGV0ZS1yb3dzJyxcbiAgICAndGFibGUtZGVsZXRlLWNvbHVtbnMnLFxuICAgICd0cmFzaCdcbn1cbiIsIjx0aHktaWNvbi1uYXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjZWxsTWVudUxpc3RcIj5cbiAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6O1wiIHRoeUljb25OYXZMaW5rICpuZ0lmPVwiIWl0ZW0uaW52aXNpYmlsaXR5XCIgW3RoeVRvb2x0aXBdPVwiaXRlbS5uYW1lXCIgKG1vdXNlZG93bik9XCJpdGVtLmFjdGlvbkhhbmRsZSgpXCI+XG4gICAgICAgICAgICA8dGh5LWljb24gW3RoeUljb25OYW1lXT1cIml0ZW0uaWNvblwiPjwvdGh5LWljb24+XG4gICAgICAgIDwvYT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmF2LXNwbGl0LWxpbmUgKm5nSWY9XCIhaXNBY3RpdmVTZWxlY3QgJiYgaXNTaG93U3BsaXRMaW5lXCI+PC9uYXYtc3BsaXQtbGluZT5cbiAgICA8YSBocmVmPVwiamF2YXNjcmlwdDo7XCIgdGh5SWNvbk5hdkxpbmsgdGh5VG9vbHRpcD1cIuWNleWFg+agvOiDjOaZr1wiIChtb3VzZWRvd24pPVwib3BlblNlbGVjdENvbG9yKCRldmVudClcIj5cbiAgICAgICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiYmFja2dyb3VuZC10dFwiIHRoeUljb25UeXBlPVwidHdvdG9uZVwiIFt0aHlUd290b25lQ29sb3JdPVwic2VsZWN0ZWRDb2xvclwiPjwvdGh5LWljb24+XG4gICAgPC9hPlxuICAgIDxuYXYtc3BsaXQtbGluZSAqbmdJZj1cInRhYmxlU3RvcmUuaXNTZWxlY3RlZFRhYmxlXCI+PC9uYXYtc3BsaXQtbGluZT5cbiAgICA8YnV0dG9uXG4gICAgICAgIHRoeUJ1dHRvbj1cImRlZmF1bHRcIlxuICAgICAgICAqbmdJZj1cInRhYmxlU3RvcmUuaXNTZWxlY3RlZFRhYmxlXCJcbiAgICAgICAgY2xhc3M9XCJtci0yXCJcbiAgICAgICAgdGh5U2l6ZT1cIm1kXCJcbiAgICAgICAgY2xhc3M9XCJ0YWJsZS1vcHRpb25zXCJcbiAgICAgICAgKG1vdXNlZG93bik9XCJvcGVuVGFibGVPcHRpb25NZW51KCRldmVudClcIlxuICAgID5cbiAgICAgICAgPHNwYW4+6KGo5qC86YCJ6aG5PC9zcGFuPlxuICAgICAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJjYXJldC1kb3duXCI+PC90aHktaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8bmF2LXNwbGl0LWxpbmUgKm5nSWY9XCJkZWxldGVJY29uXCI+PC9uYXYtc3BsaXQtbGluZT5cbiAgICA8YVxuICAgICAgICAqbmdJZj1cImRlbGV0ZUljb25cIlxuICAgICAgICBocmVmPVwiamF2YXNjcmlwdDo7XCJcbiAgICAgICAgdGh5SWNvbk5hdkxpbmtcbiAgICAgICAgW3RoeVRvb2x0aXBdPVwiaWNvbk5hbWVcIlxuICAgICAgICBjbGFzcz1cImRhbmdlclwiXG4gICAgICAgIFt0aHlJY29uTmF2TGlua0ljb25dPVwiZGVsZXRlSWNvblwiXG4gICAgICAgIChtb3VzZWRvd24pPVwib25EZWxldGUoJGV2ZW50KVwiXG4gICAgICAgIChtb3VzZWVudGVyKT1cIm9uRW50ZXJEZWxldGUoJGV2ZW50KVwiXG4gICAgICAgIChtb3VzZWxlYXZlKT1cIm9uTGVhdmVEZWxldGUoJGV2ZW50KVwiXG4gICAgPjwvYT5cbjwvdGh5LWljb24tbmF2PlxuIl19
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL3Rvb2xiYXIvdGFibGUtdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL3Rvb2xiYXIvdGFibGUtdG9vbGJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFJNUUsT0FBTyxFQUFhLGdCQUFnQixFQUFFLDBCQUEwQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFckksT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7OztBQVNyRSxNQUFNLE9BQU8sd0JBQXdCO0lBZ0RqQyxZQUNZLE1BQWMsRUFDZCxrQkFBeUMsRUFDekMsVUFBc0IsRUFDdEIsVUFBbUQ7UUFIbkQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBdUI7UUFDekMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUF5QztRQXJDL0QsaUJBQVksR0FBaUI7WUFDekI7Z0JBQ0ksR0FBRyxFQUFFLGFBQWE7Z0JBQ2xCLElBQUksRUFBRSxPQUFPO2dCQUNiLFlBQVksRUFBRSxLQUFLO2dCQUNuQixJQUFJLEVBQUUsbUJBQW1CO2dC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TixJQUFZLFVBSVg7QUFKRCxXQUFZLFVBQVU7SUFDbEIscUVBQW1CLENBQUE7SUFDbkIsMkVBQXNCLENBQUE7SUFDdEIsNkNBQU8sQ0FBQTtBQUNYLENBQUMsRUFKVyxVQUFVLEtBQVYsVUFBVSxRQUlyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgTmdab25lLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXIsIFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGFibGVTdG9yZSB9IGZyb20gJy4uLy4uL3RhYmxlLnN0b3JlJztcbmltcG9ydCB7IENvbG9yVHlwZSwgQmFja2dyb3VuZENvbG9ycywgVGFibGVIZWFkZXJCYWNrZ3JvdW5kQ29sb3IsIFNwZWNpYWxCYWNrZ3JvdW5kQ29sb3IgfSBmcm9tICcuLi8uLi8uLi8uLi9jb25zdGFudHMvY29sb3Itc2VsZWN0JztcbmltcG9ydCB7IFRoZUNvbG9yU2VsZWN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2NvbG9yLXNlbGVjdC5zZXJ2aWNlJztcbmltcG9ydCB7IHNwbGl0Q2VsbCB9IGZyb20gJy4uLy4uL3V0aWxzL3NwbGl0LWNlbGwnO1xuaW1wb3J0IHsgc2V0Q2VsbE1lbnVJbnZpc2liaWxpdHkgfSBmcm9tICcuLi8uLi91dGlscy9zZXQtbWVudS1jZWxsLWludmlzaWJpbGl0eSc7XG5pbXBvcnQgeyBNZW51RW50aXR5IH0gZnJvbSAnLi4vLi4vdGFibGUudHlwZXMnO1xuaW1wb3J0IHsgVGFibGVFZGl0b3IgfSBmcm9tICcuLi8uLi90YWJsZS5lZGl0b3InO1xuaW1wb3J0IHsgVGhlVGFibGVPcHRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS1vcHRpb25zLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGhlLXRhYmxlLXRvb2xiYXInLFxuICAgIHRlbXBsYXRlVXJsOiAndGFibGUtdG9vbGJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2QtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXInXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBUaGVUYWJsZVRvb2xiYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgc2VsZWN0ZWRDb2xvcjogc3RyaW5nO1xuXG4gICAgZGVsZXRlSWNvbjogc3RyaW5nO1xuXG4gICAgaWNvbk5hbWU6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHRhYmxlU3RvcmU6IFRhYmxlU3RvcmU7XG5cbiAgICBASW5wdXQoKSBpc0FjdGl2ZVNlbGVjdDogYm9vbGVhbjtcblxuICAgIGdldCBlZGl0b3IoKTogRWRpdG9yIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFibGVTdG9yZSAmJiB0aGlzLnRhYmxlU3RvcmUuZWRpdG9yO1xuICAgIH1cblxuICAgIGNlbGxNZW51TGlzdDogTWVudUVudGl0eVtdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6ICdtZXJnZS1jZWxscycsXG4gICAgICAgICAgICBuYW1lOiAn5ZCI5bm25Y2V5YWD5qC8JyxcbiAgICAgICAgICAgIGludmlzaWJpbGl0eTogZmFsc2UsXG4gICAgICAgICAgICBpY29uOiAndGFibGUtbWVyZ2UtY2VsbHMnLFxuICAgICAgICAgICAgYWN0aW9uSGFuZGxlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUubWVyZ2VDZWxsKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuY2xlYXJTZWxlY3RlZENlbGxzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogJ3NwbGl0LWNlbGxzJyxcbiAgICAgICAgICAgIG5hbWU6ICfmi4bliIbljZXlhYPmoLwnLFxuICAgICAgICAgICAgaW52aXNpYmlsaXR5OiBmYWxzZSxcbiAgICAgICAgICAgIGljb246ICd0YWJsZS11bm1lcmdlLWNlbGxzJyxcbiAgICAgICAgICAgIGFjdGlvbkhhbmRsZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgc3BsaXRDZWxsKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuY2xlYXJTZWxlY3RlZENlbGxzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBdO1xuXG4gICAgZ2V0IGlzU2hvd1NwbGl0TGluZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2VsbE1lbnVMaXN0LmZpbHRlcihpdGVtID0+ICFpdGVtLmludmlzaWJpbGl0eSkubGVuZ3RoID4gMTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSBjb2xvclNlbGVjdFNlcnZpY2U6IFRoZUNvbG9yU2VsZWN0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB0aHlQb3BvdmVyOiBUaHlQb3BvdmVyLFxuICAgICAgICBwcml2YXRlIHBvcG92ZXJSZWY6IFRoeVBvcG92ZXJSZWY8VGhlVGFibGVUb29sYmFyQ29tcG9uZW50PlxuICAgICkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmRlbGV0ZUljb24gPSBEZWxldGVJY29uW3RoaXMuZ2V0RGVsZXRlSWNvbigpXTtcbiAgICAgICAgdGhpcy5nZXRJY29uTmFtZSh0aGlzLmRlbGV0ZUljb24pO1xuICAgICAgICBzZXRDZWxsTWVudUludmlzaWJpbGl0eSh0aGlzLmVkaXRvciwgdGhpcy5jZWxsTWVudUxpc3QsIHRoaXMudGFibGVTdG9yZS5zZWxlY3RlZENlbGxzLCB0aGlzLmlzQWN0aXZlU2VsZWN0KTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbG9yID0gdGhpcy50YWJsZVN0b3JlLmdldFNlbGVjdGVkQ2VsbEJhY2tncm91bmRDb2xvcigpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmNvbG9yU2VsZWN0U2VydmljZS5jbG9zZUNvbG9yU2VsZWN0KCk7XG4gICAgfVxuXG4gICAgZ2V0SWNvbk5hbWUoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgICAgIGNhc2UgJ3RyYXNoJzpcbiAgICAgICAgICAgICAgICB0aGlzLmljb25OYW1lID0gJ+WIoOmZpOihqOagvCc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICd0YWJsZS1kZWxldGUtY29sdW1ucyc6XG4gICAgICAgICAgICAgICAgdGhpcy5pY29uTmFtZSA9ICfliKDpmaTmlbTliJcnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAndGFibGUtZGVsZXRlLXJvd3MnOlxuICAgICAgICAgICAgICAgIHRoaXMuaWNvbk5hbWUgPSAn5Yig6Zmk5pW06KGMJztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldERlbGV0ZUljb24oKSB7XG4gICAgICAgIGlmICh0aGlzLnRhYmxlU3RvcmUuaXNTZWxlY3RlZFRhYmxlKSB7XG4gICAgICAgICAgICByZXR1cm4gRGVsZXRlSWNvbi50cmFzaDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy50YWJsZVN0b3JlLnNlbGVjdGVkUm93c0luZGV4Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiBEZWxldGVJY29uWyd0YWJsZS1kZWxldGUtcm93cyddO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnRhYmxlU3RvcmUuc2VsZWN0ZWRDb2x1bW5zSW5kZXgubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIERlbGV0ZUljb25bJ3RhYmxlLWRlbGV0ZS1jb2x1bW5zJ107XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgb25EZWxldGUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy50YWJsZVN0b3JlLnJlbW92ZUNvbHVtbk9yUm93cygpO1xuICAgICAgICB0aGlzLnRhYmxlU3RvcmUuY2xlYXJEYW5nZXJvdXNDZWxscygpO1xuICAgICAgICB0aGlzLnRhYmxlU3RvcmUuY2xlYXJTZWxlY3RlZENlbGxzKCk7XG4gICAgICAgIHRoaXMucG9wb3ZlclJlZi5jbG9zZSgpO1xuICAgIH1cblxuICAgIG9uRW50ZXJEZWxldGUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgdGhpcy50YWJsZVN0b3JlLnNldERhbmdlcm91c0NlbGxzKCk7XG4gICAgfVxuXG4gICAgb25MZWF2ZURlbGV0ZShldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICB0aGlzLnRhYmxlU3RvcmUuY2xlYXJEYW5nZXJvdXNDZWxscygpO1xuICAgIH1cblxuICAgIG9wZW5TZWxlY3RDb2xvcihldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsb3Nlc3QoJy50aHktYWN0aW9uJyk7XG4gICAgICAgIGNvbnN0IGlzSGVhZGVyID0gVGFibGVFZGl0b3IuaXNBY3RpdmVIZWFkZXIodGhpcy5lZGl0b3IpO1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jb2xvclNlbGVjdFNlcnZpY2UudG9nZ2xlQ29sb3JTZWxlY3QoXG4gICAgICAgICAgICAgICAgZWxlbWVudCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29sb3IsXG4gICAgICAgICAgICAgICAgQmFja2dyb3VuZENvbG9ycyxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBlclJvd0NvbG9yTnVtYmVyczogNyxcbiAgICAgICAgICAgICAgICAgICAgcm93T3B0aW9uczogeyAxOiAnI2JiYicsIDI6ICcjYmJiJyB9LFxuICAgICAgICAgICAgICAgICAgICBzcGVjaWFsQ29sb3I6IGlzSGVhZGVyID8gVGFibGVIZWFkZXJCYWNrZ3JvdW5kQ29sb3IgOiBTcGVjaWFsQmFja2dyb3VuZENvbG9yXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAobmV3Q29sb3I6IENvbG9yVHlwZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoKG5ld0NvbG9yID09PSBUYWJsZUhlYWRlckJhY2tncm91bmRDb2xvciAmJiBpc0hlYWRlcikgfHwgKG5ld0NvbG9yID09PSBTcGVjaWFsQmFja2dyb3VuZENvbG9yICYmICFpc0hlYWRlcikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGVTdG9yZS5zZXRTZWxlY3RlZENlbGxzQmFja2dyb3VuZENvbG9yKG51bGwpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLnNldFNlbGVjdGVkQ2VsbHNCYWNrZ3JvdW5kQ29sb3IobmV3Q29sb3IpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb2xvciA9IG5ld0NvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9wZW5UYWJsZU9wdGlvbk1lbnUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLnRoeVBvcG92ZXIub3BlbihUaGVUYWJsZU9wdGlvbnNDb21wb25lbnQsIHtcbiAgICAgICAgICAgIG9yaWdpbjogZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgICAgIHRhYmxlU3RvcmU6IHRoaXMudGFibGVTdG9yZSxcbiAgICAgICAgICAgICAgICBlZGl0b3I6IHRoaXMuZWRpdG9yXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbWluV2lkdGg6IDAsXG4gICAgICAgICAgICBpbnNpZGVDbG9zYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b21MZWZ0JyxcbiAgICAgICAgICAgIG9yaWdpbkFjdGl2ZUNsYXNzOiAndGFibGUtb3B0aW9ucy1hY3RpdmUnLFxuICAgICAgICAgICAgcGFuZWxDbGFzczogJ3RhYmxlLW9wdGlvbnMtcGFubmVsJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cbmV4cG9ydCBlbnVtIERlbGV0ZUljb24ge1xuICAgICd0YWJsZS1kZWxldGUtcm93cycsXG4gICAgJ3RhYmxlLWRlbGV0ZS1jb2x1bW5zJyxcbiAgICAndHJhc2gnXG59XG4iLCI8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNlbGxNZW51TGlzdFwiPlxuICAgIDxhXG4gICAgICAgICpuZ0lmPVwiIWl0ZW0uaW52aXNpYmlsaXR5XCJcbiAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6O1wiXG4gICAgICAgIHRoeUFjdGlvblxuICAgICAgICBbdGh5QWN0aW9uSWNvbl09XCJpdGVtLmljb25cIlxuICAgICAgICBbdGh5VG9vbHRpcF09XCJpdGVtLm5hbWVcIlxuICAgICAgICAobW91c2Vkb3duKT1cIml0ZW0uYWN0aW9uSGFuZGxlKClcIlxuICAgID48L2E+XG48L25nLWNvbnRhaW5lcj5cbjx0aHktZGl2aWRlciAqbmdJZj1cIiFpc0FjdGl2ZVNlbGVjdCAmJiBpc1Nob3dTcGxpdExpbmVcIiBjbGFzcz1cIm14LTJcIiBbdGh5VmVydGljYWxdPVwidHJ1ZVwiPjwvdGh5LWRpdmlkZXI+XG48YSBocmVmPVwiamF2YXNjcmlwdDo7XCIgdGh5QWN0aW9uIHRoeVRvb2x0aXA9XCLljZXlhYPmoLzog4zmma9cIiAobW91c2Vkb3duKT1cIm9wZW5TZWxlY3RDb2xvcigkZXZlbnQpXCI+XG4gICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiYmFja2dyb3VuZC10dFwiIHRoeUljb25UeXBlPVwidHdvdG9uZVwiIFt0aHlUd290b25lQ29sb3JdPVwic2VsZWN0ZWRDb2xvclwiPjwvdGh5LWljb24+XG48L2E+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJ0YWJsZVN0b3JlLmlzU2VsZWN0ZWRUYWJsZVwiPlxuICAgIDx0aHktZGl2aWRlciBjbGFzcz1cIm14LTJcIiBbdGh5VmVydGljYWxdPVwidHJ1ZVwiPjwvdGh5LWRpdmlkZXI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInRhYmxlLW9wdGlvbnMgbXItMFwiIHRoeUJ1dHRvbj1cImRlZmF1bHRcIiB0aHlTaXplPVwibWRcIiAobW91c2Vkb3duKT1cIm9wZW5UYWJsZU9wdGlvbk1lbnUoJGV2ZW50KVwiPlxuICAgICAgICA8c3Bhbj7ooajmoLzpgInpobk8L3NwYW4+XG4gICAgICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImNhcmV0LWRvd25cIj48L3RoeS1pY29uPlxuICAgIDwvYnV0dG9uPlxuPC9uZy1jb250YWluZXI+XG5cbjx0aHktZGl2aWRlciAqbmdJZj1cImRlbGV0ZUljb25cIiBjbGFzcz1cIm14LTJcIiBbdGh5VmVydGljYWxdPVwidHJ1ZVwiPjwvdGh5LWRpdmlkZXI+XG48YVxuICAgICpuZ0lmPVwiZGVsZXRlSWNvblwiXG4gICAgaHJlZj1cImphdmFzY3JpcHQ6O1wiXG4gICAgdGh5QWN0aW9uXG4gICAgdGh5VHlwZT1cImRhbmdlclwiXG4gICAgW3RoeUFjdGlvbkljb25dPVwiZGVsZXRlSWNvblwiXG4gICAgW3RoeVRvb2x0aXBdPVwiaWNvbk5hbWVcIlxuICAgIChtb3VzZWRvd24pPVwib25EZWxldGUoJGV2ZW50KVwiXG4gICAgKG1vdXNlZW50ZXIpPVwib25FbnRlckRlbGV0ZSgkZXZlbnQpXCJcbiAgICAobW91c2VsZWF2ZSk9XCJvbkxlYXZlRGVsZXRlKCRldmVudClcIlxuPjwvYT5cbiJdfQ==
|
|
@@ -95,9 +95,9 @@ export class TableService {
|
|
|
95
95
|
});
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
|
-
TableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
99
|
-
TableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.
|
|
100
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
98
|
+
TableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TableService, deps: [{ token: i1.ThyPopover }, { token: i2.Overlay }, { token: i3.TableStore }, { token: i4.TheTableContextMenuService }, { token: i0.NgZone }, { token: i5.TheContextService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
99
|
+
TableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TableService });
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TableService, decorators: [{
|
|
101
101
|
type: Injectable
|
|
102
102
|
}], ctorParameters: function () { return [{ type: i1.ThyPopover }, { type: i2.Overlay }, { type: i3.TableStore }, { type: i4.TheTableContextMenuService }, { type: i0.NgZone }, { type: i5.TheContextService }]; } });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3RhYmxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUt4RixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQUd0RCxNQUFNLE9BQU8sWUFBWTtJQWlCckIsWUFDWSxVQUFzQixFQUN0QixPQUFnQixFQUNoQixVQUFzQixFQUN0QiwwQkFBc0QsRUFDdEQsTUFBYyxFQUNkLGlCQUFvQztRQUxwQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBQ3RELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBdEJoRCxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFekIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFFdkIsY0FBUyxHQUFpQixTQUFTLENBQUM7UUFFcEMsV0FBTSxHQUFHLENBQUMsQ0FBQztJQWVSLENBQUM7SUFYSixJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQztJQUNoRSxDQUFDO0lBV0QsV0FBVyxD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S0FBSyxDQUMzQixTQUFTLENBQWEsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDNUYsU0FBUyxDQUFnQixRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUM5QyxNQUFNLENBQUMsQ0FBQyxDQUFnQixFQUFFLEVBQUU7WUFDeEIsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FDTCxDQUNKO2FBQ0ksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNiLFNBQVMsQ0FBQyxDQUFDLENBQWEsRUFBRSxFQUFFO1lBQ3pCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDM0UsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRTtvQkFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO2lCQUMvQztnQkFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDcEIsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDbkM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7O3lHQXRHUSxZQUFZOzZHQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5UGxhY2VtZW50IH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXIsIFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgVGhlVGFibGVUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXIvdGFibGUtdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRhYmxlU3RvcmUgfSBmcm9tICcuL3RhYmxlLnN0b3JlJztcbmltcG9ydCB7IFRoZVRhYmxlQ29udGV4dE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGFibGUtY29udGV4dG1lbnUuc2VydmljZSc7XG5pbXBvcnQgeyBUaGVDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBpc1ZpcnR1YWxLZXkgfSBmcm9tICcuL3V0aWxzL2lzLXZpcnR1YWwta2V5JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRhYmxlU2VydmljZSB7XG4gICAgYmFja2Ryb3BDbG9zYWJsZSA9IGZhbHNlO1xuXG4gICAgaGFzQmFja2Ryb3AgPSBmYWxzZTtcblxuICAgIGluc2lkZUNsb3NhYmxlID0gZmFsc2U7XG5cbiAgICBwbGFjZW1lbnQ6IFRoeVBsYWNlbWVudCA9ICd0b3BMZWZ0JztcblxuICAgIG9mZnNldCA9IDg7XG5cbiAgICB0b29sYmFyUmVmOiBUaHlQb3BvdmVyUmVmPGFueT47XG5cbiAgICBnZXQgaXNPcGVuZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvb2xiYXJSZWYgJiYgdGhpcy50b29sYmFyUmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRoeVBvcG92ZXI6IFRoeVBvcG92ZXIsXG4gICAgICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgcHJpdmF0ZSB0YWJsZVN0b3JlOiBUYWJsZVN0b3JlLFxuICAgICAgICBwcml2YXRlIHRoZVRhYmxlQ29udGV4dE1lbnVTZXJ2aWNlOiBUaGVUYWJsZUNvbnRleHRNZW51U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSB0aGVDb250ZXh0U2VydmljZTogVGhlQ29udGV4dFNlcnZpY2VcbiAgICApIHt9XG5cbiAgICBvcGVuVG9vbGJhcihvcmlnaW46IEhUTUxFbGVtZW50LCBpc0FjdGl2ZVNlbGVjdD86IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy50aGVUYWJsZUNvbnRleHRNZW51U2VydmljZS5jbG9zZUNvbnRleHRNZW51KCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuZWQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRvb2xiYXJSZWYuY29udGFpbmVySW5zdGFuY2UuY29uZmlnLm9yaWdpbiA9PT0gb3JpZ2luKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy50b29sYmFyUmVmLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50b29sYmFyUmVmID0gdGhpcy50aHlQb3BvdmVyLm9wZW4oVGhlVGFibGVUb29sYmFyQ29tcG9uZW50LCB7XG4gICAgICAgICAgICBpbml0aWFsU3RhdGU6IHtcbiAgICAgICAgICAgICAgICB0YWJsZVN0b3JlOiB0aGlzLnRhYmxlU3RvcmUsXG4gICAgICAgICAgICAgICAgaXNBY3RpdmVTZWxlY3RcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLmdldE9wdGlvbnMoKS52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgb3JpZ2luOiB0aGlzLmdldE9yaWdpbihvcmlnaW4pLFxuICAgICAgICAgICAgYmFja2Ryb3BDbG9zYWJsZTogdGhpcy5iYWNrZHJvcENsb3NhYmxlLFxuICAgICAgICAgICAgcGxhY2VtZW50OiB0aGlzLnBsYWNlbWVudCxcbiAgICAgICAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogdGhpcy5oYXNCYWNrZHJvcCxcbiAgICAgICAgICAgIGluc2lkZUNsb3NhYmxlOiB0aGlzLmluc2lkZUNsb3NhYmxlLFxuICAgICAgICAgICAgbWluV2lkdGg6IDAsXG4gICAgICAgICAgICBwYW5lbENsYXNzOiAndGhlLXRlbXAtdGFibGUtdG9vbGJhci13cmFwJyxcbiAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCksXG4gICAgICAgICAgICBtYW51YWxDbG9zdXJlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9saXN0ZW5DZWxsQ2xlYXJFdmVudCgpO1xuICAgIH1cblxuICAgIGdldE9yaWdpbihvcmlnaW46IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQge1xuICAgICAgICBpZiAob3JpZ2luIGluc3RhbmNlb2YgSFRNTFRhYmxlQ2VsbEVsZW1lbnQgJiYgb3JpZ2luLnRhZ05hbWUgIT09ICdUSCcpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dzSW5kZXgsIHNlbGVjdGVkQ29sdW1uc0luZGV4LCBmb2N1c0NlbGxQYXRoLCBpc1NlbGVjdGVkVGFibGUsIGZvY3VzQ2VsbEVsZW1lbnQgfSA9IHRoaXMudGFibGVTdG9yZTtcbiAgICAgICAgICAgIGNvbnN0IFtyb3csIGNvbF0gPSBmb2N1c0NlbGxQYXRoLnNsaWNlKC0yKTtcbiAgICAgICAgICAgIGNvbnN0IHRhYmxlRWxlbWVudCA9IGZvY3VzQ2VsbEVsZW1lbnQuY2xvc2VzdCgnLnRoZS10ZW1wLXRhYmxlLWNvbnRhaW5lcicpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgaWYgKGlzU2VsZWN0ZWRUYWJsZSAmJiBjb2wgPT09IDAgJiYgcm93ID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRhYmxlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcudGhlLXRlbXAtdGFibGUtY29ybmVyLWNvbnRyb2xzJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRDb2x1bW5zSW5kZXgubGVuZ3RoID4gMCAmJiByb3cgPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGFibGVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy50aGUtdGVtcC10YWJsZS1jb2wtY29udHJvbHMnKVtjb2xdIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNlbGVjdGVkUm93c0luZGV4Lmxlbmd0aCA+IDAgJiYgY29sID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRhYmxlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcudGhlLXRlbXAtdGFibGUtcm93LWNvbnRyb2xzLWJ1dHRvbi13cmFwJylbcm93XSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb3JpZ2luO1xuICAgIH1cblxuICAgIGNsb3NlVG9vbGJhcigpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuZWQpIHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50b29sYmFyUmVmLmNsb3NlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRvb2xiYXJSZWYuYWZ0ZXJDbG9zZWQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIF9saXN0ZW5DZWxsQ2xlYXJFdmVudCgpIHtcbiAgICAgICAgY29uc3Qgb25Nb3VzZU9ic2VydmFibGUgPSBtZXJnZShcbiAgICAgICAgICAgIGZyb21FdmVudDxNb3VzZUV2ZW50Pihkb2N1bWVudCwgJ21vdXNlZG93bicpLnBpcGUoZmlsdGVyKChlOiBNb3VzZUV2ZW50KSA9PiBlLmJ1dHRvbiAhPT0gMikpLFxuICAgICAgICAgICAgZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KGRvY3VtZW50LCAna2V5ZG93bicpLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKChlOiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAhaXNWaXJ0dWFsS2V5KGUpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChlOiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudGFibGVTdG9yZS5zZWxlY3RlZENlbGxzICYmIHRoaXMudGFibGVTdG9yZS5zZWxlY3RlZENlbGxzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGUudHlwZSA9PT0gJ2tleWRvd24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuY2xlYXJTZWxlY3RlZENlbGxzQ29udGVudCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGVTdG9yZS5jbGVhclNlbGVjdGVkQ2VsbHMoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZVRvb2xiYXIoKTtcbiAgICAgICAgICAgICAgICAgICAgb25Nb3VzZU9ic2VydmFibGUudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3RhYmxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUt4RixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQUd0RCxNQUFNLE9BQU8sWUFBWTtJQWlCckIsWUFDWSxVQUFzQixFQUN0QixPQUFnQixFQUNoQixVQUFzQixFQUN0QiwwQkFBc0QsRUFDdEQsTUFBYyxFQUNkLGlCQUFvQztRQUxwQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBQ3RELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBdEJoRCxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFekIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFFdkIsY0FBUyxHQUFpQixTQUFTLENBQUM7UUFFcEMsV0FBTSxHQUFHLENBQUMsQ0FBQztJQWVSLENBQUM7SUFYSixJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQztJQUNoRSxDQUFDO0lBV0QsV0FBVyxD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S0FBSyxDQUMzQixTQUFTLENBQWEsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDNUYsU0FBUyxDQUFnQixRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUM5QyxNQUFNLENBQUMsQ0FBQyxDQUFnQixFQUFFLEVBQUU7WUFDeEIsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FDTCxDQUNKO2FBQ0ksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNiLFNBQVMsQ0FBQyxDQUFDLENBQWEsRUFBRSxFQUFFO1lBQ3pCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDM0UsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRTtvQkFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO2lCQUMvQztnQkFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDcEIsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDbkM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7OzBHQXRHUSxZQUFZOzhHQUFaLFlBQVk7NEZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5UGxhY2VtZW50IH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXIsIFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgVGhlVGFibGVUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXIvdGFibGUtdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRhYmxlU3RvcmUgfSBmcm9tICcuL3RhYmxlLnN0b3JlJztcbmltcG9ydCB7IFRoZVRhYmxlQ29udGV4dE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGFibGUtY29udGV4dG1lbnUuc2VydmljZSc7XG5pbXBvcnQgeyBUaGVDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBpc1ZpcnR1YWxLZXkgfSBmcm9tICcuL3V0aWxzL2lzLXZpcnR1YWwta2V5JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRhYmxlU2VydmljZSB7XG4gICAgYmFja2Ryb3BDbG9zYWJsZSA9IGZhbHNlO1xuXG4gICAgaGFzQmFja2Ryb3AgPSBmYWxzZTtcblxuICAgIGluc2lkZUNsb3NhYmxlID0gZmFsc2U7XG5cbiAgICBwbGFjZW1lbnQ6IFRoeVBsYWNlbWVudCA9ICd0b3BMZWZ0JztcblxuICAgIG9mZnNldCA9IDg7XG5cbiAgICB0b29sYmFyUmVmOiBUaHlQb3BvdmVyUmVmPGFueT47XG5cbiAgICBnZXQgaXNPcGVuZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvb2xiYXJSZWYgJiYgdGhpcy50b29sYmFyUmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRoeVBvcG92ZXI6IFRoeVBvcG92ZXIsXG4gICAgICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgcHJpdmF0ZSB0YWJsZVN0b3JlOiBUYWJsZVN0b3JlLFxuICAgICAgICBwcml2YXRlIHRoZVRhYmxlQ29udGV4dE1lbnVTZXJ2aWNlOiBUaGVUYWJsZUNvbnRleHRNZW51U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSB0aGVDb250ZXh0U2VydmljZTogVGhlQ29udGV4dFNlcnZpY2VcbiAgICApIHt9XG5cbiAgICBvcGVuVG9vbGJhcihvcmlnaW46IEhUTUxFbGVtZW50LCBpc0FjdGl2ZVNlbGVjdD86IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy50aGVUYWJsZUNvbnRleHRNZW51U2VydmljZS5jbG9zZUNvbnRleHRNZW51KCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuZWQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRvb2xiYXJSZWYuY29udGFpbmVySW5zdGFuY2UuY29uZmlnLm9yaWdpbiA9PT0gb3JpZ2luKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy50b29sYmFyUmVmLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50b29sYmFyUmVmID0gdGhpcy50aHlQb3BvdmVyLm9wZW4oVGhlVGFibGVUb29sYmFyQ29tcG9uZW50LCB7XG4gICAgICAgICAgICBpbml0aWFsU3RhdGU6IHtcbiAgICAgICAgICAgICAgICB0YWJsZVN0b3JlOiB0aGlzLnRhYmxlU3RvcmUsXG4gICAgICAgICAgICAgICAgaXNBY3RpdmVTZWxlY3RcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLmdldE9wdGlvbnMoKS52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgb3JpZ2luOiB0aGlzLmdldE9yaWdpbihvcmlnaW4pLFxuICAgICAgICAgICAgYmFja2Ryb3BDbG9zYWJsZTogdGhpcy5iYWNrZHJvcENsb3NhYmxlLFxuICAgICAgICAgICAgcGxhY2VtZW50OiB0aGlzLnBsYWNlbWVudCxcbiAgICAgICAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogdGhpcy5oYXNCYWNrZHJvcCxcbiAgICAgICAgICAgIGluc2lkZUNsb3NhYmxlOiB0aGlzLmluc2lkZUNsb3NhYmxlLFxuICAgICAgICAgICAgbWluV2lkdGg6IDAsXG4gICAgICAgICAgICBwYW5lbENsYXNzOiAndGhlLXRlbXAtdGFibGUtdG9vbGJhci13cmFwJyxcbiAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCksXG4gICAgICAgICAgICBtYW51YWxDbG9zdXJlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9saXN0ZW5DZWxsQ2xlYXJFdmVudCgpO1xuICAgIH1cblxuICAgIGdldE9yaWdpbihvcmlnaW46IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQge1xuICAgICAgICBpZiAob3JpZ2luIGluc3RhbmNlb2YgSFRNTFRhYmxlQ2VsbEVsZW1lbnQgJiYgb3JpZ2luLnRhZ05hbWUgIT09ICdUSCcpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dzSW5kZXgsIHNlbGVjdGVkQ29sdW1uc0luZGV4LCBmb2N1c0NlbGxQYXRoLCBpc1NlbGVjdGVkVGFibGUsIGZvY3VzQ2VsbEVsZW1lbnQgfSA9IHRoaXMudGFibGVTdG9yZTtcbiAgICAgICAgICAgIGNvbnN0IFtyb3csIGNvbF0gPSBmb2N1c0NlbGxQYXRoLnNsaWNlKC0yKTtcbiAgICAgICAgICAgIGNvbnN0IHRhYmxlRWxlbWVudCA9IGZvY3VzQ2VsbEVsZW1lbnQuY2xvc2VzdCgnLnRoZS10ZW1wLXRhYmxlLWNvbnRhaW5lcicpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgaWYgKGlzU2VsZWN0ZWRUYWJsZSAmJiBjb2wgPT09IDAgJiYgcm93ID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRhYmxlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcudGhlLXRlbXAtdGFibGUtY29ybmVyLWNvbnRyb2xzJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRDb2x1bW5zSW5kZXgubGVuZ3RoID4gMCAmJiByb3cgPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGFibGVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy50aGUtdGVtcC10YWJsZS1jb2wtY29udHJvbHMnKVtjb2xdIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNlbGVjdGVkUm93c0luZGV4Lmxlbmd0aCA+IDAgJiYgY29sID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRhYmxlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcudGhlLXRlbXAtdGFibGUtcm93LWNvbnRyb2xzLWJ1dHRvbi13cmFwJylbcm93XSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb3JpZ2luO1xuICAgIH1cblxuICAgIGNsb3NlVG9vbGJhcigpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuZWQpIHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50b29sYmFyUmVmLmNsb3NlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRvb2xiYXJSZWYuYWZ0ZXJDbG9zZWQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIF9saXN0ZW5DZWxsQ2xlYXJFdmVudCgpIHtcbiAgICAgICAgY29uc3Qgb25Nb3VzZU9ic2VydmFibGUgPSBtZXJnZShcbiAgICAgICAgICAgIGZyb21FdmVudDxNb3VzZUV2ZW50Pihkb2N1bWVudCwgJ21vdXNlZG93bicpLnBpcGUoZmlsdGVyKChlOiBNb3VzZUV2ZW50KSA9PiBlLmJ1dHRvbiAhPT0gMikpLFxuICAgICAgICAgICAgZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KGRvY3VtZW50LCAna2V5ZG93bicpLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKChlOiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAhaXNWaXJ0dWFsS2V5KGUpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChlOiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudGFibGVTdG9yZS5zZWxlY3RlZENlbGxzICYmIHRoaXMudGFibGVTdG9yZS5zZWxlY3RlZENlbGxzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGUudHlwZSA9PT0gJ2tleWRvd24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuY2xlYXJTZWxlY3RlZENlbGxzQ29udGVudCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGVTdG9yZS5jbGVhclNlbGVjdGVkQ2VsbHMoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZVRvb2xiYXIoKTtcbiAgICAgICAgICAgICAgICAgICAgb25Nb3VzZU9ic2VydmFibGUudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -476,9 +476,9 @@ export class TableStore {
|
|
|
476
476
|
}
|
|
477
477
|
}
|
|
478
478
|
}
|
|
479
|
-
TableStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
480
|
-
TableStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.
|
|
481
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
479
|
+
TableStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TableStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
480
|
+
TableStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TableStore });
|
|
481
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TableStore, decorators: [{
|
|
482
482
|
type: Injectable
|
|
483
483
|
}], ctorParameters: function () { return []; } });
|
|
484
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS90YWJsZS5zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQWMsZUFBZSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFL0MsT0FBTyxFQUFnQixZQUFZLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBRTVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRzdDLE1BQU0sT0FBTyxVQUFVO0lBb0NuQjtRQW5DUSxtQkFBYyxHQUFvQyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxRSxvQkFBZSxHQUFvQyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzRSx1QkFBa0IsR0FBb0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNwRCxpQkFBWSxHQUFvQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRXRELHlCQUFvQixHQUFhLEVBQUUsQ0FBQztR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LENBQUM7O3VHQXZpQlEsVUFBVTsyR0FBVixVQUFVOzJGQUFWLFVBQVU7a0JBRHRCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBza2lwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVHJhbnNmb3JtcywgTm9kZSwgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQW5ndWxhckVkaXRvciB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgVGFibGVQb3NpdGlvbiB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgZ3JvdXBCeSwgdW5pcSwgbWFwIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9kYXNoJztcbmltcG9ydCB7IG1lcmdlQ2VsbCB9IGZyb20gJy4vdXRpbHMvbWVyZ2UtY2VsbCc7XG5pbXBvcnQgeyBDb2xvclR5cGUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29sb3Itc2VsZWN0JztcbmltcG9ydCB7IFNlbGVjdGVkQ2VsbCwgVGFibGVPcHRpb25zLCBUaGVUYWJsZU9wdGlvbnMgfSBmcm9tICcuL3RhYmxlLnR5cGVzJztcbmltcG9ydCB7IFRhYmxlQ2VsbEVsZW1lbnQsIFRhYmxlRWxlbWVudCB9IGZyb20gJy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBUYWJsZUVkaXRvciB9IGZyb20gJy4vdGFibGUuZWRpdG9yJztcbmltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGFibGVTdG9yZSB7XG4gICAgcHJpdmF0ZSBzZWxlY3RlZENlbGxzJDogQmVoYXZpb3JTdWJqZWN0PFNlbGVjdGVkQ2VsbFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xuICAgIHByaXZhdGUgZGFuZ2Vyb3VzQ2VsbHMkOiBCZWhhdmlvclN1YmplY3Q8U2VsZWN0ZWRDZWxsW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChbXSk7XG4gICAgcHJpdmF0ZSBjZWxsc0NoYW5nZU9iamVjdCQ6IFN1YmplY3Q8b2JqZWN0PiA9IG5ldyBTdWJqZWN0KCk7XG4gICAgcHJpdmF0ZSB0YWJsZUNoYW5nZSQ6IFN1YmplY3Q8b2JqZWN0PiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBzZWxlY3RlZENvbHVtbnNJbmRleDogbnVtYmVyW10gPSBbXTtcbiAgICBzZWxlY3RlZFJvd3NJbmRleDogbnVtYmVyW10gPSBbXTtcblxuICAgIGRhbmdlcm91c0NvbHVtbnNJbmRleDogbnVtYmVyW10gPSBbXTtcbiAgICBkYW5nZXJvdXNSb3dzSW5kZXg6IG51bWJlcltdID0gW107XG5cbiAgICBpc1NlbGVjdGVkVGFibGU6IGJvb2xlYW47XG5cbiAgICBlZGl0b3I6IEVkaXRvcjtcblxuICAgIHB1YmxpYyBhbmNob3JDZWxsUGF0aDogbnVtYmVyW107XG4gICAgcHVibGljIGZvY3VzQ2VsbFBhdGg6IG51bWJlcltdO1xuICAgIHB1YmxpYyBwcmVGb2N1c0NlbGxQYXRoOiBudW1iZXJbXTtcblxuICAgIHB1YmxpYyBmb2N1c0NlbGxFbGVtZW50OiBIVE1MVGFibGVDZWxsRWxlbWVudDtcblxuICAgIHB1YmxpYyBpc1ByZXBhcmVTZWxlY3RpbmcgPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNDZWxsU2VsZWN0aW5nID0gZmFsc2U7XG4gICAgcHVibGljIGlzUmlnaHRDbGlja2luZyA9IGZhbHNlO1xuXG4gICAgcHVibGljIG1heENvbDogbnVtYmVyO1xuXG4gICAgZ2V0IHNlbGVjdGVkQ2VsbHMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkQ2VsbHMkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgZ2V0IGRhbmdlcm91c0NlbGxzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYW5nZXJvdXNDZWxscyQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBnZXRUYWJsZUVudHJ5KGVkaXRvcjogRWRpdG9yKSB7XG4gICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3I7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIGFuY2hvcjogeyBwYXRoIH1cbiAgICAgICAgfSA9IHNlbGVjdGlvbjtcbiAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMoKTtcbiAgICAgICAgcmV0dXJuIFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIGVkaXRvciwgcGF0aCkudGFibGVFbnRyeTtcbiAgICB9XG5cbiAgICBnZXRUYWJsZVBhdGgoZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgY29uc3QgdGFibGVFbnRyeSA9IHRoaXMuZ2V0VGFibGVFbnRyeShlZGl0b3IpO1xuICAgICAgICByZXR1cm4gdGFibGVFbnRyeVsxXTtcbiAgICB9XG5cbiAgICBnZXRUYWJsZVBvc2l0aW9uKGVkaXRvcjogRWRpdG9yKSB7XG4gICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3I7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIGFuY2hvcjogeyBwYXRoIH1cbiAgICAgICAgfSA9IHNlbGVjdGlvbjtcbiAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMoKTtcbiAgICAgICAgcmV0dXJuIFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIGVkaXRvciwgcGF0aCk7XG4gICAgfVxuXG4gICAgc2V0U2VsZWN0ZWRDZWxscyhjZWxsczogU2VsZWN0ZWRDZWxsW10sIHBvczogVGFibGVQb3NpdGlvbikge1xuICAgICAgICBjb25zdCByb3dHcm91cCA9IGdyb3VwQnkoY2VsbHMsICh7IHJvdywgY29sIH0pID0+IHJvdyk7XG4gICAgICAgIGNvbnN0IGNvbEdyb3VwID0gZ3JvdXBCeShjZWxscywgKHsgcm93LCBjb2wgfSkgPT4gY29sKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJvd3NJbmRleCA9IFtdO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ29sdW1uc0luZGV4ID0gW107XG4gICAgICAgIGZvciAoY29uc3Qgcm93IGluIHJvd0dyb3VwKSB7XG4gICAgICAgICAgICBpZiAocm93R3JvdXBbcm93XS5sZW5ndGggPT09IHBvcy5nZXRXaWR0aCgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFJvd3NJbmRleC5wdXNoKHBhcnNlSW50KHJvdywgMTApKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IGNvbCBpbiBjb2xHcm91cCkge1xuICAgICAgICAgICAgaWYgKGNvbEdyb3VwW2NvbF0ubGVuZ3RoID09PSBwb3MuZ2V0SGVpZ2h0KCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29sdW1uc0luZGV4LnB1c2gocGFyc2VJbnQoY29sLCAxMCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzSW5kZXggPSB1bmlxKHRoaXMuc2VsZWN0ZWRSb3dzSW5kZXgpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ29sdW1uc0luZGV4ID0gdW5pcSh0aGlzLnNlbGVjdGVkQ29sdW1uc0luZGV4KTtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRSb3dzSW5kZXgubGVuZ3RoID09PSBwb3MuZ2V0SGVpZ2h0KCkgJiYgdGhpcy5zZWxlY3RlZENvbHVtbnNJbmRleC5sZW5ndGggPT09IHBvcy5nZXRXaWR0aCgpKSB7XG4gICAgICAgICAgICB0aGlzLmlzU2VsZWN0ZWRUYWJsZSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmlzU2VsZWN0ZWRUYWJsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDZWxscyQubmV4dChjZWxscyk7XG4gICAgfVxuXG4gICAgaW5pdEVkaXRvcihlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICB0aGlzLmVkaXRvciA9IGVkaXRvcjtcbiAgICB9XG5cbiAgICBzZWxlY3RSb3coZWRpdG9yOiBFZGl0b3IsIGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJvd3NJbmRleCA9IFtpbmRleF07XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb2x1bW5zSW5kZXggPSBbXTtcblxuICAgICAgICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gZWRpdG9yO1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICBhbmNob3I6IHsgcGF0aCB9XG4gICAgICAgIH0gPSBzZWxlY3Rpb247XG4gICAgICAgIGNvbnN0IG9wdHMgPSBuZXcgVGFibGVPcHRpb25zKCk7XG4gICAgICAgIGNvbnN0IHBvcyA9IFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIGVkaXRvciwgcGF0aCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBvcy5nZXRXaWR0aCgpOyBpKyspIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICByb3c6IGluZGV4LFxuICAgICAgICAgICAgICAgIGNvbDogaVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZENlbGxzKHJlc3VsdCwgcG9zKTtcbiAgICAgICAgdGhpcy5mb2N1c0NlbGwoZWRpdG9yLCBwb3MudGFibGVFbnRyeVsxXS5jb25jYXQoW2luZGV4LCAwXSkpO1xuICAgIH1cblxuICAgIHNlbGVjdENvbHVtbihlZGl0b3I6IEVkaXRvciwgaW5kZXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ29sdW1uc0luZGV4ID0gW2luZGV4XTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJvd3NJbmRleCA9IFtdO1xuXG4gICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3I7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIGFuY2hvcjogeyBwYXRoIH1cbiAgICAgICAgfSA9IHNlbGVjdGlvbjtcbiAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMoKTtcbiAgICAgICAgY29uc3QgcG9zID0gVGFibGVQb3NpdGlvbi5jcmVhdGUob3B0cywgZWRpdG9yLCBwYXRoKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcG9zLmdldEhlaWdodCgpOyBpKyspIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICByb3c6IGksXG4gICAgICAgICAgICAgICAgY29sOiBpbmRleFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZENlbGxzKHJlc3VsdCwgcG9zKTtcbiAgICAgICAgdGhpcy5mb2N1c0NlbGwoZWRpdG9yLCBwb3MudGFibGVFbnRyeVsxXS5jb25jYXQoWzAsIGluZGV4XSkpO1xuICAgIH1cblxuICAgIHNlbGVjdFRhYmxlKGVkaXRvcjogRWRpdG9yKSB7XG4gICAgICAgIHRoaXMuaXNTZWxlY3RlZFRhYmxlID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgeyBjZWxscywgcG9zIH0gPSB0aGlzLmdldFRhYmxlQ2VsbHNBbmRQb3NpdGlvbihlZGl0b3IpO1xuICAgICAgICB0aGlzLnNldFNlbGVjdGVkQ2VsbHMoY2VsbHMsIHBvcyk7XG4gICAgICAgIHRoaXMuZm9jdXNDZWxsKGVkaXRvciwgcG9zLnRhYmxlRW50cnlbMV0uY29uY2F0KFswLCAwXSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VGFibGVDZWxsc0FuZFBvc2l0aW9uKGVkaXRvcjogRWRpdG9yKTogeyBjZWxsczogU2VsZWN0ZWRDZWxsW107IHBvczogVGFibGVQb3NpdGlvbiB9IHtcbiAgICAgICAgY29uc3QgcG9zID0gdGhpcy5jcmVhdGVUYWJsZVBvc2l0aW9uKCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBvcy5nZXRIZWlnaHQoKTsgaSsrKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IHBvcy5nZXRXaWR0aCgpOyBqKyspIHtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHJvdzogaSxcbiAgICAgICAgICAgICAgICAgICAgY29sOiBqXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgY2VsbHM6IHJlc3VsdCwgcG9zIH07XG4gICAgfVxuXG4gICAgc2VsZWN0Q2VsbHMoZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMoKTtcbiAgICAgICAgY29uc3QgeyBhbmNob3IsIGZvY3VzIH0gPSBlZGl0b3Iuc2VsZWN0aW9uO1xuICAgICAgICBjb25zdCBwb3MgPSBUYWJsZVBvc2l0aW9uLmNyZWF0ZShvcHRzLCBlZGl0b3IsIGFuY2hvci5wYXRoKTtcbiAgICAgICAgY29uc3QgYW5jaG9yUGF0aCA9IHRoaXMuYW5jaG9yQ2VsbFBhdGguc2xpY2UoLTIpO1xuICAgICAgICBjb25zdCBmb2N1c1BhdGggPSB0aGlzLmZvY3VzQ2VsbFBhdGguc2xpY2UoLTIpO1xuXG4gICAgICAgIGNvbnN0IHJvd3MgPSBbYW5jaG9yUGF0aFswXSwgZm9jdXNQYXRoWzBdXS5zb3J0KChtLCBuKSA9PiBtIC0gbik7XG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSBbYW5jaG9yUGF0aFsxXSwgZm9jdXNQYXRoWzFdXS5zb3J0KChtLCBuKSA9PiBtIC0gbik7XG5cbiAgICAgICAgY29uc3QgeyBjb2xzcGFuOiBhbmNob3JDb2xzcGFuQ291bnQsIHJvd3NwYW46IGFuY2hvclJvd3NwYW5Db3VudCB9ID0gRWRpdG9yLm5vZGUoXG4gICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICB0aGlzLmFuY2hvckNlbGxQYXRoXG4gICAgICAgIClbMF0gYXMgVGFibGVDZWxsRWxlbWVudDtcbiAgICAgICAgY29uc3QgeyBjb2xzcGFuOiBmb2N1c0NvbHNwYW5Db3VudCwgcm93c3BhbjogZm9jdXNSb3dzcGFuQ291bnQgfSA9IEVkaXRvci5ub2RlKGVkaXRvciwgdGhpcy5mb2N1c0NlbGxQYXRoKVswXSBhcyBUYWJsZUNlbGxFbGVtZW50O1xuXG4gICAgICAgIGNvbnN0IGFuY2hvclJvdyA9IGFuY2hvclBhdGhbMF0gKyAoYW5jaG9yUm93c3BhbkNvdW50IHx8IDEpIC0gMTtcbiAgICAgICAgY29uc3QgZm9jdXNSb3cgPSBmb2N1c1BhdGhbMF0gKyAoZm9jdXNSb3dzcGFuQ291bnQgfHwgMSkgLSAxO1xuICAgICAgICBjb25zdCBhbmNob3JDb2wgPSBhbmNob3JQYXRoWzFdICsgKGFuY2hvckNvbHNwYW5Db3VudCB8fCAxKSAtIDE7XG4gICAgICAgIGNvbnN0IGZvY3VzQ29sID0gZm9jdXNQYXRoWzFdICsgKGZvY3VzQ29sc3BhbkNvdW50IHx8IDEpIC0gMTtcblxuICAgICAgICBsZXQgaW5pdE1heENvbCA9IE1hdGgubWF4KGFuY2hvckNvbCwgZm9jdXNDb2wpO1xuICAgICAgICBsZXQgaW5pdE1heFJvdyA9IE1hdGgubWF4KGFuY2hvclJvdywgZm9jdXNSb3cpO1xuICAgICAgICBjb25zdCB7IG1pblJvdywgbWF4Um93LCBtaW5Db2wsIG1heENvbCB9ID0gdGhpcy5nZXRNaW5BbmRNYXhDZWxsSW5kZXgoaW5pdE1heFJvdywgaW5pdE1heENvbCwgcm93c1swXSwgY29sdW1uc1swXSwgcG9zLnRhYmxlKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSBtaW5Sb3c7IGkgPCBtYXhSb3cgKyAxOyBpKyspIHtcbiAgICAgICAgICAgIGZvciAobGV0IGogPSBtaW5Db2w7IGogPCBtYXhDb2wgKyAxOyBqKyspIHtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHJvdzogaSxcbiAgICAgICAgICAgICAgICAgICAgY29sOiBqXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZENlbGxzKHJlc3VsdCwgcG9zKTtcbiAgICB9XG5cbiAgICBnZXRNaW5BbmRNYXhDZWxsSW5kZXgobWF4Um93OiBudW1iZXIsIG1heENvbDogbnVtYmVyLCBtaW5Sb3c6IG51bWJlciwgbWluQ29sOiBudW1iZXIsIHRhYmxlOiBUYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgYmVmb3JlQ29scyA9IFtdO1xuICAgICAgICBjb25zdCBiZWZvcmVSb3dzID0gW107XG4gICAgICAgIGxldCBzcGFuU2VsZWN0ZWRDZWxscyA9IFtdO1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZENlbGxzLmxlbmd0aCkge1xuICAgICAgICAgICAgc3BhblNlbGVjdGVkQ2VsbHMgPSB0aGlzLnNlbGVjdGVkQ2VsbHNcbiAgICAgICAgICAgICAgICAubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IHJvdywgY29sIH0gPSBpdGVtO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBub2RlID0gdGFibGUuY2hpbGRyZW5bcm93XS5jaGlsZHJlbltjb2xdIGFzIFRhYmxlQ2VsbEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgIGlmICghbm9kZS5oaWRkZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xzcGFuOiBub2RlLmNvbHNwYW4gfHwgMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3dzcGFuOiBub2RlLnJvd3NwYW4gfHwgMVxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmZpbHRlcihpdGVtID0+IGl0ZW0pO1xuICAgICAgICB9XG4gICAgICAgIHRhYmxlLmNoaWxkcmVuLm1hcCgocm93LCByb3dJbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKHJvd0luZGV4IDw9IG1heFJvdykge1xuICAgICAgICAgICAgICAgIHJvdy5jaGlsZHJlbi5tYXAoKGNlbGw6IFRhYmxlQ2VsbEVsZW1lbnQsIGNvbEluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb2xJbmRleCA8PSBtYXhDb2wpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNlbGxSb3dJbmRleCA9IHJvd0luZGV4ICsgKGNlbGwucm93c3BhbiB8fCAxKSAtIDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjZWxsQ29sSW5kZXggPSBjb2xJbmRleCArIChjZWxsLmNvbHNwYW4gfHwgMSkgLSAxO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3BhblNlbGVjdGVkQ2VsbHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyByb3c6IHNlbGVjdFJvdywgY29sOiBzZWxlY3RDb2wsIHJvd3NwYW46IHNlbGVjdFJvd3NwYW4sIGNvbHNwYW46IHNlbGVjdENvbHNwYW4gfSA9IHNwYW5TZWxlY3RlZENlbGxzWzBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZWxlY3RSb3cgKyBzZWxlY3RSb3dzcGFuIC0gMSA+PSBtaW5Sb3cgJiYgc2VsZWN0Q29sICsgc2VsZWN0Q29sc3BhbiAtIDEgPj0gbWluQ29sKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pblJvdyA9IE1hdGgubWluKHNwYW5TZWxlY3RlZENlbGxzWzBdLnJvdywgbWluUm93KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluQ29sID0gTWF0aC5taW4oc3BhblNlbGVjdGVkQ2VsbHNbMF0uY29sLCBtaW5Db2wpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNlbGwuY29sc3BhbiAmJiBjZWxsLmNvbHNwYW4gPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlQ29scy5wdXNoKHsgcm93SW5kZXgsIGNvbEluZGV4LCBjZWxsQ29sSW5kZXggfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNlbGxDb2xJbmRleCA+PSBtaW5Db2wgJiYgY2VsbFJvd0luZGV4ID49IG1pblJvdykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhDb2wgPSBNYXRoLm1heChtYXhDb2wsIGNlbGxDb2xJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbkNvbCA9IE1hdGgubWluKG1pbkNvbCwgY29sSW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNlbGwucm93c3BhbiAmJiBjZWxsLnJvd3NwYW4gPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlUm93cy5wdXNoKHsgcm93SW5kZXgsIGNvbEluZGV4LCBjZWxsUm93SW5kZXggfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNlbGxDb2xJbmRleCA+PSBtaW5Db2wgJiYgY2VsbFJvd0luZGV4ID49IG1pblJvdykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5Sb3cgPSBNYXRoLm1pbihtaW5Sb3csIHJvd0luZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Um93ID0gTWF0aC5tYXgobWF4Um93LCBjZWxsUm93SW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyDliKTmlq3pgInljLrojIPlm7TlhoXkuYvliY3nmoTljZXlhYPmoLwg5aaC5p6c5a2Y5ZyoY2VsbENvbEluZGV4ID09PSBtaW5Db2zvvIzooajnpLrlvZPliY3ojrflj5bnmoRtaW5Db2zlubbkuI3mmK/mnIDlsI/nmoTvvIzph43mlrDojrflj5ZtaW5Db2xcbiAgICAgICAgY29uc3QgY29sTm9kZSA9IGJlZm9yZUNvbHMuZmlsdGVyKFxuICAgICAgICAgICAgaXRlbSA9PiBpdGVtLnJvd0luZGV4IDw9IG1heFJvdyAmJiBpdGVtLmNvbEluZGV4IDw9IG1heENvbCAmJiBpdGVtLnJvd0luZGV4ID49IG1pblJvdyAmJiBpdGVtLmNlbGxDb2xJbmRleCA9PT0gbWluQ29sXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHJvd05vZGUgPSBiZWZvcmVSb3dzLmZpbHRlcihcbiAgICAgICAgICAgIGl0ZW0gPT4gaXRlbS5yb3dJbmRleCA8PSBtYXhSb3cgJiYgaXRlbS5jb2xJbmRleCA8PSBtYXhDb2wgJiYgaXRlbS5jb2xJbmRleCA+PSBtaW5Db2wgJiYgaXRlbS5jZWxsUm93SW5kZXggPT09IG1pblJvd1xuICAgICAgICApO1xuICAgICAgICBpZiAoY29sTm9kZS5sZW5ndGggfHwgcm93Tm9kZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldE1pbkFuZE1heENlbGxJbmRleChtYXhSb3csIG1heENvbCwgbWluUm93LCBtaW5Db2wsIHRhYmxlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbWluUm93LFxuICAgICAgICAgICAgbWF4Um93LFxuICAgICAgICAgICAgbWluQ29sLFxuICAgICAgICAgICAgbWF4Q29sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgc2VsZWN0Q2VsbChjZWxsOiBIVE1MVGFibGVDZWxsRWxlbWVudCwgZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgaWYgKCFlZGl0b3Iuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgbm9kZSA9IEFuZ3VsYXJFZGl0b3IudG9TbGF0ZU5vZGUoZWRpdG9yLCBjZWxsKTtcbiAgICAgICAgY29uc3QgcGF0aCA9IEFuZ3VsYXJFZGl0b3IuZmluZFBhdGgoZWRpdG9yLCBub2RlKTtcbiAgICAgICAgdGhpcy5hbmNob3JDZWxsUGF0aCA9IHBhdGg7XG4gICAgICAgIHRoaXMuZm9jdXNDZWxsUGF0aCA9IHBhdGg7XG4gICAgICAgIHRoaXMuZm9jdXNDZWxsRWxlbWVudCA9IGNlbGw7XG4gICAgICAgIGNvbnN0IFtyb3csIGNvbF0gPSBwYXRoLnNsaWNlKC0yKTtcbiAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMoKTtcbiAgICAgICAgY29uc3QgeyBhbmNob3IgfSA9IGVkaXRvci5zZWxlY3Rpb247XG4gICAgICAgIGNvbnN0IHBvcyA9IFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIGVkaXRvciwgYW5jaG9yLnBhdGgpO1xuICAgICAgICB0aGlzLnNldFNlbGVjdGVkQ2VsbHMoW3sgcm93LCBjb2wgfV0sIHBvcyk7XG4gICAgfVxuXG4gICAgc2VsZWN0ZWRDZWxsc0NoYW5nZSgpOiBPYnNlcnZhYmxlPFNlbGVjdGVkQ2VsbFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkQ2VsbHMkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2tpcCgxKSk7XG4gICAgfVxuXG4gICAgY2VsbHNQb3NpdGlvbkNoYW5nZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2VsbHNDaGFuZ2VPYmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIGNoYW5nZUNlbGxzKCkge1xuICAgICAgICB0aGlzLmNlbGxzQ2hhbmdlT2JqZWN0JC5uZXh0KCk7XG4gICAgfVxuXG4gICAgZW1pdFRhYmxlQ2hhbmdlKCkge1xuICAgICAgICB0aGlzLnRhYmxlQ2hhbmdlJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgdGFibGVDaGFuZ2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYmxlQ2hhbmdlJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBjbGVhclNlbGVjdGVkQ2VsbHMoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb2x1bW5zSW5kZXggPSBbXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJvd3NJbmRleCA9IFtdO1xuICAgICAgICB0aGlzLmlzU2VsZWN0ZWRUYWJsZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzQ2VsbFNlbGVjdGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzUmlnaHRDbGlja2luZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2VsbHMkLm5leHQoW10pO1xuICAgIH1cblxuICAgIHNlbGVjdENlbGxTdGFydChjZWxsOiBIVE1MVGFibGVDZWxsRWxlbWVudCwgZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgdGhpcy5pc1ByZXBhcmVTZWxlY3RpbmcgPSB0cnVlO1xuICAgICAgICBjb25zdCBub2RlID0gQW5ndWxhckVkaXRvci50b1NsYXRlTm9kZShlZGl0b3IsIGNlbGwpO1xuICAgICAgICBjb25zdCBwYXRoID0gQW5ndWxhckVkaXRvci5maW5kUGF0aChlZGl0b3IsIG5vZGUpO1xuICAgICAgICB0aGlzLmFuY2hvckNlbGxQYXRoID0gcGF0aDtcbiAgICAgICAgdGhpcy5mb2N1c0NlbGxQYXRoID0gbnVsbDtcbiAgICAgICAgaWYgKCF0aGlzLnByZUZvY3VzQ2VsbFBhdGgpIHtcbiAgICAgICAgICAgIHRoaXMucHJlRm9jdXNDZWxsUGF0aCA9IHRoaXMuYW5jaG9yQ2VsbFBhdGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3RDZWxsT25nb2luZyhjZWxsOiBIVE1MVGFibGVDZWxsRWxlbWVudCwgZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgaWYgKEFuZ3VsYXJFZGl0b3IuaXNSZWFkb25seShlZGl0b3IpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFlZGl0b3Iuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGlzQ2hhbmdlZDogYm9vbGVhbjtcbiAgICAgICAgaWYgKGNlbGwpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBBbmd1bGFyRWRpdG9yLnRvU2xhdGVOb2RlKGVkaXRvciwgY2VsbCk7XG4gICAgICAgICAgICBjb25zdCBwYXRoID0gQW5ndWxhckVkaXRvci5maW5kUGF0aChlZGl0b3IsIG5vZGUpO1xuICAgICAgICAgICAgaXNDaGFuZ2VkID0gIXRoaXMuZm9jdXNDZWxsUGF0aCB8fCB0aGlzLmZvY3VzQ2VsbFBhdGgudG9TdHJpbmcoKSAhPT0gcGF0aC50b1N0cmluZygpO1xuICAgICAgICAgICAgdGhpcy5mb2N1c0NlbGxQYXRoID0gcGF0aDtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNDZWxsRWxlbWVudCA9IGNlbGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpc0NoYW5nZWQgPVxuICAgICAgICAgICAgICAgICF0aGlzLmZvY3VzQ2VsbFBhdGggfHxcbiAgICAgICAgICAgICAgICAodGhpcy5mb2N1c0NlbGxQYXRoLnRvU3RyaW5nKCkgPT09IHRoaXMuYW5jaG9yQ2VsbFBhdGgudG9TdHJpbmcoKSAmJiB0aGlzLnNlbGVjdGVkQ2VsbHMubGVuZ3RoID09PSAwKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pc1ByZXBhcmVTZWxlY3RpbmcgJiYgaXNDaGFuZ2VkKSB7XG4gICAgICAgICAgICBpZiAoSlNPTi5zdHJpbmdpZnkodGhpcy5wcmVGb2N1c0NlbGxQYXRoKSAhPT0gSlNPTi5zdHJpbmdpZnkodGhpcy5mb2N1c0NlbGxQYXRoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNDZWxsU2VsZWN0aW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdENlbGxzKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmVGb2N1c0NlbGxQYXRoID0gdGhpcy5mb2N1c0NlbGxQYXRoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0Q2VsbEVuZChlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICBpZiAodGhpcy5pc0NlbGxTZWxlY3RpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNDZWxsKGVkaXRvciwgdGhpcy5mb2N1c0NlbGxQYXRoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzUHJlcGFyZVNlbGVjdGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnByZUZvY3VzQ2VsbFBhdGggPSBudWxsO1xuICAgIH1cblxuICAgIGZvY3VzQ2VsbChlZGl0b3I6IEVkaXRvciwgcGF0aDogbnVtYmVyW10pIHtcbiAgICAgICAgY29uc3QgYXQgPSBFZGl0b3Iuc3RhcnQoZWRpdG9yLCBwYXRoKTtcbiAgICAgICAgVGhlRWRpdG9yLmZvY3VzKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBhdCk7XG4gICAgfVxuXG4gICAgZGFuZ2Vyb3VzQ2VsbHNDaGFuZ2UoKTogT2JzZXJ2YWJsZTxTZWxlY3RlZENlbGxbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYW5nZXJvdXNDZWxscyQuYXNPYnNlcnZhYmxlKCkucGlwZShza2lwKDEpKTtcbiAgICB9XG5cbiAgICBzZXREYW5nZXJvdXNDZWxscygpIHtcbiAgICAgICAgdGhpcy5kYW5nZXJvdXNSb3dzSW5kZXggPSB0aGlzLnNlbGVjdGVkUm93c0luZGV4O1xuICAgICAgICB0aGlzLmRhbmdlcm91c0NvbHVtbnNJbmRleCA9IHRoaXMuc2VsZWN0ZWRDb2x1bW5zSW5kZXg7XG4gICAgICAgIHRoaXMuZGFuZ2Vyb3VzQ2VsbHMkLm5leHQodGhpcy5zZWxlY3RlZENlbGxzKTtcbiAgICB9XG5cbiAgICBjbGVhckRhbmdlcm91c0NlbGxzKCkge1xuICAgICAgICB0aGlzLmRhbmdlcm91c1Jvd3NJbmRleCA9IFtdO1xuICAgICAgICB0aGlzLmRhbmdlcm91c0NvbHVtbnNJbmRleCA9IFtdO1xuICAgICAgICB0aGlzLmRhbmdlcm91c0NlbGxzJC5uZXh0KFtdKTtcbiAgICAgICAgY29uc3QgcG9zID0gdGhpcy5jcmVhdGVUYWJsZVBvc2l0aW9uKCk7XG4gICAgICAgIGlmIChwb3MudGFibGUpIHtcbiAgICAgICAgICAgIHRoaXMuaXNTZWxlY3RlZFRhYmxlID0gdGhpcy5zZWxlY3RlZFJvd3NJbmRleC5sZW5ndGggPT09IHBvcy5nZXRIZWlnaHQoKSAmJiB0aGlzLnNlbGVjdGVkQ29sdW1uc0luZGV4Lmxlbmd0aCA9PT0gcG9zLmdldFdpZHRoKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkYW5nZXJvdXNPclNlbGVjdGVkQ2VsbHNDaGFuZ2UoKTogT2JzZXJ2YWJsZTxTZWxlY3RlZENlbGxbXT4ge1xuICAgICAgICByZXR1cm4gbWVyZ2UodGhpcy5kYW5nZXJvdXNDZWxscyQuYXNPYnNlcnZhYmxlKCkucGlwZShza2lwKDEpKSwgdGhpcy5zZWxlY3RlZENlbGxzJC5hc09ic2VydmFibGUoKS5waXBlKHNraXAoMSkpKTtcbiAgICB9XG5cbiAgICBzZXREYW5nZXJvdXNSb3dzKCkge1xuICAgICAgICBjb25zdCBjZWxscyA9IHRoaXMuc2VsZWN0ZWRDZWxscztcbiAgICAgICAgY29uc3Qgcm93cyA9IHVuaXEobWFwKGNlbGxzLCAnY29sJykpO1xuICAgICAgICBjb25zdCBwb3MgPSB0aGlzLmNyZWF0ZVRhYmxlUG9zaXRpb24oKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG5cbiAgICAgICAgdGhpcy5kYW5nZXJvdXNSb3dzSW5kZXggPSByb3dzIGFzIG51bWJlcltdO1xuICAgICAgICB0aGlzLmlzU2VsZWN0ZWRUYWJsZSA9IHJvd3MubGVuZ3RoID09PSBwb3MuZ2V0SGVpZ2h0KCk7XG4gICAgICAgIGlmICh0aGlzLmlzU2VsZWN0ZWRUYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5kYW5nZXJvdXNDb2x1bW5zSW5kZXggPSBbLi4uQXJyYXkocG9zLmdldFdpZHRoKCkpXS5tYXAoKHYsIGkpID0+IGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCByb3dJbmRleCBvZiByb3dzKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBvcy5nZXRXaWR0aCgpOyBpKyspIHtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHJvdzogcm93SW5kZXgsXG4gICAgICAgICAgICAgICAgICAgIGNvbDogaVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGFuZ2Vyb3VzQ2VsbHMkLm5leHQocmVzdWx0KTtcbiAgICB9XG5cbiAgICBzZXREYW5nZXJvdXNDb2x1bW5zKCkge1xuICAgICAgICBjb25zdCBjZWxscyA9IHRoaXMuc2VsZWN0ZWRDZWxscztcbiAgICAgICAgY29uc3QgY29scyA9IHVuaXEobWFwKGNlbGxzLCAnY29sJykpO1xuICAgICAgICBjb25zdCBwb3MgPSB0aGlzLmNyZWF0ZVRhYmxlUG9zaXRpb24oKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG5cbiAgICAgICAgdGhpcy5kYW5nZXJvdXNDb2x1bW5zSW5kZXggPSBjb2xzIGFzIG51bWJlcltdO1xuICAgICAgICB0aGlzLmlzU2VsZWN0ZWRUYWJsZSA9IGNvbHMubGVuZ3RoID09PSBwb3MuZ2V0V2lkdGgoKTtcbiAgICAgICAgaWYgKHRoaXMuaXNTZWxlY3RlZFRhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmRhbmdlcm91c1Jvd3NJbmRleCA9IFsuLi5BcnJheShwb3MuZ2V0SGVpZ2h0KCkpXS5tYXAoKHYsIGkpID0+IGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBjb2xJbmRleCBvZiBjb2xzKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBvcy5nZXRIZWlnaHQoKTsgaSsrKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAgICAgICAgICAgICByb3c6IGksXG4gICAgICAgICAgICAgICAgICAgIGNvbDogY29sSW5kZXhcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRhbmdlcm91c0NlbGxzJC5uZXh0KHJlc3VsdCk7XG4gICAgfVxuXG4gICAgc2V0RGFuZ2Vyb3VzVGFibGUoKSB7XG4gICAgICAgIHRoaXMuaXNTZWxlY3RlZFRhYmxlID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgeyBjZWxscywgcG9zIH0gPSB0aGlzLmdldFRhYmxlQ2VsbHNBbmRQb3NpdGlvbih0aGlzLmVkaXRvcik7XG4gICAgICAgIHRoaXMuZGFuZ2Vyb3VzUm93c0luZGV4ID0gWy4uLkFycmF5KHBvcy5nZXRIZWlnaHQoKSldLm1hcCgodiwgaSkgPT4gaSk7XG4gICAgICAgIHRoaXMuZGFuZ2Vyb3VzQ29sdW1uc0luZGV4ID0gWy4uLkFycmF5KHBvcy5nZXRXaWR0aCgpKV0ubWFwKCh2LCBpKSA9PiBpKTtcbiAgICAgICAgdGhpcy5kYW5nZXJvdXNDZWxscyQubmV4dChjZWxscyk7XG4gICAgfVxuXG4gICAgc2VsZWN0Rmlyc3RDZWxsKCkge1xuICAgICAgICBjb25zdCB7IHJvdywgY29sIH0gPSB0aGlzLnNlbGVjdGVkQ2VsbHNbMF07XG4gICAgICAgIGNvbnN0IHRhYmxlUGF0aCA9IHRoaXMuZ2V0VGFibGVQYXRoKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgY29uc3QgcGF0aCA9IEVkaXRvci5zdGFydCh0aGlzLmVkaXRvciwgWy4uLnRhYmxlUGF0aCwgcm93LCBjb2xdKTtcbiAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QodGhpcy5lZGl0b3IsIHBhdGgpO1xuICAgIH1cblxuICAgIHNldFNlbGVjdGVkQ2VsbHNCYWNrZ3JvdW5kQ29sb3IoYmFja2dyb3VuZENvbG9yOiBDb2xvclR5cGUpIHtcbiAgICAgICAgY29uc3QgY2VsbHMgPSB0aGlzLnNlbGVjdGVkQ2VsbHM7XG4gICAgICAgIGNvbnN0IHRhYmxlUGF0aCA9IHRoaXMuZ2V0VGFibGVQYXRoKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgRWRpdG9yLndpdGhvdXROb3JtYWxpemluZyh0aGlzLmVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgZm9yIChjb25zdCBjZWxsIG9mIGNlbGxzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyByb3csIGNvbCB9ID0gY2VsbDtcbiAgICAgICAgICAgICAgICBjb25zdCBjZWxsUGF0aCA9IFsuLi50YWJsZVBhdGgsIHJvdywgY29sXTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKHRoaXMuZWRpdG9yLCB7IGJhY2tncm91bmRDb2xvciB9LCB7IGF0OiBjZWxsUGF0aCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0U2VsZWN0ZWRDZWxsQmFja2dyb3VuZENvbG9yKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmVkaXRvciAmJiB0aGlzLmVkaXRvci5zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgICAgICBhbmNob3I6IHsgcGF0aCB9XG4gICAgICAgICAgICB9ID0gdGhpcy5lZGl0b3Iuc2VsZWN0aW9uO1xuICAgICAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMoKTtcbiAgICAgICAgICAgIGNvbnN0IHsgY2VsbCB9ID0gVGFibGVQb3NpdGlvbi5jcmVhdGUob3B0cywgdGhpcy5lZGl0b3IsIHBhdGgpO1xuICAgICAgICAgICAgcmV0dXJuIGNlbGwgJiYgY2VsbC5iYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGNsZWFyU2VsZWN0ZWRDZWxsc0NvbnRlbnQoKSB7XG4gICAgICAgIGNvbnN0IGNlbGxzID0gdGhpcy5zZWxlY3RlZENlbGxzO1xuICAgICAgICBjb25zdCB0YWJsZVBvc2l0aW9uID0gdGhpcy5nZXRUYWJsZVBvc2l0aW9uKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgaWYgKHRhYmxlUG9zaXRpb24uaXNJblRhYmxlKCkpIHtcbiAgICAgICAgICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcodGhpcy5lZGl0b3IsICgpID0+IHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGNlbGwgb2YgY2VsbHMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyByb3csIGNvbCB9ID0gY2VsbDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2VsbFBhdGggPSBbLi4udGFibGVQb3NpdGlvbi50YWJsZUVudHJ5WzFdLCByb3csIGNvbF07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBOb2RlLmdldCh0aGlzLmVkaXRvciwgY2VsbFBhdGgpIGFzIFRhYmxlQ2VsbEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgIFRhYmxlRWRpdG9yLmNsZWFyQ2VsbCh0aGlzLmVkaXRvciwgW25vZGUsIGNlbGxQYXRoXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdCh0aGlzLmVkaXRvciwgRWRpdG9yLnN0YXJ0KHRoaXMuZWRpdG9yLCB0YWJsZVBvc2l0aW9uLmNlbGxFbnRyeVsxXSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbWVyZ2VDZWxsKGVkaXRvcjogRWRpdG9yKSB7XG4gICAgICAgIG1lcmdlQ2VsbChlZGl0b3IsIHRoaXMuc2VsZWN0ZWRDZWxscyk7XG4gICAgfVxuXG4gICAgc2V0VGFibGVPcHRpb25zKGVkaXRvcjogRWRpdG9yLCBvcHRpb25zOiBUaGVUYWJsZU9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgdGFibGVQYXRoID0gdGhpcy5nZXRUYWJsZVBhdGgodGhpcy5lZGl0b3IpO1xuICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKGVkaXRvciwgeyBvcHRpb25zIH0sIHsgYXQ6IHRhYmxlUGF0aCB9KTtcbiAgICB9XG5cbiAgICByZW1vdmVEYW5nZXJvdXNDb2x1bW5zKCkge1xuICAgICAgICBjb25zdCB7IGRhbmdlcm91c0NvbHVtbnNJbmRleCwgaXNTZWxlY3RlZFRhYmxlIH0gPSB0aGlzO1xuICAgICAgICBpZiAoaXNTZWxlY3RlZFRhYmxlKSB7XG4gICAgICAgICAgICBUYWJsZUVkaXRvci5yZW1vdmVUYWJsZSh0aGlzLmVkaXRvcik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZGFuZ2Vyb3VzQ29sdW1uc0luZGV4XG4gICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gYiAtIGEpXG4gICAgICAgICAgICAuZm9yRWFjaChpbmRleCA9PiB7XG4gICAgICAgICAgICAgICAgVGFibGVFZGl0b3IucmVtb3ZlQ29sdW1uKHRoaXMuZWRpdG9yLCBpbmRleCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jaGFuZ2VDZWxscygpO1xuICAgIH1cblxuICAgIHJlbW92ZURhbmdlcm91c1Jvd3MoKSB7XG4gICAgICAgIGNvbnN0IHsgZGFuZ2Vyb3VzUm93c0luZGV4LCBpc1NlbGVjdGVkVGFibGUgfSA9IHRoaXM7XG4gICAgICAgIGlmIChpc1NlbGVjdGVkVGFibGUpIHtcbiAgICAgICAgICAgIFRhYmxlRWRpdG9yLnJlbW92ZVRhYmxlKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBkYW5nZXJvdXNSb3dzSW5kZXhcbiAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBiIC0gYSlcbiAgICAgICAgICAgIC5mb3JFYWNoKGluZGV4ID0+IHtcbiAgICAgICAgICAgICAgICBUYWJsZUVkaXRvci5yZW1vdmVSb3codGhpcy5lZGl0b3IsIGluZGV4KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNoYW5nZUNlbGxzKCk7XG4gICAgfVxuXG4gICAgY3JlYXRlVGFibGVQb3NpdGlvbigpOiBUYWJsZVBvc2l0aW9uIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgYW5jaG9yOiB7IHBhdGggfVxuICAgICAgICB9ID0gdGhpcy5lZGl0b3Iuc2VsZWN0aW9uO1xuICAgICAgICBjb25zdCBvcHRzID0gbmV3IFRhYmxlT3B0aW9ucygpO1xuICAgICAgICByZXR1cm4gVGFibGVQb3NpdGlvbi5jcmVhdGUob3B0cywgdGhpcy5lZGl0b3IsIHBhdGgpO1xuICAgIH1cblxuICAgIHJlbW92ZUNvbHVtbk9yUm93cygpIHtcbiAgICAgICAgY29uc3QgeyBzZWxlY3RlZFJvd3NJbmRleCwgc2VsZWN0ZWRDb2x1bW5zSW5kZXgsIGlzU2VsZWN0ZWRUYWJsZSB9ID0gdGhpcztcbiAgICAgICAgaWYgKGlzU2VsZWN0ZWRUYWJsZSkge1xuICAgICAgICAgICAgVGFibGVFZGl0b3IucmVtb3ZlVGFibGUodGhpcy5lZGl0b3IpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzZWxlY3RlZFJvd3NJbmRleC5sZW5ndGggPiAwICYmIHNlbGVjdGVkQ29sdW1uc0luZGV4Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgc2VsZWN0ZWRSb3dzSW5kZXhcbiAgICAgICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gYiAtIGEpXG4gICAgICAgICAgICAgICAgLmZvckVhY2goaW5kZXggPT4ge1xuICAgICAgICAgICAgICAgICAgICBUYWJsZUVkaXRvci5yZW1vdmVSb3codGhpcy5lZGl0b3IsIGluZGV4KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlQ2VsbHMoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2VsZWN0ZWRDb2x1bW5zSW5kZXgubGVuZ3RoID4gMCAmJiBzZWxlY3RlZFJvd3NJbmRleC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHNlbGVjdGVkQ29sdW1uc0luZGV4XG4gICAgICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGIgLSBhKVxuICAgICAgICAgICAgICAgIC5mb3JFYWNoKGluZGV4ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgVGFibGVFZGl0b3IucmVtb3ZlQ29sdW1uKHRoaXMuZWRpdG9yLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZUNlbGxzKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
484
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS90YWJsZS5zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQWMsZUFBZSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFL0MsT0FBTyxFQUFnQixZQUFZLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBRTVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRzdDLE1BQU0sT0FBTyxVQUFVO0lBb0NuQjtRQW5DUSxtQkFBYyxHQUFvQyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxRSxvQkFBZSxHQUFvQyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzRSx1QkFBa0IsR0FBb0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNwRCxpQkFBWSxHQUFvQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRXRELHlCQUFvQixHQUFhLEVBQUUsQ0FBQztR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LENBQUM7O3dHQXZpQlEsVUFBVTs0R0FBVixVQUFVOzRGQUFWLFVBQVU7a0JBRHRCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBza2lwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVHJhbnNmb3JtcywgTm9kZSwgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQW5ndWxhckVkaXRvciB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgVGFibGVQb3NpdGlvbiB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgZ3JvdXBCeSwgdW5pcSwgbWFwIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9kYXNoJztcbmltcG9ydCB7IG1lcmdlQ2VsbCB9IGZyb20gJy4vdXRpbHMvbWVyZ2UtY2VsbCc7XG5pbXBvcnQgeyBDb2xvclR5cGUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29sb3Itc2VsZWN0JztcbmltcG9ydCB7IFNlbGVjdGVkQ2VsbCwgVGFibGVPcHRpb25zLCBUaGVUYWJsZU9wdGlvbnMgfSBmcm9tICcuL3RhYmxlLnR5cGVzJztcbmltcG9ydCB7IFRhYmxlQ2VsbEVsZW1lbnQsIFRhYmxlRWxlbWVudCB9IGZyb20gJy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBUYWJsZUVkaXRvciB9IGZyb20gJy4vdGFibGUuZWRpdG9yJztcbmltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGFibGVTdG9yZSB7XG4gICAgcHJpdmF0ZSBzZWxlY3RlZENlbGxzJDogQmVoYXZpb3JTdWJqZWN0PFNlbGVjdGVkQ2VsbFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xuICAgIHByaXZhdGUgZGFuZ2Vyb3VzQ2VsbHMkOiBCZWhhdmlvclN1YmplY3Q8U2VsZWN0ZWRDZWxsW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChbXSk7XG4gICAgcHJpdmF0ZSBjZWxsc0NoYW5nZU9iamVjdCQ6IFN1YmplY3Q8b2JqZWN0PiA9IG5ldyBTdWJqZWN0KCk7XG4gICAgcHJpdmF0ZSB0YWJsZUNoYW5nZSQ6IFN1YmplY3Q8b2JqZWN0PiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBzZWxlY3RlZENvbHVtbnNJbmRleDogbnVtYmVyW10gPSBbXTtcbiAgICBzZWxlY3RlZFJvd3NJbmRleDogbnVtYmVyW10gPSBbXTtcblxuICAgIGRhbmdlcm91c0NvbHVtbnNJbmRleDogbnVtYmVyW10gPSBbXTtcbiAgICBkYW5nZXJvdXNSb3dzSW5kZXg6IG51bWJlcltdID0gW107XG5cbiAgICBpc1NlbGVjdGVkVGFibGU6IGJvb2xlYW47XG5cbiAgICBlZGl0b3I6IEVkaXRvcjtcblxuICAgIHB1YmxpYyBhbmNob3JDZWxsUGF0aDogbnVtYmVyW107XG4gICAgcHVibGljIGZvY3VzQ2VsbFBhdGg6IG51bWJlcltdO1xuICAgIHB1YmxpYyBwcmVGb2N1c0NlbGxQYXRoOiBudW1iZXJbXTtcblxuICAgIHB1YmxpYyBmb2N1c0NlbGxFbGVtZW50OiBIVE1MVGFibGVDZWxsRWxlbWVudDtcblxuICAgIHB1YmxpYyBpc1ByZXBhcmVTZWxlY3RpbmcgPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNDZWxsU2VsZWN0aW5nID0gZmFsc2U7XG4gICAgcHVibGljIGlzUmlnaHRDbGlja2luZyA9IGZhbHNlO1xuXG4gICAgcHVibGljIG1heENvbDogbnVtYmVyO1xuXG4gICAgZ2V0IHNlbGVjdGVkQ2VsbHMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkQ2VsbHMkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgZ2V0IGRhbmdlcm91c0NlbGxzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYW5nZXJvdXNDZWxscyQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBnZXRUYWJsZUVudHJ5KGVkaXRvcjogRWRpdG9yKSB7XG4gICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3I7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIGFuY2hvcjogeyBwYXRoIH1cbiAgICAgICAgfSA9IHNlbGVjdGlvbjtcbiAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMoKTtcbiAgICAgICAgcmV0dXJuIFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIGVkaXRvciwgcGF0aCkudGFibGVFbnRyeTtcbiAgICB9XG5cbiAgICBnZXRUYWJsZVBhdGgoZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgY29uc3QgdGFibGVFbnRyeSA9IHRoaXMuZ2V0VGFibGVFbnRyeShlZGl0b3IpO1xuICAgICAgICByZXR1cm4gdGFibGVFbnRyeVsxXTtcbiAgICB9XG5cbiAgICBnZXRUYWJsZVBvc2l0aW9uKGVkaXRvcjogRWRpdG9yKSB7XG4gICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3I7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIGFuY2hvcjogeyBwYXRoIH1cbiAgICAgICAgfSA9IHNlbGVjdGlvbjtcbiAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMoKTtcbiAgICAgICAgcmV0dXJuIFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIGVkaXRvciwgcGF0aCk7XG4gICAgfVxuXG4gICAgc2V0U2VsZWN0ZWRDZWxscyhjZWxsczogU2VsZWN0ZWRDZWxsW10sIHBvczogVGFibGVQb3NpdGlvbikge1xuICAgICAgICBjb25zdCByb3dHcm91cCA9IGdyb3VwQnkoY2VsbHMsICh7IHJvdywgY29sIH0pID0+IHJvdyk7XG4gICAgICAgIGNvbnN0IGNvbEdyb3VwID0gZ3JvdXBCeShjZWxscywgKHsgcm93LCBjb2wgfSkgPT4gY29sKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJvd3NJbmRleCA9IFtdO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ29sdW1uc0luZGV4ID0gW107XG4gICAgICAgIGZvciAoY29uc3Qgcm93IGluIHJvd0dyb3VwKSB7XG4gICAgICAgICAgICBpZiAocm93R3JvdXBbcm93XS5sZW5ndGggPT09IHBvcy5nZXRXaWR0aCgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFJvd3NJbmRleC5wdXNoKHBhcnNlSW50KHJvdywgMTApKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IGNvbCBpbiBjb2xHcm91cCkge1xuICAgICAgICAgICAgaWYgKGNvbEdyb3VwW2NvbF0ubGVuZ3RoID09PSBwb3MuZ2V0SGVpZ2h0KCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29sdW1uc0luZGV4LnB1c2gocGFyc2VJbnQoY29sLCAxMCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzSW5kZXggPSB1bmlxKHRoaXMuc2VsZWN0ZWRSb3dzSW5kZXgpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ29sdW1uc0luZGV4ID0gdW5pcSh0aGlzLnNlbGVjdGVkQ29sdW1uc0luZGV4KTtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRSb3dzSW5kZXgubGVuZ3RoID09PSBwb3MuZ2V0SGVpZ2h0KCkgJiYgdGhpcy5zZWxlY3RlZENvbHVtbnNJbmRleC5sZW5ndGggPT09IHBvcy5nZXRXaWR0aCgpKSB7XG4gICAgICAgICAgICB0aGlzLmlzU2VsZWN0ZWRUYWJsZSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmlzU2VsZWN0ZWRUYWJsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDZWxscyQubmV4dChjZWxscyk7XG4gICAgfVxuXG4gICAgaW5pdEVkaXRvcihlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICB0aGlzLmVkaXRvciA9IGVkaXRvcjtcbiAgICB9XG5cbiAgICBzZWxlY3RSb3coZWRpdG9yOiBFZGl0b3IsIGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJvd3NJbmRleCA9IFtpbmRleF07XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb2x1bW5zSW5kZXggPSBbXTtcblxuICAgICAgICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gZWRpdG9yO1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICBhbmNob3I6IHsgcGF0aCB9XG4gICAgICAgIH0gPSBzZWxlY3Rpb247XG4gICAgICAgIGNvbnN0IG9wdHMgPSBuZXcgVGFibGVPcHRpb25zKCk7XG4gICAgICAgIGNvbnN0IHBvcyA9IFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIGVkaXRvciwgcGF0aCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBvcy5nZXRXaWR0aCgpOyBpKyspIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICByb3c6IGluZGV4LFxuICAgICAgICAgICAgICAgIGNvbDogaVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZENlbGxzKHJlc3VsdCwgcG9zKTtcbiAgICAgICAgdGhpcy5mb2N1c0NlbGwoZWRpdG9yLCBwb3MudGFibGVFbnRyeVsxXS5jb25jYXQoW2luZGV4LCAwXSkpO1xuICAgIH1cblxuICAgIHNlbGVjdENvbHVtbihlZGl0b3I6IEVkaXRvciwgaW5kZXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ29sdW1uc0luZGV4ID0gW2luZGV4XTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJvd3NJbmRleCA9IFtdO1xuXG4gICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3I7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIGFuY2hvcjogeyBwYXRoIH1cbiAgICAgICAgfSA9IHNlbGVjdGlvbjtcbiAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMoKTtcbiAgICAgICAgY29uc3QgcG9zID0gVGFibGVQb3NpdGlvbi5jcmVhdGUob3B0cywgZWRpdG9yLCBwYXRoKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcG9zLmdldEhlaWdodCgpOyBpKyspIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICByb3c6IGksXG4gICAgICAgICAgICAgICAgY29sOiBpbmRleFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZENlbGxzKHJlc3VsdCwgcG9zKTtcbiAgICAgICAgdGhpcy5mb2N1c0NlbGwoZWRpdG9yLCBwb3MudGFibGVFbnRyeVsxXS5jb25jYXQoWzAsIGluZGV4XSkpO1xuICAgIH1cblxuICAgIHNlbGVjdFRhYmxlKGVkaXRvcjogRWRpdG9yKSB7XG4gICAgICAgIHRoaXMuaXNTZWxlY3RlZFRhYmxlID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgeyBjZWxscywgcG9zIH0gPSB0aGlzLmdldFRhYmxlQ2VsbHNBbmRQb3NpdGlvbihlZGl0b3IpO1xuICAgICAgICB0aGlzLnNldFNlbGVjdGVkQ2VsbHMoY2VsbHMsIHBvcyk7XG4gICAgICAgIHRoaXMuZm9jdXNDZWxsKGVkaXRvciwgcG9zLnRhYmxlRW50cnlbMV0uY29uY2F0KFswLCAwXSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VGFibGVDZWxsc0FuZFBvc2l0aW9uKGVkaXRvcjogRWRpdG9yKTogeyBjZWxsczogU2VsZWN0ZWRDZWxsW107IHBvczogVGFibGVQb3NpdGlvbiB9IHtcbiAgICAgICAgY29uc3QgcG9zID0gdGhpcy5jcmVhdGVUYWJsZVBvc2l0aW9uKCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBvcy5nZXRIZWlnaHQoKTsgaSsrKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IHBvcy5nZXRXaWR0aCgpOyBqKyspIHtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHJvdzogaSxcbiAgICAgICAgICAgICAgICAgICAgY29sOiBqXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgY2VsbHM6IHJlc3VsdCwgcG9zIH07XG4gICAgfVxuXG4gICAgc2VsZWN0Q2VsbHMoZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMoKTtcbiAgICAgICAgY29uc3QgeyBhbmNob3IsIGZvY3VzIH0gPSBlZGl0b3Iuc2VsZWN0aW9uO1xuICAgICAgICBjb25zdCBwb3MgPSBUYWJsZVBvc2l0aW9uLmNyZWF0ZShvcHRzLCBlZGl0b3IsIGFuY2hvci5wYXRoKTtcbiAgICAgICAgY29uc3QgYW5jaG9yUGF0aCA9IHRoaXMuYW5jaG9yQ2VsbFBhdGguc2xpY2UoLTIpO1xuICAgICAgICBjb25zdCBmb2N1c1BhdGggPSB0aGlzLmZvY3VzQ2VsbFBhdGguc2xpY2UoLTIpO1xuXG4gICAgICAgIGNvbnN0IHJvd3MgPSBbYW5jaG9yUGF0aFswXSwgZm9jdXNQYXRoWzBdXS5zb3J0KChtLCBuKSA9PiBtIC0gbik7XG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSBbYW5jaG9yUGF0aFsxXSwgZm9jdXNQYXRoWzFdXS5zb3J0KChtLCBuKSA9PiBtIC0gbik7XG5cbiAgICAgICAgY29uc3QgeyBjb2xzcGFuOiBhbmNob3JDb2xzcGFuQ291bnQsIHJvd3NwYW46IGFuY2hvclJvd3NwYW5Db3VudCB9ID0gRWRpdG9yLm5vZGUoXG4gICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICB0aGlzLmFuY2hvckNlbGxQYXRoXG4gICAgICAgIClbMF0gYXMgVGFibGVDZWxsRWxlbWVudDtcbiAgICAgICAgY29uc3QgeyBjb2xzcGFuOiBmb2N1c0NvbHNwYW5Db3VudCwgcm93c3BhbjogZm9jdXNSb3dzcGFuQ291bnQgfSA9IEVkaXRvci5ub2RlKGVkaXRvciwgdGhpcy5mb2N1c0NlbGxQYXRoKVswXSBhcyBUYWJsZUNlbGxFbGVtZW50O1xuXG4gICAgICAgIGNvbnN0IGFuY2hvclJvdyA9IGFuY2hvclBhdGhbMF0gKyAoYW5jaG9yUm93c3BhbkNvdW50IHx8IDEpIC0gMTtcbiAgICAgICAgY29uc3QgZm9jdXNSb3cgPSBmb2N1c1BhdGhbMF0gKyAoZm9jdXNSb3dzcGFuQ291bnQgfHwgMSkgLSAxO1xuICAgICAgICBjb25zdCBhbmNob3JDb2wgPSBhbmNob3JQYXRoWzFdICsgKGFuY2hvckNvbHNwYW5Db3VudCB8fCAxKSAtIDE7XG4gICAgICAgIGNvbnN0IGZvY3VzQ29sID0gZm9jdXNQYXRoWzFdICsgKGZvY3VzQ29sc3BhbkNvdW50IHx8IDEpIC0gMTtcblxuICAgICAgICBsZXQgaW5pdE1heENvbCA9IE1hdGgubWF4KGFuY2hvckNvbCwgZm9jdXNDb2wpO1xuICAgICAgICBsZXQgaW5pdE1heFJvdyA9IE1hdGgubWF4KGFuY2hvclJvdywgZm9jdXNSb3cpO1xuICAgICAgICBjb25zdCB7IG1pblJvdywgbWF4Um93LCBtaW5Db2wsIG1heENvbCB9ID0gdGhpcy5nZXRNaW5BbmRNYXhDZWxsSW5kZXgoaW5pdE1heFJvdywgaW5pdE1heENvbCwgcm93c1swXSwgY29sdW1uc1swXSwgcG9zLnRhYmxlKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSBtaW5Sb3c7IGkgPCBtYXhSb3cgKyAxOyBpKyspIHtcbiAgICAgICAgICAgIGZvciAobGV0IGogPSBtaW5Db2w7IGogPCBtYXhDb2wgKyAxOyBqKyspIHtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHJvdzogaSxcbiAgICAgICAgICAgICAgICAgICAgY29sOiBqXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZENlbGxzKHJlc3VsdCwgcG9zKTtcbiAgICB9XG5cbiAgICBnZXRNaW5BbmRNYXhDZWxsSW5kZXgobWF4Um93OiBudW1iZXIsIG1heENvbDogbnVtYmVyLCBtaW5Sb3c6IG51bWJlciwgbWluQ29sOiBudW1iZXIsIHRhYmxlOiBUYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgYmVmb3JlQ29scyA9IFtdO1xuICAgICAgICBjb25zdCBiZWZvcmVSb3dzID0gW107XG4gICAgICAgIGxldCBzcGFuU2VsZWN0ZWRDZWxscyA9IFtdO1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZENlbGxzLmxlbmd0aCkge1xuICAgICAgICAgICAgc3BhblNlbGVjdGVkQ2VsbHMgPSB0aGlzLnNlbGVjdGVkQ2VsbHNcbiAgICAgICAgICAgICAgICAubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IHJvdywgY29sIH0gPSBpdGVtO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBub2RlID0gdGFibGUuY2hpbGRyZW5bcm93XS5jaGlsZHJlbltjb2xdIGFzIFRhYmxlQ2VsbEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgIGlmICghbm9kZS5oaWRkZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xzcGFuOiBub2RlLmNvbHNwYW4gfHwgMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3dzcGFuOiBub2RlLnJvd3NwYW4gfHwgMVxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmZpbHRlcihpdGVtID0+IGl0ZW0pO1xuICAgICAgICB9XG4gICAgICAgIHRhYmxlLmNoaWxkcmVuLm1hcCgocm93LCByb3dJbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKHJvd0luZGV4IDw9IG1heFJvdykge1xuICAgICAgICAgICAgICAgIHJvdy5jaGlsZHJlbi5tYXAoKGNlbGw6IFRhYmxlQ2VsbEVsZW1lbnQsIGNvbEluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb2xJbmRleCA8PSBtYXhDb2wpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNlbGxSb3dJbmRleCA9IHJvd0luZGV4ICsgKGNlbGwucm93c3BhbiB8fCAxKSAtIDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjZWxsQ29sSW5kZXggPSBjb2xJbmRleCArIChjZWxsLmNvbHNwYW4gfHwgMSkgLSAxO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3BhblNlbGVjdGVkQ2VsbHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyByb3c6IHNlbGVjdFJvdywgY29sOiBzZWxlY3RDb2wsIHJvd3NwYW46IHNlbGVjdFJvd3NwYW4sIGNvbHNwYW46IHNlbGVjdENvbHNwYW4gfSA9IHNwYW5TZWxlY3RlZENlbGxzWzBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZWxlY3RSb3cgKyBzZWxlY3RSb3dzcGFuIC0gMSA+PSBtaW5Sb3cgJiYgc2VsZWN0Q29sICsgc2VsZWN0Q29sc3BhbiAtIDEgPj0gbWluQ29sKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pblJvdyA9IE1hdGgubWluKHNwYW5TZWxlY3RlZENlbGxzWzBdLnJvdywgbWluUm93KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluQ29sID0gTWF0aC5taW4oc3BhblNlbGVjdGVkQ2VsbHNbMF0uY29sLCBtaW5Db2wpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNlbGwuY29sc3BhbiAmJiBjZWxsLmNvbHNwYW4gPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlQ29scy5wdXNoKHsgcm93SW5kZXgsIGNvbEluZGV4LCBjZWxsQ29sSW5kZXggfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNlbGxDb2xJbmRleCA+PSBtaW5Db2wgJiYgY2VsbFJvd0luZGV4ID49IG1pblJvdykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhDb2wgPSBNYXRoLm1heChtYXhDb2wsIGNlbGxDb2xJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbkNvbCA9IE1hdGgubWluKG1pbkNvbCwgY29sSW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNlbGwucm93c3BhbiAmJiBjZWxsLnJvd3NwYW4gPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlUm93cy5wdXNoKHsgcm93SW5kZXgsIGNvbEluZGV4LCBjZWxsUm93SW5kZXggfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNlbGxDb2xJbmRleCA+PSBtaW5Db2wgJiYgY2VsbFJvd0luZGV4ID49IG1pblJvdykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5Sb3cgPSBNYXRoLm1pbihtaW5Sb3csIHJvd0luZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Um93ID0gTWF0aC5tYXgobWF4Um93LCBjZWxsUm93SW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyDliKTmlq3pgInljLrojIPlm7TlhoXkuYvliY3nmoTljZXlhYPmoLwg5aaC5p6c5a2Y5ZyoY2VsbENvbEluZGV4ID09PSBtaW5Db2zvvIzooajnpLrlvZPliY3ojrflj5bnmoRtaW5Db2zlubbkuI3mmK/mnIDlsI/nmoTvvIzph43mlrDojrflj5ZtaW5Db2xcbiAgICAgICAgY29uc3QgY29sTm9kZSA9IGJlZm9yZUNvbHMuZmlsdGVyKFxuICAgICAgICAgICAgaXRlbSA9PiBpdGVtLnJvd0luZGV4IDw9IG1heFJvdyAmJiBpdGVtLmNvbEluZGV4IDw9IG1heENvbCAmJiBpdGVtLnJvd0luZGV4ID49IG1pblJvdyAmJiBpdGVtLmNlbGxDb2xJbmRleCA9PT0gbWluQ29sXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHJvd05vZGUgPSBiZWZvcmVSb3dzLmZpbHRlcihcbiAgICAgICAgICAgIGl0ZW0gPT4gaXRlbS5yb3dJbmRleCA8PSBtYXhSb3cgJiYgaXRlbS5jb2xJbmRleCA8PSBtYXhDb2wgJiYgaXRlbS5jb2xJbmRleCA+PSBtaW5Db2wgJiYgaXRlbS5jZWxsUm93SW5kZXggPT09IG1pblJvd1xuICAgICAgICApO1xuICAgICAgICBpZiAoY29sTm9kZS5sZW5ndGggfHwgcm93Tm9kZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldE1pbkFuZE1heENlbGxJbmRleChtYXhSb3csIG1heENvbCwgbWluUm93LCBtaW5Db2wsIHRhYmxlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbWluUm93LFxuICAgICAgICAgICAgbWF4Um93LFxuICAgICAgICAgICAgbWluQ29sLFxuICAgICAgICAgICAgbWF4Q29sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgc2VsZWN0Q2VsbChjZWxsOiBIVE1MVGFibGVDZWxsRWxlbWVudCwgZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgaWYgKCFlZGl0b3Iuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgbm9kZSA9IEFuZ3VsYXJFZGl0b3IudG9TbGF0ZU5vZGUoZWRpdG9yLCBjZWxsKTtcbiAgICAgICAgY29uc3QgcGF0aCA9IEFuZ3VsYXJFZGl0b3IuZmluZFBhdGgoZWRpdG9yLCBub2RlKTtcbiAgICAgICAgdGhpcy5hbmNob3JDZWxsUGF0aCA9IHBhdGg7XG4gICAgICAgIHRoaXMuZm9jdXNDZWxsUGF0aCA9IHBhdGg7XG4gICAgICAgIHRoaXMuZm9jdXNDZWxsRWxlbWVudCA9IGNlbGw7XG4gICAgICAgIGNvbnN0IFtyb3csIGNvbF0gPSBwYXRoLnNsaWNlKC0yKTtcbiAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMoKTtcbiAgICAgICAgY29uc3QgeyBhbmNob3IgfSA9IGVkaXRvci5zZWxlY3Rpb247XG4gICAgICAgIGNvbnN0IHBvcyA9IFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIGVkaXRvciwgYW5jaG9yLnBhdGgpO1xuICAgICAgICB0aGlzLnNldFNlbGVjdGVkQ2VsbHMoW3sgcm93LCBjb2wgfV0sIHBvcyk7XG4gICAgfVxuXG4gICAgc2VsZWN0ZWRDZWxsc0NoYW5nZSgpOiBPYnNlcnZhYmxlPFNlbGVjdGVkQ2VsbFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkQ2VsbHMkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2tpcCgxKSk7XG4gICAgfVxuXG4gICAgY2VsbHNQb3NpdGlvbkNoYW5nZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2VsbHNDaGFuZ2VPYmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIGNoYW5nZUNlbGxzKCkge1xuICAgICAgICB0aGlzLmNlbGxzQ2hhbmdlT2JqZWN0JC5uZXh0KCk7XG4gICAgfVxuXG4gICAgZW1pdFRhYmxlQ2hhbmdlKCkge1xuICAgICAgICB0aGlzLnRhYmxlQ2hhbmdlJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgdGFibGVDaGFuZ2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYmxlQ2hhbmdlJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBjbGVhclNlbGVjdGVkQ2VsbHMoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb2x1bW5zSW5kZXggPSBbXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJvd3NJbmRleCA9IFtdO1xuICAgICAgICB0aGlzLmlzU2VsZWN0ZWRUYWJsZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzQ2VsbFNlbGVjdGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzUmlnaHRDbGlja2luZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2VsbHMkLm5leHQoW10pO1xuICAgIH1cblxuICAgIHNlbGVjdENlbGxTdGFydChjZWxsOiBIVE1MVGFibGVDZWxsRWxlbWVudCwgZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgdGhpcy5pc1ByZXBhcmVTZWxlY3RpbmcgPSB0cnVlO1xuICAgICAgICBjb25zdCBub2RlID0gQW5ndWxhckVkaXRvci50b1NsYXRlTm9kZShlZGl0b3IsIGNlbGwpO1xuICAgICAgICBjb25zdCBwYXRoID0gQW5ndWxhckVkaXRvci5maW5kUGF0aChlZGl0b3IsIG5vZGUpO1xuICAgICAgICB0aGlzLmFuY2hvckNlbGxQYXRoID0gcGF0aDtcbiAgICAgICAgdGhpcy5mb2N1c0NlbGxQYXRoID0gbnVsbDtcbiAgICAgICAgaWYgKCF0aGlzLnByZUZvY3VzQ2VsbFBhdGgpIHtcbiAgICAgICAgICAgIHRoaXMucHJlRm9jdXNDZWxsUGF0aCA9IHRoaXMuYW5jaG9yQ2VsbFBhdGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3RDZWxsT25nb2luZyhjZWxsOiBIVE1MVGFibGVDZWxsRWxlbWVudCwgZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgaWYgKEFuZ3VsYXJFZGl0b3IuaXNSZWFkb25seShlZGl0b3IpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFlZGl0b3Iuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGlzQ2hhbmdlZDogYm9vbGVhbjtcbiAgICAgICAgaWYgKGNlbGwpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBBbmd1bGFyRWRpdG9yLnRvU2xhdGVOb2RlKGVkaXRvciwgY2VsbCk7XG4gICAgICAgICAgICBjb25zdCBwYXRoID0gQW5ndWxhckVkaXRvci5maW5kUGF0aChlZGl0b3IsIG5vZGUpO1xuICAgICAgICAgICAgaXNDaGFuZ2VkID0gIXRoaXMuZm9jdXNDZWxsUGF0aCB8fCB0aGlzLmZvY3VzQ2VsbFBhdGgudG9TdHJpbmcoKSAhPT0gcGF0aC50b1N0cmluZygpO1xuICAgICAgICAgICAgdGhpcy5mb2N1c0NlbGxQYXRoID0gcGF0aDtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNDZWxsRWxlbWVudCA9IGNlbGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpc0NoYW5nZWQgPVxuICAgICAgICAgICAgICAgICF0aGlzLmZvY3VzQ2VsbFBhdGggfHxcbiAgICAgICAgICAgICAgICAodGhpcy5mb2N1c0NlbGxQYXRoLnRvU3RyaW5nKCkgPT09IHRoaXMuYW5jaG9yQ2VsbFBhdGgudG9TdHJpbmcoKSAmJiB0aGlzLnNlbGVjdGVkQ2VsbHMubGVuZ3RoID09PSAwKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pc1ByZXBhcmVTZWxlY3RpbmcgJiYgaXNDaGFuZ2VkKSB7XG4gICAgICAgICAgICBpZiAoSlNPTi5zdHJpbmdpZnkodGhpcy5wcmVGb2N1c0NlbGxQYXRoKSAhPT0gSlNPTi5zdHJpbmdpZnkodGhpcy5mb2N1c0NlbGxQYXRoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNDZWxsU2VsZWN0aW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdENlbGxzKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmVGb2N1c0NlbGxQYXRoID0gdGhpcy5mb2N1c0NlbGxQYXRoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0Q2VsbEVuZChlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICBpZiAodGhpcy5pc0NlbGxTZWxlY3RpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNDZWxsKGVkaXRvciwgdGhpcy5mb2N1c0NlbGxQYXRoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzUHJlcGFyZVNlbGVjdGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnByZUZvY3VzQ2VsbFBhdGggPSBudWxsO1xuICAgIH1cblxuICAgIGZvY3VzQ2VsbChlZGl0b3I6IEVkaXRvciwgcGF0aDogbnVtYmVyW10pIHtcbiAgICAgICAgY29uc3QgYXQgPSBFZGl0b3Iuc3RhcnQoZWRpdG9yLCBwYXRoKTtcbiAgICAgICAgVGhlRWRpdG9yLmZvY3VzKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBhdCk7XG4gICAgfVxuXG4gICAgZGFuZ2Vyb3VzQ2VsbHNDaGFuZ2UoKTogT2JzZXJ2YWJsZTxTZWxlY3RlZENlbGxbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYW5nZXJvdXNDZWxscyQuYXNPYnNlcnZhYmxlKCkucGlwZShza2lwKDEpKTtcbiAgICB9XG5cbiAgICBzZXREYW5nZXJvdXNDZWxscygpIHtcbiAgICAgICAgdGhpcy5kYW5nZXJvdXNSb3dzSW5kZXggPSB0aGlzLnNlbGVjdGVkUm93c0luZGV4O1xuICAgICAgICB0aGlzLmRhbmdlcm91c0NvbHVtbnNJbmRleCA9IHRoaXMuc2VsZWN0ZWRDb2x1bW5zSW5kZXg7XG4gICAgICAgIHRoaXMuZGFuZ2Vyb3VzQ2VsbHMkLm5leHQodGhpcy5zZWxlY3RlZENlbGxzKTtcbiAgICB9XG5cbiAgICBjbGVhckRhbmdlcm91c0NlbGxzKCkge1xuICAgICAgICB0aGlzLmRhbmdlcm91c1Jvd3NJbmRleCA9IFtdO1xuICAgICAgICB0aGlzLmRhbmdlcm91c0NvbHVtbnNJbmRleCA9IFtdO1xuICAgICAgICB0aGlzLmRhbmdlcm91c0NlbGxzJC5uZXh0KFtdKTtcbiAgICAgICAgY29uc3QgcG9zID0gdGhpcy5jcmVhdGVUYWJsZVBvc2l0aW9uKCk7XG4gICAgICAgIGlmIChwb3MudGFibGUpIHtcbiAgICAgICAgICAgIHRoaXMuaXNTZWxlY3RlZFRhYmxlID0gdGhpcy5zZWxlY3RlZFJvd3NJbmRleC5sZW5ndGggPT09IHBvcy5nZXRIZWlnaHQoKSAmJiB0aGlzLnNlbGVjdGVkQ29sdW1uc0luZGV4Lmxlbmd0aCA9PT0gcG9zLmdldFdpZHRoKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkYW5nZXJvdXNPclNlbGVjdGVkQ2VsbHNDaGFuZ2UoKTogT2JzZXJ2YWJsZTxTZWxlY3RlZENlbGxbXT4ge1xuICAgICAgICByZXR1cm4gbWVyZ2UodGhpcy5kYW5nZXJvdXNDZWxscyQuYXNPYnNlcnZhYmxlKCkucGlwZShza2lwKDEpKSwgdGhpcy5zZWxlY3RlZENlbGxzJC5hc09ic2VydmFibGUoKS5waXBlKHNraXAoMSkpKTtcbiAgICB9XG5cbiAgICBzZXREYW5nZXJvdXNSb3dzKCkge1xuICAgICAgICBjb25zdCBjZWxscyA9IHRoaXMuc2VsZWN0ZWRDZWxscztcbiAgICAgICAgY29uc3Qgcm93cyA9IHVuaXEobWFwKGNlbGxzLCAnY29sJykpO1xuICAgICAgICBjb25zdCBwb3MgPSB0aGlzLmNyZWF0ZVRhYmxlUG9zaXRpb24oKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG5cbiAgICAgICAgdGhpcy5kYW5nZXJvdXNSb3dzSW5kZXggPSByb3dzIGFzIG51bWJlcltdO1xuICAgICAgICB0aGlzLmlzU2VsZWN0ZWRUYWJsZSA9IHJvd3MubGVuZ3RoID09PSBwb3MuZ2V0SGVpZ2h0KCk7XG4gICAgICAgIGlmICh0aGlzLmlzU2VsZWN0ZWRUYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5kYW5nZXJvdXNDb2x1bW5zSW5kZXggPSBbLi4uQXJyYXkocG9zLmdldFdpZHRoKCkpXS5tYXAoKHYsIGkpID0+IGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCByb3dJbmRleCBvZiByb3dzKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBvcy5nZXRXaWR0aCgpOyBpKyspIHtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHJvdzogcm93SW5kZXgsXG4gICAgICAgICAgICAgICAgICAgIGNvbDogaVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGFuZ2Vyb3VzQ2VsbHMkLm5leHQocmVzdWx0KTtcbiAgICB9XG5cbiAgICBzZXREYW5nZXJvdXNDb2x1bW5zKCkge1xuICAgICAgICBjb25zdCBjZWxscyA9IHRoaXMuc2VsZWN0ZWRDZWxscztcbiAgICAgICAgY29uc3QgY29scyA9IHVuaXEobWFwKGNlbGxzLCAnY29sJykpO1xuICAgICAgICBjb25zdCBwb3MgPSB0aGlzLmNyZWF0ZVRhYmxlUG9zaXRpb24oKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG5cbiAgICAgICAgdGhpcy5kYW5nZXJvdXNDb2x1bW5zSW5kZXggPSBjb2xzIGFzIG51bWJlcltdO1xuICAgICAgICB0aGlzLmlzU2VsZWN0ZWRUYWJsZSA9IGNvbHMubGVuZ3RoID09PSBwb3MuZ2V0V2lkdGgoKTtcbiAgICAgICAgaWYgKHRoaXMuaXNTZWxlY3RlZFRhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmRhbmdlcm91c1Jvd3NJbmRleCA9IFsuLi5BcnJheShwb3MuZ2V0SGVpZ2h0KCkpXS5tYXAoKHYsIGkpID0+IGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBjb2xJbmRleCBvZiBjb2xzKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBvcy5nZXRIZWlnaHQoKTsgaSsrKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAgICAgICAgICAgICByb3c6IGksXG4gICAgICAgICAgICAgICAgICAgIGNvbDogY29sSW5kZXhcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRhbmdlcm91c0NlbGxzJC5uZXh0KHJlc3VsdCk7XG4gICAgfVxuXG4gICAgc2V0RGFuZ2Vyb3VzVGFibGUoKSB7XG4gICAgICAgIHRoaXMuaXNTZWxlY3RlZFRhYmxlID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgeyBjZWxscywgcG9zIH0gPSB0aGlzLmdldFRhYmxlQ2VsbHNBbmRQb3NpdGlvbih0aGlzLmVkaXRvcik7XG4gICAgICAgIHRoaXMuZGFuZ2Vyb3VzUm93c0luZGV4ID0gWy4uLkFycmF5KHBvcy5nZXRIZWlnaHQoKSldLm1hcCgodiwgaSkgPT4gaSk7XG4gICAgICAgIHRoaXMuZGFuZ2Vyb3VzQ29sdW1uc0luZGV4ID0gWy4uLkFycmF5KHBvcy5nZXRXaWR0aCgpKV0ubWFwKCh2LCBpKSA9PiBpKTtcbiAgICAgICAgdGhpcy5kYW5nZXJvdXNDZWxscyQubmV4dChjZWxscyk7XG4gICAgfVxuXG4gICAgc2VsZWN0Rmlyc3RDZWxsKCkge1xuICAgICAgICBjb25zdCB7IHJvdywgY29sIH0gPSB0aGlzLnNlbGVjdGVkQ2VsbHNbMF07XG4gICAgICAgIGNvbnN0IHRhYmxlUGF0aCA9IHRoaXMuZ2V0VGFibGVQYXRoKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgY29uc3QgcGF0aCA9IEVkaXRvci5zdGFydCh0aGlzLmVkaXRvciwgWy4uLnRhYmxlUGF0aCwgcm93LCBjb2xdKTtcbiAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QodGhpcy5lZGl0b3IsIHBhdGgpO1xuICAgIH1cblxuICAgIHNldFNlbGVjdGVkQ2VsbHNCYWNrZ3JvdW5kQ29sb3IoYmFja2dyb3VuZENvbG9yOiBDb2xvclR5cGUpIHtcbiAgICAgICAgY29uc3QgY2VsbHMgPSB0aGlzLnNlbGVjdGVkQ2VsbHM7XG4gICAgICAgIGNvbnN0IHRhYmxlUGF0aCA9IHRoaXMuZ2V0VGFibGVQYXRoKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgRWRpdG9yLndpdGhvdXROb3JtYWxpemluZyh0aGlzLmVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgZm9yIChjb25zdCBjZWxsIG9mIGNlbGxzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyByb3csIGNvbCB9ID0gY2VsbDtcbiAgICAgICAgICAgICAgICBjb25zdCBjZWxsUGF0aCA9IFsuLi50YWJsZVBhdGgsIHJvdywgY29sXTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKHRoaXMuZWRpdG9yLCB7IGJhY2tncm91bmRDb2xvciB9LCB7IGF0OiBjZWxsUGF0aCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0U2VsZWN0ZWRDZWxsQmFja2dyb3VuZENvbG9yKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmVkaXRvciAmJiB0aGlzLmVkaXRvci5zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgICAgICBhbmNob3I6IHsgcGF0aCB9XG4gICAgICAgICAgICB9ID0gdGhpcy5lZGl0b3Iuc2VsZWN0aW9uO1xuICAgICAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMoKTtcbiAgICAgICAgICAgIGNvbnN0IHsgY2VsbCB9ID0gVGFibGVQb3NpdGlvbi5jcmVhdGUob3B0cywgdGhpcy5lZGl0b3IsIHBhdGgpO1xuICAgICAgICAgICAgcmV0dXJuIGNlbGwgJiYgY2VsbC5iYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGNsZWFyU2VsZWN0ZWRDZWxsc0NvbnRlbnQoKSB7XG4gICAgICAgIGNvbnN0IGNlbGxzID0gdGhpcy5zZWxlY3RlZENlbGxzO1xuICAgICAgICBjb25zdCB0YWJsZVBvc2l0aW9uID0gdGhpcy5nZXRUYWJsZVBvc2l0aW9uKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgaWYgKHRhYmxlUG9zaXRpb24uaXNJblRhYmxlKCkpIHtcbiAgICAgICAgICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcodGhpcy5lZGl0b3IsICgpID0+IHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGNlbGwgb2YgY2VsbHMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyByb3csIGNvbCB9ID0gY2VsbDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2VsbFBhdGggPSBbLi4udGFibGVQb3NpdGlvbi50YWJsZUVudHJ5WzFdLCByb3csIGNvbF07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBOb2RlLmdldCh0aGlzLmVkaXRvciwgY2VsbFBhdGgpIGFzIFRhYmxlQ2VsbEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgIFRhYmxlRWRpdG9yLmNsZWFyQ2VsbCh0aGlzLmVkaXRvciwgW25vZGUsIGNlbGxQYXRoXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdCh0aGlzLmVkaXRvciwgRWRpdG9yLnN0YXJ0KHRoaXMuZWRpdG9yLCB0YWJsZVBvc2l0aW9uLmNlbGxFbnRyeVsxXSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbWVyZ2VDZWxsKGVkaXRvcjogRWRpdG9yKSB7XG4gICAgICAgIG1lcmdlQ2VsbChlZGl0b3IsIHRoaXMuc2VsZWN0ZWRDZWxscyk7XG4gICAgfVxuXG4gICAgc2V0VGFibGVPcHRpb25zKGVkaXRvcjogRWRpdG9yLCBvcHRpb25zOiBUaGVUYWJsZU9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgdGFibGVQYXRoID0gdGhpcy5nZXRUYWJsZVBhdGgodGhpcy5lZGl0b3IpO1xuICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKGVkaXRvciwgeyBvcHRpb25zIH0sIHsgYXQ6IHRhYmxlUGF0aCB9KTtcbiAgICB9XG5cbiAgICByZW1vdmVEYW5nZXJvdXNDb2x1bW5zKCkge1xuICAgICAgICBjb25zdCB7IGRhbmdlcm91c0NvbHVtbnNJbmRleCwgaXNTZWxlY3RlZFRhYmxlIH0gPSB0aGlzO1xuICAgICAgICBpZiAoaXNTZWxlY3RlZFRhYmxlKSB7XG4gICAgICAgICAgICBUYWJsZUVkaXRvci5yZW1vdmVUYWJsZSh0aGlzLmVkaXRvcik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZGFuZ2Vyb3VzQ29sdW1uc0luZGV4XG4gICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gYiAtIGEpXG4gICAgICAgICAgICAuZm9yRWFjaChpbmRleCA9PiB7XG4gICAgICAgICAgICAgICAgVGFibGVFZGl0b3IucmVtb3ZlQ29sdW1uKHRoaXMuZWRpdG9yLCBpbmRleCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jaGFuZ2VDZWxscygpO1xuICAgIH1cblxuICAgIHJlbW92ZURhbmdlcm91c1Jvd3MoKSB7XG4gICAgICAgIGNvbnN0IHsgZGFuZ2Vyb3VzUm93c0luZGV4LCBpc1NlbGVjdGVkVGFibGUgfSA9IHRoaXM7XG4gICAgICAgIGlmIChpc1NlbGVjdGVkVGFibGUpIHtcbiAgICAgICAgICAgIFRhYmxlRWRpdG9yLnJlbW92ZVRhYmxlKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBkYW5nZXJvdXNSb3dzSW5kZXhcbiAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBiIC0gYSlcbiAgICAgICAgICAgIC5mb3JFYWNoKGluZGV4ID0+IHtcbiAgICAgICAgICAgICAgICBUYWJsZUVkaXRvci5yZW1vdmVSb3codGhpcy5lZGl0b3IsIGluZGV4KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNoYW5nZUNlbGxzKCk7XG4gICAgfVxuXG4gICAgY3JlYXRlVGFibGVQb3NpdGlvbigpOiBUYWJsZVBvc2l0aW9uIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgYW5jaG9yOiB7IHBhdGggfVxuICAgICAgICB9ID0gdGhpcy5lZGl0b3Iuc2VsZWN0aW9uO1xuICAgICAgICBjb25zdCBvcHRzID0gbmV3IFRhYmxlT3B0aW9ucygpO1xuICAgICAgICByZXR1cm4gVGFibGVQb3NpdGlvbi5jcmVhdGUob3B0cywgdGhpcy5lZGl0b3IsIHBhdGgpO1xuICAgIH1cblxuICAgIHJlbW92ZUNvbHVtbk9yUm93cygpIHtcbiAgICAgICAgY29uc3QgeyBzZWxlY3RlZFJvd3NJbmRleCwgc2VsZWN0ZWRDb2x1bW5zSW5kZXgsIGlzU2VsZWN0ZWRUYWJsZSB9ID0gdGhpcztcbiAgICAgICAgaWYgKGlzU2VsZWN0ZWRUYWJsZSkge1xuICAgICAgICAgICAgVGFibGVFZGl0b3IucmVtb3ZlVGFibGUodGhpcy5lZGl0b3IpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzZWxlY3RlZFJvd3NJbmRleC5sZW5ndGggPiAwICYmIHNlbGVjdGVkQ29sdW1uc0luZGV4Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgc2VsZWN0ZWRSb3dzSW5kZXhcbiAgICAgICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gYiAtIGEpXG4gICAgICAgICAgICAgICAgLmZvckVhY2goaW5kZXggPT4ge1xuICAgICAgICAgICAgICAgICAgICBUYWJsZUVkaXRvci5yZW1vdmVSb3codGhpcy5lZGl0b3IsIGluZGV4KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlQ2VsbHMoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2VsZWN0ZWRDb2x1bW5zSW5kZXgubGVuZ3RoID4gMCAmJiBzZWxlY3RlZFJvd3NJbmRleC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHNlbGVjdGVkQ29sdW1uc0luZGV4XG4gICAgICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGIgLSBhKVxuICAgICAgICAgICAgICAgIC5mb3JFYWNoKGluZGV4ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgVGFibGVFZGl0b3IucmVtb3ZlQ29sdW1uKHRoaXMuZWRpdG9yLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZUNlbGxzKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -4,7 +4,7 @@ import { TheTableSelectComponent } from '../../components/table-select/table-sel
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "ngx-tethys/popover";
|
|
6
6
|
import * as i2 from "@angular/cdk/overlay";
|
|
7
|
-
import * as i3 from "ngx-tethys/
|
|
7
|
+
import * as i3 from "ngx-tethys/action";
|
|
8
8
|
import * as i4 from "ngx-tethys/icon";
|
|
9
9
|
import * as i5 from "ngx-tethys/tooltip";
|
|
10
10
|
export class TheTableToolbarItemComponent extends TheBaseToolbarItem {
|
|
@@ -46,34 +46,36 @@ export class TheTableToolbarItemComponent extends TheBaseToolbarItem {
|
|
|
46
46
|
return this.tableSelectRef;
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
-
TheTableToolbarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
50
|
-
TheTableToolbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
|
49
|
+
TheTableToolbarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TheTableToolbarItemComponent, deps: [{ token: i1.ThyPopover }, { token: i2.Overlay }], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
+
TheTableToolbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TheTableToolbarItemComponent, selector: "the-table-toolbar-item", host: { classAttribute: "the-toolbar-dropdown-container" }, usesInheritance: true, ngImport: i0, template: `
|
|
51
51
|
<a
|
|
52
|
-
|
|
52
|
+
href="javascript:;"
|
|
53
53
|
class="link-with-down"
|
|
54
|
+
thyAction
|
|
55
|
+
[thyActionIcon]="toolbarItem.icon"
|
|
56
|
+
[thyActionActive]="active"
|
|
54
57
|
[thyTooltip]="toolbarItem?.name"
|
|
55
58
|
thyTooltipPlacement="top"
|
|
56
|
-
[thyIconNavLinkActive]="active"
|
|
57
59
|
(mousedown)="execute($event)"
|
|
58
60
|
>
|
|
59
|
-
<thy-icon [thyIconName]="toolbarItem.icon"></thy-icon>
|
|
60
61
|
<thy-icon class="link-down-icon font-size-sm text-desc table-down-icon" thyIconName="caret-down"> </thy-icon>
|
|
61
62
|
</a>
|
|
62
|
-
`, isInline: true, components: [{ type: i3.
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
63
|
+
`, isInline: true, components: [{ type: i3.ThyActionComponent, selector: "thy-action, [thyAction]", inputs: ["thyActionIcon", "thyActionActive", "thyType"] }, { type: i4.ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], directives: [{ type: i5.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }] });
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TheTableToolbarItemComponent, decorators: [{
|
|
64
65
|
type: Component,
|
|
65
66
|
args: [{
|
|
66
67
|
selector: 'the-table-toolbar-item',
|
|
67
68
|
template: `
|
|
68
69
|
<a
|
|
69
|
-
|
|
70
|
+
href="javascript:;"
|
|
70
71
|
class="link-with-down"
|
|
72
|
+
thyAction
|
|
73
|
+
[thyActionIcon]="toolbarItem.icon"
|
|
74
|
+
[thyActionActive]="active"
|
|
71
75
|
[thyTooltip]="toolbarItem?.name"
|
|
72
76
|
thyTooltipPlacement="top"
|
|
73
|
-
[thyIconNavLinkActive]="active"
|
|
74
77
|
(mousedown)="execute($event)"
|
|
75
78
|
>
|
|
76
|
-
<thy-icon [thyIconName]="toolbarItem.icon"></thy-icon>
|
|
77
79
|
<thy-icon class="link-down-icon font-size-sm text-desc table-down-icon" thyIconName="caret-down"> </thy-icon>
|
|
78
80
|
</a>
|
|
79
81
|
`,
|
|
@@ -82,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
|
|
|
82
84
|
}
|
|
83
85
|
}]
|
|
84
86
|
}], ctorParameters: function () { return [{ type: i1.ThyPopover }, { type: i2.Overlay }]; } });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3Rvb2xiYXItaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7OztBQXVCL0YsTUFBTSxPQUFPLDRCQUE2QixTQUFRLGtCQUFrQjtJQU9oRSxZQUFvQixVQUFzQixFQUFVLE9BQWdCO1FBQ2hFLEtBQUssRUFBRSxDQUFDO1FBRFEsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQVM7SUFFcEUsQ0FBQztJQU5ELElBQUksaUJBQWlCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDO0lBQ3hFLENBQUM7SUFNRCxPQUFPLENBQUMsS0FBaUI7UUFDckIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVyQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFO1lBQ3ZCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBaUIsRUFBRSxZQUEyQjtRQUM1RCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzVCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUU7WUFDaEUsTUFBTSxFQUFFLEtBQUssQ0FBQyxhQUE0QjtZQUMxQyxZQUFZLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixZQUFZO2FBQ2Y7WUFDRCxRQUFRLEVBQUUsQ0FBQztZQUNYLGdCQUFnQixFQUFFLEtBQUs7WUFDdkIsV0FBVyxFQUFFLEtBQUs7WUFDbEIsY0FBYyxFQUFFLEtBQUs7WUFDckIsU0FBUyxFQUFFLFlBQVk7WUFDdkIsTUFBTSxFQUFFLEVBQUU7WUFDVixVQUFVLEVBQUUsMkJBQTJCO1lBQ3ZDLGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRTtTQUM3RCxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQzs7MEhBekNRLDRCQUE0Qjs4R0FBNUIsNEJBQTRCLGlKQWxCM0I7Ozs7Ozs7Ozs7Ozs7S0FhVDs0RkFLUSw0QkFBNEI7a0JBcEJ4QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7OztLQWFUO29CQUNELElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsZ0NBQWdDO3FCQUMxQztpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXIsIFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgVGhlQmFzZVRvb2xiYXJJdGVtIH0gZnJvbSAnLi4vLi4vY29yZS90b29sYmFyLWl0ZW0vYmFzZS10b29sYmFyLWl0ZW0nO1xuaW1wb3J0IHsgVGhlVGFibGVTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3RhYmxlLXNlbGVjdC90YWJsZS1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlT3B0aW9ucyB9IGZyb20gJy4vdGFibGUudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoZS10YWJsZS10b29sYmFyLWl0ZW0nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxhXG4gICAgICAgICAgICBocmVmPVwiamF2YXNjcmlwdDo7XCJcbiAgICAgICAgICAgIGNsYXNzPVwibGluay13aXRoLWRvd25cIlxuICAgICAgICAgICAgdGh5QWN0aW9uXG4gICAgICAgICAgICBbdGh5QWN0aW9uSWNvbl09XCJ0b29sYmFySXRlbS5pY29uXCJcbiAgICAgICAgICAgIFt0aHlBY3Rpb25BY3RpdmVdPVwiYWN0aXZlXCJcbiAgICAgICAgICAgIFt0aHlUb29sdGlwXT1cInRvb2xiYXJJdGVtPy5uYW1lXCJcbiAgICAgICAgICAgIHRoeVRvb2x0aXBQbGFjZW1lbnQ9XCJ0b3BcIlxuICAgICAgICAgICAgKG1vdXNlZG93bik9XCJleGVjdXRlKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8dGh5LWljb24gY2xhc3M9XCJsaW5rLWRvd24taWNvbiBmb250LXNpemUtc20gdGV4dC1kZXNjIHRhYmxlLWRvd24taWNvblwiIHRoeUljb25OYW1lPVwiY2FyZXQtZG93blwiPiA8L3RoeS1pY29uPlxuICAgICAgICA8L2E+XG4gICAgYCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGhlLXRvb2xiYXItZHJvcGRvd24tY29udGFpbmVyJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVGhlVGFibGVUb29sYmFySXRlbUNvbXBvbmVudCBleHRlbmRzIFRoZUJhc2VUb29sYmFySXRlbSB7XG4gICAgdGFibGVTZWxlY3RSZWY6IFRoeVBvcG92ZXJSZWY8VGhlVGFibGVTZWxlY3RDb21wb25lbnQ+O1xuXG4gICAgZ2V0IGlzT3BlblRhYmxlU2VsZWN0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJsZVNlbGVjdFJlZiAmJiB0aGlzLnRhYmxlU2VsZWN0UmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdGh5UG9wb3ZlcjogVGh5UG9wb3ZlciwgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgZXhlY3V0ZShldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBzdXBlci5leGVjdXRlKGV2ZW50KTtcblxuICAgICAgICBpZiAodGhpcy5lZGl0b3I/LmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50b2dnbGVUYWJsZVNlbGVjdChldmVudCk7XG4gICAgfVxuXG4gICAgdG9nZ2xlVGFibGVTZWxlY3QoZXZlbnQ6IE1vdXNlRXZlbnQsIG9wdGlvbnNQYXJhbT86IFRhYmxlT3B0aW9ucykge1xuICAgICAgICBpZiAodGhpcy5pc09wZW5UYWJsZVNlbGVjdCkge1xuICAgICAgICAgICAgdGhpcy50YWJsZVNlbGVjdFJlZi5jbG9zZSgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGFibGVTZWxlY3RSZWYgPSB0aGlzLnRoeVBvcG92ZXIub3BlbihUaGVUYWJsZVNlbGVjdENvbXBvbmVudCwge1xuICAgICAgICAgICAgb3JpZ2luOiBldmVudC5jdXJyZW50VGFyZ2V0IGFzIEhUTUxFbGVtZW50LFxuICAgICAgICAgICAgaW5pdGlhbFN0YXRlOiB7XG4gICAgICAgICAgICAgICAgZWRpdG9yOiB0aGlzLmVkaXRvcixcbiAgICAgICAgICAgICAgICBvcHRpb25zUGFyYW1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBtaW5XaWR0aDogMCxcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xvc2FibGU6IGZhbHNlLFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgICAgaW5zaWRlQ2xvc2FibGU6IGZhbHNlLFxuICAgICAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tTGVmdCcsXG4gICAgICAgICAgICBvZmZzZXQ6IDEwLFxuICAgICAgICAgICAgcGFuZWxDbGFzczogJ3RoZS10YWJsZS1zZWxlY3Rvci1wYW5uZWwnLFxuICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFibGVTZWxlY3RSZWY7XG4gICAgfVxufVxuIl19
|