@eui/components 18.0.0-next.31 → 18.0.0-next.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/docs/components/EuiDateRangeSelectorComponent.html +1 -20
  2. package/docs/components/EuiDatepickerComponent.html +1 -20
  3. package/docs/components/EuiMenuComponent.html +2 -42
  4. package/docs/dependencies.html +1 -1
  5. package/docs/js/search/search_index.js +2 -2
  6. package/esm2022/directives/eui-resizable/eui-resizable.component.mjs +2 -2
  7. package/esm2022/directives/eui-tooltip/container/eui-tooltip-container.component.mjs +3 -3
  8. package/esm2022/eui-alert/eui-alert.component.mjs +2 -2
  9. package/esm2022/eui-autocomplete/eui-autocomplete.component.mjs +6 -3
  10. package/esm2022/eui-avatar/eui-avatar.component.mjs +2 -2
  11. package/esm2022/eui-badge/eui-badge.component.mjs +2 -2
  12. package/esm2022/eui-block-content/eui-block-content.component.mjs +2 -2
  13. package/esm2022/eui-button/eui-button.component.mjs +2 -2
  14. package/esm2022/eui-button-group/eui-button-group.component.mjs +2 -2
  15. package/esm2022/eui-button-v2/eui-button-v2.component.mjs +2 -2
  16. package/esm2022/eui-card/eui-card.component.mjs +2 -2
  17. package/esm2022/eui-chip/eui-chip.component.mjs +2 -2
  18. package/esm2022/eui-dashboard-button/eui-dashboard-button.component.mjs +2 -2
  19. package/esm2022/eui-dashboard-card/eui-dashboard-card.component.mjs +2 -2
  20. package/esm2022/eui-date-range-selector/eui-date-range-selector.component.mjs +3 -5
  21. package/esm2022/eui-datepicker/eui-datepicker.component.mjs +3 -5
  22. package/esm2022/eui-dialog/container/eui-dialog-container.component.mjs +2 -2
  23. package/esm2022/eui-dialog/eui-dialog.component.mjs +2 -2
  24. package/esm2022/eui-discussion-thread/eui-discussion-thread.component.mjs +2 -2
  25. package/esm2022/eui-dropdown/dropdown-item/eui-dropdown-item.component.mjs +2 -2
  26. package/esm2022/eui-dropdown/eui-dropdown.component.mjs +3 -3
  27. package/esm2022/eui-ecl-date-block/eui-ecl-date-block.component.mjs +2 -2
  28. package/esm2022/eui-ecl-label/eui-ecl-label.component.mjs +2 -2
  29. package/esm2022/eui-fieldset/eui-fieldset.component.mjs +2 -2
  30. package/esm2022/eui-file-upload/eui-file-upload.component.mjs +2 -2
  31. package/esm2022/eui-growl/eui-growl.component.mjs +2 -2
  32. package/esm2022/eui-icon/eui-icon-svg-button/eui-icon-svg-button.component.mjs +2 -2
  33. package/esm2022/eui-icon/eui-icon-svg.component.mjs +4 -4
  34. package/esm2022/eui-icon-toggle/eui-icon-toggle.component.mjs +2 -2
  35. package/esm2022/eui-input-checkbox/eui-input-checkbox.component.mjs +2 -2
  36. package/esm2022/eui-input-group/eui-input-group.component.mjs +2 -2
  37. package/esm2022/eui-input-number/eui-input-number.component.mjs +2 -2
  38. package/esm2022/eui-input-radio/eui-input-radio.component.mjs +2 -2
  39. package/esm2022/eui-input-text/eui-input-text.component.mjs +2 -2
  40. package/esm2022/eui-label/eui-label.component.mjs +2 -2
  41. package/esm2022/eui-language-selector/language-selector.component.mjs +2 -2
  42. package/esm2022/eui-list/eui-list-item/eui-list-item.component.mjs +2 -2
  43. package/esm2022/eui-list/eui-list.component.mjs +2 -2
  44. package/esm2022/eui-menu/eui-menu-item.component.mjs +2 -2
  45. package/esm2022/eui-menu/eui-menu.component.mjs +3 -6
  46. package/esm2022/eui-overlay/eui-overlay.component.mjs +2 -2
  47. package/esm2022/eui-page/eui-page.component.mjs +2 -2
  48. package/esm2022/eui-popover/eui-popover.component.mjs +2 -2
  49. package/esm2022/eui-progress-bar/eui-progress-bar.component.mjs +2 -2
  50. package/esm2022/eui-progress-circle/eui-progress-circle.component.mjs +2 -2
  51. package/esm2022/eui-select/eui-select.component.mjs +2 -2
  52. package/esm2022/eui-sidebar-menu/eui-sidebar-menu.component.mjs +2 -2
  53. package/esm2022/eui-skeleton/eui-skeleton.component.mjs +2 -2
  54. package/esm2022/eui-slide-toggle/eui-slide-toggle.component.mjs +3 -3
  55. package/esm2022/eui-table/eui-table.component.mjs +2 -2
  56. package/esm2022/eui-tabs/eui-tab/eui-tab.component.mjs +2 -2
  57. package/esm2022/eui-tabs/eui-tabs.component.mjs +2 -2
  58. package/esm2022/eui-textarea/eui-textarea.component.mjs +2 -2
  59. package/esm2022/eui-timebar/eui-timebar.component.mjs +2 -2
  60. package/esm2022/eui-timeline/eui-timeline-item.component.mjs +2 -2
  61. package/esm2022/eui-timeline/eui-timeline.component.mjs +2 -2
  62. package/esm2022/eui-timepicker/eui-timepicker.component.mjs +2 -2
  63. package/esm2022/eui-tree/eui-tree.component.mjs +2 -2
  64. package/esm2022/eui-tree-list/eui-tree-list.component.mjs +2 -2
  65. package/esm2022/eui-wizard/eui-wizard-step.component.mjs +2 -2
  66. package/esm2022/eui-wizard/eui-wizard.component.mjs +2 -2
  67. package/esm2022/externals/charts/chart/chart.component.mjs +2 -2
  68. package/esm2022/externals/eui-editor/eui-editor.component.mjs +2 -2
  69. package/esm2022/layout/eui-app/eui-app-footer/footer.component.mjs +2 -2
  70. package/esm2022/layout/eui-app/eui-app-header/header.component.mjs +2 -2
  71. package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-header-user-profile/sidebar-header-user-profile.component.mjs +2 -2
  72. package/esm2022/layout/eui-app/eui-app-sidebar/sidebar.component.mjs +2 -2
  73. package/esm2022/layout/eui-app/eui-app-toolbar/toolbar.component.mjs +2 -2
  74. package/esm2022/layout/eui-app/eui-app-top-message/top-message.component.mjs +2 -2
  75. package/esm2022/layout/eui-app/eui-app.component.mjs +2 -2
  76. package/esm2022/layout/eui-breadcrumb/breadcrumb.component.mjs +2 -2
  77. package/esm2022/layout/eui-breadcrumb/collapsed-breadcrumb/collapsed-breadcrumb.component.mjs +2 -2
  78. package/esm2022/layout/eui-breadcrumb/item/breadcrumb-item.component.mjs +2 -2
  79. package/esm2022/layout/eui-footer/footer.component.mjs +2 -2
  80. package/esm2022/layout/eui-header/header.component.mjs +2 -2
  81. package/esm2022/layout/eui-notifications/eui-notifications.component.mjs +2 -2
  82. package/esm2022/layout/eui-notifications-v2/eui-notifications.component.mjs +2 -2
  83. package/esm2022/layout/eui-search/search.component.mjs +2 -2
  84. package/esm2022/layout/eui-toolbar/toolbar.component.mjs +2 -2
  85. package/esm2022/layout/eui-user-profile/user-profile.component.mjs +2 -2
  86. package/eui-autocomplete/eui-autocomplete.component.d.ts.map +1 -1
  87. package/eui-date-range-selector/eui-date-range-selector.component.d.ts +1 -2
  88. package/eui-date-range-selector/eui-date-range-selector.component.d.ts.map +1 -1
  89. package/eui-datepicker/eui-datepicker.component.d.ts +1 -2
  90. package/eui-datepicker/eui-datepicker.component.d.ts.map +1 -1
  91. package/eui-icon/eui-icon-svg.component.d.ts.map +1 -1
  92. package/eui-menu/eui-menu.component.d.ts.map +1 -1
  93. package/fesm2022/eui-components-directives.mjs +4 -4
  94. package/fesm2022/eui-components-directives.mjs.map +1 -1
  95. package/fesm2022/eui-components-eui-alert.mjs +2 -2
  96. package/fesm2022/eui-components-eui-alert.mjs.map +1 -1
  97. package/fesm2022/eui-components-eui-autocomplete.mjs +5 -2
  98. package/fesm2022/eui-components-eui-autocomplete.mjs.map +2 -2
  99. package/fesm2022/eui-components-eui-avatar.mjs +2 -2
  100. package/fesm2022/eui-components-eui-avatar.mjs.map +1 -1
  101. package/fesm2022/eui-components-eui-badge.mjs +2 -2
  102. package/fesm2022/eui-components-eui-badge.mjs.map +1 -1
  103. package/fesm2022/eui-components-eui-block-content.mjs +2 -2
  104. package/fesm2022/eui-components-eui-block-content.mjs.map +1 -1
  105. package/fesm2022/eui-components-eui-button-group.mjs +2 -2
  106. package/fesm2022/eui-components-eui-button-group.mjs.map +1 -1
  107. package/fesm2022/eui-components-eui-button-v2.mjs +2 -2
  108. package/fesm2022/eui-components-eui-button-v2.mjs.map +1 -1
  109. package/fesm2022/eui-components-eui-button.mjs +2 -2
  110. package/fesm2022/eui-components-eui-button.mjs.map +1 -1
  111. package/fesm2022/eui-components-eui-card.mjs +2 -2
  112. package/fesm2022/eui-components-eui-card.mjs.map +1 -1
  113. package/fesm2022/eui-components-eui-chip.mjs +2 -2
  114. package/fesm2022/eui-components-eui-chip.mjs.map +1 -1
  115. package/fesm2022/eui-components-eui-dashboard-button.mjs +2 -2
  116. package/fesm2022/eui-components-eui-dashboard-button.mjs.map +1 -1
  117. package/fesm2022/eui-components-eui-dashboard-card.mjs +2 -2
  118. package/fesm2022/eui-components-eui-dashboard-card.mjs.map +1 -1
  119. package/fesm2022/eui-components-eui-date-range-selector.mjs +5 -7
  120. package/fesm2022/eui-components-eui-date-range-selector.mjs.map +2 -2
  121. package/fesm2022/eui-components-eui-datepicker.mjs +5 -7
  122. package/fesm2022/eui-components-eui-datepicker.mjs.map +2 -2
  123. package/fesm2022/eui-components-eui-dialog.mjs +4 -4
  124. package/fesm2022/eui-components-eui-dialog.mjs.map +1 -1
  125. package/fesm2022/eui-components-eui-discussion-thread.mjs +2 -2
  126. package/fesm2022/eui-components-eui-discussion-thread.mjs.map +1 -1
  127. package/fesm2022/eui-components-eui-dropdown.mjs +4 -4
  128. package/fesm2022/eui-components-eui-dropdown.mjs.map +1 -1
  129. package/fesm2022/eui-components-eui-ecl-date-block.mjs +2 -2
  130. package/fesm2022/eui-components-eui-ecl-date-block.mjs.map +1 -1
  131. package/fesm2022/eui-components-eui-ecl-label.mjs +2 -2
  132. package/fesm2022/eui-components-eui-ecl-label.mjs.map +1 -1
  133. package/fesm2022/eui-components-eui-fieldset.mjs +2 -2
  134. package/fesm2022/eui-components-eui-fieldset.mjs.map +1 -1
  135. package/fesm2022/eui-components-eui-file-upload.mjs +2 -2
  136. package/fesm2022/eui-components-eui-file-upload.mjs.map +1 -1
  137. package/fesm2022/eui-components-eui-growl.mjs +2 -2
  138. package/fesm2022/eui-components-eui-growl.mjs.map +1 -1
  139. package/fesm2022/eui-components-eui-icon-toggle.mjs +2 -2
  140. package/fesm2022/eui-components-eui-icon-toggle.mjs.map +1 -1
  141. package/fesm2022/eui-components-eui-icon.mjs +2 -5
  142. package/fesm2022/eui-components-eui-icon.mjs.map +2 -2
  143. package/fesm2022/eui-components-eui-input-checkbox.mjs +2 -2
  144. package/fesm2022/eui-components-eui-input-checkbox.mjs.map +1 -1
  145. package/fesm2022/eui-components-eui-input-group.mjs +2 -2
  146. package/fesm2022/eui-components-eui-input-group.mjs.map +1 -1
  147. package/fesm2022/eui-components-eui-input-number.mjs +2 -2
  148. package/fesm2022/eui-components-eui-input-number.mjs.map +1 -1
  149. package/fesm2022/eui-components-eui-input-radio.mjs +2 -2
  150. package/fesm2022/eui-components-eui-input-radio.mjs.map +1 -1
  151. package/fesm2022/eui-components-eui-input-text.mjs +2 -2
  152. package/fesm2022/eui-components-eui-input-text.mjs.map +1 -1
  153. package/fesm2022/eui-components-eui-label.mjs +2 -2
  154. package/fesm2022/eui-components-eui-label.mjs.map +1 -1
  155. package/fesm2022/eui-components-eui-language-selector.mjs +2 -2
  156. package/fesm2022/eui-components-eui-language-selector.mjs.map +1 -1
  157. package/fesm2022/eui-components-eui-list.mjs +4 -4
  158. package/fesm2022/eui-components-eui-list.mjs.map +1 -1
  159. package/fesm2022/eui-components-eui-menu.mjs +4 -7
  160. package/fesm2022/eui-components-eui-menu.mjs.map +2 -2
  161. package/fesm2022/eui-components-eui-overlay.mjs +2 -2
  162. package/fesm2022/eui-components-eui-overlay.mjs.map +1 -1
  163. package/fesm2022/eui-components-eui-page.mjs +2 -2
  164. package/fesm2022/eui-components-eui-page.mjs.map +1 -1
  165. package/fesm2022/eui-components-eui-popover.mjs +2 -2
  166. package/fesm2022/eui-components-eui-popover.mjs.map +1 -1
  167. package/fesm2022/eui-components-eui-progress-bar.mjs +2 -2
  168. package/fesm2022/eui-components-eui-progress-bar.mjs.map +1 -1
  169. package/fesm2022/eui-components-eui-progress-circle.mjs +2 -2
  170. package/fesm2022/eui-components-eui-progress-circle.mjs.map +1 -1
  171. package/fesm2022/eui-components-eui-select.mjs +2 -2
  172. package/fesm2022/eui-components-eui-select.mjs.map +1 -1
  173. package/fesm2022/eui-components-eui-sidebar-menu.mjs +2 -2
  174. package/fesm2022/eui-components-eui-sidebar-menu.mjs.map +1 -1
  175. package/fesm2022/eui-components-eui-skeleton.mjs +2 -2
  176. package/fesm2022/eui-components-eui-skeleton.mjs.map +1 -1
  177. package/fesm2022/eui-components-eui-slide-toggle.mjs +2 -2
  178. package/fesm2022/eui-components-eui-slide-toggle.mjs.map +1 -1
  179. package/fesm2022/eui-components-eui-table.mjs +2 -2
  180. package/fesm2022/eui-components-eui-table.mjs.map +1 -1
  181. package/fesm2022/eui-components-eui-tabs.mjs +4 -4
  182. package/fesm2022/eui-components-eui-tabs.mjs.map +1 -1
  183. package/fesm2022/eui-components-eui-textarea.mjs +2 -2
  184. package/fesm2022/eui-components-eui-textarea.mjs.map +1 -1
  185. package/fesm2022/eui-components-eui-timebar.mjs +2 -2
  186. package/fesm2022/eui-components-eui-timebar.mjs.map +1 -1
  187. package/fesm2022/eui-components-eui-timeline.mjs +4 -4
  188. package/fesm2022/eui-components-eui-timeline.mjs.map +1 -1
  189. package/fesm2022/eui-components-eui-timepicker.mjs +2 -2
  190. package/fesm2022/eui-components-eui-timepicker.mjs.map +1 -1
  191. package/fesm2022/eui-components-eui-tree-list.mjs +2 -2
  192. package/fesm2022/eui-components-eui-tree-list.mjs.map +1 -1
  193. package/fesm2022/eui-components-eui-tree.mjs +2 -2
  194. package/fesm2022/eui-components-eui-tree.mjs.map +1 -1
  195. package/fesm2022/eui-components-eui-wizard.mjs +4 -4
  196. package/fesm2022/eui-components-eui-wizard.mjs.map +1 -1
  197. package/fesm2022/eui-components-externals-charts.mjs +2 -2
  198. package/fesm2022/eui-components-externals-charts.mjs.map +1 -1
  199. package/fesm2022/eui-components-externals-eui-editor.mjs +2 -2
  200. package/fesm2022/eui-components-externals-eui-editor.mjs.map +1 -1
  201. package/fesm2022/eui-components-layout.mjs +34 -34
  202. package/fesm2022/eui-components-layout.mjs.map +1 -1
  203. package/package.json +9 -9
@@ -439,7 +439,7 @@ export class EuiMenuComponent {
439
439
  }
440
440
  }
441
441
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.4", ngImport: i0, type: EuiMenuComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.BaseStatesDirective }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
442
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0-next.4", 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], hasLowercaseItems: ["hasLowercaseItems", "hasLowercaseItems", booleanAttribute] }, outputs: { isClick: "isClick", itemClick: "itemClick" }, host: { listeners: { "click": "stopPropagation($event)", "keydown": "onKeydown($event)" }, properties: { "class": "this.cssClasses" } }, viewQueries: [{ propertyName: "focusableItems", predicate: EuiMenuItemComponent, descendants: true }], usesOnChanges: true, hostDirectives: [{ directive: i2.BaseStatesDirective }], ngImport: i0, template: "<div *ngIf=\"hasFilter && !isCollapsed\" class=\"eui-menu-filter\" (click)=\"onMenuFilterClick($event)\">\n <div class=\"eui-menu-filter__input-wrapper\">\n <input\n euiInputText\n [euiClearable]=\"true\"\n (input)=\"onFilter($event)\"\n class=\"eui-menu-filter__input\"\n [placeholder]=\"searchFilterLabel\"\n [attr.aria-label]=\"searchFilterLabel\"\n [value]=\"filterValue\" />\n <eui-icon-svg icon=\"eui-search\" class=\"eui-menu-filter__input-search\" fillColor=\"grey-50\" aria-label=\"Search Icon\"></eui-icon-svg>\n </div>\n</div>\n<ul euiList class=\"eui-menu\" role=\"menubar\" aria-orientation=\"vertical\" tabindex=\"0\">\n <span *ngIf=\"!items\" class=\"eui-menu--no-items\">No menu items defined</span>\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</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 [isLabelLowercase]=\"hasLowercaseItems\"\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,.eui-menu-wrapper{display:flex;flex-direction:column;flex-shrink:0;width:100%;list-style:none;margin-bottom:0;margin-top:0;padding:0}.eui-menu--no-items,.eui-menu-wrapper--no-items{color:var(--eui-base-color-grey-25);display:block;text-align:center}.eui-menu:focus:not([readonly]),.eui-menu-wrapper:focus:not([readonly]){outline:2px solid var(--eui-ctx-color-focus)!important;outline-offset:-2px!important;transition:none!important}.eui-menu:focus-visible:not([readonly]),.eui-menu-wrapper:focus-visible:not([readonly]){outline:2px solid var(--eui-ctx-color-focus-visible)!important;outline-offset:-2px!important;transition:none!important}.eui-menu [tabindex=\"0\"]:focus:not([readonly]),.eui-menu-wrapper [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-ctx-color-focus-visible)!important;outline-offset:-2px!important;transition:none!important}.eui-menu--collapsed .eui-menu-filter{transition:none;visibility:hidden}.eui-menu--collapsed .eui-menu-item__link-right-content{margin:0;visibility:hidden}.eui-menu--collapsed .eui-menu-item__link-right-content .eui-menu-item__link-action-icon{display:none}.eui-menu--collapsed .eui-menu-item__link-right-content .eui-menu-item__link-tag-label{position:absolute;right:1px;top:0;transform:scale(.875);visibility:visible}.eui-menu--collapsed .eui-menu-item__link-right-content .eui-menu-item__link-toggle{display:inherit;position:absolute;right:0;transform:scale(.65);visibility:visible}.eui-menu--flat a.eui-menu-item__link--active{background-color:var(--eui-base-color-info-130);text-decoration:none;font:normal normal 400 1rem/1.75rem var(--eui-base-font-family);font-weight:700}.eui-menu--flat a.eui-menu-item__link--active .eui-menu-item__link-label{color:var(--eui-base-color-white)}.eui-menu--flat a.eui-menu-item__link--active:hover{background-color:var(--eui-ctx-c-in);text-decoration:none;font:normal normal 400 1rem/1.75rem var(--eui-base-font-family);font-weight:700}.eui-menu--flat a.eui-menu-item__link--active:hover .eui-menu-item__link-label{color:var(--eui-base-color-white)}.eui-menu-filter{margin:var(--eui-base-spacing-m) 0;padding:0 var(--eui-base-spacing-m);position:relative}.eui-menu-filter__input-wrapper{align-items:center;display:flex;position:relative}.eui-menu-filter__input-wrapper .eui-menu-filter__input{padding-left:var(--eui-base-spacing-3xl);padding-right:var(--eui-base-spacing-xl)}.eui-menu-filter__input-wrapper .eui-menu-filter__input-search{color:var(--eui-base-color-grey-25);left:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs)}.eui-menu-item{display:flex;flex-direction:column;position:relative;width:100%;border:1px solid transparent}.eui-menu-item:focus:not([readonly]){outline:2px solid var(--eui-ctx-color-focus)!important;outline-offset:-2px!important;transition:none!important}.eui-menu-item:focus-visible:not([readonly]){outline:2px solid var(--eui-ctx-color-focus-visible)!important;outline-offset:-2px!important;transition:none!important}.eui-menu-item [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-ctx-color-focus-visible)!important;outline-offset:-2px!important;transition:none!important}.eui-menu--collapsed .eui-menu-item{align-items:center;display:flex;flex-direction:column}.eui-menu-item__category{align-items:center;color:var(--eui-base-color-grey-75);display:flex;flex-direction:row;justify-content:center;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m);text-decoration:none;text-transform:uppercase;font:normal normal 400 .875rem/1.5rem var(--eui-base-font-family);font-weight:700}.eui-page-column__body .eui-menu-item__category{text-transform:inherit}.eui-menu-item__category:hover:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-grey-10);cursor:default;text-decoration:none}.eui-menu-item__category-icon:not(.eui-menu-item__category-icon--none)+.eui-menu-item__category-label,.eui-menu-item__category-icon:not(.eui-menu-item__category-icon--default)+.eui-menu-item__category-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-item__category-icon--none{padding:0}.eui-menu-item__category-icon--default{align-items:center;display:flex;justify-content:center;width:100%}.ff.eui-menu--collapsed .eui-menu-item__category-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-item__category-label{position:relative;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu--collapsed .eui-menu-item__category-label{display:none}.eui-page-column__body .eui-menu-item__category-label{font:normal normal 400 1rem/1.75rem var(--eui-base-font-family);font-weight:700}.eui-menu-item__category .eui-menu-item__link-icon{margin-right:var(--eui-base-spacing-xs)}.eui-menu-item a.eui-menu-item__link{border-bottom:none}.eui-menu-item__link{align-items:center;border-top:1px solid var(--eui-base-color-grey-10);color:var(--eui-base-color-text)!important;cursor:pointer;display:flex;justify-content:center;padding:calc(.5 * var(--eui-base-spacing-xs)) var(--eui-base-spacing-m);text-decoration:none;text-transform:uppercase;white-space:nowrap;width:100%}.eui-page-column__body .eui-menu-item__link{text-transform:inherit}.eui-menu-item__link:focus{border-bottom:none;text-decoration:none}.eui-menu-item__link:hover:not(.eui-menu-item--disabled){background-color:var(--eui-ctx-c-p-bg);text-decoration:none!important}.eui-menu-item__link:hover:not(.eui-menu-item--disabled) .eui-menu-item__link-label{color:var(--eui-base-color-info-130)}.eui-menu-item__link--active:not(.eui-menu-item--disabled){background-color:var(--eui-ctx-c-p-bg);text-decoration:none;font:normal normal 400 1rem/1.75rem var(--eui-base-font-family);font-weight:700}.eui-menu-item__link--active:not(.eui-menu-item--disabled) .eui-menu-item__link-label{color:var(--eui-base-color-info-130)}.eui-menu-item__link-icon+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-item__link-icon--with-badge .eui-chip{display:flex;height:var(--eui-base-spacing-m);left:-12px;position:absolute;top:-4px}.eui-menu-item__link-icon--none{padding:0}.eui-menu-item__link-icon--none+.eui-menu-item__category-label{margin-left:calc(-1 * var(--eui-base-spacing-s))}.eui-menu-item__link-icon--default{align-items:center;display:flex;flex-direction:column;font-size:var(--eui-base-font-size-xs);justify-content:inherit;width:100%}.ff.eui-menu--collapsed .eui-menu-item__link-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-item__link-label{font-size:calc(var(--eui-base-font-size) - 1px);position:relative;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu--collapsed .eui-menu-item__link-label{display:none}.eui-page-column__body .eui-menu-item__link-label{font:normal normal 400 1rem/1.75rem var(--eui-base-font-family)}.eui-menu-item__link-right-content{align-items:center;display:flex;height:calc(2.5 * var(--eui-base-spacing-m));margin-left:auto}.eui-menu--collapsed .eui-menu-item__link-right-content .eui-chip .eui-chip__content-container>span{display:inline-block;max-width:var(--eui-base-spacing-xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-tag-label{display:flex;margin-left:var(--eui-base-spacing-xs);transform:scale(1)}.eui-menu--collapsed .eui-menu-item__link-tag-label{position:absolute;right:1px;top:0;transform:scale(.875)}.eui-menu-item__link-toggle{margin-left:var(--eui-base-spacing-2xs);margin-right:calc(-1 * var(--eui-base-spacing-xs));transition:all .3s linear}.eui-menu--collapsed .eui-menu-item__link-toggle{display:none;transition:none}.eui-menu-item__link-action-icon{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-item__link-initials{display:flex;background-color:var(--eui-base-color-grey-5);border-radius:var(--eui-base-spacing-xs);min-width:var(--eui-base-spacing-2xl);text-align:center;justify-content:center;border:1px solid var(--eui-base-color-grey-15);font:normal normal 400 .875rem/1.5rem var(--eui-base-font-family);font-weight:700}.eui-menu-item__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__label-external{color:var(--eui-base-color-grey-50);margin-left:var(--eui-base-spacing-xs);font:normal normal 400 .875rem/1.5rem var(--eui-base-font-family)}.eui-menu-item__label-external .eui-icon-svg{fill:var(--eui-base-color-grey-75);height:var(--eui-base-spacing-s);width:var(--eui-base-spacing-s)}.eui-menu-item .eui-button.eui-menu-item__link-toggle:focus:not([readonly]){outline:2px solid var(--eui-ctx-color-focus)!important;outline-offset:-2px!important;transition:none!important}.eui-menu-item .eui-button.eui-menu-item__link-toggle:focus-visible:not([readonly]){outline:2px solid var(--eui-ctx-color-focus-visible)!important;outline-offset:-2px!important;transition:none!important}.eui-menu-item .eui-button.eui-menu-item__link-toggle [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-ctx-color-focus-visible)!important;outline-offset:-2px!important;transition:none!important}.eui-app.ff.sidebar--close .eui-menu-item__link-tag-label{right:0}.eui-menu-item--expanded .eui-menu-item__category{display:flex}.eui-menu-item--disabled{background-image:none;box-shadow:none;cursor:default;opacity:.65;pointer-events:none}.eui-menu-item--lowercase .eui-menu-item__link,.eui-menu-item--lowercase .eui-menu-item__label,.eui-menu-item--lowercase .eui-menu-item__category,.eui-menu-item--lowercase .eui-menu-item__category-label{text-transform:initial!important}.eui-menu-item--lowercase .eui-menu-item__link-label{font-size:var(--eui-base-font-size)}.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__category-icon,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__category-icon--default,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__link-icon,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__link-icon--default{display:none}.eui-menu-sub{text-decoration:none}.eui-menu-sub .eui-menu-item__category{align-items:center;display:flex;flex-direction:row;justify-content:center;padding:var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-xs) var(--eui-base-spacing-xl);text-decoration:none;text-transform:uppercase}.eui-page-column__body .eui-menu-sub .eui-menu-item__category{text-transform:inherit}.eui-menu-sub .eui-menu-item__category:hover:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-grey-10);cursor:default;text-decoration:none}.eui-menu-sub .eui-menu-item__category-icon--default{color:var(--eui-base-color-info-110);font-size:var(--eui-base-font-size)}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__category-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-sub .eui-menu-item__category-label .eui-menu-item__label{display:block;border-bottom:1px solid var(--eui-base-color-grey-15);padding-bottom:var(--eui-base-spacing-2xs);font:normal normal 400 .875rem/1.5rem var(--eui-base-font-family);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__category{padding-left:0}.eui-menu-sub .eui-menu-item__link{border:none;height:calc(2.25 * var(--eui-base-spacing-m));padding-left:var(--eui-base-spacing-xl);text-transform:initial}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-base-spacing-2xs);padding-right:0}.eui-menu-sub .eui-menu-item__link-icon+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-sub .eui-menu-item__link-icon--default{font-size:var(--eui-base-font-size-xs);margin:0}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-sub .eui-menu-item__link-icon--none{display:none}.eui-menu-sub .eui-menu-item__link-marker{display:flex;justify-content:center;position:relative}.eui-menu-sub .eui-menu-item__link-marker.eui-menu-item__link-marker--none+.eui-menu-item__link-label,.eui-menu-sub .eui-menu-item__link-marker.eui-menu-item__link-marker--default+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-marker{margin-left:calc(-1 * var(--eui-base-spacing-2xs))}.eui-menu-sub .eui-menu-item__link-label{font-size:calc(var(--eui-base-font-size) - 1px);height:auto;padding-top:var(--eui-base-spacing-3xs);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-sub .eui-menu-item__link-right-content{align-items:center;display:flex;height:calc(2.5 * var(--eui-base-spacing-m));margin-left:auto}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-right-content{margin-left:var(--eui-base-spacing-2xs)}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-right-content .eui-chip .eui-chip__content-container>span{display:inline-block;max-width:var(--eui-base-spacing-xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-sub .eui-menu-sub .eui-menu-item{padding-left:calc(1 * var(--eui-base-spacing-m))}.eui-menu--collapsed .eui-menu--no-icons .eui-menu-sub .eui-menu-item__link{margin-left:calc(-1 * var(--eui-base-spacing-m))}\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", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { 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", "isLabelLowercase"], outputs: ["expandToggle", "itemClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
442
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0-next.4", 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], hasLowercaseItems: ["hasLowercaseItems", "hasLowercaseItems", 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: "<div *ngIf=\"hasFilter && !isCollapsed\" class=\"eui-menu-filter\" (click)=\"onMenuFilterClick($event)\">\n <div class=\"eui-menu-filter__input-wrapper\">\n <input\n euiInputText\n [euiClearable]=\"true\"\n (input)=\"onFilter($event)\"\n class=\"eui-menu-filter__input\"\n [placeholder]=\"searchFilterLabel\"\n [attr.aria-label]=\"searchFilterLabel\"\n [value]=\"filterValue\" />\n <eui-icon-svg icon=\"eui-search\" class=\"eui-menu-filter__input-search\" fillColor=\"grey-50\" aria-label=\"Search Icon\"></eui-icon-svg>\n </div>\n</div>\n<ul euiList class=\"eui-menu\" role=\"menubar\" aria-orientation=\"vertical\" tabindex=\"0\" (keydown)=\"onKeydown($event)\">\n <span *ngIf=\"!items\" class=\"eui-menu--no-items\">No menu items defined</span>\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</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 [isLabelLowercase]=\"hasLowercaseItems\"\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,.eui-menu-wrapper{display:flex;flex-direction:column;flex-shrink:0;width:100%;list-style:none;margin-bottom:0;margin-top:0;padding:0}.eui-menu--no-items,.eui-menu-wrapper--no-items{color:var(--eui-ctx-c-s-lightest);display:block;text-align:center}.eui-menu:focus:not([readonly]),.eui-menu-wrapper:focus:not([readonly]){outline:2px solid var(--eui-ctx-c-focus)!important;outline-offset:-2px!important;transition:none!important}.eui-menu:focus-visible:not([readonly]),.eui-menu-wrapper:focus-visible:not([readonly]){outline:2px solid var(--eui-ctx-c-focus-visible)!important;outline-offset:-2px!important;transition:none!important}.eui-menu [tabindex=\"0\"]:focus:not([readonly]),.eui-menu-wrapper [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-ctx-c-focus-visible)!important;outline-offset:-2px!important;transition:none!important}.eui-menu--collapsed .eui-menu-filter{transition:none;visibility:hidden}.eui-menu--collapsed .eui-menu-item__link-right-content{margin:0;visibility:hidden}.eui-menu--collapsed .eui-menu-item__link-right-content .eui-menu-item__link-action-icon{display:none}.eui-menu--collapsed .eui-menu-item__link-right-content .eui-menu-item__link-tag-label{position:absolute;right:1px;top:0;transform:scale(.875);visibility:visible}.eui-menu--collapsed .eui-menu-item__link-right-content .eui-menu-item__link-toggle{display:inherit;position:absolute;right:0;transform:scale(.65);visibility:visible}.eui-menu--flat a.eui-menu-item__link--active{background-color:var(--eui-ctx-c-p);text-decoration:none;font:normal normal 400 1rem/1.75rem var(--eui-base-font-family);font-weight:700}.eui-menu--flat a.eui-menu-item__link--active .eui-menu-item__link-label{color:var(--eui-ctx-c-white)}.eui-menu--flat a.eui-menu-item__link--active:hover{background-color:var(--eui-ctx-c-p);text-decoration:none;font:normal normal 400 1rem/1.75rem var(--eui-base-font-family);font-weight:700}.eui-menu--flat a.eui-menu-item__link--active:hover .eui-menu-item__link-label{color:var(--eui-ctx-c-white)}.eui-menu-filter{margin:var(--eui-base-spacing-m) 0;padding:0 var(--eui-base-spacing-m);position:relative}.eui-menu-filter__input-wrapper{align-items:center;display:flex;position:relative}.eui-menu-filter__input-wrapper .eui-menu-filter__input{padding-left:var(--eui-base-spacing-3xl);padding-right:var(--eui-base-spacing-xl)}.eui-menu-filter__input-wrapper .eui-menu-filter__input-search{color:var(--eui-ctx-c-s-lightest);left:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs)}.eui-menu-item{display:flex;flex-direction:column;position:relative;width:100%;border:1px solid transparent}.eui-menu-item:focus:not([readonly]){outline:2px solid var(--eui-ctx-c-focus)!important;outline-offset:-2px!important;transition:none!important}.eui-menu-item:focus-visible:not([readonly]){outline:2px solid var(--eui-ctx-c-focus-visible)!important;outline-offset:-2px!important;transition:none!important}.eui-menu-item [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-ctx-c-focus-visible)!important;outline-offset:-2px!important;transition:none!important}.eui-menu--collapsed .eui-menu-item{align-items:center;display:flex;flex-direction:column}.eui-menu-item__category{align-items:center;color:var(--eui-ctx-c-s-light);display:flex;flex-direction:row;justify-content:center;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m);text-decoration:none;text-transform:uppercase;font:normal normal 400 .875rem/1.5rem var(--eui-base-font-family);font-weight:700}.eui-page-column__body .eui-menu-item__category{text-transform:inherit}.eui-menu-item__category:hover:not(.eui-menu-item--disabled){background-color:var(--eui-ctx-c-s-bg-light);cursor:default;text-decoration:none}.eui-menu-item__category-icon:not(.eui-menu-item__category-icon--none)+.eui-menu-item__category-label,.eui-menu-item__category-icon:not(.eui-menu-item__category-icon--default)+.eui-menu-item__category-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-item__category-icon--none{padding:0}.eui-menu-item__category-icon--default{align-items:center;display:flex;justify-content:center;width:100%}.ff.eui-menu--collapsed .eui-menu-item__category-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-item__category-label{position:relative;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu--collapsed .eui-menu-item__category-label{display:none}.eui-page-column__body .eui-menu-item__category-label{font:normal normal 400 1rem/1.75rem var(--eui-base-font-family);font-weight:700}.eui-menu-item__category .eui-menu-item__link-icon{margin-right:var(--eui-base-spacing-xs)}.eui-menu-item a.eui-menu-item__link{border-bottom:none}.eui-menu-item__link{align-items:center;border-top:1px solid var(--eui-ctx-c-s-bg-light);color:var(--eui-ctx-c-text)!important;cursor:pointer;display:flex;justify-content:center;padding:calc(.5 * var(--eui-base-spacing-xs)) var(--eui-base-spacing-m);text-decoration:none;text-transform:uppercase;white-space:nowrap;width:100%}.eui-page-column__body .eui-menu-item__link{text-transform:inherit}.eui-menu-item__link:focus{border-bottom:none;text-decoration:none}.eui-menu-item__link:hover:not(.eui-menu-item--disabled){background-color:var(--eui-ctx-c-p-bg);text-decoration:none!important}.eui-menu-item__link:hover:not(.eui-menu-item--disabled) .eui-menu-item__link-label{color:var(--eui-ctx-c-p)}.eui-menu-item__link--active:not(.eui-menu-item--disabled){background-color:var(--eui-ctx-c-p-bg);text-decoration:none;font:normal normal 400 1rem/1.75rem var(--eui-base-font-family);font-weight:700}.eui-menu-item__link--active:not(.eui-menu-item--disabled) .eui-menu-item__link-label{color:var(--eui-ctx-c-p)}.eui-menu-item__link-icon+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-item__link-icon--with-badge .eui-chip{display:flex;height:var(--eui-base-spacing-m);left:-12px;position:absolute;top:-4px}.eui-menu-item__link-icon--none{padding:0}.eui-menu-item__link-icon--none+.eui-menu-item__category-label{margin-left:calc(-1 * var(--eui-base-spacing-s))}.eui-menu-item__link-icon--default{align-items:center;display:flex;flex-direction:column;font-size:var(--eui-base-font-size-xs);justify-content:inherit;width:100%}.ff.eui-menu--collapsed .eui-menu-item__link-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-item__link-label{font-size:calc(var(--eui-base-font-size) - 1px);position:relative;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu--collapsed .eui-menu-item__link-label{display:none}.eui-page-column__body .eui-menu-item__link-label{font:normal normal 400 1rem/1.75rem var(--eui-base-font-family)}.eui-menu-item__link-right-content{align-items:center;display:flex;height:calc(2.5 * var(--eui-base-spacing-m));margin-left:auto}.eui-menu--collapsed .eui-menu-item__link-right-content .eui-chip .eui-chip__content-container>span{display:inline-block;max-width:var(--eui-base-spacing-xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-tag-label{display:flex;margin-left:var(--eui-base-spacing-xs);transform:scale(1)}.eui-menu--collapsed .eui-menu-item__link-tag-label{position:absolute;right:1px;top:0;transform:scale(.875)}.eui-menu-item__link-toggle{margin-left:var(--eui-base-spacing-2xs);margin-right:calc(-1 * var(--eui-base-spacing-xs));transition:all .3s linear}.eui-menu--collapsed .eui-menu-item__link-toggle{display:none;transition:none}.eui-menu-item__link-action-icon{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-item__link-initials{display:flex;background-color:var(--eui-ctx-c-s-bg-light);border-radius:var(--eui-base-spacing-xs);min-width:var(--eui-base-spacing-2xl);text-align:center;justify-content:center;border:1px solid var(--eui-ctx-c-s-lightest);font:normal normal 400 .875rem/1.5rem var(--eui-base-font-family);font-weight:700}.eui-menu-item__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__label-external{color:var(--eui-ctx-c-s-lighter);margin-left:var(--eui-base-spacing-xs);font:normal normal 400 .875rem/1.5rem var(--eui-base-font-family)}.eui-menu-item__label-external .eui-icon-svg{fill:var(--eui-ctx-c-s-light);height:var(--eui-base-spacing-s);width:var(--eui-base-spacing-s)}.eui-menu-item .eui-button.eui-menu-item__link-toggle:focus:not([readonly]){outline:2px solid var(--eui-ctx-c-focus)!important;outline-offset:-2px!important;transition:none!important}.eui-menu-item .eui-button.eui-menu-item__link-toggle:focus-visible:not([readonly]){outline:2px solid var(--eui-ctx-c-focus-visible)!important;outline-offset:-2px!important;transition:none!important}.eui-menu-item .eui-button.eui-menu-item__link-toggle [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-ctx-c-focus-visible)!important;outline-offset:-2px!important;transition:none!important}.eui-app.ff.sidebar--close .eui-menu-item__link-tag-label{right:0}.eui-menu-item--expanded .eui-menu-item__category{display:flex}.eui-menu-item--disabled{background-image:none;box-shadow:none;cursor:default;opacity:.65;pointer-events:none}.eui-menu-item--lowercase .eui-menu-item__link,.eui-menu-item--lowercase .eui-menu-item__label,.eui-menu-item--lowercase .eui-menu-item__category,.eui-menu-item--lowercase .eui-menu-item__category-label{text-transform:initial!important}.eui-menu-item--lowercase .eui-menu-item__link-label{font-size:var(--eui-base-font-size)}.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__category-icon,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__category-icon--default,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__link-icon,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__link-icon--default{display:none}.eui-menu-sub{text-decoration:none}.eui-menu-sub .eui-menu-item__category{align-items:center;display:flex;flex-direction:row;justify-content:center;padding:var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-xs) var(--eui-base-spacing-xl);text-decoration:none;text-transform:uppercase}.eui-page-column__body .eui-menu-sub .eui-menu-item__category{text-transform:inherit}.eui-menu-sub .eui-menu-item__category:hover:not(.eui-menu-item--disabled){background-color:var(--eui-ctx-c-s-bg-light);cursor:default;text-decoration:none}.eui-menu-sub .eui-menu-item__category-icon--default{color:var(--eui-ctx-c-in);font-size:var(--eui-base-font-size)}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__category-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-sub .eui-menu-item__category-label .eui-menu-item__label{display:block;border-bottom:1px solid var(--eui-ctx-c-s-lightest);padding-bottom:var(--eui-base-spacing-2xs);font:normal normal 400 .875rem/1.5rem var(--eui-base-font-family);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__category{padding-left:0}.eui-menu-sub .eui-menu-item__link{border:none;height:calc(2.25 * var(--eui-base-spacing-m));padding-left:var(--eui-base-spacing-xl);text-transform:initial}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-base-spacing-2xs);padding-right:0}.eui-menu-sub .eui-menu-item__link-icon+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-sub .eui-menu-item__link-icon--default{font-size:var(--eui-base-font-size-xs);margin:0}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-sub .eui-menu-item__link-icon--none{display:none}.eui-menu-sub .eui-menu-item__link-marker{display:flex;justify-content:center;position:relative}.eui-menu-sub .eui-menu-item__link-marker.eui-menu-item__link-marker--none+.eui-menu-item__link-label,.eui-menu-sub .eui-menu-item__link-marker.eui-menu-item__link-marker--default+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-marker{margin-left:calc(-1 * var(--eui-base-spacing-2xs))}.eui-menu-sub .eui-menu-item__link-label{font-size:calc(var(--eui-base-font-size) - 1px);height:auto;padding-top:var(--eui-base-spacing-3xs);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-sub .eui-menu-item__link-right-content{align-items:center;display:flex;height:calc(2.5 * var(--eui-base-spacing-m));margin-left:auto}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-right-content{margin-left:var(--eui-base-spacing-2xs)}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-right-content .eui-chip .eui-chip__content-container>span{display:inline-block;max-width:var(--eui-base-spacing-xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-sub .eui-menu-sub .eui-menu-item{padding-left:calc(1 * var(--eui-base-spacing-m))}.eui-menu--collapsed .eui-menu--no-icons .eui-menu-sub .eui-menu-item__link{margin-left:calc(-1 * var(--eui-base-spacing-m))}\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", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { 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", "isLabelLowercase"], outputs: ["expandToggle", "itemClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
443
443
  }
444
444
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.4", ngImport: i0, type: EuiMenuComponent, decorators: [{
445
445
  type: Component,
@@ -447,7 +447,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.4",
447
447
  {
448
448
  directive: BaseStatesDirective,
449
449
  },
450
- ], encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"hasFilter && !isCollapsed\" class=\"eui-menu-filter\" (click)=\"onMenuFilterClick($event)\">\n <div class=\"eui-menu-filter__input-wrapper\">\n <input\n euiInputText\n [euiClearable]=\"true\"\n (input)=\"onFilter($event)\"\n class=\"eui-menu-filter__input\"\n [placeholder]=\"searchFilterLabel\"\n [attr.aria-label]=\"searchFilterLabel\"\n [value]=\"filterValue\" />\n <eui-icon-svg icon=\"eui-search\" class=\"eui-menu-filter__input-search\" fillColor=\"grey-50\" aria-label=\"Search Icon\"></eui-icon-svg>\n </div>\n</div>\n<ul euiList class=\"eui-menu\" role=\"menubar\" aria-orientation=\"vertical\" tabindex=\"0\">\n <span *ngIf=\"!items\" class=\"eui-menu--no-items\">No menu items defined</span>\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</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 [isLabelLowercase]=\"hasLowercaseItems\"\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,.eui-menu-wrapper{display:flex;flex-direction:column;flex-shrink:0;width:100%;list-style:none;margin-bottom:0;margin-top:0;padding:0}.eui-menu--no-items,.eui-menu-wrapper--no-items{color:var(--eui-base-color-grey-25);display:block;text-align:center}.eui-menu:focus:not([readonly]),.eui-menu-wrapper:focus:not([readonly]){outline:2px solid var(--eui-ctx-color-focus)!important;outline-offset:-2px!important;transition:none!important}.eui-menu:focus-visible:not([readonly]),.eui-menu-wrapper:focus-visible:not([readonly]){outline:2px solid var(--eui-ctx-color-focus-visible)!important;outline-offset:-2px!important;transition:none!important}.eui-menu [tabindex=\"0\"]:focus:not([readonly]),.eui-menu-wrapper [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-ctx-color-focus-visible)!important;outline-offset:-2px!important;transition:none!important}.eui-menu--collapsed .eui-menu-filter{transition:none;visibility:hidden}.eui-menu--collapsed .eui-menu-item__link-right-content{margin:0;visibility:hidden}.eui-menu--collapsed .eui-menu-item__link-right-content .eui-menu-item__link-action-icon{display:none}.eui-menu--collapsed .eui-menu-item__link-right-content .eui-menu-item__link-tag-label{position:absolute;right:1px;top:0;transform:scale(.875);visibility:visible}.eui-menu--collapsed .eui-menu-item__link-right-content .eui-menu-item__link-toggle{display:inherit;position:absolute;right:0;transform:scale(.65);visibility:visible}.eui-menu--flat a.eui-menu-item__link--active{background-color:var(--eui-base-color-info-130);text-decoration:none;font:normal normal 400 1rem/1.75rem var(--eui-base-font-family);font-weight:700}.eui-menu--flat a.eui-menu-item__link--active .eui-menu-item__link-label{color:var(--eui-base-color-white)}.eui-menu--flat a.eui-menu-item__link--active:hover{background-color:var(--eui-ctx-c-in);text-decoration:none;font:normal normal 400 1rem/1.75rem var(--eui-base-font-family);font-weight:700}.eui-menu--flat a.eui-menu-item__link--active:hover .eui-menu-item__link-label{color:var(--eui-base-color-white)}.eui-menu-filter{margin:var(--eui-base-spacing-m) 0;padding:0 var(--eui-base-spacing-m);position:relative}.eui-menu-filter__input-wrapper{align-items:center;display:flex;position:relative}.eui-menu-filter__input-wrapper .eui-menu-filter__input{padding-left:var(--eui-base-spacing-3xl);padding-right:var(--eui-base-spacing-xl)}.eui-menu-filter__input-wrapper .eui-menu-filter__input-search{color:var(--eui-base-color-grey-25);left:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs)}.eui-menu-item{display:flex;flex-direction:column;position:relative;width:100%;border:1px solid transparent}.eui-menu-item:focus:not([readonly]){outline:2px solid var(--eui-ctx-color-focus)!important;outline-offset:-2px!important;transition:none!important}.eui-menu-item:focus-visible:not([readonly]){outline:2px solid var(--eui-ctx-color-focus-visible)!important;outline-offset:-2px!important;transition:none!important}.eui-menu-item [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-ctx-color-focus-visible)!important;outline-offset:-2px!important;transition:none!important}.eui-menu--collapsed .eui-menu-item{align-items:center;display:flex;flex-direction:column}.eui-menu-item__category{align-items:center;color:var(--eui-base-color-grey-75);display:flex;flex-direction:row;justify-content:center;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m);text-decoration:none;text-transform:uppercase;font:normal normal 400 .875rem/1.5rem var(--eui-base-font-family);font-weight:700}.eui-page-column__body .eui-menu-item__category{text-transform:inherit}.eui-menu-item__category:hover:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-grey-10);cursor:default;text-decoration:none}.eui-menu-item__category-icon:not(.eui-menu-item__category-icon--none)+.eui-menu-item__category-label,.eui-menu-item__category-icon:not(.eui-menu-item__category-icon--default)+.eui-menu-item__category-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-item__category-icon--none{padding:0}.eui-menu-item__category-icon--default{align-items:center;display:flex;justify-content:center;width:100%}.ff.eui-menu--collapsed .eui-menu-item__category-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-item__category-label{position:relative;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu--collapsed .eui-menu-item__category-label{display:none}.eui-page-column__body .eui-menu-item__category-label{font:normal normal 400 1rem/1.75rem var(--eui-base-font-family);font-weight:700}.eui-menu-item__category .eui-menu-item__link-icon{margin-right:var(--eui-base-spacing-xs)}.eui-menu-item a.eui-menu-item__link{border-bottom:none}.eui-menu-item__link{align-items:center;border-top:1px solid var(--eui-base-color-grey-10);color:var(--eui-base-color-text)!important;cursor:pointer;display:flex;justify-content:center;padding:calc(.5 * var(--eui-base-spacing-xs)) var(--eui-base-spacing-m);text-decoration:none;text-transform:uppercase;white-space:nowrap;width:100%}.eui-page-column__body .eui-menu-item__link{text-transform:inherit}.eui-menu-item__link:focus{border-bottom:none;text-decoration:none}.eui-menu-item__link:hover:not(.eui-menu-item--disabled){background-color:var(--eui-ctx-c-p-bg);text-decoration:none!important}.eui-menu-item__link:hover:not(.eui-menu-item--disabled) .eui-menu-item__link-label{color:var(--eui-base-color-info-130)}.eui-menu-item__link--active:not(.eui-menu-item--disabled){background-color:var(--eui-ctx-c-p-bg);text-decoration:none;font:normal normal 400 1rem/1.75rem var(--eui-base-font-family);font-weight:700}.eui-menu-item__link--active:not(.eui-menu-item--disabled) .eui-menu-item__link-label{color:var(--eui-base-color-info-130)}.eui-menu-item__link-icon+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-item__link-icon--with-badge .eui-chip{display:flex;height:var(--eui-base-spacing-m);left:-12px;position:absolute;top:-4px}.eui-menu-item__link-icon--none{padding:0}.eui-menu-item__link-icon--none+.eui-menu-item__category-label{margin-left:calc(-1 * var(--eui-base-spacing-s))}.eui-menu-item__link-icon--default{align-items:center;display:flex;flex-direction:column;font-size:var(--eui-base-font-size-xs);justify-content:inherit;width:100%}.ff.eui-menu--collapsed .eui-menu-item__link-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-item__link-label{font-size:calc(var(--eui-base-font-size) - 1px);position:relative;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu--collapsed .eui-menu-item__link-label{display:none}.eui-page-column__body .eui-menu-item__link-label{font:normal normal 400 1rem/1.75rem var(--eui-base-font-family)}.eui-menu-item__link-right-content{align-items:center;display:flex;height:calc(2.5 * var(--eui-base-spacing-m));margin-left:auto}.eui-menu--collapsed .eui-menu-item__link-right-content .eui-chip .eui-chip__content-container>span{display:inline-block;max-width:var(--eui-base-spacing-xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-tag-label{display:flex;margin-left:var(--eui-base-spacing-xs);transform:scale(1)}.eui-menu--collapsed .eui-menu-item__link-tag-label{position:absolute;right:1px;top:0;transform:scale(.875)}.eui-menu-item__link-toggle{margin-left:var(--eui-base-spacing-2xs);margin-right:calc(-1 * var(--eui-base-spacing-xs));transition:all .3s linear}.eui-menu--collapsed .eui-menu-item__link-toggle{display:none;transition:none}.eui-menu-item__link-action-icon{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-item__link-initials{display:flex;background-color:var(--eui-base-color-grey-5);border-radius:var(--eui-base-spacing-xs);min-width:var(--eui-base-spacing-2xl);text-align:center;justify-content:center;border:1px solid var(--eui-base-color-grey-15);font:normal normal 400 .875rem/1.5rem var(--eui-base-font-family);font-weight:700}.eui-menu-item__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__label-external{color:var(--eui-base-color-grey-50);margin-left:var(--eui-base-spacing-xs);font:normal normal 400 .875rem/1.5rem var(--eui-base-font-family)}.eui-menu-item__label-external .eui-icon-svg{fill:var(--eui-base-color-grey-75);height:var(--eui-base-spacing-s);width:var(--eui-base-spacing-s)}.eui-menu-item .eui-button.eui-menu-item__link-toggle:focus:not([readonly]){outline:2px solid var(--eui-ctx-color-focus)!important;outline-offset:-2px!important;transition:none!important}.eui-menu-item .eui-button.eui-menu-item__link-toggle:focus-visible:not([readonly]){outline:2px solid var(--eui-ctx-color-focus-visible)!important;outline-offset:-2px!important;transition:none!important}.eui-menu-item .eui-button.eui-menu-item__link-toggle [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-ctx-color-focus-visible)!important;outline-offset:-2px!important;transition:none!important}.eui-app.ff.sidebar--close .eui-menu-item__link-tag-label{right:0}.eui-menu-item--expanded .eui-menu-item__category{display:flex}.eui-menu-item--disabled{background-image:none;box-shadow:none;cursor:default;opacity:.65;pointer-events:none}.eui-menu-item--lowercase .eui-menu-item__link,.eui-menu-item--lowercase .eui-menu-item__label,.eui-menu-item--lowercase .eui-menu-item__category,.eui-menu-item--lowercase .eui-menu-item__category-label{text-transform:initial!important}.eui-menu-item--lowercase .eui-menu-item__link-label{font-size:var(--eui-base-font-size)}.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__category-icon,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__category-icon--default,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__link-icon,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__link-icon--default{display:none}.eui-menu-sub{text-decoration:none}.eui-menu-sub .eui-menu-item__category{align-items:center;display:flex;flex-direction:row;justify-content:center;padding:var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-xs) var(--eui-base-spacing-xl);text-decoration:none;text-transform:uppercase}.eui-page-column__body .eui-menu-sub .eui-menu-item__category{text-transform:inherit}.eui-menu-sub .eui-menu-item__category:hover:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-grey-10);cursor:default;text-decoration:none}.eui-menu-sub .eui-menu-item__category-icon--default{color:var(--eui-base-color-info-110);font-size:var(--eui-base-font-size)}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__category-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-sub .eui-menu-item__category-label .eui-menu-item__label{display:block;border-bottom:1px solid var(--eui-base-color-grey-15);padding-bottom:var(--eui-base-spacing-2xs);font:normal normal 400 .875rem/1.5rem var(--eui-base-font-family);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__category{padding-left:0}.eui-menu-sub .eui-menu-item__link{border:none;height:calc(2.25 * var(--eui-base-spacing-m));padding-left:var(--eui-base-spacing-xl);text-transform:initial}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-base-spacing-2xs);padding-right:0}.eui-menu-sub .eui-menu-item__link-icon+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-sub .eui-menu-item__link-icon--default{font-size:var(--eui-base-font-size-xs);margin:0}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-sub .eui-menu-item__link-icon--none{display:none}.eui-menu-sub .eui-menu-item__link-marker{display:flex;justify-content:center;position:relative}.eui-menu-sub .eui-menu-item__link-marker.eui-menu-item__link-marker--none+.eui-menu-item__link-label,.eui-menu-sub .eui-menu-item__link-marker.eui-menu-item__link-marker--default+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-marker{margin-left:calc(-1 * var(--eui-base-spacing-2xs))}.eui-menu-sub .eui-menu-item__link-label{font-size:calc(var(--eui-base-font-size) - 1px);height:auto;padding-top:var(--eui-base-spacing-3xs);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-sub .eui-menu-item__link-right-content{align-items:center;display:flex;height:calc(2.5 * var(--eui-base-spacing-m));margin-left:auto}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-right-content{margin-left:var(--eui-base-spacing-2xs)}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-right-content .eui-chip .eui-chip__content-container>span{display:inline-block;max-width:var(--eui-base-spacing-xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-sub .eui-menu-sub .eui-menu-item{padding-left:calc(1 * var(--eui-base-spacing-m))}.eui-menu--collapsed .eui-menu--no-icons .eui-menu-sub .eui-menu-item__link{margin-left:calc(-1 * var(--eui-base-spacing-m))}\n"] }]
450
+ ], encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"hasFilter && !isCollapsed\" class=\"eui-menu-filter\" (click)=\"onMenuFilterClick($event)\">\n <div class=\"eui-menu-filter__input-wrapper\">\n <input\n euiInputText\n [euiClearable]=\"true\"\n (input)=\"onFilter($event)\"\n class=\"eui-menu-filter__input\"\n [placeholder]=\"searchFilterLabel\"\n [attr.aria-label]=\"searchFilterLabel\"\n [value]=\"filterValue\" />\n <eui-icon-svg icon=\"eui-search\" class=\"eui-menu-filter__input-search\" fillColor=\"grey-50\" aria-label=\"Search Icon\"></eui-icon-svg>\n </div>\n</div>\n<ul euiList class=\"eui-menu\" role=\"menubar\" aria-orientation=\"vertical\" tabindex=\"0\" (keydown)=\"onKeydown($event)\">\n <span *ngIf=\"!items\" class=\"eui-menu--no-items\">No menu items defined</span>\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</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 [isLabelLowercase]=\"hasLowercaseItems\"\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,.eui-menu-wrapper{display:flex;flex-direction:column;flex-shrink:0;width:100%;list-style:none;margin-bottom:0;margin-top:0;padding:0}.eui-menu--no-items,.eui-menu-wrapper--no-items{color:var(--eui-ctx-c-s-lightest);display:block;text-align:center}.eui-menu:focus:not([readonly]),.eui-menu-wrapper:focus:not([readonly]){outline:2px solid var(--eui-ctx-c-focus)!important;outline-offset:-2px!important;transition:none!important}.eui-menu:focus-visible:not([readonly]),.eui-menu-wrapper:focus-visible:not([readonly]){outline:2px solid var(--eui-ctx-c-focus-visible)!important;outline-offset:-2px!important;transition:none!important}.eui-menu [tabindex=\"0\"]:focus:not([readonly]),.eui-menu-wrapper [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-ctx-c-focus-visible)!important;outline-offset:-2px!important;transition:none!important}.eui-menu--collapsed .eui-menu-filter{transition:none;visibility:hidden}.eui-menu--collapsed .eui-menu-item__link-right-content{margin:0;visibility:hidden}.eui-menu--collapsed .eui-menu-item__link-right-content .eui-menu-item__link-action-icon{display:none}.eui-menu--collapsed .eui-menu-item__link-right-content .eui-menu-item__link-tag-label{position:absolute;right:1px;top:0;transform:scale(.875);visibility:visible}.eui-menu--collapsed .eui-menu-item__link-right-content .eui-menu-item__link-toggle{display:inherit;position:absolute;right:0;transform:scale(.65);visibility:visible}.eui-menu--flat a.eui-menu-item__link--active{background-color:var(--eui-ctx-c-p);text-decoration:none;font:normal normal 400 1rem/1.75rem var(--eui-base-font-family);font-weight:700}.eui-menu--flat a.eui-menu-item__link--active .eui-menu-item__link-label{color:var(--eui-ctx-c-white)}.eui-menu--flat a.eui-menu-item__link--active:hover{background-color:var(--eui-ctx-c-p);text-decoration:none;font:normal normal 400 1rem/1.75rem var(--eui-base-font-family);font-weight:700}.eui-menu--flat a.eui-menu-item__link--active:hover .eui-menu-item__link-label{color:var(--eui-ctx-c-white)}.eui-menu-filter{margin:var(--eui-base-spacing-m) 0;padding:0 var(--eui-base-spacing-m);position:relative}.eui-menu-filter__input-wrapper{align-items:center;display:flex;position:relative}.eui-menu-filter__input-wrapper .eui-menu-filter__input{padding-left:var(--eui-base-spacing-3xl);padding-right:var(--eui-base-spacing-xl)}.eui-menu-filter__input-wrapper .eui-menu-filter__input-search{color:var(--eui-ctx-c-s-lightest);left:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs)}.eui-menu-item{display:flex;flex-direction:column;position:relative;width:100%;border:1px solid transparent}.eui-menu-item:focus:not([readonly]){outline:2px solid var(--eui-ctx-c-focus)!important;outline-offset:-2px!important;transition:none!important}.eui-menu-item:focus-visible:not([readonly]){outline:2px solid var(--eui-ctx-c-focus-visible)!important;outline-offset:-2px!important;transition:none!important}.eui-menu-item [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-ctx-c-focus-visible)!important;outline-offset:-2px!important;transition:none!important}.eui-menu--collapsed .eui-menu-item{align-items:center;display:flex;flex-direction:column}.eui-menu-item__category{align-items:center;color:var(--eui-ctx-c-s-light);display:flex;flex-direction:row;justify-content:center;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m);text-decoration:none;text-transform:uppercase;font:normal normal 400 .875rem/1.5rem var(--eui-base-font-family);font-weight:700}.eui-page-column__body .eui-menu-item__category{text-transform:inherit}.eui-menu-item__category:hover:not(.eui-menu-item--disabled){background-color:var(--eui-ctx-c-s-bg-light);cursor:default;text-decoration:none}.eui-menu-item__category-icon:not(.eui-menu-item__category-icon--none)+.eui-menu-item__category-label,.eui-menu-item__category-icon:not(.eui-menu-item__category-icon--default)+.eui-menu-item__category-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-item__category-icon--none{padding:0}.eui-menu-item__category-icon--default{align-items:center;display:flex;justify-content:center;width:100%}.ff.eui-menu--collapsed .eui-menu-item__category-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-item__category-label{position:relative;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu--collapsed .eui-menu-item__category-label{display:none}.eui-page-column__body .eui-menu-item__category-label{font:normal normal 400 1rem/1.75rem var(--eui-base-font-family);font-weight:700}.eui-menu-item__category .eui-menu-item__link-icon{margin-right:var(--eui-base-spacing-xs)}.eui-menu-item a.eui-menu-item__link{border-bottom:none}.eui-menu-item__link{align-items:center;border-top:1px solid var(--eui-ctx-c-s-bg-light);color:var(--eui-ctx-c-text)!important;cursor:pointer;display:flex;justify-content:center;padding:calc(.5 * var(--eui-base-spacing-xs)) var(--eui-base-spacing-m);text-decoration:none;text-transform:uppercase;white-space:nowrap;width:100%}.eui-page-column__body .eui-menu-item__link{text-transform:inherit}.eui-menu-item__link:focus{border-bottom:none;text-decoration:none}.eui-menu-item__link:hover:not(.eui-menu-item--disabled){background-color:var(--eui-ctx-c-p-bg);text-decoration:none!important}.eui-menu-item__link:hover:not(.eui-menu-item--disabled) .eui-menu-item__link-label{color:var(--eui-ctx-c-p)}.eui-menu-item__link--active:not(.eui-menu-item--disabled){background-color:var(--eui-ctx-c-p-bg);text-decoration:none;font:normal normal 400 1rem/1.75rem var(--eui-base-font-family);font-weight:700}.eui-menu-item__link--active:not(.eui-menu-item--disabled) .eui-menu-item__link-label{color:var(--eui-ctx-c-p)}.eui-menu-item__link-icon+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-item__link-icon--with-badge .eui-chip{display:flex;height:var(--eui-base-spacing-m);left:-12px;position:absolute;top:-4px}.eui-menu-item__link-icon--none{padding:0}.eui-menu-item__link-icon--none+.eui-menu-item__category-label{margin-left:calc(-1 * var(--eui-base-spacing-s))}.eui-menu-item__link-icon--default{align-items:center;display:flex;flex-direction:column;font-size:var(--eui-base-font-size-xs);justify-content:inherit;width:100%}.ff.eui-menu--collapsed .eui-menu-item__link-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-item__link-label{font-size:calc(var(--eui-base-font-size) - 1px);position:relative;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu--collapsed .eui-menu-item__link-label{display:none}.eui-page-column__body .eui-menu-item__link-label{font:normal normal 400 1rem/1.75rem var(--eui-base-font-family)}.eui-menu-item__link-right-content{align-items:center;display:flex;height:calc(2.5 * var(--eui-base-spacing-m));margin-left:auto}.eui-menu--collapsed .eui-menu-item__link-right-content .eui-chip .eui-chip__content-container>span{display:inline-block;max-width:var(--eui-base-spacing-xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-tag-label{display:flex;margin-left:var(--eui-base-spacing-xs);transform:scale(1)}.eui-menu--collapsed .eui-menu-item__link-tag-label{position:absolute;right:1px;top:0;transform:scale(.875)}.eui-menu-item__link-toggle{margin-left:var(--eui-base-spacing-2xs);margin-right:calc(-1 * var(--eui-base-spacing-xs));transition:all .3s linear}.eui-menu--collapsed .eui-menu-item__link-toggle{display:none;transition:none}.eui-menu-item__link-action-icon{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-item__link-initials{display:flex;background-color:var(--eui-ctx-c-s-bg-light);border-radius:var(--eui-base-spacing-xs);min-width:var(--eui-base-spacing-2xl);text-align:center;justify-content:center;border:1px solid var(--eui-ctx-c-s-lightest);font:normal normal 400 .875rem/1.5rem var(--eui-base-font-family);font-weight:700}.eui-menu-item__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__label-external{color:var(--eui-ctx-c-s-lighter);margin-left:var(--eui-base-spacing-xs);font:normal normal 400 .875rem/1.5rem var(--eui-base-font-family)}.eui-menu-item__label-external .eui-icon-svg{fill:var(--eui-ctx-c-s-light);height:var(--eui-base-spacing-s);width:var(--eui-base-spacing-s)}.eui-menu-item .eui-button.eui-menu-item__link-toggle:focus:not([readonly]){outline:2px solid var(--eui-ctx-c-focus)!important;outline-offset:-2px!important;transition:none!important}.eui-menu-item .eui-button.eui-menu-item__link-toggle:focus-visible:not([readonly]){outline:2px solid var(--eui-ctx-c-focus-visible)!important;outline-offset:-2px!important;transition:none!important}.eui-menu-item .eui-button.eui-menu-item__link-toggle [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-ctx-c-focus-visible)!important;outline-offset:-2px!important;transition:none!important}.eui-app.ff.sidebar--close .eui-menu-item__link-tag-label{right:0}.eui-menu-item--expanded .eui-menu-item__category{display:flex}.eui-menu-item--disabled{background-image:none;box-shadow:none;cursor:default;opacity:.65;pointer-events:none}.eui-menu-item--lowercase .eui-menu-item__link,.eui-menu-item--lowercase .eui-menu-item__label,.eui-menu-item--lowercase .eui-menu-item__category,.eui-menu-item--lowercase .eui-menu-item__category-label{text-transform:initial!important}.eui-menu-item--lowercase .eui-menu-item__link-label{font-size:var(--eui-base-font-size)}.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__category-icon,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__category-icon--default,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__link-icon,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__link-icon--default{display:none}.eui-menu-sub{text-decoration:none}.eui-menu-sub .eui-menu-item__category{align-items:center;display:flex;flex-direction:row;justify-content:center;padding:var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-xs) var(--eui-base-spacing-xl);text-decoration:none;text-transform:uppercase}.eui-page-column__body .eui-menu-sub .eui-menu-item__category{text-transform:inherit}.eui-menu-sub .eui-menu-item__category:hover:not(.eui-menu-item--disabled){background-color:var(--eui-ctx-c-s-bg-light);cursor:default;text-decoration:none}.eui-menu-sub .eui-menu-item__category-icon--default{color:var(--eui-ctx-c-in);font-size:var(--eui-base-font-size)}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__category-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-sub .eui-menu-item__category-label .eui-menu-item__label{display:block;border-bottom:1px solid var(--eui-ctx-c-s-lightest);padding-bottom:var(--eui-base-spacing-2xs);font:normal normal 400 .875rem/1.5rem var(--eui-base-font-family);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__category{padding-left:0}.eui-menu-sub .eui-menu-item__link{border:none;height:calc(2.25 * var(--eui-base-spacing-m));padding-left:var(--eui-base-spacing-xl);text-transform:initial}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-base-spacing-2xs);padding-right:0}.eui-menu-sub .eui-menu-item__link-icon+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-sub .eui-menu-item__link-icon--default{font-size:var(--eui-base-font-size-xs);margin:0}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-sub .eui-menu-item__link-icon--none{display:none}.eui-menu-sub .eui-menu-item__link-marker{display:flex;justify-content:center;position:relative}.eui-menu-sub .eui-menu-item__link-marker.eui-menu-item__link-marker--none+.eui-menu-item__link-label,.eui-menu-sub .eui-menu-item__link-marker.eui-menu-item__link-marker--default+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-marker{margin-left:calc(-1 * var(--eui-base-spacing-2xs))}.eui-menu-sub .eui-menu-item__link-label{font-size:calc(var(--eui-base-font-size) - 1px);height:auto;padding-top:var(--eui-base-spacing-3xs);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-sub .eui-menu-item__link-right-content{align-items:center;display:flex;height:calc(2.5 * var(--eui-base-spacing-m));margin-left:auto}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-right-content{margin-left:var(--eui-base-spacing-2xs)}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-right-content .eui-chip .eui-chip__content-container>span{display:inline-block;max-width:var(--eui-base-spacing-xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-sub .eui-menu-sub .eui-menu-item{padding-left:calc(1 * var(--eui-base-spacing-m))}.eui-menu--collapsed .eui-menu--no-icons .eui-menu-sub .eui-menu-item__link{margin-left:calc(-1 * var(--eui-base-spacing-m))}\n"] }]
451
451
  }], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.BaseStatesDirective }, { type: i0.ChangeDetectorRef }], propDecorators: { focusableItems: [{
452
452
  type: ViewChildren,
453
453
  args: [EuiMenuItemComponent]
@@ -498,8 +498,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.4",
498
498
  }], stopPropagation: [{
499
499
  type: HostListener,
500
500
  args: ['click', ['$event']]
501
- }], onKeydown: [{
502
- type: HostListener,
503
- args: ['keydown', ['$event']]
504
501
  }] } });
505
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZXVpLW1lbnUvZXVpLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLW1lbnUvZXVpLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLEtBQUssRUFFTCxNQUFNLEVBQ04sWUFBWSxFQUdaLFlBQVksRUFDWixnQkFBZ0IsRUFHaEIsWUFBWSxHQUdmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBMEIsYUFBYSxFQUF3QixNQUFNLGlCQUFpQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVwRCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUU3QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7OztBQWFqRSxNQUFNLE9BQU8sZ0JBQWdCO0lBR3pCLElBQ1csVUFBVTtRQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztZQUM5RCxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM3QyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFBLENBQUMsQ0FB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IENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBPbkNoYW5nZXMsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgUXVlcnlMaXN0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIEV2ZW50IGFzIFJvdXRlckV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBGb2N1c0tleU1hbmFnZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCAqIGFzIHV1aWQgZnJvbSAndXVpZCc7XG5cbmltcG9ydCB7IGNvbnN1bWVFdmVudCB9IGZyb20gJ0BldWkvY29yZSc7XG5pbXBvcnQgeyBCYXNlU3RhdGVzRGlyZWN0aXZlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL3NoYXJlZCc7XG5pbXBvcnQgeyBFdWlNZW51SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZXVpLW1lbnUtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXVpTWVudUl0ZW0gfSBmcm9tICdAZXVpL2Jhc2UnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktbWVudScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V1aS1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IEJhc2VTdGF0ZXNEaXJlY3RpdmUsXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQFZpZXdDaGlsZHJlbihFdWlNZW51SXRlbUNvbXBvbmVudCkgZm9jdXNhYmxlSXRlbXM6IFF1ZXJ5TGlzdDxFdWlNZW51SXRlbUNvbXBvbmVudD47XG4gICAgXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgcHVibGljIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbdGhpcy5iYXNlU3RhdGVzRGlyZWN0aXZlLmdldENzc0NsYXNzZXMoJ2V1aS1tZW51LXdyYXBwZXInKSxcbiAgICAgICAgICAgIHRoaXMuaXNDb2xsYXBzZWQgPyAnZXVpLW1lbnUtLWNvbGxhcHNlZCcgOiAnJyxcbiAgICAgICAgICAgICF0aGlzLmhhc0ljb25zID8gJ2V1aS1tZW51LS1uby1pY29ucycgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuaXNGbGF0ID8gJ2V1aS1tZW51LS1mbGF0JzogJycsXG4gICAgICAgIF0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBpdGVtczogRXVpTWVudUl0ZW1bXTtcbiAgICBASW5wdXQoKSBzZWFyY2hGaWx0ZXJMYWJlbDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGV4dGVybmFsTGlua0xhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZnJhZ21lbnRJZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGZpbHRlclZhbHVlID0gJyc7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNDb2xsYXBzZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzQ29sbGFwc2VkSW5pdGlhbHMgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzRmlsdGVyID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc0ljb25zID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc1Rvb2x0aXAgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZXhwYW5kQWxsSXRlbXMgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNGbGF0ID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc1Njcm9sbFRvSXRlbSA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNMb3dlcmNhc2VJdGVtcyA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpIGlzQ2xpY2s6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgaXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8RXVpTWVudUl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdWlNZW51SXRlbT4oKTtcblxuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGl0ZW1zU3RhdGU6IGFueVtdO1xuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJpdmF0ZSBmb2N1c0tleU1hbmFnZXI6IEZvY3VzS2V5TWFuYWdlcjxFdWlNZW51SXRlbUNvbXBvbmVudD47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHB1YmxpYyBiYXNlU3RhdGVzRGlyZWN0aXZlOiBCYXNlU3RhdGVzRGlyZWN0aXZlLFxuICAgICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICApIHt9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgc3RvcFByb3BhZ2F0aW9uKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gZmluZHMgZmlyc3QgY2hpbGQgd2hlbiBBcnJvd0Rvd25cbiAgICAgICAgY29uc3QgZmlyc3RDaGlsZCA9IHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/Lml0ZW0uY2hpbGRyZW4/IHRoaXMuZmluZEZpcnN0RmlsdGVyZWRJdGVtKHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/Lml0ZW0uY2hpbGRyZW4pIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBmaXJzdEZvY3VzYWJsZUl0ZW0gPSB0aGlzLmZpbmRGb2N1c2FibGVJdGVtKGZpcnN0Q2hpbGQpO1xuICAgICAgICAvLyBmaW5kcyB0aGUgcGFyZW50IGVsZW1lbnRcbiAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbT8uaXRlbS5wYXJlbnQ7XG4gICAgICAgIGNvbnN0IHBhcmVudEZvY3VzYWJsZUl0ZW0gPSB0aGlzLmZpbmRGb2N1c2FibGVJdGVtKHBhcmVudCk7XG4gICAgICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICAgICAgICBjYXNlICdFbnRlcic6IHtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICh0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtLmlzTGlua0l0ZW0gfHwgdGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbS5pc1VybEl0ZW0pICYmXG4gICAgICAgICAgICAgICAgICAgICF0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtLmRpc2FibGVkXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0ub25DbGljayhldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnQXJyb3dSaWdodCc6IHtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtPy5pdGVtLmFjdGlvbkljb24pe1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoZWNrQWN0aW9uSWNvbkZvY3VzU3RhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtPy5pdGVtLmV4cGFuZGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtPy5vbkV4cGFuZFRvZ2dsZShldmVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdBcnJvd0xlZnQnOiB7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbT8uaXRlbS5hY3Rpb25JY29uKXtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVja0FjdGlvbkljb25Gb2N1c1N0YXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtPy5pdGVtLmV4cGFuZGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtLm9uRXhwYW5kVG9nZ2xlKGV2ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdBcnJvd0Rvd24nOiB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbT8uaXRlbS5jaGlsZHJlbiAmJiB0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtPy5pdGVtLmV4cGFuZGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vZm9jdXNlcyBmaXJzdCBjaGlsZFxuICAgICAgICAgICAgICAgICAgICBmaXJzdEZvY3VzYWJsZUl0ZW0/LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLnVwZGF0ZUFjdGl2ZUl0ZW0oZmlyc3RGb2N1c2FibGVJdGVtKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHBhcmVudCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBmaW5kcyBsYXN0IGZpbHRlcmVkIGNoaWxkIHdoZW4gQXJyb3dEb3duIGFuZCBuYXZpZ2F0aW5nIHdpdGhpbiBzdWJtZW51XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkQ2hpbGRyZW4gPSB0aGlzLmZpbmRGaWx0ZXJlZEl0ZW1zKHBhcmVudC5jaGlsZHJlbik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxhc3RDaGlsZEluZGV4ID0gKGZpbHRlcmVkQ2hpbGRyZW4/Lmxlbmd0aCkgLSAxO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXN0Q2hpbGQgPSBmaWx0ZXJlZENoaWxkcmVuW2xhc3RDaGlsZEluZGV4XTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGFzdEZvY3VzYWJsZUl0ZW0gPSB0aGlzLmZpbmRGb2N1c2FibGVJdGVtKGxhc3RDaGlsZCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIGlmIHRoZSBhY3RpdmUgaXRlbSBpcyB0aGUgbGFzdCBjaGlsZCwgcHV0cyB0aGUgZm9jdXMgb24gdGhlIG5leHQgcGFyZW50XG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0gPT09IGxhc3RGb2N1c2FibGVJdGVtKXtcbiAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c0tleU1hbmFnZXIudXBkYXRlQWN0aXZlSXRlbShwYXJlbnRGb2N1c2FibGVJdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c0tleU1hbmFnZXIuc2V0TmV4dEl0ZW1BY3RpdmUoKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0odGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbUluZGV4ICsxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHNraXBzIHJlbWFpbmluZyBjaGlsZGVuIGluIHRoZSBxdWVyeSBsaXN0IHdoZW4gdGhlcmUgaXMgZXhwYW5kZWQgbm9kZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlci5za2lwUHJlZGljYXRlKG1lbnVJdGVtID0+IG1lbnVJdGVtLnBhcmVudCAhPSB1bmRlZmluZWQgfHwgbWVudUl0ZW0uaXRlbS52aXNpYmxlID09PSBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLm9uS2V5ZG93bihldmVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnQXJyb3dVcCc6IHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZmluZHMgZmlyc3QgZmlsdGVyZWQgY2hpbGQgd2hlbiBBcnJvd1VwXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkQ2hpbGRyZW4gPSB0aGlzLmZpbmRGaWx0ZXJlZEl0ZW1zKHBhcmVudC5jaGlsZHJlbik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpcnN0Q2hpbGRVcCA9IGZpbHRlcmVkQ2hpbGRyZW5bJzAnXVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaXJzdEZvY3VzYWJsZUl0ZW1VcCA9IHRoaXMuZmluZEZvY3VzYWJsZUl0ZW0oZmlyc3RDaGlsZFVwKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiBuYXZpZ2F0aW5nIHVwIG9uIGEgc3VibWVudSBmb2N1c2VzIHRoZSBwYXJlbnQgaWYgdGhlIGFjdGl2ZSBpdGVtIGlzIHRoZSBmaXJzdCBjaGlsZFxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtID09PSBmaXJzdEZvY3VzYWJsZUl0ZW1VcCl7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKHBhcmVudEZvY3VzYWJsZUl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0odGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbUluZGV4IC0xKTtcbiAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlci5vbktleWRvd24oZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAvLyB3aGVuIG5hdmlnYXRpbmcgdXAgZnJvbSBhIHBhcmVudCBlbGVtZW50IHRvIGFuIGV4cGFuZGVkIHN1Ym1lbnUsIGZpbmRzIHRoZSBsYXN0IGNoaWxkIGFuZCBmb2N1c2VzIGl0XG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/Lml0ZW0uY2hpbGRyZW4gJiYgdGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbT8uaXRlbS5leHBhbmRlZCl7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJlZENoaWxkcmVuID0gdGhpcy5maW5kRmlsdGVyZWRJdGVtcyh0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtPy5pdGVtLmNoaWxkcmVuKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxhc3RDaGlsZEluZGV4VXAgPSAoZmlsdGVyZWRDaGlsZHJlbi5sZW5ndGgpIC0gMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxhc3RGb2N1c2FibGVJdGVtVXAgPXRoaXMuZmluZEZvY3VzYWJsZUl0ZW0oZmlsdGVyZWRDaGlsZHJlbltsYXN0Q2hpbGRJbmRleFVwXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKGxhc3RGb2N1c2FibGVJdGVtVXApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLm9uS2V5ZG93bihldmVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLml0ZW1zKSB7XG4gICAgICAgICAgICB0aGlzLml0ZW1zID0gdGhpcy5jb25maWd1cmVJdGVtcyh0aGlzLml0ZW1zKTtcbiAgICAgICAgICAgIC8vIGdldCBjdXJyZW50IHVybFxuICAgICAgICAgICAgY29uc3QgY3VycmVudFVybCA9IHRoaXMucm91dGVyLnVybDtcbiAgICAgICAgICAgIC8vIGZpbmQgYW4gaXRlbSB0aGF0IG1hdGNoZXMgdGhlIGN1cnJlbnQgdXJsIG9yIHRoZSBtb3N0IHJlbGV2YW50IG9uZVxuICAgICAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuZmluZE1vc3RSZWxldmFudEl0ZW0oY3VycmVudFVybCwgdGhpcy5pdGVtcyk7XG4gICAgICAgICAgICAvLyBleHBhbmQgdG8gdGhhdCBpdGVtXG4gICAgICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZXhwYW5kVG9HaXZlbkl0ZW0oaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFeHBhbmQgLyBDb2xsYXBzZSBBbGwgaXRlbXNcbiAgICAgICAgaWYgKGNoYW5nZXMuZXhwYW5kQWxsSXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLnNldEV4cGFuZGVkVG9BbGxJdGVtcyhjb2VyY2VCb29sZWFuUHJvcGVydHkoY2hhbmdlcy5leHBhbmRBbGxJdGVtcy5jdXJyZW50VmFsdWUpLCB0aGlzLml0ZW1zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjaGFuZ2VzLmZpbHRlclZhbHVlICYmIHRoaXMuaGFzRmlsdGVyKSB7XG4gICAgICAgICAgICB0aGlzLm9uRmlsdGVyKGNoYW5nZXMuZmlsdGVyVmFsdWUuY3VycmVudFZhbHVlID8/ICcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlZnJlc2ggd2hlbiBpbnRlcmFjdGl2ZSBjb2xsYXBzZWQgdG8gaW5pdGlhbHNcbiAgICAgICAgaWYgKGNoYW5nZXMuaGFzQ29sbGFwc2VkSW5pdGlhbHMpIHtcbiAgICAgICAgICAgIHRoaXMuaGFzQ29sbGFwc2VkSW5pdGlhbHMgPSBjaGFuZ2VzLmhhc0NvbGxhcHNlZEluaXRpYWxzLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLmNvbmZpZ3VyZUl0ZW1zKHRoaXMuaXRlbXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIExhYmVscyBkZWZhdWx0IHZhbHVlcyAtIFRPRE8gOiB0cmFuc2xhdGlvbnNcbiAgICAgICAgaWYgKCF0aGlzLnNlYXJjaEZpbHRlckxhYmVsKSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaEZpbHRlckxhYmVsID0gJ1NlYXJjaCBmaWx0ZXInO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZWxlbWVudElzVmlzaWJsZUluVmlld3BvcnQgPSAoZWwsIHBhcnRpYWxseVZpc2libGUgPSBmYWxzZSk6IGJvb2xlYW4gPT4ge1xuICAgICAgICAgICAgY29uc3QgeyB0b3AsIGxlZnQsIGJvdHRvbSwgcmlnaHQgfSA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgY29uc3QgeyBpbm5lckhlaWdodCwgaW5uZXJXaWR0aCB9ID0gd2luZG93O1xuICAgICAgICAgICAgcmV0dXJuIHBhcnRpYWxseVZpc2libGVcbiAgICAgICAgICAgID8gKCh0b3AgPiAwICYmIHRvcCA8IGlubmVySGVpZ2h0KSB8fFxuICAgICAgICAgICAgKGJvdHRvbSA+IDAgJiYgYm90dG9tIDwgaW5uZXJIZWlnaHQpKSAmJlxuICAgICAgICAgICAgKChsZWZ0ID4gMCAmJiBsZWZ0IDwgaW5uZXJXaWR0aCkgfHwgKHJpZ2h0ID4gMCAmJiByaWdodCA8IGlubmVyV2lkdGgpKVxuICAgICAgICAgICAgOiB0b3AgPj0gMCAmJiBsZWZ0ID49IDAgJiYgYm90dG9tIDw9IGlubmVySGVpZ2h0ICYmIHJpZ2h0IDw9IGlubmVyV2lkdGg7XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gc3Vic2NyaXB0aW9uIHRvIHJvdXRlcyB1cmwgY2hhbmdlcyBmb3IgYWN0aXZhdGluZyB0aGUgc2Nyb2xsSW50b1ZpZXcgKG9wdGlvbmFsKVxuICAgICAgICBpZiAodGhpcy5oYXNTY3JvbGxUb0l0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQ6IFJvdXRlckV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5maW5kTW9zdFJlbGV2YW50SXRlbShldmVudC51cmwsIHRoaXMuaXRlbXMpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChfID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXRlbS5pZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFlbGVtZW50SXNWaXNpYmxlSW5WaWV3cG9ydChlbGVtZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIDEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIGluc3RhbnRpYXRlcyBGb2N1c0tleU1hbmFnZXIgd2l0aCB0aGUgcXVlcnkgbGlzdCBvZiBpdGVtcyBlbmFibGluZyB3cmFwcGluZ1xuICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXIodGhpcy5mb2N1c2FibGVJdGVtcykud2l0aFdyYXAoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOnZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25DbGljayhpdGVtOiBFdWlNZW51SXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAoIWl0ZW0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGlmIChpdGVtLnVybEV4dGVybmFsKSB7XG4gICAgICAgICAgICAgICAgd2luZG93Lm9wZW4oaXRlbS51cmxFeHRlcm5hbCwgaXRlbS51cmxFeHRlcm5hbFRhcmdldCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0udXJsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2l0ZW0udXJsXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLCBmcmFnbWVudDogdGhpcy5mcmFnbWVudElkIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGl0ZW0uY29tbWFuZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmNvbW1hbmQoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRXhwYW5kVG9nZ2xlKGl0ZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGl0ZW0ubGluaykge1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zPy5tYXAoKGl0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGl0LmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXQuaWQgPT09IGl0ZW0uaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0LmFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0O1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc0NsaWNrLmVtaXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuaXRlbUNsaWNrLmVtaXQoaXRlbSk7XG5cbiAgICAgICAgY29uc3QgZm9jdXNlZEl0ZW0gPSB0aGlzLmZpbmRGb2N1c2FibGVJdGVtKGl0ZW0pO1xuICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKGZvY3VzZWRJdGVtKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25FeHBhbmRUb2dnbGUoaXRlbTogRXVpTWVudUl0ZW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkV4cGFuZFRvZ2dsZWQoaXRlbSwgdGhpcy5pdGVtcyk7XG4gICAgICAgIC8vIFRPRE86IGludmVzdGlnYXRlIHdoeSB0aGUgYWJvdmUgaXMgbmVlZGVkLiBDYW4gaXQgYmUgc2ltcGx5IFwiaXRlbS5leHBhbmRlZCA9ICFpdGVtLmV4cGFuZGVkO1wiID9cbiAgICB9XG5cbiAgICBwdWJsaWMgb25NZW51RmlsdGVyQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3VtZUV2ZW50KGV2ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25GaWx0ZXIoZXZlbnQ6IEV2ZW50KVxuICAgIHB1YmxpYyBvbkZpbHRlcih2YWx1ZTogc3RyaW5nKVxuICAgIHB1YmxpYyBvbkZpbHRlcihldmVudE9yVmFsdWU6IEV2ZW50IHwgc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gZXZlbnRPclZhbHVlIGluc3RhbmNlb2YgRXZlbnRcbiAgICAgICAgICAgID8gKGV2ZW50T3JWYWx1ZS50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWVcbiAgICAgICAgICAgIDogZXZlbnRPclZhbHVlO1xuICAgICAgICB0aGlzLl9vblRvZ2dsZUV4cGFuZEFsbEl0ZW1zKHZhbHVlID8gdHJ1ZSA6IGZhbHNlKTtcblxuICAgICAgICB0aGlzLml0ZW1zID0gdGhpcy5maWx0ZXJNZW51SXRlbXModGhpcy5pdGVtcywgdmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX29uVG9nZ2xlRXhwYW5kQWxsSXRlbXMoc3RhdGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuc2V0RXhwYW5kZWRUb0FsbEl0ZW1zKHN0YXRlLCB0aGlzLml0ZW1zKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBmaW5kcyB0aGUgRXVpTWVudUl0ZW1Db21wb25lbnQgaW4gdGhlIHF1ZXJpZWQgZm9jdXNhYmxlSXRlbXNbXSB0aGF0ICBtYXRjaGVzIHRoZSBwYXNzZWQgRXVpTWVudUl0ZW0gb2JqZWN0XG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVudUl0ZW0gYW4gRXVpTWVudUl0ZW1cbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgZmluZEZvY3VzYWJsZUl0ZW0obWVudUl0ZW06IEV1aU1lbnVJdGVtICk6IEV1aU1lbnVJdGVtQ29tcG9uZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9jdXNhYmxlSXRlbXMuZmluZChcbiAgICAgICAgICAgIChmb2N1c2FibGVJdGVtKSA9PiBmb2N1c2FibGVJdGVtLml0ZW0ubGFiZWwgPT09IG1lbnVJdGVtPy5sYWJlbCAmJiBmb2N1c2FibGVJdGVtLml0ZW0uaWQgPT09IG1lbnVJdGVtLmlkLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGZpbmRzIHRoZSBmaXJzdCBpdGVtIHRoYXQgaXMgZmlsdGVyZWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBtZW51SXRlbXMgYW4gYXJyYXkgb2YgRXVpTWVudUl0ZW1cbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgZmluZEZpcnN0RmlsdGVyZWRJdGVtKG1lbnVJdGVtczogRXVpTWVudUl0ZW0gW10pOiBFdWlNZW51SXRlbSB7XG4gICAgICAgIHJldHVybiBtZW51SXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5maWx0ZXJlZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZmluZHMgYWxsIGZpbHRlcmVkIG1lbnUgaXRlbXNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBtZW51SXRlbXMgYW4gYXJyYXkgb2YgRXVpTWVudUl0ZW1cbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgZmluZEZpbHRlcmVkSXRlbXMobWVudUl0ZW1zOiBFdWlNZW51SXRlbSBbXSk6IEV1aU1lbnVJdGVtIFtdIHtcbiAgICAgICAgcmV0dXJuIG1lbnVJdGVtcy5maWx0ZXIoKGl0ZW1zKSA9PiBpdGVtcy5maWx0ZXJlZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY2hlY2tzIHRoZSBmb2N1cyBzdGF0ZSBvZiB0aGUgYWN0aW9uIGljb25cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBjaGVja0FjdGlvbkljb25Gb2N1c1N0YXRlKCk6IHZvaWQge1xuICAgICAgICAvLyBjaGVjayBpZiB0aGUgYWN0aW9uIGljb24gaXMgZm9jdXNlZCBhbmQgaWYgbm90IGZvY3VzIGl0LCBvdGhlcndpc2UgZm9jdXMgdGhlIGFjdGl2ZSBpdGVtXG4gICAgICAgICF0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtLmlzQWN0aW9uSWNvbkZvY3VzZWQgPyB0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtLmZvY3VzQWN0aW9uSWNvbigpIDogdGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbS5mb2N1cygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGZpbHRlciBhbGwgbWVudSBpdGVtcyBnaXZlbiBhIHZhbHVlXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVudUl0ZW1zIGFuIGFycmF5IG9mIG1lbnUgaXRlbXNcbiAgICAgKiBAcGFyYW0gZmlsdGVyVmFsdWUgdGhlIHZhbHVlIHRvIGZpbHRlciBtZW51IGl0ZW1zXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGZpbHRlck1lbnVJdGVtcyhtZW51SXRlbXM6IEV1aU1lbnVJdGVtW10sIGZpbHRlclZhbHVlOiBzdHJpbmcpOiBFdWlNZW51SXRlbVtdIHtcbiAgICAgICAgcmV0dXJuIG1lbnVJdGVtcz8ubWFwKChpdGVtOiBFdWlNZW51SXRlbSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZm91bmQgPSBpdGVtLmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihmaWx0ZXJWYWx1ZS50b0xvd2VyQ2FzZSgpKSAhPT0gLTE7XG4gICAgICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgIGl0ZW0uY2hpbGRyZW4gPSB0aGlzLmZpbHRlck1lbnVJdGVtcyhpdGVtLmNoaWxkcmVuLCBmaWx0ZXJWYWx1ZSk7XG4gICAgICAgICAgICAgICAgaXRlbS5maWx0ZXJlZCA9IGl0ZW0uY2hpbGRyZW4uZmlsdGVyKChsKSA9PiBsWydmaWx0ZXJlZCddID09PSB0cnVlKS5sZW5ndGggPiAwO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChmb3VuZCkge1xuICAgICAgICAgICAgICAgIGl0ZW0uZmlsdGVyZWQgPSBmb3VuZDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaXRlbS5maWx0ZXJlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGV4cGFuZCAvIGNvbGxhcHNlIGFsbCBpdGVtc1xuICAgICAqXG4gICAgICogQHBhcmFtIGlzRXhwYW5kZWRcbiAgICAgKiBAcGFyYW0gaXRlbXNcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgc2V0RXhwYW5kZWRUb0FsbEl0ZW1zKGlzRXhwYW5kZWQsIGl0ZW1zOiBFdWlNZW51SXRlbVtdKTogRXVpTWVudUl0ZW1bXSB7XG4gICAgICAgIHJldHVybiBpdGVtcz8ubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgIGl0ZW0uZXhwYW5kZWQgPSBpc0V4cGFuZGVkO1xuICAgICAgICAgICAgICAgIGl0ZW0uY2hpbGRyZW4gPSB0aGlzLnNldEV4cGFuZGVkVG9BbGxJdGVtcyhpc0V4cGFuZGVkLCBpdGVtLmNoaWxkcmVuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKGl0ZW0sIHsgdmlzaWJsZTogaXRlbS52aXNpYmxlID09PSB1bmRlZmluZWQgPyB0cnVlIDogaXRlbS52aXNpYmxlIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBleHBhbmQgLyBjb2xsYXBzZSBhIG1lbnUgaXRlbVxuICAgICAqXG4gICAgICogQHBhcmFtIGl0ZW0gVGhlIGl0ZW0gd2hlcmUgdGhlIFwiZXhwYW5kXCIgaGFkIGJlZW4gdG9nZ2xlZFxuICAgICAqIEBwYXJhbSBpdGVtcyBUaGUgaXRlbXMgbGlzdCAodXNlZCBmb3IgcmVjdXJzaW9uKVxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBvbkV4cGFuZFRvZ2dsZWQoaXRlbTogRXVpTWVudUl0ZW0sIGl0ZW1zOiBFdWlNZW51SXRlbVtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGl0ZW1JZHggPSBpdGVtcz8uaW5kZXhPZihpdGVtKTtcbiAgICAgICAgaWYgKGl0ZW1JZHggPiAtMSkge1xuICAgICAgICAgICAgaXRlbXNbaXRlbUlkeF0uZXhwYW5kZWQgPSAhaXRlbXNbaXRlbUlkeF0uZXhwYW5kZWQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpdGVtcy5mb3JFYWNoKChpKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGkuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkV4cGFuZFRvZ2dsZWQoaXRlbSwgaS5jaGlsZHJlbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjb25maWd1cmUgYW4gYXJyYXkgb2YgaXRlbXMgd2l0aCB2aXNpYmxlLCBmaWx0ZXJlZCBhbmQgZXhwYW5kIChpbiBjYXNlIG9mIGV4cGFuZEFsbEl0ZW1zIGZsYWcgZW5hYmxlZCkgcHJvcGVydGllc1xuICAgICAqXG4gICAgICogQHBhcmFtIGl0ZW1zIEFuIGFycmF5IG9mIEV1aU1lbnVJdGVtXG4gICAgICogQHBhcmFtIHBhcmVudCB0aGUgcGFyZW50IGl0ZW0gb2YgaXRlbXMgaWYgZXhpc3RzXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGNvbmZpZ3VyZUl0ZW1zKGl0ZW1zOiBFdWlNZW51SXRlbVtdLCBwYXJlbnQ/OiBFdWlNZW51SXRlbSk6IEV1aU1lbnVJdGVtW10ge1xuICAgICAgICByZXR1cm4gaXRlbXM/Lm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgLy8gcmVjdXJzaW9uIGluIGNhc2UgdGhlcmUgYXJlIGNoaWxkcmVuXG4gICAgICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgIGl0ZW0uY2hpbGRyZW4gPSB0aGlzLmNvbmZpZ3VyZUl0ZW1zKGl0ZW0uY2hpbGRyZW4sIGl0ZW0pO1xuICAgICAgICAgICAgICAgIC8vIGV4cGFuZCBhbGwgcGFyZW50cyB3aXRoIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZXhwYW5kQWxsSXRlbXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5leHBhbmRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gcG9pbnQgdG8gdGhlIHBhcmVudFxuICAgICAgICAgICAgaWYgKHBhcmVudCkge1xuICAgICAgICAgICAgICAgIGl0ZW0ucGFyZW50ID0gcGFyZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIWl0ZW0uaWQgJiYgdGhpcy5oYXNTY3JvbGxUb0l0ZW0pIHtcbiAgICAgICAgICAgICAgICBpdGVtLmlkID0gdXVpZC52NCgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoaXRlbS5sYWJlbCAmJiB0aGlzLmhhc0NvbGxhcHNlZEluaXRpYWxzKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgd29yZHMgPSBpdGVtLmxhYmVsLnNwbGl0KCcgJyk7XG4gICAgICAgICAgICAgICAgaWYgKHdvcmRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmluaXRpYWxzID0gYCR7aXRlbS5sYWJlbC5zdWJzdHJpbmcoMCwgMSl9JHtpdGVtLmxhYmVsLnN1YnN0cmluZygxLCAxKX1gO1xuXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5pbml0aWFscyA9IGAke3dvcmRzWzBdLnN1YnN0cmluZygwLCAxKX0ke3dvcmRzWzFdLnN1YnN0cmluZygwLCAxKX1gO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oaXRlbSwgeyB2aXNpYmxlOiBpdGVtLnZpc2libGUgPT09IHVuZGVmaW5lZCA/IHRydWUgOiBpdGVtLnZpc2libGUsIGZpbHRlcmVkOiB0cnVlIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHaXZlbiBhIFVSTCBhbmQgYSBsaXN0IG9mIGl0ZW1zLCBpdCB3aWxsIGV4cGFuZCB0aGUgaXRlbSB0aGF0IG1hdGNoZXMgdGhlIFVSTC4gSWYgbm90IGl0ZW0gbWF0Y2hlcyBleGFjdGx5IHRoZSB1cmwsIHRoZW4gaXQgd2lsbFxuICAgICAqIG1hdGNoIHRoZSBpdGVtIHRoYXQgaXMgbW9zdCByZWxldmFudCB0byB0aGF0IHVybC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtc1xuICAgICAqIEBwYXJhbSB2YWx1ZVxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBmaW5kTW9zdFJlbGV2YW50SXRlbSh1cmw6IHN0cmluZywgaXRlbXM6IEV1aU1lbnVJdGVtW10sIHJlbGV2YW50SXRlbT86IEV1aU1lbnVJdGVtKTogRXVpTWVudUl0ZW0ge1xuICAgICAgICBpZiAoIWl0ZW1zKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLnVybCAmJiB1cmwuaW5kZXhPZihpdGVtLnVybC5zdWJzdHIoMSkpID4gLTEpIHtcbiAgICAgICAgICAgICAgICByZWxldmFudEl0ZW0gPSB0aGlzLmdldE1vc3RSZWxldmFudEl0ZW0odXJsLCByZWxldmFudEl0ZW0sIGl0ZW0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgIHJlbGV2YW50SXRlbSA9IHRoaXMuZmluZE1vc3RSZWxldmFudEl0ZW0odXJsLCBpdGVtLmNoaWxkcmVuLCByZWxldmFudEl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gcmVsZXZhbnRJdGVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdpdmVuIHR3byBpdGVtcyB3aXRoIHVybCByZXR1cm4gdGhlIG9uZSB3aXRoIHRoZSBtb3N0IHJlbGV2YW50IHVybCB0aGF0IG1hdGNoZXMgZ2l2ZW4gdXJsXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdXJsIEEgVVJMIHRvIGJlIG1hdGNoZWQgd2l0aCB0aGUgb25lIG9mIGdpdmVuIGl0ZW1zXG4gICAgICogQHBhcmFtIGl0ZW0xXG4gICAgICogQHBhcmFtIGl0ZW0yXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldE1vc3RSZWxldmFudEl0ZW0odXJsOiBzdHJpbmcsIGl0ZW0xOiBFdWlNZW51SXRlbSwgaXRlbTI6IEV1aU1lbnVJdGVtKTogRXVpTWVudUl0ZW0ge1xuICAgICAgICBjb25zdCByZW1haW5kZXIxID0gdXJsLnJlcGxhY2UoaXRlbTE/LnVybCB8fCAnJywgJycpO1xuICAgICAgICBjb25zdCByZW1haW5kZXIyID0gdXJsLnJlcGxhY2UoaXRlbTI/LnVybCB8fCAnJywgJycpO1xuXG4gICAgICAgIHJldHVybiByZW1haW5kZXIxLmxlbmd0aCA8IHJlbWFpbmRlcjIubGVuZ3RoID8gaXRlbTEgOiBpdGVtMjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHaXZlbiBhbiBpdGVtLCBpZiB0aGVyZSdzIGEgcGFyZW50IGV4cGFuZCBpdCB1bnRpbCB5b3UgcmVhY2ggdGhlIHJvb3QgaXRlbVxuICAgICAqXG4gICAgICogQHBhcmFtIGl0ZW0gR2l2ZW4gbWVudSBpdGVtXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGV4cGFuZFRvR2l2ZW5JdGVtKGl0ZW06IEV1aU1lbnVJdGVtKTogdm9pZCB7XG4gICAgICAgIGlmIChpdGVtLnBhcmVudCkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiAoaXRlbS5wYXJlbnQuZXhwYW5kZWQgPSB0cnVlKSk7XG4gICAgICAgICAgICB0aGlzLmV4cGFuZFRvR2l2ZW5JdGVtKGl0ZW0ucGFyZW50KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJoYXNGaWx0ZXIgJiYgIWlzQ29sbGFwc2VkXCIgY2xhc3M9XCJldWktbWVudS1maWx0ZXJcIiAoY2xpY2spPVwib25NZW51RmlsdGVyQ2xpY2soJGV2ZW50KVwiPlxuICAgIDxkaXYgY2xhc3M9XCJldWktbWVudS1maWx0ZXJfX2lucHV0LXdyYXBwZXJcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBldWlJbnB1dFRleHRcbiAgICAgICAgICAgIFtldWlDbGVhcmFibGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAoaW5wdXQpPVwib25GaWx0ZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICBjbGFzcz1cImV1aS1tZW51LWZpbHRlcl9faW5wdXRcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInNlYXJjaEZpbHRlckxhYmVsXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwic2VhcmNoRmlsdGVyTGFiZWxcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cImZpbHRlclZhbHVlXCIgLz5cbiAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLXNlYXJjaFwiIGNsYXNzPVwiZXVpLW1lbnUtZmlsdGVyX19pbnB1dC1zZWFyY2hcIiBmaWxsQ29sb3I9XCJncmV5LTUwXCIgYXJpYS1sYWJlbD1cIlNlYXJjaCBJY29uXCI+PC9ldWktaWNvbi1zdmc+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjx1bCBldWlMaXN0IGNsYXNzPVwiZXVpLW1lbnVcIiByb2xlPVwibWVudWJhclwiIGFyaWEtb3JpZW50YXRpb249XCJ2ZXJ0aWNhbFwiIHRhYmluZGV4PVwiMFwiPlxuICAgIDxzcGFuICpuZ0lmPVwiIWl0ZW1zXCIgY2xhc3M9XCJldWktbWVudS0tbm8taXRlbXNcIj5ObyBtZW51IGl0ZW1zIGRlZmluZWQ8L3NwYW4+XG4gICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1pdGVtIGxldC1pbmRleCBbbmdGb3JPZl09XCJpdGVtc1wiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibWVudUl0ZW1UZW1wbGF0ZVJlZlwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IG1lbnVJdGVtOiBpdGVtLCBpbmRleDogaW5kZXggfVwiPiA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L3VsPlxuXG48IS0tIGRlc2NyaWJlIHRoZSByZWN1cnNpdmUgdGVtcGxhdGUgb2YgdGhlIG1lbnUgaXRlbSAtLT5cbjxuZy10ZW1wbGF0ZSAjbWVudUl0ZW1UZW1wbGF0ZVJlZiBsZXQtaXRlbT1cIm1lbnVJdGVtXCIgbGV0LXBhcmVudD1cInBhcmVudFwiIGxldC1pPVwiaW5kZXhcIj5cbiAgICA8IS0tIHJlbmRlciB0aGUgbWVudSBpdGVtLS0+XG4gICAgPGV1aS1tZW51LWl0ZW1cbiAgICAgICAgKm5nSWY9XCJpdGVtLmZpbHRlcmVkXCJcbiAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgIFtwYXJlbnRdPVwicGFyZW50XCJcbiAgICAgICAgW2hhc0ljb25dPVwiaGFzSWNvbnNcIlxuICAgICAgICBbaGFzVG9vbHRpcF09XCJoYXNUb29sdGlwXCJcbiAgICAgICAgW2lzQ29sbGFwc2VkXT1cImlzQ29sbGFwc2VkXCJcbiAgICAgICAgW2hhc0NvbGxhcHNlZEluaXRpYWxzXT1cImhhc0NvbGxhcHNlZEluaXRpYWxzXCJcbiAgICAgICAgW2lzTGFiZWxMb3dlcmNhc2VdPVwiaGFzTG93ZXJjYXNlSXRlbXNcIlxuICAgICAgICAoZXhwYW5kVG9nZ2xlKT1cIm9uRXhwYW5kVG9nZ2xlKCRldmVudClcIlxuICAgICAgICAoaXRlbUNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICA8IS0tIGlmIHRoZSBtZW51IGl0ZW0gaGFzIGNoaWxkcmVuLCByZW5kZXIgdGhlIGNoaWxkcmVuIC0tPlxuICAgICAgICA8dWwgZXVpTGlzdCAqbmdJZj1cIml0ZW0uY2hpbGRyZW4gJiYgaXRlbS5leHBhbmRlZFwiIGNsYXNzPVwiZXVpLW1lbnUgZXVpLW1lbnUtc3ViXCIgcm9sZT1cIm1lbnVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0ubGFiZWxcIiB0YWJpbmRleD1cIi0xXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBpdGVtLmNoaWxkcmVuOyBsZXQgY2hpbGRJbmRleCA9IGluZGV4XCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1lbnVJdGVtVGVtcGxhdGVSZWZcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBtZW51SXRlbTogY2hpbGQsIGluZGV4OiBjaGlsZEluZGV4LCBwYXJlbnQ6IGl0ZW0gfVwiPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC91bD5cbiAgICA8L2V1aS1tZW51LWl0ZW0+XG48L25nLXRlbXBsYXRlPlxuIl19
502
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZXVpLW1lbnUvZXVpLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLW1lbnUvZXVpLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLEtBQUssRUFFTCxNQUFNLEVBQ04sWUFBWSxFQUdaLFlBQVksRUFDWixnQkFBZ0IsRUFHaEIsWUFBWSxHQUdmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBMEIsYUFBYSxFQUF3QixNQUFNLGlCQUFpQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVwRCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUU3QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7OztBQWFqRSxNQUFNLE9BQU8sZ0JBQWdCO0lBR3pCLElBQ1csVUFBVTtRQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztZQUM5RCxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM3QyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFBLENBQUMsQ0FB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QWlCLENBQUMsSUFBSTswS0FHRCxjQUFjO3NCQUFqRCxZQUFZO3VCQUFDLG9CQUFvQjtnQkFHdkIsVUFBVTtzQkFEcEIsV0FBVzt1QkFBQyxPQUFPO2dCQVNYLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFa0MsV0FBVztzQkFBbEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxvQkFBb0I7c0JBQTNELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsU0FBUztzQkFBaEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLFVBQVU7c0JBQWpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsY0FBYztzQkFBckQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxNQUFNO3NCQUE3QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLGVBQWU7c0JBQXRELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsaUJBQWlCO3NCQUF4RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUU1QixPQUFPO3NCQUFoQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBZ0JQLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBPbkNoYW5nZXMsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgUXVlcnlMaXN0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIEV2ZW50IGFzIFJvdXRlckV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBGb2N1c0tleU1hbmFnZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCAqIGFzIHV1aWQgZnJvbSAndXVpZCc7XG5cbmltcG9ydCB7IGNvbnN1bWVFdmVudCB9IGZyb20gJ0BldWkvY29yZSc7XG5pbXBvcnQgeyBCYXNlU3RhdGVzRGlyZWN0aXZlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL3NoYXJlZCc7XG5pbXBvcnQgeyBFdWlNZW51SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZXVpLW1lbnUtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXVpTWVudUl0ZW0gfSBmcm9tICdAZXVpL2Jhc2UnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktbWVudScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V1aS1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IEJhc2VTdGF0ZXNEaXJlY3RpdmUsXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQFZpZXdDaGlsZHJlbihFdWlNZW51SXRlbUNvbXBvbmVudCkgZm9jdXNhYmxlSXRlbXM6IFF1ZXJ5TGlzdDxFdWlNZW51SXRlbUNvbXBvbmVudD47XG4gICAgXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgcHVibGljIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbdGhpcy5iYXNlU3RhdGVzRGlyZWN0aXZlLmdldENzc0NsYXNzZXMoJ2V1aS1tZW51LXdyYXBwZXInKSxcbiAgICAgICAgICAgIHRoaXMuaXNDb2xsYXBzZWQgPyAnZXVpLW1lbnUtLWNvbGxhcHNlZCcgOiAnJyxcbiAgICAgICAgICAgICF0aGlzLmhhc0ljb25zID8gJ2V1aS1tZW51LS1uby1pY29ucycgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuaXNGbGF0ID8gJ2V1aS1tZW51LS1mbGF0JzogJycsXG4gICAgICAgIF0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBpdGVtczogRXVpTWVudUl0ZW1bXTtcbiAgICBASW5wdXQoKSBzZWFyY2hGaWx0ZXJMYWJlbDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGV4dGVybmFsTGlua0xhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZnJhZ21lbnRJZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGZpbHRlclZhbHVlID0gJyc7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNDb2xsYXBzZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzQ29sbGFwc2VkSW5pdGlhbHMgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzRmlsdGVyID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc0ljb25zID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc1Rvb2x0aXAgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZXhwYW5kQWxsSXRlbXMgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNGbGF0ID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc1Njcm9sbFRvSXRlbSA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNMb3dlcmNhc2VJdGVtcyA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpIGlzQ2xpY2s6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgaXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8RXVpTWVudUl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdWlNZW51SXRlbT4oKTtcblxuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGl0ZW1zU3RhdGU6IGFueVtdO1xuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJpdmF0ZSBmb2N1c0tleU1hbmFnZXI6IEZvY3VzS2V5TWFuYWdlcjxFdWlNZW51SXRlbUNvbXBvbmVudD47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHB1YmxpYyBiYXNlU3RhdGVzRGlyZWN0aXZlOiBCYXNlU3RhdGVzRGlyZWN0aXZlLFxuICAgICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICApIHt9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgc3RvcFByb3BhZ2F0aW9uKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gZmluZHMgZmlyc3QgY2hpbGQgd2hlbiBBcnJvd0Rvd25cbiAgICAgICAgY29uc3QgZmlyc3RDaGlsZCA9IHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/Lml0ZW0uY2hpbGRyZW4/IHRoaXMuZmluZEZpcnN0RmlsdGVyZWRJdGVtKHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/Lml0ZW0uY2hpbGRyZW4pIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBmaXJzdEZvY3VzYWJsZUl0ZW0gPSB0aGlzLmZpbmRGb2N1c2FibGVJdGVtKGZpcnN0Q2hpbGQpO1xuICAgICAgICAvLyBmaW5kcyB0aGUgcGFyZW50IGVsZW1lbnRcbiAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbT8uaXRlbS5wYXJlbnQ7XG4gICAgICAgIGNvbnN0IHBhcmVudEZvY3VzYWJsZUl0ZW0gPSB0aGlzLmZpbmRGb2N1c2FibGVJdGVtKHBhcmVudCk7XG4gICAgICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICAgICAgICBjYXNlICdFbnRlcic6IHtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICh0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtLmlzTGlua0l0ZW0gfHwgdGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbS5pc1VybEl0ZW0pICYmXG4gICAgICAgICAgICAgICAgICAgICF0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtLmRpc2FibGVkXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0ub25DbGljayhldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnQXJyb3dSaWdodCc6IHtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtPy5pdGVtLmFjdGlvbkljb24pe1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoZWNrQWN0aW9uSWNvbkZvY3VzU3RhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtPy5pdGVtLmV4cGFuZGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtPy5vbkV4cGFuZFRvZ2dsZShldmVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdBcnJvd0xlZnQnOiB7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbT8uaXRlbS5hY3Rpb25JY29uKXtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVja0FjdGlvbkljb25Gb2N1c1N0YXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtPy5pdGVtLmV4cGFuZGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtLm9uRXhwYW5kVG9nZ2xlKGV2ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdBcnJvd0Rvd24nOiB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbT8uaXRlbS5jaGlsZHJlbiAmJiB0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtPy5pdGVtLmV4cGFuZGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vZm9jdXNlcyBmaXJzdCBjaGlsZFxuICAgICAgICAgICAgICAgICAgICBmaXJzdEZvY3VzYWJsZUl0ZW0/LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLnVwZGF0ZUFjdGl2ZUl0ZW0oZmlyc3RGb2N1c2FibGVJdGVtKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHBhcmVudCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBmaW5kcyBsYXN0IGZpbHRlcmVkIGNoaWxkIHdoZW4gQXJyb3dEb3duIGFuZCBuYXZpZ2F0aW5nIHdpdGhpbiBzdWJtZW51XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkQ2hpbGRyZW4gPSB0aGlzLmZpbmRGaWx0ZXJlZEl0ZW1zKHBhcmVudC5jaGlsZHJlbik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxhc3RDaGlsZEluZGV4ID0gKGZpbHRlcmVkQ2hpbGRyZW4/Lmxlbmd0aCkgLSAxO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXN0Q2hpbGQgPSBmaWx0ZXJlZENoaWxkcmVuW2xhc3RDaGlsZEluZGV4XTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGFzdEZvY3VzYWJsZUl0ZW0gPSB0aGlzLmZpbmRGb2N1c2FibGVJdGVtKGxhc3RDaGlsZCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIGlmIHRoZSBhY3RpdmUgaXRlbSBpcyB0aGUgbGFzdCBjaGlsZCwgcHV0cyB0aGUgZm9jdXMgb24gdGhlIG5leHQgcGFyZW50XG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0gPT09IGxhc3RGb2N1c2FibGVJdGVtKXtcbiAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c0tleU1hbmFnZXIudXBkYXRlQWN0aXZlSXRlbShwYXJlbnRGb2N1c2FibGVJdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c0tleU1hbmFnZXIuc2V0TmV4dEl0ZW1BY3RpdmUoKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0odGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbUluZGV4ICsxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHNraXBzIHJlbWFpbmluZyBjaGlsZGVuIGluIHRoZSBxdWVyeSBsaXN0IHdoZW4gdGhlcmUgaXMgZXhwYW5kZWQgbm9kZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlci5za2lwUHJlZGljYXRlKG1lbnVJdGVtID0+IG1lbnVJdGVtLnBhcmVudCAhPSB1bmRlZmluZWQgfHwgbWVudUl0ZW0uaXRlbS52aXNpYmxlID09PSBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLm9uS2V5ZG93bihldmVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnQXJyb3dVcCc6IHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZmluZHMgZmlyc3QgZmlsdGVyZWQgY2hpbGQgd2hlbiBBcnJvd1VwXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkQ2hpbGRyZW4gPSB0aGlzLmZpbmRGaWx0ZXJlZEl0ZW1zKHBhcmVudC5jaGlsZHJlbik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpcnN0Q2hpbGRVcCA9IGZpbHRlcmVkQ2hpbGRyZW5bJzAnXVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaXJzdEZvY3VzYWJsZUl0ZW1VcCA9IHRoaXMuZmluZEZvY3VzYWJsZUl0ZW0oZmlyc3RDaGlsZFVwKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiBuYXZpZ2F0aW5nIHVwIG9uIGEgc3VibWVudSBmb2N1c2VzIHRoZSBwYXJlbnQgaWYgdGhlIGFjdGl2ZSBpdGVtIGlzIHRoZSBmaXJzdCBjaGlsZFxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtID09PSBmaXJzdEZvY3VzYWJsZUl0ZW1VcCl7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKHBhcmVudEZvY3VzYWJsZUl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0odGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbUluZGV4IC0xKTtcbiAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlci5vbktleWRvd24oZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAvLyB3aGVuIG5hdmlnYXRpbmcgdXAgZnJvbSBhIHBhcmVudCBlbGVtZW50IHRvIGFuIGV4cGFuZGVkIHN1Ym1lbnUsIGZpbmRzIHRoZSBsYXN0IGNoaWxkIGFuZCBmb2N1c2VzIGl0XG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMuZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/Lml0ZW0uY2hpbGRyZW4gJiYgdGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbT8uaXRlbS5leHBhbmRlZCl7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJlZENoaWxkcmVuID0gdGhpcy5maW5kRmlsdGVyZWRJdGVtcyh0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtPy5pdGVtLmNoaWxkcmVuKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxhc3RDaGlsZEluZGV4VXAgPSAoZmlsdGVyZWRDaGlsZHJlbi5sZW5ndGgpIC0gMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxhc3RGb2N1c2FibGVJdGVtVXAgPXRoaXMuZmluZEZvY3VzYWJsZUl0ZW0oZmlsdGVyZWRDaGlsZHJlbltsYXN0Q2hpbGRJbmRleFVwXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKGxhc3RGb2N1c2FibGVJdGVtVXApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLm9uS2V5ZG93bihldmVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLml0ZW1zKSB7XG4gICAgICAgICAgICB0aGlzLml0ZW1zID0gdGhpcy5jb25maWd1cmVJdGVtcyh0aGlzLml0ZW1zKTtcbiAgICAgICAgICAgIC8vIGdldCBjdXJyZW50IHVybFxuICAgICAgICAgICAgY29uc3QgY3VycmVudFVybCA9IHRoaXMucm91dGVyLnVybDtcbiAgICAgICAgICAgIC8vIGZpbmQgYW4gaXRlbSB0aGF0IG1hdGNoZXMgdGhlIGN1cnJlbnQgdXJsIG9yIHRoZSBtb3N0IHJlbGV2YW50IG9uZVxuICAgICAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuZmluZE1vc3RSZWxldmFudEl0ZW0oY3VycmVudFVybCwgdGhpcy5pdGVtcyk7XG4gICAgICAgICAgICAvLyBleHBhbmQgdG8gdGhhdCBpdGVtXG4gICAgICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZXhwYW5kVG9HaXZlbkl0ZW0oaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFeHBhbmQgLyBDb2xsYXBzZSBBbGwgaXRlbXNcbiAgICAgICAgaWYgKGNoYW5nZXMuZXhwYW5kQWxsSXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLnNldEV4cGFuZGVkVG9BbGxJdGVtcyhjb2VyY2VCb29sZWFuUHJvcGVydHkoY2hhbmdlcy5leHBhbmRBbGxJdGVtcy5jdXJyZW50VmFsdWUpLCB0aGlzLml0ZW1zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjaGFuZ2VzLmZpbHRlclZhbHVlICYmIHRoaXMuaGFzRmlsdGVyKSB7XG4gICAgICAgICAgICB0aGlzLm9uRmlsdGVyKGNoYW5nZXMuZmlsdGVyVmFsdWUuY3VycmVudFZhbHVlID8/ICcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlZnJlc2ggd2hlbiBpbnRlcmFjdGl2ZSBjb2xsYXBzZWQgdG8gaW5pdGlhbHNcbiAgICAgICAgaWYgKGNoYW5nZXMuaGFzQ29sbGFwc2VkSW5pdGlhbHMpIHtcbiAgICAgICAgICAgIHRoaXMuaGFzQ29sbGFwc2VkSW5pdGlhbHMgPSBjaGFuZ2VzLmhhc0NvbGxhcHNlZEluaXRpYWxzLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLmNvbmZpZ3VyZUl0ZW1zKHRoaXMuaXRlbXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIExhYmVscyBkZWZhdWx0IHZhbHVlcyAtIFRPRE8gOiB0cmFuc2xhdGlvbnNcbiAgICAgICAgaWYgKCF0aGlzLnNlYXJjaEZpbHRlckxhYmVsKSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaEZpbHRlckxhYmVsID0gJ1NlYXJjaCBmaWx0ZXInO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZWxlbWVudElzVmlzaWJsZUluVmlld3BvcnQgPSAoZWwsIHBhcnRpYWxseVZpc2libGUgPSBmYWxzZSk6IGJvb2xlYW4gPT4ge1xuICAgICAgICAgICAgY29uc3QgeyB0b3AsIGxlZnQsIGJvdHRvbSwgcmlnaHQgfSA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgY29uc3QgeyBpbm5lckhlaWdodCwgaW5uZXJXaWR0aCB9ID0gd2luZG93O1xuICAgICAgICAgICAgcmV0dXJuIHBhcnRpYWxseVZpc2libGVcbiAgICAgICAgICAgID8gKCh0b3AgPiAwICYmIHRvcCA8IGlubmVySGVpZ2h0KSB8fFxuICAgICAgICAgICAgKGJvdHRvbSA+IDAgJiYgYm90dG9tIDwgaW5uZXJIZWlnaHQpKSAmJlxuICAgICAgICAgICAgKChsZWZ0ID4gMCAmJiBsZWZ0IDwgaW5uZXJXaWR0aCkgfHwgKHJpZ2h0ID4gMCAmJiByaWdodCA8IGlubmVyV2lkdGgpKVxuICAgICAgICAgICAgOiB0b3AgPj0gMCAmJiBsZWZ0ID49IDAgJiYgYm90dG9tIDw9IGlubmVySGVpZ2h0ICYmIHJpZ2h0IDw9IGlubmVyV2lkdGg7XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gc3Vic2NyaXB0aW9uIHRvIHJvdXRlcyB1cmwgY2hhbmdlcyBmb3IgYWN0aXZhdGluZyB0aGUgc2Nyb2xsSW50b1ZpZXcgKG9wdGlvbmFsKVxuICAgICAgICBpZiAodGhpcy5oYXNTY3JvbGxUb0l0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQ6IFJvdXRlckV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5maW5kTW9zdFJlbGV2YW50SXRlbShldmVudC51cmwsIHRoaXMuaXRlbXMpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChfID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXRlbS5pZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFlbGVtZW50SXNWaXNpYmxlSW5WaWV3cG9ydChlbGVtZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIDEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIGluc3RhbnRpYXRlcyBGb2N1c0tleU1hbmFnZXIgd2l0aCB0aGUgcXVlcnkgbGlzdCBvZiBpdGVtcyBlbmFibGluZyB3cmFwcGluZ1xuICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXIodGhpcy5mb2N1c2FibGVJdGVtcykud2l0aFdyYXAoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOnZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25DbGljayhpdGVtOiBFdWlNZW51SXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAoIWl0ZW0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGlmIChpdGVtLnVybEV4dGVybmFsKSB7XG4gICAgICAgICAgICAgICAgd2luZG93Lm9wZW4oaXRlbS51cmxFeHRlcm5hbCwgaXRlbS51cmxFeHRlcm5hbFRhcmdldCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0udXJsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2l0ZW0udXJsXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLCBmcmFnbWVudDogdGhpcy5mcmFnbWVudElkIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGl0ZW0uY29tbWFuZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmNvbW1hbmQoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRXhwYW5kVG9nZ2xlKGl0ZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGl0ZW0ubGluaykge1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zPy5tYXAoKGl0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGl0LmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXQuaWQgPT09IGl0ZW0uaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0LmFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0O1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc0NsaWNrLmVtaXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuaXRlbUNsaWNrLmVtaXQoaXRlbSk7XG5cbiAgICAgICAgY29uc3QgZm9jdXNlZEl0ZW0gPSB0aGlzLmZpbmRGb2N1c2FibGVJdGVtKGl0ZW0pO1xuICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKGZvY3VzZWRJdGVtKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25FeHBhbmRUb2dnbGUoaXRlbTogRXVpTWVudUl0ZW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkV4cGFuZFRvZ2dsZWQoaXRlbSwgdGhpcy5pdGVtcyk7XG4gICAgICAgIC8vIFRPRE86IGludmVzdGlnYXRlIHdoeSB0aGUgYWJvdmUgaXMgbmVlZGVkLiBDYW4gaXQgYmUgc2ltcGx5IFwiaXRlbS5leHBhbmRlZCA9ICFpdGVtLmV4cGFuZGVkO1wiID9cbiAgICB9XG5cbiAgICBwdWJsaWMgb25NZW51RmlsdGVyQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3VtZUV2ZW50KGV2ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25GaWx0ZXIoZXZlbnQ6IEV2ZW50KVxuICAgIHB1YmxpYyBvbkZpbHRlcih2YWx1ZTogc3RyaW5nKVxuICAgIHB1YmxpYyBvbkZpbHRlcihldmVudE9yVmFsdWU6IEV2ZW50IHwgc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gZXZlbnRPclZhbHVlIGluc3RhbmNlb2YgRXZlbnRcbiAgICAgICAgICAgID8gKGV2ZW50T3JWYWx1ZS50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWVcbiAgICAgICAgICAgIDogZXZlbnRPclZhbHVlO1xuICAgICAgICB0aGlzLl9vblRvZ2dsZUV4cGFuZEFsbEl0ZW1zKHZhbHVlID8gdHJ1ZSA6IGZhbHNlKTtcblxuICAgICAgICB0aGlzLml0ZW1zID0gdGhpcy5maWx0ZXJNZW51SXRlbXModGhpcy5pdGVtcywgdmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX29uVG9nZ2xlRXhwYW5kQWxsSXRlbXMoc3RhdGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuc2V0RXhwYW5kZWRUb0FsbEl0ZW1zKHN0YXRlLCB0aGlzLml0ZW1zKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBmaW5kcyB0aGUgRXVpTWVudUl0ZW1Db21wb25lbnQgaW4gdGhlIHF1ZXJpZWQgZm9jdXNhYmxlSXRlbXNbXSB0aGF0ICBtYXRjaGVzIHRoZSBwYXNzZWQgRXVpTWVudUl0ZW0gb2JqZWN0XG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVudUl0ZW0gYW4gRXVpTWVudUl0ZW1cbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgZmluZEZvY3VzYWJsZUl0ZW0obWVudUl0ZW06IEV1aU1lbnVJdGVtICk6IEV1aU1lbnVJdGVtQ29tcG9uZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9jdXNhYmxlSXRlbXMuZmluZChcbiAgICAgICAgICAgIChmb2N1c2FibGVJdGVtKSA9PiBmb2N1c2FibGVJdGVtLml0ZW0ubGFiZWwgPT09IG1lbnVJdGVtPy5sYWJlbCAmJiBmb2N1c2FibGVJdGVtLml0ZW0uaWQgPT09IG1lbnVJdGVtLmlkLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGZpbmRzIHRoZSBmaXJzdCBpdGVtIHRoYXQgaXMgZmlsdGVyZWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBtZW51SXRlbXMgYW4gYXJyYXkgb2YgRXVpTWVudUl0ZW1cbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgZmluZEZpcnN0RmlsdGVyZWRJdGVtKG1lbnVJdGVtczogRXVpTWVudUl0ZW0gW10pOiBFdWlNZW51SXRlbSB7XG4gICAgICAgIHJldHVybiBtZW51SXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5maWx0ZXJlZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZmluZHMgYWxsIGZpbHRlcmVkIG1lbnUgaXRlbXNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBtZW51SXRlbXMgYW4gYXJyYXkgb2YgRXVpTWVudUl0ZW1cbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgZmluZEZpbHRlcmVkSXRlbXMobWVudUl0ZW1zOiBFdWlNZW51SXRlbSBbXSk6IEV1aU1lbnVJdGVtIFtdIHtcbiAgICAgICAgcmV0dXJuIG1lbnVJdGVtcy5maWx0ZXIoKGl0ZW1zKSA9PiBpdGVtcy5maWx0ZXJlZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY2hlY2tzIHRoZSBmb2N1cyBzdGF0ZSBvZiB0aGUgYWN0aW9uIGljb25cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBjaGVja0FjdGlvbkljb25Gb2N1c1N0YXRlKCk6IHZvaWQge1xuICAgICAgICAvLyBjaGVjayBpZiB0aGUgYWN0aW9uIGljb24gaXMgZm9jdXNlZCBhbmQgaWYgbm90IGZvY3VzIGl0LCBvdGhlcndpc2UgZm9jdXMgdGhlIGFjdGl2ZSBpdGVtXG4gICAgICAgICF0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtLmlzQWN0aW9uSWNvbkZvY3VzZWQgPyB0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtLmZvY3VzQWN0aW9uSWNvbigpIDogdGhpcy5mb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbS5mb2N1cygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGZpbHRlciBhbGwgbWVudSBpdGVtcyBnaXZlbiBhIHZhbHVlXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVudUl0ZW1zIGFuIGFycmF5IG9mIG1lbnUgaXRlbXNcbiAgICAgKiBAcGFyYW0gZmlsdGVyVmFsdWUgdGhlIHZhbHVlIHRvIGZpbHRlciBtZW51IGl0ZW1zXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGZpbHRlck1lbnVJdGVtcyhtZW51SXRlbXM6IEV1aU1lbnVJdGVtW10sIGZpbHRlclZhbHVlOiBzdHJpbmcpOiBFdWlNZW51SXRlbVtdIHtcbiAgICAgICAgcmV0dXJuIG1lbnVJdGVtcz8ubWFwKChpdGVtOiBFdWlNZW51SXRlbSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZm91bmQgPSBpdGVtLmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihmaWx0ZXJWYWx1ZS50b0xvd2VyQ2FzZSgpKSAhPT0gLTE7XG4gICAgICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgIGl0ZW0uY2hpbGRyZW4gPSB0aGlzLmZpbHRlck1lbnVJdGVtcyhpdGVtLmNoaWxkcmVuLCBmaWx0ZXJWYWx1ZSk7XG4gICAgICAgICAgICAgICAgaXRlbS5maWx0ZXJlZCA9IGl0ZW0uY2hpbGRyZW4uZmlsdGVyKChsKSA9PiBsWydmaWx0ZXJlZCddID09PSB0cnVlKS5sZW5ndGggPiAwO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChmb3VuZCkge1xuICAgICAgICAgICAgICAgIGl0ZW0uZmlsdGVyZWQgPSBmb3VuZDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaXRlbS5maWx0ZXJlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGV4cGFuZCAvIGNvbGxhcHNlIGFsbCBpdGVtc1xuICAgICAqXG4gICAgICogQHBhcmFtIGlzRXhwYW5kZWRcbiAgICAgKiBAcGFyYW0gaXRlbXNcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgc2V0RXhwYW5kZWRUb0FsbEl0ZW1zKGlzRXhwYW5kZWQsIGl0ZW1zOiBFdWlNZW51SXRlbVtdKTogRXVpTWVudUl0ZW1bXSB7XG4gICAgICAgIHJldHVybiBpdGVtcz8ubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgIGl0ZW0uZXhwYW5kZWQgPSBpc0V4cGFuZGVkO1xuICAgICAgICAgICAgICAgIGl0ZW0uY2hpbGRyZW4gPSB0aGlzLnNldEV4cGFuZGVkVG9BbGxJdGVtcyhpc0V4cGFuZGVkLCBpdGVtLmNoaWxkcmVuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKGl0ZW0sIHsgdmlzaWJsZTogaXRlbS52aXNpYmxlID09PSB1bmRlZmluZWQgPyB0cnVlIDogaXRlbS52aXNpYmxlIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBleHBhbmQgLyBjb2xsYXBzZSBhIG1lbnUgaXRlbVxuICAgICAqXG4gICAgICogQHBhcmFtIGl0ZW0gVGhlIGl0ZW0gd2hlcmUgdGhlIFwiZXhwYW5kXCIgaGFkIGJlZW4gdG9nZ2xlZFxuICAgICAqIEBwYXJhbSBpdGVtcyBUaGUgaXRlbXMgbGlzdCAodXNlZCBmb3IgcmVjdXJzaW9uKVxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBvbkV4cGFuZFRvZ2dsZWQoaXRlbTogRXVpTWVudUl0ZW0sIGl0ZW1zOiBFdWlNZW51SXRlbVtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGl0ZW1JZHggPSBpdGVtcz8uaW5kZXhPZihpdGVtKTtcbiAgICAgICAgaWYgKGl0ZW1JZHggPiAtMSkge1xuICAgICAgICAgICAgaXRlbXNbaXRlbUlkeF0uZXhwYW5kZWQgPSAhaXRlbXNbaXRlbUlkeF0uZXhwYW5kZWQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpdGVtcy5mb3JFYWNoKChpKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGkuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkV4cGFuZFRvZ2dsZWQoaXRlbSwgaS5jaGlsZHJlbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjb25maWd1cmUgYW4gYXJyYXkgb2YgaXRlbXMgd2l0aCB2aXNpYmxlLCBmaWx0ZXJlZCBhbmQgZXhwYW5kIChpbiBjYXNlIG9mIGV4cGFuZEFsbEl0ZW1zIGZsYWcgZW5hYmxlZCkgcHJvcGVydGllc1xuICAgICAqXG4gICAgICogQHBhcmFtIGl0ZW1zIEFuIGFycmF5IG9mIEV1aU1lbnVJdGVtXG4gICAgICogQHBhcmFtIHBhcmVudCB0aGUgcGFyZW50IGl0ZW0gb2YgaXRlbXMgaWYgZXhpc3RzXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGNvbmZpZ3VyZUl0ZW1zKGl0ZW1zOiBFdWlNZW51SXRlbVtdLCBwYXJlbnQ/OiBFdWlNZW51SXRlbSk6IEV1aU1lbnVJdGVtW10ge1xuICAgICAgICByZXR1cm4gaXRlbXM/Lm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgLy8gcmVjdXJzaW9uIGluIGNhc2UgdGhlcmUgYXJlIGNoaWxkcmVuXG4gICAgICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgIGl0ZW0uY2hpbGRyZW4gPSB0aGlzLmNvbmZpZ3VyZUl0ZW1zKGl0ZW0uY2hpbGRyZW4sIGl0ZW0pO1xuICAgICAgICAgICAgICAgIC8vIGV4cGFuZCBhbGwgcGFyZW50cyB3aXRoIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZXhwYW5kQWxsSXRlbXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5leHBhbmRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gcG9pbnQgdG8gdGhlIHBhcmVudFxuICAgICAgICAgICAgaWYgKHBhcmVudCkge1xuICAgICAgICAgICAgICAgIGl0ZW0ucGFyZW50ID0gcGFyZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIWl0ZW0uaWQgJiYgdGhpcy5oYXNTY3JvbGxUb0l0ZW0pIHtcbiAgICAgICAgICAgICAgICBpdGVtLmlkID0gdXVpZC52NCgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoaXRlbS5sYWJlbCAmJiB0aGlzLmhhc0NvbGxhcHNlZEluaXRpYWxzKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgd29yZHMgPSBpdGVtLmxhYmVsLnNwbGl0KCcgJyk7XG4gICAgICAgICAgICAgICAgaWYgKHdvcmRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmluaXRpYWxzID0gYCR7aXRlbS5sYWJlbC5zdWJzdHJpbmcoMCwgMSl9JHtpdGVtLmxhYmVsLnN1YnN0cmluZygxLCAxKX1gO1xuXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5pbml0aWFscyA9IGAke3dvcmRzWzBdLnN1YnN0cmluZygwLCAxKX0ke3dvcmRzWzFdLnN1YnN0cmluZygwLCAxKX1gO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oaXRlbSwgeyB2aXNpYmxlOiBpdGVtLnZpc2libGUgPT09IHVuZGVmaW5lZCA/IHRydWUgOiBpdGVtLnZpc2libGUsIGZpbHRlcmVkOiB0cnVlIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHaXZlbiBhIFVSTCBhbmQgYSBsaXN0IG9mIGl0ZW1zLCBpdCB3aWxsIGV4cGFuZCB0aGUgaXRlbSB0aGF0IG1hdGNoZXMgdGhlIFVSTC4gSWYgbm90IGl0ZW0gbWF0Y2hlcyBleGFjdGx5IHRoZSB1cmwsIHRoZW4gaXQgd2lsbFxuICAgICAqIG1hdGNoIHRoZSBpdGVtIHRoYXQgaXMgbW9zdCByZWxldmFudCB0byB0aGF0IHVybC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtc1xuICAgICAqIEBwYXJhbSB2YWx1ZVxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBmaW5kTW9zdFJlbGV2YW50SXRlbSh1cmw6IHN0cmluZywgaXRlbXM6IEV1aU1lbnVJdGVtW10sIHJlbGV2YW50SXRlbT86IEV1aU1lbnVJdGVtKTogRXVpTWVudUl0ZW0ge1xuICAgICAgICBpZiAoIWl0ZW1zKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLnVybCAmJiB1cmwuaW5kZXhPZihpdGVtLnVybC5zdWJzdHIoMSkpID4gLTEpIHtcbiAgICAgICAgICAgICAgICByZWxldmFudEl0ZW0gPSB0aGlzLmdldE1vc3RSZWxldmFudEl0ZW0odXJsLCByZWxldmFudEl0ZW0sIGl0ZW0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgIHJlbGV2YW50SXRlbSA9IHRoaXMuZmluZE1vc3RSZWxldmFudEl0ZW0odXJsLCBpdGVtLmNoaWxkcmVuLCByZWxldmFudEl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gcmVsZXZhbnRJdGVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdpdmVuIHR3byBpdGVtcyB3aXRoIHVybCByZXR1cm4gdGhlIG9uZSB3aXRoIHRoZSBtb3N0IHJlbGV2YW50IHVybCB0aGF0IG1hdGNoZXMgZ2l2ZW4gdXJsXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdXJsIEEgVVJMIHRvIGJlIG1hdGNoZWQgd2l0aCB0aGUgb25lIG9mIGdpdmVuIGl0ZW1zXG4gICAgICogQHBhcmFtIGl0ZW0xXG4gICAgICogQHBhcmFtIGl0ZW0yXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldE1vc3RSZWxldmFudEl0ZW0odXJsOiBzdHJpbmcsIGl0ZW0xOiBFdWlNZW51SXRlbSwgaXRlbTI6IEV1aU1lbnVJdGVtKTogRXVpTWVudUl0ZW0ge1xuICAgICAgICBjb25zdCByZW1haW5kZXIxID0gdXJsLnJlcGxhY2UoaXRlbTE/LnVybCB8fCAnJywgJycpO1xuICAgICAgICBjb25zdCByZW1haW5kZXIyID0gdXJsLnJlcGxhY2UoaXRlbTI/LnVybCB8fCAnJywgJycpO1xuXG4gICAgICAgIHJldHVybiByZW1haW5kZXIxLmxlbmd0aCA8IHJlbWFpbmRlcjIubGVuZ3RoID8gaXRlbTEgOiBpdGVtMjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHaXZlbiBhbiBpdGVtLCBpZiB0aGVyZSdzIGEgcGFyZW50IGV4cGFuZCBpdCB1bnRpbCB5b3UgcmVhY2ggdGhlIHJvb3QgaXRlbVxuICAgICAqXG4gICAgICogQHBhcmFtIGl0ZW0gR2l2ZW4gbWVudSBpdGVtXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGV4cGFuZFRvR2l2ZW5JdGVtKGl0ZW06IEV1aU1lbnVJdGVtKTogdm9pZCB7XG4gICAgICAgIGlmIChpdGVtLnBhcmVudCkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiAoaXRlbS5wYXJlbnQuZXhwYW5kZWQgPSB0cnVlKSk7XG4gICAgICAgICAgICB0aGlzLmV4cGFuZFRvR2l2ZW5JdGVtKGl0ZW0ucGFyZW50KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJoYXNGaWx0ZXIgJiYgIWlzQ29sbGFwc2VkXCIgY2xhc3M9XCJldWktbWVudS1maWx0ZXJcIiAoY2xpY2spPVwib25NZW51RmlsdGVyQ2xpY2soJGV2ZW50KVwiPlxuICAgIDxkaXYgY2xhc3M9XCJldWktbWVudS1maWx0ZXJfX2lucHV0LXdyYXBwZXJcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBldWlJbnB1dFRleHRcbiAgICAgICAgICAgIFtldWlDbGVhcmFibGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAoaW5wdXQpPVwib25GaWx0ZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICBjbGFzcz1cImV1aS1tZW51LWZpbHRlcl9faW5wdXRcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInNlYXJjaEZpbHRlckxhYmVsXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwic2VhcmNoRmlsdGVyTGFiZWxcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cImZpbHRlclZhbHVlXCIgLz5cbiAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLXNlYXJjaFwiIGNsYXNzPVwiZXVpLW1lbnUtZmlsdGVyX19pbnB1dC1zZWFyY2hcIiBmaWxsQ29sb3I9XCJncmV5LTUwXCIgYXJpYS1sYWJlbD1cIlNlYXJjaCBJY29uXCI+PC9ldWktaWNvbi1zdmc+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjx1bCBldWlMaXN0IGNsYXNzPVwiZXVpLW1lbnVcIiByb2xlPVwibWVudWJhclwiIGFyaWEtb3JpZW50YXRpb249XCJ2ZXJ0aWNhbFwiIHRhYmluZGV4PVwiMFwiIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpXCI+XG4gICAgPHNwYW4gKm5nSWY9XCIhaXRlbXNcIiBjbGFzcz1cImV1aS1tZW51LS1uby1pdGVtc1wiPk5vIG1lbnUgaXRlbXMgZGVmaW5lZDwvc3Bhbj5cbiAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWl0ZW0gbGV0LWluZGV4IFtuZ0Zvck9mXT1cIml0ZW1zXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJtZW51SXRlbVRlbXBsYXRlUmVmXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgbWVudUl0ZW06IGl0ZW0sIGluZGV4OiBpbmRleCB9XCI+IDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvdWw+XG5cbjwhLS0gZGVzY3JpYmUgdGhlIHJlY3Vyc2l2ZSB0ZW1wbGF0ZSBvZiB0aGUgbWVudSBpdGVtIC0tPlxuPG5nLXRlbXBsYXRlICNtZW51SXRlbVRlbXBsYXRlUmVmIGxldC1pdGVtPVwibWVudUl0ZW1cIiBsZXQtcGFyZW50PVwicGFyZW50XCIgbGV0LWk9XCJpbmRleFwiPlxuICAgIDwhLS0gcmVuZGVyIHRoZSBtZW51IGl0ZW0tLT5cbiAgICA8ZXVpLW1lbnUtaXRlbVxuICAgICAgICAqbmdJZj1cIml0ZW0uZmlsdGVyZWRcIlxuICAgICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgICAgW3BhcmVudF09XCJwYXJlbnRcIlxuICAgICAgICBbaGFzSWNvbl09XCJoYXNJY29uc1wiXG4gICAgICAgIFtoYXNUb29sdGlwXT1cImhhc1Rvb2x0aXBcIlxuICAgICAgICBbaXNDb2xsYXBzZWRdPVwiaXNDb2xsYXBzZWRcIlxuICAgICAgICBbaGFzQ29sbGFwc2VkSW5pdGlhbHNdPVwiaGFzQ29sbGFwc2VkSW5pdGlhbHNcIlxuICAgICAgICBbaXNMYWJlbExvd2VyY2FzZV09XCJoYXNMb3dlcmNhc2VJdGVtc1wiXG4gICAgICAgIChleHBhbmRUb2dnbGUpPVwib25FeHBhbmRUb2dnbGUoJGV2ZW50KVwiXG4gICAgICAgIChpdGVtQ2xpY2spPVwib25DbGljaygkZXZlbnQpXCI+XG4gICAgICAgIDwhLS0gaWYgdGhlIG1lbnUgaXRlbSBoYXMgY2hpbGRyZW4sIHJlbmRlciB0aGUgY2hpbGRyZW4gLS0+XG4gICAgICAgIDx1bCBldWlMaXN0ICpuZ0lmPVwiaXRlbS5jaGlsZHJlbiAmJiBpdGVtLmV4cGFuZGVkXCIgY2xhc3M9XCJldWktbWVudSBldWktbWVudS1zdWJcIiByb2xlPVwibWVudVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiaXRlbS5sYWJlbFwiIHRhYmluZGV4PVwiLTFcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNoaWxkIG9mIGl0ZW0uY2hpbGRyZW47IGxldCBjaGlsZEluZGV4ID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibWVudUl0ZW1UZW1wbGF0ZVJlZlwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IG1lbnVJdGVtOiBjaGlsZCwgaW5kZXg6IGNoaWxkSW5kZXgsIHBhcmVudDogaXRlbSB9XCI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3VsPlxuICAgIDwvZXVpLW1lbnUtaXRlbT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -45,11 +45,11 @@ export class EuiOverlayComponent {
45
45
  }
46
46
  }
47
47
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.4", ngImport: i0, type: EuiOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
48
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0-next.4", type: EuiOverlayComponent, selector: "eui-overlay", inputs: { isActive: ["isActive", "isActive", booleanAttribute], hasClosedOnClickOutside: ["hasClosedOnClickOutside", "hasClosedOnClickOutside", booleanAttribute], position: "position", width: "width", fixedWidth: "fixedWidth" }, outputs: { activeState: "activeState" }, host: { listeners: { "keydown": "onKeydown($event)", "document:click": "onClick($event)" }, properties: { "class": "this.cssClasses", "attr.role": "this.role", "attr.aria-label": "this['aria-label']" } }, ngImport: i0, template: "<div *ngIf=\"isActive\" class=\"eui-overlay-wrapper\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\">\n <ng-content select=\"eui-overlay-header\"></ng-content>\n <ng-content select=\"eui-overlay-body\"></ng-content>\n <ng-content select=\"eui-overlay-footer\"></ng-content>\n</div>\n", styles: [".eui-overlay{background:var(--eui-base-color-white);border-left:1px solid var(--eui-base-color-grey-50);border-right:1px solid var(--eui-base-color-grey-50);height:100%;overflow-x:hidden;overflow-y:auto;position:fixed;right:-35%;top:0;width:35%;z-index:var(--eui-base-z-index-overlay)}.eui-overlay:not(.eui-overlay--slideInRight){transition:var(--eui-base-animation-transition-base)}.eui-overlay-wrapper{color:var(--eui-base-color-text);display:flex;flex-direction:column;height:100%}.eui-overlay-header{align-items:center;border-bottom:1px solid var(--eui-base-color-grey-25);cursor:default;display:flex;flex:0 0 auto;padding:var(--eui-base-spacing-m)}.eui-overlay-header:not(.eui-overlay-header--with-title){padding:var(--eui-base-spacing-m) var(--eui-base-spacing-s) var(--eui-base-spacing-m) var(--eui-base-spacing-m)}.eui-overlay-header-toolbar{align-items:center;display:flex;margin-left:auto;font:normal normal 400 1rem/1.75rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header__close--inversed{background:transparent;color:var(--eui-base-color-white)}.eui-overlay-header__close--inversed:hover{color:var(--eui-ctx-c-da)}.eui-overlay-header-title{display:flex;width:100%;flex-direction:column}.eui-overlay-header-title__label-wrapper{display:flex;flex-direction:row}.eui-overlay-header-title__label{display:flex;font:normal normal 400 1.25rem/2rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header-title__actions{align-items:center;display:flex;margin-left:auto}.eui-overlay-header-title__actions-hide{align-items:center;display:flex}.eui-overlay-header-title__actions-hide-link{display:inline-flex}.eui-overlay-header-title__subactions-bar{display:flex;align-items:center}.eui-overlay-body{cursor:auto;flex:1 1 auto;overflow-y:auto;position:relative}.eui-overlay-body::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-5)}.eui-overlay-body::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-overlay-body::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-50)}.eui-overlay-body::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-overlay-footer{background-color:var(--eui-base-color-white);border-top:1px solid var(--eui-base-color-grey-25);flex:0 0 auto;padding:var(--eui-base-spacing-m);text-align:center}.eui-overlay.eui-overlay--slideInRight{transform:translateZ(0);display:inline-block;vertical-align:middle;animation-name:eui-overlay--slideInRight;animation-duration:var(--eui-base-animation-duration-fast);backface-visibility:visible}@keyframes eui-overlay--slideInRight{0%{transform:translate3d(50%,0,0);visibility:visible}to{transform:translateZ(0)}}.eui-overlay--size-full-screen{right:-100%;width:100%}.eui-overlay--is-active{right:0!important;box-shadow:var(--eui-base-shadow-5)}.eui-overlay--highlighted{z-index:var(--eui-base-z-index-highlighted)}.eui-overlay-header--primary{background-color:var(--eui-ctx-c-p);color:#fff}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-25{right:-25%;width:25%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-30{right:-30%;width:30%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-35{right:-35%;width:35%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-40{right:-40%;width:40%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-50{right:-50%;width:50%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-75{right:-75%;width:75%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-25{right:-25rem;width:25rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-30{right:-30rem;width:30rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-35{right:-35rem;width:35rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-40{right:-40rem;width:40rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-50{right:-50rem;width:50rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-75{right:-75rem;width:75rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-right{position:fixed}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-top-center{height:auto;left:50%;position:fixed;top:0;transform:translate(-50%)}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-center{height:auto;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%)}@media screen and (max-width: 767px){.eui-overlay{right:-75%;width:75%!important}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-overlay{right:-45%;width:45%!important}}@media screen and (min-width: 1400px){.eui-overlay{right:-33%;width:33%!important}}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], encapsulation: i0.ViewEncapsulation.None }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0-next.4", type: EuiOverlayComponent, selector: "eui-overlay", inputs: { isActive: ["isActive", "isActive", booleanAttribute], hasClosedOnClickOutside: ["hasClosedOnClickOutside", "hasClosedOnClickOutside", booleanAttribute], position: "position", width: "width", fixedWidth: "fixedWidth" }, outputs: { activeState: "activeState" }, host: { listeners: { "keydown": "onKeydown($event)", "document:click": "onClick($event)" }, properties: { "class": "this.cssClasses", "attr.role": "this.role", "attr.aria-label": "this['aria-label']" } }, ngImport: i0, template: "<div *ngIf=\"isActive\" class=\"eui-overlay-wrapper\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\">\n <ng-content select=\"eui-overlay-header\"></ng-content>\n <ng-content select=\"eui-overlay-body\"></ng-content>\n <ng-content select=\"eui-overlay-footer\"></ng-content>\n</div>\n", styles: [".eui-overlay{background:var(--eui-ctx-c-white);border-left:1px solid var(--eui-ctx-c-s-lighter);border-right:1px solid var(--eui-ctx-c-s-lighter);height:100%;overflow-x:hidden;overflow-y:auto;position:fixed;right:-35%;top:0;width:35%;z-index:var(--eui-base-z-index-overlay)}.eui-overlay:not(.eui-overlay--slideInRight){transition:var(--eui-base-animation-transition-base)}.eui-overlay-wrapper{color:var(--eui-ctx-c-text);display:flex;flex-direction:column;height:100%}.eui-overlay-header{align-items:center;border-bottom:1px solid var(--eui-ctx-c-s-lightest);cursor:default;display:flex;flex:0 0 auto;padding:var(--eui-base-spacing-m)}.eui-overlay-header:not(.eui-overlay-header--with-title){padding:var(--eui-base-spacing-m) var(--eui-base-spacing-s) var(--eui-base-spacing-m) var(--eui-base-spacing-m)}.eui-overlay-header-toolbar{align-items:center;display:flex;margin-left:auto;font:normal normal 400 1rem/1.75rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header__close--inversed{background:transparent;color:var(--eui-ctx-c-white)}.eui-overlay-header__close--inversed:hover{color:var(--eui-ctx-c-da)}.eui-overlay-header-title{display:flex;width:100%;flex-direction:column}.eui-overlay-header-title__label-wrapper{display:flex;flex-direction:row}.eui-overlay-header-title__label{display:flex;font:normal normal 400 1.25rem/2rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header-title__actions{align-items:center;display:flex;margin-left:auto}.eui-overlay-header-title__actions-hide{align-items:center;display:flex}.eui-overlay-header-title__actions-hide-link{display:inline-flex}.eui-overlay-header-title__subactions-bar{display:flex;align-items:center}.eui-overlay-body{cursor:auto;flex:1 1 auto;overflow-y:auto;position:relative}.eui-overlay-body::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-ctx-c-s-bg-light)}.eui-overlay-body::-webkit-scrollbar-thumb{background-color:var(--eui-ctx-c-bg0);border-radius:5rem}.eui-overlay-body::-webkit-scrollbar-thumb:hover{background-color:var(--eui-ctx-c-s-lighter)}.eui-overlay-body::-webkit-scrollbar-track{background-color:var(--eui-ctx-c-s-bg-light);border-radius:0}.eui-overlay-footer{background-color:var(--eui-ctx-c-white);border-top:1px solid var(--eui-ctx-c-s-lightest);flex:0 0 auto;padding:var(--eui-base-spacing-m);text-align:center}.eui-overlay.eui-overlay--slideInRight{transform:translateZ(0);display:inline-block;vertical-align:middle;animation-name:eui-overlay--slideInRight;animation-duration:var(--eui-base-animation-duration-fast);backface-visibility:visible}@keyframes eui-overlay--slideInRight{0%{transform:translate3d(50%,0,0);visibility:visible}to{transform:translateZ(0)}}.eui-overlay--size-full-screen{right:-100%;width:100%}.eui-overlay--is-active{right:0!important;box-shadow:var(--eui-base-shadow-5)}.eui-overlay--highlighted{z-index:var(--eui-base-z-index-highlighted)}.eui-overlay-header--primary{background-color:var(--eui-ctx-c-p);color:#fff}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-25{right:-25%;width:25%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-30{right:-30%;width:30%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-35{right:-35%;width:35%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-40{right:-40%;width:40%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-50{right:-50%;width:50%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-75{right:-75%;width:75%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-25{right:-25rem;width:25rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-30{right:-30rem;width:30rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-35{right:-35rem;width:35rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-40{right:-40rem;width:40rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-50{right:-50rem;width:50rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-75{right:-75rem;width:75rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-right{position:fixed}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-top-center{height:auto;left:50%;position:fixed;top:0;transform:translate(-50%)}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-center{height:auto;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%)}@media screen and (max-width: 767px){.eui-overlay{right:-75%;width:75%!important}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-overlay{right:-45%;width:45%!important}}@media screen and (min-width: 1400px){.eui-overlay{right:-33%;width:33%!important}}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], encapsulation: i0.ViewEncapsulation.None }); }
49
49
  }
50
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.4", ngImport: i0, type: EuiOverlayComponent, decorators: [{
51
51
  type: Component,
52
- args: [{ selector: 'eui-overlay', encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"isActive\" class=\"eui-overlay-wrapper\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\">\n <ng-content select=\"eui-overlay-header\"></ng-content>\n <ng-content select=\"eui-overlay-body\"></ng-content>\n <ng-content select=\"eui-overlay-footer\"></ng-content>\n</div>\n", styles: [".eui-overlay{background:var(--eui-base-color-white);border-left:1px solid var(--eui-base-color-grey-50);border-right:1px solid var(--eui-base-color-grey-50);height:100%;overflow-x:hidden;overflow-y:auto;position:fixed;right:-35%;top:0;width:35%;z-index:var(--eui-base-z-index-overlay)}.eui-overlay:not(.eui-overlay--slideInRight){transition:var(--eui-base-animation-transition-base)}.eui-overlay-wrapper{color:var(--eui-base-color-text);display:flex;flex-direction:column;height:100%}.eui-overlay-header{align-items:center;border-bottom:1px solid var(--eui-base-color-grey-25);cursor:default;display:flex;flex:0 0 auto;padding:var(--eui-base-spacing-m)}.eui-overlay-header:not(.eui-overlay-header--with-title){padding:var(--eui-base-spacing-m) var(--eui-base-spacing-s) var(--eui-base-spacing-m) var(--eui-base-spacing-m)}.eui-overlay-header-toolbar{align-items:center;display:flex;margin-left:auto;font:normal normal 400 1rem/1.75rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header__close--inversed{background:transparent;color:var(--eui-base-color-white)}.eui-overlay-header__close--inversed:hover{color:var(--eui-ctx-c-da)}.eui-overlay-header-title{display:flex;width:100%;flex-direction:column}.eui-overlay-header-title__label-wrapper{display:flex;flex-direction:row}.eui-overlay-header-title__label{display:flex;font:normal normal 400 1.25rem/2rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header-title__actions{align-items:center;display:flex;margin-left:auto}.eui-overlay-header-title__actions-hide{align-items:center;display:flex}.eui-overlay-header-title__actions-hide-link{display:inline-flex}.eui-overlay-header-title__subactions-bar{display:flex;align-items:center}.eui-overlay-body{cursor:auto;flex:1 1 auto;overflow-y:auto;position:relative}.eui-overlay-body::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-5)}.eui-overlay-body::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-overlay-body::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-50)}.eui-overlay-body::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-overlay-footer{background-color:var(--eui-base-color-white);border-top:1px solid var(--eui-base-color-grey-25);flex:0 0 auto;padding:var(--eui-base-spacing-m);text-align:center}.eui-overlay.eui-overlay--slideInRight{transform:translateZ(0);display:inline-block;vertical-align:middle;animation-name:eui-overlay--slideInRight;animation-duration:var(--eui-base-animation-duration-fast);backface-visibility:visible}@keyframes eui-overlay--slideInRight{0%{transform:translate3d(50%,0,0);visibility:visible}to{transform:translateZ(0)}}.eui-overlay--size-full-screen{right:-100%;width:100%}.eui-overlay--is-active{right:0!important;box-shadow:var(--eui-base-shadow-5)}.eui-overlay--highlighted{z-index:var(--eui-base-z-index-highlighted)}.eui-overlay-header--primary{background-color:var(--eui-ctx-c-p);color:#fff}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-25{right:-25%;width:25%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-30{right:-30%;width:30%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-35{right:-35%;width:35%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-40{right:-40%;width:40%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-50{right:-50%;width:50%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-75{right:-75%;width:75%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-25{right:-25rem;width:25rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-30{right:-30rem;width:30rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-35{right:-35rem;width:35rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-40{right:-40rem;width:40rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-50{right:-50rem;width:50rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-75{right:-75rem;width:75rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-right{position:fixed}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-top-center{height:auto;left:50%;position:fixed;top:0;transform:translate(-50%)}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-center{height:auto;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%)}@media screen and (max-width: 767px){.eui-overlay{right:-75%;width:75%!important}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-overlay{right:-45%;width:45%!important}}@media screen and (min-width: 1400px){.eui-overlay{right:-33%;width:33%!important}}\n"] }]
52
+ args: [{ selector: 'eui-overlay', encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"isActive\" class=\"eui-overlay-wrapper\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\">\n <ng-content select=\"eui-overlay-header\"></ng-content>\n <ng-content select=\"eui-overlay-body\"></ng-content>\n <ng-content select=\"eui-overlay-footer\"></ng-content>\n</div>\n", styles: [".eui-overlay{background:var(--eui-ctx-c-white);border-left:1px solid var(--eui-ctx-c-s-lighter);border-right:1px solid var(--eui-ctx-c-s-lighter);height:100%;overflow-x:hidden;overflow-y:auto;position:fixed;right:-35%;top:0;width:35%;z-index:var(--eui-base-z-index-overlay)}.eui-overlay:not(.eui-overlay--slideInRight){transition:var(--eui-base-animation-transition-base)}.eui-overlay-wrapper{color:var(--eui-ctx-c-text);display:flex;flex-direction:column;height:100%}.eui-overlay-header{align-items:center;border-bottom:1px solid var(--eui-ctx-c-s-lightest);cursor:default;display:flex;flex:0 0 auto;padding:var(--eui-base-spacing-m)}.eui-overlay-header:not(.eui-overlay-header--with-title){padding:var(--eui-base-spacing-m) var(--eui-base-spacing-s) var(--eui-base-spacing-m) var(--eui-base-spacing-m)}.eui-overlay-header-toolbar{align-items:center;display:flex;margin-left:auto;font:normal normal 400 1rem/1.75rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header__close--inversed{background:transparent;color:var(--eui-ctx-c-white)}.eui-overlay-header__close--inversed:hover{color:var(--eui-ctx-c-da)}.eui-overlay-header-title{display:flex;width:100%;flex-direction:column}.eui-overlay-header-title__label-wrapper{display:flex;flex-direction:row}.eui-overlay-header-title__label{display:flex;font:normal normal 400 1.25rem/2rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header-title__actions{align-items:center;display:flex;margin-left:auto}.eui-overlay-header-title__actions-hide{align-items:center;display:flex}.eui-overlay-header-title__actions-hide-link{display:inline-flex}.eui-overlay-header-title__subactions-bar{display:flex;align-items:center}.eui-overlay-body{cursor:auto;flex:1 1 auto;overflow-y:auto;position:relative}.eui-overlay-body::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-ctx-c-s-bg-light)}.eui-overlay-body::-webkit-scrollbar-thumb{background-color:var(--eui-ctx-c-bg0);border-radius:5rem}.eui-overlay-body::-webkit-scrollbar-thumb:hover{background-color:var(--eui-ctx-c-s-lighter)}.eui-overlay-body::-webkit-scrollbar-track{background-color:var(--eui-ctx-c-s-bg-light);border-radius:0}.eui-overlay-footer{background-color:var(--eui-ctx-c-white);border-top:1px solid var(--eui-ctx-c-s-lightest);flex:0 0 auto;padding:var(--eui-base-spacing-m);text-align:center}.eui-overlay.eui-overlay--slideInRight{transform:translateZ(0);display:inline-block;vertical-align:middle;animation-name:eui-overlay--slideInRight;animation-duration:var(--eui-base-animation-duration-fast);backface-visibility:visible}@keyframes eui-overlay--slideInRight{0%{transform:translate3d(50%,0,0);visibility:visible}to{transform:translateZ(0)}}.eui-overlay--size-full-screen{right:-100%;width:100%}.eui-overlay--is-active{right:0!important;box-shadow:var(--eui-base-shadow-5)}.eui-overlay--highlighted{z-index:var(--eui-base-z-index-highlighted)}.eui-overlay-header--primary{background-color:var(--eui-ctx-c-p);color:#fff}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-25{right:-25%;width:25%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-30{right:-30%;width:30%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-35{right:-35%;width:35%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-40{right:-40%;width:40%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-50{right:-50%;width:50%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-75{right:-75%;width:75%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-25{right:-25rem;width:25rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-30{right:-30rem;width:30rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-35{right:-35rem;width:35rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-40{right:-40rem;width:40rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-50{right:-50rem;width:50rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-75{right:-75rem;width:75rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-right{position:fixed}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-top-center{height:auto;left:50%;position:fixed;top:0;transform:translate(-50%)}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-center{height:auto;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%)}@media screen and (max-width: 767px){.eui-overlay{right:-75%;width:75%!important}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-overlay{right:-45%;width:45%!important}}@media screen and (min-width: 1400px){.eui-overlay{right:-33%;width:33%!important}}\n"] }]
53
53
  }], propDecorators: { cssClasses: [{
54
54
  type: HostBinding,
55
55
  args: ['class']