@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
@@ -151,10 +151,10 @@ export class SpotlightComponent {
151
151
  }
152
152
  }
153
153
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpotlightComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
154
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SpotlightComponent, isStandalone: true, selector: "sdc-spotlight", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, currentStep: { classPropertyName: "currentStep", publicName: "currentStep", isSignal: true, isRequired: false, transformFunction: null }, totalSteps: { classPropertyName: "totalSteps", publicName: "totalSteps", isSignal: true, isRequired: false, transformFunction: null }, showDoNotShowAgain: { classPropertyName: "showDoNotShowAgain", publicName: "showDoNotShowAgain", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, arrowOffsetPx: { classPropertyName: "arrowOffsetPx", publicName: "arrowOffsetPx", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", next: "next", previous: "previous", understand: "understand" }, ngImport: i0, template: "<div\n class=\"sdc-spotlight\"\n [class.sdc-spotlight--horizontal]=\"isArrowLeft || isArrowRight\"\n [attr.role]=\"totalSteps() > 1 ? 'dialog' : 'tooltip'\"\n [attr.aria-modal]=\"totalSteps() > 1 ? 'true' : null\"\n [attr.aria-labelledby]=\"titleId\"\n [attr.aria-describedby]=\"descId\"\n>\n @if (isArrowTop) {\n <ng-container [ngTemplateOutlet]=\"arrowTopTemplate\"></ng-container>\n }\n @if (isArrowLeft) {\n <ng-container [ngTemplateOutlet]=\"arrowLeftTemplate\"></ng-container>\n }\n\n <div class=\"sdc-spotlight__card\">\n <span\n class=\"sdc-spotlight__sr-only\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n @if (totalSteps() > 1) {\n {{ stepProgressLabelKey | translate: { current: currentStep(), total: totalSteps() } }}\n }\n </span>\n\n <header class=\"sdc-spotlight__header\">\n <h2\n [id]=\"titleId\"\n class=\"sdc-spotlight__title\"\n >\n @if (titleTemplate) {\n <ng-container [ngTemplateOutlet]=\"titleTemplate\"></ng-container>\n } @else {\n {{ titleString }}\n }\n </h2>\n\n <button\n type=\"button\"\n class=\"sdc-spotlight__close\"\n [attr.aria-label]=\"closeLabelKey | translate\"\n (click)=\"onClose()\"\n >\n <i class=\"fas fa-times\"></i>\n </button>\n </header>\n\n @if (content()) {\n <ng-container [ngTemplateOutlet]=\"content()\"></ng-container>\n }\n\n <div class=\"sdc-spotlight__body\">\n <div\n [id]=\"descId\"\n class=\"sdc-spotlight__message\"\n >\n @if (messageTemplate) {\n <ng-container [ngTemplateOutlet]=\"messageTemplate\"></ng-container>\n } @else {\n {{ messageString }}\n }\n </div>\n\n <div class=\"sdc-spotlight__footer\">\n @if (totalSteps() > 1) {\n <p class=\"sdc-spotlight__counter\">\n {{ stepCounterLabelKey | translate: { current: currentStep(), total: totalSteps() } }}\n </p>\n }\n\n @if (totalSteps() === 1 && showDoNotShowAgain()) {\n <sdc-checkbox\n [checked]=\"isDoNotShowAgainChecked()\"\n [label]=\"doNotShowAgainLabelKey\"\n (checkedChange)=\"toggleDoNotShowAgain()\"\n ></sdc-checkbox>\n }\n\n <div class=\"sdc-spotlight__actions\">\n @for (action of actions(); track action.label) {\n <sdc-button\n priority=\"default\"\n size=\"small\"\n [label]=\"action.label\"\n (clicked)=\"action.handler()\"\n ></sdc-button>\n }\n\n @if (totalSteps() > 1 && currentStep() > 1) {\n <sdc-button\n priority=\"default\"\n size=\"small\"\n [label]=\"backLabelKey\"\n (clicked)=\"onPrevious()\"\n ></sdc-button>\n }\n\n <sdc-button\n priority=\"secondary\"\n size=\"small\"\n [label]=\"\n totalSteps() <= 1\n ? understoodLabelKey\n : currentStep() < totalSteps()\n ? nextLabelKey\n : completeLabelKey\n \"\n (clicked)=\"totalSteps() > 1 ? onNext() : onUnderstand()\"\n ></sdc-button>\n </div>\n </div>\n </div>\n </div>\n\n @if (isArrowBottom) {\n <ng-container [ngTemplateOutlet]=\"arrowBottomTemplate\"></ng-container>\n }\n @if (isArrowRight) {\n <ng-container [ngTemplateOutlet]=\"arrowRightTemplate\"></ng-container>\n }\n</div>\n\n<ng-template #arrowTopTemplate>\n <div\n class=\"sdc-spotlight__arrow-row\"\n [style.justify-content]=\"arrowJustifyContent\"\n [ngStyle]=\"arrowPaddingStyle\"\n >\n <svg\n width=\"16\"\n height=\"8\"\n viewBox=\"0 0 16 8\"\n [style.transform]=\"arrowTransform\"\n >\n <path\n d=\"M0 8L8 0L16 8\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n</ng-template>\n\n<ng-template #arrowBottomTemplate>\n <div\n class=\"sdc-spotlight__arrow-row\"\n [style.justify-content]=\"arrowJustifyContent\"\n [ngStyle]=\"arrowPaddingStyle\"\n >\n <svg\n width=\"16\"\n height=\"8\"\n viewBox=\"0 0 16 8\"\n [style.transform]=\"arrowTransform\"\n >\n <path\n d=\"M0 8L8 0L16 8\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n</ng-template>\n\n<ng-template #arrowLeftTemplate>\n <div\n class=\"sdc-spotlight__arrow-column\"\n [style.align-items]=\"arrowAlignItems\"\n [ngStyle]=\"arrowPaddingStyle\"\n >\n <svg\n width=\"16\"\n height=\"8\"\n viewBox=\"0 0 16 8\"\n [style.transform]=\"arrowTransform\"\n >\n <path\n d=\"M0 8L8 0L16 8\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n</ng-template>\n\n<ng-template #arrowRightTemplate>\n <div\n class=\"sdc-spotlight__arrow-column\"\n [style.align-items]=\"arrowAlignItems\"\n [ngStyle]=\"arrowPaddingStyle\"\n >\n <svg\n width=\"16\"\n height=\"8\"\n viewBox=\"0 0 16 8\"\n [style.transform]=\"arrowTransform\"\n >\n <path\n d=\"M0 8L8 0L16 8\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n</ng-template>\n", styles: [".sdc-spotlight{display:flex;flex-direction:column;max-width:21.375rem;color:#212533}.sdc-spotlight--horizontal{flex-direction:row}.sdc-spotlight__card{position:relative;overflow:hidden;border-radius:.25rem;background:#fff;box-shadow:0 3px 5px #0003,0 1px 18px #0000001f,0 6px 10px #00000024}.sdc-spotlight__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem}.sdc-spotlight__title{flex:1;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:700}.sdc-spotlight__close{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border:0;background:transparent;cursor:pointer}.sdc-spotlight__body{display:flex;flex-direction:column;gap:1.25rem;padding:.75rem}.sdc-spotlight__message{white-space:pre-wrap;font-size:.875rem;line-height:1.5}.sdc-spotlight__footer{display:flex;flex-direction:column;gap:.75rem}.sdc-spotlight__counter{margin:0;font-size:.875rem}.sdc-spotlight__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.sdc-spotlight__arrow-row{display:flex;width:100%;height:.5rem;padding:0 .75rem;color:#fff}.sdc-spotlight__arrow-column{display:flex;width:.5rem;align-self:stretch;padding:0;color:#fff}.sdc-spotlight__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { 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: "component", type: CheckboxComponent, selector: "sdc-checkbox", inputs: ["label", "disabled", "commonCheckbox", "labelPosition", "size", "checked"], outputs: ["checkedChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
154
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SpotlightComponent, isStandalone: true, selector: "sdc-spotlight", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, currentStep: { classPropertyName: "currentStep", publicName: "currentStep", isSignal: true, isRequired: false, transformFunction: null }, totalSteps: { classPropertyName: "totalSteps", publicName: "totalSteps", isSignal: true, isRequired: false, transformFunction: null }, showDoNotShowAgain: { classPropertyName: "showDoNotShowAgain", publicName: "showDoNotShowAgain", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, arrowOffsetPx: { classPropertyName: "arrowOffsetPx", publicName: "arrowOffsetPx", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", next: "next", previous: "previous", understand: "understand" }, ngImport: i0, template: "<div\n class=\"sdc-spotlight\"\n [class.sdc-spotlight--horizontal]=\"isArrowLeft || isArrowRight\"\n [attr.role]=\"totalSteps() > 1 ? 'dialog' : 'tooltip'\"\n [attr.aria-modal]=\"totalSteps() > 1 ? 'true' : null\"\n [attr.aria-labelledby]=\"titleId\"\n [attr.aria-describedby]=\"descId\"\n>\n @if (isArrowTop) {\n <ng-container [ngTemplateOutlet]=\"arrowTopTemplate\"></ng-container>\n }\n @if (isArrowLeft) {\n <ng-container [ngTemplateOutlet]=\"arrowLeftTemplate\"></ng-container>\n }\n\n <div class=\"sdc-spotlight__card\">\n <span\n class=\"sdc-spotlight__sr-only\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n @if (totalSteps() > 1) {\n {{ stepProgressLabelKey | translate: { current: currentStep(), total: totalSteps() } }}\n }\n </span>\n\n <header class=\"sdc-spotlight__header\">\n <h2\n [id]=\"titleId\"\n class=\"sdc-spotlight__title\"\n >\n @if (titleTemplate) {\n <ng-container [ngTemplateOutlet]=\"titleTemplate\"></ng-container>\n } @else {\n {{ titleString }}\n }\n </h2>\n\n <button\n type=\"button\"\n class=\"sdc-spotlight__close\"\n [attr.aria-label]=\"closeLabelKey | translate\"\n (click)=\"onClose()\"\n >\n <i class=\"fas fa-times\"></i>\n </button>\n </header>\n\n @if (content()) {\n <ng-container [ngTemplateOutlet]=\"content()\"></ng-container>\n }\n\n <div class=\"sdc-spotlight__body\">\n <div\n [id]=\"descId\"\n class=\"sdc-spotlight__message\"\n >\n @if (messageTemplate) {\n <ng-container [ngTemplateOutlet]=\"messageTemplate\"></ng-container>\n } @else {\n {{ messageString }}\n }\n </div>\n\n <div class=\"sdc-spotlight__footer\">\n @if (totalSteps() > 1) {\n <p class=\"sdc-spotlight__counter\">\n {{ stepCounterLabelKey | translate: { current: currentStep(), total: totalSteps() } }}\n </p>\n }\n\n @if (totalSteps() === 1 && showDoNotShowAgain()) {\n <sdc-checkbox\n [checked]=\"isDoNotShowAgainChecked()\"\n [label]=\"doNotShowAgainLabelKey\"\n (checkedChange)=\"toggleDoNotShowAgain()\"\n ></sdc-checkbox>\n }\n\n <div class=\"sdc-spotlight__actions\">\n @for (action of actions(); track action.label) {\n <sdc-button\n priority=\"default\"\n size=\"small\"\n [label]=\"action.label\"\n (clicked)=\"action.handler()\"\n ></sdc-button>\n }\n\n @if (totalSteps() > 1 && currentStep() > 1) {\n <sdc-button\n priority=\"default\"\n size=\"small\"\n [label]=\"backLabelKey\"\n (clicked)=\"onPrevious()\"\n ></sdc-button>\n }\n\n <sdc-button\n priority=\"secondary\"\n size=\"small\"\n [label]=\"\n totalSteps() <= 1\n ? understoodLabelKey\n : currentStep() < totalSteps()\n ? nextLabelKey\n : completeLabelKey\n \"\n (clicked)=\"totalSteps() > 1 ? onNext() : onUnderstand()\"\n ></sdc-button>\n </div>\n </div>\n </div>\n </div>\n\n @if (isArrowBottom) {\n <ng-container [ngTemplateOutlet]=\"arrowBottomTemplate\"></ng-container>\n }\n @if (isArrowRight) {\n <ng-container [ngTemplateOutlet]=\"arrowRightTemplate\"></ng-container>\n }\n</div>\n\n<ng-template #arrowTopTemplate>\n <div\n class=\"sdc-spotlight__arrow-row\"\n [style.justify-content]=\"arrowJustifyContent\"\n [ngStyle]=\"arrowPaddingStyle\"\n >\n <svg\n width=\"16\"\n height=\"8\"\n viewBox=\"0 0 16 8\"\n [style.transform]=\"arrowTransform\"\n >\n <path\n d=\"M0 8L8 0L16 8\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n</ng-template>\n\n<ng-template #arrowBottomTemplate>\n <div\n class=\"sdc-spotlight__arrow-row\"\n [style.justify-content]=\"arrowJustifyContent\"\n [ngStyle]=\"arrowPaddingStyle\"\n >\n <svg\n width=\"16\"\n height=\"8\"\n viewBox=\"0 0 16 8\"\n [style.transform]=\"arrowTransform\"\n >\n <path\n d=\"M0 8L8 0L16 8\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n</ng-template>\n\n<ng-template #arrowLeftTemplate>\n <div\n class=\"sdc-spotlight__arrow-column\"\n [style.align-items]=\"arrowAlignItems\"\n [ngStyle]=\"arrowPaddingStyle\"\n >\n <svg\n width=\"16\"\n height=\"8\"\n viewBox=\"0 0 16 8\"\n [style.transform]=\"arrowTransform\"\n >\n <path\n d=\"M0 8L8 0L16 8\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n</ng-template>\n\n<ng-template #arrowRightTemplate>\n <div\n class=\"sdc-spotlight__arrow-column\"\n [style.align-items]=\"arrowAlignItems\"\n [ngStyle]=\"arrowPaddingStyle\"\n >\n <svg\n width=\"16\"\n height=\"8\"\n viewBox=\"0 0 16 8\"\n [style.transform]=\"arrowTransform\"\n >\n <path\n d=\"M0 8L8 0L16 8\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n</ng-template>\n", styles: [".sdc-spotlight{display:flex;flex-direction:column;max-width:21.375rem;color:#212533}.sdc-spotlight--horizontal{flex-direction:row}.sdc-spotlight__card{position:relative;overflow:hidden;border-radius:.25rem;background:#fff;box-shadow:0 3px 5px #0003,0 1px 18px #0000001f,0 6px 10px #00000024}.sdc-spotlight__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem}.sdc-spotlight__title{flex:1;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:700}.sdc-spotlight__close{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border:0;background:transparent;cursor:pointer}.sdc-spotlight__body{display:flex;flex-direction:column;gap:1.25rem;padding:.75rem}.sdc-spotlight__message{white-space:pre-wrap;font-size:.875rem;line-height:1.5}.sdc-spotlight__footer{display:flex;flex-direction:column;gap:.75rem}.sdc-spotlight__counter{margin:0;font-size:.875rem}.sdc-spotlight__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.sdc-spotlight__arrow-row{display:flex;width:100%;height:.5rem;padding:0 .75rem;color:#fff}.sdc-spotlight__arrow-column{display:flex;width:.5rem;align-self:stretch;padding:0;color:#fff}.sdc-spotlight__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { 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: "component", type: CheckboxComponent, selector: "sdc-checkbox", inputs: ["label", "disabled", "commonCheckbox", "labelPosition", "size", "checked"], outputs: ["checkedChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
155
155
  }
156
156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpotlightComponent, decorators: [{
157
157
  type: Component,
158
158
  args: [{ selector: 'sdc-spotlight', standalone: true, imports: [CommonModule, TranslateModule, ButtonComponent, CheckboxComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div\n class=\"sdc-spotlight\"\n [class.sdc-spotlight--horizontal]=\"isArrowLeft || isArrowRight\"\n [attr.role]=\"totalSteps() > 1 ? 'dialog' : 'tooltip'\"\n [attr.aria-modal]=\"totalSteps() > 1 ? 'true' : null\"\n [attr.aria-labelledby]=\"titleId\"\n [attr.aria-describedby]=\"descId\"\n>\n @if (isArrowTop) {\n <ng-container [ngTemplateOutlet]=\"arrowTopTemplate\"></ng-container>\n }\n @if (isArrowLeft) {\n <ng-container [ngTemplateOutlet]=\"arrowLeftTemplate\"></ng-container>\n }\n\n <div class=\"sdc-spotlight__card\">\n <span\n class=\"sdc-spotlight__sr-only\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n @if (totalSteps() > 1) {\n {{ stepProgressLabelKey | translate: { current: currentStep(), total: totalSteps() } }}\n }\n </span>\n\n <header class=\"sdc-spotlight__header\">\n <h2\n [id]=\"titleId\"\n class=\"sdc-spotlight__title\"\n >\n @if (titleTemplate) {\n <ng-container [ngTemplateOutlet]=\"titleTemplate\"></ng-container>\n } @else {\n {{ titleString }}\n }\n </h2>\n\n <button\n type=\"button\"\n class=\"sdc-spotlight__close\"\n [attr.aria-label]=\"closeLabelKey | translate\"\n (click)=\"onClose()\"\n >\n <i class=\"fas fa-times\"></i>\n </button>\n </header>\n\n @if (content()) {\n <ng-container [ngTemplateOutlet]=\"content()\"></ng-container>\n }\n\n <div class=\"sdc-spotlight__body\">\n <div\n [id]=\"descId\"\n class=\"sdc-spotlight__message\"\n >\n @if (messageTemplate) {\n <ng-container [ngTemplateOutlet]=\"messageTemplate\"></ng-container>\n } @else {\n {{ messageString }}\n }\n </div>\n\n <div class=\"sdc-spotlight__footer\">\n @if (totalSteps() > 1) {\n <p class=\"sdc-spotlight__counter\">\n {{ stepCounterLabelKey | translate: { current: currentStep(), total: totalSteps() } }}\n </p>\n }\n\n @if (totalSteps() === 1 && showDoNotShowAgain()) {\n <sdc-checkbox\n [checked]=\"isDoNotShowAgainChecked()\"\n [label]=\"doNotShowAgainLabelKey\"\n (checkedChange)=\"toggleDoNotShowAgain()\"\n ></sdc-checkbox>\n }\n\n <div class=\"sdc-spotlight__actions\">\n @for (action of actions(); track action.label) {\n <sdc-button\n priority=\"default\"\n size=\"small\"\n [label]=\"action.label\"\n (clicked)=\"action.handler()\"\n ></sdc-button>\n }\n\n @if (totalSteps() > 1 && currentStep() > 1) {\n <sdc-button\n priority=\"default\"\n size=\"small\"\n [label]=\"backLabelKey\"\n (clicked)=\"onPrevious()\"\n ></sdc-button>\n }\n\n <sdc-button\n priority=\"secondary\"\n size=\"small\"\n [label]=\"\n totalSteps() <= 1\n ? understoodLabelKey\n : currentStep() < totalSteps()\n ? nextLabelKey\n : completeLabelKey\n \"\n (clicked)=\"totalSteps() > 1 ? onNext() : onUnderstand()\"\n ></sdc-button>\n </div>\n </div>\n </div>\n </div>\n\n @if (isArrowBottom) {\n <ng-container [ngTemplateOutlet]=\"arrowBottomTemplate\"></ng-container>\n }\n @if (isArrowRight) {\n <ng-container [ngTemplateOutlet]=\"arrowRightTemplate\"></ng-container>\n }\n</div>\n\n<ng-template #arrowTopTemplate>\n <div\n class=\"sdc-spotlight__arrow-row\"\n [style.justify-content]=\"arrowJustifyContent\"\n [ngStyle]=\"arrowPaddingStyle\"\n >\n <svg\n width=\"16\"\n height=\"8\"\n viewBox=\"0 0 16 8\"\n [style.transform]=\"arrowTransform\"\n >\n <path\n d=\"M0 8L8 0L16 8\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n</ng-template>\n\n<ng-template #arrowBottomTemplate>\n <div\n class=\"sdc-spotlight__arrow-row\"\n [style.justify-content]=\"arrowJustifyContent\"\n [ngStyle]=\"arrowPaddingStyle\"\n >\n <svg\n width=\"16\"\n height=\"8\"\n viewBox=\"0 0 16 8\"\n [style.transform]=\"arrowTransform\"\n >\n <path\n d=\"M0 8L8 0L16 8\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n</ng-template>\n\n<ng-template #arrowLeftTemplate>\n <div\n class=\"sdc-spotlight__arrow-column\"\n [style.align-items]=\"arrowAlignItems\"\n [ngStyle]=\"arrowPaddingStyle\"\n >\n <svg\n width=\"16\"\n height=\"8\"\n viewBox=\"0 0 16 8\"\n [style.transform]=\"arrowTransform\"\n >\n <path\n d=\"M0 8L8 0L16 8\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n</ng-template>\n\n<ng-template #arrowRightTemplate>\n <div\n class=\"sdc-spotlight__arrow-column\"\n [style.align-items]=\"arrowAlignItems\"\n [ngStyle]=\"arrowPaddingStyle\"\n >\n <svg\n width=\"16\"\n height=\"8\"\n viewBox=\"0 0 16 8\"\n [style.transform]=\"arrowTransform\"\n >\n <path\n d=\"M0 8L8 0L16 8\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n</ng-template>\n", styles: [".sdc-spotlight{display:flex;flex-direction:column;max-width:21.375rem;color:#212533}.sdc-spotlight--horizontal{flex-direction:row}.sdc-spotlight__card{position:relative;overflow:hidden;border-radius:.25rem;background:#fff;box-shadow:0 3px 5px #0003,0 1px 18px #0000001f,0 6px 10px #00000024}.sdc-spotlight__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem}.sdc-spotlight__title{flex:1;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:700}.sdc-spotlight__close{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border:0;background:transparent;cursor:pointer}.sdc-spotlight__body{display:flex;flex-direction:column;gap:1.25rem;padding:.75rem}.sdc-spotlight__message{white-space:pre-wrap;font-size:.875rem;line-height:1.5}.sdc-spotlight__footer{display:flex;flex-direction:column;gap:.75rem}.sdc-spotlight__counter{margin:0;font-size:.875rem}.sdc-spotlight__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.sdc-spotlight__arrow-row{display:flex;width:100%;height:.5rem;padding:0 .75rem;color:#fff}.sdc-spotlight__arrow-column{display:flex;width:.5rem;align-self:stretch;padding:0;color:#fff}.sdc-spotlight__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"] }]
159
159
  }] });
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BvdGxpZ2h0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvc3BvdGxpZ2h0L3Nwb3RsaWdodC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3Nwb3RsaWdodC9zcG90bGlnaHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6Qiw0QkFBNEIsRUFDNUIscUNBQXFDLEVBQ3JDLHdCQUF3QixFQUN4QixnQ0FBZ0MsRUFDaEMsaUNBQWlDLEVBQ2pDLDhCQUE4QixFQUMvQixNQUFNLHNDQUFzQyxDQUFDO0FBRTlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQVduRSxNQUFNLE9BQU8sa0JBQWtCO0lBQ3JCLE1BQU0sQ0FBVSwyQkFBMkIsR0FBRyxDQUFDLENBQUM7SUFFeEQsS0FBSyxHQUFHLEtBQUssQ0FBZ0MsRUFBRSxDQUFDLENBQUM7SUFDakQsT0FBTyxHQUFHLEtBQUssRUFBaUMsQ0FBQztJQUNqRCxPQUFPLEdBQUcsS0FBSyxDQUE4QixJQUFJLENBQUMsQ0FBQztJQUNuRCxRQUFRLEdBQUcsS0FBSyxDQUFvQixlQUFlLENBQUMsQ0FBQztJQUNyRCxXQUFXLEdBQUcsS0FBSyxDQUFDLENBQUMs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RSxDQUFDO0lBQ3pCLENBQUM7SUFFUyxvQkFBb0I7UUFDNUIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsU0FBaUI7UUFDNUMsUUFBUSxTQUFTLEVBQUUsQ0FBQztZQUNsQixLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxRQUFRLENBQUM7WUFDbEIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sS0FBSyxDQUFDO1lBQ2YsS0FBSyxNQUFNO2dCQUNULE9BQU8sT0FBTyxDQUFDO1lBQ2pCLEtBQUssT0FBTztnQkFDVixPQUFPLE1BQU0sQ0FBQztZQUNoQjtnQkFDRSxPQUFPLFNBQVMsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQzt3R0E1S1Usa0JBQWtCOzRGQUFsQixrQkFBa0IscTJDQzNCL0IsaXFLQTBNQSwwNkNEckxZLFlBQVksMFJBQUUsZUFBZSw0RkFBRSxlQUFlLHlUQUFFLGlCQUFpQjs7NEZBTWhFLGtCQUFrQjtrQkFUOUIsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLENBQUMsbUJBRzNELHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVGVtcGxhdGVSZWYsIGlucHV0LCBvdXRwdXQsIHNpZ25hbCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQge1xuICBTUE9UTElHSFRfQkFDS19MQUJFTF9LRVksXG4gIFNQT1RMSUdIVF9DTE9TRV9MQUJFTF9LRVksXG4gIFNQT1RMSUdIVF9DT01QTEVURV9MQUJFTF9LRVksXG4gIFNQT1RMSUdIVF9ET19OT1RfU0hPV19BR0FJTl9MQUJFTF9LRVksXG4gIFNQT1RMSUdIVF9ORVhUX0xBQkVMX0tFWSxcbiAgU1BPVExJR0hUX1NURVBfQ09VTlRFUl9MQUJFTF9LRVksXG4gIFNQT1RMSUdIVF9TVEVQX1BST0dSRVNTX0xBQkVMX0tFWSxcbiAgU1BPVExJR0hUX1VOREVSU1RPT0RfTEFCRUxfS0VZXG59IGZyb20gJy4uLy4uL2NvcmUvY29uc3RhbnRzL3Nwb3RsaWdodC5jb25zdCc7XG5pbXBvcnQgdHlwZSB7IFNwb3RsaWdodFBvc2l0aW9uLCBTcG90bGlnaHRTdGVwQWN0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcy9zcG90bGlnaHQudHlwZSc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4uL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1zcG90bGlnaHQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIEJ1dHRvbkNvbXBvbmVudCwgQ2hlY2tib3hDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vc3BvdGxpZ2h0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3BvdGxpZ2h0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZFxufSlcbmV4cG9ydCBjbGFzcyBTcG90bGlnaHRDb21wb25lbnQge1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBTUE9UTElHSFRfRFVQTElDQVRFX0xJVEVSQUwgPSAzO1xuXG4gIHRpdGxlID0gaW5wdXQ8c3RyaW5nIHwgVGVtcGxhdGVSZWY8dW5rbm93bj4+KCcnKTtcbiAgbWVzc2FnZSA9IGlucHV0PHN0cmluZyB8IFRlbXBsYXRlUmVmPHVua25vd24+PigpO1xuICBjb250ZW50ID0gaW5wdXQ8VGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsPihudWxsKTtcbiAgcG9zaXRpb24gPSBpbnB1dDxTcG90bGlnaHRQb3NpdGlvbj4oJ2JvdHRvbS1jZW50ZXInKTtcbiAgY3VycmVudFN0ZXAgPSBpbnB1dCgxKTtcbiAgdG90YWxTdGVwcyA9IGlucHV0KDEpO1xuICBzaG93RG9Ob3RTaG93QWdhaW4gPSBpbnB1dCh0cnVlKTtcbiAgYWN0aW9ucyA9IGlucHV0PFNwb3RsaWdodFN0ZXBBY3Rpb25bXT4oW10pO1xuICBhcnJvd09mZnNldFB4ID0gaW5wdXQ8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG5cbiAgY2xvc2VkID0gb3V0cHV0KCk7XG4gIG5leHQgPSBvdXRwdXQoKTtcbiAgcHJldmlvdXMgPSBvdXRwdXQoKTtcbiAgdW5kZXJzdGFuZCA9IG91dHB1dCgpO1xuXG4gIGlzRG9Ob3RTaG93QWdhaW5DaGVja2VkID0gc2lnbmFsKGZhbHNlKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2xvc2VMYWJlbEtleSA9IFNQT1RMSUdIVF9DTE9TRV9MQUJFTF9LRVk7XG4gIHByb3RlY3RlZCByZWFkb25seSBiYWNrTGFiZWxLZXkgPSBTUE9UTElHSFRfQkFDS19MQUJFTF9LRVk7XG4gIHByb3RlY3RlZCByZWFkb25seSBuZXh0TGFiZWxLZXkgPSBTUE9UTElHSFRfTkVYVF9MQUJFTF9LRVk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb21wbGV0ZUxhYmVsS2V5ID0gU1BPVExJR0hUX0NPTVBMRVRFX0xBQkVMX0tFWTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHVuZGVyc3Rvb2RMYWJlbEtleSA9IFNQT1RMSUdIVF9VTkRFUlNUT09EX0xBQkVMX0tFWTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRvTm90U2hvd0FnYWluTGFiZWxLZXkgPSBTUE9UTElHSFRfRE9fTk9UX1NIT1dfQUdBSU5fTEFCRUxfS0VZO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RlcENvdW50ZXJMYWJlbEtleSA9IFNQT1RMSUdIVF9TVEVQX0NPVU5URVJfTEFCRUxfS0VZO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RlcFByb2dyZXNzTGFiZWxLZXkgPSBTUE9UTElHSFRfU1RFUF9QUk9HUkVTU19MQUJFTF9LRVk7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaW5zdGFuY2VDb3VudCA9IDA7XG4gIHByaXZhdGUgc3RhdGljIGluY3JlbWVudEluc3RhbmNlQ291bnQoKTogbnVtYmVyIHtcbiAgICBTcG90bGlnaHRDb21wb25lbnQuaW5zdGFuY2VDb3VudCArPSAxO1xuICAgIHJldHVybiBTcG90bGlnaHRDb21wb25lbnQuaW5zdGFuY2VDb3VudDtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWFkb25seSBpbnN0YW5jZUlkID0gYHNkYy1zcG90bGlnaHQtJHtTcG90bGlnaHRDb21wb25lbnQuaW5jcmVtZW50SW5zdGFuY2VDb3VudCgpfWA7XG4gIHByb3RlY3RlZCByZWFkb25seSB0aXRsZUlkID0gYCR7dGhpcy5pbnN0YW5jZUlkfS10aXRsZWA7XG4gIHByb3RlY3RlZCByZWFkb25seSBkZXNjSWQgPSBgJHt0aGlzLmluc3RhbmNlSWR9LWRlc2NgO1xuXG4gIHByb3RlY3RlZCBnZXQgdGl0bGVUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy50aXRsZSgpO1xuICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmID8gdmFsdWUgOiBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0aXRsZVN0cmluZygpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy50aXRsZSgpO1xuICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmID8gJycgOiAodmFsdWUgPz8gJycpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBtZXNzYWdlVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMubWVzc2FnZSgpO1xuICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmID8gdmFsdWUgOiBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBtZXNzYWdlU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLm1lc3NhZ2UoKTtcbiAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZiA/ICcnIDogKHZhbHVlID8/ICcnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgYXJyb3dQb3NpdGlvbigpOiBTcG90bGlnaHRQb3NpdGlvbiB7XG4gICAgY29uc3QgW2RpcmVjdGlvbiwgYWxpZ25tZW50XSA9IHRoaXMucG9zaXRpb24oKS5zcGxpdCgnLScpIGFzIFtzdHJpbmcsIHN0cmluZ107XG4gICAgcmV0dXJuIGAke3RoaXMuZ2V0T3Bwb3NpdGVEaXJlY3Rpb24oZGlyZWN0aW9uKX0tJHthbGlnbm1lbnR9YCBhcyBTcG90bGlnaHRQb3NpdGlvbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgaXNBcnJvd1RvcCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hcnJvd1Bvc2l0aW9uLnN0YXJ0c1dpdGgoJ3RvcC0nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgaXNBcnJvd0JvdHRvbSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hcnJvd1Bvc2l0aW9uLnN0YXJ0c1dpdGgoJ2JvdHRvbS0nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgaXNBcnJvd0xlZnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYXJyb3dQb3NpdGlvbi5zdGFydHNXaXRoKCdsZWZ0LScpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBpc0Fycm93UmlnaHQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYXJyb3dQb3NpdGlvbi5zdGFydHNXaXRoKCdyaWdodC0nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgYXJyb3dUcmFuc2Zvcm0oKTogc3RyaW5nIHtcbiAgICBjb25zdCBkaXJlY3Rpb24gPSB0aGlzLmFycm93UG9zaXRpb24uc3BsaXQoJy0nKVswXTtcbiAgICByZXR1cm4gdGhpcy5nZXRBcnJvd1RyYW5zZm9ybUZvckRpcmVjdGlvbihkaXJlY3Rpb24pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBhcnJvd0p1c3RpZnlDb250ZW50KCk6IHN0cmluZyB7XG4gICAgY29uc3Qgb2Zmc2V0ID0gdGhpcy5hcnJvd09mZnNldFB4KCk7XG4gICAgaWYgKG9mZnNldCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuRkxFWF9TVEFSVDtcbiAgICB9XG5cbiAgICBjb25zdCBhbGlnbm1lbnQgPSB0aGlzLmFycm93UG9zaXRpb24uc3BsaXQoJy0nKVsxXTtcbiAgICByZXR1cm4gdGhpcy5nZXRGbGV4UHJvcGVydHlGb3JBbGlnbm1lbnQoYWxpZ25tZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgYXJyb3dBbGlnbkl0ZW1zKCk6IHN0cmluZyB7XG4gICAgY29uc3QgYWxpZ25tZW50ID0gdGhpcy5hcnJvd1Bvc2l0aW9uLnNwbGl0KCctJylbMV07XG4gICAgcmV0dXJuIHRoaXMuZ2V0RmxleFByb3BlcnR5Rm9yQWxpZ25tZW50KGFsaWdubWVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGFycm93UGFkZGluZ1N0eWxlKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuYXJyb3dPZmZzZXRQeCgpO1xuICAgIGlmIChvZmZzZXQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5pc0Fycm93VG9wIHx8IHRoaXMuaXNBcnJvd0JvdHRvbVxuICAgICAgPyB7ICdwYWRkaW5nLWxlZnQnOiBgJHtvZmZzZXR9cHhgIH1cbiAgICAgIDogeyAncGFkZGluZy10b3AnOiBgJHtvZmZzZXR9cHhgIH07XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IEZMRVhfU1RBUlQgPSAnZmxleC1zdGFydCc7XG4gIHByaXZhdGUgcmVhZG9ubHkgRkxFWF9FTkQgPSAnZmxleC1lbmQnO1xuICBwcml2YXRlIHJlYWRvbmx5IEZMRVhfQ0VOVEVSID0gJ2NlbnRlcic7XG5cbiAgcHJpdmF0ZSBnZXRBcnJvd1RyYW5zZm9ybUZvckRpcmVjdGlvbihkaXJlY3Rpb246IHN0cmluZyk6IHN0cmluZyB7XG4gICAgc3dpdGNoIChkaXJlY3Rpb24pIHtcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgIHJldHVybiAncm90YXRlKDE4MGRlZyknO1xuICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgIHJldHVybiAncm90YXRlKC05MGRlZyknO1xuICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICByZXR1cm4gJ3JvdGF0ZSg5MGRlZyknO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdub25lJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEZsZXhQcm9wZXJ0eUZvckFsaWdubWVudChhbGlnbm1lbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgc3dpdGNoIChhbGlnbm1lbnQpIHtcbiAgICAgIGNhc2UgJ3N0YXJ0JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuRkxFWF9TVEFSVDtcbiAgICAgIGNhc2UgJ2VuZCc6XG4gICAgICAgIHJldHVybiB0aGlzLkZMRVhfRU5EO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRoaXMuRkxFWF9DRU5URVI7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZWQuZW1pdCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uTmV4dCgpOiB2b2lkIHtcbiAgICB0aGlzLm5leHQuZW1pdCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uUHJldmlvdXMoKTogdm9pZCB7XG4gICAgdGhpcy5wcmV2aW91cy5lbWl0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25VbmRlcnN0YW5kKCk6IHZvaWQge1xuICAgIHRoaXMudW5kZXJzdGFuZC5lbWl0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdG9nZ2xlRG9Ob3RTaG93QWdhaW4oKTogdm9pZCB7XG4gICAgdGhpcy5pc0RvTm90U2hvd0FnYWluQ2hlY2tlZC51cGRhdGUoKGNoZWNrZWQpID0+ICFjaGVja2VkKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3Bwb3NpdGVEaXJlY3Rpb24oZGlyZWN0aW9uOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XG4gICAgICBjYXNlICd0b3AnOlxuICAgICAgICByZXR1cm4gJ2JvdHRvbSc7XG4gICAgICBjYXNlICdib3R0b20nOlxuICAgICAgICByZXR1cm4gJ3RvcCc7XG4gICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgcmV0dXJuICdyaWdodCc7XG4gICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgIHJldHVybiAnbGVmdCc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZGlyZWN0aW9uO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNkYy1zcG90bGlnaHRcIlxuICBbY2xhc3Muc2RjLXNwb3RsaWdodC0taG9yaXpvbnRhbF09XCJpc0Fycm93TGVmdCB8fCBpc0Fycm93UmlnaHRcIlxuICBbYXR0ci5yb2xlXT1cInRvdGFsU3RlcHMoKSA+IDEgPyAnZGlhbG9nJyA6ICd0b29sdGlwJ1wiXG4gIFthdHRyLmFyaWEtbW9kYWxdPVwidG90YWxTdGVwcygpID4gMSA/ICd0cnVlJyA6IG51bGxcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwidGl0bGVJZFwiXG4gIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiZGVzY0lkXCJcbj5cbiAgQGlmIChpc0Fycm93VG9wKSB7XG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYXJyb3dUb3BUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICB9XG4gIEBpZiAoaXNBcnJvd0xlZnQpIHtcbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJhcnJvd0xlZnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICB9XG5cbiAgPGRpdiBjbGFzcz1cInNkYy1zcG90bGlnaHRfX2NhcmRcIj5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJzZGMtc3BvdGxpZ2h0X19zci1vbmx5XCJcbiAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICBhcmlhLWF0b21pYz1cInRydWVcIlxuICAgID5cbiAgICAgIEBpZiAodG90YWxTdGVwcygpID4gMSkge1xuICAgICAge3sgc3RlcFByb2dyZXNzTGFiZWxLZXkgfCB0cmFuc2xhdGU6IHsgY3VycmVudDogY3VycmVudFN0ZXAoKSwgdG90YWw6IHRvdGFsU3RlcHMoKSB9IH19XG4gICAgICB9XG4gICAgPC9zcGFuPlxuXG4gICAgPGhlYWRlciBjbGFzcz1cInNkYy1zcG90bGlnaHRfX2hlYWRlclwiPlxuICAgICAgPGgyXG4gICAgICAgIFtpZF09XCJ0aXRsZUlkXCJcbiAgICAgICAgY2xhc3M9XCJzZGMtc3BvdGxpZ2h0X190aXRsZVwiXG4gICAgICA+XG4gICAgICAgIEBpZiAodGl0bGVUZW1wbGF0ZSkge1xuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRpdGxlVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHt7IHRpdGxlU3RyaW5nIH19XG4gICAgICAgIH1cbiAgICAgIDwvaDI+XG5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwic2RjLXNwb3RsaWdodF9fY2xvc2VcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNsb3NlTGFiZWxLZXkgfCB0cmFuc2xhdGVcIlxuICAgICAgICAoY2xpY2spPVwib25DbG9zZSgpXCJcbiAgICAgID5cbiAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtdGltZXNcIj48L2k+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2hlYWRlcj5cblxuICAgIEBpZiAoY29udGVudCgpKSB7XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50KClcIj48L25nLWNvbnRhaW5lcj5cbiAgICB9XG5cbiAgICA8ZGl2IGNsYXNzPVwic2RjLXNwb3RsaWdodF9fYm9keVwiPlxuICAgICAgPGRpdlxuICAgICAgICBbaWRdPVwiZGVzY0lkXCJcbiAgICAgICAgY2xhc3M9XCJzZGMtc3BvdGxpZ2h0X19tZXNzYWdlXCJcbiAgICAgID5cbiAgICAgICAgQGlmIChtZXNzYWdlVGVtcGxhdGUpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJtZXNzYWdlVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHt7IG1lc3NhZ2VTdHJpbmcgfX1cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZGMtc3BvdGxpZ2h0X19mb290ZXJcIj5cbiAgICAgICAgQGlmICh0b3RhbFN0ZXBzKCkgPiAxKSB7XG4gICAgICAgIDxwIGNsYXNzPVwic2RjLXNwb3RsaWdodF9fY291bnRlclwiPlxuICAgICAgICAgIHt7IHN0ZXBDb3VudGVyTGFiZWxLZXkgfCB0cmFuc2xhdGU6IHsgY3VycmVudDogY3VycmVudFN0ZXAoKSwgdG90YWw6IHRvdGFsU3RlcHMoKSB9IH19XG4gICAgICAgIDwvcD5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAodG90YWxTdGVwcygpID09PSAxICYmIHNob3dEb05vdFNob3dBZ2FpbigpKSB7XG4gICAgICAgIDxzZGMtY2hlY2tib3hcbiAgICAgICAgICBbY2hlY2tlZF09XCJpc0RvTm90U2hvd0FnYWluQ2hlY2tlZCgpXCJcbiAgICAgICAgICBbbGFiZWxdPVwiZG9Ob3RTaG93QWdhaW5MYWJlbEtleVwiXG4gICAgICAgICAgKGNoZWNrZWRDaGFuZ2UpPVwidG9nZ2xlRG9Ob3RTaG93QWdhaW4oKVwiXG4gICAgICAgID48L3NkYy1jaGVja2JveD5cbiAgICAgICAgfVxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZGMtc3BvdGxpZ2h0X19hY3Rpb25zXCI+XG4gICAgICAgICAgQGZvciAoYWN0aW9uIG9mIGFjdGlvbnMoKTsgdHJhY2sgYWN0aW9uLmxhYmVsKSB7XG4gICAgICAgICAgPHNkYy1idXR0b25cbiAgICAgICAgICAgIHByaW9yaXR5PVwiZGVmYXVsdFwiXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgW2xhYmVsXT1cImFjdGlvbi5sYWJlbFwiXG4gICAgICAgICAgICAoY2xpY2tlZCk9XCJhY3Rpb24uaGFuZGxlcigpXCJcbiAgICAgICAgICA+PC9zZGMtYnV0dG9uPlxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAodG90YWxTdGVwcygpID4gMSAmJiBjdXJyZW50U3RlcCgpID4gMSkge1xuICAgICAgICAgIDxzZGMtYnV0dG9uXG4gICAgICAgICAgICBwcmlvcml0eT1cImRlZmF1bHRcIlxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJiYWNrTGFiZWxLZXlcIlxuICAgICAgICAgICAgKGNsaWNrZWQpPVwib25QcmV2aW91cygpXCJcbiAgICAgICAgICA+PC9zZGMtYnV0dG9uPlxuICAgICAgICAgIH1cblxuICAgICAgICAgIDxzZGMtYnV0dG9uXG4gICAgICAgICAgICBwcmlvcml0eT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIlxuICAgICAgICAgICAgICB0b3RhbFN0ZXBzKCkgPD0gMVxuICAgICAgICAgICAgICAgID8gdW5kZXJzdG9vZExhYmVsS2V5XG4gICAgICAgICAgICAgICAgOiBjdXJyZW50U3RlcCgpIDwgdG90YWxTdGVwcygpXG4gICAgICAgICAgICAgICAgICA/IG5leHRMYWJlbEtleVxuICAgICAgICAgICAgICAgICAgOiBjb21wbGV0ZUxhYmVsS2V5XG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgKGNsaWNrZWQpPVwidG90YWxTdGVwcygpID4gMSA/IG9uTmV4dCgpIDogb25VbmRlcnN0YW5kKClcIlxuICAgICAgICAgID48L3NkYy1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIEBpZiAoaXNBcnJvd0JvdHRvbSkge1xuICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFycm93Qm90dG9tVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgfVxuICBAaWYgKGlzQXJyb3dSaWdodCkge1xuICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFycm93UmlnaHRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICB9XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNhcnJvd1RvcFRlbXBsYXRlPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJzZGMtc3BvdGxpZ2h0X19hcnJvdy1yb3dcIlxuICAgIFtzdHlsZS5qdXN0aWZ5LWNvbnRlbnRdPVwiYXJyb3dKdXN0aWZ5Q29udGVudFwiXG4gICAgW25nU3R5bGVdPVwiYXJyb3dQYWRkaW5nU3R5bGVcIlxuICA+XG4gICAgPHN2Z1xuICAgICAgd2lkdGg9XCIxNlwiXG4gICAgICBoZWlnaHQ9XCI4XCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMTYgOFwiXG4gICAgICBbc3R5bGUudHJhbnNmb3JtXT1cImFycm93VHJhbnNmb3JtXCJcbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTAgOEw4IDBMMTYgOFwiXG4gICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Fycm93Qm90dG9tVGVtcGxhdGU+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNkYy1zcG90bGlnaHRfX2Fycm93LXJvd1wiXG4gICAgW3N0eWxlLmp1c3RpZnktY29udGVudF09XCJhcnJvd0p1c3RpZnlDb250ZW50XCJcbiAgICBbbmdTdHlsZV09XCJhcnJvd1BhZGRpbmdTdHlsZVwiXG4gID5cbiAgICA8c3ZnXG4gICAgICB3aWR0aD1cIjE2XCJcbiAgICAgIGhlaWdodD1cIjhcIlxuICAgICAgdmlld0JveD1cIjAgMCAxNiA4XCJcbiAgICAgIFtzdHlsZS50cmFuc2Zvcm1dPVwiYXJyb3dUcmFuc2Zvcm1cIlxuICAgID5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMCA4TDggMEwxNiA4XCJcbiAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYXJyb3dMZWZ0VGVtcGxhdGU+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNkYy1zcG90bGlnaHRfX2Fycm93LWNvbHVtblwiXG4gICAgW3N0eWxlLmFsaWduLWl0ZW1zXT1cImFycm93QWxpZ25JdGVtc1wiXG4gICAgW25nU3R5bGVdPVwiYXJyb3dQYWRkaW5nU3R5bGVcIlxuICA+XG4gICAgPHN2Z1xuICAgICAgd2lkdGg9XCIxNlwiXG4gICAgICBoZWlnaHQ9XCI4XCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMTYgOFwiXG4gICAgICBbc3R5bGUudHJhbnNmb3JtXT1cImFycm93VHJhbnNmb3JtXCJcbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTAgOEw4IDBMMTYgOFwiXG4gICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Fycm93UmlnaHRUZW1wbGF0ZT5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2RjLXNwb3RsaWdodF9fYXJyb3ctY29sdW1uXCJcbiAgICBbc3R5bGUuYWxpZ24taXRlbXNdPVwiYXJyb3dBbGlnbkl0ZW1zXCJcbiAgICBbbmdTdHlsZV09XCJhcnJvd1BhZGRpbmdTdHlsZVwiXG4gID5cbiAgICA8c3ZnXG4gICAgICB3aWR0aD1cIjE2XCJcbiAgICAgIGhlaWdodD1cIjhcIlxuICAgICAgdmlld0JveD1cIjAgMCAxNiA4XCJcbiAgICAgIFtzdHlsZS50cmFuc2Zvcm1dPVwiYXJyb3dUcmFuc2Zvcm1cIlxuICAgID5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMCA4TDggMEwxNiA4XCJcbiAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BvdGxpZ2h0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvc3BvdGxpZ2h0L3Nwb3RsaWdodC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3Nwb3RsaWdodC9zcG90bGlnaHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6Qiw0QkFBNEIsRUFDNUIscUNBQXFDLEVBQ3JDLHdCQUF3QixFQUN4QixnQ0FBZ0MsRUFDaEMsaUNBQWlDLEVBQ2pDLDhCQUE4QixFQUMvQixNQUFNLHNDQUFzQyxDQUFDO0FBRTlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQVduRSxNQUFNLE9BQU8sa0JBQWtCO0lBQ3JCLE1BQU0sQ0FBVSwyQkFBMkIsR0FBRyxDQUFDLENBQUM7SUFFeEQsS0FBSyxHQUFHLEtBQUssQ0FBZ0MsRUFBRSxDQUFDLENBQUM7SUFDakQsT0FBTyxHQUFHLEtBQUssRUFBaUMsQ0FBQztJQUNqRCxPQUFPLEdBQUcsS0FBSyxDQUE4QixJQUFJLENBQUMsQ0FBQztJQUNuRCxRQUFRLEdBQUcsS0FBSyxDQUFvQixlQUFlLENBQUMsQ0FBQztJQUNyRCxXQUFXLEdBQUcsS0FBSyxDQUFDLENBQUMs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RSxDQUFDO0lBQ3pCLENBQUM7SUFFUyxvQkFBb0I7UUFDNUIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsU0FBaUI7UUFDNUMsUUFBUSxTQUFTLEVBQUUsQ0FBQztZQUNsQixLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxRQUFRLENBQUM7WUFDbEIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sS0FBSyxDQUFDO1lBQ2YsS0FBSyxNQUFNO2dCQUNULE9BQU8sT0FBTyxDQUFDO1lBQ2pCLEtBQUssT0FBTztnQkFDVixPQUFPLE1BQU0sQ0FBQztZQUNoQjtnQkFDRSxPQUFPLFNBQVMsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQzt3R0E1S1Usa0JBQWtCOzRGQUFsQixrQkFBa0IscTJDQzNCL0IsaXFLQTBNQSwwNkNEckxZLFlBQVksMFJBQUUsZUFBZSw0RkFBRSxlQUFlLG9VQUFFLGlCQUFpQjs7NEZBTWhFLGtCQUFrQjtrQkFUOUIsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLENBQUMsbUJBRzNELHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVGVtcGxhdGVSZWYsIGlucHV0LCBvdXRwdXQsIHNpZ25hbCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQge1xuICBTUE9UTElHSFRfQkFDS19MQUJFTF9LRVksXG4gIFNQT1RMSUdIVF9DTE9TRV9MQUJFTF9LRVksXG4gIFNQT1RMSUdIVF9DT01QTEVURV9MQUJFTF9LRVksXG4gIFNQT1RMSUdIVF9ET19OT1RfU0hPV19BR0FJTl9MQUJFTF9LRVksXG4gIFNQT1RMSUdIVF9ORVhUX0xBQkVMX0tFWSxcbiAgU1BPVExJR0hUX1NURVBfQ09VTlRFUl9MQUJFTF9LRVksXG4gIFNQT1RMSUdIVF9TVEVQX1BST0dSRVNTX0xBQkVMX0tFWSxcbiAgU1BPVExJR0hUX1VOREVSU1RPT0RfTEFCRUxfS0VZXG59IGZyb20gJy4uLy4uL2NvcmUvY29uc3RhbnRzL3Nwb3RsaWdodC5jb25zdCc7XG5pbXBvcnQgdHlwZSB7IFNwb3RsaWdodFBvc2l0aW9uLCBTcG90bGlnaHRTdGVwQWN0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcy9zcG90bGlnaHQudHlwZSc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4uL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1zcG90bGlnaHQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIEJ1dHRvbkNvbXBvbmVudCwgQ2hlY2tib3hDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vc3BvdGxpZ2h0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3BvdGxpZ2h0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZFxufSlcbmV4cG9ydCBjbGFzcyBTcG90bGlnaHRDb21wb25lbnQge1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBTUE9UTElHSFRfRFVQTElDQVRFX0xJVEVSQUwgPSAzO1xuXG4gIHRpdGxlID0gaW5wdXQ8c3RyaW5nIHwgVGVtcGxhdGVSZWY8dW5rbm93bj4+KCcnKTtcbiAgbWVzc2FnZSA9IGlucHV0PHN0cmluZyB8IFRlbXBsYXRlUmVmPHVua25vd24+PigpO1xuICBjb250ZW50ID0gaW5wdXQ8VGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsPihudWxsKTtcbiAgcG9zaXRpb24gPSBpbnB1dDxTcG90bGlnaHRQb3NpdGlvbj4oJ2JvdHRvbS1jZW50ZXInKTtcbiAgY3VycmVudFN0ZXAgPSBpbnB1dCgxKTtcbiAgdG90YWxTdGVwcyA9IGlucHV0KDEpO1xuICBzaG93RG9Ob3RTaG93QWdhaW4gPSBpbnB1dCh0cnVlKTtcbiAgYWN0aW9ucyA9IGlucHV0PFNwb3RsaWdodFN0ZXBBY3Rpb25bXT4oW10pO1xuICBhcnJvd09mZnNldFB4ID0gaW5wdXQ8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG5cbiAgY2xvc2VkID0gb3V0cHV0KCk7XG4gIG5leHQgPSBvdXRwdXQoKTtcbiAgcHJldmlvdXMgPSBvdXRwdXQoKTtcbiAgdW5kZXJzdGFuZCA9IG91dHB1dCgpO1xuXG4gIGlzRG9Ob3RTaG93QWdhaW5DaGVja2VkID0gc2lnbmFsKGZhbHNlKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2xvc2VMYWJlbEtleSA9IFNQT1RMSUdIVF9DTE9TRV9MQUJFTF9LRVk7XG4gIHByb3RlY3RlZCByZWFkb25seSBiYWNrTGFiZWxLZXkgPSBTUE9UTElHSFRfQkFDS19MQUJFTF9LRVk7XG4gIHByb3RlY3RlZCByZWFkb25seSBuZXh0TGFiZWxLZXkgPSBTUE9UTElHSFRfTkVYVF9MQUJFTF9LRVk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb21wbGV0ZUxhYmVsS2V5ID0gU1BPVExJR0hUX0NPTVBMRVRFX0xBQkVMX0tFWTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHVuZGVyc3Rvb2RMYWJlbEtleSA9IFNQT1RMSUdIVF9VTkRFUlNUT09EX0xBQkVMX0tFWTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRvTm90U2hvd0FnYWluTGFiZWxLZXkgPSBTUE9UTElHSFRfRE9fTk9UX1NIT1dfQUdBSU5fTEFCRUxfS0VZO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RlcENvdW50ZXJMYWJlbEtleSA9IFNQT1RMSUdIVF9TVEVQX0NPVU5URVJfTEFCRUxfS0VZO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RlcFByb2dyZXNzTGFiZWxLZXkgPSBTUE9UTElHSFRfU1RFUF9QUk9HUkVTU19MQUJFTF9LRVk7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaW5zdGFuY2VDb3VudCA9IDA7XG4gIHByaXZhdGUgc3RhdGljIGluY3JlbWVudEluc3RhbmNlQ291bnQoKTogbnVtYmVyIHtcbiAgICBTcG90bGlnaHRDb21wb25lbnQuaW5zdGFuY2VDb3VudCArPSAxO1xuICAgIHJldHVybiBTcG90bGlnaHRDb21wb25lbnQuaW5zdGFuY2VDb3VudDtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWFkb25seSBpbnN0YW5jZUlkID0gYHNkYy1zcG90bGlnaHQtJHtTcG90bGlnaHRDb21wb25lbnQuaW5jcmVtZW50SW5zdGFuY2VDb3VudCgpfWA7XG4gIHByb3RlY3RlZCByZWFkb25seSB0aXRsZUlkID0gYCR7dGhpcy5pbnN0YW5jZUlkfS10aXRsZWA7XG4gIHByb3RlY3RlZCByZWFkb25seSBkZXNjSWQgPSBgJHt0aGlzLmluc3RhbmNlSWR9LWRlc2NgO1xuXG4gIHByb3RlY3RlZCBnZXQgdGl0bGVUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy50aXRsZSgpO1xuICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmID8gdmFsdWUgOiBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0aXRsZVN0cmluZygpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy50aXRsZSgpO1xuICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmID8gJycgOiAodmFsdWUgPz8gJycpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBtZXNzYWdlVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMubWVzc2FnZSgpO1xuICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmID8gdmFsdWUgOiBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBtZXNzYWdlU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLm1lc3NhZ2UoKTtcbiAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZiA/ICcnIDogKHZhbHVlID8/ICcnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgYXJyb3dQb3NpdGlvbigpOiBTcG90bGlnaHRQb3NpdGlvbiB7XG4gICAgY29uc3QgW2RpcmVjdGlvbiwgYWxpZ25tZW50XSA9IHRoaXMucG9zaXRpb24oKS5zcGxpdCgnLScpIGFzIFtzdHJpbmcsIHN0cmluZ107XG4gICAgcmV0dXJuIGAke3RoaXMuZ2V0T3Bwb3NpdGVEaXJlY3Rpb24oZGlyZWN0aW9uKX0tJHthbGlnbm1lbnR9YCBhcyBTcG90bGlnaHRQb3NpdGlvbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgaXNBcnJvd1RvcCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hcnJvd1Bvc2l0aW9uLnN0YXJ0c1dpdGgoJ3RvcC0nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgaXNBcnJvd0JvdHRvbSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hcnJvd1Bvc2l0aW9uLnN0YXJ0c1dpdGgoJ2JvdHRvbS0nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgaXNBcnJvd0xlZnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYXJyb3dQb3NpdGlvbi5zdGFydHNXaXRoKCdsZWZ0LScpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBpc0Fycm93UmlnaHQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYXJyb3dQb3NpdGlvbi5zdGFydHNXaXRoKCdyaWdodC0nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgYXJyb3dUcmFuc2Zvcm0oKTogc3RyaW5nIHtcbiAgICBjb25zdCBkaXJlY3Rpb24gPSB0aGlzLmFycm93UG9zaXRpb24uc3BsaXQoJy0nKVswXTtcbiAgICByZXR1cm4gdGhpcy5nZXRBcnJvd1RyYW5zZm9ybUZvckRpcmVjdGlvbihkaXJlY3Rpb24pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBhcnJvd0p1c3RpZnlDb250ZW50KCk6IHN0cmluZyB7XG4gICAgY29uc3Qgb2Zmc2V0ID0gdGhpcy5hcnJvd09mZnNldFB4KCk7XG4gICAgaWYgKG9mZnNldCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuRkxFWF9TVEFSVDtcbiAgICB9XG5cbiAgICBjb25zdCBhbGlnbm1lbnQgPSB0aGlzLmFycm93UG9zaXRpb24uc3BsaXQoJy0nKVsxXTtcbiAgICByZXR1cm4gdGhpcy5nZXRGbGV4UHJvcGVydHlGb3JBbGlnbm1lbnQoYWxpZ25tZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgYXJyb3dBbGlnbkl0ZW1zKCk6IHN0cmluZyB7XG4gICAgY29uc3QgYWxpZ25tZW50ID0gdGhpcy5hcnJvd1Bvc2l0aW9uLnNwbGl0KCctJylbMV07XG4gICAgcmV0dXJuIHRoaXMuZ2V0RmxleFByb3BlcnR5Rm9yQWxpZ25tZW50KGFsaWdubWVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGFycm93UGFkZGluZ1N0eWxlKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuYXJyb3dPZmZzZXRQeCgpO1xuICAgIGlmIChvZmZzZXQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5pc0Fycm93VG9wIHx8IHRoaXMuaXNBcnJvd0JvdHRvbVxuICAgICAgPyB7ICdwYWRkaW5nLWxlZnQnOiBgJHtvZmZzZXR9cHhgIH1cbiAgICAgIDogeyAncGFkZGluZy10b3AnOiBgJHtvZmZzZXR9cHhgIH07XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IEZMRVhfU1RBUlQgPSAnZmxleC1zdGFydCc7XG4gIHByaXZhdGUgcmVhZG9ubHkgRkxFWF9FTkQgPSAnZmxleC1lbmQnO1xuICBwcml2YXRlIHJlYWRvbmx5IEZMRVhfQ0VOVEVSID0gJ2NlbnRlcic7XG5cbiAgcHJpdmF0ZSBnZXRBcnJvd1RyYW5zZm9ybUZvckRpcmVjdGlvbihkaXJlY3Rpb246IHN0cmluZyk6IHN0cmluZyB7XG4gICAgc3dpdGNoIChkaXJlY3Rpb24pIHtcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgIHJldHVybiAncm90YXRlKDE4MGRlZyknO1xuICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgIHJldHVybiAncm90YXRlKC05MGRlZyknO1xuICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICByZXR1cm4gJ3JvdGF0ZSg5MGRlZyknO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdub25lJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEZsZXhQcm9wZXJ0eUZvckFsaWdubWVudChhbGlnbm1lbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgc3dpdGNoIChhbGlnbm1lbnQpIHtcbiAgICAgIGNhc2UgJ3N0YXJ0JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuRkxFWF9TVEFSVDtcbiAgICAgIGNhc2UgJ2VuZCc6XG4gICAgICAgIHJldHVybiB0aGlzLkZMRVhfRU5EO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRoaXMuRkxFWF9DRU5URVI7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZWQuZW1pdCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uTmV4dCgpOiB2b2lkIHtcbiAgICB0aGlzLm5leHQuZW1pdCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uUHJldmlvdXMoKTogdm9pZCB7XG4gICAgdGhpcy5wcmV2aW91cy5lbWl0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25VbmRlcnN0YW5kKCk6IHZvaWQge1xuICAgIHRoaXMudW5kZXJzdGFuZC5lbWl0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdG9nZ2xlRG9Ob3RTaG93QWdhaW4oKTogdm9pZCB7XG4gICAgdGhpcy5pc0RvTm90U2hvd0FnYWluQ2hlY2tlZC51cGRhdGUoKGNoZWNrZWQpID0+ICFjaGVja2VkKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3Bwb3NpdGVEaXJlY3Rpb24oZGlyZWN0aW9uOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XG4gICAgICBjYXNlICd0b3AnOlxuICAgICAgICByZXR1cm4gJ2JvdHRvbSc7XG4gICAgICBjYXNlICdib3R0b20nOlxuICAgICAgICByZXR1cm4gJ3RvcCc7XG4gICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgcmV0dXJuICdyaWdodCc7XG4gICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgIHJldHVybiAnbGVmdCc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZGlyZWN0aW9uO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNkYy1zcG90bGlnaHRcIlxuICBbY2xhc3Muc2RjLXNwb3RsaWdodC0taG9yaXpvbnRhbF09XCJpc0Fycm93TGVmdCB8fCBpc0Fycm93UmlnaHRcIlxuICBbYXR0ci5yb2xlXT1cInRvdGFsU3RlcHMoKSA+IDEgPyAnZGlhbG9nJyA6ICd0b29sdGlwJ1wiXG4gIFthdHRyLmFyaWEtbW9kYWxdPVwidG90YWxTdGVwcygpID4gMSA/ICd0cnVlJyA6IG51bGxcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwidGl0bGVJZFwiXG4gIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiZGVzY0lkXCJcbj5cbiAgQGlmIChpc0Fycm93VG9wKSB7XG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYXJyb3dUb3BUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICB9XG4gIEBpZiAoaXNBcnJvd0xlZnQpIHtcbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJhcnJvd0xlZnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICB9XG5cbiAgPGRpdiBjbGFzcz1cInNkYy1zcG90bGlnaHRfX2NhcmRcIj5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJzZGMtc3BvdGxpZ2h0X19zci1vbmx5XCJcbiAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICBhcmlhLWF0b21pYz1cInRydWVcIlxuICAgID5cbiAgICAgIEBpZiAodG90YWxTdGVwcygpID4gMSkge1xuICAgICAge3sgc3RlcFByb2dyZXNzTGFiZWxLZXkgfCB0cmFuc2xhdGU6IHsgY3VycmVudDogY3VycmVudFN0ZXAoKSwgdG90YWw6IHRvdGFsU3RlcHMoKSB9IH19XG4gICAgICB9XG4gICAgPC9zcGFuPlxuXG4gICAgPGhlYWRlciBjbGFzcz1cInNkYy1zcG90bGlnaHRfX2hlYWRlclwiPlxuICAgICAgPGgyXG4gICAgICAgIFtpZF09XCJ0aXRsZUlkXCJcbiAgICAgICAgY2xhc3M9XCJzZGMtc3BvdGxpZ2h0X190aXRsZVwiXG4gICAgICA+XG4gICAgICAgIEBpZiAodGl0bGVUZW1wbGF0ZSkge1xuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRpdGxlVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHt7IHRpdGxlU3RyaW5nIH19XG4gICAgICAgIH1cbiAgICAgIDwvaDI+XG5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwic2RjLXNwb3RsaWdodF9fY2xvc2VcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNsb3NlTGFiZWxLZXkgfCB0cmFuc2xhdGVcIlxuICAgICAgICAoY2xpY2spPVwib25DbG9zZSgpXCJcbiAgICAgID5cbiAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtdGltZXNcIj48L2k+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2hlYWRlcj5cblxuICAgIEBpZiAoY29udGVudCgpKSB7XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50KClcIj48L25nLWNvbnRhaW5lcj5cbiAgICB9XG5cbiAgICA8ZGl2IGNsYXNzPVwic2RjLXNwb3RsaWdodF9fYm9keVwiPlxuICAgICAgPGRpdlxuICAgICAgICBbaWRdPVwiZGVzY0lkXCJcbiAgICAgICAgY2xhc3M9XCJzZGMtc3BvdGxpZ2h0X19tZXNzYWdlXCJcbiAgICAgID5cbiAgICAgICAgQGlmIChtZXNzYWdlVGVtcGxhdGUpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJtZXNzYWdlVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHt7IG1lc3NhZ2VTdHJpbmcgfX1cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZGMtc3BvdGxpZ2h0X19mb290ZXJcIj5cbiAgICAgICAgQGlmICh0b3RhbFN0ZXBzKCkgPiAxKSB7XG4gICAgICAgIDxwIGNsYXNzPVwic2RjLXNwb3RsaWdodF9fY291bnRlclwiPlxuICAgICAgICAgIHt7IHN0ZXBDb3VudGVyTGFiZWxLZXkgfCB0cmFuc2xhdGU6IHsgY3VycmVudDogY3VycmVudFN0ZXAoKSwgdG90YWw6IHRvdGFsU3RlcHMoKSB9IH19XG4gICAgICAgIDwvcD5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAodG90YWxTdGVwcygpID09PSAxICYmIHNob3dEb05vdFNob3dBZ2FpbigpKSB7XG4gICAgICAgIDxzZGMtY2hlY2tib3hcbiAgICAgICAgICBbY2hlY2tlZF09XCJpc0RvTm90U2hvd0FnYWluQ2hlY2tlZCgpXCJcbiAgICAgICAgICBbbGFiZWxdPVwiZG9Ob3RTaG93QWdhaW5MYWJlbEtleVwiXG4gICAgICAgICAgKGNoZWNrZWRDaGFuZ2UpPVwidG9nZ2xlRG9Ob3RTaG93QWdhaW4oKVwiXG4gICAgICAgID48L3NkYy1jaGVja2JveD5cbiAgICAgICAgfVxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZGMtc3BvdGxpZ2h0X19hY3Rpb25zXCI+XG4gICAgICAgICAgQGZvciAoYWN0aW9uIG9mIGFjdGlvbnMoKTsgdHJhY2sgYWN0aW9uLmxhYmVsKSB7XG4gICAgICAgICAgPHNkYy1idXR0b25cbiAgICAgICAgICAgIHByaW9yaXR5PVwiZGVmYXVsdFwiXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgW2xhYmVsXT1cImFjdGlvbi5sYWJlbFwiXG4gICAgICAgICAgICAoY2xpY2tlZCk9XCJhY3Rpb24uaGFuZGxlcigpXCJcbiAgICAgICAgICA+PC9zZGMtYnV0dG9uPlxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAodG90YWxTdGVwcygpID4gMSAmJiBjdXJyZW50U3RlcCgpID4gMSkge1xuICAgICAgICAgIDxzZGMtYnV0dG9uXG4gICAgICAgICAgICBwcmlvcml0eT1cImRlZmF1bHRcIlxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJiYWNrTGFiZWxLZXlcIlxuICAgICAgICAgICAgKGNsaWNrZWQpPVwib25QcmV2aW91cygpXCJcbiAgICAgICAgICA+PC9zZGMtYnV0dG9uPlxuICAgICAgICAgIH1cblxuICAgICAgICAgIDxzZGMtYnV0dG9uXG4gICAgICAgICAgICBwcmlvcml0eT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIlxuICAgICAgICAgICAgICB0b3RhbFN0ZXBzKCkgPD0gMVxuICAgICAgICAgICAgICAgID8gdW5kZXJzdG9vZExhYmVsS2V5XG4gICAgICAgICAgICAgICAgOiBjdXJyZW50U3RlcCgpIDwgdG90YWxTdGVwcygpXG4gICAgICAgICAgICAgICAgICA/IG5leHRMYWJlbEtleVxuICAgICAgICAgICAgICAgICAgOiBjb21wbGV0ZUxhYmVsS2V5XG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgKGNsaWNrZWQpPVwidG90YWxTdGVwcygpID4gMSA/IG9uTmV4dCgpIDogb25VbmRlcnN0YW5kKClcIlxuICAgICAgICAgID48L3NkYy1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIEBpZiAoaXNBcnJvd0JvdHRvbSkge1xuICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFycm93Qm90dG9tVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgfVxuICBAaWYgKGlzQXJyb3dSaWdodCkge1xuICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFycm93UmlnaHRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICB9XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNhcnJvd1RvcFRlbXBsYXRlPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJzZGMtc3BvdGxpZ2h0X19hcnJvdy1yb3dcIlxuICAgIFtzdHlsZS5qdXN0aWZ5LWNvbnRlbnRdPVwiYXJyb3dKdXN0aWZ5Q29udGVudFwiXG4gICAgW25nU3R5bGVdPVwiYXJyb3dQYWRkaW5nU3R5bGVcIlxuICA+XG4gICAgPHN2Z1xuICAgICAgd2lkdGg9XCIxNlwiXG4gICAgICBoZWlnaHQ9XCI4XCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMTYgOFwiXG4gICAgICBbc3R5bGUudHJhbnNmb3JtXT1cImFycm93VHJhbnNmb3JtXCJcbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTAgOEw4IDBMMTYgOFwiXG4gICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Fycm93Qm90dG9tVGVtcGxhdGU+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNkYy1zcG90bGlnaHRfX2Fycm93LXJvd1wiXG4gICAgW3N0eWxlLmp1c3RpZnktY29udGVudF09XCJhcnJvd0p1c3RpZnlDb250ZW50XCJcbiAgICBbbmdTdHlsZV09XCJhcnJvd1BhZGRpbmdTdHlsZVwiXG4gID5cbiAgICA8c3ZnXG4gICAgICB3aWR0aD1cIjE2XCJcbiAgICAgIGhlaWdodD1cIjhcIlxuICAgICAgdmlld0JveD1cIjAgMCAxNiA4XCJcbiAgICAgIFtzdHlsZS50cmFuc2Zvcm1dPVwiYXJyb3dUcmFuc2Zvcm1cIlxuICAgID5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMCA4TDggMEwxNiA4XCJcbiAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYXJyb3dMZWZ0VGVtcGxhdGU+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNkYy1zcG90bGlnaHRfX2Fycm93LWNvbHVtblwiXG4gICAgW3N0eWxlLmFsaWduLWl0ZW1zXT1cImFycm93QWxpZ25JdGVtc1wiXG4gICAgW25nU3R5bGVdPVwiYXJyb3dQYWRkaW5nU3R5bGVcIlxuICA+XG4gICAgPHN2Z1xuICAgICAgd2lkdGg9XCIxNlwiXG4gICAgICBoZWlnaHQ9XCI4XCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMTYgOFwiXG4gICAgICBbc3R5bGUudHJhbnNmb3JtXT1cImFycm93VHJhbnNmb3JtXCJcbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTAgOEw4IDBMMTYgOFwiXG4gICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Fycm93UmlnaHRUZW1wbGF0ZT5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2RjLXNwb3RsaWdodF9fYXJyb3ctY29sdW1uXCJcbiAgICBbc3R5bGUuYWxpZ24taXRlbXNdPVwiYXJyb3dBbGlnbkl0ZW1zXCJcbiAgICBbbmdTdHlsZV09XCJhcnJvd1BhZGRpbmdTdHlsZVwiXG4gID5cbiAgICA8c3ZnXG4gICAgICB3aWR0aD1cIjE2XCJcbiAgICAgIGhlaWdodD1cIjhcIlxuICAgICAgdmlld0JveD1cIjAgMCAxNiA4XCJcbiAgICAgIFtzdHlsZS50cmFuc2Zvcm1dPVwiYXJyb3dUcmFuc2Zvcm1cIlxuICAgID5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMCA4TDggMEwxNiA4XCJcbiAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -83,7 +83,7 @@ export class StarRatingComponent {
83
83
  useExisting: forwardRef(() => StarRatingComponent),
84
84
  multi: true
85
85
  }
86
- ], ngImport: i0, template: "@if (labelKey()) {\n <div class=\"sdc-star-rating__label-row\">\n <div class=\"sdc-star-rating__group-label\" [id]=\"groupLabelId\">\n <span class=\"sdc-star-rating__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=\"sdc-star-rating\"\n [class.sdc-star-rating--disabled]=\"disabled\"\n [attr.aria-label]=\"labelKey() ? null : groupAriaLabel\"\n [attr.aria-labelledby]=\"labelKey() ? groupLabelId : null\"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n>\n @for (star of stars; track star) {\n <button\n type=\"button\"\n class=\"sdc-star-rating__star\"\n [class.sdc-star-rating__star--filled]=\"isFilled(star)\"\n [attr.aria-label]=\"getStarAriaLabel(star)\"\n [disabled]=\"disabled\"\n (click)=\"onStarClick(star)\"\n (keydown)=\"onKeydown($event, star)\"\n >\n @if (isFilled(star)) {\n <i class=\"fas fa-star\" aria-hidden=\"true\"></i>\n } @else {\n <i class=\"far fa-star\" aria-hidden=\"true\"></i>\n }\n </button>\n }\n</div>\n\n@if (messageKey()) {\n <small class=\"sdc-star-rating__message\" [class.invalid]=\"invalid\" role=\"alert\" aria-live=\"polite\">\n {{ messageKey() | translate }}\n </small>\n}\n", styles: [":host{display:inline-flex;flex-direction:column}.sdc-star-rating__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap);margin-bottom:var(--sdc-form-label-row-mb)}.sdc-star-rating__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-star-rating__group-label-text{display:inline-flex;align-items:center}.sdc-star-rating__message{display:block;margin-top:var(--sdc-form-label-row-mb);font-size:.8125rem;color:var(--sdc-text-subtle, #667085)}.sdc-star-rating__message.invalid{color:var(--sdc-form-required-color)}.sdc-star-rating{--sdc-star-rating-color: #f5a319;--sdc-star-rating-size: 1.25rem;--sdc-star-rating-gap: .5rem;align-items:center;display:inline-flex;gap:var(--sdc-star-rating-gap)}.sdc-star-rating--disabled{cursor:not-allowed;opacity:.65}.sdc-star-rating__star{background:transparent;border:0;color:var(--sdc-star-rating-color);cursor:pointer;font-size:var(--sdc-star-rating-size);line-height:1;padding:0;transition:transform var(--sdc-transition-fast, .18s ease),opacity var(--sdc-transition-fast, .18s ease);-webkit-user-select:none;user-select:none}.sdc-star-rating__star:focus-visible{border-radius:2px;outline:var(--sdc-focus-outline, 2px solid #428bca);outline-offset:2px}.sdc-star-rating--disabled .sdc-star-rating__star{cursor:not-allowed;pointer-events:none}.sdc-star-rating__star:hover:not(.sdc-star-rating--disabled .sdc-star-rating__star){opacity:.8;transform:scale(1.15)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
86
+ ], ngImport: i0, template: "@if (labelKey()) {\n <div class=\"sdc-star-rating__label-row\">\n <div class=\"sdc-star-rating__group-label\" [id]=\"groupLabelId\">\n <span class=\"sdc-star-rating__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=\"sdc-star-rating\"\n [class.sdc-star-rating--disabled]=\"disabled\"\n [attr.aria-label]=\"labelKey() ? null : groupAriaLabel\"\n [attr.aria-labelledby]=\"labelKey() ? groupLabelId : null\"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n>\n @for (star of stars; track star) {\n <button\n type=\"button\"\n class=\"sdc-star-rating__star\"\n [class.sdc-star-rating__star--filled]=\"isFilled(star)\"\n [attr.aria-label]=\"getStarAriaLabel(star)\"\n [disabled]=\"disabled\"\n (click)=\"onStarClick(star)\"\n (keydown)=\"onKeydown($event, star)\"\n >\n @if (isFilled(star)) {\n <i class=\"fas fa-star\" aria-hidden=\"true\"></i>\n } @else {\n <i class=\"far fa-star\" aria-hidden=\"true\"></i>\n }\n </button>\n }\n</div>\n\n@if (messageKey()) {\n <small class=\"sdc-star-rating__message\" [class.invalid]=\"invalid\" role=\"alert\" aria-live=\"polite\">\n {{ messageKey() | translate }}\n </small>\n}\n", styles: [":host{display:inline-flex;flex-direction:column}.sdc-star-rating__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap);margin-bottom:var(--sdc-form-label-row-mb)}.sdc-star-rating__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-star-rating__group-label-text{display:inline-flex;align-items:center}.sdc-star-rating__message{display:block;margin-top:var(--sdc-form-label-row-mb);font-size:.8125rem;color:var(--sdc-text-subtle, #667085)}.sdc-star-rating__message.invalid{color:var(--sdc-form-required-color)}.sdc-star-rating{--sdc-star-rating-color: #f5a319;--sdc-star-rating-size: 1.25rem;--sdc-star-rating-gap: .5rem;align-items:center;display:inline-flex;gap:var(--sdc-star-rating-gap)}.sdc-star-rating--disabled{cursor:not-allowed;opacity:.65}.sdc-star-rating__star{background:transparent;border:0;color:var(--sdc-star-rating-color);cursor:pointer;font-size:var(--sdc-star-rating-size);line-height:1;padding:0;transition:transform var(--sdc-transition-fast, .18s ease),opacity var(--sdc-transition-fast, .18s ease);-webkit-user-select:none;user-select:none}.sdc-star-rating__star:focus-visible{border-radius:2px;outline:var(--sdc-focus-outline, 2px solid #428bca);outline-offset:2px}.sdc-star-rating--disabled .sdc-star-rating__star{cursor:not-allowed;pointer-events:none}.sdc-star-rating__star:hover:not(.sdc-star-rating--disabled .sdc-star-rating__star){opacity:.8;transform:scale(1.15)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
87
87
  }
88
88
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StarRatingComponent, decorators: [{
89
89
  type: Component,
@@ -93,7 +93,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
93
93
  useExisting: forwardRef(() => StarRatingComponent),
94
94
  multi: true
95
95
  }
96
- ], template: "@if (labelKey()) {\n <div class=\"sdc-star-rating__label-row\">\n <div class=\"sdc-star-rating__group-label\" [id]=\"groupLabelId\">\n <span class=\"sdc-star-rating__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=\"sdc-star-rating\"\n [class.sdc-star-rating--disabled]=\"disabled\"\n [attr.aria-label]=\"labelKey() ? null : groupAriaLabel\"\n [attr.aria-labelledby]=\"labelKey() ? groupLabelId : null\"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n>\n @for (star of stars; track star) {\n <button\n type=\"button\"\n class=\"sdc-star-rating__star\"\n [class.sdc-star-rating__star--filled]=\"isFilled(star)\"\n [attr.aria-label]=\"getStarAriaLabel(star)\"\n [disabled]=\"disabled\"\n (click)=\"onStarClick(star)\"\n (keydown)=\"onKeydown($event, star)\"\n >\n @if (isFilled(star)) {\n <i class=\"fas fa-star\" aria-hidden=\"true\"></i>\n } @else {\n <i class=\"far fa-star\" aria-hidden=\"true\"></i>\n }\n </button>\n }\n</div>\n\n@if (messageKey()) {\n <small class=\"sdc-star-rating__message\" [class.invalid]=\"invalid\" role=\"alert\" aria-live=\"polite\">\n {{ messageKey() | translate }}\n </small>\n}\n", styles: [":host{display:inline-flex;flex-direction:column}.sdc-star-rating__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap);margin-bottom:var(--sdc-form-label-row-mb)}.sdc-star-rating__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-star-rating__group-label-text{display:inline-flex;align-items:center}.sdc-star-rating__message{display:block;margin-top:var(--sdc-form-label-row-mb);font-size:.8125rem;color:var(--sdc-text-subtle, #667085)}.sdc-star-rating__message.invalid{color:var(--sdc-form-required-color)}.sdc-star-rating{--sdc-star-rating-color: #f5a319;--sdc-star-rating-size: 1.25rem;--sdc-star-rating-gap: .5rem;align-items:center;display:inline-flex;gap:var(--sdc-star-rating-gap)}.sdc-star-rating--disabled{cursor:not-allowed;opacity:.65}.sdc-star-rating__star{background:transparent;border:0;color:var(--sdc-star-rating-color);cursor:pointer;font-size:var(--sdc-star-rating-size);line-height:1;padding:0;transition:transform var(--sdc-transition-fast, .18s ease),opacity var(--sdc-transition-fast, .18s ease);-webkit-user-select:none;user-select:none}.sdc-star-rating__star:focus-visible{border-radius:2px;outline:var(--sdc-focus-outline, 2px solid #428bca);outline-offset:2px}.sdc-star-rating--disabled .sdc-star-rating__star{cursor:not-allowed;pointer-events:none}.sdc-star-rating__star:hover:not(.sdc-star-rating--disabled .sdc-star-rating__star){opacity:.8;transform:scale(1.15)}\n"] }]
96
+ ], template: "@if (labelKey()) {\n <div class=\"sdc-star-rating__label-row\">\n <div class=\"sdc-star-rating__group-label\" [id]=\"groupLabelId\">\n <span class=\"sdc-star-rating__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=\"sdc-star-rating\"\n [class.sdc-star-rating--disabled]=\"disabled\"\n [attr.aria-label]=\"labelKey() ? null : groupAriaLabel\"\n [attr.aria-labelledby]=\"labelKey() ? groupLabelId : null\"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n>\n @for (star of stars; track star) {\n <button\n type=\"button\"\n class=\"sdc-star-rating__star\"\n [class.sdc-star-rating__star--filled]=\"isFilled(star)\"\n [attr.aria-label]=\"getStarAriaLabel(star)\"\n [disabled]=\"disabled\"\n (click)=\"onStarClick(star)\"\n (keydown)=\"onKeydown($event, star)\"\n >\n @if (isFilled(star)) {\n <i class=\"fas fa-star\" aria-hidden=\"true\"></i>\n } @else {\n <i class=\"far fa-star\" aria-hidden=\"true\"></i>\n }\n </button>\n }\n</div>\n\n@if (messageKey()) {\n <small class=\"sdc-star-rating__message\" [class.invalid]=\"invalid\" role=\"alert\" aria-live=\"polite\">\n {{ messageKey() | translate }}\n </small>\n}\n", styles: [":host{display:inline-flex;flex-direction:column}.sdc-star-rating__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap);margin-bottom:var(--sdc-form-label-row-mb)}.sdc-star-rating__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-star-rating__group-label-text{display:inline-flex;align-items:center}.sdc-star-rating__message{display:block;margin-top:var(--sdc-form-label-row-mb);font-size:.8125rem;color:var(--sdc-text-subtle, #667085)}.sdc-star-rating__message.invalid{color:var(--sdc-form-required-color)}.sdc-star-rating{--sdc-star-rating-color: #f5a319;--sdc-star-rating-size: 1.25rem;--sdc-star-rating-gap: .5rem;align-items:center;display:inline-flex;gap:var(--sdc-star-rating-gap)}.sdc-star-rating--disabled{cursor:not-allowed;opacity:.65}.sdc-star-rating__star{background:transparent;border:0;color:var(--sdc-star-rating-color);cursor:pointer;font-size:var(--sdc-star-rating-size);line-height:1;padding:0;transition:transform var(--sdc-transition-fast, .18s ease),opacity var(--sdc-transition-fast, .18s ease);-webkit-user-select:none;user-select:none}.sdc-star-rating__star:focus-visible{border-radius:2px;outline:var(--sdc-focus-outline, 2px solid #428bca);outline-offset:2px}.sdc-star-rating--disabled .sdc-star-rating__star{cursor:not-allowed;pointer-events:none}.sdc-star-rating__star:hover:not(.sdc-star-rating--disabled .sdc-star-rating__star){opacity:.8;transform:scale(1.15)}\n"] }]
97
97
  }], propDecorators: { value: [{
98
98
  type: Input
99
99
  }], maxStars: [{
@@ -113,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
113
113
  }], valueChange: [{
114
114
  type: Output
115
115
  }] } });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rhci1yYXRpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9zdGFyLXJhdGluZy9zdGFyLXJhdGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3N0YXItcmF0aW5nL3N0YXItcmF0aW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RSxPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLHVCQUF1QixFQUN2Qix5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzNCLE1BQU0sd0NBQXdDLENBQUM7QUFFaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQWtCNUQsTUFBTSxPQUFPLG1CQUFtQjtJQUNiLEdBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNoQyxTQUFTLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFN0MsS0FBSyxHQUFXLHlCQUF5QixDQUFDO0lBQzFDLFFBQVEsR0FBVyx1QkFBdUIsQ0FBQztJQUMzQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLFNBQVMsQ0FBVTtJQUNuQixLQUFLLEdBQWtCLEtBQUssQ0FBQztJQUM3QixRQUFRLEdBQUcsS0FB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YXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmLFxuICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHtcbiAgU1RBUl9SQVRJTkdfQVJJQV9MQUJFTF9LRVksXG4gIFNUQVJfUkFUSU5HX0RFRkFVTFRfTUFYLFxuICBTVEFSX1JBVElOR19ERUZBVUxUX1ZBTFVFLFxuICBTVEFSX1JBVElOR19TVEFSX0xBQkVMX0tFWVxufSBmcm9tICcuLi8uLi9jb3JlL2NvbnN0YW50cy9zdGFyLXJhdGluZy5jb25zdCc7XG5pbXBvcnQgdHlwZSB7IFN0cmluZ0Jvb2xlYW4gfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL3NlbWFudGljcy50eXBlJztcbmltcG9ydCB7IG5leHRTZXF1ZW50aWFsSWQgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzL2lkLnV0aWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtc3Rhci1yYXRpbmcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vc3Rhci1yYXRpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vc3Rhci1yYXRpbmcuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWQsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU3RhclJhdGluZ0NvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTdGFyUmF0aW5nQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuXG4gIEBJbnB1dCgpIHZhbHVlOiBudW1iZXIgPSBTVEFSX1JBVElOR19ERUZBVUxUX1ZBTFVFO1xuICBASW5wdXQoKSBtYXhTdGFyczogbnVtYmVyID0gU1RBUl9SQVRJTkdfREVGQVVMVF9NQVg7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFyaWFMYWJlbD86IHN0cmluZztcbiAgQElucHV0KCkgbGFiZWw6IFN0cmluZ0Jvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgaW52YWxpZCA9IGZhbHNlO1xuICBASW5wdXQoKSBtZXNzYWdlOiBTdHJpbmdCb29sZWFuID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGdyb3VwTGFiZWxJZCA9IG5leHRTZXF1ZW50aWFsSWQoJ3NkYy1zdGFyLXJhdGluZy1sYWJlbCcpO1xuXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIHByaXZhdGUgb25DaGFuZ2VGbjogKHZhbHVlOiBudW1iZXIpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgcHJpdmF0ZSBvblRvdWNoZWRGbjogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gIGdldCBzdGFycygpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IHRoaXMubWF4U3RhcnMgfSwgKF8sIGkpID0+IGkgKyAxKTtcbiAgfVxuXG4gIGdldCBncm91cEFyaWFMYWJlbCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmFyaWFMYWJlbCkge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQodGhpcy5hcmlhTGFiZWwpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFNUQVJfUkFUSU5HX0FSSUFfTEFCRUxfS0VZKTtcbiAgfVxuXG4gIGlzRmlsbGVkKHN0YXI6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdGFyIDw9IHRoaXMudmFsdWU7XG4gIH1cblxuICBnZXRTdGFyQXJpYUxhYmVsKHN0YXI6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoU1RBUl9SQVRJTkdfU1RBUl9MQUJFTF9LRVksIHsgbjogc3RhciB9KTtcbiAgfVxuXG4gIG9uU3RhckNsaWNrKHN0YXI6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbmV4dCA9IHRoaXMudmFsdWUgPT09IHN0YXIgPyAwIDogc3RhcjtcbiAgICB0aGlzLnZhbHVlID0gbmV4dDtcbiAgICB0aGlzLm9uQ2hhbmdlRm4obmV4dCk7XG4gICAgdGhpcy5vblRvdWNoZWRGbigpO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChuZXh0KTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgc3RhcjogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGV2ZW50LmtleSA9PT0gJyAnKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5vblN0YXJDbGljayhzdGFyKTtcbiAgICB9XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWUgPz8gU1RBUl9SQVRJTkdfREVGQVVMVF9WQUxVRTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZUZuID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkRm4gPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgbGFiZWxLZXkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdHlwZW9mIHRoaXMubGFiZWwgPT09ICdzdHJpbmcnID8gdGhpcy5sYWJlbCA6ICcnO1xuICB9XG5cbiAgbWVzc2FnZUtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0eXBlb2YgdGhpcy5tZXNzYWdlID09PSAnc3RyaW5nJyA/IHRoaXMubWVzc2FnZSA6ICcnO1xuICB9XG59XG4iLCJAaWYgKGxhYmVsS2V5KCkpIHtcbiAgPGRpdiBjbGFzcz1cInNkYy1zdGFyLXJhdGluZ19fbGFiZWwtcm93XCI+XG4gICAgPGRpdiBjbGFzcz1cInNkYy1zdGFyLXJhdGluZ19fZ3JvdXAtbGFiZWxcIiBbaWRdPVwiZ3JvdXBMYWJlbElkXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInNkYy1zdGFyLXJhdGluZ19fZ3JvdXAtbGFiZWwtdGV4dFwiPlxuICAgICAgICB7eyBsYWJlbEtleSgpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIEBpZiAocmVxdWlyZWQpIHtcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlcXVpcmVkLWZpZWxkXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+Kjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj57eyAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5yZXF1aXJlZF9maWVsZCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG59XG5cbjxkaXZcbiAgY2xhc3M9XCJzZGMtc3Rhci1yYXRpbmdcIlxuICBbY2xhc3Muc2RjLXN0YXItcmF0aW5nLS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWxLZXkoKSA/IG51bGwgOiBncm91cEFyaWFMYWJlbFwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJsYWJlbEtleSgpID8gZ3JvdXBMYWJlbElkIDogbnVsbFwiXG4gIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaW52YWxpZFwiXG4+XG4gIEBmb3IgKHN0YXIgb2Ygc3RhcnM7IHRyYWNrIHN0YXIpIHtcbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwic2RjLXN0YXItcmF0aW5nX19zdGFyXCJcbiAgICAgIFtjbGFzcy5zZGMtc3Rhci1yYXRpbmdfX3N0YXItLWZpbGxlZF09XCJpc0ZpbGxlZChzdGFyKVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImdldFN0YXJBcmlhTGFiZWwoc3RhcilcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJvblN0YXJDbGljayhzdGFyKVwiXG4gICAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50LCBzdGFyKVwiXG4gICAgPlxuICAgICAgQGlmIChpc0ZpbGxlZChzdGFyKSkge1xuICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1zdGFyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLXN0YXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICB9XG4gICAgPC9idXR0b24+XG4gIH1cbjwvZGl2PlxuXG5AaWYgKG1lc3NhZ2VLZXkoKSkge1xuICA8c21hbGwgY2xhc3M9XCJzZGMtc3Rhci1yYXRpbmdfX21lc3NhZ2VcIiBbY2xhc3MuaW52YWxpZF09XCJpbnZhbGlkXCIgcm9sZT1cImFsZXJ0XCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAge3sgbWVzc2FnZUtleSgpIHwgdHJhbnNsYXRlIH19XG4gIDwvc21hbGw+XG59XG4iXX0=
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rhci1yYXRpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9zdGFyLXJhdGluZy9zdGFyLXJhdGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3N0YXItcmF0aW5nL3N0YXItcmF0aW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RSxPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLHVCQUF1QixFQUN2Qix5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzNCLE1BQU0sd0NBQXdDLENBQUM7QUFFaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQWtCNUQsTUFBTSxPQUFPLG1CQUFtQjtJQUNiLEdBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNoQyxTQUFTLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFN0MsS0FBSyxHQUFXLHlCQUF5QixDQUFDO0lBQzFDLFFBQVEsR0FBVyx1QkFBdUIsQ0FBQztJQUMzQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLFNBQVMsQ0FBVTtJQUNuQixLQUFLLEdBQWtCLEtBQUssQ0FBQztJQUM3QixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDaEIsT0FBTyxHQUFrQixLQUFLLENBQUM7SUFFckIsWUFBWSxHQUFHLGdCQUFnQixDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFFbEUsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFFM0MsVUFBVSxHQUE0QixHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFDL0MsV0FBVyxHQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUUzQyxJQUFJLEtBQUs7UUFDUCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVk7UUFDbkIsT0FBTyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBWTtRQUMzQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLDBCQUEwQixFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFZO1FBQ3RCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzVDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFvQixFQUFFLElBQVk7UUFDMUMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDL0MsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYTtRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssSUFBSSx5QkFBeUIsQ0FBQztRQUNoRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUEyQjtRQUMxQyxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBYztRQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzFELENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDOUQsQ0FBQzt3R0F4RlUsbUJBQW1COzRGQUFuQixtQkFBbUIscVJBUm5CO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDbEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDBCQ3RDSCw2K0NBOENBLG9yRERuQlksWUFBWSw4QkFBRSxlQUFlOzs0RkFhNUIsbUJBQW1CO2tCQWhCL0IsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDLG1CQUd2Qix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxRQUFRLGFBQzlCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDOzRCQUNsRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs4QkFNUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFJSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmLFxuICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHtcbiAgU1RBUl9SQVRJTkdfQVJJQV9MQUJFTF9LRVksXG4gIFNUQVJfUkFUSU5HX0RFRkFVTFRfTUFYLFxuICBTVEFSX1JBVElOR19ERUZBVUxUX1ZBTFVFLFxuICBTVEFSX1JBVElOR19TVEFSX0xBQkVMX0tFWVxufSBmcm9tICcuLi8uLi9jb3JlL2NvbnN0YW50cy9zdGFyLXJhdGluZy5jb25zdCc7XG5pbXBvcnQgdHlwZSB7IFN0cmluZ0Jvb2xlYW4gfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL3NlbWFudGljcy50eXBlJztcbmltcG9ydCB7IG5leHRTZXF1ZW50aWFsSWQgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzL2lkLnV0aWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtc3Rhci1yYXRpbmcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vc3Rhci1yYXRpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vc3Rhci1yYXRpbmcuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWQsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU3RhclJhdGluZ0NvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTdGFyUmF0aW5nQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuXG4gIEBJbnB1dCgpIHZhbHVlOiBudW1iZXIgPSBTVEFSX1JBVElOR19ERUZBVUxUX1ZBTFVFO1xuICBASW5wdXQoKSBtYXhTdGFyczogbnVtYmVyID0gU1RBUl9SQVRJTkdfREVGQVVMVF9NQVg7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFyaWFMYWJlbD86IHN0cmluZztcbiAgQElucHV0KCkgbGFiZWw6IFN0cmluZ0Jvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgaW52YWxpZCA9IGZhbHNlO1xuICBASW5wdXQoKSBtZXNzYWdlOiBTdHJpbmdCb29sZWFuID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGdyb3VwTGFiZWxJZCA9IG5leHRTZXF1ZW50aWFsSWQoJ3NkYy1zdGFyLXJhdGluZy1sYWJlbCcpO1xuXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIHByaXZhdGUgb25DaGFuZ2VGbjogKHZhbHVlOiBudW1iZXIpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgcHJpdmF0ZSBvblRvdWNoZWRGbjogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gIGdldCBzdGFycygpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IHRoaXMubWF4U3RhcnMgfSwgKF8sIGkpID0+IGkgKyAxKTtcbiAgfVxuXG4gIGdldCBncm91cEFyaWFMYWJlbCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmFyaWFMYWJlbCkge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQodGhpcy5hcmlhTGFiZWwpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFNUQVJfUkFUSU5HX0FSSUFfTEFCRUxfS0VZKTtcbiAgfVxuXG4gIGlzRmlsbGVkKHN0YXI6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdGFyIDw9IHRoaXMudmFsdWU7XG4gIH1cblxuICBnZXRTdGFyQXJpYUxhYmVsKHN0YXI6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoU1RBUl9SQVRJTkdfU1RBUl9MQUJFTF9LRVksIHsgbjogc3RhciB9KTtcbiAgfVxuXG4gIG9uU3RhckNsaWNrKHN0YXI6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbmV4dCA9IHRoaXMudmFsdWUgPT09IHN0YXIgPyAwIDogc3RhcjtcbiAgICB0aGlzLnZhbHVlID0gbmV4dDtcbiAgICB0aGlzLm9uQ2hhbmdlRm4obmV4dCk7XG4gICAgdGhpcy5vblRvdWNoZWRGbigpO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChuZXh0KTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgc3RhcjogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGV2ZW50LmtleSA9PT0gJyAnKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5vblN0YXJDbGljayhzdGFyKTtcbiAgICB9XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWUgPz8gU1RBUl9SQVRJTkdfREVGQVVMVF9WQUxVRTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZUZuID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkRm4gPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgbGFiZWxLZXkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdHlwZW9mIHRoaXMubGFiZWwgPT09ICdzdHJpbmcnID8gdGhpcy5sYWJlbCA6ICcnO1xuICB9XG5cbiAgbWVzc2FnZUtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0eXBlb2YgdGhpcy5tZXNzYWdlID09PSAnc3RyaW5nJyA/IHRoaXMubWVzc2FnZSA6ICcnO1xuICB9XG59XG4iLCJAaWYgKGxhYmVsS2V5KCkpIHtcbiAgPGRpdiBjbGFzcz1cInNkYy1zdGFyLXJhdGluZ19fbGFiZWwtcm93XCI+XG4gICAgPGRpdiBjbGFzcz1cInNkYy1zdGFyLXJhdGluZ19fZ3JvdXAtbGFiZWxcIiBbaWRdPVwiZ3JvdXBMYWJlbElkXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInNkYy1zdGFyLXJhdGluZ19fZ3JvdXAtbGFiZWwtdGV4dFwiPlxuICAgICAgICB7eyBsYWJlbEtleSgpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIEBpZiAocmVxdWlyZWQpIHtcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlcXVpcmVkLWZpZWxkXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+Kjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj57eyAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eV9yZXF1aXJlZF9maWVsZCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG59XG5cbjxkaXZcbiAgY2xhc3M9XCJzZGMtc3Rhci1yYXRpbmdcIlxuICBbY2xhc3Muc2RjLXN0YXItcmF0aW5nLS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWxLZXkoKSA/IG51bGwgOiBncm91cEFyaWFMYWJlbFwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJsYWJlbEtleSgpID8gZ3JvdXBMYWJlbElkIDogbnVsbFwiXG4gIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaW52YWxpZFwiXG4+XG4gIEBmb3IgKHN0YXIgb2Ygc3RhcnM7IHRyYWNrIHN0YXIpIHtcbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwic2RjLXN0YXItcmF0aW5nX19zdGFyXCJcbiAgICAgIFtjbGFzcy5zZGMtc3Rhci1yYXRpbmdfX3N0YXItLWZpbGxlZF09XCJpc0ZpbGxlZChzdGFyKVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImdldFN0YXJBcmlhTGFiZWwoc3RhcilcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJvblN0YXJDbGljayhzdGFyKVwiXG4gICAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50LCBzdGFyKVwiXG4gICAgPlxuICAgICAgQGlmIChpc0ZpbGxlZChzdGFyKSkge1xuICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1zdGFyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLXN0YXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICB9XG4gICAgPC9idXR0b24+XG4gIH1cbjwvZGl2PlxuXG5AaWYgKG1lc3NhZ2VLZXkoKSkge1xuICA8c21hbGwgY2xhc3M9XCJzZGMtc3Rhci1yYXRpbmdfX21lc3NhZ2VcIiBbY2xhc3MuaW52YWxpZF09XCJpbnZhbGlkXCIgcm9sZT1cImFsZXJ0XCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAge3sgbWVzc2FnZUtleSgpIHwgdHJhbnNsYXRlIH19XG4gIDwvc21hbGw+XG59XG4iXX0=
@@ -126,15 +126,15 @@ export class SwitchComponent extends InputsComponent {
126
126
  }
127
127
  getSwitchAriaLabel() {
128
128
  const state = this.value ? this.trueLabelText : this.falseLabelText;
129
- const toggleLabel = resolveTranslatableText(this.translateService, null, 'platform.datacore.accessibility.switch_toggle');
129
+ const toggleLabel = resolveTranslatableText(this.translateService, null, 'platform.datacore.accessibility_switch_toggle');
130
130
  return `${toggleLabel}: ${state}`;
131
131
  }
132
132
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SwitchComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
133
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SwitchComponent, isStandalone: true, selector: "sdc-switch", inputs: { infoTooltip: "infoTooltip", infoTooltipPosition: "infoTooltipPosition", infoTooltipEvent: "infoTooltipEvent", trueLabel: "trueLabel", falseLabel: "falseLabel", readonly: "readonly", disabled: "disabled", ariaLabel: "ariaLabel", interceptChange: "interceptChange" }, outputs: { change: "onChange", changeRequest: "onChangeRequest" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SwitchComponent), multi: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-switch field-box\" [ngStyle]=\"getStyles()\">\n @if (labelKey() || hasTooltip) {\n <div class=\"sdc-switch__label-row\">\n @if (labelKey()) {\n <label\n [attr.id]=\"labelId\"\n [attr.for]=\"interceptChange ? null : controlId\"\n class=\"sdc-switch__label\"\n >\n <span class=\"sdc-switch__label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n }\n @if (required) {\n <span class=\"sr-only\">\n {{ 'platform.datacore.accessibility.required_field' | translate }}\n </span>\n }\n </span>\n </label>\n }\n @if (hasTooltip) {\n <sdc-tooltip\n class=\"sdc-switch__info-tooltip-wrap\"\n [pTooltip]=\"infoTooltipText\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipEvent]=\"infoTooltipEvent\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle sdc-switch__info-tooltip-icon\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n </div>\n }\n\n @if (!interceptChange) {\n <label\n class=\"sdc-switch__control sdc-switch__primitive\"\n [class.sdc-switch__control--invalid]=\"invalid\"\n [class.sdc-switch__control--disabled]=\"computedDisabled\"\n >\n <input\n class=\"sdc-switch__input\"\n type=\"checkbox\"\n [id]=\"controlId\"\n [name]=\"identity.name\"\n [checked]=\"value\"\n [disabled]=\"inputDisabled\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-labelledby]=\"resolvedAriaLabelledBy\"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-describedby]=\"describedBy\"\n [attr.aria-checked]=\"switchAriaChecked\"\n (change)=\"onNativeChange($event)\"\n (blur)=\"onBlur()\"\n />\n <span class=\"sdc-switch__track\" aria-hidden=\"true\">\n <span class=\"sdc-switch__thumb\"></span>\n </span>\n <span class=\"sdc-switch__state\">{{ value ? trueLabelText : falseLabelText }}</span>\n </label>\n } @else {\n <div\n class=\"sdc-switch__control sdc-switch__control--intercept\"\n [class.sdc-switch__control--invalid]=\"invalid\"\n [class.sdc-switch__control--disabled]=\"computedDisabled\"\n role=\"switch\"\n [attr.tabindex]=\"switchTabIndex\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-labelledby]=\"resolvedAriaLabelledBy\"\n [attr.aria-checked]=\"switchAriaChecked\"\n [attr.aria-disabled]=\"computedDisabled || readonly ? 'true' : null\"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-describedby]=\"describedBy\"\n (click)=\"onInterceptToggle($event)\"\n (keydown)=\"onInterceptKeydown($event)\"\n (blur)=\"onBlur()\"\n >\n <div class=\"sdc-switch__primitive sdc-switch__primitive--passive\">\n <input\n class=\"sdc-switch__input\"\n type=\"checkbox\"\n [id]=\"controlId\"\n [name]=\"identity.name\"\n [checked]=\"value\"\n [disabled]=\"computedDisabled\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-hidden]=\"'true'\"\n [attr.aria-checked]=\"switchAriaChecked\"\n [attr.tabindex]=\"-1\"\n />\n <span class=\"sdc-switch__track\" aria-hidden=\"true\">\n <span class=\"sdc-switch__thumb\"></span>\n </span>\n <span class=\"sdc-switch__state\">{{ value ? trueLabelText : falseLabelText }}</span>\n </div>\n </div>\n }\n\n @if (messageKey()) {\n <small\n [id]=\"messageId\"\n [ngClass]=\"getInvalidMessageClass()\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n {{ messageKey() | translate }}\n </small>\n }\n</div>\n", styles: [".sdc-switch{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.25rem}.sdc-switch .sdc-switch__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap, var(--sdc-form-label-gap));margin-bottom:var(--sdc-form-label-row-mb, var(--sdc-form-label-mb))}.sdc-switch .sdc-switch__label{display:inline-flex;align-items:center;margin-bottom:0;min-width:0;line-height:var(--sdc-form-label-lh, 1);padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py)}.sdc-switch .sdc-switch__label-text{display:inline-flex;align-items:center}.sdc-switch .required-field{margin-left:var(--sdc-form-required-ml);color:var(--sdc-form-required-color);font-weight:var(--sdc-form-required-weight)}.sdc-switch .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sdc-switch .sdc-switch__info-tooltip-wrap{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;margin:0}.sdc-switch .sdc-switch__info-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--sdc-form-tooltip-size);height:var(--sdc-form-tooltip-size);line-height:1;cursor:pointer;color:var(--sdc-form-tooltip-color)}.sdc-switch .sdc-switch__control{display:inline-flex;align-items:center;max-width:100%;border-radius:var(--sdc-formfield-border-radius);transition:box-shadow .18s ease,opacity .18s ease}.sdc-switch .sdc-switch__primitive{position:relative;display:inline-flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.sdc-switch .sdc-switch__primitive--passive{pointer-events:none}.sdc-switch .sdc-switch__input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.sdc-switch .sdc-switch__track{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;width:40px;height:24px;border-radius:999px;background-color:var(--sdc-switch-track-off, #a5a5b2);transition:background-color .18s ease,box-shadow .18s ease}.sdc-switch .sdc-switch__thumb{position:absolute;inset-block-start:4px;inset-inline-start:4px;width:16px;height:16px;border-radius:999px;background-color:var(--sdc-switch-thumb-bg, #ffffff);transition:transform .18s ease}.sdc-switch .sdc-switch__state{color:var(--sdc-switch-label-color, #212533);font-size:var(--sdc-switch-label-size, .875rem);line-height:1.5}.sdc-switch .sdc-switch__input:focus-visible+.sdc-switch__track{box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14))}.sdc-switch .sdc-switch__input:checked+.sdc-switch__track{background-color:var(--sdc-switch-track-on, #428bca)}.sdc-switch .sdc-switch__input:checked+.sdc-switch__track .sdc-switch__thumb{transform:translate(16px)}.sdc-switch .sdc-switch__control:focus-within{box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14));outline:0}.sdc-switch .sdc-switch__control--invalid{box-shadow:0 0 0 1px var(--sdc-formfield-invalid-border, var(--sdc-error-color, #d98888))}.sdc-switch .sdc-switch__control--invalid:focus-within,.sdc-switch .sdc-switch__control--invalid.sdc-switch__control--intercept:focus-visible{box-shadow:var(--sdc-formfield-invalid-focus-shadow, 0 0 0 2px rgba(217, 136, 136, .16))}.sdc-switch .sdc-switch__control--disabled{opacity:.6}.sdc-switch .sdc-switch__control--disabled .sdc-switch__primitive{cursor:not-allowed}.sdc-switch .sdc-switch__control--intercept{cursor:pointer}.sdc-switch .sdc-switch__control--intercept:focus-visible{box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14));outline:0}.sdc-switch .sdc-switch__control--intercept.sdc-switch__control--disabled{cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: TooltipComponent, selector: "sdc-tooltip", inputs: ["pTooltip", "tooltipPosition", "tooltipEvent", "fitContent", "tooltipDisabled", "allowHtml"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
133
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SwitchComponent, isStandalone: true, selector: "sdc-switch", inputs: { infoTooltip: "infoTooltip", infoTooltipPosition: "infoTooltipPosition", infoTooltipEvent: "infoTooltipEvent", trueLabel: "trueLabel", falseLabel: "falseLabel", readonly: "readonly", disabled: "disabled", ariaLabel: "ariaLabel", interceptChange: "interceptChange" }, outputs: { change: "onChange", changeRequest: "onChangeRequest" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SwitchComponent), multi: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-switch field-box\" [ngStyle]=\"getStyles()\">\n @if (labelKey() || hasTooltip) {\n <div class=\"sdc-switch__label-row\">\n @if (labelKey()) {\n <label\n [attr.id]=\"labelId\"\n [attr.for]=\"interceptChange ? null : controlId\"\n class=\"sdc-switch__label\"\n >\n <span class=\"sdc-switch__label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n }\n @if (required) {\n <span class=\"sr-only\">\n {{ 'platform.datacore.accessibility_required_field' | translate }}\n </span>\n }\n </span>\n </label>\n }\n @if (hasTooltip) {\n <sdc-tooltip\n class=\"sdc-switch__info-tooltip-wrap\"\n [pTooltip]=\"infoTooltipText\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipEvent]=\"infoTooltipEvent\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle sdc-switch__info-tooltip-icon\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n </div>\n }\n\n @if (!interceptChange) {\n <label\n class=\"sdc-switch__control sdc-switch__primitive\"\n [class.sdc-switch__control--invalid]=\"invalid\"\n [class.sdc-switch__control--disabled]=\"computedDisabled\"\n >\n <input\n class=\"sdc-switch__input\"\n type=\"checkbox\"\n [id]=\"controlId\"\n [name]=\"identity.name\"\n [checked]=\"value\"\n [disabled]=\"inputDisabled\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-labelledby]=\"resolvedAriaLabelledBy\"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-describedby]=\"describedBy\"\n [attr.aria-checked]=\"switchAriaChecked\"\n (change)=\"onNativeChange($event)\"\n (blur)=\"onBlur()\"\n />\n <span class=\"sdc-switch__track\" aria-hidden=\"true\">\n <span class=\"sdc-switch__thumb\"></span>\n </span>\n <span class=\"sdc-switch__state\">{{ value ? trueLabelText : falseLabelText }}</span>\n </label>\n } @else {\n <div\n class=\"sdc-switch__control sdc-switch__control--intercept\"\n [class.sdc-switch__control--invalid]=\"invalid\"\n [class.sdc-switch__control--disabled]=\"computedDisabled\"\n role=\"switch\"\n [attr.tabindex]=\"switchTabIndex\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-labelledby]=\"resolvedAriaLabelledBy\"\n [attr.aria-checked]=\"switchAriaChecked\"\n [attr.aria-disabled]=\"computedDisabled || readonly ? 'true' : null\"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-describedby]=\"describedBy\"\n (click)=\"onInterceptToggle($event)\"\n (keydown)=\"onInterceptKeydown($event)\"\n (blur)=\"onBlur()\"\n >\n <div class=\"sdc-switch__primitive sdc-switch__primitive--passive\">\n <input\n class=\"sdc-switch__input\"\n type=\"checkbox\"\n [id]=\"controlId\"\n [name]=\"identity.name\"\n [checked]=\"value\"\n [disabled]=\"computedDisabled\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-hidden]=\"'true'\"\n [attr.aria-checked]=\"switchAriaChecked\"\n [attr.tabindex]=\"-1\"\n />\n <span class=\"sdc-switch__track\" aria-hidden=\"true\">\n <span class=\"sdc-switch__thumb\"></span>\n </span>\n <span class=\"sdc-switch__state\">{{ value ? trueLabelText : falseLabelText }}</span>\n </div>\n </div>\n }\n\n @if (messageKey()) {\n <small\n [id]=\"messageId\"\n [ngClass]=\"getInvalidMessageClass()\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n {{ messageKey() | translate }}\n </small>\n }\n</div>\n", styles: [".sdc-switch{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.25rem}.sdc-switch .sdc-switch__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap, var(--sdc-form-label-gap));margin-bottom:var(--sdc-form-label-row-mb, var(--sdc-form-label-mb))}.sdc-switch .sdc-switch__label{display:inline-flex;align-items:center;margin-bottom:0;min-width:0;line-height:var(--sdc-form-label-lh, 1);padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py)}.sdc-switch .sdc-switch__label-text{display:inline-flex;align-items:center}.sdc-switch .required-field{margin-left:var(--sdc-form-required-ml);color:var(--sdc-form-required-color);font-weight:var(--sdc-form-required-weight)}.sdc-switch .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sdc-switch .sdc-switch__info-tooltip-wrap{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;margin:0}.sdc-switch .sdc-switch__info-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--sdc-form-tooltip-size);height:var(--sdc-form-tooltip-size);line-height:1;cursor:pointer;color:var(--sdc-form-tooltip-color)}.sdc-switch .sdc-switch__control{display:inline-flex;align-items:center;max-width:100%;border-radius:var(--sdc-formfield-border-radius);transition:box-shadow .18s ease,opacity .18s ease}.sdc-switch .sdc-switch__primitive{position:relative;display:inline-flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.sdc-switch .sdc-switch__primitive--passive{pointer-events:none}.sdc-switch .sdc-switch__input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.sdc-switch .sdc-switch__track{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;width:40px;height:24px;border-radius:999px;background-color:var(--sdc-switch-track-off, #a5a5b2);transition:background-color .18s ease,box-shadow .18s ease}.sdc-switch .sdc-switch__thumb{position:absolute;inset-block-start:4px;inset-inline-start:4px;width:16px;height:16px;border-radius:999px;background-color:var(--sdc-switch-thumb-bg, #ffffff);transition:transform .18s ease}.sdc-switch .sdc-switch__state{color:var(--sdc-switch-label-color, #212533);font-size:var(--sdc-switch-label-size, .875rem);line-height:1.5}.sdc-switch .sdc-switch__input:focus-visible+.sdc-switch__track{box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14))}.sdc-switch .sdc-switch__input:checked+.sdc-switch__track{background-color:var(--sdc-switch-track-on, #428bca)}.sdc-switch .sdc-switch__input:checked+.sdc-switch__track .sdc-switch__thumb{transform:translate(16px)}.sdc-switch .sdc-switch__control:focus-within{box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14));outline:0}.sdc-switch .sdc-switch__control--invalid{box-shadow:0 0 0 1px var(--sdc-formfield-invalid-border, var(--sdc-error-color, #d98888))}.sdc-switch .sdc-switch__control--invalid:focus-within,.sdc-switch .sdc-switch__control--invalid.sdc-switch__control--intercept:focus-visible{box-shadow:var(--sdc-formfield-invalid-focus-shadow, 0 0 0 2px rgba(217, 136, 136, .16))}.sdc-switch .sdc-switch__control--disabled{opacity:.6}.sdc-switch .sdc-switch__control--disabled .sdc-switch__primitive{cursor:not-allowed}.sdc-switch .sdc-switch__control--intercept{cursor:pointer}.sdc-switch .sdc-switch__control--intercept:focus-visible{box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14));outline:0}.sdc-switch .sdc-switch__control--intercept.sdc-switch__control--disabled{cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: TooltipComponent, selector: "sdc-tooltip", inputs: ["pTooltip", "tooltipPosition", "tooltipEvent", "fitContent", "tooltipDisabled", "allowHtml"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
134
134
  }
135
135
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SwitchComponent, decorators: [{
136
136
  type: Component,
137
- args: [{ selector: 'sdc-switch', standalone: true, imports: [CommonModule, TooltipComponent, TranslateModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SwitchComponent), multi: true }], template: "<div class=\"sdc-switch field-box\" [ngStyle]=\"getStyles()\">\n @if (labelKey() || hasTooltip) {\n <div class=\"sdc-switch__label-row\">\n @if (labelKey()) {\n <label\n [attr.id]=\"labelId\"\n [attr.for]=\"interceptChange ? null : controlId\"\n class=\"sdc-switch__label\"\n >\n <span class=\"sdc-switch__label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n }\n @if (required) {\n <span class=\"sr-only\">\n {{ 'platform.datacore.accessibility.required_field' | translate }}\n </span>\n }\n </span>\n </label>\n }\n @if (hasTooltip) {\n <sdc-tooltip\n class=\"sdc-switch__info-tooltip-wrap\"\n [pTooltip]=\"infoTooltipText\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipEvent]=\"infoTooltipEvent\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle sdc-switch__info-tooltip-icon\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n </div>\n }\n\n @if (!interceptChange) {\n <label\n class=\"sdc-switch__control sdc-switch__primitive\"\n [class.sdc-switch__control--invalid]=\"invalid\"\n [class.sdc-switch__control--disabled]=\"computedDisabled\"\n >\n <input\n class=\"sdc-switch__input\"\n type=\"checkbox\"\n [id]=\"controlId\"\n [name]=\"identity.name\"\n [checked]=\"value\"\n [disabled]=\"inputDisabled\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-labelledby]=\"resolvedAriaLabelledBy\"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-describedby]=\"describedBy\"\n [attr.aria-checked]=\"switchAriaChecked\"\n (change)=\"onNativeChange($event)\"\n (blur)=\"onBlur()\"\n />\n <span class=\"sdc-switch__track\" aria-hidden=\"true\">\n <span class=\"sdc-switch__thumb\"></span>\n </span>\n <span class=\"sdc-switch__state\">{{ value ? trueLabelText : falseLabelText }}</span>\n </label>\n } @else {\n <div\n class=\"sdc-switch__control sdc-switch__control--intercept\"\n [class.sdc-switch__control--invalid]=\"invalid\"\n [class.sdc-switch__control--disabled]=\"computedDisabled\"\n role=\"switch\"\n [attr.tabindex]=\"switchTabIndex\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-labelledby]=\"resolvedAriaLabelledBy\"\n [attr.aria-checked]=\"switchAriaChecked\"\n [attr.aria-disabled]=\"computedDisabled || readonly ? 'true' : null\"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-describedby]=\"describedBy\"\n (click)=\"onInterceptToggle($event)\"\n (keydown)=\"onInterceptKeydown($event)\"\n (blur)=\"onBlur()\"\n >\n <div class=\"sdc-switch__primitive sdc-switch__primitive--passive\">\n <input\n class=\"sdc-switch__input\"\n type=\"checkbox\"\n [id]=\"controlId\"\n [name]=\"identity.name\"\n [checked]=\"value\"\n [disabled]=\"computedDisabled\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-hidden]=\"'true'\"\n [attr.aria-checked]=\"switchAriaChecked\"\n [attr.tabindex]=\"-1\"\n />\n <span class=\"sdc-switch__track\" aria-hidden=\"true\">\n <span class=\"sdc-switch__thumb\"></span>\n </span>\n <span class=\"sdc-switch__state\">{{ value ? trueLabelText : falseLabelText }}</span>\n </div>\n </div>\n }\n\n @if (messageKey()) {\n <small\n [id]=\"messageId\"\n [ngClass]=\"getInvalidMessageClass()\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n {{ messageKey() | translate }}\n </small>\n }\n</div>\n", styles: [".sdc-switch{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.25rem}.sdc-switch .sdc-switch__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap, var(--sdc-form-label-gap));margin-bottom:var(--sdc-form-label-row-mb, var(--sdc-form-label-mb))}.sdc-switch .sdc-switch__label{display:inline-flex;align-items:center;margin-bottom:0;min-width:0;line-height:var(--sdc-form-label-lh, 1);padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py)}.sdc-switch .sdc-switch__label-text{display:inline-flex;align-items:center}.sdc-switch .required-field{margin-left:var(--sdc-form-required-ml);color:var(--sdc-form-required-color);font-weight:var(--sdc-form-required-weight)}.sdc-switch .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sdc-switch .sdc-switch__info-tooltip-wrap{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;margin:0}.sdc-switch .sdc-switch__info-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--sdc-form-tooltip-size);height:var(--sdc-form-tooltip-size);line-height:1;cursor:pointer;color:var(--sdc-form-tooltip-color)}.sdc-switch .sdc-switch__control{display:inline-flex;align-items:center;max-width:100%;border-radius:var(--sdc-formfield-border-radius);transition:box-shadow .18s ease,opacity .18s ease}.sdc-switch .sdc-switch__primitive{position:relative;display:inline-flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.sdc-switch .sdc-switch__primitive--passive{pointer-events:none}.sdc-switch .sdc-switch__input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.sdc-switch .sdc-switch__track{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;width:40px;height:24px;border-radius:999px;background-color:var(--sdc-switch-track-off, #a5a5b2);transition:background-color .18s ease,box-shadow .18s ease}.sdc-switch .sdc-switch__thumb{position:absolute;inset-block-start:4px;inset-inline-start:4px;width:16px;height:16px;border-radius:999px;background-color:var(--sdc-switch-thumb-bg, #ffffff);transition:transform .18s ease}.sdc-switch .sdc-switch__state{color:var(--sdc-switch-label-color, #212533);font-size:var(--sdc-switch-label-size, .875rem);line-height:1.5}.sdc-switch .sdc-switch__input:focus-visible+.sdc-switch__track{box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14))}.sdc-switch .sdc-switch__input:checked+.sdc-switch__track{background-color:var(--sdc-switch-track-on, #428bca)}.sdc-switch .sdc-switch__input:checked+.sdc-switch__track .sdc-switch__thumb{transform:translate(16px)}.sdc-switch .sdc-switch__control:focus-within{box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14));outline:0}.sdc-switch .sdc-switch__control--invalid{box-shadow:0 0 0 1px var(--sdc-formfield-invalid-border, var(--sdc-error-color, #d98888))}.sdc-switch .sdc-switch__control--invalid:focus-within,.sdc-switch .sdc-switch__control--invalid.sdc-switch__control--intercept:focus-visible{box-shadow:var(--sdc-formfield-invalid-focus-shadow, 0 0 0 2px rgba(217, 136, 136, .16))}.sdc-switch .sdc-switch__control--disabled{opacity:.6}.sdc-switch .sdc-switch__control--disabled .sdc-switch__primitive{cursor:not-allowed}.sdc-switch .sdc-switch__control--intercept{cursor:pointer}.sdc-switch .sdc-switch__control--intercept:focus-visible{box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14));outline:0}.sdc-switch .sdc-switch__control--intercept.sdc-switch__control--disabled{cursor:not-allowed}\n"] }]
137
+ args: [{ selector: 'sdc-switch', standalone: true, imports: [CommonModule, TooltipComponent, TranslateModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SwitchComponent), multi: true }], template: "<div class=\"sdc-switch field-box\" [ngStyle]=\"getStyles()\">\n @if (labelKey() || hasTooltip) {\n <div class=\"sdc-switch__label-row\">\n @if (labelKey()) {\n <label\n [attr.id]=\"labelId\"\n [attr.for]=\"interceptChange ? null : controlId\"\n class=\"sdc-switch__label\"\n >\n <span class=\"sdc-switch__label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n }\n @if (required) {\n <span class=\"sr-only\">\n {{ 'platform.datacore.accessibility_required_field' | translate }}\n </span>\n }\n </span>\n </label>\n }\n @if (hasTooltip) {\n <sdc-tooltip\n class=\"sdc-switch__info-tooltip-wrap\"\n [pTooltip]=\"infoTooltipText\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipEvent]=\"infoTooltipEvent\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle sdc-switch__info-tooltip-icon\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n </div>\n }\n\n @if (!interceptChange) {\n <label\n class=\"sdc-switch__control sdc-switch__primitive\"\n [class.sdc-switch__control--invalid]=\"invalid\"\n [class.sdc-switch__control--disabled]=\"computedDisabled\"\n >\n <input\n class=\"sdc-switch__input\"\n type=\"checkbox\"\n [id]=\"controlId\"\n [name]=\"identity.name\"\n [checked]=\"value\"\n [disabled]=\"inputDisabled\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-labelledby]=\"resolvedAriaLabelledBy\"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-describedby]=\"describedBy\"\n [attr.aria-checked]=\"switchAriaChecked\"\n (change)=\"onNativeChange($event)\"\n (blur)=\"onBlur()\"\n />\n <span class=\"sdc-switch__track\" aria-hidden=\"true\">\n <span class=\"sdc-switch__thumb\"></span>\n </span>\n <span class=\"sdc-switch__state\">{{ value ? trueLabelText : falseLabelText }}</span>\n </label>\n } @else {\n <div\n class=\"sdc-switch__control sdc-switch__control--intercept\"\n [class.sdc-switch__control--invalid]=\"invalid\"\n [class.sdc-switch__control--disabled]=\"computedDisabled\"\n role=\"switch\"\n [attr.tabindex]=\"switchTabIndex\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-labelledby]=\"resolvedAriaLabelledBy\"\n [attr.aria-checked]=\"switchAriaChecked\"\n [attr.aria-disabled]=\"computedDisabled || readonly ? 'true' : null\"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-describedby]=\"describedBy\"\n (click)=\"onInterceptToggle($event)\"\n (keydown)=\"onInterceptKeydown($event)\"\n (blur)=\"onBlur()\"\n >\n <div class=\"sdc-switch__primitive sdc-switch__primitive--passive\">\n <input\n class=\"sdc-switch__input\"\n type=\"checkbox\"\n [id]=\"controlId\"\n [name]=\"identity.name\"\n [checked]=\"value\"\n [disabled]=\"computedDisabled\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-hidden]=\"'true'\"\n [attr.aria-checked]=\"switchAriaChecked\"\n [attr.tabindex]=\"-1\"\n />\n <span class=\"sdc-switch__track\" aria-hidden=\"true\">\n <span class=\"sdc-switch__thumb\"></span>\n </span>\n <span class=\"sdc-switch__state\">{{ value ? trueLabelText : falseLabelText }}</span>\n </div>\n </div>\n }\n\n @if (messageKey()) {\n <small\n [id]=\"messageId\"\n [ngClass]=\"getInvalidMessageClass()\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n {{ messageKey() | translate }}\n </small>\n }\n</div>\n", styles: [".sdc-switch{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.25rem}.sdc-switch .sdc-switch__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap, var(--sdc-form-label-gap));margin-bottom:var(--sdc-form-label-row-mb, var(--sdc-form-label-mb))}.sdc-switch .sdc-switch__label{display:inline-flex;align-items:center;margin-bottom:0;min-width:0;line-height:var(--sdc-form-label-lh, 1);padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py)}.sdc-switch .sdc-switch__label-text{display:inline-flex;align-items:center}.sdc-switch .required-field{margin-left:var(--sdc-form-required-ml);color:var(--sdc-form-required-color);font-weight:var(--sdc-form-required-weight)}.sdc-switch .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sdc-switch .sdc-switch__info-tooltip-wrap{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;margin:0}.sdc-switch .sdc-switch__info-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--sdc-form-tooltip-size);height:var(--sdc-form-tooltip-size);line-height:1;cursor:pointer;color:var(--sdc-form-tooltip-color)}.sdc-switch .sdc-switch__control{display:inline-flex;align-items:center;max-width:100%;border-radius:var(--sdc-formfield-border-radius);transition:box-shadow .18s ease,opacity .18s ease}.sdc-switch .sdc-switch__primitive{position:relative;display:inline-flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.sdc-switch .sdc-switch__primitive--passive{pointer-events:none}.sdc-switch .sdc-switch__input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.sdc-switch .sdc-switch__track{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;width:40px;height:24px;border-radius:999px;background-color:var(--sdc-switch-track-off, #a5a5b2);transition:background-color .18s ease,box-shadow .18s ease}.sdc-switch .sdc-switch__thumb{position:absolute;inset-block-start:4px;inset-inline-start:4px;width:16px;height:16px;border-radius:999px;background-color:var(--sdc-switch-thumb-bg, #ffffff);transition:transform .18s ease}.sdc-switch .sdc-switch__state{color:var(--sdc-switch-label-color, #212533);font-size:var(--sdc-switch-label-size, .875rem);line-height:1.5}.sdc-switch .sdc-switch__input:focus-visible+.sdc-switch__track{box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14))}.sdc-switch .sdc-switch__input:checked+.sdc-switch__track{background-color:var(--sdc-switch-track-on, #428bca)}.sdc-switch .sdc-switch__input:checked+.sdc-switch__track .sdc-switch__thumb{transform:translate(16px)}.sdc-switch .sdc-switch__control:focus-within{box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14));outline:0}.sdc-switch .sdc-switch__control--invalid{box-shadow:0 0 0 1px var(--sdc-formfield-invalid-border, var(--sdc-error-color, #d98888))}.sdc-switch .sdc-switch__control--invalid:focus-within,.sdc-switch .sdc-switch__control--invalid.sdc-switch__control--intercept:focus-visible{box-shadow:var(--sdc-formfield-invalid-focus-shadow, 0 0 0 2px rgba(217, 136, 136, .16))}.sdc-switch .sdc-switch__control--disabled{opacity:.6}.sdc-switch .sdc-switch__control--disabled .sdc-switch__primitive{cursor:not-allowed}.sdc-switch .sdc-switch__control--intercept{cursor:pointer}.sdc-switch .sdc-switch__control--intercept:focus-visible{box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14));outline:0}.sdc-switch .sdc-switch__control--intercept.sdc-switch__control--disabled{cursor:not-allowed}\n"] }]
138
138
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.TranslateService }], propDecorators: { infoTooltip: [{
139
139
  type: Input
140
140
  }], infoTooltipPosition: [{
@@ -160,4 +160,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
160
160
  type: Output,
161
161
  args: ['onChangeRequest']
162
162
  }] } });
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvc3dpdGNoL3N3aXRjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3N3aXRjaC9zd2l0Y2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQW9CLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFVBQVUsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLCtCQUErQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7QUFZaEUsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZUFBd0I7SUFxQnhDO0lBQ0E7SUFyQlYsV0FBVyxHQUFrQixJQUFJLENBQUM7SUFDbEMsbUJBQW1CLEdBQW9CLE9BQU8sQ0FBQztJQUMvQyxnQkFBZ0IsR0FBaUIsTUFBTSxDQUFDO0lBRXhDLFNBQVMsR0FBRyw2QkFB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RSxnQkFBZ0IsOEpBQUUsZUFBZTs7NEZBTzlDLGVBQWU7a0JBVjNCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLENBQUMsbUJBR3pDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVEsYUFDOUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztxSEFHL0YsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNZLFFBQVE7c0JBQXpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVjLE1BQU07c0JBQXpCLE1BQU07dUJBQUMsVUFBVTtnQkFDUyxhQUFhO3NCQUF2QyxNQUFNO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGZvcndhcmRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmltcG9ydCB7IFNXSVRDSF9ERUZBVUxUX0ZBTFNFX0xBQkVMX0tFWSwgU1dJVENIX0RFRkFVTFRfVFJVRV9MQUJFTF9LRVkgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnN0YW50cy9zd2l0Y2guY29uc3QnO1xuaW1wb3J0IHsgSW5wdXRzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS9kaXJlY3RpdmVzL2lucHV0cy5kaXJlY3RpdmUnO1xuaW1wb3J0IHR5cGUgeyBUb29sdGlwRXZlbnQsIFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvdG9vbHRpcC50eXBlJztcbmltcG9ydCB7IG5leHRTZXF1ZW50aWFsSWQgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzL2lkLnV0aWwnO1xuaW1wb3J0IHsgcmVzb2x2ZU51bGxhYmxlVHJhbnNsYXRhYmxlVGV4dCwgcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzL2kxOG4udXRpbCc7XG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1zd2l0Y2gnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUb29sdGlwQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vc3dpdGNoLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3N3aXRjaC5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZCxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU3dpdGNoQ29tcG9uZW50KSwgbXVsdGk6IHRydWUgfV1cbn0pXG5leHBvcnQgY2xhc3MgU3dpdGNoQ29tcG9uZW50IGV4dGVuZHMgSW5wdXRzQ29tcG9uZW50PGJvb2xlYW4+IHtcbiAgQElucHV0KCkgaW5mb1Rvb2x0aXA6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBpbmZvVG9vbHRpcFBvc2l0aW9uOiBUb29sdGlwUG9zaXRpb24gPSAncmlnaHQnO1xuICBASW5wdXQoKSBpbmZvVG9vbHRpcEV2ZW50OiBUb29sdGlwRXZlbnQgPSAnYm90aCc7XG5cbiAgQElucHV0KCkgdHJ1ZUxhYmVsID0gU1dJVENIX0RFRkFVTFRfVFJVRV9MQUJFTF9LRVk7XG4gIEBJbnB1dCgpIGZhbHNlTGFiZWwgPSBTV0lUQ0hfREVGQVVMVF9GQUxTRV9MQUJFTF9LRVk7XG4gIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIG92ZXJyaWRlIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFyaWFMYWJlbD86IHN0cmluZztcbiAgQElucHV0KCkgaW50ZXJjZXB0Q2hhbmdlID0gZmFsc2U7XG5cbiAgQE91dHB1dCgnb25DaGFuZ2UnKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoJ29uQ2hhbmdlUmVxdWVzdCcpIGNoYW5nZVJlcXVlc3QgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHVibGljIG92ZXJyaWRlIHZhbHVlID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBnZW5lcmF0ZWRJZCA9IG5leHRTZXF1ZW50aWFsSWQoJ3NkYy1zd2l0Y2gnKTtcbiAgcHJpdmF0ZSBjb250cm9sRGlzYWJsZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlPy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jZHIubWFya0ZvckNoZWNrKCkpO1xuICB9XG5cbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWw6IGJvb2xlYW4gfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9ICEhdmFsO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb3ZlcnJpZGUgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgZ2V0IGNvbnRyb2xJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlkZW50aXR5LmlkID8/IHRoaXMuZ2VuZXJhdGVkSWQ7XG4gIH1cblxuICBnZXQgbGFiZWxJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmNvbnRyb2xJZH0tbGFiZWxgO1xuICB9XG5cbiAgZ2V0IG1lc3NhZ2VJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmNvbnRyb2xJZH0tZXJyb3JgO1xuICB9XG5cbiAgZ2V0IGRlc2NyaWJlZEJ5KCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLm1lc3NhZ2VLZXkoKSA/IHRoaXMubWVzc2FnZUlkIDogbnVsbDtcbiAgfVxuXG4gIGdldCBjb21wdXRlZERpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkIHx8IHRoaXMuY29udHJvbERpc2FibGVkO1xuICB9XG5cbiAgZ2V0IGlucHV0RGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29tcHV0ZWREaXNhYmxlZCB8fCB0aGlzLnJlYWRvbmx5O1xuICB9XG5cbiAgZ2V0IGhhc1Rvb2x0aXAoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5pbmZvVG9vbHRpcFRleHQ7XG4gIH1cblxuICBnZXQgc3dpdGNoUmVhZG9ubHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucmVhZG9ubHkgfHwgdGhpcy5pbnRlcmNlcHRDaGFuZ2U7XG4gIH1cblxuICBnZXQgc3dpdGNoVGFiSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jb21wdXRlZERpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkgPyAtMSA6IDA7XG4gIH1cblxuICBnZXQgaW5mb1Rvb2x0aXBUZXh0KCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiByZXNvbHZlTnVsbGFibGVUcmFuc2xhdGFibGVUZXh0KHRoaXMudHJhbnNsYXRlU2VydmljZSwgdGhpcy5pbmZvVG9vbHRpcCk7XG4gIH1cblxuICBnZXQgdHJ1ZUxhYmVsVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiByZXNvbHZlVHJhbnNsYXRhYmxlVGV4dCh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UsIHRoaXMudHJ1ZUxhYmVsKTtcbiAgfVxuXG4gIGdldCBmYWxzZUxhYmVsVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiByZXNvbHZlVHJhbnNsYXRhYmxlVGV4dCh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UsIHRoaXMuZmFsc2VMYWJlbCk7XG4gIH1cblxuICBnZXQgcmVzb2x2ZWRBcmlhTGFiZWwoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgY3VzdG9tQXJpYUxhYmVsID0gcmVzb2x2ZU51bGxhYmxlVHJhbnNsYXRhYmxlVGV4dCh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UsIHRoaXMuYXJpYUxhYmVsKTtcblxuICAgIGlmIChjdXN0b21BcmlhTGFiZWwpIHtcbiAgICAgIHJldHVybiBjdXN0b21BcmlhTGFiZWw7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubGFiZWxLZXkoKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0U3dpdGNoQXJpYUxhYmVsKCk7XG4gIH1cblxuICBnZXQgcmVzb2x2ZWRBcmlhTGFiZWxsZWRCeSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAodGhpcy5yZXNvbHZlZEFyaWFMYWJlbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMubGFiZWxLZXkoKSA/IHRoaXMubGFiZWxJZCA6IG51bGw7XG4gIH1cblxuICBnZXQgc3dpdGNoQXJpYUNoZWNrZWQoKTogJ3RydWUnIHwgJ2ZhbHNlJyB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUgPyAndHJ1ZScgOiAnZmFsc2UnO1xuICB9XG5cbiAgb25OYXRpdmVDaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW5wdXREaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG5leHQgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsKT8uY2hlY2tlZCA/PyBmYWxzZTtcbiAgICB0aGlzLmNvbW1pdFZhbHVlKCEhbmV4dCk7XG4gICAgdGhpcy5jaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG9uSW50ZXJjZXB0VG9nZ2xlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBpZiAodGhpcy5jb21wdXRlZERpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAoZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudCk/LmJsdXIoKTtcbiAgICB0aGlzLmNoYW5nZVJlcXVlc3QuZW1pdCghdGhpcy52YWx1ZSk7XG4gIH1cblxuICBvbkludGVyY2VwdEtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnRW50ZXInICYmIGV2ZW50LmtleSAhPT0gJyAnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5vbkludGVyY2VwdFRvZ2dsZShldmVudCk7XG4gIH1cblxuICBvbkJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3dpdGNoQXJpYUxhYmVsKCk6IHN0cmluZyB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLnZhbHVlID8gdGhpcy50cnVlTGFiZWxUZXh0IDogdGhpcy5mYWxzZUxhYmVsVGV4dDtcbiAgICBjb25zdCB0b2dnbGVMYWJlbCA9IHJlc29sdmVUcmFuc2xhdGFibGVUZXh0KFxuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgbnVsbCxcbiAgICAgICdwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5LnN3aXRjaF90b2dnbGUnXG4gICAgKTtcblxuICAgIHJldHVybiBgJHt0b2dnbGVMYWJlbH06ICR7c3RhdGV9YDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNkYy1zd2l0Y2ggZmllbGQtYm94XCIgW25nU3R5bGVdPVwiZ2V0U3R5bGVzKClcIj5cbiAgQGlmIChsYWJlbEtleSgpIHx8IGhhc1Rvb2x0aXApIHtcbiAgICA8ZGl2IGNsYXNzPVwic2RjLXN3aXRjaF9fbGFiZWwtcm93XCI+XG4gICAgICBAaWYgKGxhYmVsS2V5KCkpIHtcbiAgICAgICAgPGxhYmVsXG4gICAgICAgICAgW2F0dHIuaWRdPVwibGFiZWxJZFwiXG4gICAgICAgICAgW2F0dHIuZm9yXT1cImludGVyY2VwdENoYW5nZSA/IG51bGwgOiBjb250cm9sSWRcIlxuICAgICAgICAgIGNsYXNzPVwic2RjLXN3aXRjaF9fbGFiZWxcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtc3dpdGNoX19sYWJlbC10ZXh0XCI+XG4gICAgICAgICAgICB7eyBsYWJlbEtleSgpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICBAaWYgKHJlcXVpcmVkKSB7XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVxdWlyZWQtZmllbGRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj4qPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChyZXF1aXJlZCkge1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5cbiAgICAgICAgICAgICAgICB7eyAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5yZXF1aXJlZF9maWVsZCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIH1cbiAgICAgIEBpZiAoaGFzVG9vbHRpcCkge1xuICAgICAgICA8c2RjLXRvb2x0aXBcbiAgICAgICAgICBjbGFzcz1cInNkYy1zd2l0Y2hfX2luZm8tdG9vbHRpcC13cmFwXCJcbiAgICAgICAgICBbcFRvb2x0aXBdPVwiaW5mb1Rvb2x0aXBUZXh0XCJcbiAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cImluZm9Ub29sdGlwUG9zaXRpb25cIlxuICAgICAgICAgIFt0b29sdGlwRXZlbnRdPVwiaW5mb1Rvb2x0aXBFdmVudFwiXG4gICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgKGtleWRvd24pPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWluZm8tY2lyY2xlIHNkYy1zd2l0Y2hfX2luZm8tdG9vbHRpcC1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICA8L3NkYy10b29sdGlwPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG5cbiAgQGlmICghaW50ZXJjZXB0Q2hhbmdlKSB7XG4gICAgPGxhYmVsXG4gICAgICBjbGFzcz1cInNkYy1zd2l0Y2hfX2NvbnRyb2wgc2RjLXN3aXRjaF9fcHJpbWl0aXZlXCJcbiAgICAgIFtjbGFzcy5zZGMtc3dpdGNoX19jb250cm9sLS1pbnZhbGlkXT1cImludmFsaWRcIlxuICAgICAgW2NsYXNzLnNkYy1zd2l0Y2hfX2NvbnRyb2wtLWRpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgID5cbiAgICAgIDxpbnB1dFxuICAgICAgICBjbGFzcz1cInNkYy1zd2l0Y2hfX2lucHV0XCJcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgW2lkXT1cImNvbnRyb2xJZFwiXG4gICAgICAgIFtuYW1lXT1cImlkZW50aXR5Lm5hbWVcIlxuICAgICAgICBbY2hlY2tlZF09XCJ2YWx1ZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpbnB1dERpc2FibGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJyZXNvbHZlZEFyaWFMYWJlbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJyZXNvbHZlZEFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZCA/ICd0cnVlJyA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaW52YWxpZCA/ICd0cnVlJyA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImRlc2NyaWJlZEJ5XCJcbiAgICAgICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cInN3aXRjaEFyaWFDaGVja2VkXCJcbiAgICAgICAgKGNoYW5nZSk9XCJvbk5hdGl2ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgICAgLz5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2RjLXN3aXRjaF9fdHJhY2tcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtc3dpdGNoX190aHVtYlwiPjwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2RjLXN3aXRjaF9fc3RhdGVcIj57eyB2YWx1ZSA/IHRydWVMYWJlbFRleHQgOiBmYWxzZUxhYmVsVGV4dCB9fTwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuICB9IEBlbHNlIHtcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInNkYy1zd2l0Y2hfX2NvbnRyb2wgc2RjLXN3aXRjaF9fY29udHJvbC0taW50ZXJjZXB0XCJcbiAgICAgIFtjbGFzcy5zZGMtc3dpdGNoX19jb250cm9sLS1pbnZhbGlkXT1cImludmFsaWRcIlxuICAgICAgW2NsYXNzLnNkYy1zd2l0Y2hfX2NvbnRyb2wtLWRpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgcm9sZT1cInN3aXRjaFwiXG4gICAgICBbYXR0ci50YWJpbmRleF09XCJzd2l0Y2hUYWJJbmRleFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInJlc29sdmVkQXJpYUxhYmVsXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJyZXNvbHZlZEFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCJzd2l0Y2hBcmlhQ2hlY2tlZFwiXG4gICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWQgfHwgcmVhZG9ubHkgPyAndHJ1ZScgOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWQgPyAndHJ1ZScgOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJpbnZhbGlkID8gJ3RydWUnIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImRlc2NyaWJlZEJ5XCJcbiAgICAgIChjbGljayk9XCJvbkludGVyY2VwdFRvZ2dsZSgkZXZlbnQpXCJcbiAgICAgIChrZXlkb3duKT1cIm9uSW50ZXJjZXB0S2V5ZG93bigkZXZlbnQpXCJcbiAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwic2RjLXN3aXRjaF9fcHJpbWl0aXZlIHNkYy1zd2l0Y2hfX3ByaW1pdGl2ZS0tcGFzc2l2ZVwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBjbGFzcz1cInNkYy1zd2l0Y2hfX2lucHV0XCJcbiAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgIFtpZF09XCJjb250cm9sSWRcIlxuICAgICAgICAgIFtuYW1lXT1cImlkZW50aXR5Lm5hbWVcIlxuICAgICAgICAgIFtjaGVja2VkXT1cInZhbHVlXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiY29tcHV0ZWREaXNhYmxlZFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJyZXNvbHZlZEFyaWFMYWJlbFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiJ3RydWUnXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwic3dpdGNoQXJpYUNoZWNrZWRcIlxuICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cIi0xXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtc3dpdGNoX190cmFja1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLXN3aXRjaF9fdGh1bWJcIj48L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtc3dpdGNoX19zdGF0ZVwiPnt7IHZhbHVlID8gdHJ1ZUxhYmVsVGV4dCA6IGZhbHNlTGFiZWxUZXh0IH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cblxuICBAaWYgKG1lc3NhZ2VLZXkoKSkge1xuICAgIDxzbWFsbFxuICAgICAgW2lkXT1cIm1lc3NhZ2VJZFwiXG4gICAgICBbbmdDbGFzc109XCJnZXRJbnZhbGlkTWVzc2FnZUNsYXNzKClcIlxuICAgICAgcm9sZT1cImFsZXJ0XCJcbiAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgPlxuICAgICAge3sgbWVzc2FnZUtleSgpIHwgdHJhbnNsYXRlIH19XG4gICAgPC9zbWFsbD5cbiAgfVxuPC9kaXY+XG4iXX0=
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvc3dpdGNoL3N3aXRjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3N3aXRjaC9zd2l0Y2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQW9CLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFVBQVUsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLCtCQUErQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7QUFZaEUsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZUFBd0I7SUFxQnhDO0lBQ0E7SUFyQlYsV0FBVyxHQUFrQixJQUFJLENBQUM7SUFDbEMsbUJBQW1CLEdBQW9CLE9BQU8sQ0FBQztJQUMvQyxnQkFBZ0IsR0FBaUIsTUFBTSxDQUFDO0lBRXhDLFNBQVMsR0FBRyw2QkFB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RSxnQkFBZ0IsOEpBQUUsZUFBZTs7NEZBTzlDLGVBQWU7a0JBVjNCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLENBQUMsbUJBR3pDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVEsYUFDOUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztxSEFHL0YsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNZLFFBQVE7c0JBQXpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVjLE1BQU07c0JBQXpCLE1BQU07dUJBQUMsVUFBVTtnQkFDUyxhQUFhO3NCQUF2QyxNQUFNO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGZvcndhcmRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmltcG9ydCB7IFNXSVRDSF9ERUZBVUxUX0ZBTFNFX0xBQkVMX0tFWSwgU1dJVENIX0RFRkFVTFRfVFJVRV9MQUJFTF9LRVkgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnN0YW50cy9zd2l0Y2guY29uc3QnO1xuaW1wb3J0IHsgSW5wdXRzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS9kaXJlY3RpdmVzL2lucHV0cy5kaXJlY3RpdmUnO1xuaW1wb3J0IHR5cGUgeyBUb29sdGlwRXZlbnQsIFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvdG9vbHRpcC50eXBlJztcbmltcG9ydCB7IG5leHRTZXF1ZW50aWFsSWQgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzL2lkLnV0aWwnO1xuaW1wb3J0IHsgcmVzb2x2ZU51bGxhYmxlVHJhbnNsYXRhYmxlVGV4dCwgcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzL2kxOG4udXRpbCc7XG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1zd2l0Y2gnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUb29sdGlwQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vc3dpdGNoLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3N3aXRjaC5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZCxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU3dpdGNoQ29tcG9uZW50KSwgbXVsdGk6IHRydWUgfV1cbn0pXG5leHBvcnQgY2xhc3MgU3dpdGNoQ29tcG9uZW50IGV4dGVuZHMgSW5wdXRzQ29tcG9uZW50PGJvb2xlYW4+IHtcbiAgQElucHV0KCkgaW5mb1Rvb2x0aXA6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBpbmZvVG9vbHRpcFBvc2l0aW9uOiBUb29sdGlwUG9zaXRpb24gPSAncmlnaHQnO1xuICBASW5wdXQoKSBpbmZvVG9vbHRpcEV2ZW50OiBUb29sdGlwRXZlbnQgPSAnYm90aCc7XG5cbiAgQElucHV0KCkgdHJ1ZUxhYmVsID0gU1dJVENIX0RFRkFVTFRfVFJVRV9MQUJFTF9LRVk7XG4gIEBJbnB1dCgpIGZhbHNlTGFiZWwgPSBTV0lUQ0hfREVGQVVMVF9GQUxTRV9MQUJFTF9LRVk7XG4gIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIG92ZXJyaWRlIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFyaWFMYWJlbD86IHN0cmluZztcbiAgQElucHV0KCkgaW50ZXJjZXB0Q2hhbmdlID0gZmFsc2U7XG5cbiAgQE91dHB1dCgnb25DaGFuZ2UnKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoJ29uQ2hhbmdlUmVxdWVzdCcpIGNoYW5nZVJlcXVlc3QgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHVibGljIG92ZXJyaWRlIHZhbHVlID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBnZW5lcmF0ZWRJZCA9IG5leHRTZXF1ZW50aWFsSWQoJ3NkYy1zd2l0Y2gnKTtcbiAgcHJpdmF0ZSBjb250cm9sRGlzYWJsZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlPy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jZHIubWFya0ZvckNoZWNrKCkpO1xuICB9XG5cbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWw6IGJvb2xlYW4gfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9ICEhdmFsO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb3ZlcnJpZGUgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgZ2V0IGNvbnRyb2xJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlkZW50aXR5LmlkID8/IHRoaXMuZ2VuZXJhdGVkSWQ7XG4gIH1cblxuICBnZXQgbGFiZWxJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmNvbnRyb2xJZH0tbGFiZWxgO1xuICB9XG5cbiAgZ2V0IG1lc3NhZ2VJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmNvbnRyb2xJZH0tZXJyb3JgO1xuICB9XG5cbiAgZ2V0IGRlc2NyaWJlZEJ5KCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLm1lc3NhZ2VLZXkoKSA/IHRoaXMubWVzc2FnZUlkIDogbnVsbDtcbiAgfVxuXG4gIGdldCBjb21wdXRlZERpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkIHx8IHRoaXMuY29udHJvbERpc2FibGVkO1xuICB9XG5cbiAgZ2V0IGlucHV0RGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29tcHV0ZWREaXNhYmxlZCB8fCB0aGlzLnJlYWRvbmx5O1xuICB9XG5cbiAgZ2V0IGhhc1Rvb2x0aXAoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5pbmZvVG9vbHRpcFRleHQ7XG4gIH1cblxuICBnZXQgc3dpdGNoUmVhZG9ubHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucmVhZG9ubHkgfHwgdGhpcy5pbnRlcmNlcHRDaGFuZ2U7XG4gIH1cblxuICBnZXQgc3dpdGNoVGFiSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jb21wdXRlZERpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkgPyAtMSA6IDA7XG4gIH1cblxuICBnZXQgaW5mb1Rvb2x0aXBUZXh0KCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiByZXNvbHZlTnVsbGFibGVUcmFuc2xhdGFibGVUZXh0KHRoaXMudHJhbnNsYXRlU2VydmljZSwgdGhpcy5pbmZvVG9vbHRpcCk7XG4gIH1cblxuICBnZXQgdHJ1ZUxhYmVsVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiByZXNvbHZlVHJhbnNsYXRhYmxlVGV4dCh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UsIHRoaXMudHJ1ZUxhYmVsKTtcbiAgfVxuXG4gIGdldCBmYWxzZUxhYmVsVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiByZXNvbHZlVHJhbnNsYXRhYmxlVGV4dCh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UsIHRoaXMuZmFsc2VMYWJlbCk7XG4gIH1cblxuICBnZXQgcmVzb2x2ZWRBcmlhTGFiZWwoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgY3VzdG9tQXJpYUxhYmVsID0gcmVzb2x2ZU51bGxhYmxlVHJhbnNsYXRhYmxlVGV4dCh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UsIHRoaXMuYXJpYUxhYmVsKTtcblxuICAgIGlmIChjdXN0b21BcmlhTGFiZWwpIHtcbiAgICAgIHJldHVybiBjdXN0b21BcmlhTGFiZWw7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubGFiZWxLZXkoKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0U3dpdGNoQXJpYUxhYmVsKCk7XG4gIH1cblxuICBnZXQgcmVzb2x2ZWRBcmlhTGFiZWxsZWRCeSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAodGhpcy5yZXNvbHZlZEFyaWFMYWJlbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMubGFiZWxLZXkoKSA/IHRoaXMubGFiZWxJZCA6IG51bGw7XG4gIH1cblxuICBnZXQgc3dpdGNoQXJpYUNoZWNrZWQoKTogJ3RydWUnIHwgJ2ZhbHNlJyB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUgPyAndHJ1ZScgOiAnZmFsc2UnO1xuICB9XG5cbiAgb25OYXRpdmVDaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW5wdXREaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG5leHQgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsKT8uY2hlY2tlZCA/PyBmYWxzZTtcbiAgICB0aGlzLmNvbW1pdFZhbHVlKCEhbmV4dCk7XG4gICAgdGhpcy5jaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG9uSW50ZXJjZXB0VG9nZ2xlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBpZiAodGhpcy5jb21wdXRlZERpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAoZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudCk/LmJsdXIoKTtcbiAgICB0aGlzLmNoYW5nZVJlcXVlc3QuZW1pdCghdGhpcy52YWx1ZSk7XG4gIH1cblxuICBvbkludGVyY2VwdEtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnRW50ZXInICYmIGV2ZW50LmtleSAhPT0gJyAnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5vbkludGVyY2VwdFRvZ2dsZShldmVudCk7XG4gIH1cblxuICBvbkJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3dpdGNoQXJpYUxhYmVsKCk6IHN0cmluZyB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLnZhbHVlID8gdGhpcy50cnVlTGFiZWxUZXh0IDogdGhpcy5mYWxzZUxhYmVsVGV4dDtcbiAgICBjb25zdCB0b2dnbGVMYWJlbCA9IHJlc29sdmVUcmFuc2xhdGFibGVUZXh0KFxuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgbnVsbCxcbiAgICAgICdwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5X3N3aXRjaF90b2dnbGUnXG4gICAgKTtcblxuICAgIHJldHVybiBgJHt0b2dnbGVMYWJlbH06ICR7c3RhdGV9YDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNkYy1zd2l0Y2ggZmllbGQtYm94XCIgW25nU3R5bGVdPVwiZ2V0U3R5bGVzKClcIj5cbiAgQGlmIChsYWJlbEtleSgpIHx8IGhhc1Rvb2x0aXApIHtcbiAgICA8ZGl2IGNsYXNzPVwic2RjLXN3aXRjaF9fbGFiZWwtcm93XCI+XG4gICAgICBAaWYgKGxhYmVsS2V5KCkpIHtcbiAgICAgICAgPGxhYmVsXG4gICAgICAgICAgW2F0dHIuaWRdPVwibGFiZWxJZFwiXG4gICAgICAgICAgW2F0dHIuZm9yXT1cImludGVyY2VwdENoYW5nZSA/IG51bGwgOiBjb250cm9sSWRcIlxuICAgICAgICAgIGNsYXNzPVwic2RjLXN3aXRjaF9fbGFiZWxcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtc3dpdGNoX19sYWJlbC10ZXh0XCI+XG4gICAgICAgICAgICB7eyBsYWJlbEtleSgpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICBAaWYgKHJlcXVpcmVkKSB7XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVxdWlyZWQtZmllbGRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj4qPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChyZXF1aXJlZCkge1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5cbiAgICAgICAgICAgICAgICB7eyAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eV9yZXF1aXJlZF9maWVsZCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIH1cbiAgICAgIEBpZiAoaGFzVG9vbHRpcCkge1xuICAgICAgICA8c2RjLXRvb2x0aXBcbiAgICAgICAgICBjbGFzcz1cInNkYy1zd2l0Y2hfX2luZm8tdG9vbHRpcC13cmFwXCJcbiAgICAgICAgICBbcFRvb2x0aXBdPVwiaW5mb1Rvb2x0aXBUZXh0XCJcbiAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cImluZm9Ub29sdGlwUG9zaXRpb25cIlxuICAgICAgICAgIFt0b29sdGlwRXZlbnRdPVwiaW5mb1Rvb2x0aXBFdmVudFwiXG4gICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgKGtleWRvd24pPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWluZm8tY2lyY2xlIHNkYy1zd2l0Y2hfX2luZm8tdG9vbHRpcC1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICA8L3NkYy10b29sdGlwPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG5cbiAgQGlmICghaW50ZXJjZXB0Q2hhbmdlKSB7XG4gICAgPGxhYmVsXG4gICAgICBjbGFzcz1cInNkYy1zd2l0Y2hfX2NvbnRyb2wgc2RjLXN3aXRjaF9fcHJpbWl0aXZlXCJcbiAgICAgIFtjbGFzcy5zZGMtc3dpdGNoX19jb250cm9sLS1pbnZhbGlkXT1cImludmFsaWRcIlxuICAgICAgW2NsYXNzLnNkYy1zd2l0Y2hfX2NvbnRyb2wtLWRpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgID5cbiAgICAgIDxpbnB1dFxuICAgICAgICBjbGFzcz1cInNkYy1zd2l0Y2hfX2lucHV0XCJcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgW2lkXT1cImNvbnRyb2xJZFwiXG4gICAgICAgIFtuYW1lXT1cImlkZW50aXR5Lm5hbWVcIlxuICAgICAgICBbY2hlY2tlZF09XCJ2YWx1ZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpbnB1dERpc2FibGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJyZXNvbHZlZEFyaWFMYWJlbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJyZXNvbHZlZEFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZCA/ICd0cnVlJyA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaW52YWxpZCA/ICd0cnVlJyA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImRlc2NyaWJlZEJ5XCJcbiAgICAgICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cInN3aXRjaEFyaWFDaGVja2VkXCJcbiAgICAgICAgKGNoYW5nZSk9XCJvbk5hdGl2ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgICAgLz5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2RjLXN3aXRjaF9fdHJhY2tcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtc3dpdGNoX190aHVtYlwiPjwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2RjLXN3aXRjaF9fc3RhdGVcIj57eyB2YWx1ZSA/IHRydWVMYWJlbFRleHQgOiBmYWxzZUxhYmVsVGV4dCB9fTwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuICB9IEBlbHNlIHtcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInNkYy1zd2l0Y2hfX2NvbnRyb2wgc2RjLXN3aXRjaF9fY29udHJvbC0taW50ZXJjZXB0XCJcbiAgICAgIFtjbGFzcy5zZGMtc3dpdGNoX19jb250cm9sLS1pbnZhbGlkXT1cImludmFsaWRcIlxuICAgICAgW2NsYXNzLnNkYy1zd2l0Y2hfX2NvbnRyb2wtLWRpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgcm9sZT1cInN3aXRjaFwiXG4gICAgICBbYXR0ci50YWJpbmRleF09XCJzd2l0Y2hUYWJJbmRleFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInJlc29sdmVkQXJpYUxhYmVsXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJyZXNvbHZlZEFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCJzd2l0Y2hBcmlhQ2hlY2tlZFwiXG4gICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWQgfHwgcmVhZG9ubHkgPyAndHJ1ZScgOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWQgPyAndHJ1ZScgOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJpbnZhbGlkID8gJ3RydWUnIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImRlc2NyaWJlZEJ5XCJcbiAgICAgIChjbGljayk9XCJvbkludGVyY2VwdFRvZ2dsZSgkZXZlbnQpXCJcbiAgICAgIChrZXlkb3duKT1cIm9uSW50ZXJjZXB0S2V5ZG93bigkZXZlbnQpXCJcbiAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwic2RjLXN3aXRjaF9fcHJpbWl0aXZlIHNkYy1zd2l0Y2hfX3ByaW1pdGl2ZS0tcGFzc2l2ZVwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBjbGFzcz1cInNkYy1zd2l0Y2hfX2lucHV0XCJcbiAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgIFtpZF09XCJjb250cm9sSWRcIlxuICAgICAgICAgIFtuYW1lXT1cImlkZW50aXR5Lm5hbWVcIlxuICAgICAgICAgIFtjaGVja2VkXT1cInZhbHVlXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiY29tcHV0ZWREaXNhYmxlZFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJyZXNvbHZlZEFyaWFMYWJlbFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiJ3RydWUnXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwic3dpdGNoQXJpYUNoZWNrZWRcIlxuICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cIi0xXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtc3dpdGNoX190cmFja1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLXN3aXRjaF9fdGh1bWJcIj48L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtc3dpdGNoX19zdGF0ZVwiPnt7IHZhbHVlID8gdHJ1ZUxhYmVsVGV4dCA6IGZhbHNlTGFiZWxUZXh0IH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cblxuICBAaWYgKG1lc3NhZ2VLZXkoKSkge1xuICAgIDxzbWFsbFxuICAgICAgW2lkXT1cIm1lc3NhZ2VJZFwiXG4gICAgICBbbmdDbGFzc109XCJnZXRJbnZhbGlkTWVzc2FnZUNsYXNzKClcIlxuICAgICAgcm9sZT1cImFsZXJ0XCJcbiAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgPlxuICAgICAge3sgbWVzc2FnZUtleSgpIHwgdHJhbnNsYXRlIH19XG4gICAgPC9zbWFsbD5cbiAgfVxuPC9kaXY+XG4iXX0=
@@ -7,7 +7,7 @@ import * as i0 from "@angular/core";
7
7
  import * as i1 from "@ngx-translate/core";
8
8
  export class TableActionsMenuComponent {
9
9
  menuItems;
10
- ariaLabel = 'platform.datacore.accessibility.actions_menu';
10
+ ariaLabel = 'platform.datacore.accessibility_actions_menu';
11
11
  items = [];
12
12
  left = 0;
13
13
  menuId = '';
@@ -230,4 +230,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
230
230
  }], select: [{
231
231
  type: Output
232
232
  }] } });
233
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYWN0aW9ucy1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvdGFibGUvY29tcG9uZW50cy90YWJsZS1hY3Rpb25zLW1lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFHTCxvQkFBb0IsRUFDckIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQzs7O0FBOEd2RyxNQUFNLE9BQU8seUJBQXlCO0lBQ08sU0FBUyxDQUE0QztJQUV2RixTQUFTLEdBQUcsOENBQThDLENBQUM7SUFDM0QsS0FBSyxHQUEwQixFQUFFLENBQUM7SUFDbEMsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNULE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDWixHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ1IsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUVULEtBQUssR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQztJQUN0RCxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7SUFFakQsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRTNCLGVBQWU7UUFDYixjQUFjLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRVMsV0FBVyxDQUFDLEtBQWE7UUFDakMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtB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QVUsQ0FBQyxjQUFjLENBQUMsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO3dHQTlKVSx5QkFBeUI7NEZBQXpCLHlCQUF5QiwyVUF4RzFCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1DVCw2c0NBcENTLFlBQVksOEJBQUUsZUFBZSw0RkFBRSxxQkFBcUI7OzRGQXlHbkQseUJBQXlCO2tCQTVHckMsU0FBUzsrQkFDRSx3QkFBd0IsY0FDdEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsQ0FBQyxZQUNyRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQ1QsbUJBbUVnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUdKLFNBQVM7c0JBQW5ELFlBQVk7dUJBQUMsVUFBVTtnQkFFZixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksS0FBSztzQkFBZCxNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7XG4gIHR5cGUgVGFibGVBY3Rpb25NZW51Q2xvc2VFdmVudCxcbiAgdHlwZSBUYWJsZUFjdGlvbk1lbnVJdGVtLFxuICBUYWJsZU1lbnVGb2N1c1RhcmdldFxufSBmcm9tICcuLi8uLi8uLi9jb3JlL3R5cGVzL3RhYmxlLnR5cGUnO1xuaW1wb3J0IHsgSWNvblJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29yZS9jb21wb25lbnRzL2ljb24tcmVuZGVyZXIvaWNvbi1yZW5kZXJlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtdGFibGUtYWN0aW9ucy1tZW51JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBJY29uUmVuZGVyZXJDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2RjLWFjdGlvbnMtbWVudSBzZGMtYWN0aW9ucy1tZW51LS1wb3J0YWxcIlxuICAgICAgW2lkXT1cIm1lbnVJZCB8fCBudWxsXCJcbiAgICAgIFtzdHlsZS50b3AucHhdPVwidG9wXCJcbiAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImxlZnRcIlxuICAgICAgW3N0eWxlLm1pbi13aWR0aC5weF09XCJ3aWR0aFwiXG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCB8IHRyYW5zbGF0ZVwiXG4gICAgICBhcmlhLW9yaWVudGF0aW9uPVwidmVydGljYWxcIlxuICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgPlxuICAgICAgQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgaXRlbS5rZXkgKyAnLScgKyAkaW5kZXgpIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICNtZW51SXRlbVxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIHJvbGU9XCJtZW51aXRlbVwiXG4gICAgICAgICAgY2xhc3M9XCJzZGMtYWN0aW9ucy1pdGVtXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgW2NsYXNzLnNkYy1hY3Rpb25zLWl0ZW0tLWRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZCB8fCBudWxsXCJcbiAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJpdGVtLmRpc2FibGVkID8gLTEgOiAoYWN0aXZlSW5kZXggPT09ICRpbmRleCA/IDAgOiAtMSlcIlxuICAgICAgICAgIChmb2N1cyk9XCJvbkl0ZW1Gb2N1cygkaW5kZXgpXCJcbiAgICAgICAgICAoa2V5ZG93bik9XCJvbkl0ZW1LZXlkb3duKCRldmVudCwgJGluZGV4KVwiXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdC5lbWl0KGl0ZW0pXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLWFjdGlvbnMtaXRlbV9fY29udGVudFwiPlxuICAgICAgICAgICAgQGlmIChpdGVtLmljb24pIHtcbiAgICAgICAgICAgICAgPHNkYy1pY29uLXJlbmRlcmVyIFtpY29uXT1cIml0ZW0uaWNvblwiIFtzaXplXT1cIjEzXCI+PC9zZGMtaWNvbi1yZW5kZXJlcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0ubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIC5zZGMtYWN0aW9ucy1tZW51IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDFkNWRiO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuc2RjLWFjdGlvbnMtbWVudS0tcG9ydGFsIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHotaW5kZXg6IDIxNDc0ODM2NDc7XG4gICAgfVxuXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICBjb2xvcjogIzM3NDE1MTtcbiAgICAgIG1pbi1oZWlnaHQ6IDIuMjVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsIGNvbG9yIDAuMTVzIGVhc2U7XG4gICAgfVxuXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5zZGMtYWN0aW9ucy1pdGVtX19jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMC41cmVtO1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMC44NzVyZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB9XG5cbiAgICAuc2RjLWFjdGlvbnMtaXRlbTpob3Zlcjpub3QoOmRpc2FibGVkKSxcbiAgICAuc2RjLWFjdGlvbnMtaXRlbTpmb2N1cy12aXNpYmxlOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmOWZhZmI7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgIC5zZGMtYWN0aW9ucy1pdGVtOmRpc2FibGVkLFxuICAgIC5zZGMtYWN0aW9ucy1pdGVtLnNkYy1hY3Rpb25zLWl0ZW0tLWRpc2FibGVkLFxuICAgIC5zZGMtYWN0aW9ucy1pdGVtW2RhdGEtZGlzYWJsZWQ9J3RydWUnXSB7XG4gICAgICBjb2xvcjogIzljYTNhZjtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW06ZGlzYWJsZWQgLnNkYy1hY3Rpb25zLWl0ZW1fX2NvbnRlbnQsXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW0uc2RjLWFjdGlvbnMtaXRlbS0tZGlzYWJsZWQgLnNkYy1hY3Rpb25zLWl0ZW1fX2NvbnRlbnQsXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW1bZGF0YS1kaXNhYmxlZD0ndHJ1ZSddIC5zZGMtYWN0aW9ucy1pdGVtX19jb250ZW50IHtcbiAgICAgIG9wYWNpdHk6IDAuNTU7XG4gICAgfVxuICBgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVBY3Rpb25zTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBAVmlld0NoaWxkcmVuKCdtZW51SXRlbScpIHByaXZhdGUgcmVhZG9ubHkgbWVudUl0ZW1zITogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+PjtcblxuICBASW5wdXQoKSBhcmlhTGFiZWwgPSAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5hY3Rpb25zX21lbnUnO1xuICBASW5wdXQoKSBpdGVtczogVGFibGVBY3Rpb25NZW51SXRlbVtdID0gW107XG4gIEBJbnB1dCgpIGxlZnQgPSAwO1xuICBASW5wdXQoKSBtZW51SWQgPSAnJztcbiAgQElucHV0KCkgdG9wID0gMDtcbiAgQElucHV0KCkgd2lkdGggPSAwO1xuXG4gIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGFibGVBY3Rpb25NZW51Q2xvc2VFdmVudD4oKTtcbiAgQE91dHB1dCgpIHNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8VGFibGVBY3Rpb25NZW51SXRlbT4oKTtcblxuICBwcm90ZWN0ZWQgYWN0aXZlSW5kZXggPSAtMTtcblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgcXVldWVNaWNyb3Rhc2soKCkgPT4gdGhpcy5mb2N1c0ZpcnN0RW5hYmxlZEl0ZW0oKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25JdGVtRm9jdXMoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLml0ZW1zW2luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmFjdGl2ZUluZGV4ID0gaW5kZXg7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25JdGVtS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmZvY3VzUmVsYXRpdmUoaW5kZXgsIDEpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmZvY3VzUmVsYXRpdmUoaW5kZXgsIC0xKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdIb21lJzpcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5mb2N1c0VkZ2UoJ3N0YXJ0Jyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW5kJzpcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5mb2N1c0VkZ2UoJ2VuZCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0VzY2FwZSc6XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLmNsb3NlLmVtaXQoeyBmb2N1c1RhcmdldDogVGFibGVNZW51Rm9jdXNUYXJnZXQuVHJpZ2dlciB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdUYWInOlxuICAgICAgICB0aGlzLmhhbmRsZVRhYk5hdmlnYXRpb24oZXZlbnQsIGluZGV4KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c0ZpcnN0RW5hYmxlZEl0ZW0oKTogdm9pZCB7XG4gICAgdGhpcy5mb2N1c0VkZ2UoJ3N0YXJ0Jyk7XG4gIH1cblxuICBwcml2YXRlIGZvY3VzRWRnZShlZGdlOiAnc3RhcnQnIHwgJ2VuZCcpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkSW5kZXhlcyA9IHRoaXMuZW5hYmxlZEluZGV4ZXMoKTtcblxuICAgIGlmICghZW5hYmxlZEluZGV4ZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdGFyZ2V0SW5kZXggPSBlZGdlID09PSAnc3RhcnQnXG4gICAgICA/IGVuYWJsZWRJbmRleGVzWzBdXG4gICAgICA6IGVuYWJsZWRJbmRleGVzW2VuYWJsZWRJbmRleGVzLmxlbmd0aCAtIDFdO1xuXG4gICAgdGhpcy5mb2N1c0luZGV4KHRhcmdldEluZGV4KTtcbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNSZWxhdGl2ZShjdXJyZW50SW5kZXg6IG51bWJlciwgZGlyZWN0aW9uOiAxIHwgLTEpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkSW5kZXhlcyA9IHRoaXMuZW5hYmxlZEluZGV4ZXMoKTtcblxuICAgIGlmICghZW5hYmxlZEluZGV4ZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudEVuYWJsZWRQb3NpdGlvbiA9IGVuYWJsZWRJbmRleGVzLmluZGV4T2YoY3VycmVudEluZGV4KTtcbiAgICBjb25zdCBmYWxsYmFja1Bvc2l0aW9uID0gZGlyZWN0aW9uID09PSAxID8gLTEgOiAwO1xuICAgIGNvbnN0IGN1cnJlbnRQb3NpdGlvbiA9IGN1cnJlbnRFbmFibGVkUG9zaXRpb24gPT09IC0xID8gZmFsbGJhY2tQb3NpdGlvbiA6IGN1cnJlbnRFbmFibGVkUG9zaXRpb247XG4gICAgY29uc3QgbmV4dFBvc2l0aW9uID0gKGN1cnJlbnRQb3NpdGlvbiArIGRpcmVjdGlvbiArIGVuYWJsZWRJbmRleGVzLmxlbmd0aCkgJSBlbmFibGVkSW5kZXhlcy5sZW5ndGg7XG5cbiAgICB0aGlzLmZvY3VzSW5kZXgoZW5hYmxlZEluZGV4ZXNbbmV4dFBvc2l0aW9uXSk7XG4gIH1cblxuICBwcml2YXRlIGZvY3VzSW5kZXgoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLm1lbnVJdGVtcy5nZXQoaW5kZXgpPy5uYXRpdmVFbGVtZW50O1xuXG4gICAgaWYgKCFlbGVtZW50IHx8IGVsZW1lbnQuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmFjdGl2ZUluZGV4ID0gaW5kZXg7XG4gICAgZWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbmFibGVkSW5kZXhlcygpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlPG51bWJlcltdPigoaW5kZXhlcywgaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIGlmICghaXRlbS5kaXNhYmxlZCkge1xuICAgICAgICBpbmRleGVzLnB1c2goaW5kZXgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaW5kZXhlcztcbiAgICB9LCBbXSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVRhYk5hdmlnYXRpb24oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkSW5kZXhlcyA9IHRoaXMuZW5hYmxlZEluZGV4ZXMoKTtcblxuICAgIGlmICghZW5hYmxlZEluZGV4ZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmNsb3NlLmVtaXQoe1xuICAgICAgICBmb2N1c1RhcmdldDogZXZlbnQuc2hpZnRLZXkgPyBUYWJsZU1lbnVGb2N1c1RhcmdldC5QcmV2aW91cyA6IFRhYmxlTWVudUZvY3VzVGFyZ2V0Lk5leHRcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRFbmFibGVkUG9zaXRpb24gPSBlbmFibGVkSW5kZXhlcy5pbmRleE9mKGluZGV4KTtcblxuICAgIGlmIChjdXJyZW50RW5hYmxlZFBvc2l0aW9uID09PSAtMSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy5jbG9zZS5lbWl0KHtcbiAgICAgICAgZm9jdXNUYXJnZXQ6IGV2ZW50LnNoaWZ0S2V5ID8gVGFibGVNZW51Rm9jdXNUYXJnZXQuUHJldmlvdXMgOiBUYWJsZU1lbnVGb2N1c1RhcmdldC5OZXh0XG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpc0ZpcnN0RW5hYmxlZEl0ZW0gPSBjdXJyZW50RW5hYmxlZFBvc2l0aW9uID09PSAwO1xuICAgIGNvbnN0IGlzTGFzdEVuYWJsZWRJdGVtID0gY3VycmVudEVuYWJsZWRQb3NpdGlvbiA9PT0gZW5hYmxlZEluZGV4ZXMubGVuZ3RoIC0gMTtcblxuICAgIGlmIChldmVudC5zaGlmdEtleSkge1xuICAgICAgaWYgKGlzRmlyc3RFbmFibGVkSXRlbSkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5jbG9zZS5lbWl0KHsgZm9jdXNUYXJnZXQ6IFRhYmxlTWVudUZvY3VzVGFyZ2V0LlByZXZpb3VzIH0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLmZvY3VzSW5kZXgoZW5hYmxlZEluZGV4ZXNbY3VycmVudEVuYWJsZWRQb3NpdGlvbiAtIDFdKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNMYXN0RW5hYmxlZEl0ZW0pIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHRoaXMuY2xvc2UuZW1pdCh7IGZvY3VzVGFyZ2V0OiBUYWJsZU1lbnVGb2N1c1RhcmdldC5OZXh0IH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5mb2N1c0luZGV4KGVuYWJsZWRJbmRleGVzW2N1cnJlbnRFbmFibGVkUG9zaXRpb24gKyAxXSk7XG4gIH1cbn1cbiJdfQ==
233
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYWN0aW9ucy1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvdGFibGUvY29tcG9uZW50cy90YWJsZS1hY3Rpb25zLW1lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFHTCxvQkFBb0IsRUFDckIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQzs7O0FBOEd2RyxNQUFNLE9BQU8seUJBQXlCO0lBQ08sU0FBUyxDQUE0QztJQUV2RixTQUFTLEdBQUcsOENBQThDLENBQUM7SUFDM0QsS0FBSyxHQUEwQixFQUFFLENBQUM7SUFDbEMsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNULE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDWixHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ1IsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUVULEtBQUssR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQztJQUN0RCxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7SUFFakQsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRTNCLGVBQWU7UUFDYixjQUFjLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRVMsV0FBVyxDQUFDLEtBQWE7UUFDakMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVTLGFBQWEsQ0FBQyxLQUFvQixFQUFFLEtBQWE7UUFDekQsUUFBUSxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDbEIsS0FBSyxXQUFXO2dCQUNkLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzdCLE1BQU07WUFDUixLQUFLLFNBQVM7Z0JBQ1osS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM5QixNQUFNO1lBQ1IsS0FBSyxNQUFNO2dCQUNULEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDeEIsTUFBTTtZQUNSLEtBQUssS0FBSztnQkFDUixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3RCLE1BQU07WUFDUixLQUFLLFFBQVE7Z0JBQ1gsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7Z0JBQy9ELE1BQU07WUFDUixLQUFLLEtBQUs7Z0JBQ1IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDdkMsTUFBTTtZQUNSO2dCQUNFLE9BQU87UUFDWCxDQUFDO0lBQ0gsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFTyxTQUFTLENBQUMsSUFBcUI7UUFDckMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRTdDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0IsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLEtBQUssT0FBTztZQUNsQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztZQUNuQixDQUFDLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFOUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU8sYUFBYSxDQUFDLFlBQW9CLEVBQUUsU0FBaUI7UUFDM0QsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRTdDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0IsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLHNCQUFzQixHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEUsTUFBTSxnQkFBZ0IsR0FBRyxTQUFTLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sZUFBZSxHQUFHLHNCQUFzQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUM7UUFDbEcsTUFBTSxZQUFZLEdBQUcsQ0FBQyxlQUFlLEdBQUcsU0FBUyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDO1FBRW5HLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVPLFVBQVUsQ0FBQyxLQUFhO1FBQzlCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLGFBQWEsQ0FBQztRQUV6RCxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqQyxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU8sY0FBYztRQUNwQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFXLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUMxRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNuQixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RCLENBQUM7WUFFRCxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsS0FBb0IsRUFBRSxLQUFhO1FBQzdELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUU3QyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUNkLFdBQVcsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLElBQUk7YUFDeEYsQ0FBQyxDQUFDO1lBQ0gsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLHNCQUFzQixHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFN0QsSUFBSSxzQkFBc0IsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2xDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ2QsV0FBVyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsSUFBSTthQUN4RixDQUFDLENBQUM7WUFDSCxPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sa0JBQWtCLEdBQUcsc0JBQXNCLEtBQUssQ0FBQyxDQUFDO1FBQ3hELE1BQU0saUJBQWlCLEdBQUcsc0JBQXNCLEtBQUssY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFFL0UsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO2dCQUN2QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDaEUsT0FBTztZQUNULENBQUM7WUFFRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1RCxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUN0QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDNUQsT0FBTztRQUNULENBQUM7UUFFRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO3dHQTlKVSx5QkFBeUI7NEZBQXpCLHlCQUF5QiwyVUF4RzFCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1DVCw2c0NBcENTLFlBQVksOEJBQUUsZUFBZSw0RkFBRSxxQkFBcUI7OzRGQXlHbkQseUJBQXlCO2tCQTVHckMsU0FBUzsrQkFDRSx3QkFBd0IsY0FDdEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsQ0FBQyxZQUNyRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQ1QsbUJBbUVnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUdKLFNBQVM7c0JBQW5ELFlBQVk7dUJBQUMsVUFBVTtnQkFFZixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksS0FBSztzQkFBZCxNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7XG4gIHR5cGUgVGFibGVBY3Rpb25NZW51Q2xvc2VFdmVudCxcbiAgdHlwZSBUYWJsZUFjdGlvbk1lbnVJdGVtLFxuICBUYWJsZU1lbnVGb2N1c1RhcmdldFxufSBmcm9tICcuLi8uLi8uLi9jb3JlL3R5cGVzL3RhYmxlLnR5cGUnO1xuaW1wb3J0IHsgSWNvblJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29yZS9jb21wb25lbnRzL2ljb24tcmVuZGVyZXIvaWNvbi1yZW5kZXJlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtdGFibGUtYWN0aW9ucy1tZW51JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBJY29uUmVuZGVyZXJDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2RjLWFjdGlvbnMtbWVudSBzZGMtYWN0aW9ucy1tZW51LS1wb3J0YWxcIlxuICAgICAgW2lkXT1cIm1lbnVJZCB8fCBudWxsXCJcbiAgICAgIFtzdHlsZS50b3AucHhdPVwidG9wXCJcbiAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImxlZnRcIlxuICAgICAgW3N0eWxlLm1pbi13aWR0aC5weF09XCJ3aWR0aFwiXG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCB8IHRyYW5zbGF0ZVwiXG4gICAgICBhcmlhLW9yaWVudGF0aW9uPVwidmVydGljYWxcIlxuICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgPlxuICAgICAgQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgaXRlbS5rZXkgKyAnLScgKyAkaW5kZXgpIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICNtZW51SXRlbVxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIHJvbGU9XCJtZW51aXRlbVwiXG4gICAgICAgICAgY2xhc3M9XCJzZGMtYWN0aW9ucy1pdGVtXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgW2NsYXNzLnNkYy1hY3Rpb25zLWl0ZW0tLWRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZCB8fCBudWxsXCJcbiAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJpdGVtLmRpc2FibGVkID8gLTEgOiAoYWN0aXZlSW5kZXggPT09ICRpbmRleCA/IDAgOiAtMSlcIlxuICAgICAgICAgIChmb2N1cyk9XCJvbkl0ZW1Gb2N1cygkaW5kZXgpXCJcbiAgICAgICAgICAoa2V5ZG93bik9XCJvbkl0ZW1LZXlkb3duKCRldmVudCwgJGluZGV4KVwiXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdC5lbWl0KGl0ZW0pXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLWFjdGlvbnMtaXRlbV9fY29udGVudFwiPlxuICAgICAgICAgICAgQGlmIChpdGVtLmljb24pIHtcbiAgICAgICAgICAgICAgPHNkYy1pY29uLXJlbmRlcmVyIFtpY29uXT1cIml0ZW0uaWNvblwiIFtzaXplXT1cIjEzXCI+PC9zZGMtaWNvbi1yZW5kZXJlcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0ubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIC5zZGMtYWN0aW9ucy1tZW51IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDFkNWRiO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuc2RjLWFjdGlvbnMtbWVudS0tcG9ydGFsIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHotaW5kZXg6IDIxNDc0ODM2NDc7XG4gICAgfVxuXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICBjb2xvcjogIzM3NDE1MTtcbiAgICAgIG1pbi1oZWlnaHQ6IDIuMjVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsIGNvbG9yIDAuMTVzIGVhc2U7XG4gICAgfVxuXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5zZGMtYWN0aW9ucy1pdGVtX19jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMC41cmVtO1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMC44NzVyZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB9XG5cbiAgICAuc2RjLWFjdGlvbnMtaXRlbTpob3Zlcjpub3QoOmRpc2FibGVkKSxcbiAgICAuc2RjLWFjdGlvbnMtaXRlbTpmb2N1cy12aXNpYmxlOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmOWZhZmI7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgIC5zZGMtYWN0aW9ucy1pdGVtOmRpc2FibGVkLFxuICAgIC5zZGMtYWN0aW9ucy1pdGVtLnNkYy1hY3Rpb25zLWl0ZW0tLWRpc2FibGVkLFxuICAgIC5zZGMtYWN0aW9ucy1pdGVtW2RhdGEtZGlzYWJsZWQ9J3RydWUnXSB7XG4gICAgICBjb2xvcjogIzljYTNhZjtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW06ZGlzYWJsZWQgLnNkYy1hY3Rpb25zLWl0ZW1fX2NvbnRlbnQsXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW0uc2RjLWFjdGlvbnMtaXRlbS0tZGlzYWJsZWQgLnNkYy1hY3Rpb25zLWl0ZW1fX2NvbnRlbnQsXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW1bZGF0YS1kaXNhYmxlZD0ndHJ1ZSddIC5zZGMtYWN0aW9ucy1pdGVtX19jb250ZW50IHtcbiAgICAgIG9wYWNpdHk6IDAuNTU7XG4gICAgfVxuICBgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVBY3Rpb25zTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBAVmlld0NoaWxkcmVuKCdtZW51SXRlbScpIHByaXZhdGUgcmVhZG9ubHkgbWVudUl0ZW1zITogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+PjtcblxuICBASW5wdXQoKSBhcmlhTGFiZWwgPSAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eV9hY3Rpb25zX21lbnUnO1xuICBASW5wdXQoKSBpdGVtczogVGFibGVBY3Rpb25NZW51SXRlbVtdID0gW107XG4gIEBJbnB1dCgpIGxlZnQgPSAwO1xuICBASW5wdXQoKSBtZW51SWQgPSAnJztcbiAgQElucHV0KCkgdG9wID0gMDtcbiAgQElucHV0KCkgd2lkdGggPSAwO1xuXG4gIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGFibGVBY3Rpb25NZW51Q2xvc2VFdmVudD4oKTtcbiAgQE91dHB1dCgpIHNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8VGFibGVBY3Rpb25NZW51SXRlbT4oKTtcblxuICBwcm90ZWN0ZWQgYWN0aXZlSW5kZXggPSAtMTtcblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgcXVldWVNaWNyb3Rhc2soKCkgPT4gdGhpcy5mb2N1c0ZpcnN0RW5hYmxlZEl0ZW0oKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25JdGVtRm9jdXMoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLml0ZW1zW2luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmFjdGl2ZUluZGV4ID0gaW5kZXg7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25JdGVtS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmZvY3VzUmVsYXRpdmUoaW5kZXgsIDEpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmZvY3VzUmVsYXRpdmUoaW5kZXgsIC0xKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdIb21lJzpcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5mb2N1c0VkZ2UoJ3N0YXJ0Jyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW5kJzpcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5mb2N1c0VkZ2UoJ2VuZCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0VzY2FwZSc6XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLmNsb3NlLmVtaXQoeyBmb2N1c1RhcmdldDogVGFibGVNZW51Rm9jdXNUYXJnZXQuVHJpZ2dlciB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdUYWInOlxuICAgICAgICB0aGlzLmhhbmRsZVRhYk5hdmlnYXRpb24oZXZlbnQsIGluZGV4KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c0ZpcnN0RW5hYmxlZEl0ZW0oKTogdm9pZCB7XG4gICAgdGhpcy5mb2N1c0VkZ2UoJ3N0YXJ0Jyk7XG4gIH1cblxuICBwcml2YXRlIGZvY3VzRWRnZShlZGdlOiAnc3RhcnQnIHwgJ2VuZCcpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkSW5kZXhlcyA9IHRoaXMuZW5hYmxlZEluZGV4ZXMoKTtcblxuICAgIGlmICghZW5hYmxlZEluZGV4ZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdGFyZ2V0SW5kZXggPSBlZGdlID09PSAnc3RhcnQnXG4gICAgICA/IGVuYWJsZWRJbmRleGVzWzBdXG4gICAgICA6IGVuYWJsZWRJbmRleGVzW2VuYWJsZWRJbmRleGVzLmxlbmd0aCAtIDFdO1xuXG4gICAgdGhpcy5mb2N1c0luZGV4KHRhcmdldEluZGV4KTtcbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNSZWxhdGl2ZShjdXJyZW50SW5kZXg6IG51bWJlciwgZGlyZWN0aW9uOiAxIHwgLTEpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkSW5kZXhlcyA9IHRoaXMuZW5hYmxlZEluZGV4ZXMoKTtcblxuICAgIGlmICghZW5hYmxlZEluZGV4ZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudEVuYWJsZWRQb3NpdGlvbiA9IGVuYWJsZWRJbmRleGVzLmluZGV4T2YoY3VycmVudEluZGV4KTtcbiAgICBjb25zdCBmYWxsYmFja1Bvc2l0aW9uID0gZGlyZWN0aW9uID09PSAxID8gLTEgOiAwO1xuICAgIGNvbnN0IGN1cnJlbnRQb3NpdGlvbiA9IGN1cnJlbnRFbmFibGVkUG9zaXRpb24gPT09IC0xID8gZmFsbGJhY2tQb3NpdGlvbiA6IGN1cnJlbnRFbmFibGVkUG9zaXRpb247XG4gICAgY29uc3QgbmV4dFBvc2l0aW9uID0gKGN1cnJlbnRQb3NpdGlvbiArIGRpcmVjdGlvbiArIGVuYWJsZWRJbmRleGVzLmxlbmd0aCkgJSBlbmFibGVkSW5kZXhlcy5sZW5ndGg7XG5cbiAgICB0aGlzLmZvY3VzSW5kZXgoZW5hYmxlZEluZGV4ZXNbbmV4dFBvc2l0aW9uXSk7XG4gIH1cblxuICBwcml2YXRlIGZvY3VzSW5kZXgoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLm1lbnVJdGVtcy5nZXQoaW5kZXgpPy5uYXRpdmVFbGVtZW50O1xuXG4gICAgaWYgKCFlbGVtZW50IHx8IGVsZW1lbnQuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmFjdGl2ZUluZGV4ID0gaW5kZXg7XG4gICAgZWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbmFibGVkSW5kZXhlcygpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlPG51bWJlcltdPigoaW5kZXhlcywgaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIGlmICghaXRlbS5kaXNhYmxlZCkge1xuICAgICAgICBpbmRleGVzLnB1c2goaW5kZXgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaW5kZXhlcztcbiAgICB9LCBbXSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVRhYk5hdmlnYXRpb24oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkSW5kZXhlcyA9IHRoaXMuZW5hYmxlZEluZGV4ZXMoKTtcblxuICAgIGlmICghZW5hYmxlZEluZGV4ZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmNsb3NlLmVtaXQoe1xuICAgICAgICBmb2N1c1RhcmdldDogZXZlbnQuc2hpZnRLZXkgPyBUYWJsZU1lbnVGb2N1c1RhcmdldC5QcmV2aW91cyA6IFRhYmxlTWVudUZvY3VzVGFyZ2V0Lk5leHRcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRFbmFibGVkUG9zaXRpb24gPSBlbmFibGVkSW5kZXhlcy5pbmRleE9mKGluZGV4KTtcblxuICAgIGlmIChjdXJyZW50RW5hYmxlZFBvc2l0aW9uID09PSAtMSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy5jbG9zZS5lbWl0KHtcbiAgICAgICAgZm9jdXNUYXJnZXQ6IGV2ZW50LnNoaWZ0S2V5ID8gVGFibGVNZW51Rm9jdXNUYXJnZXQuUHJldmlvdXMgOiBUYWJsZU1lbnVGb2N1c1RhcmdldC5OZXh0XG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpc0ZpcnN0RW5hYmxlZEl0ZW0gPSBjdXJyZW50RW5hYmxlZFBvc2l0aW9uID09PSAwO1xuICAgIGNvbnN0IGlzTGFzdEVuYWJsZWRJdGVtID0gY3VycmVudEVuYWJsZWRQb3NpdGlvbiA9PT0gZW5hYmxlZEluZGV4ZXMubGVuZ3RoIC0gMTtcblxuICAgIGlmIChldmVudC5zaGlmdEtleSkge1xuICAgICAgaWYgKGlzRmlyc3RFbmFibGVkSXRlbSkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5jbG9zZS5lbWl0KHsgZm9jdXNUYXJnZXQ6IFRhYmxlTWVudUZvY3VzVGFyZ2V0LlByZXZpb3VzIH0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLmZvY3VzSW5kZXgoZW5hYmxlZEluZGV4ZXNbY3VycmVudEVuYWJsZWRQb3NpdGlvbiAtIDFdKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNMYXN0RW5hYmxlZEl0ZW0pIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHRoaXMuY2xvc2UuZW1pdCh7IGZvY3VzVGFyZ2V0OiBUYWJsZU1lbnVGb2N1c1RhcmdldC5OZXh0IH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5mb2N1c0luZGV4KGVuYWJsZWRJbmRleGVzW2N1cnJlbnRFbmFibGVkUG9zaXRpb24gKyAxXSk7XG4gIH1cbn1cbiJdfQ==