@agorapulse/ui-components 18.0.23 → 18.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/agorapulse-ui-components-18.0.25.tgz +0 -0
  2. package/esm2022/media-display-overlay/media-display-overlay-dialog.component.mjs +3 -3
  3. package/esm2022/nav-selector/nav-selector-category/nav-selector-category.component.mjs +40 -6
  4. package/esm2022/nav-selector/nav-selector-group/nav-selector-group.component.mjs +21 -14
  5. package/esm2022/nav-selector/nav-selector-leaf/nav-selector-leaf.component.mjs +46 -20
  6. package/esm2022/nav-selector/nav-selector-leaf/nav-selector-leaf.presenter.mjs +4 -1
  7. package/esm2022/nav-selector/nav-selector-leaf-detail/nav-selector-leaf-detail.component.mjs +5 -3
  8. package/esm2022/nav-selector/nav-selector-leaf-detail/nav-selector-leaf-detail.presenter.mjs +4 -2
  9. package/esm2022/nav-selector/nav-selector-popover/nav-selector-popover-item.component.mjs +39 -10
  10. package/esm2022/nav-selector/nav-selector-popover/nav-selector-popover.component.mjs +3 -4
  11. package/esm2022/nav-selector/nav-selector.component.mjs +20 -7
  12. package/esm2022/nav-selector/nav-selector.mjs +1 -1
  13. package/esm2022/nav-selector/nav-selector.state.mjs +17 -5
  14. package/esm2022/nav-selector/public_api.mjs +2 -1
  15. package/esm2022/nav-selector/utils/nav-selector.builder.mjs +6 -3
  16. package/esm2022/nav-selector/utils/nav-selector.filter.mjs +2 -1
  17. package/esm2022/nav-selector/utils/nav-selector.folding.mjs +106 -46
  18. package/esm2022/nav-selector/utils/nav-selector.minifying.mjs +6 -2
  19. package/esm2022/popmenu/popmenu.directive.mjs +1 -1
  20. package/esm2022/select/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.mjs +2 -2
  21. package/esm2022/select/dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component.mjs +2 -2
  22. package/esm2022/select/dropdown-search-form/dropdown-search-form.component.mjs +2 -4
  23. package/fesm2022/agorapulse-ui-components-media-display-overlay.mjs +2 -2
  24. package/fesm2022/agorapulse-ui-components-media-display-overlay.mjs.map +1 -1
  25. package/fesm2022/agorapulse-ui-components-nav-selector.mjs +504 -310
  26. package/fesm2022/agorapulse-ui-components-nav-selector.mjs.map +1 -1
  27. package/fesm2022/agorapulse-ui-components-popmenu.mjs.map +1 -1
  28. package/fesm2022/agorapulse-ui-components-select.mjs +3 -5
  29. package/fesm2022/agorapulse-ui-components-select.mjs.map +1 -1
  30. package/nav-selector/nav-selector-category/nav-selector-category.component.d.ts +10 -0
  31. package/nav-selector/nav-selector-group/nav-selector-group.component.d.ts +1 -0
  32. package/nav-selector/nav-selector-leaf/nav-selector-leaf.component.d.ts +5 -1
  33. package/nav-selector/nav-selector-leaf/nav-selector-leaf.presenter.d.ts +2 -1
  34. package/nav-selector/nav-selector-popover/nav-selector-popover-item.component.d.ts +7 -2
  35. package/nav-selector/nav-selector.component.d.ts +1 -0
  36. package/nav-selector/nav-selector.d.ts +2 -0
  37. package/nav-selector/nav-selector.state.d.ts +2 -0
  38. package/nav-selector/public_api.d.ts +1 -0
  39. package/nav-selector/utils/nav-selector.folding.d.ts +32 -9
  40. package/package.json +7 -7
  41. package/popmenu/popmenu.directive.d.ts +6 -4
  42. package/select/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.d.ts +1 -1
  43. package/select/dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component.d.ts +1 -1
  44. package/agorapulse-ui-components-18.0.23.tgz +0 -0
@@ -6,7 +6,7 @@ import { apChevronDown, apChevronUp, apErrorFill, apFeatureLock, SymbolComponent
6
6
  import { apMore } from '@agorapulse/ui-symbol/icons';
7
7
  import { animate, keyframes, state, style, transition, trigger } from '@angular/animations';
8
8
  import { NgTemplateOutlet } from '@angular/common';
9
- import { afterNextRender, ChangeDetectionStrategy, Component, computed, effect, input, signal, untracked, viewChild, } from '@angular/core';
9
+ import { afterNextRender, afterRender, ChangeDetectionStrategy, Component, computed, effect, input, signal, untracked, viewChild, } from '@angular/core';
10
10
  import { NavSelectorPopoverTriggerDirective } from '../directives/nav-selector-popover-trigger.directive';
11
11
  import { TreeNodeAccessibilityDirective } from '../directives/tree-node-accessibility.directive';
12
12
  import { NavSelectorLeafDetailComponent } from '../nav-selector-leaf-detail/nav-selector-leaf-detail.component';
@@ -40,13 +40,11 @@ export class NavSelectorLeafComponent {
40
40
  if (disableReason) {
41
41
  content.push(disableReason);
42
42
  }
43
- if (this.navSelectorLeafPresenter.isMultipleModeEnabled() || !this.navSelectorLeafPresenter.expanded()) {
44
- if (this.leaf().displayFeatureLocked) {
45
- content.push(this.navSelectorLeafPresenter.texts().featureLocked);
46
- }
47
- if (this.leaf().displayTokenInvalid) {
48
- content.push(this.navSelectorLeafPresenter.texts().tokenInvalid);
49
- }
43
+ if (this.leaf().displayFeatureLocked) {
44
+ content.push(this.navSelectorLeafPresenter.texts().featureLocked);
45
+ }
46
+ if (this.leaf().displayTokenInvalid) {
47
+ content.push(this.navSelectorLeafPresenter.texts().tokenInvalid);
50
48
  }
51
49
  return content.join('<br>');
52
50
  });
@@ -58,16 +56,9 @@ export class NavSelectorLeafComponent {
58
56
  this.navSelectorLeafPresenter = navSelectorLeafPresenter;
59
57
  afterNextRender(() => {
60
58
  this.maxHeight.set(`${this.el.nativeElement.clientHeight * this.leaf().details.length}px`);
61
- const el = this.aliasEl()?.nativeElement;
62
- if (el) {
63
- this.aliasBoundedClientRect.set({
64
- offsetWidth: el.offsetWidth,
65
- offsetHeight: el.offsetHeight,
66
- scrollWidth: el.scrollWidth,
67
- scrollHeight: el.scrollHeight,
68
- });
69
- }
59
+ this.updateAliasBoundedClientRect();
70
60
  });
61
+ afterRender(() => untracked(() => this.updateAliasBoundedClientRect()));
71
62
  effect(() => {
72
63
  const folded = this.leaf().folded;
73
64
  untracked(() => {
@@ -90,8 +81,25 @@ export class NavSelectorLeafComponent {
90
81
  event.stopImmediatePropagation();
91
82
  this.navSelectorLeafPresenter.onLeafToggleFolding(this.leaf());
92
83
  }
84
+ clickOnToggleFolding(event) {
85
+ event.stopImmediatePropagation();
86
+ // Remove the focus from the toggle folding so we do not have the :focus-within style on the leaf
87
+ if (event.currentTarget && 'blur' in event.currentTarget && typeof event.currentTarget.blur === 'function') {
88
+ event.currentTarget.blur();
89
+ }
90
+ this.navSelectorLeafPresenter.onLeafToggleFolding(this.leaf());
91
+ }
93
92
  selectOnly(event) {
94
93
  event.stopImmediatePropagation();
94
+ // (event.target as Element).blur();
95
+ this.navSelectorLeafPresenter.selectOnlyLeaf(this.leaf());
96
+ }
97
+ clickOnSelectOnly(event) {
98
+ event.stopImmediatePropagation();
99
+ // Remove the focus from the select only so we do not have the :focus-within style on the leaf
100
+ if (event.currentTarget && 'blur' in event.currentTarget && typeof event.currentTarget.blur === 'function') {
101
+ event.currentTarget.blur();
102
+ }
95
103
  this.navSelectorLeafPresenter.selectOnlyLeaf(this.leaf());
96
104
  }
97
105
  /**
@@ -122,8 +130,26 @@ export class NavSelectorLeafComponent {
122
130
  event.stopImmediatePropagation();
123
131
  this.navSelectorLeafPresenter.unfold(this.leaf());
124
132
  }
133
+ onDetailClicked(event, detail) {
134
+ event.stopImmediatePropagation();
135
+ this.navSelectorLeafPresenter.onLeafDetailClicked(detail);
136
+ }
137
+ updateAliasBoundedClientRect() {
138
+ const el = this.aliasEl()?.nativeElement;
139
+ if (el) {
140
+ const boundedClientRect = {
141
+ offsetWidth: el.offsetWidth,
142
+ offsetHeight: el.offsetHeight,
143
+ scrollWidth: el.scrollWidth,
144
+ scrollHeight: el.scrollHeight,
145
+ };
146
+ if (JSON.stringify(this.aliasBoundedClientRect()) !== JSON.stringify(boundedClientRect)) {
147
+ this.aliasBoundedClientRect.set(boundedClientRect);
148
+ }
149
+ }
150
+ }
125
151
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorLeafComponent, deps: [{ token: i0.ElementRef }, { token: i1.NavSelectorLeafPresenter }], target: i0.ɵɵFactoryTarget.Component });
126
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: NavSelectorLeafComponent, isStandalone: true, selector: "ap-nav-selector-leaf", inputs: { leaf: { classPropertyName: "leaf", publicName: "leaf", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "role": "treeitem" }, listeners: { "keydown.arrowLeft": "fold($event)", "keydown.arrowRight": "unfold($event)" }, properties: { "class.minified": "!navSelectorLeafPresenter.expanded()" } }, providers: [withSymbols(apErrorFill, apFeatureLock, apChevronDown, apChevronUp, apMore), NavSelectorLeafPresenter], viewQueries: [{ propertyName: "aliasEl", first: true, predicate: ["alias"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (navSelectorLeafPresenter.expandedAfterDelay()) {\n <div\n class=\"nav-selector-leaf\"\n apTooltipPosition=\"right\"\n [attr.aria-selected]=\"leaf().selected\"\n [apTooltip]=\"tooltipContent()\"\n [apTooltipDisabled]=\"tooltipDisabled()\"\n [class.multiple-mode]=\"navSelectorLeafPresenter.isMultipleModeEnabled()\"\n [class.feature-locked]=\"leaf().displayFeatureLocked\"\n [class.selected]=\"leaf().selected\"\n [class.token-error]=\"leaf().displayTokenInvalid\"\n [class.disabled]=\"leaf().disabled\"\n [class.detail-selected]=\"leaf().detailSelected\"\n [class.actions-displayable]=\"leaf().actionsDisplayable && leaf().detailsDisplayable\"\n [class.details-displayable]=\"leaf().detailsDisplayable\"\n [apTreeNodeAccessibility]=\"leaf()\"\n (keydown.space)=\"onSpaceOrEnterPressed($event)\"\n (keydown.enter)=\"onSpaceOrEnterPressed($event)\"\n (focusin)=\"focused.set(true)\"\n (focusout)=\"focused.set(false)\"\n (click)=\"onClick($event)\">\n @if (navSelectorLeafPresenter.isMultipleModeEnabled()) {\n <ap-checkbox\n [name]=\"leaf().uid\"\n [checked]=\"leaf().selected\"\n [aria-label]=\"leaf().alias\"\n [disabled]=\"!leaf().selectable\"\n (click)=\"eventStopper($event)\"\n (change)=\"onCheckboxToggle()\" />\n }\n <ap-avatar\n size=\"24\"\n [profilePicture]=\"leaf().pictureUrl ?? undefined\"\n [network]=\"$any(leaf().network)\"\n [showInitials]=\"initial()\" />\n\n <span\n #alias\n class=\"caption\">\n {{ leaf().alias }}\n </span>\n\n <a\n class=\"standalone only-button\"\n role=\"button\"\n [attr.aria-label]=\"'Select only ' + leaf().alias\"\n [attr.tabindex]=\"leaf().accessibility.tabIndex\"\n (keydown.space)=\"selectOnly($event)\"\n (keydown.enter)=\"selectOnly($event)\"\n (click)=\"selectOnly($event)\">\n {{ navSelectorLeafPresenter.texts().only }}\n </a>\n\n @let actionProjection = navSelectorLeafPresenter.leafActionProjection();\n @if (actionProjection?.length) {\n <ap-symbol\n class=\"actions-menu\"\n size=\"sm\"\n symbolId=\"more\"\n [tabindex]=\"leaf().accessibility.tabIndex\"\n [attr.aria-label]=\"'Action menu ' + leaf().alias\"\n [apNavSelectorPopoverTrigger]=\"popover\"\n [apNavSelectorPopoverTriggerMode]=\"{ click: true, keyboard: ['Space', 'Enter'] }\" />\n\n <ap-nav-selector-popover\n #popover\n placement=\"bottom_start\">\n @for (action of actionProjection; track action) {\n <ng-template #item>\n <ng-container\n [ngTemplateOutlet]=\"action\"\n [ngTemplateOutletContext]=\"{\n uid: leaf().uid\n }\" />\n </ng-template>\n }\n </ap-nav-selector-popover>\n }\n\n @if (leaf().foldable) {\n <ap-symbol\n class=\"folding-button\"\n size=\"sm\"\n role=\"button\"\n [tabindex]=\"leaf().accessibility.tabIndex\"\n [attr.aria-label]=\"'Toggle ' + leaf().alias\"\n [symbolId]=\"foldSymbol()\"\n (click)=\"toggleFolding($event)\"\n (keydown.space)=\"toggleFolding($event)\"\n (keydown.enter)=\"toggleFolding($event)\" />\n }\n @if (leaf().displayCounter) {\n <ap-counter\n color=\"orange\"\n size=\"normal\"\n [background]=\"false\">\n {{ leaf().counter }}\n </ap-counter>\n }\n @if (leaf().displayTokenInvalid) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\" />\n }\n @if (leaf().displayFeatureLocked) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"feature-lock\" />\n }\n </div>\n\n <div\n class=\"details-container\"\n [@accordion]=\"{\n value: animationState(),\n params: {\n maxHeight: maxHeight()\n }\n }\">\n @if (!foldedWithDelay()) {\n <ap-nav-selector-leaf-details\n [details]=\"leaf().details\"\n [leaf]=\"leaf()\" />\n }\n </div>\n} @else {\n <div\n #minified\n class=\"nav-selector-leaf\"\n apTooltipPosition=\"right\"\n [apNavSelectorPopoverTrigger]=\"minifiedPopover\"\n [apNavSelectorPopoverDisabled]=\"!leaf().detailsDisplayable\"\n [apNavSelectorPopoverTriggerMode]=\"{ click: false, hover: true }\"\n [class.feature-locked]=\"leaf().displayFeatureLocked\"\n [class.selected]=\"leaf().selected || leaf().detailSelected\"\n [class.token-error]=\"leaf().displayTokenInvalid\"\n [class.disabled]=\"leaf().disabled\"\n [apTooltip]=\"tooltipContent()\"\n [apTooltipDisabled]=\"tooltipDisabled()\"\n [apTreeNodeAccessibility]=\"leaf()\"\n (keydown.space)=\"onSpaceOrEnterPressed($event)\"\n (keydown.enter)=\"onSpaceOrEnterPressed($event)\"\n (click)=\"onClick($event)\">\n @if (navSelectorLeafPresenter.isMultipleModeEnabled()) {\n <ap-checkbox\n [name]=\"leaf().uid\"\n [checked]=\"leaf().selected\"\n [disabled]=\"!leaf().selectable\" />\n }\n\n <div class=\"avatar-container\">\n <ap-avatar\n size=\"24\"\n [profilePicture]=\"leaf().pictureUrl ?? undefined\"\n [network]=\"$any(leaf().network)\"\n [showInitials]=\"initial()\" />\n\n <div class=\"status\">\n @if (leaf().displayCounter) {\n <ap-counter\n class=\"counter-override\"\n color=\"orange\"\n size=\"normal\"\n [notif]=\"true\"\n [background]=\"true\">\n {{ leaf().counter }}\n </ap-counter>\n }\n @if (leaf().displayTokenInvalid) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\" />\n }\n @if (leaf().displayFeatureLocked) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"feature-lock\" />\n }\n </div>\n </div>\n\n <ap-nav-selector-popover\n #minifiedPopover\n [popoverTitle]=\"leaf().alias\"\n [offset]=\"{ mainAxis: 0, crossAxis: -36.5 }\"\n placement=\"right\">\n @for (detail of leaf().details; track detail.uid) {\n <ap-nav-selector-popover-item item [selected]=\"detail.selected\" [class.disabled]=\"detail.displayError\">\n <ap-nav-selector-leaf-detail\n [embedded]=\"true\"\n [detail]=\"detail\" />\n </ap-nav-selector-popover-item>\n }\n </ap-nav-selector-popover>\n </div>\n}\n", styles: [":host{display:flex;flex-shrink:0;align-self:stretch;flex-direction:column}:host .details-container{align-self:stretch}:host .nav-selector-leaf{position:relative;display:flex;padding:0 var(--ref-spacing-xxs);height:36px;align-items:center;gap:var(--ref-spacing-xxs);flex-shrink:0;flex-grow:1;align-self:stretch}:host .nav-selector-leaf ::ng-deep ap-checkbox .checkbox .checkbox-container{padding:0}:host .caption{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;flex:1 0 0;overflow:hidden;color:var(--ref-color-grey-100);text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-regular);line-height:var(--ref-font-line-height-xs)}:host ap-symbol[symbol-id=error_fill]{color:var(--ref-color-red-100)}:host ap-symbol[symbol-id=feature-lock]{color:var(--ref-color-purple-100)}:host ap-symbol[symbol-id=chevron-down],:host ap-symbol[symbol-id=chevron-up]{color:var(--ref-color-grey-80)}:host .folding-button,:host .actions-menu{display:none;width:24px;height:24px;justify-content:center;align-items:center;flex-shrink:0}:host .folding-button:hover,:host .actions-menu:hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .folding-button:active,:host .folding-button.nav-selector-popover-trigger--active,:host .actions-menu:active,:host .actions-menu.nav-selector-popover-trigger--active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-40)}:host .folding-button:focus-visible,:host .actions-menu:focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20);box-shadow:0 0 0 1px #fff,0 0 0 3px #178dfe}:host .nav-selector-leaf.details-displayable{cursor:pointer}:host .nav-selector-leaf.details-displayable.detail-selected .caption{font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs);color:var(--ref-color-grey-100)}:host .nav-selector-leaf.details-displayable:focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf.details-displayable:focus-within{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable){cursor:pointer}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):focus-within{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:not(.multiple-mode){border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:not(.multiple-mode) .caption{color:var(--ref-color-electric-blue-150)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected.multiple-mode .caption{color:var(--ref-color-grey-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected .caption{overflow:hidden;text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:hover ap-counter,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-within ap-counter,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-visible ap-counter{display:none}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:hover .only-button,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-within .only-button,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-visible .only-button{display:flex}:host .nav-selector-leaf.feature-locked:not(.multiple-mode){border-radius:var(--ref-border-radius-sm);outline:none}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):hover{background:var(--ref-color-purple-10)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):active{background:var(--ref-color-purple-20)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):focus-visible{background:var(--ref-color-purple-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-purple-100)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected{background:var(--ref-color-purple-20)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected .caption{overflow:hidden;color:var(--ref-color-purple-100);text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible ap-counter,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within ap-counter,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover ap-counter{display:none}:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible .actions-menu,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible .folding-button,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within .actions-menu,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within .folding-button,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover .actions-menu,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover .folding-button{display:flex}:host .nav-selector-leaf.feature-locked.multiple-mode ap-avatar,:host .nav-selector-leaf.feature-locked.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.feature-locked.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.token-error.multiple-mode ap-avatar,:host .nav-selector-leaf.token-error.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.token-error.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.disabled.multiple-mode ap-avatar,:host .nav-selector-leaf.disabled.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.disabled.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.disabled ap-avatar,:host .nav-selector-leaf.disabled .caption{opacity:.5}:host .nav-selector-leaf.disabled .caption{color:var(--ref-color-grey-40)}:host .status{position:absolute;right:-4px;top:-6px;background-color:var(--ref-color-white);border-radius:100%}:host .avatar-container{position:relative}:host.minified .counter-override{background-color:var(--ref-color-orange-150)}:host.minified .nav-selector-leaf{gap:var(--ref-spacing-xxxs);padding:var(--ref-spacing-xxxs);justify-content:center}:host.minified ::ng-deep ap-checkbox .checkbox .checkbox-container{padding:0}:host .only-button{display:none;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}::ng-deep .nav-selector-leaf-menu{position:absolute;left:55px;top:-20%;width:225px}::ng-deep .nav-selector-leaf-menu .not-displayable{display:none}::ng-deep .nav-selector-leaf-menu .caption-bold{color:var(--ref-color-grey-100);font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}\n"], dependencies: [{ kind: "component", type: AvatarComponent, selector: "ap-avatar", inputs: ["profilePicture", "alt", "network", "size", "username", "showInitials", "bigNetwork", "anonymous", "online", "youtubeAvatarMode", "rounded"] }, { kind: "component", type: CounterComponent, selector: "ap-counter", inputs: ["color", "size", "background", "notif"] }, { kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "component", type: NavSelectorLeafDetailsComponent, selector: "ap-nav-selector-leaf-details", inputs: ["leaf", "details"] }, { kind: "component", type: CheckboxComponent, selector: "ap-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "disabled", "indeterminate", "checked", "required", "name"], outputs: ["change"] }, { kind: "directive", type: TooltipDirective, selector: "[apTooltip]", inputs: ["apTooltip", "apTooltipPosition", "apTooltipShowDelay", "apTooltipHideDelay", "apTooltipDuration", "apTooltipDisabled", "apTooltipTruncatedTextOnly", "apTooltipTemplateContext", "apTooltipVirtualScrollElement"] }, { kind: "component", type: NavSelectorLeafDetailComponent, selector: "ap-nav-selector-leaf-detail", inputs: ["detail", "embedded"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: TreeNodeAccessibilityDirective, selector: "[apTreeNodeAccessibility]", inputs: ["apTreeNodeAccessibility"] }, { kind: "component", type: NavSelectorPopoverComponent, selector: "ap-nav-selector-popover", inputs: ["placement", "popoverTitle", "offset"] }, { kind: "directive", type: NavSelectorPopoverTriggerDirective, selector: "[apNavSelectorPopoverTrigger]", inputs: ["apNavSelectorPopoverTrigger", "apNavSelectorPopoverTriggerMode", "apNavSelectorPopoverDisabled"] }, { kind: "component", type: NavSelectorPopoverItemComponent, selector: "ap-nav-selector-popover-item", inputs: ["selected"] }], animations: [
152
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: NavSelectorLeafComponent, isStandalone: true, selector: "ap-nav-selector-leaf", inputs: { leaf: { classPropertyName: "leaf", publicName: "leaf", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "role": "treeitem" }, listeners: { "keydown.arrowLeft": "fold($event)", "keydown.arrowRight": "unfold($event)" }, properties: { "class.minified": "!navSelectorLeafPresenter.expanded()" } }, providers: [withSymbols(apErrorFill, apFeatureLock, apChevronDown, apChevronUp, apMore), NavSelectorLeafPresenter], viewQueries: [{ propertyName: "aliasEl", first: true, predicate: ["alias"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (navSelectorLeafPresenter.expandedAfterDelay()) {\n <div\n class=\"nav-selector-leaf\"\n apTooltipPosition=\"right\"\n [attr.aria-selected]=\"leaf().selected\"\n [apTooltip]=\"tooltipContent()\"\n [apTooltipDisabled]=\"tooltipDisabled()\"\n [class.multiple-mode]=\"navSelectorLeafPresenter.isMultipleModeEnabled()\"\n [class.feature-locked]=\"leaf().displayFeatureLocked\"\n [class.selected]=\"leaf().selected\"\n [class.token-error]=\"leaf().displayTokenInvalid\"\n [class.disabled]=\"leaf().disabled\"\n [class.detail-selected]=\"leaf().detailSelected\"\n [class.actions-displayable]=\"leaf().actionsDisplayable && leaf().detailsDisplayable\"\n [class.details-displayable]=\"leaf().detailsDisplayable\"\n [apTreeNodeAccessibility]=\"leaf()\"\n (keydown.space)=\"onSpaceOrEnterPressed($event)\"\n (keydown.enter)=\"onSpaceOrEnterPressed($event)\"\n (focusin)=\"focused.set(true)\"\n (focusout)=\"focused.set(false)\"\n (click)=\"onClick($event)\">\n @if (navSelectorLeafPresenter.isMultipleModeEnabled()) {\n <ap-checkbox\n [name]=\"leaf().uid\"\n [checked]=\"leaf().selected\"\n [aria-label]=\"leaf().alias\"\n [disabled]=\"!leaf().selectable\"\n (click)=\"eventStopper($event)\"\n (change)=\"onCheckboxToggle()\" />\n }\n <ap-avatar\n size=\"24\"\n [profilePicture]=\"leaf().pictureUrl ?? undefined\"\n [network]=\"$any(leaf().network)\"\n [showInitials]=\"initial()\" />\n\n <span\n #alias\n class=\"caption\">\n {{ leaf().alias }}\n </span>\n\n <a\n class=\"standalone only-button\"\n role=\"button\"\n [attr.aria-label]=\"'Select only ' + leaf().alias\"\n [attr.tabindex]=\"leaf().accessibility.tabIndex\"\n (keydown.space)=\"selectOnly($event)\"\n (keydown.enter)=\"selectOnly($event)\"\n (click)=\"clickOnSelectOnly($event)\">\n {{ navSelectorLeafPresenter.texts().only }}\n </a>\n\n @let actionProjection = navSelectorLeafPresenter.leafActionProjection();\n @if (actionProjection?.length) {\n <ap-symbol\n class=\"actions-menu\"\n size=\"sm\"\n symbolId=\"more\"\n [tabindex]=\"leaf().accessibility.tabIndex\"\n [attr.aria-label]=\"'Action menu ' + leaf().alias\"\n [apNavSelectorPopoverTrigger]=\"popover\"\n [apNavSelectorPopoverTriggerMode]=\"{ click: true, keyboard: ['Space', 'Enter'] }\" />\n\n <ap-nav-selector-popover\n #popover\n placement=\"bottom_start\">\n @for (action of actionProjection; track action) {\n <ng-template #item>\n <ng-container\n [ngTemplateOutlet]=\"action\"\n [ngTemplateOutletContext]=\"{\n uid: leaf().uid\n }\" />\n </ng-template>\n }\n </ap-nav-selector-popover>\n }\n\n @if (leaf().foldable) {\n <ap-symbol\n class=\"folding-button\"\n size=\"sm\"\n role=\"button\"\n [tabindex]=\"leaf().accessibility.tabIndex\"\n [attr.aria-label]=\"'Toggle ' + leaf().alias\"\n [symbolId]=\"foldSymbol()\"\n (click)=\"clickOnToggleFolding($event)\"\n (keydown.space)=\"toggleFolding($event)\"\n (keydown.enter)=\"toggleFolding($event)\" />\n }\n @if (leaf().displayCounter) {\n <ap-counter\n color=\"orange\"\n size=\"normal\"\n [background]=\"false\">\n {{ leaf().counter }}\n </ap-counter>\n }\n @if (leaf().displayTokenInvalid) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\" />\n }\n @if (leaf().displayFeatureLocked) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"feature-lock\" />\n }\n </div>\n\n <div\n class=\"details-container\"\n [@accordion]=\"{\n value: animationState(),\n params: {\n maxHeight: maxHeight()\n }\n }\">\n @if (!foldedWithDelay()) {\n <ap-nav-selector-leaf-details\n [details]=\"leaf().details\"\n [leaf]=\"leaf()\" />\n }\n </div>\n} @else {\n <div\n #minified\n class=\"nav-selector-leaf\"\n apTooltipPosition=\"right\"\n [apNavSelectorPopoverTrigger]=\"minifiedPopover\"\n [apNavSelectorPopoverDisabled]=\"!leaf().detailsDisplayable\"\n [apNavSelectorPopoverTriggerMode]=\"{ click: false, hover: true }\"\n [class.feature-locked]=\"leaf().displayFeatureLocked\"\n [class.selected]=\"leaf().selected || leaf().detailSelected\"\n [class.token-error]=\"leaf().displayTokenInvalid\"\n [class.multiple-mode]=\"navSelectorLeafPresenter.isMultipleModeEnabled()\"\n [class.disabled]=\"leaf().disabled\"\n [apTooltip]=\"tooltipContent()\"\n [apTooltipDisabled]=\"tooltipDisabled()\"\n [apTreeNodeAccessibility]=\"leaf()\"\n (keydown.space)=\"onSpaceOrEnterPressed($event)\"\n (keydown.enter)=\"onSpaceOrEnterPressed($event)\"\n (click)=\"onClick($event)\">\n @if (navSelectorLeafPresenter.isMultipleModeEnabled()) {\n <ap-checkbox\n [name]=\"leaf().uid\"\n [checked]=\"leaf().selected\"\n [disabled]=\"!leaf().selectable\" />\n }\n\n <div class=\"avatar-container\">\n <ap-avatar\n size=\"24\"\n [profilePicture]=\"leaf().pictureUrl ?? undefined\"\n [network]=\"$any(leaf().network)\"\n [showInitials]=\"initial()\" />\n\n <div class=\"status\">\n @if (leaf().displayCounter) {\n <ap-counter\n class=\"counter-override\"\n color=\"orange\"\n size=\"normal\"\n [notif]=\"true\"\n [background]=\"true\">\n {{ leaf().counter }}\n </ap-counter>\n }\n @if (leaf().displayTokenInvalid) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\" />\n }\n @if (leaf().displayFeatureLocked) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"feature-lock\" />\n }\n </div>\n </div>\n\n <ap-nav-selector-popover\n #minifiedPopover\n placement=\"right\"\n [popoverTitle]=\"leaf().alias\"\n [offset]=\"{ mainAxis: 0, crossAxis: -36.5 }\">\n @for (detail of leaf().details; track detail.uid) {\n <ap-nav-selector-popover-item\n item\n [selected]=\"detail.selected\"\n [disabled]=\"detail.displayError\"\n [name]=\"detail.alias\"\n (click)=\"onDetailClicked($event, detail)\">\n <ap-nav-selector-leaf-detail\n [embedded]=\"true\"\n [detail]=\"detail\" />\n </ap-nav-selector-popover-item>\n }\n </ap-nav-selector-popover>\n </div>\n}\n", styles: [":host{display:flex;flex-shrink:0;align-self:stretch;flex-direction:column}:host .details-container{align-self:stretch}:host .nav-selector-leaf{position:relative;display:flex;padding:0 var(--ref-spacing-xxs);height:36px;align-items:center;gap:var(--ref-spacing-xxs);flex-shrink:0;flex-grow:1;align-self:stretch}:host .nav-selector-leaf ::ng-deep ap-checkbox .checkbox .checkbox-container{padding:0}:host .caption{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;flex:1 0 0;overflow:hidden;color:var(--ref-color-grey-100);text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-regular);line-height:var(--ref-font-line-height-xs)}:host ap-symbol[symbol-id=error_fill]{color:var(--ref-color-red-100)}:host ap-symbol[symbol-id=feature-lock]{color:var(--ref-color-purple-100)}:host ap-symbol[symbol-id=chevron-down],:host ap-symbol[symbol-id=chevron-up]{color:var(--ref-color-grey-80)}:host .folding-button,:host .actions-menu{display:none;width:24px;height:24px;justify-content:center;align-items:center;flex-shrink:0}:host .folding-button:hover,:host .actions-menu:hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .folding-button:active,:host .folding-button.nav-selector-popover-trigger--active,:host .actions-menu:active,:host .actions-menu.nav-selector-popover-trigger--active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-40)}:host .folding-button:focus-visible,:host .actions-menu:focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20);box-shadow:0 0 0 1px #fff,0 0 0 3px #178dfe}:host .nav-selector-leaf.details-displayable{cursor:pointer}:host .nav-selector-leaf.details-displayable.detail-selected .caption{font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs);color:var(--ref-color-grey-100)}:host .nav-selector-leaf.details-displayable:focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf.details-displayable:hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10)}:host .nav-selector-leaf.details-displayable:focus-within:not(:host .nav-selector-leaf.details-displayable.detail-selected){border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable){cursor:pointer}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):focus-within{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:not(.multiple-mode){border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:not(.multiple-mode) .caption{color:var(--ref-color-electric-blue-150)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected.multiple-mode .caption{color:var(--ref-color-grey-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected .caption{overflow:hidden;text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:hover ap-counter,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-within ap-counter,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-visible ap-counter{display:none}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:hover .only-button,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-within .only-button,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-visible .only-button{display:flex}:host .nav-selector-leaf.feature-locked:not(.multiple-mode){border-radius:var(--ref-border-radius-sm);outline:none;cursor:pointer}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):hover{background:var(--ref-color-purple-10)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):active{background:var(--ref-color-purple-20)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):focus-visible{background:var(--ref-color-purple-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-purple-100)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected{background:var(--ref-color-purple-20)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected .caption{overflow:hidden;color:var(--ref-color-purple-100);text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible ap-counter,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within ap-counter,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover ap-counter{display:none}:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible .actions-menu,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible .folding-button,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within .actions-menu,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within .folding-button,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover .actions-menu,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover .folding-button{display:flex}:host .nav-selector-leaf.feature-locked.multiple-mode ap-avatar,:host .nav-selector-leaf.feature-locked.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.feature-locked.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.token-error.multiple-mode ap-avatar,:host .nav-selector-leaf.token-error.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.token-error.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.disabled.multiple-mode ap-avatar,:host .nav-selector-leaf.disabled.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.disabled.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.disabled ap-avatar,:host .nav-selector-leaf.disabled .caption{opacity:.5}:host .nav-selector-leaf.disabled .caption{color:var(--ref-color-grey-40)}:host .status{position:absolute;right:-4px;top:-6px;background-color:var(--ref-color-white);border-radius:100%}:host .avatar-container{position:relative}:host.minified .counter-override{background-color:var(--ref-color-orange-150)}:host.minified .nav-selector-leaf{gap:var(--ref-spacing-xxxs);padding:var(--ref-spacing-xxxs)}:host.minified .nav-selector-leaf:not(.multiple-mode){justify-content:center}:host.minified ::ng-deep ap-checkbox .checkbox .checkbox-container{padding:0}:host .only-button{display:none;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}::ng-deep .nav-selector-leaf-menu{position:absolute;left:55px;top:-20%;width:225px}::ng-deep .nav-selector-leaf-menu .not-displayable{display:none}::ng-deep .nav-selector-leaf-menu .caption-bold{color:var(--ref-color-grey-100);font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}\n"], dependencies: [{ kind: "component", type: AvatarComponent, selector: "ap-avatar", inputs: ["profilePicture", "alt", "network", "size", "username", "showInitials", "bigNetwork", "anonymous", "online", "youtubeAvatarMode", "rounded"] }, { kind: "component", type: CounterComponent, selector: "ap-counter", inputs: ["color", "size", "background", "notif"] }, { kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "component", type: NavSelectorLeafDetailsComponent, selector: "ap-nav-selector-leaf-details", inputs: ["leaf", "details"] }, { kind: "component", type: CheckboxComponent, selector: "ap-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "disabled", "indeterminate", "checked", "required", "name"], outputs: ["change"] }, { kind: "directive", type: TooltipDirective, selector: "[apTooltip]", inputs: ["apTooltip", "apTooltipPosition", "apTooltipShowDelay", "apTooltipHideDelay", "apTooltipDuration", "apTooltipDisabled", "apTooltipTruncatedTextOnly", "apTooltipTemplateContext", "apTooltipVirtualScrollElement"] }, { kind: "component", type: NavSelectorLeafDetailComponent, selector: "ap-nav-selector-leaf-detail", inputs: ["detail", "embedded"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: TreeNodeAccessibilityDirective, selector: "[apTreeNodeAccessibility]", inputs: ["apTreeNodeAccessibility"] }, { kind: "component", type: NavSelectorPopoverComponent, selector: "ap-nav-selector-popover", inputs: ["placement", "popoverTitle", "offset"] }, { kind: "directive", type: NavSelectorPopoverTriggerDirective, selector: "[apNavSelectorPopoverTrigger]", inputs: ["apNavSelectorPopoverTrigger", "apNavSelectorPopoverTriggerMode", "apNavSelectorPopoverDisabled"] }, { kind: "component", type: NavSelectorPopoverItemComponent, selector: "ap-nav-selector-popover-item", inputs: ["selected", "disabled", "name", "ariaLabel"] }], animations: [
127
153
  /**
128
154
  * Overflow hidden is put only during the animation and on the collapsed state because if it is put on the expanded state then children’s border will be cut (hover / focus)
129
155
  */
@@ -184,6 +210,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
184
210
  animate('250ms cubic-bezier(.4, 0, .3, 1)', keyframes([style({ overflow: 'hidden', maxHeight: '{{maxHeight}}' }), style({ maxHeight: 0 })])),
185
211
  ]),
186
212
  ]),
187
- ], template: "@if (navSelectorLeafPresenter.expandedAfterDelay()) {\n <div\n class=\"nav-selector-leaf\"\n apTooltipPosition=\"right\"\n [attr.aria-selected]=\"leaf().selected\"\n [apTooltip]=\"tooltipContent()\"\n [apTooltipDisabled]=\"tooltipDisabled()\"\n [class.multiple-mode]=\"navSelectorLeafPresenter.isMultipleModeEnabled()\"\n [class.feature-locked]=\"leaf().displayFeatureLocked\"\n [class.selected]=\"leaf().selected\"\n [class.token-error]=\"leaf().displayTokenInvalid\"\n [class.disabled]=\"leaf().disabled\"\n [class.detail-selected]=\"leaf().detailSelected\"\n [class.actions-displayable]=\"leaf().actionsDisplayable && leaf().detailsDisplayable\"\n [class.details-displayable]=\"leaf().detailsDisplayable\"\n [apTreeNodeAccessibility]=\"leaf()\"\n (keydown.space)=\"onSpaceOrEnterPressed($event)\"\n (keydown.enter)=\"onSpaceOrEnterPressed($event)\"\n (focusin)=\"focused.set(true)\"\n (focusout)=\"focused.set(false)\"\n (click)=\"onClick($event)\">\n @if (navSelectorLeafPresenter.isMultipleModeEnabled()) {\n <ap-checkbox\n [name]=\"leaf().uid\"\n [checked]=\"leaf().selected\"\n [aria-label]=\"leaf().alias\"\n [disabled]=\"!leaf().selectable\"\n (click)=\"eventStopper($event)\"\n (change)=\"onCheckboxToggle()\" />\n }\n <ap-avatar\n size=\"24\"\n [profilePicture]=\"leaf().pictureUrl ?? undefined\"\n [network]=\"$any(leaf().network)\"\n [showInitials]=\"initial()\" />\n\n <span\n #alias\n class=\"caption\">\n {{ leaf().alias }}\n </span>\n\n <a\n class=\"standalone only-button\"\n role=\"button\"\n [attr.aria-label]=\"'Select only ' + leaf().alias\"\n [attr.tabindex]=\"leaf().accessibility.tabIndex\"\n (keydown.space)=\"selectOnly($event)\"\n (keydown.enter)=\"selectOnly($event)\"\n (click)=\"selectOnly($event)\">\n {{ navSelectorLeafPresenter.texts().only }}\n </a>\n\n @let actionProjection = navSelectorLeafPresenter.leafActionProjection();\n @if (actionProjection?.length) {\n <ap-symbol\n class=\"actions-menu\"\n size=\"sm\"\n symbolId=\"more\"\n [tabindex]=\"leaf().accessibility.tabIndex\"\n [attr.aria-label]=\"'Action menu ' + leaf().alias\"\n [apNavSelectorPopoverTrigger]=\"popover\"\n [apNavSelectorPopoverTriggerMode]=\"{ click: true, keyboard: ['Space', 'Enter'] }\" />\n\n <ap-nav-selector-popover\n #popover\n placement=\"bottom_start\">\n @for (action of actionProjection; track action) {\n <ng-template #item>\n <ng-container\n [ngTemplateOutlet]=\"action\"\n [ngTemplateOutletContext]=\"{\n uid: leaf().uid\n }\" />\n </ng-template>\n }\n </ap-nav-selector-popover>\n }\n\n @if (leaf().foldable) {\n <ap-symbol\n class=\"folding-button\"\n size=\"sm\"\n role=\"button\"\n [tabindex]=\"leaf().accessibility.tabIndex\"\n [attr.aria-label]=\"'Toggle ' + leaf().alias\"\n [symbolId]=\"foldSymbol()\"\n (click)=\"toggleFolding($event)\"\n (keydown.space)=\"toggleFolding($event)\"\n (keydown.enter)=\"toggleFolding($event)\" />\n }\n @if (leaf().displayCounter) {\n <ap-counter\n color=\"orange\"\n size=\"normal\"\n [background]=\"false\">\n {{ leaf().counter }}\n </ap-counter>\n }\n @if (leaf().displayTokenInvalid) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\" />\n }\n @if (leaf().displayFeatureLocked) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"feature-lock\" />\n }\n </div>\n\n <div\n class=\"details-container\"\n [@accordion]=\"{\n value: animationState(),\n params: {\n maxHeight: maxHeight()\n }\n }\">\n @if (!foldedWithDelay()) {\n <ap-nav-selector-leaf-details\n [details]=\"leaf().details\"\n [leaf]=\"leaf()\" />\n }\n </div>\n} @else {\n <div\n #minified\n class=\"nav-selector-leaf\"\n apTooltipPosition=\"right\"\n [apNavSelectorPopoverTrigger]=\"minifiedPopover\"\n [apNavSelectorPopoverDisabled]=\"!leaf().detailsDisplayable\"\n [apNavSelectorPopoverTriggerMode]=\"{ click: false, hover: true }\"\n [class.feature-locked]=\"leaf().displayFeatureLocked\"\n [class.selected]=\"leaf().selected || leaf().detailSelected\"\n [class.token-error]=\"leaf().displayTokenInvalid\"\n [class.disabled]=\"leaf().disabled\"\n [apTooltip]=\"tooltipContent()\"\n [apTooltipDisabled]=\"tooltipDisabled()\"\n [apTreeNodeAccessibility]=\"leaf()\"\n (keydown.space)=\"onSpaceOrEnterPressed($event)\"\n (keydown.enter)=\"onSpaceOrEnterPressed($event)\"\n (click)=\"onClick($event)\">\n @if (navSelectorLeafPresenter.isMultipleModeEnabled()) {\n <ap-checkbox\n [name]=\"leaf().uid\"\n [checked]=\"leaf().selected\"\n [disabled]=\"!leaf().selectable\" />\n }\n\n <div class=\"avatar-container\">\n <ap-avatar\n size=\"24\"\n [profilePicture]=\"leaf().pictureUrl ?? undefined\"\n [network]=\"$any(leaf().network)\"\n [showInitials]=\"initial()\" />\n\n <div class=\"status\">\n @if (leaf().displayCounter) {\n <ap-counter\n class=\"counter-override\"\n color=\"orange\"\n size=\"normal\"\n [notif]=\"true\"\n [background]=\"true\">\n {{ leaf().counter }}\n </ap-counter>\n }\n @if (leaf().displayTokenInvalid) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\" />\n }\n @if (leaf().displayFeatureLocked) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"feature-lock\" />\n }\n </div>\n </div>\n\n <ap-nav-selector-popover\n #minifiedPopover\n [popoverTitle]=\"leaf().alias\"\n [offset]=\"{ mainAxis: 0, crossAxis: -36.5 }\"\n placement=\"right\">\n @for (detail of leaf().details; track detail.uid) {\n <ap-nav-selector-popover-item item [selected]=\"detail.selected\" [class.disabled]=\"detail.displayError\">\n <ap-nav-selector-leaf-detail\n [embedded]=\"true\"\n [detail]=\"detail\" />\n </ap-nav-selector-popover-item>\n }\n </ap-nav-selector-popover>\n </div>\n}\n", styles: [":host{display:flex;flex-shrink:0;align-self:stretch;flex-direction:column}:host .details-container{align-self:stretch}:host .nav-selector-leaf{position:relative;display:flex;padding:0 var(--ref-spacing-xxs);height:36px;align-items:center;gap:var(--ref-spacing-xxs);flex-shrink:0;flex-grow:1;align-self:stretch}:host .nav-selector-leaf ::ng-deep ap-checkbox .checkbox .checkbox-container{padding:0}:host .caption{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;flex:1 0 0;overflow:hidden;color:var(--ref-color-grey-100);text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-regular);line-height:var(--ref-font-line-height-xs)}:host ap-symbol[symbol-id=error_fill]{color:var(--ref-color-red-100)}:host ap-symbol[symbol-id=feature-lock]{color:var(--ref-color-purple-100)}:host ap-symbol[symbol-id=chevron-down],:host ap-symbol[symbol-id=chevron-up]{color:var(--ref-color-grey-80)}:host .folding-button,:host .actions-menu{display:none;width:24px;height:24px;justify-content:center;align-items:center;flex-shrink:0}:host .folding-button:hover,:host .actions-menu:hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .folding-button:active,:host .folding-button.nav-selector-popover-trigger--active,:host .actions-menu:active,:host .actions-menu.nav-selector-popover-trigger--active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-40)}:host .folding-button:focus-visible,:host .actions-menu:focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20);box-shadow:0 0 0 1px #fff,0 0 0 3px #178dfe}:host .nav-selector-leaf.details-displayable{cursor:pointer}:host .nav-selector-leaf.details-displayable.detail-selected .caption{font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs);color:var(--ref-color-grey-100)}:host .nav-selector-leaf.details-displayable:focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf.details-displayable:focus-within{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable){cursor:pointer}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):focus-within{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:not(.multiple-mode){border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:not(.multiple-mode) .caption{color:var(--ref-color-electric-blue-150)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected.multiple-mode .caption{color:var(--ref-color-grey-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected .caption{overflow:hidden;text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:hover ap-counter,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-within ap-counter,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-visible ap-counter{display:none}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:hover .only-button,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-within .only-button,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-visible .only-button{display:flex}:host .nav-selector-leaf.feature-locked:not(.multiple-mode){border-radius:var(--ref-border-radius-sm);outline:none}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):hover{background:var(--ref-color-purple-10)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):active{background:var(--ref-color-purple-20)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):focus-visible{background:var(--ref-color-purple-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-purple-100)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected{background:var(--ref-color-purple-20)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected .caption{overflow:hidden;color:var(--ref-color-purple-100);text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible ap-counter,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within ap-counter,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover ap-counter{display:none}:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible .actions-menu,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible .folding-button,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within .actions-menu,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within .folding-button,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover .actions-menu,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover .folding-button{display:flex}:host .nav-selector-leaf.feature-locked.multiple-mode ap-avatar,:host .nav-selector-leaf.feature-locked.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.feature-locked.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.token-error.multiple-mode ap-avatar,:host .nav-selector-leaf.token-error.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.token-error.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.disabled.multiple-mode ap-avatar,:host .nav-selector-leaf.disabled.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.disabled.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.disabled ap-avatar,:host .nav-selector-leaf.disabled .caption{opacity:.5}:host .nav-selector-leaf.disabled .caption{color:var(--ref-color-grey-40)}:host .status{position:absolute;right:-4px;top:-6px;background-color:var(--ref-color-white);border-radius:100%}:host .avatar-container{position:relative}:host.minified .counter-override{background-color:var(--ref-color-orange-150)}:host.minified .nav-selector-leaf{gap:var(--ref-spacing-xxxs);padding:var(--ref-spacing-xxxs);justify-content:center}:host.minified ::ng-deep ap-checkbox .checkbox .checkbox-container{padding:0}:host .only-button{display:none;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}::ng-deep .nav-selector-leaf-menu{position:absolute;left:55px;top:-20%;width:225px}::ng-deep .nav-selector-leaf-menu .not-displayable{display:none}::ng-deep .nav-selector-leaf-menu .caption-bold{color:var(--ref-color-grey-100);font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}\n"] }]
213
+ ], template: "@if (navSelectorLeafPresenter.expandedAfterDelay()) {\n <div\n class=\"nav-selector-leaf\"\n apTooltipPosition=\"right\"\n [attr.aria-selected]=\"leaf().selected\"\n [apTooltip]=\"tooltipContent()\"\n [apTooltipDisabled]=\"tooltipDisabled()\"\n [class.multiple-mode]=\"navSelectorLeafPresenter.isMultipleModeEnabled()\"\n [class.feature-locked]=\"leaf().displayFeatureLocked\"\n [class.selected]=\"leaf().selected\"\n [class.token-error]=\"leaf().displayTokenInvalid\"\n [class.disabled]=\"leaf().disabled\"\n [class.detail-selected]=\"leaf().detailSelected\"\n [class.actions-displayable]=\"leaf().actionsDisplayable && leaf().detailsDisplayable\"\n [class.details-displayable]=\"leaf().detailsDisplayable\"\n [apTreeNodeAccessibility]=\"leaf()\"\n (keydown.space)=\"onSpaceOrEnterPressed($event)\"\n (keydown.enter)=\"onSpaceOrEnterPressed($event)\"\n (focusin)=\"focused.set(true)\"\n (focusout)=\"focused.set(false)\"\n (click)=\"onClick($event)\">\n @if (navSelectorLeafPresenter.isMultipleModeEnabled()) {\n <ap-checkbox\n [name]=\"leaf().uid\"\n [checked]=\"leaf().selected\"\n [aria-label]=\"leaf().alias\"\n [disabled]=\"!leaf().selectable\"\n (click)=\"eventStopper($event)\"\n (change)=\"onCheckboxToggle()\" />\n }\n <ap-avatar\n size=\"24\"\n [profilePicture]=\"leaf().pictureUrl ?? undefined\"\n [network]=\"$any(leaf().network)\"\n [showInitials]=\"initial()\" />\n\n <span\n #alias\n class=\"caption\">\n {{ leaf().alias }}\n </span>\n\n <a\n class=\"standalone only-button\"\n role=\"button\"\n [attr.aria-label]=\"'Select only ' + leaf().alias\"\n [attr.tabindex]=\"leaf().accessibility.tabIndex\"\n (keydown.space)=\"selectOnly($event)\"\n (keydown.enter)=\"selectOnly($event)\"\n (click)=\"clickOnSelectOnly($event)\">\n {{ navSelectorLeafPresenter.texts().only }}\n </a>\n\n @let actionProjection = navSelectorLeafPresenter.leafActionProjection();\n @if (actionProjection?.length) {\n <ap-symbol\n class=\"actions-menu\"\n size=\"sm\"\n symbolId=\"more\"\n [tabindex]=\"leaf().accessibility.tabIndex\"\n [attr.aria-label]=\"'Action menu ' + leaf().alias\"\n [apNavSelectorPopoverTrigger]=\"popover\"\n [apNavSelectorPopoverTriggerMode]=\"{ click: true, keyboard: ['Space', 'Enter'] }\" />\n\n <ap-nav-selector-popover\n #popover\n placement=\"bottom_start\">\n @for (action of actionProjection; track action) {\n <ng-template #item>\n <ng-container\n [ngTemplateOutlet]=\"action\"\n [ngTemplateOutletContext]=\"{\n uid: leaf().uid\n }\" />\n </ng-template>\n }\n </ap-nav-selector-popover>\n }\n\n @if (leaf().foldable) {\n <ap-symbol\n class=\"folding-button\"\n size=\"sm\"\n role=\"button\"\n [tabindex]=\"leaf().accessibility.tabIndex\"\n [attr.aria-label]=\"'Toggle ' + leaf().alias\"\n [symbolId]=\"foldSymbol()\"\n (click)=\"clickOnToggleFolding($event)\"\n (keydown.space)=\"toggleFolding($event)\"\n (keydown.enter)=\"toggleFolding($event)\" />\n }\n @if (leaf().displayCounter) {\n <ap-counter\n color=\"orange\"\n size=\"normal\"\n [background]=\"false\">\n {{ leaf().counter }}\n </ap-counter>\n }\n @if (leaf().displayTokenInvalid) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\" />\n }\n @if (leaf().displayFeatureLocked) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"feature-lock\" />\n }\n </div>\n\n <div\n class=\"details-container\"\n [@accordion]=\"{\n value: animationState(),\n params: {\n maxHeight: maxHeight()\n }\n }\">\n @if (!foldedWithDelay()) {\n <ap-nav-selector-leaf-details\n [details]=\"leaf().details\"\n [leaf]=\"leaf()\" />\n }\n </div>\n} @else {\n <div\n #minified\n class=\"nav-selector-leaf\"\n apTooltipPosition=\"right\"\n [apNavSelectorPopoverTrigger]=\"minifiedPopover\"\n [apNavSelectorPopoverDisabled]=\"!leaf().detailsDisplayable\"\n [apNavSelectorPopoverTriggerMode]=\"{ click: false, hover: true }\"\n [class.feature-locked]=\"leaf().displayFeatureLocked\"\n [class.selected]=\"leaf().selected || leaf().detailSelected\"\n [class.token-error]=\"leaf().displayTokenInvalid\"\n [class.multiple-mode]=\"navSelectorLeafPresenter.isMultipleModeEnabled()\"\n [class.disabled]=\"leaf().disabled\"\n [apTooltip]=\"tooltipContent()\"\n [apTooltipDisabled]=\"tooltipDisabled()\"\n [apTreeNodeAccessibility]=\"leaf()\"\n (keydown.space)=\"onSpaceOrEnterPressed($event)\"\n (keydown.enter)=\"onSpaceOrEnterPressed($event)\"\n (click)=\"onClick($event)\">\n @if (navSelectorLeafPresenter.isMultipleModeEnabled()) {\n <ap-checkbox\n [name]=\"leaf().uid\"\n [checked]=\"leaf().selected\"\n [disabled]=\"!leaf().selectable\" />\n }\n\n <div class=\"avatar-container\">\n <ap-avatar\n size=\"24\"\n [profilePicture]=\"leaf().pictureUrl ?? undefined\"\n [network]=\"$any(leaf().network)\"\n [showInitials]=\"initial()\" />\n\n <div class=\"status\">\n @if (leaf().displayCounter) {\n <ap-counter\n class=\"counter-override\"\n color=\"orange\"\n size=\"normal\"\n [notif]=\"true\"\n [background]=\"true\">\n {{ leaf().counter }}\n </ap-counter>\n }\n @if (leaf().displayTokenInvalid) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\" />\n }\n @if (leaf().displayFeatureLocked) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"feature-lock\" />\n }\n </div>\n </div>\n\n <ap-nav-selector-popover\n #minifiedPopover\n placement=\"right\"\n [popoverTitle]=\"leaf().alias\"\n [offset]=\"{ mainAxis: 0, crossAxis: -36.5 }\">\n @for (detail of leaf().details; track detail.uid) {\n <ap-nav-selector-popover-item\n item\n [selected]=\"detail.selected\"\n [disabled]=\"detail.displayError\"\n [name]=\"detail.alias\"\n (click)=\"onDetailClicked($event, detail)\">\n <ap-nav-selector-leaf-detail\n [embedded]=\"true\"\n [detail]=\"detail\" />\n </ap-nav-selector-popover-item>\n }\n </ap-nav-selector-popover>\n </div>\n}\n", styles: [":host{display:flex;flex-shrink:0;align-self:stretch;flex-direction:column}:host .details-container{align-self:stretch}:host .nav-selector-leaf{position:relative;display:flex;padding:0 var(--ref-spacing-xxs);height:36px;align-items:center;gap:var(--ref-spacing-xxs);flex-shrink:0;flex-grow:1;align-self:stretch}:host .nav-selector-leaf ::ng-deep ap-checkbox .checkbox .checkbox-container{padding:0}:host .caption{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;flex:1 0 0;overflow:hidden;color:var(--ref-color-grey-100);text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-regular);line-height:var(--ref-font-line-height-xs)}:host ap-symbol[symbol-id=error_fill]{color:var(--ref-color-red-100)}:host ap-symbol[symbol-id=feature-lock]{color:var(--ref-color-purple-100)}:host ap-symbol[symbol-id=chevron-down],:host ap-symbol[symbol-id=chevron-up]{color:var(--ref-color-grey-80)}:host .folding-button,:host .actions-menu{display:none;width:24px;height:24px;justify-content:center;align-items:center;flex-shrink:0}:host .folding-button:hover,:host .actions-menu:hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .folding-button:active,:host .folding-button.nav-selector-popover-trigger--active,:host .actions-menu:active,:host .actions-menu.nav-selector-popover-trigger--active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-40)}:host .folding-button:focus-visible,:host .actions-menu:focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20);box-shadow:0 0 0 1px #fff,0 0 0 3px #178dfe}:host .nav-selector-leaf.details-displayable{cursor:pointer}:host .nav-selector-leaf.details-displayable.detail-selected .caption{font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs);color:var(--ref-color-grey-100)}:host .nav-selector-leaf.details-displayable:focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf.details-displayable:hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10)}:host .nav-selector-leaf.details-displayable:focus-within:not(:host .nav-selector-leaf.details-displayable.detail-selected){border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable){cursor:pointer}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):focus-within{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:not(.multiple-mode){border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:not(.multiple-mode) .caption{color:var(--ref-color-electric-blue-150)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected.multiple-mode .caption{color:var(--ref-color-grey-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected .caption{overflow:hidden;text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:hover ap-counter,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-within ap-counter,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-visible ap-counter{display:none}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:hover .only-button,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-within .only-button,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-visible .only-button{display:flex}:host .nav-selector-leaf.feature-locked:not(.multiple-mode){border-radius:var(--ref-border-radius-sm);outline:none;cursor:pointer}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):hover{background:var(--ref-color-purple-10)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):active{background:var(--ref-color-purple-20)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):focus-visible{background:var(--ref-color-purple-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-purple-100)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected{background:var(--ref-color-purple-20)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected .caption{overflow:hidden;color:var(--ref-color-purple-100);text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible ap-counter,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within ap-counter,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover ap-counter{display:none}:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible .actions-menu,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible .folding-button,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within .actions-menu,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within .folding-button,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover .actions-menu,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover .folding-button{display:flex}:host .nav-selector-leaf.feature-locked.multiple-mode ap-avatar,:host .nav-selector-leaf.feature-locked.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.feature-locked.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.token-error.multiple-mode ap-avatar,:host .nav-selector-leaf.token-error.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.token-error.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.disabled.multiple-mode ap-avatar,:host .nav-selector-leaf.disabled.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.disabled.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.disabled ap-avatar,:host .nav-selector-leaf.disabled .caption{opacity:.5}:host .nav-selector-leaf.disabled .caption{color:var(--ref-color-grey-40)}:host .status{position:absolute;right:-4px;top:-6px;background-color:var(--ref-color-white);border-radius:100%}:host .avatar-container{position:relative}:host.minified .counter-override{background-color:var(--ref-color-orange-150)}:host.minified .nav-selector-leaf{gap:var(--ref-spacing-xxxs);padding:var(--ref-spacing-xxxs)}:host.minified .nav-selector-leaf:not(.multiple-mode){justify-content:center}:host.minified ::ng-deep ap-checkbox .checkbox .checkbox-container{padding:0}:host .only-button{display:none;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}::ng-deep .nav-selector-leaf-menu{position:absolute;left:55px;top:-20%;width:225px}::ng-deep .nav-selector-leaf-menu .not-displayable{display:none}::ng-deep .nav-selector-leaf-menu .caption-bold{color:var(--ref-color-grey-100);font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}\n"] }]
188
214
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.NavSelectorLeafPresenter }] });
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLWxlYWYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL25hdi1zZWxlY3Rvci9zcmMvbmF2LXNlbGVjdG9yLWxlYWYvbmF2LXNlbGVjdG9yLWxlYWYuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL25hdi1zZWxlY3Rvci9zcmMvbmF2LXNlbGVjdG9yLWxlYWYvbmF2LXNlbGVjdG9yLWxlYWYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdILE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQ0gsZUFBZSxFQUNmLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFFTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDMUcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFFakcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDaEgsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDbkgsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDOUcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDckcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQTREekUsTUFBTSxPQUFPLHdCQUF3QjtJQXFEckI7SUFDRDtJQXJEWCxJQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBMkIsQ0FBQztJQUVqRCxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM3RCxVQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBRWxGLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFeEIsT0FBTyxHQUFHLFNBQVMsQ0FBYSxPQUFPLENBQUMsQ0FBQztJQUN6QyxzQkFBc0IsR0FBRyxNQUFNLENBSzVCO1FBQ0MsV0FBVyxFQUFFLENBQUM7UUFDZCxZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxDQUFDO1FBQ2QsWUFBWSxFQUFFLENBQUM7S0FDbEIsQ0FBQyxDQUFDO0lBRUgsY0FBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDM0IsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBRW5CLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BILE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQ2hELElBQUksYUFBYSxFQUFFLENBQUM7WUFDaEIsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsd0JBQXdCLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3JHLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLG9CQUFvQixFQUFFLENBQUM7Z0JBQ25DLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEtBQUssRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3RFLENBQUM7WUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2dCQUNsQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNyRSxDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDLENBQUMsQ0FBQztJQUNILGVBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRWxHLGVBQWUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFaEMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFFbEYsWUFDWSxFQUFjLEVBQ2Ysd0JBQWtEO1FBRGpELE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBRXpELGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO1lBQzNGLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxhQUFhLENBQUM7WUFDekMsSUFBSSxFQUFFLEVBQUUsQ0FBQztnQkFDTCxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDO29CQUM1QixXQUFXLEVBQUUsRUFBRSxDQUFDLFdBQVc7b0JBQzNCLFlBQVksRUFBRSxFQUFFLENBQUMsWUFBWTtvQkFDN0IsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXO29CQUMzQixZQUFZLEVBQUUsRUFBRSxDQUFDLFlBQVk7aUJBQ2hDLENBQUMsQ0FBQztZQUNQLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDUixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2xDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1gsSUFBSSxNQUFNLEVBQUUsQ0FBQztvQkFDVCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQzFELENBQUM7cUJBQU0sQ0FBQztvQkFDSixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDcEMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsY0FBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUVqRixTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTFCLE9BQU8sQ0FBQyxLQUFZO1FBQ2hCLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFZO1FBQ3RCLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVk7UUFDbkIsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZLENBQUMsS0FBWTtRQUNyQixLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osSUFBSSxDQUFDLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQscUJBQXFCLENBQUMsS0FBWTtRQUM5QixLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNqQyxJQUFJLFFBQVEsQ0FBQyxhQUFhLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQztZQUN2RixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QixDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUMxRCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLENBQUMsS0FBWTtRQUNiLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFZO1FBQ2YsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO3VHQWxJUSx3QkFBd0I7MkZBQXhCLHdCQUF3Qix1WkFyQ3RCLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsRUFBRSx3QkFBd0IsQ0FBQyw0SUNsRHRILG1pUEFvTUEsdWpURGhLUSxlQUFlLDZNQUNmLGdCQUFnQix5R0FDaEIsZUFBZSxzSEFDZiwrQkFBK0Isc0dBQy9CLGlCQUFpQix3TUFDakIsZ0JBQWdCLHFSQUNoQiw4QkFBOEIsd0dBRTlCLGdCQUFnQixvSkFDaEIsOEJBQThCLDJHQUM5QiwyQkFBMkIscUhBQzNCLGtDQUFrQyxzTEFDbEMsK0JBQStCLGlGQVN2QjtZQUNSOztlQUVHO1lBQ0gsT0FBTyxDQUFDLFdBQVcsRUFBRTtnQkFDakIsS0FBSyxDQUNELFdBQVcsRUFDWCxLQUFLLENBQUM7b0JBQ0YsU0FBUyxFQUFFLENBQUM7b0JBQ1osUUFBUSxFQUFFLFFBQVE7aUJBQ3JCLENBQUMsQ0FDTDtnQkFDRCxLQUFLLENBQ0QsVUFBVSxFQUNWLEtBQUssQ0FBQztvQkFDRixTQUFTLEVBQUUsU0FBUztpQkFDdkIsQ0FBQyxDQUNMO2dCQUNELFVBQVUsQ0FBQyx1QkFBdUIsRUFBRTtvQkFDaEMsT0FBTyxDQUFDLGtDQUFrQyxFQUFFLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7aUJBQ3pHLENBQUM7Z0JBQ0YsVUFBVSxDQUFDLHVCQUF1QixFQUFFO29CQUNoQyxPQUFPLENBQ0gsa0NBQWtDLEVBQ2xDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUNsRztpQkFDSixDQUFDO2FBQ0wsQ0FBQztTQUNMOzsyRkFFUSx3QkFBd0I7a0JBMURwQyxTQUFTOytCQUNJLHNCQUFzQixjQUdwQixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ0wsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsK0JBQStCO3dCQUMvQixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsOEJBQThCO3dCQUM5Qiw4QkFBOEI7d0JBQzlCLGdCQUFnQjt3QkFDaEIsOEJBQThCO3dCQUM5QiwyQkFBMkI7d0JBQzNCLGtDQUFrQzt3QkFDbEMsK0JBQStCO3FCQUNsQyxhQUNVLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsRUFBRSx3QkFBd0IsQ0FBQyxRQUM1Rzt3QkFDRixrQkFBa0IsRUFBRSxzQ0FBc0M7d0JBQzFELElBQUksRUFBRSxVQUFVO3dCQUNoQixxQkFBcUIsRUFBRSxjQUFjO3dCQUNyQyxzQkFBc0IsRUFBRSxnQkFBZ0I7cUJBQzNDLGNBQ1c7d0JBQ1I7OzJCQUVHO3dCQUNILE9BQU8sQ0FBQyxXQUFXLEVBQUU7NEJBQ2pCLEtBQUssQ0FDRCxXQUFXLEVBQ1gsS0FBSyxDQUFDO2dDQUNGLFNBQVMsRUFBRSxDQUFDO2dDQUNaLFFBQVEsRUFBRSxRQUFROzZCQUNyQixDQUFDLENBQ0w7NEJBQ0QsS0FBSyxDQUNELFVBQVUsRUFDVixLQUFLLENBQUM7Z0NBQ0YsU0FBUyxFQUFFLFNBQVM7NkJBQ3ZCLENBQUMsQ0FDTDs0QkFDRCxVQUFVLENBQUMsdUJBQXVCLEVBQUU7Z0NBQ2hDLE9BQU8sQ0FBQyxrQ0FBa0MsRUFBRSxLQUFLLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDOzZCQUN6RyxDQUFDOzRCQUNGLFVBQVUsQ0FBQyx1QkFBdUIsRUFBRTtnQ0FDaEMsT0FBTyxDQUNILGtDQUFrQyxFQUNsQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDbEc7NkJBQ0osQ0FBQzt5QkFDTCxDQUFDO3FCQUNMIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktY29tcG9uZW50cy9hdmF0YXInO1xuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL2NoZWNrYm94JztcbmltcG9ydCB7IENvdW50ZXJDb21wb25lbnQgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL2NvdW50ZXInO1xuaW1wb3J0IHsgVG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWNvbXBvbmVudHMvdG9vbHRpcCc7XG5pbXBvcnQgeyBhcENoZXZyb25Eb3duLCBhcENoZXZyb25VcCwgYXBFcnJvckZpbGwsIGFwRmVhdHVyZUxvY2ssIFN5bWJvbENvbXBvbmVudCwgd2l0aFN5bWJvbHMgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1zeW1ib2wnO1xuaW1wb3J0IHsgYXBNb3JlIH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktc3ltYm9sL2ljb25zJztcbmltcG9ydCB7IGFuaW1hdGUsIGtleWZyYW1lcywgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgYWZ0ZXJOZXh0UmVuZGVyLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBlZmZlY3QsXG4gICAgRWxlbWVudFJlZixcbiAgICBpbnB1dCxcbiAgICBzaWduYWwsXG4gICAgdW50cmFja2VkLFxuICAgIHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZTZWxlY3RvclBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9uYXYtc2VsZWN0b3ItcG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUcmVlTm9kZUFjY2Vzc2liaWxpdHlEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3RyZWUtbm9kZS1hY2Nlc3NpYmlsaXR5LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZiB9IGZyb20gJy4uL25hdi1zZWxlY3Rvcic7XG5pbXBvcnQgeyBOYXZTZWxlY3RvckxlYWZEZXRhaWxDb21wb25lbnQgfSBmcm9tICcuLi9uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWwvbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYXZTZWxlY3RvckxlYWZEZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlscy9uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWxzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYXZTZWxlY3RvclBvcG92ZXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2LXNlbGVjdG9yLXBvcG92ZXIvbmF2LXNlbGVjdG9yLXBvcG92ZXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmF2U2VsZWN0b3JQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2LXNlbGVjdG9yLXBvcG92ZXIvbmF2LXNlbGVjdG9yLXBvcG92ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE5hdlNlbGVjdG9yTGVhZlByZXNlbnRlciB9IGZyb20gJy4vbmF2LXNlbGVjdG9yLWxlYWYucHJlc2VudGVyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcC1uYXYtc2VsZWN0b3ItbGVhZicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdi1zZWxlY3Rvci1sZWFmLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uYXYtc2VsZWN0b3ItbGVhZi5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBBdmF0YXJDb21wb25lbnQsXG4gICAgICAgIENvdW50ZXJDb21wb25lbnQsXG4gICAgICAgIFN5bWJvbENvbXBvbmVudCxcbiAgICAgICAgTmF2U2VsZWN0b3JMZWFmRGV0YWlsc0NvbXBvbmVudCxcbiAgICAgICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgICAgIFRvb2x0aXBEaXJlY3RpdmUsXG4gICAgICAgIE5hdlNlbGVjdG9yTGVhZkRldGFpbENvbXBvbmVudCxcbiAgICAgICAgTmF2U2VsZWN0b3JMZWFmRGV0YWlsQ29tcG9uZW50LFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBUcmVlTm9kZUFjY2Vzc2liaWxpdHlEaXJlY3RpdmUsXG4gICAgICAgIE5hdlNlbGVjdG9yUG9wb3ZlckNvbXBvbmVudCxcbiAgICAgICAgTmF2U2VsZWN0b3JQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSxcbiAgICAgICAgTmF2U2VsZWN0b3JQb3BvdmVySXRlbUNvbXBvbmVudCxcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW3dpdGhTeW1ib2xzKGFwRXJyb3JGaWxsLCBhcEZlYXR1cmVMb2NrLCBhcENoZXZyb25Eb3duLCBhcENoZXZyb25VcCwgYXBNb3JlKSwgTmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3MubWluaWZpZWRdJzogJyFuYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIuZXhwYW5kZWQoKScsXG4gICAgICAgIHJvbGU6ICd0cmVlaXRlbScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd0xlZnQpJzogJ2ZvbGQoJGV2ZW50KScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd1JpZ2h0KSc6ICd1bmZvbGQoJGV2ZW50KScsXG4gICAgfSxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBPdmVyZmxvdyBoaWRkZW4gaXMgcHV0IG9ubHkgZHVyaW5nIHRoZSBhbmltYXRpb24gYW5kIG9uIHRoZSBjb2xsYXBzZWQgc3RhdGUgYmVjYXVzZSBpZiBpdCBpcyBwdXQgb24gdGhlIGV4cGFuZGVkIHN0YXRlIHRoZW4gY2hpbGRyZW7igJlzIGJvcmRlciB3aWxsIGJlIGN1dCAoaG92ZXIgLyBmb2N1cylcbiAgICAgICAgICovXG4gICAgICAgIHRyaWdnZXIoJ2FjY29yZGlvbicsIFtcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICdjb2xsYXBzZWQnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiAwLFxuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnZXhwYW5kZWQnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiAnaW5pdGlhbCcsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdjb2xsYXBzZWQgPT4gZXhwYW5kZWQnLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMjUwbXMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMywgMSknLCBzdHlsZSh7IG92ZXJmbG93OiAnaGlkZGVuJywgbWF4SGVpZ2h0OiAne3ttYXhIZWlnaHR9fScgfSkpLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdleHBhbmRlZCA9PiBjb2xsYXBzZWQnLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAgICAgICAgICAgJzI1MG1zIGN1YmljLWJlemllciguNCwgMCwgLjMsIDEpJyxcbiAgICAgICAgICAgICAgICAgICAga2V5ZnJhbWVzKFtzdHlsZSh7IG92ZXJmbG93OiAnaGlkZGVuJywgbWF4SGVpZ2h0OiAne3ttYXhIZWlnaHR9fScgfSksIHN0eWxlKHsgbWF4SGVpZ2h0OiAwIH0pXSlcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgXSksXG4gICAgICAgIF0pLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5hdlNlbGVjdG9yTGVhZkNvbXBvbmVudCB7XG4gICAgbGVhZiA9IGlucHV0LnJlcXVpcmVkPEludGVybmFsTmF2U2VsZWN0b3JMZWFmPigpO1xuXG4gICAgaW5pdGlhbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMubGVhZigpLmFsaWFzWzBdLnRvVXBwZXJDYXNlKCkpO1xuICAgIGZvbGRTeW1ib2wgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5sZWFmKCkuZm9sZGVkID8gJ2NoZXZyb24tZG93bicgOiAnY2hldnJvbi11cCcpKTtcblxuICAgIGZvY3VzZWQgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgYWxpYXNFbCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPignYWxpYXMnKTtcbiAgICBhbGlhc0JvdW5kZWRDbGllbnRSZWN0ID0gc2lnbmFsPHtcbiAgICAgICAgb2Zmc2V0V2lkdGg6IG51bWJlcjtcbiAgICAgICAgb2Zmc2V0SGVpZ2h0OiBudW1iZXI7XG4gICAgICAgIHNjcm9sbFdpZHRoOiBudW1iZXI7XG4gICAgICAgIHNjcm9sbEhlaWdodDogbnVtYmVyO1xuICAgIH0+KHtcbiAgICAgICAgb2Zmc2V0V2lkdGg6IDAsXG4gICAgICAgIG9mZnNldEhlaWdodDogMCxcbiAgICAgICAgc2Nyb2xsV2lkdGg6IDAsXG4gICAgICAgIHNjcm9sbEhlaWdodDogMCxcbiAgICB9KTtcblxuICAgIHRvb2x0aXBDb250ZW50ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gW107XG5cbiAgICAgICAgY29uc3QgZWwgPSB0aGlzLmFsaWFzQm91bmRlZENsaWVudFJlY3QoKTtcbiAgICAgICAgaWYgKCF0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5leHBhbmRlZCgpIHx8IGVsLm9mZnNldFdpZHRoIDwgZWwuc2Nyb2xsV2lkdGggfHwgZWwub2Zmc2V0SGVpZ2h0IDwgZWwuc2Nyb2xsSGVpZ2h0KSB7XG4gICAgICAgICAgICBjb250ZW50LnB1c2godGhpcy5sZWFmKCkuYWxpYXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGlzYWJsZVJlYXNvbiA9IHRoaXMubGVhZigpLmRpc2FibGVSZWFzb247XG4gICAgICAgIGlmIChkaXNhYmxlUmVhc29uKSB7XG4gICAgICAgICAgICBjb250ZW50LnB1c2goZGlzYWJsZVJlYXNvbik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5uYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIuaXNNdWx0aXBsZU1vZGVFbmFibGVkKCkgfHwgIXRoaXMubmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLmV4cGFuZGVkKCkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmxlYWYoKS5kaXNwbGF5RmVhdHVyZUxvY2tlZCkge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQucHVzaCh0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci50ZXh0cygpLmZlYXR1cmVMb2NrZWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5sZWFmKCkuZGlzcGxheVRva2VuSW52YWxpZCkge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQucHVzaCh0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci50ZXh0cygpLnRva2VuSW52YWxpZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29udGVudC5qb2luKCc8YnI+Jyk7XG4gICAgfSk7XG4gICAgdG9vbHRpcERpc2FibGVkID0gY29tcHV0ZWQoKCkgPT4gIXRoaXMudG9vbHRpcENvbnRlbnQoKS5sZW5ndGggfHwgdGhpcy5sZWFmKCkuZGV0YWlsc0Rpc3BsYXlhYmxlKTtcblxuICAgIGZvbGRlZFdpdGhEZWxheSA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICBuZXR3b3JrID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMubGVhZigpLm5ldHdvcmsgPyB0aGlzLmxlYWYoKS5uZXR3b3JrIDogdW5kZWZpbmVkKSk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICAgICAgcHVibGljIG5hdlNlbGVjdG9yTGVhZlByZXNlbnRlcjogTmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyXG4gICAgKSB7XG4gICAgICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm1heEhlaWdodC5zZXQoYCR7dGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCAqIHRoaXMubGVhZigpLmRldGFpbHMubGVuZ3RofXB4YCk7XG4gICAgICAgICAgICBjb25zdCBlbCA9IHRoaXMuYWxpYXNFbCgpPy5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgaWYgKGVsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hbGlhc0JvdW5kZWRDbGllbnRSZWN0LnNldCh7XG4gICAgICAgICAgICAgICAgICAgIG9mZnNldFdpZHRoOiBlbC5vZmZzZXRXaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0SGVpZ2h0OiBlbC5vZmZzZXRIZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgIHNjcm9sbFdpZHRoOiBlbC5zY3JvbGxXaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsSGVpZ2h0OiBlbC5zY3JvbGxIZWlnaHQsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmb2xkZWQgPSB0aGlzLmxlYWYoKS5mb2xkZWQ7XG4gICAgICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmb2xkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmZvbGRlZFdpdGhEZWxheS5zZXQodHJ1ZSksIDE1MCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2xkZWRXaXRoRGVsYXkuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYW5pbWF0aW9uU3RhdGUgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5sZWFmKCkuZm9sZGVkID8gJ2NvbGxhcHNlZCcgOiAnZXhwYW5kZWQnKSk7XG5cbiAgICBtYXhIZWlnaHQgPSBzaWduYWwoJzBweCcpO1xuXG4gICAgb25DbGljayhldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMubmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLnNlbGVjdExlYWYodGhpcy5sZWFmKCkpO1xuICAgIH1cblxuICAgIHRvZ2dsZUZvbGRpbmcoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5vbkxlYWZUb2dnbGVGb2xkaW5nKHRoaXMubGVhZigpKTtcbiAgICB9XG5cbiAgICBzZWxlY3RPbmx5KGV2ZW50OiBFdmVudCkge1xuICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5uYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIuc2VsZWN0T25seUxlYWYodGhpcy5sZWFmKCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZvciBjaGVja2JveGVzLCBhcyB0aGV5IGRvIG5vdCBzdG9wIGV2ZW50IHByb3BhZ2F0aW9uLCB3ZSBuZWVkIHRvIHN0b3AgaXQgbWFudWFsbHlcbiAgICAgKi9cbiAgICBldmVudFN0b3BwZXIoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIG9uQ2hlY2tib3hUb2dnbGUoKSB7XG4gICAgICAgIHRoaXMubmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLnNlbGVjdExlYWYodGhpcy5sZWFmKCkpO1xuICAgIH1cblxuICAgIG9uU3BhY2VPckVudGVyUHJlc3NlZChldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLm5hdi1zZWxlY3Rvci1sZWFmJykpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmxlYWYoKS5mb2xkYWJsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMudG9nZ2xlRm9sZGluZyhldmVudCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLnNlbGVjdExlYWYodGhpcy5sZWFmKCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZm9sZChldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMubmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLmZvbGQodGhpcy5sZWFmKCkpO1xuICAgIH1cblxuICAgIHVuZm9sZChldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMubmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLnVuZm9sZCh0aGlzLmxlYWYoKSk7XG4gICAgfVxufVxuIiwiQGlmIChuYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIuZXhwYW5kZWRBZnRlckRlbGF5KCkpIHtcbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibmF2LXNlbGVjdG9yLWxlYWZcIlxuICAgICAgICBhcFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJsZWFmKCkuc2VsZWN0ZWRcIlxuICAgICAgICBbYXBUb29sdGlwXT1cInRvb2x0aXBDb250ZW50KClcIlxuICAgICAgICBbYXBUb29sdGlwRGlzYWJsZWRdPVwidG9vbHRpcERpc2FibGVkKClcIlxuICAgICAgICBbY2xhc3MubXVsdGlwbGUtbW9kZV09XCJuYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIuaXNNdWx0aXBsZU1vZGVFbmFibGVkKClcIlxuICAgICAgICBbY2xhc3MuZmVhdHVyZS1sb2NrZWRdPVwibGVhZigpLmRpc3BsYXlGZWF0dXJlTG9ja2VkXCJcbiAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImxlYWYoKS5zZWxlY3RlZFwiXG4gICAgICAgIFtjbGFzcy50b2tlbi1lcnJvcl09XCJsZWFmKCkuZGlzcGxheVRva2VuSW52YWxpZFwiXG4gICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJsZWFmKCkuZGlzYWJsZWRcIlxuICAgICAgICBbY2xhc3MuZGV0YWlsLXNlbGVjdGVkXT1cImxlYWYoKS5kZXRhaWxTZWxlY3RlZFwiXG4gICAgICAgIFtjbGFzcy5hY3Rpb25zLWRpc3BsYXlhYmxlXT1cImxlYWYoKS5hY3Rpb25zRGlzcGxheWFibGUgJiYgbGVhZigpLmRldGFpbHNEaXNwbGF5YWJsZVwiXG4gICAgICAgIFtjbGFzcy5kZXRhaWxzLWRpc3BsYXlhYmxlXT1cImxlYWYoKS5kZXRhaWxzRGlzcGxheWFibGVcIlxuICAgICAgICBbYXBUcmVlTm9kZUFjY2Vzc2liaWxpdHldPVwibGVhZigpXCJcbiAgICAgICAgKGtleWRvd24uc3BhY2UpPVwib25TcGFjZU9yRW50ZXJQcmVzc2VkKCRldmVudClcIlxuICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvblNwYWNlT3JFbnRlclByZXNzZWQoJGV2ZW50KVwiXG4gICAgICAgIChmb2N1c2luKT1cImZvY3VzZWQuc2V0KHRydWUpXCJcbiAgICAgICAgKGZvY3Vzb3V0KT1cImZvY3VzZWQuc2V0KGZhbHNlKVwiXG4gICAgICAgIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIj5cbiAgICAgICAgQGlmIChuYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIuaXNNdWx0aXBsZU1vZGVFbmFibGVkKCkpIHtcbiAgICAgICAgICAgIDxhcC1jaGVja2JveFxuICAgICAgICAgICAgICAgIFtuYW1lXT1cImxlYWYoKS51aWRcIlxuICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImxlYWYoKS5zZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgW2FyaWEtbGFiZWxdPVwibGVhZigpLmFsaWFzXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWxlYWYoKS5zZWxlY3RhYmxlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZXZlbnRTdG9wcGVyKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25DaGVja2JveFRvZ2dsZSgpXCIgLz5cbiAgICAgICAgfVxuICAgICAgICA8YXAtYXZhdGFyXG4gICAgICAgICAgICBzaXplPVwiMjRcIlxuICAgICAgICAgICAgW3Byb2ZpbGVQaWN0dXJlXT1cImxlYWYoKS5waWN0dXJlVXJsID8/IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICBbbmV0d29ya109XCIkYW55KGxlYWYoKS5uZXR3b3JrKVwiXG4gICAgICAgICAgICBbc2hvd0luaXRpYWxzXT1cImluaXRpYWwoKVwiIC8+XG5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICNhbGlhc1xuICAgICAgICAgICAgY2xhc3M9XCJjYXB0aW9uXCI+XG4gICAgICAgICAgICB7eyBsZWFmKCkuYWxpYXMgfX1cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cInN0YW5kYWxvbmUgb25seS1idXR0b25cIlxuICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidTZWxlY3Qgb25seSAnICsgbGVhZigpLmFsaWFzXCJcbiAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cImxlYWYoKS5hY2Nlc3NpYmlsaXR5LnRhYkluZGV4XCJcbiAgICAgICAgICAgIChrZXlkb3duLnNwYWNlKT1cInNlbGVjdE9ubHkoJGV2ZW50KVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJzZWxlY3RPbmx5KCRldmVudClcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdE9ubHkoJGV2ZW50KVwiPlxuICAgICAgICAgICAge3sgbmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLnRleHRzKCkub25seSB9fVxuICAgICAgICA8L2E+XG5cbiAgICAgICAgQGxldCBhY3Rpb25Qcm9qZWN0aW9uID0gbmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLmxlYWZBY3Rpb25Qcm9qZWN0aW9uKCk7XG4gICAgICAgIEBpZiAoYWN0aW9uUHJvamVjdGlvbj8ubGVuZ3RoKSB7XG4gICAgICAgICAgICA8YXAtc3ltYm9sXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhY3Rpb25zLW1lbnVcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgc3ltYm9sSWQ9XCJtb3JlXCJcbiAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwibGVhZigpLmFjY2Vzc2liaWxpdHkudGFiSW5kZXhcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FjdGlvbiBtZW51ICcgKyBsZWFmKCkuYWxpYXNcIlxuICAgICAgICAgICAgICAgIFthcE5hdlNlbGVjdG9yUG9wb3ZlclRyaWdnZXJdPVwicG9wb3ZlclwiXG4gICAgICAgICAgICAgICAgW2FwTmF2U2VsZWN0b3JQb3BvdmVyVHJpZ2dlck1vZGVdPVwieyBjbGljazogdHJ1ZSwga2V5Ym9hcmQ6IFsnU3BhY2UnLCAnRW50ZXInXSB9XCIgLz5cblxuICAgICAgICAgICAgPGFwLW5hdi1zZWxlY3Rvci1wb3BvdmVyXG4gICAgICAgICAgICAgICAgI3BvcG92ZXJcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21fc3RhcnRcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChhY3Rpb24gb2YgYWN0aW9uUHJvamVjdGlvbjsgdHJhY2sgYWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJhY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpZDogbGVhZigpLnVpZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvYXAtbmF2LXNlbGVjdG9yLXBvcG92ZXI+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGxlYWYoKS5mb2xkYWJsZSkge1xuICAgICAgICAgICAgPGFwLXN5bWJvbFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9sZGluZy1idXR0b25cIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cImxlYWYoKS5hY2Nlc3NpYmlsaXR5LnRhYkluZGV4XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidUb2dnbGUgJyArIGxlYWYoKS5hbGlhc1wiXG4gICAgICAgICAgICAgICAgW3N5bWJvbElkXT1cImZvbGRTeW1ib2woKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUZvbGRpbmcoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwidG9nZ2xlRm9sZGluZygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJ0b2dnbGVGb2xkaW5nKCRldmVudClcIiAvPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAobGVhZigpLmRpc3BsYXlDb3VudGVyKSB7XG4gICAgICAgICAgICA8YXAtY291bnRlclxuICAgICAgICAgICAgICAgIGNvbG9yPVwib3JhbmdlXCJcbiAgICAgICAgICAgICAgICBzaXplPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICBbYmFja2dyb3VuZF09XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgIHt7IGxlYWYoKS5jb3VudGVyIH19XG4gICAgICAgICAgICA8L2FwLWNvdW50ZXI+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChsZWFmKCkuZGlzcGxheVRva2VuSW52YWxpZCkge1xuICAgICAgICAgICAgPGFwLXN5bWJvbFxuICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgc3ltYm9sSWQ9XCJlcnJvcl9maWxsXCIgLz5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGxlYWYoKS5kaXNwbGF5RmVhdHVyZUxvY2tlZCkge1xuICAgICAgICAgICAgPGFwLXN5bWJvbFxuICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgc3ltYm9sSWQ9XCJmZWF0dXJlLWxvY2tcIiAvPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZGV0YWlscy1jb250YWluZXJcIlxuICAgICAgICBbQGFjY29yZGlvbl09XCJ7XG4gICAgICAgICAgICB2YWx1ZTogYW5pbWF0aW9uU3RhdGUoKSxcbiAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgIG1heEhlaWdodDogbWF4SGVpZ2h0KClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVwiPlxuICAgICAgICBAaWYgKCFmb2xkZWRXaXRoRGVsYXkoKSkge1xuICAgICAgICAgICAgPGFwLW5hdi1zZWxlY3Rvci1sZWFmLWRldGFpbHNcbiAgICAgICAgICAgICAgICBbZGV0YWlsc109XCJsZWFmKCkuZGV0YWlsc1wiXG4gICAgICAgICAgICAgICAgW2xlYWZdPVwibGVhZigpXCIgLz5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxufSBAZWxzZSB7XG4gICAgPGRpdlxuICAgICAgICAjbWluaWZpZWRcbiAgICAgICAgY2xhc3M9XCJuYXYtc2VsZWN0b3ItbGVhZlwiXG4gICAgICAgIGFwVG9vbHRpcFBvc2l0aW9uPVwicmlnaHRcIlxuICAgICAgICBbYXBOYXZTZWxlY3RvclBvcG92ZXJUcmlnZ2VyXT1cIm1pbmlmaWVkUG9wb3ZlclwiXG4gICAgICAgIFthcE5hdlNlbGVjdG9yUG9wb3ZlckRpc2FibGVkXT1cIiFsZWFmKCkuZGV0YWlsc0Rpc3BsYXlhYmxlXCJcbiAgICAgICAgW2FwTmF2U2VsZWN0b3JQb3BvdmVyVHJpZ2dlck1vZGVdPVwieyBjbGljazogZmFsc2UsIGhvdmVyOiB0cnVlIH1cIlxuICAgICAgICBbY2xhc3MuZmVhdHVyZS1sb2NrZWRdPVwibGVhZigpLmRpc3BsYXlGZWF0dXJlTG9ja2VkXCJcbiAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImxlYWYoKS5zZWxlY3RlZCB8fCBsZWFmKCkuZGV0YWlsU2VsZWN0ZWRcIlxuICAgICAgICBbY2xhc3MudG9rZW4tZXJyb3JdPVwibGVhZigpLmRpc3BsYXlUb2tlbkludmFsaWRcIlxuICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwibGVhZigpLmRpc2FibGVkXCJcbiAgICAgICAgW2FwVG9vbHRpcF09XCJ0b29sdGlwQ29udGVudCgpXCJcbiAgICAgICAgW2FwVG9vbHRpcERpc2FibGVkXT1cInRvb2x0aXBEaXNhYmxlZCgpXCJcbiAgICAgICAgW2FwVHJlZU5vZGVBY2Nlc3NpYmlsaXR5XT1cImxlYWYoKVwiXG4gICAgICAgIChrZXlkb3duLnNwYWNlKT1cIm9uU3BhY2VPckVudGVyUHJlc3NlZCgkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25TcGFjZU9yRW50ZXJQcmVzc2VkKCRldmVudClcIlxuICAgICAgICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCI+XG4gICAgICAgIEBpZiAobmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLmlzTXVsdGlwbGVNb2RlRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICA8YXAtY2hlY2tib3hcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJsZWFmKCkudWlkXCJcbiAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJsZWFmKCkuc2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhbGVhZigpLnNlbGVjdGFibGVcIiAvPlxuICAgICAgICB9XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxhcC1hdmF0YXJcbiAgICAgICAgICAgICAgICBzaXplPVwiMjRcIlxuICAgICAgICAgICAgICAgIFtwcm9maWxlUGljdHVyZV09XCJsZWFmKCkucGljdHVyZVVybCA/PyB1bmRlZmluZWRcIlxuICAgICAgICAgICAgICAgIFtuZXR3b3JrXT1cIiRhbnkobGVhZigpLm5ldHdvcmspXCJcbiAgICAgICAgICAgICAgICBbc2hvd0luaXRpYWxzXT1cImluaXRpYWwoKVwiIC8+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXNcIj5cbiAgICAgICAgICAgICAgICBAaWYgKGxlYWYoKS5kaXNwbGF5Q291bnRlcikge1xuICAgICAgICAgICAgICAgICAgICA8YXAtY291bnRlclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb3VudGVyLW92ZXJyaWRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwib3JhbmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25vdGlmXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2JhY2tncm91bmRdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgbGVhZigpLmNvdW50ZXIgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9hcC1jb3VudGVyPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKGxlYWYoKS5kaXNwbGF5VG9rZW5JbnZhbGlkKSB7XG4gICAgICAgICAgICAgICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzeW1ib2xJZD1cImVycm9yX2ZpbGxcIiAvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKGxlYWYoKS5kaXNwbGF5RmVhdHVyZUxvY2tlZCkge1xuICAgICAgICAgICAgICAgICAgICA8YXAtc3ltYm9sXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc3ltYm9sSWQ9XCJmZWF0dXJlLWxvY2tcIiAvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8YXAtbmF2LXNlbGVjdG9yLXBvcG92ZXJcbiAgICAgICAgICAgICNtaW5pZmllZFBvcG92ZXJcbiAgICAgICAgICAgIFtwb3BvdmVyVGl0bGVdPVwibGVhZigpLmFsaWFzXCJcbiAgICAgICAgICAgIFtvZmZzZXRdPVwieyBtYWluQXhpczogMCwgY3Jvc3NBeGlzOiAtMzYuNSB9XCJcbiAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCI+XG4gICAgICAgICAgICBAZm9yIChkZXRhaWwgb2YgbGVhZigpLmRldGFpbHM7IHRyYWNrIGRldGFpbC51aWQpIHtcbiAgICAgICAgICAgICAgICA8YXAtbmF2LXNlbGVjdG9yLXBvcG92ZXItaXRlbSBpdGVtIFtzZWxlY3RlZF09XCJkZXRhaWwuc2VsZWN0ZWRcIiBbY2xhc3MuZGlzYWJsZWRdPVwiZGV0YWlsLmRpc3BsYXlFcnJvclwiPlxuICAgICAgICAgICAgICAgICAgICA8YXAtbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsXG4gICAgICAgICAgICAgICAgICAgICAgICBbZW1iZWRkZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGV0YWlsXT1cImRldGFpbFwiIC8+XG4gICAgICAgICAgICAgICAgPC9hcC1uYXYtc2VsZWN0b3ItcG9wb3Zlci1pdGVtPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2FwLW5hdi1zZWxlY3Rvci1wb3BvdmVyPlxuICAgIDwvZGl2PlxufVxuIl19
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLWxlYWYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL25hdi1zZWxlY3Rvci9zcmMvbmF2LXNlbGVjdG9yLWxlYWYvbmF2LXNlbGVjdG9yLWxlYWYuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL25hdi1zZWxlY3Rvci9zcmMvbmF2LXNlbGVjdG9yLWxlYWYvbmF2LXNlbGVjdG9yLWxlYWYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdILE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQ0gsZUFBZSxFQUNmLFdBQVcsRUFDWCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBRU4sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzFHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRWpHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQ2hILE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzlHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUE0RHpFLE1BQU0sT0FBTyx3QkFBd0I7SUFtRHJCO0lBQ0Q7SUFuRFgsSUFBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQTJCLENBQUM7SUFFakQsT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDN0QsVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUVsRixPQUFPLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXhCLE9BQU8sR0FBRyxTQUFTLENBQWEsT0FBTyxDQUFDLENBQUM7SUFDekMsc0JBQXNCLEdBQUcsTUFBTSxDQUs1QjtRQUNDLFdBQVcsRUFBRSxDQUFDO1FBQ2QsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsQ0FBQztRQUNkLFlBQVksRUFBRSxDQUFDO0tBQ2xCLENBQUMsQ0FBQztJQUVILGNBQWMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQzNCLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUVuQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwSCxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBRUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUNoRCxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDbkMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsS0FBSyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEUsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDbEMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsS0FBSyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDLENBQUMsQ0FBQztJQUNILGVBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRWxHLGVBQWUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFaEMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFFbEYsWUFDWSxFQUFjLEVBQ2Ysd0JBQWtEO1FBRGpELE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBRXpELGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO1lBQzNGLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO1FBRUgsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFeEUsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNSLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDbEMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDWCxJQUFJLE1BQU0sRUFBRSxDQUFDO29CQUNULFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDMUQsQ0FBQztxQkFBTSxDQUFDO29CQUNKLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNwQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxjQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBRWpGLFNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFMUIsT0FBTyxDQUFDLEtBQVk7UUFDaEIsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVk7UUFDdEIsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxLQUFZO1FBQzdCLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2pDLGlHQUFpRztRQUNqRyxJQUFJLEtBQUssQ0FBQyxhQUFhLElBQUksTUFBTSxJQUFJLEtBQUssQ0FBQyxhQUFhLElBQUksT0FBTyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUN6RyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQy9CLENBQUM7UUFDRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFZO1FBQ25CLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2pDLG9DQUFvQztRQUNwQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFZO1FBQzFCLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2pDLDhGQUE4RjtRQUM5RixJQUFJLEtBQUssQ0FBQyxhQUFhLElBQUksTUFBTSxJQUFJLEtBQUssQ0FBQyxhQUFhLElBQUksT0FBTyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUN6RyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQy9CLENBQUM7UUFDRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVksQ0FBQyxLQUFZO1FBQ3JCLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixJQUFJLENBQUMsd0JBQXdCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxLQUFZO1FBQzlCLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2pDLElBQUksUUFBUSxDQUFDLGFBQWEsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDO1lBQ3ZGLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsd0JBQXdCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzFELENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksQ0FBQyxLQUFZO1FBQ2IsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQVk7UUFDZixLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxlQUFlLENBQUMsS0FBWSxFQUFFLE1BQXNDO1FBQ2hFLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU8sNEJBQTRCO1FBQ2hDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxhQUFhLENBQUM7UUFDekMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNMLE1BQU0saUJBQWlCLEdBQUc7Z0JBQ3RCLFdBQVcsRUFBRSxFQUFFLENBQUMsV0FBVztnQkFDM0IsWUFBWSxFQUFFLEVBQUUsQ0FBQyxZQUFZO2dCQUM3QixXQUFXLEVBQUUsRUFBRSxDQUFDLFdBQVc7Z0JBQzNCLFlBQVksRUFBRSxFQUFFLENBQUMsWUFBWTthQUNoQyxDQUFDO1lBQ0YsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RGLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUN2RCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7dUdBaktRLHdCQUF3QjsyRkFBeEIsd0JBQXdCLHVaQXJDdEIsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxFQUFFLHdCQUF3QixDQUFDLDRJQ25EdEgsNHlQQTBNQSx3MFREcktRLGVBQWUsNk1BQ2YsZ0JBQWdCLHlHQUNoQixlQUFlLHNIQUNmLCtCQUErQixzR0FDL0IsaUJBQWlCLHdNQUNqQixnQkFBZ0IscVJBQ2hCLDhCQUE4Qix3R0FFOUIsZ0JBQWdCLG9KQUNoQiw4QkFBOEIsMkdBQzlCLDJCQUEyQixxSEFDM0Isa0NBQWtDLHNMQUNsQywrQkFBK0Isa0hBU3ZCO1lBQ1I7O2VBRUc7WUFDSCxPQUFPLENBQUMsV0FBVyxFQUFFO2dCQUNqQixLQUFLLENBQ0QsV0FBVyxFQUNYLEtBQUssQ0FBQztvQkFDRixTQUFTLEVBQUUsQ0FBQztvQkFDWixRQUFRLEVBQUUsUUFBUTtpQkFDckIsQ0FBQyxDQUNMO2dCQUNELEtBQUssQ0FDRCxVQUFVLEVBQ1YsS0FBSyxDQUFDO29CQUNGLFNBQVMsRUFBRSxTQUFTO2lCQUN2QixDQUFDLENBQ0w7Z0JBQ0QsVUFBVSxDQUFDLHVCQUF1QixFQUFFO29CQUNoQyxPQUFPLENBQUMsa0NBQWtDLEVBQUUsS0FBSyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztpQkFDekcsQ0FBQztnQkFDRixVQUFVLENBQUMsdUJBQXVCLEVBQUU7b0JBQ2hDLE9BQU8sQ0FDSCxrQ0FBa0MsRUFDbEMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ2xHO2lCQUNKLENBQUM7YUFDTCxDQUFDO1NBQ0w7OzJGQUVRLHdCQUF3QjtrQkExRHBDLFNBQVM7K0JBQ0ksc0JBQXNCLGNBR3BCLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDTCxlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZiwrQkFBK0I7d0JBQy9CLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQiw4QkFBOEI7d0JBQzlCLDhCQUE4Qjt3QkFDOUIsZ0JBQWdCO3dCQUNoQiw4QkFBOEI7d0JBQzlCLDJCQUEyQjt3QkFDM0Isa0NBQWtDO3dCQUNsQywrQkFBK0I7cUJBQ2xDLGFBQ1UsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxFQUFFLHdCQUF3QixDQUFDLFFBQzVHO3dCQUNGLGtCQUFrQixFQUFFLHNDQUFzQzt3QkFDMUQsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLHFCQUFxQixFQUFFLGNBQWM7d0JBQ3JDLHNCQUFzQixFQUFFLGdCQUFnQjtxQkFDM0MsY0FDVzt3QkFDUjs7MkJBRUc7d0JBQ0gsT0FBTyxDQUFDLFdBQVcsRUFBRTs0QkFDakIsS0FBSyxDQUNELFdBQVcsRUFDWCxLQUFLLENBQUM7Z0NBQ0YsU0FBUyxFQUFFLENBQUM7Z0NBQ1osUUFBUSxFQUFFLFFBQVE7NkJBQ3JCLENBQUMsQ0FDTDs0QkFDRCxLQUFLLENBQ0QsVUFBVSxFQUNWLEtBQUssQ0FBQztnQ0FDRixTQUFTLEVBQUUsU0FBUzs2QkFDdkIsQ0FBQyxDQUNMOzRCQUNELFVBQVUsQ0FBQyx1QkFBdUIsRUFBRTtnQ0FDaEMsT0FBTyxDQUFDLGtDQUFrQyxFQUFFLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7NkJBQ3pHLENBQUM7NEJBQ0YsVUFBVSxDQUFDLHVCQUF1QixFQUFFO2dDQUNoQyxPQUFPLENBQ0gsa0NBQWtDLEVBQ2xDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUNsRzs2QkFDSixDQUFDO3lCQUNMLENBQUM7cUJBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdmF0YXJDb21wb25lbnQgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL2F2YXRhcic7XG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWNvbXBvbmVudHMvY2hlY2tib3gnO1xuaW1wb3J0IHsgQ291bnRlckNvbXBvbmVudCB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWNvbXBvbmVudHMvY291bnRlcic7XG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IGFwQ2hldnJvbkRvd24sIGFwQ2hldnJvblVwLCBhcEVycm9yRmlsbCwgYXBGZWF0dXJlTG9jaywgU3ltYm9sQ29tcG9uZW50LCB3aXRoU3ltYm9scyB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLXN5bWJvbCc7XG5pbXBvcnQgeyBhcE1vcmUgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1zeW1ib2wvaWNvbnMnO1xuaW1wb3J0IHsgYW5pbWF0ZSwga2V5ZnJhbWVzLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBhZnRlck5leHRSZW5kZXIsXG4gICAgYWZ0ZXJSZW5kZXIsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIGVmZmVjdCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGlucHV0LFxuICAgIHNpZ25hbCxcbiAgICB1bnRyYWNrZWQsXG4gICAgdmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdlNlbGVjdG9yUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL25hdi1zZWxlY3Rvci1wb3BvdmVyLXRyaWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRyZWVOb2RlQWNjZXNzaWJpbGl0eURpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvdHJlZS1ub2RlLWFjY2Vzc2liaWxpdHkuZGlyZWN0aXZlJztcbmltcG9ydCB7IEludGVybmFsTmF2U2VsZWN0b3JMZWFmLCBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZkRldGFpbHMgfSBmcm9tICcuLi9uYXYtc2VsZWN0b3InO1xuaW1wb3J0IHsgTmF2U2VsZWN0b3JMZWFmRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmF2U2VsZWN0b3JMZWFmRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4uL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbHMvbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlscy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmF2U2VsZWN0b3JQb3BvdmVySXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL25hdi1zZWxlY3Rvci1wb3BvdmVyL25hdi1zZWxlY3Rvci1wb3BvdmVyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE5hdlNlbGVjdG9yUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4uL25hdi1zZWxlY3Rvci1wb3BvdmVyL25hdi1zZWxlY3Rvci1wb3BvdmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIgfSBmcm9tICcuL25hdi1zZWxlY3Rvci1sZWFmLnByZXNlbnRlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXAtbmF2LXNlbGVjdG9yLWxlYWYnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uYXYtc2VsZWN0b3ItbGVhZi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbmF2LXNlbGVjdG9yLWxlYWYuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQXZhdGFyQ29tcG9uZW50LFxuICAgICAgICBDb3VudGVyQ29tcG9uZW50LFxuICAgICAgICBTeW1ib2xDb21wb25lbnQsXG4gICAgICAgIE5hdlNlbGVjdG9yTGVhZkRldGFpbHNDb21wb25lbnQsXG4gICAgICAgIENoZWNrYm94Q29tcG9uZW50LFxuICAgICAgICBUb29sdGlwRGlyZWN0aXZlLFxuICAgICAgICBOYXZTZWxlY3RvckxlYWZEZXRhaWxDb21wb25lbnQsXG4gICAgICAgIE5hdlNlbGVjdG9yTGVhZkRldGFpbENvbXBvbmVudCxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgVHJlZU5vZGVBY2Nlc3NpYmlsaXR5RGlyZWN0aXZlLFxuICAgICAgICBOYXZTZWxlY3RvclBvcG92ZXJDb21wb25lbnQsXG4gICAgICAgIE5hdlNlbGVjdG9yUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUsXG4gICAgICAgIE5hdlNlbGVjdG9yUG9wb3Zlckl0ZW1Db21wb25lbnQsXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFt3aXRoU3ltYm9scyhhcEVycm9yRmlsbCwgYXBGZWF0dXJlTG9jaywgYXBDaGV2cm9uRG93biwgYXBDaGV2cm9uVXAsIGFwTW9yZSksIE5hdlNlbGVjdG9yTGVhZlByZXNlbnRlcl0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLm1pbmlmaWVkXSc6ICchbmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLmV4cGFuZGVkKCknLFxuICAgICAgICByb2xlOiAndHJlZWl0ZW0nLFxuICAgICAgICAnKGtleWRvd24uYXJyb3dMZWZ0KSc6ICdmb2xkKCRldmVudCknLFxuICAgICAgICAnKGtleWRvd24uYXJyb3dSaWdodCknOiAndW5mb2xkKCRldmVudCknLFxuICAgIH0sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICAvKipcbiAgICAgICAgICogT3ZlcmZsb3cgaGlkZGVuIGlzIHB1dCBvbmx5IGR1cmluZyB0aGUgYW5pbWF0aW9uIGFuZCBvbiB0aGUgY29sbGFwc2VkIHN0YXRlIGJlY2F1c2UgaWYgaXQgaXMgcHV0IG9uIHRoZSBleHBhbmRlZCBzdGF0ZSB0aGVuIGNoaWxkcmVu4oCZcyBib3JkZXIgd2lsbCBiZSBjdXQgKGhvdmVyIC8gZm9jdXMpXG4gICAgICAgICAqL1xuICAgICAgICB0cmlnZ2VyKCdhY2NvcmRpb24nLCBbXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnY29sbGFwc2VkJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIG1heEhlaWdodDogMCxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2V4cGFuZGVkJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIG1heEhlaWdodDogJ2luaXRpYWwnLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignY29sbGFwc2VkID0+IGV4cGFuZGVkJywgW1xuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzI1MG1zIGN1YmljLWJlemllciguNCwgMCwgLjMsIDEpJywgc3R5bGUoeyBvdmVyZmxvdzogJ2hpZGRlbicsIG1heEhlaWdodDogJ3t7bWF4SGVpZ2h0fX0nIH0pKSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignZXhwYW5kZWQgPT4gY29sbGFwc2VkJywgW1xuICAgICAgICAgICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICAgICAgICAgICcyNTBtcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4zLCAxKScsXG4gICAgICAgICAgICAgICAgICAgIGtleWZyYW1lcyhbc3R5bGUoeyBvdmVyZmxvdzogJ2hpZGRlbicsIG1heEhlaWdodDogJ3t7bWF4SGVpZ2h0fX0nIH0pLCBzdHlsZSh7IG1heEhlaWdodDogMCB9KV0pXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICBdKSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOYXZTZWxlY3RvckxlYWZDb21wb25lbnQge1xuICAgIGxlYWYgPSBpbnB1dC5yZXF1aXJlZDxJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZj4oKTtcblxuICAgIGluaXRpYWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmxlYWYoKS5hbGlhc1swXS50b1VwcGVyQ2FzZSgpKTtcbiAgICBmb2xkU3ltYm9sID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMubGVhZigpLmZvbGRlZCA/ICdjaGV2cm9uLWRvd24nIDogJ2NoZXZyb24tdXAnKSk7XG5cbiAgICBmb2N1c2VkID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIGFsaWFzRWwgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZj4oJ2FsaWFzJyk7XG4gICAgYWxpYXNCb3VuZGVkQ2xpZW50UmVjdCA9IHNpZ25hbDx7XG4gICAgICAgIG9mZnNldFdpZHRoOiBudW1iZXI7XG4gICAgICAgIG9mZnNldEhlaWdodDogbnVtYmVyO1xuICAgICAgICBzY3JvbGxXaWR0aDogbnVtYmVyO1xuICAgICAgICBzY3JvbGxIZWlnaHQ6IG51bWJlcjtcbiAgICB9Pih7XG4gICAgICAgIG9mZnNldFdpZHRoOiAwLFxuICAgICAgICBvZmZzZXRIZWlnaHQ6IDAsXG4gICAgICAgIHNjcm9sbFdpZHRoOiAwLFxuICAgICAgICBzY3JvbGxIZWlnaHQ6IDAsXG4gICAgfSk7XG5cbiAgICB0b29sdGlwQ29udGVudCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgY29udGVudCA9IFtdO1xuXG4gICAgICAgIGNvbnN0IGVsID0gdGhpcy5hbGlhc0JvdW5kZWRDbGllbnRSZWN0KCk7XG4gICAgICAgIGlmICghdGhpcy5uYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIuZXhwYW5kZWQoKSB8fCBlbC5vZmZzZXRXaWR0aCA8IGVsLnNjcm9sbFdpZHRoIHx8IGVsLm9mZnNldEhlaWdodCA8IGVsLnNjcm9sbEhlaWdodCkge1xuICAgICAgICAgICAgY29udGVudC5wdXNoKHRoaXMubGVhZigpLmFsaWFzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRpc2FibGVSZWFzb24gPSB0aGlzLmxlYWYoKS5kaXNhYmxlUmVhc29uO1xuICAgICAgICBpZiAoZGlzYWJsZVJlYXNvbikge1xuICAgICAgICAgICAgY29udGVudC5wdXNoKGRpc2FibGVSZWFzb24pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubGVhZigpLmRpc3BsYXlGZWF0dXJlTG9ja2VkKSB7XG4gICAgICAgICAgICBjb250ZW50LnB1c2godGhpcy5uYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIudGV4dHMoKS5mZWF0dXJlTG9ja2VkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmxlYWYoKS5kaXNwbGF5VG9rZW5JbnZhbGlkKSB7XG4gICAgICAgICAgICBjb250ZW50LnB1c2godGhpcy5uYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIudGV4dHMoKS50b2tlbkludmFsaWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvbnRlbnQuam9pbignPGJyPicpO1xuICAgIH0pO1xuICAgIHRvb2x0aXBEaXNhYmxlZCA9IGNvbXB1dGVkKCgpID0+ICF0aGlzLnRvb2x0aXBDb250ZW50KCkubGVuZ3RoIHx8IHRoaXMubGVhZigpLmRldGFpbHNEaXNwbGF5YWJsZSk7XG5cbiAgICBmb2xkZWRXaXRoRGVsYXkgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgbmV0d29yayA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmxlYWYoKS5uZXR3b3JrID8gdGhpcy5sZWFmKCkubmV0d29yayA6IHVuZGVmaW5lZCkpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHB1YmxpYyBuYXZTZWxlY3RvckxlYWZQcmVzZW50ZXI6IE5hdlNlbGVjdG9yTGVhZlByZXNlbnRlclxuICAgICkge1xuICAgICAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5tYXhIZWlnaHQuc2V0KGAke3RoaXMuZWwubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQgKiB0aGlzLmxlYWYoKS5kZXRhaWxzLmxlbmd0aH1weGApO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVBbGlhc0JvdW5kZWRDbGllbnRSZWN0KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGFmdGVyUmVuZGVyKCgpID0+IHVudHJhY2tlZCgoKSA9PiB0aGlzLnVwZGF0ZUFsaWFzQm91bmRlZENsaWVudFJlY3QoKSkpO1xuXG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmb2xkZWQgPSB0aGlzLmxlYWYoKS5mb2xkZWQ7XG4gICAgICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmb2xkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmZvbGRlZFdpdGhEZWxheS5zZXQodHJ1ZSksIDE1MCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2xkZWRXaXRoRGVsYXkuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYW5pbWF0aW9uU3RhdGUgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5sZWFmKCkuZm9sZGVkID8gJ2NvbGxhcHNlZCcgOiAnZXhwYW5kZWQnKSk7XG5cbiAgICBtYXhIZWlnaHQgPSBzaWduYWwoJzBweCcpO1xuXG4gICAgb25DbGljayhldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMubmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLnNlbGVjdExlYWYodGhpcy5sZWFmKCkpO1xuICAgIH1cblxuICAgIHRvZ2dsZUZvbGRpbmcoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5vbkxlYWZUb2dnbGVGb2xkaW5nKHRoaXMubGVhZigpKTtcbiAgICB9XG5cbiAgICBjbGlja09uVG9nZ2xlRm9sZGluZyhldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIC8vIFJlbW92ZSB0aGUgZm9jdXMgZnJvbSB0aGUgdG9nZ2xlIGZvbGRpbmcgc28gd2UgZG8gbm90IGhhdmUgdGhlIDpmb2N1cy13aXRoaW4gc3R5bGUgb24gdGhlIGxlYWZcbiAgICAgICAgaWYgKGV2ZW50LmN1cnJlbnRUYXJnZXQgJiYgJ2JsdXInIGluIGV2ZW50LmN1cnJlbnRUYXJnZXQgJiYgdHlwZW9mIGV2ZW50LmN1cnJlbnRUYXJnZXQuYmx1ciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgZXZlbnQuY3VycmVudFRhcmdldC5ibHVyKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5uYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIub25MZWFmVG9nZ2xlRm9sZGluZyh0aGlzLmxlYWYoKSk7XG4gICAgfVxuXG4gICAgc2VsZWN0T25seShldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIC8vIChldmVudC50YXJnZXQgYXMgRWxlbWVudCkuYmx1cigpO1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5zZWxlY3RPbmx5TGVhZih0aGlzLmxlYWYoKSk7XG4gICAgfVxuXG4gICAgY2xpY2tPblNlbGVjdE9ubHkoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICAvLyBSZW1vdmUgdGhlIGZvY3VzIGZyb20gdGhlIHNlbGVjdCBvbmx5IHNvIHdlIGRvIG5vdCBoYXZlIHRoZSA6Zm9jdXMtd2l0aGluIHN0eWxlIG9uIHRoZSBsZWFmXG4gICAgICAgIGlmIChldmVudC5jdXJyZW50VGFyZ2V0ICYmICdibHVyJyBpbiBldmVudC5jdXJyZW50VGFyZ2V0ICYmIHR5cGVvZiBldmVudC5jdXJyZW50VGFyZ2V0LmJsdXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGV2ZW50LmN1cnJlbnRUYXJnZXQuYmx1cigpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLnNlbGVjdE9ubHlMZWFmKHRoaXMubGVhZigpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGb3IgY2hlY2tib3hlcywgYXMgdGhleSBkbyBub3Qgc3RvcCBldmVudCBwcm9wYWdhdGlvbiwgd2UgbmVlZCB0byBzdG9wIGl0IG1hbnVhbGx5XG4gICAgICovXG4gICAgZXZlbnRTdG9wcGVyKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBvbkNoZWNrYm94VG9nZ2xlKCkge1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5zZWxlY3RMZWFmKHRoaXMubGVhZigpKTtcbiAgICB9XG5cbiAgICBvblNwYWNlT3JFbnRlclByZXNzZWQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5uYXYtc2VsZWN0b3ItbGVhZicpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5sZWFmKCkuZm9sZGFibGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZUZvbGRpbmcoZXZlbnQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5zZWxlY3RMZWFmKHRoaXMubGVhZigpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvbGQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5mb2xkKHRoaXMubGVhZigpKTtcbiAgICB9XG5cbiAgICB1bmZvbGQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci51bmZvbGQodGhpcy5sZWFmKCkpO1xuICAgIH1cblxuICAgIG9uRGV0YWlsQ2xpY2tlZChldmVudDogRXZlbnQsIGRldGFpbDogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZEZXRhaWxzKSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5vbkxlYWZEZXRhaWxDbGlja2VkKGRldGFpbCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVBbGlhc0JvdW5kZWRDbGllbnRSZWN0KCkge1xuICAgICAgICBjb25zdCBlbCA9IHRoaXMuYWxpYXNFbCgpPy5uYXRpdmVFbGVtZW50O1xuICAgICAgICBpZiAoZWwpIHtcbiAgICAgICAgICAgIGNvbnN0IGJvdW5kZWRDbGllbnRSZWN0ID0ge1xuICAgICAgICAgICAgICAgIG9mZnNldFdpZHRoOiBlbC5vZmZzZXRXaWR0aCxcbiAgICAgICAgICAgICAgICBvZmZzZXRIZWlnaHQ6IGVsLm9mZnNldEhlaWdodCxcbiAgICAgICAgICAgICAgICBzY3JvbGxXaWR0aDogZWwuc2Nyb2xsV2lkdGgsXG4gICAgICAgICAgICAgICAgc2Nyb2xsSGVpZ2h0OiBlbC5zY3JvbGxIZWlnaHQsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KHRoaXMuYWxpYXNCb3VuZGVkQ2xpZW50UmVjdCgpKSAhPT0gSlNPTi5zdHJpbmdpZnkoYm91bmRlZENsaWVudFJlY3QpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hbGlhc0JvdW5kZWRDbGllbnRSZWN0LnNldChib3VuZGVkQ2xpZW50UmVjdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaWYgKG5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5leHBhbmRlZEFmdGVyRGVsYXkoKSkge1xuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJuYXYtc2VsZWN0b3ItbGVhZlwiXG4gICAgICAgIGFwVG9vbHRpcFBvc2l0aW9uPVwicmlnaHRcIlxuICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cImxlYWYoKS5zZWxlY3RlZFwiXG4gICAgICAgIFthcFRvb2x0aXBdPVwidG9vbHRpcENvbnRlbnQoKVwiXG4gICAgICAgIFthcFRvb2x0aXBEaXNhYmxlZF09XCJ0b29sdGlwRGlzYWJsZWQoKVwiXG4gICAgICAgIFtjbGFzcy5tdWx0aXBsZS1tb2RlXT1cIm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5pc011bHRpcGxlTW9kZUVuYWJsZWQoKVwiXG4gICAgICAgIFtjbGFzcy5mZWF0dXJlLWxvY2tlZF09XCJsZWFmKCkuZGlzcGxheUZlYXR1cmVMb2NrZWRcIlxuICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwibGVhZigpLnNlbGVjdGVkXCJcbiAgICAgICAgW2NsYXNzLnRva2VuLWVycm9yXT1cImxlYWYoKS5kaXNwbGF5VG9rZW5JbnZhbGlkXCJcbiAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImxlYWYoKS5kaXNhYmxlZFwiXG4gICAgICAgIFtjbGFzcy5kZXRhaWwtc2VsZWN0ZWRdPVwibGVhZigpLmRldGFpbFNlbGVjdGVkXCJcbiAgICAgICAgW2NsYXNzLmFjdGlvbnMtZGlzcGxheWFibGVdPVwibGVhZigpLmFjdGlvbnNEaXNwbGF5YWJsZSAmJiBsZWFmKCkuZGV0YWlsc0Rpc3BsYXlhYmxlXCJcbiAgICAgICAgW2NsYXNzLmRldGFpbHMtZGlzcGxheWFibGVdPVwibGVhZigpLmRldGFpbHNEaXNwbGF5YWJsZVwiXG4gICAgICAgIFthcFRyZWVOb2RlQWNjZXNzaWJpbGl0eV09XCJsZWFmKClcIlxuICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJvblNwYWNlT3JFbnRlclByZXNzZWQoJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uU3BhY2VPckVudGVyUHJlc3NlZCgkZXZlbnQpXCJcbiAgICAgICAgKGZvY3VzaW4pPVwiZm9jdXNlZC5zZXQodHJ1ZSlcIlxuICAgICAgICAoZm9jdXNvdXQpPVwiZm9jdXNlZC5zZXQoZmFsc2UpXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICBAaWYgKG5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5pc011bHRpcGxlTW9kZUVuYWJsZWQoKSkge1xuICAgICAgICAgICAgPGFwLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgW25hbWVdPVwibGVhZigpLnVpZFwiXG4gICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwibGVhZigpLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICBbYXJpYS1sYWJlbF09XCJsZWFmKCkuYWxpYXNcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhbGVhZigpLnNlbGVjdGFibGVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJldmVudFN0b3BwZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNoZWNrYm94VG9nZ2xlKClcIiAvPlxuICAgICAgICB9XG4gICAgICAgIDxhcC1hdmF0YXJcbiAgICAgICAgICAgIHNpemU9XCIyNFwiXG4gICAgICAgICAgICBbcHJvZmlsZVBpY3R1cmVdPVwibGVhZigpLnBpY3R1cmVVcmwgPz8gdW5kZWZpbmVkXCJcbiAgICAgICAgICAgIFtuZXR3b3JrXT1cIiRhbnkobGVhZigpLm5ldHdvcmspXCJcbiAgICAgICAgICAgIFtzaG93SW5pdGlhbHNdPVwiaW5pdGlhbCgpXCIgLz5cblxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgI2FsaWFzXG4gICAgICAgICAgICBjbGFzcz1cImNhcHRpb25cIj5cbiAgICAgICAgICAgIHt7IGxlYWYoKS5hbGlhcyB9fVxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzPVwic3RhbmRhbG9uZSBvbmx5LWJ1dHRvblwiXG4gICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NlbGVjdCBvbmx5ICcgKyBsZWFmKCkuYWxpYXNcIlxuICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwibGVhZigpLmFjY2Vzc2liaWxpdHkudGFiSW5kZXhcIlxuICAgICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwic2VsZWN0T25seSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cInNlbGVjdE9ubHkoJGV2ZW50KVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tPblNlbGVjdE9ubHkoJGV2ZW50KVwiPlxuICAgICAgICAgICAge3sgbmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLnRleHRzKCkub25seSB9fVxuICAgICAgICA8L2E+XG5cbiAgICAgICAgQGxldCBhY3Rpb25Qcm9qZWN0aW9uID0gbmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLmxlYWZBY3Rpb25Qcm9qZWN0aW9uKCk7XG4gICAgICAgIEBpZiAoYWN0aW9uUHJvamVjdGlvbj8ubGVuZ3RoKSB7XG4gICAgICAgICAgICA8YXAtc3ltYm9sXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhY3Rpb25zLW1lbnVcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgc3ltYm9sSWQ9XCJtb3JlXCJcbiAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwibGVhZigpLmFjY2Vzc2liaWxpdHkudGFiSW5kZXhcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FjdGlvbiBtZW51ICcgKyBsZWFmKCkuYWxpYXNcIlxuICAgICAgICAgICAgICAgIFthcE5hdlNlbGVjdG9yUG9wb3ZlclRyaWdnZXJdPVwicG9wb3ZlclwiXG4gICAgICAgICAgICAgICAgW2FwTmF2U2VsZWN0b3JQb3BvdmVyVHJpZ2dlck1vZGVdPVwieyBjbGljazogdHJ1ZSwga2V5Ym9hcmQ6IFsnU3BhY2UnLCAnRW50ZXInXSB9XCIgLz5cblxuICAgICAgICAgICAgPGFwLW5hdi1zZWxlY3Rvci1wb3BvdmVyXG4gICAgICAgICAgICAgICAgI3BvcG92ZXJcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21fc3RhcnRcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChhY3Rpb24gb2YgYWN0aW9uUHJvamVjdGlvbjsgdHJhY2sgYWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJhY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpZDogbGVhZigpLnVpZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvYXAtbmF2LXNlbGVjdG9yLXBvcG92ZXI+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGxlYWYoKS5mb2xkYWJsZSkge1xuICAgICAgICAgICAgPGFwLXN5bWJvbFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9sZGluZy1idXR0b25cIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cImxlYWYoKS5hY2Nlc3NpYmlsaXR5LnRhYkluZGV4XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidUb2dnbGUgJyArIGxlYWYoKS5hbGlhc1wiXG4gICAgICAgICAgICAgICAgW3N5bWJvbElkXT1cImZvbGRTeW1ib2woKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrT25Ub2dnbGVGb2xkaW5nKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLnNwYWNlKT1cInRvZ2dsZUZvbGRpbmcoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwidG9nZ2xlRm9sZGluZygkZXZlbnQpXCIgLz5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGxlYWYoKS5kaXNwbGF5Q291bnRlcikge1xuICAgICAgICAgICAgPGFwLWNvdW50ZXJcbiAgICAgICAgICAgICAgICBjb2xvcj1cIm9yYW5nZVwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgW2JhY2tncm91bmRdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICB7eyBsZWFmKCkuY291bnRlciB9fVxuICAgICAgICAgICAgPC9hcC1jb3VudGVyPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAobGVhZigpLmRpc3BsYXlUb2tlbkludmFsaWQpIHtcbiAgICAgICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgICAgIHN5bWJvbElkPVwiZXJyb3JfZmlsbFwiIC8+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChsZWFmKCkuZGlzcGxheUZlYXR1cmVMb2NrZWQpIHtcbiAgICAgICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgICAgIHN5bWJvbElkPVwiZmVhdHVyZS1sb2NrXCIgLz5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuXG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImRldGFpbHMtY29udGFpbmVyXCJcbiAgICAgICAgW0BhY2NvcmRpb25dPVwie1xuICAgICAgICAgICAgdmFsdWU6IGFuaW1hdGlvblN0YXRlKCksXG4gICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgICBtYXhIZWlnaHQ6IG1heEhlaWdodCgpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cIj5cbiAgICAgICAgQGlmICghZm9sZGVkV2l0aERlbGF5KCkpIHtcbiAgICAgICAgICAgIDxhcC1uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWxzXG4gICAgICAgICAgICAgICAgW2RldGFpbHNdPVwibGVhZigpLmRldGFpbHNcIlxuICAgICAgICAgICAgICAgIFtsZWFmXT1cImxlYWYoKVwiIC8+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbn0gQGVsc2Uge1xuICAgIDxkaXZcbiAgICAgICAgI21pbmlmaWVkXG4gICAgICAgIGNsYXNzPVwibmF2LXNlbGVjdG9yLWxlYWZcIlxuICAgICAgICBhcFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgW2FwTmF2U2VsZWN0b3JQb3BvdmVyVHJpZ2dlcl09XCJtaW5pZmllZFBvcG92ZXJcIlxuICAgICAgICBbYXBOYXZTZWxlY3RvclBvcG92ZXJEaXNhYmxlZF09XCIhbGVhZigpLmRldGFpbHNEaXNwbGF5YWJsZVwiXG4gICAgICAgIFthcE5hdlNlbGVjdG9yUG9wb3ZlclRyaWdnZXJNb2RlXT1cInsgY2xpY2s6IGZhbHNlLCBob3ZlcjogdHJ1ZSB9XCJcbiAgICAgICAgW2NsYXNzLmZlYXR1cmUtbG9ja2VkXT1cImxlYWYoKS5kaXNwbGF5RmVhdHVyZUxvY2tlZFwiXG4gICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJsZWFmKCkuc2VsZWN0ZWQgfHwgbGVhZigpLmRldGFpbFNlbGVjdGVkXCJcbiAgICAgICAgW2NsYXNzLnRva2VuLWVycm9yXT1cImxlYWYoKS5kaXNwbGF5VG9rZW5JbnZhbGlkXCJcbiAgICAgICAgW2NsYXNzLm11bHRpcGxlLW1vZGVdPVwibmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLmlzTXVsdGlwbGVNb2RlRW5hYmxlZCgpXCJcbiAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImxlYWYoKS5kaXNhYmxlZFwiXG4gICAgICAgIFthcFRvb2x0aXBdPVwidG9vbHRpcENvbnRlbnQoKVwiXG4gICAgICAgIFthcFRvb2x0aXBEaXNhYmxlZF09XCJ0b29sdGlwRGlzYWJsZWQoKVwiXG4gICAgICAgIFthcFRyZWVOb2RlQWNjZXNzaWJpbGl0eV09XCJsZWFmKClcIlxuICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJvblNwYWNlT3JFbnRlclByZXNzZWQoJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uU3BhY2VPckVudGVyUHJlc3NlZCgkZXZlbnQpXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICBAaWYgKG5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5pc011bHRpcGxlTW9kZUVuYWJsZWQoKSkge1xuICAgICAgICAgICAgPGFwLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgW25hbWVdPVwibGVhZigpLnVpZFwiXG4gICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwibGVhZigpLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWxlYWYoKS5zZWxlY3RhYmxlXCIgLz5cbiAgICAgICAgfVxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8YXAtYXZhdGFyXG4gICAgICAgICAgICAgICAgc2l6ZT1cIjI0XCJcbiAgICAgICAgICAgICAgICBbcHJvZmlsZVBpY3R1cmVdPVwibGVhZigpLnBpY3R1cmVVcmwgPz8gdW5kZWZpbmVkXCJcbiAgICAgICAgICAgICAgICBbbmV0d29ya109XCIkYW55KGxlYWYoKS5uZXR3b3JrKVwiXG4gICAgICAgICAgICAgICAgW3Nob3dJbml0aWFsc109XCJpbml0aWFsKClcIiAvPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzXCI+XG4gICAgICAgICAgICAgICAgQGlmIChsZWFmKCkuZGlzcGxheUNvdW50ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgPGFwLWNvdW50ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY291bnRlci1vdmVycmlkZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cIm9yYW5nZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtub3RpZl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtiYWNrZ3JvdW5kXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGxlYWYoKS5jb3VudGVyIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYXAtY291bnRlcj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChsZWFmKCkuZGlzcGxheVRva2VuSW52YWxpZCkge1xuICAgICAgICAgICAgICAgICAgICA8YXAtc3ltYm9sXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc3ltYm9sSWQ9XCJlcnJvcl9maWxsXCIgLz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChsZWFmKCkuZGlzcGxheUZlYXR1cmVMb2NrZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgPGFwLXN5bWJvbFxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN5bWJvbElkPVwiZmVhdHVyZS1sb2NrXCIgLz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGFwLW5hdi1zZWxlY3Rvci1wb3BvdmVyXG4gICAgICAgICAgICAjbWluaWZpZWRQb3BvdmVyXG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgICBbcG9wb3ZlclRpdGxlXT1cImxlYWYoKS5hbGlhc1wiXG4gICAgICAgICAgICBbb2Zmc2V0XT1cInsgbWFpbkF4aXM6IDAsIGNyb3NzQXhpczogLTM2LjUgfVwiPlxuICAgICAgICAgICAgQGZvciAoZGV0YWlsIG9mIGxlYWYoKS5kZXRhaWxzOyB0cmFjayBkZXRhaWwudWlkKSB7XG4gICAgICAgICAgICAgICAgPGFwLW5hdi1zZWxlY3Rvci1wb3BvdmVyLWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgaXRlbVxuICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwiZGV0YWlsLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRldGFpbC5kaXNwbGF5RXJyb3JcIlxuICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJkZXRhaWwuYWxpYXNcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25EZXRhaWxDbGlja2VkKCRldmVudCwgZGV0YWlsKVwiPlxuICAgICAgICAgICAgICAgICAgICA8YXAtbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsXG4gICAgICAgICAgICAgICAgICAgICAgICBbZW1iZWRkZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGV0YWlsXT1cImRldGFpbFwiIC8+XG4gICAgICAgICAgICAgICAgPC9hcC1uYXYtc2VsZWN0b3ItcG9wb3Zlci1pdGVtPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2FwLW5hdi1zZWxlY3Rvci1wb3BvdmVyPlxuICAgIDwvZGl2PlxufVxuIl19
@@ -26,10 +26,13 @@ export class NavSelectorLeafPresenter {
26
26
  unfold(leaf) {
27
27
  this.navSelectorState.unfold(leaf);
28
28
  }
29
+ onLeafDetailClicked(detail) {
30
+ this.navSelectorState.onLeafDetailClicked(detail);
31
+ }
29
32
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorLeafPresenter, deps: [{ token: i1.NavSelectorState }], target: i0.ɵɵFactoryTarget.Injectable });
30
33
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorLeafPresenter });
31
34
  }
32
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorLeafPresenter, decorators: [{
33
36
  type: Injectable
34
37
  }], ctorParameters: () => [{ type: i1.NavSelectorState }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLWxlYWYucHJlc2VudGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL25hdi1zZWxlY3Rvci9zcmMvbmF2LXNlbGVjdG9yLWxlYWYvbmF2LXNlbGVjdG9yLWxlYWYucHJlc2VudGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFLckQsTUFBTSxPQUFPLHdCQUF3QjtJQU9iO0lBTnBCLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDNUQsS0FBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN0RCxxQkFBcUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztJQUN0RixvQkFBb0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztJQUNwRixrQkFBa0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUVoRixZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFHLENBQUM7SUFFMUQsVUFBVSxDQUFDLElBQTZCO1FBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQTZCO1FBQzdDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQTZCO1FBQ3hDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksQ0FBQyxJQUE2QjtRQUM5QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBNkI7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO3VHQTNCUSx3QkFBd0I7MkdBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZiB9IGZyb20gJy4uL25hdi1zZWxlY3Rvcic7XG5pbXBvcnQgeyBOYXZTZWxlY3RvclN0YXRlIH0gZnJvbSAnLi4vbmF2LXNlbGVjdG9yLnN0YXRlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5hdlNlbGVjdG9yTGVhZlByZXNlbnRlciB7XG4gICAgZXhwYW5kZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm5hdlNlbGVjdG9yU3RhdGUuZXhwYW5kZWQoKSk7XG4gICAgdGV4dHMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm5hdlNlbGVjdG9yU3RhdGUudGV4dHMoKSk7XG4gICAgaXNNdWx0aXBsZU1vZGVFbmFibGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5uYXZTZWxlY3RvclN0YXRlLmlzTXVsdGlwbGVNb2RlRW5hYmxlZCgpKTtcbiAgICBsZWFmQWN0aW9uUHJvamVjdGlvbiA9IGNvbXB1dGVkKCgpID0+IHRoaXMubmF2U2VsZWN0b3JTdGF0ZS5sZWFmQWN0aW9uUHJvamVjdGlvbigpKTtcbiAgICBleHBhbmRlZEFmdGVyRGVsYXkgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm5hdlNlbGVjdG9yU3RhdGUuZXhwYW5kZWRBZnRlckRlbGF5KCkpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBuYXZTZWxlY3RvclN0YXRlOiBOYXZTZWxlY3RvclN0YXRlKSB7fVxuXG4gICAgc2VsZWN0TGVhZihsZWFmOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZikge1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yU3RhdGUub25MZWFmQ2xpY2tlZChsZWFmKTtcbiAgICB9XG5cbiAgICBvbkxlYWZUb2dnbGVGb2xkaW5nKGxlYWY6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmKSB7XG4gICAgICAgIHRoaXMubmF2U2VsZWN0b3JTdGF0ZS5vbkxlYWZUb2dnbGVGb2xkaW5nKGxlYWYpO1xuICAgIH1cblxuICAgIHNlbGVjdE9ubHlMZWFmKGxlYWY6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmKSB7XG4gICAgICAgIHRoaXMubmF2U2VsZWN0b3JTdGF0ZS5zZWxlY3RPbmx5TGVhZihsZWFmKTtcbiAgICB9XG5cbiAgICBmb2xkKGxlYWY6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmKSB7XG4gICAgICAgIHRoaXMubmF2U2VsZWN0b3JTdGF0ZS5mb2xkKGxlYWYpO1xuICAgIH1cblxuICAgIHVuZm9sZChsZWFmOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZikge1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yU3RhdGUudW5mb2xkKGxlYWYpO1xuICAgIH1cbn1cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLWxlYWYucHJlc2VudGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL25hdi1zZWxlY3Rvci9zcmMvbmF2LXNlbGVjdG9yLWxlYWYvbmF2LXNlbGVjdG9yLWxlYWYucHJlc2VudGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFLckQsTUFBTSxPQUFPLHdCQUF3QjtJQU9iO0lBTnBCLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDNUQsS0FBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN0RCxxQkFBcUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztJQUN0RixvQkFBb0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztJQUNwRixrQkFBa0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUVoRixZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFHLENBQUM7SUFFMUQsVUFBVSxDQUFDLElBQTZCO1FBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQTZCO1FBQzdDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQTZCO1FBQ3hDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksQ0FBQyxJQUE2QjtRQUM5QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBNkI7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsTUFBc0M7UUFDdEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RELENBQUM7dUdBL0JRLHdCQUF3QjsyR0FBeEIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEludGVybmFsTmF2U2VsZWN0b3JMZWFmLCBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZkRldGFpbHMgfSBmcm9tICcuLi9uYXYtc2VsZWN0b3InO1xuaW1wb3J0IHsgTmF2U2VsZWN0b3JTdGF0ZSB9IGZyb20gJy4uL25hdi1zZWxlY3Rvci5zdGF0ZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIge1xuICAgIGV4cGFuZGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5uYXZTZWxlY3RvclN0YXRlLmV4cGFuZGVkKCkpO1xuICAgIHRleHRzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5uYXZTZWxlY3RvclN0YXRlLnRleHRzKCkpO1xuICAgIGlzTXVsdGlwbGVNb2RlRW5hYmxlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMubmF2U2VsZWN0b3JTdGF0ZS5pc011bHRpcGxlTW9kZUVuYWJsZWQoKSk7XG4gICAgbGVhZkFjdGlvblByb2plY3Rpb24gPSBjb21wdXRlZCgoKSA9PiB0aGlzLm5hdlNlbGVjdG9yU3RhdGUubGVhZkFjdGlvblByb2plY3Rpb24oKSk7XG4gICAgZXhwYW5kZWRBZnRlckRlbGF5ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5uYXZTZWxlY3RvclN0YXRlLmV4cGFuZGVkQWZ0ZXJEZWxheSgpKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbmF2U2VsZWN0b3JTdGF0ZTogTmF2U2VsZWN0b3JTdGF0ZSkge31cblxuICAgIHNlbGVjdExlYWYobGVhZjogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYpIHtcbiAgICAgICAgdGhpcy5uYXZTZWxlY3RvclN0YXRlLm9uTGVhZkNsaWNrZWQobGVhZik7XG4gICAgfVxuXG4gICAgb25MZWFmVG9nZ2xlRm9sZGluZyhsZWFmOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZikge1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yU3RhdGUub25MZWFmVG9nZ2xlRm9sZGluZyhsZWFmKTtcbiAgICB9XG5cbiAgICBzZWxlY3RPbmx5TGVhZihsZWFmOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZikge1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yU3RhdGUuc2VsZWN0T25seUxlYWYobGVhZik7XG4gICAgfVxuXG4gICAgZm9sZChsZWFmOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZikge1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yU3RhdGUuZm9sZChsZWFmKTtcbiAgICB9XG5cbiAgICB1bmZvbGQobGVhZjogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYpIHtcbiAgICAgICAgdGhpcy5uYXZTZWxlY3RvclN0YXRlLnVuZm9sZChsZWFmKTtcbiAgICB9XG5cbiAgICBvbkxlYWZEZXRhaWxDbGlja2VkKGRldGFpbDogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZEZXRhaWxzKSB7XG4gICAgICAgIHRoaXMubmF2U2VsZWN0b3JTdGF0ZS5vbkxlYWZEZXRhaWxDbGlja2VkKGRldGFpbCk7XG4gICAgfVxufVxuIl19
@@ -15,8 +15,10 @@ export class NavSelectorLeafDetailComponent {
15
15
  this.navSelectorLeafDetailPresenter = navSelectorLeafDetailPresenter;
16
16
  }
17
17
  onClick(event) {
18
- event.stopImmediatePropagation();
19
- this.navSelectorLeafDetailPresenter.onLeafDetailClicked(this.detail());
18
+ if (!this.embedded()) {
19
+ event.stopImmediatePropagation();
20
+ this.navSelectorLeafDetailPresenter.onLeafDetailClicked(this.detail());
21
+ }
20
22
  }
21
23
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorLeafDetailComponent, deps: [{ token: i1.NavSelectorLeafDetailPresenter }], target: i0.ɵɵFactoryTarget.Component });
22
24
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: NavSelectorLeafDetailComponent, isStandalone: true, selector: "ap-nav-selector-leaf-detail", inputs: { detail: { classPropertyName: "detail", publicName: "detail", isSignal: true, isRequired: true, transformFunction: null }, embedded: { classPropertyName: "embedded", publicName: "embedded", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick($event)", "keydown.enter": "onClick($event)", "keydown.space": "onClick($event)" }, properties: { "class.selected": "detail().selected", "class.embedded": "embedded()", "class.disabled": "detail().displayError" } }, providers: [withSymbols(apErrorFill), NavSelectorLeafDetailPresenter], hostDirectives: [{ directive: i2.TreeNodeAccessibilityDirective, inputs: ["apTreeNodeAccessibility", "detail"] }], ngImport: i0, template: "<span class=\"caption\">{{ detail().alias }}</span>\n\n@if (detail().displayCounter) {\n <ap-counter\n color=\"orange\"\n size=\"normal\"\n [background]=\"false\">\n {{ detail().counter }}\n </ap-counter>\n}\n@if (detail().displayError) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\"\n apTooltipPosition=\"right\"\n [apTooltip]=\"detail().errorReason\" />\n}\n", styles: [":host{display:flex;height:32px;padding:0 var(--ref-spacing-xxs);align-items:center;gap:var(--ref-spacing-xxs);align-self:stretch;flex-grow:1}:host.embedded{padding:0}:host.embedded .caption{font-size:var(--ref-font-size-sm)}:host ap-symbol[symbol-id=error_fill]{color:var(--ref-color-red-100)}:host .caption{flex-grow:1;overflow:hidden;color:var(--ref-color-grey-100);text-overflow:ellipsis;white-space:nowrap;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-regular);line-height:var(--ref-font-line-height-xs)}:host:not(.disabled):not(.embedded){cursor:pointer}:host:not(.disabled):not(.embedded):hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10)}:host:not(.disabled):not(.embedded):active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host:not(.disabled):not(.embedded):focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host:not(.disabled):not(.embedded).selected{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host:not(.disabled):not(.embedded).selected .caption{overflow:hidden;color:var(--ref-color-electric-blue-150);text-overflow:ellipsis;white-space:nowrap;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host:not(.disabled):not(.embedded).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host.disabled .caption{opacity:.5}:host.embedded.selected .caption{color:var(--ref-color-electric-blue-150);font-size:var(--ref-font-size-sm);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-sm)}\n"], dependencies: [{ kind: "component", type: CounterComponent, selector: "ap-counter", inputs: ["color", "size", "background", "notif"] }, { kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "directive", type: TooltipDirective, selector: "[apTooltip]", inputs: ["apTooltip", "apTooltipPosition", "apTooltipShowDelay", "apTooltipHideDelay", "apTooltipDuration", "apTooltipDisabled", "apTooltipTruncatedTextOnly", "apTooltipTemplateContext", "apTooltipVirtualScrollElement"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
@@ -38,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
38
40
  },
39
41
  ], template: "<span class=\"caption\">{{ detail().alias }}</span>\n\n@if (detail().displayCounter) {\n <ap-counter\n color=\"orange\"\n size=\"normal\"\n [background]=\"false\">\n {{ detail().counter }}\n </ap-counter>\n}\n@if (detail().displayError) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\"\n apTooltipPosition=\"right\"\n [apTooltip]=\"detail().errorReason\" />\n}\n", styles: [":host{display:flex;height:32px;padding:0 var(--ref-spacing-xxs);align-items:center;gap:var(--ref-spacing-xxs);align-self:stretch;flex-grow:1}:host.embedded{padding:0}:host.embedded .caption{font-size:var(--ref-font-size-sm)}:host ap-symbol[symbol-id=error_fill]{color:var(--ref-color-red-100)}:host .caption{flex-grow:1;overflow:hidden;color:var(--ref-color-grey-100);text-overflow:ellipsis;white-space:nowrap;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-regular);line-height:var(--ref-font-line-height-xs)}:host:not(.disabled):not(.embedded){cursor:pointer}:host:not(.disabled):not(.embedded):hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10)}:host:not(.disabled):not(.embedded):active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host:not(.disabled):not(.embedded):focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host:not(.disabled):not(.embedded).selected{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host:not(.disabled):not(.embedded).selected .caption{overflow:hidden;color:var(--ref-color-electric-blue-150);text-overflow:ellipsis;white-space:nowrap;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host:not(.disabled):not(.embedded).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host.disabled .caption{opacity:.5}:host.embedded.selected .caption{color:var(--ref-color-electric-blue-150);font-size:var(--ref-font-size-sm);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-sm)}\n"] }]
40
42
  }], ctorParameters: () => [{ type: i1.NavSelectorLeafDetailPresenter }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9uYXYtc2VsZWN0b3Ivc3JjL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbC9uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL25hdi1zZWxlY3Rvci9zcmMvbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUVqRyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7OztBQTBCdEYsTUFBTSxPQUFPLDhCQUE4QjtJQUtwQjtJQUpuQixNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBa0MsQ0FBQztJQUUxRCxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXhCLFlBQW1CLDhCQUE4RDtRQUE5RCxtQ0FBOEIsR0FBOUIsOEJBQThCLENBQWdDO0lBQUcsQ0FBQztJQUVyRixPQUFPLENBQUMsS0FBWTtRQUNoQixLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsOEJBQThCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDM0UsQ0FBQzt1R0FWUSw4QkFBOEI7MkZBQTlCLDhCQUE4QixnbEJBakI1QixDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsRUFBRSw4QkFBOEIsQ0FBQyw2SUNmekUsbWJBaUJBLG84RERIYyxnQkFBZ0IseUdBQUUsZUFBZSxzSEFBRSxnQkFBZ0I7OzJGQWtCcEQsOEJBQThCO2tCQXhCMUMsU0FBUzsrQkFDSSw2QkFBNkIsY0FHM0IsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixDQUFDLGFBQ25ELENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFLDhCQUE4QixDQUFDLFFBQy9EO3dCQUNGLFNBQVMsRUFBRSxpQkFBaUI7d0JBQzVCLGtCQUFrQixFQUFFLG1CQUFtQjt3QkFDdkMsa0JBQWtCLEVBQUUsWUFBWTt3QkFDaEMsa0JBQWtCLEVBQUUsdUJBQXVCO3dCQUMzQyxpQkFBaUIsRUFBRSxpQkFBaUI7d0JBQ3BDLGlCQUFpQixFQUFFLGlCQUFpQjtxQkFDdkMsa0JBQ2U7d0JBQ1o7NEJBQ0ksU0FBUyxFQUFFLDhCQUE4Qjs0QkFDekMseUhBQXlIOzRCQUN6SCxNQUFNLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQzt5QkFDOUM7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb3VudGVyQ29tcG9uZW50IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktY29tcG9uZW50cy9jb3VudGVyJztcbmltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgYXBFcnJvckZpbGwsIFN5bWJvbENvbXBvbmVudCwgd2l0aFN5bWJvbHMgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1zeW1ib2wnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyZWVOb2RlQWNjZXNzaWJpbGl0eURpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvdHJlZS1ub2RlLWFjY2Vzc2liaWxpdHkuZGlyZWN0aXZlJztcbmltcG9ydCB7IEludGVybmFsTmF2U2VsZWN0b3JMZWFmRGV0YWlscyB9IGZyb20gJy4uL25hdi1zZWxlY3Rvcic7XG5pbXBvcnQgeyBOYXZTZWxlY3RvckxlYWZEZXRhaWxQcmVzZW50ZXIgfSBmcm9tICcuL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbC5wcmVzZW50ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwLW5hdi1zZWxlY3Rvci1sZWFmLWRldGFpbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBpbXBvcnRzOiBbQ291bnRlckNvbXBvbmVudCwgU3ltYm9sQ29tcG9uZW50LCBUb29sdGlwRGlyZWN0aXZlXSxcbiAgICBwcm92aWRlcnM6IFt3aXRoU3ltYm9scyhhcEVycm9yRmlsbCksIE5hdlNlbGVjdG9yTGVhZkRldGFpbFByZXNlbnRlcl0sXG4gICAgaG9zdDoge1xuICAgICAgICAnKGNsaWNrKSc6ICdvbkNsaWNrKCRldmVudCknLFxuICAgICAgICAnW2NsYXNzLnNlbGVjdGVkXSc6ICdkZXRhaWwoKS5zZWxlY3RlZCcsXG4gICAgICAgICdbY2xhc3MuZW1iZWRkZWRdJzogJ2VtYmVkZGVkKCknLFxuICAgICAgICAnW2NsYXNzLmRpc2FibGVkXSc6ICdkZXRhaWwoKS5kaXNwbGF5RXJyb3InLFxuICAgICAgICAnKGtleWRvd24uZW50ZXIpJzogJ29uQ2xpY2soJGV2ZW50KScsXG4gICAgICAgICcoa2V5ZG93bi5zcGFjZSknOiAnb25DbGljaygkZXZlbnQpJyxcbiAgICB9LFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZTogVHJlZU5vZGVBY2Nlc3NpYmlsaXR5RGlyZWN0aXZlLFxuICAgICAgICAgICAgLy8gQWxpYXMgdGhlIGlucHV0IG9mIHRoZSBkaXJlY3RpdmUgdG8gZGV0YWlsIHRoZSBpbnB1dCBkZXRhaWwgd2lsbCBiZSB1c2VkIGluIHRoZSBkaXJlY3RpdmUgYW5kIGluIHRoZSBjb21wb25lbnQgYXMgd2VsbFxuICAgICAgICAgICAgaW5wdXRzOiBbJ2FwVHJlZU5vZGVBY2Nlc3NpYmlsaXR5OiBkZXRhaWwnXSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOYXZTZWxlY3RvckxlYWZEZXRhaWxDb21wb25lbnQge1xuICAgIGRldGFpbCA9IGlucHV0LnJlcXVpcmVkPEludGVybmFsTmF2U2VsZWN0b3JMZWFmRGV0YWlscz4oKTtcblxuICAgIGVtYmVkZGVkID0gaW5wdXQoZmFsc2UpO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIG5hdlNlbGVjdG9yTGVhZkRldGFpbFByZXNlbnRlcjogTmF2U2VsZWN0b3JMZWFmRGV0YWlsUHJlc2VudGVyKSB7fVxuXG4gICAgb25DbGljayhldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMubmF2U2VsZWN0b3JMZWFmRGV0YWlsUHJlc2VudGVyLm9uTGVhZkRldGFpbENsaWNrZWQodGhpcy5kZXRhaWwoKSk7XG4gICAgfVxufVxuIiwiPHNwYW4gY2xhc3M9XCJjYXB0aW9uXCI+e3sgZGV0YWlsKCkuYWxpYXMgfX08L3NwYW4+XG5cbkBpZiAoZGV0YWlsKCkuZGlzcGxheUNvdW50ZXIpIHtcbiAgICA8YXAtY291bnRlclxuICAgICAgICBjb2xvcj1cIm9yYW5nZVwiXG4gICAgICAgIHNpemU9XCJub3JtYWxcIlxuICAgICAgICBbYmFja2dyb3VuZF09XCJmYWxzZVwiPlxuICAgICAgICB7eyBkZXRhaWwoKS5jb3VudGVyIH19XG4gICAgPC9hcC1jb3VudGVyPlxufVxuQGlmIChkZXRhaWwoKS5kaXNwbGF5RXJyb3IpIHtcbiAgICA8YXAtc3ltYm9sXG4gICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgIHN5bWJvbElkPVwiZXJyb3JfZmlsbFwiXG4gICAgICAgIGFwVG9vbHRpcFBvc2l0aW9uPVwicmlnaHRcIlxuICAgICAgICBbYXBUb29sdGlwXT1cImRldGFpbCgpLmVycm9yUmVhc29uXCIgLz5cbn1cbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9uYXYtc2VsZWN0b3Ivc3JjL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbC9uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL25hdi1zZWxlY3Rvci9zcmMvbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUVqRyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7OztBQTBCdEYsTUFBTSxPQUFPLDhCQUE4QjtJQUtwQjtJQUpuQixNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBa0MsQ0FBQztJQUUxRCxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXhCLFlBQW1CLDhCQUE4RDtRQUE5RCxtQ0FBOEIsR0FBOUIsOEJBQThCLENBQWdDO0lBQUcsQ0FBQztJQUVyRixPQUFPLENBQUMsS0FBWTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDbkIsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLENBQUM7SUFDTCxDQUFDO3VHQVpRLDhCQUE4QjsyRkFBOUIsOEJBQThCLGdsQkFqQjVCLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFLDhCQUE4QixDQUFDLDZJQ2Z6RSxtYkFpQkEsbzhEREhjLGdCQUFnQix5R0FBRSxlQUFlLHNIQUFFLGdCQUFnQjs7MkZBa0JwRCw4QkFBOEI7a0JBeEIxQyxTQUFTOytCQUNJLDZCQUE2QixjQUczQixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLENBQUMsYUFDbkQsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEVBQUUsOEJBQThCLENBQUMsUUFDL0Q7d0JBQ0YsU0FBUyxFQUFFLGlCQUFpQjt3QkFDNUIsa0JBQWtCLEVBQUUsbUJBQW1CO3dCQUN2QyxrQkFBa0IsRUFBRSxZQUFZO3dCQUNoQyxrQkFBa0IsRUFBRSx1QkFBdUI7d0JBQzNDLGlCQUFpQixFQUFFLGlCQUFpQjt3QkFDcEMsaUJBQWlCLEVBQUUsaUJBQWlCO3FCQUN2QyxrQkFDZTt3QkFDWjs0QkFDSSxTQUFTLEVBQUUsOEJBQThCOzRCQUN6Qyx5SEFBeUg7NEJBQ3pILE1BQU0sRUFBRSxDQUFDLGlDQUFpQyxDQUFDO3lCQUM5QztxQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvdW50ZXJDb21wb25lbnQgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL2NvdW50ZXInO1xuaW1wb3J0IHsgVG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWNvbXBvbmVudHMvdG9vbHRpcCc7XG5pbXBvcnQgeyBhcEVycm9yRmlsbCwgU3ltYm9sQ29tcG9uZW50LCB3aXRoU3ltYm9scyB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLXN5bWJvbCc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJlZU5vZGVBY2Nlc3NpYmlsaXR5RGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy90cmVlLW5vZGUtYWNjZXNzaWJpbGl0eS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZEZXRhaWxzIH0gZnJvbSAnLi4vbmF2LXNlbGVjdG9yJztcbmltcG9ydCB7IE5hdlNlbGVjdG9yTGVhZkRldGFpbFByZXNlbnRlciB9IGZyb20gJy4vbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsLnByZXNlbnRlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXAtbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWwuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGltcG9ydHM6IFtDb3VudGVyQ29tcG9uZW50LCBTeW1ib2xDb21wb25lbnQsIFRvb2x0aXBEaXJlY3RpdmVdLFxuICAgIHByb3ZpZGVyczogW3dpdGhTeW1ib2xzKGFwRXJyb3JGaWxsKSwgTmF2U2VsZWN0b3JMZWFmRGV0YWlsUHJlc2VudGVyXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoY2xpY2spJzogJ29uQ2xpY2soJGV2ZW50KScsXG4gICAgICAgICdbY2xhc3Muc2VsZWN0ZWRdJzogJ2RldGFpbCgpLnNlbGVjdGVkJyxcbiAgICAgICAgJ1tjbGFzcy5lbWJlZGRlZF0nOiAnZW1iZWRkZWQoKScsXG4gICAgICAgICdbY2xhc3MuZGlzYWJsZWRdJzogJ2RldGFpbCgpLmRpc3BsYXlFcnJvcicsXG4gICAgICAgICcoa2V5ZG93bi5lbnRlciknOiAnb25DbGljaygkZXZlbnQpJyxcbiAgICAgICAgJyhrZXlkb3duLnNwYWNlKSc6ICdvbkNsaWNrKCRldmVudCknLFxuICAgIH0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBUcmVlTm9kZUFjY2Vzc2liaWxpdHlEaXJlY3RpdmUsXG4gICAgICAgICAgICAvLyBBbGlhcyB0aGUgaW5wdXQgb2YgdGhlIGRpcmVjdGl2ZSB0byBkZXRhaWwgdGhlIGlucHV0IGRldGFpbCB3aWxsIGJlIHVzZWQgaW4gdGhlIGRpcmVjdGl2ZSBhbmQgaW4gdGhlIGNvbXBvbmVudCBhcyB3ZWxsXG4gICAgICAgICAgICBpbnB1dHM6IFsnYXBUcmVlTm9kZUFjY2Vzc2liaWxpdHk6IGRldGFpbCddLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5hdlNlbGVjdG9yTGVhZkRldGFpbENvbXBvbmVudCB7XG4gICAgZGV0YWlsID0gaW5wdXQucmVxdWlyZWQ8SW50ZXJuYWxOYXZTZWxlY3RvckxlYWZEZXRhaWxzPigpO1xuXG4gICAgZW1iZWRkZWQgPSBpbnB1dChmYWxzZSk7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgbmF2U2VsZWN0b3JMZWFmRGV0YWlsUHJlc2VudGVyOiBOYXZTZWxlY3RvckxlYWZEZXRhaWxQcmVzZW50ZXIpIHt9XG5cbiAgICBvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuZW1iZWRkZWQoKSkge1xuICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZkRldGFpbFByZXNlbnRlci5vbkxlYWZEZXRhaWxDbGlja2VkKHRoaXMuZGV0YWlsKCkpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPHNwYW4gY2xhc3M9XCJjYXB0aW9uXCI+e3sgZGV0YWlsKCkuYWxpYXMgfX08L3NwYW4+XG5cbkBpZiAoZGV0YWlsKCkuZGlzcGxheUNvdW50ZXIpIHtcbiAgICA8YXAtY291bnRlclxuICAgICAgICBjb2xvcj1cIm9yYW5nZVwiXG4gICAgICAgIHNpemU9XCJub3JtYWxcIlxuICAgICAgICBbYmFja2dyb3VuZF09XCJmYWxzZVwiPlxuICAgICAgICB7eyBkZXRhaWwoKS5jb3VudGVyIH19XG4gICAgPC9hcC1jb3VudGVyPlxufVxuQGlmIChkZXRhaWwoKS5kaXNwbGF5RXJyb3IpIHtcbiAgICA8YXAtc3ltYm9sXG4gICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgIHN5bWJvbElkPVwiZXJyb3JfZmlsbFwiXG4gICAgICAgIGFwVG9vbHRpcFBvc2l0aW9uPVwicmlnaHRcIlxuICAgICAgICBbYXBUb29sdGlwXT1cImRldGFpbCgpLmVycm9yUmVhc29uXCIgLz5cbn1cbiJdfQ==
@@ -7,7 +7,9 @@ export class NavSelectorLeafDetailPresenter {
7
7
  this.navSelectorState = navSelectorState;
8
8
  }
9
9
  onLeafDetailClicked(detail) {
10
- this.navSelectorState.onLeafDetailClicked(detail);
10
+ if (!detail.displayError) {
11
+ this.navSelectorState.onLeafDetailClicked(detail);
12
+ }
11
13
  }
12
14
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorLeafDetailPresenter, deps: [{ token: i1.NavSelectorState }], target: i0.ɵɵFactoryTarget.Injectable });
13
15
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorLeafDetailPresenter });
@@ -15,4 +17,4 @@ export class NavSelectorLeafDetailPresenter {
15
17
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorLeafDetailPresenter, decorators: [{
16
18
  type: Injectable
17
19
  }], ctorParameters: () => [{ type: i1.NavSelectorState }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsLnByZXNlbnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9uYXYtc2VsZWN0b3Ivc3JjL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbC9uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWwucHJlc2VudGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUszQyxNQUFNLE9BQU8sOEJBQThCO0lBQ25CO0lBQXBCLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQUcsQ0FBQztJQUUxRCxtQkFBbUIsQ0FBQyxNQUFzQztRQUN0RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEQsQ0FBQzt1R0FMUSw4QkFBOEI7MkdBQTlCLDhCQUE4Qjs7MkZBQTlCLDhCQUE4QjtrQkFEMUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEludGVybmFsTmF2U2VsZWN0b3JMZWFmRGV0YWlscyB9IGZyb20gJy4uL25hdi1zZWxlY3Rvcic7XG5pbXBvcnQgeyBOYXZTZWxlY3RvclN0YXRlIH0gZnJvbSAnLi4vbmF2LXNlbGVjdG9yLnN0YXRlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5hdlNlbGVjdG9yTGVhZkRldGFpbFByZXNlbnRlciB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBuYXZTZWxlY3RvclN0YXRlOiBOYXZTZWxlY3RvclN0YXRlKSB7fVxuXG4gICAgb25MZWFmRGV0YWlsQ2xpY2tlZChkZXRhaWw6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmRGV0YWlscykge1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yU3RhdGUub25MZWFmRGV0YWlsQ2xpY2tlZChkZXRhaWwpO1xuICAgIH1cbn1cbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsLnByZXNlbnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9uYXYtc2VsZWN0b3Ivc3JjL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbC9uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWwucHJlc2VudGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUszQyxNQUFNLE9BQU8sOEJBQThCO0lBQ25CO0lBQXBCLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQUcsQ0FBQztJQUUxRCxtQkFBbUIsQ0FBQyxNQUFzQztRQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0RCxDQUFDO0lBQ0wsQ0FBQzt1R0FQUSw4QkFBOEI7MkdBQTlCLDhCQUE4Qjs7MkZBQTlCLDhCQUE4QjtrQkFEMUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEludGVybmFsTmF2U2VsZWN0b3JMZWFmRGV0YWlscyB9IGZyb20gJy4uL25hdi1zZWxlY3Rvcic7XG5pbXBvcnQgeyBOYXZTZWxlY3RvclN0YXRlIH0gZnJvbSAnLi4vbmF2LXNlbGVjdG9yLnN0YXRlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5hdlNlbGVjdG9yTGVhZkRldGFpbFByZXNlbnRlciB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBuYXZTZWxlY3RvclN0YXRlOiBOYXZTZWxlY3RvclN0YXRlKSB7fVxuXG4gICAgb25MZWFmRGV0YWlsQ2xpY2tlZChkZXRhaWw6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmRGV0YWlscykge1xuICAgICAgICBpZiAoIWRldGFpbC5kaXNwbGF5RXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMubmF2U2VsZWN0b3JTdGF0ZS5vbkxlYWZEZXRhaWxDbGlja2VkKGRldGFpbCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=