@eui/components 18.0.0-next.57 → 18.0.0-next.58
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/docs/components/EuiAppSidebarMenuComponent.html +25 -1
- package/docs/components/EuiDashboardCardComponent.html +24 -0
- package/docs/components/EuiMenuComponent.html +25 -1
- package/docs/components/EuiMenuItemComponent.html +24 -0
- package/docs/components/EuiSidebarMenuComponent.html +25 -1
- package/docs/components/EuiToolbarNavbarComponent.html +105 -4
- package/docs/dependencies.html +1 -1
- package/docs/js/menu-wc.js +6 -6
- package/docs/js/menu-wc_es5.js +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/docs/modules/EuiToolbarModule.html +3 -0
- package/esm2022/eui-dashboard-card/eui-dashboard-card.component.mjs +14 -4
- package/esm2022/eui-dialog/container/eui-dialog-container.component.mjs +2 -2
- package/esm2022/eui-dialog/eui-dialog.component.mjs +2 -2
- package/esm2022/eui-menu/eui-menu-item.component.mjs +11 -4
- package/esm2022/eui-menu/eui-menu.component.mjs +7 -3
- package/esm2022/eui-sidebar-menu/eui-sidebar-menu.component.mjs +7 -3
- package/esm2022/eui-slide-toggle/eui-slide-toggle.component.mjs +2 -2
- package/esm2022/eui-timebar/eui-timebar.component.mjs +2 -2
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.mjs +7 -3
- package/esm2022/layout/eui-app/eui-app.component.mjs +1 -1
- package/esm2022/layout/eui-search/search.component.mjs +2 -2
- package/esm2022/layout/eui-toolbar/toolbar-navbar/toolbar-navbar.component.mjs +15 -11
- package/esm2022/layout/eui-toolbar/toolbar.component.mjs +2 -2
- package/esm2022/layout/eui-toolbar/toolbar.module.mjs +5 -1
- package/eui-dashboard-card/eui-dashboard-card.component.d.ts +3 -1
- package/eui-dashboard-card/eui-dashboard-card.component.d.ts.map +1 -1
- package/eui-menu/eui-menu-item.component.d.ts +3 -1
- package/eui-menu/eui-menu-item.component.d.ts.map +1 -1
- package/eui-menu/eui-menu.component.d.ts +3 -1
- package/eui-menu/eui-menu.component.d.ts.map +1 -1
- package/eui-sidebar-menu/eui-sidebar-menu.component.d.ts +3 -1
- package/eui-sidebar-menu/eui-sidebar-menu.component.d.ts.map +1 -1
- package/fesm2022/eui-components-eui-dashboard-card.mjs +15 -5
- package/fesm2022/eui-components-eui-dashboard-card.mjs.map +2 -2
- package/fesm2022/eui-components-eui-dialog.mjs +4 -4
- package/fesm2022/eui-components-eui-dialog.mjs.map +1 -1
- package/fesm2022/eui-components-eui-menu.mjs +17 -6
- package/fesm2022/eui-components-eui-menu.mjs.map +2 -2
- package/fesm2022/eui-components-eui-sidebar-menu.mjs +6 -2
- package/fesm2022/eui-components-eui-sidebar-menu.mjs.map +2 -2
- package/fesm2022/eui-components-eui-slide-toggle.mjs +2 -2
- package/fesm2022/eui-components-eui-timebar.mjs +2 -2
- package/fesm2022/eui-components-eui-timebar.mjs.map +1 -1
- package/fesm2022/eui-components-layout.mjs +161 -119
- package/fesm2022/eui-components-layout.mjs.map +4 -4
- package/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.d.ts +3 -1
- package/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.d.ts.map +1 -1
- package/layout/eui-toolbar/toolbar-navbar/toolbar-navbar.component.d.ts +7 -2
- package/layout/eui-toolbar/toolbar-navbar/toolbar-navbar.component.d.ts.map +1 -1
- package/layout/eui-toolbar/toolbar.module.d.ts +4 -3
- package/layout/eui-toolbar/toolbar.module.d.ts.map +1 -1
- package/package.json +3 -3
@@ -34,6 +34,7 @@ export class EuiMenuComponent {
|
|
34
34
|
this.expandAllItems = false;
|
35
35
|
this.isFlat = false;
|
36
36
|
this.hasScrollToItem = false;
|
37
|
+
this.hasBoldRootLevel = false;
|
37
38
|
this.isClick = new EventEmitter();
|
38
39
|
this.itemClick = new EventEmitter();
|
39
40
|
}
|
@@ -435,7 +436,7 @@ export class EuiMenuComponent {
|
|
435
436
|
}
|
436
437
|
}
|
437
438
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EuiMenuComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.BaseStatesDirective }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
438
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-rc.0", type: EuiMenuComponent, selector: "eui-menu", inputs: { items: "items", searchFilterLabel: "searchFilterLabel", externalLinkLabel: "externalLinkLabel", fragmentId: "fragmentId", filterValue: "filterValue", isCollapsed: ["isCollapsed", "isCollapsed", booleanAttribute], hasCollapsedInitials: ["hasCollapsedInitials", "hasCollapsedInitials", booleanAttribute], hasFilter: ["hasFilter", "hasFilter", booleanAttribute], hasIcons: ["hasIcons", "hasIcons", booleanAttribute], hasTooltip: ["hasTooltip", "hasTooltip", booleanAttribute], expandAllItems: ["expandAllItems", "expandAllItems", booleanAttribute], isFlat: ["isFlat", "isFlat", booleanAttribute], hasScrollToItem: ["hasScrollToItem", "hasScrollToItem", booleanAttribute] }, outputs: { isClick: "isClick", itemClick: "itemClick" }, host: { listeners: { "click": "stopPropagation($event)" }, properties: { "class": "this.cssClasses" } }, viewQueries: [{ propertyName: "focusableItems", predicate: EuiMenuItemComponent, descendants: true }], usesOnChanges: true, hostDirectives: [{ directive: i2.BaseStatesDirective }], ngImport: i0, template: "@if (hasFilter && !isCollapsed) {\n <div class=\"eui-menu-filter\" (click)=\"onMenuFilterClick($event)\">\n <eui-icon-input>\n <eui-icon-svg icon=\"eui-search\" fillColor=\"neutral-lighter\" aria-label=\"Search Icon\"></eui-icon-svg>\n <input\n euiInputText\n [euiClearable]=\"true\"\n (input)=\"onFilter($event)\"\n [placeholder]=\"searchFilterLabel\"\n [attr.aria-label]=\"searchFilterLabel\"\n [value]=\"filterValue\" />\n </eui-icon-input>\n </div>\n}\n\n<ul euiList class=\"eui-menu\" role=\"menubar\" aria-orientation=\"vertical\" tabindex=\"0\" (keydown)=\"onKeydown($event)\">\n @if (items) {\n <ng-template ngFor let-item let-index [ngForOf]=\"items\">\n <ng-template [ngTemplateOutlet]=\"menuItemTemplateRef\" [ngTemplateOutletContext]=\"{ menuItem: item, index: index }\"> </ng-template>\n </ng-template>\n } @else {\n <span class=\"eui-menu--no-items\">No menu items defined</span>\n }\n</ul>\n\n<!-- describe the recursive template of the menu item -->\n<ng-template #menuItemTemplateRef let-item=\"menuItem\" let-parent=\"parent\" let-i=\"index\">\n <!-- render the menu item-->\n <eui-menu-item\n *ngIf=\"item.filtered\"\n [item]=\"item\"\n [parent]=\"parent\"\n [hasIcon]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [isCollapsed]=\"isCollapsed\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n (expandToggle)=\"onExpandToggle($event)\"\n (itemClick)=\"onClick($event)\">\n <!-- if the menu item has children, render the children -->\n <ul euiList *ngIf=\"item.children && item.expanded\" class=\"eui-menu eui-menu-sub\" role=\"menu\" [attr.aria-label]=\"item.label\" tabindex=\"-1\">\n <ng-container *ngFor=\"let child of item.children; let childIndex = index\">\n <ng-template [ngTemplateOutlet]=\"menuItemTemplateRef\" [ngTemplateOutletContext]=\"{ menuItem: child, index: childIndex, parent: item }\">\n </ng-template>\n </ng-container>\n </ul>\n </eui-menu-item>\n</ng-template>\n", styles: [".eui-menu{display:flex;flex-direction:column;gap:0;list-style:none;margin-block-start:0;margin-block-end:0;margin:0;padding:0;width:100%}.eui-menu:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-menu:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu--collapsed .eui-menu-filter{transition:none;visibility:hidden}.eui-menu--collapsed .eui-menu-item__link{padding-left:var(--eui-s-m)}.eui-menu--collapsed .eui-menu-item__link-start-block{gap:0}.eui-menu--collapsed .eui-menu-item__link-content-block,.eui-menu--collapsed .eui-menu-item__link-end-block{visibility:hidden}.eui-menu--collapsed .eui-menu-item__link-end-block .eui-menu-item__link-action-icon{display:none}.eui-menu--collapsed .eui-menu-item__link-end-block .eui-menu-item__link-dotted-badge{position:absolute;top:var(--eui-s-2xs);right:var(--eui-s-2xs);visibility:visible}.eui-menu--collapsed .eui-menu-item__link-end-block .eui-menu-item__link-toggle{display:inherit;position:absolute;right:calc(-1 * var(--eui-s-xs));transform:scale(.75);visibility:visible}.eui-menu--collapsed .eui-menu-item__link-initials{display:flex;background-color:var(--eui-c-neutral-bg-light);border:var(--eui-bw-xs) solid var(--eui-c-neutral-lightest);border-radius:var(--eui-s-xs);font:var(--eui-f-s-bold);justify-content:center;margin-left:calc(-1 * var(--eui-s-2xs));min-width:var(--eui-s-2xl)}.eui-menu--collapsed .eui-menu-item--expanded:first-child{border-bottom:none;padding-bottom:0}.eui-menu--collapsed .eui-menu-item--expanded .eui-menu-sub .eui-menu-item__link,.eui-menu--collapsed .eui-menu-item--expanded .eui-menu-item--expanded .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-s-s)}.eui-menu--no-items{color:var(--eui-c-neutral-lighter);text-align:center}.eui-menu-filter{display:flex;padding:var(--eui-s-m);position:relative;width:100%}.eui-menu-item{display:flex;position:relative;width:100%;border:var(--eui-bw-xs) solid transparent}.eui-menu-item:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-menu-item:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu-item [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu-item .eui-menu-item__content{align-items:center;display:flex;position:relative;width:100%}.eui-menu-item__link{align-items:center;color:var(--eui-c-text);cursor:pointer;display:flex;font:var(--eui-f-m);gap:var(--eui-s-xs);padding:var(--eui-s-xs) var(--eui-s-2xs) calc(var(--eui-s-xs) - 2px) var(--eui-s-m);border-top:1px solid var(--eui-c-neutral-bg);text-decoration:none;width:100%}.eui-menu-item__link
|
439
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-rc.0", type: EuiMenuComponent, selector: "eui-menu", inputs: { items: "items", searchFilterLabel: "searchFilterLabel", externalLinkLabel: "externalLinkLabel", fragmentId: "fragmentId", filterValue: "filterValue", isCollapsed: ["isCollapsed", "isCollapsed", booleanAttribute], hasCollapsedInitials: ["hasCollapsedInitials", "hasCollapsedInitials", booleanAttribute], hasFilter: ["hasFilter", "hasFilter", booleanAttribute], hasIcons: ["hasIcons", "hasIcons", booleanAttribute], hasTooltip: ["hasTooltip", "hasTooltip", booleanAttribute], expandAllItems: ["expandAllItems", "expandAllItems", booleanAttribute], isFlat: ["isFlat", "isFlat", booleanAttribute], hasScrollToItem: ["hasScrollToItem", "hasScrollToItem", booleanAttribute], hasBoldRootLevel: ["hasBoldRootLevel", "hasBoldRootLevel", booleanAttribute] }, outputs: { isClick: "isClick", itemClick: "itemClick" }, host: { listeners: { "click": "stopPropagation($event)" }, properties: { "class": "this.cssClasses" } }, viewQueries: [{ propertyName: "focusableItems", predicate: EuiMenuItemComponent, descendants: true }], usesOnChanges: true, hostDirectives: [{ directive: i2.BaseStatesDirective }], ngImport: i0, template: "@if (hasFilter && !isCollapsed) {\n <div class=\"eui-menu-filter\" (click)=\"onMenuFilterClick($event)\">\n <eui-icon-input>\n <eui-icon-svg icon=\"eui-search\" fillColor=\"neutral-lighter\" aria-label=\"Search Icon\"></eui-icon-svg>\n <input\n euiInputText\n [euiClearable]=\"true\"\n (input)=\"onFilter($event)\"\n [placeholder]=\"searchFilterLabel\"\n [attr.aria-label]=\"searchFilterLabel\"\n [value]=\"filterValue\" />\n </eui-icon-input>\n </div>\n}\n\n<ul euiList class=\"eui-menu\" role=\"menubar\" aria-orientation=\"vertical\" tabindex=\"0\" (keydown)=\"onKeydown($event)\">\n @if (items) {\n <ng-template ngFor let-item let-index [ngForOf]=\"items\">\n <ng-template [ngTemplateOutlet]=\"menuItemTemplateRef\" [ngTemplateOutletContext]=\"{ menuItem: item, index: index }\"> </ng-template>\n </ng-template>\n } @else {\n <span class=\"eui-menu--no-items\">No menu items defined</span>\n }\n</ul>\n\n<!-- describe the recursive template of the menu item -->\n<ng-template #menuItemTemplateRef let-item=\"menuItem\" let-parent=\"parent\" let-i=\"index\">\n <!-- render the menu item-->\n <eui-menu-item\n *ngIf=\"item.filtered\"\n [item]=\"item\"\n [parent]=\"parent\"\n [hasIcon]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [isCollapsed]=\"isCollapsed\"\n [hasBoldRootLevel]=\"hasBoldRootLevel\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n (expandToggle)=\"onExpandToggle($event)\"\n (itemClick)=\"onClick($event)\">\n <!-- if the menu item has children, render the children -->\n <ul euiList *ngIf=\"item.children && item.expanded\" class=\"eui-menu eui-menu-sub\" role=\"menu\" [attr.aria-label]=\"item.label\" tabindex=\"-1\">\n <ng-container *ngFor=\"let child of item.children; let childIndex = index\">\n <ng-template [ngTemplateOutlet]=\"menuItemTemplateRef\" [ngTemplateOutletContext]=\"{ menuItem: child, index: childIndex, parent: item }\">\n </ng-template>\n </ng-container>\n </ul>\n </eui-menu-item>\n</ng-template>\n", styles: [".eui-menu{display:flex;flex-direction:column;gap:0;list-style:none;margin-block-start:0;margin-block-end:0;margin:0;padding:0;width:100%}.eui-menu:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-menu:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu--collapsed .eui-menu-filter{transition:none;visibility:hidden}.eui-menu--collapsed .eui-menu-item__link{padding-left:var(--eui-s-m)}.eui-menu--collapsed .eui-menu-item__link-start-block{gap:0}.eui-menu--collapsed .eui-menu-item__link-content-block,.eui-menu--collapsed .eui-menu-item__link-end-block{visibility:hidden}.eui-menu--collapsed .eui-menu-item__link-end-block .eui-menu-item__link-action-icon{display:none}.eui-menu--collapsed .eui-menu-item__link-end-block .eui-menu-item__link-dotted-badge{position:absolute;top:var(--eui-s-2xs);right:var(--eui-s-2xs);visibility:visible}.eui-menu--collapsed .eui-menu-item__link-end-block .eui-menu-item__link-toggle{display:inherit;position:absolute;right:calc(-1 * var(--eui-s-xs));transform:scale(.75);visibility:visible}.eui-menu--collapsed .eui-menu-item__link-initials{display:flex;background-color:var(--eui-c-neutral-bg-light);border:var(--eui-bw-xs) solid var(--eui-c-neutral-lightest);border-radius:var(--eui-s-xs);font:var(--eui-f-s-bold);justify-content:center;margin-left:calc(-1 * var(--eui-s-2xs));min-width:var(--eui-s-2xl)}.eui-menu--collapsed .eui-menu-item--expanded:first-child{border-bottom:none;padding-bottom:0}.eui-menu--collapsed .eui-menu-item--expanded .eui-menu-sub .eui-menu-item__link,.eui-menu--collapsed .eui-menu-item--expanded .eui-menu-item--expanded .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-s-s)}.eui-menu--no-items{color:var(--eui-c-neutral-lighter);text-align:center}.eui-menu-filter{display:flex;padding:var(--eui-s-m);position:relative;width:100%}.eui-menu-item{display:flex;position:relative;width:100%;border:var(--eui-bw-xs) solid transparent}.eui-menu-item:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-menu-item:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu-item [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu-item .eui-menu-item__content{align-items:center;display:flex;position:relative;width:100%}.eui-menu-item__link{align-items:center;color:var(--eui-c-text);cursor:pointer;display:flex;font:var(--eui-f-m);gap:var(--eui-s-xs);padding:var(--eui-s-xs) var(--eui-s-2xs) calc(var(--eui-s-xs) - 2px) var(--eui-s-m);border-top:1px solid var(--eui-c-neutral-bg);text-decoration:none;width:100%}.eui-menu-item__link-start-block{align-items:center;display:flex;gap:var(--eui-s-xs)}.eui-menu-item__link-start-block:empty{display:none}.eui-menu-item__link-content-block{display:flex;flex-direction:column;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-content-block .eui-menu-item__link-label-container{align-items:center;display:flex;position:relative;width:100%}.eui-menu-item__link-content-block .eui-menu-item__link-label-container .eui-menu-item__link-label{color:var(--eui-c-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-content-block .eui-menu-item__link-label-container .eui-menu-item__link-label-category{cursor:default;border-bottom:var(--eui-bw-xs) solid var(--eui-c-neutral-lighter);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-end-block{align-items:center;display:flex;gap:var(--eui-s-xs)}.eui-menu-item__link:hover:not(.eui-menu-item--disabled):not(.eui-menu-item__link-category){background-color:var(--eui-c-primary-bg);text-decoration:none}.eui-menu-item__link--disabled{opacity:var(--eui-o-50);pointer-events:none}.eui-menu-item__link--active:not(.eui-menu-item--disabled){background-color:var(--eui-c-primary-bg);font:var(--eui-f-m-bold)}.eui-menu-item__link--active:not(.eui-menu-item--disabled) .eui-menu-item__link-label{color:var(--eui-c-primary)}.eui-menu-item--expanded{display:flex;flex-direction:column}.eui-menu-item--expanded .eui-menu-item--expanded .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-s-3xl)}.eui-menu-item .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-s-xl);padding-bottom:var(--eui-s-2xs);padding-top:var(--eui-s-2xs);border-top:0}.eui-menu-item--bold>.eui-menu-item__content>.eui-menu-item__link{font:var(--eui-f-m-bold)}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i4.EuiIconInputComponent, selector: "eui-icon-input", inputs: ["euiIconPositionStart", "euiIconPositionEnd"] }, { kind: "component", type: i5.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["isInvalid"] }, { kind: "component", type: i6.EuiMenuItemComponent, selector: "eui-menu-item", inputs: ["item", "parent", "hasIcon", "hasTooltip", "isCollapsed", "hasCollapsedInitials", "hasBoldRootLevel"], outputs: ["expandToggle", "itemClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
439
440
|
}
|
440
441
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EuiMenuComponent, decorators: [{
|
441
442
|
type: Component,
|
@@ -443,7 +444,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
|
|
443
444
|
{
|
444
445
|
directive: BaseStatesDirective,
|
445
446
|
},
|
446
|
-
], encapsulation: ViewEncapsulation.None, template: "@if (hasFilter && !isCollapsed) {\n <div class=\"eui-menu-filter\" (click)=\"onMenuFilterClick($event)\">\n <eui-icon-input>\n <eui-icon-svg icon=\"eui-search\" fillColor=\"neutral-lighter\" aria-label=\"Search Icon\"></eui-icon-svg>\n <input\n euiInputText\n [euiClearable]=\"true\"\n (input)=\"onFilter($event)\"\n [placeholder]=\"searchFilterLabel\"\n [attr.aria-label]=\"searchFilterLabel\"\n [value]=\"filterValue\" />\n </eui-icon-input>\n </div>\n}\n\n<ul euiList class=\"eui-menu\" role=\"menubar\" aria-orientation=\"vertical\" tabindex=\"0\" (keydown)=\"onKeydown($event)\">\n @if (items) {\n <ng-template ngFor let-item let-index [ngForOf]=\"items\">\n <ng-template [ngTemplateOutlet]=\"menuItemTemplateRef\" [ngTemplateOutletContext]=\"{ menuItem: item, index: index }\"> </ng-template>\n </ng-template>\n } @else {\n <span class=\"eui-menu--no-items\">No menu items defined</span>\n }\n</ul>\n\n<!-- describe the recursive template of the menu item -->\n<ng-template #menuItemTemplateRef let-item=\"menuItem\" let-parent=\"parent\" let-i=\"index\">\n <!-- render the menu item-->\n <eui-menu-item\n *ngIf=\"item.filtered\"\n [item]=\"item\"\n [parent]=\"parent\"\n [hasIcon]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [isCollapsed]=\"isCollapsed\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n (expandToggle)=\"onExpandToggle($event)\"\n (itemClick)=\"onClick($event)\">\n <!-- if the menu item has children, render the children -->\n <ul euiList *ngIf=\"item.children && item.expanded\" class=\"eui-menu eui-menu-sub\" role=\"menu\" [attr.aria-label]=\"item.label\" tabindex=\"-1\">\n <ng-container *ngFor=\"let child of item.children; let childIndex = index\">\n <ng-template [ngTemplateOutlet]=\"menuItemTemplateRef\" [ngTemplateOutletContext]=\"{ menuItem: child, index: childIndex, parent: item }\">\n </ng-template>\n </ng-container>\n </ul>\n </eui-menu-item>\n</ng-template>\n", styles: [".eui-menu{display:flex;flex-direction:column;gap:0;list-style:none;margin-block-start:0;margin-block-end:0;margin:0;padding:0;width:100%}.eui-menu:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-menu:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu--collapsed .eui-menu-filter{transition:none;visibility:hidden}.eui-menu--collapsed .eui-menu-item__link{padding-left:var(--eui-s-m)}.eui-menu--collapsed .eui-menu-item__link-start-block{gap:0}.eui-menu--collapsed .eui-menu-item__link-content-block,.eui-menu--collapsed .eui-menu-item__link-end-block{visibility:hidden}.eui-menu--collapsed .eui-menu-item__link-end-block .eui-menu-item__link-action-icon{display:none}.eui-menu--collapsed .eui-menu-item__link-end-block .eui-menu-item__link-dotted-badge{position:absolute;top:var(--eui-s-2xs);right:var(--eui-s-2xs);visibility:visible}.eui-menu--collapsed .eui-menu-item__link-end-block .eui-menu-item__link-toggle{display:inherit;position:absolute;right:calc(-1 * var(--eui-s-xs));transform:scale(.75);visibility:visible}.eui-menu--collapsed .eui-menu-item__link-initials{display:flex;background-color:var(--eui-c-neutral-bg-light);border:var(--eui-bw-xs) solid var(--eui-c-neutral-lightest);border-radius:var(--eui-s-xs);font:var(--eui-f-s-bold);justify-content:center;margin-left:calc(-1 * var(--eui-s-2xs));min-width:var(--eui-s-2xl)}.eui-menu--collapsed .eui-menu-item--expanded:first-child{border-bottom:none;padding-bottom:0}.eui-menu--collapsed .eui-menu-item--expanded .eui-menu-sub .eui-menu-item__link,.eui-menu--collapsed .eui-menu-item--expanded .eui-menu-item--expanded .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-s-s)}.eui-menu--no-items{color:var(--eui-c-neutral-lighter);text-align:center}.eui-menu-filter{display:flex;padding:var(--eui-s-m);position:relative;width:100%}.eui-menu-item{display:flex;position:relative;width:100%;border:var(--eui-bw-xs) solid transparent}.eui-menu-item:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-menu-item:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu-item [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu-item .eui-menu-item__content{align-items:center;display:flex;position:relative;width:100%}.eui-menu-item__link{align-items:center;color:var(--eui-c-text);cursor:pointer;display:flex;font:var(--eui-f-m);gap:var(--eui-s-xs);padding:var(--eui-s-xs) var(--eui-s-2xs) calc(var(--eui-s-xs) - 2px) var(--eui-s-m);border-top:1px solid var(--eui-c-neutral-bg);text-decoration:none;width:100%}.eui-menu-item__link
|
447
|
+
], encapsulation: ViewEncapsulation.None, template: "@if (hasFilter && !isCollapsed) {\n <div class=\"eui-menu-filter\" (click)=\"onMenuFilterClick($event)\">\n <eui-icon-input>\n <eui-icon-svg icon=\"eui-search\" fillColor=\"neutral-lighter\" aria-label=\"Search Icon\"></eui-icon-svg>\n <input\n euiInputText\n [euiClearable]=\"true\"\n (input)=\"onFilter($event)\"\n [placeholder]=\"searchFilterLabel\"\n [attr.aria-label]=\"searchFilterLabel\"\n [value]=\"filterValue\" />\n </eui-icon-input>\n </div>\n}\n\n<ul euiList class=\"eui-menu\" role=\"menubar\" aria-orientation=\"vertical\" tabindex=\"0\" (keydown)=\"onKeydown($event)\">\n @if (items) {\n <ng-template ngFor let-item let-index [ngForOf]=\"items\">\n <ng-template [ngTemplateOutlet]=\"menuItemTemplateRef\" [ngTemplateOutletContext]=\"{ menuItem: item, index: index }\"> </ng-template>\n </ng-template>\n } @else {\n <span class=\"eui-menu--no-items\">No menu items defined</span>\n }\n</ul>\n\n<!-- describe the recursive template of the menu item -->\n<ng-template #menuItemTemplateRef let-item=\"menuItem\" let-parent=\"parent\" let-i=\"index\">\n <!-- render the menu item-->\n <eui-menu-item\n *ngIf=\"item.filtered\"\n [item]=\"item\"\n [parent]=\"parent\"\n [hasIcon]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [isCollapsed]=\"isCollapsed\"\n [hasBoldRootLevel]=\"hasBoldRootLevel\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n (expandToggle)=\"onExpandToggle($event)\"\n (itemClick)=\"onClick($event)\">\n <!-- if the menu item has children, render the children -->\n <ul euiList *ngIf=\"item.children && item.expanded\" class=\"eui-menu eui-menu-sub\" role=\"menu\" [attr.aria-label]=\"item.label\" tabindex=\"-1\">\n <ng-container *ngFor=\"let child of item.children; let childIndex = index\">\n <ng-template [ngTemplateOutlet]=\"menuItemTemplateRef\" [ngTemplateOutletContext]=\"{ menuItem: child, index: childIndex, parent: item }\">\n </ng-template>\n </ng-container>\n </ul>\n </eui-menu-item>\n</ng-template>\n", styles: [".eui-menu{display:flex;flex-direction:column;gap:0;list-style:none;margin-block-start:0;margin-block-end:0;margin:0;padding:0;width:100%}.eui-menu:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-menu:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu--collapsed .eui-menu-filter{transition:none;visibility:hidden}.eui-menu--collapsed .eui-menu-item__link{padding-left:var(--eui-s-m)}.eui-menu--collapsed .eui-menu-item__link-start-block{gap:0}.eui-menu--collapsed .eui-menu-item__link-content-block,.eui-menu--collapsed .eui-menu-item__link-end-block{visibility:hidden}.eui-menu--collapsed .eui-menu-item__link-end-block .eui-menu-item__link-action-icon{display:none}.eui-menu--collapsed .eui-menu-item__link-end-block .eui-menu-item__link-dotted-badge{position:absolute;top:var(--eui-s-2xs);right:var(--eui-s-2xs);visibility:visible}.eui-menu--collapsed .eui-menu-item__link-end-block .eui-menu-item__link-toggle{display:inherit;position:absolute;right:calc(-1 * var(--eui-s-xs));transform:scale(.75);visibility:visible}.eui-menu--collapsed .eui-menu-item__link-initials{display:flex;background-color:var(--eui-c-neutral-bg-light);border:var(--eui-bw-xs) solid var(--eui-c-neutral-lightest);border-radius:var(--eui-s-xs);font:var(--eui-f-s-bold);justify-content:center;margin-left:calc(-1 * var(--eui-s-2xs));min-width:var(--eui-s-2xl)}.eui-menu--collapsed .eui-menu-item--expanded:first-child{border-bottom:none;padding-bottom:0}.eui-menu--collapsed .eui-menu-item--expanded .eui-menu-sub .eui-menu-item__link,.eui-menu--collapsed .eui-menu-item--expanded .eui-menu-item--expanded .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-s-s)}.eui-menu--no-items{color:var(--eui-c-neutral-lighter);text-align:center}.eui-menu-filter{display:flex;padding:var(--eui-s-m);position:relative;width:100%}.eui-menu-item{display:flex;position:relative;width:100%;border:var(--eui-bw-xs) solid transparent}.eui-menu-item:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-menu-item:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu-item [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu-item .eui-menu-item__content{align-items:center;display:flex;position:relative;width:100%}.eui-menu-item__link{align-items:center;color:var(--eui-c-text);cursor:pointer;display:flex;font:var(--eui-f-m);gap:var(--eui-s-xs);padding:var(--eui-s-xs) var(--eui-s-2xs) calc(var(--eui-s-xs) - 2px) var(--eui-s-m);border-top:1px solid var(--eui-c-neutral-bg);text-decoration:none;width:100%}.eui-menu-item__link-start-block{align-items:center;display:flex;gap:var(--eui-s-xs)}.eui-menu-item__link-start-block:empty{display:none}.eui-menu-item__link-content-block{display:flex;flex-direction:column;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-content-block .eui-menu-item__link-label-container{align-items:center;display:flex;position:relative;width:100%}.eui-menu-item__link-content-block .eui-menu-item__link-label-container .eui-menu-item__link-label{color:var(--eui-c-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-content-block .eui-menu-item__link-label-container .eui-menu-item__link-label-category{cursor:default;border-bottom:var(--eui-bw-xs) solid var(--eui-c-neutral-lighter);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-end-block{align-items:center;display:flex;gap:var(--eui-s-xs)}.eui-menu-item__link:hover:not(.eui-menu-item--disabled):not(.eui-menu-item__link-category){background-color:var(--eui-c-primary-bg);text-decoration:none}.eui-menu-item__link--disabled{opacity:var(--eui-o-50);pointer-events:none}.eui-menu-item__link--active:not(.eui-menu-item--disabled){background-color:var(--eui-c-primary-bg);font:var(--eui-f-m-bold)}.eui-menu-item__link--active:not(.eui-menu-item--disabled) .eui-menu-item__link-label{color:var(--eui-c-primary)}.eui-menu-item--expanded{display:flex;flex-direction:column}.eui-menu-item--expanded .eui-menu-item--expanded .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-s-3xl)}.eui-menu-item .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-s-xl);padding-bottom:var(--eui-s-2xs);padding-top:var(--eui-s-2xs);border-top:0}.eui-menu-item--bold>.eui-menu-item__content>.eui-menu-item__link{font:var(--eui-f-m-bold)}\n"] }]
|
447
448
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.BaseStatesDirective }, { type: i0.ChangeDetectorRef }], propDecorators: { focusableItems: [{
|
448
449
|
type: ViewChildren,
|
449
450
|
args: [EuiMenuItemComponent]
|
@@ -484,6 +485,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
|
|
484
485
|
}], hasScrollToItem: [{
|
485
486
|
type: Input,
|
486
487
|
args: [{ transform: booleanAttribute }]
|
488
|
+
}], hasBoldRootLevel: [{
|
489
|
+
type: Input,
|
490
|
+
args: [{ transform: booleanAttribute }]
|
487
491
|
}], isClick: [{
|
488
492
|
type: Output
|
489
493
|
}], itemClick: [{
|
@@ -492,4 +496,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
|
|
492
496
|
type: HostListener,
|
493
497
|
args: ['click', ['$event']]
|
494
498
|
}] } });
|
495
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZXVpLW1lbnUvZXVpLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLW1lbnUvZXVpLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLEtBQUssRUFFTCxNQUFNLEVBQ04sWUFBWSxFQUdaLFlBQVksRUFDWixnQkFBZ0IsRUFHaEIsWUFBWSxHQUdmLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVwRCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUU3QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7OztBQWFqRSxNQUFNLE9BQU8sZ0JBQWdCO0lBR3pCLElBQ1csVUFBVTtRQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7WUFDdEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDN0MsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMxQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQSxDQUFDLENBQUMsRUFBRTtTQUNyQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJ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c0JBQW5CLEtBQUs7Z0JBRWtDLFdBQVc7c0JBQWxELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0Usb0JBQW9CO3NCQUEzRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLFNBQVM7c0JBQWhELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsUUFBUTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxVQUFVO3NCQUFqRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLGNBQWM7c0JBQXJELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsTUFBTTtzQkFBN0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxlQUFlO3NCQUF0RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUU1QixPQUFPO3NCQUFoQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBZ0JQLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBPbkNoYW5nZXMsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgUXVlcnlMaXN0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEZvY3VzS2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0ICogYXMgdXVpZCBmcm9tICd1dWlkJztcblxuaW1wb3J0IHsgY29uc3VtZUV2ZW50IH0gZnJvbSAnQGV1aS9jb3JlJztcbmltcG9ydCB7IEJhc2VTdGF0ZXNEaXJlY3RpdmUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvc2hhcmVkJztcbmltcG9ydCB7IEV1aU1lbnVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9ldWktbWVudS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFdWlNZW51SXRlbSB9IGZyb20gJ0BldWkvYmFzZSc7XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aS1tZW51JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXVpLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy9faW5kZXguc2NzcyddLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZTogQmFzZVN0YXRlc0RpcmVjdGl2ZSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEV1aU1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkcmVuKEV1aU1lbnVJdGVtQ29tcG9uZW50KSBmb2N1c2FibGVJdGVtczogUXVlcnlMaXN0PEV1aU1lbnVJdGVtQ29tcG9uZW50PjtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIHB1YmxpYyBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW3RoaXMuYmFzZVN0YXRlc0RpcmVjdGl2ZS5nZXRDc3NDbGFzc2VzKCdldWktbWVudScpLFxuICAgICAgICAgICAgdGhpcy5pc0NvbGxhcHNlZCA/ICdldWktbWVudS0tY29sbGFwc2VkJyA6ICcnLFxuICAgICAgICAgICAgIXRoaXMuaGFzSWNvbnMgPyAnZXVpLW1lbnUtLW5vLWljb25zJyA6ICcnLFxuICAgICAgICAgICAgdGhpcy5pc0ZsYXQgPyAnZXVpLW1lbnUtLWZsYXQnOiAnJyxcbiAgICAgICAgXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGl0ZW1zOiBFdWlNZW51SXRlbVtdO1xuICAgIEBJbnB1dCgpIHNlYXJjaEZpbHRlckxhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZXh0ZXJuYWxMaW5rTGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBmcmFnbWVudElkOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZmlsdGVyVmFsdWUgPSAnJztcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc0NvbGxhcHNlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNDb2xsYXBzZWRJbml0aWFscyA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNGaWx0ZXIgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzSWNvbnMgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzVG9vbHRpcCA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBleHBhbmRBbGxJdGVtcyA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc0ZsYXQgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzU2Nyb2xsVG9JdGVtID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KCkgaXNDbGljazogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBpdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxFdWlNZW51SXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyPEV1aU1lbnVJdGVtPigpO1xuXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgaXRlbXNTdGF0ZTogYW55W107XG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIGZvY3VzS2V5TWFuYWdlcjogRm9jdXNLZXlNYW5hZ2VyPEV1aU1lbnVJdGVtQ29tcG9uZW50PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHVibGljIGJhc2VTdGF0ZXNEaXJlY3RpdmU6IEJhc2VTdGF0ZXNEaXJlY3RpdmUsXG4gICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICkge31cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBzdG9wUHJvcGFnYXRpb24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICAvLyBmaW5kcyBmaXJzdCBjaGlsZCB3aGVuIEFycm93RG93blxuICAgICAgICBjb25zdCBmaXJzdENoaWxkID0gdGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbT8uaXRlbS5jaGlsZHJlbj8gdGhpcy5maW5kRmlyc3RGaWx0ZXJlZEl0ZW0odGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbT8uaXRlbS5jaGlsZHJlbikgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlSXRlbSA9IHRoaXMuZmluZEZvY3VzYWJsZUl0ZW0oZmlyc3RDaGlsZCk7XG4gICAgICAgIC8vIGZpbmRzIHRoZSBwYXJlbnQgZWxlbWVudFxuICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtPy5pdGVtLnBhcmVudDtcbiAgICAgICAgY29uc3QgcGFyZW50Rm9jdXNhYmxlSXRlbSA9IHRoaXMuZmluZEZvY3VzYWJsZUl0ZW0ocGFyZW50KTtcbiAgICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgICAgIGNhc2UgJ0VudGVyJzoge1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgKHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0uaXNMaW5rSXRlbSB8fCB0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtLmlzVXJsSXRlbSkgJiZcbiAgICAgICAgICAgICAgICAgICAgIXRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0uZGlzYWJsZWRcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbS5vbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdBcnJvd1JpZ2h0Jzoge1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/Lml0ZW0uYWN0aW9uSWNvbil7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tBY3Rpb25JY29uRm9jdXNTdGF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/Lml0ZW0uZXhwYW5kZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/Lm9uRXhwYW5kVG9nZ2xlKGV2ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ0Fycm93TGVmdCc6IHtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtPy5pdGVtLmFjdGlvbkljb24pe1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoZWNrQWN0aW9uSWNvbkZvY3VzU3RhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/Lml0ZW0uZXhwYW5kZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0ub25FeHBhbmRUb2dnbGUoZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ0Fycm93RG93bic6IHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtPy5pdGVtLmNoaWxkcmVuICYmIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/Lml0ZW0uZXhwYW5kZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy9mb2N1c2VzIGZpcnN0IGNoaWxkXG4gICAgICAgICAgICAgICAgICAgIGZpcnN0Rm9jdXNhYmxlSXRlbT8uZm9jdXMoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c0tleU1hbmFnZXIudXBkYXRlQWN0aXZlSXRlbShmaXJzdEZvY3VzYWJsZUl0ZW0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocGFyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGZpbmRzIGxhc3QgZmlsdGVyZWQgY2hpbGQgd2hlbiBBcnJvd0Rvd24gYW5kIG5hdmlnYXRpbmcgd2l0aGluIHN1Ym1lbnVcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyZWRDaGlsZHJlbiA9IHRoaXMuZmluZEZpbHRlcmVkSXRlbXMocGFyZW50LmNoaWxkcmVuKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGFzdENoaWxkSW5kZXggPSAoZmlsdGVyZWRDaGlsZHJlbj8ubGVuZ3RoKSAtIDE7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxhc3RDaGlsZCA9IGZpbHRlcmVkQ2hpbGRyZW5bbGFzdENoaWxkSW5kZXhdO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXN0Rm9jdXNhYmxlSXRlbSA9IHRoaXMuZmluZEZvY3VzYWJsZUl0ZW0obGFzdENoaWxkKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYgdGhlIGFjdGl2ZSBpdGVtIGlzIHRoZSBsYXN0IGNoaWxkLCBwdXRzIHRoZSBmb2N1cyBvbiB0aGUgbmV4dCBwYXJlbnRcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbSA9PT0gbGFzdEZvY3VzYWJsZUl0ZW0pe1xuICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKHBhcmVudEZvY3VzYWJsZUl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlci5zZXROZXh0SXRlbUFjdGl2ZSgpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c0tleU1hbmFnZXIuc2V0QWN0aXZlSXRlbSh0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtSW5kZXggKzEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2tpcHMgcmVtYWluaW5nIGNoaWxkZW4gaW4gdGhlIHF1ZXJ5IGxpc3Qgd2hlbiB0aGVyZSBpcyBleHBhbmRlZCBub2RlXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLnNraXBQcmVkaWNhdGUobWVudUl0ZW0gPT4gbWVudUl0ZW0ucGFyZW50ICE9IHVuZGVmaW5lZCB8fCBtZW51SXRlbS5pdGVtLnZpc2libGUgPT09IGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c0tleU1hbmFnZXIub25LZXlkb3duKGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdBcnJvd1VwJzoge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgaWYgKHBhcmVudCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBmaW5kcyBmaXJzdCBmaWx0ZXJlZCBjaGlsZCB3aGVuIEFycm93VXBcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyZWRDaGlsZHJlbiA9IHRoaXMuZmluZEZpbHRlcmVkSXRlbXMocGFyZW50LmNoaWxkcmVuKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlyc3RDaGlsZFVwID0gZmlsdGVyZWRDaGlsZHJlblsnMCddXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlSXRlbVVwID0gdGhpcy5maW5kRm9jdXNhYmxlSXRlbShmaXJzdENoaWxkVXApO1xuICAgICAgICAgICAgICAgICAgICAvLyB3aGVuIG5hdmlnYXRpbmcgdXAgb24gYSBzdWJtZW51IGZvY3VzZXMgdGhlIHBhcmVudCBpZiB0aGUgYWN0aXZlIGl0ZW0gaXMgdGhlIGZpcnN0IGNoaWxkXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0gPT09IGZpcnN0Rm9jdXNhYmxlSXRlbVVwKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0ocGFyZW50Rm9jdXNhYmxlSXRlbSk7XG4gICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c0tleU1hbmFnZXIuc2V0QWN0aXZlSXRlbSh0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtSW5kZXggLTEpO1xuICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLm9uS2V5ZG93bihldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIHdoZW4gbmF2aWdhdGluZyB1cCBmcm9tIGEgcGFyZW50IGVsZW1lbnQgdG8gYW4gZXhwYW5kZWQgc3VibWVudSwgZmluZHMgdGhlIGxhc3QgY2hpbGQgYW5kIGZvY3VzZXMgaXRcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbT8uaXRlbS5jaGlsZHJlbiAmJiB0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtPy5pdGVtLmV4cGFuZGVkKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkQ2hpbGRyZW4gPSB0aGlzLmZpbmRGaWx0ZXJlZEl0ZW1zKHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/Lml0ZW0uY2hpbGRyZW4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGFzdENoaWxkSW5kZXhVcCA9IChmaWx0ZXJlZENoaWxkcmVuLmxlbmd0aCkgLSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGFzdEZvY3VzYWJsZUl0ZW1VcCA9dGhpcy5maW5kRm9jdXNhYmxlSXRlbShmaWx0ZXJlZENoaWxkcmVuW2xhc3RDaGlsZEluZGV4VXBdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0obGFzdEZvY3VzYWJsZUl0ZW1VcCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb2N1c0tleU1hbmFnZXIub25LZXlkb3duKGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuaXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLmNvbmZpZ3VyZUl0ZW1zKHRoaXMuaXRlbXMpO1xuICAgICAgICAgICAgLy8gZ2V0IGN1cnJlbnQgdXJsXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50VXJsID0gdGhpcy5yb3V0ZXIudXJsO1xuICAgICAgICAgICAgLy8gZmluZCBhbiBpdGVtIHRoYXQgbWF0Y2hlcyB0aGUgY3VycmVudCB1cmwgb3IgdGhlIG1vc3QgcmVsZXZhbnQgb25lXG4gICAgICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5maW5kTW9zdFJlbGV2YW50SXRlbShjdXJyZW50VXJsLCB0aGlzLml0ZW1zKTtcbiAgICAgICAgICAgIC8vIGV4cGFuZCB0byB0aGF0IGl0ZW1cbiAgICAgICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5leHBhbmRUb0dpdmVuSXRlbShpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEV4cGFuZCAvIENvbGxhcHNlIEFsbCBpdGVtc1xuICAgICAgICBpZiAoY2hhbmdlcy5leHBhbmRBbGxJdGVtcykge1xuICAgICAgICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuc2V0RXhwYW5kZWRUb0FsbEl0ZW1zKGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShjaGFuZ2VzLmV4cGFuZEFsbEl0ZW1zLmN1cnJlbnRWYWx1ZSksIHRoaXMuaXRlbXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoYW5nZXMuZmlsdGVyVmFsdWUgJiYgdGhpcy5oYXNGaWx0ZXIpIHtcbiAgICAgICAgICAgIHRoaXMub25GaWx0ZXIoY2hhbmdlcy5maWx0ZXJWYWx1ZS5jdXJyZW50VmFsdWUgPz8gJycpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmVmcmVzaCB3aGVuIGludGVyYWN0aXZlIGNvbGxhcHNlZCB0byBpbml0aWFsc1xuICAgICAgICBpZiAoY2hhbmdlcy5oYXNDb2xsYXBzZWRJbml0aWFscykge1xuICAgICAgICAgICAgdGhpcy5oYXNDb2xsYXBzZWRJbml0aWFscyA9IGNoYW5nZXMuaGFzQ29sbGFwc2VkSW5pdGlhbHMuY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuY29uZmlndXJlSXRlbXModGhpcy5pdGVtcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gTGFiZWxzIGRlZmF1bHQgdmFsdWVzIC0gVE9ETyA6IHRyYW5zbGF0aW9uc1xuICAgICAgICBpZiAoIXRoaXMuc2VhcmNoRmlsdGVyTGFiZWwpIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoRmlsdGVyTGFiZWwgPSAnU2VhcmNoIGZpbHRlcic7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlbGVtZW50SXNWaXNpYmxlSW5WaWV3cG9ydCA9IChlbCwgcGFydGlhbGx5VmlzaWJsZSA9IGZhbHNlKTogYm9vbGVhbiA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IHRvcCwgbGVmdCwgYm90dG9tLCByaWdodCB9ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICBjb25zdCB7IGlubmVySGVpZ2h0LCBpbm5lcldpZHRoIH0gPSB3aW5kb3c7XG4gICAgICAgICAgICByZXR1cm4gcGFydGlhbGx5VmlzaWJsZVxuICAgICAgICAgICAgPyAoKHRvcCA+IDAgJiYgdG9wIDwgaW5uZXJIZWlnaHQpIHx8XG4gICAgICAgICAgICAoYm90dG9tID4gMCAmJiBib3R0b20gPCBpbm5lckhlaWdodCkpICYmXG4gICAgICAgICAgICAoKGxlZnQgPiAwICYmIGxlZnQgPCBpbm5lcldpZHRoKSB8fCAocmlnaHQgPiAwICYmIHJpZ2h0IDwgaW5uZXJXaWR0aCkpXG4gICAgICAgICAgICA6IHRvcCA+PSAwICYmIGxlZnQgPj0gMCAmJiBib3R0b20gPD0gaW5uZXJIZWlnaHQgJiYgcmlnaHQgPD0gaW5uZXJXaWR0aDtcbiAgICAgICAgfTtcblxuICAgICAgICAvLyBzdWJzY3JpcHRpb24gdG8gcm91dGVzIHVybCBjaGFuZ2VzIGZvciBhY3RpdmF0aW5nIHRoZSBzY3JvbGxJbnRvVmlldyAob3B0aW9uYWwpXG4gICAgICAgIGlmICh0aGlzLmhhc1Njcm9sbFRvSXRlbSkge1xuICAgICAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuZmluZE1vc3RSZWxldmFudEl0ZW0odGhpcy5yb3V0ZXIudXJsLCB0aGlzLml0ZW1zKTtcbiAgICAgICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dChfID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGl0ZW0uaWQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWVsZW1lbnRJc1Zpc2libGVJblZpZXdwb3J0KGVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIGluc3RhbnRpYXRlcyBGb2N1c0tleU1hbmFnZXIgd2l0aCB0aGUgcXVlcnkgbGlzdCBvZiBpdGVtcyBlbmFibGluZyB3cmFwcGluZ1xuICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXIodGhpcy5mb2N1c2FibGVJdGVtcykud2l0aFdyYXAoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOnZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25DbGljayhpdGVtOiBFdWlNZW51SXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAoIWl0ZW0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGlmIChpdGVtLnVybEV4dGVybmFsKSB7XG4gICAgICAgICAgICAgICAgd2luZG93Lm9wZW4oaXRlbS51cmxFeHRlcm5hbCwgaXRlbS51cmxFeHRlcm5hbFRhcmdldCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0udXJsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2l0ZW0udXJsXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLCBmcmFnbWVudDogdGhpcy5mcmFnbWVudElkIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGl0ZW0uY29tbWFuZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmNvbW1hbmQoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRXhwYW5kVG9nZ2xlKGl0ZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGl0ZW0ubGluaykge1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zPy5tYXAoKGl0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGl0LmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXQuaWQgPT09IGl0ZW0uaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0LmFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0O1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc0NsaWNrLmVtaXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuaXRlbUNsaWNrLmVtaXQoaXRlbSk7XG5cbiAgICAgICAgY29uc3QgZm9jdXNlZEl0ZW0gPSB0aGlzLmZpbmRGb2N1c2FibGVJdGVtKGl0ZW0pO1xuICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKGZvY3VzZWRJdGVtKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25FeHBhbmRUb2dnbGUoaXRlbTogRXVpTWVudUl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHRoaXMub25FeHBhbmRUb2dnbGVkKGl0ZW0sIHRoaXMuaXRlbXMpO1xuICAgICAgICAgICAgLy8gVE9ETzogaW52ZXN0aWdhdGUgd2h5IHRoZSBhYm92ZSBpcyBuZWVkZWQuIENhbiBpdCBiZSBzaW1wbHkgXCJpdGVtLmV4cGFuZGVkID0gIWl0ZW0uZXhwYW5kZWQ7XCIgP1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uTWVudUZpbHRlckNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN1bWVFdmVudChldmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uRmlsdGVyKGV2ZW50OiBFdmVudClcbiAgICBwdWJsaWMgb25GaWx0ZXIodmFsdWU6IHN0cmluZylcbiAgICBwdWJsaWMgb25GaWx0ZXIoZXZlbnRPclZhbHVlOiBFdmVudCB8IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGV2ZW50T3JWYWx1ZSBpbnN0YW5jZW9mIEV2ZW50XG4gICAgICAgICAgICA/IChldmVudE9yVmFsdWUudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlXG4gICAgICAgICAgICA6IGV2ZW50T3JWYWx1ZTtcbiAgICAgICAgdGhpcy5fb25Ub2dnbGVFeHBhbmRBbGxJdGVtcyh2YWx1ZSA/IHRydWUgOiBmYWxzZSk7XG5cbiAgICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuZmlsdGVyTWVudUl0ZW1zKHRoaXMuaXRlbXMsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9vblRvZ2dsZUV4cGFuZEFsbEl0ZW1zKHN0YXRlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLnNldEV4cGFuZGVkVG9BbGxJdGVtcyhzdGF0ZSwgdGhpcy5pdGVtcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZmluZHMgdGhlIEV1aU1lbnVJdGVtQ29tcG9uZW50IGluIHRoZSBxdWVyaWVkIGZvY3VzYWJsZUl0ZW1zW10gdGhhdCAgbWF0Y2hlcyB0aGUgcGFzc2VkIEV1aU1lbnVJdGVtIG9iamVjdFxuICAgICAqXG4gICAgICogQHBhcmFtIG1lbnVJdGVtIGFuIEV1aU1lbnVJdGVtXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGZpbmRGb2N1c2FibGVJdGVtKG1lbnVJdGVtOiBFdWlNZW51SXRlbSApOiBFdWlNZW51SXRlbUNvbXBvbmVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZUl0ZW1zLmZpbmQoXG4gICAgICAgICAgICAoZm9jdXNhYmxlSXRlbSkgPT4gZm9jdXNhYmxlSXRlbS5pdGVtLmxhYmVsID09PSBtZW51SXRlbT8ubGFiZWwgJiYgZm9jdXNhYmxlSXRlbS5pdGVtLmlkID09PSBtZW51SXRlbS5pZCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBmaW5kcyB0aGUgZmlyc3QgaXRlbSB0aGF0IGlzIGZpbHRlcmVkXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVudUl0ZW1zIGFuIGFycmF5IG9mIEV1aU1lbnVJdGVtXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGZpbmRGaXJzdEZpbHRlcmVkSXRlbShtZW51SXRlbXM6IEV1aU1lbnVJdGVtIFtdKTogRXVpTWVudUl0ZW0ge1xuICAgICAgICByZXR1cm4gbWVudUl0ZW1zLmZpbmQoKGl0ZW0pID0+IGl0ZW0uZmlsdGVyZWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGZpbmRzIGFsbCBmaWx0ZXJlZCBtZW51IGl0ZW1zXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVudUl0ZW1zIGFuIGFycmF5IG9mIEV1aU1lbnVJdGVtXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGZpbmRGaWx0ZXJlZEl0ZW1zKG1lbnVJdGVtczogRXVpTWVudUl0ZW0gW10pOiBFdWlNZW51SXRlbSBbXSB7XG4gICAgICAgIHJldHVybiBtZW51SXRlbXMuZmlsdGVyKChpdGVtcykgPT4gaXRlbXMuZmlsdGVyZWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNoZWNrcyB0aGUgZm9jdXMgc3RhdGUgb2YgdGhlIGFjdGlvbiBpY29uXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgY2hlY2tBY3Rpb25JY29uRm9jdXNTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgLy8gY2hlY2sgaWYgdGhlIGFjdGlvbiBpY29uIGlzIGZvY3VzZWQgYW5kIGlmIG5vdCBmb2N1cyBpdCwgb3RoZXJ3aXNlIGZvY3VzIHRoZSBhY3RpdmUgaXRlbVxuICAgICAgICAhdGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbS5pc0FjdGlvbkljb25Gb2N1c2VkID8gdGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbS5mb2N1c0FjdGlvbkljb24oKSA6IHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0uZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBmaWx0ZXIgYWxsIG1lbnUgaXRlbXMgZ2l2ZW4gYSB2YWx1ZVxuICAgICAqXG4gICAgICogQHBhcmFtIG1lbnVJdGVtcyBhbiBhcnJheSBvZiBtZW51IGl0ZW1zXG4gICAgICogQHBhcmFtIGZpbHRlclZhbHVlIHRoZSB2YWx1ZSB0byBmaWx0ZXIgbWVudSBpdGVtc1xuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBmaWx0ZXJNZW51SXRlbXMobWVudUl0ZW1zOiBFdWlNZW51SXRlbVtdLCBmaWx0ZXJWYWx1ZTogc3RyaW5nKTogRXVpTWVudUl0ZW1bXSB7XG4gICAgICAgIHJldHVybiBtZW51SXRlbXM/Lm1hcCgoaXRlbTogRXVpTWVudUl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZvdW5kID0gaXRlbS5sYWJlbC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZmlsdGVyVmFsdWUudG9Mb3dlckNhc2UoKSkgIT09IC0xO1xuICAgICAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBpdGVtLmNoaWxkcmVuID0gdGhpcy5maWx0ZXJNZW51SXRlbXMoaXRlbS5jaGlsZHJlbiwgZmlsdGVyVmFsdWUpO1xuICAgICAgICAgICAgICAgIGl0ZW0uZmlsdGVyZWQgPSBpdGVtLmNoaWxkcmVuLmZpbHRlcigobCkgPT4gbFsnZmlsdGVyZWQnXSA9PT0gdHJ1ZSkubGVuZ3RoID4gMDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZm91bmQpIHtcbiAgICAgICAgICAgICAgICBpdGVtLmZpbHRlcmVkID0gZm91bmQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGl0ZW0uZmlsdGVyZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBleHBhbmQgLyBjb2xsYXBzZSBhbGwgaXRlbXNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBpc0V4cGFuZGVkXG4gICAgICogQHBhcmFtIGl0ZW1zXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIHNldEV4cGFuZGVkVG9BbGxJdGVtcyhpc0V4cGFuZGVkLCBpdGVtczogRXVpTWVudUl0ZW1bXSk6IEV1aU1lbnVJdGVtW10ge1xuICAgICAgICByZXR1cm4gaXRlbXM/Lm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBpdGVtLmV4cGFuZGVkID0gaXNFeHBhbmRlZDtcbiAgICAgICAgICAgICAgICBpdGVtLmNoaWxkcmVuID0gdGhpcy5zZXRFeHBhbmRlZFRvQWxsSXRlbXMoaXNFeHBhbmRlZCwgaXRlbS5jaGlsZHJlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihpdGVtLCB7IHZpc2libGU6IGl0ZW0udmlzaWJsZSA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IGl0ZW0udmlzaWJsZSB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZXhwYW5kIC8gY29sbGFwc2UgYSBtZW51IGl0ZW1cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtIFRoZSBpdGVtIHdoZXJlIHRoZSBcImV4cGFuZFwiIGhhZCBiZWVuIHRvZ2dsZWRcbiAgICAgKiBAcGFyYW0gaXRlbXMgVGhlIGl0ZW1zIGxpc3QgKHVzZWQgZm9yIHJlY3Vyc2lvbilcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgb25FeHBhbmRUb2dnbGVkKGl0ZW06IEV1aU1lbnVJdGVtLCBpdGVtczogRXVpTWVudUl0ZW1bXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBpdGVtSWR4ID0gaXRlbXM/LmluZGV4T2YoaXRlbSk7XG4gICAgICAgIGlmIChpdGVtSWR4ID4gLTEpIHtcbiAgICAgICAgICAgIGl0ZW1zW2l0ZW1JZHhdLmV4cGFuZGVkID0gIWl0ZW1zW2l0ZW1JZHhdLmV4cGFuZGVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaXRlbXMuZm9yRWFjaCgoaSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25FeHBhbmRUb2dnbGVkKGl0ZW0sIGkuY2hpbGRyZW4pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY29uZmlndXJlIGFuIGFycmF5IG9mIGl0ZW1zIHdpdGggdmlzaWJsZSwgZmlsdGVyZWQgYW5kIGV4cGFuZCAoaW4gY2FzZSBvZiBleHBhbmRBbGxJdGVtcyBmbGFnIGVuYWJsZWQpIHByb3BlcnRpZXNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtcyBBbiBhcnJheSBvZiBFdWlNZW51SXRlbVxuICAgICAqIEBwYXJhbSBwYXJlbnQgdGhlIHBhcmVudCBpdGVtIG9mIGl0ZW1zIGlmIGV4aXN0c1xuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBjb25maWd1cmVJdGVtcyhpdGVtczogRXVpTWVudUl0ZW1bXSwgcGFyZW50PzogRXVpTWVudUl0ZW0pOiBFdWlNZW51SXRlbVtdIHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zPy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIC8vIHJlY3Vyc2lvbiBpbiBjYXNlIHRoZXJlIGFyZSBjaGlsZHJlblxuICAgICAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBpdGVtLmNoaWxkcmVuID0gdGhpcy5jb25maWd1cmVJdGVtcyhpdGVtLmNoaWxkcmVuLCBpdGVtKTtcbiAgICAgICAgICAgICAgICAvLyBleHBhbmQgYWxsIHBhcmVudHMgd2l0aCBjaGlsZHJlblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmV4cGFuZEFsbEl0ZW1zKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uZXhwYW5kZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHBvaW50IHRvIHRoZSBwYXJlbnRcbiAgICAgICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgICAgICBpdGVtLnBhcmVudCA9IHBhcmVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFpdGVtLmlkICYmIHRoaXMuaGFzU2Nyb2xsVG9JdGVtKSB7XG4gICAgICAgICAgICAgICAgaXRlbS5pZCA9IHV1aWQudjQoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGl0ZW0ubGFiZWwgJiYgdGhpcy5oYXNDb2xsYXBzZWRJbml0aWFscykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHdvcmRzID0gaXRlbS5sYWJlbC5zcGxpdCgnICcpO1xuICAgICAgICAgICAgICAgIGlmICh3b3Jkcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5pbml0aWFscyA9IGAke2l0ZW0ubGFiZWwuc3Vic3RyaW5nKDAsIDEpfSR7aXRlbS5sYWJlbC5zdWJzdHJpbmcoMSwgMSl9YDtcblxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uaW5pdGlhbHMgPSBgJHt3b3Jkc1swXS5zdWJzdHJpbmcoMCwgMSl9JHt3b3Jkc1sxXS5zdWJzdHJpbmcoMCwgMSl9YDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKGl0ZW0sIHsgdmlzaWJsZTogaXRlbS52aXNpYmxlID09PSB1bmRlZmluZWQgPyB0cnVlIDogaXRlbS52aXNpYmxlLCBmaWx0ZXJlZDogdHJ1ZSB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2l2ZW4gYSBVUkwgYW5kIGEgbGlzdCBvZiBpdGVtcywgaXQgd2lsbCBleHBhbmQgdGhlIGl0ZW0gdGhhdCBtYXRjaGVzIHRoZSBVUkwuIElmIG5vdCBpdGVtIG1hdGNoZXMgZXhhY3RseSB0aGUgdXJsLCB0aGVuIGl0IHdpbGxcbiAgICAgKiBtYXRjaCB0aGUgaXRlbSB0aGF0IGlzIG1vc3QgcmVsZXZhbnQgdG8gdGhhdCB1cmwuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaXRlbXNcbiAgICAgKiBAcGFyYW0gdmFsdWVcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgZmluZE1vc3RSZWxldmFudEl0ZW0odXJsOiBzdHJpbmcsIGl0ZW1zOiBFdWlNZW51SXRlbVtdLCByZWxldmFudEl0ZW0/OiBFdWlNZW51SXRlbSk6IEV1aU1lbnVJdGVtIHtcbiAgICAgICAgaWYgKCFpdGVtcykge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbS51cmwgJiYgdXJsLmluZGV4T2YoaXRlbS51cmwuc3Vic3RyKDEpKSA+IC0xKSB7XG4gICAgICAgICAgICAgICAgcmVsZXZhbnRJdGVtID0gdGhpcy5nZXRNb3N0UmVsZXZhbnRJdGVtKHVybCwgcmVsZXZhbnRJdGVtLCBpdGVtKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICByZWxldmFudEl0ZW0gPSB0aGlzLmZpbmRNb3N0UmVsZXZhbnRJdGVtKHVybCwgaXRlbS5jaGlsZHJlbiwgcmVsZXZhbnRJdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHJlbGV2YW50SXRlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHaXZlbiB0d28gaXRlbXMgd2l0aCB1cmwgcmV0dXJuIHRoZSBvbmUgd2l0aCB0aGUgbW9zdCByZWxldmFudCB1cmwgdGhhdCBtYXRjaGVzIGdpdmVuIHVybFxuICAgICAqXG4gICAgICogQHBhcmFtIHVybCBBIFVSTCB0byBiZSBtYXRjaGVkIHdpdGggdGhlIG9uZSBvZiBnaXZlbiBpdGVtc1xuICAgICAqIEBwYXJhbSBpdGVtMVxuICAgICAqIEBwYXJhbSBpdGVtMlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRNb3N0UmVsZXZhbnRJdGVtKHVybDogc3RyaW5nLCBpdGVtMTogRXVpTWVudUl0ZW0sIGl0ZW0yOiBFdWlNZW51SXRlbSk6IEV1aU1lbnVJdGVtIHtcbiAgICAgICAgY29uc3QgcmVtYWluZGVyMSA9IHVybC5yZXBsYWNlKGl0ZW0xPy51cmwgfHwgJycsICcnKTtcbiAgICAgICAgY29uc3QgcmVtYWluZGVyMiA9IHVybC5yZXBsYWNlKGl0ZW0yPy51cmwgfHwgJycsICcnKTtcblxuICAgICAgICByZXR1cm4gcmVtYWluZGVyMS5sZW5ndGggPCByZW1haW5kZXIyLmxlbmd0aCA/IGl0ZW0xIDogaXRlbTI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2l2ZW4gYW4gaXRlbSwgaWYgdGhlcmUncyBhIHBhcmVudCBleHBhbmQgaXQgdW50aWwgeW91IHJlYWNoIHRoZSByb290IGl0ZW1cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtIEdpdmVuIG1lbnUgaXRlbVxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBleHBhbmRUb0dpdmVuSXRlbShpdGVtOiBFdWlNZW51SXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAoaXRlbS5wYXJlbnQpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gKGl0ZW0ucGFyZW50LmV4cGFuZGVkID0gdHJ1ZSkpO1xuICAgICAgICAgICAgdGhpcy5leHBhbmRUb0dpdmVuSXRlbShpdGVtLnBhcmVudCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaWYgKGhhc0ZpbHRlciAmJiAhaXNDb2xsYXBzZWQpIHtcbiAgICA8ZGl2IGNsYXNzPVwiZXVpLW1lbnUtZmlsdGVyXCIgKGNsaWNrKT1cIm9uTWVudUZpbHRlckNsaWNrKCRldmVudClcIj5cbiAgICAgICAgPGV1aS1pY29uLWlucHV0PlxuICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLXNlYXJjaFwiIGZpbGxDb2xvcj1cIm5ldXRyYWwtbGlnaHRlclwiIGFyaWEtbGFiZWw9XCJTZWFyY2ggSWNvblwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgZXVpSW5wdXRUZXh0XG4gICAgICAgICAgICAgICAgW2V1aUNsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAoaW5wdXQpPVwib25GaWx0ZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInNlYXJjaEZpbHRlckxhYmVsXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInNlYXJjaEZpbHRlckxhYmVsXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZmlsdGVyVmFsdWVcIiAvPlxuICAgICAgICA8L2V1aS1pY29uLWlucHV0PlxuICAgIDwvZGl2PlxufVxuXG48dWwgZXVpTGlzdCBjbGFzcz1cImV1aS1tZW51XCIgcm9sZT1cIm1lbnViYXJcIiBhcmlhLW9yaWVudGF0aW9uPVwidmVydGljYWxcIiB0YWJpbmRleD1cIjBcIiAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiPlxuICAgIEBpZiAoaXRlbXMpIHtcbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1pdGVtIGxldC1pbmRleCBbbmdGb3JPZl09XCJpdGVtc1wiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1lbnVJdGVtVGVtcGxhdGVSZWZcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBtZW51SXRlbTogaXRlbSwgaW5kZXg6IGluZGV4IH1cIj4gPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktbWVudS0tbm8taXRlbXNcIj5ObyBtZW51IGl0ZW1zIGRlZmluZWQ8L3NwYW4+XG4gICAgfVxuPC91bD5cblxuPCEtLSBkZXNjcmliZSB0aGUgcmVjdXJzaXZlIHRlbXBsYXRlIG9mIHRoZSBtZW51IGl0ZW0gLS0+XG48bmctdGVtcGxhdGUgI21lbnVJdGVtVGVtcGxhdGVSZWYgbGV0LWl0ZW09XCJtZW51SXRlbVwiIGxldC1wYXJlbnQ9XCJwYXJlbnRcIiBsZXQtaT1cImluZGV4XCI+XG4gICAgPCEtLSByZW5kZXIgdGhlIG1lbnUgaXRlbS0tPlxuICAgIDxldWktbWVudS1pdGVtXG4gICAgICAgICpuZ0lmPVwiaXRlbS5maWx0ZXJlZFwiXG4gICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICBbcGFyZW50XT1cInBhcmVudFwiXG4gICAgICAgIFtoYXNJY29uXT1cImhhc0ljb25zXCJcbiAgICAgICAgW2hhc1Rvb2x0aXBdPVwiaGFzVG9vbHRpcFwiXG4gICAgICAgIFtpc0NvbGxhcHNlZF09XCJpc0NvbGxhcHNlZFwiXG4gICAgICAgIFtoYXNDb2xsYXBzZWRJbml0aWFsc109XCJoYXNDb2xsYXBzZWRJbml0aWFsc1wiXG4gICAgICAgIChleHBhbmRUb2dnbGUpPVwib25FeHBhbmRUb2dnbGUoJGV2ZW50KVwiXG4gICAgICAgIChpdGVtQ2xpY2spPVwib25DbGljaygkZXZlbnQpXCI+XG4gICAgICAgIDwhLS0gaWYgdGhlIG1lbnUgaXRlbSBoYXMgY2hpbGRyZW4sIHJlbmRlciB0aGUgY2hpbGRyZW4gLS0+XG4gICAgICAgIDx1bCBldWlMaXN0ICpuZ0lmPVwiaXRlbS5jaGlsZHJlbiAmJiBpdGVtLmV4cGFuZGVkXCIgY2xhc3M9XCJldWktbWVudSBldWktbWVudS1zdWJcIiByb2xlPVwibWVudVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiaXRlbS5sYWJlbFwiIHRhYmluZGV4PVwiLTFcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNoaWxkIG9mIGl0ZW0uY2hpbGRyZW47IGxldCBjaGlsZEluZGV4ID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibWVudUl0ZW1UZW1wbGF0ZVJlZlwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IG1lbnVJdGVtOiBjaGlsZCwgaW5kZXg6IGNoaWxkSW5kZXgsIHBhcmVudDogaXRlbSB9XCI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3VsPlxuICAgIDwvZXVpLW1lbnUtaXRlbT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
499
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZXVpLW1lbnUvZXVpLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLW1lbnUvZXVpLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLEtBQUssRUFFTCxNQUFNLEVBQ04sWUFBWSxFQUdaLFlBQVksRUFDWixnQkFBZ0IsRUFHaEIsWUFBWSxHQUdmLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVwRCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUU3QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7OztBQWFqRSxNQUFNLE9BQU8sZ0JBQWdCO0lBR3pCLElBQ1csVUFBVTtRQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7WUFDdEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDN0MsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMxQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQSxDQUFDLENBQUMsRUFBRTtTQUNyQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJ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ekIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRWtDLFdBQVc7c0JBQWxELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0Usb0JBQW9CO3NCQUEzRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLFNBQVM7c0JBQWhELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsUUFBUTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxVQUFVO3NCQUFqRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLGNBQWM7c0JBQXJELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsTUFBTTtzQkFBN0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxlQUFlO3NCQUF0RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLGdCQUFnQjtzQkFBdkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFNUIsT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQWdCUCxlQUFlO3NCQURkLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgT25EZXN0cm95LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIsIEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBGb2N1c0tleU1hbmFnZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCAqIGFzIHV1aWQgZnJvbSAndXVpZCc7XG5cbmltcG9ydCB7IGNvbnN1bWVFdmVudCB9IGZyb20gJ0BldWkvY29yZSc7XG5pbXBvcnQgeyBCYXNlU3RhdGVzRGlyZWN0aXZlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL3NoYXJlZCc7XG5pbXBvcnQgeyBFdWlNZW51SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZXVpLW1lbnUtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXVpTWVudUl0ZW0gfSBmcm9tICdAZXVpL2Jhc2UnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktbWVudScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V1aS1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IEJhc2VTdGF0ZXNEaXJlY3RpdmUsXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQFZpZXdDaGlsZHJlbihFdWlNZW51SXRlbUNvbXBvbmVudCkgZm9jdXNhYmxlSXRlbXM6IFF1ZXJ5TGlzdDxFdWlNZW51SXRlbUNvbXBvbmVudD47XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBwdWJsaWMgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFt0aGlzLmJhc2VTdGF0ZXNEaXJlY3RpdmUuZ2V0Q3NzQ2xhc3NlcygnZXVpLW1lbnUnKSxcbiAgICAgICAgICAgIHRoaXMuaXNDb2xsYXBzZWQgPyAnZXVpLW1lbnUtLWNvbGxhcHNlZCcgOiAnJyxcbiAgICAgICAgICAgICF0aGlzLmhhc0ljb25zID8gJ2V1aS1tZW51LS1uby1pY29ucycgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuaXNGbGF0ID8gJ2V1aS1tZW51LS1mbGF0JzogJycsXG4gICAgICAgIF0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBpdGVtczogRXVpTWVudUl0ZW1bXTtcbiAgICBASW5wdXQoKSBzZWFyY2hGaWx0ZXJMYWJlbDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGV4dGVybmFsTGlua0xhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZnJhZ21lbnRJZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGZpbHRlclZhbHVlID0gJyc7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNDb2xsYXBzZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzQ29sbGFwc2VkSW5pdGlhbHMgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzRmlsdGVyID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc0ljb25zID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc1Rvb2x0aXAgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZXhwYW5kQWxsSXRlbXMgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNGbGF0ID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc1Njcm9sbFRvSXRlbSA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNCb2xkUm9vdExldmVsID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KCkgaXNDbGljazogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBpdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxFdWlNZW51SXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyPEV1aU1lbnVJdGVtPigpO1xuXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgaXRlbXNTdGF0ZTogYW55W107XG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIGZvY3VzS2V5TWFuYWdlcjogRm9jdXNLZXlNYW5hZ2VyPEV1aU1lbnVJdGVtQ29tcG9uZW50PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHVibGljIGJhc2VTdGF0ZXNEaXJlY3RpdmU6IEJhc2VTdGF0ZXNEaXJlY3RpdmUsXG4gICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICkge31cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBzdG9wUHJvcGFnYXRpb24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICAvLyBmaW5kcyBmaXJzdCBjaGlsZCB3aGVuIEFycm93RG93blxuICAgICAgICBjb25zdCBmaXJzdENoaWxkID0gdGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbT8uaXRlbS5jaGlsZHJlbj8gdGhpcy5maW5kRmlyc3RGaWx0ZXJlZEl0ZW0odGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbT8uaXRlbS5jaGlsZHJlbikgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlSXRlbSA9IHRoaXMuZmluZEZvY3VzYWJsZUl0ZW0oZmlyc3RDaGlsZCk7XG4gICAgICAgIC8vIGZpbmRzIHRoZSBwYXJlbnQgZWxlbWVudFxuICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtPy5pdGVtLnBhcmVudDtcbiAgICAgICAgY29uc3QgcGFyZW50Rm9jdXNhYmxlSXRlbSA9IHRoaXMuZmluZEZvY3VzYWJsZUl0ZW0ocGFyZW50KTtcbiAgICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgICAgIGNhc2UgJ0VudGVyJzoge1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgKHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0uaXNMaW5rSXRlbSB8fCB0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtLmlzVXJsSXRlbSkgJiZcbiAgICAgICAgICAgICAgICAgICAgIXRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0uZGlzYWJsZWRcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbS5vbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdBcnJvd1JpZ2h0Jzoge1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/Lml0ZW0uYWN0aW9uSWNvbil7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tBY3Rpb25JY29uRm9jdXNTdGF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/Lml0ZW0uZXhwYW5kZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/Lm9uRXhwYW5kVG9nZ2xlKGV2ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ0Fycm93TGVmdCc6IHtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtPy5pdGVtLmFjdGlvbkljb24pe1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoZWNrQWN0aW9uSWNvbkZvY3VzU3RhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/Lml0ZW0uZXhwYW5kZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0ub25FeHBhbmRUb2dnbGUoZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ0Fycm93RG93bic6IHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtPy5pdGVtLmNoaWxkcmVuICYmIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/Lml0ZW0uZXhwYW5kZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy9mb2N1c2VzIGZpcnN0IGNoaWxkXG4gICAgICAgICAgICAgICAgICAgIGZpcnN0Rm9jdXNhYmxlSXRlbT8uZm9jdXMoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c0tleU1hbmFnZXIudXBkYXRlQWN0aXZlSXRlbShmaXJzdEZvY3VzYWJsZUl0ZW0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocGFyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGZpbmRzIGxhc3QgZmlsdGVyZWQgY2hpbGQgd2hlbiBBcnJvd0Rvd24gYW5kIG5hdmlnYXRpbmcgd2l0aGluIHN1Ym1lbnVcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyZWRDaGlsZHJlbiA9IHRoaXMuZmluZEZpbHRlcmVkSXRlbXMocGFyZW50LmNoaWxkcmVuKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGFzdENoaWxkSW5kZXggPSAoZmlsdGVyZWRDaGlsZHJlbj8ubGVuZ3RoKSAtIDE7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxhc3RDaGlsZCA9IGZpbHRlcmVkQ2hpbGRyZW5bbGFzdENoaWxkSW5kZXhdO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXN0Rm9jdXNhYmxlSXRlbSA9IHRoaXMuZmluZEZvY3VzYWJsZUl0ZW0obGFzdENoaWxkKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYgdGhlIGFjdGl2ZSBpdGVtIGlzIHRoZSBsYXN0IGNoaWxkLCBwdXRzIHRoZSBmb2N1cyBvbiB0aGUgbmV4dCBwYXJlbnRcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbSA9PT0gbGFzdEZvY3VzYWJsZUl0ZW0pe1xuICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKHBhcmVudEZvY3VzYWJsZUl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlci5zZXROZXh0SXRlbUFjdGl2ZSgpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c0tleU1hbmFnZXIuc2V0QWN0aXZlSXRlbSh0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtSW5kZXggKzEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2tpcHMgcmVtYWluaW5nIGNoaWxkZW4gaW4gdGhlIHF1ZXJ5IGxpc3Qgd2hlbiB0aGVyZSBpcyBleHBhbmRlZCBub2RlXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLnNraXBQcmVkaWNhdGUobWVudUl0ZW0gPT4gbWVudUl0ZW0ucGFyZW50ICE9IHVuZGVmaW5lZCB8fCBtZW51SXRlbS5pdGVtLnZpc2libGUgPT09IGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c0tleU1hbmFnZXIub25LZXlkb3duKGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdBcnJvd1VwJzoge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgaWYgKHBhcmVudCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBmaW5kcyBmaXJzdCBmaWx0ZXJlZCBjaGlsZCB3aGVuIEFycm93VXBcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyZWRDaGlsZHJlbiA9IHRoaXMuZmluZEZpbHRlcmVkSXRlbXMocGFyZW50LmNoaWxkcmVuKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlyc3RDaGlsZFVwID0gZmlsdGVyZWRDaGlsZHJlblsnMCddXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlSXRlbVVwID0gdGhpcy5maW5kRm9jdXNhYmxlSXRlbShmaXJzdENoaWxkVXApO1xuICAgICAgICAgICAgICAgICAgICAvLyB3aGVuIG5hdmlnYXRpbmcgdXAgb24gYSBzdWJtZW51IGZvY3VzZXMgdGhlIHBhcmVudCBpZiB0aGUgYWN0aXZlIGl0ZW0gaXMgdGhlIGZpcnN0IGNoaWxkXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0gPT09IGZpcnN0Rm9jdXNhYmxlSXRlbVVwKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0ocGFyZW50Rm9jdXNhYmxlSXRlbSk7XG4gICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c0tleU1hbmFnZXIuc2V0QWN0aXZlSXRlbSh0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtSW5kZXggLTEpO1xuICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLm9uS2V5ZG93bihldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIHdoZW4gbmF2aWdhdGluZyB1cCBmcm9tIGEgcGFyZW50IGVsZW1lbnQgdG8gYW4gZXhwYW5kZWQgc3VibWVudSwgZmluZHMgdGhlIGxhc3QgY2hpbGQgYW5kIGZvY3VzZXMgaXRcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbT8uaXRlbS5jaGlsZHJlbiAmJiB0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtPy5pdGVtLmV4cGFuZGVkKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkQ2hpbGRyZW4gPSB0aGlzLmZpbmRGaWx0ZXJlZEl0ZW1zKHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/Lml0ZW0uY2hpbGRyZW4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGFzdENoaWxkSW5kZXhVcCA9IChmaWx0ZXJlZENoaWxkcmVuLmxlbmd0aCkgLSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGFzdEZvY3VzYWJsZUl0ZW1VcCA9dGhpcy5maW5kRm9jdXNhYmxlSXRlbShmaWx0ZXJlZENoaWxkcmVuW2xhc3RDaGlsZEluZGV4VXBdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0obGFzdEZvY3VzYWJsZUl0ZW1VcCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb2N1c0tleU1hbmFnZXIub25LZXlkb3duKGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuaXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLmNvbmZpZ3VyZUl0ZW1zKHRoaXMuaXRlbXMpO1xuICAgICAgICAgICAgLy8gZ2V0IGN1cnJlbnQgdXJsXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50VXJsID0gdGhpcy5yb3V0ZXIudXJsO1xuICAgICAgICAgICAgLy8gZmluZCBhbiBpdGVtIHRoYXQgbWF0Y2hlcyB0aGUgY3VycmVudCB1cmwgb3IgdGhlIG1vc3QgcmVsZXZhbnQgb25lXG4gICAgICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5maW5kTW9zdFJlbGV2YW50SXRlbShjdXJyZW50VXJsLCB0aGlzLml0ZW1zKTtcbiAgICAgICAgICAgIC8vIGV4cGFuZCB0byB0aGF0IGl0ZW1cbiAgICAgICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5leHBhbmRUb0dpdmVuSXRlbShpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEV4cGFuZCAvIENvbGxhcHNlIEFsbCBpdGVtc1xuICAgICAgICBpZiAoY2hhbmdlcy5leHBhbmRBbGxJdGVtcykge1xuICAgICAgICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuc2V0RXhwYW5kZWRUb0FsbEl0ZW1zKGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShjaGFuZ2VzLmV4cGFuZEFsbEl0ZW1zLmN1cnJlbnRWYWx1ZSksIHRoaXMuaXRlbXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoYW5nZXMuZmlsdGVyVmFsdWUgJiYgdGhpcy5oYXNGaWx0ZXIpIHtcbiAgICAgICAgICAgIHRoaXMub25GaWx0ZXIoY2hhbmdlcy5maWx0ZXJWYWx1ZS5jdXJyZW50VmFsdWUgPz8gJycpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmVmcmVzaCB3aGVuIGludGVyYWN0aXZlIGNvbGxhcHNlZCB0byBpbml0aWFsc1xuICAgICAgICBpZiAoY2hhbmdlcy5oYXNDb2xsYXBzZWRJbml0aWFscykge1xuICAgICAgICAgICAgdGhpcy5oYXNDb2xsYXBzZWRJbml0aWFscyA9IGNoYW5nZXMuaGFzQ29sbGFwc2VkSW5pdGlhbHMuY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuY29uZmlndXJlSXRlbXModGhpcy5pdGVtcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gTGFiZWxzIGRlZmF1bHQgdmFsdWVzIC0gVE9ETyA6IHRyYW5zbGF0aW9uc1xuICAgICAgICBpZiAoIXRoaXMuc2VhcmNoRmlsdGVyTGFiZWwpIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoRmlsdGVyTGFiZWwgPSAnU2VhcmNoIGZpbHRlcic7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlbGVtZW50SXNWaXNpYmxlSW5WaWV3cG9ydCA9IChlbCwgcGFydGlhbGx5VmlzaWJsZSA9IGZhbHNlKTogYm9vbGVhbiA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IHRvcCwgbGVmdCwgYm90dG9tLCByaWdodCB9ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICBjb25zdCB7IGlubmVySGVpZ2h0LCBpbm5lcldpZHRoIH0gPSB3aW5kb3c7XG4gICAgICAgICAgICByZXR1cm4gcGFydGlhbGx5VmlzaWJsZVxuICAgICAgICAgICAgPyAoKHRvcCA+IDAgJiYgdG9wIDwgaW5uZXJIZWlnaHQpIHx8XG4gICAgICAgICAgICAoYm90dG9tID4gMCAmJiBib3R0b20gPCBpbm5lckhlaWdodCkpICYmXG4gICAgICAgICAgICAoKGxlZnQgPiAwICYmIGxlZnQgPCBpbm5lcldpZHRoKSB8fCAocmlnaHQgPiAwICYmIHJpZ2h0IDwgaW5uZXJXaWR0aCkpXG4gICAgICAgICAgICA6IHRvcCA+PSAwICYmIGxlZnQgPj0gMCAmJiBib3R0b20gPD0gaW5uZXJIZWlnaHQgJiYgcmlnaHQgPD0gaW5uZXJXaWR0aDtcbiAgICAgICAgfTtcblxuICAgICAgICAvLyBzdWJzY3JpcHRpb24gdG8gcm91dGVzIHVybCBjaGFuZ2VzIGZvciBhY3RpdmF0aW5nIHRoZSBzY3JvbGxJbnRvVmlldyAob3B0aW9uYWwpXG4gICAgICAgIGlmICh0aGlzLmhhc1Njcm9sbFRvSXRlbSkge1xuICAgICAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuZmluZE1vc3RSZWxldmFudEl0ZW0odGhpcy5yb3V0ZXIudXJsLCB0aGlzLml0ZW1zKTtcbiAgICAgICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dChfID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGl0ZW0uaWQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWVsZW1lbnRJc1Zpc2libGVJblZpZXdwb3J0KGVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIGluc3RhbnRpYXRlcyBGb2N1c0tleU1hbmFnZXIgd2l0aCB0aGUgcXVlcnkgbGlzdCBvZiBpdGVtcyBlbmFibGluZyB3cmFwcGluZ1xuICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXIodGhpcy5mb2N1c2FibGVJdGVtcykud2l0aFdyYXAoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOnZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25DbGljayhpdGVtOiBFdWlNZW51SXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAoIWl0ZW0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGlmIChpdGVtLnVybEV4dGVybmFsKSB7XG4gICAgICAgICAgICAgICAgd2luZG93Lm9wZW4oaXRlbS51cmxFeHRlcm5hbCwgaXRlbS51cmxFeHRlcm5hbFRhcmdldCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0udXJsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2l0ZW0udXJsXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLCBmcmFnbWVudDogdGhpcy5mcmFnbWVudElkIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGl0ZW0uY29tbWFuZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmNvbW1hbmQoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRXhwYW5kVG9nZ2xlKGl0ZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGl0ZW0ubGluaykge1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zPy5tYXAoKGl0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGl0LmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXQuaWQgPT09IGl0ZW0uaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0LmFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0O1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc0NsaWNrLmVtaXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuaXRlbUNsaWNrLmVtaXQoaXRlbSk7XG5cbiAgICAgICAgY29uc3QgZm9jdXNlZEl0ZW0gPSB0aGlzLmZpbmRGb2N1c2FibGVJdGVtKGl0ZW0pO1xuICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKGZvY3VzZWRJdGVtKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25FeHBhbmRUb2dnbGUoaXRlbTogRXVpTWVudUl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHRoaXMub25FeHBhbmRUb2dnbGVkKGl0ZW0sIHRoaXMuaXRlbXMpO1xuICAgICAgICAgICAgLy8gVE9ETzogaW52ZXN0aWdhdGUgd2h5IHRoZSBhYm92ZSBpcyBuZWVkZWQuIENhbiBpdCBiZSBzaW1wbHkgXCJpdGVtLmV4cGFuZGVkID0gIWl0ZW0uZXhwYW5kZWQ7XCIgP1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uTWVudUZpbHRlckNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN1bWVFdmVudChldmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uRmlsdGVyKGV2ZW50OiBFdmVudClcbiAgICBwdWJsaWMgb25GaWx0ZXIodmFsdWU6IHN0cmluZylcbiAgICBwdWJsaWMgb25GaWx0ZXIoZXZlbnRPclZhbHVlOiBFdmVudCB8IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGV2ZW50T3JWYWx1ZSBpbnN0YW5jZW9mIEV2ZW50XG4gICAgICAgICAgICA/IChldmVudE9yVmFsdWUudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlXG4gICAgICAgICAgICA6IGV2ZW50T3JWYWx1ZTtcbiAgICAgICAgdGhpcy5fb25Ub2dnbGVFeHBhbmRBbGxJdGVtcyh2YWx1ZSA/IHRydWUgOiBmYWxzZSk7XG5cbiAgICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuZmlsdGVyTWVudUl0ZW1zKHRoaXMuaXRlbXMsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9vblRvZ2dsZUV4cGFuZEFsbEl0ZW1zKHN0YXRlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLnNldEV4cGFuZGVkVG9BbGxJdGVtcyhzdGF0ZSwgdGhpcy5pdGVtcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZmluZHMgdGhlIEV1aU1lbnVJdGVtQ29tcG9uZW50IGluIHRoZSBxdWVyaWVkIGZvY3VzYWJsZUl0ZW1zW10gdGhhdCAgbWF0Y2hlcyB0aGUgcGFzc2VkIEV1aU1lbnVJdGVtIG9iamVjdFxuICAgICAqXG4gICAgICogQHBhcmFtIG1lbnVJdGVtIGFuIEV1aU1lbnVJdGVtXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGZpbmRGb2N1c2FibGVJdGVtKG1lbnVJdGVtOiBFdWlNZW51SXRlbSApOiBFdWlNZW51SXRlbUNvbXBvbmVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZUl0ZW1zLmZpbmQoXG4gICAgICAgICAgICAoZm9jdXNhYmxlSXRlbSkgPT4gZm9jdXNhYmxlSXRlbS5pdGVtLmxhYmVsID09PSBtZW51SXRlbT8ubGFiZWwgJiYgZm9jdXNhYmxlSXRlbS5pdGVtLmlkID09PSBtZW51SXRlbS5pZCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBmaW5kcyB0aGUgZmlyc3QgaXRlbSB0aGF0IGlzIGZpbHRlcmVkXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVudUl0ZW1zIGFuIGFycmF5IG9mIEV1aU1lbnVJdGVtXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGZpbmRGaXJzdEZpbHRlcmVkSXRlbShtZW51SXRlbXM6IEV1aU1lbnVJdGVtIFtdKTogRXVpTWVudUl0ZW0ge1xuICAgICAgICByZXR1cm4gbWVudUl0ZW1zLmZpbmQoKGl0ZW0pID0+IGl0ZW0uZmlsdGVyZWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGZpbmRzIGFsbCBmaWx0ZXJlZCBtZW51IGl0ZW1zXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVudUl0ZW1zIGFuIGFycmF5IG9mIEV1aU1lbnVJdGVtXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGZpbmRGaWx0ZXJlZEl0ZW1zKG1lbnVJdGVtczogRXVpTWVudUl0ZW0gW10pOiBFdWlNZW51SXRlbSBbXSB7XG4gICAgICAgIHJldHVybiBtZW51SXRlbXMuZmlsdGVyKChpdGVtcykgPT4gaXRlbXMuZmlsdGVyZWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNoZWNrcyB0aGUgZm9jdXMgc3RhdGUgb2YgdGhlIGFjdGlvbiBpY29uXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgY2hlY2tBY3Rpb25JY29uRm9jdXNTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgLy8gY2hlY2sgaWYgdGhlIGFjdGlvbiBpY29uIGlzIGZvY3VzZWQgYW5kIGlmIG5vdCBmb2N1cyBpdCwgb3RoZXJ3aXNlIGZvY3VzIHRoZSBhY3RpdmUgaXRlbVxuICAgICAgICAhdGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbS5pc0FjdGlvbkljb25Gb2N1c2VkID8gdGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbS5mb2N1c0FjdGlvbkljb24oKSA6IHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0uZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBmaWx0ZXIgYWxsIG1lbnUgaXRlbXMgZ2l2ZW4gYSB2YWx1ZVxuICAgICAqXG4gICAgICogQHBhcmFtIG1lbnVJdGVtcyBhbiBhcnJheSBvZiBtZW51IGl0ZW1zXG4gICAgICogQHBhcmFtIGZpbHRlclZhbHVlIHRoZSB2YWx1ZSB0byBmaWx0ZXIgbWVudSBpdGVtc1xuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBmaWx0ZXJNZW51SXRlbXMobWVudUl0ZW1zOiBFdWlNZW51SXRlbVtdLCBmaWx0ZXJWYWx1ZTogc3RyaW5nKTogRXVpTWVudUl0ZW1bXSB7XG4gICAgICAgIHJldHVybiBtZW51SXRlbXM/Lm1hcCgoaXRlbTogRXVpTWVudUl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZvdW5kID0gaXRlbS5sYWJlbC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZmlsdGVyVmFsdWUudG9Mb3dlckNhc2UoKSkgIT09IC0xO1xuICAgICAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBpdGVtLmNoaWxkcmVuID0gdGhpcy5maWx0ZXJNZW51SXRlbXMoaXRlbS5jaGlsZHJlbiwgZmlsdGVyVmFsdWUpO1xuICAgICAgICAgICAgICAgIGl0ZW0uZmlsdGVyZWQgPSBpdGVtLmNoaWxkcmVuLmZpbHRlcigobCkgPT4gbFsnZmlsdGVyZWQnXSA9PT0gdHJ1ZSkubGVuZ3RoID4gMDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZm91bmQpIHtcbiAgICAgICAgICAgICAgICBpdGVtLmZpbHRlcmVkID0gZm91bmQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGl0ZW0uZmlsdGVyZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBleHBhbmQgLyBjb2xsYXBzZSBhbGwgaXRlbXNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBpc0V4cGFuZGVkXG4gICAgICogQHBhcmFtIGl0ZW1zXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIHNldEV4cGFuZGVkVG9BbGxJdGVtcyhpc0V4cGFuZGVkLCBpdGVtczogRXVpTWVudUl0ZW1bXSk6IEV1aU1lbnVJdGVtW10ge1xuICAgICAgICByZXR1cm4gaXRlbXM/Lm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBpdGVtLmV4cGFuZGVkID0gaXNFeHBhbmRlZDtcbiAgICAgICAgICAgICAgICBpdGVtLmNoaWxkcmVuID0gdGhpcy5zZXRFeHBhbmRlZFRvQWxsSXRlbXMoaXNFeHBhbmRlZCwgaXRlbS5jaGlsZHJlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihpdGVtLCB7IHZpc2libGU6IGl0ZW0udmlzaWJsZSA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IGl0ZW0udmlzaWJsZSB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZXhwYW5kIC8gY29sbGFwc2UgYSBtZW51IGl0ZW1cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtIFRoZSBpdGVtIHdoZXJlIHRoZSBcImV4cGFuZFwiIGhhZCBiZWVuIHRvZ2dsZWRcbiAgICAgKiBAcGFyYW0gaXRlbXMgVGhlIGl0ZW1zIGxpc3QgKHVzZWQgZm9yIHJlY3Vyc2lvbilcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgb25FeHBhbmRUb2dnbGVkKGl0ZW06IEV1aU1lbnVJdGVtLCBpdGVtczogRXVpTWVudUl0ZW1bXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBpdGVtSWR4ID0gaXRlbXM/LmluZGV4T2YoaXRlbSk7XG4gICAgICAgIGlmIChpdGVtSWR4ID4gLTEpIHtcbiAgICAgICAgICAgIGl0ZW1zW2l0ZW1JZHhdLmV4cGFuZGVkID0gIWl0ZW1zW2l0ZW1JZHhdLmV4cGFuZGVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaXRlbXMuZm9yRWFjaCgoaSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25FeHBhbmRUb2dnbGVkKGl0ZW0sIGkuY2hpbGRyZW4pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY29uZmlndXJlIGFuIGFycmF5IG9mIGl0ZW1zIHdpdGggdmlzaWJsZSwgZmlsdGVyZWQgYW5kIGV4cGFuZCAoaW4gY2FzZSBvZiBleHBhbmRBbGxJdGVtcyBmbGFnIGVuYWJsZWQpIHByb3BlcnRpZXNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtcyBBbiBhcnJheSBvZiBFdWlNZW51SXRlbVxuICAgICAqIEBwYXJhbSBwYXJlbnQgdGhlIHBhcmVudCBpdGVtIG9mIGl0ZW1zIGlmIGV4aXN0c1xuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBjb25maWd1cmVJdGVtcyhpdGVtczogRXVpTWVudUl0ZW1bXSwgcGFyZW50PzogRXVpTWVudUl0ZW0pOiBFdWlNZW51SXRlbVtdIHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zPy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIC8vIHJlY3Vyc2lvbiBpbiBjYXNlIHRoZXJlIGFyZSBjaGlsZHJlblxuICAgICAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBpdGVtLmNoaWxkcmVuID0gdGhpcy5jb25maWd1cmVJdGVtcyhpdGVtLmNoaWxkcmVuLCBpdGVtKTtcbiAgICAgICAgICAgICAgICAvLyBleHBhbmQgYWxsIHBhcmVudHMgd2l0aCBjaGlsZHJlblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmV4cGFuZEFsbEl0ZW1zKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uZXhwYW5kZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHBvaW50IHRvIHRoZSBwYXJlbnRcbiAgICAgICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgICAgICBpdGVtLnBhcmVudCA9IHBhcmVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFpdGVtLmlkICYmIHRoaXMuaGFzU2Nyb2xsVG9JdGVtKSB7XG4gICAgICAgICAgICAgICAgaXRlbS5pZCA9IHV1aWQudjQoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGl0ZW0ubGFiZWwgJiYgdGhpcy5oYXNDb2xsYXBzZWRJbml0aWFscykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHdvcmRzID0gaXRlbS5sYWJlbC5zcGxpdCgnICcpO1xuICAgICAgICAgICAgICAgIGlmICh3b3Jkcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5pbml0aWFscyA9IGAke2l0ZW0ubGFiZWwuc3Vic3RyaW5nKDAsIDEpfSR7aXRlbS5sYWJlbC5zdWJzdHJpbmcoMSwgMSl9YDtcblxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uaW5pdGlhbHMgPSBgJHt3b3Jkc1swXS5zdWJzdHJpbmcoMCwgMSl9JHt3b3Jkc1sxXS5zdWJzdHJpbmcoMCwgMSl9YDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKGl0ZW0sIHsgdmlzaWJsZTogaXRlbS52aXNpYmxlID09PSB1bmRlZmluZWQgPyB0cnVlIDogaXRlbS52aXNpYmxlLCBmaWx0ZXJlZDogdHJ1ZSB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2l2ZW4gYSBVUkwgYW5kIGEgbGlzdCBvZiBpdGVtcywgaXQgd2lsbCBleHBhbmQgdGhlIGl0ZW0gdGhhdCBtYXRjaGVzIHRoZSBVUkwuIElmIG5vdCBpdGVtIG1hdGNoZXMgZXhhY3RseSB0aGUgdXJsLCB0aGVuIGl0IHdpbGxcbiAgICAgKiBtYXRjaCB0aGUgaXRlbSB0aGF0IGlzIG1vc3QgcmVsZXZhbnQgdG8gdGhhdCB1cmwuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaXRlbXNcbiAgICAgKiBAcGFyYW0gdmFsdWVcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgZmluZE1vc3RSZWxldmFudEl0ZW0odXJsOiBzdHJpbmcsIGl0ZW1zOiBFdWlNZW51SXRlbVtdLCByZWxldmFudEl0ZW0/OiBFdWlNZW51SXRlbSk6IEV1aU1lbnVJdGVtIHtcbiAgICAgICAgaWYgKCFpdGVtcykge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbS51cmwgJiYgdXJsLmluZGV4T2YoaXRlbS51cmwuc3Vic3RyKDEpKSA+IC0xKSB7XG4gICAgICAgICAgICAgICAgcmVsZXZhbnRJdGVtID0gdGhpcy5nZXRNb3N0UmVsZXZhbnRJdGVtKHVybCwgcmVsZXZhbnRJdGVtLCBpdGVtKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICByZWxldmFudEl0ZW0gPSB0aGlzLmZpbmRNb3N0UmVsZXZhbnRJdGVtKHVybCwgaXRlbS5jaGlsZHJlbiwgcmVsZXZhbnRJdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHJlbGV2YW50SXRlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHaXZlbiB0d28gaXRlbXMgd2l0aCB1cmwgcmV0dXJuIHRoZSBvbmUgd2l0aCB0aGUgbW9zdCByZWxldmFudCB1cmwgdGhhdCBtYXRjaGVzIGdpdmVuIHVybFxuICAgICAqXG4gICAgICogQHBhcmFtIHVybCBBIFVSTCB0byBiZSBtYXRjaGVkIHdpdGggdGhlIG9uZSBvZiBnaXZlbiBpdGVtc1xuICAgICAqIEBwYXJhbSBpdGVtMVxuICAgICAqIEBwYXJhbSBpdGVtMlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRNb3N0UmVsZXZhbnRJdGVtKHVybDogc3RyaW5nLCBpdGVtMTogRXVpTWVudUl0ZW0sIGl0ZW0yOiBFdWlNZW51SXRlbSk6IEV1aU1lbnVJdGVtIHtcbiAgICAgICAgY29uc3QgcmVtYWluZGVyMSA9IHVybC5yZXBsYWNlKGl0ZW0xPy51cmwgfHwgJycsICcnKTtcbiAgICAgICAgY29uc3QgcmVtYWluZGVyMiA9IHVybC5yZXBsYWNlKGl0ZW0yPy51cmwgfHwgJycsICcnKTtcblxuICAgICAgICByZXR1cm4gcmVtYWluZGVyMS5sZW5ndGggPCByZW1haW5kZXIyLmxlbmd0aCA/IGl0ZW0xIDogaXRlbTI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2l2ZW4gYW4gaXRlbSwgaWYgdGhlcmUncyBhIHBhcmVudCBleHBhbmQgaXQgdW50aWwgeW91IHJlYWNoIHRoZSByb290IGl0ZW1cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtIEdpdmVuIG1lbnUgaXRlbVxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBleHBhbmRUb0dpdmVuSXRlbShpdGVtOiBFdWlNZW51SXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAoaXRlbS5wYXJlbnQpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gKGl0ZW0ucGFyZW50LmV4cGFuZGVkID0gdHJ1ZSkpO1xuICAgICAgICAgICAgdGhpcy5leHBhbmRUb0dpdmVuSXRlbShpdGVtLnBhcmVudCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaWYgKGhhc0ZpbHRlciAmJiAhaXNDb2xsYXBzZWQpIHtcbiAgICA8ZGl2IGNsYXNzPVwiZXVpLW1lbnUtZmlsdGVyXCIgKGNsaWNrKT1cIm9uTWVudUZpbHRlckNsaWNrKCRldmVudClcIj5cbiAgICAgICAgPGV1aS1pY29uLWlucHV0PlxuICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLXNlYXJjaFwiIGZpbGxDb2xvcj1cIm5ldXRyYWwtbGlnaHRlclwiIGFyaWEtbGFiZWw9XCJTZWFyY2ggSWNvblwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgZXVpSW5wdXRUZXh0XG4gICAgICAgICAgICAgICAgW2V1aUNsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAoaW5wdXQpPVwib25GaWx0ZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInNlYXJjaEZpbHRlckxhYmVsXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInNlYXJjaEZpbHRlckxhYmVsXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZmlsdGVyVmFsdWVcIiAvPlxuICAgICAgICA8L2V1aS1pY29uLWlucHV0PlxuICAgIDwvZGl2PlxufVxuXG48dWwgZXVpTGlzdCBjbGFzcz1cImV1aS1tZW51XCIgcm9sZT1cIm1lbnViYXJcIiBhcmlhLW9yaWVudGF0aW9uPVwidmVydGljYWxcIiB0YWJpbmRleD1cIjBcIiAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiPlxuICAgIEBpZiAoaXRlbXMpIHtcbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1pdGVtIGxldC1pbmRleCBbbmdGb3JPZl09XCJpdGVtc1wiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1lbnVJdGVtVGVtcGxhdGVSZWZcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBtZW51SXRlbTogaXRlbSwgaW5kZXg6IGluZGV4IH1cIj4gPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktbWVudS0tbm8taXRlbXNcIj5ObyBtZW51IGl0ZW1zIGRlZmluZWQ8L3NwYW4+XG4gICAgfVxuPC91bD5cblxuPCEtLSBkZXNjcmliZSB0aGUgcmVjdXJzaXZlIHRlbXBsYXRlIG9mIHRoZSBtZW51IGl0ZW0gLS0+XG48bmctdGVtcGxhdGUgI21lbnVJdGVtVGVtcGxhdGVSZWYgbGV0LWl0ZW09XCJtZW51SXRlbVwiIGxldC1wYXJlbnQ9XCJwYXJlbnRcIiBsZXQtaT1cImluZGV4XCI+XG4gICAgPCEtLSByZW5kZXIgdGhlIG1lbnUgaXRlbS0tPlxuICAgIDxldWktbWVudS1pdGVtXG4gICAgICAgICpuZ0lmPVwiaXRlbS5maWx0ZXJlZFwiXG4gICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICBbcGFyZW50XT1cInBhcmVudFwiXG4gICAgICAgIFtoYXNJY29uXT1cImhhc0ljb25zXCJcbiAgICAgICAgW2hhc1Rvb2x0aXBdPVwiaGFzVG9vbHRpcFwiXG4gICAgICAgIFtpc0NvbGxhcHNlZF09XCJpc0NvbGxhcHNlZFwiXG4gICAgICAgIFtoYXNCb2xkUm9vdExldmVsXT1cImhhc0JvbGRSb290TGV2ZWxcIlxuICAgICAgICBbaGFzQ29sbGFwc2VkSW5pdGlhbHNdPVwiaGFzQ29sbGFwc2VkSW5pdGlhbHNcIlxuICAgICAgICAoZXhwYW5kVG9nZ2xlKT1cIm9uRXhwYW5kVG9nZ2xlKCRldmVudClcIlxuICAgICAgICAoaXRlbUNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICA8IS0tIGlmIHRoZSBtZW51IGl0ZW0gaGFzIGNoaWxkcmVuLCByZW5kZXIgdGhlIGNoaWxkcmVuIC0tPlxuICAgICAgICA8dWwgZXVpTGlzdCAqbmdJZj1cIml0ZW0uY2hpbGRyZW4gJiYgaXRlbS5leHBhbmRlZFwiIGNsYXNzPVwiZXVpLW1lbnUgZXVpLW1lbnUtc3ViXCIgcm9sZT1cIm1lbnVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0ubGFiZWxcIiB0YWJpbmRleD1cIi0xXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBpdGVtLmNoaWxkcmVuOyBsZXQgY2hpbGRJbmRleCA9IGluZGV4XCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1lbnVJdGVtVGVtcGxhdGVSZWZcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBtZW51SXRlbTogY2hpbGQsIGluZGV4OiBjaGlsZEluZGV4LCBwYXJlbnQ6IGl0ZW0gfVwiPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC91bD5cbiAgICA8L2V1aS1tZW51LWl0ZW0+XG48L25nLXRlbXBsYXRlPlxuIl19
|
@@ -13,6 +13,7 @@ export class EuiSidebarMenuComponent {
|
|
13
13
|
this.hasIcons = false;
|
14
14
|
this.hasTooltip = false;
|
15
15
|
this.expandAllItems = false;
|
16
|
+
this.hasBoldRootLevel = false;
|
16
17
|
this.style = '';
|
17
18
|
this.filterValue = '';
|
18
19
|
// TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html
|
@@ -34,11 +35,11 @@ export class EuiSidebarMenuComponent {
|
|
34
35
|
this.isCollapsed = event;
|
35
36
|
}
|
36
37
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EuiSidebarMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0-rc.0", type: EuiSidebarMenuComponent, selector: "eui-sidebar-menu", inputs: { items: "items", hasCollapsedInitials: ["hasCollapsedInitials", "hasCollapsedInitials", booleanAttribute], isCollapsed: ["isCollapsed", "isCollapsed", booleanAttribute], hasFilter: ["hasFilter", "hasFilter", booleanAttribute], hasIcons: ["hasIcons", "hasIcons", booleanAttribute], hasTooltip: ["hasTooltip", "hasTooltip", booleanAttribute], expandAllItems: ["expandAllItems", "expandAllItems", booleanAttribute], style: "style", fragmentId: "fragmentId", searchFilterLabel: "searchFilterLabel", externalTarget: "externalTarget", filterValue: "filterValue" }, outputs: { menuClick: "menuClick", itemClick: "itemClick" }, host: { properties: { "class": "this.string" } }, ngImport: i0, template: "<div class=\"eui-sidebar-menu__container\" [class.eui-sidebar-menu__container--collapsed]=\"isCollapsed\" [style]=\"style\">\n <div class=\"eui-sidebar-menu__content\">\n <eui-menu\n [items]=\"items\"\n [hasFilter]=\"hasFilter\"\n [hasIcons]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [isCollapsed]=\"isCollapsed\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n [expandAllItems]=\"expandAllItems\"\n [fragmentId]=\"fragmentId\"\n [searchFilterLabel]=\"searchFilterLabel\"\n [filterValue]=\"filterValue\"\n (isClick)=\"onMenuClicked($event)\"\n (itemClick)=\"onMenuItemClicked($event)\">\n </eui-menu>\n </div>\n</div>\n", styles: [".eui-sidebar-menu{display:flex;height:100%;width:100%}.eui-sidebar-menu .eui-sidebar-menu__container{background-color:var(--eui-c-bg);height:100%;transition:all .1s ease;width:100%}.eui-sidebar-menu .eui-sidebar-menu__container .eui-sidebar-menu__content{box-shadow:0 8px 8px #b7c0ce33;display:flex;flex-direction:column;height:100%;overflow-x:hidden;overflow-y:auto;position:relative}.eui-sidebar-menu .eui-sidebar-menu__container .eui-sidebar-menu__content::-webkit-scrollbar{display:inherit;height:6px;width:6px;background-color:var(--eui-c-neutral-bg-light)}.eui-sidebar-menu .eui-sidebar-menu__container .eui-sidebar-menu__content::-webkit-scrollbar-thumb{background-color:var(--eui-c-neutral-lightest);border-radius:5rem}.eui-sidebar-menu .eui-sidebar-menu__container .eui-sidebar-menu__content::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-neutral-lighter)}.eui-sidebar-menu .eui-sidebar-menu__container .eui-sidebar-menu__content::-webkit-scrollbar-track{background-color:var(--eui-c-neutral-bg-light);border-radius:0}.eui-page-column__body .eui-sidebar-menu .eui-sidebar-menu__container .eui-sidebar-menu__content{box-shadow:inherit}.eui-sidebar-menu .eui-sidebar-menu__container--collapsed{position:relative;width:var(--eui-app-sidebar-width-close-active)}\n"], dependencies: [{ kind: "component", type: i1.EuiMenuComponent, selector: "eui-menu", inputs: ["items", "searchFilterLabel", "externalLinkLabel", "fragmentId", "filterValue", "isCollapsed", "hasCollapsedInitials", "hasFilter", "hasIcons", "hasTooltip", "expandAllItems", "isFlat", "hasScrollToItem"], outputs: ["isClick", "itemClick"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
38
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0-rc.0", type: EuiSidebarMenuComponent, selector: "eui-sidebar-menu", inputs: { items: "items", hasCollapsedInitials: ["hasCollapsedInitials", "hasCollapsedInitials", booleanAttribute], isCollapsed: ["isCollapsed", "isCollapsed", booleanAttribute], hasFilter: ["hasFilter", "hasFilter", booleanAttribute], hasIcons: ["hasIcons", "hasIcons", booleanAttribute], hasTooltip: ["hasTooltip", "hasTooltip", booleanAttribute], expandAllItems: ["expandAllItems", "expandAllItems", booleanAttribute], hasBoldRootLevel: ["hasBoldRootLevel", "hasBoldRootLevel", booleanAttribute], style: "style", fragmentId: "fragmentId", searchFilterLabel: "searchFilterLabel", externalTarget: "externalTarget", filterValue: "filterValue" }, outputs: { menuClick: "menuClick", itemClick: "itemClick" }, host: { properties: { "class": "this.string" } }, ngImport: i0, template: "<div class=\"eui-sidebar-menu__container\" [class.eui-sidebar-menu__container--collapsed]=\"isCollapsed\" [style]=\"style\">\n <div class=\"eui-sidebar-menu__content\">\n <eui-menu\n [items]=\"items\"\n [hasFilter]=\"hasFilter\"\n [hasIcons]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [isCollapsed]=\"isCollapsed\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n [expandAllItems]=\"expandAllItems\"\n [fragmentId]=\"fragmentId\"\n [searchFilterLabel]=\"searchFilterLabel\"\n [filterValue]=\"filterValue\"\n [hasBoldRootLevel]=\"hasBoldRootLevel\"\n (isClick)=\"onMenuClicked($event)\"\n (itemClick)=\"onMenuItemClicked($event)\">\n </eui-menu>\n </div>\n</div>\n", styles: [".eui-sidebar-menu{display:flex;height:100%;width:100%}.eui-sidebar-menu .eui-sidebar-menu__container{background-color:var(--eui-c-bg);height:100%;transition:all .1s ease;width:100%}.eui-sidebar-menu .eui-sidebar-menu__container .eui-sidebar-menu__content{box-shadow:0 8px 8px #b7c0ce33;display:flex;flex-direction:column;height:100%;overflow-x:hidden;overflow-y:auto;position:relative}.eui-sidebar-menu .eui-sidebar-menu__container .eui-sidebar-menu__content::-webkit-scrollbar{display:inherit;height:6px;width:6px;background-color:var(--eui-c-neutral-bg-light)}.eui-sidebar-menu .eui-sidebar-menu__container .eui-sidebar-menu__content::-webkit-scrollbar-thumb{background-color:var(--eui-c-neutral-lightest);border-radius:5rem}.eui-sidebar-menu .eui-sidebar-menu__container .eui-sidebar-menu__content::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-neutral-lighter)}.eui-sidebar-menu .eui-sidebar-menu__container .eui-sidebar-menu__content::-webkit-scrollbar-track{background-color:var(--eui-c-neutral-bg-light);border-radius:0}.eui-page-column__body .eui-sidebar-menu .eui-sidebar-menu__container .eui-sidebar-menu__content{box-shadow:inherit}.eui-sidebar-menu .eui-sidebar-menu__container--collapsed{position:relative;width:var(--eui-app-sidebar-width-close-active)}\n"], dependencies: [{ kind: "component", type: i1.EuiMenuComponent, selector: "eui-menu", inputs: ["items", "searchFilterLabel", "externalLinkLabel", "fragmentId", "filterValue", "isCollapsed", "hasCollapsedInitials", "hasFilter", "hasIcons", "hasTooltip", "expandAllItems", "isFlat", "hasScrollToItem", "hasBoldRootLevel"], outputs: ["isClick", "itemClick"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
38
39
|
}
|
39
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EuiSidebarMenuComponent, decorators: [{
|
40
41
|
type: Component,
|
41
|
-
args: [{ selector: 'eui-sidebar-menu', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<div class=\"eui-sidebar-menu__container\" [class.eui-sidebar-menu__container--collapsed]=\"isCollapsed\" [style]=\"style\">\n <div class=\"eui-sidebar-menu__content\">\n <eui-menu\n [items]=\"items\"\n [hasFilter]=\"hasFilter\"\n [hasIcons]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [isCollapsed]=\"isCollapsed\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n [expandAllItems]=\"expandAllItems\"\n [fragmentId]=\"fragmentId\"\n [searchFilterLabel]=\"searchFilterLabel\"\n [filterValue]=\"filterValue\"\n (isClick)=\"onMenuClicked($event)\"\n (itemClick)=\"onMenuItemClicked($event)\">\n </eui-menu>\n </div>\n</div>\n", styles: [".eui-sidebar-menu{display:flex;height:100%;width:100%}.eui-sidebar-menu .eui-sidebar-menu__container{background-color:var(--eui-c-bg);height:100%;transition:all .1s ease;width:100%}.eui-sidebar-menu .eui-sidebar-menu__container .eui-sidebar-menu__content{box-shadow:0 8px 8px #b7c0ce33;display:flex;flex-direction:column;height:100%;overflow-x:hidden;overflow-y:auto;position:relative}.eui-sidebar-menu .eui-sidebar-menu__container .eui-sidebar-menu__content::-webkit-scrollbar{display:inherit;height:6px;width:6px;background-color:var(--eui-c-neutral-bg-light)}.eui-sidebar-menu .eui-sidebar-menu__container .eui-sidebar-menu__content::-webkit-scrollbar-thumb{background-color:var(--eui-c-neutral-lightest);border-radius:5rem}.eui-sidebar-menu .eui-sidebar-menu__container .eui-sidebar-menu__content::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-neutral-lighter)}.eui-sidebar-menu .eui-sidebar-menu__container .eui-sidebar-menu__content::-webkit-scrollbar-track{background-color:var(--eui-c-neutral-bg-light);border-radius:0}.eui-page-column__body .eui-sidebar-menu .eui-sidebar-menu__container .eui-sidebar-menu__content{box-shadow:inherit}.eui-sidebar-menu .eui-sidebar-menu__container--collapsed{position:relative;width:var(--eui-app-sidebar-width-close-active)}\n"] }]
|
42
|
+
args: [{ selector: 'eui-sidebar-menu', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<div class=\"eui-sidebar-menu__container\" [class.eui-sidebar-menu__container--collapsed]=\"isCollapsed\" [style]=\"style\">\n <div class=\"eui-sidebar-menu__content\">\n <eui-menu\n [items]=\"items\"\n [hasFilter]=\"hasFilter\"\n [hasIcons]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [isCollapsed]=\"isCollapsed\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n [expandAllItems]=\"expandAllItems\"\n [fragmentId]=\"fragmentId\"\n [searchFilterLabel]=\"searchFilterLabel\"\n [filterValue]=\"filterValue\"\n [hasBoldRootLevel]=\"hasBoldRootLevel\"\n (isClick)=\"onMenuClicked($event)\"\n (itemClick)=\"onMenuItemClicked($event)\">\n </eui-menu>\n </div>\n</div>\n", styles: [".eui-sidebar-menu{display:flex;height:100%;width:100%}.eui-sidebar-menu .eui-sidebar-menu__container{background-color:var(--eui-c-bg);height:100%;transition:all .1s ease;width:100%}.eui-sidebar-menu .eui-sidebar-menu__container .eui-sidebar-menu__content{box-shadow:0 8px 8px #b7c0ce33;display:flex;flex-direction:column;height:100%;overflow-x:hidden;overflow-y:auto;position:relative}.eui-sidebar-menu .eui-sidebar-menu__container .eui-sidebar-menu__content::-webkit-scrollbar{display:inherit;height:6px;width:6px;background-color:var(--eui-c-neutral-bg-light)}.eui-sidebar-menu .eui-sidebar-menu__container .eui-sidebar-menu__content::-webkit-scrollbar-thumb{background-color:var(--eui-c-neutral-lightest);border-radius:5rem}.eui-sidebar-menu .eui-sidebar-menu__container .eui-sidebar-menu__content::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-neutral-lighter)}.eui-sidebar-menu .eui-sidebar-menu__container .eui-sidebar-menu__content::-webkit-scrollbar-track{background-color:var(--eui-c-neutral-bg-light);border-radius:0}.eui-page-column__body .eui-sidebar-menu .eui-sidebar-menu__container .eui-sidebar-menu__content{box-shadow:inherit}.eui-sidebar-menu .eui-sidebar-menu__container--collapsed{position:relative;width:var(--eui-app-sidebar-width-close-active)}\n"] }]
|
42
43
|
}], propDecorators: { string: [{
|
43
44
|
type: HostBinding,
|
44
45
|
args: ['class']
|
@@ -62,6 +63,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
|
|
62
63
|
}], expandAllItems: [{
|
63
64
|
type: Input,
|
64
65
|
args: [{ transform: booleanAttribute }]
|
66
|
+
}], hasBoldRootLevel: [{
|
67
|
+
type: Input,
|
68
|
+
args: [{ transform: booleanAttribute }]
|
65
69
|
}], style: [{
|
66
70
|
type: Input
|
67
71
|
}], fragmentId: [{
|
@@ -77,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
|
|
77
81
|
}], itemClick: [{
|
78
82
|
type: Output
|
79
83
|
}] } });
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXNpZGViYXItbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9ldWktc2lkZWJhci1tZW51L2V1aS1zaWRlYmFyLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLXNpZGViYXItbWVudS9ldWktc2lkZWJhci1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFVbEosTUFBTSxPQUFPLHVCQUF1QjtJQVBwQztRQVEwQixXQUFNLEdBQUcsa0JBQWtCLENBQUM7UUFFbEQsbUhBQW1IO1FBQ25ILDhEQUE4RDtRQUNyRCxVQUFLLEdBQVUsRUFBRSxDQUFDO1FBRWEseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV4RCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBSVgsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDMUIsbUhBQW1IO1FBQ25ILG1HQUFtRztRQUN6RixjQUFTLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEQsY0FBUyxHQUE4QixJQUFJLFlBQVksRUFBRSxDQUFDO0tBaUJ2RTtJQWZVLGlCQUFpQixDQUFDLElBQWlCO1FBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxtSEFBbUg7SUFDbkgsOERBQThEO0lBQ3ZELGFBQWEsQ0FBQyxLQUFVO1FBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxtSEFBbUg7SUFDbkgsOERBQThEO0lBQ3ZELGVBQWUsQ0FBQyxLQUFVO1FBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7bUhBdkNRLHVCQUF1Qjt1R0FBdkIsdUJBQXVCLGlJQU9aLGdCQUFnQiwrQ0FDaEIsZ0JBQWdCLHlDQUNoQixnQkFBZ0Isc0NBQ2hCLGdCQUFnQiw0Q0FDaEIsZ0JBQWdCLHdEQUNoQixnQkFBZ0IsOERBQ2hCLGdCQUFnQiw0UkN2QnhDLGkwQkFtQkE7O2dHRFRhLHVCQUF1QjtrQkFQbkMsU0FBUzsrQkFDSSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsT0FBTyxpQkFDakMsaUJBQWlCLENBQUMsSUFBSTs4QkFHZixNQUFNO3NCQUEzQixXQUFXO3VCQUFDLE9BQU87Z0JBSVgsS0FBSztzQkFBYixLQUFLO2dCQUVrQyxvQkFBb0I7c0JBQTNELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsV0FBVztzQkFBbEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxTQUFTO3NCQUFoRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsVUFBVTtzQkFBakQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxjQUFjO3NCQUFyRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLGdCQUFnQjtzQkFBdkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFN0IsS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFHSSxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3RW5jYXBzdWxhdGlvbiwgYm9vbGVhbkF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXVpTWVudUl0ZW0gfSBmcm9tICdAZXVpL2Jhc2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aS1zaWRlYmFyLW1lbnUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldWktc2lkZWJhci1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9fc3R5bGVzL19pbmRleC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEV1aVNpZGViYXJNZW51Q29tcG9uZW50IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgc3RyaW5nID0gJ2V1aS1zaWRlYmFyLW1lbnUnO1xuXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgQElucHV0KCkgaXRlbXM6IGFueVtdID0gW107XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzQ29sbGFwc2VkSW5pdGlhbHMgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNDb2xsYXBzZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzRmlsdGVyID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc0ljb25zID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc1Rvb2x0aXAgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZXhwYW5kQWxsSXRlbXMgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzQm9sZFJvb3RMZXZlbCA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgc3R5bGUgPSAnJztcbiAgICBASW5wdXQoKSBmcmFnbWVudElkOiBzdHJpbmc7IC8vIEFuY2hvciB0byBuYXZpZ2F0ZSB0byAoc2VlIGV1aS1tZW51KVxuICAgIEBJbnB1dCgpIHNlYXJjaEZpbHRlckxhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZXh0ZXJuYWxUYXJnZXQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBmaWx0ZXJWYWx1ZSA9ICcnO1xuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSwgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcbiAgICBAT3V0cHV0KCkgbWVudUNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgaXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8RXVpTWVudUl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHVibGljIG9uTWVudUl0ZW1DbGlja2VkKGl0ZW06IEV1aU1lbnVJdGVtKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbUNsaWNrLmVtaXQoaXRlbSk7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHVibGljIG9uTWVudUNsaWNrZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm1lbnVDbGljay5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwdWJsaWMgb25NZW51Q29sbGFwc2VkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0NvbGxhcHNlZCA9IGV2ZW50O1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJldWktc2lkZWJhci1tZW51X19jb250YWluZXJcIiBbY2xhc3MuZXVpLXNpZGViYXItbWVudV9fY29udGFpbmVyLS1jb2xsYXBzZWRdPVwiaXNDb2xsYXBzZWRcIiBbc3R5bGVdPVwic3R5bGVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZXVpLXNpZGViYXItbWVudV9fY29udGVudFwiPlxuICAgICAgICA8ZXVpLW1lbnVcbiAgICAgICAgICAgIFtpdGVtc109XCJpdGVtc1wiXG4gICAgICAgICAgICBbaGFzRmlsdGVyXT1cImhhc0ZpbHRlclwiXG4gICAgICAgICAgICBbaGFzSWNvbnNdPVwiaGFzSWNvbnNcIlxuICAgICAgICAgICAgW2hhc1Rvb2x0aXBdPVwiaGFzVG9vbHRpcFwiXG4gICAgICAgICAgICBbaXNDb2xsYXBzZWRdPVwiaXNDb2xsYXBzZWRcIlxuICAgICAgICAgICAgW2hhc0NvbGxhcHNlZEluaXRpYWxzXT1cImhhc0NvbGxhcHNlZEluaXRpYWxzXCJcbiAgICAgICAgICAgIFtleHBhbmRBbGxJdGVtc109XCJleHBhbmRBbGxJdGVtc1wiXG4gICAgICAgICAgICBbZnJhZ21lbnRJZF09XCJmcmFnbWVudElkXCJcbiAgICAgICAgICAgIFtzZWFyY2hGaWx0ZXJMYWJlbF09XCJzZWFyY2hGaWx0ZXJMYWJlbFwiXG4gICAgICAgICAgICBbZmlsdGVyVmFsdWVdPVwiZmlsdGVyVmFsdWVcIlxuICAgICAgICAgICAgW2hhc0JvbGRSb290TGV2ZWxdPVwiaGFzQm9sZFJvb3RMZXZlbFwiXG4gICAgICAgICAgICAoaXNDbGljayk9XCJvbk1lbnVDbGlja2VkKCRldmVudClcIlxuICAgICAgICAgICAgKGl0ZW1DbGljayk9XCJvbk1lbnVJdGVtQ2xpY2tlZCgkZXZlbnQpXCI+XG4gICAgICAgIDwvZXVpLW1lbnU+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
@@ -63,7 +63,7 @@ export class EuiSlideToggleComponent {
|
|
63
63
|
this.onTouch = fn;
|
64
64
|
}
|
65
65
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EuiSlideToggleComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.NgControl, optional: true, self: true }, { token: i2.BaseStatesDirective }], target: i0.ɵɵFactoryTarget.Component }); }
|
66
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0-rc.0", type: EuiSlideToggleComponent, selector: "eui-slide-toggle", inputs: { id: "id", iconSvgNameOn: "iconSvgNameOn", iconSvgNameOff: "iconSvgNameOff", iconSvgFillColorOn: "iconSvgFillColorOn", iconSvgFillColorOff: "iconSvgFillColorOff", isChecked: ["isChecked", "isChecked", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute] }, outputs: { slideToggleChange: "slideToggleChange" }, host: { properties: { "class": "this.cssClasses" } }, hostDirectives: [{ directive: i2.BaseStatesDirective, inputs: ["euiPrimary", "euiPrimary", "euiSecondary", "euiSecondary", "euiInfo", "euiInfo", "euiWarning", "euiWarning", "euiSuccess", "euiSuccess", "euiDanger", "euiDanger", "euiAccent", "euiAccent", "euiVariant", "euiVariant", "euiSizeS", "euiSizeS", "euiSizeM", "euiSizeM", "euiSizeL", "euiSizeL", "euiSizeXL", "euiSizeXL", "euiSizeVariant", "euiSizeVariant"] }], ngImport: i0, template: "<div\n class=\"eui-slide-toggle__container\"\n [tabindex]=\"this.disabled ? '-1' : '0'\"\n [class.eui-slide-toggle__container--disabled]=\"disabled\"\n (keydown.Enter)=\"toggle()\"\n (click)=\"toggle()\">\n <input\n class=\"eui-u-display-hidden\"\n [formControl]=\"checkboxControl\"\n [id]=\"id\"\n type=\"checkbox\"\n role=\"switch\"\n [attr.checked]=\"isChecked\"\n (focusout)=\"onFocusOut()\" />\n <div\n class=\"eui-slide-toggle__track\"\n [class.eui-slide-toggle__track--off]=\"!isChecked\"\n [class.eui-slide-toggle__track--on]=\"isChecked\"></div>\n <div\n class=\"eui-slide-toggle__handler\"\n [@onOff]=\"isChecked ? 'on' : 'off'\"\n [class.eui-slide-toggle__handler--off]=\"!isChecked\"\n [class.eui-slide-toggle__handler--on]=\"isChecked\">\n\n <ng-container *ngIf=\"iconSvgNameOn && iconSvgNameOff\">\n <eui-icon-svg *ngIf=\"isChecked\" icon=\"{{iconSvgNameOn}}\" fillColor=\"{{iconSvgFillColorOn}}\"></eui-icon-svg>\n <eui-icon-svg *ngIf=\"!isChecked\" icon=\"{{iconSvgNameOff}}\" fillColor=\"{{iconSvgFillColorOff}}\"></eui-icon-svg>\n </ng-container>\n </div>\n</div>\n", styles: [".eui-slide-toggle{align-items:center;display:inline-flex;position:relative}.eui-slide-toggle:not(.eui-slide-toggle__container--disabled){cursor:pointer}.eui-slide-toggle .eui-slide-toggle__container--disabled{background-image:none;box-shadow:none;cursor:not-allowed!important;opacity:var(--eui-o-50)}.eui-slide-toggle .eui-slide-toggle__container{align-items:center;display:flex;padding:var(--eui-s-xs) 0;position:relative}.eui-slide-toggle .eui-slide-toggle__container:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-slide-toggle .eui-slide-toggle__container:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-slide-toggle .eui-slide-toggle__container [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-slide-toggle .eui-slide-toggle__container .eui-slide-toggle__track{background-color:var(--eui-c-neutral-lightest);border-radius:var(--eui-br-
|
66
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0-rc.0", type: EuiSlideToggleComponent, selector: "eui-slide-toggle", inputs: { id: "id", iconSvgNameOn: "iconSvgNameOn", iconSvgNameOff: "iconSvgNameOff", iconSvgFillColorOn: "iconSvgFillColorOn", iconSvgFillColorOff: "iconSvgFillColorOff", isChecked: ["isChecked", "isChecked", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute] }, outputs: { slideToggleChange: "slideToggleChange" }, host: { properties: { "class": "this.cssClasses" } }, hostDirectives: [{ directive: i2.BaseStatesDirective, inputs: ["euiPrimary", "euiPrimary", "euiSecondary", "euiSecondary", "euiInfo", "euiInfo", "euiWarning", "euiWarning", "euiSuccess", "euiSuccess", "euiDanger", "euiDanger", "euiAccent", "euiAccent", "euiVariant", "euiVariant", "euiSizeS", "euiSizeS", "euiSizeM", "euiSizeM", "euiSizeL", "euiSizeL", "euiSizeXL", "euiSizeXL", "euiSizeVariant", "euiSizeVariant"] }], ngImport: i0, template: "<div\n class=\"eui-slide-toggle__container\"\n [tabindex]=\"this.disabled ? '-1' : '0'\"\n [class.eui-slide-toggle__container--disabled]=\"disabled\"\n (keydown.Enter)=\"toggle()\"\n (click)=\"toggle()\">\n <input\n class=\"eui-u-display-hidden\"\n [formControl]=\"checkboxControl\"\n [id]=\"id\"\n type=\"checkbox\"\n role=\"switch\"\n [attr.checked]=\"isChecked\"\n (focusout)=\"onFocusOut()\" />\n <div\n class=\"eui-slide-toggle__track\"\n [class.eui-slide-toggle__track--off]=\"!isChecked\"\n [class.eui-slide-toggle__track--on]=\"isChecked\"></div>\n <div\n class=\"eui-slide-toggle__handler\"\n [@onOff]=\"isChecked ? 'on' : 'off'\"\n [class.eui-slide-toggle__handler--off]=\"!isChecked\"\n [class.eui-slide-toggle__handler--on]=\"isChecked\">\n\n <ng-container *ngIf=\"iconSvgNameOn && iconSvgNameOff\">\n <eui-icon-svg *ngIf=\"isChecked\" icon=\"{{iconSvgNameOn}}\" fillColor=\"{{iconSvgFillColorOn}}\"></eui-icon-svg>\n <eui-icon-svg *ngIf=\"!isChecked\" icon=\"{{iconSvgNameOff}}\" fillColor=\"{{iconSvgFillColorOff}}\"></eui-icon-svg>\n </ng-container>\n </div>\n</div>\n", styles: [".eui-slide-toggle{align-items:center;display:inline-flex;position:relative}.eui-slide-toggle:not(.eui-slide-toggle__container--disabled){cursor:pointer}.eui-slide-toggle .eui-slide-toggle__container--disabled{background-image:none;box-shadow:none;cursor:not-allowed!important;opacity:var(--eui-o-50)}.eui-slide-toggle .eui-slide-toggle__container{align-items:center;display:flex;padding:var(--eui-s-xs) 0;position:relative}.eui-slide-toggle .eui-slide-toggle__container:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-slide-toggle .eui-slide-toggle__container:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-slide-toggle .eui-slide-toggle__container [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-slide-toggle .eui-slide-toggle__container .eui-slide-toggle__track{background-color:var(--eui-c-neutral-lightest);border-radius:var(--eui-br-max);height:var(--eui-s-m);width:calc(var(--eui-s-xl) + var(--eui-s-m))}.eui-slide-toggle .eui-slide-toggle__container .eui-slide-toggle__track.eui-slide-toggle__track--on{background-color:var(--eui-c-success-light)}.eui-slide-toggle .eui-slide-toggle__container .eui-slide-toggle__handler{background-color:var(--eui-c-white);border-radius:var(--eui-br-max);box-shadow:var(--eui-sh-3);position:absolute;height:calc(var(--eui-s-m) + var(--eui-s-xs));width:calc(var(--eui-s-m) + var(--eui-s-xs))}.eui-slide-toggle .eui-slide-toggle__container .eui-slide-toggle__handler--off{left:0rem}.eui-slide-toggle .eui-slide-toggle__container .eui-slide-toggle__handler--on{left:var(--eui-s-m)}.eui-slide-toggle--size-s{transform:scale(.75)}.eui-slide-toggle--size-m{transform:scale(1)}.eui-slide-toggle--size-l{transform:scale(1.25)}.eui-slide-toggle--size-xl{transform:scale(1.5)}.eui-slide-toggle--primary .eui-slide-toggle__container .eui-slide-toggle__track.eui-slide-toggle__track--on{background-color:var(--eui-c-primary-lighter)}.eui-slide-toggle--primary .eui-slide-toggle__container .eui-slide-toggle__handler{background-color:var(--eui-c-primary)}.eui-slide-toggle--info .eui-slide-toggle__container .eui-slide-toggle__track.eui-slide-toggle__track--on{background-color:var(--eui-c-info-lighter)}.eui-slide-toggle--info .eui-slide-toggle__container .eui-slide-toggle__handler{background-color:var(--eui-c-info)}.eui-slide-toggle--success .eui-slide-toggle__container .eui-slide-toggle__track.eui-slide-toggle__track--on{background-color:var(--eui-c-success-light)}.eui-slide-toggle--success .eui-slide-toggle__container .eui-slide-toggle__handler{background-color:var(--eui-c-success)}.eui-slide-toggle--warning .eui-slide-toggle__container .eui-slide-toggle__track.eui-slide-toggle__track--on{background-color:var(--eui-c-warning-light)}.eui-slide-toggle--warning .eui-slide-toggle__container .eui-slide-toggle__handler{background-color:var(--eui-c-warning)}.eui-slide-toggle--danger .eui-slide-toggle__container .eui-slide-toggle__track.eui-slide-toggle__track--on{background-color:var(--eui-c-danger-light)}.eui-slide-toggle--danger .eui-slide-toggle__container .eui-slide-toggle__handler{background-color:var(--eui-c-danger)}.eui-slide-toggle--accent .eui-slide-toggle__container .eui-slide-toggle__track.eui-slide-toggle__track--on{background-color:var(--eui-c-accent-light)}.eui-slide-toggle--accent .eui-slide-toggle__container .eui-slide-toggle__handler{background-color:var(--eui-c-accent)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }], animations: [onOff], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
67
67
|
}
|
68
68
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EuiSlideToggleComponent, decorators: [{
|
69
69
|
type: Component,
|
@@ -86,7 +86,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
|
|
86
86
|
'euiSizeVariant',
|
87
87
|
],
|
88
88
|
},
|
89
|
-
], template: "<div\n class=\"eui-slide-toggle__container\"\n [tabindex]=\"this.disabled ? '-1' : '0'\"\n [class.eui-slide-toggle__container--disabled]=\"disabled\"\n (keydown.Enter)=\"toggle()\"\n (click)=\"toggle()\">\n <input\n class=\"eui-u-display-hidden\"\n [formControl]=\"checkboxControl\"\n [id]=\"id\"\n type=\"checkbox\"\n role=\"switch\"\n [attr.checked]=\"isChecked\"\n (focusout)=\"onFocusOut()\" />\n <div\n class=\"eui-slide-toggle__track\"\n [class.eui-slide-toggle__track--off]=\"!isChecked\"\n [class.eui-slide-toggle__track--on]=\"isChecked\"></div>\n <div\n class=\"eui-slide-toggle__handler\"\n [@onOff]=\"isChecked ? 'on' : 'off'\"\n [class.eui-slide-toggle__handler--off]=\"!isChecked\"\n [class.eui-slide-toggle__handler--on]=\"isChecked\">\n\n <ng-container *ngIf=\"iconSvgNameOn && iconSvgNameOff\">\n <eui-icon-svg *ngIf=\"isChecked\" icon=\"{{iconSvgNameOn}}\" fillColor=\"{{iconSvgFillColorOn}}\"></eui-icon-svg>\n <eui-icon-svg *ngIf=\"!isChecked\" icon=\"{{iconSvgNameOff}}\" fillColor=\"{{iconSvgFillColorOff}}\"></eui-icon-svg>\n </ng-container>\n </div>\n</div>\n", styles: [".eui-slide-toggle{align-items:center;display:inline-flex;position:relative}.eui-slide-toggle:not(.eui-slide-toggle__container--disabled){cursor:pointer}.eui-slide-toggle .eui-slide-toggle__container--disabled{background-image:none;box-shadow:none;cursor:not-allowed!important;opacity:var(--eui-o-50)}.eui-slide-toggle .eui-slide-toggle__container{align-items:center;display:flex;padding:var(--eui-s-xs) 0;position:relative}.eui-slide-toggle .eui-slide-toggle__container:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-slide-toggle .eui-slide-toggle__container:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-slide-toggle .eui-slide-toggle__container [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-slide-toggle .eui-slide-toggle__container .eui-slide-toggle__track{background-color:var(--eui-c-neutral-lightest);border-radius:var(--eui-br-
|
89
|
+
], template: "<div\n class=\"eui-slide-toggle__container\"\n [tabindex]=\"this.disabled ? '-1' : '0'\"\n [class.eui-slide-toggle__container--disabled]=\"disabled\"\n (keydown.Enter)=\"toggle()\"\n (click)=\"toggle()\">\n <input\n class=\"eui-u-display-hidden\"\n [formControl]=\"checkboxControl\"\n [id]=\"id\"\n type=\"checkbox\"\n role=\"switch\"\n [attr.checked]=\"isChecked\"\n (focusout)=\"onFocusOut()\" />\n <div\n class=\"eui-slide-toggle__track\"\n [class.eui-slide-toggle__track--off]=\"!isChecked\"\n [class.eui-slide-toggle__track--on]=\"isChecked\"></div>\n <div\n class=\"eui-slide-toggle__handler\"\n [@onOff]=\"isChecked ? 'on' : 'off'\"\n [class.eui-slide-toggle__handler--off]=\"!isChecked\"\n [class.eui-slide-toggle__handler--on]=\"isChecked\">\n\n <ng-container *ngIf=\"iconSvgNameOn && iconSvgNameOff\">\n <eui-icon-svg *ngIf=\"isChecked\" icon=\"{{iconSvgNameOn}}\" fillColor=\"{{iconSvgFillColorOn}}\"></eui-icon-svg>\n <eui-icon-svg *ngIf=\"!isChecked\" icon=\"{{iconSvgNameOff}}\" fillColor=\"{{iconSvgFillColorOff}}\"></eui-icon-svg>\n </ng-container>\n </div>\n</div>\n", styles: [".eui-slide-toggle{align-items:center;display:inline-flex;position:relative}.eui-slide-toggle:not(.eui-slide-toggle__container--disabled){cursor:pointer}.eui-slide-toggle .eui-slide-toggle__container--disabled{background-image:none;box-shadow:none;cursor:not-allowed!important;opacity:var(--eui-o-50)}.eui-slide-toggle .eui-slide-toggle__container{align-items:center;display:flex;padding:var(--eui-s-xs) 0;position:relative}.eui-slide-toggle .eui-slide-toggle__container:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-slide-toggle .eui-slide-toggle__container:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-slide-toggle .eui-slide-toggle__container [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-slide-toggle .eui-slide-toggle__container .eui-slide-toggle__track{background-color:var(--eui-c-neutral-lightest);border-radius:var(--eui-br-max);height:var(--eui-s-m);width:calc(var(--eui-s-xl) + var(--eui-s-m))}.eui-slide-toggle .eui-slide-toggle__container .eui-slide-toggle__track.eui-slide-toggle__track--on{background-color:var(--eui-c-success-light)}.eui-slide-toggle .eui-slide-toggle__container .eui-slide-toggle__handler{background-color:var(--eui-c-white);border-radius:var(--eui-br-max);box-shadow:var(--eui-sh-3);position:absolute;height:calc(var(--eui-s-m) + var(--eui-s-xs));width:calc(var(--eui-s-m) + var(--eui-s-xs))}.eui-slide-toggle .eui-slide-toggle__container .eui-slide-toggle__handler--off{left:0rem}.eui-slide-toggle .eui-slide-toggle__container .eui-slide-toggle__handler--on{left:var(--eui-s-m)}.eui-slide-toggle--size-s{transform:scale(.75)}.eui-slide-toggle--size-m{transform:scale(1)}.eui-slide-toggle--size-l{transform:scale(1.25)}.eui-slide-toggle--size-xl{transform:scale(1.5)}.eui-slide-toggle--primary .eui-slide-toggle__container .eui-slide-toggle__track.eui-slide-toggle__track--on{background-color:var(--eui-c-primary-lighter)}.eui-slide-toggle--primary .eui-slide-toggle__container .eui-slide-toggle__handler{background-color:var(--eui-c-primary)}.eui-slide-toggle--info .eui-slide-toggle__container .eui-slide-toggle__track.eui-slide-toggle__track--on{background-color:var(--eui-c-info-lighter)}.eui-slide-toggle--info .eui-slide-toggle__container .eui-slide-toggle__handler{background-color:var(--eui-c-info)}.eui-slide-toggle--success .eui-slide-toggle__container .eui-slide-toggle__track.eui-slide-toggle__track--on{background-color:var(--eui-c-success-light)}.eui-slide-toggle--success .eui-slide-toggle__container .eui-slide-toggle__handler{background-color:var(--eui-c-success)}.eui-slide-toggle--warning .eui-slide-toggle__container .eui-slide-toggle__track.eui-slide-toggle__track--on{background-color:var(--eui-c-warning-light)}.eui-slide-toggle--warning .eui-slide-toggle__container .eui-slide-toggle__handler{background-color:var(--eui-c-warning)}.eui-slide-toggle--danger .eui-slide-toggle__container .eui-slide-toggle__track.eui-slide-toggle__track--on{background-color:var(--eui-c-danger-light)}.eui-slide-toggle--danger .eui-slide-toggle__container .eui-slide-toggle__handler{background-color:var(--eui-c-danger)}.eui-slide-toggle--accent .eui-slide-toggle__container .eui-slide-toggle__track.eui-slide-toggle__track--on{background-color:var(--eui-c-accent-light)}.eui-slide-toggle--accent .eui-slide-toggle__container .eui-slide-toggle__handler{background-color:var(--eui-c-accent)}\n"] }]
|
90
90
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.NgControl, decorators: [{
|
91
91
|
type: Self
|
92
92
|
}, {
|