@seniorsistemas/data-seniorx-core 3.1.0 → 3.2.0

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 (191) hide show
  1. package/core/constants/accordion.const.d.ts +4 -4
  2. package/core/constants/alert.const.d.ts +1 -1
  3. package/core/constants/autocomplete.const.d.ts +2 -2
  4. package/core/constants/badge.const.d.ts +1 -1
  5. package/core/constants/card.const.d.ts +8 -8
  6. package/core/constants/chips.const.d.ts +2 -2
  7. package/core/constants/code-editor.const.d.ts +4 -4
  8. package/core/constants/collapse-link.const.d.ts +2 -2
  9. package/core/constants/color-picker.const.d.ts +2 -2
  10. package/core/constants/combobox.const.d.ts +3 -3
  11. package/core/constants/context-selector.const.d.ts +1 -1
  12. package/core/constants/editable-overlay.const.d.ts +4 -4
  13. package/core/constants/fileupload.const.d.ts +3 -3
  14. package/core/constants/gantt.const.d.ts +1 -1
  15. package/core/constants/help-popover.const.d.ts +2 -2
  16. package/core/constants/hyperlink.const.d.ts +2 -2
  17. package/core/constants/info-sign.const.d.ts +1 -1
  18. package/core/constants/inline-edit.const.d.ts +4 -4
  19. package/core/constants/kanban.const.d.ts +2 -2
  20. package/core/constants/list.const.d.ts +1 -1
  21. package/core/constants/modalc.const.d.ts +1 -1
  22. package/core/constants/navigation-button.const.d.ts +3 -3
  23. package/core/constants/object-card.const.d.ts +2 -2
  24. package/core/constants/picklist.const.d.ts +2 -2
  25. package/core/constants/pin-code-field.const.d.ts +3 -3
  26. package/core/constants/popover.const.d.ts +1 -1
  27. package/core/constants/progressbar.const.d.ts +1 -1
  28. package/core/constants/radio.const.d.ts +2 -2
  29. package/core/constants/rating-scale.const.d.ts +1 -1
  30. package/core/constants/sidebar.const.d.ts +1 -1
  31. package/core/constants/slider.const.d.ts +1 -1
  32. package/core/constants/split-button.const.d.ts +2 -2
  33. package/core/constants/spotlight.const.d.ts +8 -8
  34. package/core/constants/star-rating.const.d.ts +2 -2
  35. package/core/constants/tab.const.d.ts +3 -3
  36. package/core/constants/table.const.d.ts +1 -0
  37. package/core/constants/thumbnails.const.d.ts +4 -4
  38. package/core/constants/token-list.const.d.ts +1 -1
  39. package/core/types/table-column.type.d.ts +4 -0
  40. package/core/types/table-options.type.d.ts +3 -0
  41. package/core/types/table-shared.type.d.ts +1 -1
  42. package/core/types/tile-select.type.d.ts +17 -0
  43. package/esm2022/core/constants/accordion.const.mjs +5 -5
  44. package/esm2022/core/constants/alert.const.mjs +2 -2
  45. package/esm2022/core/constants/autocomplete.const.mjs +3 -3
  46. package/esm2022/core/constants/badge.const.mjs +2 -2
  47. package/esm2022/core/constants/card.const.mjs +9 -9
  48. package/esm2022/core/constants/chips.const.mjs +3 -3
  49. package/esm2022/core/constants/code-editor.const.mjs +5 -5
  50. package/esm2022/core/constants/collapse-link.const.mjs +3 -3
  51. package/esm2022/core/constants/color-picker.const.mjs +3 -3
  52. package/esm2022/core/constants/combobox.const.mjs +7 -4
  53. package/esm2022/core/constants/context-selector.const.mjs +2 -2
  54. package/esm2022/core/constants/editable-overlay.const.mjs +5 -5
  55. package/esm2022/core/constants/fileupload.const.mjs +4 -4
  56. package/esm2022/core/constants/gantt.const.mjs +2 -2
  57. package/esm2022/core/constants/help-popover.const.mjs +3 -3
  58. package/esm2022/core/constants/hyperlink.const.mjs +3 -3
  59. package/esm2022/core/constants/info-sign.const.mjs +2 -2
  60. package/esm2022/core/constants/inline-edit.const.mjs +5 -5
  61. package/esm2022/core/constants/kanban.const.mjs +3 -3
  62. package/esm2022/core/constants/list.const.mjs +2 -2
  63. package/esm2022/core/constants/loading-state.const.mjs +2 -2
  64. package/esm2022/core/constants/modalc.const.mjs +2 -2
  65. package/esm2022/core/constants/navigation-button.const.mjs +4 -4
  66. package/esm2022/core/constants/object-card.const.mjs +3 -3
  67. package/esm2022/core/constants/picklist.const.mjs +3 -3
  68. package/esm2022/core/constants/pin-code-field.const.mjs +4 -4
  69. package/esm2022/core/constants/popover.const.mjs +8 -2
  70. package/esm2022/core/constants/progressbar.const.mjs +2 -2
  71. package/esm2022/core/constants/radio.const.mjs +3 -3
  72. package/esm2022/core/constants/rating-scale.const.mjs +2 -2
  73. package/esm2022/core/constants/sidebar.const.mjs +2 -2
  74. package/esm2022/core/constants/slider.const.mjs +2 -2
  75. package/esm2022/core/constants/split-button.const.mjs +3 -3
  76. package/esm2022/core/constants/spotlight.const.mjs +9 -9
  77. package/esm2022/core/constants/star-rating.const.mjs +3 -3
  78. package/esm2022/core/constants/tab.const.mjs +4 -4
  79. package/esm2022/core/constants/table.const.mjs +4 -3
  80. package/esm2022/core/constants/thumbnails.const.mjs +5 -5
  81. package/esm2022/core/constants/token-list.const.mjs +2 -2
  82. package/esm2022/core/data/fontawesome-v5-solid-icons.data.mjs +2 -2
  83. package/esm2022/core/types/table-column.type.mjs +1 -1
  84. package/esm2022/core/types/table-options.type.mjs +1 -1
  85. package/esm2022/core/types/table-shared.type.mjs +1 -1
  86. package/esm2022/core/types/tile-select.type.mjs +8 -0
  87. package/esm2022/core/utils/combobox.util.mjs +6 -6
  88. package/esm2022/features/accordion/components/accordion-item/accordion-item.component.mjs +3 -3
  89. package/esm2022/features/autocomplete/autocomplete.component.mjs +3 -3
  90. package/esm2022/features/bignumber-input/bignumber-input.component.mjs +1 -1
  91. package/esm2022/features/breadcrumb/breadcrumb.component.mjs +3 -3
  92. package/esm2022/features/button/button.component.mjs +7 -3
  93. package/esm2022/features/card-list/card/card.component.mjs +2 -2
  94. package/esm2022/features/card-list/card-list.component.mjs +7 -3
  95. package/esm2022/features/chat/chat.component.mjs +4 -4
  96. package/esm2022/features/checkbox/checkbox.component.mjs +3 -3
  97. package/esm2022/features/checkbox-list/checkbox-list.component.mjs +3 -3
  98. package/esm2022/features/chips/chips.component.mjs +3 -3
  99. package/esm2022/features/code-editor/code-editor.component.mjs +23 -5
  100. package/esm2022/features/color-picker/color-picker.component.mjs +3 -3
  101. package/esm2022/features/country-phone-picker/country-phone-picker.component.mjs +3 -3
  102. package/esm2022/features/currency/currency.component.mjs +1 -1
  103. package/esm2022/features/editable-overlay/editable-overlay.component.mjs +3 -3
  104. package/esm2022/features/empty-state/empty-state.component.mjs +1 -1
  105. package/esm2022/features/fileupload/fileupload.component.mjs +4 -4
  106. package/esm2022/features/filters/filters.component.mjs +3 -3
  107. package/esm2022/features/help-popover/help-popover.component.mjs +2 -2
  108. package/esm2022/features/hyperlink/hyperlink.component.mjs +3 -3
  109. package/esm2022/features/icon-picker/icon-picker.component.mjs +1 -1
  110. package/esm2022/features/image-cropper/image-cropper.component.mjs +9 -9
  111. package/esm2022/features/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +1 -1
  112. package/esm2022/features/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +2 -2
  113. package/esm2022/features/list/list.component.mjs +7 -3
  114. package/esm2022/features/loading-state/loading-state.component.mjs +5 -5
  115. package/esm2022/features/localized-number-input/localized-number-input.component.mjs +4 -4
  116. package/esm2022/features/lookup/lookup.component.mjs +5 -5
  117. package/esm2022/features/mask/mask.component.mjs +4 -4
  118. package/esm2022/features/modal/modal.component.mjs +3 -3
  119. package/esm2022/features/modalc/modalc.component.mjs +3 -3
  120. package/esm2022/features/number-input/number-input.component.mjs +32 -5
  121. package/esm2022/features/object-card/components/object-card-field/object-card-field.component.mjs +1 -1
  122. package/esm2022/features/object-card/components/object-card-main/object-card-main.component.mjs +1 -1
  123. package/esm2022/features/object-card/object-card.component.mjs +2 -2
  124. package/esm2022/features/paginator/paginator.component.mjs +3 -3
  125. package/esm2022/features/panel/panel.component.mjs +6 -6
  126. package/esm2022/features/password-strength/password-strength.component.mjs +6 -6
  127. package/esm2022/features/picklist/picklist.component.mjs +6 -4
  128. package/esm2022/features/pin-code-field/pin-code-field.component.mjs +3 -3
  129. package/esm2022/features/profile-picture-picker/profile-picture-picker.component.mjs +11 -11
  130. package/esm2022/features/rating-scale/rating-scale.component.mjs +3 -3
  131. package/esm2022/features/row-card-list/row-card/row-card.component.mjs +100 -7
  132. package/esm2022/features/row-card-list/row-card-list.component.mjs +7 -3
  133. package/esm2022/features/scaffold/scaffold.component.mjs +3 -3
  134. package/esm2022/features/searchbox/searchbox.component.mjs +4 -4
  135. package/esm2022/features/select-button/select-button.component.mjs +5 -5
  136. package/esm2022/features/sidebar/sidebar.component.mjs +3 -3
  137. package/esm2022/features/slider/slider.component.mjs +3 -3
  138. package/esm2022/features/speech-recognition/speech-recognition.component.mjs +12 -12
  139. package/esm2022/features/spotlight/spotlight.component.mjs +2 -2
  140. package/esm2022/features/star-rating/star-rating.component.mjs +3 -3
  141. package/esm2022/features/switch/switch.component.mjs +4 -4
  142. package/esm2022/features/table/components/table-actions-menu.component.mjs +2 -2
  143. package/esm2022/features/table/components/table-cell-content.component.mjs +16 -10
  144. package/esm2022/features/table/table.component.mjs +46 -16
  145. package/esm2022/features/table/utils/table-visual.util.mjs +25 -7
  146. package/esm2022/features/textarea/textarea.component.mjs +3 -3
  147. package/esm2022/features/textbox/textbox.component.mjs +3 -3
  148. package/esm2022/features/tile-select/tile-select.component.mjs +80 -0
  149. package/esm2022/features/toast/toast.component.mjs +3 -3
  150. package/esm2022/features/tree/components/tree-node-item/tree-node-item.component.mjs +6 -6
  151. package/esm2022/features/visual-sql-editor/visual-sql-editor.component.mjs +2 -2
  152. package/esm2022/locales/en.json +4760 -4749
  153. package/esm2022/locales/es-CO.json +4760 -4749
  154. package/esm2022/locales/pt.json +4760 -4749
  155. package/esm2022/providers/features.provider.mjs +3 -1
  156. package/esm2022/public-api.mjs +3 -1
  157. package/features/button/button.component.d.ts +2 -1
  158. package/features/card-list/card-list.component.d.ts +3 -1
  159. package/features/code-editor/code-editor.component.d.ts +2 -1
  160. package/features/help-popover/help-popover.component.d.ts +1 -1
  161. package/features/inline-edit/components/inline-edit-item/inline-edit-item.component.d.ts +4 -4
  162. package/features/kanban/components/kanban-item-dragging/kanban-item-dragging.component.d.ts +2 -2
  163. package/features/list/list.component.d.ts +3 -1
  164. package/features/navigation-button/navigation-button.component.d.ts +3 -3
  165. package/features/number-input/number-input.component.d.ts +7 -1
  166. package/features/panel/panel.component.d.ts +1 -1
  167. package/features/picklist/picklist.component.d.ts +3 -2
  168. package/features/pin-code-field/pin-code-field.component.d.ts +3 -3
  169. package/features/row-card-list/row-card/row-card.component.d.ts +15 -2
  170. package/features/row-card-list/row-card-list.component.d.ts +3 -1
  171. package/features/spotlight/spotlight.component.d.ts +8 -8
  172. package/features/table/components/table-cell-content.component.d.ts +4 -1
  173. package/features/table/table.component.d.ts +9 -2
  174. package/features/table/utils/table-visual.util.d.ts +5 -0
  175. package/features/textarea/textarea.component.d.ts +1 -1
  176. package/features/thumbnails/components/thumbnail-item/thumbnail-item.component.d.ts +3 -3
  177. package/features/thumbnails/components/thumbnail-item-image/thumbnail-item-image.component.d.ts +1 -1
  178. package/features/thumbnails/components/thumbnail-item-video/thumbnail-item-video.component.d.ts +1 -1
  179. package/features/tile-select/tile-select.component.d.ts +21 -0
  180. package/fesm2022/seniorsistemas-data-seniorx-core-fontawesome-v5-solid-icons.data-fK3MF8KJ.mjs +4 -0
  181. package/fesm2022/{seniorsistemas-data-seniorx-core-fontawesome-v5-solid-icons.data-B7opbaVg.mjs.map → seniorsistemas-data-seniorx-core-fontawesome-v5-solid-icons.data-fK3MF8KJ.mjs.map} +1 -1
  182. package/fesm2022/seniorsistemas-data-seniorx-core.mjs +14859 -14534
  183. package/fesm2022/seniorsistemas-data-seniorx-core.mjs.map +1 -1
  184. package/package.json +57 -22
  185. package/public-api.d.ts +3 -0
  186. package/src/locales/en.json +4760 -4749
  187. package/src/locales/es-CO.json +4760 -4749
  188. package/src/locales/pt.json +4760 -4749
  189. package/styles/sdc-global-variables.scss +2 -2
  190. package/styles.css +2 -2
  191. package/fesm2022/seniorsistemas-data-seniorx-core-fontawesome-v5-solid-icons.data-B7opbaVg.mjs +0 -4
@@ -85,11 +85,11 @@ export class ScaffoldComponent {
85
85
  return title || this.title || '';
86
86
  }
87
87
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScaffoldComponent, deps: [{ token: i1.ActivatedRoute, optional: true }, { token: i1.Router, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
88
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ScaffoldComponent, isStandalone: true, selector: "sdc-scaffold", inputs: { header: "header", homeUrl: "homeUrl", title: "title", titleIcon: "titleIcon", titleIconType: "titleIconType", titleIconSide: "titleIconSide", useRouterOutlet: ["useRouterOutlet", "useRouterOutlet", booleanAttribute], showHeader: ["showHeader", "showHeader", booleanAttribute], showBreadcrumb: ["showBreadcrumb", "showBreadcrumb", booleanAttribute], breadcrumbItems: "breadcrumbItems" }, queries: [{ propertyName: "headerTpl", first: true, predicate: ["scaffoldHeader"], descendants: true, read: TemplateRef }, { propertyName: "footerTpl", first: true, predicate: ["scaffoldFooter"], descendants: true, read: TemplateRef }], ngImport: i0, template: "@if (showHeader) {\n<header class=\"sdc-scaffold-header\" role=\"banner\">\n <div class=\"box\">\n <div class=\"sds-container header-frame\" data-testid=\"product-header\" [attr.data-header]=\"header | translate\">\n <h1 class=\"title\">{{ header | translate }}</h1>\n <div class=\"content\">\n @if (headerTpl) {\n <ng-container [ngTemplateOutlet]=\"headerTpl\"></ng-container>\n }\n </div>\n </div>\n </div>\n</header>\n}\n\n<main class=\"sdc-scaffold\" role=\"main\" [attr.aria-label]=\"'platform.datacore.accessibility.main_content' | translate\">\n @if (currentTitle) {\n <div\n class=\"sdc-scaffold-title-row\"\n [class.sdc-scaffold-title-row--right]=\"titleIcon && titleIconSide === 'right'\"\n >\n @if (titleIcon && titleIconSide === 'left') {\n <sdc-icon-renderer\n class=\"sdc-scaffold-title-icon\"\n [icon]=\"titleIcon\"\n [iconType]=\"titleIconType\"\n [size]=\"24\"\n ></sdc-icon-renderer>\n }\n\n <h1 class=\"sdc-scaffold-title\">{{ currentTitle | translate }}</h1>\n\n @if (titleIcon && titleIconSide === 'right') {\n <sdc-icon-renderer\n class=\"sdc-scaffold-title-icon\"\n [icon]=\"titleIcon\"\n [iconType]=\"titleIconType\"\n [size]=\"24\"\n ></sdc-icon-renderer>\n }\n </div>\n }\n\n @if (showBreadcrumb) {\n <nav class=\"sdc-scaffold-breadcrumb\" [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_navigation' | translate\">\n <sdc-breadcrumb [homeUrl]=\"homeUrl\" [items]=\"breadcrumbItems\"></sdc-breadcrumb>\n </nav>\n }\n\n <div class=\"sdc-scaffold-content\">\n @if (useRouterOutlet) {\n <router-outlet></router-outlet>\n } @else {\n <ng-content select=\"[sdc-scaffold-content]\"></ng-content>\n <ng-content></ng-content>\n }\n </div>\n</main>\n\n@if (footerTpl) {\n<footer class=\"sdc-scaffold-footer\">\n <ng-container [ngTemplateOutlet]=\"footerTpl\"></ng-container>\n</footer>\n}\n", styles: [":host{display:block}.sdc-scaffold-header{margin:0;padding:0}.sdc-scaffold-header .box{position:relative;width:100%;height:var(--sdc-scaffold-header-height, 70px)}.sdc-scaffold-header .sds-container{padding:var(--sdc-showcase-container-padding, 20px 20px 20px 13px);background-color:var(--sdc-showcase-container-bg, #f1f1f1)}.sdc-scaffold-header .header-frame,.sdc-scaffold-header .primary-header{position:fixed;inset-block-start:0;inset-inline-start:0;z-index:32;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-sizing:border-box;width:100%;height:var(--sdc-scaffold-header-height, 70px);padding:15px var(--sdc-scaffold-header-padding-x, 13px);border-bottom:1px solid #ddd;background-color:#fff}@media (min-width: 750px){.sdc-scaffold-header .header-frame,.sdc-scaffold-header .primary-header{padding-left:var(--sdc-scaffold-header-padding-x, 13px);padding-right:var(--sdc-scaffold-header-padding-x, 13px)}}.sdc-scaffold-header .title,.sdc-scaffold-header .primary-title{margin:0 15px 0 0;min-width:140px;overflow:hidden;color:#999;font-size:16pt;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.sdc-scaffold-header .content{display:flex;flex:1 1 auto;align-items:center;justify-content:flex-end;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sdc-scaffold{min-height:48px}.sdc-scaffold:focus-visible{outline:var(--sdc-focus-outline, 2px solid var(--sdc-primary-600, #2563eb));outline-offset:2px}.sdc-scaffold .sds-page-title{display:none}.sdc-scaffold-title{padding:0;margin:0 0 var(--sdc-scaffold-title-gap, 10px) 0;flex:0 1 auto;min-width:0;overflow:hidden;color:var(--sdc-scaffold-title-color, #212533);font-family:var(--sdc-font-family, \"Inter\", sans-serif);font-size:var(--sdc-scaffold-title-size, 24px);font-weight:400;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.sdc-scaffold-title-row{display:flex;align-items:center;gap:var(--sdc-scaffold-title-icon-gap, .625rem);width:100%;min-width:0;margin-bottom:var(--sdc-scaffold-title-gap, 10px)}.sdc-scaffold-title-row--right{flex-direction:row}.sdc-scaffold-title-row :where(.sdc-scaffold-title){margin-bottom:0}.sdc-scaffold-title-icon{color:var(--sdc-scaffold-title-icon-color, var(--sdc-primary-color, #2563eb))}.sdc-scaffold [role=navigation]{margin-top:var(--sdc-scaffold-breadcrumb-offset, 2px)}.sdc-scaffold-content{margin-top:var(--sdc-scaffold-content-margin-top, 1rem)}.sdc-scaffold-footer{margin-top:var(--sdc-scaffold-footer-margin-top, 2rem);padding:var(--sdc-scaffold-footer-padding, 1rem 0)}@media (min-width: 750px){.sdc-scaffold{padding:var(--sdc-scaffold-desktop-padding, 5px)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BreadcrumbComponent, selector: "sdc-breadcrumb", inputs: ["homeUrl", "targetHomeUrl", "enableLinks", "ariaLabel", "items"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "component", type: IconRendererComponent, selector: "sdc-icon-renderer", inputs: ["icon", "iconType", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
88
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ScaffoldComponent, isStandalone: true, selector: "sdc-scaffold", inputs: { header: "header", homeUrl: "homeUrl", title: "title", titleIcon: "titleIcon", titleIconType: "titleIconType", titleIconSide: "titleIconSide", useRouterOutlet: ["useRouterOutlet", "useRouterOutlet", booleanAttribute], showHeader: ["showHeader", "showHeader", booleanAttribute], showBreadcrumb: ["showBreadcrumb", "showBreadcrumb", booleanAttribute], breadcrumbItems: "breadcrumbItems" }, queries: [{ propertyName: "headerTpl", first: true, predicate: ["scaffoldHeader"], descendants: true, read: TemplateRef }, { propertyName: "footerTpl", first: true, predicate: ["scaffoldFooter"], descendants: true, read: TemplateRef }], ngImport: i0, template: "@if (showHeader) {\n<header class=\"sdc-scaffold-header\" role=\"banner\">\n <div class=\"box\">\n <div class=\"sds-container header-frame\" data-testid=\"product-header\" [attr.data-header]=\"header | translate\">\n <h1 class=\"title\">{{ header | translate }}</h1>\n <div class=\"content\">\n @if (headerTpl) {\n <ng-container [ngTemplateOutlet]=\"headerTpl\"></ng-container>\n }\n </div>\n </div>\n </div>\n</header>\n}\n\n<main class=\"sdc-scaffold\" role=\"main\" [attr.aria-label]=\"'platform.datacore.accessibility_main_content' | translate\">\n @if (currentTitle) {\n <div\n class=\"sdc-scaffold-title-row\"\n [class.sdc-scaffold-title-row--right]=\"titleIcon && titleIconSide === 'right'\"\n >\n @if (titleIcon && titleIconSide === 'left') {\n <sdc-icon-renderer\n class=\"sdc-scaffold-title-icon\"\n [icon]=\"titleIcon\"\n [iconType]=\"titleIconType\"\n [size]=\"24\"\n ></sdc-icon-renderer>\n }\n\n <h1 class=\"sdc-scaffold-title\">{{ currentTitle | translate }}</h1>\n\n @if (titleIcon && titleIconSide === 'right') {\n <sdc-icon-renderer\n class=\"sdc-scaffold-title-icon\"\n [icon]=\"titleIcon\"\n [iconType]=\"titleIconType\"\n [size]=\"24\"\n ></sdc-icon-renderer>\n }\n </div>\n }\n\n @if (showBreadcrumb) {\n <nav class=\"sdc-scaffold-breadcrumb\" [attr.aria-label]=\"'platform.datacore.accessibility_breadcrumb_navigation' | translate\">\n <sdc-breadcrumb [homeUrl]=\"homeUrl\" [items]=\"breadcrumbItems\"></sdc-breadcrumb>\n </nav>\n }\n\n <div class=\"sdc-scaffold-content\">\n @if (useRouterOutlet) {\n <router-outlet></router-outlet>\n } @else {\n <ng-content select=\"[sdc-scaffold-content]\"></ng-content>\n <ng-content></ng-content>\n }\n </div>\n</main>\n\n@if (footerTpl) {\n<footer class=\"sdc-scaffold-footer\">\n <ng-container [ngTemplateOutlet]=\"footerTpl\"></ng-container>\n</footer>\n}\n", styles: [":host{display:block}.sdc-scaffold-header{margin:0;padding:0}.sdc-scaffold-header .box{position:relative;width:100%;height:var(--sdc-scaffold-header-height, 70px)}.sdc-scaffold-header .sds-container{padding:var(--sdc-showcase-container-padding, 20px 20px 20px 13px);background-color:var(--sdc-showcase-container-bg, #f1f1f1)}.sdc-scaffold-header .header-frame,.sdc-scaffold-header .primary-header{position:fixed;inset-block-start:0;inset-inline-start:0;z-index:32;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-sizing:border-box;width:100%;height:var(--sdc-scaffold-header-height, 70px);padding:15px var(--sdc-scaffold-header-padding-x, 13px);border-bottom:1px solid #ddd;background-color:#fff}@media (min-width: 750px){.sdc-scaffold-header .header-frame,.sdc-scaffold-header .primary-header{padding-left:var(--sdc-scaffold-header-padding-x, 13px);padding-right:var(--sdc-scaffold-header-padding-x, 13px)}}.sdc-scaffold-header .title,.sdc-scaffold-header .primary-title{margin:0 15px 0 0;min-width:140px;overflow:hidden;color:#999;font-size:16pt;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.sdc-scaffold-header .content{display:flex;flex:1 1 auto;align-items:center;justify-content:flex-end;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sdc-scaffold{min-height:48px}.sdc-scaffold:focus-visible{outline:var(--sdc-focus-outline, 2px solid var(--sdc-primary-600, #2563eb));outline-offset:2px}.sdc-scaffold .sds-page-title{display:none}.sdc-scaffold-title{padding:0;margin:0 0 var(--sdc-scaffold-title-gap, 10px) 0;flex:0 1 auto;min-width:0;overflow:hidden;color:var(--sdc-scaffold-title-color, #212533);font-family:var(--sdc-font-family, \"Inter\", sans-serif);font-size:var(--sdc-scaffold-title-size, 24px);font-weight:400;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.sdc-scaffold-title-row{display:flex;align-items:center;gap:var(--sdc-scaffold-title-icon-gap, .625rem);width:100%;min-width:0;margin-bottom:var(--sdc-scaffold-title-gap, 10px)}.sdc-scaffold-title-row--right{flex-direction:row}.sdc-scaffold-title-row :where(.sdc-scaffold-title){margin-bottom:0}.sdc-scaffold-title-icon{color:var(--sdc-scaffold-title-icon-color, var(--sdc-primary-color, #2563eb))}.sdc-scaffold [role=navigation]{margin-top:var(--sdc-scaffold-breadcrumb-offset, 2px)}.sdc-scaffold-content{margin-top:var(--sdc-scaffold-content-margin-top, 1rem)}.sdc-scaffold-footer{margin-top:var(--sdc-scaffold-footer-margin-top, 2rem);padding:var(--sdc-scaffold-footer-padding, 1rem 0)}@media (min-width: 750px){.sdc-scaffold{padding:var(--sdc-scaffold-desktop-padding, 5px)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BreadcrumbComponent, selector: "sdc-breadcrumb", inputs: ["homeUrl", "targetHomeUrl", "enableLinks", "ariaLabel", "items"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "component", type: IconRendererComponent, selector: "sdc-icon-renderer", inputs: ["icon", "iconType", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
89
89
  }
90
90
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScaffoldComponent, decorators: [{
91
91
  type: Component,
92
- args: [{ selector: 'sdc-scaffold', standalone: true, imports: [CommonModule, BreadcrumbComponent, RouterOutlet, TranslateModule, IconRendererComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "@if (showHeader) {\n<header class=\"sdc-scaffold-header\" role=\"banner\">\n <div class=\"box\">\n <div class=\"sds-container header-frame\" data-testid=\"product-header\" [attr.data-header]=\"header | translate\">\n <h1 class=\"title\">{{ header | translate }}</h1>\n <div class=\"content\">\n @if (headerTpl) {\n <ng-container [ngTemplateOutlet]=\"headerTpl\"></ng-container>\n }\n </div>\n </div>\n </div>\n</header>\n}\n\n<main class=\"sdc-scaffold\" role=\"main\" [attr.aria-label]=\"'platform.datacore.accessibility.main_content' | translate\">\n @if (currentTitle) {\n <div\n class=\"sdc-scaffold-title-row\"\n [class.sdc-scaffold-title-row--right]=\"titleIcon && titleIconSide === 'right'\"\n >\n @if (titleIcon && titleIconSide === 'left') {\n <sdc-icon-renderer\n class=\"sdc-scaffold-title-icon\"\n [icon]=\"titleIcon\"\n [iconType]=\"titleIconType\"\n [size]=\"24\"\n ></sdc-icon-renderer>\n }\n\n <h1 class=\"sdc-scaffold-title\">{{ currentTitle | translate }}</h1>\n\n @if (titleIcon && titleIconSide === 'right') {\n <sdc-icon-renderer\n class=\"sdc-scaffold-title-icon\"\n [icon]=\"titleIcon\"\n [iconType]=\"titleIconType\"\n [size]=\"24\"\n ></sdc-icon-renderer>\n }\n </div>\n }\n\n @if (showBreadcrumb) {\n <nav class=\"sdc-scaffold-breadcrumb\" [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_navigation' | translate\">\n <sdc-breadcrumb [homeUrl]=\"homeUrl\" [items]=\"breadcrumbItems\"></sdc-breadcrumb>\n </nav>\n }\n\n <div class=\"sdc-scaffold-content\">\n @if (useRouterOutlet) {\n <router-outlet></router-outlet>\n } @else {\n <ng-content select=\"[sdc-scaffold-content]\"></ng-content>\n <ng-content></ng-content>\n }\n </div>\n</main>\n\n@if (footerTpl) {\n<footer class=\"sdc-scaffold-footer\">\n <ng-container [ngTemplateOutlet]=\"footerTpl\"></ng-container>\n</footer>\n}\n", styles: [":host{display:block}.sdc-scaffold-header{margin:0;padding:0}.sdc-scaffold-header .box{position:relative;width:100%;height:var(--sdc-scaffold-header-height, 70px)}.sdc-scaffold-header .sds-container{padding:var(--sdc-showcase-container-padding, 20px 20px 20px 13px);background-color:var(--sdc-showcase-container-bg, #f1f1f1)}.sdc-scaffold-header .header-frame,.sdc-scaffold-header .primary-header{position:fixed;inset-block-start:0;inset-inline-start:0;z-index:32;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-sizing:border-box;width:100%;height:var(--sdc-scaffold-header-height, 70px);padding:15px var(--sdc-scaffold-header-padding-x, 13px);border-bottom:1px solid #ddd;background-color:#fff}@media (min-width: 750px){.sdc-scaffold-header .header-frame,.sdc-scaffold-header .primary-header{padding-left:var(--sdc-scaffold-header-padding-x, 13px);padding-right:var(--sdc-scaffold-header-padding-x, 13px)}}.sdc-scaffold-header .title,.sdc-scaffold-header .primary-title{margin:0 15px 0 0;min-width:140px;overflow:hidden;color:#999;font-size:16pt;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.sdc-scaffold-header .content{display:flex;flex:1 1 auto;align-items:center;justify-content:flex-end;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sdc-scaffold{min-height:48px}.sdc-scaffold:focus-visible{outline:var(--sdc-focus-outline, 2px solid var(--sdc-primary-600, #2563eb));outline-offset:2px}.sdc-scaffold .sds-page-title{display:none}.sdc-scaffold-title{padding:0;margin:0 0 var(--sdc-scaffold-title-gap, 10px) 0;flex:0 1 auto;min-width:0;overflow:hidden;color:var(--sdc-scaffold-title-color, #212533);font-family:var(--sdc-font-family, \"Inter\", sans-serif);font-size:var(--sdc-scaffold-title-size, 24px);font-weight:400;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.sdc-scaffold-title-row{display:flex;align-items:center;gap:var(--sdc-scaffold-title-icon-gap, .625rem);width:100%;min-width:0;margin-bottom:var(--sdc-scaffold-title-gap, 10px)}.sdc-scaffold-title-row--right{flex-direction:row}.sdc-scaffold-title-row :where(.sdc-scaffold-title){margin-bottom:0}.sdc-scaffold-title-icon{color:var(--sdc-scaffold-title-icon-color, var(--sdc-primary-color, #2563eb))}.sdc-scaffold [role=navigation]{margin-top:var(--sdc-scaffold-breadcrumb-offset, 2px)}.sdc-scaffold-content{margin-top:var(--sdc-scaffold-content-margin-top, 1rem)}.sdc-scaffold-footer{margin-top:var(--sdc-scaffold-footer-margin-top, 2rem);padding:var(--sdc-scaffold-footer-padding, 1rem 0)}@media (min-width: 750px){.sdc-scaffold{padding:var(--sdc-scaffold-desktop-padding, 5px)}}\n"] }]
92
+ args: [{ selector: 'sdc-scaffold', standalone: true, imports: [CommonModule, BreadcrumbComponent, RouterOutlet, TranslateModule, IconRendererComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "@if (showHeader) {\n<header class=\"sdc-scaffold-header\" role=\"banner\">\n <div class=\"box\">\n <div class=\"sds-container header-frame\" data-testid=\"product-header\" [attr.data-header]=\"header | translate\">\n <h1 class=\"title\">{{ header | translate }}</h1>\n <div class=\"content\">\n @if (headerTpl) {\n <ng-container [ngTemplateOutlet]=\"headerTpl\"></ng-container>\n }\n </div>\n </div>\n </div>\n</header>\n}\n\n<main class=\"sdc-scaffold\" role=\"main\" [attr.aria-label]=\"'platform.datacore.accessibility_main_content' | translate\">\n @if (currentTitle) {\n <div\n class=\"sdc-scaffold-title-row\"\n [class.sdc-scaffold-title-row--right]=\"titleIcon && titleIconSide === 'right'\"\n >\n @if (titleIcon && titleIconSide === 'left') {\n <sdc-icon-renderer\n class=\"sdc-scaffold-title-icon\"\n [icon]=\"titleIcon\"\n [iconType]=\"titleIconType\"\n [size]=\"24\"\n ></sdc-icon-renderer>\n }\n\n <h1 class=\"sdc-scaffold-title\">{{ currentTitle | translate }}</h1>\n\n @if (titleIcon && titleIconSide === 'right') {\n <sdc-icon-renderer\n class=\"sdc-scaffold-title-icon\"\n [icon]=\"titleIcon\"\n [iconType]=\"titleIconType\"\n [size]=\"24\"\n ></sdc-icon-renderer>\n }\n </div>\n }\n\n @if (showBreadcrumb) {\n <nav class=\"sdc-scaffold-breadcrumb\" [attr.aria-label]=\"'platform.datacore.accessibility_breadcrumb_navigation' | translate\">\n <sdc-breadcrumb [homeUrl]=\"homeUrl\" [items]=\"breadcrumbItems\"></sdc-breadcrumb>\n </nav>\n }\n\n <div class=\"sdc-scaffold-content\">\n @if (useRouterOutlet) {\n <router-outlet></router-outlet>\n } @else {\n <ng-content select=\"[sdc-scaffold-content]\"></ng-content>\n <ng-content></ng-content>\n }\n </div>\n</main>\n\n@if (footerTpl) {\n<footer class=\"sdc-scaffold-footer\">\n <ng-container [ngTemplateOutlet]=\"footerTpl\"></ng-container>\n</footer>\n}\n", styles: [":host{display:block}.sdc-scaffold-header{margin:0;padding:0}.sdc-scaffold-header .box{position:relative;width:100%;height:var(--sdc-scaffold-header-height, 70px)}.sdc-scaffold-header .sds-container{padding:var(--sdc-showcase-container-padding, 20px 20px 20px 13px);background-color:var(--sdc-showcase-container-bg, #f1f1f1)}.sdc-scaffold-header .header-frame,.sdc-scaffold-header .primary-header{position:fixed;inset-block-start:0;inset-inline-start:0;z-index:32;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-sizing:border-box;width:100%;height:var(--sdc-scaffold-header-height, 70px);padding:15px var(--sdc-scaffold-header-padding-x, 13px);border-bottom:1px solid #ddd;background-color:#fff}@media (min-width: 750px){.sdc-scaffold-header .header-frame,.sdc-scaffold-header .primary-header{padding-left:var(--sdc-scaffold-header-padding-x, 13px);padding-right:var(--sdc-scaffold-header-padding-x, 13px)}}.sdc-scaffold-header .title,.sdc-scaffold-header .primary-title{margin:0 15px 0 0;min-width:140px;overflow:hidden;color:#999;font-size:16pt;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.sdc-scaffold-header .content{display:flex;flex:1 1 auto;align-items:center;justify-content:flex-end;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sdc-scaffold{min-height:48px}.sdc-scaffold:focus-visible{outline:var(--sdc-focus-outline, 2px solid var(--sdc-primary-600, #2563eb));outline-offset:2px}.sdc-scaffold .sds-page-title{display:none}.sdc-scaffold-title{padding:0;margin:0 0 var(--sdc-scaffold-title-gap, 10px) 0;flex:0 1 auto;min-width:0;overflow:hidden;color:var(--sdc-scaffold-title-color, #212533);font-family:var(--sdc-font-family, \"Inter\", sans-serif);font-size:var(--sdc-scaffold-title-size, 24px);font-weight:400;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.sdc-scaffold-title-row{display:flex;align-items:center;gap:var(--sdc-scaffold-title-icon-gap, .625rem);width:100%;min-width:0;margin-bottom:var(--sdc-scaffold-title-gap, 10px)}.sdc-scaffold-title-row--right{flex-direction:row}.sdc-scaffold-title-row :where(.sdc-scaffold-title){margin-bottom:0}.sdc-scaffold-title-icon{color:var(--sdc-scaffold-title-icon-color, var(--sdc-primary-color, #2563eb))}.sdc-scaffold [role=navigation]{margin-top:var(--sdc-scaffold-breadcrumb-offset, 2px)}.sdc-scaffold-content{margin-top:var(--sdc-scaffold-content-margin-top, 1rem)}.sdc-scaffold-footer{margin-top:var(--sdc-scaffold-footer-margin-top, 2rem);padding:var(--sdc-scaffold-footer-padding, 1rem 0)}@media (min-width: 750px){.sdc-scaffold{padding:var(--sdc-scaffold-desktop-padding, 5px)}}\n"] }]
93
93
  }], ctorParameters: () => [{ type: i1.ActivatedRoute, decorators: [{
94
94
  type: Optional
95
95
  }] }, { type: i1.Router, decorators: [{
@@ -124,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
124
124
  type: ContentChild,
125
125
  args: ['scaffoldFooter', { read: TemplateRef }]
126
126
  }] } });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhZmZvbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9zY2FmZm9sZC9zY2FmZm9sZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3NjYWZmb2xkL3NjYWZmb2xkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBR0wsYUFBYSxFQUNiLGNBQWMsRUFFZCxZQUFZLEVBQ2IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsUUFBUSxFQUNSLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDOzs7OztBQVdwRyxNQUFNLE9BQU8saUJBQWlCO0lBb0JHO0lBQ0E7SUFDWjtJQXJCVixNQUFNLEdBQUcsZUFBZSxDQUFDO0lBQ3pCLE9BQU8sR0FBdUIsU0FBUyxDQUFDO0lBQ3hDLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDWCxTQUFTLEdBQWtCLElBQUksQ0FBQztJQUNoQyxhQUFhLEdBQXVCLE9BQU8sQ0FBQztJQUM1QyxhQUFhLEdBQXFCLE1BQU0sQ0FBQztJQUNWLGVBQWUsR0FBRyxJQUFJ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QkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ2tDLGVBQWU7c0JBQXRELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsVUFBVTtzQkFBakQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxjQUFjO3NCQUFyRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUM3QixlQUFlO3NCQUF2QixLQUFLO2dCQUlpRCxTQUFTO3NCQUEvRCxZQUFZO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDRSxTQUFTO3NCQUEvRCxZQUFZO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZSxcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgTmF2aWdhdGlvbkVuZCxcbiAgUFJJTUFSWV9PVVRMRVQsXG4gIFJvdXRlcixcbiAgUm91dGVyT3V0bGV0XG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBib29sZWFuQXR0cmlidXRlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBSZW5kZXJhYmxlSWNvblR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL2ljb24udHlwZSc7XG5pbXBvcnQgdHlwZSB7IEJyZWFkY3J1bWJJdGVtIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcy9icmVhZGNydW1iLnR5cGUnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4uL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvblJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS9jb21wb25lbnRzL2ljb24tcmVuZGVyZXIvaWNvbi1yZW5kZXJlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtc2NhZmZvbGQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCcmVhZGNydW1iQ29tcG9uZW50LCBSb3V0ZXJPdXRsZXQsIFRyYW5zbGF0ZU1vZHVsZSwgSWNvblJlbmRlcmVyQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL3NjYWZmb2xkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2NhZmZvbGQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIFNjYWZmb2xkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBoZWFkZXIgPSAnRGF0YSBQbGF0Zm9ybSc7XG4gIEBJbnB1dCgpIGhvbWVVcmw6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgdGl0bGUgPSAnJztcbiAgQElucHV0KCkgdGl0bGVJY29uOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgdGl0bGVJY29uVHlwZTogUmVuZGVyYWJsZUljb25UeXBlID0gJ2NsYXNzJztcbiAgQElucHV0KCkgdGl0bGVJY29uU2lkZTogJ2xlZnQnIHwgJ3JpZ2h0JyA9ICdsZWZ0JztcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHVzZVJvdXRlck91dGxldCA9IHRydWU7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzaG93SGVhZGVyID0gdHJ1ZTtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dCcmVhZGNydW1iID0gdHJ1ZTtcbiAgQElucHV0KCkgYnJlYWRjcnVtYkl0ZW1zOiBCcmVhZGNydW1iSXRlbVtdIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIGN1cnJlbnRUaXRsZSA9ICcnO1xuXG4gIEBDb250ZW50Q2hpbGQoJ3NjYWZmb2xkSGVhZGVyJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBoZWFkZXJUcGw/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgQENvbnRlbnRDaGlsZCgnc2NhZmZvbGRGb290ZXInLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIGZvb3RlclRwbD86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUgfCBudWxsLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIgfCBudWxsLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudFRpdGxlID0gdGhpcy50aXRsZSA/PyAnJztcblxuICAgIGlmICghdGhpcy51c2VSb3V0ZXJPdXRsZXQgfHwgIXRoaXMucm91dGUgfHwgIXRoaXMucm91dGVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgcm9vdERhdGEgPSB0aGlzLnJvdXRlLnNuYXBzaG90Py5kYXRhID8/IHt9O1xuICAgIHRoaXMuaGVhZGVyID0gcm9vdERhdGFbJ2hlYWRlciddID8/IHRoaXMuaGVhZGVyO1xuXG4gICAgY29uc3QgdXBkYXRlID0gKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLnJvdXRlIHx8ICF0aGlzLnJvdXRlcikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLmN1cnJlbnRUaXRsZSA9IHRoaXMuZ2V0VGl0bGVGcm9tU25hcHNob3QoKTtcbiAgICAgIHRoaXMuaG9tZVVybCA9IHRoaXMucmVzb2x2ZUhvbWVVcmwodGhpcy5yb3V0ZSwgcm9vdERhdGFbJ2hvbWVVcmwnXSBhcyBzdHJpbmcgfCB1bmRlZmluZWQpO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfTtcblxuICAgIHVwZGF0ZSgpO1xuXG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCksXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUodXBkYXRlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95ZWQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVIb21lVXJsKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgcm9vdEhvbWVVcmw6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IGN1cnJlbnQ6IEFjdGl2YXRlZFJvdXRlIHwgbnVsbCA9IHJvdXRlO1xuXG4gICAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICAgIGNvbnN0IGhvbWVVcmwgPSBjdXJyZW50LnNuYXBzaG90Py5kYXRhPy5bJ2hvbWVVcmwnXTtcbiAgICAgIGlmIChob21lVXJsICE9IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIFN0cmluZyhob21lVXJsKTtcbiAgICAgIH1cbiAgICAgIGN1cnJlbnQgPSBjdXJyZW50LmNoaWxkcmVuLmZpbmQoKGMpID0+IGMub3V0bGV0ID09PSBQUklNQVJZX09VVExFVCkgPz8gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gcm9vdEhvbWVVcmwgPz8gdGhpcy5ob21lVXJsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUaXRsZUZyb21TbmFwc2hvdCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5yb3V0ZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLnRpdGxlIHx8ICcnO1xuICAgIH1cblxuICAgIGxldCBjdXJyZW50OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IHwgbnVsbCA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnJvb3Q7XG4gICAgbGV0IHRpdGxlID0gJyc7XG4gICAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICAgIGNvbnN0IGRhdGEgPSBjdXJyZW50LmRhdGEgPz8ge307XG4gICAgICBjb25zdCB0ID0gZGF0YVsncGFnZVRpdGxlJ10gPz8gZGF0YVsncm91dGVUaXRsZSddO1xuICAgICAgaWYgKHQpIHtcbiAgICAgICAgdGl0bGUgPSBTdHJpbmcodCk7XG4gICAgICB9XG4gICAgICBjdXJyZW50ID0gY3VycmVudC5jaGlsZHJlbi5maW5kKChjaGlsZCkgPT4gY2hpbGQub3V0bGV0ID09PSBQUklNQVJZX09VVExFVCkgPz8gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRpdGxlIHx8IHRoaXMudGl0bGUgfHwgJyc7XG4gIH1cbn1cbiIsIkBpZiAoc2hvd0hlYWRlcikge1xuPGhlYWRlciBjbGFzcz1cInNkYy1zY2FmZm9sZC1oZWFkZXJcIiByb2xlPVwiYmFubmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJib3hcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2RzLWNvbnRhaW5lciBoZWFkZXItZnJhbWVcIiBkYXRhLXRlc3RpZD1cInByb2R1Y3QtaGVhZGVyXCIgW2F0dHIuZGF0YS1oZWFkZXJdPVwiaGVhZGVyIHwgdHJhbnNsYXRlXCI+XG4gICAgICA8aDEgY2xhc3M9XCJ0aXRsZVwiPnt7IGhlYWRlciB8IHRyYW5zbGF0ZSB9fTwvaDE+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgICAgICBAaWYgKGhlYWRlclRwbCkge1xuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyVHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvaGVhZGVyPlxufVxuXG48bWFpbiBjbGFzcz1cInNkYy1zY2FmZm9sZFwiIHJvbGU9XCJtYWluXCIgW2F0dHIuYXJpYS1sYWJlbF09XCIncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5tYWluX2NvbnRlbnQnIHwgdHJhbnNsYXRlXCI+XG4gIEBpZiAoY3VycmVudFRpdGxlKSB7XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJzZGMtc2NhZmZvbGQtdGl0bGUtcm93XCJcbiAgICAgIFtjbGFzcy5zZGMtc2NhZmZvbGQtdGl0bGUtcm93LS1yaWdodF09XCJ0aXRsZUljb24gJiYgdGl0bGVJY29uU2lkZSA9PT0gJ3JpZ2h0J1wiXG4gICAgPlxuICAgICAgQGlmICh0aXRsZUljb24gJiYgdGl0bGVJY29uU2lkZSA9PT0gJ2xlZnQnKSB7XG4gICAgICAgIDxzZGMtaWNvbi1yZW5kZXJlclxuICAgICAgICAgIGNsYXNzPVwic2RjLXNjYWZmb2xkLXRpdGxlLWljb25cIlxuICAgICAgICAgIFtpY29uXT1cInRpdGxlSWNvblwiXG4gICAgICAgICAgW2ljb25UeXBlXT1cInRpdGxlSWNvblR5cGVcIlxuICAgICAgICAgIFtzaXplXT1cIjI0XCJcbiAgICAgICAgPjwvc2RjLWljb24tcmVuZGVyZXI+XG4gICAgICB9XG5cbiAgICAgIDxoMSBjbGFzcz1cInNkYy1zY2FmZm9sZC10aXRsZVwiPnt7IGN1cnJlbnRUaXRsZSB8IHRyYW5zbGF0ZSB9fTwvaDE+XG5cbiAgICAgIEBpZiAodGl0bGVJY29uICYmIHRpdGxlSWNvblNpZGUgPT09ICdyaWdodCcpIHtcbiAgICAgICAgPHNkYy1pY29uLXJlbmRlcmVyXG4gICAgICAgICAgY2xhc3M9XCJzZGMtc2NhZmZvbGQtdGl0bGUtaWNvblwiXG4gICAgICAgICAgW2ljb25dPVwidGl0bGVJY29uXCJcbiAgICAgICAgICBbaWNvblR5cGVdPVwidGl0bGVJY29uVHlwZVwiXG4gICAgICAgICAgW3NpemVdPVwiMjRcIlxuICAgICAgICA+PC9zZGMtaWNvbi1yZW5kZXJlcj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIEBpZiAoc2hvd0JyZWFkY3J1bWIpIHtcbiAgICA8bmF2IGNsYXNzPVwic2RjLXNjYWZmb2xkLWJyZWFkY3J1bWJcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5LmJyZWFkY3J1bWJfbmF2aWdhdGlvbicgfCB0cmFuc2xhdGVcIj5cbiAgICAgIDxzZGMtYnJlYWRjcnVtYiBbaG9tZVVybF09XCJob21lVXJsXCIgW2l0ZW1zXT1cImJyZWFkY3J1bWJJdGVtc1wiPjwvc2RjLWJyZWFkY3J1bWI+XG4gICAgPC9uYXY+XG4gIH1cblxuICA8ZGl2IGNsYXNzPVwic2RjLXNjYWZmb2xkLWNvbnRlbnRcIj5cbiAgICBAaWYgKHVzZVJvdXRlck91dGxldCkge1xuICAgICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuICAgIH0gQGVsc2Uge1xuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3NkYy1zY2FmZm9sZC1jb250ZW50XVwiPjwvbmctY29udGVudD5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICB9XG4gIDwvZGl2PlxuPC9tYWluPlxuXG5AaWYgKGZvb3RlclRwbCkge1xuPGZvb3RlciBjbGFzcz1cInNkYy1zY2FmZm9sZC1mb290ZXJcIj5cbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJmb290ZXJUcGxcIj48L25nLWNvbnRhaW5lcj5cbjwvZm9vdGVyPlxufVxuIl19
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhZmZvbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9zY2FmZm9sZC9zY2FmZm9sZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3NjYWZmb2xkL3NjYWZmb2xkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBR0wsYUFBYSxFQUNiLGNBQWMsRUFFZCxZQUFZLEVBQ2IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsUUFBUSxFQUNSLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDOzs7OztBQVdwRyxNQUFNLE9BQU8saUJBQWlCO0lBb0JHO0lBQ0E7SUFDWjtJQXJCVixNQUFNLEdBQUcsZUFBZSxDQUFDO0lBQ3pCLE9BQU8sR0FBdUIsU0FBUyxDQUFDO0lBQ3hDLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDWCxTQUFTLEdBQWtCLElBQUksQ0FBQztJQUNoQyxhQUFhLEdBQXVCLE9BQU8sQ0FBQztJQUM1QyxhQUFhLEdBQXFCLE1BQU0sQ0FBQztJQUNWLGVBQWUsR0FBRyxJQUFJ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QkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ2tDLGVBQWU7c0JBQXRELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsVUFBVTtzQkFBakQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxjQUFjO3NCQUFyRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUM3QixlQUFlO3NCQUF2QixLQUFLO2dCQUlpRCxTQUFTO3NCQUEvRCxZQUFZO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDRSxTQUFTO3NCQUEvRCxZQUFZO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZSxcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgTmF2aWdhdGlvbkVuZCxcbiAgUFJJTUFSWV9PVVRMRVQsXG4gIFJvdXRlcixcbiAgUm91dGVyT3V0bGV0XG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBib29sZWFuQXR0cmlidXRlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBSZW5kZXJhYmxlSWNvblR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL2ljb24udHlwZSc7XG5pbXBvcnQgdHlwZSB7IEJyZWFkY3J1bWJJdGVtIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcy9icmVhZGNydW1iLnR5cGUnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4uL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvblJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS9jb21wb25lbnRzL2ljb24tcmVuZGVyZXIvaWNvbi1yZW5kZXJlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtc2NhZmZvbGQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCcmVhZGNydW1iQ29tcG9uZW50LCBSb3V0ZXJPdXRsZXQsIFRyYW5zbGF0ZU1vZHVsZSwgSWNvblJlbmRlcmVyQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL3NjYWZmb2xkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2NhZmZvbGQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIFNjYWZmb2xkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBoZWFkZXIgPSAnRGF0YSBQbGF0Zm9ybSc7XG4gIEBJbnB1dCgpIGhvbWVVcmw6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgdGl0bGUgPSAnJztcbiAgQElucHV0KCkgdGl0bGVJY29uOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgdGl0bGVJY29uVHlwZTogUmVuZGVyYWJsZUljb25UeXBlID0gJ2NsYXNzJztcbiAgQElucHV0KCkgdGl0bGVJY29uU2lkZTogJ2xlZnQnIHwgJ3JpZ2h0JyA9ICdsZWZ0JztcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHVzZVJvdXRlck91dGxldCA9IHRydWU7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzaG93SGVhZGVyID0gdHJ1ZTtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dCcmVhZGNydW1iID0gdHJ1ZTtcbiAgQElucHV0KCkgYnJlYWRjcnVtYkl0ZW1zOiBCcmVhZGNydW1iSXRlbVtdIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIGN1cnJlbnRUaXRsZSA9ICcnO1xuXG4gIEBDb250ZW50Q2hpbGQoJ3NjYWZmb2xkSGVhZGVyJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBoZWFkZXJUcGw/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgQENvbnRlbnRDaGlsZCgnc2NhZmZvbGRGb290ZXInLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIGZvb3RlclRwbD86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUgfCBudWxsLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIgfCBudWxsLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudFRpdGxlID0gdGhpcy50aXRsZSA/PyAnJztcblxuICAgIGlmICghdGhpcy51c2VSb3V0ZXJPdXRsZXQgfHwgIXRoaXMucm91dGUgfHwgIXRoaXMucm91dGVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgcm9vdERhdGEgPSB0aGlzLnJvdXRlLnNuYXBzaG90Py5kYXRhID8/IHt9O1xuICAgIHRoaXMuaGVhZGVyID0gcm9vdERhdGFbJ2hlYWRlciddID8/IHRoaXMuaGVhZGVyO1xuXG4gICAgY29uc3QgdXBkYXRlID0gKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLnJvdXRlIHx8ICF0aGlzLnJvdXRlcikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLmN1cnJlbnRUaXRsZSA9IHRoaXMuZ2V0VGl0bGVGcm9tU25hcHNob3QoKTtcbiAgICAgIHRoaXMuaG9tZVVybCA9IHRoaXMucmVzb2x2ZUhvbWVVcmwodGhpcy5yb3V0ZSwgcm9vdERhdGFbJ2hvbWVVcmwnXSBhcyBzdHJpbmcgfCB1bmRlZmluZWQpO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfTtcblxuICAgIHVwZGF0ZSgpO1xuXG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCksXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUodXBkYXRlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95ZWQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVIb21lVXJsKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgcm9vdEhvbWVVcmw6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IGN1cnJlbnQ6IEFjdGl2YXRlZFJvdXRlIHwgbnVsbCA9IHJvdXRlO1xuXG4gICAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICAgIGNvbnN0IGhvbWVVcmwgPSBjdXJyZW50LnNuYXBzaG90Py5kYXRhPy5bJ2hvbWVVcmwnXTtcbiAgICAgIGlmIChob21lVXJsICE9IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIFN0cmluZyhob21lVXJsKTtcbiAgICAgIH1cbiAgICAgIGN1cnJlbnQgPSBjdXJyZW50LmNoaWxkcmVuLmZpbmQoKGMpID0+IGMub3V0bGV0ID09PSBQUklNQVJZX09VVExFVCkgPz8gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gcm9vdEhvbWVVcmwgPz8gdGhpcy5ob21lVXJsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUaXRsZUZyb21TbmFwc2hvdCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5yb3V0ZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLnRpdGxlIHx8ICcnO1xuICAgIH1cblxuICAgIGxldCBjdXJyZW50OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IHwgbnVsbCA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnJvb3Q7XG4gICAgbGV0IHRpdGxlID0gJyc7XG4gICAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICAgIGNvbnN0IGRhdGEgPSBjdXJyZW50LmRhdGEgPz8ge307XG4gICAgICBjb25zdCB0ID0gZGF0YVsncGFnZVRpdGxlJ10gPz8gZGF0YVsncm91dGVUaXRsZSddO1xuICAgICAgaWYgKHQpIHtcbiAgICAgICAgdGl0bGUgPSBTdHJpbmcodCk7XG4gICAgICB9XG4gICAgICBjdXJyZW50ID0gY3VycmVudC5jaGlsZHJlbi5maW5kKChjaGlsZCkgPT4gY2hpbGQub3V0bGV0ID09PSBQUklNQVJZX09VVExFVCkgPz8gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRpdGxlIHx8IHRoaXMudGl0bGUgfHwgJyc7XG4gIH1cbn1cbiIsIkBpZiAoc2hvd0hlYWRlcikge1xuPGhlYWRlciBjbGFzcz1cInNkYy1zY2FmZm9sZC1oZWFkZXJcIiByb2xlPVwiYmFubmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJib3hcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2RzLWNvbnRhaW5lciBoZWFkZXItZnJhbWVcIiBkYXRhLXRlc3RpZD1cInByb2R1Y3QtaGVhZGVyXCIgW2F0dHIuZGF0YS1oZWFkZXJdPVwiaGVhZGVyIHwgdHJhbnNsYXRlXCI+XG4gICAgICA8aDEgY2xhc3M9XCJ0aXRsZVwiPnt7IGhlYWRlciB8IHRyYW5zbGF0ZSB9fTwvaDE+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgICAgICBAaWYgKGhlYWRlclRwbCkge1xuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyVHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvaGVhZGVyPlxufVxuXG48bWFpbiBjbGFzcz1cInNkYy1zY2FmZm9sZFwiIHJvbGU9XCJtYWluXCIgW2F0dHIuYXJpYS1sYWJlbF09XCIncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eV9tYWluX2NvbnRlbnQnIHwgdHJhbnNsYXRlXCI+XG4gIEBpZiAoY3VycmVudFRpdGxlKSB7XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJzZGMtc2NhZmZvbGQtdGl0bGUtcm93XCJcbiAgICAgIFtjbGFzcy5zZGMtc2NhZmZvbGQtdGl0bGUtcm93LS1yaWdodF09XCJ0aXRsZUljb24gJiYgdGl0bGVJY29uU2lkZSA9PT0gJ3JpZ2h0J1wiXG4gICAgPlxuICAgICAgQGlmICh0aXRsZUljb24gJiYgdGl0bGVJY29uU2lkZSA9PT0gJ2xlZnQnKSB7XG4gICAgICAgIDxzZGMtaWNvbi1yZW5kZXJlclxuICAgICAgICAgIGNsYXNzPVwic2RjLXNjYWZmb2xkLXRpdGxlLWljb25cIlxuICAgICAgICAgIFtpY29uXT1cInRpdGxlSWNvblwiXG4gICAgICAgICAgW2ljb25UeXBlXT1cInRpdGxlSWNvblR5cGVcIlxuICAgICAgICAgIFtzaXplXT1cIjI0XCJcbiAgICAgICAgPjwvc2RjLWljb24tcmVuZGVyZXI+XG4gICAgICB9XG5cbiAgICAgIDxoMSBjbGFzcz1cInNkYy1zY2FmZm9sZC10aXRsZVwiPnt7IGN1cnJlbnRUaXRsZSB8IHRyYW5zbGF0ZSB9fTwvaDE+XG5cbiAgICAgIEBpZiAodGl0bGVJY29uICYmIHRpdGxlSWNvblNpZGUgPT09ICdyaWdodCcpIHtcbiAgICAgICAgPHNkYy1pY29uLXJlbmRlcmVyXG4gICAgICAgICAgY2xhc3M9XCJzZGMtc2NhZmZvbGQtdGl0bGUtaWNvblwiXG4gICAgICAgICAgW2ljb25dPVwidGl0bGVJY29uXCJcbiAgICAgICAgICBbaWNvblR5cGVdPVwidGl0bGVJY29uVHlwZVwiXG4gICAgICAgICAgW3NpemVdPVwiMjRcIlxuICAgICAgICA+PC9zZGMtaWNvbi1yZW5kZXJlcj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIEBpZiAoc2hvd0JyZWFkY3J1bWIpIHtcbiAgICA8bmF2IGNsYXNzPVwic2RjLXNjYWZmb2xkLWJyZWFkY3J1bWJcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5X2JyZWFkY3J1bWJfbmF2aWdhdGlvbicgfCB0cmFuc2xhdGVcIj5cbiAgICAgIDxzZGMtYnJlYWRjcnVtYiBbaG9tZVVybF09XCJob21lVXJsXCIgW2l0ZW1zXT1cImJyZWFkY3J1bWJJdGVtc1wiPjwvc2RjLWJyZWFkY3J1bWI+XG4gICAgPC9uYXY+XG4gIH1cblxuICA8ZGl2IGNsYXNzPVwic2RjLXNjYWZmb2xkLWNvbnRlbnRcIj5cbiAgICBAaWYgKHVzZVJvdXRlck91dGxldCkge1xuICAgICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuICAgIH0gQGVsc2Uge1xuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3NkYy1zY2FmZm9sZC1jb250ZW50XVwiPjwvbmctY29udGVudD5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICB9XG4gIDwvZGl2PlxuPC9tYWluPlxuXG5AaWYgKGZvb3RlclRwbCkge1xuPGZvb3RlciBjbGFzcz1cInNkYy1zY2FmZm9sZC1mb290ZXJcIj5cbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJmb290ZXJUcGxcIj48L25nLWNvbnRhaW5lcj5cbjwvZm9vdGVyPlxufVxuIl19
@@ -39,7 +39,7 @@ export class SearchboxComponent extends InputsComponent {
39
39
  if (this.placeholder) {
40
40
  return this.placeholder;
41
41
  }
42
- return 'platform.datacore.accessibility.search_field';
42
+ return 'platform.datacore.accessibility_search_field';
43
43
  }
44
44
  get inputDescribedBy() {
45
45
  const describedByIds = [
@@ -130,7 +130,7 @@ export class SearchboxComponent extends InputsComponent {
130
130
  useExisting: forwardRef(() => SearchboxComponent),
131
131
  multi: true
132
132
  }
133
- ], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-searchbox\" [class.sdc-searchbox--disabled]=\"disabled\">\n @if (labelKey()) {\n <label [for]=\"identity.id\">\n <span>{{ labelKey() | translate }}</span>\n @if (required) {\n <span class=\"required-field\" [attr.aria-label]=\"'platform.datacore.accessibility.required_field' | translate\">\n &bull;\n </span>\n }\n </label>\n }\n\n <div class=\"sdc-searchbox__group\" [ngStyle]=\"getStyles()\">\n @if (triggerMode === 'submit') {\n <div class=\"sdc-searchbox__addon sdc-searchbox__addon--leading\">\n <sdc-button\n priority=\"link\"\n [disabled]=\"disabled\"\n (click)=\"onSearch()\"\n (keydown.enter)=\"onSearch()\"\n (keydown.space)=\"$event.preventDefault(); onSearch()\"\n [icon]=\"'fas fa-search'\"\n [ariaLabel]=\"'platform.datacore.accessibility.search_action'\"\n ></sdc-button>\n </div>\n }\n\n <input\n #inputRef\n [id]=\"identity.id\"\n [ngClass]=\"getInvalidClass()\"\n class=\"sdc-searchbox__input\"\n type=\"search\"\n [ngModel]=\"value\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder ? (placeholder | translate) : ('platform.datacore.search' | translate)\"\n (ngModelChange)=\"onValueChange($event)\"\n (keyup.enter)=\"onEnterKey()\"\n (keyup.esc)=\"onEscapeKey()\"\n [attr.role]=\"inputRole\"\n [attr.autocomplete]=\"inputAutocomplete\"\n [attr.aria-label]=\"inputAriaLabel | translate\"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-controls]=\"inputAriaControls\"\n [attr.aria-describedby]=\"inputDescribedBy\"\n [attr.aria-activedescendant]=\"inputAriaActiveDescendant\"\n [attr.aria-haspopup]=\"inputAriaHaspopup\"\n [attr.aria-expanded]=\"inputAriaExpanded\"\n />\n\n <div class=\"sdc-searchbox__addon sdc-searchbox__addon--trailing\">\n <sdc-button\n priority=\"link\"\n [disabled]=\"disabled\"\n (click)=\"onClear()\"\n (keydown.enter)=\"onClear()\"\n (keydown.space)=\"$event.preventDefault(); onClear()\"\n [icon]=\"'fas fa-times'\"\n [ariaLabel]=\"'platform.datacore.accessibility.clear_field'\"\n ></sdc-button>\n </div>\n </div>\n\n @if (messageKey()) {\n <small [id]=\"identity.id + '-error'\" [ngClass]=\"getInvalidMessageClass()\" role=\"alert\" aria-live=\"polite\">\n {{ messageKey() | translate }}\n </small>\n }\n</div>\n", styles: [".sdc-searchbox input[type=search]{-webkit-appearance:textfield!important;appearance:textfield!important}.sdc-searchbox input[type=search]::-webkit-search-cancel-button,.sdc-searchbox input[type=search]::-webkit-search-decoration,.sdc-searchbox input[type=search]::-webkit-search-results-button,.sdc-searchbox input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none!important;appearance:none!important;display:none!important}.sdc-searchbox input[type=search]::-ms-clear,.sdc-searchbox input[type=search]::-ms-reveal{display:none!important;width:0!important;height:0!important}.sdc-searchbox label{display:inline-flex;align-items:center;margin-bottom:var(--sdc-form-label-row-mb);line-height:1;padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py)}.sdc-searchbox .required-field{margin-left:var(--sdc-form-required-ml)}.sdc-searchbox__group{display:flex;align-items:stretch;height:var(--sdc-formfield-default-height)!important;box-sizing:border-box!important;border:1px solid var(--sdc-formfield-default-border)!important;border-radius:var(--sdc-formfield-border-radius)!important;overflow:hidden;background:var(--sdc-formfield-default-bg)!important;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.sdc-searchbox__group:focus-within{border-color:var(--sdc-formfield-focus-color, var(--sdc-tab-primary, #007bff))!important;box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14))!important}.sdc-searchbox__input{flex:1 1 auto;width:100%;min-width:0;height:100%!important;min-height:0!important;max-height:none!important;box-sizing:border-box!important;background:var(--sdc-formfield-default-bg)!important;border:0!important;box-shadow:none!important;outline:0!important;padding:0 .875rem!important;line-height:var(--sdc-formfield-default-line-height)!important;color:var(--p-text-color, var(--sdc-text-default, #111827))!important;caret-color:currentColor!important}.sdc-searchbox__input:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}.sdc-searchbox__addon{display:flex;align-items:center;justify-content:center;flex:0 0 var(--sdc-searchbox-addon-width, 48px);width:var(--sdc-searchbox-addon-width, 48px);min-width:var(--sdc-searchbox-addon-width, 48px);padding:0!important;border:0!important;line-height:var(--sdc-formfield-default-line-height)!important;background-color:var(--sdc-formfield-default-bg)!important}.sdc-searchbox__addon--leading{border-right:1px solid var(--sdc-formfield-default-border)!important}.sdc-searchbox__addon--trailing{border-left:1px solid var(--sdc-formfield-default-border)!important;background-color:var(--sdc-searchbox-addon-bg, var(--sdc-button-bg, #eceeef))!important}.sdc-searchbox__addon:hover{background-color:var(--sdc-button-bg-hover)!important;transition:var(--sdc-button-bg-hover-transition)!important}.sdc-searchbox__addon ::ng-deep sdc-button{display:flex!important;align-self:stretch!important;width:100%!important;height:100%!important}.sdc-searchbox__addon ::ng-deep sdc-button>div{display:flex!important;align-items:stretch!important;width:100%!important;height:100%!important}.sdc-searchbox__addon ::ng-deep sdc-tooltip,.sdc-searchbox__addon ::ng-deep .sdc-tooltip-wrapper,.sdc-searchbox__addon ::ng-deep .sdc-tooltip-target{display:flex!important;flex:1 1 auto!important;align-items:stretch!important;width:100%!important;height:100%!important}.sdc-searchbox__addon ::ng-deep sdc-button .sdc-button-el{display:flex!important;align-items:stretch!important;width:100%!important;height:100%!important;background:transparent!important}.sdc-searchbox__addon ::ng-deep sdc-button .sdc-button-el button,.sdc-searchbox__addon ::ng-deep sdc-button .sdc-button-el .s-button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;max-height:100%!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;line-height:var(--sdc-formfield-default-line-height)!important}.sdc-searchbox__addon ::ng-deep .sdc-button-el button:focus-visible,.sdc-searchbox__addon ::ng-deep .sdc-button-el .s-button:focus-visible{outline:2px solid var(--sdc-primary-color, #007bff)!important;outline-offset:-2px!important;box-shadow:0 0 0 3px #007bff40!important}.sdc-searchbox__addon ::ng-deep sdc-button button:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;color:var(--sdc-button-icon-default)!important;opacity:.6;cursor:not-allowed!important}.sdc-searchbox__addon ::ng-deep .s-button-icon,.sdc-searchbox__addon ::ng-deep .s-button-right-icon{color:var(--sdc-text-secondary, var(--sdc-text-muted, #6b7280))!important;height:auto!important;line-height:1!important;vertical-align:middle!important}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__group{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon,.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon:hover{background-color:var(--sdc-formfield-disabled-bg)!important;transition:none!important;cursor:not-allowed!important}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon ::ng-deep sdc-button{opacity:.6}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon ::ng-deep sdc-button button{cursor:not-allowed!important}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon ::ng-deep .s-button-icon,.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon ::ng-deep .s-button-right-icon{opacity:.6}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["id", "label", "ariaLabel", "disabled", "loading", "width", "priority", "size", "type", "icon", "rightIcon", "auxiliary", "caret", "tooltip", "animation", "slide", "styleClass", "badge", "menuOptions", "menuContext", "model"], outputs: ["clicked"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
133
+ ], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-searchbox\" [class.sdc-searchbox--disabled]=\"disabled\">\n @if (labelKey()) {\n <label [for]=\"identity.id\">\n <span>{{ labelKey() | translate }}</span>\n @if (required) {\n <span class=\"required-field\" [attr.aria-label]=\"'platform.datacore.accessibility_required_field' | translate\">\n &bull;\n </span>\n }\n </label>\n }\n\n <div class=\"sdc-searchbox__group\" [ngStyle]=\"getStyles()\">\n @if (triggerMode === 'submit') {\n <div class=\"sdc-searchbox__addon sdc-searchbox__addon--leading\">\n <sdc-button\n priority=\"link\"\n [disabled]=\"disabled\"\n (click)=\"onSearch()\"\n (keydown.enter)=\"onSearch()\"\n (keydown.space)=\"$event.preventDefault(); onSearch()\"\n [icon]=\"'fas fa-search'\"\n [ariaLabel]=\"'platform.datacore.accessibility_search_action'\"\n ></sdc-button>\n </div>\n }\n\n <input\n #inputRef\n [id]=\"identity.id\"\n [ngClass]=\"getInvalidClass()\"\n class=\"sdc-searchbox__input\"\n type=\"search\"\n [ngModel]=\"value\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder ? (placeholder | translate) : ('platform.datacore.search' | translate)\"\n (ngModelChange)=\"onValueChange($event)\"\n (keyup.enter)=\"onEnterKey()\"\n (keyup.esc)=\"onEscapeKey()\"\n [attr.role]=\"inputRole\"\n [attr.autocomplete]=\"inputAutocomplete\"\n [attr.aria-label]=\"inputAriaLabel | translate\"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-controls]=\"inputAriaControls\"\n [attr.aria-describedby]=\"inputDescribedBy\"\n [attr.aria-activedescendant]=\"inputAriaActiveDescendant\"\n [attr.aria-haspopup]=\"inputAriaHaspopup\"\n [attr.aria-expanded]=\"inputAriaExpanded\"\n />\n\n <div class=\"sdc-searchbox__addon sdc-searchbox__addon--trailing\">\n <sdc-button\n priority=\"link\"\n [disabled]=\"disabled\"\n (click)=\"onClear()\"\n (keydown.enter)=\"onClear()\"\n (keydown.space)=\"$event.preventDefault(); onClear()\"\n [icon]=\"'fas fa-times'\"\n [ariaLabel]=\"'platform.datacore.accessibility_clear_field'\"\n ></sdc-button>\n </div>\n </div>\n\n @if (messageKey()) {\n <small [id]=\"identity.id + '-error'\" [ngClass]=\"getInvalidMessageClass()\" role=\"alert\" aria-live=\"polite\">\n {{ messageKey() | translate }}\n </small>\n }\n</div>\n", styles: [".sdc-searchbox input[type=search]{-webkit-appearance:textfield!important;appearance:textfield!important}.sdc-searchbox input[type=search]::-webkit-search-cancel-button,.sdc-searchbox input[type=search]::-webkit-search-decoration,.sdc-searchbox input[type=search]::-webkit-search-results-button,.sdc-searchbox input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none!important;appearance:none!important;display:none!important}.sdc-searchbox input[type=search]::-ms-clear,.sdc-searchbox input[type=search]::-ms-reveal{display:none!important;width:0!important;height:0!important}.sdc-searchbox label{display:inline-flex;align-items:center;margin-bottom:var(--sdc-form-label-row-mb);line-height:1;padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py)}.sdc-searchbox .required-field{margin-left:var(--sdc-form-required-ml)}.sdc-searchbox__group{display:flex;align-items:stretch;height:var(--sdc-formfield-default-height)!important;box-sizing:border-box!important;border:1px solid var(--sdc-formfield-default-border)!important;border-radius:var(--sdc-formfield-border-radius)!important;overflow:hidden;background:var(--sdc-formfield-default-bg)!important;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.sdc-searchbox__group:focus-within{border-color:var(--sdc-formfield-focus-color, var(--sdc-tab-primary, #007bff))!important;box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14))!important}.sdc-searchbox__input{flex:1 1 auto;width:100%;min-width:0;height:100%!important;min-height:0!important;max-height:none!important;box-sizing:border-box!important;background:var(--sdc-formfield-default-bg)!important;border:0!important;box-shadow:none!important;outline:0!important;padding:0 .875rem!important;line-height:var(--sdc-formfield-default-line-height)!important;color:var(--p-text-color, var(--sdc-text-default, #111827))!important;caret-color:currentColor!important}.sdc-searchbox__input:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}.sdc-searchbox__addon{display:flex;align-items:center;justify-content:center;flex:0 0 var(--sdc-searchbox-addon-width, 48px);width:var(--sdc-searchbox-addon-width, 48px);min-width:var(--sdc-searchbox-addon-width, 48px);padding:0!important;border:0!important;line-height:var(--sdc-formfield-default-line-height)!important;background-color:var(--sdc-formfield-default-bg)!important}.sdc-searchbox__addon--leading{border-right:1px solid var(--sdc-formfield-default-border)!important}.sdc-searchbox__addon--trailing{border-left:1px solid var(--sdc-formfield-default-border)!important;background-color:var(--sdc-searchbox-addon-bg, var(--sdc-button-bg, #eceeef))!important}.sdc-searchbox__addon:hover{background-color:var(--sdc-button-bg-hover)!important;transition:var(--sdc-button-bg-hover-transition)!important}.sdc-searchbox__addon ::ng-deep sdc-button{display:flex!important;align-self:stretch!important;width:100%!important;height:100%!important}.sdc-searchbox__addon ::ng-deep sdc-button>div{display:flex!important;align-items:stretch!important;width:100%!important;height:100%!important}.sdc-searchbox__addon ::ng-deep sdc-tooltip,.sdc-searchbox__addon ::ng-deep .sdc-tooltip-wrapper,.sdc-searchbox__addon ::ng-deep .sdc-tooltip-target{display:flex!important;flex:1 1 auto!important;align-items:stretch!important;width:100%!important;height:100%!important}.sdc-searchbox__addon ::ng-deep sdc-button .sdc-button-el{display:flex!important;align-items:stretch!important;width:100%!important;height:100%!important;background:transparent!important}.sdc-searchbox__addon ::ng-deep sdc-button .sdc-button-el button,.sdc-searchbox__addon ::ng-deep sdc-button .sdc-button-el .s-button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;max-height:100%!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;line-height:var(--sdc-formfield-default-line-height)!important}.sdc-searchbox__addon ::ng-deep .sdc-button-el button:focus-visible,.sdc-searchbox__addon ::ng-deep .sdc-button-el .s-button:focus-visible{outline:2px solid var(--sdc-primary-color, #007bff)!important;outline-offset:-2px!important;box-shadow:0 0 0 3px #007bff40!important}.sdc-searchbox__addon ::ng-deep sdc-button button:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;color:var(--sdc-button-icon-default)!important;opacity:.6;cursor:not-allowed!important}.sdc-searchbox__addon ::ng-deep .s-button-icon,.sdc-searchbox__addon ::ng-deep .s-button-right-icon{color:var(--sdc-text-secondary, var(--sdc-text-muted, #6b7280))!important;height:auto!important;line-height:1!important;vertical-align:middle!important}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__group{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon,.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon:hover{background-color:var(--sdc-formfield-disabled-bg)!important;transition:none!important;cursor:not-allowed!important}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon ::ng-deep sdc-button{opacity:.6}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon ::ng-deep sdc-button button{cursor:not-allowed!important}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon ::ng-deep .s-button-icon,.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon ::ng-deep .s-button-right-icon{opacity:.6}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["id", "label", "ariaLabel", "disabled", "loading", "width", "priority", "size", "type", "icon", "rightIcon", "auxiliary", "rounded", "caret", "tooltip", "animation", "slide", "styleClass", "badge", "menuOptions", "menuContext", "model"], outputs: ["clicked"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
134
134
  }
135
135
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SearchboxComponent, decorators: [{
136
136
  type: Component,
@@ -146,7 +146,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
146
146
  useExisting: forwardRef(() => SearchboxComponent),
147
147
  multi: true
148
148
  }
149
- ], template: "<div class=\"sdc-searchbox\" [class.sdc-searchbox--disabled]=\"disabled\">\n @if (labelKey()) {\n <label [for]=\"identity.id\">\n <span>{{ labelKey() | translate }}</span>\n @if (required) {\n <span class=\"required-field\" [attr.aria-label]=\"'platform.datacore.accessibility.required_field' | translate\">\n &bull;\n </span>\n }\n </label>\n }\n\n <div class=\"sdc-searchbox__group\" [ngStyle]=\"getStyles()\">\n @if (triggerMode === 'submit') {\n <div class=\"sdc-searchbox__addon sdc-searchbox__addon--leading\">\n <sdc-button\n priority=\"link\"\n [disabled]=\"disabled\"\n (click)=\"onSearch()\"\n (keydown.enter)=\"onSearch()\"\n (keydown.space)=\"$event.preventDefault(); onSearch()\"\n [icon]=\"'fas fa-search'\"\n [ariaLabel]=\"'platform.datacore.accessibility.search_action'\"\n ></sdc-button>\n </div>\n }\n\n <input\n #inputRef\n [id]=\"identity.id\"\n [ngClass]=\"getInvalidClass()\"\n class=\"sdc-searchbox__input\"\n type=\"search\"\n [ngModel]=\"value\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder ? (placeholder | translate) : ('platform.datacore.search' | translate)\"\n (ngModelChange)=\"onValueChange($event)\"\n (keyup.enter)=\"onEnterKey()\"\n (keyup.esc)=\"onEscapeKey()\"\n [attr.role]=\"inputRole\"\n [attr.autocomplete]=\"inputAutocomplete\"\n [attr.aria-label]=\"inputAriaLabel | translate\"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-controls]=\"inputAriaControls\"\n [attr.aria-describedby]=\"inputDescribedBy\"\n [attr.aria-activedescendant]=\"inputAriaActiveDescendant\"\n [attr.aria-haspopup]=\"inputAriaHaspopup\"\n [attr.aria-expanded]=\"inputAriaExpanded\"\n />\n\n <div class=\"sdc-searchbox__addon sdc-searchbox__addon--trailing\">\n <sdc-button\n priority=\"link\"\n [disabled]=\"disabled\"\n (click)=\"onClear()\"\n (keydown.enter)=\"onClear()\"\n (keydown.space)=\"$event.preventDefault(); onClear()\"\n [icon]=\"'fas fa-times'\"\n [ariaLabel]=\"'platform.datacore.accessibility.clear_field'\"\n ></sdc-button>\n </div>\n </div>\n\n @if (messageKey()) {\n <small [id]=\"identity.id + '-error'\" [ngClass]=\"getInvalidMessageClass()\" role=\"alert\" aria-live=\"polite\">\n {{ messageKey() | translate }}\n </small>\n }\n</div>\n", styles: [".sdc-searchbox input[type=search]{-webkit-appearance:textfield!important;appearance:textfield!important}.sdc-searchbox input[type=search]::-webkit-search-cancel-button,.sdc-searchbox input[type=search]::-webkit-search-decoration,.sdc-searchbox input[type=search]::-webkit-search-results-button,.sdc-searchbox input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none!important;appearance:none!important;display:none!important}.sdc-searchbox input[type=search]::-ms-clear,.sdc-searchbox input[type=search]::-ms-reveal{display:none!important;width:0!important;height:0!important}.sdc-searchbox label{display:inline-flex;align-items:center;margin-bottom:var(--sdc-form-label-row-mb);line-height:1;padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py)}.sdc-searchbox .required-field{margin-left:var(--sdc-form-required-ml)}.sdc-searchbox__group{display:flex;align-items:stretch;height:var(--sdc-formfield-default-height)!important;box-sizing:border-box!important;border:1px solid var(--sdc-formfield-default-border)!important;border-radius:var(--sdc-formfield-border-radius)!important;overflow:hidden;background:var(--sdc-formfield-default-bg)!important;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.sdc-searchbox__group:focus-within{border-color:var(--sdc-formfield-focus-color, var(--sdc-tab-primary, #007bff))!important;box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14))!important}.sdc-searchbox__input{flex:1 1 auto;width:100%;min-width:0;height:100%!important;min-height:0!important;max-height:none!important;box-sizing:border-box!important;background:var(--sdc-formfield-default-bg)!important;border:0!important;box-shadow:none!important;outline:0!important;padding:0 .875rem!important;line-height:var(--sdc-formfield-default-line-height)!important;color:var(--p-text-color, var(--sdc-text-default, #111827))!important;caret-color:currentColor!important}.sdc-searchbox__input:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}.sdc-searchbox__addon{display:flex;align-items:center;justify-content:center;flex:0 0 var(--sdc-searchbox-addon-width, 48px);width:var(--sdc-searchbox-addon-width, 48px);min-width:var(--sdc-searchbox-addon-width, 48px);padding:0!important;border:0!important;line-height:var(--sdc-formfield-default-line-height)!important;background-color:var(--sdc-formfield-default-bg)!important}.sdc-searchbox__addon--leading{border-right:1px solid var(--sdc-formfield-default-border)!important}.sdc-searchbox__addon--trailing{border-left:1px solid var(--sdc-formfield-default-border)!important;background-color:var(--sdc-searchbox-addon-bg, var(--sdc-button-bg, #eceeef))!important}.sdc-searchbox__addon:hover{background-color:var(--sdc-button-bg-hover)!important;transition:var(--sdc-button-bg-hover-transition)!important}.sdc-searchbox__addon ::ng-deep sdc-button{display:flex!important;align-self:stretch!important;width:100%!important;height:100%!important}.sdc-searchbox__addon ::ng-deep sdc-button>div{display:flex!important;align-items:stretch!important;width:100%!important;height:100%!important}.sdc-searchbox__addon ::ng-deep sdc-tooltip,.sdc-searchbox__addon ::ng-deep .sdc-tooltip-wrapper,.sdc-searchbox__addon ::ng-deep .sdc-tooltip-target{display:flex!important;flex:1 1 auto!important;align-items:stretch!important;width:100%!important;height:100%!important}.sdc-searchbox__addon ::ng-deep sdc-button .sdc-button-el{display:flex!important;align-items:stretch!important;width:100%!important;height:100%!important;background:transparent!important}.sdc-searchbox__addon ::ng-deep sdc-button .sdc-button-el button,.sdc-searchbox__addon ::ng-deep sdc-button .sdc-button-el .s-button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;max-height:100%!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;line-height:var(--sdc-formfield-default-line-height)!important}.sdc-searchbox__addon ::ng-deep .sdc-button-el button:focus-visible,.sdc-searchbox__addon ::ng-deep .sdc-button-el .s-button:focus-visible{outline:2px solid var(--sdc-primary-color, #007bff)!important;outline-offset:-2px!important;box-shadow:0 0 0 3px #007bff40!important}.sdc-searchbox__addon ::ng-deep sdc-button button:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;color:var(--sdc-button-icon-default)!important;opacity:.6;cursor:not-allowed!important}.sdc-searchbox__addon ::ng-deep .s-button-icon,.sdc-searchbox__addon ::ng-deep .s-button-right-icon{color:var(--sdc-text-secondary, var(--sdc-text-muted, #6b7280))!important;height:auto!important;line-height:1!important;vertical-align:middle!important}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__group{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon,.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon:hover{background-color:var(--sdc-formfield-disabled-bg)!important;transition:none!important;cursor:not-allowed!important}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon ::ng-deep sdc-button{opacity:.6}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon ::ng-deep sdc-button button{cursor:not-allowed!important}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon ::ng-deep .s-button-icon,.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon ::ng-deep .s-button-right-icon{opacity:.6}\n"] }]
149
+ ], template: "<div class=\"sdc-searchbox\" [class.sdc-searchbox--disabled]=\"disabled\">\n @if (labelKey()) {\n <label [for]=\"identity.id\">\n <span>{{ labelKey() | translate }}</span>\n @if (required) {\n <span class=\"required-field\" [attr.aria-label]=\"'platform.datacore.accessibility_required_field' | translate\">\n &bull;\n </span>\n }\n </label>\n }\n\n <div class=\"sdc-searchbox__group\" [ngStyle]=\"getStyles()\">\n @if (triggerMode === 'submit') {\n <div class=\"sdc-searchbox__addon sdc-searchbox__addon--leading\">\n <sdc-button\n priority=\"link\"\n [disabled]=\"disabled\"\n (click)=\"onSearch()\"\n (keydown.enter)=\"onSearch()\"\n (keydown.space)=\"$event.preventDefault(); onSearch()\"\n [icon]=\"'fas fa-search'\"\n [ariaLabel]=\"'platform.datacore.accessibility_search_action'\"\n ></sdc-button>\n </div>\n }\n\n <input\n #inputRef\n [id]=\"identity.id\"\n [ngClass]=\"getInvalidClass()\"\n class=\"sdc-searchbox__input\"\n type=\"search\"\n [ngModel]=\"value\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder ? (placeholder | translate) : ('platform.datacore.search' | translate)\"\n (ngModelChange)=\"onValueChange($event)\"\n (keyup.enter)=\"onEnterKey()\"\n (keyup.esc)=\"onEscapeKey()\"\n [attr.role]=\"inputRole\"\n [attr.autocomplete]=\"inputAutocomplete\"\n [attr.aria-label]=\"inputAriaLabel | translate\"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-controls]=\"inputAriaControls\"\n [attr.aria-describedby]=\"inputDescribedBy\"\n [attr.aria-activedescendant]=\"inputAriaActiveDescendant\"\n [attr.aria-haspopup]=\"inputAriaHaspopup\"\n [attr.aria-expanded]=\"inputAriaExpanded\"\n />\n\n <div class=\"sdc-searchbox__addon sdc-searchbox__addon--trailing\">\n <sdc-button\n priority=\"link\"\n [disabled]=\"disabled\"\n (click)=\"onClear()\"\n (keydown.enter)=\"onClear()\"\n (keydown.space)=\"$event.preventDefault(); onClear()\"\n [icon]=\"'fas fa-times'\"\n [ariaLabel]=\"'platform.datacore.accessibility_clear_field'\"\n ></sdc-button>\n </div>\n </div>\n\n @if (messageKey()) {\n <small [id]=\"identity.id + '-error'\" [ngClass]=\"getInvalidMessageClass()\" role=\"alert\" aria-live=\"polite\">\n {{ messageKey() | translate }}\n </small>\n }\n</div>\n", styles: [".sdc-searchbox input[type=search]{-webkit-appearance:textfield!important;appearance:textfield!important}.sdc-searchbox input[type=search]::-webkit-search-cancel-button,.sdc-searchbox input[type=search]::-webkit-search-decoration,.sdc-searchbox input[type=search]::-webkit-search-results-button,.sdc-searchbox input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none!important;appearance:none!important;display:none!important}.sdc-searchbox input[type=search]::-ms-clear,.sdc-searchbox input[type=search]::-ms-reveal{display:none!important;width:0!important;height:0!important}.sdc-searchbox label{display:inline-flex;align-items:center;margin-bottom:var(--sdc-form-label-row-mb);line-height:1;padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py)}.sdc-searchbox .required-field{margin-left:var(--sdc-form-required-ml)}.sdc-searchbox__group{display:flex;align-items:stretch;height:var(--sdc-formfield-default-height)!important;box-sizing:border-box!important;border:1px solid var(--sdc-formfield-default-border)!important;border-radius:var(--sdc-formfield-border-radius)!important;overflow:hidden;background:var(--sdc-formfield-default-bg)!important;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.sdc-searchbox__group:focus-within{border-color:var(--sdc-formfield-focus-color, var(--sdc-tab-primary, #007bff))!important;box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14))!important}.sdc-searchbox__input{flex:1 1 auto;width:100%;min-width:0;height:100%!important;min-height:0!important;max-height:none!important;box-sizing:border-box!important;background:var(--sdc-formfield-default-bg)!important;border:0!important;box-shadow:none!important;outline:0!important;padding:0 .875rem!important;line-height:var(--sdc-formfield-default-line-height)!important;color:var(--p-text-color, var(--sdc-text-default, #111827))!important;caret-color:currentColor!important}.sdc-searchbox__input:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}.sdc-searchbox__addon{display:flex;align-items:center;justify-content:center;flex:0 0 var(--sdc-searchbox-addon-width, 48px);width:var(--sdc-searchbox-addon-width, 48px);min-width:var(--sdc-searchbox-addon-width, 48px);padding:0!important;border:0!important;line-height:var(--sdc-formfield-default-line-height)!important;background-color:var(--sdc-formfield-default-bg)!important}.sdc-searchbox__addon--leading{border-right:1px solid var(--sdc-formfield-default-border)!important}.sdc-searchbox__addon--trailing{border-left:1px solid var(--sdc-formfield-default-border)!important;background-color:var(--sdc-searchbox-addon-bg, var(--sdc-button-bg, #eceeef))!important}.sdc-searchbox__addon:hover{background-color:var(--sdc-button-bg-hover)!important;transition:var(--sdc-button-bg-hover-transition)!important}.sdc-searchbox__addon ::ng-deep sdc-button{display:flex!important;align-self:stretch!important;width:100%!important;height:100%!important}.sdc-searchbox__addon ::ng-deep sdc-button>div{display:flex!important;align-items:stretch!important;width:100%!important;height:100%!important}.sdc-searchbox__addon ::ng-deep sdc-tooltip,.sdc-searchbox__addon ::ng-deep .sdc-tooltip-wrapper,.sdc-searchbox__addon ::ng-deep .sdc-tooltip-target{display:flex!important;flex:1 1 auto!important;align-items:stretch!important;width:100%!important;height:100%!important}.sdc-searchbox__addon ::ng-deep sdc-button .sdc-button-el{display:flex!important;align-items:stretch!important;width:100%!important;height:100%!important;background:transparent!important}.sdc-searchbox__addon ::ng-deep sdc-button .sdc-button-el button,.sdc-searchbox__addon ::ng-deep sdc-button .sdc-button-el .s-button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;max-height:100%!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;line-height:var(--sdc-formfield-default-line-height)!important}.sdc-searchbox__addon ::ng-deep .sdc-button-el button:focus-visible,.sdc-searchbox__addon ::ng-deep .sdc-button-el .s-button:focus-visible{outline:2px solid var(--sdc-primary-color, #007bff)!important;outline-offset:-2px!important;box-shadow:0 0 0 3px #007bff40!important}.sdc-searchbox__addon ::ng-deep sdc-button button:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;color:var(--sdc-button-icon-default)!important;opacity:.6;cursor:not-allowed!important}.sdc-searchbox__addon ::ng-deep .s-button-icon,.sdc-searchbox__addon ::ng-deep .s-button-right-icon{color:var(--sdc-text-secondary, var(--sdc-text-muted, #6b7280))!important;height:auto!important;line-height:1!important;vertical-align:middle!important}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__group{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon,.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon:hover{background-color:var(--sdc-formfield-disabled-bg)!important;transition:none!important;cursor:not-allowed!important}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon ::ng-deep sdc-button{opacity:.6}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon ::ng-deep sdc-button button{cursor:not-allowed!important}.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon ::ng-deep .s-button-icon,.sdc-searchbox.sdc-searchbox--disabled .sdc-searchbox__addon ::ng-deep .s-button-right-icon{opacity:.6}\n"] }]
150
150
  }], propDecorators: { triggerMode: [{
151
151
  type: Input
152
152
  }], debounceTimeMs: [{
@@ -184,4 +184,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
184
184
  type: ViewChild,
185
185
  args: ['inputRef']
186
186
  }] } });
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvc2VhcmNoYm94L3NlYXJjaGJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3NlYXJjaGJveC9zZWFyY2hib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7OztBQXdCN0QsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGVBQXVCO0lBQzdDLEtBQUssR0FBa0IsRUFBRSxDQUFDO0lBRWpDLFdBQVcsR0FBc0IsTUFBTSxDQUFDO0lBQ3hDLGNBQWMsR0FBRyxHQUFHLENBQUM7SUFDckIsU0FBUyxDQUFpQjtJQUMxQixTQUFTLENBQWlCO0lBQzFCLGlCQUFpQixDQUFpQjtJQUNsQyxvQkFBb0IsQ0FBaUI7SUFDckMseUJBQXlCLENBQWlCO0lBQzFDLGlCQUFpQixDQUFpQjtJQUNsQyxpQkFBaUIsQ0FBa0I7SUFDbkMsaUJBQWlCLEdBQW1CLElBQUksQ0FBQztJQUN6QyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFFRSxvQkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBQzlELFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBQzFDLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRWpCLFFBQVEsQ0FBZ0M7SUFFL0QsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFDL0IsV0FBVyxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7SUFFckQsSUFBSSxjQUFjO1FBQ2hCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN4QixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUNwQixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQzFCLENBQUM7UUFFRCxPQUFPLDhDQUE4QyxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixNQUFNLGNBQWMsR0FBRztZQUNyQixJQUFJLENBQUMsb0JBQW9CO1lBQ3pCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJO1NBQ3ZELENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlDLE9BQU8sY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNyRSxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXO2FBQ2IsSUFBSSxDQUNILFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFDdkQsb0JBQW9CLEVBQUUsRUFDdEIsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDekI7YUFDQSxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRXRDLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2xELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9CLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBb0I7UUFDaEMsTUFBTSxTQUFTLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFUSxPQUFPLENBQUMsRUFBUztRQUN4QixNQUFNLFNBQVMsR0FBSSxFQUFFLENBQUMsTUFBMkIsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQy9ELElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pCLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMxQyxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxLQUFLLE1BQU07UUFDNUMsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFFMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXZCLElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQW9CLEVBQUUsVUFBVSxHQUFHLEtBQUs7UUFDL0MsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFFMUIsTUFBTSxTQUFTLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRWpDLElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFzQjtRQUMvQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQztRQUUzQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPO1FBQ1QsQ0FBQztRQUVELEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFckIsd0ZBQXdGO1FBQ3hGLElBQUksQ0FBQztZQUNILE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ3pDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNQLDJFQUEyRTtRQUM3RSxDQUFDO0lBQ0gsQ0FBQzt3R0EvSVUsa0JBQWtCOzRGQUFsQixrQkFBa0IsdW1CQVJsQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7Z0JBQ2pELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRix1SkMxQ0gsdThFQXNFQSx1bkxENUNJLGVBQWUsd1RBQ2YsWUFBWSxpTkFDWixXQUFXLDhtQkFDWCxtQkFBbUIsOEJBQ25CLGVBQWU7OzRGQWNOLGtCQUFrQjtrQkF0QjlCLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUDt3QkFDUCxlQUFlO3dCQUNmLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGVBQWU7cUJBQ2hCLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxRQUFRLGFBQzlCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDOzRCQUNqRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs4QkFLUSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFMEIsb0JBQW9CO3NCQUFuRCxNQUFNO3VCQUFDLHNCQUFzQjtnQkFDVixXQUFXO3NCQUE5QixNQUFNO3VCQUFDLFVBQVU7Z0JBQ0MsVUFBVTtzQkFBNUIsTUFBTTt1QkFBQyxTQUFTO2dCQUV1QixRQUFRO3NCQUEvQyxTQUFTO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgZGVib3VuY2UsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwsIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IElucHV0c0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUvZGlyZWN0aXZlcy9pbnB1dHMuZGlyZWN0aXZlJztcbmltcG9ydCB7IHR5cGUgU2VhcmNoVHJpZ2dlck1vZGUgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL3NlYXJjaGJveC50eXBlJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2RjLXNlYXJjaGJveCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2hib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vc2VhcmNoYm94LmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlYXJjaGJveENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hib3hDb21wb25lbnQgZXh0ZW5kcyBJbnB1dHNDb21wb25lbnQ8c3RyaW5nPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIG92ZXJyaWRlIHZhbHVlOiBzdHJpbmcgfCBudWxsID0gJyc7XG5cbiAgQElucHV0KCkgdHJpZ2dlck1vZGU6IFNlYXJjaFRyaWdnZXJNb2RlID0gJ2F1dG8nO1xuICBASW5wdXQoKSBkZWJvdW5jZVRpbWVNcyA9IDMwMDtcbiAgQElucHV0KCkgYXJpYUxhYmVsPzogc3RyaW5nIHwgbnVsbDtcbiAgQElucHV0KCkgaW5wdXRSb2xlPzogc3RyaW5nIHwgbnVsbDtcbiAgQElucHV0KCkgaW5wdXRBcmlhQ29udHJvbHM/OiBzdHJpbmcgfCBudWxsO1xuICBASW5wdXQoKSBpbnB1dEFyaWFEZXNjcmliZWRCeT86IHN0cmluZyB8IG51bGw7XG4gIEBJbnB1dCgpIGlucHV0QXJpYUFjdGl2ZURlc2NlbmRhbnQ/OiBzdHJpbmcgfCBudWxsO1xuICBASW5wdXQoKSBpbnB1dEFyaWFIYXNwb3B1cD86IHN0cmluZyB8IG51bGw7XG4gIEBJbnB1dCgpIGlucHV0QXJpYUV4cGFuZGVkPzogYm9vbGVhbiB8IG51bGw7XG4gIEBJbnB1dCgpIGlucHV0QXV0b2NvbXBsZXRlPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIHN1Ym1pdE9uRW50ZXIgPSB0cnVlO1xuICBASW5wdXQoKSBjbGVhck9uRXNjYXBlID0gdHJ1ZTtcblxuICBAT3V0cHV0KCdkZWJvdW5jZWRWYWx1ZUNoYW5nZScpIGRlYm91bmNlZFZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoJ29uU2VhcmNoJykgc2VhcmNoRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgnb25DbGVhcicpIGNsZWFyRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXRSZWYnKSBwcml2YXRlIHJlYWRvbmx5IGlucHV0UmVmPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSB2YWx1ZUlucHV0JCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICBnZXQgaW5wdXRBcmlhTGFiZWwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5hcmlhTGFiZWwpIHtcbiAgICAgIHJldHVybiB0aGlzLmFyaWFMYWJlbDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5sYWJlbEtleSgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5sYWJlbEtleSgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnBsYWNlaG9sZGVyKSB7XG4gICAgICByZXR1cm4gdGhpcy5wbGFjZWhvbGRlcjtcbiAgICB9XG5cbiAgICByZXR1cm4gJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHkuc2VhcmNoX2ZpZWxkJztcbiAgfVxuXG4gIGdldCBpbnB1dERlc2NyaWJlZEJ5KCk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IGRlc2NyaWJlZEJ5SWRzID0gW1xuICAgICAgdGhpcy5pbnB1dEFyaWFEZXNjcmliZWRCeSxcbiAgICAgIHRoaXMubWVzc2FnZUtleSgpID8gYCR7dGhpcy5pZGVudGl0eS5pZH0tZXJyb3JgIDogbnVsbFxuICAgIF0uZmlsdGVyKCh2YWx1ZSk6IHZhbHVlIGlzIHN0cmluZyA9PiAhIXZhbHVlKTtcblxuICAgIHJldHVybiBkZXNjcmliZWRCeUlkcy5sZW5ndGggPiAwID8gZGVzY3JpYmVkQnlJZHMuam9pbignICcpIDogbnVsbDtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWVJbnB1dCRcbiAgICAgIC5waXBlKFxuICAgICAgICBkZWJvdW5jZSgoKSA9PiB0aW1lcihNYXRoLm1heCgwLCB0aGlzLmRlYm91bmNlVGltZU1zKSkpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMuZGVib3VuY2VkVmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMudHJpZ2dlck1vZGUgPT09ICdhdXRvJyAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgIHRoaXMuc2VhcmNoRXZlbnQuZW1pdCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgIGNvbnN0IG5leHRWYWx1ZSA9IHZhbHVlID8/ICcnO1xuICAgIHRoaXMuY29tbWl0VmFsdWUobmV4dFZhbHVlKTtcbiAgICB0aGlzLnZhbHVlSW5wdXQkLm5leHQobmV4dFZhbHVlKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uSW5wdXQoZXY6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgbmV4dFZhbHVlID0gKGV2LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KT8udmFsdWUgPz8gJyc7XG4gICAgdGhpcy5vblZhbHVlQ2hhbmdlKG5leHRWYWx1ZSk7XG4gIH1cblxuICBvbkVudGVyS2V5KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN1Ym1pdE9uRW50ZXIpIHtcbiAgICAgIHRoaXMub25TZWFyY2goKTtcbiAgICB9XG4gIH1cblxuICBvbkVzY2FwZUtleSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jbGVhck9uRXNjYXBlKSB7XG4gICAgICB0aGlzLm9uQ2xlYXIoKTtcbiAgICB9XG4gIH1cblxuICBvblNlYXJjaCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuc2VhcmNoRXZlbnQuZW1pdCh0aGlzLnZhbHVlID8/ICcnKTtcbiAgICB9XG4gIH1cblxuICBvbkNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXIoKTtcbiAgfVxuXG4gIGNsZWFyKGVtaXRTZWFyY2ggPSB0aGlzLnRyaWdnZXJNb2RlID09PSAnYXV0bycpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5jb21taXRWYWx1ZSgnJyk7XG4gICAgdGhpcy5jbGVhckV2ZW50LmVtaXQoKTtcblxuICAgIGlmIChlbWl0U2VhcmNoKSB7XG4gICAgICB0aGlzLnNlYXJjaEV2ZW50LmVtaXQodGhpcy52YWx1ZSA/PyAnJyk7XG4gICAgfVxuICB9XG5cbiAgc2V0VmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwsIGVtaXRTZWFyY2ggPSBmYWxzZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG5cbiAgICBjb25zdCBuZXh0VmFsdWUgPSB2YWx1ZSA/PyAnJztcbiAgICB0aGlzLmNvbW1pdFZhbHVlKG5leHRWYWx1ZSk7XG4gICAgdGhpcy52YWx1ZUlucHV0JC5uZXh0KG5leHRWYWx1ZSk7XG5cbiAgICBpZiAoZW1pdFNlYXJjaCkge1xuICAgICAgdGhpcy5zZWFyY2hFdmVudC5lbWl0KG5leHRWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgZm9jdXNJbnB1dChvcHRpb25zPzogRm9jdXNPcHRpb25zKTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmlucHV0UmVmPy5uYXRpdmVFbGVtZW50O1xuXG4gICAgaWYgKCFpbnB1dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlucHV0LmZvY3VzKG9wdGlvbnMpO1xuXG4gICAgLy8gRm9yY2UgYW4gaW5zZXJ0aW9uIHBvaW50IGFmdGVyIHByb2dyYW1tYXRpYyBmb2N1cyBzbyB0aGUgY2FyZXQgaXMgdmlzaWJsZSByaWdodCBhd2F5LlxuICAgIHRyeSB7XG4gICAgICBjb25zdCBjYXJldFBvc2l0aW9uID0gaW5wdXQudmFsdWUubGVuZ3RoO1xuICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UoY2FyZXRQb3NpdGlvbiwgY2FyZXRQb3NpdGlvbik7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBJZ25vcmUgZW52aXJvbm1lbnRzIG9yIGlucHV0IHR5cGVzIHRoYXQgZG8gbm90IHN1cHBvcnQgc2VsZWN0aW9uIHJhbmdlcy5cbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZGMtc2VhcmNoYm94XCIgW2NsYXNzLnNkYy1zZWFyY2hib3gtLWRpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gIEBpZiAobGFiZWxLZXkoKSkge1xuICA8bGFiZWwgW2Zvcl09XCJpZGVudGl0eS5pZFwiPlxuICAgIDxzcGFuPnt7IGxhYmVsS2V5KCkgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgQGlmIChyZXF1aXJlZCkge1xuICAgIDxzcGFuIGNsYXNzPVwicmVxdWlyZWQtZmllbGRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5LnJlcXVpcmVkX2ZpZWxkJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgJmJ1bGw7XG4gICAgPC9zcGFuPlxuICAgIH1cbiAgPC9sYWJlbD5cbiAgfVxuXG4gIDxkaXYgY2xhc3M9XCJzZGMtc2VhcmNoYm94X19ncm91cFwiIFtuZ1N0eWxlXT1cImdldFN0eWxlcygpXCI+XG4gICAgQGlmICh0cmlnZ2VyTW9kZSA9PT0gJ3N1Ym1pdCcpIHtcbiAgICA8ZGl2IGNsYXNzPVwic2RjLXNlYXJjaGJveF9fYWRkb24gc2RjLXNlYXJjaGJveF9fYWRkb24tLWxlYWRpbmdcIj5cbiAgICAgIDxzZGMtYnV0dG9uXG4gICAgICAgIHByaW9yaXR5PVwibGlua1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJvblNlYXJjaCgpXCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25TZWFyY2goKVwiXG4gICAgICAgIChrZXlkb3duLnNwYWNlKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyBvblNlYXJjaCgpXCJcbiAgICAgICAgW2ljb25dPVwiJ2ZhcyBmYS1zZWFyY2gnXCJcbiAgICAgICAgW2FyaWFMYWJlbF09XCIncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5zZWFyY2hfYWN0aW9uJ1wiXG4gICAgICA+PC9zZGMtYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIH1cblxuICAgIDxpbnB1dFxuICAgICAgI2lucHV0UmVmXG4gICAgICBbaWRdPVwiaWRlbnRpdHkuaWRcIlxuICAgICAgW25nQ2xhc3NdPVwiZ2V0SW52YWxpZENsYXNzKClcIlxuICAgICAgY2xhc3M9XCJzZGMtc2VhcmNoYm94X19pbnB1dFwiXG4gICAgICB0eXBlPVwic2VhcmNoXCJcbiAgICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgPyAocGxhY2Vob2xkZXIgfCB0cmFuc2xhdGUpIDogKCdwbGF0Zm9ybS5kYXRhY29yZS5zZWFyY2gnIHwgdHJhbnNsYXRlKVwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgKGtleXVwLmVudGVyKT1cIm9uRW50ZXJLZXkoKVwiXG4gICAgICAoa2V5dXAuZXNjKT1cIm9uRXNjYXBlS2V5KClcIlxuICAgICAgW2F0dHIucm9sZV09XCJpbnB1dFJvbGVcIlxuICAgICAgW2F0dHIuYXV0b2NvbXBsZXRlXT1cImlucHV0QXV0b2NvbXBsZXRlXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaW5wdXRBcmlhTGFiZWwgfCB0cmFuc2xhdGVcIlxuICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaW52YWxpZFwiXG4gICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImlucHV0QXJpYUNvbnRyb2xzXCJcbiAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiaW5wdXREZXNjcmliZWRCeVwiXG4gICAgICBbYXR0ci5hcmlhLWFjdGl2ZWRlc2NlbmRhbnRdPVwiaW5wdXRBcmlhQWN0aXZlRGVzY2VuZGFudFwiXG4gICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cImlucHV0QXJpYUhhc3BvcHVwXCJcbiAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaW5wdXRBcmlhRXhwYW5kZWRcIlxuICAgIC8+XG5cbiAgICA8ZGl2IGNsYXNzPVwic2RjLXNlYXJjaGJveF9fYWRkb24gc2RjLXNlYXJjaGJveF9fYWRkb24tLXRyYWlsaW5nXCI+XG4gICAgICA8c2RjLWJ1dHRvblxuICAgICAgICBwcmlvcml0eT1cImxpbmtcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAoY2xpY2spPVwib25DbGVhcigpXCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25DbGVhcigpXCJcbiAgICAgICAgKGtleWRvd24uc3BhY2UpPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IG9uQ2xlYXIoKVwiXG4gICAgICAgIFtpY29uXT1cIidmYXMgZmEtdGltZXMnXCJcbiAgICAgICAgW2FyaWFMYWJlbF09XCIncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5jbGVhcl9maWVsZCdcIlxuICAgICAgPjwvc2RjLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgQGlmIChtZXNzYWdlS2V5KCkpIHtcbiAgPHNtYWxsIFtpZF09XCJpZGVudGl0eS5pZCArICctZXJyb3InXCIgW25nQ2xhc3NdPVwiZ2V0SW52YWxpZE1lc3NhZ2VDbGFzcygpXCIgcm9sZT1cImFsZXJ0XCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAge3sgbWVzc2FnZUtleSgpIHwgdHJhbnNsYXRlIH19XG4gIDwvc21hbGw+XG4gIH1cbjwvZGl2PlxuIl19
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvc2VhcmNoYm94L3NlYXJjaGJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3NlYXJjaGJveC9zZWFyY2hib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7OztBQXdCN0QsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGVBQXVCO0lBQzdDLEtBQUssR0FBa0IsRUFBRSxDQUFDO0lBRWpDLFdBQVcsR0FBc0IsTUFBTSxDQUFDO0lBQ3hDLGNBQWMsR0FBRyxHQUFHLENBQUM7SUFDckIsU0FBUyxDQUFpQjtJQUMxQixTQUFTLENBQWlCO0lBQzFCLGlCQUFpQixDQUFpQjtJQUNsQyxvQkFBb0IsQ0FBaUI7SUFDckMseUJBQXlCLENBQWlCO0lBQzFDLGlCQUFpQixDQUFpQjtJ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RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs4QkFLUSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFMEIsb0JBQW9CO3NCQUFuRCxNQUFNO3VCQUFDLHNCQUFzQjtnQkFDVixXQUFXO3NCQUE5QixNQUFNO3VCQUFDLFVBQVU7Z0JBQ0MsVUFBVTtzQkFBNUIsTUFBTTt1QkFBQyxTQUFTO2dCQUV1QixRQUFRO3NCQUEvQyxTQUFTO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgZGVib3VuY2UsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwsIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IElucHV0c0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUvZGlyZWN0aXZlcy9pbnB1dHMuZGlyZWN0aXZlJztcbmltcG9ydCB7IHR5cGUgU2VhcmNoVHJpZ2dlck1vZGUgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL3NlYXJjaGJveC50eXBlJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2RjLXNlYXJjaGJveCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2hib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vc2VhcmNoYm94LmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlYXJjaGJveENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hib3hDb21wb25lbnQgZXh0ZW5kcyBJbnB1dHNDb21wb25lbnQ8c3RyaW5nPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIG92ZXJyaWRlIHZhbHVlOiBzdHJpbmcgfCBudWxsID0gJyc7XG5cbiAgQElucHV0KCkgdHJpZ2dlck1vZGU6IFNlYXJjaFRyaWdnZXJNb2RlID0gJ2F1dG8nO1xuICBASW5wdXQoKSBkZWJvdW5jZVRpbWVNcyA9IDMwMDtcbiAgQElucHV0KCkgYXJpYUxhYmVsPzogc3RyaW5nIHwgbnVsbDtcbiAgQElucHV0KCkgaW5wdXRSb2xlPzogc3RyaW5nIHwgbnVsbDtcbiAgQElucHV0KCkgaW5wdXRBcmlhQ29udHJvbHM/OiBzdHJpbmcgfCBudWxsO1xuICBASW5wdXQoKSBpbnB1dEFyaWFEZXNjcmliZWRCeT86IHN0cmluZyB8IG51bGw7XG4gIEBJbnB1dCgpIGlucHV0QXJpYUFjdGl2ZURlc2NlbmRhbnQ/OiBzdHJpbmcgfCBudWxsO1xuICBASW5wdXQoKSBpbnB1dEFyaWFIYXNwb3B1cD86IHN0cmluZyB8IG51bGw7XG4gIEBJbnB1dCgpIGlucHV0QXJpYUV4cGFuZGVkPzogYm9vbGVhbiB8IG51bGw7XG4gIEBJbnB1dCgpIGlucHV0QXV0b2NvbXBsZXRlPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIHN1Ym1pdE9uRW50ZXIgPSB0cnVlO1xuICBASW5wdXQoKSBjbGVhck9uRXNjYXBlID0gdHJ1ZTtcblxuICBAT3V0cHV0KCdkZWJvdW5jZWRWYWx1ZUNoYW5nZScpIGRlYm91bmNlZFZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoJ29uU2VhcmNoJykgc2VhcmNoRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgnb25DbGVhcicpIGNsZWFyRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXRSZWYnKSBwcml2YXRlIHJlYWRvbmx5IGlucHV0UmVmPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSB2YWx1ZUlucHV0JCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICBnZXQgaW5wdXRBcmlhTGFiZWwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5hcmlhTGFiZWwpIHtcbiAgICAgIHJldHVybiB0aGlzLmFyaWFMYWJlbDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5sYWJlbEtleSgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5sYWJlbEtleSgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnBsYWNlaG9sZGVyKSB7XG4gICAgICByZXR1cm4gdGhpcy5wbGFjZWhvbGRlcjtcbiAgICB9XG5cbiAgICByZXR1cm4gJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHlfc2VhcmNoX2ZpZWxkJztcbiAgfVxuXG4gIGdldCBpbnB1dERlc2NyaWJlZEJ5KCk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IGRlc2NyaWJlZEJ5SWRzID0gW1xuICAgICAgdGhpcy5pbnB1dEFyaWFEZXNjcmliZWRCeSxcbiAgICAgIHRoaXMubWVzc2FnZUtleSgpID8gYCR7dGhpcy5pZGVudGl0eS5pZH0tZXJyb3JgIDogbnVsbFxuICAgIF0uZmlsdGVyKCh2YWx1ZSk6IHZhbHVlIGlzIHN0cmluZyA9PiAhIXZhbHVlKTtcblxuICAgIHJldHVybiBkZXNjcmliZWRCeUlkcy5sZW5ndGggPiAwID8gZGVzY3JpYmVkQnlJZHMuam9pbignICcpIDogbnVsbDtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWVJbnB1dCRcbiAgICAgIC5waXBlKFxuICAgICAgICBkZWJvdW5jZSgoKSA9PiB0aW1lcihNYXRoLm1heCgwLCB0aGlzLmRlYm91bmNlVGltZU1zKSkpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMuZGVib3VuY2VkVmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMudHJpZ2dlck1vZGUgPT09ICdhdXRvJyAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgIHRoaXMuc2VhcmNoRXZlbnQuZW1pdCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgIGNvbnN0IG5leHRWYWx1ZSA9IHZhbHVlID8/ICcnO1xuICAgIHRoaXMuY29tbWl0VmFsdWUobmV4dFZhbHVlKTtcbiAgICB0aGlzLnZhbHVlSW5wdXQkLm5leHQobmV4dFZhbHVlKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uSW5wdXQoZXY6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgbmV4dFZhbHVlID0gKGV2LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KT8udmFsdWUgPz8gJyc7XG4gICAgdGhpcy5vblZhbHVlQ2hhbmdlKG5leHRWYWx1ZSk7XG4gIH1cblxuICBvbkVudGVyS2V5KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN1Ym1pdE9uRW50ZXIpIHtcbiAgICAgIHRoaXMub25TZWFyY2goKTtcbiAgICB9XG4gIH1cblxuICBvbkVzY2FwZUtleSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jbGVhck9uRXNjYXBlKSB7XG4gICAgICB0aGlzLm9uQ2xlYXIoKTtcbiAgICB9XG4gIH1cblxuICBvblNlYXJjaCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuc2VhcmNoRXZlbnQuZW1pdCh0aGlzLnZhbHVlID8/ICcnKTtcbiAgICB9XG4gIH1cblxuICBvbkNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXIoKTtcbiAgfVxuXG4gIGNsZWFyKGVtaXRTZWFyY2ggPSB0aGlzLnRyaWdnZXJNb2RlID09PSAnYXV0bycpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5jb21taXRWYWx1ZSgnJyk7XG4gICAgdGhpcy5jbGVhckV2ZW50LmVtaXQoKTtcblxuICAgIGlmIChlbWl0U2VhcmNoKSB7XG4gICAgICB0aGlzLnNlYXJjaEV2ZW50LmVtaXQodGhpcy52YWx1ZSA/PyAnJyk7XG4gICAgfVxuICB9XG5cbiAgc2V0VmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwsIGVtaXRTZWFyY2ggPSBmYWxzZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG5cbiAgICBjb25zdCBuZXh0VmFsdWUgPSB2YWx1ZSA/PyAnJztcbiAgICB0aGlzLmNvbW1pdFZhbHVlKG5leHRWYWx1ZSk7XG4gICAgdGhpcy52YWx1ZUlucHV0JC5uZXh0KG5leHRWYWx1ZSk7XG5cbiAgICBpZiAoZW1pdFNlYXJjaCkge1xuICAgICAgdGhpcy5zZWFyY2hFdmVudC5lbWl0KG5leHRWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgZm9jdXNJbnB1dChvcHRpb25zPzogRm9jdXNPcHRpb25zKTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmlucHV0UmVmPy5uYXRpdmVFbGVtZW50O1xuXG4gICAgaWYgKCFpbnB1dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlucHV0LmZvY3VzKG9wdGlvbnMpO1xuXG4gICAgLy8gRm9yY2UgYW4gaW5zZXJ0aW9uIHBvaW50IGFmdGVyIHByb2dyYW1tYXRpYyBmb2N1cyBzbyB0aGUgY2FyZXQgaXMgdmlzaWJsZSByaWdodCBhd2F5LlxuICAgIHRyeSB7XG4gICAgICBjb25zdCBjYXJldFBvc2l0aW9uID0gaW5wdXQudmFsdWUubGVuZ3RoO1xuICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UoY2FyZXRQb3NpdGlvbiwgY2FyZXRQb3NpdGlvbik7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBJZ25vcmUgZW52aXJvbm1lbnRzIG9yIGlucHV0IHR5cGVzIHRoYXQgZG8gbm90IHN1cHBvcnQgc2VsZWN0aW9uIHJhbmdlcy5cbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZGMtc2VhcmNoYm94XCIgW2NsYXNzLnNkYy1zZWFyY2hib3gtLWRpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gIEBpZiAobGFiZWxLZXkoKSkge1xuICA8bGFiZWwgW2Zvcl09XCJpZGVudGl0eS5pZFwiPlxuICAgIDxzcGFuPnt7IGxhYmVsS2V5KCkgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgQGlmIChyZXF1aXJlZCkge1xuICAgIDxzcGFuIGNsYXNzPVwicmVxdWlyZWQtZmllbGRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5X3JlcXVpcmVkX2ZpZWxkJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgJmJ1bGw7XG4gICAgPC9zcGFuPlxuICAgIH1cbiAgPC9sYWJlbD5cbiAgfVxuXG4gIDxkaXYgY2xhc3M9XCJzZGMtc2VhcmNoYm94X19ncm91cFwiIFtuZ1N0eWxlXT1cImdldFN0eWxlcygpXCI+XG4gICAgQGlmICh0cmlnZ2VyTW9kZSA9PT0gJ3N1Ym1pdCcpIHtcbiAgICA8ZGl2IGNsYXNzPVwic2RjLXNlYXJjaGJveF9fYWRkb24gc2RjLXNlYXJjaGJveF9fYWRkb24tLWxlYWRpbmdcIj5cbiAgICAgIDxzZGMtYnV0dG9uXG4gICAgICAgIHByaW9yaXR5PVwibGlua1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJvblNlYXJjaCgpXCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25TZWFyY2goKVwiXG4gICAgICAgIChrZXlkb3duLnNwYWNlKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyBvblNlYXJjaCgpXCJcbiAgICAgICAgW2ljb25dPVwiJ2ZhcyBmYS1zZWFyY2gnXCJcbiAgICAgICAgW2FyaWFMYWJlbF09XCIncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eV9zZWFyY2hfYWN0aW9uJ1wiXG4gICAgICA+PC9zZGMtYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIH1cblxuICAgIDxpbnB1dFxuICAgICAgI2lucHV0UmVmXG4gICAgICBbaWRdPVwiaWRlbnRpdHkuaWRcIlxuICAgICAgW25nQ2xhc3NdPVwiZ2V0SW52YWxpZENsYXNzKClcIlxuICAgICAgY2xhc3M9XCJzZGMtc2VhcmNoYm94X19pbnB1dFwiXG4gICAgICB0eXBlPVwic2VhcmNoXCJcbiAgICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgPyAocGxhY2Vob2xkZXIgfCB0cmFuc2xhdGUpIDogKCdwbGF0Zm9ybS5kYXRhY29yZS5zZWFyY2gnIHwgdHJhbnNsYXRlKVwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgKGtleXVwLmVudGVyKT1cIm9uRW50ZXJLZXkoKVwiXG4gICAgICAoa2V5dXAuZXNjKT1cIm9uRXNjYXBlS2V5KClcIlxuICAgICAgW2F0dHIucm9sZV09XCJpbnB1dFJvbGVcIlxuICAgICAgW2F0dHIuYXV0b2NvbXBsZXRlXT1cImlucHV0QXV0b2NvbXBsZXRlXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaW5wdXRBcmlhTGFiZWwgfCB0cmFuc2xhdGVcIlxuICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaW52YWxpZFwiXG4gICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImlucHV0QXJpYUNvbnRyb2xzXCJcbiAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiaW5wdXREZXNjcmliZWRCeVwiXG4gICAgICBbYXR0ci5hcmlhLWFjdGl2ZWRlc2NlbmRhbnRdPVwiaW5wdXRBcmlhQWN0aXZlRGVzY2VuZGFudFwiXG4gICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cImlucHV0QXJpYUhhc3BvcHVwXCJcbiAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaW5wdXRBcmlhRXhwYW5kZWRcIlxuICAgIC8+XG5cbiAgICA8ZGl2IGNsYXNzPVwic2RjLXNlYXJjaGJveF9fYWRkb24gc2RjLXNlYXJjaGJveF9fYWRkb24tLXRyYWlsaW5nXCI+XG4gICAgICA8c2RjLWJ1dHRvblxuICAgICAgICBwcmlvcml0eT1cImxpbmtcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAoY2xpY2spPVwib25DbGVhcigpXCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25DbGVhcigpXCJcbiAgICAgICAgKGtleWRvd24uc3BhY2UpPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IG9uQ2xlYXIoKVwiXG4gICAgICAgIFtpY29uXT1cIidmYXMgZmEtdGltZXMnXCJcbiAgICAgICAgW2FyaWFMYWJlbF09XCIncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eV9jbGVhcl9maWVsZCdcIlxuICAgICAgPjwvc2RjLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgQGlmIChtZXNzYWdlS2V5KCkpIHtcbiAgPHNtYWxsIFtpZF09XCJpZGVudGl0eS5pZCArICctZXJyb3InXCIgW25nQ2xhc3NdPVwiZ2V0SW52YWxpZE1lc3NhZ2VDbGFzcygpXCIgcm9sZT1cImFsZXJ0XCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAge3sgbWVzc2FnZUtleSgpIHwgdHJhbnNsYXRlIH19XG4gIDwvc21hbGw+XG4gIH1cbjwvZGl2PlxuIl19
@@ -92,8 +92,8 @@ export class SelectButtonComponent {
92
92
  trackByIndex = (i) => i;
93
93
  getItemStateAriaLabelKey(item) {
94
94
  return this.isActive(item)
95
- ? 'platform.datacore.accessibility.select_button_item_selected'
96
- : 'platform.datacore.accessibility.select_button_item_not_selected';
95
+ ? 'platform.datacore.accessibility_select_button_item_selected'
96
+ : 'platform.datacore.accessibility_select_button_item_not_selected';
97
97
  }
98
98
  onKeyboardActivate(event, item) {
99
99
  if (event.key === 'Enter' || event.key === ' ') {
@@ -166,7 +166,7 @@ export class SelectButtonComponent {
166
166
  useExisting: forwardRef(() => SelectButtonComponent),
167
167
  multi: true
168
168
  }
169
- ], ngImport: i0, template: "@if (labelKey()) {\n <div class=\"sdc-select-button__label-row\">\n <div class=\"sdc-select-button__group-label\" [id]=\"groupLabelId\">\n <span class=\"sdc-select-button__group-label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n <span class=\"sr-only\">{{ 'platform.datacore.accessibility.required_field' | translate }}</span>\n }\n </span>\n </div>\n </div>\n}\n\n<div\n class=\"select-button\"\n [ngClass]=\"{\n 'select-button--disabled': disabled,\n 'select-button--pills': appearance === 'pills',\n 'select-button--soft': appearance === 'soft'\n }\"\n role=\"radiogroup\"\n [attr.aria-label]=\"labelKey() ? null : ('platform.datacore.accessibility.select_button_group' | translate)\"\n [attr.aria-labelledby]=\"labelKey() ? groupLabelId : null\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n>\n @for (item of items; track item; let i = $index) {\n <button\n type=\"button\"\n class=\"select-button-item\"\n [ngClass]=\"{\n 'select-button-item--active': isActive(item),\n 'select-button-item--disabled': disabled || item.disabled,\n 'select-button-item--first': i === 0,\n 'select-button-item--last': i === items.length - 1\n }\"\n [attr.aria-pressed]=\"isActive(item)\"\n [attr.aria-label]=\"((item.label || '') | translate) + ', ' + ((getItemStateAriaLabelKey(item)) | translate)\"\n [disabled]=\"disabled || item.disabled\"\n (click)=\"onItemSelect(item)\"\n (keydown)=\"onKeyboardActivate($event, item)\"\n >\n @if (item.iconClass) {\n <i class=\"select-button-item__icon\" [ngClass]=\"item.iconClass\" aria-hidden=\"true\"></i>\n }\n <span class=\"select-button-item__label\" aria-hidden=\"true\">{{ (item.label || '') | translate }}</span>\n </button>\n }\n</div>\n\n@if (messageKey()) {\n <small class=\"sdc-select-button__message\" [class.invalid]=\"invalid\" role=\"alert\" aria-live=\"polite\">\n {{ messageKey() | translate }}\n </small>\n}\n", styles: [":host{display:block}.sdc-select-button__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap);margin-bottom:var(--sdc-form-label-row-mb)}.sdc-select-button__group-label{display:inline-flex;align-items:center;font-size:var(--sdc-form-label-font-size);font-weight:var(--sdc-form-label-font-weight);color:var(--sdc-form-label-color);line-height:var(--sdc-form-label-lh);padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py)}.sdc-select-button__group-label-text{display:inline-flex;align-items:center}.sdc-select-button__message{display:block;margin-top:var(--sdc-form-label-row-mb);font-size:.8125rem;color:var(--sdc-text-subtle, #667085)}.sdc-select-button__message.invalid{color:var(--sdc-form-required-color)}.select-button{display:inline-flex;align-items:stretch}.select-button--disabled{pointer-events:none;opacity:.6}.select-button--pills{gap:.2rem}.select-button-item{display:inline-flex;align-items:center;gap:.4rem;padding:8px 12px;min-width:44px;min-height:44px;cursor:pointer;background-color:#fff;border:none;border-top:1px solid #c1c1cc;border-bottom:1px solid #c1c1cc;border-left:1px solid #c1c1cc}.select-button-item__icon{font-size:.8rem;flex-shrink:0}.select-button-item__label{font-family:Open Sans,sans-serif;font-size:14px}.select-button-item--active{background-color:#c1c1cc;font-weight:700}.select-button-item--disabled{opacity:.5;cursor:default}.select-button-item--first{border-top-left-radius:2px;border-bottom-left-radius:2px}.select-button-item--last{border-right:1px solid #c1c1cc;border-top-right-radius:2px;border-bottom-right-radius:2px}.select-button-item--active:hover{background-color:#c1c1cc}.select-button-item:focus-visible{outline:2px solid var(--sdc-primary-color, #007bff);outline-offset:-2px;box-shadow:0 0 0 3px #007bff40;z-index:1}.select-button--pills .select-button-item{border:1px solid transparent;border-radius:6px;background:transparent;padding:5px 12px;min-height:30px;color:var(--sdc-text-muted, #6b7280);font-size:13px;font-weight:400}.select-button--pills .select-button-item--first{border-top-left-radius:6px;border-bottom-left-radius:6px}.select-button--pills .select-button-item--last{border-right:1px solid transparent;border-top-right-radius:6px;border-bottom-right-radius:6px}.select-button--pills .select-button-item--active{background:#428bca1f;border-color:transparent;color:var(--sdc-formfield-focus-color, #428bca);font-weight:600}.select-button--soft .select-button-item{padding:4px 10px;min-height:32px;border-color:#dedce5;background-color:#fafafa;font-size:13px}.select-button--soft .select-button-item--last{border-right:1px solid #dedce5}.select-button--soft .select-button-item--active{background-color:var(--sdc-formfield-focus-color, #428bca);color:#fff;font-weight:600}.select-button-item:not(.select-button-item--disabled):not(.select-button-item--active):hover{background-color:#eeebf2}.select-button--pills .select-button-item:not(.select-button-item--disabled):not(.select-button-item--active):hover{background:#0000000a;border-color:transparent;color:var(--sdc-text-default, #374151)}.select-button--pills .select-button-item--active:hover{background:#428bca29;border-color:transparent}.select-button--soft .select-button-item:not(.select-button-item--disabled):not(.select-button-item--active):hover{background-color:#eeebf2}.select-button--soft .select-button-item--active:hover{background-color:var(--sdc-formfield-focus-color, #428bca)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
169
+ ], ngImport: i0, template: "@if (labelKey()) {\n <div class=\"sdc-select-button__label-row\">\n <div class=\"sdc-select-button__group-label\" [id]=\"groupLabelId\">\n <span class=\"sdc-select-button__group-label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n <span class=\"sr-only\">{{ 'platform.datacore.accessibility_required_field' | translate }}</span>\n }\n </span>\n </div>\n </div>\n}\n\n<div\n class=\"select-button\"\n [ngClass]=\"{\n 'select-button--disabled': disabled,\n 'select-button--pills': appearance === 'pills',\n 'select-button--soft': appearance === 'soft'\n }\"\n role=\"radiogroup\"\n [attr.aria-label]=\"labelKey() ? null : ('platform.datacore.accessibility_select_button_group' | translate)\"\n [attr.aria-labelledby]=\"labelKey() ? groupLabelId : null\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n>\n @for (item of items; track item; let i = $index) {\n <button\n type=\"button\"\n class=\"select-button-item\"\n [ngClass]=\"{\n 'select-button-item--active': isActive(item),\n 'select-button-item--disabled': disabled || item.disabled,\n 'select-button-item--first': i === 0,\n 'select-button-item--last': i === items.length - 1\n }\"\n [attr.aria-pressed]=\"isActive(item)\"\n [attr.aria-label]=\"((item.label || '') | translate) + ', ' + ((getItemStateAriaLabelKey(item)) | translate)\"\n [disabled]=\"disabled || item.disabled\"\n (click)=\"onItemSelect(item)\"\n (keydown)=\"onKeyboardActivate($event, item)\"\n >\n @if (item.iconClass) {\n <i class=\"select-button-item__icon\" [ngClass]=\"item.iconClass\" aria-hidden=\"true\"></i>\n }\n <span class=\"select-button-item__label\" aria-hidden=\"true\">{{ (item.label || '') | translate }}</span>\n </button>\n }\n</div>\n\n@if (messageKey()) {\n <small class=\"sdc-select-button__message\" [class.invalid]=\"invalid\" role=\"alert\" aria-live=\"polite\">\n {{ messageKey() | translate }}\n </small>\n}\n", styles: [":host{display:block}.sdc-select-button__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap);margin-bottom:var(--sdc-form-label-row-mb)}.sdc-select-button__group-label{display:inline-flex;align-items:center;font-size:var(--sdc-form-label-font-size);font-weight:var(--sdc-form-label-font-weight);color:var(--sdc-form-label-color);line-height:var(--sdc-form-label-lh);padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py)}.sdc-select-button__group-label-text{display:inline-flex;align-items:center}.sdc-select-button__message{display:block;margin-top:var(--sdc-form-label-row-mb);font-size:.8125rem;color:var(--sdc-text-subtle, #667085)}.sdc-select-button__message.invalid{color:var(--sdc-form-required-color)}.select-button{display:inline-flex;align-items:stretch}.select-button--disabled{pointer-events:none;opacity:.6}.select-button--pills{gap:.2rem}.select-button-item{display:inline-flex;align-items:center;gap:.4rem;padding:8px 12px;min-width:44px;min-height:44px;cursor:pointer;background-color:#fff;border:none;border-top:1px solid #c1c1cc;border-bottom:1px solid #c1c1cc;border-left:1px solid #c1c1cc}.select-button-item__icon{font-size:.8rem;flex-shrink:0}.select-button-item__label{font-family:Open Sans,sans-serif;font-size:14px}.select-button-item--active{background-color:#c1c1cc;font-weight:700}.select-button-item--disabled{opacity:.5;cursor:default}.select-button-item--first{border-top-left-radius:2px;border-bottom-left-radius:2px}.select-button-item--last{border-right:1px solid #c1c1cc;border-top-right-radius:2px;border-bottom-right-radius:2px}.select-button-item--active:hover{background-color:#c1c1cc}.select-button-item:focus-visible{outline:2px solid var(--sdc-primary-color, #007bff);outline-offset:-2px;box-shadow:0 0 0 3px #007bff40;z-index:1}.select-button--pills .select-button-item{border:1px solid transparent;border-radius:6px;background:transparent;padding:5px 12px;min-height:30px;color:var(--sdc-text-muted, #6b7280);font-size:13px;font-weight:400}.select-button--pills .select-button-item--first{border-top-left-radius:6px;border-bottom-left-radius:6px}.select-button--pills .select-button-item--last{border-right:1px solid transparent;border-top-right-radius:6px;border-bottom-right-radius:6px}.select-button--pills .select-button-item--active{background:#428bca1f;border-color:transparent;color:var(--sdc-formfield-focus-color, #428bca);font-weight:600}.select-button--soft .select-button-item{padding:4px 10px;min-height:32px;border-color:#dedce5;background-color:#fafafa;font-size:13px}.select-button--soft .select-button-item--last{border-right:1px solid #dedce5}.select-button--soft .select-button-item--active{background-color:var(--sdc-formfield-focus-color, #428bca);color:#fff;font-weight:600}.select-button-item:not(.select-button-item--disabled):not(.select-button-item--active):hover{background-color:#eeebf2}.select-button--pills .select-button-item:not(.select-button-item--disabled):not(.select-button-item--active):hover{background:#0000000a;border-color:transparent;color:var(--sdc-text-default, #374151)}.select-button--pills .select-button-item--active:hover{background:#428bca29;border-color:transparent}.select-button--soft .select-button-item:not(.select-button-item--disabled):not(.select-button-item--active):hover{background-color:#eeebf2}.select-button--soft .select-button-item--active:hover{background-color:var(--sdc-formfield-focus-color, #428bca)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
170
170
  }
171
171
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SelectButtonComponent, decorators: [{
172
172
  type: Component,
@@ -176,7 +176,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
176
176
  useExisting: forwardRef(() => SelectButtonComponent),
177
177
  multi: true
178
178
  }
179
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (labelKey()) {\n <div class=\"sdc-select-button__label-row\">\n <div class=\"sdc-select-button__group-label\" [id]=\"groupLabelId\">\n <span class=\"sdc-select-button__group-label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n <span class=\"sr-only\">{{ 'platform.datacore.accessibility.required_field' | translate }}</span>\n }\n </span>\n </div>\n </div>\n}\n\n<div\n class=\"select-button\"\n [ngClass]=\"{\n 'select-button--disabled': disabled,\n 'select-button--pills': appearance === 'pills',\n 'select-button--soft': appearance === 'soft'\n }\"\n role=\"radiogroup\"\n [attr.aria-label]=\"labelKey() ? null : ('platform.datacore.accessibility.select_button_group' | translate)\"\n [attr.aria-labelledby]=\"labelKey() ? groupLabelId : null\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n>\n @for (item of items; track item; let i = $index) {\n <button\n type=\"button\"\n class=\"select-button-item\"\n [ngClass]=\"{\n 'select-button-item--active': isActive(item),\n 'select-button-item--disabled': disabled || item.disabled,\n 'select-button-item--first': i === 0,\n 'select-button-item--last': i === items.length - 1\n }\"\n [attr.aria-pressed]=\"isActive(item)\"\n [attr.aria-label]=\"((item.label || '') | translate) + ', ' + ((getItemStateAriaLabelKey(item)) | translate)\"\n [disabled]=\"disabled || item.disabled\"\n (click)=\"onItemSelect(item)\"\n (keydown)=\"onKeyboardActivate($event, item)\"\n >\n @if (item.iconClass) {\n <i class=\"select-button-item__icon\" [ngClass]=\"item.iconClass\" aria-hidden=\"true\"></i>\n }\n <span class=\"select-button-item__label\" aria-hidden=\"true\">{{ (item.label || '') | translate }}</span>\n </button>\n }\n</div>\n\n@if (messageKey()) {\n <small class=\"sdc-select-button__message\" [class.invalid]=\"invalid\" role=\"alert\" aria-live=\"polite\">\n {{ messageKey() | translate }}\n </small>\n}\n", styles: [":host{display:block}.sdc-select-button__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap);margin-bottom:var(--sdc-form-label-row-mb)}.sdc-select-button__group-label{display:inline-flex;align-items:center;font-size:var(--sdc-form-label-font-size);font-weight:var(--sdc-form-label-font-weight);color:var(--sdc-form-label-color);line-height:var(--sdc-form-label-lh);padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py)}.sdc-select-button__group-label-text{display:inline-flex;align-items:center}.sdc-select-button__message{display:block;margin-top:var(--sdc-form-label-row-mb);font-size:.8125rem;color:var(--sdc-text-subtle, #667085)}.sdc-select-button__message.invalid{color:var(--sdc-form-required-color)}.select-button{display:inline-flex;align-items:stretch}.select-button--disabled{pointer-events:none;opacity:.6}.select-button--pills{gap:.2rem}.select-button-item{display:inline-flex;align-items:center;gap:.4rem;padding:8px 12px;min-width:44px;min-height:44px;cursor:pointer;background-color:#fff;border:none;border-top:1px solid #c1c1cc;border-bottom:1px solid #c1c1cc;border-left:1px solid #c1c1cc}.select-button-item__icon{font-size:.8rem;flex-shrink:0}.select-button-item__label{font-family:Open Sans,sans-serif;font-size:14px}.select-button-item--active{background-color:#c1c1cc;font-weight:700}.select-button-item--disabled{opacity:.5;cursor:default}.select-button-item--first{border-top-left-radius:2px;border-bottom-left-radius:2px}.select-button-item--last{border-right:1px solid #c1c1cc;border-top-right-radius:2px;border-bottom-right-radius:2px}.select-button-item--active:hover{background-color:#c1c1cc}.select-button-item:focus-visible{outline:2px solid var(--sdc-primary-color, #007bff);outline-offset:-2px;box-shadow:0 0 0 3px #007bff40;z-index:1}.select-button--pills .select-button-item{border:1px solid transparent;border-radius:6px;background:transparent;padding:5px 12px;min-height:30px;color:var(--sdc-text-muted, #6b7280);font-size:13px;font-weight:400}.select-button--pills .select-button-item--first{border-top-left-radius:6px;border-bottom-left-radius:6px}.select-button--pills .select-button-item--last{border-right:1px solid transparent;border-top-right-radius:6px;border-bottom-right-radius:6px}.select-button--pills .select-button-item--active{background:#428bca1f;border-color:transparent;color:var(--sdc-formfield-focus-color, #428bca);font-weight:600}.select-button--soft .select-button-item{padding:4px 10px;min-height:32px;border-color:#dedce5;background-color:#fafafa;font-size:13px}.select-button--soft .select-button-item--last{border-right:1px solid #dedce5}.select-button--soft .select-button-item--active{background-color:var(--sdc-formfield-focus-color, #428bca);color:#fff;font-weight:600}.select-button-item:not(.select-button-item--disabled):not(.select-button-item--active):hover{background-color:#eeebf2}.select-button--pills .select-button-item:not(.select-button-item--disabled):not(.select-button-item--active):hover{background:#0000000a;border-color:transparent;color:var(--sdc-text-default, #374151)}.select-button--pills .select-button-item--active:hover{background:#428bca29;border-color:transparent}.select-button--soft .select-button-item:not(.select-button-item--disabled):not(.select-button-item--active):hover{background-color:#eeebf2}.select-button--soft .select-button-item--active:hover{background-color:var(--sdc-formfield-focus-color, #428bca)}\n"] }]
179
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (labelKey()) {\n <div class=\"sdc-select-button__label-row\">\n <div class=\"sdc-select-button__group-label\" [id]=\"groupLabelId\">\n <span class=\"sdc-select-button__group-label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n <span class=\"sr-only\">{{ 'platform.datacore.accessibility_required_field' | translate }}</span>\n }\n </span>\n </div>\n </div>\n}\n\n<div\n class=\"select-button\"\n [ngClass]=\"{\n 'select-button--disabled': disabled,\n 'select-button--pills': appearance === 'pills',\n 'select-button--soft': appearance === 'soft'\n }\"\n role=\"radiogroup\"\n [attr.aria-label]=\"labelKey() ? null : ('platform.datacore.accessibility_select_button_group' | translate)\"\n [attr.aria-labelledby]=\"labelKey() ? groupLabelId : null\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n>\n @for (item of items; track item; let i = $index) {\n <button\n type=\"button\"\n class=\"select-button-item\"\n [ngClass]=\"{\n 'select-button-item--active': isActive(item),\n 'select-button-item--disabled': disabled || item.disabled,\n 'select-button-item--first': i === 0,\n 'select-button-item--last': i === items.length - 1\n }\"\n [attr.aria-pressed]=\"isActive(item)\"\n [attr.aria-label]=\"((item.label || '') | translate) + ', ' + ((getItemStateAriaLabelKey(item)) | translate)\"\n [disabled]=\"disabled || item.disabled\"\n (click)=\"onItemSelect(item)\"\n (keydown)=\"onKeyboardActivate($event, item)\"\n >\n @if (item.iconClass) {\n <i class=\"select-button-item__icon\" [ngClass]=\"item.iconClass\" aria-hidden=\"true\"></i>\n }\n <span class=\"select-button-item__label\" aria-hidden=\"true\">{{ (item.label || '') | translate }}</span>\n </button>\n }\n</div>\n\n@if (messageKey()) {\n <small class=\"sdc-select-button__message\" [class.invalid]=\"invalid\" role=\"alert\" aria-live=\"polite\">\n {{ messageKey() | translate }}\n </small>\n}\n", styles: [":host{display:block}.sdc-select-button__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap);margin-bottom:var(--sdc-form-label-row-mb)}.sdc-select-button__group-label{display:inline-flex;align-items:center;font-size:var(--sdc-form-label-font-size);font-weight:var(--sdc-form-label-font-weight);color:var(--sdc-form-label-color);line-height:var(--sdc-form-label-lh);padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py)}.sdc-select-button__group-label-text{display:inline-flex;align-items:center}.sdc-select-button__message{display:block;margin-top:var(--sdc-form-label-row-mb);font-size:.8125rem;color:var(--sdc-text-subtle, #667085)}.sdc-select-button__message.invalid{color:var(--sdc-form-required-color)}.select-button{display:inline-flex;align-items:stretch}.select-button--disabled{pointer-events:none;opacity:.6}.select-button--pills{gap:.2rem}.select-button-item{display:inline-flex;align-items:center;gap:.4rem;padding:8px 12px;min-width:44px;min-height:44px;cursor:pointer;background-color:#fff;border:none;border-top:1px solid #c1c1cc;border-bottom:1px solid #c1c1cc;border-left:1px solid #c1c1cc}.select-button-item__icon{font-size:.8rem;flex-shrink:0}.select-button-item__label{font-family:Open Sans,sans-serif;font-size:14px}.select-button-item--active{background-color:#c1c1cc;font-weight:700}.select-button-item--disabled{opacity:.5;cursor:default}.select-button-item--first{border-top-left-radius:2px;border-bottom-left-radius:2px}.select-button-item--last{border-right:1px solid #c1c1cc;border-top-right-radius:2px;border-bottom-right-radius:2px}.select-button-item--active:hover{background-color:#c1c1cc}.select-button-item:focus-visible{outline:2px solid var(--sdc-primary-color, #007bff);outline-offset:-2px;box-shadow:0 0 0 3px #007bff40;z-index:1}.select-button--pills .select-button-item{border:1px solid transparent;border-radius:6px;background:transparent;padding:5px 12px;min-height:30px;color:var(--sdc-text-muted, #6b7280);font-size:13px;font-weight:400}.select-button--pills .select-button-item--first{border-top-left-radius:6px;border-bottom-left-radius:6px}.select-button--pills .select-button-item--last{border-right:1px solid transparent;border-top-right-radius:6px;border-bottom-right-radius:6px}.select-button--pills .select-button-item--active{background:#428bca1f;border-color:transparent;color:var(--sdc-formfield-focus-color, #428bca);font-weight:600}.select-button--soft .select-button-item{padding:4px 10px;min-height:32px;border-color:#dedce5;background-color:#fafafa;font-size:13px}.select-button--soft .select-button-item--last{border-right:1px solid #dedce5}.select-button--soft .select-button-item--active{background-color:var(--sdc-formfield-focus-color, #428bca);color:#fff;font-weight:600}.select-button-item:not(.select-button-item--disabled):not(.select-button-item--active):hover{background-color:#eeebf2}.select-button--pills .select-button-item:not(.select-button-item--disabled):not(.select-button-item--active):hover{background:#0000000a;border-color:transparent;color:var(--sdc-text-default, #374151)}.select-button--pills .select-button-item--active:hover{background:#428bca29;border-color:transparent}.select-button--soft .select-button-item:not(.select-button-item--disabled):not(.select-button-item--active):hover{background-color:#eeebf2}.select-button--soft .select-button-item--active:hover{background-color:var(--sdc-formfield-focus-color, #428bca)}\n"] }]
180
180
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { items: [{
181
181
  type: Input
182
182
  }], multiple: [{
@@ -200,4 +200,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
200
200
  }], disabled: [{
201
201
  type: Input
202
202
  }] } });
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3NlbGVjdC1idXR0b24vc2VsZWN0LWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3NlbGVjdC1idXR0b24vc2VsZWN0LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sVUFBVSxFQUNWLHVCQUF1QixFQUV4QixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFpQjVELE1BQU0sT0FBTyxxQkFBcUI7SUF1Qkg7SUF0QnBCLEtBQUssR0FBdUIsRUFBRSxDQUFDO0lBQy9CLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsVUFBVSxHQUFpQyxTQUFTLENBQUM7SUFDckQsS0FBSyxHQUFrQixLQUFLLENBQUM7SUFDN0IsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLE9BQU8sR0FBa0IsS0FBSyxDQUFDO0lBRXJCLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBRXJFLFdBQVcsR0FBMEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FDckYsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxD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Q0FBQzt3R0FuTFUscUJBQXFCOzRGQUFyQixxQkFBcUIsbVZBVHJCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFDcEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDBCQzVCSCx3b0VBeURBLGc4R0R0Q1ksWUFBWSw0SEFBRSxlQUFlOzs0RkFZNUIscUJBQXFCO2tCQWZqQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDLGFBRzdCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDOzRCQUNwRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTtzRkFHdEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUlHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0ksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUVFLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIGZvcndhcmRSZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlbGVjdEJ1dHRvbkl0ZW0gfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL3NlbGVjdC1idXR0b24udHlwZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB0eXBlIHsgU3RyaW5nQm9vbGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvc2VtYW50aWNzLnR5cGUnO1xuaW1wb3J0IHsgbmV4dFNlcXVlbnRpYWxJZCB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMvaWQudXRpbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1zZWxlY3QtYnV0dG9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0QnV0dG9uQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIGl0ZW1zOiBTZWxlY3RCdXR0b25JdGVtW10gPSBbXTtcbiAgQElucHV0KCkgbXVsdGlwbGUgPSBmYWxzZTtcbiAgQElucHV0KCkgYXBwZWFyYW5jZTogJ2RlZmF1bHQnIHwgJ3BpbGxzJyB8ICdzb2Z0JyA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgbGFiZWw6IFN0cmluZ0Jvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgaW52YWxpZCA9IGZhbHNlO1xuICBASW5wdXQoKSBtZXNzYWdlOiBTdHJpbmdCb29sZWFuID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGdyb3VwTGFiZWxJZCA9IG5leHRTZXF1ZW50aWFsSWQoJ3NkYy1zZWxlY3QtYnV0dG9uLWxhYmVsJyk7XG5cbiAgQElucHV0KCkgY29tcGFyZVdpdGg6IChhOiBTZWxlY3RCdXR0b25JdGVtLCBiOiBTZWxlY3RCdXR0b25JdGVtKSA9PiBib29sZWFuID0gKGEsIGIpID0+XG4gICAgdGhpcy5oYXNDb21wYXJhYmxlVmFsdWUoYSkgJiYgdGhpcy5oYXNDb21wYXJhYmxlVmFsdWUoYikgPyBPYmplY3QuaXMoYS52YWx1ZSwgYi52YWx1ZSkgOiB0aGlzLl9kZWVwRXF1YWwoYSwgYik7XG5cbiAgQE91dHB1dCgpIGl0ZW1TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0QnV0dG9uSXRlbVtdPigpO1xuICBAT3V0cHV0KCkgaXRlbUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdEJ1dHRvbkl0ZW0+KCk7XG5cbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgYWN0aXZlSXRlbXMgPSBuZXcgU2V0PFNlbGVjdEJ1dHRvbkl0ZW0+KCk7XG5cbiAgcHJpdmF0ZSBvbkNoYW5nZT86ICh2YWx1ZTogU2VsZWN0QnV0dG9uSXRlbVtdKSA9PiB2b2lkO1xuICBwcml2YXRlIG9uVG91Y2hlZD86ICgpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIC8vIENWQVxuICB3cml0ZVZhbHVlKHZhbHVlPzogU2VsZWN0QnV0dG9uSXRlbSB8IFNlbGVjdEJ1dHRvbkl0ZW1bXSB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZUl0ZW1zLmNsZWFyKCk7XG5cbiAgICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgY29uc3QgZW5zdXJlTWF0Y2ggPSAodjogU2VsZWN0QnV0dG9uSXRlbSkgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IGl0IG9mIHRoaXMuaXRlbXMpIHtcbiAgICAgICAgICBpZiAodGhpcy5jb21wYXJlV2l0aCh2LCBpdCkpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlSXRlbXMuYWRkKGl0KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKGVuc3VyZU1hdGNoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVuc3VyZU1hdGNoKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogU2VsZWN0QnV0dG9uSXRlbVtdKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuICBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLy8gVUlcbiAgb25JdGVtU2VsZWN0KGl0ZW06IFNlbGVjdEJ1dHRvbkl0ZW0pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCBpdGVtLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pdGVtQ2xpY2tlZC5lbWl0KGl0ZW0pO1xuXG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIGlmICh0aGlzLmlzQWN0aXZlKGl0ZW0pKSB7XG4gICAgICAgIHRoaXMuX2RlbGV0ZUJ5Q29tcGFyZShpdGVtKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2FkZEJ5UmVmKGl0ZW0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFjdGl2ZUl0ZW1zLmNsZWFyKCk7XG4gICAgICB0aGlzLl9hZGRCeVJlZihpdGVtKTtcbiAgICB9XG5cbiAgICBjb25zdCBhcnIgPSB0aGlzLl9hc0FycmF5KCk7XG4gICAgdGhpcy5pdGVtU2VsZWN0ZWQuZW1pdChhcnIpO1xuICAgIHRoaXMub25DaGFuZ2U/LihhcnIpO1xuICAgIHRoaXMub25Ub3VjaGVkPy4oKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGlzQWN0aXZlKGl0ZW06IFNlbGVjdEJ1dHRvbkl0ZW0pOiBib29sZWFuIHtcbiAgICBmb3IgKGNvbnN0IGl0IG9mIHRoaXMuYWN0aXZlSXRlbXMpIHtcbiAgICAgIGlmICh0aGlzLmNvbXBhcmVXaXRoKGl0ZW0sIGl0KSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdHJhY2tCeUluZGV4ID0gKGk6IG51bWJlcikgPT4gaTtcblxuICBnZXRJdGVtU3RhdGVBcmlhTGFiZWxLZXkoaXRlbTogU2VsZWN0QnV0dG9uSXRlbSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXNBY3RpdmUoaXRlbSlcbiAgICAgID8gJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHkuc2VsZWN0X2J1dHRvbl9pdGVtX3NlbGVjdGVkJ1xuICAgICAgOiAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5zZWxlY3RfYnV0dG9uX2l0ZW1fbm90X3NlbGVjdGVkJztcbiAgfVxuXG4gIG9uS2V5Ym9hcmRBY3RpdmF0ZShldmVudDogS2V5Ym9hcmRFdmVudCwgaXRlbTogU2VsZWN0QnV0dG9uSXRlbSk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnICcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLm9uSXRlbVNlbGVjdChpdGVtKTtcbiAgICB9XG4gIH1cblxuICBsYWJlbEtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0eXBlb2YgdGhpcy5sYWJlbCA9PT0gJ3N0cmluZycgPyB0aGlzLmxhYmVsIDogJyc7XG4gIH1cblxuICBtZXNzYWdlS2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHR5cGVvZiB0aGlzLm1lc3NhZ2UgPT09ICdzdHJpbmcnID8gdGhpcy5tZXNzYWdlIDogJyc7XG4gIH1cblxuICAvLyBoZWxwZXJzXG4gIHByaXZhdGUgX2FkZEJ5UmVmKGl0ZW06IFNlbGVjdEJ1dHRvbkl0ZW0pIHtcbiAgICB0aGlzLmFjdGl2ZUl0ZW1zLmFkZChpdGVtKTtcbiAgfVxuICBwcml2YXRlIF9kZWxldGVCeUNvbXBhcmUoaXRlbTogU2VsZWN0QnV0dG9uSXRlbSkge1xuICAgIGZvciAoY29uc3QgaXQgb2YgQXJyYXkuZnJvbSh0aGlzLmFjdGl2ZUl0ZW1zKSkge1xuICAgICAgaWYgKHRoaXMuY29tcGFyZVdpdGgoaXRlbSwgaXQpKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlSXRlbXMuZGVsZXRlKGl0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHByaXZhdGUgX2FzQXJyYXkoKTogU2VsZWN0QnV0dG9uSXRlbVtdIHtcbiAgICByZXR1cm4gWy4uLnRoaXMuYWN0aXZlSXRlbXNdO1xuICB9XG5cbiAgcHJpdmF0ZSBoYXNDb21wYXJhYmxlVmFsdWUoaXRlbTogU2VsZWN0QnV0dG9uSXRlbSk6IGl0ZW0gaXMgU2VsZWN0QnV0dG9uSXRlbSAmIHsgdmFsdWU6IHVua25vd24gfSB7XG4gICAgcmV0dXJuIE9iamVjdC5oYXNPd24oaXRlbSwgJ3ZhbHVlJyk7XG4gIH1cblxuICBwcml2YXRlIF9kZWVwRXF1YWwoYTogdW5rbm93biwgYjogdW5rbm93bik6IGJvb2xlYW4ge1xuICAgIGlmIChhID09PSBiKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9pc09iamVjdEVxdWFsVHlwZShhLCBiKSB8fCAhdGhpcy5faXNSZWNvcmQoYikpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9pc0FycmF5VHlwZUVxdWFsKGEsIGIpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IGthID0gT2JqZWN0LmtleXMoYSk7XG4gICAgY29uc3Qga2IgPSBPYmplY3Qua2V5cyhiKTtcbiAgICBpZiAoa2EubGVuZ3RoICE9PSBrYi5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2FyZUtleXNEZWVwRXF1YWwoa2EsIGtiLCBhLCBiKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzT2JqZWN0RXF1YWxUeXBlKGE6IHVua25vd24sIGI6IHVua25vd24pOiBhIGlzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgICByZXR1cm4gISFhICYmICEhYiAmJiB0eXBlb2YgYSA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIGIgPT09ICdvYmplY3QnO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNSZWNvcmQodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gICAgcmV0dXJuICEhdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JztcbiAgfVxuXG4gIHByaXZhdGUgX2lzQXJyYXlUeXBlRXF1YWwoYTogdW5rbm93biwgYjogdW5rbm93bik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KGEpID09PSBBcnJheS5pc0FycmF5KGIpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXJlS2V5c0RlZXBFcXVhbChcbiAgICBrYTogc3RyaW5nW10sXG4gICAga2I6IHN0cmluZ1tdLFxuICAgIGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgIGI6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICk6IGJvb2xlYW4ge1xuICAgIGZvciAoY29uc3QgayBvZiBrYSkge1xuICAgICAgaWYgKCFrYi5pbmNsdWRlcyhrKSB8fCAhdGhpcy5fZGVlcEVxdWFsKGFba10sIGJba10pKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiIsIkBpZiAobGFiZWxLZXkoKSkge1xuICA8ZGl2IGNsYXNzPVwic2RjLXNlbGVjdC1idXR0b25fX2xhYmVsLXJvd1wiPlxuICAgIDxkaXYgY2xhc3M9XCJzZGMtc2VsZWN0LWJ1dHRvbl9fZ3JvdXAtbGFiZWxcIiBbaWRdPVwiZ3JvdXBMYWJlbElkXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInNkYy1zZWxlY3QtYnV0dG9uX19ncm91cC1sYWJlbC10ZXh0XCI+XG4gICAgICAgIHt7IGxhYmVsS2V5KCkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgQGlmIChyZXF1aXJlZCkge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVxdWlyZWQtZmllbGRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj4qPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPnt7ICdwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5LnJlcXVpcmVkX2ZpZWxkJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbn1cblxuPGRpdlxuICBjbGFzcz1cInNlbGVjdC1idXR0b25cIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ3NlbGVjdC1idXR0b24tLWRpc2FibGVkJzogZGlzYWJsZWQsXG4gICAgJ3NlbGVjdC1idXR0b24tLXBpbGxzJzogYXBwZWFyYW5jZSA9PT0gJ3BpbGxzJyxcbiAgICAnc2VsZWN0LWJ1dHRvbi0tc29mdCc6IGFwcGVhcmFuY2UgPT09ICdzb2Z0J1xuICB9XCJcbiAgcm9sZT1cInJhZGlvZ3JvdXBcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsS2V5KCkgPyBudWxsIDogKCdwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5LnNlbGVjdF9idXR0b25fZ3JvdXAnIHwgdHJhbnNsYXRlKVwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJsYWJlbEtleSgpID8gZ3JvdXBMYWJlbElkIDogbnVsbFwiXG4gIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImludmFsaWRcIlxuPlxuICBAZm9yIChpdGVtIG9mIGl0ZW1zOyB0cmFjayBpdGVtOyBsZXQgaSA9ICRpbmRleCkge1xuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJzZWxlY3QtYnV0dG9uLWl0ZW1cIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnc2VsZWN0LWJ1dHRvbi1pdGVtLS1hY3RpdmUnOiBpc0FjdGl2ZShpdGVtKSxcbiAgICAgICAgJ3NlbGVjdC1idXR0b24taXRlbS0tZGlzYWJsZWQnOiBkaXNhYmxlZCB8fCBpdGVtLmRpc2FibGVkLFxuICAgICAgICAnc2VsZWN0LWJ1dHRvbi1pdGVtLS1maXJzdCc6IGkgPT09IDAsXG4gICAgICAgICdzZWxlY3QtYnV0dG9uLWl0ZW0tLWxhc3QnOiBpID09PSBpdGVtcy5sZW5ndGggLSAxXG4gICAgICB9XCJcbiAgICAgIFthdHRyLmFyaWEtcHJlc3NlZF09XCJpc0FjdGl2ZShpdGVtKVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIigoaXRlbS5sYWJlbCB8fCAnJykgfCB0cmFuc2xhdGUpICsgJywgJyArICgoZ2V0SXRlbVN0YXRlQXJpYUxhYmVsS2V5KGl0ZW0pKSB8IHRyYW5zbGF0ZSlcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGl0ZW0uZGlzYWJsZWRcIlxuICAgICAgKGNsaWNrKT1cIm9uSXRlbVNlbGVjdChpdGVtKVwiXG4gICAgICAoa2V5ZG93bik9XCJvbktleWJvYXJkQWN0aXZhdGUoJGV2ZW50LCBpdGVtKVwiXG4gICAgPlxuICAgICAgQGlmIChpdGVtLmljb25DbGFzcykge1xuICAgICAgICA8aSBjbGFzcz1cInNlbGVjdC1idXR0b24taXRlbV9faWNvblwiIFtuZ0NsYXNzXT1cIml0ZW0uaWNvbkNsYXNzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgfVxuICAgICAgPHNwYW4gY2xhc3M9XCJzZWxlY3QtYnV0dG9uLWl0ZW1fX2xhYmVsXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+e3sgKGl0ZW0ubGFiZWwgfHwgJycpIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICB9XG48L2Rpdj5cblxuQGlmIChtZXNzYWdlS2V5KCkpIHtcbiAgPHNtYWxsIGNsYXNzPVwic2RjLXNlbGVjdC1idXR0b25fX21lc3NhZ2VcIiBbY2xhc3MuaW52YWxpZF09XCJpbnZhbGlkXCIgcm9sZT1cImFsZXJ0XCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAge3sgbWVzc2FnZUtleSgpIHwgdHJhbnNsYXRlIH19XG4gIDwvc21hbGw+XG59XG4iXX0=
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3NlbGVjdC1idXR0b24vc2VsZWN0LWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3NlbGVjdC1idXR0b24vc2VsZWN0LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sVUFBVSxFQUNWLHVCQUF1QixFQUV4QixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFpQjVELE1BQU0sT0FBTyxxQkFBcUI7SUF1Qkg7SUF0QnBCLEtBQUssR0FBdUIsRUFBRSxDQUFDO0lBQy9CLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsVUFBVSxHQUFpQyxTQUFTLENBQUM7SUFDckQsS0FBSyxHQUFrQixLQUFLLENBQUM7SUFDN0IsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLE9BQU8sR0FBa0IsS0FBSyxDQUFDO0lBRXJCLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBRXJFLFdBQVcsR0FBMEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FDckYsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxD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Q0FBQzt3R0FuTFUscUJBQXFCOzRGQUFyQixxQkFBcUIsbVZBVHJCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFDcEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDBCQzVCSCx3b0VBeURBLGc4R0R0Q1ksWUFBWSw0SEFBRSxlQUFlOzs0RkFZNUIscUJBQXFCO2tCQWZqQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDLGFBRzdCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDOzRCQUNwRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTtzRkFHdEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUlHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0ksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUVFLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIGZvcndhcmRSZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlbGVjdEJ1dHRvbkl0ZW0gfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL3NlbGVjdC1idXR0b24udHlwZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB0eXBlIHsgU3RyaW5nQm9vbGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvc2VtYW50aWNzLnR5cGUnO1xuaW1wb3J0IHsgbmV4dFNlcXVlbnRpYWxJZCB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMvaWQudXRpbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1zZWxlY3QtYnV0dG9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0QnV0dG9uQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIGl0ZW1zOiBTZWxlY3RCdXR0b25JdGVtW10gPSBbXTtcbiAgQElucHV0KCkgbXVsdGlwbGUgPSBmYWxzZTtcbiAgQElucHV0KCkgYXBwZWFyYW5jZTogJ2RlZmF1bHQnIHwgJ3BpbGxzJyB8ICdzb2Z0JyA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgbGFiZWw6IFN0cmluZ0Jvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgaW52YWxpZCA9IGZhbHNlO1xuICBASW5wdXQoKSBtZXNzYWdlOiBTdHJpbmdCb29sZWFuID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGdyb3VwTGFiZWxJZCA9IG5leHRTZXF1ZW50aWFsSWQoJ3NkYy1zZWxlY3QtYnV0dG9uLWxhYmVsJyk7XG5cbiAgQElucHV0KCkgY29tcGFyZVdpdGg6IChhOiBTZWxlY3RCdXR0b25JdGVtLCBiOiBTZWxlY3RCdXR0b25JdGVtKSA9PiBib29sZWFuID0gKGEsIGIpID0+XG4gICAgdGhpcy5oYXNDb21wYXJhYmxlVmFsdWUoYSkgJiYgdGhpcy5oYXNDb21wYXJhYmxlVmFsdWUoYikgPyBPYmplY3QuaXMoYS52YWx1ZSwgYi52YWx1ZSkgOiB0aGlzLl9kZWVwRXF1YWwoYSwgYik7XG5cbiAgQE91dHB1dCgpIGl0ZW1TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0QnV0dG9uSXRlbVtdPigpO1xuICBAT3V0cHV0KCkgaXRlbUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdEJ1dHRvbkl0ZW0+KCk7XG5cbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgYWN0aXZlSXRlbXMgPSBuZXcgU2V0PFNlbGVjdEJ1dHRvbkl0ZW0+KCk7XG5cbiAgcHJpdmF0ZSBvbkNoYW5nZT86ICh2YWx1ZTogU2VsZWN0QnV0dG9uSXRlbVtdKSA9PiB2b2lkO1xuICBwcml2YXRlIG9uVG91Y2hlZD86ICgpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIC8vIENWQVxuICB3cml0ZVZhbHVlKHZhbHVlPzogU2VsZWN0QnV0dG9uSXRlbSB8IFNlbGVjdEJ1dHRvbkl0ZW1bXSB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZUl0ZW1zLmNsZWFyKCk7XG5cbiAgICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgY29uc3QgZW5zdXJlTWF0Y2ggPSAodjogU2VsZWN0QnV0dG9uSXRlbSkgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IGl0IG9mIHRoaXMuaXRlbXMpIHtcbiAgICAgICAgICBpZiAodGhpcy5jb21wYXJlV2l0aCh2LCBpdCkpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlSXRlbXMuYWRkKGl0KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKGVuc3VyZU1hdGNoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVuc3VyZU1hdGNoKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogU2VsZWN0QnV0dG9uSXRlbVtdKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuICBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLy8gVUlcbiAgb25JdGVtU2VsZWN0KGl0ZW06IFNlbGVjdEJ1dHRvbkl0ZW0pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCBpdGVtLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pdGVtQ2xpY2tlZC5lbWl0KGl0ZW0pO1xuXG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIGlmICh0aGlzLmlzQWN0aXZlKGl0ZW0pKSB7XG4gICAgICAgIHRoaXMuX2RlbGV0ZUJ5Q29tcGFyZShpdGVtKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2FkZEJ5UmVmKGl0ZW0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFjdGl2ZUl0ZW1zLmNsZWFyKCk7XG4gICAgICB0aGlzLl9hZGRCeVJlZihpdGVtKTtcbiAgICB9XG5cbiAgICBjb25zdCBhcnIgPSB0aGlzLl9hc0FycmF5KCk7XG4gICAgdGhpcy5pdGVtU2VsZWN0ZWQuZW1pdChhcnIpO1xuICAgIHRoaXMub25DaGFuZ2U/LihhcnIpO1xuICAgIHRoaXMub25Ub3VjaGVkPy4oKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGlzQWN0aXZlKGl0ZW06IFNlbGVjdEJ1dHRvbkl0ZW0pOiBib29sZWFuIHtcbiAgICBmb3IgKGNvbnN0IGl0IG9mIHRoaXMuYWN0aXZlSXRlbXMpIHtcbiAgICAgIGlmICh0aGlzLmNvbXBhcmVXaXRoKGl0ZW0sIGl0KSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdHJhY2tCeUluZGV4ID0gKGk6IG51bWJlcikgPT4gaTtcblxuICBnZXRJdGVtU3RhdGVBcmlhTGFiZWxLZXkoaXRlbTogU2VsZWN0QnV0dG9uSXRlbSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXNBY3RpdmUoaXRlbSlcbiAgICAgID8gJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHlfc2VsZWN0X2J1dHRvbl9pdGVtX3NlbGVjdGVkJ1xuICAgICAgOiAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eV9zZWxlY3RfYnV0dG9uX2l0ZW1fbm90X3NlbGVjdGVkJztcbiAgfVxuXG4gIG9uS2V5Ym9hcmRBY3RpdmF0ZShldmVudDogS2V5Ym9hcmRFdmVudCwgaXRlbTogU2VsZWN0QnV0dG9uSXRlbSk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnICcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLm9uSXRlbVNlbGVjdChpdGVtKTtcbiAgICB9XG4gIH1cblxuICBsYWJlbEtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0eXBlb2YgdGhpcy5sYWJlbCA9PT0gJ3N0cmluZycgPyB0aGlzLmxhYmVsIDogJyc7XG4gIH1cblxuICBtZXNzYWdlS2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHR5cGVvZiB0aGlzLm1lc3NhZ2UgPT09ICdzdHJpbmcnID8gdGhpcy5tZXNzYWdlIDogJyc7XG4gIH1cblxuICAvLyBoZWxwZXJzXG4gIHByaXZhdGUgX2FkZEJ5UmVmKGl0ZW06IFNlbGVjdEJ1dHRvbkl0ZW0pIHtcbiAgICB0aGlzLmFjdGl2ZUl0ZW1zLmFkZChpdGVtKTtcbiAgfVxuICBwcml2YXRlIF9kZWxldGVCeUNvbXBhcmUoaXRlbTogU2VsZWN0QnV0dG9uSXRlbSkge1xuICAgIGZvciAoY29uc3QgaXQgb2YgQXJyYXkuZnJvbSh0aGlzLmFjdGl2ZUl0ZW1zKSkge1xuICAgICAgaWYgKHRoaXMuY29tcGFyZVdpdGgoaXRlbSwgaXQpKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlSXRlbXMuZGVsZXRlKGl0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHByaXZhdGUgX2FzQXJyYXkoKTogU2VsZWN0QnV0dG9uSXRlbVtdIHtcbiAgICByZXR1cm4gWy4uLnRoaXMuYWN0aXZlSXRlbXNdO1xuICB9XG5cbiAgcHJpdmF0ZSBoYXNDb21wYXJhYmxlVmFsdWUoaXRlbTogU2VsZWN0QnV0dG9uSXRlbSk6IGl0ZW0gaXMgU2VsZWN0QnV0dG9uSXRlbSAmIHsgdmFsdWU6IHVua25vd24gfSB7XG4gICAgcmV0dXJuIE9iamVjdC5oYXNPd24oaXRlbSwgJ3ZhbHVlJyk7XG4gIH1cblxuICBwcml2YXRlIF9kZWVwRXF1YWwoYTogdW5rbm93biwgYjogdW5rbm93bik6IGJvb2xlYW4ge1xuICAgIGlmIChhID09PSBiKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9pc09iamVjdEVxdWFsVHlwZShhLCBiKSB8fCAhdGhpcy5faXNSZWNvcmQoYikpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9pc0FycmF5VHlwZUVxdWFsKGEsIGIpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IGthID0gT2JqZWN0LmtleXMoYSk7XG4gICAgY29uc3Qga2IgPSBPYmplY3Qua2V5cyhiKTtcbiAgICBpZiAoa2EubGVuZ3RoICE9PSBrYi5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2FyZUtleXNEZWVwRXF1YWwoa2EsIGtiLCBhLCBiKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzT2JqZWN0RXF1YWxUeXBlKGE6IHVua25vd24sIGI6IHVua25vd24pOiBhIGlzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgICByZXR1cm4gISFhICYmICEhYiAmJiB0eXBlb2YgYSA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIGIgPT09ICdvYmplY3QnO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNSZWNvcmQodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gICAgcmV0dXJuICEhdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JztcbiAgfVxuXG4gIHByaXZhdGUgX2lzQXJyYXlUeXBlRXF1YWwoYTogdW5rbm93biwgYjogdW5rbm93bik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KGEpID09PSBBcnJheS5pc0FycmF5KGIpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXJlS2V5c0RlZXBFcXVhbChcbiAgICBrYTogc3RyaW5nW10sXG4gICAga2I6IHN0cmluZ1tdLFxuICAgIGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgIGI6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICk6IGJvb2xlYW4ge1xuICAgIGZvciAoY29uc3QgayBvZiBrYSkge1xuICAgICAgaWYgKCFrYi5pbmNsdWRlcyhrKSB8fCAhdGhpcy5fZGVlcEVxdWFsKGFba10sIGJba10pKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiIsIkBpZiAobGFiZWxLZXkoKSkge1xuICA8ZGl2IGNsYXNzPVwic2RjLXNlbGVjdC1idXR0b25fX2xhYmVsLXJvd1wiPlxuICAgIDxkaXYgY2xhc3M9XCJzZGMtc2VsZWN0LWJ1dHRvbl9fZ3JvdXAtbGFiZWxcIiBbaWRdPVwiZ3JvdXBMYWJlbElkXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInNkYy1zZWxlY3QtYnV0dG9uX19ncm91cC1sYWJlbC10ZXh0XCI+XG4gICAgICAgIHt7IGxhYmVsS2V5KCkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgQGlmIChyZXF1aXJlZCkge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVxdWlyZWQtZmllbGRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj4qPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPnt7ICdwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5X3JlcXVpcmVkX2ZpZWxkJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbn1cblxuPGRpdlxuICBjbGFzcz1cInNlbGVjdC1idXR0b25cIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ3NlbGVjdC1idXR0b24tLWRpc2FibGVkJzogZGlzYWJsZWQsXG4gICAgJ3NlbGVjdC1idXR0b24tLXBpbGxzJzogYXBwZWFyYW5jZSA9PT0gJ3BpbGxzJyxcbiAgICAnc2VsZWN0LWJ1dHRvbi0tc29mdCc6IGFwcGVhcmFuY2UgPT09ICdzb2Z0J1xuICB9XCJcbiAgcm9sZT1cInJhZGlvZ3JvdXBcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsS2V5KCkgPyBudWxsIDogKCdwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5X3NlbGVjdF9idXR0b25fZ3JvdXAnIHwgdHJhbnNsYXRlKVwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJsYWJlbEtleSgpID8gZ3JvdXBMYWJlbElkIDogbnVsbFwiXG4gIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImludmFsaWRcIlxuPlxuICBAZm9yIChpdGVtIG9mIGl0ZW1zOyB0cmFjayBpdGVtOyBsZXQgaSA9ICRpbmRleCkge1xuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJzZWxlY3QtYnV0dG9uLWl0ZW1cIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnc2VsZWN0LWJ1dHRvbi1pdGVtLS1hY3RpdmUnOiBpc0FjdGl2ZShpdGVtKSxcbiAgICAgICAgJ3NlbGVjdC1idXR0b24taXRlbS0tZGlzYWJsZWQnOiBkaXNhYmxlZCB8fCBpdGVtLmRpc2FibGVkLFxuICAgICAgICAnc2VsZWN0LWJ1dHRvbi1pdGVtLS1maXJzdCc6IGkgPT09IDAsXG4gICAgICAgICdzZWxlY3QtYnV0dG9uLWl0ZW0tLWxhc3QnOiBpID09PSBpdGVtcy5sZW5ndGggLSAxXG4gICAgICB9XCJcbiAgICAgIFthdHRyLmFyaWEtcHJlc3NlZF09XCJpc0FjdGl2ZShpdGVtKVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIigoaXRlbS5sYWJlbCB8fCAnJykgfCB0cmFuc2xhdGUpICsgJywgJyArICgoZ2V0SXRlbVN0YXRlQXJpYUxhYmVsS2V5KGl0ZW0pKSB8IHRyYW5zbGF0ZSlcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGl0ZW0uZGlzYWJsZWRcIlxuICAgICAgKGNsaWNrKT1cIm9uSXRlbVNlbGVjdChpdGVtKVwiXG4gICAgICAoa2V5ZG93bik9XCJvbktleWJvYXJkQWN0aXZhdGUoJGV2ZW50LCBpdGVtKVwiXG4gICAgPlxuICAgICAgQGlmIChpdGVtLmljb25DbGFzcykge1xuICAgICAgICA8aSBjbGFzcz1cInNlbGVjdC1idXR0b24taXRlbV9faWNvblwiIFtuZ0NsYXNzXT1cIml0ZW0uaWNvbkNsYXNzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgfVxuICAgICAgPHNwYW4gY2xhc3M9XCJzZWxlY3QtYnV0dG9uLWl0ZW1fX2xhYmVsXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+e3sgKGl0ZW0ubGFiZWwgfHwgJycpIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICB9XG48L2Rpdj5cblxuQGlmIChtZXNzYWdlS2V5KCkpIHtcbiAgPHNtYWxsIGNsYXNzPVwic2RjLXNlbGVjdC1idXR0b25fX21lc3NhZ2VcIiBbY2xhc3MuaW52YWxpZF09XCJpbnZhbGlkXCIgcm9sZT1cImFsZXJ0XCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAge3sgbWVzc2FnZUtleSgpIHwgdHJhbnNsYXRlIH19XG4gIDwvc21hbGw+XG59XG4iXX0=