@eui/ecl 18.0.0-next.59 → 18.0.0-next.60

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 (167) hide show
  1. package/docs/components/EclAccordionComponent.html +1 -1
  2. package/docs/components/EclAccordionItemComponent.html +1 -1
  3. package/docs/components/EclAppComponent.html +1 -1
  4. package/docs/components/EclBannerComponent.html +1 -1
  5. package/docs/components/EclBlockquoteComponent.html +1 -1
  6. package/docs/components/EclBreadcrumbComponent.html +2 -2
  7. package/docs/components/EclBreadcrumbSegmentComponent.html +39 -57
  8. package/docs/components/EclButtonComponent.html +1 -1
  9. package/docs/components/EclCardBodyComponent.html +1 -1
  10. package/docs/components/EclCardComponent.html +1 -1
  11. package/docs/components/EclCarouselComponent.html +1 -1
  12. package/docs/components/EclCarouselItemComponent.html +1 -1
  13. package/docs/components/EclCategoryFilterComponent.html +1 -1
  14. package/docs/components/EclCategoryFilterItemComponent.html +1 -1
  15. package/docs/components/EclCategoryFilterListComponent.html +1 -1
  16. package/docs/components/EclCheckboxHelpComponent.html +1 -1
  17. package/docs/components/EclCheckboxLabelComponent.html +1 -1
  18. package/docs/components/EclContentBlockComponent.html +1 -1
  19. package/docs/components/EclContentItemComponent.html +1 -1
  20. package/docs/components/EclDateBlockComponent.html +1 -1
  21. package/docs/components/EclDescriptionListDefinitionComponent.html +1 -1
  22. package/docs/components/EclExpandableComponent.html +1 -1
  23. package/docs/components/EclFactFiguresComponent.html +1 -1
  24. package/docs/components/EclFactFiguresDescriptionComponent.html +1 -1
  25. package/docs/components/EclFactFiguresItemComponent.html +1 -1
  26. package/docs/components/EclFactFiguresTitleComponent.html +1 -1
  27. package/docs/components/EclFactFiguresValueComponent.html +1 -1
  28. package/docs/components/EclFactFiguresViewAllComponent.html +1 -1
  29. package/docs/components/EclFeaturedComponent.html +1 -1
  30. package/docs/components/EclFeaturedItemComponent.html +1 -1
  31. package/docs/components/EclFeaturedItemDescriptionComponent.html +1 -1
  32. package/docs/components/EclFeaturedItemFooterComponent.html +1 -1
  33. package/docs/components/EclFileComponent.html +1 -1
  34. package/docs/components/EclFileItemComponent.html +1 -1
  35. package/docs/components/EclFileItemsComponent.html +1 -1
  36. package/docs/components/EclFileTaxonomyComponent.html +1 -1
  37. package/docs/components/EclFormGroupComponent.html +1 -1
  38. package/docs/components/EclFormLabelComponent.html +1 -1
  39. package/docs/components/EclGalleryComponent.html +1 -1
  40. package/docs/components/EclGalleryFooterComponent.html +1 -1
  41. package/docs/components/EclGalleryItemComponent.html +1 -1
  42. package/docs/components/EclIconComponent.html +1 -1
  43. package/docs/components/EclInpageNavigationComponent.html +1 -1
  44. package/docs/components/EclInpageNavigationItemComponent.html +1 -1
  45. package/docs/components/EclListIllustrationComponent.html +1 -1
  46. package/docs/components/EclListIllustrationItemComponent.html +1 -1
  47. package/docs/components/EclLoadingIndicatorComponent.html +1 -1
  48. package/docs/components/EclMediaContainerComponent.html +1 -1
  49. package/docs/components/EclMenuComponent.html +1 -1
  50. package/docs/components/EclMenuItemComponent.html +1 -1
  51. package/docs/components/EclMenuMegaComponent.html +1 -1
  52. package/docs/components/EclMenuMegaItemComponent.html +1 -1
  53. package/docs/components/EclModalBodyComponent.html +1 -1
  54. package/docs/components/EclModalComponent.html +1 -1
  55. package/docs/components/EclModalFooterComponent.html +1 -1
  56. package/docs/components/EclModalHeaderComponent.html +1 -1
  57. package/docs/components/EclMultiselectComponent.html +1 -1
  58. package/docs/components/EclMultiselectDropdownComponent.html +1 -1
  59. package/docs/components/EclMultiselectInputComponent.html +1 -1
  60. package/docs/components/EclMultiselectOptgroupComponent.html +1 -1
  61. package/docs/components/EclMultiselectOptionComponent.html +1 -1
  62. package/docs/components/EclNavigationListComponent.html +1 -1
  63. package/docs/components/EclNavigationListImageComponent.html +1 -1
  64. package/docs/components/EclNavigationListItemComponent.html +1 -1
  65. package/docs/components/EclNewsTickerComponent.html +1 -1
  66. package/docs/components/EclNewsTickerItemComponent.html +1 -1
  67. package/docs/components/EclNotificationComponent.html +1 -1
  68. package/docs/components/EclPageHeaderComponent.html +1 -1
  69. package/docs/components/EclPaginationComponent.html +1 -1
  70. package/docs/components/EclPaginationItemComponent.html +1 -1
  71. package/docs/components/EclPopoverComponent.html +1 -1
  72. package/docs/components/EclRadioHelpComponent.html +1 -1
  73. package/docs/components/EclRadioLabelComponent.html +1 -1
  74. package/docs/components/EclRangeValueComponent.html +1 -1
  75. package/docs/components/EclRatingFieldComponent.html +1 -1
  76. package/docs/components/EclSearchFormComponent.html +1 -1
  77. package/docs/components/EclSelectContainerComponent.html +1 -1
  78. package/docs/components/EclSiteFooterComponent.html +1 -1
  79. package/docs/components/EclSiteFooterFixedContentECComponent.html +1 -1
  80. package/docs/components/EclSiteFooterFixedContentEUComponent.html +1 -1
  81. package/docs/components/EclSiteHeaderActionComponent.html +1 -1
  82. package/docs/components/EclSiteHeaderBannerTopComponent.html +1 -1
  83. package/docs/components/EclSiteHeaderComponent.html +1 -1
  84. package/docs/components/EclSiteHeaderEnvironmentComponent.html +14 -2
  85. package/docs/components/EclSiteHeaderLanguageComponent.html +2 -20
  86. package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +1 -1
  87. package/docs/components/EclSiteHeaderLoginComponent.html +1 -1
  88. package/docs/components/EclSiteHeaderNotificationComponent.html +1 -1
  89. package/docs/components/EclSiteHeaderSearchComponent.html +1 -1
  90. package/docs/components/EclSocialMediaFollowComponent.html +1 -1
  91. package/docs/components/EclSocialMediaFollowItemComponent.html +1 -1
  92. package/docs/components/EclSocialMediaShareComponent.html +1 -1
  93. package/docs/components/EclSocialMediaShareItemComponent.html +1 -1
  94. package/docs/components/EclStickyContainerComponent.html +1 -1
  95. package/docs/components/EclTabComponent.html +1 -1
  96. package/docs/components/EclTabLabelComponent.html +1 -1
  97. package/docs/components/EclTabMoreComponent.html +1 -1
  98. package/docs/components/EclTableSortButtonComponent.html +1 -1
  99. package/docs/components/EclTabsComponent.html +1 -1
  100. package/docs/components/EclTagComponent.html +1 -1
  101. package/docs/components/EclTimelineComponent.html +1 -1
  102. package/docs/components/EclTimelineItemComponent.html +1 -1
  103. package/docs/components/EclTimelineItemTogglerComponent.html +1 -1
  104. package/docs/dependencies.html +1 -1
  105. package/docs/index.html +1 -1
  106. package/docs/js/menu-wc.js +6 -87
  107. package/docs/js/menu-wc_es5.js +1 -1
  108. package/docs/js/search/search_index.js +2 -2
  109. package/docs/miscellaneous/variables.html +0 -1
  110. package/docs/modules/EclBannerComponentModule.html +0 -6
  111. package/docs/modules/EclBreadcrumbComponentModule.html +0 -6
  112. package/docs/modules/EclCardComponentModule.html +0 -6
  113. package/docs/modules/EclCarouselComponentModule.html +0 -6
  114. package/docs/modules/EclCheckboxModule.html +0 -6
  115. package/docs/modules/EclContentBlockComponentModule.html +0 -6
  116. package/docs/modules/EclContentItemComponentModule.html +0 -6
  117. package/docs/modules/EclFeaturedModule.html +0 -6
  118. package/docs/modules/EclFileComponentModule.html +0 -6
  119. package/docs/modules/EclGalleryComponentModule.html +0 -6
  120. package/docs/modules/EclListDirectiveModule.html +0 -6
  121. package/docs/modules/EclListIllustrationComponentModule.html +0 -6
  122. package/docs/modules/EclMediaContainerComponentModule.html +0 -6
  123. package/docs/modules/EclMenuComponentModule.html +0 -6
  124. package/docs/modules/EclModalComponentModule.html +0 -6
  125. package/docs/modules/EclNavigationListComponentModule.html +0 -6
  126. package/docs/modules/EclPageHeaderComponentModule.html +0 -6
  127. package/docs/modules/EclPopoverComponentModule.html +0 -6
  128. package/docs/modules/EclRangeDirectiveModule.html +0 -6
  129. package/docs/modules/EclRatingFieldComponentModule.html +0 -6
  130. package/docs/modules/EclSelectDirectiveModule.html +0 -6
  131. package/docs/modules/EclSiteFooterComponentModule.html +0 -6
  132. package/docs/modules/EclSiteHeaderComponentModule.html +0 -6
  133. package/docs/modules/EclSocialMediaFollowComponentModule.html +0 -6
  134. package/docs/modules/EclSocialMediaShareComponentModule.html +0 -6
  135. package/docs/modules/EclTableDirectiveModule.html +0 -6
  136. package/docs/modules/EclTabsComponentModule.html +0 -6
  137. package/esm2022/lib/components/ecl-banner/ecl-banner.module.mjs +1 -5
  138. package/esm2022/lib/components/ecl-banner/index.mjs +1 -2
  139. package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.mjs +15 -13
  140. package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb.component.mjs +3 -18
  141. package/esm2022/lib/components/ecl-card/ecl-card.component.mjs +1 -1
  142. package/esm2022/lib/components/ecl-date-picker/ecl-date-picker.directive.mjs +2 -2
  143. package/esm2022/lib/components/ecl-file-upload/ecl-file-upload.directive.mjs +2 -2
  144. package/esm2022/lib/components/ecl-menu/ecl-menu/ecl-menu-item.component.mjs +4 -4
  145. package/esm2022/lib/components/ecl-site-header/ecl-site-header-environment/ecl-site-header-environment.component.mjs +13 -12
  146. package/esm2022/lib/components/ecl-site-header/language/ecl-site-header-language.component.mjs +5 -5
  147. package/fesm2022/eui-ecl.mjs +1576 -1610
  148. package/fesm2022/eui-ecl.mjs.map +4 -4
  149. package/lib/components/ecl-banner/ecl-banner.module.d.ts +4 -5
  150. package/lib/components/ecl-banner/ecl-banner.module.d.ts.map +1 -1
  151. package/lib/components/ecl-banner/index.d.ts +0 -1
  152. package/lib/components/ecl-banner/index.d.ts.map +1 -1
  153. package/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.d.ts +7 -6
  154. package/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.d.ts.map +1 -1
  155. package/lib/components/ecl-breadcrumb/ecl-breadcrumb.component.d.ts +0 -4
  156. package/lib/components/ecl-breadcrumb/ecl-breadcrumb.component.d.ts.map +1 -1
  157. package/lib/components/ecl-card/ecl-card.component.d.ts.map +1 -1
  158. package/lib/components/ecl-file-upload/ecl-file-upload.directive.d.ts.map +1 -1
  159. package/lib/components/ecl-site-header/ecl-site-header-environment/ecl-site-header-environment.component.d.ts +3 -2
  160. package/lib/components/ecl-site-header/ecl-site-header-environment/ecl-site-header-environment.component.d.ts.map +1 -1
  161. package/lib/components/ecl-site-header/language/ecl-site-header-language.component.d.ts +4 -4
  162. package/lib/components/ecl-site-header/language/ecl-site-header-language.component.d.ts.map +1 -1
  163. package/package.json +1 -1
  164. package/docs/directives/EclBannerCreditDirective.html +0 -498
  165. package/esm2022/lib/components/ecl-banner/ecl-banner-credit.directive.mjs +0 -21
  166. package/lib/components/ecl-banner/ecl-banner-credit.directive.d.ts +0 -8
  167. package/lib/components/ecl-banner/ecl-banner-credit.directive.d.ts.map +0 -1
@@ -4,7 +4,6 @@ import { EclBannerTitleDirective, EclBannerTitleTextDirective } from './ecl-bann
4
4
  import { EclBannerDescriptionDirective, EclBannerDescriptionTextDirective } from './ecl-banner-description.directive';
5
5
  import { EclBannerComponent } from './ecl-banner.component';
6
6
  import { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';
7
- import { EclBannerCreditDirective } from './ecl-banner-credit.directive';
8
7
  import { EclBannerImageDirective, EclBannerPictureDirective } from './ecl-banner-picture.directive';
9
8
  import * as i0 from "@angular/core";
10
9
  const COMPONENTS = [
@@ -13,7 +12,6 @@ const COMPONENTS = [
13
12
  EclBannerTitleTextDirective,
14
13
  EclBannerDescriptionDirective,
15
14
  EclBannerDescriptionTextDirective,
16
- EclBannerCreditDirective,
17
15
  EclBannerPictureDirective,
18
16
  EclBannerImageDirective,
19
17
  ];
@@ -24,14 +22,12 @@ export class EclBannerComponentModule {
24
22
  EclBannerTitleTextDirective,
25
23
  EclBannerDescriptionDirective,
26
24
  EclBannerDescriptionTextDirective,
27
- EclBannerCreditDirective,
28
25
  EclBannerPictureDirective,
29
26
  EclBannerImageDirective], imports: [CommonModule, EclLinkDirectiveModule], exports: [EclBannerComponent,
30
27
  EclBannerTitleDirective,
31
28
  EclBannerTitleTextDirective,
32
29
  EclBannerDescriptionDirective,
33
30
  EclBannerDescriptionTextDirective,
34
- EclBannerCreditDirective,
35
31
  EclBannerPictureDirective,
36
32
  EclBannerImageDirective] }); }
37
33
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EclBannerComponentModule, imports: [CommonModule, EclLinkDirectiveModule] }); }
@@ -44,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
44
40
  declarations: [...COMPONENTS],
45
41
  }]
46
42
  }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWJhbm5lci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLWJhbm5lci9lY2wtYmFubmVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0SCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFcEcsTUFBTSxVQUFVLEdBQUc7SUFDZixrQkFBa0I7SUFDbEIsdUJBQXVCO0lBQ3ZCLDJCQUEyQjtJQUMzQiw2QkFBNkI7SUFDN0IsaUNBQWlDO0lBQ2pDLHdCQUF3QjtJQUN4Qix5QkFBeUI7SUFDekIsdUJBQXVCO0NBQzFCLENBQUM7QUFNRixNQUFNLE9BQU8sd0JBQXdCO21IQUF4Qix3QkFBd0I7b0hBQXhCLHdCQUF3QixpQkFkakMsa0JBQWtCO1lBQ2xCLHVCQUF1QjtZQUN2QiwyQkFBMkI7WUFDM0IsNkJBQTZCO1lBQzdCLGlDQUFpQztZQUNqQyx3QkFBd0I7WUFDeEIseUJBQXlCO1lBQ3pCLHVCQUF1QixhQUdiLFlBQVksRUFBRSxzQkFBc0IsYUFWOUMsa0JBQWtCO1lBQ2xCLHVCQUF1QjtZQUN2QiwyQkFBMkI7WUFDM0IsNkJBQTZCO1lBQzdCLGlDQUFpQztZQUNqQyx3QkFBd0I7WUFDeEIseUJBQXlCO1lBQ3pCLHVCQUF1QjtvSEFPZCx3QkFBd0IsWUFKdkIsWUFBWSxFQUFFLHNCQUFzQjs7Z0dBSXJDLHdCQUF3QjtrQkFMcEMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsc0JBQXNCLENBQUM7b0JBQy9DLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO29CQUN4QixZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEVjbEJhbm5lclRpdGxlRGlyZWN0aXZlLCBFY2xCYW5uZXJUaXRsZVRleHREaXJlY3RpdmUgfSBmcm9tICcuL2VjbC1iYW5uZXItdGl0bGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEVjbEJhbm5lckRlc2NyaXB0aW9uRGlyZWN0aXZlLCBFY2xCYW5uZXJEZXNjcmlwdGlvblRleHREaXJlY3RpdmUgfSBmcm9tICcuL2VjbC1iYW5uZXItZGVzY3JpcHRpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEVjbEJhbm5lckNvbXBvbmVudCB9IGZyb20gJy4vZWNsLWJhbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWNsTGlua0RpcmVjdGl2ZU1vZHVsZSB9IGZyb20gJy4uL2VjbC1saW5rL2VjbC1saW5rLm1vZHVsZSc7XG5pbXBvcnQgeyBFY2xCYW5uZXJDcmVkaXREaXJlY3RpdmUgfSBmcm9tICcuL2VjbC1iYW5uZXItY3JlZGl0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFY2xCYW5uZXJJbWFnZURpcmVjdGl2ZSwgRWNsQmFubmVyUGljdHVyZURpcmVjdGl2ZSB9IGZyb20gJy4vZWNsLWJhbm5lci1waWN0dXJlLmRpcmVjdGl2ZSc7XG5cbmNvbnN0IENPTVBPTkVOVFMgPSBbXG4gICAgRWNsQmFubmVyQ29tcG9uZW50LFxuICAgIEVjbEJhbm5lclRpdGxlRGlyZWN0aXZlLFxuICAgIEVjbEJhbm5lclRpdGxlVGV4dERpcmVjdGl2ZSxcbiAgICBFY2xCYW5uZXJEZXNjcmlwdGlvbkRpcmVjdGl2ZSxcbiAgICBFY2xCYW5uZXJEZXNjcmlwdGlvblRleHREaXJlY3RpdmUsXG4gICAgRWNsQmFubmVyQ3JlZGl0RGlyZWN0aXZlLFxuICAgIEVjbEJhbm5lclBpY3R1cmVEaXJlY3RpdmUsXG4gICAgRWNsQmFubmVySW1hZ2VEaXJlY3RpdmUsXG5dO1xuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBFY2xMaW5rRGlyZWN0aXZlTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbLi4uQ09NUE9ORU5UU10sXG4gICAgZGVjbGFyYXRpb25zOiBbLi4uQ09NUE9ORU5UU10sXG59KVxuZXhwb3J0IGNsYXNzIEVjbEJhbm5lckNvbXBvbmVudE1vZHVsZSB7fVxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWJhbm5lci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLWJhbm5lci9lY2wtYmFubmVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0SCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFcEcsTUFBTSxVQUFVLEdBQUc7SUFDZixrQkFBa0I7SUFDbEIsdUJBQXVCO0lBQ3ZCLDJCQUEyQjtJQUMzQiw2QkFBNkI7SUFDN0IsaUNBQWlDO0lBQ2pDLHlCQUF5QjtJQUN6Qix1QkFBdUI7Q0FDMUIsQ0FBQztBQU1GLE1BQU0sT0FBTyx3QkFBd0I7bUhBQXhCLHdCQUF3QjtvSEFBeEIsd0JBQXdCLGlCQWJqQyxrQkFBa0I7WUFDbEIsdUJBQXVCO1lBQ3ZCLDJCQUEyQjtZQUMzQiw2QkFBNkI7WUFDN0IsaUNBQWlDO1lBQ2pDLHlCQUF5QjtZQUN6Qix1QkFBdUIsYUFHYixZQUFZLEVBQUUsc0JBQXNCLGFBVDlDLGtCQUFrQjtZQUNsQix1QkFBdUI7WUFDdkIsMkJBQTJCO1lBQzNCLDZCQUE2QjtZQUM3QixpQ0FBaUM7WUFDakMseUJBQXlCO1lBQ3pCLHVCQUF1QjtvSEFPZCx3QkFBd0IsWUFKdkIsWUFBWSxFQUFFLHNCQUFzQjs7Z0dBSXJDLHdCQUF3QjtrQkFMcEMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsc0JBQXNCLENBQUM7b0JBQy9DLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO29CQUN4QixZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEVjbEJhbm5lclRpdGxlRGlyZWN0aXZlLCBFY2xCYW5uZXJUaXRsZVRleHREaXJlY3RpdmUgfSBmcm9tICcuL2VjbC1iYW5uZXItdGl0bGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEVjbEJhbm5lckRlc2NyaXB0aW9uRGlyZWN0aXZlLCBFY2xCYW5uZXJEZXNjcmlwdGlvblRleHREaXJlY3RpdmUgfSBmcm9tICcuL2VjbC1iYW5uZXItZGVzY3JpcHRpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEVjbEJhbm5lckNvbXBvbmVudCB9IGZyb20gJy4vZWNsLWJhbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWNsTGlua0RpcmVjdGl2ZU1vZHVsZSB9IGZyb20gJy4uL2VjbC1saW5rL2VjbC1saW5rLm1vZHVsZSc7XG5pbXBvcnQgeyBFY2xCYW5uZXJJbWFnZURpcmVjdGl2ZSwgRWNsQmFubmVyUGljdHVyZURpcmVjdGl2ZSB9IGZyb20gJy4vZWNsLWJhbm5lci1waWN0dXJlLmRpcmVjdGl2ZSc7XG5cbmNvbnN0IENPTVBPTkVOVFMgPSBbXG4gICAgRWNsQmFubmVyQ29tcG9uZW50LFxuICAgIEVjbEJhbm5lclRpdGxlRGlyZWN0aXZlLFxuICAgIEVjbEJhbm5lclRpdGxlVGV4dERpcmVjdGl2ZSxcbiAgICBFY2xCYW5uZXJEZXNjcmlwdGlvbkRpcmVjdGl2ZSxcbiAgICBFY2xCYW5uZXJEZXNjcmlwdGlvblRleHREaXJlY3RpdmUsXG4gICAgRWNsQmFubmVyUGljdHVyZURpcmVjdGl2ZSxcbiAgICBFY2xCYW5uZXJJbWFnZURpcmVjdGl2ZSxcbl07XG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEVjbExpbmtEaXJlY3RpdmVNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFsuLi5DT01QT05FTlRTXSxcbiAgICBkZWNsYXJhdGlvbnM6IFsuLi5DT01QT05FTlRTXSxcbn0pXG5leHBvcnQgY2xhc3MgRWNsQmFubmVyQ29tcG9uZW50TW9kdWxlIHt9XG4iXX0=
@@ -3,6 +3,5 @@ export * from './ecl-banner.component';
3
3
  export * from './ecl-banner-title.directive';
4
4
  export * from './ecl-banner-title.directive';
5
5
  export * from './ecl-banner-description.directive';
6
- export * from './ecl-banner-credit.directive';
7
6
  export * from './ecl-banner-picture.directive';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLWJhbm5lci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lY2wtYmFubmVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2VjbC1iYW5uZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZWNsLWJhbm5lci10aXRsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9lY2wtYmFubmVyLXRpdGxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2VjbC1iYW5uZXItZGVzY3JpcHRpb24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZWNsLWJhbm5lci1jcmVkaXQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZWNsLWJhbm5lci1waWN0dXJlLmRpcmVjdGl2ZSc7XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLWJhbm5lci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZWNsLWJhbm5lci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9lY2wtYmFubmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VjbC1iYW5uZXItdGl0bGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZWNsLWJhbm5lci10aXRsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9lY2wtYmFubmVyLWRlc2NyaXB0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2VjbC1iYW5uZXItcGljdHVyZS5kaXJlY3RpdmUnO1xuIl19
@@ -9,9 +9,10 @@ import * as i4 from "../ecl-icon/ecl-icon.component";
9
9
  export class EclBreadcrumbSegmentClickEvent extends EclBaseEvent {
10
10
  }
11
11
  export class EclBreadcrumbSegmentComponent extends ECLBaseDirective {
12
- constructor(el) {
12
+ constructor(el, renderer2) {
13
13
  super();
14
14
  this.el = el;
15
+ this.renderer2 = renderer2;
15
16
  this.tabIndex = '-1';
16
17
  this.role = 'listitem';
17
18
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -19,19 +20,17 @@ export class EclBreadcrumbSegmentComponent extends ECLBaseDirective {
19
20
  this.queryParams = null;
20
21
  this.href = '';
21
22
  this.queryParamsHandling = null;
22
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
+ this.isEllipsis = false;
23
24
  this.isCurrentPage = false;
24
25
  this.isHidden = false;
25
26
  this.segmentClick = new EventEmitter();
26
27
  }
27
28
  get cssClasses() {
28
- return [super.getCssClasses('ecl-breadcrumb__segment'), this.isCurrentPage ? 'ecl-breadcrumb__current-page' : ''].join(' ').trim();
29
- }
30
- get isEllipsis() {
31
- return this.el.nativeElement.classList.contains('ecl-breadcrumb__segment--ellipsis');
32
- }
33
- getWidth() {
34
- return this.el.nativeElement.offsetWidth;
29
+ return [
30
+ super.getCssClasses('ecl-breadcrumb__segment'),
31
+ this.isCurrentPage ? 'ecl-breadcrumb__current-page' : '',
32
+ this.isEllipsis ? 'ecl-breadcrumb__segment--ellipsis' : '',
33
+ ].join(' ').trim();
35
34
  }
36
35
  onSegmentClick(evt) {
37
36
  this.segmentClick.next(new EclBreadcrumbSegmentClickEvent());
@@ -39,13 +38,13 @@ export class EclBreadcrumbSegmentComponent extends ECLBaseDirective {
39
38
  evt.stopPropagation();
40
39
  }
41
40
  }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EclBreadcrumbSegmentComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
43
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-rc.0", type: EclBreadcrumbSegmentComponent, selector: "ecl-breadcrumb-segment", inputs: { routerLink: "routerLink", queryParams: "queryParams", href: "href", queryParamsHandling: "queryParamsHandling", isCurrentPage: ["isCurrentPage", "isCurrentPage", booleanAttribute], isHidden: ["isHidden", "isHidden", booleanAttribute] }, outputs: { segmentClick: "segmentClick" }, host: { properties: { "attr.tabindex": "this.tabIndex", "attr.role": "this.role", "attr.aria-hidden": "this.isHidden", "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "@if (!isEllipsis) {\n@if (!isCurrentPage && href) {\n<a eclLink variant=\"standalone\" [isNoVisited]=\"true\" [href]=\"href\" tabindex=\"0\" (click)=\"onSegmentClick($event)\"\n class=\"ecl-breadcrumb__link\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n}\n@if (!isCurrentPage && !href) {\n<a eclLink [routerLink]=\"routerLink\" [queryParams]=\"queryParams\" [queryParamsHandling]=\"queryParamsHandling\"\n variant=\"standalone\" [isNoVisited]=\"true\" tabindex=\"0\" (click)=\"onSegmentClick($event)\"\n class=\"ecl-breadcrumb__link\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n}\n} @else {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n\n@if (isCurrentPage) {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n} @else {\n<ecl-icon role=\"presentation\" icon=\"corner-arrow\" ariaHidden=\"true\" focusable=\"false\" size=\"fluid\"\n class=\"ecl-breadcrumb__icon\">\n</ecl-icon>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isIconOnly", "isNoVisited", "variant"] }, { kind: "component", type: i4.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "ariaHidden", "focusable"] }], encapsulation: i0.ViewEncapsulation.None }); }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EclBreadcrumbSegmentComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-rc.0", type: EclBreadcrumbSegmentComponent, selector: "ecl-breadcrumb-segment", inputs: { routerLink: "routerLink", queryParams: "queryParams", href: "href", queryParamsHandling: "queryParamsHandling", isEllipsis: ["isEllipsis", "isEllipsis", booleanAttribute], isCurrentPage: ["isCurrentPage", "isCurrentPage", booleanAttribute], isHidden: ["isHidden", "isHidden", booleanAttribute] }, outputs: { segmentClick: "segmentClick" }, host: { properties: { "attr.tabindex": "this.tabIndex", "attr.role": "this.role", "attr.aria-hidden": "this.isHidden", "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "@if (!isEllipsis) {\n@if (!isCurrentPage && href) {\n<a eclLink variant=\"standalone\" [isNoVisited]=\"true\" [href]=\"href\" tabindex=\"0\" (click)=\"onSegmentClick($event)\"\n class=\"ecl-breadcrumb__link\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n}\n@if (!isCurrentPage && !href) {\n<a eclLink [routerLink]=\"routerLink\" [queryParams]=\"queryParams\" [queryParamsHandling]=\"queryParamsHandling\"\n variant=\"standalone\" [isNoVisited]=\"true\" tabindex=\"0\" (click)=\"onSegmentClick($event)\"\n class=\"ecl-breadcrumb__link\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n}\n} @else {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n\n@if (isCurrentPage) {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n} @else {\n<ecl-icon role=\"presentation\" icon=\"corner-arrow\" ariaHidden=\"true\" focusable=\"false\" size=\"fluid\"\n class=\"ecl-breadcrumb__icon\">\n</ecl-icon>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isIconOnly", "isNoVisited", "variant"] }, { kind: "component", type: i4.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "ariaHidden", "focusable"] }], encapsulation: i0.ViewEncapsulation.None }); }
44
43
  }
45
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EclBreadcrumbSegmentComponent, decorators: [{
46
45
  type: Component,
47
46
  args: [{ selector: 'ecl-breadcrumb-segment', encapsulation: ViewEncapsulation.None, template: "@if (!isEllipsis) {\n@if (!isCurrentPage && href) {\n<a eclLink variant=\"standalone\" [isNoVisited]=\"true\" [href]=\"href\" tabindex=\"0\" (click)=\"onSegmentClick($event)\"\n class=\"ecl-breadcrumb__link\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n}\n@if (!isCurrentPage && !href) {\n<a eclLink [routerLink]=\"routerLink\" [queryParams]=\"queryParams\" [queryParamsHandling]=\"queryParamsHandling\"\n variant=\"standalone\" [isNoVisited]=\"true\" tabindex=\"0\" (click)=\"onSegmentClick($event)\"\n class=\"ecl-breadcrumb__link\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n}\n} @else {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n\n@if (isCurrentPage) {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n} @else {\n<ecl-icon role=\"presentation\" icon=\"corner-arrow\" ariaHidden=\"true\" focusable=\"false\" size=\"fluid\"\n class=\"ecl-breadcrumb__icon\">\n</ecl-icon>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>" }]
48
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { tabIndex: [{
47
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { tabIndex: [{
49
48
  type: HostBinding,
50
49
  args: ['attr.tabindex']
51
50
  }], role: [{
@@ -59,6 +58,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
59
58
  type: Input
60
59
  }], queryParamsHandling: [{
61
60
  type: Input
61
+ }], isEllipsis: [{
62
+ type: Input,
63
+ args: [{ transform: booleanAttribute }]
62
64
  }], isCurrentPage: [{
63
65
  type: Input,
64
66
  args: [{ transform: booleanAttribute }]
@@ -74,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
74
76
  type: HostBinding,
75
77
  args: ['class']
76
78
  }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWJyZWFkY3J1bWItc2VnbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLWJyZWFkY3J1bWIvZWNsLWJyZWFkY3J1bWItc2VnbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLWJyZWFkY3J1bWIvZWNsLWJyZWFkY3J1bWItc2VnbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNySSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7QUFHekQsTUFBTSxPQUFPLDhCQUErQixTQUFRLFlBQVk7Q0FBRztBQU9uRSxNQUFNLE9BQU8sNkJBQThCLFNBQVEsZ0JBQWdCO0lBaUIvRCxZQUFtQixFQUFjO1FBQzdCLEtBQUssRUFBRSxDQUFDO1FBRE8sT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQWhCSCxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLFNBQUksR0FBRyxVQUFVLENBQUM7UUFFNUMsOERBQThEO1FBQ3JELGVBQVUsR0FBbUIsSUFBSSxDQUFDO1FBQ2xDLGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUNsQyxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1Ysd0JBQW1CLEdBQXdCLElBQUksQ0FBQztRQUN6RCw4REFBOEQ7UUFDdEIsa0JBQWEsR0FBa0IsS0FBSyxDQUFDO1FBRzdFLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFUCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFrQyxDQUFDO0lBSTVFLENBQUM7SUFFRCxJQUNJLFVBQVU7UUFDVixPQUFPLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkksQ0FBQztJQUVELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRCxRQUFRO1FBQ0osT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7SUFDN0MsQ0FBQztJQUVELGNBQWMsQ0FBQyxHQUFlO1FBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksOEJBQThCLEVBQUUsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDYixHQUFHLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDMUIsQ0FBQztJQUNMLENBQUM7bUhBdkNRLDZCQUE2Qjt1R0FBN0IsNkJBQTZCLGtOQVVsQixnQkFBZ0Isc0NBQ2hCLGdCQUFnQixzUEN2QnhDLCtoQ0EyQmM7O2dHRGZELDZCQUE2QjtrQkFMekMsU0FBUzsrQkFDSSx3QkFBd0IsaUJBRW5CLGlCQUFpQixDQUFDLElBQUk7K0VBR1AsUUFBUTtzQkFBckMsV0FBVzt1QkFBQyxlQUFlO2dCQUNGLElBQUk7c0JBQTdCLFdBQVc7dUJBQUMsV0FBVztnQkFHZixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFFa0MsYUFBYTtzQkFBcEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFHdEMsUUFBUTtzQkFGUCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFOztzQkFDckMsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBR3JCLFlBQVk7c0JBQXJCLE1BQU07Z0JBT0gsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBib29sZWFuQXR0cmlidXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFY2xCYXNlRXZlbnQgfSBmcm9tICcuLi8uLi9tb2RlbCc7XG5pbXBvcnQgeyBFQ0xCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZWNsLWJhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IFBhcmFtcywgUXVlcnlQYXJhbXNIYW5kbGluZyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmV4cG9ydCBjbGFzcyBFY2xCcmVhZGNydW1iU2VnbWVudENsaWNrRXZlbnQgZXh0ZW5kcyBFY2xCYXNlRXZlbnQge31cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlY2wtYnJlYWRjcnVtYi1zZWdtZW50JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWNsLWJyZWFkY3J1bWItc2VnbWVudC5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRWNsQnJlYWRjcnVtYlNlZ21lbnRDb21wb25lbnQgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIHtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKSB0YWJJbmRleCA9ICctMSc7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlID0gJ2xpc3RpdGVtJztcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgQElucHV0KCkgcm91dGVyTGluazogc3RyaW5nIHwgYW55W10gPSBudWxsO1xuICAgIEBJbnB1dCgpIHF1ZXJ5UGFyYW1zOiBQYXJhbXMgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSBocmVmID0gJyc7XG4gICAgQElucHV0KCkgcXVlcnlQYXJhbXNIYW5kbGluZzogUXVlcnlQYXJhbXNIYW5kbGluZyA9IG51bGw7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNDdXJyZW50UGFnZTogYm9vbGVhbiB8IGFueSA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhpZGRlbicpXG4gICAgaXNIaWRkZW4gPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBzZWdtZW50Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEVjbEJyZWFkY3J1bWJTZWdtZW50Q2xpY2tFdmVudD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbDogRWxlbWVudFJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLWJyZWFkY3J1bWJfX3NlZ21lbnQnKSwgdGhpcy5pc0N1cnJlbnRQYWdlID8gJ2VjbC1icmVhZGNydW1iX19jdXJyZW50LXBhZ2UnIDogJyddLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuXG4gICAgZ2V0IGlzRWxsaXBzaXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdlY2wtYnJlYWRjcnVtYl9fc2VnbWVudC0tZWxsaXBzaXMnKTtcbiAgICB9XG5cbiAgICBnZXRXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIH1cblxuICAgIG9uU2VnbWVudENsaWNrKGV2dDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlZ21lbnRDbGljay5uZXh0KG5ldyBFY2xCcmVhZGNydW1iU2VnbWVudENsaWNrRXZlbnQoKSk7XG4gICAgICAgIGlmICghdGhpcy5ocmVmKSB7XG4gICAgICAgICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaWYgKCFpc0VsbGlwc2lzKSB7XG5AaWYgKCFpc0N1cnJlbnRQYWdlICYmIGhyZWYpIHtcbjxhIGVjbExpbmsgdmFyaWFudD1cInN0YW5kYWxvbmVcIiBbaXNOb1Zpc2l0ZWRdPVwidHJ1ZVwiIFtocmVmXT1cImhyZWZcIiB0YWJpbmRleD1cIjBcIiAoY2xpY2spPVwib25TZWdtZW50Q2xpY2soJGV2ZW50KVwiXG4gICAgY2xhc3M9XCJlY2wtYnJlYWRjcnVtYl9fbGlua1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG48L2E+XG59XG5AaWYgKCFpc0N1cnJlbnRQYWdlICYmICFocmVmKSB7XG48YSBlY2xMaW5rIFtyb3V0ZXJMaW5rXT1cInJvdXRlckxpbmtcIiBbcXVlcnlQYXJhbXNdPVwicXVlcnlQYXJhbXNcIiBbcXVlcnlQYXJhbXNIYW5kbGluZ109XCJxdWVyeVBhcmFtc0hhbmRsaW5nXCJcbiAgICB2YXJpYW50PVwic3RhbmRhbG9uZVwiIFtpc05vVmlzaXRlZF09XCJ0cnVlXCIgdGFiaW5kZXg9XCIwXCIgKGNsaWNrKT1cIm9uU2VnbWVudENsaWNrKCRldmVudClcIlxuICAgIGNsYXNzPVwiZWNsLWJyZWFkY3J1bWJfX2xpbmtcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuPC9hPlxufVxufSBAZWxzZSB7XG48bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxufVxuXG5AaWYgKGlzQ3VycmVudFBhZ2UpIHtcbjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG59IEBlbHNlIHtcbjxlY2wtaWNvbiByb2xlPVwicHJlc2VudGF0aW9uXCIgaWNvbj1cImNvcm5lci1hcnJvd1wiIGFyaWFIaWRkZW49XCJ0cnVlXCIgZm9jdXNhYmxlPVwiZmFsc2VcIiBzaXplPVwiZmx1aWRcIlxuICAgIGNsYXNzPVwiZWNsLWJyZWFkY3J1bWJfX2ljb25cIj5cbjwvZWNsLWljb24+XG59XG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWJyZWFkY3J1bWItc2VnbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLWJyZWFkY3J1bWIvZWNsLWJyZWFkY3J1bWItc2VnbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLWJyZWFkY3J1bWIvZWNsLWJyZWFkY3J1bWItc2VnbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7QUFHekQsTUFBTSxPQUFPLDhCQUErQixTQUFRLFlBQVk7Q0FBRztBQU9uRSxNQUFNLE9BQU8sNkJBQThCLFNBQVEsZ0JBQWdCO0lBaUIvRCxZQUFtQixFQUFjLEVBQVUsU0FBb0I7UUFDM0QsS0FBSyxFQUFFLENBQUM7UUFETyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBVztRQWhCakMsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNwQixTQUFJLEdBQUcsVUFBVSxDQUFDO1FBRTVDLDhEQUE4RDtRQUNyRCxlQUFVLEdBQW1CLElBQUksQ0FBQztRQUNsQyxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFDbEMsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLHdCQUFtQixHQUF3QixJQUFJLENBQUM7UUFDakIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUc5RCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRVAsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBa0MsQ0FBQztJQUk1RSxDQUFDO0lBRUQsSUFDSSxVQUFVO1FBQ1YsT0FBTztZQUNILEtBQUssQ0FBQyxhQUFhLENBQUMseUJBQXlCLENBQUM7WUFDOUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDeEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDN0QsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGNBQWMsQ0FBQyxHQUFlO1FBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksOEJBQThCLEVBQUUsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDYixHQUFHLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDMUIsQ0FBQztJQUNMLENBQUM7bUhBbkNRLDZCQUE2Qjt1R0FBN0IsNkJBQTZCLHlNQVNsQixnQkFBZ0IscURBQ2hCLGdCQUFnQixzQ0FDaEIsZ0JBQWdCLHNQQ3ZCeEMsK2hDQTJCYzs7Z0dEZkQsNkJBQTZCO2tCQUx6QyxTQUFTOytCQUNJLHdCQUF3QixpQkFFbkIsaUJBQWlCLENBQUMsSUFBSTt1R0FHUCxRQUFRO3NCQUFyQyxXQUFXO3VCQUFDLGVBQWU7Z0JBQ0YsSUFBSTtzQkFBN0IsV0FBVzt1QkFBQyxXQUFXO2dCQUdmLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNrQyxVQUFVO3NCQUFqRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLGFBQWE7c0JBQXBELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBR3RDLFFBQVE7c0JBRlAsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTs7c0JBQ3JDLFdBQVc7dUJBQUMsa0JBQWtCO2dCQUdyQixZQUFZO3NCQUFyQixNQUFNO2dCQU9ILFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBSZW5kZXJlcjIsIFZpZXdFbmNhcHN1bGF0aW9uLCBib29sZWFuQXR0cmlidXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFY2xCYXNlRXZlbnQgfSBmcm9tICcuLi8uLi9tb2RlbCc7XG5pbXBvcnQgeyBFQ0xCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZWNsLWJhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IFBhcmFtcywgUXVlcnlQYXJhbXNIYW5kbGluZyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmV4cG9ydCBjbGFzcyBFY2xCcmVhZGNydW1iU2VnbWVudENsaWNrRXZlbnQgZXh0ZW5kcyBFY2xCYXNlRXZlbnQge31cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlY2wtYnJlYWRjcnVtYi1zZWdtZW50JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWNsLWJyZWFkY3J1bWItc2VnbWVudC5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRWNsQnJlYWRjcnVtYlNlZ21lbnRDb21wb25lbnQgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIHtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKSB0YWJJbmRleCA9ICctMSc7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlID0gJ2xpc3RpdGVtJztcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgQElucHV0KCkgcm91dGVyTGluazogc3RyaW5nIHwgYW55W10gPSBudWxsO1xuICAgIEBJbnB1dCgpIHF1ZXJ5UGFyYW1zOiBQYXJhbXMgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSBocmVmID0gJyc7XG4gICAgQElucHV0KCkgcXVlcnlQYXJhbXNIYW5kbGluZzogUXVlcnlQYXJhbXNIYW5kbGluZyA9IG51bGw7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzRWxsaXBzaXMgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNDdXJyZW50UGFnZSA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhpZGRlbicpXG4gICAgaXNIaWRkZW4gPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBzZWdtZW50Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEVjbEJyZWFkY3J1bWJTZWdtZW50Q2xpY2tFdmVudD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjI6IFJlbmRlcmVyMikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBzdXBlci5nZXRDc3NDbGFzc2VzKCdlY2wtYnJlYWRjcnVtYl9fc2VnbWVudCcpLFxuICAgICAgICAgICAgdGhpcy5pc0N1cnJlbnRQYWdlID8gJ2VjbC1icmVhZGNydW1iX19jdXJyZW50LXBhZ2UnIDogJycsXG4gICAgICAgICAgICB0aGlzLmlzRWxsaXBzaXMgPyAnZWNsLWJyZWFkY3J1bWJfX3NlZ21lbnQtLWVsbGlwc2lzJyA6ICcnLFxuICAgICAgICBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuXG4gICAgb25TZWdtZW50Q2xpY2soZXZ0OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VnbWVudENsaWNrLm5leHQobmV3IEVjbEJyZWFkY3J1bWJTZWdtZW50Q2xpY2tFdmVudCgpKTtcbiAgICAgICAgaWYgKCF0aGlzLmhyZWYpIHtcbiAgICAgICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpZiAoIWlzRWxsaXBzaXMpIHtcbkBpZiAoIWlzQ3VycmVudFBhZ2UgJiYgaHJlZikge1xuPGEgZWNsTGluayB2YXJpYW50PVwic3RhbmRhbG9uZVwiIFtpc05vVmlzaXRlZF09XCJ0cnVlXCIgW2hyZWZdPVwiaHJlZlwiIHRhYmluZGV4PVwiMFwiIChjbGljayk9XCJvblNlZ21lbnRDbGljaygkZXZlbnQpXCJcbiAgICBjbGFzcz1cImVjbC1icmVhZGNydW1iX19saW5rXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbjwvYT5cbn1cbkBpZiAoIWlzQ3VycmVudFBhZ2UgJiYgIWhyZWYpIHtcbjxhIGVjbExpbmsgW3JvdXRlckxpbmtdPVwicm91dGVyTGlua1wiIFtxdWVyeVBhcmFtc109XCJxdWVyeVBhcmFtc1wiIFtxdWVyeVBhcmFtc0hhbmRsaW5nXT1cInF1ZXJ5UGFyYW1zSGFuZGxpbmdcIlxuICAgIHZhcmlhbnQ9XCJzdGFuZGFsb25lXCIgW2lzTm9WaXNpdGVkXT1cInRydWVcIiB0YWJpbmRleD1cIjBcIiAoY2xpY2spPVwib25TZWdtZW50Q2xpY2soJGV2ZW50KVwiXG4gICAgY2xhc3M9XCJlY2wtYnJlYWRjcnVtYl9fbGlua1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG48L2E+XG59XG59IEBlbHNlIHtcbjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG59XG5cbkBpZiAoaXNDdXJyZW50UGFnZSkge1xuPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbn0gQGVsc2Uge1xuPGVjbC1pY29uIHJvbGU9XCJwcmVzZW50YXRpb25cIiBpY29uPVwiY29ybmVyLWFycm93XCIgYXJpYUhpZGRlbj1cInRydWVcIiBmb2N1c2FibGU9XCJmYWxzZVwiIHNpemU9XCJmbHVpZFwiXG4gICAgY2xhc3M9XCJlY2wtYnJlYWRjcnVtYl9faWNvblwiPlxuPC9lY2wtaWNvbj5cbn1cbjxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -16,8 +16,6 @@ export class EclBreadcrumbComponent extends ECLBaseDirective {
16
16
  this.role = 'navigation';
17
17
  this.destroy$ = new Subject();
18
18
  this.nonStaticSegments = [];
19
- this.staticSegments = [];
20
- this.MINIMUM_WIDTH = 767;
21
19
  }
22
20
  get cssClasses() {
23
21
  return [super.getCssClasses('ecl-breadcrumb'),
@@ -66,15 +64,9 @@ export class EclBreadcrumbComponent extends ECLBaseDirective {
66
64
  if (this.hasEnoughSegments()) {
67
65
  setTimeout(() => {
68
66
  if (this.isBreadcrumbOverflowed()) {
69
- // if (this.getBreadcrumbTotalWidth() < this.MINIMUM_WIDTH) {
70
- // this.hideNonStaticSegments();
71
- // this.showEllipsis();
72
- // this.collapse();
73
- // } else {
74
67
  this.hideNonStaticSegments();
75
68
  this.showEllipsis();
76
69
  this.collapse();
77
- //}
78
70
  }
79
71
  else {
80
72
  this.hideEllipsis();
@@ -103,12 +95,6 @@ export class EclBreadcrumbComponent extends ECLBaseDirective {
103
95
  hideEllipsis() {
104
96
  this.eclEllipsisSegment.isHidden = true;
105
97
  }
106
- getEllipsisWidth() {
107
- return this.eclEllipsisSegment.getWidth();
108
- }
109
- getStaticElementsWidth() {
110
- return this.staticSegments.reduce((width, segmentComponent) => width + segmentComponent.getWidth(), 0);
111
- }
112
98
  showEllipsis() {
113
99
  this.eclEllipsisSegment.isHidden = false;
114
100
  }
@@ -117,7 +103,6 @@ export class EclBreadcrumbComponent extends ECLBaseDirective {
117
103
  }
118
104
  handleStaticAndNonStaticSegments() {
119
105
  if (this.hasEnoughSegments()) {
120
- this.staticSegments = [this.eclSegments.first, ...this.eclSegments.toArray().slice(-2)];
121
106
  this.nonStaticSegments = this.eclSegments.toArray().slice(1, this.eclSegments.length - 2);
122
107
  }
123
108
  }
@@ -133,11 +118,11 @@ export class EclBreadcrumbComponent extends ECLBaseDirective {
133
118
  return this.eclSegments.reduce((width, segmentComponent) => width + segmentComponent.el.nativeElement.offsetWidth, 0);
134
119
  }
135
120
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EclBreadcrumbComponent, deps: [{ token: i0.ElementRef }, { token: i1.TranslateService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
136
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0-rc.0", type: EclBreadcrumbComponent, selector: "ecl-breadcrumb", inputs: { isExpanded: ["isExpanded", "isExpanded", booleanAttribute] }, host: { listeners: { "window:resize": "onWindowResize($event)" }, properties: { "attr.role": "this.role", "attr.aria-label": "this.ariaLabel", "class": "this.cssClasses" } }, queries: [{ propertyName: "eclSegments", predicate: i0.forwardRef(() => EclBreadcrumbSegmentComponent) }], viewQueries: [{ propertyName: "eclEllipsisSegment", first: true, predicate: ["ellipsisSegment"], descendants: true }, { propertyName: "breadcrumbContainer", first: true, predicate: ["breadcrumbContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ol class=\"ecl-breadcrumb__container\" #breadcrumbContainer>\n <ecl-breadcrumb-segment #ellipsisSegment [isHidden]=\"true\" class=\"ecl-breadcrumb__segment--ellipsis\">\n <button\n tabindex=\"0\"\n eclButton\n variant=\"ghost\"\n class=\"ecl-breadcrumb__ellipsis\"\n [attr.aria-label]=\"'ecl.breadcrumb.CLICK-TO-EXPAND' | translate\"\n (click)=\"onEllipsisSegmentClick($event)\">\n ...\n </button>\n </ecl-breadcrumb-segment>\n <ng-content></ng-content>\n</ol>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: i2.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "component", type: i3.EclBreadcrumbSegmentComponent, selector: "ecl-breadcrumb-segment", inputs: ["routerLink", "queryParams", "href", "queryParamsHandling", "isCurrentPage", "isHidden"], outputs: ["segmentClick"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
121
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0-rc.0", type: EclBreadcrumbComponent, selector: "ecl-breadcrumb", inputs: { isExpanded: ["isExpanded", "isExpanded", booleanAttribute] }, host: { listeners: { "window:resize": "onWindowResize($event)" }, properties: { "attr.role": "this.role", "attr.aria-label": "this.ariaLabel", "class": "this.cssClasses" } }, queries: [{ propertyName: "eclSegments", predicate: i0.forwardRef(() => EclBreadcrumbSegmentComponent) }], viewQueries: [{ propertyName: "eclEllipsisSegment", first: true, predicate: ["ellipsisSegment"], descendants: true }, { propertyName: "breadcrumbContainer", first: true, predicate: ["breadcrumbContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ol class=\"ecl-breadcrumb__container\" #breadcrumbContainer>\n <ecl-breadcrumb-segment #ellipsisSegment [isHidden]=\"true\" isEllipsis>\n <button\n tabindex=\"0\"\n eclButton\n variant=\"ghost\"\n class=\"ecl-breadcrumb__ellipsis\"\n [attr.aria-label]=\"'ecl.breadcrumb.CLICK-TO-EXPAND' | translate\"\n (click)=\"onEllipsisSegmentClick($event)\">\n ...\n </button>\n </ecl-breadcrumb-segment>\n <ng-content></ng-content>\n</ol>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: i2.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "component", type: i3.EclBreadcrumbSegmentComponent, selector: "ecl-breadcrumb-segment", inputs: ["routerLink", "queryParams", "href", "queryParamsHandling", "isEllipsis", "isCurrentPage", "isHidden"], outputs: ["segmentClick"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
137
122
  }
138
123
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EclBreadcrumbComponent, decorators: [{
139
124
  type: Component,
140
- args: [{ selector: 'ecl-breadcrumb', template: "<ol class=\"ecl-breadcrumb__container\" #breadcrumbContainer>\n <ecl-breadcrumb-segment #ellipsisSegment [isHidden]=\"true\" class=\"ecl-breadcrumb__segment--ellipsis\">\n <button\n tabindex=\"0\"\n eclButton\n variant=\"ghost\"\n class=\"ecl-breadcrumb__ellipsis\"\n [attr.aria-label]=\"'ecl.breadcrumb.CLICK-TO-EXPAND' | translate\"\n (click)=\"onEllipsisSegmentClick($event)\">\n ...\n </button>\n </ecl-breadcrumb-segment>\n <ng-content></ng-content>\n</ol>\n", styles: [":host{display:block}\n"] }]
125
+ args: [{ selector: 'ecl-breadcrumb', template: "<ol class=\"ecl-breadcrumb__container\" #breadcrumbContainer>\n <ecl-breadcrumb-segment #ellipsisSegment [isHidden]=\"true\" isEllipsis>\n <button\n tabindex=\"0\"\n eclButton\n variant=\"ghost\"\n class=\"ecl-breadcrumb__ellipsis\"\n [attr.aria-label]=\"'ecl.breadcrumb.CLICK-TO-EXPAND' | translate\"\n (click)=\"onEllipsisSegmentClick($event)\">\n ...\n </button>\n </ecl-breadcrumb-segment>\n <ng-content></ng-content>\n</ol>\n", styles: [":host{display:block}\n"] }]
141
126
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.TranslateService }, { type: i0.Renderer2 }], propDecorators: { isExpanded: [{
142
127
  type: Input,
143
128
  args: [{ transform: booleanAttribute }]
@@ -163,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
163
148
  type: HostListener,
164
149
  args: ['window:resize', ['$event']]
165
150
  }] } });
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWJyZWFkY3J1bWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1icmVhZGNydW1iL2VjbC1icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtYnJlYWRjcnVtYi9lY2wtYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULGVBQWUsRUFFZixXQUFXLEVBQ1gsS0FBSyxFQUtMLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsVUFBVSxFQUNWLFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7QUFhbkYsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGdCQUFnQjtJQWlCeEQsWUFDWSxFQUFjLEVBQ2QsU0FBMkIsRUFDM0IsUUFBbUI7UUFFM0IsS0FBSyxFQUFFLENBQUM7UUFKQSxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQWxCUyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLFNBQUksR0FBRyxZQUFZLENBQUM7UUFTdEMsYUFBUSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQ3BELHNCQUFpQixHQUFvQyxFQUFFLENBQUM7UUFDeEQsbUJBQWMsR0FBb0MsRUFBRSxDQUFDO1FBQ3JELGtCQUFhLEdBQUcsR0FBRyxDQUFDO0lBUTVCLENBQUM7SUFFRCxJQUNJLFVBQVU7UUFDVixPQUFP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LFNBQVM7dUJBQUMsaUJBQWlCO2dCQUNNLG1CQUFtQjtzQkFBcEQsU0FBUzt1QkFBQyxxQkFBcUI7Z0JBR2hDLFdBQVc7c0JBRFYsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsNkJBQTZCLENBQUM7Z0JBaUI1RCxVQUFVO3NCQURiLFdBQVc7dUJBQUMsT0FBTztnQkEwQnBCLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGQsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRWNsQnJlYWRjcnVtYlNlZ21lbnRDb21wb25lbnQgfSBmcm9tICcuL2VjbC1icmVhZGNydW1iLXNlZ21lbnQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlY2wtYnJlYWRjcnVtYicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VjbC1icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICBgLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVjbEJyZWFkY3J1bWJDb21wb25lbnQgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzRXhwYW5kZWQgPSBmYWxzZTtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGUgPSAnbmF2aWdhdGlvbic7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWwnKSBhcmlhTGFiZWw7XG5cbiAgICBAVmlld0NoaWxkKCdlbGxpcHNpc1NlZ21lbnQnKSBlY2xFbGxpcHNpc1NlZ21lbnQ6IEVjbEJyZWFkY3J1bWJTZWdtZW50Q29tcG9uZW50O1xuICAgIEBWaWV3Q2hpbGQoJ2JyZWFkY3J1bWJDb250YWluZXInKSBicmVhZGNydW1iQ29udGFpbmVyOiBFbGVtZW50UmVmO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEVjbEJyZWFkY3J1bWJTZWdtZW50Q29tcG9uZW50KSlcbiAgICBlY2xTZWdtZW50czogUXVlcnlMaXN0PEVjbEJyZWFkY3J1bWJTZWdtZW50Q29tcG9uZW50PjtcblxuICAgIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICAgIHByaXZhdGUgbm9uU3RhdGljU2VnbWVudHM6IEVjbEJyZWFkY3J1bWJTZWdtZW50Q29tcG9uZW50W10gPSBbXTtcbiAgICBwcml2YXRlIHN0YXRpY1NlZ21lbnRzOiBFY2xCcmVhZGNydW1iU2VnbWVudENvbXBvbmVudFtdID0gW107XG4gICAgcHJpdmF0ZSBNSU5JTVVNX1dJRFRIID0gNzY3O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtzdXBlci5nZXRDc3NDbGFzc2VzKCdlY2wtYnJlYWRjcnVtYicpLFxuICAgICAgICB0aGlzLmlzRXhwYW5kZWQgPyAnJyA6ICdlY2wtYnJlYWRjcnVtYi0tY29sbGFwc2VkJ10uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50cmFuc2xhdGVcbiAgICAgICAgICAgIC5zdHJlYW0oJ2VjbC5icmVhZGNydW1iLllPVS1BUkUtSEVSRScpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh0ZXh0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hcmlhTGFiZWwgPSB0ZXh0O1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXQoKTtcbiAgICAgICAgdGhpcy5oYW5kbGVPdmVyZmxvd25TZWdtZW50cygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgICBvbldpbmRvd1Jlc2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oYW5kbGVPdmVyZmxvd25TZWdtZW50cygpO1xuICAgIH1cblxuICAgIG9uRWxsaXBzaXNTZWdtZW50Q2xpY2soZXZ0OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWNsU2VnbWVudHMuZm9yRWFjaCgoc2VnbWVudCkgPT4ge1xuICAgICAgICAgICAgc2VnbWVudC5pc0hpZGRlbiA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5oaWRlRWxsaXBzaXMoKTtcbiAgICAgICAgdGhpcy5pc0V4cGFuZGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXQoKTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pbnNlcnRFbGxpcHNpc1NlZ21lbnRJbnRvUG9zaXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlU3RhdGljQW5kTm9uU3RhdGljU2VnbWVudHMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbnNlcnRFbGxpcHNpc1NlZ21lbnRJbnRvUG9zaXRpb24oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhhc0Vub3VnaFNlZ21lbnRzKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHNlY29uZEVjbFNlZ21lbnRFbDogSFRNTEVsZW1lbnQgPSB0aGlzLmVjbFNlZ21lbnRzLmdldCgxKS5lbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgY29uc3QgZWxsaXBzaXNTZWdtZW50RWw6IEhUTUxFbGVtZW50ID0gdGhpcy5lY2xFbGxpcHNpc1NlZ21lbnQuZWwubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKHRoaXMuYnJlYWRjcnVtYkNvbnRhaW5lci5uYXRpdmVFbGVtZW50LCBlbGxpcHNpc1NlZ21lbnRFbCwgc2Vjb25kRWNsU2VnbWVudEVsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlT3ZlcmZsb3duU2VnbWVudHMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhhc0Vub3VnaFNlZ21lbnRzKCkpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzQnJlYWRjcnVtYk92ZXJmbG93ZWQoKSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBpZiAodGhpcy5nZXRCcmVhZGNydW1iVG90YWxXaWR0aCgpIDwgdGhpcy5NSU5JTVVNX1dJRFRIKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vICAgICB0aGlzLmhpZGVOb25TdGF0aWNTZWdtZW50cygpO1xuICAgICAgICAgICAgICAgICAgICAvLyAgICAgdGhpcy5zaG93RWxsaXBzaXMoKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgIHRoaXMuY29sbGFwc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGlkZU5vblN0YXRpY1NlZ21lbnRzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dFbGxpcHNpcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2xsYXBzZSgpO1xuICAgICAgICAgICAgICAgICAgICAvL31cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhpZGVFbGxpcHNpcygpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dOb25TdGF0aWNTZWdtZW50cygpXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXhwYW5kKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhpZGVOb25TdGF0aWNTZWdtZW50cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ub25TdGF0aWNTZWdtZW50cy5mb3JFYWNoKChzZWdtZW50KSA9PiB7XG4gICAgICAgICAgICBzZWdtZW50LmlzSGlkZGVuID0gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzaG93Tm9uU3RhdGljU2VnbWVudHMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubm9uU3RhdGljU2VnbWVudHMuZm9yRWFjaCgoc2VnbWVudCkgPT4ge1xuICAgICAgICAgICAgc2VnbWVudC5pc0hpZGRlbiA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbGxhcHNlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzRXhwYW5kZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGV4cGFuZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0V4cGFuZGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhpZGVFbGxpcHNpcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lY2xFbGxpcHNpc1NlZ21lbnQuaXNIaWRkZW4gPSB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RWxsaXBzaXNXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5lY2xFbGxpcHNpc1NlZ21lbnQuZ2V0V2lkdGgoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFN0YXRpY0VsZW1lbnRzV2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGljU2VnbWVudHMucmVkdWNlKCh3aWR0aDogbnVtYmVyLCBzZWdtZW50Q29tcG9uZW50KSA9PiB3aWR0aCArIHNlZ21lbnRDb21wb25lbnQuZ2V0V2lkdGgoKSwgMCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzaG93RWxsaXBzaXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWNsRWxsaXBzaXNTZWdtZW50LmlzSGlkZGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNFbm91Z2hTZWdtZW50cygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWNsU2VnbWVudHMgJiYgdGhpcy5lY2xTZWdtZW50cy5sZW5ndGggPiAzO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlU3RhdGljQW5kTm9uU3RhdGljU2VnbWVudHMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhhc0Vub3VnaFNlZ21lbnRzKCkpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGljU2VnbWVudHMgPSBbdGhpcy5lY2xTZWdtZW50cy5maXJzdCwgLi4udGhpcy5lY2xTZWdtZW50cy50b0FycmF5KCkuc2xpY2UoLTIpXTtcbiAgICAgICAgICAgIHRoaXMubm9uU3RhdGljU2VnbWVudHMgPSB0aGlzLmVjbFNlZ21lbnRzLnRvQXJyYXkoKS5zbGljZSgxLCB0aGlzLmVjbFNlZ21lbnRzLmxlbmd0aCAtIDIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0JyZWFkY3J1bWJPdmVyZmxvd2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBicmVhZGNydW1iVG90YWxXaWR0aCA9IHRoaXMuZ2V0QnJlYWRjcnVtYlRvdGFsV2lkdGgoKTtcbiAgICAgICAgY29uc3Qgc2VnbWVudHNUb3RhbFdpZHRoID0gdGhpcy5nZXRTZWdtZW50c1RvdGFsV2lkdGgoKTtcblxuICAgICAgICByZXR1cm4gc2VnbWVudHNUb3RhbFdpZHRoID4gYnJlYWRjcnVtYlRvdGFsV2lkdGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRCcmVhZGNydW1iVG90YWxXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VnbWVudHNUb3RhbFdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmVjbFNlZ21lbnRzLnJlZHVjZSgod2lkdGg6IG51bWJlciwgc2VnbWVudENvbXBvbmVudCkgPT4gd2lkdGggKyBzZWdtZW50Q29tcG9uZW50LmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgsIDApO1xuICAgIH1cbn1cbiIsIjxvbCBjbGFzcz1cImVjbC1icmVhZGNydW1iX19jb250YWluZXJcIiAjYnJlYWRjcnVtYkNvbnRhaW5lcj5cbiAgICA8ZWNsLWJyZWFkY3J1bWItc2VnbWVudCAjZWxsaXBzaXNTZWdtZW50IFtpc0hpZGRlbl09XCJ0cnVlXCIgY2xhc3M9XCJlY2wtYnJlYWRjcnVtYl9fc2VnbWVudC0tZWxsaXBzaXNcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgIGVjbEJ1dHRvblxuICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcbiAgICAgICAgICAgIGNsYXNzPVwiZWNsLWJyZWFkY3J1bWJfX2VsbGlwc2lzXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ2VjbC5icmVhZGNydW1iLkNMSUNLLVRPLUVYUEFORCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uRWxsaXBzaXNTZWdtZW50Q2xpY2soJGV2ZW50KVwiPlxuICAgICAgICAgICAgLi4uXG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZWNsLWJyZWFkY3J1bWItc2VnbWVudD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L29sPlxuIl19
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWJyZWFkY3J1bWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1icmVhZGNydW1iL2VjbC1icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtYnJlYWRjcnVtYi9lY2wtYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULGVBQWUsRUFFZixXQUFXLEVBQ1gsS0FBSyxFQUtMLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsVUFBVSxFQUNWLFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7QUFhbkYsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGdCQUFnQjtJQWV4RCxZQUNZLEVBQWMsRUFDZCxTQUEyQixFQUMzQixRQUFtQjtRQUUzQixLQUFLLEVBQUUsQ0FBQztRQUpBLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBaEJTLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDakMsU0FBSSxHQUFHLFlBQVksQ0FBQztRQVN0QyxhQUFRLEdBQXFCLElBQUksT0FBTyxFQUFXLENBQUM7UUFDcEQsc0JBQWlCLEdBQW9DLEVBQUUsQ0FBQztJQVFoRSxDQUFDO0lBRUQsSUFDSSxVQUFVO1FBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUM7WUFDN0MsSUFBSSxDQUFDLFVB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QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBYSxFQUFFLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbEksQ0FBQzttSEEvSVEsc0JBQXNCO3VHQUF0QixzQkFBc0IsaUZBRVgsZ0JBQWdCLDRQQU9GLDZCQUE2Qix5UkN6Q25FLG9oQkFjQTs7Z0dEa0JhLHNCQUFzQjtrQkFYbEMsU0FBUzsrQkFDSSxnQkFBZ0I7c0lBWWMsVUFBVTtzQkFBakQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDWixJQUFJO3NCQUE3QixXQUFXO3VCQUFDLFdBQVc7Z0JBQ1EsU0FBUztzQkFBeEMsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBRUEsa0JBQWtCO3NCQUEvQyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFDTSxtQkFBbUI7c0JBQXBELFNBQVM7dUJBQUMscUJBQXFCO2dCQUdoQyxXQUFXO3NCQURWLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDZCQUE2QixDQUFDO2dCQWU1RCxVQUFVO3NCQURiLFdBQVc7dUJBQUMsT0FBTztnQkEwQnBCLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGQsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRWNsQnJlYWRjcnVtYlNlZ21lbnRDb21wb25lbnQgfSBmcm9tICcuL2VjbC1icmVhZGNydW1iLXNlZ21lbnQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlY2wtYnJlYWRjcnVtYicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VjbC1icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICBgLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVjbEJyZWFkY3J1bWJDb21wb25lbnQgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzRXhwYW5kZWQgPSBmYWxzZTtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGUgPSAnbmF2aWdhdGlvbic7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWwnKSBhcmlhTGFiZWw7XG5cbiAgICBAVmlld0NoaWxkKCdlbGxpcHNpc1NlZ21lbnQnKSBlY2xFbGxpcHNpc1NlZ21lbnQ6IEVjbEJyZWFkY3J1bWJTZWdtZW50Q29tcG9uZW50O1xuICAgIEBWaWV3Q2hpbGQoJ2JyZWFkY3J1bWJDb250YWluZXInKSBicmVhZGNydW1iQ29udGFpbmVyOiBFbGVtZW50UmVmO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEVjbEJyZWFkY3J1bWJTZWdtZW50Q29tcG9uZW50KSlcbiAgICBlY2xTZWdtZW50czogUXVlcnlMaXN0PEVjbEJyZWFkY3J1bWJTZWdtZW50Q29tcG9uZW50PjtcblxuICAgIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICAgIHByaXZhdGUgbm9uU3RhdGljU2VnbWVudHM6IEVjbEJyZWFkY3J1bWJTZWdtZW50Q29tcG9uZW50W10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLWJyZWFkY3J1bWInKSxcbiAgICAgICAgdGhpcy5pc0V4cGFuZGVkID8gJycgOiAnZWNsLWJyZWFkY3J1bWItLWNvbGxhcHNlZCddLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlXG4gICAgICAgICAgICAuc3RyZWFtKCdlY2wuYnJlYWRjcnVtYi5ZT1UtQVJFLUhFUkUnKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgodGV4dCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYXJpYUxhYmVsID0gdGV4dDtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0KCk7XG4gICAgICAgIHRoaXMuaGFuZGxlT3ZlcmZsb3duU2VnbWVudHMoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG4gICAgb25XaW5kb3dSZXNpemUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGFuZGxlT3ZlcmZsb3duU2VnbWVudHMoKTtcbiAgICB9XG5cbiAgICBvbkVsbGlwc2lzU2VnbWVudENsaWNrKGV2dDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVjbFNlZ21lbnRzLmZvckVhY2goKHNlZ21lbnQpID0+IHtcbiAgICAgICAgICAgIHNlZ21lbnQuaXNIaWRkZW4gPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuaGlkZUVsbGlwc2lzKCk7XG4gICAgICAgIHRoaXMuaXNFeHBhbmRlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0KCk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5zZXJ0RWxsaXBzaXNTZWdtZW50SW50b1Bvc2l0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVN0YXRpY0FuZE5vblN0YXRpY1NlZ21lbnRzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5zZXJ0RWxsaXBzaXNTZWdtZW50SW50b1Bvc2l0aW9uKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5oYXNFbm91Z2hTZWdtZW50cygpKSB7XG4gICAgICAgICAgICBjb25zdCBzZWNvbmRFY2xTZWdtZW50RWw6IEhUTUxFbGVtZW50ID0gdGhpcy5lY2xTZWdtZW50cy5nZXQoMSkuZWwubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IGVsbGlwc2lzU2VnbWVudEVsOiBIVE1MRWxlbWVudCA9IHRoaXMuZWNsRWxsaXBzaXNTZWdtZW50LmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZSh0aGlzLmJyZWFkY3J1bWJDb250YWluZXIubmF0aXZlRWxlbWVudCwgZWxsaXBzaXNTZWdtZW50RWwsIHNlY29uZEVjbFNlZ21lbnRFbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZU92ZXJmbG93blNlZ21lbnRzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5oYXNFbm91Z2hTZWdtZW50cygpKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0JyZWFkY3J1bWJPdmVyZmxvd2VkKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGlkZU5vblN0YXRpY1NlZ21lbnRzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dFbGxpcHNpcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2xsYXBzZSgpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGlkZUVsbGlwc2lzKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd05vblN0YXRpY1NlZ21lbnRzKClcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5leHBhbmQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGlkZU5vblN0YXRpY1NlZ21lbnRzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5vblN0YXRpY1NlZ21lbnRzLmZvckVhY2goKHNlZ21lbnQpID0+IHtcbiAgICAgICAgICAgIHNlZ21lbnQuaXNIaWRkZW4gPSB0cnVlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3dOb25TdGF0aWNTZWdtZW50cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ub25TdGF0aWNTZWdtZW50cy5mb3JFYWNoKChzZWdtZW50KSA9PiB7XG4gICAgICAgICAgICBzZWdtZW50LmlzSGlkZGVuID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29sbGFwc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNFeHBhbmRlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZXhwYW5kKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzRXhwYW5kZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGlkZUVsbGlwc2lzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVjbEVsbGlwc2lzU2VnbWVudC5pc0hpZGRlbiA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzaG93RWxsaXBzaXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWNsRWxsaXBzaXNTZWdtZW50LmlzSGlkZGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNFbm91Z2hTZWdtZW50cygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWNsU2VnbWVudHMgJiYgdGhpcy5lY2xTZWdtZW50cy5sZW5ndGggPiAzO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlU3RhdGljQW5kTm9uU3RhdGljU2VnbWVudHMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhhc0Vub3VnaFNlZ21lbnRzKCkpIHtcbiAgICAgICAgICAgIHRoaXMubm9uU3RhdGljU2VnbWVudHMgPSB0aGlzLmVjbFNlZ21lbnRzLnRvQXJyYXkoKS5zbGljZSgxLCB0aGlzLmVjbFNlZ21lbnRzLmxlbmd0aCAtIDIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0JyZWFkY3J1bWJPdmVyZmxvd2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBicmVhZGNydW1iVG90YWxXaWR0aCA9IHRoaXMuZ2V0QnJlYWRjcnVtYlRvdGFsV2lkdGgoKTtcbiAgICAgICAgY29uc3Qgc2VnbWVudHNUb3RhbFdpZHRoID0gdGhpcy5nZXRTZWdtZW50c1RvdGFsV2lkdGgoKTtcblxuICAgICAgICByZXR1cm4gc2VnbWVudHNUb3RhbFdpZHRoID4gYnJlYWRjcnVtYlRvdGFsV2lkdGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRCcmVhZGNydW1iVG90YWxXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VnbWVudHNUb3RhbFdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmVjbFNlZ21lbnRzLnJlZHVjZSgod2lkdGg6IG51bWJlciwgc2VnbWVudENvbXBvbmVudCkgPT4gd2lkdGggKyBzZWdtZW50Q29tcG9uZW50LmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgsIDApO1xuICAgIH1cbn1cbiIsIjxvbCBjbGFzcz1cImVjbC1icmVhZGNydW1iX19jb250YWluZXJcIiAjYnJlYWRjcnVtYkNvbnRhaW5lcj5cbiAgICA8ZWNsLWJyZWFkY3J1bWItc2VnbWVudCAjZWxsaXBzaXNTZWdtZW50IFtpc0hpZGRlbl09XCJ0cnVlXCIgaXNFbGxpcHNpcz5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgIGVjbEJ1dHRvblxuICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcbiAgICAgICAgICAgIGNsYXNzPVwiZWNsLWJyZWFkY3J1bWJfX2VsbGlwc2lzXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ2VjbC5icmVhZGNydW1iLkNMSUNLLVRPLUVYUEFORCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uRWxsaXBzaXNTZWdtZW50Q2xpY2soJGV2ZW50KVwiPlxuICAgICAgICAgICAgLi4uXG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZWNsLWJyZWFkY3J1bWItc2VnbWVudD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L29sPlxuIl19
@@ -50,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
50
50
  type: ContentChild,
51
51
  args: [forwardRef(() => EclCardImageDirective), { descendants: true }]
52
52
  }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1jYXJkL2VjbC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtY2FyZC9lY2wtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQTRCLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFhckUsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGdCQUFnQjtJQUdsRCxJQUNJLFVBQVU7UUFDVixPQUFPLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5RCxDQUFDO0lBTUQsWUFBb0IsUUFBbUI7UUFDbkMsS0FBSyxFQUFFLENBQUM7UUFEUSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBWGIsU0FBSSxHQUFHLFNBQVMsQ0FBQztJQWEzQyxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBRS9CLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxHQUFHLHlCQUF5QixDQUFDO1FBQzNELENBQUM7SUFDTCxDQUFDO0lBRU8sdUJBQXVCO1FBQzNCLElBQUksSUFBSSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqRSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDaEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUU7b0JBQ25FLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDL0QsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1FBQ0wsQ0FBQztJQUVMLENBQUM7bUhBbENRLGdCQUFnQjt1R0FBaEIsZ0JBQWdCLGlNQVFNLHdCQUF3Qiw0R0FDeEIsNkJBQTZCLG9HQUM3QixxQkFBcUIsd0VDMUJ4RCw2QkFDQTs7Z0dEZWEsZ0JBQWdCO2tCQVg1QixTQUFTOytCQUNJLFVBQVU7OEVBV00sSUFBSTtzQkFBN0IsV0FBVzt1QkFBQyxXQUFXO2dCQUdwQixVQUFVO3NCQURiLFdBQVc7dUJBQUMsT0FBTztnQkFLNkQsZUFBZTtzQkFBL0YsWUFBWTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBQ08sb0JBQW9CO3NCQUF6RyxZQUFZO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFDTixZQUFZO3NCQUF6RixZQUFZO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIENvbnRlbnRDaGlsZCwgUmVuZGVyZXIyLCBBZnRlclZpZXdJbml0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFQ0xCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZWNsLWJhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEVjbENvbnRlbnRCbG9ja0NvbXBvbmVudCwgRWNsQ29udGVudEJsb2NrVGl0bGVEaXJlY3RpdmUgfSBmcm9tICcuLi9lY2wtY29udGVudC1ibG9jayc7XG5pbXBvcnQgeyBFY2xDYXJkSW1hZ2VEaXJlY3RpdmUgfSBmcm9tICcuL2VjbC1jYXJkLXBpY3R1cmUuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlY2wtY2FyZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VjbC1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICBgLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVjbENhcmRDb21wb25lbnQgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlID0gJ2FydGljbGUnO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtzdXBlci5nZXRDc3NDbGFzc2VzKCdlY2wtY2FyZCcpXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBFY2xDb250ZW50QmxvY2tDb21wb25lbnQpLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIGVjbENvbnRlbnRCbG9jazogRWNsQ29udGVudEJsb2NrQ29tcG9uZW50O1xuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBFY2xDb250ZW50QmxvY2tUaXRsZURpcmVjdGl2ZSksIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgZWNsQ29udGVudEJsb2NrVGl0bGU6IEVjbENvbnRlbnRCbG9ja1RpdGxlRGlyZWN0aXZlO1xuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBFY2xDYXJkSW1hZ2VEaXJlY3RpdmUpLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIGVjbENhcmRJbWFnZTogRWNsQ2FyZEltYWdlRGlyZWN0aXZlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmF0dGFjaENsaWNrRXZlbnRUb0ltYWdlKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuZWNsQ29udGVudEJsb2NrKSB7XG4gICAgICAgICAgICB0aGlzLmVjbENvbnRlbnRCbG9jay5jbGFzcyA9ICdlY2wtY2FyZF9fY29udGVudC1ibG9jayc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGF0dGFjaENsaWNrRXZlbnRUb0ltYWdlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5lY2xDb250ZW50QmxvY2tUaXRsZSAmJiB0aGlzLmVjbENvbnRlbnRCbG9ja1RpdGxlLmVjbExpbmspIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmVjbENhcmRJbWFnZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lY2xDYXJkSW1hZ2UuZWwubmF0aXZlRWxlbWVudCwgJ2N1cnNvcicsICdwb2ludGVyJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lY2xDYXJkSW1hZ2UuZWwubmF0aXZlRWxlbWVudCwgJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVjbENvbnRlbnRCbG9ja1RpdGxlLmVjbExpbmsuZWwubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1jYXJkL2VjbC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtY2FyZC9lY2wtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQTRCLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFhckUsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGdCQUFnQjtJQUdsRCxJQUNJLFVBQVU7UUFDVixPQUFPLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5RCxDQUFDO0lBTUQsWUFBb0IsUUFBbUI7UUFDbkMsS0FBSyxFQUFFLENBQUM7UUFEUSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBWGIsU0FBSSxHQUFHLFNBQVMsQ0FBQztJQWEzQyxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBRS9CLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxHQUFHLHlCQUF5QixDQUFDO1FBQzNELENBQUM7SUFDTCxDQUFDO0lBRU8sdUJBQXVCO1FBQzNCLElBQUksSUFBSSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqRSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDaEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUU7b0JBQ25FLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDL0QsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7bUhBakNRLGdCQUFnQjt1R0FBaEIsZ0JBQWdCLGlNQVFNLHdCQUF3Qiw0R0FDeEIsNkJBQTZCLG9HQUM3QixxQkFBcUIsd0VDMUJ4RCw2QkFDQTs7Z0dEZWEsZ0JBQWdCO2tCQVg1QixTQUFTOytCQUNJLFVBQVU7OEVBV00sSUFBSTtzQkFBN0IsV0FBVzt1QkFBQyxXQUFXO2dCQUdwQixVQUFVO3NCQURiLFdBQVc7dUJBQUMsT0FBTztnQkFLNkQsZUFBZTtzQkFBL0YsWUFBWTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBQ08sb0JBQW9CO3NCQUF6RyxZQUFZO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFDTixZQUFZO3NCQUF6RixZQUFZO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIENvbnRlbnRDaGlsZCwgUmVuZGVyZXIyLCBBZnRlclZpZXdJbml0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFQ0xCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZWNsLWJhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEVjbENvbnRlbnRCbG9ja0NvbXBvbmVudCwgRWNsQ29udGVudEJsb2NrVGl0bGVEaXJlY3RpdmUgfSBmcm9tICcuLi9lY2wtY29udGVudC1ibG9jayc7XG5pbXBvcnQgeyBFY2xDYXJkSW1hZ2VEaXJlY3RpdmUgfSBmcm9tICcuL2VjbC1jYXJkLXBpY3R1cmUuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlY2wtY2FyZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VjbC1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICBgLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVjbENhcmRDb21wb25lbnQgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlID0gJ2FydGljbGUnO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtzdXBlci5nZXRDc3NDbGFzc2VzKCdlY2wtY2FyZCcpXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBFY2xDb250ZW50QmxvY2tDb21wb25lbnQpLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIGVjbENvbnRlbnRCbG9jazogRWNsQ29udGVudEJsb2NrQ29tcG9uZW50O1xuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBFY2xDb250ZW50QmxvY2tUaXRsZURpcmVjdGl2ZSksIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgZWNsQ29udGVudEJsb2NrVGl0bGU6IEVjbENvbnRlbnRCbG9ja1RpdGxlRGlyZWN0aXZlO1xuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBFY2xDYXJkSW1hZ2VEaXJlY3RpdmUpLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIGVjbENhcmRJbWFnZTogRWNsQ2FyZEltYWdlRGlyZWN0aXZlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmF0dGFjaENsaWNrRXZlbnRUb0ltYWdlKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuZWNsQ29udGVudEJsb2NrKSB7XG4gICAgICAgICAgICB0aGlzLmVjbENvbnRlbnRCbG9jay5jbGFzcyA9ICdlY2wtY2FyZF9fY29udGVudC1ibG9jayc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGF0dGFjaENsaWNrRXZlbnRUb0ltYWdlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5lY2xDb250ZW50QmxvY2tUaXRsZSAmJiB0aGlzLmVjbENvbnRlbnRCbG9ja1RpdGxlLmVjbExpbmspIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmVjbENhcmRJbWFnZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lY2xDYXJkSW1hZ2UuZWwubmF0aXZlRWxlbWVudCwgJ2N1cnNvcicsICdwb2ludGVyJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lY2xDYXJkSW1hZ2UuZWwubmF0aXZlRWxlbWVudCwgJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVjbENvbnRlbnRCbG9ja1RpdGxlLmVjbExpbmsuZWwubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
@@ -156,7 +156,7 @@ export class EclDatePickerDirective extends ECLBaseDirective {
156
156
  return this.el.nativeElement;
157
157
  }
158
158
  getHostParentElement(hostEl) {
159
- return hostEl.parentElement;
159
+ return this.renderer.parentNode(hostEl);
160
160
  }
161
161
  createHostWrapperContainer() {
162
162
  const wrapperContainer = this.renderer.createElement('div');
@@ -201,4 +201,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
201
201
  type: HostListener,
202
202
  args: ['blur']
203
203
  }] } });
204
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWRhdGUtcGlja2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtZGF0ZS1waWNrZXIvZWNsLWRhdGUtcGlja2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUNILFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUlMLE1BQU0sRUFDTixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksR0FJZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxPQUFPLE1BQU0sU0FBUyxDQUFDO0FBQzlCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQUcxQyxNQUFNLGtCQUFrQixHQUFHO0lBQ3ZCLGFBQWEsRUFBRSxnQkFBZ0I7SUFDL0IsU0FBUyxFQUFFLFlBQVk7SUFDdkIsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUM7SUFDbEksUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDO0lBQ3hGLGFBQWEsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUs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LENBQUM7SUFFTyxtQkFBbUI7UUFDdkIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDakYsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDdEMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUM7UUFDNUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxzQkFBc0IsQ0FBQztRQUV6RCxPQUFPLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7SUFDbkQsQ0FBQzttSEEvS1Esc0JBQXNCO3VHQUF0QixzQkFBc0IseVRBRnBCLENBQUMsOEJBQThCLENBQUM7O2dHQUVsQyxzQkFBc0I7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsU0FBUyxFQUFFLENBQUMsOEJBQThCLENBQUM7aUJBQzlDO3NNQUVZLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNvQixJQUFJO3NCQUE3QixXQUFXO3VCQUFDLFdBQVc7Z0JBR3BCLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPO2dCQUtWLFVBQVU7c0JBQW5CLE1BQU07Z0JBR1AsVUFBVTtzQkFEVCxXQUFXO3VCQUFDLGVBQWU7Z0JBcUM1QixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTztnQkFNckIsTUFBTTtzQkFETCxZQUFZO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBFbGVtZW50UmVmLFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgT25EZXN0cm95LFxuICAgIFByb3ZpZGVyLFxuICAgIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiwgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgUGlrYWRheSBmcm9tICdwaWthZGF5JztcbmltcG9ydCB7IEVjbEljb25Db21wb25lbnQgfSBmcm9tICcuLi9lY2wtaWNvbi9lY2wtaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWNsQmFzZUV2ZW50IH0gZnJvbSAnLi4vLi4vbW9kZWwvZWNsLWJhc2UuZXZlbnQnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBMYW5nQ2hhbmdlRXZlbnQsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRWNsTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuXG5jb25zdCBwaWthZGF5RGVmYXVsdEkxOG4gPSB7XG4gICAgcHJldmlvdXNNb250aDogJ1ByZXZpb3VzIE1vbnRoJyxcbiAgICBuZXh0TW9udGg6ICdOZXh0IE1vbnRoJyxcbiAgICBtb250aHM6IFsnSmFudWFyeScsICdGZWJydWFyeScsICdNYXJjaCcsICdBcHJpbCcsICdNYXknLCAnSnVuZScsICdKdWx5JywgJ0F1Z3VzdCcsICdTZXB0ZW1iZXInLCAnT2N0b2JlcicsICdOb3ZlbWJlcicsICdEZWNlbWJlciddLFxuICAgIHdlZWtkYXlzOiBbJ1N1bmRheScsICdNb25kYXknLCAnVHVlc2RheScsICdXZWRuZXNkYXknLCAnVGh1cnNkYXknLCAnRnJpZGF5JywgJ1NhdHVyZGF5J10sXG4gICAgd2Vla2RheXNTaG9ydDogWydTdW4nLCAnTW9uJywgJ1R1ZScsICdXZWQnLCAnVGh1JywgJ0ZyaScsICdTYXQnXSxcbn07XG5cbmV4cG9ydCBjbGFzcyBFY2xEYXRlUGlja2VyRGF0ZVBpY2tlZEV2ZW50IGV4dGVuZHMgRWNsQmFzZUV2ZW50IHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZGF0ZTogRGF0ZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IEVDTF9EQVRFX1BJQ0tFUl9WQUxVRV9BQ0NFU1NPUjogUHJvdmlkZXIgPSB7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRWNsRGF0ZVBpY2tlckRpcmVjdGl2ZSksXG4gICAgbXVsdGk6IHRydWUsXG59O1xuXG5jb25zdCBub29wID0gKCk6IHZvaWQgPT4ge1xuICAgIC8qKiBlbXB0eSovXG59O1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2lucHV0W2VjbERhdGVQaWNrZXJdJyxcbiAgICBwcm92aWRlcnM6IFtFQ0xfREFURV9QSUNLRVJfVkFMVUVfQUNDRVNTT1JdLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xEYXRlUGlja2VyRGlyZWN0aXZlIGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgeWVhclJhbmdlID0gNDA7XG4gICAgQElucHV0KCkgZm9ybWF0ID0gJ0RELU1NLVlZWVknO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci50eXBlJykgdHlwZSA9ICd0ZXh0JztcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLWRhdGVwaWNrZXJfX2ZpZWxkJyldLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpIGRhdGVQaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEVjbERhdGVQaWNrZXJEYXRlUGlja2VkRXZlbnQ+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGlzYWJsZWQnKVxuICAgIGlzRGlzYWJsZWQgPSBudWxsO1xuXG4gICAgcHJpdmF0ZSBwaWNrZXI6IFBpa2FkYXk7XG4gICAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByaXZhdGUgb25DaGFuZ2U6IChfOiBhbnkpID0+IHZvaWQgPSBub29wO1xuICAgIHByaXZhdGUgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gbm9vcDtcblxuICAgIHByaXZhdGUgaG9zdEVsOiBIVE1MSW5wdXRFbGVtZW50O1xuICAgIHByaXZhdGUgaG9zdFBhcmVudEVsOiBIVE1MRWxlbWVudDtcbiAgICBwcml2YXRlIGhvc3RXcmFwcGVyRWw6IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgZWNsSWNvbkNvbXBvbmVudEVsOiBIVE1MRWxlbWVudDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByb3RlY3RlZCB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGVjbExhbmd1YWdlU2VydmljZTogRWNsTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuaGFuZGxlaTE4bkV2ZW50cygpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRQaWthZGF5KCk7XG4gICAgICAgIHRoaXMuaGFuZGxlTWFya3VwKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuICAgIG9uQmx1cigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGV4dEZpZWxkVmFsdWU6IHN0cmluZyA9IHRoaXMuaG9zdEVsLnZhbHVlO1xuXG4gICAgICAgIGlmICh0ZXh0RmllbGRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnBpY2tlci5nZXREYXRlKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShudWxsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMucGlja2VyLnNldERhdGUodmFsdWUpO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmlzRGlzYWJsZWQgPSBpc0Rpc2FibGVkIHx8IG51bGw7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFBpa2FkYXkoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGkxOG5LZXkgPSAnZWNsLmRhdGUtcGlja2VyLlBJS0FEQVknO1xuICAgICAgICBsZXQgaTE4blRyYW5zbGF0aW9uID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoaTE4bktleSk7XG4gICAgICAgIGNvbnN0IGlzUlRMID0gdGhpcy5lY2xMYW5ndWFnZVNlcnZpY2UuZ2V0Q3VycmVudExhbmd1YWdlKCkuaXNSdGw7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uID0gaXNSVEwgPyAnYm90dG9tIHJpZ2h0JyA6ICdib3R0b20gbGVmdCc7XG5cbiAgICAgICAgaWYgKCFpMThuVHJhbnNsYXRpb24gfHwgaTE4blRyYW5zbGF0aW9uID09PSBpMThuS2V5KSB7XG4gICAgICAgICAgICBpMThuVHJhbnNsYXRpb24gPSBwaWthZGF5RGVmYXVsdEkxOG47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBpY2tlciA9IG5ldyBQaWthZGF5KHtcbiAgICAgICAgICAgIGZpZWxkOiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICBmb3JtYXQ6IHRoaXMuZm9ybWF0LFxuICAgICAgICAgICAgdGhlbWU6ICdlY2wtZGF0ZXBpY2tlci10aGVtZScsXG4gICAgICAgICAgICB5ZWFyUmFuZ2U6IHRoaXMueWVhclJhbmdlLFxuICAgICAgICAgICAgcmVwb3NpdGlvbjogZmFsc2UsXG4gICAgICAgICAgICBpMThuOiBpMThuVHJhbnNsYXRpb24sXG4gICAgICAgICAgICBpc1JUTCxcbiAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgc2hvd0RheXNJbk5leHRBbmRQcmV2aW91c01vbnRoczogdHJ1ZSxcbiAgICAgICAgICAgIGVuYWJsZVNlbGVjdGlvbkRheXNJbk5leHRBbmRQcmV2aW91c01vbnRoczogdHJ1ZSxcbiAgICAgICAgICAgIG9uU2VsZWN0OiB0aGlzLm9uU2VsZWN0RGF0ZS5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgb25PcGVuKCk6IHZvaWQge1xuICAgICAgICAgICAgICAgIC8vIEV4dGVuZCBwaWNrZXIgc2l6ZSBvbiBtb2JpbGVcbiAgICAgICAgICAgICAgICBjb25zdCB2dyA9IE1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCB8fCAwLCB3aW5kb3cuaW5uZXJXaWR0aCB8fCAwKTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbFJlY3QgPSB0aGlzLmVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGlzUlRMKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBpY2tlck1hcmdpbiA9IHZ3IC0gZWxSZWN0LnJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBpZiAodncgPCA3NjgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWwuc3R5bGUubGVmdCA9IGAke3BpY2tlck1hcmdpbn1weGA7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVsLnN0eWxlLmxlZnQgPSAnYXV0byc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwaWNrZXJNYXJnaW4gPSBlbFJlY3QubGVmdDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZ3IDwgNzY4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbC5zdHlsZS5yaWdodCA9IGAke3BpY2tlck1hcmdpbn1weGA7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVsLnN0eWxlLnJpZ2h0ID0gJ2F1dG8nO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVpMThuRXZlbnRzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGxhbmdDaGFuZ2VFdmVudDogTGFuZ0NoYW5nZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmluaXRQaWthZGF5KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25TZWxlY3REYXRlKGRhdGU6IERhdGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRlUGlja2VkLm5leHQobmV3IEVjbERhdGVQaWNrZXJEYXRlUGlja2VkRXZlbnQoZGF0ZSkpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKGRhdGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlTWFya3VwKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhvc3RFbCA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKTtcbiAgICAgICAgdGhpcy5ob3N0UGFyZW50RWwgPSB0aGlzLmdldEhvc3RQYXJlbnRFbGVtZW50KHRoaXMuaG9zdEVsKTtcbiAgICAgICAgdGhpcy5ob3N0V3JhcHBlckVsID0gdGhpcy5jcmVhdGVIb3N0V3JhcHBlckNvbnRhaW5lcigpO1xuICAgICAgICB0aGlzLmVjbEljb25Db21wb25lbnRFbCA9IHRoaXMuY3JlYXRlSWNvbkNvbXBvbmVudCgpO1xuXG4gICAgICAgIGlmICh0aGlzLmhvc3RQYXJlbnRFbCAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLmhvc3RQYXJlbnRFbC5yZXBsYWNlQ2hpbGQodGhpcy5ob3N0V3JhcHBlckVsLCB0aGlzLmhvc3RFbCk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuaG9zdFdyYXBwZXJFbCwgdGhpcy5ob3N0RWwpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmhvc3RXcmFwcGVyRWwsIHRoaXMuZWNsSWNvbkNvbXBvbmVudEVsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SG9zdEVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRIb3N0UGFyZW50RWxlbWVudChob3N0RWw6IEhUTUxJbnB1dEVsZW1lbnQpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiBob3N0RWwucGFyZW50RWxlbWVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUhvc3RXcmFwcGVyQ29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgY29uc3Qgd3JhcHBlckNvbnRhaW5lciA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3Mod3JhcHBlckNvbnRhaW5lciwgJ2VjbC1kYXRlcGlja2VyJyk7XG5cbiAgICAgICAgcmV0dXJuIHdyYXBwZXJDb250YWluZXI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVJY29uQ29tcG9uZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgY29uc3QgZWNsSWNvbkNvbXBvbmVudCA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoRWNsSWNvbkNvbXBvbmVudCk7XG4gICAgICAgIGVjbEljb25Db21wb25lbnQuaW5zdGFuY2Uuc2l6ZSA9ICd4cyc7XG4gICAgICAgIGVjbEljb25Db21wb25lbnQuaW5zdGFuY2UuaWNvbiA9ICdjYWxlbmRhcic7XG4gICAgICAgIGVjbEljb25Db21wb25lbnQuaW5zdGFuY2UuY2xhc3MgPSAnZWNsLWRhdGVwaWNrZXJfX2ljb24nO1xuXG4gICAgICAgIHJldHVybiBlY2xJY29uQ29tcG9uZW50LmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxufVxuIl19
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWRhdGUtcGlja2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtZGF0ZS1waWNrZXIvZWNsLWRhdGUtcGlja2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUNILFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUlMLE1BQU0sRUFDTixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksR0FJZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxPQUFPLE1BQU0sU0FBUyxDQUFDO0FBQzlCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQUcxQyxNQUFNLGtCQUFrQixHQUFHO0lBQ3ZCLGFBQWEsRUFBRSxnQkFBZ0I7SUFDL0IsU0FBUyxFQUFFLFlBQVk7SUFDdkIsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUM7SUFDbEksUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDO0lBQ3hGLGFBQWEsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUs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M0QsT0FBTyxnQkFBZ0IsQ0FBQztJQUM1QixDQUFDO0lBRU8sbUJBQW1CO1FBQ3ZCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2pGLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ3RDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO1FBQzVDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsc0JBQXNCLENBQUM7UUFFekQsT0FBTyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO0lBQ25ELENBQUM7bUhBL0tRLHNCQUFzQjt1R0FBdEIsc0JBQXNCLHlUQUZwQixDQUFDLDhCQUE4QixDQUFDOztnR0FFbEMsc0JBQXNCO2tCQUpsQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFNBQVMsRUFBRSxDQUFDLDhCQUE4QixDQUFDO2lCQUM5QztzTUFFWSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDb0IsSUFBSTtzQkFBN0IsV0FBVzt1QkFBQyxXQUFXO2dCQUdwQixVQUFVO3NCQURiLFdBQVc7dUJBQUMsT0FBTztnQkFLVixVQUFVO3NCQUFuQixNQUFNO2dCQUdQLFVBQVU7c0JBRFQsV0FBVzt1QkFBQyxlQUFlO2dCQXFDNUIsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU87Z0JBTXJCLE1BQU07c0JBREwsWUFBWTt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgRWxlbWVudFJlZixcbiAgICBPbkluaXQsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIE9uRGVzdHJveSxcbiAgICBQcm92aWRlcixcbiAgICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IFBpa2FkYXkgZnJvbSAncGlrYWRheSc7XG5pbXBvcnQgeyBFY2xJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vZWNsLWljb24vZWNsLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IEVjbEJhc2VFdmVudCB9IGZyb20gJy4uLy4uL21vZGVsL2VjbC1iYXNlLmV2ZW50JztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTGFuZ0NoYW5nZUV2ZW50LCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVjbExhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuY29uc3QgcGlrYWRheURlZmF1bHRJMThuID0ge1xuICAgIHByZXZpb3VzTW9udGg6ICdQcmV2aW91cyBNb250aCcsXG4gICAgbmV4dE1vbnRoOiAnTmV4dCBNb250aCcsXG4gICAgbW9udGhzOiBbJ0phbnVhcnknLCAnRmVicnVhcnknLCAnTWFyY2gnLCAnQXByaWwnLCAnTWF5JywgJ0p1bmUnLCAnSnVseScsICdBdWd1c3QnLCAnU2VwdGVtYmVyJywgJ09jdG9iZXInLCAnTm92ZW1iZXInLCAnRGVjZW1iZXInXSxcbiAgICB3ZWVrZGF5czogWydTdW5kYXknLCAnTW9uZGF5JywgJ1R1ZXNkYXknLCAnV2VkbmVzZGF5JywgJ1RodXJzZGF5JywgJ0ZyaWRheScsICdTYXR1cmRheSddLFxuICAgIHdlZWtkYXlzU2hvcnQ6IFsnU3VuJywgJ01vbicsICdUdWUnLCAnV2VkJywgJ1RodScsICdGcmknLCAnU2F0J10sXG59O1xuXG5leHBvcnQgY2xhc3MgRWNsRGF0ZVBpY2tlckRhdGVQaWNrZWRFdmVudCBleHRlbmRzIEVjbEJhc2VFdmVudCB7XG4gICAgY29uc3RydWN0b3IocHVibGljIGRhdGU6IERhdGUpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBFQ0xfREFURV9QSUNLRVJfVkFMVUVfQUNDRVNTT1I6IFByb3ZpZGVyID0ge1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEVjbERhdGVQaWNrZXJEaXJlY3RpdmUpLFxuICAgIG11bHRpOiB0cnVlLFxufTtcblxuY29uc3Qgbm9vcCA9ICgpOiB2b2lkID0+IHtcbiAgICAvKiogZW1wdHkqL1xufTtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdpbnB1dFtlY2xEYXRlUGlja2VyXScsXG4gICAgcHJvdmlkZXJzOiBbRUNMX0RBVEVfUElDS0VSX1ZBTFVFX0FDQ0VTU09SXSxcbn0pXG5leHBvcnQgY2xhc3MgRWNsRGF0ZVBpY2tlckRpcmVjdGl2ZSBleHRlbmRzIEVDTEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIHllYXJSYW5nZSA9IDQwO1xuICAgIEBJbnB1dCgpIGZvcm1hdCA9ICdERC1NTS1ZWVlZJztcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIudHlwZScpIHR5cGUgPSAndGV4dCc7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW3N1cGVyLmdldENzc0NsYXNzZXMoJ2VjbC1kYXRlcGlja2VyX19maWVsZCcpXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKSBkYXRlUGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xEYXRlUGlja2VyRGF0ZVBpY2tlZEV2ZW50PigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRpc2FibGVkJylcbiAgICBpc0Rpc2FibGVkID0gbnVsbDtcblxuICAgIHByaXZhdGUgcGlja2VyOiBQaWthZGF5O1xuICAgIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIG9uQ2hhbmdlOiAoXzogYW55KSA9PiB2b2lkID0gbm9vcDtcbiAgICBwcml2YXRlIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9IG5vb3A7XG5cbiAgICBwcml2YXRlIGhvc3RFbDogSFRNTElucHV0RWxlbWVudDtcbiAgICBwcml2YXRlIGhvc3RQYXJlbnRFbDogSFRNTEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSBob3N0V3JhcHBlckVsOiBIVE1MRWxlbWVudDtcbiAgICBwcml2YXRlIGVjbEljb25Db21wb25lbnRFbDogSFRNTEVsZW1lbnQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBlY2xMYW5ndWFnZVNlcnZpY2U6IEVjbExhbmd1YWdlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmhhbmRsZWkxOG5FdmVudHMoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0UGlrYWRheSgpO1xuICAgICAgICB0aGlzLmhhbmRsZU1hcmt1cCgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdibHVyJylcbiAgICBvbkJsdXIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRleHRGaWVsZFZhbHVlOiBzdHJpbmcgPSB0aGlzLmhvc3RFbC52YWx1ZTtcblxuICAgICAgICBpZiAodGV4dEZpZWxkVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5waWNrZXIuZ2V0RGF0ZSgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnBpY2tlci5zZXREYXRlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0Rpc2FibGVkID0gaXNEaXNhYmxlZCB8fCBudWxsO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRQaWthZGF5KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpMThuS2V5ID0gJ2VjbC5kYXRlLXBpY2tlci5QSUtBREFZJztcbiAgICAgICAgbGV0IGkxOG5UcmFuc2xhdGlvbiA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGkxOG5LZXkpO1xuICAgICAgICBjb25zdCBpc1JUTCA9IHRoaXMuZWNsTGFuZ3VhZ2VTZXJ2aWNlLmdldEN1cnJlbnRMYW5ndWFnZSgpLmlzUnRsO1xuICAgICAgICBjb25zdCBwb3NpdGlvbiA9IGlzUlRMID8gJ2JvdHRvbSByaWdodCcgOiAnYm90dG9tIGxlZnQnO1xuXG4gICAgICAgIGlmICghaTE4blRyYW5zbGF0aW9uIHx8IGkxOG5UcmFuc2xhdGlvbiA9PT0gaTE4bktleSkge1xuICAgICAgICAgICAgaTE4blRyYW5zbGF0aW9uID0gcGlrYWRheURlZmF1bHRJMThuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5waWNrZXIgPSBuZXcgUGlrYWRheSh7XG4gICAgICAgICAgICBmaWVsZDogdGhpcy5lbC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgZm9ybWF0OiB0aGlzLmZvcm1hdCxcbiAgICAgICAgICAgIHRoZW1lOiAnZWNsLWRhdGVwaWNrZXItdGhlbWUnLFxuICAgICAgICAgICAgeWVhclJhbmdlOiB0aGlzLnllYXJSYW5nZSxcbiAgICAgICAgICAgIHJlcG9zaXRpb246IGZhbHNlLFxuICAgICAgICAgICAgaTE4bjogaTE4blRyYW5zbGF0aW9uLFxuICAgICAgICAgICAgaXNSVEwsXG4gICAgICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgICAgIHNob3dEYXlzSW5OZXh0QW5kUHJldmlvdXNNb250aHM6IHRydWUsXG4gICAgICAgICAgICBlbmFibGVTZWxlY3Rpb25EYXlzSW5OZXh0QW5kUHJldmlvdXNNb250aHM6IHRydWUsXG4gICAgICAgICAgICBvblNlbGVjdDogdGhpcy5vblNlbGVjdERhdGUuYmluZCh0aGlzKSxcbiAgICAgICAgICAgIG9uT3BlbigpOiB2b2lkIHtcbiAgICAgICAgICAgICAgICAvLyBFeHRlbmQgcGlja2VyIHNpemUgb24gbW9iaWxlXG4gICAgICAgICAgICAgICAgY29uc3QgdncgPSBNYXRoLm1heChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggfHwgMCwgd2luZG93LmlubmVyV2lkdGggfHwgMCk7XG4gICAgICAgICAgICAgICAgY29uc3QgZWxSZWN0ID0gdGhpcy5lbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICAgICAgICAgIGlmIChpc1JUTCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwaWNrZXJNYXJnaW4gPSB2dyAtIGVsUmVjdC5yaWdodDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZ3IDwgNzY4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVsLnN0eWxlLmxlZnQgPSBgJHtwaWNrZXJNYXJnaW59cHhgO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbC5zdHlsZS5sZWZ0ID0gJ2F1dG8nO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGlja2VyTWFyZ2luID0gZWxSZWN0LmxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGlmICh2dyA8IDc2OCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWwuc3R5bGUucmlnaHQgPSBgJHtwaWNrZXJNYXJnaW59cHhgO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbC5zdHlsZS5yaWdodCA9ICdhdXRvJztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlaTE4bkV2ZW50cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLm9uTGFuZ0NoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChsYW5nQ2hhbmdlRXZlbnQ6IExhbmdDaGFuZ2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pbml0UGlrYWRheSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uU2VsZWN0RGF0ZShkYXRlOiBEYXRlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGF0ZVBpY2tlZC5uZXh0KG5ldyBFY2xEYXRlUGlja2VyRGF0ZVBpY2tlZEV2ZW50KGRhdGUpKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZShkYXRlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZU1hcmt1cCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ob3N0RWwgPSB0aGlzLmdldEhvc3RFbGVtZW50KCk7XG4gICAgICAgIHRoaXMuaG9zdFBhcmVudEVsID0gdGhpcy5nZXRIb3N0UGFyZW50RWxlbWVudCh0aGlzLmhvc3RFbCk7XG4gICAgICAgIHRoaXMuaG9zdFdyYXBwZXJFbCA9IHRoaXMuY3JlYXRlSG9zdFdyYXBwZXJDb250YWluZXIoKTtcbiAgICAgICAgdGhpcy5lY2xJY29uQ29tcG9uZW50RWwgPSB0aGlzLmNyZWF0ZUljb25Db21wb25lbnQoKTtcblxuICAgICAgICBpZiAodGhpcy5ob3N0UGFyZW50RWwgIT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5ob3N0UGFyZW50RWwucmVwbGFjZUNoaWxkKHRoaXMuaG9zdFdyYXBwZXJFbCwgdGhpcy5ob3N0RWwpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmhvc3RXcmFwcGVyRWwsIHRoaXMuaG9zdEVsKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5ob3N0V3JhcHBlckVsLCB0aGlzLmVjbEljb25Db21wb25lbnRFbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEhvc3RFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SG9zdFBhcmVudEVsZW1lbnQoaG9zdEVsOiBIVE1MSW5wdXRFbGVtZW50KTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5yZW5kZXJlci5wYXJlbnROb2RlKGhvc3RFbCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVIb3N0V3JhcHBlckNvbnRhaW5lcigpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIGNvbnN0IHdyYXBwZXJDb250YWluZXIgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHdyYXBwZXJDb250YWluZXIsICdlY2wtZGF0ZXBpY2tlcicpO1xuXG4gICAgICAgIHJldHVybiB3cmFwcGVyQ29udGFpbmVyO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlSWNvbkNvbXBvbmVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIGNvbnN0IGVjbEljb25Db21wb25lbnQgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KEVjbEljb25Db21wb25lbnQpO1xuICAgICAgICBlY2xJY29uQ29tcG9uZW50Lmluc3RhbmNlLnNpemUgPSAneHMnO1xuICAgICAgICBlY2xJY29uQ29tcG9uZW50Lmluc3RhbmNlLmljb24gPSAnY2FsZW5kYXInO1xuICAgICAgICBlY2xJY29uQ29tcG9uZW50Lmluc3RhbmNlLmNsYXNzID0gJ2VjbC1kYXRlcGlja2VyX19pY29uJztcblxuICAgICAgICByZXR1cm4gZWNsSWNvbkNvbXBvbmVudC5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xuICAgIH1cbn1cbiJdfQ==
@@ -102,7 +102,7 @@ export class EclFileUploadDirective extends ECLBaseDirective {
102
102
  return key;
103
103
  }
104
104
  updateListItemsDOM(files) {
105
- this.fileListEl.innerHTML = '';
105
+ this.renderer.setProperty(this.fileListEl, 'textContent', '');
106
106
  files.forEach((file) => {
107
107
  const item = this.createFileListItemDOMElement(file);
108
108
  this.renderer.appendChild(this.fileListEl, item);
@@ -222,4 +222,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
222
222
  type: HostListener,
223
223
  args: ['change', ['$event']]
224
224
  }] } });
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWZpbGUtdXBsb2FkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtZmlsZS11cGxvYWQvZWNsLWZpbGUtdXBsb2FkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFJSixZQUFZLEVBQ1osTUFBTSxFQUNOLFlBQVksRUFFWixnQkFBZ0IsR0FFbkIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXpELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBRS9CLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxZQUFZO0lBQzVELFlBQW1CLEtBQTJCO1FBQzFDLEtBQUssRUFBRSxDQUFDO1FBRE8sVUFBSyxHQUFMLEtBQUssQ0FBc0I7SUFFOUMsQ0FBQztDQUNKO0FBS0QsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGdCQUFnQjtJQXdCeEQsWUFDa0MsU0FBb0IsRUFDMUMsRUFBYyxFQUNkLFNBQTJCLEVBQzNCLFFBQW1CO1FBRTNCLEtBQUssRUFBRSxDQUFDO1FBTHNCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDMUMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLGFBQVEsR0FBUixRQUFRLENBQVc7UUEzQnRCLFlBQU8sR0FBRyxTQUFTLENBQUM7UUFDcEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQVdqQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFrQyxDQUFDO1FB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Q0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVwRCxPQUFPLEdBQUcsVUFBVSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNyRSxDQUFDO21IQWpOUSxzQkFBc0I7dUdBQXRCLHNCQUFzQixrSUFLWCxnQkFBZ0Isc0NBSWhCLGdCQUFnQjs7Z0dBVDNCLHNCQUFzQjtrQkFIbEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO2lCQUM5Qjs7MEJBMEJRLFFBQVE7OzBCQUFJLElBQUk7eUhBeEJaLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUMyQixFQUFFO3NCQUFsQyxLQUFLOztzQkFBSSxXQUFXO3VCQUFDLFNBQVM7Z0JBSS9CLFFBQVE7c0JBRlAsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTs7c0JBQ3JDLFdBQVc7dUJBQUMsZUFBZTtnQkFLNUIsUUFBUTtzQkFGUCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFOztzQkFDckMsV0FBVzt1QkFBQyxlQUFlO2dCQUdsQixhQUFhO3NCQUF0QixNQUFNO2dCQUVtQixJQUFJO3NCQUE3QixXQUFXO3VCQUFDLFdBQVc7Z0JBbUJwQixVQUFVO3NCQURiLFdBQVc7dUJBQUMsT0FBTztnQkFNaEIsWUFBWTtzQkFEZixXQUFXO3VCQUFDLGdDQUFnQztnQkEyQlYsT0FBTztzQkFBekMsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTUcsZUFBZTtzQkFBbEQsWUFBWTt1QkFBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIERvQ2hlY2ssXG4gICAgRWxlbWVudFJlZixcbiAgICBPbkluaXQsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT25EZXN0cm95LFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVjbEZpbGVVcGxvYWQgfSBmcm9tICcuLi8uLi9tb2RlbC9lY2wtZmlsZS11cGxvYWQubW9kZWwnO1xuaW1wb3J0IHsgRWNsQmFzZUV2ZW50IH0gZnJvbSAnLi4vLi4vbW9kZWwvZWNsLWJhc2UuZXZlbnQnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjbGFzcyBFY2xGaWxlVXBsb2FkRmlsZVNlbGVjdGVkRXZlbnQgZXh0ZW5kcyBFY2xCYXNlRXZlbnQge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBmaWxlczogQXJyYXk8RWNsRmlsZVVwbG9hZD4pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2VjbEZpbGVVcGxvYWRdJyxcbn0pXG5leHBvcnQgY2xhc3MgRWNsRmlsZVVwbG9hZERpcmVjdGl2ZSBleHRlbmRzIEVDTEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgRG9DaGVjayB7XG4gICAgQElucHV0KCkgdmFyaWFudCA9ICdkZWZhdWx0JztcbiAgICBASW5wdXQoKSBpc0ludmFsaWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKSBpZDogc3RyaW5nO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRpc2FibGVkJylcbiAgICBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5tdWx0aXBsZScpXG4gICAgbXVsdGlwbGU6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgZmlsZXNTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsRmlsZVVwbG9hZEZpbGVTZWxlY3RlZEV2ZW50PigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnR5cGUnKSB0eXBlID0gJ2ZpbGUnO1xuICAgIHByaXZhdGUgZmlsZUxpc3RFbDogSFRNTEVsZW1lbnQ7XG5cbiAgICBwcml2YXRlIGZpbGVzOiBFY2xGaWxlVXBsb2FkW10gPSBbXTtcbiAgICBwcml2YXRlIGJ1dHRvbkVsOiBIVE1MRWxlbWVudDtcbiAgICBwcml2YXRlIGxhYmVsRWw6IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgU1BBTl9CVVRUT05fQ09OVkVSU0lPTl9DTEFTU0VTID0gWydlY2wtYnV0dG9uJywgJ2VjbC1idXR0b24tLXByaW1hcnknLCAnZWNsLWZpbGUtdXBsb2FkX19idXR0b24nXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHByb3RlY3RlZCBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICAgICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW3N1cGVyLmdldENzc0NsYXNzZXMoJ2VjbC1maWxlLXVwbG9hZCcpXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZWNsLWZpbGUtdXBsb2FkLS1pbnZhbGlkJylcbiAgICBnZXQgaW52YWxpZFN0YXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5nQ29udHJvbC5zdGF0dXMgPT09ICdJTlZBTElEJyAmJiB0aGlzLm5nQ29udHJvbC50b3VjaGVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNJbnZhbGlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3JlYXRlRE9NU3RydWN0dXJlKCk7XG4gICAgICAgIHRoaXMuaGFuZGxlVHJhbnNsYXRpb25zKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuYnV0dG9uRWwsICdkaXNhYmxlZCcsICd0cnVlJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLmJ1dHRvbkVsLCAnZGlzYWJsZWQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSkgb25DbGljayhldnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NoYW5nZScsIFsnJGV2ZW50J10pIG9uRmlsZXNTZWxlY3RlZChldnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlucHV0RWxlbWVudDogSFRNTElucHV0RWxlbWVudCA9IGV2dC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgY29uc3QgZmlsZUxpc3Q6IEZpbGVMaXN0ID0gaW5wdXRFbGVtZW50LmZpbGVzO1xuICAgICAgICB0aGlzLmZpbGVzID0gdGhpcy5nZXRGaWxlTW9kZWxzKGZpbGVMaXN0KTtcblxuICAgICAgICBjb25zdCBmaWxlRXZlbnQgPSBuZXcgRWNsRmlsZVVwbG9hZEZpbGVTZWxlY3RlZEV2ZW50KHRoaXMuZmlsZXMpO1xuICAgICAgICB0aGlzLmZpbGVzU2VsZWN0ZWQubmV4dChmaWxlRXZlbnQpO1xuXG4gICAgICAgIGlmICghZmlsZUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlVHJhbnNsYXRpb25zKCk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUxpc3RJdGVtc0RPTSh0aGlzLmZpbGVzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlVHJhbnNsYXRpb25zKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB1cGxvYWRCdXR0b25MYWJlbEtleSA9IHRoaXMuZ2V0aTE4blVwbG9hZEJ1dHRvbkxhYmVsS2V5KCk7XG5cbiAgICAgICAgdGhpcy50cmFuc2xhdGVcbiAgICAgICAgICAgIC5zdHJlYW0odXBsb2FkQnV0dG9uTGFiZWxLZXkpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh0cmFuc2xhdGlvbjogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYnV0dG9uRWwpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmJ1dHRvbkVsLCAndGV4dENvbnRlbnQnLCB0cmFuc2xhdGlvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRpMThuVXBsb2FkQnV0dG9uTGFiZWxLZXkoKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGtleSA9ICcnO1xuXG4gICAgICAgIGlmICh0aGlzLmZpbGVzICYmIHRoaXMuZmlsZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgIGtleSA9ICdlY2wuZmlsZS11cGxvYWQuUkVQTEFDRS1GSUxFUyc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGtleSA9ICdlY2wuZmlsZS11cGxvYWQuUkVQTEFDRS1GSUxFJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAga2V5ID0gJ2VjbC5maWxlLXVwbG9hZC5DSE9PU0UtRklMRVMnO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBrZXkgPSAnZWNsLmZpbGUtdXBsb2FkLkNIT09TRS1GSUxFJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBrZXk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVMaXN0SXRlbXNET00oZmlsZXM6IEVjbEZpbGVVcGxvYWRbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbGVMaXN0RWwuaW5uZXJIVE1MID0gJyc7XG4gICAgICAgIGZpbGVzLmZvckVhY2goKGZpbGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmNyZWF0ZUZpbGVMaXN0SXRlbURPTUVsZW1lbnQoZmlsZSk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZmlsZUxpc3RFbCwgaXRlbSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRE9NU3RydWN0dXJlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBsYWJlbEVsID0gdGhpcy5jcmVhdGVMYWJlbERPTUVsZW1lbnQoKTtcbiAgICAgICAgY29uc3QgaG9zdEVsID0gdGhpcy5nZXRIb3N0RE9NRWxlbWVudCgpO1xuICAgICAgICBjb25zdCBmaWxlTGlzdEVsID0gdGhpcy5jcmVhdGVGaWxlTGlzdERPTUVsZW1lbnQoKTtcblxuICAgICAgICBob3N0RWwuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCdhZnRlcmVuZCcsIGZpbGVMaXN0RWwpO1xuICAgICAgICBob3N0RWwuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCdhZnRlcmVuZCcsIGxhYmVsRWwpO1xuXG4gICAgICAgIHRoaXMuZmlsZUxpc3RFbCA9IGZpbGVMaXN0RWw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRIb3N0RE9NRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUxhYmVsRE9NRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHRoaXMuYnV0dG9uRWwgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgdGhpcy5hZGRDbGFzc2VzKHRoaXMuYnV0dG9uRWwsIHRoaXMuU1BBTl9CVVRUT05fQ09OVkVSU0lPTl9DTEFTU0VTKTtcblxuICAgICAgICB0aGlzLmxhYmVsRWwgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2xhYmVsJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMubGFiZWxFbCwgJ2ZvcicsIHRoaXMuaWQpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMubGFiZWxFbCwgJ2VjbC1maWxlLXVwbG9hZF9fYnV0dG9uLWNvbnRhaW5lcicpO1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5sYWJlbEVsLCB0aGlzLmJ1dHRvbkVsKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5sYWJlbEVsO1xuICAgIH1cbiAgICBwcml2YXRlIGFkZENsYXNzZXMoZWxlbWVudDogSFRNTEVsZW1lbnQsIGNsYXNzZXM6IHN0cmluZ1tdICk6IHZvaWQge1xuICAgICAgICBjbGFzc2VzLmZvckVhY2goY2xhc3NOYW1lPT4gdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhlbGVtZW50LCBjbGFzc05hbWUpIClcbiAgICB9XG4gICAgcHJpdmF0ZSBjcmVhdGVGaWxlTGlzdERPTUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCd1bCcpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGVsZW1lbnQsJ2VjbC1maWxlLXVwbG9hZF9fbGlzdCcpO1xuXG4gICAgICAgIHJldHVybiBlbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRmlsZUxpc3RJdGVtRE9NRWxlbWVudChmaWxlVXBsb2FkOiBFY2xGaWxlVXBsb2FkKTogSFRNTEVsZW1lbnQge1xuICAgICAgICBjb25zdCBsaUVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2xpJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MobGlFbGVtZW50LCdlY2wtZmlsZS11cGxvYWRfX2l0ZW0nKTtcblxuICAgICAgICBjb25zdCBmaWxlTmFtZUVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZVRleHQoZmlsZVVwbG9hZC5uYW1lKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChmaWxlTmFtZUVsZW1lbnQsIGZpbGVOYW1lKTtcblxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKCBmaWxlTmFtZUVsZW1lbnQsJ2VjbC1maWxlLXVwbG9hZF9faXRlbS1uYW1lJyApO1xuXG4gICAgICAgIGNvbnN0IGZpbGVNZXRhRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuXG4gICAgICAgIGNvbnN0IGZpbGVNZXRhRWxlbWVudFRleHQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZVRleHQoYCR7ZmlsZVVwbG9hZC5zaXplfSAtICR7ZmlsZVVwbG9hZC5leHRlbnNpb259YCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZmlsZU1ldGFFbGVtZW50LCBmaWxlTWV0YUVsZW1lbnRUZXh0KTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhmaWxlTWV0YUVsZW1lbnQsICdlY2wtZmlsZS11cGxvYWRfX2l0ZW0tbWV0YScpO1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQobGlFbGVtZW50LCBmaWxlTmFtZUVsZW1lbnQpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGxpRWxlbWVudCwgZmlsZU1ldGFFbGVtZW50KTtcblxuICAgICAgICByZXR1cm4gbGlFbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RmlsZU1vZGVscyhmaWxlTGlzdDogRmlsZUxpc3QpOiBBcnJheTxFY2xGaWxlVXBsb2FkPiB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKGZpbGVMaXN0KS5tYXAoKGYpID0+ICh7XG4gICAgICAgICAgICBuYW1lOiBmLm5hbWUsXG4gICAgICAgICAgICBleHRlbnNpb246IHRoaXMuZ2V0RmlsZW5hbWVFeHRlbnNpb24oZi5uYW1lKSxcbiAgICAgICAgICAgIHNpemU6IHRoaXMuZm9ybWF0Qnl0ZXMoZi5zaXplKSxcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RmlsZW5hbWVFeHRlbnNpb24oZmlsZW5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBmaWxlbmFtZS5zcGxpdCgnLicpLnBvcCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0Qnl0ZXMoYnl0ZXMsIGRlY2ltYWxzID0gMik6IHN0cmluZyB7XG4gICAgICAgIGlmIChieXRlcyA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuICcwIEJ5dGVzJztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGsgPSAxMDI0O1xuICAgICAgICBjb25zdCBkbSA9IGRlY2ltYWxzIDwgMCA/IDAgOiBkZWNpbWFscztcbiAgICAgICAgY29uc3Qgc2l6ZXMgPSBbJ0J5dGVzJywgJ2tCJywgJ01CJywgJ0dCJywgJ1RCJywgJ1BCJywgJ0VCJywgJ1pCJywgJ1lCJ107XG5cbiAgICAgICAgY29uc3QgaSA9IE1hdGguZmxvb3IoTWF0aC5sb2coYnl0ZXMpIC8gTWF0aC5sb2coaykpO1xuXG4gICAgICAgIHJldHVybiBgJHtwYXJzZUZsb2F0KChieXRlcyAvIGsgKiogaSkudG9GaXhlZChkbSkpfSAke3NpemVzW2ldfWA7XG4gICAgfVxufVxuIl19
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWZpbGUtdXBsb2FkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtZmlsZS11cGxvYWQvZWNsLWZpbGUtdXBsb2FkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFJSixZQUFZLEVBQ1osTUFBTSxFQUNOLFlBQVksRUFFWixnQkFBZ0IsR0FFbkIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXpELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBRS9CLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxZQUFZO0lBQzVELFlBQW1CLEtBQTJCO1FBQzFDLEtBQUssRUFBRSxDQUFDO1FBRE8sVUFBSyxHQUFMLEtBQUssQ0FBc0I7SUFFOUMsQ0FBQztDQUNKO0FBS0QsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGdCQUFnQjtJQXdCeEQsWUFDa0MsU0FBb0IsRUFDMUMsRUFBYyxFQUNkLFNBQTJCLEVBQzNCLFFBQW1CO1FBRTNCLEtBQUssRUFBRSxDQUFDO1FBTHNCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDMUMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLGFBQVEsR0FBUixRQUFRLENBQVc7UUEzQnRCLFlBQU8sR0FBRyxTQUFTLENBQUM7UUFDcEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQVdqQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFrQyxDQUFDO1FB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aW5nLFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgRG9DaGVjayxcbiAgICBFbGVtZW50UmVmLFxuICAgIE9uSW5pdCxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBPbkRlc3Ryb3ksXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRWNsRmlsZVVwbG9hZCB9IGZyb20gJy4uLy4uL21vZGVsL2VjbC1maWxlLXVwbG9hZC5tb2RlbCc7XG5pbXBvcnQgeyBFY2xCYXNlRXZlbnQgfSBmcm9tICcuLi8uLi9tb2RlbC9lY2wtYmFzZS5ldmVudCc7XG5pbXBvcnQgeyBFQ0xCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZWNsLWJhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNsYXNzIEVjbEZpbGVVcGxvYWRGaWxlU2VsZWN0ZWRFdmVudCBleHRlbmRzIEVjbEJhc2VFdmVudCB7XG4gICAgY29uc3RydWN0b3IocHVibGljIGZpbGVzOiBBcnJheTxFY2xGaWxlVXBsb2FkPikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZWNsRmlsZVVwbG9hZF0nLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xGaWxlVXBsb2FkRGlyZWN0aXZlIGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBEb0NoZWNrIHtcbiAgICBASW5wdXQoKSB2YXJpYW50ID0gJ2RlZmF1bHQnO1xuICAgIEBJbnB1dCgpIGlzSW52YWxpZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIEBIb3N0QmluZGluZygnYXR0ci5pZCcpIGlkOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGlzYWJsZWQnKVxuICAgIGRpc2FibGVkOiBib29sZWFuO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLm11bHRpcGxlJylcbiAgICBtdWx0aXBsZTogYm9vbGVhbjtcblxuICAgIEBPdXRwdXQoKSBmaWxlc1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xGaWxlVXBsb2FkRmlsZVNlbGVjdGVkRXZlbnQ+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIudHlwZScpIHR5cGUgPSAnZmlsZSc7XG4gICAgcHJpdmF0ZSBmaWxlTGlzdEVsOiBIVE1MRWxlbWVudDtcblxuICAgIHByaXZhdGUgZmlsZXM6IEVjbEZpbGVVcGxvYWRbXSA9IFtdO1xuICAgIHByaXZhdGUgYnV0dG9uRWw6IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgbGFiZWxFbDogSFRNTEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBTUEFOX0JVVFRPTl9DT05WRVJTSU9OX0NMQVNTRVMgPSBbJ2VjbC1idXR0b24nLCAnZWNsLWJ1dHRvbi0tcHJpbWFyeScsICdlY2wtZmlsZS11cGxvYWRfX2J1dHRvbiddO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHJvdGVjdGVkIG5nQ29udHJvbDogTmdDb250cm9sLFxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLWZpbGUtdXBsb2FkJyldLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5lY2wtZmlsZS11cGxvYWQtLWludmFsaWQnKVxuICAgIGdldCBpbnZhbGlkU3RhdGUoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmdDb250cm9sLnN0YXR1cyA9PT0gJ0lOVkFMSUQnICYmIHRoaXMubmdDb250cm9sLnRvdWNoZWQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pc0ludmFsaWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jcmVhdGVET01TdHJ1Y3R1cmUoKTtcbiAgICAgICAgdGhpcy5oYW5kbGVUcmFuc2xhdGlvbnMoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5idXR0b25FbCwgJ2Rpc2FibGVkJywgJ3RydWUnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuYnV0dG9uRWwsICdkaXNhYmxlZCcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKSBvbkNsaWNrKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2hhbmdlJywgWyckZXZlbnQnXSkgb25GaWxlc1NlbGVjdGVkKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50ID0gZXZ0LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICBjb25zdCBmaWxlTGlzdDogRmlsZUxpc3QgPSBpbnB1dEVsZW1lbnQuZmlsZXM7XG4gICAgICAgIHRoaXMuZmlsZXMgPSB0aGlzLmdldEZpbGVNb2RlbHMoZmlsZUxpc3QpO1xuXG4gICAgICAgIGNvbnN0IGZpbGVFdmVudCA9IG5ldyBFY2xGaWxlVXBsb2FkRmlsZVNlbGVjdGVkRXZlbnQodGhpcy5maWxlcyk7XG4gICAgICAgIHRoaXMuZmlsZXNTZWxlY3RlZC5uZXh0KGZpbGVFdmVudCk7XG5cbiAgICAgICAgaWYgKCFmaWxlRXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVUcmFuc2xhdGlvbnMoKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTGlzdEl0ZW1zRE9NKHRoaXMuZmlsZXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVUcmFuc2xhdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHVwbG9hZEJ1dHRvbkxhYmVsS2V5ID0gdGhpcy5nZXRpMThuVXBsb2FkQnV0dG9uTGFiZWxLZXkoKTtcblxuICAgICAgICB0aGlzLnRyYW5zbGF0ZVxuICAgICAgICAgICAgLnN0cmVhbSh1cGxvYWRCdXR0b25MYWJlbEtleSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHRyYW5zbGF0aW9uOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5idXR0b25FbCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuYnV0dG9uRWwsICd0ZXh0Q29udGVudCcsIHRyYW5zbGF0aW9uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldGkxOG5VcGxvYWRCdXR0b25MYWJlbEtleSgpOiBzdHJpbmcge1xuICAgICAgICBsZXQga2V5ID0gJyc7XG5cbiAgICAgICAgaWYgKHRoaXMuZmlsZXMgJiYgdGhpcy5maWxlcy5sZW5ndGggIT09IDApIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAga2V5ID0gJ2VjbC5maWxlLXVwbG9hZC5SRVBMQUNFLUZJTEVTJztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAga2V5ID0gJ2VjbC5maWxlLXVwbG9hZC5SRVBMQUNFLUZJTEUnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICBrZXkgPSAnZWNsLmZpbGUtdXBsb2FkLkNIT09TRS1GSUxFUyc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGtleSA9ICdlY2wuZmlsZS11cGxvYWQuQ0hPT1NFLUZJTEUnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGtleTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUxpc3RJdGVtc0RPTShmaWxlczogRWNsRmlsZVVwbG9hZFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5maWxlTGlzdEVsLCAndGV4dENvbnRlbnQnLCAnJyk7XG4gICAgICAgIGZpbGVzLmZvckVhY2goKGZpbGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmNyZWF0ZUZpbGVMaXN0SXRlbURPTUVsZW1lbnQoZmlsZSk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZmlsZUxpc3RFbCwgaXRlbSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRE9NU3RydWN0dXJlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBsYWJlbEVsID0gdGhpcy5jcmVhdGVMYWJlbERPTUVsZW1lbnQoKTtcbiAgICAgICAgY29uc3QgaG9zdEVsID0gdGhpcy5nZXRIb3N0RE9NRWxlbWVudCgpO1xuICAgICAgICBjb25zdCBmaWxlTGlzdEVsID0gdGhpcy5jcmVhdGVGaWxlTGlzdERPTUVsZW1lbnQoKTtcblxuICAgICAgICBob3N0RWwuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCdhZnRlcmVuZCcsIGZpbGVMaXN0RWwpO1xuICAgICAgICBob3N0RWwuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCdhZnRlcmVuZCcsIGxhYmVsRWwpO1xuXG4gICAgICAgIHRoaXMuZmlsZUxpc3RFbCA9IGZpbGVMaXN0RWw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRIb3N0RE9NRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUxhYmVsRE9NRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHRoaXMuYnV0dG9uRWwgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgdGhpcy5hZGRDbGFzc2VzKHRoaXMuYnV0dG9uRWwsIHRoaXMuU1BBTl9CVVRUT05fQ09OVkVSU0lPTl9DTEFTU0VTKTtcblxuICAgICAgICB0aGlzLmxhYmVsRWwgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2xhYmVsJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMubGFiZWxFbCwgJ2ZvcicsIHRoaXMuaWQpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMubGFiZWxFbCwgJ2VjbC1maWxlLXVwbG9hZF9fYnV0dG9uLWNvbnRhaW5lcicpO1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5sYWJlbEVsLCB0aGlzLmJ1dHRvbkVsKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5sYWJlbEVsO1xuICAgIH1cbiAgICBwcml2YXRlIGFkZENsYXNzZXMoZWxlbWVudDogSFRNTEVsZW1lbnQsIGNsYXNzZXM6IHN0cmluZ1tdICk6IHZvaWQge1xuICAgICAgICBjbGFzc2VzLmZvckVhY2goY2xhc3NOYW1lPT4gdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhlbGVtZW50LCBjbGFzc05hbWUpIClcbiAgICB9XG4gICAgcHJpdmF0ZSBjcmVhdGVGaWxlTGlzdERPTUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCd1bCcpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGVsZW1lbnQsJ2VjbC1maWxlLXVwbG9hZF9fbGlzdCcpO1xuXG4gICAgICAgIHJldHVybiBlbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRmlsZUxpc3RJdGVtRE9NRWxlbWVudChmaWxlVXBsb2FkOiBFY2xGaWxlVXBsb2FkKTogSFRNTEVsZW1lbnQge1xuICAgICAgICBjb25zdCBsaUVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2xpJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MobGlFbGVtZW50LCdlY2wtZmlsZS11cGxvYWRfX2l0ZW0nKTtcblxuICAgICAgICBjb25zdCBmaWxlTmFtZUVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZVRleHQoZmlsZVVwbG9hZC5uYW1lKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChmaWxlTmFtZUVsZW1lbnQsIGZpbGVOYW1lKTtcblxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKCBmaWxlTmFtZUVsZW1lbnQsJ2VjbC1maWxlLXVwbG9hZF9faXRlbS1uYW1lJyApO1xuXG4gICAgICAgIGNvbnN0IGZpbGVNZXRhRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuXG4gICAgICAgIGNvbnN0IGZpbGVNZXRhRWxlbWVudFRleHQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZVRleHQoYCR7ZmlsZVVwbG9hZC5zaXplfSAtICR7ZmlsZVVwbG9hZC5leHRlbnNpb259YCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZmlsZU1ldGFFbGVtZW50LCBmaWxlTWV0YUVsZW1lbnRUZXh0KTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhmaWxlTWV0YUVsZW1lbnQsICdlY2wtZmlsZS11cGxvYWRfX2l0ZW0tbWV0YScpO1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQobGlFbGVtZW50LCBmaWxlTmFtZUVsZW1lbnQpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGxpRWxlbWVudCwgZmlsZU1ldGFFbGVtZW50KTtcblxuICAgICAgICByZXR1cm4gbGlFbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RmlsZU1vZGVscyhmaWxlTGlzdDogRmlsZUxpc3QpOiBBcnJheTxFY2xGaWxlVXBsb2FkPiB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKGZpbGVMaXN0KS5tYXAoKGYpID0+ICh7XG4gICAgICAgICAgICBuYW1lOiBmLm5hbWUsXG4gICAgICAgICAgICBleHRlbnNpb246IHRoaXMuZ2V0RmlsZW5hbWVFeHRlbnNpb24oZi5uYW1lKSxcbiAgICAgICAgICAgIHNpemU6IHRoaXMuZm9ybWF0Qnl0ZXMoZi5zaXplKSxcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RmlsZW5hbWVFeHRlbnNpb24oZmlsZW5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBmaWxlbmFtZS5zcGxpdCgnLicpLnBvcCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0Qnl0ZXMoYnl0ZXMsIGRlY2ltYWxzID0gMik6IHN0cmluZyB7XG4gICAgICAgIGlmIChieXRlcyA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuICcwIEJ5dGVzJztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGsgPSAxMDI0O1xuICAgICAgICBjb25zdCBkbSA9IGRlY2ltYWxzIDwgMCA/IDAgOiBkZWNpbWFscztcbiAgICAgICAgY29uc3Qgc2l6ZXMgPSBbJ0J5dGVzJywgJ2tCJywgJ01CJywgJ0dCJywgJ1RCJywgJ1BCJywgJ0VCJywgJ1pCJywgJ1lCJ107XG5cbiAgICAgICAgY29uc3QgaSA9IE1hdGguZmxvb3IoTWF0aC5sb2coYnl0ZXMpIC8gTWF0aC5sb2coaykpO1xuXG4gICAgICAgIHJldHVybiBgJHtwYXJzZUZsb2F0KChieXRlcyAvIGsgKiogaSkudG9GaXhlZChkbSkpfSAke3NpemVzW2ldfWA7XG4gICAgfVxufVxuIl19