@eui/ecl 17.3.13 → 17.3.14-snapshot-1736425317830

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 (169) hide show
  1. package/docs/components/EclAccordionComponent.html +2 -2
  2. package/docs/components/EclAccordionItemComponent.html +2 -2
  3. package/docs/components/EclAppComponent.html +2 -2
  4. package/docs/components/EclBannerComponent.html +2 -2
  5. package/docs/components/EclBlockquoteComponent.html +2 -2
  6. package/docs/components/EclBreadcrumbComponent.html +60 -5
  7. package/docs/components/EclBreadcrumbSegmentComponent.html +3 -3
  8. package/docs/components/EclButtonComponent.html +2 -2
  9. package/docs/components/EclCardBodyComponent.html +2 -2
  10. package/docs/components/EclCardComponent.html +2 -2
  11. package/docs/components/EclCardImageComponent.html +2 -2
  12. package/docs/components/EclCarouselComponent.html +2 -2
  13. package/docs/components/EclCarouselItemComponent.html +2 -2
  14. package/docs/components/EclCategoryFilterComponent.html +2 -2
  15. package/docs/components/EclCategoryFilterItemComponent.html +2 -2
  16. package/docs/components/EclCategoryFilterListComponent.html +2 -2
  17. package/docs/components/EclCheckboxHelpComponent.html +2 -2
  18. package/docs/components/EclCheckboxLabelComponent.html +2 -2
  19. package/docs/components/EclContentBlockComponent.html +2 -2
  20. package/docs/components/EclContentItemComponent.html +2 -2
  21. package/docs/components/EclDateBlockComponent.html +2 -2
  22. package/docs/components/EclDescriptionListDefinitionComponent.html +2 -2
  23. package/docs/components/EclExpandableComponent.html +2 -2
  24. package/docs/components/EclFactFiguresComponent.html +2 -2
  25. package/docs/components/EclFactFiguresDescriptionComponent.html +2 -2
  26. package/docs/components/EclFactFiguresItemComponent.html +2 -2
  27. package/docs/components/EclFactFiguresTitleComponent.html +2 -2
  28. package/docs/components/EclFactFiguresValueComponent.html +2 -2
  29. package/docs/components/EclFactFiguresViewAllComponent.html +2 -2
  30. package/docs/components/EclFeaturedComponent.html +2 -2
  31. package/docs/components/EclFeaturedItemComponent.html +2 -2
  32. package/docs/components/EclFeaturedItemDescriptionComponent.html +2 -2
  33. package/docs/components/EclFileComponent.html +2 -2
  34. package/docs/components/EclFileItemComponent.html +2 -2
  35. package/docs/components/EclFileItemsComponent.html +2 -2
  36. package/docs/components/EclFileTaxonomyComponent.html +2 -2
  37. package/docs/components/EclFormGroupComponent.html +2 -2
  38. package/docs/components/EclFormLabelComponent.html +2 -2
  39. package/docs/components/EclGalleryComponent.html +2 -2
  40. package/docs/components/EclGalleryFooterComponent.html +2 -2
  41. package/docs/components/EclGalleryItemComponent.html +2 -2
  42. package/docs/components/EclIconComponent.html +2 -2
  43. package/docs/components/EclInpageNavigationComponent.html +102 -4
  44. package/docs/components/EclInpageNavigationItemComponent.html +46 -3
  45. package/docs/components/EclListIllustrationComponent.html +2 -2
  46. package/docs/components/EclListIllustrationImageComponent.html +2 -2
  47. package/docs/components/EclListIllustrationItemComponent.html +2 -2
  48. package/docs/components/EclMediaContainerComponent.html +2 -2
  49. package/docs/components/EclMenuComponent.html +2 -2
  50. package/docs/components/EclMenuItemComponent.html +2 -2
  51. package/docs/components/EclMenuMegaComponent.html +2 -2
  52. package/docs/components/EclMenuMegaItemComponent.html +2 -2
  53. package/docs/components/EclMessageComponent.html +2 -2
  54. package/docs/components/EclModalBodyComponent.html +2 -2
  55. package/docs/components/EclModalComponent.html +2 -2
  56. package/docs/components/EclModalFooterComponent.html +2 -2
  57. package/docs/components/EclModalHeaderComponent.html +2 -2
  58. package/docs/components/EclMultiselectComponent.html +2 -2
  59. package/docs/components/EclMultiselectDropdownComponent.html +2 -2
  60. package/docs/components/EclMultiselectInputComponent.html +2 -2
  61. package/docs/components/EclMultiselectOptgroupComponent.html +2 -2
  62. package/docs/components/EclMultiselectOptionComponent.html +2 -2
  63. package/docs/components/EclNavigationListComponent.html +2 -2
  64. package/docs/components/EclNavigationListImageComponent.html +2 -2
  65. package/docs/components/EclNavigationListItemComponent.html +2 -2
  66. package/docs/components/EclNewsTickerComponent.html +2 -2
  67. package/docs/components/EclNewsTickerItemComponent.html +2 -2
  68. package/docs/components/EclPageHeaderComponent.html +2 -2
  69. package/docs/components/EclPageHeaderDescriptionContainerComponent.html +2 -2
  70. package/docs/components/EclPaginationComponent.html +74 -3
  71. package/docs/components/EclPaginationItemComponent.html +72 -3
  72. package/docs/components/EclPopoverComponent.html +2 -2
  73. package/docs/components/EclRadioHelpComponent.html +2 -2
  74. package/docs/components/EclRadioLabelComponent.html +2 -2
  75. package/docs/components/EclRangeValueComponent.html +2 -2
  76. package/docs/components/EclRatingFieldComponent.html +2 -2
  77. package/docs/components/EclSearchFormComponent.html +2 -2
  78. package/docs/components/EclSelectContainerComponent.html +2 -2
  79. package/docs/components/EclSiteFooterComponent.html +2 -2
  80. package/docs/components/EclSiteFooterFixedContentECComponent.html +2 -2
  81. package/docs/components/EclSiteFooterFixedContentEUComponent.html +2 -2
  82. package/docs/components/EclSiteHeaderActionComponent.html +2 -2
  83. package/docs/components/EclSiteHeaderBannerTopComponent.html +2 -2
  84. package/docs/components/EclSiteHeaderComponent.html +2 -2
  85. package/docs/components/EclSiteHeaderEnvironmentComponent.html +2 -2
  86. package/docs/components/EclSiteHeaderLanguageComponent.html +3 -3
  87. package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +2 -2
  88. package/docs/components/EclSiteHeaderLoginComponent.html +2 -2
  89. package/docs/components/EclSiteHeaderMessageComponent.html +2 -2
  90. package/docs/components/EclSiteHeaderSearchComponent.html +2 -2
  91. package/docs/components/EclSocialMediaFollowComponent.html +2 -2
  92. package/docs/components/EclSocialMediaFollowItemComponent.html +2 -2
  93. package/docs/components/EclSocialMediaShareComponent.html +2 -2
  94. package/docs/components/EclSocialMediaShareItemComponent.html +2 -2
  95. package/docs/components/EclSpinnerComponent.html +2 -2
  96. package/docs/components/EclStickyContainerComponent.html +2 -2
  97. package/docs/components/EclTabComponent.html +2 -2
  98. package/docs/components/EclTabLabelComponent.html +2 -2
  99. package/docs/components/EclTabMoreComponent.html +2 -2
  100. package/docs/components/EclTableSortButtonComponent.html +2 -2
  101. package/docs/components/EclTabsComponent.html +2 -2
  102. package/docs/components/EclTagComponent.html +2 -2
  103. package/docs/components/EclTimelineComponent.html +2 -2
  104. package/docs/components/EclTimelineItemComponent.html +2 -2
  105. package/docs/components/EclTimelineItemTogglerComponent.html +2 -2
  106. package/docs/dependencies.html +3 -3
  107. package/docs/directives/EclBreadcrumbContainerDirective.html +492 -0
  108. package/docs/directives/EclInpageNavigationListDirective.html +605 -0
  109. package/docs/directives/EclPaginationListDirective.html +492 -0
  110. package/docs/index.html +2 -2
  111. package/docs/injectables/EclInpageNavigationService.html +356 -0
  112. package/docs/js/menu-wc.js +57 -12
  113. package/docs/js/menu-wc_es5.js +1 -1
  114. package/docs/js/search/search_index.js +2 -2
  115. package/docs/miscellaneous/variables.html +1 -1
  116. package/docs/modules/EclInpageNavigationComponentModule.html +15 -0
  117. package/docs/modules/EclPaginationComponentModule.html +6 -0
  118. package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb-container.directive.mjs +21 -0
  119. package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.mjs +7 -3
  120. package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb.component.mjs +19 -9
  121. package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb.module.mjs +4 -3
  122. package/esm2022/lib/components/ecl-breadcrumb/index.mjs +2 -1
  123. package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.mjs +11 -7
  124. package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation-list.directive.mjs +38 -0
  125. package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.component.mjs +24 -12
  126. package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.module.mjs +8 -5
  127. package/esm2022/lib/components/ecl-inpage-navigation/index.mjs +3 -1
  128. package/esm2022/lib/components/ecl-inpage-navigation/services/ecl-inpage-navigation.service.mjs +18 -0
  129. package/esm2022/lib/components/ecl-pagination/ecl-pagination-item.component.mjs +19 -14
  130. package/esm2022/lib/components/ecl-pagination/ecl-pagination-list.directive.mjs +21 -0
  131. package/esm2022/lib/components/ecl-pagination/ecl-pagination.component.mjs +11 -4
  132. package/esm2022/lib/components/ecl-pagination/ecl-pagination.module.mjs +5 -4
  133. package/esm2022/lib/components/ecl-pagination/index.mjs +2 -1
  134. package/esm2022/lib/components/ecl-site-header/language/ecl-site-header-language.component.mjs +3 -3
  135. package/fesm2022/eui-ecl.mjs +168 -47
  136. package/fesm2022/eui-ecl.mjs.map +1 -1
  137. package/lib/components/ecl-breadcrumb/ecl-breadcrumb-container.directive.d.ts +8 -0
  138. package/lib/components/ecl-breadcrumb/ecl-breadcrumb-container.directive.d.ts.map +1 -0
  139. package/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.d.ts +1 -1
  140. package/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.d.ts.map +1 -1
  141. package/lib/components/ecl-breadcrumb/ecl-breadcrumb.component.d.ts +8 -5
  142. package/lib/components/ecl-breadcrumb/ecl-breadcrumb.component.d.ts.map +1 -1
  143. package/lib/components/ecl-breadcrumb/ecl-breadcrumb.module.d.ts +7 -6
  144. package/lib/components/ecl-breadcrumb/ecl-breadcrumb.module.d.ts.map +1 -1
  145. package/lib/components/ecl-breadcrumb/index.d.ts +1 -0
  146. package/lib/components/ecl-breadcrumb/index.d.ts.map +1 -1
  147. package/lib/components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.d.ts +3 -2
  148. package/lib/components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.d.ts.map +1 -1
  149. package/lib/components/ecl-inpage-navigation/ecl-inpage-navigation-list.directive.d.ts +16 -0
  150. package/lib/components/ecl-inpage-navigation/ecl-inpage-navigation-list.directive.d.ts.map +1 -0
  151. package/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.component.d.ts +7 -1
  152. package/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.component.d.ts.map +1 -1
  153. package/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.module.d.ts +7 -6
  154. package/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.module.d.ts.map +1 -1
  155. package/lib/components/ecl-inpage-navigation/index.d.ts +2 -0
  156. package/lib/components/ecl-inpage-navigation/index.d.ts.map +1 -1
  157. package/lib/components/ecl-inpage-navigation/services/ecl-inpage-navigation.service.d.ts +11 -0
  158. package/lib/components/ecl-inpage-navigation/services/ecl-inpage-navigation.service.d.ts.map +1 -0
  159. package/lib/components/ecl-pagination/ecl-pagination-item.component.d.ts +4 -2
  160. package/lib/components/ecl-pagination/ecl-pagination-item.component.d.ts.map +1 -1
  161. package/lib/components/ecl-pagination/ecl-pagination-list.directive.d.ts +8 -0
  162. package/lib/components/ecl-pagination/ecl-pagination-list.directive.d.ts.map +1 -0
  163. package/lib/components/ecl-pagination/ecl-pagination.component.d.ts +4 -1
  164. package/lib/components/ecl-pagination/ecl-pagination.component.d.ts.map +1 -1
  165. package/lib/components/ecl-pagination/ecl-pagination.module.d.ts +7 -6
  166. package/lib/components/ecl-pagination/ecl-pagination.module.d.ts.map +1 -1
  167. package/lib/components/ecl-pagination/index.d.ts +1 -0
  168. package/lib/components/ecl-pagination/index.d.ts.map +1 -1
  169. package/package.json +2 -2
@@ -147,7 +147,7 @@ export class EclSiteHeaderLanguageComponent extends ECLBaseDirective {
147
147
  });
148
148
  }
149
149
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EclSiteHeaderLanguageComponent, deps: [{ token: i1.EclLanguageService }, { token: i2.EclSiteHeaderComponent }], target: i0.ɵɵFactoryTarget.Component }); }
150
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: EclSiteHeaderLanguageComponent, selector: "ecl-site-header-language", inputs: { languageCode: "languageCode", languageCodes: "languageCodes", languageLabel: "languageLabel" }, outputs: { languageClick: "languageClick", languageSelected: "languageSelected" }, host: { listeners: { "eclClickOutside": "onClickOutside()", "document:keydown.escape": "onEscapeKeydownHandler()" }, properties: { "class": "this.cssClasses" } }, viewQueries: [{ propertyName: "languagePopoverElement", first: true, predicate: ["languagePopover"], descendants: true, read: ElementRef }, { propertyName: "languageLinkElement", first: true, predicate: ["languageLink"], descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: i3.ECLClickOutsideDirective, outputs: ["eclClickOutside", "eclClickOutside"] }], ngImport: i0, template: "<a\n href=\"#\"\n #languageLink\n class=\"ecl-button ecl-button--ghost ecl-site-header__language-selector\"\n aria-controls=\"language-list-overlay\"\n role=\"button\"\n [attr.aria-label]=\"'ecl.language-list.SELECT-LANGUAGE-EXT' | translate: { currentLang: getLanguageLabel() }\"\n [attr.aria-expanded]=\"isLanguagesDropdownVisible\"\n (click)=\"onLanguageClick($event)\"\n (keydown.space)=\"onLanguageClick($event)\">\n <span class=\"ecl-site-header__language-icon\">\n <ecl-icon icon=\"global\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n </span>\n {{ getLanguageLabel() }}\n</a>\n\n<ecl-site-header-language-popover\n #languagePopover\n *ngIf=\"hasLanguageCodes()\"\n [languageCode]=\"languageCode\"\n [euLanguages]=\"euLanguages\"\n [nonEuLanguages]=\"nonEuLanguages\"\n [euColumnsCount]=\"euColumnsCount\"\n [nonEuColumnsCount]=\"nonEuColumnsCount\"\n [isHidden]=\"!isLanguagesDropdownVisible\"\n [isStack]=\"isStack\"\n [isPushRight]=\"isPushRight\"\n [isFull]=\"isFull\"\n [rightPosition]=\"rightPosition\"\n [languageArrowPosition]=\"languageArrowPosition\"\n (languageSelected)=\"onLanguageSelected($event)\"\n (languageClosed)=\"onLanguageClosed($event)\">\n</ecl-site-header-language-popover>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "isInverted", "ariaHidden", "focusable"] }, { kind: "component", type: i6.EclSiteHeaderLanguagePopoverComponent, selector: "ecl-site-header-language-popover", inputs: ["languageCode", "euLanguages", "nonEuLanguages", "euColumnsCount", "nonEuColumnsCount", "isHidden", "isPushRight", "isStack", "isFull", "rightPosition", "languageArrowPosition"], outputs: ["languageClosed", "languageSelected"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
150
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: EclSiteHeaderLanguageComponent, selector: "ecl-site-header-language", inputs: { languageCode: "languageCode", languageCodes: "languageCodes", languageLabel: "languageLabel" }, outputs: { languageClick: "languageClick", languageSelected: "languageSelected" }, host: { listeners: { "eclClickOutside": "onClickOutside()", "document:keydown.escape": "onEscapeKeydownHandler()" }, properties: { "class": "this.cssClasses" } }, viewQueries: [{ propertyName: "languagePopoverElement", first: true, predicate: ["languagePopover"], descendants: true, read: ElementRef }, { propertyName: "languageLinkElement", first: true, predicate: ["languageLink"], descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: i3.ECLClickOutsideDirective, outputs: ["eclClickOutside", "eclClickOutside"] }], ngImport: i0, template: "<a\n href=\"#\"\n #languageLink\n class=\"ecl-button ecl-button--ghost ecl-site-header__language-selector\"\n aria-controls=\"language-list-overlay\"\n role=\"button\"\n [attr.aria-label]=\"'ecl.language-list.SELECT-LANGUAGE-EXT' | translate: { currentLang: getLanguageLabel() }\"\n [attr.aria-expanded]=\"isLanguagesDropdownVisible\"\n (click)=\"onLanguageClick($event)\"\n (keydown.space)=\"onLanguageClick($event)\">\n <span class=\"ecl-site-header__language-icon\">\n <ecl-icon icon=\"global\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n </span>\n {{ getLanguageLabel() }}\n</a>\n\n<ecl-site-header-language-popover\n #languagePopover\n id=\"language-list-overlay\"\n *ngIf=\"hasLanguageCodes()\"\n [languageCode]=\"languageCode\"\n [euLanguages]=\"euLanguages\"\n [nonEuLanguages]=\"nonEuLanguages\"\n [euColumnsCount]=\"euColumnsCount\"\n [nonEuColumnsCount]=\"nonEuColumnsCount\"\n [isHidden]=\"!isLanguagesDropdownVisible\"\n [isStack]=\"isStack\"\n [isPushRight]=\"isPushRight\"\n [isFull]=\"isFull\"\n [rightPosition]=\"rightPosition\"\n [languageArrowPosition]=\"languageArrowPosition\"\n (languageSelected)=\"onLanguageSelected($event)\"\n (languageClosed)=\"onLanguageClosed($event)\">\n</ecl-site-header-language-popover>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "isInverted", "ariaHidden", "focusable"] }, { kind: "component", type: i6.EclSiteHeaderLanguagePopoverComponent, selector: "ecl-site-header-language-popover", inputs: ["languageCode", "euLanguages", "nonEuLanguages", "euColumnsCount", "nonEuColumnsCount", "isHidden", "isPushRight", "isStack", "isFull", "rightPosition", "languageArrowPosition"], outputs: ["languageClosed", "languageSelected"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
151
151
  }
152
152
  __decorate([
153
153
  coerceElement
@@ -162,7 +162,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
162
162
  directive: ECLClickOutsideDirective,
163
163
  outputs: ['eclClickOutside'],
164
164
  },
165
- ], template: "<a\n href=\"#\"\n #languageLink\n class=\"ecl-button ecl-button--ghost ecl-site-header__language-selector\"\n aria-controls=\"language-list-overlay\"\n role=\"button\"\n [attr.aria-label]=\"'ecl.language-list.SELECT-LANGUAGE-EXT' | translate: { currentLang: getLanguageLabel() }\"\n [attr.aria-expanded]=\"isLanguagesDropdownVisible\"\n (click)=\"onLanguageClick($event)\"\n (keydown.space)=\"onLanguageClick($event)\">\n <span class=\"ecl-site-header__language-icon\">\n <ecl-icon icon=\"global\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n </span>\n {{ getLanguageLabel() }}\n</a>\n\n<ecl-site-header-language-popover\n #languagePopover\n *ngIf=\"hasLanguageCodes()\"\n [languageCode]=\"languageCode\"\n [euLanguages]=\"euLanguages\"\n [nonEuLanguages]=\"nonEuLanguages\"\n [euColumnsCount]=\"euColumnsCount\"\n [nonEuColumnsCount]=\"nonEuColumnsCount\"\n [isHidden]=\"!isLanguagesDropdownVisible\"\n [isStack]=\"isStack\"\n [isPushRight]=\"isPushRight\"\n [isFull]=\"isFull\"\n [rightPosition]=\"rightPosition\"\n [languageArrowPosition]=\"languageArrowPosition\"\n (languageSelected)=\"onLanguageSelected($event)\"\n (languageClosed)=\"onLanguageClosed($event)\">\n</ecl-site-header-language-popover>\n" }]
165
+ ], template: "<a\n href=\"#\"\n #languageLink\n class=\"ecl-button ecl-button--ghost ecl-site-header__language-selector\"\n aria-controls=\"language-list-overlay\"\n role=\"button\"\n [attr.aria-label]=\"'ecl.language-list.SELECT-LANGUAGE-EXT' | translate: { currentLang: getLanguageLabel() }\"\n [attr.aria-expanded]=\"isLanguagesDropdownVisible\"\n (click)=\"onLanguageClick($event)\"\n (keydown.space)=\"onLanguageClick($event)\">\n <span class=\"ecl-site-header__language-icon\">\n <ecl-icon icon=\"global\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n </span>\n {{ getLanguageLabel() }}\n</a>\n\n<ecl-site-header-language-popover\n #languagePopover\n id=\"language-list-overlay\"\n *ngIf=\"hasLanguageCodes()\"\n [languageCode]=\"languageCode\"\n [euLanguages]=\"euLanguages\"\n [nonEuLanguages]=\"nonEuLanguages\"\n [euColumnsCount]=\"euColumnsCount\"\n [nonEuColumnsCount]=\"nonEuColumnsCount\"\n [isHidden]=\"!isLanguagesDropdownVisible\"\n [isStack]=\"isStack\"\n [isPushRight]=\"isPushRight\"\n [isFull]=\"isFull\"\n [rightPosition]=\"rightPosition\"\n [languageArrowPosition]=\"languageArrowPosition\"\n (languageSelected)=\"onLanguageSelected($event)\"\n (languageClosed)=\"onLanguageClosed($event)\">\n</ecl-site-header-language-popover>\n" }]
166
166
  }], ctorParameters: () => [{ type: i1.EclLanguageService }, { type: i2.EclSiteHeaderComponent }], propDecorators: { languageCode: [{
167
167
  type: Input
168
168
  }], languageCodes: [{
@@ -189,4 +189,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
189
189
  type: HostListener,
190
190
  args: ['document:keydown.escape']
191
191
  }] } });
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLXNpdGUtaGVhZGVyLWxhbmd1YWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtc2l0ZS1oZWFkZXIvbGFuZ3VhZ2UvZWNsLXNpdGUtaGVhZGVyLWxhbmd1YWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtc2l0ZS1oZWFkZXIvbGFuZ3VhZ2UvZWNsLXNpdGUtaGVhZGVyLWxhbmd1YWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBSUwsTUFBTSxFQUVOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTVELE9BQU8sRUFBbUMsa0NBQWtDLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7Ozs7O0FBRW5JLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxZQUFZO0NBQUc7QUFZcEUsTUFBTSxPQUFPLDhCQUErQixTQUFRLGdCQUFnQjtJQUloRSxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUNXLGFBQWEsQ0FBQyxLQUFvQjtRQUN6QyxJQUFJLENBQUMs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RSw2eENBaUNBOztBRHVCdUU7SUFBbEUsYUFBYTs4RUFBeUY7QUFDdkM7SUFBL0QsYUFBYTsyRUFBbUY7NEZBckJ4Riw4QkFBOEI7a0JBVjFDLFNBQVM7K0JBQ0ksMEJBQTBCLGtCQUVwQjt3QkFDWjs0QkFDSSxTQUFTLEVBQUUsd0JBQXdCOzRCQUNuQyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzt5QkFDL0I7cUJBQ0o7NEhBSUQsWUFBWTtzQkFEWCxLQUFLO2dCQVFLLGFBQWE7c0JBRHZCLEtBQUs7Z0JBVUcsYUFBYTtzQkFBckIsS0FBSztnQkFFNkQsc0JBQXNCO3NCQUF6RSxTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFDRCxtQkFBbUI7c0JBQW5FLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFFcEQsYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBbUJILFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPO2dCQStEcEIsY0FBYztzQkFEYixZQUFZO3VCQUFDLGlCQUFpQjtnQkFNL0Isc0JBQXNCO3NCQURyQixZQUFZO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlRWxlbWVudCB9IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZyb21FdmVudCwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFY2xMYW5ndWFnZSB9IGZyb20gJy4uLy4uLy4uL21vZGVsJztcbmltcG9ydCB7IEVjbEJhc2VFdmVudCB9IGZyb20gJy4uLy4uLy4uL21vZGVsL2VjbC1iYXNlLmV2ZW50JztcbmltcG9ydCB7IEVjbExhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IEVDTENsaWNrT3V0c2lkZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2RpcmVjdGl2ZXMvZWNsLWNsaWNrLW91dHNpZGUnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFY2xTaXRlSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZWNsLXNpdGUtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFY2xTaXRlSGVhZGVyTGFuZ3VhZ2VDbG9zZUV2ZW50LCBFY2xTaXRlSGVhZGVyTGFuZ3VhZ2VTZWxlY3RlZEV2ZW50IH0gZnJvbSAnLi9lY2wtc2l0ZS1oZWFkZXItbGFuZ3VhZ2UtcG9wb3Zlci5jb21wb25lbnQnO1xuXG5leHBvcnQgY2xhc3MgRWNsU2l0ZUhlYWRlckxhbmd1YWdlQ2xpY2tFdmVudCBleHRlbmRzIEVjbEJhc2VFdmVudCB7fVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VjbC1zaXRlLWhlYWRlci1sYW5ndWFnZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VjbC1zaXRlLWhlYWRlci1sYW5ndWFnZS5jb21wb25lbnQuaHRtbCcsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBFQ0xDbGlja091dHNpZGVEaXJlY3RpdmUsXG4gICAgICAgICAgICBvdXRwdXRzOiBbJ2VjbENsaWNrT3V0c2lkZSddLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVjbFNpdGVIZWFkZXJMYW5ndWFnZUNvbXBvbmVudCBleHRlbmRzIEVDTEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKVxuICAgIGxhbmd1YWdlQ29kZSA9ICdlbic7XG5cbiAgICBwdWJsaWMgZ2V0IGxhbmd1YWdlQ29kZXMoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sYW5ndWFnZUNvZGVzO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBsYW5ndWFnZUNvZGVzKHZhbHVlOiBBcnJheTxzdHJpbmc+KSB7XG4gICAgICAgIHRoaXMuX2xhbmd1YWdlQ29kZXMgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy51cGRhdGVMYW5ndWFnZXMoKTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEBkZXByZWNhdGVkIGxhbmd1YWdlTGFiZWwgaXMgYXV0b21hdGljYWxseSB0cmFuc2xhdGVkXG4gICAgICogICAgICAgICAgICAgdXNpbmcgbGFuZ3VhZ2VDb2RlLiBUbyBiZSByZW1vdmVkIGluIDE4XG4gICAgICovXG4gICAgQElucHV0KCkgbGFuZ3VhZ2VMYWJlbDogc3RyaW5nO1xuXG4gICAgQGNvZXJjZUVsZW1lbnQgQFZpZXdDaGlsZCgnbGFuZ3VhZ2VQb3BvdmVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIGxhbmd1YWdlUG9wb3ZlckVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICAgIEBjb2VyY2VFbGVtZW50IEBWaWV3Q2hpbGQoJ2xhbmd1YWdlTGluaycsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBsYW5ndWFnZUxpbmtFbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICAgIEBPdXRwdXQoKSBsYW5ndWFnZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xTaXRlSGVhZGVyTGFuZ3VhZ2VDbGlja0V2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBsYW5ndWFnZVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xTaXRlSGVhZGVyTGFuZ3VhZ2VTZWxlY3RlZEV2ZW50PigpO1xuXG4gICAgcmVhZG9ubHkgTU9CSUxFX0JSRUFLUE9JTlQgPSA3Njg7XG4gICAgcmVhZG9ubHkgTEFOR1VBR0VfTUFYX0NPTFVNTlMgPSA4O1xuICAgIGlzTGFuZ3VhZ2VzRHJvcGRvd25WaXNpYmxlID0gZmFsc2U7XG4gICAgaXNQdXNoUmlnaHQ6IGJvb2xlYW47XG4gICAgaXNTdGFjazogYm9vbGVhbjtcbiAgICBpc0Z1bGw6IGJvb2xlYW47XG4gICAgbGFuZ3VhZ2VBcnJvd1Bvc2l0aW9uOiBzdHJpbmc7XG4gICAgcmlnaHRQb3NpdGlvbjogc3RyaW5nO1xuICAgIGV1TGFuZ3VhZ2VzOiBBcnJheTxFY2xMYW5ndWFnZT4gPSBbXTtcbiAgICBub25FdUxhbmd1YWdlczogQXJyYXk8RWNsTGFuZ3VhZ2U+ID0gW107XG4gICAgZXVDb2x1bW5zQ291bnQgPSAxO1xuICAgIG5vbkV1Q29sdW1uc0NvdW50ID0gMTtcbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICBwcml2YXRlIF9sYW5ndWFnZUNvZGVzOiBBcnJheTxzdHJpbmc+ID0gW107XG4gICAgcHJpdmF0ZSBSRVNJWkVfREVCT1VOQ0VfVElNRSA9IDIwMDtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLXNpdGUtaGVhZGVyX19sYW5ndWFnZScpXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVjbExhbmd1YWdlU2VydmljZTogRWNsTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGVjbFNpdGVIZWFkZXI6IEVjbFNpdGVIZWFkZXJDb21wb25lbnQsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlTGFuZ3VhZ2VzKCk7XG4gICAgICAgIHRoaXMuaGFuZGxlV2luZG93UmVzaXplKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlc1snbGFuZ3VhZ2VDb2RlcyddKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUxhbmd1YWdlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIGdldExhbmd1YWdlTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWNsTGFuZ3VhZ2VTZXJ2aWNlLmdldExhbmd1YWdlQnlDb2RlKHRoaXMubGFuZ3VhZ2VDb2RlKT8ubGFiZWw7XG4gICAgfVxuXG4gICAgb25MYW5ndWFnZUNsaWNrKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0xhbmd1YWdlc0Ryb3Bkb3duVmlzaWJsZSA9ICF0aGlzLmlzTGFuZ3VhZ2VzRHJvcGRvd25WaXNpYmxlO1xuICAgICAgICBpZiAodGhpcy5pc0xhbmd1YWdlc0Ryb3Bkb3duVmlzaWJsZSkge1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVQb3BvdmVyUG9zaXRpb24oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNGdWxsID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1N0YWNrID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1B1c2hSaWdodCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMucmlnaHRQb3NpdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB0aGlzLmxhbmd1YWdlQXJyb3dQb3NpdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sYW5ndWFnZUNsaWNrLm5leHQobmV3IEVjbFNpdGVIZWFkZXJMYW5ndWFnZUNsaWNrRXZlbnQoKSk7XG5cbiAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgb25MYW5ndWFnZUNsb3NlZChldnQ6IEVjbFNpdGVIZWFkZXJMYW5ndWFnZUNsb3NlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0xhbmd1YWdlc0Ryb3Bkb3duVmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uTGFuZ3VhZ2VTZWxlY3RlZChldnQ6IEVjbFNpdGVIZWFkZXJMYW5ndWFnZVNlbGVjdGVkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sYW5ndWFnZUNvZGUgPSBldnQubGFuZ3VhZ2UuY29kZTtcblxuICAgICAgICB0aGlzLmlzTGFuZ3VhZ2VzRHJvcGRvd25WaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIHRoaXMubGFuZ3VhZ2VTZWxlY3RlZC5uZXh0KG5ldyBFY2xTaXRlSGVhZGVyTGFuZ3VhZ2VTZWxlY3RlZEV2ZW50KGV2dC5sYW5ndWFnZSkpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2VjbENsaWNrT3V0c2lkZScpXG4gICAgb25DbGlja091dHNpZGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNMYW5ndWFnZXNEcm9wZG93blZpc2libGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScpXG4gICAgb25Fc2NhcGVLZXlkb3duSGFuZGxlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0xhbmd1YWdlc0Ryb3Bkb3duVmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYXNMYW5ndWFnZUNvZGVzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sYW5ndWFnZUNvZGVzICYmIHRoaXMubGFuZ3VhZ2VDb2Rlcy5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIGhhbmRsZVdpbmRvd1Jlc2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpXG4gICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUodGhpcy5SRVNJWkVfREVCT1VOQ0VfVElNRSksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzTGFuZ3VhZ2VzRHJvcGRvd25WaXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlUG9wb3ZlclBvc2l0aW9uKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVMYW5ndWFnZXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGxhbmd1YWdlcyA9IHRoaXMuZWNsTGFuZ3VhZ2VTZXJ2aWNlLmdldExhbmd1YWdlc0J5Q29kZXModGhpcy5sYW5ndWFnZUNvZGVzKTtcblxuICAgICAgICB0aGlzLmV1TGFuZ3VhZ2VzID0gbGFuZ3VhZ2VzLmZpbHRlcigoaXRlbSkgPT4gdGhpcy5lY2xMYW5ndWFnZVNlcnZpY2UuaXNFdUxhbmd1YWdlKGl0ZW0uY29kZSkpO1xuXG4gICAgICAgIHRoaXMubm9uRXVMYW5ndWFnZXMgPSBsYW5ndWFnZXMuZmlsdGVyKChpdGVtKSA9PiAhdGhpcy5lY2xMYW5ndWFnZVNlcnZpY2UuaXNFdUxhbmd1YWdlKGl0ZW0uY29kZSkpO1xuXG4gICAgICAgIHRoaXMuZXVDb2x1bW5zQ291bnQgPSBNYXRoLmNlaWwodGhpcy5ldUxhbmd1YWdlcy5sZW5ndGggLyB0aGlzLkxBTkdVQUdFX01BWF9DT0xVTU5TKTtcblxuICAgICAgICB0aGlzLm5vbkV1Q29sdW1uc0NvdW50ID0gTWF0aC5jZWlsKHRoaXMubm9uRXVMYW5ndWFnZXMubGVuZ3RoIC8gdGhpcy5MQU5HVUFHRV9NQVhfQ09MVU1OUyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVQb3BvdmVyUG9zaXRpb24oKTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuaGFzTGFuZ3VhZ2VDb2RlcygpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYXJyb3dTaXplID0gJzAuNXJlbSc7XG4gICAgICAgICAgICAgICAgY29uc3QgY29udGFpbmVyRWxlbWVudCA9IHRoaXMuZWNsU2l0ZUhlYWRlci50b3BDb250YWluZXJFbGVtZW50O1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lclJlY3QgPSBjb250YWluZXJFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGxpbmtSZWN0ID0gdGhpcy5sYW5ndWFnZUxpbmtFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBvcG92ZXJSZWN0ID0gdGhpcy5sYW5ndWFnZVBvcG92ZXJFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgICAgICAgICAgICAgY29uc3QgdncgPSBNYXRoLm1heChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggfHwgMCwgd2luZG93LmlubmVyV2lkdGggfHwgMCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmlzRnVsbCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNTdGFjayA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNQdXNoUmlnaHQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLnJpZ2h0UG9zaXRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5sYW5ndWFnZUFycm93UG9zaXRpb24gPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgICAgICBpZiAocG9wb3ZlclJlY3Qud2lkdGggPiBjb250YWluZXJSZWN0LndpZHRoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTdGFjayA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm5vbkV1TGFuZ3VhZ2VzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ub25FdUNvbHVtbnNDb3VudCA9IE1hdGgubWF4KHRoaXMuZXVDb2x1bW5zQ291bnQsIHRoaXMubm9uRXVDb2x1bW5zQ291bnQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHBvcG92ZXJSZWN0LnJpZ2h0ID4gc2NyZWVuV2lkdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXJyb3dQb3NpdGlvbiA9IGNvbnRhaW5lclJlY3QucmlnaHQgLSBsaW5rUmVjdC5yaWdodCArIGxpbmtSZWN0LndpZHRoIC8gMjtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzUHVzaFJpZ2h0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yaWdodFBvc2l0aW9uID0gYC0ke2NvbnRhaW5lclJlY3QucmlnaHQgLSBsaW5rUmVjdC5yaWdodH1weGA7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VBcnJvd1Bvc2l0aW9uID0gYGNhbGMoJHthcnJvd1Bvc2l0aW9ufXB4IC0gJHthcnJvd1NpemV9KWA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHZ3IDwgdGhpcy5NT0JJTEVfQlJFQUtQT0lOVCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhcnJvd1Bvc2l0aW9uID0gcG9wb3ZlclJlY3QucmlnaHQgLSBsaW5rUmVjdC5yaWdodCArIGxpbmtSZWN0LndpZHRoIC8gMjtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRnVsbCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VBcnJvd1Bvc2l0aW9uID0gYGNhbGMoJHthcnJvd1Bvc2l0aW9ufXB4IC0gJHthcnJvd1NpemV9KWA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8YVxuICAgIGhyZWY9XCIjXCJcbiAgICAjbGFuZ3VhZ2VMaW5rXG4gICAgY2xhc3M9XCJlY2wtYnV0dG9uIGVjbC1idXR0b24tLWdob3N0IGVjbC1zaXRlLWhlYWRlcl9fbGFuZ3VhZ2Utc2VsZWN0b3JcIlxuICAgIGFyaWEtY29udHJvbHM9XCJsYW5ndWFnZS1saXN0LW92ZXJsYXlcIlxuICAgIHJvbGU9XCJidXR0b25cIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ2VjbC5sYW5ndWFnZS1saXN0LlNFTEVDVC1MQU5HVUFHRS1FWFQnIHwgdHJhbnNsYXRlOiB7IGN1cnJlbnRMYW5nOiBnZXRMYW5ndWFnZUxhYmVsKCkgfVwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc0xhbmd1YWdlc0Ryb3Bkb3duVmlzaWJsZVwiXG4gICAgKGNsaWNrKT1cIm9uTGFuZ3VhZ2VDbGljaygkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5zcGFjZSk9XCJvbkxhbmd1YWdlQ2xpY2soJGV2ZW50KVwiPlxuICAgIDxzcGFuIGNsYXNzPVwiZWNsLXNpdGUtaGVhZGVyX19sYW5ndWFnZS1pY29uXCI+XG4gICAgICAgIDxlY2wtaWNvbiBpY29uPVwiZ2xvYmFsXCIgc2l6ZT1cInNcIiBjbGFzcz1cImVjbC1zaXRlLWhlYWRlcl9faWNvblwiPjwvZWNsLWljb24+XG4gICAgPC9zcGFuPlxuICAgIHt7IGdldExhbmd1YWdlTGFiZWwoKSB9fVxuPC9hPlxuXG48ZWNsLXNpdGUtaGVhZGVyLWxhbmd1YWdlLXBvcG92ZXJcbiAgICAjbGFuZ3VhZ2VQb3BvdmVyXG4gICAgKm5nSWY9XCJoYXNMYW5ndWFnZUNvZGVzKClcIlxuICAgIFtsYW5ndWFnZUNvZGVdPVwibGFuZ3VhZ2VDb2RlXCJcbiAgICBbZXVMYW5ndWFnZXNdPVwiZXVMYW5ndWFnZXNcIlxuICAgIFtub25FdUxhbmd1YWdlc109XCJub25FdUxhbmd1YWdlc1wiXG4gICAgW2V1Q29sdW1uc0NvdW50XT1cImV1Q29sdW1uc0NvdW50XCJcbiAgICBbbm9uRXVDb2x1bW5zQ291bnRdPVwibm9uRXVDb2x1bW5zQ291bnRcIlxuICAgIFtpc0hpZGRlbl09XCIhaXNMYW5ndWFnZXNEcm9wZG93blZpc2libGVcIlxuICAgIFtpc1N0YWNrXT1cImlzU3RhY2tcIlxuICAgIFtpc1B1c2hSaWdodF09XCJpc1B1c2hSaWdodFwiXG4gICAgW2lzRnVsbF09XCJpc0Z1bGxcIlxuICAgIFtyaWdodFBvc2l0aW9uXT1cInJpZ2h0UG9zaXRpb25cIlxuICAgIFtsYW5ndWFnZUFycm93UG9zaXRpb25dPVwibGFuZ3VhZ2VBcnJvd1Bvc2l0aW9uXCJcbiAgICAobGFuZ3VhZ2VTZWxlY3RlZCk9XCJvbkxhbmd1YWdlU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgKGxhbmd1YWdlQ2xvc2VkKT1cIm9uTGFuZ3VhZ2VDbG9zZWQoJGV2ZW50KVwiPlxuPC9lY2wtc2l0ZS1oZWFkZXItbGFuZ3VhZ2UtcG9wb3Zlcj5cbiJdfQ==
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLXNpdGUtaGVhZGVyLWxhbmd1YWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtc2l0ZS1oZWFkZXIvbGFuZ3VhZ2UvZWNsLXNpdGUtaGVhZGVyLWxhbmd1YWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtc2l0ZS1oZWFkZXIvbGFuZ3VhZ2UvZWNsLXNpdGUtaGVhZGVyLWxhbmd1YWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBSUwsTUFBTSxFQUVOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTVELE9BQU8sRUFBbUMsa0NBQWtDLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7Ozs7O0FBRW5JLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxZQUFZO0NBQUc7QUFZcEUsTUFBTSxPQUFPLDhCQUErQixTQUFRLGdCQUFnQjtJQUloRSxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUNXLGFBQWEsQ0FBQyxLQUFvQjtRQUN6QyxJQUFJLENBQUMs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RSwrekNBa0NBOztBRHNCdUU7SUFBbEUsYUFBYTs4RUFBeUY7QUFDdkM7SUFBL0QsYUFBYTsyRUFBbUY7NEZBckJ4Riw4QkFBOEI7a0JBVjFDLFNBQVM7K0JBQ0ksMEJBQTBCLGtCQUVwQjt3QkFDWjs0QkFDSSxTQUFTLEVBQUUsd0JBQXdCOzRCQUNuQyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzt5QkFDL0I7cUJBQ0o7NEhBSUQsWUFBWTtzQkFEWCxLQUFLO2dCQVFLLGFBQWE7c0JBRHZCLEtBQUs7Z0JBVUcsYUFBYTtzQkFBckIsS0FBSztnQkFFNkQsc0JBQXNCO3NCQUF6RSxTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFDRCxtQkFBbUI7c0JBQW5FLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFFcEQsYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBbUJILFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPO2dCQStEcEIsY0FBYztzQkFEYixZQUFZO3VCQUFDLGlCQUFpQjtnQkFNL0Isc0JBQXNCO3NCQURyQixZQUFZO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlRWxlbWVudCB9IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZyb21FdmVudCwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFY2xMYW5ndWFnZSB9IGZyb20gJy4uLy4uLy4uL21vZGVsJztcbmltcG9ydCB7IEVjbEJhc2VFdmVudCB9IGZyb20gJy4uLy4uLy4uL21vZGVsL2VjbC1iYXNlLmV2ZW50JztcbmltcG9ydCB7IEVjbExhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IEVDTENsaWNrT3V0c2lkZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2RpcmVjdGl2ZXMvZWNsLWNsaWNrLW91dHNpZGUnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFY2xTaXRlSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZWNsLXNpdGUtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFY2xTaXRlSGVhZGVyTGFuZ3VhZ2VDbG9zZUV2ZW50LCBFY2xTaXRlSGVhZGVyTGFuZ3VhZ2VTZWxlY3RlZEV2ZW50IH0gZnJvbSAnLi9lY2wtc2l0ZS1oZWFkZXItbGFuZ3VhZ2UtcG9wb3Zlci5jb21wb25lbnQnO1xuXG5leHBvcnQgY2xhc3MgRWNsU2l0ZUhlYWRlckxhbmd1YWdlQ2xpY2tFdmVudCBleHRlbmRzIEVjbEJhc2VFdmVudCB7fVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VjbC1zaXRlLWhlYWRlci1sYW5ndWFnZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VjbC1zaXRlLWhlYWRlci1sYW5ndWFnZS5jb21wb25lbnQuaHRtbCcsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBFQ0xDbGlja091dHNpZGVEaXJlY3RpdmUsXG4gICAgICAgICAgICBvdXRwdXRzOiBbJ2VjbENsaWNrT3V0c2lkZSddLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVjbFNpdGVIZWFkZXJMYW5ndWFnZUNvbXBvbmVudCBleHRlbmRzIEVDTEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKVxuICAgIGxhbmd1YWdlQ29kZSA9ICdlbic7XG5cbiAgICBwdWJsaWMgZ2V0IGxhbmd1YWdlQ29kZXMoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sYW5ndWFnZUNvZGVzO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBsYW5ndWFnZUNvZGVzKHZhbHVlOiBBcnJheTxzdHJpbmc+KSB7XG4gICAgICAgIHRoaXMuX2xhbmd1YWdlQ29kZXMgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy51cGRhdGVMYW5ndWFnZXMoKTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEBkZXByZWNhdGVkIGxhbmd1YWdlTGFiZWwgaXMgYXV0b21hdGljYWxseSB0cmFuc2xhdGVkXG4gICAgICogICAgICAgICAgICAgdXNpbmcgbGFuZ3VhZ2VDb2RlLiBUbyBiZSByZW1vdmVkIGluIDE4XG4gICAgICovXG4gICAgQElucHV0KCkgbGFuZ3VhZ2VMYWJlbDogc3RyaW5nO1xuXG4gICAgQGNvZXJjZUVsZW1lbnQgQFZpZXdDaGlsZCgnbGFuZ3VhZ2VQb3BvdmVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIGxhbmd1YWdlUG9wb3ZlckVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICAgIEBjb2VyY2VFbGVtZW50IEBWaWV3Q2hpbGQoJ2xhbmd1YWdlTGluaycsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBsYW5ndWFnZUxpbmtFbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICAgIEBPdXRwdXQoKSBsYW5ndWFnZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xTaXRlSGVhZGVyTGFuZ3VhZ2VDbGlja0V2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBsYW5ndWFnZVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xTaXRlSGVhZGVyTGFuZ3VhZ2VTZWxlY3RlZEV2ZW50PigpO1xuXG4gICAgcmVhZG9ubHkgTU9CSUxFX0JSRUFLUE9JTlQgPSA3Njg7XG4gICAgcmVhZG9ubHkgTEFOR1VBR0VfTUFYX0NPTFVNTlMgPSA4O1xuICAgIGlzTGFuZ3VhZ2VzRHJvcGRvd25WaXNpYmxlID0gZmFsc2U7XG4gICAgaXNQdXNoUmlnaHQ6IGJvb2xlYW47XG4gICAgaXNTdGFjazogYm9vbGVhbjtcbiAgICBpc0Z1bGw6IGJvb2xlYW47XG4gICAgbGFuZ3VhZ2VBcnJvd1Bvc2l0aW9uOiBzdHJpbmc7XG4gICAgcmlnaHRQb3NpdGlvbjogc3RyaW5nO1xuICAgIGV1TGFuZ3VhZ2VzOiBBcnJheTxFY2xMYW5ndWFnZT4gPSBbXTtcbiAgICBub25FdUxhbmd1YWdlczogQXJyYXk8RWNsTGFuZ3VhZ2U+ID0gW107XG4gICAgZXVDb2x1bW5zQ291bnQgPSAxO1xuICAgIG5vbkV1Q29sdW1uc0NvdW50ID0gMTtcbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICBwcml2YXRlIF9sYW5ndWFnZUNvZGVzOiBBcnJheTxzdHJpbmc+ID0gW107XG4gICAgcHJpdmF0ZSBSRVNJWkVfREVCT1VOQ0VfVElNRSA9IDIwMDtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLXNpdGUtaGVhZGVyX19sYW5ndWFnZScpXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVjbExhbmd1YWdlU2VydmljZTogRWNsTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGVjbFNpdGVIZWFkZXI6IEVjbFNpdGVIZWFkZXJDb21wb25lbnQsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlTGFuZ3VhZ2VzKCk7XG4gICAgICAgIHRoaXMuaGFuZGxlV2luZG93UmVzaXplKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlc1snbGFuZ3VhZ2VDb2RlcyddKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUxhbmd1YWdlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIGdldExhbmd1YWdlTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWNsTGFuZ3VhZ2VTZXJ2aWNlLmdldExhbmd1YWdlQnlDb2RlKHRoaXMubGFuZ3VhZ2VDb2RlKT8ubGFiZWw7XG4gICAgfVxuXG4gICAgb25MYW5ndWFnZUNsaWNrKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0xhbmd1YWdlc0Ryb3Bkb3duVmlzaWJsZSA9ICF0aGlzLmlzTGFuZ3VhZ2VzRHJvcGRvd25WaXNpYmxlO1xuICAgICAgICBpZiAodGhpcy5pc0xhbmd1YWdlc0Ryb3Bkb3duVmlzaWJsZSkge1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVQb3BvdmVyUG9zaXRpb24oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNGdWxsID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1N0YWNrID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1B1c2hSaWdodCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMucmlnaHRQb3NpdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB0aGlzLmxhbmd1YWdlQXJyb3dQb3NpdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sYW5ndWFnZUNsaWNrLm5leHQobmV3IEVjbFNpdGVIZWFkZXJMYW5ndWFnZUNsaWNrRXZlbnQoKSk7XG5cbiAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgb25MYW5ndWFnZUNsb3NlZChldnQ6IEVjbFNpdGVIZWFkZXJMYW5ndWFnZUNsb3NlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0xhbmd1YWdlc0Ryb3Bkb3duVmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uTGFuZ3VhZ2VTZWxlY3RlZChldnQ6IEVjbFNpdGVIZWFkZXJMYW5ndWFnZVNlbGVjdGVkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sYW5ndWFnZUNvZGUgPSBldnQubGFuZ3VhZ2UuY29kZTtcblxuICAgICAgICB0aGlzLmlzTGFuZ3VhZ2VzRHJvcGRvd25WaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIHRoaXMubGFuZ3VhZ2VTZWxlY3RlZC5uZXh0KG5ldyBFY2xTaXRlSGVhZGVyTGFuZ3VhZ2VTZWxlY3RlZEV2ZW50KGV2dC5sYW5ndWFnZSkpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2VjbENsaWNrT3V0c2lkZScpXG4gICAgb25DbGlja091dHNpZGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNMYW5ndWFnZXNEcm9wZG93blZpc2libGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScpXG4gICAgb25Fc2NhcGVLZXlkb3duSGFuZGxlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0xhbmd1YWdlc0Ryb3Bkb3duVmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYXNMYW5ndWFnZUNvZGVzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sYW5ndWFnZUNvZGVzICYmIHRoaXMubGFuZ3VhZ2VDb2Rlcy5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIGhhbmRsZVdpbmRvd1Jlc2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpXG4gICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUodGhpcy5SRVNJWkVfREVCT1VOQ0VfVElNRSksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzTGFuZ3VhZ2VzRHJvcGRvd25WaXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlUG9wb3ZlclBvc2l0aW9uKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVMYW5ndWFnZXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGxhbmd1YWdlcyA9IHRoaXMuZWNsTGFuZ3VhZ2VTZXJ2aWNlLmdldExhbmd1YWdlc0J5Q29kZXModGhpcy5sYW5ndWFnZUNvZGVzKTtcblxuICAgICAgICB0aGlzLmV1TGFuZ3VhZ2VzID0gbGFuZ3VhZ2VzLmZpbHRlcigoaXRlbSkgPT4gdGhpcy5lY2xMYW5ndWFnZVNlcnZpY2UuaXNFdUxhbmd1YWdlKGl0ZW0uY29kZSkpO1xuXG4gICAgICAgIHRoaXMubm9uRXVMYW5ndWFnZXMgPSBsYW5ndWFnZXMuZmlsdGVyKChpdGVtKSA9PiAhdGhpcy5lY2xMYW5ndWFnZVNlcnZpY2UuaXNFdUxhbmd1YWdlKGl0ZW0uY29kZSkpO1xuXG4gICAgICAgIHRoaXMuZXVDb2x1bW5zQ291bnQgPSBNYXRoLmNlaWwodGhpcy5ldUxhbmd1YWdlcy5sZW5ndGggLyB0aGlzLkxBTkdVQUdFX01BWF9DT0xVTU5TKTtcblxuICAgICAgICB0aGlzLm5vbkV1Q29sdW1uc0NvdW50ID0gTWF0aC5jZWlsKHRoaXMubm9uRXVMYW5ndWFnZXMubGVuZ3RoIC8gdGhpcy5MQU5HVUFHRV9NQVhfQ09MVU1OUyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVQb3BvdmVyUG9zaXRpb24oKTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuaGFzTGFuZ3VhZ2VDb2RlcygpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYXJyb3dTaXplID0gJzAuNXJlbSc7XG4gICAgICAgICAgICAgICAgY29uc3QgY29udGFpbmVyRWxlbWVudCA9IHRoaXMuZWNsU2l0ZUhlYWRlci50b3BDb250YWluZXJFbGVtZW50O1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lclJlY3QgPSBjb250YWluZXJFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGxpbmtSZWN0ID0gdGhpcy5sYW5ndWFnZUxpbmtFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBvcG92ZXJSZWN0ID0gdGhpcy5sYW5ndWFnZVBvcG92ZXJFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgICAgICAgICAgICAgY29uc3QgdncgPSBNYXRoLm1heChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggfHwgMCwgd2luZG93LmlubmVyV2lkdGggfHwgMCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmlzRnVsbCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNTdGFjayA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNQdXNoUmlnaHQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLnJpZ2h0UG9zaXRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5sYW5ndWFnZUFycm93UG9zaXRpb24gPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgICAgICBpZiAocG9wb3ZlclJlY3Qud2lkdGggPiBjb250YWluZXJSZWN0LndpZHRoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTdGFjayA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm5vbkV1TGFuZ3VhZ2VzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ub25FdUNvbHVtbnNDb3VudCA9IE1hdGgubWF4KHRoaXMuZXVDb2x1bW5zQ291bnQsIHRoaXMubm9uRXVDb2x1bW5zQ291bnQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHBvcG92ZXJSZWN0LnJpZ2h0ID4gc2NyZWVuV2lkdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXJyb3dQb3NpdGlvbiA9IGNvbnRhaW5lclJlY3QucmlnaHQgLSBsaW5rUmVjdC5yaWdodCArIGxpbmtSZWN0LndpZHRoIC8gMjtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzUHVzaFJpZ2h0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yaWdodFBvc2l0aW9uID0gYC0ke2NvbnRhaW5lclJlY3QucmlnaHQgLSBsaW5rUmVjdC5yaWdodH1weGA7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VBcnJvd1Bvc2l0aW9uID0gYGNhbGMoJHthcnJvd1Bvc2l0aW9ufXB4IC0gJHthcnJvd1NpemV9KWA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHZ3IDwgdGhpcy5NT0JJTEVfQlJFQUtQT0lOVCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhcnJvd1Bvc2l0aW9uID0gcG9wb3ZlclJlY3QucmlnaHQgLSBsaW5rUmVjdC5yaWdodCArIGxpbmtSZWN0LndpZHRoIC8gMjtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRnVsbCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VBcnJvd1Bvc2l0aW9uID0gYGNhbGMoJHthcnJvd1Bvc2l0aW9ufXB4IC0gJHthcnJvd1NpemV9KWA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8YVxuICAgIGhyZWY9XCIjXCJcbiAgICAjbGFuZ3VhZ2VMaW5rXG4gICAgY2xhc3M9XCJlY2wtYnV0dG9uIGVjbC1idXR0b24tLWdob3N0IGVjbC1zaXRlLWhlYWRlcl9fbGFuZ3VhZ2Utc2VsZWN0b3JcIlxuICAgIGFyaWEtY29udHJvbHM9XCJsYW5ndWFnZS1saXN0LW92ZXJsYXlcIlxuICAgIHJvbGU9XCJidXR0b25cIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ2VjbC5sYW5ndWFnZS1saXN0LlNFTEVDVC1MQU5HVUFHRS1FWFQnIHwgdHJhbnNsYXRlOiB7IGN1cnJlbnRMYW5nOiBnZXRMYW5ndWFnZUxhYmVsKCkgfVwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc0xhbmd1YWdlc0Ryb3Bkb3duVmlzaWJsZVwiXG4gICAgKGNsaWNrKT1cIm9uTGFuZ3VhZ2VDbGljaygkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5zcGFjZSk9XCJvbkxhbmd1YWdlQ2xpY2soJGV2ZW50KVwiPlxuICAgIDxzcGFuIGNsYXNzPVwiZWNsLXNpdGUtaGVhZGVyX19sYW5ndWFnZS1pY29uXCI+XG4gICAgICAgIDxlY2wtaWNvbiBpY29uPVwiZ2xvYmFsXCIgc2l6ZT1cInNcIiBjbGFzcz1cImVjbC1zaXRlLWhlYWRlcl9faWNvblwiPjwvZWNsLWljb24+XG4gICAgPC9zcGFuPlxuICAgIHt7IGdldExhbmd1YWdlTGFiZWwoKSB9fVxuPC9hPlxuXG48ZWNsLXNpdGUtaGVhZGVyLWxhbmd1YWdlLXBvcG92ZXJcbiAgICAjbGFuZ3VhZ2VQb3BvdmVyXG4gICAgaWQ9XCJsYW5ndWFnZS1saXN0LW92ZXJsYXlcIlxuICAgICpuZ0lmPVwiaGFzTGFuZ3VhZ2VDb2RlcygpXCJcbiAgICBbbGFuZ3VhZ2VDb2RlXT1cImxhbmd1YWdlQ29kZVwiXG4gICAgW2V1TGFuZ3VhZ2VzXT1cImV1TGFuZ3VhZ2VzXCJcbiAgICBbbm9uRXVMYW5ndWFnZXNdPVwibm9uRXVMYW5ndWFnZXNcIlxuICAgIFtldUNvbHVtbnNDb3VudF09XCJldUNvbHVtbnNDb3VudFwiXG4gICAgW25vbkV1Q29sdW1uc0NvdW50XT1cIm5vbkV1Q29sdW1uc0NvdW50XCJcbiAgICBbaXNIaWRkZW5dPVwiIWlzTGFuZ3VhZ2VzRHJvcGRvd25WaXNpYmxlXCJcbiAgICBbaXNTdGFja109XCJpc1N0YWNrXCJcbiAgICBbaXNQdXNoUmlnaHRdPVwiaXNQdXNoUmlnaHRcIlxuICAgIFtpc0Z1bGxdPVwiaXNGdWxsXCJcbiAgICBbcmlnaHRQb3NpdGlvbl09XCJyaWdodFBvc2l0aW9uXCJcbiAgICBbbGFuZ3VhZ2VBcnJvd1Bvc2l0aW9uXT1cImxhbmd1YWdlQXJyb3dQb3NpdGlvblwiXG4gICAgKGxhbmd1YWdlU2VsZWN0ZWQpPVwib25MYW5ndWFnZVNlbGVjdGVkKCRldmVudClcIlxuICAgIChsYW5ndWFnZUNsb3NlZCk9XCJvbkxhbmd1YWdlQ2xvc2VkKCRldmVudClcIj5cbjwvZWNsLXNpdGUtaGVhZGVyLWxhbmd1YWdlLXBvcG92ZXI+XG4iXX0=