@worktile/theia 13.1.1 → 13.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/components/toolbar-dropdown/toolbar-dropdown.component.mjs +3 -4
- package/esm2020/plugins/hr/hr.component.mjs +3 -3
- package/esm2020/plugins/table/components/td/td.component.mjs +3 -2
- package/esm2020/queries/index.mjs +3 -2
- package/esm2020/queries/is-global-collapsed.mjs +5 -0
- package/fesm2015/worktile-theia.mjs +11 -6
- package/fesm2015/worktile-theia.mjs.map +1 -1
- package/fesm2020/worktile-theia.mjs +11 -6
- package/fesm2020/worktile-theia.mjs.map +1 -1
- package/package.json +1 -1
- package/queries/index.d.ts +2 -1
- package/queries/is-global-collapsed.d.ts +2 -0
|
@@ -8,7 +8,6 @@ import * as i3 from "ngx-tethys/action";
|
|
|
8
8
|
import * as i4 from "ngx-tethys/icon";
|
|
9
9
|
import * as i5 from "ngx-tethys/dropdown";
|
|
10
10
|
import * as i6 from "@angular/common";
|
|
11
|
-
import * as i7 from "ngx-tethys/tooltip";
|
|
12
11
|
export class TheToolbarDropdownComponent extends TheBaseToolbarDropdown {
|
|
13
12
|
constructor(elementRef, thyPopover, viewContainerRef, overlay) {
|
|
14
13
|
super();
|
|
@@ -101,10 +100,10 @@ export class TheToolbarDropdownComponent extends TheBaseToolbarDropdown {
|
|
|
101
100
|
}
|
|
102
101
|
}
|
|
103
102
|
TheToolbarDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TheToolbarDropdownComponent, deps: [{ token: i0.ElementRef }, { token: i1.ThyPopover }, { token: i0.ViewContainerRef }, { token: i2.Overlay }], target: i0.ɵɵFactoryTarget.Component });
|
|
104
|
-
TheToolbarDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TheToolbarDropdownComponent, selector: "the-toolbar-dropdown", inputs: { itemMousedownHandle: "itemMousedownHandle" }, host: { properties: { "class": "this.className" } }, viewQueries: [{ propertyName: "iconModeTemplate", first: true, predicate: ["iconModeTemplate"], descendants: true, static: true }, { propertyName: "textModeTemplate", first: true, predicate: ["textModeTemplate"], descendants: true, static: true }, { propertyName: "dropdownTemplate", first: true, predicate: ["dropdownTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<a\n *ngIf=\"mode === dropdownMode.icon\"\n href=\"javascript:;\"\n class=\"icon-mode link-with-down\"\n thyAction\n [thyActionIcon]=\"activeMenuItem?.icon\"\n
|
|
103
|
+
TheToolbarDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TheToolbarDropdownComponent, selector: "the-toolbar-dropdown", inputs: { itemMousedownHandle: "itemMousedownHandle" }, host: { properties: { "class": "this.className" } }, viewQueries: [{ propertyName: "iconModeTemplate", first: true, predicate: ["iconModeTemplate"], descendants: true, static: true }, { propertyName: "textModeTemplate", first: true, predicate: ["textModeTemplate"], descendants: true, static: true }, { propertyName: "dropdownTemplate", first: true, predicate: ["dropdownTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<a\n *ngIf=\"mode === dropdownMode.icon\"\n href=\"javascript:;\"\n class=\"icon-mode link-with-down\"\n thyAction\n [thyActionIcon]=\"activeMenuItem?.icon\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"preventDefault($event)\"\n (click)=\"toggleDropdown($event)\"\n>\n <thy-icon class=\"caret-down-icon font-size-sm text-desc\" thyIconName=\"caret-down\"></thy-icon>\n</a>\n<a\n *ngIf=\"mode !== dropdownMode.icon\"\n href=\"javascript:;\"\n class=\"text-mode\"\n thyAction\n thyTooltipPlacement=\"top\"\n (mousedown)=\"preventDefault($event)\"\n (click)=\"toggleDropdown($event)\"\n>\n <span class=\"show-text\">{{ activeMenuItem?.name }}</span>\n <thy-icon class=\"font-size-sm text-desc\" thyIconName=\"caret-down\"></thy-icon>\n</a>\n\n<ng-template #dropdownTemplate>\n <div class=\"thy-dropdown-menu\">\n <ng-container *ngFor=\"let menu of menus\">\n <a\n *ngIf=\"menu.key !== 'split'\"\n href=\"javascript:;\"\n thyDropdownMenuItem\n [ngStyle]=\"menu?.styles\"\n [thyDropdownMenuItemActive]=\"menu.key === activeMenuItem?.key && !toolbarItem?.dropdownFixedIcon\"\n (mousedown)=\"preventDefault($event)\"\n (click)=\"itemMousedown($event, menu)\"\n >\n <thy-icon *ngIf=\"menu.icon && mode === dropdownMode.icon\" thyDropdownMenuItemIcon [thyIconName]=\"menu.icon\"></thy-icon>\n <span *ngIf=\"menu.name\" thyDropdownMenuItemName>{{ menu.name }}</span>\n </a>\n <thy-dropdown-menu-divider *ngIf=\"menu.key === 'split'\"></thy-dropdown-menu-divider>\n </ng-container>\n </div>\n</ng-template>\n", components: [{ type: i3.ThyActionComponent, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { type: i4.ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { type: i5.ThyDropdownMenuDividerComponent, selector: "thy-dropdown-menu-divider" }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i5.ThyDropdownMenuItemActiveDirective, selector: "[thyDropdownMenuItemActive]", inputs: ["thyDropdownMenuItemActive"] }, { type: i5.ThyDropdownMenuItemIconDirective, selector: "[thyDropdownMenuItemIcon]" }, { type: i5.ThyDropdownMenuItemNameDirective, selector: "[thyDropdownMenuItemName]" }] });
|
|
105
104
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TheToolbarDropdownComponent, decorators: [{
|
|
106
105
|
type: Component,
|
|
107
|
-
args: [{ selector: 'the-toolbar-dropdown', template: "<a\n *ngIf=\"mode === dropdownMode.icon\"\n href=\"javascript:;\"\n class=\"icon-mode link-with-down\"\n thyAction\n [thyActionIcon]=\"activeMenuItem?.icon\"\n
|
|
106
|
+
args: [{ selector: 'the-toolbar-dropdown', template: "<a\n *ngIf=\"mode === dropdownMode.icon\"\n href=\"javascript:;\"\n class=\"icon-mode link-with-down\"\n thyAction\n [thyActionIcon]=\"activeMenuItem?.icon\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"preventDefault($event)\"\n (click)=\"toggleDropdown($event)\"\n>\n <thy-icon class=\"caret-down-icon font-size-sm text-desc\" thyIconName=\"caret-down\"></thy-icon>\n</a>\n<a\n *ngIf=\"mode !== dropdownMode.icon\"\n href=\"javascript:;\"\n class=\"text-mode\"\n thyAction\n thyTooltipPlacement=\"top\"\n (mousedown)=\"preventDefault($event)\"\n (click)=\"toggleDropdown($event)\"\n>\n <span class=\"show-text\">{{ activeMenuItem?.name }}</span>\n <thy-icon class=\"font-size-sm text-desc\" thyIconName=\"caret-down\"></thy-icon>\n</a>\n\n<ng-template #dropdownTemplate>\n <div class=\"thy-dropdown-menu\">\n <ng-container *ngFor=\"let menu of menus\">\n <a\n *ngIf=\"menu.key !== 'split'\"\n href=\"javascript:;\"\n thyDropdownMenuItem\n [ngStyle]=\"menu?.styles\"\n [thyDropdownMenuItemActive]=\"menu.key === activeMenuItem?.key && !toolbarItem?.dropdownFixedIcon\"\n (mousedown)=\"preventDefault($event)\"\n (click)=\"itemMousedown($event, menu)\"\n >\n <thy-icon *ngIf=\"menu.icon && mode === dropdownMode.icon\" thyDropdownMenuItemIcon [thyIconName]=\"menu.icon\"></thy-icon>\n <span *ngIf=\"menu.name\" thyDropdownMenuItemName>{{ menu.name }}</span>\n </a>\n <thy-dropdown-menu-divider *ngIf=\"menu.key === 'split'\"></thy-dropdown-menu-divider>\n </ng-container>\n </div>\n</ng-template>\n" }]
|
|
108
107
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ThyPopover }, { type: i0.ViewContainerRef }, { type: i2.Overlay }]; }, propDecorators: { className: [{
|
|
109
108
|
type: HostBinding,
|
|
110
109
|
args: ['class']
|
|
@@ -120,4 +119,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
120
119
|
type: ViewChild,
|
|
121
120
|
args: ['dropdownTemplate', { static: true }]
|
|
122
121
|
}] } });
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvY29tcG9uZW50cy90b29sYmFyLWRyb3Bkb3duL3Rvb2xiYXItZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvbXBvbmVudHMvdG9vbGJhci1kcm9wZG93bi90b29sYmFyLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXNCLEtBQUssRUFBZSxTQUFTLEVBQW9CLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUk1SCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7Ozs7OztBQU1uRixNQUFNLE9BQU8sMkJBQTRCLFNBQVEsc0JBQXNCO0lBc0JuRSxZQUNXLFVBQXNCLEVBQ3JCLFVBQXNCLEVBQ3RCLGdCQUFrQyxFQUNsQyxPQUFnQjtRQUV4QixLQUFLLEVBQUUsQ0FBQztRQUxELGVBQVUsR0FBVixVQUFVLENBQVk7UUFDckIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLFlBQU8sR0FBUCxPQUFPLENBQVM7UUF6Qk4sY0FBUyxHQUFHLGdDQUFnQyxDQUFDO1FBS25FLGlCQUFZLEdBQUcsWUFBWSxDQUFDO0lBdUI1QixDQUFDO0lBcEJELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkksQ0FBQztJQW9CRCxRQUFRO1FBQ0os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O1lBQ3RDLEdBQUcsV0FBVztZQUNkLFFBQVEsRUFBRSxLQUFLO1lBQ2YsT0FBTyxFQUFFLEVBQUU7U0FDZCxDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsT0FBTzthQUNkLFFBQVEsRUFBRTthQUNWLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDcEMsc0JBQXNCLENBQUMsS0FBSyxDQUFDO2FBQzdCLGlCQUFpQixDQUFDLEtBQUssQ0FBQzthQUN4QixRQUFRLENBQUMsS0FBSyxDQUFDO2FBQ2YsYUFBYSxDQUFDLENBQUMsY0FBYyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7eUhBdkhRLDJCQUEyQjs2R0FBM0IsMkJBQTJCLDhpQkNaeEMsZ3pEQThDQTs0RkRsQ2EsMkJBQTJCO2tCQUp2QyxTQUFTOytCQUNJLHNCQUFzQjsrS0FJVixTQUFTO3NCQUE5QixXQUFXO3VCQUFDLE9BQU87Z0JBRVgsbUJBQW1CO3NCQUEzQixLQUFLO2dCQVdOLGdCQUFnQjtzQkFEZixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJL0MsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUkvQyxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgRWxlbWVudFJlZiwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25uZWN0ZWRQb3NpdGlvbiwgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRoeVBvcG92ZXIsIFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRHJvcGRvd25Nb2RlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3Rvb2xiYXInO1xuaW1wb3J0IHsgVG9vbGJhckl0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3Rvb2xiYXInO1xuaW1wb3J0IHsgVGhlQmFzZVRvb2xiYXJEcm9wZG93biB9IGZyb20gJy4uLy4uL2NvcmUvdG9vbGJhci1pdGVtL2Jhc2UtdG9vbGJhci1pdGVtJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aGUtdG9vbGJhci1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Rvb2xiYXItZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFRoZVRvb2xiYXJEcm9wZG93bkNvbXBvbmVudCBleHRlbmRzIFRoZUJhc2VUb29sYmFyRHJvcGRvd24gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzc05hbWUgPSAndGhlLXRvb2xiYXItZHJvcGRvd24tY29udGFpbmVyJztcblxuICAgIEBJbnB1dCgpIGl0ZW1Nb3VzZWRvd25IYW5kbGU6IChpdGVtOiBUb29sYmFySXRlbSkgPT4gdm9pZDtcblxuICAgIGVkaXRvcjogRWRpdG9yO1xuICAgIGRyb3Bkb3duTW9kZSA9IERyb3Bkb3duTW9kZTtcbiAgICBwdWJsaWMgZHJvcGRvd25Qb3BvdmVyUmVmOiBUaHlQb3BvdmVyUmVmPGFueT47XG5cbiAgICBnZXQgaXNPcGVuKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kcm9wZG93blBvcG92ZXJSZWYgJiYgdGhpcy5kcm9wZG93blBvcG92ZXJSZWYuZ2V0T3ZlcmxheVJlZigpICYmIHRoaXMuZHJvcGRvd25Qb3BvdmVyUmVmLmdldE92ZXJsYXlSZWYoKS5oYXNBdHRhY2hlZCgpO1xuICAgIH1cblxuICAgIEBWaWV3Q2hpbGQoJ2ljb25Nb2RlVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIGljb25Nb2RlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAVmlld0NoaWxkKCd0ZXh0TW9kZVRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgICB0ZXh0TW9kZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQFZpZXdDaGlsZCgnZHJvcGRvd25UZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgZHJvcGRvd25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSB0aHlQb3BvdmVyOiBUaHlQb3BvdmVyLFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAoIXRoaXMuYWN0aXZlTWVudUl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlTWVudUl0ZW0gPSB0aGlzLmRlZmF1bHREcm9wZG93bkl0ZW07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50b29sYmFySXRlbSAmJiB0aGlzLnRvb2xiYXJJdGVtPy5rZXkpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Py5jbGFzc0xpc3Q/LmFkZChgJHt0aGlzLnRvb2xiYXJJdGVtPy5rZXl9YCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0b2dnbGVEcm9wZG93bihldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBzdXBlci5leGVjdXRlKGV2ZW50KTtcblxuICAgICAgICBpZiAodGhpcy5lZGl0b3I/LmRpc2FibGVkIHx8IHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9wZW5Ecm9wZG93blBvcG92ZXIoZXZlbnQpO1xuICAgIH1cblxuICAgIGl0ZW1Nb3VzZWRvd24oZXZlbnQ6IE1vdXNlRXZlbnQsIGl0ZW06IFRvb2xiYXJJdGVtKSB7XG4gICAgICAgIHN1cGVyLmV4ZWN1dGUoZXZlbnQpO1xuXG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93blBvcG92ZXIoKTtcblxuICAgICAgICBpZiAoIXRoaXMudG9vbGJhckl0ZW0uZHJvcGRvd25GaXhlZEljb24pIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlTWVudUl0ZW0gPSBpdGVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXRlbU1vdXNlZG93bkhhbmRsZSkge1xuICAgICAgICAgICAgdGhpcy5pdGVtTW91c2Vkb3duSGFuZGxlKGl0ZW0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGl0ZW0/LmV4ZWN1dGUpIHtcbiAgICAgICAgICAgIGl0ZW0/LmV4ZWN1dGUodGhpcy5lZGl0b3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJldmVudERlZmF1bHQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIG9wZW5Ecm9wZG93blBvcG92ZXIoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgdGhpcy5kcm9wZG93blBvcG92ZXJSZWYgPSB0aGlzLnRoeVBvcG92ZXIub3Blbih0aGlzLmRyb3Bkb3duVGVtcGxhdGUsIHtcbiAgICAgICAgICAgIG9yaWdpbjogZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6IFsndGhlLXRvb2xiYXItZHJvcGRvd24tcG9wb3ZlcicsIHRoaXMudG9vbGJhckl0ZW0/LmtleV0sXG4gICAgICAgICAgICBvcmlnaW5BY3RpdmVDbGFzczogJ2FjdGl2ZScsXG4gICAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b21MZWZ0JyxcbiAgICAgICAgICAgIGluc2lkZUNsb3NhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIG91dHNpZGVDbG9zYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xvc2FibGU6IHRydWUsXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICAgICAgICBvZmZzZXQ6IDEwLFxuICAgICAgICAgICAgbWluV2lkdGg6IDAsXG4gICAgICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnZpZXdDb250YWluZXJSZWYsXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmRyb3Bkb3duUG9wb3ZlclJlZj8uZ2V0T3ZlcmxheVJlZigpLnVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3kodGhpcy5jcmVhdGVQb3NpdGlvblN0cmF0ZWd5KCkpO1xuICAgIH1cblxuICAgIGNsb3NlRHJvcGRvd25Qb3BvdmVyKCkge1xuICAgICAgICBpZiAodGhpcy5kcm9wZG93blBvcG92ZXJSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25Qb3BvdmVyUmVmPy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY3JlYXRlUG9zaXRpb25TdHJhdGVneSgpIHtcbiAgICAgICAgY29uc3QgdG9wUG9zaXRpb246IENvbm5lY3RlZFBvc2l0aW9uID0ge1xuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgICAgICBvZmZzZXRYOiAwLFxuICAgICAgICAgICAgb2Zmc2V0WTogLTE1XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGJvdHRvbVBvc2l0aW9uOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHtcbiAgICAgICAgICAgIC4uLnRvcFBvc2l0aW9uLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICAgICAgb2Zmc2V0WTogNDJcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheVxuICAgICAgICAgICAgLnBvc2l0aW9uKClcbiAgICAgICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuZWxlbWVudFJlZilcbiAgICAgICAgICAgIC53aXRoRmxleGlibGVEaW1lbnNpb25zKGZhbHNlKVxuICAgICAgICAgICAgLndpdGhHcm93QWZ0ZXJPcGVuKGZhbHNlKVxuICAgICAgICAgICAgLndpdGhQdXNoKGZhbHNlKVxuICAgICAgICAgICAgLndpdGhQb3NpdGlvbnMoW2JvdHRvbVBvc2l0aW9uLCB0b3BQb3NpdGlvbl0pO1xuICAgIH1cbn1cbiIsIjxhXG4gICAgKm5nSWY9XCJtb2RlID09PSBkcm9wZG93bk1vZGUuaWNvblwiXG4gICAgaHJlZj1cImphdmFzY3JpcHQ6O1wiXG4gICAgY2xhc3M9XCJpY29uLW1vZGUgbGluay13aXRoLWRvd25cIlxuICAgIHRoeUFjdGlvblxuICAgIFt0aHlBY3Rpb25JY29uXT1cImFjdGl2ZU1lbnVJdGVtPy5pY29uXCJcbiAgICBbdGh5VG9vbHRpcF09XCJhY3RpdmVNZW51SXRlbT8ubmFtZVwiXG4gICAgdGh5VG9vbHRpcFBsYWNlbWVudD1cInRvcFwiXG4gICAgKG1vdXNlZG93bik9XCJwcmV2ZW50RGVmYXVsdCgkZXZlbnQpXCJcbiAgICAoY2xpY2spPVwidG9nZ2xlRHJvcGRvd24oJGV2ZW50KVwiXG4+XG4gICAgPHRoeS1pY29uIGNsYXNzPVwiY2FyZXQtZG93bi1pY29uIGZvbnQtc2l6ZS1zbSB0ZXh0LWRlc2NcIiB0aHlJY29uTmFtZT1cImNhcmV0LWRvd25cIj48L3RoeS1pY29uPlxuPC9hPlxuPGFcbiAgICAqbmdJZj1cIm1vZGUgIT09IGRyb3Bkb3duTW9kZS5pY29uXCJcbiAgICBocmVmPVwiamF2YXNjcmlwdDo7XCJcbiAgICBjbGFzcz1cInRleHQtbW9kZVwiXG4gICAgdGh5QWN0aW9uXG4gICAgW3RoeVRvb2x0aXBdPVwiYWN0aXZlTWVudUl0ZW0/Lm5hbWVcIlxuICAgIHRoeVRvb2x0aXBQbGFjZW1lbnQ9XCJ0b3BcIlxuICAgIChtb3VzZWRvd24pPVwicHJldmVudERlZmF1bHQoJGV2ZW50KVwiXG4gICAgKGNsaWNrKT1cInRvZ2dsZURyb3Bkb3duKCRldmVudClcIlxuPlxuICAgIDxzcGFuIGNsYXNzPVwic2hvdy10ZXh0XCI+e3sgYWN0aXZlTWVudUl0ZW0/Lm5hbWUgfX08L3NwYW4+XG4gICAgPHRoeS1pY29uIGNsYXNzPVwiZm9udC1zaXplLXNtIHRleHQtZGVzY1wiIHRoeUljb25OYW1lPVwiY2FyZXQtZG93blwiPjwvdGh5LWljb24+XG48L2E+XG5cbjxuZy10ZW1wbGF0ZSAjZHJvcGRvd25UZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwidGh5LWRyb3Bkb3duLW1lbnVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWVudSBvZiBtZW51c1wiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAqbmdJZj1cIm1lbnUua2V5ICE9PSAnc3BsaXQnXCJcbiAgICAgICAgICAgICAgICBocmVmPVwiamF2YXNjcmlwdDo7XCJcbiAgICAgICAgICAgICAgICB0aHlEcm9wZG93bk1lbnVJdGVtXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwibWVudT8uc3R5bGVzXCJcbiAgICAgICAgICAgICAgICBbdGh5RHJvcGRvd25NZW51SXRlbUFjdGl2ZV09XCJtZW51LmtleSA9PT0gYWN0aXZlTWVudUl0ZW0/LmtleSAmJiAhdG9vbGJhckl0ZW0/LmRyb3Bkb3duRml4ZWRJY29uXCJcbiAgICAgICAgICAgICAgICAobW91c2Vkb3duKT1cInByZXZlbnREZWZhdWx0KCRldmVudClcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJpdGVtTW91c2Vkb3duKCRldmVudCwgbWVudSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0aHktaWNvbiAqbmdJZj1cIm1lbnUuaWNvbiAmJiBtb2RlID09PSBkcm9wZG93bk1vZGUuaWNvblwiIHRoeURyb3Bkb3duTWVudUl0ZW1JY29uIFt0aHlJY29uTmFtZV09XCJtZW51Lmljb25cIj48L3RoeS1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibWVudS5uYW1lXCIgdGh5RHJvcGRvd25NZW51SXRlbU5hbWU+e3sgbWVudS5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPHRoeS1kcm9wZG93bi1tZW51LWRpdmlkZXIgKm5nSWY9XCJtZW51LmtleSA9PT0gJ3NwbGl0J1wiPjwvdGh5LWRyb3Bkb3duLW1lbnUtZGl2aWRlcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvY29tcG9uZW50cy90b29sYmFyLWRyb3Bkb3duL3Rvb2xiYXItZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvbXBvbmVudHMvdG9vbGJhci1kcm9wZG93bi90b29sYmFyLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXNCLEtBQUssRUFBZSxTQUFTLEVBQW9CLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUk1SCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7Ozs7O0FBTW5GLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxzQkFBc0I7SUFzQm5FLFlBQ1csVUFBc0IsRUFDckIsVUFBc0IsRUFDdEIsZ0JBQWtDLEVBQ2xDLE9BQWdCO1FBRXhCLEtBQUssRUFBRSxDQUFDO1FBTEQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNyQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQXpCTixjQUFTLEdBQUcsZ0NBQWdDLENBQUM7UUFLbkUsaUJBQVksR0FBRyxZQUFZLENBQUM7SUF1QjVCLENBQUM7SUFwQkQsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2SSxDQUFDO0lBb0JELFFBQVE7UUFDSixJ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WUFDdEMsR0FBRyxXQUFXO1lBQ2QsUUFBUSxFQUFFLEtBQUs7WUFDZixPQUFPLEVBQUUsRUFBRTtTQUNkLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxPQUFPO2FBQ2QsUUFBUSxFQUFFO2FBQ1YsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUNwQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUM7YUFDN0IsaUJBQWlCLENBQUMsS0FBSyxDQUFDO2FBQ3hCLFFBQVEsQ0FBQyxLQUFLLENBQUM7YUFDZixhQUFhLENBQUMsQ0FBQyxjQUFjLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDOzt5SEF2SFEsMkJBQTJCOzZHQUEzQiwyQkFBMkIsOGlCQ1p4QywwdERBNENBOzRGRGhDYSwyQkFBMkI7a0JBSnZDLFNBQVM7K0JBQ0ksc0JBQXNCOytLQUlWLFNBQVM7c0JBQTlCLFdBQVc7dUJBQUMsT0FBTztnQkFFWCxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBV04sZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUkvQyxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSS9DLGdCQUFnQjtzQkFEZixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBFbGVtZW50UmVmLCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uLCBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGh5UG9wb3ZlciwgVGh5UG9wb3ZlclJlZiB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBFZGl0b3IgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBEcm9wZG93bk1vZGUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvdG9vbGJhcic7XG5pbXBvcnQgeyBUb29sYmFySXRlbSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvdG9vbGJhcic7XG5pbXBvcnQgeyBUaGVCYXNlVG9vbGJhckRyb3Bkb3duIH0gZnJvbSAnLi4vLi4vY29yZS90b29sYmFyLWl0ZW0vYmFzZS10b29sYmFyLWl0ZW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoZS10b29sYmFyLWRyb3Bkb3duJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9vbGJhci1kcm9wZG93bi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVGhlVG9vbGJhckRyb3Bkb3duQ29tcG9uZW50IGV4dGVuZHMgVGhlQmFzZVRvb2xiYXJEcm9wZG93biBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzTmFtZSA9ICd0aGUtdG9vbGJhci1kcm9wZG93bi1jb250YWluZXInO1xuXG4gICAgQElucHV0KCkgaXRlbU1vdXNlZG93bkhhbmRsZTogKGl0ZW06IFRvb2xiYXJJdGVtKSA9PiB2b2lkO1xuXG4gICAgZWRpdG9yOiBFZGl0b3I7XG4gICAgZHJvcGRvd25Nb2RlID0gRHJvcGRvd25Nb2RlO1xuICAgIHB1YmxpYyBkcm9wZG93blBvcG92ZXJSZWY6IFRoeVBvcG92ZXJSZWY8YW55PjtcblxuICAgIGdldCBpc09wZW4oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRyb3Bkb3duUG9wb3ZlclJlZiAmJiB0aGlzLmRyb3Bkb3duUG9wb3ZlclJlZi5nZXRPdmVybGF5UmVmKCkgJiYgdGhpcy5kcm9wZG93blBvcG92ZXJSZWYuZ2V0T3ZlcmxheVJlZigpLmhhc0F0dGFjaGVkKCk7XG4gICAgfVxuXG4gICAgQFZpZXdDaGlsZCgnaWNvbk1vZGVUZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgaWNvbk1vZGVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBWaWV3Q2hpbGQoJ3RleHRNb2RlVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHRleHRNb2RlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAVmlld0NoaWxkKCdkcm9wZG93blRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBkcm9wZG93blRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHRoeVBvcG92ZXI6IFRoeVBvcG92ZXIsXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5hY3RpdmVNZW51SXRlbSkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVNZW51SXRlbSA9IHRoaXMuZGVmYXVsdERyb3Bkb3duSXRlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnRvb2xiYXJJdGVtICYmIHRoaXMudG9vbGJhckl0ZW0/LmtleSkge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ/LmNsYXNzTGlzdD8uYWRkKGAke3RoaXMudG9vbGJhckl0ZW0/LmtleX1gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRvZ2dsZURyb3Bkb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHN1cGVyLmV4ZWN1dGUoZXZlbnQpO1xuXG4gICAgICAgIGlmICh0aGlzLmVkaXRvcj8uZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub3BlbkRyb3Bkb3duUG9wb3ZlcihldmVudCk7XG4gICAgfVxuXG4gICAgaXRlbU1vdXNlZG93bihldmVudDogTW91c2VFdmVudCwgaXRlbTogVG9vbGJhckl0ZW0pIHtcbiAgICAgICAgc3VwZXIuZXhlY3V0ZShldmVudCk7XG5cbiAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duUG9wb3ZlcigpO1xuXG4gICAgICAgIGlmICghdGhpcy50b29sYmFySXRlbS5kcm9wZG93bkZpeGVkSWNvbikge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVNZW51SXRlbSA9IGl0ZW07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pdGVtTW91c2Vkb3duSGFuZGxlKSB7XG4gICAgICAgICAgICB0aGlzLml0ZW1Nb3VzZWRvd25IYW5kbGUoaXRlbSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXRlbT8uZXhlY3V0ZSkge1xuICAgICAgICAgICAgaXRlbT8uZXhlY3V0ZSh0aGlzLmVkaXRvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcmV2ZW50RGVmYXVsdChldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgb3BlbkRyb3Bkb3duUG9wb3ZlcihldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICB0aGlzLmRyb3Bkb3duUG9wb3ZlclJlZiA9IHRoaXMudGh5UG9wb3Zlci5vcGVuKHRoaXMuZHJvcGRvd25UZW1wbGF0ZSwge1xuICAgICAgICAgICAgb3JpZ2luOiBldmVudC5jdXJyZW50VGFyZ2V0IGFzIEhUTUxFbGVtZW50LFxuICAgICAgICAgICAgcGFuZWxDbGFzczogWyd0aGUtdG9vbGJhci1kcm9wZG93bi1wb3BvdmVyJywgdGhpcy50b29sYmFySXRlbT8ua2V5XSxcbiAgICAgICAgICAgIG9yaWdpbkFjdGl2ZUNsYXNzOiAnYWN0aXZlJyxcbiAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbUxlZnQnLFxuICAgICAgICAgICAgaW5zaWRlQ2xvc2FibGU6IGZhbHNlLFxuICAgICAgICAgICAgb3V0c2lkZUNsb3NhYmxlOiB0cnVlLFxuICAgICAgICAgICAgYmFja2Ryb3BDbG9zYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICAgIG9mZnNldDogMTAsXG4gICAgICAgICAgICBtaW5XaWR0aDogMCxcbiAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKClcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZHJvcGRvd25Qb3BvdmVyUmVmPy5nZXRPdmVybGF5UmVmKCkudXBkYXRlUG9zaXRpb25TdHJhdGVneSh0aGlzLmNyZWF0ZVBvc2l0aW9uU3RyYXRlZ3koKSk7XG4gICAgfVxuXG4gICAgY2xvc2VEcm9wZG93blBvcG92ZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmRyb3Bkb3duUG9wb3ZlclJlZikge1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93blBvcG92ZXJSZWY/LmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjcmVhdGVQb3NpdGlvblN0cmF0ZWd5KCkge1xuICAgICAgICBjb25zdCB0b3BQb3NpdGlvbjogQ29ubmVjdGVkUG9zaXRpb24gPSB7XG4gICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICAgICAgICAgIG9mZnNldFg6IDAsXG4gICAgICAgICAgICBvZmZzZXRZOiAtMTVcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgYm90dG9tUG9zaXRpb246IENvbm5lY3RlZFBvc2l0aW9uID0ge1xuICAgICAgICAgICAgLi4udG9wUG9zaXRpb24sXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgICAgICBvZmZzZXRZOiA0MlxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gdGhpcy5vdmVybGF5XG4gICAgICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5lbGVtZW50UmVmKVxuICAgICAgICAgICAgLndpdGhGbGV4aWJsZURpbWVuc2lvbnMoZmFsc2UpXG4gICAgICAgICAgICAud2l0aEdyb3dBZnRlck9wZW4oZmFsc2UpXG4gICAgICAgICAgICAud2l0aFB1c2goZmFsc2UpXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9ucyhbYm90dG9tUG9zaXRpb24sIHRvcFBvc2l0aW9uXSk7XG4gICAgfVxufVxuIiwiPGFcbiAgICAqbmdJZj1cIm1vZGUgPT09IGRyb3Bkb3duTW9kZS5pY29uXCJcbiAgICBocmVmPVwiamF2YXNjcmlwdDo7XCJcbiAgICBjbGFzcz1cImljb24tbW9kZSBsaW5rLXdpdGgtZG93blwiXG4gICAgdGh5QWN0aW9uXG4gICAgW3RoeUFjdGlvbkljb25dPVwiYWN0aXZlTWVudUl0ZW0/Lmljb25cIlxuICAgIHRoeVRvb2x0aXBQbGFjZW1lbnQ9XCJ0b3BcIlxuICAgIChtb3VzZWRvd24pPVwicHJldmVudERlZmF1bHQoJGV2ZW50KVwiXG4gICAgKGNsaWNrKT1cInRvZ2dsZURyb3Bkb3duKCRldmVudClcIlxuPlxuICAgIDx0aHktaWNvbiBjbGFzcz1cImNhcmV0LWRvd24taWNvbiBmb250LXNpemUtc20gdGV4dC1kZXNjXCIgdGh5SWNvbk5hbWU9XCJjYXJldC1kb3duXCI+PC90aHktaWNvbj5cbjwvYT5cbjxhXG4gICAgKm5nSWY9XCJtb2RlICE9PSBkcm9wZG93bk1vZGUuaWNvblwiXG4gICAgaHJlZj1cImphdmFzY3JpcHQ6O1wiXG4gICAgY2xhc3M9XCJ0ZXh0LW1vZGVcIlxuICAgIHRoeUFjdGlvblxuICAgIHRoeVRvb2x0aXBQbGFjZW1lbnQ9XCJ0b3BcIlxuICAgIChtb3VzZWRvd24pPVwicHJldmVudERlZmF1bHQoJGV2ZW50KVwiXG4gICAgKGNsaWNrKT1cInRvZ2dsZURyb3Bkb3duKCRldmVudClcIlxuPlxuICAgIDxzcGFuIGNsYXNzPVwic2hvdy10ZXh0XCI+e3sgYWN0aXZlTWVudUl0ZW0/Lm5hbWUgfX08L3NwYW4+XG4gICAgPHRoeS1pY29uIGNsYXNzPVwiZm9udC1zaXplLXNtIHRleHQtZGVzY1wiIHRoeUljb25OYW1lPVwiY2FyZXQtZG93blwiPjwvdGh5LWljb24+XG48L2E+XG5cbjxuZy10ZW1wbGF0ZSAjZHJvcGRvd25UZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwidGh5LWRyb3Bkb3duLW1lbnVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWVudSBvZiBtZW51c1wiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAqbmdJZj1cIm1lbnUua2V5ICE9PSAnc3BsaXQnXCJcbiAgICAgICAgICAgICAgICBocmVmPVwiamF2YXNjcmlwdDo7XCJcbiAgICAgICAgICAgICAgICB0aHlEcm9wZG93bk1lbnVJdGVtXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwibWVudT8uc3R5bGVzXCJcbiAgICAgICAgICAgICAgICBbdGh5RHJvcGRvd25NZW51SXRlbUFjdGl2ZV09XCJtZW51LmtleSA9PT0gYWN0aXZlTWVudUl0ZW0/LmtleSAmJiAhdG9vbGJhckl0ZW0/LmRyb3Bkb3duRml4ZWRJY29uXCJcbiAgICAgICAgICAgICAgICAobW91c2Vkb3duKT1cInByZXZlbnREZWZhdWx0KCRldmVudClcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJpdGVtTW91c2Vkb3duKCRldmVudCwgbWVudSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0aHktaWNvbiAqbmdJZj1cIm1lbnUuaWNvbiAmJiBtb2RlID09PSBkcm9wZG93bk1vZGUuaWNvblwiIHRoeURyb3Bkb3duTWVudUl0ZW1JY29uIFt0aHlJY29uTmFtZV09XCJtZW51Lmljb25cIj48L3RoeS1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibWVudS5uYW1lXCIgdGh5RHJvcGRvd25NZW51SXRlbU5hbWU+e3sgbWVudS5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPHRoeS1kcm9wZG93bi1tZW51LWRpdmlkZXIgKm5nSWY9XCJtZW51LmtleSA9PT0gJ3NwbGl0J1wiPjwvdGh5LWRyb3Bkb3duLW1lbnUtZGl2aWRlcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -20,7 +20,7 @@ export class TheHrComponent extends TheBaseElementComponent {
|
|
|
20
20
|
}
|
|
21
21
|
TheHrComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TheHrComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
22
22
|
TheHrComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TheHrComponent, selector: "the-hr, [theHr]", usesInheritance: true, ngImport: i0, template: `
|
|
23
|
-
<div class="the-hr" contenteditable="false" [ngClass]="{ active:
|
|
23
|
+
<div class="the-hr" contenteditable="false" [ngClass]="{ active: isCollapsedAndNonReadonly }">
|
|
24
24
|
<hr class="the-hr" />
|
|
25
25
|
<slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children>
|
|
26
26
|
</div>
|
|
@@ -30,11 +30,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
30
30
|
args: [{
|
|
31
31
|
selector: 'the-hr, [theHr]',
|
|
32
32
|
template: `
|
|
33
|
-
<div class="the-hr" contenteditable="false" [ngClass]="{ active:
|
|
33
|
+
<div class="the-hr" contenteditable="false" [ngClass]="{ active: isCollapsedAndNonReadonly }">
|
|
34
34
|
<hr class="the-hr" />
|
|
35
35
|
<slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children>
|
|
36
36
|
</div>
|
|
37
37
|
`
|
|
38
38
|
}]
|
|
39
39
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; } });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvaHIvaHIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdELE1BQU0sZUFBZSxDQUFDO0FBRXhGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBVzNELE1BQU0sT0FBTyxjQUFlLFNBQVEsdUJBQXdDO0lBQ3hFLFlBQW1CLFVBQXNCLEVBQVMsR0FBc0I7UUFDcEUsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQURSLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBUyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUV4RSxDQUFDO0lBRUQsZUFBZTtRQUNYLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDeEUsSUFBSSxnQkFBZ0IsRUFBRTtnQkFDbEIsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2FBQzNFO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzs0R0FaUSxjQUFjO2dHQUFkLGNBQWMsOEVBUGI7Ozs7O0tBS1Q7NEZBRVEsY0FBYztrQkFUMUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUU7Ozs7O0tBS1Q7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIENoYW5nZURldGVjdG9yUmVmLCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFZGl0b3IsIEVsZW1lbnQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBUaGVCYXNlRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoZS1ociwgW3RoZUhyXScsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdiBjbGFzcz1cInRoZS1oclwiIGNvbnRlbnRlZGl0YWJsZT1cImZhbHNlXCIgW25nQ2xhc3NdPVwieyBhY3RpdmU6IGlzQ29sbGFwc2VkQW5kTm9uUmVhZG9ubHkgfVwiPlxuICAgICAgICAgICAgPGhyIGNsYXNzPVwidGhlLWhyXCIgLz5cbiAgICAgICAgICAgIDxzbGF0ZS1jaGlsZHJlbiBbY2hpbGRyZW5dPVwiY2hpbGRyZW5cIiBbY29udGV4dF09XCJjaGlsZHJlbkNvbnRleHRcIiBbdmlld0NvbnRleHRdPVwidmlld0NvbnRleHRcIj48L3NsYXRlLWNoaWxkcmVuPlxuICAgICAgICA8L2Rpdj5cbiAgICBgXG59KVxuZXhwb3J0IGNsYXNzIFRoZUhyQ29tcG9uZW50IGV4dGVuZHMgVGhlQmFzZUVsZW1lbnRDb21wb25lbnQ8RWxlbWVudCwgRWRpdG9yPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBibG9ja0NhcmRFbGVtZW50ID0gdGhpcy5uYXRpdmVFbGVtZW50LmNsb3Nlc3QoJ3NsYXRlLWJsb2NrLWNhcmQnKTtcbiAgICAgICAgICAgIGlmIChibG9ja0NhcmRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgYmxvY2tDYXJkRWxlbWVudC5jbGFzc0xpc3QuYWRkKGBzbGF0ZS1ibG9jay1jYXJkLSR7dGhpcy5lbGVtZW50LnR5cGV9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -16,6 +16,7 @@ import { TheBaseElementComponent } from '../../../../interfaces/view-base';
|
|
|
16
16
|
import { BASE_FILL_HEIGHT, TableOptions } from '../../table.types';
|
|
17
17
|
import { TheEditor } from '../../../../interfaces/editor';
|
|
18
18
|
import { getBaseHeightForRows } from '../../utils/get-base-height';
|
|
19
|
+
import * as TheQueries from '../../../../queries';
|
|
19
20
|
import * as i0 from "@angular/core";
|
|
20
21
|
import * as i1 from "@angular/cdk/overlay";
|
|
21
22
|
import * as i2 from "../../../../components/column-resize/resizing.store";
|
|
@@ -243,7 +244,7 @@ export class TheTdComponent extends TheBaseElementComponent {
|
|
|
243
244
|
this.display = this.element.hidden ? 'none' : '';
|
|
244
245
|
}
|
|
245
246
|
useFocus() {
|
|
246
|
-
if (this.isCollapsedAndNonReadonly) {
|
|
247
|
+
if (this.isCollapsedAndNonReadonly && TheQueries.isGlobalCollapsed(this.editor)) {
|
|
247
248
|
this.renderer.addClass(this.elementRef.nativeElement, 'focused-cell');
|
|
248
249
|
}
|
|
249
250
|
else {
|
|
@@ -683,4 +684,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
683
684
|
type: ViewChild,
|
|
684
685
|
args: ['cellInner', { static: true }]
|
|
685
686
|
}] } });
|
|
686
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvdGFibGUvY29tcG9uZW50cy90ZC90ZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL3RkL3RkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBTVQsV0FBVyxFQUtYLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDMUYsT0FBTyxFQUFFLFFBQVEsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzNHLE9BQU8sRUFBRSwwQkFBMEIsRUFBb0IsTUFBTSw2REFBNkQsQ0FBQztBQUUzSCxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ3RILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFB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QUM7U0FDZDtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxTQUFTO0lBRVQsV0FBVztRQUNQLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUM1QjtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDOzs0R0FuckJRLGNBQWM7Z0dBQWQsY0FBYyxnTkFGWixDQUFDLG1CQUFtQixDQUFDLHVLQ3BFcEMsdUpBR0E7NEZEbUVhLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0ksV0FBVyxhQUVWLENBQUMsbUJBQW1CLENBQUM7MlRBMERNLGVBQWU7c0JBQXBELFdBQVc7dUJBQUMsdUJBQXVCO2dCQUVQLE9BQU87c0JBQW5DLFdBQVc7dUJBQUMsY0FBYztnQkFFRSxPQUFPO3NCQUFuQyxXQUFXO3VCQUFDLGNBQWM7Z0JBRUcsT0FBTztzQkFBcEMsV0FBVzt1QkFBQyxlQUFlO2dCQUc1QixTQUFTO3NCQURSLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBFbGVtZW50UmVmLFxuICAgIE9uRGVzdHJveSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBOZ1pvbmUsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgUmVuZGVyZXIyLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBJbmplY3RvcixcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRUxFTUVOVF9UT19DT01QT05FTlQgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IFNMQV9UQUJMRV9DRUxMX1NFTEVDVE9SIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29uc3RhbnRzL3NlbGVjdG9yJztcbmltcG9ydCB7IFRoZVRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlUG9zaXRpb24gfSBmcm9tICcuLi8uLi91dGlscy90YWJsZS1wb3NpdGlvbic7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb2x1bW5SZXNpemluZ1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tcG9uZW50cy9jb2x1bW4tcmVzaXplL3Jlc2l6aW5nLnN0b3JlJztcbmltcG9ydCB7IFBvc2l0aW9uLCBUYWJsZUNlbGxFdmVudERpc3BhdGNoZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzL2NvbHVtbi1yZXNpemUvZXZlbnQtZGlzcGF0Y2hlcic7XG5pbXBvcnQgeyBDb2x1bW5SZXNpemVOb3RpZmllclNvdXJjZSwgQ29sdW1uU2l6ZUFjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvY29sdW1uLXJlc2l6ZS9jb2x1bW4tcmVzaXplLW5vdGlmaWVyJztcbmltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uLCBPdmVybGF5LCBPdmVybGF5UmVmLCBTY3JvbGxEaXNwYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsLCBQb3J0YWxJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgVGhlQ29sdW1uUmVzaXplT3ZlcmxheUhhbmRsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvY29sdW1uLXJlc2l6ZS9vdmVybGF5LWhhbmRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVzaXplUmVmIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tcG9uZW50cy9jb2x1bW4tcmVzaXplL3Jlc2l6ZS1yZWYnO1xuaW1wb3J0IHsgY29lcmNlQ3NzUGl4ZWxWYWx1ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBjb2VyY2VQaXhlbHNGcm9tQ3NzVmFsdWUsIGdldEVsZW1lbnRIZWlnaHQsIGdldEVsZW1lbnRXaWR0aCwgdXNlRWxlbWVudFN0eWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvZG9tJztcbmltcG9ydCB7IFRoZUJhc2VFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcy92aWV3LWJhc2UnO1xuaW1wb3J0IHsgQkFTRV9GSUxMX0hFSUdIVCwgVGFibGVPcHRpb25zIH0gZnJvbSAnLi4vLi4vdGFibGUudHlwZXMnO1xuaW1wb3J0IHsgVGhlRWRpdG9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcy9lZGl0b3InO1xuaW1wb3J0IHsgVGFibGVDZWxsRWxlbWVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBnZXRCYXNlSGVpZ2h0Rm9yUm93cyB9IGZyb20gJy4uLy4uL3V0aWxzL2dldC1iYXNlLWhlaWdodCc7XG5cbmNvbnN0IE9WRVJMQVlfQUNUSVZFX0NMQVNTID0gJ3RoZS1yZXNpemFibGUtb3ZlcmxheS10aHVtYi1hY3RpdmUnO1xuY29uc3QgT1ZFUkxBWV9JTklUX1NJWkUgPSAxNjtcbmV4cG9ydCBjb25zdCBQT1NJVElPTl9NQVA6IHsgW2tleTogc3RyaW5nXTogQ29ubmVjdGVkUG9zaXRpb24gfSA9IHtcbiAgICB0b3A6IHtcbiAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICBvdmVybGF5WTogJ2NlbnRlcidcbiAgICB9LFxuICAgIGJvdHRvbToge1xuICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgIG92ZXJsYXlZOiAnY2VudGVyJ1xuICAgIH0sXG4gICAgcmlnaHQ6IHtcbiAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgIH0sXG4gICAgbGVmdDoge1xuICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxuICAgICAgICBvdmVybGF5WTogJ3RvcCdcbiAgICB9XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RkW3RoZVRkXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RkLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtDb2x1bW5SZXNpemluZ1N0b3JlXVxufSlcbmV4cG9ydCBjbGFzcyBUaGVUZENvbXBvbmVudCBleHRlbmRzIFRoZUJhc2VFbGVtZW50Q29tcG9uZW50PFRhYmxlQ2VsbEVsZW1lbnQsIEVkaXRvcj4gaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgZGVzdHJveSQ6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XG4gICAgcHVibGljIHRhYmxlUG9zaXRpb246IFRhYmxlUG9zaXRpb247XG4gICAgcHVibGljIHRhYmxlQ29tcG9uZW50OiBUaGVUYWJsZUNvbXBvbmVudDtcbiAgICBwcm90ZWN0ZWQgb3ZlcmxheVJlZj86IE92ZXJsYXlSZWY7XG4gICAgcHVibGljIGhvdmVyZERpcmVjdGlvbjogUG9zaXRpb24gfCBudWxsO1xuICAgIHB1YmxpYyB0YWJsZU9wdGlvbnM6IFRhYmxlT3B0aW9ucyA9IG5ldyBUYWJsZU9wdGlvbnMoKTtcbiAgICBwdWJsaWMgY2VsbElubmVyTWluSGVpZ2h0OiBudW1iZXIgPSBudWxsO1xuXG4gICAgZ2V0IHRhYmxlU3RvcmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYmxlQ29tcG9uZW50LnRhYmxlU3RvcmU7XG4gICAgfVxuXG4gICAgZ2V0IHRhYmxlU2VydmljZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFibGVDb21wb25lbnQudGFibGVTZXJ2aWNlO1xuICAgIH1cblxuICAgIGdldCBldmVudERpc3BhdGNoZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYmxlQ29tcG9uZW50LmV2ZW50RGlzcGF0Y2hlcjtcbiAgICB9XG5cbiAgICBnZXQgcmVzaXplTm90aWZpZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYmxlQ29tcG9uZW50LnJlc2l6ZU5vdGlmaWVyO1xuICAgIH1cblxuICAgIGdldCB0YWJsZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJsZUNvbXBvbmVudC50aGVUYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgc2Nyb2xsYWJsZUVsZW1lbnRUb3AoKSB7XG4gICAgICAgIGNvbnN0IGNka3Njcm9sbGFibGU6IEhUTUxFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xvc2VzdCgnW2Nka3Njcm9sbGFibGVdJyk7XG4gICAgICAgIGlmIChjZGtzY3JvbGxhYmxlKSB7XG4gICAgICAgICAgICByZXR1cm4gY2Rrc2Nyb2xsYWJsZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIC13aW5kb3cuc2Nyb2xsWTtcbiAgICB9XG5cbiAgICBnZXQgc2Nyb2xsYWJsZUVsZW1lbnRMZWZ0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJsZUNvbXBvbmVudC50YWJsZVdyYXBwZXIubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0O1xuICAgIH1cblxuICAgIGdldCBpc1hBeGlzSG92ZXIoKSB7XG4gICAgICAgIHJldHVybiBbUG9zaXRpb24ubGVmdCwgUG9zaXRpb24ucmlnaHRdLmluY2x1ZGVzKHRoaXMuaG92ZXJkRGlyZWN0aW9uKTtcbiAgICB9XG5cbiAgICBnZXQgcm93UmVzaXplQ2xhc3MoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAndGhlLXJvdy1yZXNpemUtaGFuZGxlLXBhbmVsJyxcbiAgICAgICAgICAgIHRoaXMudGFibGVQb3NpdGlvbi50YWJsZSAmJiB0aGlzLnRhYmxlUG9zaXRpb24udGFibGUub3B0aW9ucz8ubnVtYmVyZWRDb2x1bW4gPyAndGhlLW51bWJlcmVkLXJlc2l6ZS1oYW5kbGUtcGFuZWwnIDogJydcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZG90V3JhcHBlckhvdmVyZWQ6IGJvb2xlYW47XG5cbiAgICBwdWJsaWMgcmVzaXplUmVmOiBSZXNpemVSZWY7XG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmJhY2tncm91bmRDb2xvcicpIGJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmNvbHNwYW4nKSBjb2xzcGFuOiBudW1iZXI7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm93c3BhbicpIHJvd3NwYW46IG51bWJlcjtcblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuZGlzcGxheScpIGRpc3BsYXk6IHN0cmluZztcblxuICAgIEBWaWV3Q2hpbGQoJ2NlbGxJbm5lcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgY2VsbElubmVyOiBFbGVtZW50UmVmO1xuXG4gICAgZ2V0IGNlbGxJbm5lck5hdGl2ZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5jZWxsSW5uZXIubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBvbkNvbnRleHRDaGFuZ2UoKSB7XG4gICAgICAgIHN1cGVyLm9uQ29udGV4dENoYW5nZSgpO1xuICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy51c2VTdGF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHB1YmxpYyBvdmVybGF5OiBPdmVybGF5LFxuICAgICAgICBwdWJsaWMgcmVzaXppbmdTdG9yZTogQ29sdW1uUmVzaXppbmdTdG9yZSxcbiAgICAgICAgcHVibGljIHNjcm9sbERpc3BhdGNoZXI6IFNjcm9sbERpc3BhdGNoZXJcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy51c2VCYWNrZ3JvdW5kKCk7XG4gICAgICAgIHRoaXMudXNlU3BhbigpO1xuICAgICAgICB0aGlzLnVzZURpc3BsYXkoKTtcbiAgICAgICAgdGhpcy51c2VGb2N1cygpO1xuICAgICAgICB1c2VFbGVtZW50U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuZWxlbWVudCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLm5nWm9uZS5vblN0YWJsZS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVzZVRhYmxlUG9zaXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMuZ2V0SW5qZWN0aW9uU2VydmljZSgpO1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVTZWxlY3RlZENlbGxzQ2hhbmdlKCk7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmliZURhbmdlcm91c0NlbGxzQ2hhbmdlKCk7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmliZVRhYmxlQ2hhbmdlKCk7XG4gICAgICAgICAgICB0aGlzLmxpc3RlbkNlbGxTZWxlY3RFdmVudHMoKTtcbiAgICAgICAgICAgIHRoaXMubGlzdGVuRm9yQ2VsbEhvdmVyRXZlbnRzKCk7XG4gICAgICAgICAgICB0aGlzLmxpc3RlbkZvclJlc2l6ZUV2ZW50cygpO1xuICAgICAgICAgICAgLy8gY29uc3QgaGVpZ2h0ID0gdGhpcy5jYWxjdWxhdGVDZWxsSW5uZXJNaW5IZWlnaHQoKTtcbiAgICAgICAgICAgIC8vIHRoaXMudXNlTWluSGVpZ2h0KGhlaWdodCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldEluamVjdGlvblNlcnZpY2UoKSB7XG4gICAgICAgIHRoaXMudGFibGVDb21wb25lbnQgPSBFTEVNRU5UX1RPX0NPTVBPTkVOVC5nZXQodGhpcy50YWJsZVBvc2l0aW9uLnRhYmxlKSBhcyBUaGVUYWJsZUNvbXBvbmVudDtcbiAgICB9XG5cbiAgICBzdWJzY3JpYmVTZWxlY3RlZENlbGxzQ2hhbmdlKCkge1xuICAgICAgICB0aGlzLnRhYmxlU3RvcmVcbiAgICAgICAgICAgIC5zZWxlY3RlZENlbGxzQ2hhbmdlKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoeCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHgubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdzZWxlY3RlZC1jZWxsJyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNTZWxlY3RlZENlbGwgPSB4LnNvbWUoXG4gICAgICAgICAgICAgICAgICAgICAgICAoeyByb3csIGNvbCB9KSA9PiByb3cgPT09IHRoaXMudGFibGVQb3NpdGlvbi5nZXRSb3dJbmRleCgpICYmIGNvbCA9PT0gdGhpcy50YWJsZVBvc2l0aW9uLmdldENvbHVtbkluZGV4KClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzU2VsZWN0ZWRDZWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnc2VsZWN0ZWQtY2VsbCcpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3NlbGVjdGVkLWNlbGwnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzdWJzY3JpYmVEYW5nZXJvdXNDZWxsc0NoYW5nZSgpIHtcbiAgICAgICAgdGhpcy50YWJsZVN0b3JlXG4gICAgICAgICAgICAuZGFuZ2Vyb3VzQ2VsbHNDaGFuZ2UoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh4ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoeC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2Rhbmdlcm91cy1jZWxsJyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNTZWxlY3RlZENlbGwgPSB4LnNvbWUoXG4gICAgICAgICAgICAgICAgICAgICAgICAoeyByb3csIGNvbCB9KSA9PiByb3cgPT09IHRoaXMudGFibGVQb3NpdGlvbi5nZXRSb3dJbmRleCgpICYmIGNvbCA9PT0gdGhpcy50YWJsZVBvc2l0aW9uLmdldENvbHVtbkluZGV4KClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzU2VsZWN0ZWRDZWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGFuZ2Vyb3VzLWNlbGwnKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkYW5nZXJvdXMtY2VsbCcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHN1YnNjcmliZVRhYmxlQ2hhbmdlKCkge1xuICAgICAgICB0aGlzLnRhYmxlU3RvcmVcbiAgICAgICAgICAgIC50YWJsZUNoYW5nZSgpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZVRhYmxlUG9zaXRpb24oKTtcbiAgICAgICAgICAgICAgICAvLyBjb25zdCBoZWlnaHQgPSB0aGlzLmNhbGN1bGF0ZUNlbGxJbm5lck1pbkhlaWdodCgpO1xuICAgICAgICAgICAgICAgIC8vIHRoaXMudXNlTWluSGVpZ2h0KGhlaWdodCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB1c2VTdGF0ZSgpIHtcbiAgICAgICAgdGhpcy51c2VCYWNrZ3JvdW5kKCk7XG4gICAgICAgIHRoaXMudXNlU3BhbigpO1xuICAgICAgICB0aGlzLnVzZURpc3BsYXkoKTtcbiAgICAgICAgdGhpcy51c2VGb2N1cygpO1xuICAgICAgICB1c2VFbGVtZW50U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuZWxlbWVudCk7XG4gICAgfVxuXG4gICAgdXNlVGFibGVQb3NpdGlvbigpIHtcbiAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMoKTtcbiAgICAgICAgY29uc3QgcGF0aCA9IFRoZUVkaXRvci5maW5kUGF0aCh0aGlzLmVkaXRvciwgdGhpcy5lbGVtZW50KTtcbiAgICAgICAgLy8gbXVzdCBiZSBwYXRoIG9mIGNlbGwncyBjaGlsZHJlblxuICAgICAgICB0aGlzLnRhYmxlUG9zaXRpb24gPSBUYWJsZVBvc2l0aW9uLmNyZWF0ZShvcHRzLCB0aGlzLmVkaXRvciwgcGF0aC5jb25jYXQoMCkpO1xuICAgIH1cblxuICAgIHVzZUJhY2tncm91bmQoKSB7XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnQuYmFja2dyb3VuZENvbG9yICE9PSB0aGlzLmJhY2tncm91bmRDb2xvcikge1xuICAgICAgICAgICAgdGhpcy5iYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLmVsZW1lbnQuYmFja2dyb3VuZENvbG9yIGFzIHN0cmluZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVzZVNwYW4oKSB7XG4gICAgICAgIHRoaXMuY29sc3BhbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5yb3dzcGFuID0gdW5kZWZpbmVkO1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50LmNvbHNwYW4pIHtcbiAgICAgICAgICAgIHRoaXMuY29sc3BhbiA9IHRoaXMuZWxlbWVudC5jb2xzcGFuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnQucm93c3Bhbikge1xuICAgICAgICAgICAgdGhpcy5yb3dzcGFuID0gdGhpcy5lbGVtZW50LnJvd3NwYW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjYWxjdWxhdGVDZWxsSW5uZXJNaW5IZWlnaHQoKSB7XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnQuY29sc3Bhbikge1xuICAgICAgICAgICAgY29uc3Qgcm93SW5kZXggPSB0aGlzLnRhYmxlUG9zaXRpb24uZ2V0Um93SW5kZXgoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmNhbGN1bGF0ZUNvbWJpbmVkUm93cygpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBsZXQgaGVpZ2h0ID0gMDtcbiAgICAgICAgICAgICAgICBjb25zdCBoZWlnaHRzID0gZ2V0QmFzZUhlaWdodEZvclJvd3ModGhpcy5lZGl0b3IsIHRoaXMudGFibGVDb21wb25lbnQuZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaW5kZXggPSByb3dJbmRleDsgaW5kZXggPCB0aGlzLmVsZW1lbnQucm93c3BhbiArIHJvd0luZGV4OyBpbmRleCsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodCArPSBoZWlnaHRzW2luZGV4XTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaGVpZ2h0ID0gaGVpZ2h0IC0gQkFTRV9GSUxMX0hFSUdIVDtcbiAgICAgICAgICAgICAgICByZXR1cm4gaGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY2FsY3VsYXRlQ29tYmluZWRSb3dzKCkge1xuICAgICAgICBjb25zdCByb3dJbmRleCA9IHRoaXMudGFibGVQb3NpdGlvbi5nZXRSb3dJbmRleCgpO1xuICAgICAgICBjb25zdCBjb21iaW5lZFJvd3M6IG51bWJlcltdID0gW107XG4gICAgICAgIGNvbnN0IHRhYmxlID0gdGhpcy50YWJsZVBvc2l0aW9uLnRhYmxlO1xuICAgICAgICB0YWJsZS5jaGlsZHJlbi5mb3JFYWNoKChyb3csIF9yb3dJbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKF9yb3dJbmRleCA+IHJvd0luZGV4ICYmIF9yb3dJbmRleCA8PSByb3dJbmRleCArIHRoaXMuZWxlbWVudC5yb3dzcGFuKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNDb21iaW5lZCA9IHJvdy5jaGlsZHJlbi5ldmVyeShjZWxsID0+IGNlbGwuaGlkZGVuIHx8IGNlbGwucm93c3BhbiA+IDEpO1xuICAgICAgICAgICAgICAgIGlmIChpc0NvbWJpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbWJpbmVkUm93cy5wdXNoKF9yb3dJbmRleCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGNvbWJpbmVkUm93cztcbiAgICB9XG5cbiAgICB1c2VEaXNwbGF5KCkge1xuICAgICAgICB0aGlzLmRpc3BsYXkgPSB0aGlzLmVsZW1lbnQuaGlkZGVuID8gJ25vbmUnIDogJyc7XG4gICAgfVxuXG4gICAgdXNlRm9jdXMoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzQ29sbGFwc2VkQW5kTm9uUmVhZG9ubHkpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdmb2N1c2VkLWNlbGwnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdmb2N1c2VkLWNlbGwnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVzZU1pbkhlaWdodChtaW5IZWlnaHQ6IG51bWJlcikge1xuICAgICAgICBpZiAodGhpcy5jZWxsSW5uZXJNaW5IZWlnaHQgPT09IG1pbkhlaWdodCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2VsbElubmVyTWluSGVpZ2h0ID0gbWluSGVpZ2h0O1xuICAgICAgICAvLyBpZiAodGhpcy5jZWxsSW5uZXJNaW5IZWlnaHQpIHtcbiAgICAgICAgLy8gICAgIHRoaXMuY2VsbElubmVyTmF0aXZlRWxlbWVudC5zdHlsZS5taW5IZWlnaHQgPSBgJHt0aGlzLmNlbGxJbm5lck1pbkhlaWdodH1weGA7XG4gICAgICAgIC8vIH0gZWxzZSB7XG4gICAgICAgIC8vICAgICB0aGlzLmNlbGxJbm5lck5hdGl2ZUVsZW1lbnQuc3R5bGUucmVtb3ZlUHJvcGVydHkoJ21pbi1oZWlnaHQnKTtcbiAgICAgICAgLy8gfVxuICAgIH1cblxuICAgIC8vI3JlZ2lvbiBjZWxsLXNlbGVjdFxuICAgIGxpc3RlbkNlbGxTZWxlY3RFdmVudHMoKSB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCE7XG4gICAgICAgICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4oZWxlbWVudCwgJ21vdXNlZG93bicpXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKChlOiBNb3VzZUV2ZW50KSA9PiBlLmJ1dHRvbiAhPT0gMiksXG4gICAgICAgICAgICAgICAgICAgIG1hcChldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjZWxsID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xvc2VzdChTTEFfVEFCTEVfQ0VMTF9TRUxFQ1RPUik7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2VsbDtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcihjZWxsID0+ICEhY2VsbClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoY2VsbDogSFRNTFRhYmxlQ2VsbEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLnNlbGVjdENlbGxTdGFydChjZWxsLCB0aGlzLmVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxpc3RlbkNlbGxNb3VzZUV2ZW50cygpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBsaXN0ZW5DZWxsTW91c2VFdmVudHMoKSB7XG4gICAgICAgIGNvbnN0IG1vdXNlb3Zlck9ic2VydmFibGUgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4oZG9jdW1lbnQsICdtb3VzZW92ZXInKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgICAgICAgIG1hcChldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNlbGwgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbG9zZXN0KFNMQV9UQUJMRV9DRUxMX1NFTEVDVE9SKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNlbGw7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZmlsdGVyKChjZWxsOiBIVE1MVGFibGVDZWxsRWxlbWVudCkgPT4gISFjZWxsKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoY2VsbDogSFRNTFRhYmxlQ2VsbEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuc2VsZWN0Q2VsbE9uZ29pbmcoY2VsbCwgdGhpcy5lZGl0b3IpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIGZyb21FdmVudDxNb3VzZUV2ZW50Pihkb2N1bWVudCwgJ21vdXNldXAnKVxuICAgICAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudGFibGVTdG9yZS5zZWxlY3RDZWxsRW5kKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50YWJsZVN0b3JlLmlzQ2VsbFNlbGVjdGluZykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZUNvbXBvbmVudC50YWJsZVNlcnZpY2UuYWZ0ZXJTZWxlY3RlZENlbGxzKHRoaXMudGFibGVTdG9yZS5mb2N1c0NlbGxFbGVtZW50LCB0aGlzLnRhYmxlQ29tcG9uZW50LmVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbW91c2VvdmVyT2JzZXJ2YWJsZS51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8jcmVnaW9uIHJlc2l6YWJsZVxuICAgIHByaXZhdGUgbGlzdGVuRm9yQ2VsbEhvdmVyRXZlbnRzKCkge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQhO1xuICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclxuICAgICAgICAgICAgLnJlc2l6ZU92ZXJsYXlWaXNpYmxlRm9yVGFibGVDZWxsKGVsZW1lbnQpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgICAgICAgICAgbWFwKHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8g56aB5q2i56ys5LiA5YiX5bem5L6nXG4gICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5wb3NpdGlvbiA9PT0gUG9zaXRpb24ubGVmdCAmJiB0aGlzLnRhYmxlUG9zaXRpb24uZ2V0Q29sdW1uSW5kZXgoKSA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8g56aB5q2i56ys5LiA6KGM6aG26YOoXG4gICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5wb3NpdGlvbiA9PT0gUG9zaXRpb24udG9wICYmIHRoaXMudGFibGVQb3NpdGlvbi5nZXRSb3dJbmRleCgpID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoaG92ZXJlZENlbGxJbmZvID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaG92ZXJlZENlbGxJbmZvICYmIGhvdmVyZWRDZWxsSW5mby5wb3NpdGlvbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhvdmVyZERpcmVjdGlvbiA9IGhvdmVyZWRDZWxsSW5mby5wb3NpdGlvbjtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhvdmVyZERpcmVjdGlvbiA9IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChob3ZlcmVkQ2VsbEluZm8pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ob3ZlcmREaXJlY3Rpb24gPSBob3ZlcmVkQ2VsbEluZm8ucG9zaXRpb247XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5vdmVybGF5UmVmIHx8ICF0aGlzLm92ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5fY3JlYXRlT3ZlcmxheUZvckhhbmRsZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2hvd0hhbmRsZU92ZXJsYXkoKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVzaXplUmVmLnNldERpcmVjdGlvbih0aGlzLmlzWEF4aXNIb3ZlciA/ICdYJyA6ICdZJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZU92ZXJsYXlIYW5kbGVTaXplQW5kT2Zmc2V0KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMub3ZlcmxheVJlZikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsaXN0ZW5Gb3JSZXNpemVFdmVudHMoKSB7XG4gICAgICAgIGNvbnN0IHRha2VVbnRpbERlc3Ryb3llZCA9IHRha2VVbnRpbDxDb2x1bW5TaXplQWN0aW9uPih0aGlzLmRlc3Ryb3kkKTtcblxuICAgICAgICBtZXJnZSh0aGlzLnJlc2l6ZU5vdGlmaWVyLnJlc2l6ZUNhbmNlbGVkLCB0aGlzLnJlc2l6ZU5vdGlmaWVyLnRyaWdnZXJSZXNpemUpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQsXG4gICAgICAgICAgICAgICAgZmlsdGVyKGNvbHVtblNpemUgPT4gY29sdW1uU2l6ZS50YWJsZUNlbGwgPT09IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoeyBkZWx0YVNpemUsIHByZXZpb3VzU2l6ZSwgY29tcGxldGVJbW1lZGlhdGVseSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB0b3AsIGxlZnQsIGhlaWdodCwgd2lkdGggfSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgY2xpZW50WSwgY2xpZW50WCB9ID0gZXZlbnQgYXMgTW91c2VFdmVudDtcbiAgICAgICAgICAgICAgICBsZXQgaXNQcmV2ZW50QXBwbHlTaXplID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgLy8g5ZCR5LiL77yM5oiW6ICF5ZCR5Y+z56e75YqoKGRlbHRhU2l6ZSA+IDAp77yM6byg5qCH5L2N572u5LiN5Zyo5b2T5YmN5Y2V5YWD5qC85ouW5ou957q/5LiK77yM6Zi75q2i5bqU55So5ouW5ou95bC65a+4XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNYQXhpc0hvdmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNlbGxXaWR0aCA9IHRoaXMuaG92ZXJkRGlyZWN0aW9uID09PSBQb3NpdGlvbi5sZWZ0ID8gMCA6IHdpZHRoO1xuICAgICAgICAgICAgICAgICAgICBpc1ByZXZlbnRBcHBseVNpemUgPSBkZWx0YVNpemUgPiAwICYmIGxlZnQgKyBjZWxsV2lkdGggLSBjbGllbnRYID4gMDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjZWxsSGVpZ2h0ID0gdGhpcy5ob3ZlcmREaXJlY3Rpb24gPT09IFBvc2l0aW9uLnRvcCA/IDAgOiBoZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGlzUHJldmVudEFwcGx5U2l6ZSA9IGRlbHRhU2l6ZSA+IDAgJiYgdG9wICsgY2VsbEhlaWdodCAtIGNsaWVudFkgPiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoaXNQcmV2ZW50QXBwbHlTaXplKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQhLmNsYXNzTGlzdC5hZGQoT1ZFUkxBWV9BQ1RJVkVfQ0xBU1MpO1xuICAgICAgICAgICAgICAgIHRoaXMuYXBwbHlTaXplKGRlbHRhU2l6ZSwgcHJldmlvdXNTaXplKTtcbiAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVJbW1lZGlhdGVseSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb21wbGV0ZVJlc2l6ZU9wZXJhdGlvbigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIG1lcmdlKHRoaXMucmVzaXplTm90aWZpZXIucmVzaXplQ2FuY2VsZWQsIHRoaXMucmVzaXplTm90aWZpZXIucmVzaXplQ29tcGxldGVkKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKVxuICAgICAgICAgICAgLnN1YnNjcmliZShjb2x1bW5TaXplID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jbGVhblVwQWZ0ZXJSZXNpemUoY29sdW1uU2l6ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNpemluZ1N0b3JlLmNsZWFuUmVzaXppbmcoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NvbXBsZXRlUmVzaXplT3BlcmF0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZXNpemVOb3RpZmllci5yZXNpemVDb21wbGV0ZWQubmV4dCh7XG4gICAgICAgICAgICAgICAgdGFibGVDZWxsOiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NsZWFuVXBBZnRlclJlc2l6ZShjb2x1bW5TaXplOiBDb2x1bW5TaXplQWN0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IS5jbGFzc0xpc3QucmVtb3ZlKE9WRVJMQVlfQUNUSVZFX0NMQVNTKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jcmVhdGVIYW5kbGVQb3J0YWwoKTogQ29tcG9uZW50UG9ydGFsPFRoZUNvbHVtblJlc2l6ZU92ZXJsYXlIYW5kbGVDb21wb25lbnQ+IHtcbiAgICAgICAgY29uc3QgY3VzdG9tVG9rZW5zID0gbmV3IFdlYWtNYXAoKTtcbiAgICAgICAgdGhpcy5yZXNpemVSZWYgPSBuZXcgUmVzaXplUmVmKFxuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLFxuICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmISxcbiAgICAgICAgICAgIHRoaXMudGFibGVPcHRpb25zLm1pbldpZHRoUHgsXG4gICAgICAgICAgICB0aGlzLnRhYmxlT3B0aW9ucy5tYXhXaWR0aFB4LFxuICAgICAgICAgICAgdGhpcy50YWJsZU9wdGlvbnMubWluSGVpZ2h0UHgsXG4gICAgICAgICAgICB0aGlzLnRhYmxlT3B0aW9ucy5tYXhIZWlnaHRQeCxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZU92ZXJsYXlIYW5kbGVTaXplQW5kT2Zmc2V0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICAgIGN1c3RvbVRva2Vucy5zZXQoUmVzaXplUmVmLCB0aGlzLnJlc2l6ZVJlZik7XG4gICAgICAgIGN1c3RvbVRva2Vucy5zZXQoVGFibGVDZWxsRXZlbnREaXNwYXRjaGVyLCB0aGlzLmV2ZW50RGlzcGF0Y2hlcik7XG4gICAgICAgIGN1c3RvbVRva2Vucy5zZXQoQ29sdW1uUmVzaXplTm90aWZpZXJTb3VyY2UsIHRoaXMucmVzaXplTm90aWZpZXIpO1xuICAgICAgICBjb25zdCBpbmplY3RvciA9IG5ldyBQb3J0YWxJbmplY3Rvcih0aGlzLmluamVjdG9yLCBjdXN0b21Ub2tlbnMpO1xuICAgICAgICByZXR1cm4gbmV3IENvbXBvbmVudFBvcnRhbChUaGVDb2x1bW5SZXNpemVPdmVybGF5SGFuZGxlQ29tcG9uZW50LCB0aGlzLnZpZXdDb250YWluZXJSZWYsIGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zaG93SGFuZGxlT3ZlcmxheSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmIS5hdHRhY2godGhpcy5fY3JlYXRlSGFuZGxlUG9ydGFsKCkpLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB0aGlzLnVwZGF0ZU92ZXJsYXlIYW5kbGVTaXplQW5kT2Zmc2V0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVPdmVybGF5SGFuZGxlU2l6ZUFuZE9mZnNldCgpIHtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmPy5yZW1vdmVQYW5lbENsYXNzKFsndGhlLWNvbHVtbi1yZXNpemUtaGFuZGxlLXBhbmVsJywgLi4udGhpcy5yb3dSZXNpemVDbGFzc10pO1xuICAgICAgICB0aGlzLmlzWEF4aXNIb3ZlciA/IHRoaXMudXBkYXRlT3ZlcmxheUhhbmRsZUNvbHVtblNpemUoKSA6IHRoaXMudXBkYXRlT3ZlcmxheUhhbmRsZVJvd1NpemUoKTtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmPy51cGRhdGVQb3NpdGlvblN0cmF0ZWd5KHRoaXMuY3JlYXRlUG9zaXRpb25TdHJhdGVneSgpKTtcbiAgICAgICAgdGhpcy5yZXNpemVSZWYuc2V0RGlyZWN0aW9uKHRoaXMuaXNYQXhpc0hvdmVyID8gJ1gnIDogJ1knKTtcbiAgICAgICAgdGhpcy5yZXNpemVSZWYuc2V0UG9zaXRpb24odGhpcy5ob3ZlcmREaXJlY3Rpb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlT3ZlcmxheUhhbmRsZUNvbHVtblNpemUoKSB7XG4gICAgICAgIGxldCBoZWlnaHQgPSAwO1xuICAgICAgICBjb25zdCB0YWJsZUVsZW1lbnRUb3AgPSB0aGlzLnRhYmxlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7XG4gICAgICAgIGlmICh0YWJsZUVsZW1lbnRUb3AgPCB0aGlzLnNjcm9sbGFibGVFbGVtZW50VG9wKSB7XG4gICAgICAgICAgICBoZWlnaHQgPSB0aGlzLnRhYmxlRWxlbWVudC5vZmZzZXRIZWlnaHQgLSAodGhpcy5zY3JvbGxhYmxlRWxlbWVudFRvcCAtIHRhYmxlRWxlbWVudFRvcCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBoZWlnaHQgPSB0aGlzLnRhYmxlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vdmVybGF5UmVmIS5hZGRQYW5lbENsYXNzKCd0aGUtY29sdW1uLXJlc2l6ZS1oYW5kbGUtcGFuZWwnKTtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmIS51cGRhdGVTaXplKHsgaGVpZ2h0LCB3aWR0aDogT1ZFUkxBWV9JTklUX1NJWkUgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVPdmVybGF5SGFuZGxlUm93U2l6ZSgpIHtcbiAgICAgICAgY29uc3Qgd2lkdGggPSB0aGlzLnRhYmxlQ29tcG9uZW50LnRhYmxlV3JhcHBlci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWYhLmFkZFBhbmVsQ2xhc3ModGhpcy5yb3dSZXNpemVDbGFzcyk7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZiEudXBkYXRlU2l6ZSh7IHdpZHRoOiB3aWR0aCAtIDIsIGhlaWdodDogT1ZFUkxBWV9JTklUX1NJWkUgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseVNpemUoZGVsdGFTaXplOiBudW1iZXIsIHByZXZpb3VzU2l6ZT86IG51bWJlcik6IHZvaWQge1xuICAgICAgICAvLyB1cGRhdGUgY29sIHdpZHRoIGFuZCB0YWJsZSB3aWR0aFxuICAgICAgICBpZiAodGhpcy5pc1hBeGlzSG92ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuYXBwbHlDb2x1bW5TaXplKGRlbHRhU2l6ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmFwcGx5Um93U2l6ZShkZWx0YVNpemUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGFibGVDb21wb25lbnQudXNlUm93Q29udHJvbHMoKTtcbiAgICAgICAgdGhpcy50YWJsZUNvbXBvbmVudC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMudXBkYXRlT3ZlcmxheUhhbmRsZVNpemVBbmRPZmZzZXQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jcmVhdGVPdmVybGF5Rm9ySGFuZGxlKCk6IE92ZXJsYXlSZWYge1xuICAgICAgICAvLyBVc2Ugb2Ygb3ZlcmxheXMgYWxsb3dzIHVzIHRvIHByb3Blcmx5IGNhcHR1cmUgY2xpY2sgZXZlbnRzIHNwYW5uaW5nIHBhcnRzXG4gICAgICAgIC8vIG9mIHR3byB0YWJsZSBjZWxscyBhbmQgaXMgYWxzbyB1c2VmdWwgZm9yIGRpc3BsYXlpbmcgYSByZXNpemUgdGh1bWJcbiAgICAgICAgLy8gb3ZlciBib3RoIGNlbGxzIGFuZCBleHRlbmRpbmcgaXQgZG93biB0aGUgdGFibGUgYXMgbmVlZGVkLlxuICAgICAgICBjb25zdCBvdmVybGF5T3B0aW9uID0gdGhpcy5pc1hBeGlzSG92ZXJcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IE9WRVJMQVlfSU5JVF9TSVpFICsgJ3B4JyxcbiAgICAgICAgICAgICAgICAgIHBhbmVsQ2xhc3M6ICd0aGUtY29sdW1uLXJlc2l6ZS1oYW5kbGUtcGFuZWwnXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBPVkVSTEFZX0lOSVRfU0laRSArICdweCcsXG4gICAgICAgICAgICAgICAgICBwYW5lbENsYXNzOiB0aGlzLnJvd1Jlc2l6ZUNsYXNzXG4gICAgICAgICAgICAgIH07XG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcbiAgICAgICAgICAgIC8vIEFsd2F5cyBwb3NpdGlvbiB0aGUgb3ZlcmxheSBiYXNlZCBvbiBsZWZ0LWluZGV4ZWQgY29vcmRpbmF0ZXMuXG4gICAgICAgICAgICBkaXNwb3NlT25OYXZpZ2F0aW9uOiB0cnVlLFxuICAgICAgICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5jcmVhdGVQb3NpdGlvblN0cmF0ZWd5KCksXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuY2xvc2UoKSxcbiAgICAgICAgICAgIC4uLm92ZXJsYXlPcHRpb25cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVQb3NpdGlvblN0cmF0ZWd5KCkge1xuICAgICAgICBsZXQgb2Zmc2V0WSA9IHRoaXMuY2FsY3VsYXRlT3ZlcmxheUhhbmRsZU9mZnNldFkoKTtcbiAgICAgICAgbGV0IG9mZnNldFggPSB0aGlzLmNhbGN1bGF0ZU92ZXJsYXlIYW5kbGVPZmZzZXRYKCk7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHRoaXMuaXNYQXhpc0hvdmVyXG4gICAgICAgICAgICA/IHsgLi4uUE9TSVRJT05fTUFQW3RoaXMuaG92ZXJkRGlyZWN0aW9uXSwgb2Zmc2V0WSB9XG4gICAgICAgICAgICA6IHsgLi4uUE9TSVRJT05fTUFQW3RoaXMuaG92ZXJkRGlyZWN0aW9uXSwgb2Zmc2V0WCB9O1xuICAgICAgICByZXR1cm4gdGhpcy5vdmVybGF5XG4gICAgICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpXG4gICAgICAgICAgICAud2l0aEZsZXhpYmxlRGltZW5zaW9ucyhmYWxzZSlcbiAgICAgICAgICAgIC53aXRoR3Jvd0FmdGVyT3BlbihmYWxzZSlcbiAgICAgICAgICAgIC53aXRoUHVzaChmYWxzZSlcbiAgICAgICAgICAgIC53aXRoUG9zaXRpb25zKFtwb3NpdGlvbl0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlT3ZlcmxheUhhbmRsZU9mZnNldFkoKSB7XG4gICAgICAgIGNvbnN0IHRhYmxlRWxlbWVudFRvcCA9IHRoaXMudGFibGVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcbiAgICAgICAgaWYgKHRhYmxlRWxlbWVudFRvcCA8IHRoaXMuc2Nyb2xsYWJsZUVsZW1lbnRUb3ApIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNjcm9sbGFibGVFbGVtZW50VG9wIC0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRhYmxlRWxlbWVudFRvcCAtIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlT3ZlcmxheUhhbmRsZU9mZnNldFgoKSB7XG4gICAgICAgIGNvbnN0IGNlbGxFbGVtZW50TGVmdCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQ7XG4gICAgICAgIGNvbnN0IHRhYmxlRWxlbWVudExlZnQgPSB0aGlzLnRhYmxlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0O1xuICAgICAgICByZXR1cm4gdGFibGVFbGVtZW50TGVmdCAtIGNlbGxFbGVtZW50TGVmdCArIHRoaXMuc2Nyb2xsYWJsZUVsZW1lbnRMZWZ0O1xuICAgIH1cblxuICAgIGFwcGx5Q29sdW1uU2l6ZShkZWx0YVg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBjb2xzID0gWy4uLnRoaXMudGFibGVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2NvbGdyb3VwJykuY2hpbGRyZW5dIGFzIEhUTUxUYWJsZUNvbEVsZW1lbnRbXTtcbiAgICAgICAgdGhpcy5yZXNpemluZ1N0b3JlLnN0b3JlVGFibGVXaWR0aChjb2xzKTtcbiAgICAgICAgdGhpcy5yZXNpemluZ1N0b3JlLmluaXREaXJlY3Rpb24oZGVsdGFYKTtcbiAgICAgICAgbGV0IGNlbGxJbmRleCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNlbGxJbmRleDtcbiAgICAgICAgaWYgKHRoaXMuaG92ZXJkRGlyZWN0aW9uID09PSAnbGVmdCcpIHtcbiAgICAgICAgICAgIGNlbGxJbmRleCA9IGNlbGxJbmRleCAtIDE7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29sc3BhbiA9ICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuZ2V0QXR0cmlidXRlKCdjb2xzcGFuJykgfHwgMTtcbiAgICAgICAgY2VsbEluZGV4ID0gY2VsbEluZGV4ICsgKGNvbHNwYW4gYXMgbnVtYmVyKSAvIDEgLSAxO1xuICAgICAgICBpZiAoZGVsdGFYID4gMCkge1xuICAgICAgICAgICAgdGhpcy5hcHBseVJpZ2h0Q29scyhjb2xzLCBkZWx0YVgsIGNlbGxJbmRleCArIDEpO1xuICAgICAgICAgICAgaWYgKHRoaXMucmVzaXppbmdTdG9yZS5pc1Jlc3RvcmluZyhkZWx0YVgpKSB7XG4gICAgICAgICAgICAgICAgZGVsdGFYID0gdGhpcy5yZXNpemluZ1N0b3JlLnJlc3RvcmVMZWZ0Q29scyhkZWx0YVgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGRlbHRhWCA+IDApIHtcbiAgICAgICAgICAgICAgICBjb2xzW2NlbGxJbmRleF0uc3R5bGUud2lkdGggPSBjb2VyY2VDc3NQaXhlbFZhbHVlKGNvZXJjZVBpeGVsc0Zyb21Dc3NWYWx1ZShjb2xzW2NlbGxJbmRleF0uc3R5bGUud2lkdGgpICsgZGVsdGFYKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG5leHRDb2wgPSBjb2xzW2NlbGxJbmRleCArIDFdO1xuICAgICAgICAgICAgaWYgKG5leHRDb2wpIHtcbiAgICAgICAgICAgICAgICBsZXQgbGVmdERlbHRhWCA9IHRoaXMucmVzaXppbmdTdG9yZS5nZXRTY3JvbGxXaWR0aChkZWx0YVgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IF9kZWx0YSA9IHRoaXMuYXBwbHlMZWZ0Q29scyhjb2xzLCBkZWx0YVgsIGNlbGxJbmRleCk7XG4gICAgICAgICAgICAgICAgaWYgKF9kZWx0YSA9PT0gZGVsdGFYKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNhbiBub3QgcmVzaXplXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZGVsdGFYID0gZGVsdGFYIC0gX2RlbHRhO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnJlc2l6aW5nU3RvcmUuaXNSZXN0b3JpbmcoZGVsdGFYKSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAobGVmdERlbHRhWCA8IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnREZWx0YVggPSB0aGlzLnJlc2l6aW5nU3RvcmUucmVzdG9yZVJpZ2h0Q29scyhsZWZ0RGVsdGFYKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAobGVmdERlbHRhWCA8IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5leHRDb2wuc3R5bGUud2lkdGggPSBjb2VyY2VDc3NQaXhlbFZhbHVlKGdldEVsZW1lbnRXaWR0aChuZXh0Q29sKSArIE1hdGguYWJzKGxlZnREZWx0YVgpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIG5leHRDb2wuc3R5bGUud2lkdGggPSBjb2VyY2VDc3NQaXhlbFZhbHVlKGdldEVsZW1lbnRXaWR0aChuZXh0Q29sKSArIE1hdGguYWJzKGRlbHRhWCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2Nyb2xsV2lkdGggPSBnZXRFbGVtZW50V2lkdGgodGhpcy50YWJsZUVsZW1lbnQpIC0gdGhpcy50YWJsZUNvbXBvbmVudC5nZXRXcmFwcGVyV2lkdGgoKTtcbiAgICAgICAgICAgICAgICBpZiAoc2Nyb2xsV2lkdGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzY3JvbGxXaWR0aCA+IE1hdGguYWJzKGRlbHRhWCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwbHlMZWZ0Q29scyhjb2xzLCBkZWx0YVgsIGNlbGxJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcGx5TGVmdENvbHMoY29scywgLXNjcm9sbFdpZHRoLCBjZWxsSW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXBwbHlMZWZ0Q29scyhjb2xzOiBIVE1MVGFibGVDb2xFbGVtZW50W10sIGRlbHRhWDogbnVtYmVyLCBjb2xJbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgd2hpbGUgKGRlbHRhWCA8IDAgJiYgY29sc1tjb2xJbmRleF0pIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRXaWR0aCA9IGdldEVsZW1lbnRXaWR0aChjb2xzW2NvbEluZGV4XSk7XG4gICAgICAgICAgICBpZiAoY3VycmVudFdpZHRoID4gdGhpcy50YWJsZU9wdGlvbnMubWluV2lkdGhQeCkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnJlc2l6aW5nU3RvcmUuaXNSZXNpemluZyhkZWx0YVgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzaXppbmdTdG9yZS5zdG9yZVJlc2l6aW5nQ29sKGNvbHNbY29sSW5kZXhdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRXaWR0aCA+IHRoaXMudGFibGVPcHRpb25zLm1pbldpZHRoUHggKyBNYXRoLmFicyhkZWx0YVgpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbHNbY29sSW5kZXhdLnN0eWxlLndpZHRoID0gY29lcmNlQ3NzUGl4ZWxWYWx1ZShjdXJyZW50V2lkdGggLSBNYXRoLmFicyhkZWx0YVgpKTtcbiAgICAgICAgICAgICAgICAgICAgZGVsdGFYID0gMDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBkZWx0YVggKz0gY3VycmVudFdpZHRoIC0gdGhpcy50YWJsZU9wdGlvbnMubWluV2lkdGhQeDtcbiAgICAgICAgICAgICAgICAgICAgY29sc1tjb2xJbmRleF0uc3R5bGUud2lkdGggPSBjb2VyY2VDc3NQaXhlbFZhbHVlKHRoaXMudGFibGVPcHRpb25zLm1pbldpZHRoUHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbEluZGV4LS07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRlbHRhWDtcbiAgICB9XG5cbiAgICBhcHBseVJpZ2h0Q29scyhjb2xzOiBIVE1MVGFibGVDb2xFbGVtZW50W10sIGRlbHRhWDogbnVtYmVyLCBjb2xJbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHdoaWxlIChkZWx0YVggPiAwICYmIGNvbHNbY29sSW5kZXhdKSB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50V2lkdGggPSBnZXRFbGVtZW50V2lkdGgoY29sc1tjb2xJbmRleF0pO1xuICAgICAgICAgICAgaWYgKGN1cnJlbnRXaWR0aCA+IHRoaXMudGFibGVPcHRpb25zLm1pbldpZHRoUHgpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5yZXNpemluZ1N0b3JlLmlzUmVzaXppbmcoZGVsdGFYKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc2l6aW5nU3RvcmUuc3RvcmVSZXNpemluZ0NvbChjb2xzW2NvbEluZGV4XSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50V2lkdGggPiBkZWx0YVggKyB0aGlzLnRhYmxlT3B0aW9ucy5taW5XaWR0aFB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbHNbY29sSW5kZXhdLnN0eWxlLndpZHRoID0gY29lcmNlQ3NzUGl4ZWxWYWx1ZShjdXJyZW50V2lkdGggLSBkZWx0YVgpO1xuICAgICAgICAgICAgICAgICAgICBkZWx0YVggPSAwO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGRlbHRhWCAtPSBjdXJyZW50V2lkdGggLSB0aGlzLnRhYmxlT3B0aW9ucy5taW5XaWR0aFB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xzW2NvbEluZGV4XS5zdHlsZS53aWR0aCA9IGNvZXJjZUNzc1BpeGVsVmFsdWUodGhpcy50YWJsZU9wdGlvbnMubWluV2lkdGhQeCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29sSW5kZXgrKztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGVsdGFYO1xuICAgIH1cblxuICAgIGFwcGx5Um93U2l6ZShkZWx0YVk6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCByb3dzID0gWy4uLnRoaXMudGFibGVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3Rib2R5JykuY2hpbGRyZW5dIGFzIEhUTUxUYWJsZVJvd0VsZW1lbnRbXTtcbiAgICAgICAgdGhpcy5yZXNpemluZ1N0b3JlLnN0b3JlVGFibGVIZWlnaHQocm93cyk7XG4gICAgICAgIHRoaXMucmVzaXppbmdTdG9yZS5pbml0RGlyZWN0aW9uKGRlbHRhWSwgdGhpcy5pc1hBeGlzSG92ZXIpO1xuICAgICAgICBsZXQgcm93SW5kZXggPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LnJvd0luZGV4IC0gMTsgLy8gc3VidHJhY3QgdGhlYWQncyB0clxuICAgICAgICBpZiAodGhpcy5ob3ZlcmREaXJlY3Rpb24gPT09IFBvc2l0aW9uLnRvcCkge1xuICAgICAgICAgICAgcm93SW5kZXggPSByb3dJbmRleCAtIDE7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgcm93U3BhbiA9ICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MVGFibGVDZWxsRWxlbWVudCkucm93U3BhbjtcbiAgICAgICAgY29uc3QgYm90dG9tUm93SW5kZXggPSByb3dJbmRleCArIChyb3dTcGFuIC0gMSkgKyAxO1xuICAgICAgICBpZiAoZGVsdGFZID4gMCkge1xuICAgICAgICAgICAgdGhpcy5hcHBseUJvdHRvbVJvd3Mocm93cywgZGVsdGFZLCBib3R0b21Sb3dJbmRleCk7XG4gICAgICAgICAgICBpZiAodGhpcy5yZXNpemluZ1N0b3JlLmlzUmVzdG9yaW5nKGRlbHRhWSwgdGhpcy5pc1hBeGlzSG92ZXIpKSB7XG4gICAgICAgICAgICAgICAgZGVsdGFZID0gdGhpcy5yZXNpemluZ1N0b3JlLnJlc3RvcmVUb3BSb3dzKGRlbHRhWSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZGVsdGFZID4gMCkge1xuICAgICAgICAgICAgICAgIGxldCBpbml0SGVpZ2h0ID0gZ2V0RWxlbWVudEhlaWdodChyb3dzW3Jvd0luZGV4XSk7XG4gICAgICAgICAgICAgICAgcm93c1tyb3dJbmRleF0uc3R5bGUuaGVpZ2h0ID0gY29lcmNlQ3NzUGl4ZWxWYWx1ZShpbml0SGVpZ2h0ICsgZGVsdGFZKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxldCBhZGREZWx0YVkgPSB0aGlzLnJlc2l6aW5nU3RvcmUuZ2V0QWRkVGFibGVIZWlnaHQoZGVsdGFZKTtcbiAgICAgICAgICAgIGNvbnN0IF9kZWx0YSA9IHRoaXMuYXBwbHlUb3BSb3dzKHJvd3MsIGRlbHRhWSwgcm93SW5kZXgpO1xuICAgICAgICAgICAgaWYgKF9kZWx0YSA9PT0gZGVsdGFZKSB7XG4gICAgICAgICAgICAgICAgLy8gY2FuIG5vdCByZXNpemVcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWx0YVkgPSBkZWx0YVkgLSBfZGVsdGE7XG4gICAgICAgICAgICBpZiAodGhpcy5yZXNpemluZ1N0b3JlLmlzUmVzdG9yaW5nKGRlbHRhWSwgdGhpcy5pc1hBeGlzSG92ZXIpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGFkZERlbHRhWSA8IDApIHtcbiAgICAgICAgICAgICAgICAgICAgZGVsdGFZID0gdGhpcy5yZXNpemluZ1N0b3JlLnJlc3RvcmVCb3R0b21Sb3dzKGRlbHRhWSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXBwbHlUb3BSb3dzKHJvd3M6IEhUTUxUYWJsZVJvd0VsZW1lbnRbXSwgZGVsdGFZOiBudW1iZXIsIHJvd0luZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICB3aGlsZSAoZGVsdGFZIDwgMCAmJiByb3dzW3Jvd0luZGV4XSkge1xuICAgICAgICAgICAgY29uc3Qgcm93T2Zmc2V0SGVpZ2h0ID0gZ2V0RWxlbWVudEhlaWdodChyb3dzW3Jvd0luZGV4XSk7XG4gICAgICAgICAgICBpZiAocm93T2Zmc2V0SGVpZ2h0ID4gdGhpcy50YWJsZU9wdGlvbnMubWluSGVpZ2h0UHgpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5yZXNpemluZ1N0b3JlLmlzUmVzaXppbmcoZGVsdGFZLCB0aGlzLmlzWEF4aXNIb3ZlcikpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNpemluZ1N0b3JlLnN0b3JlUmVzaXppbmdSb3cocm93c1tyb3dJbmRleF0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAocm93T2Zmc2V0SGVpZ2h0ID4gdGhpcy50YWJsZU9wdGlvbnMubWluSGVpZ2h0UHggKyBNYXRoLmFicyhkZWx0YVkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJvd3Nbcm93SW5kZXhdLnN0eWxlLmhlaWdodCA9IGNvZXJjZUNzc1BpeGVsVmFsdWUocm93T2Zmc2V0SGVpZ2h0IC0gTWF0aC5hYnMoZGVsdGFZKSk7XG4gICAgICAgICAgICAgICAgICAgIGRlbHRhWSA9IDA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZGVsdGFZICs9IHJvd09mZnNldEhlaWdodCAtIHRoaXMudGFibGVPcHRpb25zLm1pbkhlaWdodFB4O1xuICAgICAgICAgICAgICAgICAgICByb3dzW3Jvd0luZGV4XS5zdHlsZS5oZWlnaHQgPSBjb2VyY2VDc3NQaXhlbFZhbHVlKHRoaXMudGFibGVPcHRpb25zLm1pbkhlaWdodFB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByb3dJbmRleC0tO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkZWx0YVk7XG4gICAgfVxuXG4gICAgYXBwbHlCb3R0b21Sb3dzKHJvd3M6IEhUTUxUYWJsZVJvd0VsZW1lbnRbXSwgZGVsdGFZOiBudW1iZXIsIHJvd0luZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICB3aGlsZSAocm93c1tyb3dJbmRleF0gJiYgZGVsdGFZID4gMCkge1xuICAgICAgICAgICAgY29uc3Qgcm93T2Zmc2V0SGVpZ2h0ID0gZ2V0RWxlbWVudEhlaWdodChyb3dzW3Jvd0luZGV4XSk7XG4gICAgICAgICAgICBpZiAocm93T2Zmc2V0SGVpZ2h0ID4gdGhpcy50YWJsZU9wdGlvbnMubWluSGVpZ2h0UHgpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5yZXNpemluZ1N0b3JlLmlzUmVzaXppbmcoZGVsdGFZLCB0aGlzLmlzWEF4aXNIb3ZlcikpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNpemluZ1N0b3JlLnN0b3JlUmVzaXppbmdSb3cocm93c1tyb3dJbmRleF0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAocm93T2Zmc2V0SGVpZ2h0ID4gZGVsdGFZICsgdGhpcy50YWJsZU9wdGlvbnMubWluSGVpZ2h0UHgpIHtcbiAgICAgICAgICAgICAgICAgICAgcm93c1tyb3dJbmRleF0uc3R5bGUuaGVpZ2h0ID0gY29lcmNlQ3NzUGl4ZWxWYWx1ZShyb3dPZmZzZXRIZWlnaHQgLSBkZWx0YVkpO1xuICAgICAgICAgICAgICAgICAgICBkZWx0YVkgPSAwO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGRlbHRhWSAtPSByb3dPZmZzZXRIZWlnaHQgLSB0aGlzLnRhYmxlT3B0aW9ucy5taW5IZWlnaHRQeDtcbiAgICAgICAgICAgICAgICAgICAgcm93c1tyb3dJbmRleF0uc3R5bGUuaGVpZ2h0ID0gY29lcmNlQ3NzUGl4ZWxWYWx1ZSh0aGlzLnRhYmxlT3B0aW9ucy5taW5IZWlnaHRQeCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcm93SW5kZXgrKztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGVsdGFZO1xuICAgIH1cblxuICAgIC8vI3JlZ2lvblxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgI2NlbGxJbm5lcj5cbiAgICA8c2xhdGUtY2hpbGRyZW4gW2NoaWxkcmVuXT1cImNoaWxkcmVuXCIgW2NvbnRleHRdPVwiY2hpbGRyZW5Db250ZXh0XCIgW3ZpZXdDb250ZXh0XT1cInZpZXdDb250ZXh0XCI+PC9zbGF0ZS1jaGlsZHJlbj5cbjwvZGl2PlxuIl19
|
|
687
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvdGFibGUvY29tcG9uZW50cy90ZC90ZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL3RkL3RkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBTVQsV0FBVyxFQUtYLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDMUYsT0FBTyxFQUFFLFFBQVEsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzNHLE9BQU8sRUFBRSwwQkFBMEIsRUFBb0IsTUFBTSw2REFBNkQsQ0FBQztBQUUzSCxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ3RILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFB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QUFNLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztpQkFDcEY7YUFDSjtZQUNELFFBQVEsRUFBRSxDQUFDO1NBQ2Q7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQsU0FBUztJQUVULFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDNUI7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7NEdBbnJCUSxjQUFjO2dHQUFkLGNBQWMsZ05BRlosQ0FBQyxtQkFBbUIsQ0FBQyx1S0NyRXBDLHVKQUdBOzRGRG9FYSxjQUFjO2tCQUwxQixTQUFTOytCQUNJLFdBQVcsYUFFVixDQUFDLG1CQUFtQixDQUFDOzJUQTBETSxlQUFlO3NCQUFwRCxXQUFXO3VCQUFDLHVCQUF1QjtnQkFFUCxPQUFPO3NCQUFuQyxXQUFXO3VCQUFDLGNBQWM7Z0JBRUUsT0FBTztzQkFBbkMsV0FBVzt1QkFBQyxjQUFjO2dCQUVHLE9BQU87c0JBQXBDLFdBQVc7dUJBQUMsZUFBZTtnQkFHNUIsU0FBUztzQkFEUixTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBPbkluaXQsXG4gICAgRWxlbWVudFJlZixcbiAgICBPbkRlc3Ryb3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgTmdab25lLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgSW5qZWN0b3IsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVkaXRvciB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEVMRU1FTlRfVE9fQ09NUE9ORU5UIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBTTEFfVEFCTEVfQ0VMTF9TRUxFQ1RPUiB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbnN0YW50cy9zZWxlY3Rvcic7XG5pbXBvcnQgeyBUaGVUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL3RhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZVBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMvdGFibGUtcG9zaXRpb24nO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29sdW1uUmVzaXppbmdTdG9yZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvY29sdW1uLXJlc2l6ZS9yZXNpemluZy5zdG9yZSc7XG5pbXBvcnQgeyBQb3NpdGlvbiwgVGFibGVDZWxsRXZlbnREaXNwYXRjaGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tcG9uZW50cy9jb2x1bW4tcmVzaXplL2V2ZW50LWRpc3BhdGNoZXInO1xuaW1wb3J0IHsgQ29sdW1uUmVzaXplTm90aWZpZXJTb3VyY2UsIENvbHVtblNpemVBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzL2NvbHVtbi1yZXNpemUvY29sdW1uLXJlc2l6ZS1ub3RpZmllcic7XG5pbXBvcnQgeyBDb25uZWN0ZWRQb3NpdGlvbiwgT3ZlcmxheSwgT3ZlcmxheVJlZiwgU2Nyb2xsRGlzcGF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgUG9ydGFsSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IFRoZUNvbHVtblJlc2l6ZU92ZXJsYXlIYW5kbGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzL2NvbHVtbi1yZXNpemUvb3ZlcmxheS1oYW5kbGUuY29tcG9uZW50JztcbmltcG9ydCB7IFJlc2l6ZVJlZiB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvY29sdW1uLXJlc2l6ZS9yZXNpemUtcmVmJztcbmltcG9ydCB7IGNvZXJjZUNzc1BpeGVsVmFsdWUgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgY29lcmNlUGl4ZWxzRnJvbUNzc1ZhbHVlLCBnZXRFbGVtZW50SGVpZ2h0LCBnZXRFbGVtZW50V2lkdGgsIHVzZUVsZW1lbnRTdHlsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzL2RvbSc7XG5pbXBvcnQgeyBUaGVCYXNlRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvdmlldy1iYXNlJztcbmltcG9ydCB7IEJBU0VfRklMTF9IRUlHSFQsIFRhYmxlT3B0aW9ucyB9IGZyb20gJy4uLy4uL3RhYmxlLnR5cGVzJztcbmltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvZWRpdG9yJztcbmltcG9ydCB7IFRhYmxlQ2VsbEVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9jdXN0b20tdHlwZXMnO1xuaW1wb3J0IHsgZ2V0QmFzZUhlaWdodEZvclJvd3MgfSBmcm9tICcuLi8uLi91dGlscy9nZXQtYmFzZS1oZWlnaHQnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi8uLi8uLi9xdWVyaWVzJztcblxuY29uc3QgT1ZFUkxBWV9BQ1RJVkVfQ0xBU1MgPSAndGhlLXJlc2l6YWJsZS1vdmVybGF5LXRodW1iLWFjdGl2ZSc7XG5jb25zdCBPVkVSTEFZX0lOSVRfU0laRSA9IDE2O1xuZXhwb3J0IGNvbnN0IFBPU0lUSU9OX01BUDogeyBba2V5OiBzdHJpbmddOiBDb25uZWN0ZWRQb3NpdGlvbiB9ID0ge1xuICAgIHRvcDoge1xuICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgIG92ZXJsYXlZOiAnY2VudGVyJ1xuICAgIH0sXG4gICAgYm90dG9tOiB7XG4gICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgb3ZlcmxheVk6ICdjZW50ZXInXG4gICAgfSxcbiAgICByaWdodDoge1xuICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcbiAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgfSxcbiAgICBsZWZ0OiB7XG4gICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgIH1cbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGRbdGhlVGRdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW0NvbHVtblJlc2l6aW5nU3RvcmVdXG59KVxuZXhwb3J0IGNsYXNzIFRoZVRkQ29tcG9uZW50IGV4dGVuZHMgVGhlQmFzZUVsZW1lbnRDb21wb25lbnQ8VGFibGVDZWxsRWxlbWVudCwgRWRpdG9yPiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBkZXN0cm95JDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcbiAgICBwdWJsaWMgdGFibGVQb3NpdGlvbjogVGFibGVQb3NpdGlvbjtcbiAgICBwdWJsaWMgdGFibGVDb21wb25lbnQ6IFRoZVRhYmxlQ29tcG9uZW50O1xuICAgIHByb3RlY3RlZCBvdmVybGF5UmVmPzogT3ZlcmxheVJlZjtcbiAgICBwdWJsaWMgaG92ZXJkRGlyZWN0aW9uOiBQb3NpdGlvbiB8IG51bGw7XG4gICAgcHVibGljIHRhYmxlT3B0aW9uczogVGFibGVPcHRpb25zID0gbmV3IFRhYmxlT3B0aW9ucygpO1xuICAgIHB1YmxpYyBjZWxsSW5uZXJNaW5IZWlnaHQ6IG51bWJlciA9IG51bGw7XG5cbiAgICBnZXQgdGFibGVTdG9yZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFibGVDb21wb25lbnQudGFibGVTdG9yZTtcbiAgICB9XG5cbiAgICBnZXQgdGFibGVTZXJ2aWNlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJsZUNvbXBvbmVudC50YWJsZVNlcnZpY2U7XG4gICAgfVxuXG4gICAgZ2V0IGV2ZW50RGlzcGF0Y2hlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFibGVDb21wb25lbnQuZXZlbnREaXNwYXRjaGVyO1xuICAgIH1cblxuICAgIGdldCByZXNpemVOb3RpZmllcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFibGVDb21wb25lbnQucmVzaXplTm90aWZpZXI7XG4gICAgfVxuXG4gICAgZ2V0IHRhYmxlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYmxlQ29tcG9uZW50LnRoZVRhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBzY3JvbGxhYmxlRWxlbWVudFRvcCgpIHtcbiAgICAgICAgY29uc3QgY2Rrc2Nyb2xsYWJsZTogSFRNTEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbG9zZXN0KCdbY2Rrc2Nyb2xsYWJsZV0nKTtcbiAgICAgICAgaWYgKGNka3Njcm9sbGFibGUpIHtcbiAgICAgICAgICAgIHJldHVybiBjZGtzY3JvbGxhYmxlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gLXdpbmRvdy5zY3JvbGxZO1xuICAgIH1cblxuICAgIGdldCBzY3JvbGxhYmxlRWxlbWVudExlZnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYmxlQ29tcG9uZW50LnRhYmxlV3JhcHBlci5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQ7XG4gICAgfVxuXG4gICAgZ2V0IGlzWEF4aXNIb3ZlcigpIHtcbiAgICAgICAgcmV0dXJuIFtQb3NpdGlvbi5sZWZ0LCBQb3NpdGlvbi5yaWdodF0uaW5jbHVkZXModGhpcy5ob3ZlcmREaXJlY3Rpb24pO1xuICAgIH1cblxuICAgIGdldCByb3dSZXNpemVDbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICd0aGUtcm93LXJlc2l6ZS1oYW5kbGUtcGFuZWwnLFxuICAgICAgICAgICAgdGhpcy50YWJsZVBvc2l0aW9uLnRhYmxlICYmIHRoaXMudGFibGVQb3NpdGlvbi50YWJsZS5vcHRpb25zPy5udW1iZXJlZENvbHVtbiA/ICd0aGUtbnVtYmVyZWQtcmVzaXplLWhhbmRsZS1wYW5lbCcgOiAnJ1xuICAgICAgICBdO1xuICAgIH1cblxuICAgIHB1YmxpYyBkb3RXcmFwcGVySG92ZXJlZDogYm9vbGVhbjtcblxuICAgIHB1YmxpYyByZXNpemVSZWY6IFJlc2l6ZVJlZjtcblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuYmFja2dyb3VuZENvbG9yJykgYmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuY29sc3BhbicpIGNvbHNwYW46IG51bWJlcjtcblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb3dzcGFuJykgcm93c3BhbjogbnVtYmVyO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5kaXNwbGF5JykgZGlzcGxheTogc3RyaW5nO1xuXG4gICAgQFZpZXdDaGlsZCgnY2VsbElubmVyJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBjZWxsSW5uZXI6IEVsZW1lbnRSZWY7XG5cbiAgICBnZXQgY2VsbElubmVyTmF0aXZlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNlbGxJbm5lci5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIG9uQ29udGV4dENoYW5nZSgpIHtcbiAgICAgICAgc3VwZXIub25Db250ZXh0Q2hhbmdlKCk7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLnVzZVN0YXRlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHVibGljIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHVibGljIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgICAgIHB1YmxpYyByZXNpemluZ1N0b3JlOiBDb2x1bW5SZXNpemluZ1N0b3JlLFxuICAgICAgICBwdWJsaWMgc2Nyb2xsRGlzcGF0Y2hlcjogU2Nyb2xsRGlzcGF0Y2hlclxuICAgICkge1xuICAgICAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLnVzZUJhY2tncm91bmQoKTtcbiAgICAgICAgdGhpcy51c2VTcGFuKCk7XG4gICAgICAgIHRoaXMudXNlRGlzcGxheSgpO1xuICAgICAgICB0aGlzLnVzZUZvY3VzKCk7XG4gICAgICAgIHVzZUVsZW1lbnRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5lbGVtZW50KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMubmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudXNlVGFibGVQb3NpdGlvbigpO1xuICAgICAgICAgICAgdGhpcy5nZXRJbmplY3Rpb25TZXJ2aWNlKCk7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmliZVNlbGVjdGVkQ2VsbHNDaGFuZ2UoKTtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlRGFuZ2Vyb3VzQ2VsbHNDaGFuZ2UoKTtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlVGFibGVDaGFuZ2UoKTtcbiAgICAgICAgICAgIHRoaXMubGlzdGVuQ2VsbFNlbGVjdEV2ZW50cygpO1xuICAgICAgICAgICAgdGhpcy5saXN0ZW5Gb3JDZWxsSG92ZXJFdmVudHMoKTtcbiAgICAgICAgICAgIHRoaXMubGlzdGVuRm9yUmVzaXplRXZlbnRzKCk7XG4gICAgICAgICAgICAvLyBjb25zdCBoZWlnaHQgPSB0aGlzLmNhbGN1bGF0ZUNlbGxJbm5lck1pbkhlaWdodCgpO1xuICAgICAgICAgICAgLy8gdGhpcy51c2VNaW5IZWlnaHQoaGVpZ2h0KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0SW5qZWN0aW9uU2VydmljZSgpIHtcbiAgICAgICAgdGhpcy50YWJsZUNvbXBvbmVudCA9IEVMRU1FTlRfVE9fQ09NUE9ORU5ULmdldCh0aGlzLnRhYmxlUG9zaXRpb24udGFibGUpIGFzIFRoZVRhYmxlQ29tcG9uZW50O1xuICAgIH1cblxuICAgIHN1YnNjcmliZVNlbGVjdGVkQ2VsbHNDaGFuZ2UoKSB7XG4gICAgICAgIHRoaXMudGFibGVTdG9yZVxuICAgICAgICAgICAgLnNlbGVjdGVkQ2VsbHNDaGFuZ2UoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh4ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoeC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3NlbGVjdGVkLWNlbGwnKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc1NlbGVjdGVkQ2VsbCA9IHguc29tZShcbiAgICAgICAgICAgICAgICAgICAgICAgICh7IHJvdywgY29sIH0pID0+IHJvdyA9PT0gdGhpcy50YWJsZVBvc2l0aW9uLmdldFJvd0luZGV4KCkgJiYgY29sID09PSB0aGlzLnRhYmxlUG9zaXRpb24uZ2V0Q29sdW1uSW5kZXgoKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNTZWxlY3RlZENlbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdzZWxlY3RlZC1jZWxsJyk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnc2VsZWN0ZWQtY2VsbCcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHN1YnNjcmliZURhbmdlcm91c0NlbGxzQ2hhbmdlKCkge1xuICAgICAgICB0aGlzLnRhYmxlU3RvcmVcbiAgICAgICAgICAgIC5kYW5nZXJvdXNDZWxsc0NoYW5nZSgpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHggPT4ge1xuICAgICAgICAgICAgICAgIGlmICh4Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGFuZ2Vyb3VzLWNlbGwnKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc1NlbGVjdGVkQ2VsbCA9IHguc29tZShcbiAgICAgICAgICAgICAgICAgICAgICAgICh7IHJvdywgY29sIH0pID0+IHJvdyA9PT0gdGhpcy50YWJsZVBvc2l0aW9uLmdldFJvd0luZGV4KCkgJiYgY29sID09PSB0aGlzLnRhYmxlUG9zaXRpb24uZ2V0Q29sdW1uSW5kZXgoKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNTZWxlY3RlZENlbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkYW5nZXJvdXMtY2VsbCcpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2Rhbmdlcm91cy1jZWxsJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc3Vic2NyaWJlVGFibGVDaGFuZ2UoKSB7XG4gICAgICAgIHRoaXMudGFibGVTdG9yZVxuICAgICAgICAgICAgLnRhYmxlQ2hhbmdlKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlVGFibGVQb3NpdGlvbigpO1xuICAgICAgICAgICAgICAgIC8vIGNvbnN0IGhlaWdodCA9IHRoaXMuY2FsY3VsYXRlQ2VsbElubmVyTWluSGVpZ2h0KCk7XG4gICAgICAgICAgICAgICAgLy8gdGhpcy51c2VNaW5IZWlnaHQoaGVpZ2h0KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHVzZVN0YXRlKCkge1xuICAgICAgICB0aGlzLnVzZUJhY2tncm91bmQoKTtcbiAgICAgICAgdGhpcy51c2VTcGFuKCk7XG4gICAgICAgIHRoaXMudXNlRGlzcGxheSgpO1xuICAgICAgICB0aGlzLnVzZUZvY3VzKCk7XG4gICAgICAgIHVzZUVsZW1lbnRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5lbGVtZW50KTtcbiAgICB9XG5cbiAgICB1c2VUYWJsZVBvc2l0aW9uKCkge1xuICAgICAgICBjb25zdCBvcHRzID0gbmV3IFRhYmxlT3B0aW9ucygpO1xuICAgICAgICBjb25zdCBwYXRoID0gVGhlRWRpdG9yLmZpbmRQYXRoKHRoaXMuZWRpdG9yLCB0aGlzLmVsZW1lbnQpO1xuICAgICAgICAvLyBtdXN0IGJlIHBhdGggb2YgY2VsbCdzIGNoaWxkcmVuXG4gICAgICAgIHRoaXMudGFibGVQb3NpdGlvbiA9IFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIHRoaXMuZWRpdG9yLCBwYXRoLmNvbmNhdCgwKSk7XG4gICAgfVxuXG4gICAgdXNlQmFja2dyb3VuZCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudC5iYWNrZ3JvdW5kQ29sb3IgIT09IHRoaXMuYmFja2dyb3VuZENvbG9yKSB7XG4gICAgICAgICAgICB0aGlzLmJhY2tncm91bmRDb2xvciA9IHRoaXMuZWxlbWVudC5iYWNrZ3JvdW5kQ29sb3IgYXMgc3RyaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXNlU3BhbigpIHtcbiAgICAgICAgdGhpcy5jb2xzcGFuID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLnJvd3NwYW4gPSB1bmRlZmluZWQ7XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnQuY29sc3Bhbikge1xuICAgICAgICAgICAgdGhpcy5jb2xzcGFuID0gdGhpcy5lbGVtZW50LmNvbHNwYW47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudC5yb3dzcGFuKSB7XG4gICAgICAgICAgICB0aGlzLnJvd3NwYW4gPSB0aGlzLmVsZW1lbnQucm93c3BhbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNhbGN1bGF0ZUNlbGxJbm5lck1pbkhlaWdodCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudC5jb2xzcGFuKSB7XG4gICAgICAgICAgICBjb25zdCByb3dJbmRleCA9IHRoaXMudGFibGVQb3NpdGlvbi5nZXRSb3dJbmRleCgpO1xuICAgICAgICAgICAgaWYgKHRoaXMuY2FsY3VsYXRlQ29tYmluZWRSb3dzKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGxldCBoZWlnaHQgPSAwO1xuICAgICAgICAgICAgICAgIGNvbnN0IGhlaWdodHMgPSBnZXRCYXNlSGVpZ2h0Rm9yUm93cyh0aGlzLmVkaXRvciwgdGhpcy50YWJsZUNvbXBvbmVudC5lbGVtZW50KTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IHJvd0luZGV4OyBpbmRleCA8IHRoaXMuZWxlbWVudC5yb3dzcGFuICsgcm93SW5kZXg7IGluZGV4KyspIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0ICs9IGhlaWdodHNbaW5kZXhdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBoZWlnaHQgPSBoZWlnaHQgLSBCQVNFX0ZJTExfSEVJR0hUO1xuICAgICAgICAgICAgICAgIHJldHVybiBoZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjYWxjdWxhdGVDb21iaW5lZFJvd3MoKSB7XG4gICAgICAgIGNvbnN0IHJvd0luZGV4ID0gdGhpcy50YWJsZVBvc2l0aW9uLmdldFJvd0luZGV4KCk7XG4gICAgICAgIGNvbnN0IGNvbWJpbmVkUm93czogbnVtYmVyW10gPSBbXTtcbiAgICAgICAgY29uc3QgdGFibGUgPSB0aGlzLnRhYmxlUG9zaXRpb24udGFibGU7XG4gICAgICAgIHRhYmxlLmNoaWxkcmVuLmZvckVhY2goKHJvdywgX3Jvd0luZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAoX3Jvd0luZGV4ID4gcm93SW5kZXggJiYgX3Jvd0luZGV4IDw9IHJvd0luZGV4ICsgdGhpcy5lbGVtZW50LnJvd3NwYW4pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc0NvbWJpbmVkID0gcm93LmNoaWxkcmVuLmV2ZXJ5KGNlbGwgPT4gY2VsbC5oaWRkZW4gfHwgY2VsbC5yb3dzcGFuID4gMSk7XG4gICAgICAgICAgICAgICAgaWYgKGlzQ29tYmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29tYmluZWRSb3dzLnB1c2goX3Jvd0luZGV4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gY29tYmluZWRSb3dzO1xuICAgIH1cblxuICAgIHVzZURpc3BsYXkoKSB7XG4gICAgICAgIHRoaXMuZGlzcGxheSA9IHRoaXMuZWxlbWVudC5oaWRkZW4gPyAnbm9uZScgOiAnJztcbiAgICB9XG5cbiAgICB1c2VGb2N1cygpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNDb2xsYXBzZWRBbmROb25SZWFkb25seSAmJiBUaGVRdWVyaWVzLmlzR2xvYmFsQ29sbGFwc2VkKHRoaXMuZWRpdG9yKSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2ZvY3VzZWQtY2VsbCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2ZvY3VzZWQtY2VsbCcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXNlTWluSGVpZ2h0KG1pbkhlaWdodDogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0aGlzLmNlbGxJbm5lck1pbkhlaWdodCA9PT0gbWluSGVpZ2h0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jZWxsSW5uZXJNaW5IZWlnaHQgPSBtaW5IZWlnaHQ7XG4gICAgICAgIC8vIGlmICh0aGlzLmNlbGxJbm5lck1pbkhlaWdodCkge1xuICAgICAgICAvLyAgICAgdGhpcy5jZWxsSW5uZXJOYXRpdmVFbGVtZW50LnN0eWxlLm1pbkhlaWdodCA9IGAke3RoaXMuY2VsbElubmVyTWluSGVpZ2h0fXB4YDtcbiAgICAgICAgLy8gfSBlbHNlIHtcbiAgICAgICAgLy8gICAgIHRoaXMuY2VsbElubmVyTmF0aXZlRWxlbWVudC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnbWluLWhlaWdodCcpO1xuICAgICAgICAvLyB9XG4gICAgfVxuXG4gICAgLy8jcmVnaW9uIGNlbGwtc2VsZWN0XG4gICAgbGlzdGVuQ2VsbFNlbGVjdEV2ZW50cygpIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50ITtcbiAgICAgICAgICAgIGZyb21FdmVudDxNb3VzZUV2ZW50PihlbGVtZW50LCAnbW91c2Vkb3duJylcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKGU6IE1vdXNlRXZlbnQpID0+IGUuYnV0dG9uICE9PSAyKSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNlbGwgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbG9zZXN0KFNMQV9UQUJMRV9DRUxMX1NFTEVDVE9SKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjZWxsO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKGNlbGwgPT4gISFjZWxsKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChjZWxsOiBIVE1MVGFibGVDZWxsRWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuc2VsZWN0Q2VsbFN0YXJ0KGNlbGwsIHRoaXMuZWRpdG9yKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3ZlcmxheVJlZikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRldGFjaCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGlzdGVuQ2VsbE1vdXNlRXZlbnRzKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGxpc3RlbkNlbGxNb3VzZUV2ZW50cygpIHtcbiAgICAgICAgY29uc3QgbW91c2VvdmVyT2JzZXJ2YWJsZSA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pihkb2N1bWVudCwgJ21vdXNlb3ZlcicpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgICAgICAgICAgbWFwKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2VsbCA9IChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsb3Nlc3QoU0xBX1RBQkxFX0NFTExfU0VMRUNUT1IpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2VsbDtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKGNlbGw6IEhUTUxUYWJsZUNlbGxFbGVtZW50KSA9PiAhIWNlbGwpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChjZWxsOiBIVE1MVGFibGVDZWxsRWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudGFibGVTdG9yZS5zZWxlY3RDZWxsT25nb2luZyhjZWxsLCB0aGlzLmVkaXRvcik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGRvY3VtZW50LCAnbW91c2V1cCcpXG4gICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLnNlbGVjdENlbGxFbmQodGhpcy5lZGl0b3IpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRhYmxlU3RvcmUuaXNDZWxsU2VsZWN0aW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlQ29tcG9uZW50LnRhYmxlU2VydmljZS5hZnRlclNlbGVjdGVkQ2VsbHModGhpcy50YWJsZVN0b3JlLmZvY3VzQ2VsbEVsZW1lbnQsIHRoaXMudGFibGVDb21wb25lbnQuZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBtb3VzZW92ZXJPYnNlcnZhYmxlLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyNyZWdpb24gcmVzaXphYmxlXG4gICAgcHJpdmF0ZSBsaXN0ZW5Gb3JDZWxsSG92ZXJFdmVudHMoKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCE7XG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyXG4gICAgICAgICAgICAucmVzaXplT3ZlcmxheVZpc2libGVGb3JUYWJsZUNlbGwoZWxlbWVudClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgICAgICAgICBtYXAodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyDnpoHmraLnrKzkuIDliJflt6bkvqdcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlICYmIHZhbHVlLnBvc2l0aW9uID09PSBQb3NpdGlvbi5sZWZ0ICYmIHRoaXMudGFibGVQb3NpdGlvbi5nZXRDb2x1bW5JbmRleCgpID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyDnpoHmraLnrKzkuIDooYzpobbpg6hcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlICYmIHZhbHVlLnBvc2l0aW9uID09PSBQb3NpdGlvbi50b3AgJiYgdGhpcy50YWJsZVBvc2l0aW9uLmdldFJvd0luZGV4KCkgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZShob3ZlcmVkQ2VsbEluZm8gPT4ge1xuICAgICAgICAgICAgICAgIGlmIChob3ZlcmVkQ2VsbEluZm8gJiYgaG92ZXJlZENlbGxJbmZvLnBvc2l0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaG92ZXJkRGlyZWN0aW9uID0gaG92ZXJlZENlbGxJbmZvLnBvc2l0aW9uO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaG92ZXJkRGlyZWN0aW9uID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGhvdmVyZWRDZWxsSW5mbykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhvdmVyZERpcmVjdGlvbiA9IGhvdmVyZWRDZWxsSW5mby5wb3NpdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLm92ZXJsYXlSZWYgfHwgIXRoaXMub3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLl9jcmVhdGVPdmVybGF5Rm9ySGFuZGxlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zaG93SGFuZGxlT3ZlcmxheSgpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNpemVSZWYuc2V0RGlyZWN0aW9uKHRoaXMuaXNYQXhpc0hvdmVyID8gJ1gnIDogJ1knKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlT3ZlcmxheUhhbmRsZVNpemVBbmRPZmZzZXQoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxpc3RlbkZvclJlc2l6ZUV2ZW50cygpIHtcbiAgICAgICAgY29uc3QgdGFrZVVudGlsRGVzdHJveWVkID0gdGFrZVVudGlsPENvbHVtblNpemVBY3Rpb24+KHRoaXMuZGVzdHJveSQpO1xuXG4gICAgICAgIG1lcmdlKHRoaXMucmVzaXplTm90aWZpZXIucmVzaXplQ2FuY2VsZWQsIHRoaXMucmVzaXplTm90aWZpZXIudHJpZ2dlclJlc2l6ZSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoY29sdW1uU2l6ZSA9PiBjb2x1bW5TaXplLnRhYmxlQ2VsbCA9PT0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh7IGRlbHRhU2l6ZSwgcHJldmlvdXNTaXplLCBjb21wbGV0ZUltbWVkaWF0ZWx5IH0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHRvcCwgbGVmdCwgaGVpZ2h0LCB3aWR0aCB9ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBjbGllbnRZLCBjbGllbnRYIH0gPSBldmVudCBhcyBNb3VzZUV2ZW50O1xuICAgICAgICAgICAgICAgIGxldCBpc1ByZXZlbnRBcHBseVNpemUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAvLyDlkJHkuIvvvIzmiJbogIXlkJHlj7Pnp7vliqgoZGVsdGFTaXplID4gMCnvvIzpvKDmoIfkvY3nva7kuI3lnKjlvZPliY3ljZXlhYPmoLzmi5bmi73nur/kuIrvvIzpmLvmraLlupTnlKjmi5bmi73lsLrlr7hcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1hBeGlzSG92ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2VsbFdpZHRoID0gdGhpcy5ob3ZlcmREaXJlY3Rpb24gPT09IFBvc2l0aW9uLmxlZnQgPyAwIDogd2lkdGg7XG4gICAgICAgICAgICAgICAgICAgIGlzUHJldmVudEFwcGx5U2l6ZSA9IGRlbHRhU2l6ZSA+IDAgJiYgbGVmdCArIGNlbGxXaWR0aCAtIGNsaWVudFggPiAwO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNlbGxIZWlnaHQgPSB0aGlzLmhvdmVyZERpcmVjdGlvbiA9PT0gUG9zaXRpb24udG9wID8gMCA6IGhlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgaXNQcmV2ZW50QXBwbHlTaXplID0gZGVsdGFTaXplID4gMCAmJiB0b3AgKyBjZWxsSGVpZ2h0IC0gY2xpZW50WSA+IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpc1ByZXZlbnRBcHBseVNpemUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCEuY2xhc3NMaXN0LmFkZChPVkVSTEFZX0FDVElWRV9DTEFTUyk7XG4gICAgICAgICAgICAgICAgdGhpcy5hcHBseVNpemUoZGVsdGFTaXplLCBwcmV2aW91c1NpemUpO1xuICAgICAgICAgICAgICAgIGlmIChjb21wbGV0ZUltbWVkaWF0ZWx5KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbXBsZXRlUmVzaXplT3BlcmF0aW9uKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgbWVyZ2UodGhpcy5yZXNpemVOb3RpZmllci5yZXNpemVDYW5jZWxlZCwgdGhpcy5yZXNpemVOb3RpZmllci5yZXNpemVDb21wbGV0ZWQpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGNvbHVtblNpemUgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NsZWFuVXBBZnRlclJlc2l6ZShjb2x1bW5TaXplKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2l6aW5nU3RvcmUuY2xlYW5SZXNpemluZygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY29tcGxldGVSZXNpemVPcGVyYXRpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlc2l6ZU5vdGlmaWVyLnJlc2l6ZUNvbXBsZXRlZC5uZXh0KHtcbiAgICAgICAgICAgICAgICB0YWJsZUNlbGw6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY2xlYW5VcEFmdGVyUmVzaXplKGNvbHVtblNpemU6IENvbHVtblNpemVBY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQhLmNsYXNzTGlzdC5yZW1vdmUoT1ZFUkxBWV9BQ1RJVkVfQ0xBU1MpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NyZWF0ZUhhbmRsZVBvcnRhbCgpOiBDb21wb25lbnRQb3J0YWw8VGhlQ29sdW1uUmVzaXplT3ZlcmxheUhhbmRsZUNvbXBvbmVudD4ge1xuICAgICAgICBjb25zdCBjdXN0b21Ub2tlbnMgPSBuZXcgV2Vha01hcCgpO1xuICAgICAgICB0aGlzLnJlc2l6ZVJlZiA9IG5ldyBSZXNpemVSZWYoXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYsXG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYhLFxuICAgICAgICAgICAgdGhpcy50YWJsZU9wdGlvbnMubWluV2lkdGhQeCxcbiAgICAgICAgICAgIHRoaXMudGFibGVPcHRpb25zLm1heFdpZHRoUHgsXG4gICAgICAgICAgICB0aGlzLnRhYmxlT3B0aW9ucy5taW5IZWlnaHRQeCxcbiAgICAgICAgICAgIHRoaXMudGFibGVPcHRpb25zLm1heEhlaWdodFB4LFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlT3ZlcmxheUhhbmRsZVNpemVBbmRPZmZzZXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgICAgY3VzdG9tVG9rZW5zLnNldChSZXNpemVSZWYsIHRoaXMucmVzaXplUmVmKTtcbiAgICAgICAgY3VzdG9tVG9rZW5zLnNldChUYWJsZUNlbGxFdmVudERpc3BhdGNoZXIsIHRoaXMuZXZlbnREaXNwYXRjaGVyKTtcbiAgICAgICAgY3VzdG9tVG9rZW5zLnNldChDb2x1bW5SZXNpemVOb3RpZmllclNvdXJjZSwgdGhpcy5yZXNpemVOb3RpZmllcik7XG4gICAgICAgIGNvbnN0IGluamVjdG9yID0gbmV3IFBvcnRhbEluamVjdG9yKHRoaXMuaW5qZWN0b3IsIGN1c3RvbVRva2Vucyk7XG4gICAgICAgIHJldHVybiBuZXcgQ29tcG9uZW50UG9ydGFsKFRoZUNvbHVtblJlc2l6ZU92ZXJsYXlIYW5kbGVDb21wb25lbnQsIHRoaXMudmlld0NvbnRhaW5lclJlZiwgaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3Nob3dIYW5kbGVPdmVybGF5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWYhLmF0dGFjaCh0aGlzLl9jcmVhdGVIYW5kbGVQb3J0YWwoKSkuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIHRoaXMudXBkYXRlT3ZlcmxheUhhbmRsZVNpemVBbmRPZmZzZXQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZU92ZXJsYXlIYW5kbGVTaXplQW5kT2Zmc2V0KCkge1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWY/LnJlbW92ZVBhbmVsQ2xhc3MoWyd0aGUtY29sdW1uLXJlc2l6ZS1oYW5kbGUtcGFuZWwnLCAuLi50aGlzLnJvd1Jlc2l6ZUNsYXNzXSk7XG4gICAgICAgIHRoaXMuaXNYQXhpc0hvdmVyID8gdGhpcy51cGRhdGVPdmVybGF5SGFuZGxlQ29sdW1uU2l6ZSgpIDogdGhpcy51cGRhdGVPdmVybGF5SGFuZGxlUm93U2l6ZSgpO1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWY/LnVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3kodGhpcy5jcmVhdGVQb3NpdGlvblN0cmF0ZWd5KCkpO1xuICAgICAgICB0aGlzLnJlc2l6ZVJlZi5zZXREaXJlY3Rpb24odGhpcy5pc1hBeGlzSG92ZXIgPyAnWCcgOiAnWScpO1xuICAgICAgICB0aGlzLnJlc2l6ZVJlZi5zZXRQb3NpdGlvbih0aGlzLmhvdmVyZERpcmVjdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVPdmVybGF5SGFuZGxlQ29sdW1uU2l6ZSgpIHtcbiAgICAgICAgbGV0IGhlaWdodCA9IDA7XG4gICAgICAgIGNvbnN0IHRhYmxlRWxlbWVudFRvcCA9IHRoaXMudGFibGVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcbiAgICAgICAgaWYgKHRhYmxlRWxlbWVudFRvcCA8IHRoaXMuc2Nyb2xsYWJsZUVsZW1lbnRUb3ApIHtcbiAgICAgICAgICAgIGhlaWdodCA9IHRoaXMudGFibGVFbGVtZW50Lm9mZnNldEhlaWdodCAtICh0aGlzLnNjcm9sbGFibGVFbGVtZW50VG9wIC0gdGFibGVFbGVtZW50VG9wKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGhlaWdodCA9IHRoaXMudGFibGVFbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYhLmFkZFBhbmVsQ2xhc3MoJ3RoZS1jb2x1bW4tcmVzaXplLWhhbmRsZS1wYW5lbCcpO1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWYhLnVwZGF0ZVNpemUoeyBoZWlnaHQsIHdpZHRoOiBPVkVSTEFZX0lOSVRfU0laRSB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZU92ZXJsYXlIYW5kbGVSb3dTaXplKCkge1xuICAgICAgICBjb25zdCB3aWR0aCA9IHRoaXMudGFibGVDb21wb25lbnQudGFibGVXcmFwcGVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZiEuYWRkUGFuZWxDbGFzcyh0aGlzLnJvd1Jlc2l6ZUNsYXNzKTtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmIS51cGRhdGVTaXplKHsgd2lkdGg6IHdpZHRoIC0gMiwgaGVpZ2h0OiBPVkVSTEFZX0lOSVRfU0laRSB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5U2l6ZShkZWx0YVNpemU6IG51bWJlciwgcHJldmlvdXNTaXplPzogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIC8vIHVwZGF0ZSBjb2wgd2lkdGggYW5kIHRhYmxlIHdpZHRoXG4gICAgICAgIGlmICh0aGlzLmlzWEF4aXNIb3Zlcikge1xuICAgICAgICAgICAgdGhpcy5hcHBseUNvbHVtblNpemUoZGVsdGFTaXplKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYXBwbHlSb3dTaXplKGRlbHRhU2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50YWJsZUNvbXBvbmVudC51c2VSb3dDb250cm9scygpO1xuICAgICAgICB0aGlzLnRhYmxlQ29tcG9uZW50LmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgdGhpcy51cGRhdGVPdmVybGF5SGFuZGxlU2l6ZUFuZE9mZnNldCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NyZWF0ZU92ZXJsYXlGb3JIYW5kbGUoKTogT3ZlcmxheVJlZiB7XG4gICAgICAgIC8vIFVzZSBvZiBvdmVybGF5cyBhbGxvd3MgdXMgdG8gcHJvcGVybHkgY2FwdHVyZSBjbGljayBldmVudHMgc3Bhbm5pbmcgcGFydHNcbiAgICAgICAgLy8gb2YgdHdvIHRhYmxlIGNlbGxzIGFuZCBpcyBhbHNvIHVzZWZ1bCBmb3IgZGlzcGxheWluZyBhIHJlc2l6ZSB0aHVtYlxuICAgICAgICAvLyBvdmVyIGJvdGggY2VsbHMgYW5kIGV4dGVuZGluZyBpdCBkb3duIHRoZSB0YWJsZSBhcyBuZWVkZWQuXG4gICAgICAgIGNvbnN0IG92ZXJsYXlPcHRpb24gPSB0aGlzLmlzWEF4aXNIb3ZlclxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogT1ZFUkxBWV9JTklUX1NJWkUgKyAncHgnLFxuICAgICAgICAgICAgICAgICAgcGFuZWxDbGFzczogJ3RoZS1jb2x1bW4tcmVzaXplLWhhbmRsZS1wYW5lbCdcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IE9WRVJMQVlfSU5JVF9TSVpFICsgJ3B4JyxcbiAgICAgICAgICAgICAgICAgIHBhbmVsQ2xhc3M6IHRoaXMucm93UmVzaXplQ2xhc3NcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuICAgICAgICAgICAgLy8gQWx3YXlzIHBvc2l0aW9uIHRoZSBvdmVybGF5IGJhc2VkIG9uIGxlZnQtaW5kZXhlZCBjb29yZGluYXRlcy5cbiAgICAgICAgICAgIGRpc3Bvc2VPbk5hdmlnYXRpb246IHRydWUsXG4gICAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLmNyZWF0ZVBvc2l0aW9uU3RyYXRlZ3koKSxcbiAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5jbG9zZSgpLFxuICAgICAgICAgICAgLi4ub3ZlcmxheU9wdGlvblxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZVBvc2l0aW9uU3RyYXRlZ3koKSB7XG4gICAgICAgIGxldCBvZmZzZXRZID0gdGhpcy5jYWxjdWxhdGVPdmVybGF5SGFuZGxlT2Zmc2V0WSgpO1xuICAgICAgICBsZXQgb2Zmc2V0WCA9IHRoaXMuY2FsY3VsYXRlT3ZlcmxheUhhbmRsZU9mZnNldFgoKTtcbiAgICAgICAgY29uc3QgcG9zaXRpb246IENvbm5lY3RlZFBvc2l0aW9uID0gdGhpcy5pc1hBeGlzSG92ZXJcbiAgICAgICAgICAgID8geyAuLi5QT1NJVElPTl9NQVBbdGhpcy5ob3ZlcmREaXJlY3Rpb25dLCBvZmZzZXRZIH1cbiAgICAgICAgICAgIDogeyAuLi5QT1NJVElPTl9NQVBbdGhpcy5ob3ZlcmREaXJlY3Rpb25dLCBvZmZzZXRYIH07XG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXlcbiAgICAgICAgICAgIC5wb3NpdGlvbigpXG4gICAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudClcbiAgICAgICAgICAgIC53aXRoRmxleGlibGVEaW1lbnNpb25zKGZhbHNlKVxuICAgICAgICAgICAgLndpdGhHcm93QWZ0ZXJPcGVuKGZhbHNlKVxuICAgICAgICAgICAgLndpdGhQdXNoKGZhbHNlKVxuICAgICAgICAgICAgLndpdGhQb3NpdGlvbnMoW3Bvc2l0aW9uXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVPdmVybGF5SGFuZGxlT2Zmc2V0WSgpIHtcbiAgICAgICAgY29uc3QgdGFibGVFbGVtZW50VG9wID0gdGhpcy50YWJsZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wO1xuICAgICAgICBpZiAodGFibGVFbGVtZW50VG9wIDwgdGhpcy5zY3JvbGxhYmxlRWxlbWVudFRvcCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2Nyb2xsYWJsZUVsZW1lbnRUb3AgLSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGFibGVFbGVtZW50VG9wIC0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVPdmVybGF5SGFuZGxlT2Zmc2V0WCgpIHtcbiAgICAgICAgY29uc3QgY2VsbEVsZW1lbnRMZWZ0ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdDtcbiAgICAgICAgY29uc3QgdGFibGVFbGVtZW50TGVmdCA9IHRoaXMudGFibGVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQ7XG4gICAgICAgIHJldHVybiB0YWJsZUVsZW1lbnRMZWZ0IC0gY2VsbEVsZW1lbnRMZWZ0ICsgdGhpcy5zY3JvbGxhYmxlRWxlbWVudExlZnQ7XG4gICAgfVxuXG4gICAgYXBwbHlDb2x1bW5TaXplKGRlbHRhWDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbHMgPSBbLi4udGhpcy50YWJsZUVsZW1lbnQucXVlcnlTZWxlY3RvcignY29sZ3JvdXAnKS5jaGlsZHJlbl0gYXMgSFRNTFRhYmxlQ29sRWxlbWVudFtdO1xuICAgICAgICB0aGlzLnJlc2l6aW5nU3RvcmUuc3RvcmVUYWJsZVdpZHRoKGNvbHMpO1xuICAgICAgICB0aGlzLnJlc2l6aW5nU3RvcmUuaW5pdERpcmVjdGlvbihkZWx0YVgpO1xuICAgICAgICBsZXQgY2VsbEluZGV4ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2VsbEluZGV4O1xuICAgICAgICBpZiAodGhpcy5ob3ZlcmREaXJlY3Rpb24gPT09ICdsZWZ0Jykge1xuICAgICAgICAgICAgY2VsbEluZGV4ID0gY2VsbEluZGV4IC0gMTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb2xzcGFuID0gKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5nZXRBdHRyaWJ1dGUoJ2NvbHNwYW4nKSB8fCAxO1xuICAgICAgICBjZWxsSW5kZXggPSBjZWxsSW5kZXggKyAoY29sc3BhbiBhcyBudW1iZXIpIC8gMSAtIDE7XG4gICAgICAgIGlmIChkZWx0YVggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmFwcGx5UmlnaHRDb2xzKGNvbHMsIGRlbHRhWCwgY2VsbEluZGV4ICsgMSk7XG4gICAgICAgICAgICBpZiAodGhpcy5yZXNpemluZ1N0b3JlLmlzUmVzdG9yaW5nKGRlbHRhWCkpIHtcbiAgICAgICAgICAgICAgICBkZWx0YVggPSB0aGlzLnJlc2l6aW5nU3RvcmUucmVzdG9yZUxlZnRDb2xzKGRlbHRhWCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZGVsdGFYID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbHNbY2VsbEluZGV4XS5zdHlsZS53aWR0aCA9IGNvZXJjZUNzc1BpeGVsVmFsdWUoY29lcmNlUGl4ZWxzRnJvbUNzc1ZhbHVlKGNvbHNbY2VsbEluZGV4XS5zdHlsZS53aWR0aCkgKyBkZWx0YVgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgbmV4dENvbCA9IGNvbHNbY2VsbEluZGV4ICsgMV07XG4gICAgICAgICAgICBpZiAobmV4dENvbCkge1xuICAgICAgICAgICAgICAgIGxldCBsZWZ0RGVsdGFYID0gdGhpcy5yZXNpemluZ1N0b3JlLmdldFNjcm9sbFdpZHRoKGRlbHRhWCk7XG4gICAgICAgICAgICAgICAgY29uc3QgX2RlbHRhID0gdGhpcy5hcHBseUxlZnRDb2xzKGNvbHMsIGRlbHRhWCwgY2VsbEluZGV4KTtcbiAgICAgICAgICAgICAgICBpZiAoX2RlbHRhID09PSBkZWx0YVgpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gY2FuIG5vdCByZXNpemVcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkZWx0YVggPSBkZWx0YVggLSBfZGVsdGE7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucmVzaXppbmdTdG9yZS5pc1Jlc3RvcmluZyhkZWx0YVgpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChsZWZ0RGVsdGFYIDwgMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdERlbHRhWCA9IHRoaXMucmVzaXppbmdTdG9yZS5yZXN0b3JlUmlnaHRDb2xzKGxlZnREZWx0YVgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChsZWZ0RGVsdGFYIDwgMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV4dENvbC5zdHlsZS53aWR0aCA9IGNvZXJjZUNzc1BpeGVsVmFsdWUoZ2V0RWxlbWVudFdpZHRoKG5leHRDb2wpICsgTWF0aC5hYnMobGVmdERlbHRhWCkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbmV4dENvbC5zdHlsZS53aWR0aCA9IGNvZXJjZUNzc1BpeGVsVmFsdWUoZ2V0RWxlbWVudFdpZHRoKG5leHRDb2wpICsgTWF0aC5hYnMoZGVsdGFYKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzY3JvbGxXaWR0aCA9IGdldEVsZW1lbnRXaWR0aCh0aGlzLnRhYmxlRWxlbWVudCkgLSB0aGlzLnRhYmxlQ29tcG9uZW50LmdldFdyYXBwZXJXaWR0aCgpO1xuICAgICAgICAgICAgICAgIGlmIChzY3JvbGxXaWR0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNjcm9sbFdpZHRoID4gTWF0aC5hYnMoZGVsdGFYKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBseUxlZnRDb2xzKGNvbHMsIGRlbHRhWCwgY2VsbEluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwbHlMZWZ0Q29scyhjb2xzLCAtc2Nyb2xsV2lkdGgsIGNlbGxJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhcHBseUxlZnRDb2xzKGNvbHM6IEhUTUxUYWJsZUNvbEVsZW1lbnRbXSwgZGVsdGFYOiBudW1iZXIsIGNvbEluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICB3aGlsZSAoZGVsdGFYIDwgMCAmJiBjb2xzW2NvbEluZGV4XSkge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFdpZHRoID0gZ2V0RWxlbWVudFdpZHRoKGNvbHNbY29sSW5kZXhdKTtcbiAgICAgICAgICAgIGlmIChjdXJyZW50V2lkdGggPiB0aGlzLnRhYmxlT3B0aW9ucy5taW5XaWR0aFB4KSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucmVzaXppbmdTdG9yZS5pc1Jlc2l6aW5nKGRlbHRhWCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNpemluZ1N0b3JlLnN0b3JlUmVzaXppbmdDb2woY29sc1tjb2xJbmRleF0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoY3VycmVudFdpZHRoID4gdGhpcy50YWJsZU9wdGlvbnMubWluV2lkdGhQeCArIE1hdGguYWJzKGRlbHRhWCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sc1tjb2xJbmRleF0uc3R5bGUud2lkdGggPSBjb2VyY2VDc3NQaXhlbFZhbHVlKGN1cnJlbnRXaWR0aCAtIE1hdGguYWJzKGRlbHRhWCkpO1xuICAgICAgICAgICAgICAgICAgICBkZWx0YVggPSAwO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGRlbHRhWCArPSBjdXJyZW50V2lkdGggLSB0aGlzLnRhYmxlT3B0aW9ucy5taW5XaWR0aFB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xzW2NvbEluZGV4XS5zdHlsZS53aWR0aCA9IGNvZXJjZUNzc1BpeGVsVmFsdWUodGhpcy50YWJsZU9wdGlvbnMubWluV2lkdGhQeCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29sSW5kZXgtLTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGVsdGFYO1xuICAgIH1cblxuICAgIGFwcGx5UmlnaHRDb2xzKGNvbHM6IEhUTUxUYWJsZUNvbEVsZW1lbnRbXSwgZGVsdGFYOiBudW1iZXIsIGNvbEluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgd2hpbGUgKGRlbHRhWCA+IDAgJiYgY29sc1tjb2xJbmRleF0pIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRXaWR0aCA9IGdldEVsZW1lbnRXaWR0aChjb2xzW2NvbEluZGV4XSk7XG4gICAgICAgICAgICBpZiAoY3VycmVudFdpZHRoID4gdGhpcy50YWJsZU9wdGlvbnMubWluV2lkdGhQeCkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnJlc2l6aW5nU3RvcmUuaXNSZXNpemluZyhkZWx0YVgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzaXppbmdTdG9yZS5zdG9yZVJlc2l6aW5nQ29sKGNvbHNbY29sSW5kZXhdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRXaWR0aCA+IGRlbHRhWCArIHRoaXMudGFibGVPcHRpb25zLm1pbldpZHRoUHgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sc1tjb2xJbmRleF0uc3R5bGUud2lkdGggPSBjb2VyY2VDc3NQaXhlbFZhbHVlKGN1cnJlbnRXaWR0aCAtIGRlbHRhWCk7XG4gICAgICAgICAgICAgICAgICAgIGRlbHRhWCA9IDA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZGVsdGFYIC09IGN1cnJlbnRXaWR0aCAtIHRoaXMudGFibGVPcHRpb25zLm1pbldpZHRoUHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbHNbY29sSW5kZXhdLnN0eWxlLndpZHRoID0gY29lcmNlQ3NzUGl4ZWxWYWx1ZSh0aGlzLnRhYmxlT3B0aW9ucy5taW5XaWR0aFB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb2xJbmRleCsrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkZWx0YVg7XG4gICAgfVxuXG4gICAgYXBwbHlSb3dTaXplKGRlbHRhWTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJvd3MgPSBbLi4udGhpcy50YWJsZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndGJvZHknKS5jaGlsZHJlbl0gYXMgSFRNTFRhYmxlUm93RWxlbWVudFtdO1xuICAgICAgICB0aGlzLnJlc2l6aW5nU3RvcmUuc3RvcmVUYWJsZUhlaWdodChyb3dzKTtcbiAgICAgICAgdGhpcy5yZXNpemluZ1N0b3JlLmluaXREaXJlY3Rpb24oZGVsdGFZLCB0aGlzLmlzWEF4aXNIb3Zlcik7XG4gICAgICAgIGxldCByb3dJbmRleCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQucm93SW5kZXggLSAxOyAvLyBzdWJ0cmFjdCB0aGVhZCdzIHRyXG4gICAgICAgIGlmICh0aGlzLmhvdmVyZERpcmVjdGlvbiA9PT0gUG9zaXRpb24udG9wKSB7XG4gICAgICAgICAgICByb3dJbmRleCA9IHJvd0luZGV4IC0gMTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByb3dTcGFuID0gKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxUYWJsZUNlbGxFbGVtZW50KS5yb3dTcGFuO1xuICAgICAgICBjb25zdCBib3R0b21Sb3dJbmRleCA9IHJvd0luZGV4ICsgKHJvd1NwYW4gLSAxKSArIDE7XG4gICAgICAgIGlmIChkZWx0YVkgPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmFwcGx5Qm90dG9tUm93cyhyb3dzLCBkZWx0YVksIGJvdHRvbVJvd0luZGV4KTtcbiAgICAgICAgICAgIGlmICh0aGlzLnJlc2l6aW5nU3RvcmUuaXNSZXN0b3JpbmcoZGVsdGFZLCB0aGlzLmlzWEF4aXNIb3ZlcikpIHtcbiAgICAgICAgICAgICAgICBkZWx0YVkgPSB0aGlzLnJlc2l6aW5nU3RvcmUucmVzdG9yZVRvcFJvd3MoZGVsdGFZKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChkZWx0YVkgPiAwKSB7XG4gICAgICAgICAgICAgICAgbGV0IGluaXRIZWlnaHQgPSBnZXRFbGVtZW50SGVpZ2h0KHJvd3Nbcm93SW5kZXhdKTtcbiAgICAgICAgICAgICAgICByb3dzW3Jvd0luZGV4XS5zdHlsZS5oZWlnaHQgPSBjb2VyY2VDc3NQaXhlbFZhbHVlKGluaXRIZWlnaHQgKyBkZWx0YVkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGV0IGFkZERlbHRhWSA9IHRoaXMucmVzaXppbmdTdG9yZS5nZXRBZGRUYWJsZUhlaWdodChkZWx0YVkpO1xuICAgICAgICAgICAgY29uc3QgX2RlbHRhID0gdGhpcy5hcHBseVRvcFJvd3Mocm93cywgZGVsdGFZLCByb3dJbmRleCk7XG4gICAgICAgICAgICBpZiAoX2RlbHRhID09PSBkZWx0YVkpIHtcbiAgICAgICAgICAgICAgICAvLyBjYW4gbm90IHJlc2l6ZVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlbHRhWSA9IGRlbHRhWSAtIF9kZWx0YTtcbiAgICAgICAgICAgIGlmICh0aGlzLnJlc2l6aW5nU3RvcmUuaXNSZXN0b3JpbmcoZGVsdGFZLCB0aGlzLmlzWEF4aXNIb3ZlcikpIHtcbiAgICAgICAgICAgICAgICBpZiAoYWRkRGVsdGFZIDwgMCkge1xuICAgICAgICAgICAgICAgICAgICBkZWx0YVkgPSB0aGlzLnJlc2l6aW5nU3RvcmUucmVzdG9yZUJvdHRvbVJvd3MoZGVsdGFZKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhcHBseVRvcFJvd3Mocm93czogSFRNTFRhYmxlUm93RWxlbWVudFtdLCBkZWx0YVk6IG51bWJlciwgcm93SW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHdoaWxlIChkZWx0YVkgPCAwICYmIHJvd3Nbcm93SW5kZXhdKSB7XG4gICAgICAgICAgICBjb25zdCByb3dPZmZzZXRIZWlnaHQgPSBnZXRFbGVtZW50SGVpZ2h0KHJvd3Nbcm93SW5kZXhdKTtcbiAgICAgICAgICAgIGlmIChyb3dPZmZzZXRIZWlnaHQgPiB0aGlzLnRhYmxlT3B0aW9ucy5taW5IZWlnaHRQeCkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnJlc2l6aW5nU3RvcmUuaXNSZXNpemluZyhkZWx0YVksIHRoaXMuaXNYQXhpc0hvdmVyKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc2l6aW5nU3RvcmUuc3RvcmVSZXNpemluZ1Jvdyhyb3dzW3Jvd0luZGV4XSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChyb3dPZmZzZXRIZWlnaHQgPiB0aGlzLnRhYmxlT3B0aW9ucy5taW5IZWlnaHRQeCArIE1hdGguYWJzKGRlbHRhWSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcm93c1tyb3dJbmRleF0uc3R5bGUuaGVpZ2h0ID0gY29lcmNlQ3NzUGl4ZWxWYWx1ZShyb3dPZmZzZXRIZWlnaHQgLSBNYXRoLmFicyhkZWx0YVkpKTtcbiAgICAgICAgICAgICAgICAgICAgZGVsdGFZID0gMDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBkZWx0YVkgKz0gcm93T2Zmc2V0SGVpZ2h0IC0gdGhpcy50YWJsZU9wdGlvbnMubWluSGVpZ2h0UHg7XG4gICAgICAgICAgICAgICAgICAgIHJvd3Nbcm93SW5kZXhdLnN0eWxlLmhlaWdodCA9IGNvZXJjZUNzc1BpeGVsVmFsdWUodGhpcy50YWJsZU9wdGlvbnMubWluSGVpZ2h0UHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJvd0luZGV4LS07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRlbHRhWTtcbiAgICB9XG5cbiAgICBhcHBseUJvdHRvbVJvd3Mocm93czogSFRNTFRhYmxlUm93RWxlbWVudFtdLCBkZWx0YVk6IG51bWJlciwgcm93SW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHdoaWxlIChyb3dzW3Jvd0luZGV4XSAmJiBkZWx0YVkgPiAwKSB7XG4gICAgICAgICAgICBjb25zdCByb3dPZmZzZXRIZWlnaHQgPSBnZXRFbGVtZW50SGVpZ2h0KHJvd3Nbcm93SW5kZXhdKTtcbiAgICAgICAgICAgIGlmIChyb3dPZmZzZXRIZWlnaHQgPiB0aGlzLnRhYmxlT3B0aW9ucy5taW5IZWlnaHRQeCkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnJlc2l6aW5nU3RvcmUuaXNSZXNpemluZyhkZWx0YVksIHRoaXMuaXNYQXhpc0hvdmVyKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc2l6aW5nU3RvcmUuc3RvcmVSZXNpemluZ1Jvdyhyb3dzW3Jvd0luZGV4XSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChyb3dPZmZzZXRIZWlnaHQgPiBkZWx0YVkgKyB0aGlzLnRhYmxlT3B0aW9ucy5taW5IZWlnaHRQeCkge1xuICAgICAgICAgICAgICAgICAgICByb3dzW3Jvd0luZGV4XS5zdHlsZS5oZWlnaHQgPSBjb2VyY2VDc3NQaXhlbFZhbHVlKHJvd09mZnNldEhlaWdodCAtIGRlbHRhWSk7XG4gICAgICAgICAgICAgICAgICAgIGRlbHRhWSA9IDA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZGVsdGFZIC09IHJvd09mZnNldEhlaWdodCAtIHRoaXMudGFibGVPcHRpb25zLm1pbkhlaWdodFB4O1xuICAgICAgICAgICAgICAgICAgICByb3dzW3Jvd0luZGV4XS5zdHlsZS5oZWlnaHQgPSBjb2VyY2VDc3NQaXhlbFZhbHVlKHRoaXMudGFibGVPcHRpb25zLm1pbkhlaWdodFB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByb3dJbmRleCsrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkZWx0YVk7XG4gICAgfVxuXG4gICAgLy8jcmVnaW9uXG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgaWYgKHRoaXMub3ZlcmxheVJlZikge1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRldGFjaCgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIiwiPGRpdiAjY2VsbElubmVyPlxuICAgIDxzbGF0ZS1jaGlsZHJlbiBbY2hpbGRyZW5dPVwiY2hpbGRyZW5cIiBbY29udGV4dF09XCJjaGlsZHJlbkNvbnRleHRcIiBbdmlld0NvbnRleHRdPVwidmlld0NvbnRleHRcIj48L3NsYXRlLWNoaWxkcmVuPlxuPC9kaXY+XG4iXX0=
|
|
@@ -55,5 +55,6 @@ import { isContainNestedType } from './is-contain-nested-type';
|
|
|
55
55
|
import { getToolbarItemDisabled } from './get-toolbar-disabled';
|
|
56
56
|
import { getPluginByToolbarItem } from './get-plugin-by-toolbar';
|
|
57
57
|
import { isEmptyContent } from './is-empty-content';
|
|
58
|
-
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcXVlcmllcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENB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LE9BQU8sRUFDUCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsUUFBUSxFQUNSLGNBQWMsRUFDZCx1QkFBdUIsRUFDdkIsT0FBTyxFQUNQLG9CQUFvQixFQUNwQixzQkFBc0IsRUFDdEIsY0FBYyxFQUNkLHdCQUF3QixFQUN4QixpQkFBaUIsRUFDakIsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxhQUFhLEVBQ2IsY0FBYyxFQUNkLGVBQWUsRUFDZixpQkFBaUIsRUFDakIsWUFBWSxFQUNaLFlBQVksRUFDWixhQUFhLEVBQ2IsYUFBYSxFQUNiLDhCQUE4QixFQUM5QixPQUFPLEVBQ1AsbUJBQW1CLEVBQ25CLFlBQVksRUFDWixVQUFVLEVBQ1YsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixzQkFBc0IsRUFDdEIsY0FBYyxFQUNkLFdBQVcsRUFDWCxxQkFBcUIsRUFDckIsbUJBQW1CLEVBQ25CLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixRQUFRLEVBQ1IsY0FBYyxFQUNkLFFBQVEsRUFDUixzQkFBc0IsRUFDdEIsc0JBQXNCLEVBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRMYXN0Tm9kZSB9IGZyb20gJy4vZ2V0LWxhc3Qtbm9kZSc7XG5pbXBvcnQgeyBpc0FuY2VzdG9yIH0gZnJvbSAnLi9pcy1hbmNlc3Rvcic7XG5pbXBvcnQgeyBpc0NvbGxhcHNlZCB9IGZyb20gJy4vaXMtY29sbGFwc2VkJztcbmltcG9ydCB7IGdldEFuY2hvckJsb2NrRW50cnkgfSBmcm9tICcuL2dldC1hbmNob3ItYmxvY2stZW50cnknO1xuaW1wb3J0IHsgaXNFbXB0eVBhcmFncmFwaCB9IGZyb20gJy4vaXMtZW1wdHktcGFyYWdyYXBoJztcbmltcG9ydCB7IGlzUGFyYWdyYXBoIH0gZnJvbSAnLi9pcy1wYXJhZ3JhcGgnO1xuaW1wb3J0IHsgaXNCbG9ja0FjdGl2ZSB9IGZyb20gJy4vaXMtYmxvY2stYWN0aXZlJztcbmltcG9ydCB7IGlzSW5jbHVkZVR5cGVzIH0gZnJvbSAnLi9pcy1pbmNsdWRlLXR5cGVzJztcbmltcG9ydCB7IGdldEFib3ZlQnlUeXBlIH0gZnJvbSAnLi9nZXQtYWJvdmUtYnktdHlwZSc7XG5pbXBvcnQgeyBhbmNob3JCbG9ja0VudHJ5IH0gZnJvbSAnLi9hbmNob3ItYmxvY2stZW50cnknO1xuaW1wb3J0IHsgZ2V0Tm9kZXNCeVR5cGUgfSBmcm9tICcuL2dldC1ub2Rlcy1ieS10eXBlJztcbmltcG9ydCB7IGdldE5vZGVzIH0gZnJvbSAnLi9nZXQtbm9kZXMnO1xuaW1wb3J0IHsgYW5jaG9yQmxvY2sgfSBmcm9tICcuL2FuY2hvci1ibG9jayc7XG5pbXBvcnQgeyBnZXRCbG9ja0Fib3ZlIH0gZnJvbSAnLi9nZXQtYmxvY2stYWJvdmUnO1xuaW1wb3J0IHsgaXNBbmNlc3RvckVtcHR5IH0gZnJvbSAnLi9pcy1hbmNlc3Rvci1lbXB0eSc7XG5pbXBvcnQgeyBpc0Jsb2NrQWJvdmVFbXB0eSB9IGZyb20gJy4vaXMtYmxvY2stYWJvdmUtZW1wdHknO1xuaW1wb3J0IHsgaXNOb2RlVHlwZUluIH0gZnJvbSAnLi9pcy1ub2RlLXR5cGUtaW4nO1xuaW1wb3J0IHsgaXNGaXJzdENoaWxkIH0gZnJvbSAnLi9pcy1maXJzdC1jaGlsZCc7XG5pbXBvcnQgeyBnZXRQcmV2aW91c1BhdGggfSBmcm9tICcuL2dldC1wcmV2aW91cy1wYXRoJztcbmltcG9ydCB7IGdldE5vZGUgfSBmcm9tICcuL2dldC1ub2RlJztcbmltcG9ydCB7IGdldFBhcmVudCB9IGZyb20gJy4vZ2V0LXBhcmVudCc7XG5pbXBvcnQgeyBmaW5kUGF0aCB9IGZyb20gJy4vZmluZC1wYXRoJztcbmltcG9ydCB7IGZpbmROb2RlIH0gZnJvbSAnLi9maW5kLW5vZGUnO1xuaW1wb3J0IHsgZmluZERlc2NlbmRhbnQgfSBmcm9tICcuL2ZpbmQtZGVzY2VuZGFudCc7XG5pbXBvcnQgeyBnZXRMYXN0Q2hpbGRQYXRoLCBnZXRMYXN0Q2hpbGQgfSBmcm9tICcuL2dldC1sYXN0LWNoaWxkLXBhdGgnO1xuaW1wb3J0IHsgaXNQb2ludEF0Um9vdCB9IGZyb20gJy4vaXMtcG9pbnQtYXQtcm9vdCc7XG5pbXBvcnQgeyBpc1JhbmdlQXRSb290IH0gZnJvbSAnLi9pcy1yYW5nZS1hdC1yb290JztcbmltcG9ydCB7IGdldE5leHRTaWJsaW5nTm9kZXMgfSBmcm9tICcuL2dldC1uZXh0LXNpYmxpbmctbm9kZXMnO1xuaW1wb3J0IHsgaXNCbG9ja1RleHRFbXB0eUFmdGVyU2VsZWN0aW9uIH0gZnJvbSAnLi9pcy1ibG9jay10ZXh0LWVtcHR5LWFmdGVyLXNlbGVjdGlvbic7XG5pbXBvcnQgeyBnZXRBYm92ZSB9IGZyb20gJy4vZ2V0LWFib3ZlJztcbmltcG9ydCB7IGlzU3RhcnQgfSBmcm9tICcuL2lzLXN0YXJ0JztcbmltcG9ydCB7IGlzUmFuZ2VBY3Jvc3NCbG9ja3MgfSBmcm9tICcuL2lzLXJhbmdlLWFjcm9zcy1ibG9ja3MnO1xuaW1wb3J0IHsgc29tZU5vZGUgfSBmcm9tICcuL3NvbWUtbm9kZSc7XG5pbXBvcnQgeyBpc0Rlc2NlbmRhbnQgfSBmcm9tICcuL2lzLWRlc2NlbmRhbnQnO1xuaW1wb3J0IHsgaXNOb2RlVHlwZSB9IGZyb20gJy4vaXMtbm9kZS10eXBlJztcbmltcG9ydCB7IGFuY2hvcklubGluZUVudHJ5IH0gZnJvbSAnLi9hbmNob3ItaW5saW5lLWVudHJ5JztcbmltcG9ydCB7IGdldFBvaW50QmVmb3JlIH0gZnJvbSAnLi9nZXQtcG9pbnQtYmVmb3JlJztcbmltcG9ydCB7IGdldFNlbGVjdGlvbk5vZGVzQnlUeXBlIH0gZnJvbSAnLi9nZXQtc2VsZWN0aW9uLW5vZGVzLWJ5LXR5cGUnO1xuaW1wb3J0IHsgaXNBY3Jvc3NCbG9ja3MgfSBmcm9tICcuL2lzLWFjcm9zcy1ibG9ja3MnO1xuaW1wb3J0IHsgZ2V0VGV4dCB9IGZyb20gJy4vZ2V0LXRleHQnO1xuaW1wb3J0IHsgZ2V0UG9pbnRGcm9tTG9jYXRpb24gfSBmcm9tICcuL2dldC1wb2ludC1mcm9tLWxvY2F0aW9uJztcbmltcG9ydCB7IGdldFJhbmdlRnJvbUJsb2NrU3RhcnQgfSBmcm9tICcuL2dldC1yYW5nLWZyb20tYmxvY2stc3RhcnQnO1xuaW1wb3J0IHsgZ2V0UmFuZ2VCZWZvcmUgfSBmcm9tICcuL2dldC1yYW5nZS1iZWZvcmUnO1xuaW1wb3J0IHsgaXNCbG9ja0NhcmRDdXJzb3IgfSBmcm9tICcuL2lzLWJsb2NrLWNhcmQtY3Vyc29yJztcbmltcG9ydCB7IGdldEJsb2NrQ2FyZENlbnRlckN1cnNvciB9IGZyb20gJy4vZ2V0LWJsb2NrLWNhcmQtY3Vyc29yJztcbmltcG9ydCB7IGdldEJsb2NrQ2FyZEFib3ZlIH0gZnJvbSAnLi9nZXQtYmxvY2stY2FyZC1hYm92ZSc7XG5pbXBvcnQgeyBnZXRQbGFpblRleHQgfSBmcm9tICcuL2dldC1wbGFpbi10ZXh0JztcbmltcG9ydCB7IGlzRW1wdHlQYXJhZ3JhcGhCeVBhdGggfSBmcm9tICcuL2lzLWVtcHR5LXBhcmFncmFwaC1ieS1wYXRoJztcbmltcG9ydCB7IGdldFNlbGVjdGlvbk1hcmtzIH0gZnJvbSAnLi9nZXQtc2VsZWN0aW9uLW1hcmtzJztcbmltcG9ydCB7IGlzQ29udGFpbmVyIH0gZnJvbSAnLi9pcy1jb250YWluZXItdHlwZSc7XG5pbXBvcnQgeyBnZXRDb250YWluZXJCbG9ja3MgfSBmcm9tICcuL2dldC1jb250YWluZXItYmxvY2tzJztcbmltcG9ydCB7IGdldERpcmVjdGx5UGFyZW50IH0gZnJvbSAnLi9nZXQtZGlyZWN0bHktcGFyZW50JztcbmltcG9ydCB7IGdldEluc2VydEVsZW1lbnRzUGF0aCB9IGZyb20gJy4vZ2V0LWluc2VydC1lbGVtZW50cy1wYXRoJztcbmltcG9ydCB7IGlzQ29udGFpbk5lc3RlZFR5cGUgfSBmcm9tICcuL2lzLWNvbnRhaW4tbmVzdGVkLXR5cGUnO1xuaW1wb3J0IHsgZ2V0VG9vbGJhckl0ZW1EaXNhYmxlZCB9IGZyb20gJy4vZ2V0LXRvb2xiYXItZGlzYWJsZWQnO1xuaW1wb3J0IHsgZ2V0UGx1Z2luQnlUb29sYmFySXRlbSB9IGZyb20gJy4vZ2V0LXBsdWdpbi1ieS10b29sYmFyJztcbmltcG9ydCB7IGlzRW1wdHlDb250ZW50IH0gZnJvbSAnLi9pcy1lbXB0eS1jb250ZW50JztcblxuZXhwb3J0IHtcbiAgICBnZXRMYXN0Tm9kZSxcbiAgICBnZXRBbmNob3JCbG9ja0VudHJ5LFxuICAgIGdldEFib3ZlQnlUeXBlLFxuICAgIGdldE5vZGVzLFxuICAgIGdldE5vZGVzQnlUeXBlLFxuICAgIGdldEJsb2NrQWJvdmUsXG4gICAgZ2V0UHJldmlvdXNQYXRoLFxuICAgIGdldE5vZGUsXG4gICAgZ2V0UGFyZW50LFxuICAgIGdldExhc3RDaGlsZCxcbiAgICBnZXRMYXN0Q2hpbGRQYXRoLFxuICAgIGdldE5leHRTaWJsaW5nTm9kZXMsXG4gICAgZ2V0QWJvdmUsXG4gICAgZ2V0UG9pbnRCZWZvcmUsXG4gICAgZ2V0U2VsZWN0aW9uTm9kZXNCeVR5cGUsXG4gICAgZ2V0VGV4dCxcbiAgICBnZXRQb2ludEZyb21Mb2NhdGlvbixcbiAgICBnZXRSYW5nZUZyb21CbG9ja1N0YXJ0LFxuICAgIGdldFJhbmdlQmVmb3JlLFxuICAgIGdldEJsb2NrQ2FyZENlbnRlckN1cnNvcixcbiAgICBnZXRCbG9ja0NhcmRBYm92ZSxcbiAgICBnZXRQbGFpblRleHQsXG4gICAgZ2V0U2VsZWN0aW9uTWFya3MsXG4gICAgZ2V0Q29udGFpbmVyQmxvY2tzLFxuICAgIGdldERpcmVjdGx5UGFyZW50LFxuICAgIGlzQW5jZXN0b3IsXG4gICAgaXNDb2xsYXBzZWQsXG4gICAgaXNFbXB0eVBhcmFncmFwaCxcbiAgICBpc1BhcmFncmFwaCxcbiAgICBpc0Jsb2NrQWN0aXZlLFxuICAgIGlzSW5jbHVkZVR5cGVzLFxuICAgIGlzQW5jZXN0b3JFbXB0eSxcbiAgICBpc0Jsb2NrQWJvdmVFbXB0eSxcbiAgICBpc05vZGVUeXBlSW4sXG4gICAgaXNGaXJzdENoaWxkLFxuICAgIGlzUG9pbnRBdFJvb3QsXG4gICAgaXNSYW5nZUF0Um9vdCxcbiAgICBpc0Jsb2NrVGV4dEVtcHR5QWZ0ZXJTZWxlY3Rpb24sXG4gICAgaXNTdGFydCxcbiAgICBpc1JhbmdlQWNyb3NzQmxvY2tzLFxuICAgIGlzRGVzY2VuZGFudCxcbiAgICBpc05vZGVUeXBlLFxuICAgIGlzQWNyb3NzQmxvY2tzLFxuICAgIGlzQmxvY2tDYXJkQ3Vyc29yLFxuICAgIGlzRW1wdHlQYXJhZ3JhcGhCeVBhdGgsXG4gICAgaXNFbXB0eUNvbnRlbnQsXG4gICAgaXNDb250YWluZXIsXG4gICAgZ2V0SW5zZXJ0RWxlbWVudHNQYXRoLFxuICAgIGlzQ29udGFpbk5lc3RlZFR5cGUsXG4gICAgYW5jaG9yQmxvY2ssXG4gICAgYW5jaG9yQmxvY2tFbnRyeSxcbiAgICBhbmNob3JJbmxpbmVFbnRyeSxcbiAgICBmaW5kUGF0aCxcbiAgICBmaW5kTm9kZSxcbiAgICBmaW5kRGVzY2VuZGFudCxcbiAgICBzb21lTm9kZSxcbiAgICBnZXRUb29sYmFySXRlbURpc2FibGVkLFxuICAgIGdldFBsdWdpbkJ5VG9vbGJhckl0ZW1cbn07XG4iXX0=
|
|
58
|
+
import { isGlobalCollapsed } from './is-global-collapsed';
|
|
59
|
+
export { getLastNode, getAnchorBlockEntry, getAboveByType, getNodes, getNodesByType, getBlockAbove, getPreviousPath, getNode, getParent, getLastChild, getLastChildPath, getNextSiblingNodes, getAbove, getPointBefore, getSelectionNodesByType, getText, getPointFromLocation, getRangeFromBlockStart, getRangeBefore, getBlockCardCenterCursor, getBlockCardAbove, getPlainText, getSelectionMarks, getContainerBlocks, getDirectlyParent, isAncestor, isCollapsed, isEmptyParagraph, isParagraph, isBlockActive, isIncludeTypes, isAncestorEmpty, isBlockAboveEmpty, isNodeTypeIn, isFirstChild, isPointAtRoot, isRangeAtRoot, isBlockTextEmptyAfterSelection, isStart, isRangeAcrossBlocks, isDescendant, isNodeType, isAcrossBlocks, isBlockCardCursor, isEmptyParagraphByPath, isEmptyContent, isContainer, getInsertElementsPath, isContainNestedType, anchorBlock, anchorBlockEntry, anchorInlineEntry, findPath, findNode, findDescendant, someNode, getToolbarItemDisabled, getPluginByToolbarItem, isGlobalCollapsed };
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcXVlcmllcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENB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LEVBQ2QsUUFBUSxFQUNSLGNBQWMsRUFDZCxhQUFhLEVBQ2IsZUFBZSxFQUNmLE9BQU8sRUFDUCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsUUFBUSxFQUNSLGNBQWMsRUFDZCx1QkFBdUIsRUFDdkIsT0FBTyxFQUNQLG9CQUFvQixFQUNwQixzQkFBc0IsRUFDdEIsY0FBYyxFQUNkLHdCQUF3QixFQUN4QixpQkFBaUIsRUFDakIsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxhQUFhLEVBQ2IsY0FBYyxFQUNkLGVBQWUsRUFDZixpQkFBaUIsRUFDakIsWUFBWSxFQUNaLFlBQVksRUFDWixhQUFhLEVBQ2IsYUFBYSxFQUNiLDhCQUE4QixFQUM5QixPQUFPLEVBQ1AsbUJBQW1CLEVBQ25CLFlBQVksRUFDWixVQUFVLEVBQ1YsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixzQkFBc0IsRUFDdEIsY0FBYyxFQUNkLFdBQVcsRUFDWCxxQkFBcUIsRUFDckIsbUJBQW1CLEVBQ25CLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixRQUFRLEVBQ1IsY0FBYyxFQUNkLFFBQVEsRUFDUixzQkFBc0IsRUFDdEIsc0JBQXNCLEVBQ3RCLGlCQUFpQixFQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0TGFzdE5vZGUgfSBmcm9tICcuL2dldC1sYXN0LW5vZGUnO1xuaW1wb3J0IHsgaXNBbmNlc3RvciB9IGZyb20gJy4vaXMtYW5jZXN0b3InO1xuaW1wb3J0IHsgaXNDb2xsYXBzZWQgfSBmcm9tICcuL2lzLWNvbGxhcHNlZCc7XG5pbXBvcnQgeyBnZXRBbmNob3JCbG9ja0VudHJ5IH0gZnJvbSAnLi9nZXQtYW5jaG9yLWJsb2NrLWVudHJ5JztcbmltcG9ydCB7IGlzRW1wdHlQYXJhZ3JhcGggfSBmcm9tICcuL2lzLWVtcHR5LXBhcmFncmFwaCc7XG5pbXBvcnQgeyBpc1BhcmFncmFwaCB9IGZyb20gJy4vaXMtcGFyYWdyYXBoJztcbmltcG9ydCB7IGlzQmxvY2tBY3RpdmUgfSBmcm9tICcuL2lzLWJsb2NrLWFjdGl2ZSc7XG5pbXBvcnQgeyBpc0luY2x1ZGVUeXBlcyB9IGZyb20gJy4vaXMtaW5jbHVkZS10eXBlcyc7XG5pbXBvcnQgeyBnZXRBYm92ZUJ5VHlwZSB9IGZyb20gJy4vZ2V0LWFib3ZlLWJ5LXR5cGUnO1xuaW1wb3J0IHsgYW5jaG9yQmxvY2tFbnRyeSB9IGZyb20gJy4vYW5jaG9yLWJsb2NrLWVudHJ5JztcbmltcG9ydCB7IGdldE5vZGVzQnlUeXBlIH0gZnJvbSAnLi9nZXQtbm9kZXMtYnktdHlwZSc7XG5pbXBvcnQgeyBnZXROb2RlcyB9IGZyb20gJy4vZ2V0LW5vZGVzJztcbmltcG9ydCB7IGFuY2hvckJsb2NrIH0gZnJvbSAnLi9hbmNob3ItYmxvY2snO1xuaW1wb3J0IHsgZ2V0QmxvY2tBYm92ZSB9IGZyb20gJy4vZ2V0LWJsb2NrLWFib3ZlJztcbmltcG9ydCB7IGlzQW5jZXN0b3JFbXB0eSB9IGZyb20gJy4vaXMtYW5jZXN0b3ItZW1wdHknO1xuaW1wb3J0IHsgaXNCbG9ja0Fib3ZlRW1wdHkgfSBmcm9tICcuL2lzLWJsb2NrLWFib3ZlLWVtcHR5JztcbmltcG9ydCB7IGlzTm9kZVR5cGVJbiB9IGZyb20gJy4vaXMtbm9kZS10eXBlLWluJztcbmltcG9ydCB7IGlzRmlyc3RDaGlsZCB9IGZyb20gJy4vaXMtZmlyc3QtY2hpbGQnO1xuaW1wb3J0IHsgZ2V0UHJldmlvdXNQYXRoIH0gZnJvbSAnLi9nZXQtcHJldmlvdXMtcGF0aCc7XG5pbXBvcnQgeyBnZXROb2RlIH0gZnJvbSAnLi9nZXQtbm9kZSc7XG5pbXBvcnQgeyBnZXRQYXJlbnQgfSBmcm9tICcuL2dldC1wYXJlbnQnO1xuaW1wb3J0IHsgZmluZFBhdGggfSBmcm9tICcuL2ZpbmQtcGF0aCc7XG5pbXBvcnQgeyBmaW5kTm9kZSB9IGZyb20gJy4vZmluZC1ub2RlJztcbmltcG9ydCB7IGZpbmREZXNjZW5kYW50IH0gZnJvbSAnLi9maW5kLWRlc2NlbmRhbnQnO1xuaW1wb3J0IHsgZ2V0TGFzdENoaWxkUGF0aCwgZ2V0TGFzdENoaWxkIH0gZnJvbSAnLi9nZXQtbGFzdC1jaGlsZC1wYXRoJztcbmltcG9ydCB7IGlzUG9pbnRBdFJvb3QgfSBmcm9tICcuL2lzLXBvaW50LWF0LXJvb3QnO1xuaW1wb3J0IHsgaXNSYW5nZUF0Um9vdCB9IGZyb20gJy4vaXMtcmFuZ2UtYXQtcm9vdCc7XG5pbXBvcnQgeyBnZXROZXh0U2libGluZ05vZGVzIH0gZnJvbSAnLi9nZXQtbmV4dC1zaWJsaW5nLW5vZGVzJztcbmltcG9ydCB7IGlzQmxvY2tUZXh0RW1wdHlBZnRlclNlbGVjdGlvbiB9IGZyb20gJy4vaXMtYmxvY2stdGV4dC1lbXB0eS1hZnRlci1zZWxlY3Rpb24nO1xuaW1wb3J0IHsgZ2V0QWJvdmUgfSBmcm9tICcuL2dldC1hYm92ZSc7XG5pbXBvcnQgeyBpc1N0YXJ0IH0gZnJvbSAnLi9pcy1zdGFydCc7XG5pbXBvcnQgeyBpc1JhbmdlQWNyb3NzQmxvY2tzIH0gZnJvbSAnLi9pcy1yYW5nZS1hY3Jvc3MtYmxvY2tzJztcbmltcG9ydCB7IHNvbWVOb2RlIH0gZnJvbSAnLi9zb21lLW5vZGUnO1xuaW1wb3J0IHsgaXNEZXNjZW5kYW50IH0gZnJvbSAnLi9pcy1kZXNjZW5kYW50JztcbmltcG9ydCB7IGlzTm9kZVR5cGUgfSBmcm9tICcuL2lzLW5vZGUtdHlwZSc7XG5pbXBvcnQgeyBhbmNob3JJbmxpbmVFbnRyeSB9IGZyb20gJy4vYW5jaG9yLWlubGluZS1lbnRyeSc7XG5pbXBvcnQgeyBnZXRQb2ludEJlZm9yZSB9IGZyb20gJy4vZ2V0LXBvaW50LWJlZm9yZSc7XG5pbXBvcnQgeyBnZXRTZWxlY3Rpb25Ob2Rlc0J5VHlwZSB9IGZyb20gJy4vZ2V0LXNlbGVjdGlvbi1ub2Rlcy1ieS10eXBlJztcbmltcG9ydCB7IGlzQWNyb3NzQmxvY2tzIH0gZnJvbSAnLi9pcy1hY3Jvc3MtYmxvY2tzJztcbmltcG9ydCB7IGdldFRleHQgfSBmcm9tICcuL2dldC10ZXh0JztcbmltcG9ydCB7IGdldFBvaW50RnJvbUxvY2F0aW9uIH0gZnJvbSAnLi9nZXQtcG9pbnQtZnJvbS1sb2NhdGlvbic7XG5pbXBvcnQgeyBnZXRSYW5nZUZyb21CbG9ja1N0YXJ0IH0gZnJvbSAnLi9nZXQtcmFuZy1mcm9tLWJsb2NrLXN0YXJ0JztcbmltcG9ydCB7IGdldFJhbmdlQmVmb3JlIH0gZnJvbSAnLi9nZXQtcmFuZ2UtYmVmb3JlJztcbmltcG9ydCB7IGlzQmxvY2tDYXJkQ3Vyc29yIH0gZnJvbSAnLi9pcy1ibG9jay1jYXJkLWN1cnNvcic7XG5pbXBvcnQgeyBnZXRCbG9ja0NhcmRDZW50ZXJDdXJzb3IgfSBmcm9tICcuL2dldC1ibG9jay1jYXJkLWN1cnNvcic7XG5pbXBvcnQgeyBnZXRCbG9ja0NhcmRBYm92ZSB9IGZyb20gJy4vZ2V0LWJsb2NrLWNhcmQtYWJvdmUnO1xuaW1wb3J0IHsgZ2V0UGxhaW5UZXh0IH0gZnJvbSAnLi9nZXQtcGxhaW4tdGV4dCc7XG5pbXBvcnQgeyBpc0VtcHR5UGFyYWdyYXBoQnlQYXRoIH0gZnJvbSAnLi9pcy1lbXB0eS1wYXJhZ3JhcGgtYnktcGF0aCc7XG5pbXBvcnQgeyBnZXRTZWxlY3Rpb25NYXJrcyB9IGZyb20gJy4vZ2V0LXNlbGVjdGlvbi1tYXJrcyc7XG5pbXBvcnQgeyBpc0NvbnRhaW5lciB9IGZyb20gJy4vaXMtY29udGFpbmVyLXR5cGUnO1xuaW1wb3J0IHsgZ2V0Q29udGFpbmVyQmxvY2tzIH0gZnJvbSAnLi9nZXQtY29udGFpbmVyLWJsb2Nrcyc7XG5pbXBvcnQgeyBnZXREaXJlY3RseVBhcmVudCB9IGZyb20gJy4vZ2V0LWRpcmVjdGx5LXBhcmVudCc7XG5pbXBvcnQgeyBnZXRJbnNlcnRFbGVtZW50c1BhdGggfSBmcm9tICcuL2dldC1pbnNlcnQtZWxlbWVudHMtcGF0aCc7XG5pbXBvcnQgeyBpc0NvbnRhaW5OZXN0ZWRUeXBlIH0gZnJvbSAnLi9pcy1jb250YWluLW5lc3RlZC10eXBlJztcbmltcG9ydCB7IGdldFRvb2xiYXJJdGVtRGlzYWJsZWQgfSBmcm9tICcuL2dldC10b29sYmFyLWRpc2FibGVkJztcbmltcG9ydCB7IGdldFBsdWdpbkJ5VG9vbGJhckl0ZW0gfSBmcm9tICcuL2dldC1wbHVnaW4tYnktdG9vbGJhcic7XG5pbXBvcnQgeyBpc0VtcHR5Q29udGVudCB9IGZyb20gJy4vaXMtZW1wdHktY29udGVudCc7XG5pbXBvcnQgeyBpc0dsb2JhbENvbGxhcHNlZCB9IGZyb20gJy4vaXMtZ2xvYmFsLWNvbGxhcHNlZCc7XG5cbmV4cG9ydCB7XG4gICAgZ2V0TGFzdE5vZGUsXG4gICAgZ2V0QW5jaG9yQmxvY2tFbnRyeSxcbiAgICBnZXRBYm92ZUJ5VHlwZSxcbiAgICBnZXROb2RlcyxcbiAgICBnZXROb2Rlc0J5VHlwZSxcbiAgICBnZXRCbG9ja0Fib3ZlLFxuICAgIGdldFByZXZpb3VzUGF0aCxcbiAgICBnZXROb2RlLFxuICAgIGdldFBhcmVudCxcbiAgICBnZXRMYXN0Q2hpbGQsXG4gICAgZ2V0TGFzdENoaWxkUGF0aCxcbiAgICBnZXROZXh0U2libGluZ05vZGVzLFxuICAgIGdldEFib3ZlLFxuICAgIGdldFBvaW50QmVmb3JlLFxuICAgIGdldFNlbGVjdGlvbk5vZGVzQnlUeXBlLFxuICAgIGdldFRleHQsXG4gICAgZ2V0UG9pbnRGcm9tTG9jYXRpb24sXG4gICAgZ2V0UmFuZ2VGcm9tQmxvY2tTdGFydCxcbiAgICBnZXRSYW5nZUJlZm9yZSxcbiAgICBnZXRCbG9ja0NhcmRDZW50ZXJDdXJzb3IsXG4gICAgZ2V0QmxvY2tDYXJkQWJvdmUsXG4gICAgZ2V0UGxhaW5UZXh0LFxuICAgIGdldFNlbGVjdGlvbk1hcmtzLFxuICAgIGdldENvbnRhaW5lckJsb2NrcyxcbiAgICBnZXREaXJlY3RseVBhcmVudCxcbiAgICBpc0FuY2VzdG9yLFxuICAgIGlzQ29sbGFwc2VkLFxuICAgIGlzRW1wdHlQYXJhZ3JhcGgsXG4gICAgaXNQYXJhZ3JhcGgsXG4gICAgaXNCbG9ja0FjdGl2ZSxcbiAgICBpc0luY2x1ZGVUeXBlcyxcbiAgICBpc0FuY2VzdG9yRW1wdHksXG4gICAgaXNCbG9ja0Fib3ZlRW1wdHksXG4gICAgaXNOb2RlVHlwZUluLFxuICAgIGlzRmlyc3RDaGlsZCxcbiAgICBpc1BvaW50QXRSb290LFxuICAgIGlzUmFuZ2VBdFJvb3QsXG4gICAgaXNCbG9ja1RleHRFbXB0eUFmdGVyU2VsZWN0aW9uLFxuICAgIGlzU3RhcnQsXG4gICAgaXNSYW5nZUFjcm9zc0Jsb2NrcyxcbiAgICBpc0Rlc2NlbmRhbnQsXG4gICAgaXNOb2RlVHlwZSxcbiAgICBpc0Fjcm9zc0Jsb2NrcyxcbiAgICBpc0Jsb2NrQ2FyZEN1cnNvcixcbiAgICBpc0VtcHR5UGFyYWdyYXBoQnlQYXRoLFxuICAgIGlzRW1wdHlDb250ZW50LFxuICAgIGlzQ29udGFpbmVyLFxuICAgIGdldEluc2VydEVsZW1lbnRzUGF0aCxcbiAgICBpc0NvbnRhaW5OZXN0ZWRUeXBlLFxuICAgIGFuY2hvckJsb2NrLFxuICAgIGFuY2hvckJsb2NrRW50cnksXG4gICAgYW5jaG9ySW5saW5lRW50cnksXG4gICAgZmluZFBhdGgsXG4gICAgZmluZE5vZGUsXG4gICAgZmluZERlc2NlbmRhbnQsXG4gICAgc29tZU5vZGUsXG4gICAgZ2V0VG9vbGJhckl0ZW1EaXNhYmxlZCxcbiAgICBnZXRQbHVnaW5CeVRvb2xiYXJJdGVtLFxuICAgIGlzR2xvYmFsQ29sbGFwc2VkXG59O1xuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Range } from 'slate';
|
|
2
|
+
export const isGlobalCollapsed = (editor) => {
|
|
3
|
+
return editor && editor.selection && Range.isCollapsed(editor.selection);
|
|
4
|
+
};
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtZ2xvYmFsLWNvbGxhcHNlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9xdWVyaWVzL2lzLWdsb2JhbC1jb2xsYXBzZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLEtBQUssRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUV0QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFO0lBQ2hELE9BQU8sTUFBTSxJQUFJLE1BQU0sQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0UsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBSYW5nZSB9IGZyb20gJ3NsYXRlJztcblxuZXhwb3J0IGNvbnN0IGlzR2xvYmFsQ29sbGFwc2VkID0gKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgcmV0dXJuIGVkaXRvciAmJiBlZGl0b3Iuc2VsZWN0aW9uICYmIFJhbmdlLmlzQ29sbGFwc2VkKGVkaXRvci5zZWxlY3Rpb24pO1xufTtcbiJdfQ==
|