@eui/components 16.2.13-snapshot-1708917101127 → 16.2.13

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.
@@ -593,7 +593,7 @@
593
593
  <script src="../js/libs/htmlparser.js"></script>
594
594
  <script src="../js/libs/deep-iterator.js"></script>
595
595
  <script>
596
- var COMPONENT_TEMPLATE = '<div><nav id="top-menu" class="eui-toolbar-menu-content" *ngIf="items && items.length !== 0"> <ul> <ng-container *ngFor="let link of items"> <li *ngIf="link.visible" [class.has-sub]="link.children" [class.selected]="link.active" routerLinkActive="selected"> <a *ngIf="!link.url" [class.disabled]="link.disabled" [tabindex]="!link.disabled ? 0 : -1" (click)="onLinkClick(link)" (keydown)="onKeyDown($event, link)" title="{{ link.label | translate }}" [class.icon-home-link]="link.isHome"> <div class="eui-u-flex"> <eui-icon-svg *ngIf="link.iconSvgName" [icon]="link.iconSvgName" [fillColor]="link.active ? \'grey-100\' : \'white\'" class="eui-u-mr-xs"> </eui-icon-svg> <span *ngIf="link.iconClass && !link.iconSvgName" class="{{ link.iconClass }} eui-icon"></span> <span class="eui-toolbar-menu-label">{{ link.label | translate }}</span> <eui-icon-svg *ngIf="link.children" icon="eui-caret-down" [fillColor]="link.active ? \'grey-100\' : \'white\'" size="s"> </eui-icon-svg> </div> </a> <a *ngIf="link.url" [routerLink]="link.url" [class.disabled]="link.disabled" (click)="onLinkClick(link)" (keydown)="onKeyDown($event, link)" title="{{ link.label | translate }}" [class.icon-home-link]="link.isHome"> <div class="eui-u-flex"> <eui-icon-svg *ngIf="link.iconSvgName" [icon]="link.iconSvgName" [fillColor]="link.active ? \'grey-100\' : \'white\'" size="s" class="eui-u-mr-xs"> </eui-icon-svg> <span *ngIf="link.iconClass && !link.iconSvgName" class="{{ link.iconClass }} eui-icon"></span> <span class="eui-toolbar-menu-label">{{ link.label | translate }}</span> <eui-icon-svg *ngIf="link.children" icon="eui-caret-down" [fillColor]="link.active ? \'grey-100\' : \'white\'" size="s" class="eui-u-ml-xs"> </eui-icon-svg> </div> </a> <ul class="show" [class.showOnEnter]="isdropdownOpen" *ngIf="link.children"> <ng-container *ngFor="let childLink of link.children"> <li *ngIf="childLink.visible" class="child" [class.has-sub]="childLink?.children" [class.separator]="childLink.isSeparator"> <a *ngIf="!childLink.url" [tabindex]="isdropdownOpen && !childLink.disabled ? 0 : -1" [class.disabled]="childLink.disabled" (click)="onLinkClick(childLink)" (keydown)="onKeyDown($event, childLink)"> <span *ngIf="childLink.iconClass" class="eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}"></span> <eui-icon-svg *ngIf="childLink.iconSvgName" class="eui-toolbar-menu-item__icon" icon="{{ childLink.iconSvgName }}"></eui-icon-svg> <span class="eui-toolbar-menu-item__label">{{ childLink.label | translate }}</span> </a> <a *ngIf="childLink.url" [tabindex]="isdropdownOpen && !childLink.disabled ? 0 : -1" [class.disabled]="childLink.disabled" [routerLink]="childLink.url" (click)="onLinkClick(childLink)" (keydown)="onKeyDown($event, childLink)"> <span *ngIf="childLink.iconClass" class="eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}"></span> <eui-icon-svg *ngIf="childLink.iconSvgName" class="eui-toolbar-menu-item__icon" icon="{{ childLink.iconSvgName }}"></eui-icon-svg> <span class="eui-toolbar-menu-item__label">{{ childLink.label | translate }}</span> </a> <ul class="show" [class.showOnEnter]="isdropdownOpen" *ngIf="childLink.children"> <ng-container *ngFor="let childSubLink of childLink.children"> <li *ngIf="childSubLink.visible" class="child" [class.separator]="childSubLink.isSeparator"> <a *ngIf="childSubLink.url" [tabindex]="isdropdownOpen && !childSubLink.disabled ? 0 : -1" [class.disabled]="childSubLink.disabled" [routerLink]="childSubLink.url" (click)="onLinkClick(childSubLink)" (keydown)="onKeyDown($event, childSubLink)"> <span *ngIf="childSubLink.iconClass" class="eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}"></span> <eui-icon-svg *ngIf="childSubLink.iconSvgName" class="eui-toolbar-menu-item__icon" icon="{{ childSubLink.iconSvgName }}"></eui-icon-svg> <span class="eui-toolbar-menu-item__label">{{ childSubLink.label | translate }}</span> </a> <a *ngIf="!childSubLink.url" [tabindex]="isdropdownOpen && !childSubLink.disabled ? 0 : -1" [class.disabled]="childSubLink.disabled" (click)="onLinkClick(childSubLink)" (keydown)="onKeyDown($event, childSubLink)"> <span *ngIf="childSubLink.iconClass" class="eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}"></span> <eui-icon-svg *ngIf="childSubLink.iconSvgName" class="eui-toolbar-menu-item__icon" icon="{{ childSubLink.iconSvgName }}"></eui-icon-svg> <span class="eui-toolbar-menu-item__label">{{ childSubLink.label | translate }}</span> </a> </li> </ng-container> </ul> </li> </ng-container> </ul> </li> </ng-container> </ul></nav></div>'
596
+ var COMPONENT_TEMPLATE = '<div><nav id="top-menu" class="eui-toolbar-menu-content" *ngIf="items && items.length !== 0"> <ul> <ng-container *ngFor="let link of items"> <li *ngIf="link.visible === undefined || link.visible === true" [class.has-sub]="link.children" [class.selected]="link.active" routerLinkActive="selected"> <a *ngIf="!link.url" [class.disabled]="link.disabled" [tabindex]="!link.disabled ? 0 : -1" (click)="onLinkClick(link)" (keydown)="onKeyDown($event, link)" title="{{ link.label | translate }}" [class.icon-home-link]="link.isHome"> <div class="eui-u-flex"> <eui-icon-svg *ngIf="link.iconSvgName" [icon]="link.iconSvgName" [fillColor]="link.active ? \'grey-100\' : \'white\'" class="eui-u-mr-xs"> </eui-icon-svg> <span *ngIf="link.iconClass && !link.iconSvgName" class="{{ link.iconClass }} eui-icon"></span> <span class="eui-toolbar-menu-label">{{ link.label | translate }}</span> <eui-icon-svg *ngIf="link.children" icon="eui-caret-down" [fillColor]="link.active ? \'grey-100\' : \'white\'" size="s"> </eui-icon-svg> </div> </a> <a *ngIf="link.url" [routerLink]="link.url" [class.disabled]="link.disabled" (click)="onLinkClick(link)" (keydown)="onKeyDown($event, link)" title="{{ link.label | translate }}" [class.icon-home-link]="link.isHome"> <div class="eui-u-flex"> <eui-icon-svg *ngIf="link.iconSvgName" [icon]="link.iconSvgName" [fillColor]="link.active ? \'grey-100\' : \'white\'" size="s" class="eui-u-mr-xs"> </eui-icon-svg> <span *ngIf="link.iconClass && !link.iconSvgName" class="{{ link.iconClass }} eui-icon"></span> <span class="eui-toolbar-menu-label">{{ link.label | translate }}</span> <eui-icon-svg *ngIf="link.children" icon="eui-caret-down" [fillColor]="link.active ? \'grey-100\' : \'white\'" size="s" class="eui-u-ml-xs"> </eui-icon-svg> </div> </a> <ul class="show" [class.showOnEnter]="isdropdownOpen" *ngIf="link.children"> <ng-container *ngFor="let childLink of link.children"> <li *ngIf="childLink.visible === undefined || childLink.visible === true" class="child" [class.has-sub]="childLink?.children" [class.separator]="childLink.isSeparator"> <a *ngIf="!childLink.url" [tabindex]="isdropdownOpen && !childLink.disabled ? 0 : -1" [class.disabled]="childLink.disabled" (click)="onLinkClick(childLink)" (keydown)="onKeyDown($event, childLink)"> <span *ngIf="childLink.iconClass" class="eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}"></span> <eui-icon-svg *ngIf="childLink.iconSvgName" class="eui-toolbar-menu-item__icon" icon="{{ childLink.iconSvgName }}"></eui-icon-svg> <span class="eui-toolbar-menu-item__label">{{ childLink.label | translate }}</span> </a> <a *ngIf="childLink.url" [tabindex]="isdropdownOpen && !childLink.disabled ? 0 : -1" [class.disabled]="childLink.disabled" [routerLink]="childLink.url" (click)="onLinkClick(childLink)" (keydown)="onKeyDown($event, childLink)"> <span *ngIf="childLink.iconClass" class="eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}"></span> <eui-icon-svg *ngIf="childLink.iconSvgName" class="eui-toolbar-menu-item__icon" icon="{{ childLink.iconSvgName }}"></eui-icon-svg> <span class="eui-toolbar-menu-item__label">{{ childLink.label | translate }}</span> </a> <ul class="show" [class.showOnEnter]="isdropdownOpen" *ngIf="childLink.children"> <ng-container *ngFor="let childSubLink of childLink.children"> <li *ngIf="childSubLink.visible === undefined || childSubLink.visible === true" class="child" [class.separator]="childSubLink.isSeparator"> <a *ngIf="childSubLink.url" [tabindex]="isdropdownOpen && !childSubLink.disabled ? 0 : -1" [class.disabled]="childSubLink.disabled" [routerLink]="childSubLink.url" (click)="onLinkClick(childSubLink)" (keydown)="onKeyDown($event, childSubLink)"> <span *ngIf="childSubLink.iconClass" class="eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}"></span> <eui-icon-svg *ngIf="childSubLink.iconSvgName" class="eui-toolbar-menu-item__icon" icon="{{ childSubLink.iconSvgName }}"></eui-icon-svg> <span class="eui-toolbar-menu-item__label">{{ childSubLink.label | translate }}</span> </a> <a *ngIf="!childSubLink.url" [tabindex]="isdropdownOpen && !childSubLink.disabled ? 0 : -1" [class.disabled]="childSubLink.disabled" (click)="onLinkClick(childSubLink)" (keydown)="onKeyDown($event, childSubLink)"> <span *ngIf="childSubLink.iconClass" class="eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}"></span> <eui-icon-svg *ngIf="childSubLink.iconSvgName" class="eui-toolbar-menu-item__icon" icon="{{ childSubLink.iconSvgName }}"></eui-icon-svg> <span class="eui-toolbar-menu-item__label">{{ childSubLink.label | translate }}</span> </a> </li> </ng-container> </ul> </li> </ng-container> </ul> </li> </ng-container> </ul></nav></div>'
597
597
  var COMPONENTS = [{'name': 'ChartComponent', 'selector': 'eui-apex-chart'},{'name': 'CollapsedBreadcrumbComponent', 'selector': 'eui-collapsed-breadcrumb'},{'name': 'EuiAlertComponent', 'selector': 'div[euiAlert], eui-alert'},{'name': 'EuiAppBreadcrumbComponent', 'selector': 'eui-app-breadcrumb'},{'name': 'EuiAppComponent', 'selector': 'eui-app'},{'name': 'EuiAppFooterComponent', 'selector': 'eui-app-footer'},{'name': 'EuiAppHeaderComponent', 'selector': 'eui-app-header'},{'name': 'EuiAppSidebarBodyComponent', 'selector': 'eui-app-sidebar-body'},{'name': 'EuiAppSidebarComponent', 'selector': 'eui-app-sidebar'},{'name': 'EuiAppSidebarDrawerComponent', 'selector': 'eui-app-sidebar-drawer'},{'name': 'EuiAppSidebarFooterComponent', 'selector': 'eui-app-sidebar-footer'},{'name': 'EuiAppSidebarHeaderComponent', 'selector': 'eui-app-sidebar-header'},{'name': 'EuiAppSidebarHeaderUserProfileComponent', 'selector': 'eui-app-sidebar-header-user-profile'},{'name': 'EuiAppSidebarMenuComponent', 'selector': 'eui-app-sidebar-menu'},{'name': 'EuiAppToolbarComponent', 'selector': 'eui-app-toolbar'},{'name': 'EuiAppTopMessageComponent', 'selector': 'eui-app-top-message'},{'name': 'EuiAutocompleteAsyncTestComponent', 'selector': 'eui-autocomplete-test-component'},{'name': 'EuiAutocompleteChipsAsyncTestComponent', 'selector': 'eui-autocomplete-test-component'},{'name': 'EuiAutocompleteChipsTestComponent', 'selector': 'eui-autocomplete-test-component'},{'name': 'EuiAutocompleteComponent', 'selector': 'eui-autocomplete, input[euiAutocomplete]'},{'name': 'EuiAutocompleteTestComponent', 'selector': 'eui-autocomplete-test-component'},{'name': 'EuiBadgeComponent', 'selector': 'div[euiBadge], span[euiBadge], eui-badge'},{'name': 'EuiBlockContentComponent', 'selector': 'eui-block-content'},{'name': 'EuiBlockDocumentComponent', 'selector': 'eui-block-document'},{'name': 'EuiBreadcrumbComponent', 'selector': 'eui-breadcrumb'},{'name': 'EuiBreadcrumbItemComponent', 'selector': 'eui-breadcrumb-item'},{'name': 'EuiButtonComponent', 'selector': 'button[euiButton], a[euiButton]'},{'name': 'EuiButtonGroupComponent', 'selector': 'eui-button-group'},{'name': 'EuiButtonsComponent', 'selector': 'eui-buttons'},{'name': 'EuiCardComponent', 'selector': 'eui-card'},{'name': 'EuiCardContentComponent', 'selector': 'eui-card-content'},{'name': 'EuiCardFooterActionButtonsComponent', 'selector': 'eui-card-footer-action-buttons'},{'name': 'EuiCardFooterActionIconsComponent', 'selector': 'eui-card-footer-action-icons'},{'name': 'EuiCardFooterComponent', 'selector': 'eui-card-footer'},{'name': 'EuiCardFooterMenuContentComponent', 'selector': 'eui-card-footer-menu-content'},{'name': 'EuiCardHeaderBodyComponent', 'selector': 'eui-card-header-body'},{'name': 'EuiCardHeaderComponent', 'selector': 'eui-card-header'},{'name': 'EuiCardHeaderLeftContentComponent', 'selector': 'eui-card-header-left-content'},{'name': 'EuiCardHeaderRightContentComponent', 'selector': 'eui-card-header-right-content'},{'name': 'EuiCardHeaderSubtitleComponent', 'selector': 'eui-card-header-subtitle'},{'name': 'EuiCardHeaderTitleComponent', 'selector': 'eui-card-header-title'},{'name': 'EuiCardMediaComponent', 'selector': 'eui-card-media'},{'name': 'EuiChipComponent', 'selector': 'eui-chip, span[euiChip], li[euiChip]'},{'name': 'EuiChipListComponent', 'selector': 'eui-chip-list, div[euiChipList], ul[euiChipList]'},{'name': 'EuiCommonHeaderComponent', 'selector': 'eui-common-header'},{'name': 'EuiDashboardButtonComponent', 'selector': 'eui-dashboard-button'},{'name': 'EuiDashboardCardComponent', 'selector': 'eui-dashboard-card'},{'name': 'EuiDatepickerComponent', 'selector': 'eui-datepicker'},{'name': 'EuiDateRangeSelectorComponent', 'selector': 'eui-date-range-selector'},{'name': 'EuiDialogComponent', 'selector': 'eui-dialog'},{'name': 'EuiDialogContainerComponent', 'selector': 'eui-dialog-container'},{'name': 'EuiDimmerComponent', 'selector': 'eui-dimmer'},{'name': 'EuiDisableContentComponent', 'selector': 'eui-disable-content'},{'name': 'EuiDiscussionThreadComponent', 'selector': 'eui-discussion-thread'},{'name': 'EuiDiscussionThreadItemComponent', 'selector': 'eui-discussion-thread-item'},{'name': 'EuiDropdownButtonChildMenuComponent', 'selector': 'eui-dropdown-button-child-menu'},{'name': 'EuiDropdownButtonMenuComponent', 'selector': 'eui-dropdown-button-menu'},{'name': 'EuiDropdownComponent', 'selector': 'eui-dropdown'},{'name': 'EuiDropdownItemComponent', 'selector': 'eui-dropdown-item, [euiDropdownItem]'},{'name': 'EuiEditorComponent', 'selector': 'eui-editor'},{'name': 'EuiEditorCountersComponent', 'selector': 'eui-editor-counters'},{'name': 'EuiEditorHtmlViewComponent', 'selector': 'eui-editor-html-view'},{'name': 'EuiEditorImageDialogComponent', 'selector': ''},{'name': 'EuiEditorJsonViewComponent', 'selector': 'eui-editor-json-view'},{'name': 'EuiExpandContentComponent', 'selector': 'eui-expand-content'},{'name': 'EuiFeedbackMessageComponent', 'selector': 'eui-feedback-message'},{'name': 'EuiFieldsetComponent', 'selector': 'eui-fieldset'},{'name': 'EuiFilePreviewComponent', 'selector': 'eui-file-preview'},{'name': 'EuiFileUploadComponent', 'selector': 'eui-file-upload'},{'name': 'EuiFileUploadProgressComponent', 'selector': 'eui-file-upload-progress'},{'name': 'EuiFooterComponent', 'selector': 'eui-footer'},{'name': 'EuiGrowlComponent', 'selector': 'eui-growl'},{'name': 'EuiHeaderAppComponent', 'selector': 'eui-header-app'},{'name': 'EuiHeaderAppNameComponent', 'selector': 'eui-header-app-name'},{'name': 'EuiHeaderAppNameLogoComponent', 'selector': 'eui-header-app-name-logo'},{'name': 'EuiHeaderAppSubtitleComponent', 'selector': 'eui-header-app-subtitle'},{'name': 'EuiHeaderComponent', 'selector': 'eui-header'},{'name': 'EuiHeaderEnvironmentComponent', 'selector': 'eui-header-environment'},{'name': 'EuiHeaderLogoComponent', 'selector': 'eui-header-logo'},{'name': 'EuiHeaderRightContentComponent', 'selector': 'eui-header-right-content'},{'name': 'EuiHeaderUserProfileComponent', 'selector': 'eui-header-user-profile'},{'name': 'EuiIconColorComponent', 'selector': 'eui-icon-colored, span[euiIconColored], [euiIconColored]'},{'name': 'EuiIconComponent', 'selector': 'div[euiIcon], span[euiIcon], i[euiIcon], eui-icon'},{'name': 'EuiIconSvgComponent', 'selector': 'eui-icon-svg, span[euiIconSvg], i[euiIconSvg]'},{'name': 'EuiIconToggleComponent', 'selector': 'eui-icon-toggle'},{'name': 'EuiInputCheckboxComponent', 'selector': 'input[euiInputCheckBox]'},{'name': 'EuiInputGroupComponent', 'selector': 'div[euiInputGroup]'},{'name': 'EuiInputNumberComponent', 'selector': 'input[euiInputNumber]'},{'name': 'EuiInputRadioComponent', 'selector': 'input[euiInputRadio]'},{'name': 'EuiInputTextComponent', 'selector': 'input[euiInputText]'},{'name': 'EuiLabelComponent', 'selector': 'label[euiLabel], span[euiLabel], div[euiLabel], a[euiLabel], eui-label,
598
598
  label[euiSublabel], span[euiSublabel], div[euiSublabel], a[euiSublabel], eui-sublabel'},{'name': 'EuiLanguageSelectorComponent', 'selector': 'eui-language-selector'},{'name': 'EuiListComponent', 'selector': '[euiList], eui-list'},{'name': 'EuiListItemComponent', 'selector': '[euiListItem], eui-list-item'},{'name': 'EuiMenuComponent', 'selector': 'eui-menu'},{'name': 'EuiMenuItemComponent', 'selector': 'eui-menu-item'},{'name': 'EuiMessageBoxComponent', 'selector': 'eui-message-box'},{'name': 'EuiModalPickerComponent', 'selector': ''},{'name': 'EuiModalSelectorComponent', 'selector': 'eui-modal-selector'},{'name': 'EuiNotificationItemComponent', 'selector': 'eui-notification-item'},{'name': 'EuiNotificationItemV2Component', 'selector': 'eui-notification-item-v2'},{'name': 'EuiNotificationsComponent', 'selector': 'eui-notifications'},{'name': 'EuiNotificationsV2Component', 'selector': 'eui-notifications-v2'},{'name': 'EuiOverlayBodyComponent', 'selector': 'eui-overlay-body'},{'name': 'EuiOverlayComponent', 'selector': 'eui-overlay'},{'name': 'EuiOverlayFooterComponent', 'selector': 'eui-overlay-footer'},{'name': 'EuiOverlayHeaderComponent', 'selector': 'eui-overlay-header'},{'name': 'EuiOverlayHeaderTitleComponent', 'selector': 'eui-overlay-header-title'},{'name': 'EuiPageBreadcrumbComponent', 'selector': 'eui-page-breadcrumb'},{'name': 'EuiPageColumnComponent', 'selector': 'eui-page-column'},{'name': 'EuiPageColumnsComponent', 'selector': 'eui-page-columns'},{'name': 'EuiPageComponent', 'selector': 'eui-page'},{'name': 'EuiPageContentComponent', 'selector': 'eui-page-content'},{'name': 'EuiPageFooterComponent', 'selector': 'eui-page-footer'},{'name': 'EuiPageHeaderComponent', 'selector': 'eui-page-header'},{'name': 'EuiPageHeroHeaderComponent', 'selector': 'eui-page-hero-header'},{'name': 'EuiPageTopContentComponent', 'selector': 'eui-page-top-content'},{'name': 'EuiPaginatorComponent', 'selector': 'eui-paginator'},{'name': 'EuiPickerComponent', 'selector': 'eui-picker'},{'name': 'EuiPopoverComponent', 'selector': 'eui-popover'},{'name': 'EuiProgressBarComponent', 'selector': 'eui-progress-bar'},{'name': 'EuiProgressCircleComponent', 'selector': 'eui-progress-circle'},{'name': 'EuiResizableComponent', 'selector': 'eui-resizable'},{'name': 'EuiSearchComponent', 'selector': 'eui-search'},{'name': 'EuiSelectComponent', 'selector': 'select[euiSelect]'},{'name': 'EuiSidebarMenuComponent', 'selector': 'eui-sidebar-menu'},{'name': 'EuiSidebarToggleComponent', 'selector': 'eui-sidebar-toggle'},{'name': 'EuiSlideToggleComponent', 'selector': 'eui-slide-toggle'},{'name': 'EuiSlideToggleTestComponent', 'selector': 'eui-slide-toggle-test-component'},{'name': 'EuiTabComponent', 'selector': 'eui-tab'},{'name': 'EuiTabContentComponent', 'selector': 'eui-tab-content, euiTabContent'},{'name': 'EuiTabLabelComponent', 'selector': 'eui-tab-label, euiTabLabel'},{'name': 'EuiTableComponent', 'selector': 'eui-table, table[euiTable]'},{'name': 'EuiTableExpandableRowComponent', 'selector': 'tr[euiTableExpandableRow]'},{'name': 'EuiTableFilterComponent', 'selector': 'eui-table-filter'},{'name': 'EuiTableSelectableHeaderComponent', 'selector': 'tr[isSelectableHeader]'},{'name': 'EuiTableSelectableRowComponent', 'selector': 'tr[isSelectable]'},{'name': 'EuiTableSortableColComponent', 'selector': 'th[sortable]'},{'name': 'EuiTabsComponent', 'selector': 'eui-tabs'},{'name': 'EuiTextareaComponent', 'selector': 'textarea[euiTextArea]'},{'name': 'EuiTimebarComponent', 'selector': 'eui-timebar'},{'name': 'EuiTimelineComponent', 'selector': 'eui-timeline'},{'name': 'EuiTimelineItemComponent', 'selector': 'eui-timeline-item'},{'name': 'EuiTimepickerComponent', 'selector': 'eui-timepicker'},{'name': 'EuiToolbarAppComponent', 'selector': 'eui-toolbar-app'},{'name': 'EuiToolbarCenterComponent', 'selector': 'eui-toolbar-center'},{'name': 'EuiToolbarComponent', 'selector': 'eui-toolbar'},{'name': 'EuiToolbarEnvironmentComponent', 'selector': 'eui-toolbar-environment'},{'name': 'EuiToolbarItemComponent', 'selector': 'eui-toolbar-item'},{'name': 'EuiToolbarItemNotificationsComponent', 'selector': 'eui-toolbar-item-notifications'},{'name': 'EuiToolbarItemsComponent', 'selector': 'eui-toolbar-items'},{'name': 'EuiToolbarItemSearchComponent', 'selector': 'eui-toolbar-item-search'},{'name': 'EuiToolbarItemUserProfileComponent', 'selector': 'eui-toolbar-item-user-profile'},{'name': 'EuiToolbarLogoComponent', 'selector': 'eui-toolbar-logo'},{'name': 'EuiToolbarMenuComponent', 'selector': 'eui-toolbar-menu'},{'name': 'EuiTooltipContainerComponent', 'selector': 'eui-tooltip-container.component'},{'name': 'EuiTreeComponent', 'selector': 'eui-tree'},{'name': 'EuiUserProfileCardComponent', 'selector': 'eui-user-profile-card'},{'name': 'EuiUserProfileComponent', 'selector': 'eui-user-profile'},{'name': 'EuiUserProfileMenuComponent', 'selector': 'eui-user-profile-menu'},{'name': 'EuiUserProfileMenuItemComponent', 'selector': 'eui-user-profile-menu-item'},{'name': 'EuiWizardComponent', 'selector': 'eui-wizard'},{'name': 'EuiWizardStepComponent', 'selector': 'eui-wizard-step'},{'name': 'QuillEditorComponent', 'selector': 'quill-editor'},{'name': 'UxActionBoxComponent', 'selector': 'ux-action-box'},{'name': 'UxAlertComponent', 'selector': 'ux-alert'},{'name': 'UxBadgeComponent', 'selector': 'ux-badge'},{'name': 'UxBadgeGroupComponent', 'selector': 'ux-badge-group'},{'name': 'UxButtonComponent', 'selector': 'ux-button'},{'name': 'UxButtonGroupComponent', 'selector': 'ux-button-group'},{'name': 'UxButtonGroupItemComponent', 'selector': 'ux-button-group-item'},{'name': 'UxCardComponent', 'selector': 'ux-card'},{'name': 'UxChipComponent', 'selector': 'ux-chip'},{'name': 'UxChipsListComponent', 'selector': 'ux-chips-list'},{'name': 'UxChipsListDroppableAreaComponent', 'selector': 'ux-chips-list-droppable-area'},{'name': 'UxControlFeedbackComponent', 'selector': 'ux-control-feedback'},{'name': 'UxDashboardButtonComponent', 'selector': 'ux-dashboard-button'},{'name': 'UxDashboardButtonsComponent', 'selector': 'ux-dashboard-buttons'},{'name': 'UxDashboardCardComponent', 'selector': 'ux-dashboard-card'},{'name': 'UxDatepickerComponent', 'selector': 'ux-datepicker'},{'name': 'UxDateRangeSelectorComponent', 'selector': 'ux-date-range-selector'},{'name': 'UxDisableContentComponent', 'selector': 'ux-disable-content'},{'name': 'UxDiscussionThreadComponent', 'selector': 'ux-discussion-thread'},{'name': 'UxDiscussionThreadItemComponent', 'selector': 'ux-discussion-thread-item'},{'name': 'UxDropdownButtonComponent', 'selector': 'ux-dropdown-button'},{'name': 'UxDropdownButtonItemComponent', 'selector': 'ux-dropdown-button-item'},{'name': 'UxDropdownComponent', 'selector': 'ux-dropdown'},{'name': 'UxDropdownTreeComponent', 'selector': 'ux-dropdown-tree'},{'name': 'UxDynamicMessageBoxComponent', 'selector': 'ux-dynamic-message-box'},{'name': 'UxDynamicModalComponent', 'selector': 'ux-dynamic-modal'},{'name': 'UxDynamicPopoverComponent', 'selector': 'ux-dynamic-popover'},{'name': 'UxEditorComponent', 'selector': 'ux-editor'},{'name': 'UxEditorCountersComponent', 'selector': 'ux-editor-counters'},{'name': 'UxEditorViewComponent', 'selector': 'ux-editor-view'},{'name': 'UxEditorViewHTMLComponent', 'selector': 'ux-editor-view-html'},{'name': 'UxErrorGroupItemComponent', 'selector': 'ux-error-group-item'},{'name': 'UxErrorGroupOutputComponent', 'selector': 'ux-error-group-output'},{'name': 'UxErrorOutputComponent', 'selector': 'ux-error-output'},{'name': 'UxFieldSearchComponent', 'selector': 'ux-field-search'},{'name': 'UxFieldsetComponent', 'selector': 'ux-fieldset'},{'name': 'UxFileUploadComponent', 'selector': 'ux-file-upload'},{'name': 'UxFormControlComponent', 'selector': 'ux-form-control'},{'name': 'UxFormGroupComponent', 'selector': 'ux-form-group'},{'name': 'UxIconComponent', 'selector': 'ux-a-icon'},{'name': 'UxIconToggleComponent', 'selector': 'ux-a-icon-toggle'},{'name': 'UxLabelComponent', 'selector': 'ux-a-label'},{'name': 'UxLayoutHorizontalComponent', 'selector': 'ux-layout-horizontal'},{'name': 'UxLayoutOverlayPanelComponent', 'selector': 'ux-layout-overlay-panel'},{'name': 'UxListItemComponent', 'selector': 'ux-list-item'},{'name': 'UxListItemsComponent', 'selector': 'ux-list-items'},{'name': 'UxLoadingIndicatorComponent', 'selector': 'ux-loading-indicator'},{'name': 'UxMessageBoxComponent', 'selector': 'ux-message-box'},{'name': 'UxMFileUploadComponent', 'selector': 'ux-m-file-upload'},{'name': 'UxMFileUploadQueueComponent', 'selector': 'ux-m-file-upload-queue'},{'name': 'UxModalComponent', 'selector': 'ux-modal'},{'name': 'UxOverlayComponent', 'selector': 'ux-overlay'},{'name': 'UxPanelComponent', 'selector': 'ux-panel'},{'name': 'UxPanelsComponent', 'selector': 'ux-panels'},{'name': 'UxPopoverComponent', 'selector': 'ux-popover'},{'name': 'UxProgressCircleComponent', 'selector': 'ux-progress-circle'},{'name': 'UxSplitButtonComponent', 'selector': 'ux-split-button'},{'name': 'UxStaticTabsComponent', 'selector': 'ux-static-tabs'},{'name': 'UxSwitchComponent', 'selector': 'ux-switch'},{'name': 'UxTabComponent', 'selector': 'ux-tab'},{'name': 'UxTabsBarComponent', 'selector': 'ux-tabs-bar'},{'name': 'UxTabsComponent', 'selector': 'ux-tabs'},{'name': 'UxTagComponent', 'selector': 'ux-a-tag'},{'name': 'UxTimebarComponent', 'selector': 'ux-timebar'},{'name': 'UxTimelineItemComponent', 'selector': 'ux-timeline-item'},{'name': 'UxTimelineItemsComponent', 'selector': 'ux-timeline-items'},{'name': 'UxTimepickerComponent', 'selector': 'ux-timepicker'},{'name': 'UxTreeComponent', 'selector': 'ux-tree'},{'name': 'UxTreeListComponent', 'selector': 'ux-tree-list'},{'name': 'UxTreeListItemComponent', 'selector': 'ux-tree-list-item'},{'name': 'UxTreeNodeComponent', 'selector': 'ux-tree-node'},{'name': 'UxWizardStepComponent', 'selector': 'ux-wizard-step'},{'name': 'UxWizardStepsComponent', 'selector': 'ux-wizard-steps'}];
599
599
  var DIRECTIVES = [{'name': 'AutoResizeDirective', 'selector': 'textarea[autoResize]'},{'name': 'BaseDirective', 'selector': '[euiBase]'},{'name': 'BaseStatesDirective', 'selector': '[euiBase]'},{'name': 'CollapsedButtonDirective', 'selector': 'collapsed-button'},{'name': 'EuiActionButtonsDirective', 'selector': 'eui-action-buttons'},{'name': 'EuiAppPageWrapperDirective', 'selector': 'eui-app-page-wrapper'},{'name': 'EuiButtonsActionsContentTagDirective', 'selector': 'euiButtonsActionsContent'},{'name': 'EuiButtonsLocalMenuContentTagDirective', 'selector': 'euiButtonsLocalMenuContent'},{'name': 'EuiChipListAppendContentDirective', 'selector': 'euiChipListAppendContent'},{'name': 'EuiClearableDirective', 'selector': 'input[euiClearable]'},{'name': 'EuiDashboardButtonIconDirective', 'selector': 'eui-dashboard-button-icon'},{'name': 'EuiDashboardButtonLabelDirective', 'selector': 'eui-dashboard-button-label'},{'name': 'EuiDialogFooterDirective', 'selector': 'eui-dialog-footer'},{'name': 'EuiDialogHeaderDirective', 'selector': 'eui-dialog-header'},{'name': 'EuiDropdownContentDirective', 'selector': 'eui-dropdown-content'},{'name': 'EuiDropdownTreeDirective', 'selector': 'eui-dropdown[euiDropdownTree]'},{'name': 'EuiEditorCustomToolbarTagDirective', 'selector': 'euiEditorCustomToolbar'},{'name': 'EuiEditorMaxlengthDirective', 'selector': '[formControlName][euiEditorMaxlength]'},{'name': 'EuiFieldsetLabelExtraContentTagDirective', 'selector': 'euiFieldsetLabelExtraContent'},{'name': 'EuiFieldsetLabelRightContentTagDirective', 'selector': 'euiFieldsetLabelRightContent'},{'name': 'EuiHasPermissionDirective', 'selector': '[euiHasPermission]'},{'name': 'EuiHeaderAppNameDirective', 'selector': 'eui-header-app-name'},{'name': 'EuiHeaderAppNameLogoDirective', 'selector': 'eui-header-app-name-logo'},{'name': 'EuiHeaderAppSubtitleDirective', 'selector': 'eui-header-app-subtitle'},{'name': 'EuiInputNumberDirective', 'selector': 'input[euiInputNumber][formControl],input[euiInputNumber][formControlName],input[euiInputNumber][ngModel]'},{'name': 'EuiLetterFormatDirective', 'selector': '[euiLetterFormat]'},{'name': 'EuiLoadingDirective', 'selector': '[euiLoading]'},{'name': 'EuiMaxLengthDirective', 'selector': '
@@ -140,11 +140,11 @@ export class EuiToolbarMenuComponent {
140
140
  }
141
141
  }
142
142
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EuiToolbarMenuComponent, deps: [{ token: i1.UxAppShellService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
143
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.12", type: EuiToolbarMenuComponent, selector: "eui-toolbar-menu", inputs: { items: "items", hasLowercaseItems: ["hasLowercaseItems", "hasLowercaseItems", booleanAttribute] }, outputs: { menuItemClicked: "menuItemClicked" }, host: { properties: { "class": "this.cssClasses" } }, usesOnChanges: true, ngImport: i0, template: "<nav id=\"top-menu\" class=\"eui-toolbar-menu-content\" *ngIf=\"items && items.length !== 0\">\n <ul>\n <ng-container *ngFor=\"let link of items\">\n <li *ngIf=\"link.visible\" [class.has-sub]=\"link.children\" [class.selected]=\"link.active\" routerLinkActive=\"selected\">\n <a\n *ngIf=\"!link.url\"\n [class.disabled]=\"link.disabled\"\n [tabindex]=\"!link.disabled ? 0 : -1\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'grey-100' : 'white'\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg *ngIf=\"link.children\" icon=\"eui-caret-down\" [fillColor]=\"link.active ? 'grey-100' : 'white'\" size=\"s\">\n </eui-icon-svg>\n </div>\n </a>\n <a\n *ngIf=\"link.url\"\n [routerLink]=\"link.url\"\n [class.disabled]=\"link.disabled\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'grey-100' : 'white'\"\n size=\"s\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg\n *ngIf=\"link.children\"\n icon=\"eui-caret-down\"\n [fillColor]=\"link.active ? 'grey-100' : 'white'\"\n size=\"s\"\n class=\"eui-u-ml-xs\">\n </eui-icon-svg>\n </div>\n </a>\n\n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"link.children\">\n <ng-container *ngFor=\"let childLink of link.children\">\n <li\n *ngIf=\"childLink.visible\"\n class=\"child\"\n [class.has-sub]=\"childLink?.children\"\n [class.separator]=\"childLink.isSeparator\">\n <a\n *ngIf=\"!childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n [routerLink]=\"childLink.url\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n \n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"childLink.children\">\n <ng-container *ngFor=\"let childSubLink of childLink.children\">\n <li *ngIf=\"childSubLink.visible\" class=\"child\" [class.separator]=\"childSubLink.isSeparator\">\n <a\n *ngIf=\"childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n [routerLink]=\"childSubLink.url\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"!childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n</nav>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { 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"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
143
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.12", type: EuiToolbarMenuComponent, selector: "eui-toolbar-menu", inputs: { items: "items", hasLowercaseItems: ["hasLowercaseItems", "hasLowercaseItems", booleanAttribute] }, outputs: { menuItemClicked: "menuItemClicked" }, host: { properties: { "class": "this.cssClasses" } }, usesOnChanges: true, ngImport: i0, template: "<nav id=\"top-menu\" class=\"eui-toolbar-menu-content\" *ngIf=\"items && items.length !== 0\">\n <ul>\n <ng-container *ngFor=\"let link of items\">\n <li *ngIf=\"link.visible === undefined || link.visible === true\" [class.has-sub]=\"link.children\" [class.selected]=\"link.active\" routerLinkActive=\"selected\">\n <a\n *ngIf=\"!link.url\"\n [class.disabled]=\"link.disabled\"\n [tabindex]=\"!link.disabled ? 0 : -1\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'grey-100' : 'white'\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg *ngIf=\"link.children\" icon=\"eui-caret-down\" [fillColor]=\"link.active ? 'grey-100' : 'white'\" size=\"s\">\n </eui-icon-svg>\n </div>\n </a>\n <a\n *ngIf=\"link.url\"\n [routerLink]=\"link.url\"\n [class.disabled]=\"link.disabled\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'grey-100' : 'white'\"\n size=\"s\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg\n *ngIf=\"link.children\"\n icon=\"eui-caret-down\"\n [fillColor]=\"link.active ? 'grey-100' : 'white'\"\n size=\"s\"\n class=\"eui-u-ml-xs\">\n </eui-icon-svg>\n </div>\n </a>\n\n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"link.children\">\n <ng-container *ngFor=\"let childLink of link.children\">\n <li\n *ngIf=\"childLink.visible === undefined || childLink.visible === true\"\n class=\"child\"\n [class.has-sub]=\"childLink?.children\"\n [class.separator]=\"childLink.isSeparator\">\n <a\n *ngIf=\"!childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n [routerLink]=\"childLink.url\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n \n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"childLink.children\">\n <ng-container *ngFor=\"let childSubLink of childLink.children\">\n <li *ngIf=\"childSubLink.visible === undefined || childSubLink.visible === true\" class=\"child\" [class.separator]=\"childSubLink.isSeparator\">\n <a\n *ngIf=\"childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n [routerLink]=\"childSubLink.url\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"!childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n</nav>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { 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"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
144
144
  }
145
145
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EuiToolbarMenuComponent, decorators: [{
146
146
  type: Component,
147
- args: [{ selector: 'eui-toolbar-menu', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<nav id=\"top-menu\" class=\"eui-toolbar-menu-content\" *ngIf=\"items && items.length !== 0\">\n <ul>\n <ng-container *ngFor=\"let link of items\">\n <li *ngIf=\"link.visible\" [class.has-sub]=\"link.children\" [class.selected]=\"link.active\" routerLinkActive=\"selected\">\n <a\n *ngIf=\"!link.url\"\n [class.disabled]=\"link.disabled\"\n [tabindex]=\"!link.disabled ? 0 : -1\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'grey-100' : 'white'\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg *ngIf=\"link.children\" icon=\"eui-caret-down\" [fillColor]=\"link.active ? 'grey-100' : 'white'\" size=\"s\">\n </eui-icon-svg>\n </div>\n </a>\n <a\n *ngIf=\"link.url\"\n [routerLink]=\"link.url\"\n [class.disabled]=\"link.disabled\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'grey-100' : 'white'\"\n size=\"s\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg\n *ngIf=\"link.children\"\n icon=\"eui-caret-down\"\n [fillColor]=\"link.active ? 'grey-100' : 'white'\"\n size=\"s\"\n class=\"eui-u-ml-xs\">\n </eui-icon-svg>\n </div>\n </a>\n\n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"link.children\">\n <ng-container *ngFor=\"let childLink of link.children\">\n <li\n *ngIf=\"childLink.visible\"\n class=\"child\"\n [class.has-sub]=\"childLink?.children\"\n [class.separator]=\"childLink.isSeparator\">\n <a\n *ngIf=\"!childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n [routerLink]=\"childLink.url\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n \n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"childLink.children\">\n <ng-container *ngFor=\"let childSubLink of childLink.children\">\n <li *ngIf=\"childSubLink.visible\" class=\"child\" [class.separator]=\"childSubLink.isSeparator\">\n <a\n *ngIf=\"childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n [routerLink]=\"childSubLink.url\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"!childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n</nav>\n" }]
147
+ args: [{ selector: 'eui-toolbar-menu', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<nav id=\"top-menu\" class=\"eui-toolbar-menu-content\" *ngIf=\"items && items.length !== 0\">\n <ul>\n <ng-container *ngFor=\"let link of items\">\n <li *ngIf=\"link.visible === undefined || link.visible === true\" [class.has-sub]=\"link.children\" [class.selected]=\"link.active\" routerLinkActive=\"selected\">\n <a\n *ngIf=\"!link.url\"\n [class.disabled]=\"link.disabled\"\n [tabindex]=\"!link.disabled ? 0 : -1\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'grey-100' : 'white'\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg *ngIf=\"link.children\" icon=\"eui-caret-down\" [fillColor]=\"link.active ? 'grey-100' : 'white'\" size=\"s\">\n </eui-icon-svg>\n </div>\n </a>\n <a\n *ngIf=\"link.url\"\n [routerLink]=\"link.url\"\n [class.disabled]=\"link.disabled\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'grey-100' : 'white'\"\n size=\"s\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg\n *ngIf=\"link.children\"\n icon=\"eui-caret-down\"\n [fillColor]=\"link.active ? 'grey-100' : 'white'\"\n size=\"s\"\n class=\"eui-u-ml-xs\">\n </eui-icon-svg>\n </div>\n </a>\n\n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"link.children\">\n <ng-container *ngFor=\"let childLink of link.children\">\n <li\n *ngIf=\"childLink.visible === undefined || childLink.visible === true\"\n class=\"child\"\n [class.has-sub]=\"childLink?.children\"\n [class.separator]=\"childLink.isSeparator\">\n <a\n *ngIf=\"!childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n [routerLink]=\"childLink.url\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n \n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"childLink.children\">\n <ng-container *ngFor=\"let childSubLink of childLink.children\">\n <li *ngIf=\"childSubLink.visible === undefined || childSubLink.visible === true\" class=\"child\" [class.separator]=\"childSubLink.isSeparator\">\n <a\n *ngIf=\"childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n [routerLink]=\"childSubLink.url\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"!childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n</nav>\n" }]
148
148
  }], ctorParameters: function () { return [{ type: i1.UxAppShellService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { cssClasses: [{
149
149
  type: HostBinding,
150
150
  args: ['class']
@@ -156,4 +156,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
156
156
  }], menuItemClicked: [{
157
157
  type: Output
158
158
  }] } });
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xheW91dC9ldWktdG9vbGJhci90b29sYmFyLW1lbnUvdG9vbGJhci1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xheW91dC9ldWktdG9vbGJhci90b29sYmFyLW1lbnUvdG9vbGJhci1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsS0FBSyxFQUlMLE1BQU0sRUFDTixZQUFZLEVBR1osZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFRcEMsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQyxJQUNXLFVBQVU7UUFDakIsT0FBTyxDQUFDLGtCQUFrQjtZQUN0QixJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLG1DQUFtQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQ3BFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFhRCxZQUNXLFNBQTRCLEVBQzNCLEVBQXFCO1FBRHRCLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBQzNCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBVk8sc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBRXhELG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUU1RCxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQVFuQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztZQUNwQixHQUFHLElBQUksQ0FB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QXZCLHVCQUF1Qix3SEFXWixnQkFBZ0IseUpDcEN4QywraFJBb0lBOzs0RkQzR2EsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNJLGtCQUFrQixtQkFFWCx1QkFBdUIsQ0FBQyxPQUFPLGlCQUNqQyxpQkFBaUIsQ0FBQyxJQUFJO3dJQUkxQixVQUFVO3NCQURwQixXQUFXO3VCQUFDLE9BQU87Z0JBU1gsS0FBSztzQkFBYixLQUFLO2dCQUNrQyxpQkFBaUI7c0JBQXhELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBRTVCLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBIb3N0QmluZGluZyxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBJbnB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBPbkNoYW5nZXMsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVeEFwcFNoZWxsU2VydmljZSB9IGZyb20gJ0BldWkvY29yZSc7XG5pbXBvcnQgeyBFdWlNZW51SXRlbSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktbWVudSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktdG9vbGJhci1tZW51JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9vbGJhci1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpVG9vbGJhck1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBwdWJsaWMgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFsnZXVpLXRvb2xiYXItbWVudScsXG4gICAgICAgICAgICB0aGlzLmhhc0xvd2VyY2FzZUl0ZW1zID8gJ2V1aS10b29sYmFyLW1lbnUtLWxvd2VyY2FzZS1pdGVtcycgOiAnJyxcbiAgICAgICAgXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIEBJbnB1dCgpIGl0ZW1zOiBhbnlbXTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzTG93ZXJjYXNlSXRlbXMgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBtZW51SXRlbUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEV1aU1lbnVJdGVtPigpO1xuXG4gICAgaXNkcm9wZG93bk9wZW4gPSBmYWxzZTtcblxuICAgIHByaXZhdGUgc3ViczogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBhc1NlcnZpY2U6IFV4QXBwU2hlbGxTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICApIHtcbiAgICAgICAgdGhpcy5zdWJzID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFzU2VydmljZS5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLmFzU2VydmljZS5zdGF0ZSxcbiAgICAgICAgICAgIGhhc1Rvb2xiYXJNZW51OiB0cnVlLFxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBzdWJzY3JpYmUgdG8gc3RhdGUgY2hhbmdlc1xuICAgICAgICB0aGlzLnN1YnMuYWRkKHRoaXMuYXNTZXJ2aWNlLmdldFN0YXRlKCdtZW51TGlua3MnKS5zdWJzY3JpYmUoKGxpbmtzKSA9PiAodGhpcy5pdGVtcyA9IGxpbmtzKSkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnMudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5hc1NlcnZpY2Uuc2V0U3RhdGUoe1xuICAgICAgICAgICAgLi4udGhpcy5hc1NlcnZpY2Uuc3RhdGUsXG4gICAgICAgICAgICBoYXNUb29sYmFyTWVudTogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuaXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMuYXNTZXJ2aWNlLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLmFzU2VydmljZS5zdGF0ZSxcbiAgICAgICAgICAgICAgICBtZW51TGlua3M6IGNoYW5nZXMuaXRlbXMuY3VycmVudFZhbHVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkxpbmtDbGljayhsaW5rOiBFdWlNZW51SXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAobGluay51cmwpIHtcbiAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWxpbmsuZGlzYWJsZWQgJiYgbGluay5jaGlsZHJlbikge1xuICAgICAgICAgICAgdGhpcy5tZW51SXRlbUNsaWNrZWQuZW1pdChsaW5rKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWxpbmsuZGlzYWJsZWQgJiYgIWxpbmsuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHRoaXMubWVudUl0ZW1DbGlja2VkLmVtaXQobGluayk7XG5cbiAgICAgICAgICAgIC8vIGNsaWNrIG9uIGRyb3BpdGVtcyB0byBjbG9zZSBkcm9wZG93blxuICAgICAgICAgICAgY29uc3QgZHJvcGRvd24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjdG9wLW1lbnUgbGk6aG92ZXIgPiB1bCcpO1xuICAgICAgICAgICAgZHJvcGRvd24uZm9yRWFjaCgobWVudXMpID0+IHtcbiAgICAgICAgICAgICAgICBtZW51cy5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7XG4gICAgICAgICAgICAgICAgbWVudXMuY2xhc3NMaXN0LnJlbW92ZSgnc2hvd09uRW50ZXInKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAvLyBvcGVuIGFnYWluIG9uIG1vdXNlb3ZlclxuICAgICAgICAgICAgY29uc3QgZHJvcEJ0bnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjdG9wLW1lbnUgbGk6aG92ZXInKTtcbiAgICAgICAgICAgIGRyb3BCdG5zLmZvckVhY2goKGJ0bikgPT4ge1xuICAgICAgICAgICAgICAgIGJ0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW92ZXInLCAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkcm9wQ29udGVudCA9IGJ0bi5xdWVyeVNlbGVjdG9yKCcjdG9wLW1lbnUgbGk6aG92ZXIgPiB1bCcpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzaG91bGRPcGVuID0gZHJvcENvbnRlbnQgPyAhZHJvcENvbnRlbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdzaG93JykgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHNob3VsZE9wZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRyb3BDb250ZW50LmNsYXNzTGlzdC5hZGQoJ3Nob3cnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxpbmsudXJsRXh0ZXJuYWwpIHtcbiAgICAgICAgICAgIHdpbmRvdy5vcGVuKGxpbmsudXJsRXh0ZXJuYWwsIGxpbms/LnVybEV4dGVybmFsVGFyZ2V0KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobGluay5jb21tYW5kKSB7XG4gICAgICAgICAgICBsaW5rLmNvbW1hbmQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgbGluazogRXVpTWVudUl0ZW0pOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgICAgIGNhc2UgJ0VudGVyJzoge1xuICAgICAgICAgICAgICAgIGlmIChsaW5rLnVybCkge1xuICAgICAgICAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChsaW5rLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVudUl0ZW1DbGlja2VkLmVtaXQobGluayk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNkcm9wZG93bk9wZW4gPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoIWxpbmsuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZW51SXRlbUNsaWNrZWQuZW1pdChsaW5rKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc2Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAobGluay51cmxFeHRlcm5hbCkge1xuICAgICAgICAgICAgICAgICAgICB3aW5kb3cub3BlbihsaW5rLnVybEV4dGVybmFsLCBsaW5rLnVybEV4dGVybmFsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGxpbmsuY29tbWFuZCkge1xuICAgICAgICAgICAgICAgICAgICBsaW5rLmNvbW1hbmQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdUYWInOiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNkcm9wZG93bk9wZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGFzdGNoaWxkID0gQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY2hpbGQgPiBhJykpLnJldmVyc2UoKVswXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgbGFzdGNoaWxkLm9uYmx1ciA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxhc3QgY2hpbGQgb25ibHVyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc2Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0Y2hpbGQub25ibHVyID0gKCk6IHZvaWQgPT4ge307XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnRXNjYXBlJzoge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNkcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXZlbnQuc2hpZnRLZXkgJiYgZXZlbnQua2V5ID09PSAnVGFiJykge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNkcm9wZG93bk9wZW4pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaXJzdGNoaWxkID0gQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY2hpbGQgPiBhJykpWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICAgIGZpcnN0Y2hpbGQub25ibHVyID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBmaXJzdCBjaGlsZCBvbmJsdXJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc2Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgICAgICAgICAgICAgICAgICBmaXJzdGNoaWxkLm9uYmx1ciA9ICgpOiB2b2lkID0+IHt9O1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgaWYgKGxpbmsuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc2Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuYXYgaWQ9XCJ0b3AtbWVudVwiIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1jb250ZW50XCIgKm5nSWY9XCJpdGVtcyAmJiBpdGVtcy5sZW5ndGggIT09IDBcIj5cbiAgICA8dWw+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGxpbmsgb2YgaXRlbXNcIj5cbiAgICAgICAgICAgIDxsaSAqbmdJZj1cImxpbmsudmlzaWJsZVwiIFtjbGFzcy5oYXMtc3ViXT1cImxpbmsuY2hpbGRyZW5cIiBbY2xhc3Muc2VsZWN0ZWRdPVwibGluay5hY3RpdmVcIiByb3V0ZXJMaW5rQWN0aXZlPVwic2VsZWN0ZWRcIj5cbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFsaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJsaW5rLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cIiFsaW5rLmRpc2FibGVkID8gMCA6IC0xXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTGlua0NsaWNrKGxpbmspXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudCwgbGluaylcIlxuICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7IGxpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuaWNvbi1ob21lLWxpbmtdPVwibGluay5pc0hvbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV1aS11LWZsZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImxpbmsuaWNvblN2Z05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImxpbmsuaWNvblN2Z05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxsQ29sb3JdPVwibGluay5hY3RpdmUgPyAnZ3JleS0xMDAnIDogJ3doaXRlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdS1tci14c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImxpbmsuaWNvbkNsYXNzICYmICFsaW5rLmljb25TdmdOYW1lXCIgY2xhc3M9XCJ7eyBsaW5rLmljb25DbGFzcyB9fSBldWktaWNvblwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1sYWJlbFwiPnt7IGxpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnICpuZ0lmPVwibGluay5jaGlsZHJlblwiIGljb249XCJldWktY2FyZXQtZG93blwiIFtmaWxsQ29sb3JdPVwibGluay5hY3RpdmUgPyAnZ3JleS0xMDAnIDogJ3doaXRlJ1wiIHNpemU9XCJzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJsaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJsaW5rLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTGlua0NsaWNrKGxpbmspXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudCwgbGluaylcIlxuICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7IGxpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuaWNvbi1ob21lLWxpbmtdPVwibGluay5pc0hvbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV1aS11LWZsZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImxpbmsuaWNvblN2Z05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImxpbmsuaWNvblN2Z05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxsQ29sb3JdPVwibGluay5hY3RpdmUgPyAnZ3JleS0xMDAnIDogJ3doaXRlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXUtbXIteHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJsaW5rLmljb25DbGFzcyAmJiAhbGluay5pY29uU3ZnTmFtZVwiIGNsYXNzPVwie3sgbGluay5pY29uQ2xhc3MgfX0gZXVpLWljb25cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtbGFiZWxcIj57eyBsaW5rLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibGluay5jaGlsZHJlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cImV1aS1jYXJldC1kb3duXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsbENvbG9yXT1cImxpbmsuYWN0aXZlID8gJ2dyZXktMTAwJyA6ICd3aGl0ZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS11LW1sLXhzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwic2hvd1wiIFtjbGFzcy5zaG93T25FbnRlcl09XCJpc2Ryb3Bkb3duT3BlblwiICpuZ0lmPVwibGluay5jaGlsZHJlblwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjaGlsZExpbmsgb2YgbGluay5jaGlsZHJlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZExpbmsudmlzaWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGlsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmhhcy1zdWJdPVwiY2hpbGRMaW5rPy5jaGlsZHJlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlcGFyYXRvcl09XCJjaGlsZExpbmsuaXNTZXBhcmF0b3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFjaGlsZExpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cImlzZHJvcGRvd25PcGVuICYmICFjaGlsZExpbmsuZGlzYWJsZWQgPyAwIDogLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiY2hpbGRMaW5rLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTGlua0NsaWNrKGNoaWxkTGluaylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50LCBjaGlsZExpbmspXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY2hpbGRMaW5rLmljb25DbGFzc1wiIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19pY29uIGV1aS1pY29uIHt7IGNoaWxkTGluay5pY29uQ2xhc3MgfX1cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGRMaW5rLmljb25TdmdOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJ7eyBjaGlsZExpbmsuaWNvblN2Z05hbWUgfX1cIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2xhYmVsXCI+e3sgY2hpbGRMaW5rLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNoaWxkTGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwiaXNkcm9wZG93bk9wZW4gJiYgIWNoaWxkTGluay5kaXNhYmxlZCA/IDAgOiAtMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJjaGlsZExpbmsuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJjaGlsZExpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTGlua0NsaWNrKGNoaWxkTGluaylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50LCBjaGlsZExpbmspXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY2hpbGRMaW5rLmljb25DbGFzc1wiIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19pY29uIGV1aS1pY29uIHt7IGNoaWxkTGluay5pY29uQ2xhc3MgfX1cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGRMaW5rLmljb25TdmdOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJ7eyBjaGlsZExpbmsuaWNvblN2Z05hbWUgfX1cIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2xhYmVsXCI+e3sgY2hpbGRMaW5rLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJzaG93XCIgW2NsYXNzLnNob3dPbkVudGVyXT1cImlzZHJvcGRvd25PcGVuXCIgKm5nSWY9XCJjaGlsZExpbmsuY2hpbGRyZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2hpbGRTdWJMaW5rIG9mIGNoaWxkTGluay5jaGlsZHJlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0lmPVwiY2hpbGRTdWJMaW5rLnZpc2libGVcIiBjbGFzcz1cImNoaWxkXCIgW2NsYXNzLnNlcGFyYXRvcl09XCJjaGlsZFN1YkxpbmsuaXNTZXBhcmF0b3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNoaWxkU3ViTGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwiaXNkcm9wZG93bk9wZW4gJiYgIWNoaWxkU3ViTGluay5kaXNhYmxlZCA/IDAgOiAtMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJjaGlsZFN1YkxpbmsuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJjaGlsZFN1YkxpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTGlua0NsaWNrKGNoaWxkU3ViTGluaylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50LCBjaGlsZFN1YkxpbmspXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNoaWxkU3ViTGluay5pY29uQ2xhc3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2ljb24gZXVpLWljb24ge3sgY2hpbGRTdWJMaW5rLmljb25DbGFzcyB9fVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZFN1YkxpbmsuaWNvblN2Z05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2ljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInt7IGNoaWxkU3ViTGluay5pY29uU3ZnTmFtZSB9fVwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9fbGFiZWxcIj57eyBjaGlsZFN1YkxpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWNoaWxkU3ViTGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwiaXNkcm9wZG93bk9wZW4gJiYgIWNoaWxkU3ViTGluay5kaXNhYmxlZCA/IDAgOiAtMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJjaGlsZFN1YkxpbmsuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25MaW5rQ2xpY2soY2hpbGRTdWJMaW5rKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQsIGNoaWxkU3ViTGluaylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGRTdWJMaW5rLmljb25DbGFzc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9faWNvbiBldWktaWNvbiB7eyBjaGlsZFN1YkxpbmsuaWNvbkNsYXNzIH19XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNoaWxkU3ViTGluay5pY29uU3ZnTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9faWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwie3sgY2hpbGRTdWJMaW5rLmljb25TdmdOYW1lIH19XCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19sYWJlbFwiPnt7IGNoaWxkU3ViTGluay5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdWw+XG48L25hdj5cbiJdfQ==
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xheW91dC9ldWktdG9vbGJhci90b29sYmFyLW1lbnUvdG9vbGJhci1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xheW91dC9ldWktdG9vbGJhci90b29sYmFyLW1lbnUvdG9vbGJhci1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsS0FBSyxFQUlMLE1BQU0sRUFDTixZQUFZLEVBR1osZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFRcEMsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQyxJQUNXLFVBQVU7UUFDakIsT0FBTyxDQUFDLGtCQUFrQjtZQUN0QixJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLG1DQUFtQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQ3BFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFhRCxZQUNXLFNBQTRCLEVBQzNCLEVBQXFCO1FBRHRCLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBQzNCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBVk8sc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBRXhELG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUU1RCxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQVFuQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztZQUNwQixHQUFHLElBQUksQ0FB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QXZCLHVCQUF1Qix3SEFXWixnQkFBZ0IseUpDcEN4QyxpcVJBb0lBOzs0RkQzR2EsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNJLGtCQUFrQixtQkFFWCx1QkFBdUIsQ0FBQyxPQUFPLGlCQUNqQyxpQkFBaUIsQ0FBQyxJQUFJO3dJQUkxQixVQUFVO3NCQURwQixXQUFXO3VCQUFDLE9BQU87Z0JBU1gsS0FBSztzQkFBYixLQUFLO2dCQUNrQyxpQkFBaUI7c0JBQXhELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBRTVCLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBIb3N0QmluZGluZyxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBJbnB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBPbkNoYW5nZXMsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVeEFwcFNoZWxsU2VydmljZSB9IGZyb20gJ0BldWkvY29yZSc7XG5pbXBvcnQgeyBFdWlNZW51SXRlbSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktbWVudSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktdG9vbGJhci1tZW51JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9vbGJhci1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpVG9vbGJhck1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBwdWJsaWMgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFsnZXVpLXRvb2xiYXItbWVudScsXG4gICAgICAgICAgICB0aGlzLmhhc0xvd2VyY2FzZUl0ZW1zID8gJ2V1aS10b29sYmFyLW1lbnUtLWxvd2VyY2FzZS1pdGVtcycgOiAnJyxcbiAgICAgICAgXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIEBJbnB1dCgpIGl0ZW1zOiBhbnlbXTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzTG93ZXJjYXNlSXRlbXMgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBtZW51SXRlbUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEV1aU1lbnVJdGVtPigpO1xuXG4gICAgaXNkcm9wZG93bk9wZW4gPSBmYWxzZTtcblxuICAgIHByaXZhdGUgc3ViczogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBhc1NlcnZpY2U6IFV4QXBwU2hlbGxTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICApIHtcbiAgICAgICAgdGhpcy5zdWJzID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFzU2VydmljZS5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLmFzU2VydmljZS5zdGF0ZSxcbiAgICAgICAgICAgIGhhc1Rvb2xiYXJNZW51OiB0cnVlLFxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBzdWJzY3JpYmUgdG8gc3RhdGUgY2hhbmdlc1xuICAgICAgICB0aGlzLnN1YnMuYWRkKHRoaXMuYXNTZXJ2aWNlLmdldFN0YXRlKCdtZW51TGlua3MnKS5zdWJzY3JpYmUoKGxpbmtzKSA9PiAodGhpcy5pdGVtcyA9IGxpbmtzKSkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnMudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5hc1NlcnZpY2Uuc2V0U3RhdGUoe1xuICAgICAgICAgICAgLi4udGhpcy5hc1NlcnZpY2Uuc3RhdGUsXG4gICAgICAgICAgICBoYXNUb29sYmFyTWVudTogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuaXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMuYXNTZXJ2aWNlLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLmFzU2VydmljZS5zdGF0ZSxcbiAgICAgICAgICAgICAgICBtZW51TGlua3M6IGNoYW5nZXMuaXRlbXMuY3VycmVudFZhbHVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkxpbmtDbGljayhsaW5rOiBFdWlNZW51SXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAobGluay51cmwpIHtcbiAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWxpbmsuZGlzYWJsZWQgJiYgbGluay5jaGlsZHJlbikge1xuICAgICAgICAgICAgdGhpcy5tZW51SXRlbUNsaWNrZWQuZW1pdChsaW5rKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWxpbmsuZGlzYWJsZWQgJiYgIWxpbmsuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHRoaXMubWVudUl0ZW1DbGlja2VkLmVtaXQobGluayk7XG5cbiAgICAgICAgICAgIC8vIGNsaWNrIG9uIGRyb3BpdGVtcyB0byBjbG9zZSBkcm9wZG93blxuICAgICAgICAgICAgY29uc3QgZHJvcGRvd24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjdG9wLW1lbnUgbGk6aG92ZXIgPiB1bCcpO1xuICAgICAgICAgICAgZHJvcGRvd24uZm9yRWFjaCgobWVudXMpID0+IHtcbiAgICAgICAgICAgICAgICBtZW51cy5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7XG4gICAgICAgICAgICAgICAgbWVudXMuY2xhc3NMaXN0LnJlbW92ZSgnc2hvd09uRW50ZXInKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAvLyBvcGVuIGFnYWluIG9uIG1vdXNlb3ZlclxuICAgICAgICAgICAgY29uc3QgZHJvcEJ0bnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjdG9wLW1lbnUgbGk6aG92ZXInKTtcbiAgICAgICAgICAgIGRyb3BCdG5zLmZvckVhY2goKGJ0bikgPT4ge1xuICAgICAgICAgICAgICAgIGJ0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW92ZXInLCAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkcm9wQ29udGVudCA9IGJ0bi5xdWVyeVNlbGVjdG9yKCcjdG9wLW1lbnUgbGk6aG92ZXIgPiB1bCcpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzaG91bGRPcGVuID0gZHJvcENvbnRlbnQgPyAhZHJvcENvbnRlbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdzaG93JykgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHNob3VsZE9wZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRyb3BDb250ZW50LmNsYXNzTGlzdC5hZGQoJ3Nob3cnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxpbmsudXJsRXh0ZXJuYWwpIHtcbiAgICAgICAgICAgIHdpbmRvdy5vcGVuKGxpbmsudXJsRXh0ZXJuYWwsIGxpbms/LnVybEV4dGVybmFsVGFyZ2V0KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobGluay5jb21tYW5kKSB7XG4gICAgICAgICAgICBsaW5rLmNvbW1hbmQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgbGluazogRXVpTWVudUl0ZW0pOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgICAgIGNhc2UgJ0VudGVyJzoge1xuICAgICAgICAgICAgICAgIGlmIChsaW5rLnVybCkge1xuICAgICAgICAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChsaW5rLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVudUl0ZW1DbGlja2VkLmVtaXQobGluayk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNkcm9wZG93bk9wZW4gPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoIWxpbmsuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZW51SXRlbUNsaWNrZWQuZW1pdChsaW5rKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc2Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAobGluay51cmxFeHRlcm5hbCkge1xuICAgICAgICAgICAgICAgICAgICB3aW5kb3cub3BlbihsaW5rLnVybEV4dGVybmFsLCBsaW5rLnVybEV4dGVybmFsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGxpbmsuY29tbWFuZCkge1xuICAgICAgICAgICAgICAgICAgICBsaW5rLmNvbW1hbmQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdUYWInOiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNkcm9wZG93bk9wZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGFzdGNoaWxkID0gQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY2hpbGQgPiBhJykpLnJldmVyc2UoKVswXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgbGFzdGNoaWxkLm9uYmx1ciA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxhc3QgY2hpbGQgb25ibHVyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc2Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0Y2hpbGQub25ibHVyID0gKCk6IHZvaWQgPT4ge307XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnRXNjYXBlJzoge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNkcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXZlbnQuc2hpZnRLZXkgJiYgZXZlbnQua2V5ID09PSAnVGFiJykge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNkcm9wZG93bk9wZW4pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaXJzdGNoaWxkID0gQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY2hpbGQgPiBhJykpWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICAgIGZpcnN0Y2hpbGQub25ibHVyID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBmaXJzdCBjaGlsZCBvbmJsdXJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc2Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgICAgICAgICAgICAgICAgICBmaXJzdGNoaWxkLm9uYmx1ciA9ICgpOiB2b2lkID0+IHt9O1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgaWYgKGxpbmsuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc2Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuYXYgaWQ9XCJ0b3AtbWVudVwiIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1jb250ZW50XCIgKm5nSWY9XCJpdGVtcyAmJiBpdGVtcy5sZW5ndGggIT09IDBcIj5cbiAgICA8dWw+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGxpbmsgb2YgaXRlbXNcIj5cbiAgICAgICAgICAgIDxsaSAqbmdJZj1cImxpbmsudmlzaWJsZSA9PT0gdW5kZWZpbmVkIHx8IGxpbmsudmlzaWJsZSA9PT0gdHJ1ZVwiIFtjbGFzcy5oYXMtc3ViXT1cImxpbmsuY2hpbGRyZW5cIiBbY2xhc3Muc2VsZWN0ZWRdPVwibGluay5hY3RpdmVcIiByb3V0ZXJMaW5rQWN0aXZlPVwic2VsZWN0ZWRcIj5cbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFsaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJsaW5rLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cIiFsaW5rLmRpc2FibGVkID8gMCA6IC0xXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTGlua0NsaWNrKGxpbmspXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudCwgbGluaylcIlxuICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7IGxpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuaWNvbi1ob21lLWxpbmtdPVwibGluay5pc0hvbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV1aS11LWZsZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImxpbmsuaWNvblN2Z05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImxpbmsuaWNvblN2Z05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxsQ29sb3JdPVwibGluay5hY3RpdmUgPyAnZ3JleS0xMDAnIDogJ3doaXRlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdS1tci14c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImxpbmsuaWNvbkNsYXNzICYmICFsaW5rLmljb25TdmdOYW1lXCIgY2xhc3M9XCJ7eyBsaW5rLmljb25DbGFzcyB9fSBldWktaWNvblwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1sYWJlbFwiPnt7IGxpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnICpuZ0lmPVwibGluay5jaGlsZHJlblwiIGljb249XCJldWktY2FyZXQtZG93blwiIFtmaWxsQ29sb3JdPVwibGluay5hY3RpdmUgPyAnZ3JleS0xMDAnIDogJ3doaXRlJ1wiIHNpemU9XCJzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJsaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJsaW5rLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTGlua0NsaWNrKGxpbmspXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudCwgbGluaylcIlxuICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7IGxpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuaWNvbi1ob21lLWxpbmtdPVwibGluay5pc0hvbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV1aS11LWZsZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImxpbmsuaWNvblN2Z05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImxpbmsuaWNvblN2Z05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxsQ29sb3JdPVwibGluay5hY3RpdmUgPyAnZ3JleS0xMDAnIDogJ3doaXRlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXUtbXIteHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJsaW5rLmljb25DbGFzcyAmJiAhbGluay5pY29uU3ZnTmFtZVwiIGNsYXNzPVwie3sgbGluay5pY29uQ2xhc3MgfX0gZXVpLWljb25cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtbGFiZWxcIj57eyBsaW5rLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibGluay5jaGlsZHJlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cImV1aS1jYXJldC1kb3duXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsbENvbG9yXT1cImxpbmsuYWN0aXZlID8gJ2dyZXktMTAwJyA6ICd3aGl0ZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS11LW1sLXhzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwic2hvd1wiIFtjbGFzcy5zaG93T25FbnRlcl09XCJpc2Ryb3Bkb3duT3BlblwiICpuZ0lmPVwibGluay5jaGlsZHJlblwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjaGlsZExpbmsgb2YgbGluay5jaGlsZHJlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZExpbmsudmlzaWJsZSA9PT0gdW5kZWZpbmVkIHx8IGNoaWxkTGluay52aXNpYmxlID09PSB0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNoaWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuaGFzLXN1Yl09XCJjaGlsZExpbms/LmNoaWxkcmVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VwYXJhdG9yXT1cImNoaWxkTGluay5pc1NlcGFyYXRvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWNoaWxkTGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwiaXNkcm9wZG93bk9wZW4gJiYgIWNoaWxkTGluay5kaXNhYmxlZCA/IDAgOiAtMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJjaGlsZExpbmsuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25MaW5rQ2xpY2soY2hpbGRMaW5rKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQsIGNoaWxkTGluaylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjaGlsZExpbmsuaWNvbkNsYXNzXCIgY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2ljb24gZXVpLWljb24ge3sgY2hpbGRMaW5rLmljb25DbGFzcyB9fVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZExpbmsuaWNvblN2Z05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2ljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInt7IGNoaWxkTGluay5pY29uU3ZnTmFtZSB9fVwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9fbGFiZWxcIj57eyBjaGlsZExpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGRMaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJpc2Ryb3Bkb3duT3BlbiAmJiAhY2hpbGRMaW5rLmRpc2FibGVkID8gMCA6IC0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImNoaWxkTGluay5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImNoaWxkTGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25MaW5rQ2xpY2soY2hpbGRMaW5rKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQsIGNoaWxkTGluaylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjaGlsZExpbmsuaWNvbkNsYXNzXCIgY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2ljb24gZXVpLWljb24ge3sgY2hpbGRMaW5rLmljb25DbGFzcyB9fVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZExpbmsuaWNvblN2Z05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2ljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInt7IGNoaWxkTGluay5pY29uU3ZnTmFtZSB9fVwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9fbGFiZWxcIj57eyBjaGlsZExpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInNob3dcIiBbY2xhc3Muc2hvd09uRW50ZXJdPVwiaXNkcm9wZG93bk9wZW5cIiAqbmdJZj1cImNoaWxkTGluay5jaGlsZHJlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjaGlsZFN1Ykxpbmsgb2YgY2hpbGRMaW5rLmNoaWxkcmVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nSWY9XCJjaGlsZFN1YkxpbmsudmlzaWJsZSA9PT0gdW5kZWZpbmVkIHx8IGNoaWxkU3ViTGluay52aXNpYmxlID09PSB0cnVlXCIgY2xhc3M9XCJjaGlsZFwiIFtjbGFzcy5zZXBhcmF0b3JdPVwiY2hpbGRTdWJMaW5rLmlzU2VwYXJhdG9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZFN1YkxpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cImlzZHJvcGRvd25PcGVuICYmICFjaGlsZFN1YkxpbmsuZGlzYWJsZWQgPyAwIDogLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiY2hpbGRTdWJMaW5rLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiY2hpbGRTdWJMaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkxpbmtDbGljayhjaGlsZFN1YkxpbmspXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudCwgY2hpbGRTdWJMaW5rKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZFN1YkxpbmsuaWNvbkNsYXNzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19pY29uIGV1aS1pY29uIHt7IGNoaWxkU3ViTGluay5pY29uQ2xhc3MgfX1cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGRTdWJMaW5rLmljb25TdmdOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJ7eyBjaGlsZFN1YkxpbmsuaWNvblN2Z05hbWUgfX1cIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2xhYmVsXCI+e3sgY2hpbGRTdWJMaW5rLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFjaGlsZFN1YkxpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cImlzZHJvcGRvd25PcGVuICYmICFjaGlsZFN1YkxpbmsuZGlzYWJsZWQgPyAwIDogLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiY2hpbGRTdWJMaW5rLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTGlua0NsaWNrKGNoaWxkU3ViTGluaylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50LCBjaGlsZFN1YkxpbmspXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNoaWxkU3ViTGluay5pY29uQ2xhc3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2ljb24gZXVpLWljb24ge3sgY2hpbGRTdWJMaW5rLmljb25DbGFzcyB9fVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZFN1YkxpbmsuaWNvblN2Z05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2ljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInt7IGNoaWxkU3ViTGluay5pY29uU3ZnTmFtZSB9fVwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9fbGFiZWxcIj57eyBjaGlsZFN1YkxpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3VsPlxuPC9uYXY+XG4iXX0=
@@ -1545,11 +1545,11 @@ class EuiToolbarMenuComponent {
1545
1545
  }
1546
1546
  }
1547
1547
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EuiToolbarMenuComponent, deps: [{ token: i1.UxAppShellService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
1548
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.12", type: EuiToolbarMenuComponent, selector: "eui-toolbar-menu", inputs: { items: "items", hasLowercaseItems: ["hasLowercaseItems", "hasLowercaseItems", booleanAttribute] }, outputs: { menuItemClicked: "menuItemClicked" }, host: { properties: { "class": "this.cssClasses" } }, usesOnChanges: true, ngImport: i0, template: "<nav id=\"top-menu\" class=\"eui-toolbar-menu-content\" *ngIf=\"items && items.length !== 0\">\n <ul>\n <ng-container *ngFor=\"let link of items\">\n <li *ngIf=\"link.visible\" [class.has-sub]=\"link.children\" [class.selected]=\"link.active\" routerLinkActive=\"selected\">\n <a\n *ngIf=\"!link.url\"\n [class.disabled]=\"link.disabled\"\n [tabindex]=\"!link.disabled ? 0 : -1\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'grey-100' : 'white'\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg *ngIf=\"link.children\" icon=\"eui-caret-down\" [fillColor]=\"link.active ? 'grey-100' : 'white'\" size=\"s\">\n </eui-icon-svg>\n </div>\n </a>\n <a\n *ngIf=\"link.url\"\n [routerLink]=\"link.url\"\n [class.disabled]=\"link.disabled\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'grey-100' : 'white'\"\n size=\"s\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg\n *ngIf=\"link.children\"\n icon=\"eui-caret-down\"\n [fillColor]=\"link.active ? 'grey-100' : 'white'\"\n size=\"s\"\n class=\"eui-u-ml-xs\">\n </eui-icon-svg>\n </div>\n </a>\n\n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"link.children\">\n <ng-container *ngFor=\"let childLink of link.children\">\n <li\n *ngIf=\"childLink.visible\"\n class=\"child\"\n [class.has-sub]=\"childLink?.children\"\n [class.separator]=\"childLink.isSeparator\">\n <a\n *ngIf=\"!childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n [routerLink]=\"childLink.url\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n \n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"childLink.children\">\n <ng-container *ngFor=\"let childSubLink of childLink.children\">\n <li *ngIf=\"childSubLink.visible\" class=\"child\" [class.separator]=\"childSubLink.isSeparator\">\n <a\n *ngIf=\"childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n [routerLink]=\"childSubLink.url\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"!childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n</nav>\n", dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i5.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
1548
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.12", type: EuiToolbarMenuComponent, selector: "eui-toolbar-menu", inputs: { items: "items", hasLowercaseItems: ["hasLowercaseItems", "hasLowercaseItems", booleanAttribute] }, outputs: { menuItemClicked: "menuItemClicked" }, host: { properties: { "class": "this.cssClasses" } }, usesOnChanges: true, ngImport: i0, template: "<nav id=\"top-menu\" class=\"eui-toolbar-menu-content\" *ngIf=\"items && items.length !== 0\">\n <ul>\n <ng-container *ngFor=\"let link of items\">\n <li *ngIf=\"link.visible === undefined || link.visible === true\" [class.has-sub]=\"link.children\" [class.selected]=\"link.active\" routerLinkActive=\"selected\">\n <a\n *ngIf=\"!link.url\"\n [class.disabled]=\"link.disabled\"\n [tabindex]=\"!link.disabled ? 0 : -1\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'grey-100' : 'white'\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg *ngIf=\"link.children\" icon=\"eui-caret-down\" [fillColor]=\"link.active ? 'grey-100' : 'white'\" size=\"s\">\n </eui-icon-svg>\n </div>\n </a>\n <a\n *ngIf=\"link.url\"\n [routerLink]=\"link.url\"\n [class.disabled]=\"link.disabled\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'grey-100' : 'white'\"\n size=\"s\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg\n *ngIf=\"link.children\"\n icon=\"eui-caret-down\"\n [fillColor]=\"link.active ? 'grey-100' : 'white'\"\n size=\"s\"\n class=\"eui-u-ml-xs\">\n </eui-icon-svg>\n </div>\n </a>\n\n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"link.children\">\n <ng-container *ngFor=\"let childLink of link.children\">\n <li\n *ngIf=\"childLink.visible === undefined || childLink.visible === true\"\n class=\"child\"\n [class.has-sub]=\"childLink?.children\"\n [class.separator]=\"childLink.isSeparator\">\n <a\n *ngIf=\"!childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n [routerLink]=\"childLink.url\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n \n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"childLink.children\">\n <ng-container *ngFor=\"let childSubLink of childLink.children\">\n <li *ngIf=\"childSubLink.visible === undefined || childSubLink.visible === true\" class=\"child\" [class.separator]=\"childSubLink.isSeparator\">\n <a\n *ngIf=\"childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n [routerLink]=\"childSubLink.url\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"!childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n</nav>\n", dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i5.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
1549
1549
  }
1550
1550
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EuiToolbarMenuComponent, decorators: [{
1551
1551
  type: Component,
1552
- args: [{ selector: 'eui-toolbar-menu', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<nav id=\"top-menu\" class=\"eui-toolbar-menu-content\" *ngIf=\"items && items.length !== 0\">\n <ul>\n <ng-container *ngFor=\"let link of items\">\n <li *ngIf=\"link.visible\" [class.has-sub]=\"link.children\" [class.selected]=\"link.active\" routerLinkActive=\"selected\">\n <a\n *ngIf=\"!link.url\"\n [class.disabled]=\"link.disabled\"\n [tabindex]=\"!link.disabled ? 0 : -1\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'grey-100' : 'white'\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg *ngIf=\"link.children\" icon=\"eui-caret-down\" [fillColor]=\"link.active ? 'grey-100' : 'white'\" size=\"s\">\n </eui-icon-svg>\n </div>\n </a>\n <a\n *ngIf=\"link.url\"\n [routerLink]=\"link.url\"\n [class.disabled]=\"link.disabled\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'grey-100' : 'white'\"\n size=\"s\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg\n *ngIf=\"link.children\"\n icon=\"eui-caret-down\"\n [fillColor]=\"link.active ? 'grey-100' : 'white'\"\n size=\"s\"\n class=\"eui-u-ml-xs\">\n </eui-icon-svg>\n </div>\n </a>\n\n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"link.children\">\n <ng-container *ngFor=\"let childLink of link.children\">\n <li\n *ngIf=\"childLink.visible\"\n class=\"child\"\n [class.has-sub]=\"childLink?.children\"\n [class.separator]=\"childLink.isSeparator\">\n <a\n *ngIf=\"!childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n [routerLink]=\"childLink.url\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n \n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"childLink.children\">\n <ng-container *ngFor=\"let childSubLink of childLink.children\">\n <li *ngIf=\"childSubLink.visible\" class=\"child\" [class.separator]=\"childSubLink.isSeparator\">\n <a\n *ngIf=\"childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n [routerLink]=\"childSubLink.url\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"!childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n</nav>\n" }]
1552
+ args: [{ selector: 'eui-toolbar-menu', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<nav id=\"top-menu\" class=\"eui-toolbar-menu-content\" *ngIf=\"items && items.length !== 0\">\n <ul>\n <ng-container *ngFor=\"let link of items\">\n <li *ngIf=\"link.visible === undefined || link.visible === true\" [class.has-sub]=\"link.children\" [class.selected]=\"link.active\" routerLinkActive=\"selected\">\n <a\n *ngIf=\"!link.url\"\n [class.disabled]=\"link.disabled\"\n [tabindex]=\"!link.disabled ? 0 : -1\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'grey-100' : 'white'\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg *ngIf=\"link.children\" icon=\"eui-caret-down\" [fillColor]=\"link.active ? 'grey-100' : 'white'\" size=\"s\">\n </eui-icon-svg>\n </div>\n </a>\n <a\n *ngIf=\"link.url\"\n [routerLink]=\"link.url\"\n [class.disabled]=\"link.disabled\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'grey-100' : 'white'\"\n size=\"s\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg\n *ngIf=\"link.children\"\n icon=\"eui-caret-down\"\n [fillColor]=\"link.active ? 'grey-100' : 'white'\"\n size=\"s\"\n class=\"eui-u-ml-xs\">\n </eui-icon-svg>\n </div>\n </a>\n\n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"link.children\">\n <ng-container *ngFor=\"let childLink of link.children\">\n <li\n *ngIf=\"childLink.visible === undefined || childLink.visible === true\"\n class=\"child\"\n [class.has-sub]=\"childLink?.children\"\n [class.separator]=\"childLink.isSeparator\">\n <a\n *ngIf=\"!childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n [routerLink]=\"childLink.url\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n \n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"childLink.children\">\n <ng-container *ngFor=\"let childSubLink of childLink.children\">\n <li *ngIf=\"childSubLink.visible === undefined || childSubLink.visible === true\" class=\"child\" [class.separator]=\"childSubLink.isSeparator\">\n <a\n *ngIf=\"childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n [routerLink]=\"childSubLink.url\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"!childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n</nav>\n" }]
1553
1553
  }], ctorParameters: function () { return [{ type: i1.UxAppShellService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { cssClasses: [{
1554
1554
  type: HostBinding,
1555
1555
  args: ['class']