@seniorsistemas/data-seniorx-core 2.1.0 → 2.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 (97) hide show
  1. package/core/constants/chips.const.d.ts +1 -0
  2. package/core/constants/combobox.const.d.ts +1 -1
  3. package/core/constants/fileupload.const.d.ts +9 -0
  4. package/core/constants/icon-picker.const.d.ts +1 -0
  5. package/core/constants/picklist.const.d.ts +1 -0
  6. package/core/constants/table.const.d.ts +43 -0
  7. package/core/types/button.type.d.ts +18 -2
  8. package/core/types/fileupload.type.d.ts +17 -0
  9. package/core/types/filters.type.d.ts +4 -0
  10. package/core/types/table-column.type.d.ts +31 -0
  11. package/core/types/table-options.type.d.ts +90 -0
  12. package/core/types/table-shared.type.d.ts +13 -0
  13. package/core/types/table-visual.type.d.ts +23 -0
  14. package/core/types/table.type.d.ts +4 -113
  15. package/core/utils/layout.util.d.ts +4 -0
  16. package/esm2022/core/constants/chips.const.mjs +2 -1
  17. package/esm2022/core/constants/combobox.const.mjs +2 -2
  18. package/esm2022/core/constants/fileupload.const.mjs +10 -0
  19. package/esm2022/core/constants/icon-picker.const.mjs +76 -1
  20. package/esm2022/core/constants/picklist.const.mjs +2 -1
  21. package/esm2022/core/constants/table.const.mjs +53 -6
  22. package/esm2022/core/types/button.type.mjs +1 -1
  23. package/esm2022/core/types/fileupload.type.mjs +2 -0
  24. package/esm2022/core/types/filters.type.mjs +1 -1
  25. package/esm2022/core/types/table-column.type.mjs +2 -0
  26. package/esm2022/core/types/table-options.type.mjs +2 -0
  27. package/esm2022/core/types/table-shared.type.mjs +2 -0
  28. package/esm2022/core/types/table-visual.type.mjs +2 -0
  29. package/esm2022/core/types/table.type.mjs +1 -1
  30. package/esm2022/core/utils/combobox.util.mjs +2 -2
  31. package/esm2022/core/utils/layout.util.mjs +21 -5
  32. package/esm2022/features/accordion/accordion-item.component.mjs +1 -1
  33. package/esm2022/features/badge/badge.component.mjs +1 -1
  34. package/esm2022/features/button/button.component.mjs +76 -11
  35. package/esm2022/features/button/components/button-menu.component.mjs +81 -0
  36. package/esm2022/features/card-list/card/card.component.mjs +3 -3
  37. package/esm2022/features/checkbox/checkbox.component.mjs +3 -3
  38. package/esm2022/features/chips/chips.component.mjs +8 -5
  39. package/esm2022/features/color-picker/color-picker.component.mjs +1 -1
  40. package/esm2022/features/combobox/combobox.component.mjs +17 -4
  41. package/esm2022/features/fileupload/fileupload.component.mjs +311 -0
  42. package/esm2022/features/filters/filters.component.mjs +3 -3
  43. package/esm2022/features/hyperlink/hyperlink.component.mjs +3 -3
  44. package/esm2022/features/icon-picker/icon-picker.component.mjs +34 -7
  45. package/esm2022/features/info-sign/info-sign.component.mjs +1 -1
  46. package/esm2022/features/mask/mask.component.mjs +1 -1
  47. package/esm2022/features/modal/modal.component.mjs +1 -1
  48. package/esm2022/features/number-input/number-input.component.mjs +1 -1
  49. package/esm2022/features/paginator/paginator.component.mjs +3 -3
  50. package/esm2022/features/picklist/picklist.component.mjs +33 -6
  51. package/esm2022/features/row-card-list/row-card/row-card.component.mjs +3 -3
  52. package/esm2022/features/searchbox/searchbox.component.mjs +3 -3
  53. package/esm2022/features/stats-card/stats-card.component.mjs +1 -1
  54. package/esm2022/features/switch/switch.component.mjs +3 -2
  55. package/esm2022/features/table/components/table-actions-menu.component.mjs +86 -0
  56. package/esm2022/features/table/components/table-cell-content.component.mjs +124 -0
  57. package/esm2022/features/table/components/table-sort-indicator.component.mjs +65 -0
  58. package/esm2022/features/table/table.component.mjs +116 -319
  59. package/esm2022/features/table/utils/table-config.util.mjs +35 -0
  60. package/esm2022/features/table/utils/table-data.util.mjs +96 -0
  61. package/esm2022/features/table/utils/table-layout.util.mjs +25 -0
  62. package/esm2022/features/table/utils/table-truncate.pipe.mjs +19 -0
  63. package/esm2022/features/table/utils/table-visual.util.mjs +221 -0
  64. package/esm2022/features/textarea/textarea.component.mjs +1 -1
  65. package/esm2022/features/textbox/textbox.component.mjs +1 -1
  66. package/esm2022/features/tooltip/tooltip.component.mjs +12 -3
  67. package/esm2022/features/visual-sql-editor/visual-sql-editor.component.mjs +2 -2
  68. package/esm2022/locales/en.json +194 -0
  69. package/esm2022/locales/es-CO.json +187 -1
  70. package/esm2022/locales/pt.json +194 -0
  71. package/esm2022/providers/features.provider.mjs +3 -1
  72. package/esm2022/public-api.mjs +3 -1
  73. package/features/button/button.component.d.ts +14 -7
  74. package/features/button/components/button-menu.component.d.ts +25 -0
  75. package/features/chips/chips.component.d.ts +1 -0
  76. package/features/combobox/combobox.component.d.ts +4 -1
  77. package/features/fileupload/fileupload.component.d.ts +66 -0
  78. package/features/icon-picker/icon-picker.component.d.ts +3 -0
  79. package/features/modal/modal.component.d.ts +1 -1
  80. package/features/picklist/picklist.component.d.ts +6 -1
  81. package/features/table/components/table-actions-menu.component.d.ts +12 -0
  82. package/features/table/components/table-cell-content.component.d.ts +41 -0
  83. package/features/table/components/table-sort-indicator.component.d.ts +11 -0
  84. package/features/table/table.component.d.ts +28 -44
  85. package/features/table/utils/table-config.util.d.ts +3 -0
  86. package/features/table/utils/table-data.util.d.ts +10 -0
  87. package/features/table/utils/table-layout.util.d.ts +4 -0
  88. package/features/table/utils/table-truncate.pipe.d.ts +12 -0
  89. package/features/table/utils/table-visual.util.d.ts +21 -0
  90. package/features/tooltip/tooltip.component.d.ts +3 -1
  91. package/fesm2022/seniorsistemas-data-seniorx-core.mjs +3525 -1848
  92. package/fesm2022/seniorsistemas-data-seniorx-core.mjs.map +1 -1
  93. package/package.json +1 -1
  94. package/public-api.d.ts +5 -2
  95. package/src/locales/en.json +194 -0
  96. package/src/locales/es-CO.json +187 -1
  97. package/src/locales/pt.json +194 -0
@@ -131,11 +131,11 @@ export class CardMiniComponent {
131
131
  event?.stopPropagation();
132
132
  }
133
133
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardMiniComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
134
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CardMiniComponent, isStandalone: true, selector: "sdc-card-mini", inputs: { data: "data", options: "options" }, outputs: { cardAction: "cardAction" }, ngImport: i0, template: "<article class=\"sdc-card-mini dp-card\" [attr.aria-label]=\"fullName + ' - ' + fullCategory\">\n <header class=\"sdc-card__header\">\n <div class=\"sdc-card__icon\" [style.background]=\"options?.backgroundIcon\" [style.color]=\"options?.iconColor\">\n <i [class]=\"data.icon || options?.icon\" aria-hidden=\"true\"></i>\n </div>\n\n <div class=\"sdc-card__header-text\">\n <h2 class=\"sdc-card__title\" [attr.aria-expanded]=\"isNameTruncated ? expandedName : null\">\n @if (!expandedName) {\n {{ shortName }}@if (isNameTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__ellipsis\"\n [attr.aria-label]=\"expandNameAriaLabelKey | translate\"\n (click)=\"expandName($event)\"\n (keydown.enter)=\"onNameEllipsisEnter($event)\"\n (keydown.space)=\"onNameEllipsisSpace($event)\"\n >...</button\n >\n }\n } @else {\n {{ fullName }}\n }\n </h2>\n\n @if (expandedName && isNameTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__toggle sdc-card__toggle--inline\"\n (click)=\"collapseName($event)\"\n [attr.aria-label]=\"collapseNameAriaLabelKey | translate\"\n >\n {{ showLessLabelKey | translate }}\n </button>\n }\n\n <div class=\"sdc-card__subtitle\" [attr.aria-expanded]=\"isCategoryTruncated ? expandedCategory : null\">\n @if (!expandedCategory) {\n {{ shortCategory }}@if (isCategoryTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__ellipsis\"\n [attr.aria-label]=\"expandCategoryAriaLabelKey | translate\"\n (click)=\"expandCategory($event)\"\n (keydown.enter)=\"onCategoryEllipsisEnter($event)\"\n (keydown.space)=\"onCategoryEllipsisSpace($event)\"\n >...</button\n >\n }\n } @else {\n {{ fullCategory }}\n }\n </div>\n\n @if (expandedCategory && isCategoryTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__toggle sdc-card__toggle--inline\"\n (click)=\"collapseCategory($event)\"\n [attr.aria-label]=\"collapseCategoryAriaLabelKey | translate\"\n >\n {{ showLessLabelKey | translate }}\n </button>\n }\n </div>\n </header>\n\n <div class=\"sdc-card__body\">\n <div class=\"sdc-card__content\">\n @if (descriptionLabel) {\n <div class=\"sdc-card__description-label\">{{ descriptionLabel }}</div>\n }\n\n <p class=\"sdc-card__description\" [attr.aria-expanded]=\"isDescriptionTruncated ? expandedDescription : null\">\n @if (!expandedDescription) {\n {{ shortDescription }}@if (isDescriptionTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__ellipsis\"\n [attr.aria-label]=\"expandDescriptionAriaLabelKey | translate\"\n (click)=\"expandDescription($event)\"\n (keydown.enter)=\"onDescriptionEllipsisEnter($event)\"\n (keydown.space)=\"onDescriptionEllipsisSpace($event)\"\n >...</button\n >\n }\n } @else {\n {{ fullDescription }}\n }\n </p>\n\n @if (expandedDescription && isDescriptionTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__toggle\"\n (click)=\"collapseDescription($event)\"\n [attr.aria-label]=\"collapseDescriptionAriaLabelKey | translate\"\n >\n {{ showLessLabelKey | translate }}\n </button>\n }\n </div>\n </div>\n\n <footer class=\"sdc-card__footer flex justify-content-end\">\n <div class=\"sdc-card__footer-action\">\n <sdc-button\n width=\"100%\"\n (onClick)=\"cardAction.emit(data)\"\n [priority]=\"options?.buttonPriority!\"\n [label]=\"options?.buttonLabel!\"\n [attr.aria-label]=\"buttonAriaLabel\"\n >\n </sdc-button>\n </div>\n </footer>\n</article>\n", styles: [":host{display:block}.sdc-card-mini{width:100%;border-radius:var(--sdc-formfield-border-radius);border:var(--sdc-surface-border);overflow:hidden;display:flex;padding:var(--sdc-card-padding, 7px);flex-direction:column;min-height:var(--sdc-card-min-height, 19rem)}.sdc-card__header{display:flex;align-items:flex-start;justify-content:flex-start;gap:var(--sdc-card-header-gap, .75rem);padding:var(--sdc-card-header-padding, max(0px, var(--sdc-card-header-vertical-spacing, 1.25rem) - var(--sdc-card-padding, 7px)) var(--sdc-card-header-padding-x, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))) var(--sdc-card-header-vertical-spacing, 1.25rem));position:relative;border-bottom:none}.sdc-card__header:after{content:\"\";position:absolute;bottom:0;left:calc(-1 * var(--sdc-card-padding, 7px));right:calc(-1 * var(--sdc-card-padding, 7px));border-bottom:var(--sdc-card-divider-border, var(--sdc-surface-divider-border))}.sdc-card__icon{min-width:var(--sdc-card-icon-size, 2.9rem);min-height:var(--sdc-card-icon-size, 2.9rem);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.sdc-card__header-text{display:flex;flex-direction:column;justify-content:flex-start;min-height:var(--sdc-card-icon-size, 2.9rem);width:100%;min-width:0;flex:1 1 auto}.sdc-card__body{padding:var(--sdc-card-body-padding, var(--sdc-card-body-padding-y, .3rem) var(--sdc-card-body-padding-x, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))))}.sdc-card__title{margin:0;width:100%;min-width:0;font-size:1.4rem;font-weight:600;line-height:1.1;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.sdc-card__subtitle{margin-top:.45rem;width:100%;min-width:0;font-weight:700;font-size:.775rem;color:var(--sdc-card-subtitle-color, var(--sdc-text-muted, #475569));line-height:1.1;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.sdc-card__content{margin-top:.5rem}.sdc-card__description-label{margin:0 0 var(--sdc-card-description-label-gap, .35rem);color:var(--sdc-card-description-label-color, inherit);font-size:var(--sdc-card-description-label-font-size, inherit);font-weight:var(--sdc-card-description-label-font-weight, 700);line-height:var(--sdc-card-description-label-line-height, 1.2)}.sdc-card__description{text-align:justify;margin:0;overflow:hidden}.sdc-card__ellipsis{appearance:none;background:transparent;border:0;padding:0;font:inherit;display:inline;white-space:nowrap;margin-left:.05rem;color:var(--sdc-card-action-color, #3b82f6);font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1}.sdc-card__ellipsis:hover{text-decoration:underline}.sdc-card__ellipsis:focus-visible{outline:none;box-shadow:var(--sdc-card-action-focus, 0 0 0 2px #3b82f6);border-radius:var(--sdc-card-action-radius, .5rem);padding:0 var(--sdc-card-toggle-padding, .25rem)}.sdc-card__toggle{margin-top:.5rem;background:transparent;border:0;padding:0;font:inherit;font-size:var(--sdc-card-toggle-font-size, .72rem);line-height:var(--sdc-card-toggle-line-height, 1);cursor:pointer;color:var(--sdc-card-action-color, #3b82f6);font-weight:600;text-align:left}.sdc-card__toggle--inline{margin-top:.15rem}.sdc-card__toggle:hover{text-decoration:underline}.sdc-card__toggle:focus-visible{outline:none;box-shadow:var(--sdc-card-action-focus, 0 0 0 2px #3b82f6);border-radius:var(--sdc-card-action-radius, .5rem);padding:var(--sdc-card-toggle-padding, .25rem);margin-left:calc(-1 * var(--sdc-card-toggle-padding, .25rem))}.sdc-card__tags{margin-top:.5rem;display:flex;gap:.5rem;flex-wrap:wrap}.sdc-card__footer{margin-top:auto;padding:var(--sdc-card-footer-padding, var(--sdc-card-footer-padding-y, var(--sdc-card-horizontal-spacing, 1rem)) var(--sdc-card-footer-padding-right, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))) var(--sdc-card-footer-padding-bottom, max(0px, var(--sdc-card-footer-padding-y, var(--sdc-card-horizontal-spacing, 1rem)) - var(--sdc-card-padding, 7px))) var(--sdc-card-footer-padding-left, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))));display:flex;align-items:center;justify-content:flex-end;gap:var(--sdc-card-footer-gap, .5rem);min-height:var(--sdc-card-footer-min-height, auto);position:relative;border-top:none}.sdc-card__footer:before{content:\"\";position:absolute;top:0;left:calc(-1 * var(--sdc-card-padding, 7px));right:calc(-1 * var(--sdc-card-padding, 7px));border-top:var(--sdc-card-divider-border, var(--sdc-surface-divider-border))}.sdc-card__footer-action{box-sizing:border-box;flex:0 1 var(--sdc-card-footer-action-width, 50%);max-width:100%;width:var(--sdc-card-footer-action-width, 50%)}.sdc-card__footer-action sdc-button{display:block;width:100%}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["id", "label", "ariaLabel", "disabled", "width", "priority", "size", "type", "icon", "rightIcon", "auxiliary", "caret", "tooltip", "animation", "slide", "styleClass", "badge", "menuOptions", "menuContext", "model"], outputs: ["clicked"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
134
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CardMiniComponent, isStandalone: true, selector: "sdc-card-mini", inputs: { data: "data", options: "options" }, outputs: { cardAction: "cardAction" }, ngImport: i0, template: "<article class=\"sdc-card-mini dp-card\" [attr.aria-label]=\"fullName + ' - ' + fullCategory\">\n <header class=\"sdc-card__header\">\n <div class=\"sdc-card__icon\" [style.background]=\"options?.backgroundIcon\" [style.color]=\"options?.iconColor\">\n <i [class]=\"data.icon || options?.icon\" aria-hidden=\"true\"></i>\n </div>\n\n <div class=\"sdc-card__header-text\">\n <h2 class=\"sdc-card__title\" [attr.aria-expanded]=\"isNameTruncated ? expandedName : null\">\n @if (!expandedName) {\n {{ shortName }}@if (isNameTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__ellipsis\"\n [attr.aria-label]=\"expandNameAriaLabelKey | translate\"\n (click)=\"expandName($event)\"\n (keydown.enter)=\"onNameEllipsisEnter($event)\"\n (keydown.space)=\"onNameEllipsisSpace($event)\"\n >...</button\n >\n }\n } @else {\n {{ fullName }}\n }\n </h2>\n\n @if (expandedName && isNameTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__toggle sdc-card__toggle--inline\"\n (click)=\"collapseName($event)\"\n [attr.aria-label]=\"collapseNameAriaLabelKey | translate\"\n >\n {{ showLessLabelKey | translate }}\n </button>\n }\n\n <div class=\"sdc-card__subtitle\" [attr.aria-expanded]=\"isCategoryTruncated ? expandedCategory : null\">\n @if (!expandedCategory) {\n {{ shortCategory }}@if (isCategoryTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__ellipsis\"\n [attr.aria-label]=\"expandCategoryAriaLabelKey | translate\"\n (click)=\"expandCategory($event)\"\n (keydown.enter)=\"onCategoryEllipsisEnter($event)\"\n (keydown.space)=\"onCategoryEllipsisSpace($event)\"\n >...</button\n >\n }\n } @else {\n {{ fullCategory }}\n }\n </div>\n\n @if (expandedCategory && isCategoryTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__toggle sdc-card__toggle--inline\"\n (click)=\"collapseCategory($event)\"\n [attr.aria-label]=\"collapseCategoryAriaLabelKey | translate\"\n >\n {{ showLessLabelKey | translate }}\n </button>\n }\n </div>\n </header>\n\n <div class=\"sdc-card__body\">\n <div class=\"sdc-card__content\">\n @if (descriptionLabel) {\n <div class=\"sdc-card__description-label\">{{ descriptionLabel }}</div>\n }\n\n <p class=\"sdc-card__description\" [attr.aria-expanded]=\"isDescriptionTruncated ? expandedDescription : null\">\n @if (!expandedDescription) {\n {{ shortDescription }}@if (isDescriptionTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__ellipsis\"\n [attr.aria-label]=\"expandDescriptionAriaLabelKey | translate\"\n (click)=\"expandDescription($event)\"\n (keydown.enter)=\"onDescriptionEllipsisEnter($event)\"\n (keydown.space)=\"onDescriptionEllipsisSpace($event)\"\n >...</button\n >\n }\n } @else {\n {{ fullDescription }}\n }\n </p>\n\n @if (expandedDescription && isDescriptionTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__toggle\"\n (click)=\"collapseDescription($event)\"\n [attr.aria-label]=\"collapseDescriptionAriaLabelKey | translate\"\n >\n {{ showLessLabelKey | translate }}\n </button>\n }\n </div>\n </div>\n\n <footer class=\"sdc-card__footer flex justify-content-end\">\n <div class=\"sdc-card__footer-action\">\n <sdc-button\n width=\"100%\"\n (clicked)=\"cardAction.emit(data)\"\n [priority]=\"options?.buttonPriority!\"\n [label]=\"options?.buttonLabel!\"\n [attr.aria-label]=\"buttonAriaLabel\"\n >\n </sdc-button>\n </div>\n </footer>\n</article>\n", styles: [":host{display:block}.sdc-card-mini{width:100%;border-radius:var(--sdc-formfield-border-radius);border:var(--sdc-surface-border);overflow:hidden;display:flex;padding:var(--sdc-card-padding, 7px);flex-direction:column;min-height:var(--sdc-card-min-height, 19rem)}.sdc-card__header{display:flex;align-items:flex-start;justify-content:flex-start;gap:var(--sdc-card-header-gap, .75rem);padding:var(--sdc-card-header-padding, max(0px, var(--sdc-card-header-vertical-spacing, 1.25rem) - var(--sdc-card-padding, 7px)) var(--sdc-card-header-padding-x, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))) var(--sdc-card-header-vertical-spacing, 1.25rem));position:relative;border-bottom:none}.sdc-card__header:after{content:\"\";position:absolute;bottom:0;left:calc(-1 * var(--sdc-card-padding, 7px));right:calc(-1 * var(--sdc-card-padding, 7px));border-bottom:var(--sdc-card-divider-border, var(--sdc-surface-divider-border))}.sdc-card__icon{min-width:var(--sdc-card-icon-size, 2.9rem);min-height:var(--sdc-card-icon-size, 2.9rem);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.sdc-card__header-text{display:flex;flex-direction:column;justify-content:flex-start;min-height:var(--sdc-card-icon-size, 2.9rem);width:100%;min-width:0;flex:1 1 auto}.sdc-card__body{padding:var(--sdc-card-body-padding, var(--sdc-card-body-padding-y, .3rem) var(--sdc-card-body-padding-x, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))))}.sdc-card__title{margin:0;width:100%;min-width:0;font-size:1.4rem;font-weight:600;line-height:1.1;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.sdc-card__subtitle{margin-top:.45rem;width:100%;min-width:0;font-weight:700;font-size:.775rem;color:var(--sdc-card-subtitle-color, var(--sdc-text-muted, #475569));line-height:1.1;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.sdc-card__content{margin-top:.5rem}.sdc-card__description-label{margin:0 0 var(--sdc-card-description-label-gap, .35rem);color:var(--sdc-card-description-label-color, inherit);font-size:var(--sdc-card-description-label-font-size, inherit);font-weight:var(--sdc-card-description-label-font-weight, 700);line-height:var(--sdc-card-description-label-line-height, 1.2)}.sdc-card__description{text-align:justify;margin:0;overflow:hidden}.sdc-card__ellipsis{appearance:none;background:transparent;border:0;padding:0;font:inherit;display:inline;white-space:nowrap;margin-left:.05rem;color:var(--sdc-card-action-color, #3b82f6);font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1}.sdc-card__ellipsis:hover{text-decoration:underline}.sdc-card__ellipsis:focus-visible{outline:none;box-shadow:var(--sdc-card-action-focus, 0 0 0 2px #3b82f6);border-radius:var(--sdc-card-action-radius, .5rem);padding:0 var(--sdc-card-toggle-padding, .25rem)}.sdc-card__toggle{margin-top:.5rem;background:transparent;border:0;padding:0;font:inherit;font-size:var(--sdc-card-toggle-font-size, .72rem);line-height:var(--sdc-card-toggle-line-height, 1);cursor:pointer;color:var(--sdc-card-action-color, #3b82f6);font-weight:600;text-align:left}.sdc-card__toggle--inline{margin-top:.15rem}.sdc-card__toggle:hover{text-decoration:underline}.sdc-card__toggle:focus-visible{outline:none;box-shadow:var(--sdc-card-action-focus, 0 0 0 2px #3b82f6);border-radius:var(--sdc-card-action-radius, .5rem);padding:var(--sdc-card-toggle-padding, .25rem);margin-left:calc(-1 * var(--sdc-card-toggle-padding, .25rem))}.sdc-card__tags{margin-top:.5rem;display:flex;gap:.5rem;flex-wrap:wrap}.sdc-card__footer{margin-top:auto;padding:var(--sdc-card-footer-padding, var(--sdc-card-footer-padding-y, var(--sdc-card-horizontal-spacing, 1rem)) var(--sdc-card-footer-padding-right, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))) var(--sdc-card-footer-padding-bottom, max(0px, var(--sdc-card-footer-padding-y, var(--sdc-card-horizontal-spacing, 1rem)) - var(--sdc-card-padding, 7px))) var(--sdc-card-footer-padding-left, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))));display:flex;align-items:center;justify-content:flex-end;gap:var(--sdc-card-footer-gap, .5rem);min-height:var(--sdc-card-footer-min-height, auto);position:relative;border-top:none}.sdc-card__footer:before{content:\"\";position:absolute;top:0;left:calc(-1 * var(--sdc-card-padding, 7px));right:calc(-1 * var(--sdc-card-padding, 7px));border-top:var(--sdc-card-divider-border, var(--sdc-surface-divider-border))}.sdc-card__footer-action{box-sizing:border-box;flex:0 1 var(--sdc-card-footer-action-width, 50%);max-width:100%;width:var(--sdc-card-footer-action-width, 50%)}.sdc-card__footer-action sdc-button{display:block;width:100%}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["id", "label", "ariaLabel", "disabled", "width", "priority", "size", "type", "icon", "rightIcon", "auxiliary", "caret", "tooltip", "animation", "slide", "styleClass", "badge", "menuOptions", "menuContext", "model"], outputs: ["clicked"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
135
135
  }
136
136
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardMiniComponent, decorators: [{
137
137
  type: Component,
138
- args: [{ selector: 'sdc-card-mini', imports: [ButtonComponent, TranslateModule], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<article class=\"sdc-card-mini dp-card\" [attr.aria-label]=\"fullName + ' - ' + fullCategory\">\n <header class=\"sdc-card__header\">\n <div class=\"sdc-card__icon\" [style.background]=\"options?.backgroundIcon\" [style.color]=\"options?.iconColor\">\n <i [class]=\"data.icon || options?.icon\" aria-hidden=\"true\"></i>\n </div>\n\n <div class=\"sdc-card__header-text\">\n <h2 class=\"sdc-card__title\" [attr.aria-expanded]=\"isNameTruncated ? expandedName : null\">\n @if (!expandedName) {\n {{ shortName }}@if (isNameTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__ellipsis\"\n [attr.aria-label]=\"expandNameAriaLabelKey | translate\"\n (click)=\"expandName($event)\"\n (keydown.enter)=\"onNameEllipsisEnter($event)\"\n (keydown.space)=\"onNameEllipsisSpace($event)\"\n >...</button\n >\n }\n } @else {\n {{ fullName }}\n }\n </h2>\n\n @if (expandedName && isNameTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__toggle sdc-card__toggle--inline\"\n (click)=\"collapseName($event)\"\n [attr.aria-label]=\"collapseNameAriaLabelKey | translate\"\n >\n {{ showLessLabelKey | translate }}\n </button>\n }\n\n <div class=\"sdc-card__subtitle\" [attr.aria-expanded]=\"isCategoryTruncated ? expandedCategory : null\">\n @if (!expandedCategory) {\n {{ shortCategory }}@if (isCategoryTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__ellipsis\"\n [attr.aria-label]=\"expandCategoryAriaLabelKey | translate\"\n (click)=\"expandCategory($event)\"\n (keydown.enter)=\"onCategoryEllipsisEnter($event)\"\n (keydown.space)=\"onCategoryEllipsisSpace($event)\"\n >...</button\n >\n }\n } @else {\n {{ fullCategory }}\n }\n </div>\n\n @if (expandedCategory && isCategoryTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__toggle sdc-card__toggle--inline\"\n (click)=\"collapseCategory($event)\"\n [attr.aria-label]=\"collapseCategoryAriaLabelKey | translate\"\n >\n {{ showLessLabelKey | translate }}\n </button>\n }\n </div>\n </header>\n\n <div class=\"sdc-card__body\">\n <div class=\"sdc-card__content\">\n @if (descriptionLabel) {\n <div class=\"sdc-card__description-label\">{{ descriptionLabel }}</div>\n }\n\n <p class=\"sdc-card__description\" [attr.aria-expanded]=\"isDescriptionTruncated ? expandedDescription : null\">\n @if (!expandedDescription) {\n {{ shortDescription }}@if (isDescriptionTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__ellipsis\"\n [attr.aria-label]=\"expandDescriptionAriaLabelKey | translate\"\n (click)=\"expandDescription($event)\"\n (keydown.enter)=\"onDescriptionEllipsisEnter($event)\"\n (keydown.space)=\"onDescriptionEllipsisSpace($event)\"\n >...</button\n >\n }\n } @else {\n {{ fullDescription }}\n }\n </p>\n\n @if (expandedDescription && isDescriptionTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__toggle\"\n (click)=\"collapseDescription($event)\"\n [attr.aria-label]=\"collapseDescriptionAriaLabelKey | translate\"\n >\n {{ showLessLabelKey | translate }}\n </button>\n }\n </div>\n </div>\n\n <footer class=\"sdc-card__footer flex justify-content-end\">\n <div class=\"sdc-card__footer-action\">\n <sdc-button\n width=\"100%\"\n (onClick)=\"cardAction.emit(data)\"\n [priority]=\"options?.buttonPriority!\"\n [label]=\"options?.buttonLabel!\"\n [attr.aria-label]=\"buttonAriaLabel\"\n >\n </sdc-button>\n </div>\n </footer>\n</article>\n", styles: [":host{display:block}.sdc-card-mini{width:100%;border-radius:var(--sdc-formfield-border-radius);border:var(--sdc-surface-border);overflow:hidden;display:flex;padding:var(--sdc-card-padding, 7px);flex-direction:column;min-height:var(--sdc-card-min-height, 19rem)}.sdc-card__header{display:flex;align-items:flex-start;justify-content:flex-start;gap:var(--sdc-card-header-gap, .75rem);padding:var(--sdc-card-header-padding, max(0px, var(--sdc-card-header-vertical-spacing, 1.25rem) - var(--sdc-card-padding, 7px)) var(--sdc-card-header-padding-x, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))) var(--sdc-card-header-vertical-spacing, 1.25rem));position:relative;border-bottom:none}.sdc-card__header:after{content:\"\";position:absolute;bottom:0;left:calc(-1 * var(--sdc-card-padding, 7px));right:calc(-1 * var(--sdc-card-padding, 7px));border-bottom:var(--sdc-card-divider-border, var(--sdc-surface-divider-border))}.sdc-card__icon{min-width:var(--sdc-card-icon-size, 2.9rem);min-height:var(--sdc-card-icon-size, 2.9rem);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.sdc-card__header-text{display:flex;flex-direction:column;justify-content:flex-start;min-height:var(--sdc-card-icon-size, 2.9rem);width:100%;min-width:0;flex:1 1 auto}.sdc-card__body{padding:var(--sdc-card-body-padding, var(--sdc-card-body-padding-y, .3rem) var(--sdc-card-body-padding-x, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))))}.sdc-card__title{margin:0;width:100%;min-width:0;font-size:1.4rem;font-weight:600;line-height:1.1;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.sdc-card__subtitle{margin-top:.45rem;width:100%;min-width:0;font-weight:700;font-size:.775rem;color:var(--sdc-card-subtitle-color, var(--sdc-text-muted, #475569));line-height:1.1;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.sdc-card__content{margin-top:.5rem}.sdc-card__description-label{margin:0 0 var(--sdc-card-description-label-gap, .35rem);color:var(--sdc-card-description-label-color, inherit);font-size:var(--sdc-card-description-label-font-size, inherit);font-weight:var(--sdc-card-description-label-font-weight, 700);line-height:var(--sdc-card-description-label-line-height, 1.2)}.sdc-card__description{text-align:justify;margin:0;overflow:hidden}.sdc-card__ellipsis{appearance:none;background:transparent;border:0;padding:0;font:inherit;display:inline;white-space:nowrap;margin-left:.05rem;color:var(--sdc-card-action-color, #3b82f6);font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1}.sdc-card__ellipsis:hover{text-decoration:underline}.sdc-card__ellipsis:focus-visible{outline:none;box-shadow:var(--sdc-card-action-focus, 0 0 0 2px #3b82f6);border-radius:var(--sdc-card-action-radius, .5rem);padding:0 var(--sdc-card-toggle-padding, .25rem)}.sdc-card__toggle{margin-top:.5rem;background:transparent;border:0;padding:0;font:inherit;font-size:var(--sdc-card-toggle-font-size, .72rem);line-height:var(--sdc-card-toggle-line-height, 1);cursor:pointer;color:var(--sdc-card-action-color, #3b82f6);font-weight:600;text-align:left}.sdc-card__toggle--inline{margin-top:.15rem}.sdc-card__toggle:hover{text-decoration:underline}.sdc-card__toggle:focus-visible{outline:none;box-shadow:var(--sdc-card-action-focus, 0 0 0 2px #3b82f6);border-radius:var(--sdc-card-action-radius, .5rem);padding:var(--sdc-card-toggle-padding, .25rem);margin-left:calc(-1 * var(--sdc-card-toggle-padding, .25rem))}.sdc-card__tags{margin-top:.5rem;display:flex;gap:.5rem;flex-wrap:wrap}.sdc-card__footer{margin-top:auto;padding:var(--sdc-card-footer-padding, var(--sdc-card-footer-padding-y, var(--sdc-card-horizontal-spacing, 1rem)) var(--sdc-card-footer-padding-right, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))) var(--sdc-card-footer-padding-bottom, max(0px, var(--sdc-card-footer-padding-y, var(--sdc-card-horizontal-spacing, 1rem)) - var(--sdc-card-padding, 7px))) var(--sdc-card-footer-padding-left, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))));display:flex;align-items:center;justify-content:flex-end;gap:var(--sdc-card-footer-gap, .5rem);min-height:var(--sdc-card-footer-min-height, auto);position:relative;border-top:none}.sdc-card__footer:before{content:\"\";position:absolute;top:0;left:calc(-1 * var(--sdc-card-padding, 7px));right:calc(-1 * var(--sdc-card-padding, 7px));border-top:var(--sdc-card-divider-border, var(--sdc-surface-divider-border))}.sdc-card__footer-action{box-sizing:border-box;flex:0 1 var(--sdc-card-footer-action-width, 50%);max-width:100%;width:var(--sdc-card-footer-action-width, 50%)}.sdc-card__footer-action sdc-button{display:block;width:100%}\n"] }]
138
+ args: [{ selector: 'sdc-card-mini', imports: [ButtonComponent, TranslateModule], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<article class=\"sdc-card-mini dp-card\" [attr.aria-label]=\"fullName + ' - ' + fullCategory\">\n <header class=\"sdc-card__header\">\n <div class=\"sdc-card__icon\" [style.background]=\"options?.backgroundIcon\" [style.color]=\"options?.iconColor\">\n <i [class]=\"data.icon || options?.icon\" aria-hidden=\"true\"></i>\n </div>\n\n <div class=\"sdc-card__header-text\">\n <h2 class=\"sdc-card__title\" [attr.aria-expanded]=\"isNameTruncated ? expandedName : null\">\n @if (!expandedName) {\n {{ shortName }}@if (isNameTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__ellipsis\"\n [attr.aria-label]=\"expandNameAriaLabelKey | translate\"\n (click)=\"expandName($event)\"\n (keydown.enter)=\"onNameEllipsisEnter($event)\"\n (keydown.space)=\"onNameEllipsisSpace($event)\"\n >...</button\n >\n }\n } @else {\n {{ fullName }}\n }\n </h2>\n\n @if (expandedName && isNameTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__toggle sdc-card__toggle--inline\"\n (click)=\"collapseName($event)\"\n [attr.aria-label]=\"collapseNameAriaLabelKey | translate\"\n >\n {{ showLessLabelKey | translate }}\n </button>\n }\n\n <div class=\"sdc-card__subtitle\" [attr.aria-expanded]=\"isCategoryTruncated ? expandedCategory : null\">\n @if (!expandedCategory) {\n {{ shortCategory }}@if (isCategoryTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__ellipsis\"\n [attr.aria-label]=\"expandCategoryAriaLabelKey | translate\"\n (click)=\"expandCategory($event)\"\n (keydown.enter)=\"onCategoryEllipsisEnter($event)\"\n (keydown.space)=\"onCategoryEllipsisSpace($event)\"\n >...</button\n >\n }\n } @else {\n {{ fullCategory }}\n }\n </div>\n\n @if (expandedCategory && isCategoryTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__toggle sdc-card__toggle--inline\"\n (click)=\"collapseCategory($event)\"\n [attr.aria-label]=\"collapseCategoryAriaLabelKey | translate\"\n >\n {{ showLessLabelKey | translate }}\n </button>\n }\n </div>\n </header>\n\n <div class=\"sdc-card__body\">\n <div class=\"sdc-card__content\">\n @if (descriptionLabel) {\n <div class=\"sdc-card__description-label\">{{ descriptionLabel }}</div>\n }\n\n <p class=\"sdc-card__description\" [attr.aria-expanded]=\"isDescriptionTruncated ? expandedDescription : null\">\n @if (!expandedDescription) {\n {{ shortDescription }}@if (isDescriptionTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__ellipsis\"\n [attr.aria-label]=\"expandDescriptionAriaLabelKey | translate\"\n (click)=\"expandDescription($event)\"\n (keydown.enter)=\"onDescriptionEllipsisEnter($event)\"\n (keydown.space)=\"onDescriptionEllipsisSpace($event)\"\n >...</button\n >\n }\n } @else {\n {{ fullDescription }}\n }\n </p>\n\n @if (expandedDescription && isDescriptionTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__toggle\"\n (click)=\"collapseDescription($event)\"\n [attr.aria-label]=\"collapseDescriptionAriaLabelKey | translate\"\n >\n {{ showLessLabelKey | translate }}\n </button>\n }\n </div>\n </div>\n\n <footer class=\"sdc-card__footer flex justify-content-end\">\n <div class=\"sdc-card__footer-action\">\n <sdc-button\n width=\"100%\"\n (clicked)=\"cardAction.emit(data)\"\n [priority]=\"options?.buttonPriority!\"\n [label]=\"options?.buttonLabel!\"\n [attr.aria-label]=\"buttonAriaLabel\"\n >\n </sdc-button>\n </div>\n </footer>\n</article>\n", styles: [":host{display:block}.sdc-card-mini{width:100%;border-radius:var(--sdc-formfield-border-radius);border:var(--sdc-surface-border);overflow:hidden;display:flex;padding:var(--sdc-card-padding, 7px);flex-direction:column;min-height:var(--sdc-card-min-height, 19rem)}.sdc-card__header{display:flex;align-items:flex-start;justify-content:flex-start;gap:var(--sdc-card-header-gap, .75rem);padding:var(--sdc-card-header-padding, max(0px, var(--sdc-card-header-vertical-spacing, 1.25rem) - var(--sdc-card-padding, 7px)) var(--sdc-card-header-padding-x, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))) var(--sdc-card-header-vertical-spacing, 1.25rem));position:relative;border-bottom:none}.sdc-card__header:after{content:\"\";position:absolute;bottom:0;left:calc(-1 * var(--sdc-card-padding, 7px));right:calc(-1 * var(--sdc-card-padding, 7px));border-bottom:var(--sdc-card-divider-border, var(--sdc-surface-divider-border))}.sdc-card__icon{min-width:var(--sdc-card-icon-size, 2.9rem);min-height:var(--sdc-card-icon-size, 2.9rem);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.sdc-card__header-text{display:flex;flex-direction:column;justify-content:flex-start;min-height:var(--sdc-card-icon-size, 2.9rem);width:100%;min-width:0;flex:1 1 auto}.sdc-card__body{padding:var(--sdc-card-body-padding, var(--sdc-card-body-padding-y, .3rem) var(--sdc-card-body-padding-x, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))))}.sdc-card__title{margin:0;width:100%;min-width:0;font-size:1.4rem;font-weight:600;line-height:1.1;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.sdc-card__subtitle{margin-top:.45rem;width:100%;min-width:0;font-weight:700;font-size:.775rem;color:var(--sdc-card-subtitle-color, var(--sdc-text-muted, #475569));line-height:1.1;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.sdc-card__content{margin-top:.5rem}.sdc-card__description-label{margin:0 0 var(--sdc-card-description-label-gap, .35rem);color:var(--sdc-card-description-label-color, inherit);font-size:var(--sdc-card-description-label-font-size, inherit);font-weight:var(--sdc-card-description-label-font-weight, 700);line-height:var(--sdc-card-description-label-line-height, 1.2)}.sdc-card__description{text-align:justify;margin:0;overflow:hidden}.sdc-card__ellipsis{appearance:none;background:transparent;border:0;padding:0;font:inherit;display:inline;white-space:nowrap;margin-left:.05rem;color:var(--sdc-card-action-color, #3b82f6);font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1}.sdc-card__ellipsis:hover{text-decoration:underline}.sdc-card__ellipsis:focus-visible{outline:none;box-shadow:var(--sdc-card-action-focus, 0 0 0 2px #3b82f6);border-radius:var(--sdc-card-action-radius, .5rem);padding:0 var(--sdc-card-toggle-padding, .25rem)}.sdc-card__toggle{margin-top:.5rem;background:transparent;border:0;padding:0;font:inherit;font-size:var(--sdc-card-toggle-font-size, .72rem);line-height:var(--sdc-card-toggle-line-height, 1);cursor:pointer;color:var(--sdc-card-action-color, #3b82f6);font-weight:600;text-align:left}.sdc-card__toggle--inline{margin-top:.15rem}.sdc-card__toggle:hover{text-decoration:underline}.sdc-card__toggle:focus-visible{outline:none;box-shadow:var(--sdc-card-action-focus, 0 0 0 2px #3b82f6);border-radius:var(--sdc-card-action-radius, .5rem);padding:var(--sdc-card-toggle-padding, .25rem);margin-left:calc(-1 * var(--sdc-card-toggle-padding, .25rem))}.sdc-card__tags{margin-top:.5rem;display:flex;gap:.5rem;flex-wrap:wrap}.sdc-card__footer{margin-top:auto;padding:var(--sdc-card-footer-padding, var(--sdc-card-footer-padding-y, var(--sdc-card-horizontal-spacing, 1rem)) var(--sdc-card-footer-padding-right, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))) var(--sdc-card-footer-padding-bottom, max(0px, var(--sdc-card-footer-padding-y, var(--sdc-card-horizontal-spacing, 1rem)) - var(--sdc-card-padding, 7px))) var(--sdc-card-footer-padding-left, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))));display:flex;align-items:center;justify-content:flex-end;gap:var(--sdc-card-footer-gap, .5rem);min-height:var(--sdc-card-footer-min-height, auto);position:relative;border-top:none}.sdc-card__footer:before{content:\"\";position:absolute;top:0;left:calc(-1 * var(--sdc-card-padding, 7px));right:calc(-1 * var(--sdc-card-padding, 7px));border-top:var(--sdc-card-divider-border, var(--sdc-surface-divider-border))}.sdc-card__footer-action{box-sizing:border-box;flex:0 1 var(--sdc-card-footer-action-width, 50%);max-width:100%;width:var(--sdc-card-footer-action-width, 50%)}.sdc-card__footer-action sdc-button{display:block;width:100%}\n"] }]
139
139
  }], ctorParameters: () => [], propDecorators: { data: [{
140
140
  type: Input
141
141
  }], options: [{
@@ -143,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
143
143
  }], cardAction: [{
144
144
  type: Output
145
145
  }] } });
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2NhcmQtbGlzdC9jYXJkL2NhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9jYXJkLWxpc3QvY2FyZC9jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlJLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RSxPQUFPLEVBQ0wscUNBQXFDLEVBQ3JDLHdDQUF3QyxFQUN4QyxpQ0FBaUMsRUFDakMsMEJBQTBCLEVBQzFCLGdDQUFnQyxFQUNoQyxtQ0FBbUMsRUFDbkMsNEJBQTRCLEVBQzVCLG1DQUFtQyxFQUNuQyxzQ0FBc0MsRUFDdEMsK0JBQStCLEVBQy9CLHdCQUF3QixFQUN6QixNQUFNLG9DQUFvQyxDQUFDO0FBRTVDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQVdoRSxNQUFNLE9BQU8saUJBQWlCO0lBQ1gsR0FBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2hDLFNBQVMsR0FBRyxNQUFN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QUMsZUFBZSxFQUFFLGVBQWUsQ0FBQyxjQUUvQixJQUFJLG1CQUVDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVE7d0RBY2hDLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7XG4gIENBUkRfQ09MTEFQU0VfQ0FURUdPUllfQVJJQV9MQUJFTF9LRVksXG4gIENBUkRfQ09MTEFQU0VfREVTQ1JJUFRJT05fQVJJQV9MQUJFTF9LRVksXG4gIENBUkRfQ09MTEFQU0VfTkFNRV9BUklBX0xBQkVMX0tFWSxcbiAgQ0FSRF9ERVNDUklQVElPTl9MQUJFTF9LRVksXG4gIENBUkRfREVGQVVMVF9DQVRFR09SWV9NQVhfTEVOR1RILFxuICBDQVJEX0RFRkFVTFRfREVTQ1JJUFRJT05fTUFYX0xFTkdUSCxcbiAgQ0FSRF9ERUZBVUxUX05BTUVfTUFYX0xFTkdUSCxcbiAgQ0FSRF9FWFBBTkRfQ0FURUdPUllfQVJJQV9MQUJFTF9LRVksXG4gIENBUkRfRVhQQU5EX0RFU0NSSVBUSU9OX0FSSUFfTEFCRUxfS0VZLFxuICBDQVJEX0VYUEFORF9OQU1FX0FSSUFfTEFCRUxfS0VZLFxuICBDQVJEX1NIT1dfTEVTU19MQUJFTF9LRVlcbn0gZnJvbSAnLi4vLi4vLi4vY29yZS9jb25zdGFudHMvY2FyZC5jb25zdCc7XG5pbXBvcnQgeyBDYXJkLCBPcHRpb25zQ2FyZCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdHlwZXMvY2FyZC50eXBlJztcbmltcG9ydCB7IHJlc29sdmVUcmFuc2xhdGFibGVUZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29yZS91dGlscy9pMThuLnV0aWwnO1xuaW1wb3J0IHsgdG9Qb3NpdGl2ZUludGVnZXIgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3V0aWxzL251bWJlci51dGlsJztcbmltcG9ydCB7IGNoYXJhY3Rlckxlbmd0aCwgdHJ1bmNhdGVDaGFyYWN0ZXJzIH0gZnJvbSAnLi4vLi4vLi4vY29yZS91dGlscy9zdHJpbmcudXRpbCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1jYXJkLW1pbmknLFxuICBpbXBvcnRzOiBbQnV0dG9uQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHN0eWxlVXJsOiAnLi9jYXJkLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIENhcmRNaW5pQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2hvd0xlc3NMYWJlbEtleSA9IENBUkRfU0hPV19MRVNTX0xBQkVMX0tFWTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGV4cGFuZE5hbWVBcmlhTGFiZWxLZXkgPSBDQVJEX0VYUEFORF9OQU1FX0FSSUFfTEFCRUxfS0VZO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29sbGFwc2VOYW1lQXJpYUxhYmVsS2V5ID0gQ0FSRF9DT0xMQVBTRV9OQU1FX0FSSUFfTEFCRUxfS0VZO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXhwYW5kQ2F0ZWdvcnlBcmlhTGFiZWxLZXkgPSBDQVJEX0VYUEFORF9DQVRFR09SWV9BUklBX0xBQkVMX0tFWTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbGxhcHNlQ2F0ZWdvcnlBcmlhTGFiZWxLZXkgPSBDQVJEX0NPTExBUFNFX0NBVEVHT1JZX0FSSUFfTEFCRUxfS0VZO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXhwYW5kRGVzY3JpcHRpb25BcmlhTGFiZWxLZXkgPSBDQVJEX0VYUEFORF9ERVNDUklQVElPTl9BUklBX0xBQkVMX0tFWTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbGxhcHNlRGVzY3JpcHRpb25BcmlhTGFiZWxLZXkgPSBDQVJEX0NPTExBUFNFX0RFU0NSSVBUSU9OX0FSSUFfTEFCRUxfS0VZO1xuXG4gIEBJbnB1dCgpIGRhdGEhOiBDYXJkO1xuICBASW5wdXQoKSBvcHRpb25zPzogT3B0aW9uc0NhcmQ7XG4gIEBPdXRwdXQoKSBjYXJkQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxDYXJkPigpO1xuXG4gIHByb3RlY3RlZCBleHBhbmRlZERlc2NyaXB0aW9uID0gZmFsc2U7XG4gIHByb3RlY3RlZCBleHBhbmRlZE5hbWUgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGV4cGFuZGVkQ2F0ZWdvcnkgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnRyYW5zbGF0ZS5vbkxhbmdDaGFuZ2UucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZnVsbERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dCh0aGlzLmRhdGE/LmRlc2NyaXB0aW9uKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZnVsbE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0KHRoaXMuZGF0YT8ubmFtZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGZ1bGxDYXRlZ29yeSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHQodGhpcy5kYXRhPy5jYXRlZ29yeSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGRlc2NyaXB0aW9uTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0KHRoaXMub3B0aW9ucz8uZGVzY3JpcHRpb25MYWJlbCA/PyBDQVJEX0RFU0NSSVBUSU9OX0xBQkVMX0tFWSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGJ1dHRvbkxhYmVsVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHQodGhpcy5vcHRpb25zPy5idXR0b25MYWJlbCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGJ1dHRvbkFyaWFMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBbdGhpcy5idXR0b25MYWJlbFRleHQsIHRoaXMuZnVsbE5hbWVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgLSAnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZGVzY3JpcHRpb25NYXhMZW4oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdG9Qb3NpdGl2ZUludGVnZXIodGhpcy5vcHRpb25zPy5kZXNjcmlwdGlvbk1heExlbmd0aCwgQ0FSRF9ERUZBVUxUX0RFU0NSSVBUSU9OX01BWF9MRU5HVEgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBuYW1lTWF4TGVuKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRvUG9zaXRpdmVJbnRlZ2VyKHRoaXMub3B0aW9ucz8ubmFtZU1heExlbmd0aCwgQ0FSRF9ERUZBVUxUX05BTUVfTUFYX0xFTkdUSCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGNhdGVnb3J5TWF4TGVuKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRvUG9zaXRpdmVJbnRlZ2VyKHRoaXMub3B0aW9ucz8uY2F0ZWdvcnlNYXhMZW5ndGgsIENBUkRfREVGQVVMVF9DQVRFR09SWV9NQVhfTEVOR1RIKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgaXNEZXNjcmlwdGlvblRydW5jYXRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY2hhcmFjdGVyTGVuZ3RoKHRoaXMuZnVsbERlc2NyaXB0aW9uKSA+IHRoaXMuZGVzY3JpcHRpb25NYXhMZW47XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGlzTmFtZVRydW5jYXRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY2hhcmFjdGVyTGVuZ3RoKHRoaXMuZnVsbE5hbWUpID4gdGhpcy5uYW1lTWF4TGVuO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBpc0NhdGVnb3J5VHJ1bmNhdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBjaGFyYWN0ZXJMZW5ndGgodGhpcy5mdWxsQ2F0ZWdvcnkpID4gdGhpcy5jYXRlZ29yeU1heExlbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgc2hvcnREZXNjcmlwdGlvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0cnVuY2F0ZUNoYXJhY3RlcnModGhpcy5mdWxsRGVzY3JpcHRpb24sIHRoaXMuZGVzY3JpcHRpb25NYXhMZW4pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBzaG9ydE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdHJ1bmNhdGVDaGFyYWN0ZXJzKHRoaXMuZnVsbE5hbWUsIHRoaXMubmFtZU1heExlbik7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHNob3J0Q2F0ZWdvcnkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdHJ1bmNhdGVDaGFyYWN0ZXJzKHRoaXMuZnVsbENhdGVnb3J5LCB0aGlzLmNhdGVnb3J5TWF4TGVuKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBleHBhbmREZXNjcmlwdGlvbihldmVudD86IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zdG9wKGV2ZW50KTtcblxuICAgIGlmICghdGhpcy5pc0Rlc2NyaXB0aW9uVHJ1bmNhdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5leHBhbmRlZERlc2NyaXB0aW9uID0gdHJ1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjb2xsYXBzZURlc2NyaXB0aW9uKGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3AoZXZlbnQpO1xuICAgIHRoaXMuZXhwYW5kZWREZXNjcmlwdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGV4cGFuZE5hbWUoZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcChldmVudCk7XG5cbiAgICBpZiAoIXRoaXMuaXNOYW1lVHJ1bmNhdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5leHBhbmRlZE5hbWUgPSB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbGxhcHNlTmFtZShldmVudD86IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zdG9wKGV2ZW50KTtcbiAgICB0aGlzLmV4cGFuZGVkTmFtZSA9IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGV4cGFuZENhdGVnb3J5KGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3AoZXZlbnQpO1xuXG4gICAgaWYgKCF0aGlzLmlzQ2F0ZWdvcnlUcnVuY2F0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmV4cGFuZGVkQ2F0ZWdvcnkgPSB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbGxhcHNlQ2F0ZWdvcnkoZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcChldmVudCk7XG4gICAgdGhpcy5leHBhbmRlZENhdGVnb3J5ID0gZmFsc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25EZXNjcmlwdGlvbkVsbGlwc2lzRW50ZXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5leHBhbmREZXNjcmlwdGlvbihldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25EZXNjcmlwdGlvbkVsbGlwc2lzU3BhY2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5leHBhbmREZXNjcmlwdGlvbihldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25OYW1lRWxsaXBzaXNFbnRlcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZE5hbWUoZXZlbnQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uTmFtZUVsbGlwc2lzU3BhY2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5leHBhbmROYW1lKGV2ZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNhdGVnb3J5RWxsaXBzaXNFbnRlcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZENhdGVnb3J5KGV2ZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNhdGVnb3J5RWxsaXBzaXNTcGFjZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZENhdGVnb3J5KGV2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNsYXRlVGV4dCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGUsIHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RvcChldmVudD86IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG59XG4iLCI8YXJ0aWNsZSBjbGFzcz1cInNkYy1jYXJkLW1pbmkgZHAtY2FyZFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiZnVsbE5hbWUgKyAnIC0gJyArIGZ1bGxDYXRlZ29yeVwiPlxuICA8aGVhZGVyIGNsYXNzPVwic2RjLWNhcmRfX2hlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJzZGMtY2FyZF9faWNvblwiIFtzdHlsZS5iYWNrZ3JvdW5kXT1cIm9wdGlvbnM/LmJhY2tncm91bmRJY29uXCIgW3N0eWxlLmNvbG9yXT1cIm9wdGlvbnM/Lmljb25Db2xvclwiPlxuICAgICAgPGkgW2NsYXNzXT1cImRhdGEuaWNvbiB8fCBvcHRpb25zPy5pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInNkYy1jYXJkX19oZWFkZXItdGV4dFwiPlxuICAgICAgPGgyIGNsYXNzPVwic2RjLWNhcmRfX3RpdGxlXCIgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc05hbWVUcnVuY2F0ZWQgPyBleHBhbmRlZE5hbWUgOiBudWxsXCI+XG4gICAgICAgIEBpZiAoIWV4cGFuZGVkTmFtZSkge1xuICAgICAgICAgIHt7IHNob3J0TmFtZSB9fUBpZiAoaXNOYW1lVHJ1bmNhdGVkKSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cInNkYy1jYXJkX19lbGxpcHNpc1wiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImV4cGFuZE5hbWVBcmlhTGFiZWxLZXkgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImV4cGFuZE5hbWUoJGV2ZW50KVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbk5hbWVFbGxpcHNpc0VudGVyKCRldmVudClcIlxuICAgICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwib25OYW1lRWxsaXBzaXNTcGFjZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID4uLi48L2J1dHRvblxuICAgICAgICAgICAgPlxuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAge3sgZnVsbE5hbWUgfX1cbiAgICAgICAgfVxuICAgICAgPC9oMj5cblxuICAgICAgQGlmIChleHBhbmRlZE5hbWUgJiYgaXNOYW1lVHJ1bmNhdGVkKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cInNkYy1jYXJkX190b2dnbGUgc2RjLWNhcmRfX3RvZ2dsZS0taW5saW5lXCJcbiAgICAgICAgICAoY2xpY2spPVwiY29sbGFwc2VOYW1lKCRldmVudClcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29sbGFwc2VOYW1lQXJpYUxhYmVsS2V5IHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAge3sgc2hvd0xlc3NMYWJlbEtleSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cInNkYy1jYXJkX19zdWJ0aXRsZVwiIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNDYXRlZ29yeVRydW5jYXRlZCA/IGV4cGFuZGVkQ2F0ZWdvcnkgOiBudWxsXCI+XG4gICAgICAgIEBpZiAoIWV4cGFuZGVkQ2F0ZWdvcnkpIHtcbiAgICAgICAgICB7eyBzaG9ydENhdGVnb3J5IH19QGlmIChpc0NhdGVnb3J5VHJ1bmNhdGVkKSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cInNkYy1jYXJkX19lbGxpcHNpc1wiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImV4cGFuZENhdGVnb3J5QXJpYUxhYmVsS2V5IHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJleHBhbmRDYXRlZ29yeSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uQ2F0ZWdvcnlFbGxpcHNpc0VudGVyKCRldmVudClcIlxuICAgICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwib25DYXRlZ29yeUVsbGlwc2lzU3BhY2UoJGV2ZW50KVwiXG4gICAgICAgICAgICA+Li4uPC9idXR0b25cbiAgICAgICAgICAgID5cbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIHt7IGZ1bGxDYXRlZ29yeSB9fVxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgQGlmIChleHBhbmRlZENhdGVnb3J5ICYmIGlzQ2F0ZWdvcnlUcnVuY2F0ZWQpIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwic2RjLWNhcmRfX3RvZ2dsZSBzZGMtY2FyZF9fdG9nZ2xlLS1pbmxpbmVcIlxuICAgICAgICAgIChjbGljayk9XCJjb2xsYXBzZUNhdGVnb3J5KCRldmVudClcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29sbGFwc2VDYXRlZ29yeUFyaWFMYWJlbEtleSB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIHt7IHNob3dMZXNzTGFiZWxLZXkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvaGVhZGVyPlxuXG4gIDxkaXYgY2xhc3M9XCJzZGMtY2FyZF9fYm9keVwiPlxuICAgIDxkaXYgY2xhc3M9XCJzZGMtY2FyZF9fY29udGVudFwiPlxuICAgICAgQGlmIChkZXNjcmlwdGlvbkxhYmVsKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZGMtY2FyZF9fZGVzY3JpcHRpb24tbGFiZWxcIj57eyBkZXNjcmlwdGlvbkxhYmVsIH19PC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDxwIGNsYXNzPVwic2RjLWNhcmRfX2Rlc2NyaXB0aW9uXCIgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc0Rlc2NyaXB0aW9uVHJ1bmNhdGVkID8gZXhwYW5kZWREZXNjcmlwdGlvbiA6IG51bGxcIj5cbiAgICAgICAgQGlmICghZXhwYW5kZWREZXNjcmlwdGlvbikge1xuICAgICAgICAgIHt7IHNob3J0RGVzY3JpcHRpb24gfX1AaWYgKGlzRGVzY3JpcHRpb25UcnVuY2F0ZWQpIHtcbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2RjLWNhcmRfX2VsbGlwc2lzXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZXhwYW5kRGVzY3JpcHRpb25BcmlhTGFiZWxLZXkgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImV4cGFuZERlc2NyaXB0aW9uKCRldmVudClcIlxuICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25EZXNjcmlwdGlvbkVsbGlwc2lzRW50ZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJvbkRlc2NyaXB0aW9uRWxsaXBzaXNTcGFjZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID4uLi48L2J1dHRvblxuICAgICAgICAgICAgPlxuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAge3sgZnVsbERlc2NyaXB0aW9uIH19XG4gICAgICAgIH1cbiAgICAgIDwvcD5cblxuICAgICAgQGlmIChleHBhbmRlZERlc2NyaXB0aW9uICYmIGlzRGVzY3JpcHRpb25UcnVuY2F0ZWQpIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwic2RjLWNhcmRfX3RvZ2dsZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImNvbGxhcHNlRGVzY3JpcHRpb24oJGV2ZW50KVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjb2xsYXBzZURlc2NyaXB0aW9uQXJpYUxhYmVsS2V5IHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAge3sgc2hvd0xlc3NMYWJlbEtleSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGZvb3RlciBjbGFzcz1cInNkYy1jYXJkX19mb290ZXIgZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XG4gICAgPGRpdiBjbGFzcz1cInNkYy1jYXJkX19mb290ZXItYWN0aW9uXCI+XG4gICAgICA8c2RjLWJ1dHRvblxuICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICAob25DbGljayk9XCJjYXJkQWN0aW9uLmVtaXQoZGF0YSlcIlxuICAgICAgICBbcHJpb3JpdHldPVwib3B0aW9ucz8uYnV0dG9uUHJpb3JpdHkhXCJcbiAgICAgICAgW2xhYmVsXT1cIm9wdGlvbnM/LmJ1dHRvbkxhYmVsIVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uQXJpYUxhYmVsXCJcbiAgICAgICAgPlxuICAgICAgPC9zZGMtYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Zvb3Rlcj5cbjwvYXJ0aWNsZT5cbiJdfQ==
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2NhcmQtbGlzdC9jYXJkL2NhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9jYXJkLWxpc3QvY2FyZC9jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlJLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RSxPQUFPLEVBQ0wscUNBQXFDLEVBQ3JDLHdDQUF3QyxFQUN4QyxpQ0FBaUMsRUFDakMsMEJBQTBCLEVBQzFCLGdDQUFnQyxFQUNoQyxtQ0FBbUMsRUFDbkMsNEJBQTRCLEVBQzVCLG1DQUFtQyxFQUNuQyxzQ0FBc0MsRUFDdEMsK0JBQStCLEVBQy9CLHdCQUF3QixFQUN6QixNQUFNLG9DQUFvQyxDQUFDO0FBRTVDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQVdoRSxNQUFNLE9BQU8saUJBQWlCO0lBQ1gsR0FBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2hDLFNBQVMsR0FBRyxNQUFN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QUMsZUFBZSxFQUFFLGVBQWUsQ0FBQyxjQUUvQixJQUFJLG1CQUVDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVE7d0RBY2hDLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7XG4gIENBUkRfQ09MTEFQU0VfQ0FURUdPUllfQVJJQV9MQUJFTF9LRVksXG4gIENBUkRfQ09MTEFQU0VfREVTQ1JJUFRJT05fQVJJQV9MQUJFTF9LRVksXG4gIENBUkRfQ09MTEFQU0VfTkFNRV9BUklBX0xBQkVMX0tFWSxcbiAgQ0FSRF9ERVNDUklQVElPTl9MQUJFTF9LRVksXG4gIENBUkRfREVGQVVMVF9DQVRFR09SWV9NQVhfTEVOR1RILFxuICBDQVJEX0RFRkFVTFRfREVTQ1JJUFRJT05fTUFYX0xFTkdUSCxcbiAgQ0FSRF9ERUZBVUxUX05BTUVfTUFYX0xFTkdUSCxcbiAgQ0FSRF9FWFBBTkRfQ0FURUdPUllfQVJJQV9MQUJFTF9LRVksXG4gIENBUkRfRVhQQU5EX0RFU0NSSVBUSU9OX0FSSUFfTEFCRUxfS0VZLFxuICBDQVJEX0VYUEFORF9OQU1FX0FSSUFfTEFCRUxfS0VZLFxuICBDQVJEX1NIT1dfTEVTU19MQUJFTF9LRVlcbn0gZnJvbSAnLi4vLi4vLi4vY29yZS9jb25zdGFudHMvY2FyZC5jb25zdCc7XG5pbXBvcnQgeyBDYXJkLCBPcHRpb25zQ2FyZCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdHlwZXMvY2FyZC50eXBlJztcbmltcG9ydCB7IHJlc29sdmVUcmFuc2xhdGFibGVUZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29yZS91dGlscy9pMThuLnV0aWwnO1xuaW1wb3J0IHsgdG9Qb3NpdGl2ZUludGVnZXIgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3V0aWxzL251bWJlci51dGlsJztcbmltcG9ydCB7IGNoYXJhY3Rlckxlbmd0aCwgdHJ1bmNhdGVDaGFyYWN0ZXJzIH0gZnJvbSAnLi4vLi4vLi4vY29yZS91dGlscy9zdHJpbmcudXRpbCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1jYXJkLW1pbmknLFxuICBpbXBvcnRzOiBbQnV0dG9uQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHN0eWxlVXJsOiAnLi9jYXJkLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIENhcmRNaW5pQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2hvd0xlc3NMYWJlbEtleSA9IENBUkRfU0hPV19MRVNTX0xBQkVMX0tFWTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGV4cGFuZE5hbWVBcmlhTGFiZWxLZXkgPSBDQVJEX0VYUEFORF9OQU1FX0FSSUFfTEFCRUxfS0VZO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29sbGFwc2VOYW1lQXJpYUxhYmVsS2V5ID0gQ0FSRF9DT0xMQVBTRV9OQU1FX0FSSUFfTEFCRUxfS0VZO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXhwYW5kQ2F0ZWdvcnlBcmlhTGFiZWxLZXkgPSBDQVJEX0VYUEFORF9DQVRFR09SWV9BUklBX0xBQkVMX0tFWTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbGxhcHNlQ2F0ZWdvcnlBcmlhTGFiZWxLZXkgPSBDQVJEX0NPTExBUFNFX0NBVEVHT1JZX0FSSUFfTEFCRUxfS0VZO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXhwYW5kRGVzY3JpcHRpb25BcmlhTGFiZWxLZXkgPSBDQVJEX0VYUEFORF9ERVNDUklQVElPTl9BUklBX0xBQkVMX0tFWTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbGxhcHNlRGVzY3JpcHRpb25BcmlhTGFiZWxLZXkgPSBDQVJEX0NPTExBUFNFX0RFU0NSSVBUSU9OX0FSSUFfTEFCRUxfS0VZO1xuXG4gIEBJbnB1dCgpIGRhdGEhOiBDYXJkO1xuICBASW5wdXQoKSBvcHRpb25zPzogT3B0aW9uc0NhcmQ7XG4gIEBPdXRwdXQoKSBjYXJkQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxDYXJkPigpO1xuXG4gIHByb3RlY3RlZCBleHBhbmRlZERlc2NyaXB0aW9uID0gZmFsc2U7XG4gIHByb3RlY3RlZCBleHBhbmRlZE5hbWUgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGV4cGFuZGVkQ2F0ZWdvcnkgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnRyYW5zbGF0ZS5vbkxhbmdDaGFuZ2UucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZnVsbERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dCh0aGlzLmRhdGE/LmRlc2NyaXB0aW9uKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZnVsbE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0KHRoaXMuZGF0YT8ubmFtZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGZ1bGxDYXRlZ29yeSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHQodGhpcy5kYXRhPy5jYXRlZ29yeSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGRlc2NyaXB0aW9uTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0KHRoaXMub3B0aW9ucz8uZGVzY3JpcHRpb25MYWJlbCA/PyBDQVJEX0RFU0NSSVBUSU9OX0xBQkVMX0tFWSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGJ1dHRvbkxhYmVsVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHQodGhpcy5vcHRpb25zPy5idXR0b25MYWJlbCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGJ1dHRvbkFyaWFMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBbdGhpcy5idXR0b25MYWJlbFRleHQsIHRoaXMuZnVsbE5hbWVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgLSAnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZGVzY3JpcHRpb25NYXhMZW4oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdG9Qb3NpdGl2ZUludGVnZXIodGhpcy5vcHRpb25zPy5kZXNjcmlwdGlvbk1heExlbmd0aCwgQ0FSRF9ERUZBVUxUX0RFU0NSSVBUSU9OX01BWF9MRU5HVEgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBuYW1lTWF4TGVuKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRvUG9zaXRpdmVJbnRlZ2VyKHRoaXMub3B0aW9ucz8ubmFtZU1heExlbmd0aCwgQ0FSRF9ERUZBVUxUX05BTUVfTUFYX0xFTkdUSCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGNhdGVnb3J5TWF4TGVuKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRvUG9zaXRpdmVJbnRlZ2VyKHRoaXMub3B0aW9ucz8uY2F0ZWdvcnlNYXhMZW5ndGgsIENBUkRfREVGQVVMVF9DQVRFR09SWV9NQVhfTEVOR1RIKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgaXNEZXNjcmlwdGlvblRydW5jYXRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY2hhcmFjdGVyTGVuZ3RoKHRoaXMuZnVsbERlc2NyaXB0aW9uKSA+IHRoaXMuZGVzY3JpcHRpb25NYXhMZW47XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGlzTmFtZVRydW5jYXRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY2hhcmFjdGVyTGVuZ3RoKHRoaXMuZnVsbE5hbWUpID4gdGhpcy5uYW1lTWF4TGVuO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBpc0NhdGVnb3J5VHJ1bmNhdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBjaGFyYWN0ZXJMZW5ndGgodGhpcy5mdWxsQ2F0ZWdvcnkpID4gdGhpcy5jYXRlZ29yeU1heExlbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgc2hvcnREZXNjcmlwdGlvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0cnVuY2F0ZUNoYXJhY3RlcnModGhpcy5mdWxsRGVzY3JpcHRpb24sIHRoaXMuZGVzY3JpcHRpb25NYXhMZW4pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBzaG9ydE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdHJ1bmNhdGVDaGFyYWN0ZXJzKHRoaXMuZnVsbE5hbWUsIHRoaXMubmFtZU1heExlbik7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHNob3J0Q2F0ZWdvcnkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdHJ1bmNhdGVDaGFyYWN0ZXJzKHRoaXMuZnVsbENhdGVnb3J5LCB0aGlzLmNhdGVnb3J5TWF4TGVuKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBleHBhbmREZXNjcmlwdGlvbihldmVudD86IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zdG9wKGV2ZW50KTtcblxuICAgIGlmICghdGhpcy5pc0Rlc2NyaXB0aW9uVHJ1bmNhdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5leHBhbmRlZERlc2NyaXB0aW9uID0gdHJ1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjb2xsYXBzZURlc2NyaXB0aW9uKGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3AoZXZlbnQpO1xuICAgIHRoaXMuZXhwYW5kZWREZXNjcmlwdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGV4cGFuZE5hbWUoZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcChldmVudCk7XG5cbiAgICBpZiAoIXRoaXMuaXNOYW1lVHJ1bmNhdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5leHBhbmRlZE5hbWUgPSB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbGxhcHNlTmFtZShldmVudD86IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zdG9wKGV2ZW50KTtcbiAgICB0aGlzLmV4cGFuZGVkTmFtZSA9IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGV4cGFuZENhdGVnb3J5KGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3AoZXZlbnQpO1xuXG4gICAgaWYgKCF0aGlzLmlzQ2F0ZWdvcnlUcnVuY2F0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmV4cGFuZGVkQ2F0ZWdvcnkgPSB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbGxhcHNlQ2F0ZWdvcnkoZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcChldmVudCk7XG4gICAgdGhpcy5leHBhbmRlZENhdGVnb3J5ID0gZmFsc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25EZXNjcmlwdGlvbkVsbGlwc2lzRW50ZXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5leHBhbmREZXNjcmlwdGlvbihldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25EZXNjcmlwdGlvbkVsbGlwc2lzU3BhY2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5leHBhbmREZXNjcmlwdGlvbihldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25OYW1lRWxsaXBzaXNFbnRlcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZE5hbWUoZXZlbnQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uTmFtZUVsbGlwc2lzU3BhY2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5leHBhbmROYW1lKGV2ZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNhdGVnb3J5RWxsaXBzaXNFbnRlcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZENhdGVnb3J5KGV2ZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNhdGVnb3J5RWxsaXBzaXNTcGFjZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZENhdGVnb3J5KGV2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNsYXRlVGV4dCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGUsIHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RvcChldmVudD86IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG59XG4iLCI8YXJ0aWNsZSBjbGFzcz1cInNkYy1jYXJkLW1pbmkgZHAtY2FyZFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiZnVsbE5hbWUgKyAnIC0gJyArIGZ1bGxDYXRlZ29yeVwiPlxuICA8aGVhZGVyIGNsYXNzPVwic2RjLWNhcmRfX2hlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJzZGMtY2FyZF9faWNvblwiIFtzdHlsZS5iYWNrZ3JvdW5kXT1cIm9wdGlvbnM/LmJhY2tncm91bmRJY29uXCIgW3N0eWxlLmNvbG9yXT1cIm9wdGlvbnM/Lmljb25Db2xvclwiPlxuICAgICAgPGkgW2NsYXNzXT1cImRhdGEuaWNvbiB8fCBvcHRpb25zPy5pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInNkYy1jYXJkX19oZWFkZXItdGV4dFwiPlxuICAgICAgPGgyIGNsYXNzPVwic2RjLWNhcmRfX3RpdGxlXCIgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc05hbWVUcnVuY2F0ZWQgPyBleHBhbmRlZE5hbWUgOiBudWxsXCI+XG4gICAgICAgIEBpZiAoIWV4cGFuZGVkTmFtZSkge1xuICAgICAgICAgIHt7IHNob3J0TmFtZSB9fUBpZiAoaXNOYW1lVHJ1bmNhdGVkKSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cInNkYy1jYXJkX19lbGxpcHNpc1wiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImV4cGFuZE5hbWVBcmlhTGFiZWxLZXkgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImV4cGFuZE5hbWUoJGV2ZW50KVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbk5hbWVFbGxpcHNpc0VudGVyKCRldmVudClcIlxuICAgICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwib25OYW1lRWxsaXBzaXNTcGFjZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID4uLi48L2J1dHRvblxuICAgICAgICAgICAgPlxuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAge3sgZnVsbE5hbWUgfX1cbiAgICAgICAgfVxuICAgICAgPC9oMj5cblxuICAgICAgQGlmIChleHBhbmRlZE5hbWUgJiYgaXNOYW1lVHJ1bmNhdGVkKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cInNkYy1jYXJkX190b2dnbGUgc2RjLWNhcmRfX3RvZ2dsZS0taW5saW5lXCJcbiAgICAgICAgICAoY2xpY2spPVwiY29sbGFwc2VOYW1lKCRldmVudClcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29sbGFwc2VOYW1lQXJpYUxhYmVsS2V5IHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAge3sgc2hvd0xlc3NMYWJlbEtleSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cInNkYy1jYXJkX19zdWJ0aXRsZVwiIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNDYXRlZ29yeVRydW5jYXRlZCA/IGV4cGFuZGVkQ2F0ZWdvcnkgOiBudWxsXCI+XG4gICAgICAgIEBpZiAoIWV4cGFuZGVkQ2F0ZWdvcnkpIHtcbiAgICAgICAgICB7eyBzaG9ydENhdGVnb3J5IH19QGlmIChpc0NhdGVnb3J5VHJ1bmNhdGVkKSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cInNkYy1jYXJkX19lbGxpcHNpc1wiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImV4cGFuZENhdGVnb3J5QXJpYUxhYmVsS2V5IHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJleHBhbmRDYXRlZ29yeSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uQ2F0ZWdvcnlFbGxpcHNpc0VudGVyKCRldmVudClcIlxuICAgICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwib25DYXRlZ29yeUVsbGlwc2lzU3BhY2UoJGV2ZW50KVwiXG4gICAgICAgICAgICA+Li4uPC9idXR0b25cbiAgICAgICAgICAgID5cbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIHt7IGZ1bGxDYXRlZ29yeSB9fVxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgQGlmIChleHBhbmRlZENhdGVnb3J5ICYmIGlzQ2F0ZWdvcnlUcnVuY2F0ZWQpIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwic2RjLWNhcmRfX3RvZ2dsZSBzZGMtY2FyZF9fdG9nZ2xlLS1pbmxpbmVcIlxuICAgICAgICAgIChjbGljayk9XCJjb2xsYXBzZUNhdGVnb3J5KCRldmVudClcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29sbGFwc2VDYXRlZ29yeUFyaWFMYWJlbEtleSB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIHt7IHNob3dMZXNzTGFiZWxLZXkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvaGVhZGVyPlxuXG4gIDxkaXYgY2xhc3M9XCJzZGMtY2FyZF9fYm9keVwiPlxuICAgIDxkaXYgY2xhc3M9XCJzZGMtY2FyZF9fY29udGVudFwiPlxuICAgICAgQGlmIChkZXNjcmlwdGlvbkxhYmVsKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZGMtY2FyZF9fZGVzY3JpcHRpb24tbGFiZWxcIj57eyBkZXNjcmlwdGlvbkxhYmVsIH19PC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDxwIGNsYXNzPVwic2RjLWNhcmRfX2Rlc2NyaXB0aW9uXCIgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc0Rlc2NyaXB0aW9uVHJ1bmNhdGVkID8gZXhwYW5kZWREZXNjcmlwdGlvbiA6IG51bGxcIj5cbiAgICAgICAgQGlmICghZXhwYW5kZWREZXNjcmlwdGlvbikge1xuICAgICAgICAgIHt7IHNob3J0RGVzY3JpcHRpb24gfX1AaWYgKGlzRGVzY3JpcHRpb25UcnVuY2F0ZWQpIHtcbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2RjLWNhcmRfX2VsbGlwc2lzXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZXhwYW5kRGVzY3JpcHRpb25BcmlhTGFiZWxLZXkgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImV4cGFuZERlc2NyaXB0aW9uKCRldmVudClcIlxuICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25EZXNjcmlwdGlvbkVsbGlwc2lzRW50ZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJvbkRlc2NyaXB0aW9uRWxsaXBzaXNTcGFjZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID4uLi48L2J1dHRvblxuICAgICAgICAgICAgPlxuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAge3sgZnVsbERlc2NyaXB0aW9uIH19XG4gICAgICAgIH1cbiAgICAgIDwvcD5cblxuICAgICAgQGlmIChleHBhbmRlZERlc2NyaXB0aW9uICYmIGlzRGVzY3JpcHRpb25UcnVuY2F0ZWQpIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwic2RjLWNhcmRfX3RvZ2dsZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImNvbGxhcHNlRGVzY3JpcHRpb24oJGV2ZW50KVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjb2xsYXBzZURlc2NyaXB0aW9uQXJpYUxhYmVsS2V5IHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAge3sgc2hvd0xlc3NMYWJlbEtleSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGZvb3RlciBjbGFzcz1cInNkYy1jYXJkX19mb290ZXIgZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XG4gICAgPGRpdiBjbGFzcz1cInNkYy1jYXJkX19mb290ZXItYWN0aW9uXCI+XG4gICAgICA8c2RjLWJ1dHRvblxuICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICAoY2xpY2tlZCk9XCJjYXJkQWN0aW9uLmVtaXQoZGF0YSlcIlxuICAgICAgICBbcHJpb3JpdHldPVwib3B0aW9ucz8uYnV0dG9uUHJpb3JpdHkhXCJcbiAgICAgICAgW2xhYmVsXT1cIm9wdGlvbnM/LmJ1dHRvbkxhYmVsIVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uQXJpYUxhYmVsXCJcbiAgICAgICAgPlxuICAgICAgPC9zZGMtYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Zvb3Rlcj5cbjwvYXJ0aWNsZT5cbiJdfQ==
@@ -54,7 +54,7 @@ export class CheckboxComponent {
54
54
  useExisting: forwardRef(() => CheckboxComponent),
55
55
  multi: true
56
56
  }
57
- ], ngImport: i0, template: "<!-- Nativo -->\n@if (commonCheckbox) {\n<label\n class=\"sdc-checkbox sdc-checkbox--native\"\n [class.sdc-checkbox--disabled]=\"disabled\"\n [class.sdc-checkbox--label-left]=\"labelPosition === 'left'\"\n [class.sdc-checkbox--small]=\"size === 'small'\"\n [class.sdc-checkbox--medium]=\"size === 'medium'\"\n [class.sdc-checkbox--large]=\"size === 'large'\"\n>\n <input\n class=\"sdc-checkbox__input-native\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (change)=\"onInputChange($event)\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-label]=\"label ? (label | translate) : ('platform.datacore.accessibility.checkbox_toggle' | translate)\"\n />\n @if (label) {\n <span class=\"sdc-checkbox__label\">{{ label | translate }}</span>\n }\n</label>\n}\n\n<!-- Custom -->\n@if (!commonCheckbox) {\n<label\n class=\"sdc-checkbox\"\n [class.sdc-checkbox--disabled]=\"disabled\"\n [class.sdc-checkbox--label-left]=\"labelPosition === 'left'\"\n [class.sdc-checkbox--small]=\"size === 'small'\"\n [class.sdc-checkbox--medium]=\"size === 'medium'\"\n [class.sdc-checkbox--large]=\"size === 'large'\"\n>\n <input\n class=\"sdc-checkbox__input\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (change)=\"onInputChange($event)\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-label]=\"label ? (label | translate) : ('platform.datacore.accessibility.checkbox_toggle' | translate)\"\n />\n <span class=\"sdc-checkbox__box\" aria-hidden=\"true\"></span>\n @if (label) {\n <span class=\"sdc-checkbox__label\">{{ label | translate }}</span>\n }\n</label>\n}", styles: [":host{display:inline-flex}.sdc-checkbox{display:inline-flex;align-items:center;gap:var(--sdc-checkbox-gap);cursor:pointer;-webkit-user-select:none;user-select:none}.sdc-checkbox--disabled{cursor:not-allowed;opacity:var(--sdc-checkbox-disabled-opacity)}.sdc-checkbox--label-left{flex-direction:row-reverse}.sdc-checkbox--small{--sdc-chk-size: 14px}.sdc-checkbox--medium{--sdc-chk-size: 18px}.sdc-checkbox--large{--sdc-chk-size: 24px}.sdc-checkbox__input{position:absolute;opacity:0;width:0;height:0}.sdc-checkbox__input-native{width:var(--sdc-chk-size);height:var(--sdc-chk-size)}.sdc-checkbox__box{width:var(--sdc-chk-size);height:var(--sdc-chk-size);border:1px solid var(--sdc-chk-border);border-radius:var(--sdc-chk-radius);display:inline-block;position:relative;transition:all .15s ease-in-out;flex:0 0 auto}.sdc-checkbox__input:focus-visible+.sdc-checkbox__box{outline:2px solid var(--sdc-chk-focus);outline-offset:2px}.sdc-checkbox__input:checked+.sdc-checkbox__box{background-color:var(--sdc-chk-color);border-color:var(--sdc-chk-color)}.sdc-checkbox__input:checked+.sdc-checkbox__box:after{content:\"\";position:absolute;left:calc(var(--sdc-chk-size) * .27);top:calc(var(--sdc-chk-size) * .1);width:calc(var(--sdc-chk-size) * .3);height:calc(var(--sdc-chk-size) * .6);border:solid #fff;border-width:0 max(2px,var(--sdc-chk-size) * .1) max(2px,var(--sdc-chk-size) * .1) 0;transform:rotate(45deg);box-sizing:border-box}.sdc-checkbox__label{font-size:var(--sdc-checkbox-label-size);line-height:var(--sdc-checkbox-label-lh);align-self:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
57
+ ], ngImport: i0, template: "<!-- Nativo -->\n@if (commonCheckbox) {\n<label\n class=\"sdc-checkbox sdc-checkbox--native\"\n [class.sdc-checkbox--disabled]=\"disabled\"\n [class.sdc-checkbox--label-left]=\"labelPosition === 'left'\"\n [class.sdc-checkbox--small]=\"size === 'small'\"\n [class.sdc-checkbox--medium]=\"size === 'medium'\"\n [class.sdc-checkbox--large]=\"size === 'large'\"\n>\n <input\n class=\"sdc-checkbox__input-native\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (change)=\"onInputChange($event)\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-label]=\"label ? (label | translate) : ('platform.datacore.accessibility.checkbox_toggle' | translate)\"\n />\n @if (label) {\n <span class=\"sdc-checkbox__label\">{{ label | translate }}</span>\n }\n</label>\n}\n\n<!-- Custom -->\n@if (!commonCheckbox) {\n<label\n class=\"sdc-checkbox\"\n [class.sdc-checkbox--disabled]=\"disabled\"\n [class.sdc-checkbox--label-left]=\"labelPosition === 'left'\"\n [class.sdc-checkbox--small]=\"size === 'small'\"\n [class.sdc-checkbox--medium]=\"size === 'medium'\"\n [class.sdc-checkbox--large]=\"size === 'large'\"\n>\n <input\n class=\"sdc-checkbox__input\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (change)=\"onInputChange($event)\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-label]=\"label ? (label | translate) : ('platform.datacore.accessibility.checkbox_toggle' | translate)\"\n />\n <span class=\"sdc-checkbox__box\" aria-hidden=\"true\"></span>\n @if (label) {\n <span class=\"sdc-checkbox__label\">{{ label | translate }}</span>\n }\n</label>\n}", styles: [":host{display:inline-flex}.sdc-checkbox{display:inline-flex;align-items:center;gap:var(--sdc-checkbox-gap);cursor:pointer;-webkit-user-select:none;user-select:none}.sdc-checkbox--disabled{cursor:not-allowed;opacity:var(--sdc-checkbox-disabled-opacity)}.sdc-checkbox--label-left{flex-direction:row-reverse}.sdc-checkbox--small{--sdc-chk-size: 14px}.sdc-checkbox--medium{--sdc-chk-size: 18px}.sdc-checkbox--large{--sdc-chk-size: 24px}.sdc-checkbox__input{position:absolute;opacity:0;width:0;height:0}.sdc-checkbox__input-native{width:var(--sdc-chk-size);height:var(--sdc-chk-size)}.sdc-checkbox__box{width:var(--sdc-chk-size);height:var(--sdc-chk-size);border:1px solid var(--sdc-chk-border);border-radius:var(--sdc-chk-radius);display:inline-block;position:relative;transition:all .15s ease-in-out;flex:0 0 auto}.sdc-checkbox__input:focus-visible+.sdc-checkbox__box{outline:2px solid var(--sdc-chk-focus);outline-offset:2px}.sdc-checkbox__input:checked+.sdc-checkbox__box{background-color:var(--sdc-chk-color);border-color:var(--sdc-chk-color)}.sdc-checkbox__input:checked+.sdc-checkbox__box:after{content:\"\";position:absolute;left:50%;top:50%;width:calc(var(--sdc-chk-size) * .3);height:calc(var(--sdc-chk-size) * .55);border:solid #fff;border-width:0 max(2px,var(--sdc-chk-size) * .1) max(2px,var(--sdc-chk-size) * .1) 0;transform:translate(-50%,-60%) rotate(45deg);box-sizing:border-box}.sdc-checkbox__label{font-size:var(--sdc-checkbox-label-size);line-height:var(--sdc-checkbox-label-lh);align-self:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
58
58
  }
59
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckboxComponent, decorators: [{
60
60
  type: Component,
@@ -64,7 +64,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
64
64
  useExisting: forwardRef(() => CheckboxComponent),
65
65
  multi: true
66
66
  }
67
- ], template: "<!-- Nativo -->\n@if (commonCheckbox) {\n<label\n class=\"sdc-checkbox sdc-checkbox--native\"\n [class.sdc-checkbox--disabled]=\"disabled\"\n [class.sdc-checkbox--label-left]=\"labelPosition === 'left'\"\n [class.sdc-checkbox--small]=\"size === 'small'\"\n [class.sdc-checkbox--medium]=\"size === 'medium'\"\n [class.sdc-checkbox--large]=\"size === 'large'\"\n>\n <input\n class=\"sdc-checkbox__input-native\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (change)=\"onInputChange($event)\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-label]=\"label ? (label | translate) : ('platform.datacore.accessibility.checkbox_toggle' | translate)\"\n />\n @if (label) {\n <span class=\"sdc-checkbox__label\">{{ label | translate }}</span>\n }\n</label>\n}\n\n<!-- Custom -->\n@if (!commonCheckbox) {\n<label\n class=\"sdc-checkbox\"\n [class.sdc-checkbox--disabled]=\"disabled\"\n [class.sdc-checkbox--label-left]=\"labelPosition === 'left'\"\n [class.sdc-checkbox--small]=\"size === 'small'\"\n [class.sdc-checkbox--medium]=\"size === 'medium'\"\n [class.sdc-checkbox--large]=\"size === 'large'\"\n>\n <input\n class=\"sdc-checkbox__input\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (change)=\"onInputChange($event)\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-label]=\"label ? (label | translate) : ('platform.datacore.accessibility.checkbox_toggle' | translate)\"\n />\n <span class=\"sdc-checkbox__box\" aria-hidden=\"true\"></span>\n @if (label) {\n <span class=\"sdc-checkbox__label\">{{ label | translate }}</span>\n }\n</label>\n}", styles: [":host{display:inline-flex}.sdc-checkbox{display:inline-flex;align-items:center;gap:var(--sdc-checkbox-gap);cursor:pointer;-webkit-user-select:none;user-select:none}.sdc-checkbox--disabled{cursor:not-allowed;opacity:var(--sdc-checkbox-disabled-opacity)}.sdc-checkbox--label-left{flex-direction:row-reverse}.sdc-checkbox--small{--sdc-chk-size: 14px}.sdc-checkbox--medium{--sdc-chk-size: 18px}.sdc-checkbox--large{--sdc-chk-size: 24px}.sdc-checkbox__input{position:absolute;opacity:0;width:0;height:0}.sdc-checkbox__input-native{width:var(--sdc-chk-size);height:var(--sdc-chk-size)}.sdc-checkbox__box{width:var(--sdc-chk-size);height:var(--sdc-chk-size);border:1px solid var(--sdc-chk-border);border-radius:var(--sdc-chk-radius);display:inline-block;position:relative;transition:all .15s ease-in-out;flex:0 0 auto}.sdc-checkbox__input:focus-visible+.sdc-checkbox__box{outline:2px solid var(--sdc-chk-focus);outline-offset:2px}.sdc-checkbox__input:checked+.sdc-checkbox__box{background-color:var(--sdc-chk-color);border-color:var(--sdc-chk-color)}.sdc-checkbox__input:checked+.sdc-checkbox__box:after{content:\"\";position:absolute;left:calc(var(--sdc-chk-size) * .27);top:calc(var(--sdc-chk-size) * .1);width:calc(var(--sdc-chk-size) * .3);height:calc(var(--sdc-chk-size) * .6);border:solid #fff;border-width:0 max(2px,var(--sdc-chk-size) * .1) max(2px,var(--sdc-chk-size) * .1) 0;transform:rotate(45deg);box-sizing:border-box}.sdc-checkbox__label{font-size:var(--sdc-checkbox-label-size);line-height:var(--sdc-checkbox-label-lh);align-self:center}\n"] }]
67
+ ], template: "<!-- Nativo -->\n@if (commonCheckbox) {\n<label\n class=\"sdc-checkbox sdc-checkbox--native\"\n [class.sdc-checkbox--disabled]=\"disabled\"\n [class.sdc-checkbox--label-left]=\"labelPosition === 'left'\"\n [class.sdc-checkbox--small]=\"size === 'small'\"\n [class.sdc-checkbox--medium]=\"size === 'medium'\"\n [class.sdc-checkbox--large]=\"size === 'large'\"\n>\n <input\n class=\"sdc-checkbox__input-native\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (change)=\"onInputChange($event)\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-label]=\"label ? (label | translate) : ('platform.datacore.accessibility.checkbox_toggle' | translate)\"\n />\n @if (label) {\n <span class=\"sdc-checkbox__label\">{{ label | translate }}</span>\n }\n</label>\n}\n\n<!-- Custom -->\n@if (!commonCheckbox) {\n<label\n class=\"sdc-checkbox\"\n [class.sdc-checkbox--disabled]=\"disabled\"\n [class.sdc-checkbox--label-left]=\"labelPosition === 'left'\"\n [class.sdc-checkbox--small]=\"size === 'small'\"\n [class.sdc-checkbox--medium]=\"size === 'medium'\"\n [class.sdc-checkbox--large]=\"size === 'large'\"\n>\n <input\n class=\"sdc-checkbox__input\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (change)=\"onInputChange($event)\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-label]=\"label ? (label | translate) : ('platform.datacore.accessibility.checkbox_toggle' | translate)\"\n />\n <span class=\"sdc-checkbox__box\" aria-hidden=\"true\"></span>\n @if (label) {\n <span class=\"sdc-checkbox__label\">{{ label | translate }}</span>\n }\n</label>\n}", styles: [":host{display:inline-flex}.sdc-checkbox{display:inline-flex;align-items:center;gap:var(--sdc-checkbox-gap);cursor:pointer;-webkit-user-select:none;user-select:none}.sdc-checkbox--disabled{cursor:not-allowed;opacity:var(--sdc-checkbox-disabled-opacity)}.sdc-checkbox--label-left{flex-direction:row-reverse}.sdc-checkbox--small{--sdc-chk-size: 14px}.sdc-checkbox--medium{--sdc-chk-size: 18px}.sdc-checkbox--large{--sdc-chk-size: 24px}.sdc-checkbox__input{position:absolute;opacity:0;width:0;height:0}.sdc-checkbox__input-native{width:var(--sdc-chk-size);height:var(--sdc-chk-size)}.sdc-checkbox__box{width:var(--sdc-chk-size);height:var(--sdc-chk-size);border:1px solid var(--sdc-chk-border);border-radius:var(--sdc-chk-radius);display:inline-block;position:relative;transition:all .15s ease-in-out;flex:0 0 auto}.sdc-checkbox__input:focus-visible+.sdc-checkbox__box{outline:2px solid var(--sdc-chk-focus);outline-offset:2px}.sdc-checkbox__input:checked+.sdc-checkbox__box{background-color:var(--sdc-chk-color);border-color:var(--sdc-chk-color)}.sdc-checkbox__input:checked+.sdc-checkbox__box:after{content:\"\";position:absolute;left:50%;top:50%;width:calc(var(--sdc-chk-size) * .3);height:calc(var(--sdc-chk-size) * .55);border:solid #fff;border-width:0 max(2px,var(--sdc-chk-size) * .1) max(2px,var(--sdc-chk-size) * .1) 0;transform:translate(-50%,-60%) rotate(45deg);box-sizing:border-box}.sdc-checkbox__label{font-size:var(--sdc-checkbox-label-size);line-height:var(--sdc-checkbox-label-lh);align-self:center}\n"] }]
68
68
  }], propDecorators: { label: [{
69
69
  type: Input
70
70
  }], disabled: [{
@@ -80,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
80
80
  }], checkedChange: [{
81
81
  type: Output
82
82
  }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFrQjVELE1BQU0sT0FBTyxpQkFBaUI7SUFDbkIsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNYLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN2QixhQUFhLEdBQXFCLE9BQU8sQ0FBQztJQUMxQyxJQUFJLEdBQWlDLFFBQVEsQ0FBQztJQUM5QyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBRWYsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFFdEQsT0FBTyxHQUFHLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRW5DLFFBQVEsR0FBMkIsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBQzVDLFNBQVMsR0FBZSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFekMsVUFBVSxDQUFDLEtBQWM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUEwQjtRQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBYztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELGFBQWEsQ0FBQyxFQUFTO1FBQ3JCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQTBCLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQztRQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7d0dBcERVLGlCQUFpQjs0RkFBakIsaUJBQWlCLDhQQVJqQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2hELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkNyQkgsdXFEQW1EQyxva0REekNXLFlBQVksOEJBQUUsZUFBZTs7NEZBYTVCLGlCQUFpQjtrQkFoQjdCLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLGNBQWMsV0FDZixDQUFDLFlBQVksRUFBRSxlQUFlLENBQUMsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVEsYUFDOUI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQUdRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7IG5leHRTZXF1ZW50aWFsSWQgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzL2lkLnV0aWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzZGMtY2hlY2tib3gnLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWQsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ2hlY2tib3hDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNvbW1vbkNoZWNrYm94ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGxhYmVsUG9zaXRpb246ICdyaWdodCcgfCAnbGVmdCcgPSAncmlnaHQnO1xuICBASW5wdXQoKSBzaXplOiAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnID0gJ21lZGl1bSc7XG4gIEBJbnB1dCgpIGNoZWNrZWQgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgY2hlY2tlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBpbnB1dElkID0gbmV4dFNlcXVlbnRpYWxJZCgnc2RjLWNoZWNrYm94Jyk7XG5cbiAgcHJpdmF0ZSBvbkNoYW5nZTogKHZhbDogYm9vbGVhbikgPT4gdm9pZCA9ICgpID0+IHt9O1xuICBwcml2YXRlIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrZWQgPSAhIXZhbHVlO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbDogYm9vbGVhbikgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgdG9nZ2xlQ2hlY2tlZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY2hlY2tlZCA9ICF0aGlzLmNoZWNrZWQ7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLmNoZWNrZWQpO1xuICAgIHRoaXMuY2hlY2tlZENoYW5nZS5lbWl0KHRoaXMuY2hlY2tlZCk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIG9uSW5wdXRDaGFuZ2UoZXY6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBlbCA9IGV2LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIHRoaXMuY2hlY2tlZCA9ICEhZWwuY2hlY2tlZDtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuY2hlY2tlZCk7XG4gICAgdGhpcy5jaGVja2VkQ2hhbmdlLmVtaXQodGhpcy5jaGVja2VkKTtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICB9XG59XG4iLCI8IS0tIE5hdGl2byAtLT5cbkBpZiAoY29tbW9uQ2hlY2tib3gpIHtcbjxsYWJlbFxuICBjbGFzcz1cInNkYy1jaGVja2JveCBzZGMtY2hlY2tib3gtLW5hdGl2ZVwiXG4gIFtjbGFzcy5zZGMtY2hlY2tib3gtLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2NsYXNzLnNkYy1jaGVja2JveC0tbGFiZWwtbGVmdF09XCJsYWJlbFBvc2l0aW9uID09PSAnbGVmdCdcIlxuICBbY2xhc3Muc2RjLWNoZWNrYm94LS1zbWFsbF09XCJzaXplID09PSAnc21hbGwnXCJcbiAgW2NsYXNzLnNkYy1jaGVja2JveC0tbWVkaXVtXT1cInNpemUgPT09ICdtZWRpdW0nXCJcbiAgW2NsYXNzLnNkYy1jaGVja2JveC0tbGFyZ2VdPVwic2l6ZSA9PT0gJ2xhcmdlJ1wiXG4+XG4gIDxpbnB1dFxuICAgIGNsYXNzPVwic2RjLWNoZWNrYm94X19pbnB1dC1uYXRpdmVcIlxuICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgW2lkXT1cImlucHV0SWRcIlxuICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgKGNoYW5nZSk9XCJvbklucHV0Q2hhbmdlKCRldmVudClcIlxuICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCJjaGVja2VkXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsID8gKGxhYmVsIHwgdHJhbnNsYXRlKSA6ICgncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5jaGVja2JveF90b2dnbGUnIHwgdHJhbnNsYXRlKVwiXG4gIC8+XG4gIEBpZiAobGFiZWwpIHtcbiAgPHNwYW4gY2xhc3M9XCJzZGMtY2hlY2tib3hfX2xhYmVsXCI+e3sgbGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gIH1cbjwvbGFiZWw+XG59XG5cbjwhLS0gQ3VzdG9tIC0tPlxuQGlmICghY29tbW9uQ2hlY2tib3gpIHtcbjxsYWJlbFxuICBjbGFzcz1cInNkYy1jaGVja2JveFwiXG4gIFtjbGFzcy5zZGMtY2hlY2tib3gtLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2NsYXNzLnNkYy1jaGVja2JveC0tbGFiZWwtbGVmdF09XCJsYWJlbFBvc2l0aW9uID09PSAnbGVmdCdcIlxuICBbY2xhc3Muc2RjLWNoZWNrYm94LS1zbWFsbF09XCJzaXplID09PSAnc21hbGwnXCJcbiAgW2NsYXNzLnNkYy1jaGVja2JveC0tbWVkaXVtXT1cInNpemUgPT09ICdtZWRpdW0nXCJcbiAgW2NsYXNzLnNkYy1jaGVja2JveC0tbGFyZ2VdPVwic2l6ZSA9PT0gJ2xhcmdlJ1wiXG4+XG4gIDxpbnB1dFxuICAgIGNsYXNzPVwic2RjLWNoZWNrYm94X19pbnB1dFwiXG4gICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICBbaWRdPVwiaW5wdXRJZFwiXG4gICAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAoY2hhbmdlKT1cIm9uSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cImNoZWNrZWRcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWwgPyAobGFiZWwgfCB0cmFuc2xhdGUpIDogKCdwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5LmNoZWNrYm94X3RvZ2dsZScgfCB0cmFuc2xhdGUpXCJcbiAgLz5cbiAgPHNwYW4gY2xhc3M9XCJzZGMtY2hlY2tib3hfX2JveFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgQGlmIChsYWJlbCkge1xuICA8c3BhbiBjbGFzcz1cInNkYy1jaGVja2JveF9fbGFiZWxcIj57eyBsYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgfVxuPC9sYWJlbD5cbn0iXX0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFrQjVELE1BQU0sT0FBTyxpQkFBaUI7SUFDbkIsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNYLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN2QixhQUFhLEdBQXFCLE9BQU8sQ0FBQztJQUMxQyxJQUFJLEdBQWlDLFFBQVEsQ0FBQztJQUM5QyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBRWYsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFFdEQsT0FBTyxHQUFHLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRW5DLFFBQVEsR0FBMkIsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBQzVDLFNBQVMsR0FBZSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFekMsVUFBVSxDQUFDLEtBQWM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUEwQjtRQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBYztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELGFBQWEsQ0FBQyxFQUFTO1FBQ3JCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQTBCLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQztRQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7d0dBcERVLGlCQUFpQjs0RkFBakIsaUJBQWlCLDhQQVJqQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2hELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkNyQkgsdXFEQW1EQyxtaUREekNXLFlBQVksOEJBQUUsZUFBZTs7NEZBYTVCLGlCQUFpQjtrQkFoQjdCLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLGNBQWMsV0FDZixDQUFDLFlBQVksRUFBRSxlQUFlLENBQUMsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVEsYUFDOUI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQUdRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7IG5leHRTZXF1ZW50aWFsSWQgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzL2lkLnV0aWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzZGMtY2hlY2tib3gnLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWQsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ2hlY2tib3hDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNvbW1vbkNoZWNrYm94ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGxhYmVsUG9zaXRpb246ICdyaWdodCcgfCAnbGVmdCcgPSAncmlnaHQnO1xuICBASW5wdXQoKSBzaXplOiAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnID0gJ21lZGl1bSc7XG4gIEBJbnB1dCgpIGNoZWNrZWQgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgY2hlY2tlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBpbnB1dElkID0gbmV4dFNlcXVlbnRpYWxJZCgnc2RjLWNoZWNrYm94Jyk7XG5cbiAgcHJpdmF0ZSBvbkNoYW5nZTogKHZhbDogYm9vbGVhbikgPT4gdm9pZCA9ICgpID0+IHt9O1xuICBwcml2YXRlIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrZWQgPSAhIXZhbHVlO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbDogYm9vbGVhbikgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgdG9nZ2xlQ2hlY2tlZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY2hlY2tlZCA9ICF0aGlzLmNoZWNrZWQ7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLmNoZWNrZWQpO1xuICAgIHRoaXMuY2hlY2tlZENoYW5nZS5lbWl0KHRoaXMuY2hlY2tlZCk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIG9uSW5wdXRDaGFuZ2UoZXY6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBlbCA9IGV2LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIHRoaXMuY2hlY2tlZCA9ICEhZWwuY2hlY2tlZDtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuY2hlY2tlZCk7XG4gICAgdGhpcy5jaGVja2VkQ2hhbmdlLmVtaXQodGhpcy5jaGVja2VkKTtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICB9XG59XG4iLCI8IS0tIE5hdGl2byAtLT5cbkBpZiAoY29tbW9uQ2hlY2tib3gpIHtcbjxsYWJlbFxuICBjbGFzcz1cInNkYy1jaGVja2JveCBzZGMtY2hlY2tib3gtLW5hdGl2ZVwiXG4gIFtjbGFzcy5zZGMtY2hlY2tib3gtLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2NsYXNzLnNkYy1jaGVja2JveC0tbGFiZWwtbGVmdF09XCJsYWJlbFBvc2l0aW9uID09PSAnbGVmdCdcIlxuICBbY2xhc3Muc2RjLWNoZWNrYm94LS1zbWFsbF09XCJzaXplID09PSAnc21hbGwnXCJcbiAgW2NsYXNzLnNkYy1jaGVja2JveC0tbWVkaXVtXT1cInNpemUgPT09ICdtZWRpdW0nXCJcbiAgW2NsYXNzLnNkYy1jaGVja2JveC0tbGFyZ2VdPVwic2l6ZSA9PT0gJ2xhcmdlJ1wiXG4+XG4gIDxpbnB1dFxuICAgIGNsYXNzPVwic2RjLWNoZWNrYm94X19pbnB1dC1uYXRpdmVcIlxuICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgW2lkXT1cImlucHV0SWRcIlxuICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgKGNoYW5nZSk9XCJvbklucHV0Q2hhbmdlKCRldmVudClcIlxuICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCJjaGVja2VkXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsID8gKGxhYmVsIHwgdHJhbnNsYXRlKSA6ICgncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5jaGVja2JveF90b2dnbGUnIHwgdHJhbnNsYXRlKVwiXG4gIC8+XG4gIEBpZiAobGFiZWwpIHtcbiAgPHNwYW4gY2xhc3M9XCJzZGMtY2hlY2tib3hfX2xhYmVsXCI+e3sgbGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gIH1cbjwvbGFiZWw+XG59XG5cbjwhLS0gQ3VzdG9tIC0tPlxuQGlmICghY29tbW9uQ2hlY2tib3gpIHtcbjxsYWJlbFxuICBjbGFzcz1cInNkYy1jaGVja2JveFwiXG4gIFtjbGFzcy5zZGMtY2hlY2tib3gtLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2NsYXNzLnNkYy1jaGVja2JveC0tbGFiZWwtbGVmdF09XCJsYWJlbFBvc2l0aW9uID09PSAnbGVmdCdcIlxuICBbY2xhc3Muc2RjLWNoZWNrYm94LS1zbWFsbF09XCJzaXplID09PSAnc21hbGwnXCJcbiAgW2NsYXNzLnNkYy1jaGVja2JveC0tbWVkaXVtXT1cInNpemUgPT09ICdtZWRpdW0nXCJcbiAgW2NsYXNzLnNkYy1jaGVja2JveC0tbGFyZ2VdPVwic2l6ZSA9PT0gJ2xhcmdlJ1wiXG4+XG4gIDxpbnB1dFxuICAgIGNsYXNzPVwic2RjLWNoZWNrYm94X19pbnB1dFwiXG4gICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICBbaWRdPVwiaW5wdXRJZFwiXG4gICAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAoY2hhbmdlKT1cIm9uSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cImNoZWNrZWRcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWwgPyAobGFiZWwgfCB0cmFuc2xhdGUpIDogKCdwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5LmNoZWNrYm94X3RvZ2dsZScgfCB0cmFuc2xhdGUpXCJcbiAgLz5cbiAgPHNwYW4gY2xhc3M9XCJzZGMtY2hlY2tib3hfX2JveFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgQGlmIChsYWJlbCkge1xuICA8c3BhbiBjbGFzcz1cInNkYy1jaGVja2JveF9fbGFiZWxcIj57eyBsYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgfVxuPC9sYWJlbD5cbn0iXX0=
@@ -2,7 +2,7 @@ import { CommonModule } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, Input, Output, TemplateRef, ViewEncapsulation, forwardRef, inject } from '@angular/core';
3
3
  import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
4
4
  import { TranslateModule, TranslateService } from '@ngx-translate/core';
5
- import { CHIPS_DEFAULT_INPUT_ID_PREFIX, CHIPS_DEFAULT_MAX, CHIPS_DEFAULT_MAX_LENGTH, CHIPS_DEFAULT_MAX_LENGTH_WITHOUT_TOOLTIP, CHIPS_DEFAULT_REMOVE_ARIA_LABEL } from '../../core/constants/chips.const';
5
+ import { CHIPS_DEFAULT_INPUT_ID_PREFIX, CHIPS_DEFAULT_MAX, CHIPS_DEFAULT_MAX_LENGTH, CHIPS_DEFAULT_MAX_LENGTH_WITHOUT_TOOLTIP, CHIPS_DEFAULT_PLACEHOLDER, CHIPS_DEFAULT_REMOVE_ARIA_LABEL } from '../../core/constants/chips.const';
6
6
  import { resolveNullableTranslatableText, resolveTranslatableText } from '../../core/utils/i18n.util';
7
7
  import { nextSequentialId } from '../../core/utils/id.util';
8
8
  import { characterLength, truncateCharacters } from '../../core/utils/string.util';
@@ -60,7 +60,7 @@ export class ChipsComponent {
60
60
  return resolveNullableTranslatableText(this.translate, this.infoTooltip, '', this.infoTooltipParams);
61
61
  }
62
62
  get resolvedPlaceholder() {
63
- return resolveTranslatableText(this.translate, this.placeholder, '', this.placeholderParams);
63
+ return resolveTranslatableText(this.translate, this.placeholder ?? CHIPS_DEFAULT_PLACEHOLDER, '', this.placeholderParams);
64
64
  }
65
65
  get resolvedInfoLabel() {
66
66
  return resolveNullableTranslatableText(this.translate, this.infoLabel);
@@ -68,6 +68,9 @@ export class ChipsComponent {
68
68
  get canAddMore() {
69
69
  return (this.value?.length ?? 0) < this.max;
70
70
  }
71
+ get resolvedMaxLength() {
72
+ return Number.isFinite(this.maxLength) ? this.maxLength : null;
73
+ }
71
74
  get removableItems() {
72
75
  return this.removable && !this.disabled;
73
76
  }
@@ -186,7 +189,7 @@ export class ChipsComponent {
186
189
  useExisting: forwardRef(() => ChipsComponent),
187
190
  multi: true
188
191
  }
189
- ], queries: [{ propertyName: "chipTemplate", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<div class=\"sdc-chips\">\n @if (resolvedLabel || resolvedInfoTooltip) {\n <div class=\"sdc-chips__labelRow\">\n @if (resolvedLabel) {\n <label class=\"sdc-chips__label\" [for]=\"inputId\">{{ resolvedLabel }}</label>\n }\n\n @if (resolvedInfoTooltip) {\n <sdc-tooltip [pTooltip]=\"resolvedInfoTooltip\" [tooltipEvent]=\"'both'\">\n <button type=\"button\" class=\"sdc-chips__infoIcon\" [attr.aria-label]=\"resolvedInfoTooltip\">\n <i class=\"fas fa-info-circle\" aria-hidden=\"true\"></i>\n </button>\n </sdc-tooltip>\n }\n </div>\n }\n\n <div class=\"sdc-chips__surface\" [class.sdc-chips__surface--plain]=\"appearance === 'plain'\">\n <ul class=\"sdc-chips__list\">\n @for (item of value; track resolveChipText(item) + '-' + $index) {\n <li class=\"sdc-chips__item\">\n @if (shouldShowChipTooltip(item)) {\n <sdc-tooltip [pTooltip]=\"resolveChipText(item)\" [tooltipEvent]=\"'both'\">\n <span\n class=\"sdc-chips__chip\"\n [class.sdc-chips__chip--disabled]=\"disabled\"\n [attr.role]=\"disabled ? null : 'button'\"\n [attr.tabindex]=\"disabled ? null : 0\"\n (click)=\"onChipItemClick($index, $event)\"\n (keydown)=\"onChipKeydown($index, $event)\"\n >\n @if (chipTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"chipTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item, text: renderChipText(item), index: $index }\"\n ></ng-container>\n } @else {\n <span>{{ renderChipText(item) }}</span>\n }\n\n @if (removableItems) {\n <button\n type=\"button\"\n class=\"sdc-chips__remove\"\n [attr.aria-label]=\"resolveRemoveAriaLabel(item)\"\n (click)=\"removeItem($index, $event)\"\n >\n <i class=\"fas fa-times\" aria-hidden=\"true\"></i>\n </button>\n }\n </span>\n </sdc-tooltip>\n } @else {\n <span\n class=\"sdc-chips__chip\"\n [class.sdc-chips__chip--disabled]=\"disabled\"\n [attr.role]=\"disabled ? null : 'button'\"\n [attr.tabindex]=\"disabled ? null : 0\"\n (click)=\"onChipItemClick($index, $event)\"\n (keydown)=\"onChipKeydown($index, $event)\"\n >\n @if (chipTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"chipTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item, text: renderChipText(item), index: $index }\"\n ></ng-container>\n } @else {\n <span>{{ renderChipText(item) }}</span>\n }\n\n @if (removableItems) {\n <button\n type=\"button\"\n class=\"sdc-chips__remove\"\n [attr.aria-label]=\"resolveRemoveAriaLabel(item)\"\n (click)=\"removeItem($index, $event)\"\n >\n <i class=\"fas fa-times\" aria-hidden=\"true\"></i>\n </button>\n }\n </span>\n }\n </li>\n }\n\n @if (editable) {\n <li class=\"sdc-chips__inputSlot\">\n <input\n [id]=\"inputId\"\n class=\"sdc-chips__input\"\n [disabled]=\"disabled || !canAddMore\"\n [placeholder]=\"resolvedPlaceholder\"\n [maxLength]=\"maxLength\"\n [autofocus]=\"autofocus\"\n [(ngModel)]=\"newItem\"\n (keydown)=\"onInputKeydown($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n />\n </li>\n }\n </ul>\n </div>\n\n @if (resolvedInfoLabel) {\n <small class=\"sdc-chips__infoLabel\">{{ resolvedInfoLabel }}</small>\n }\n\n @if (resolvedMessage) {\n <small class=\"sdc-chips__message\">{{ resolvedMessage }}</small>\n }\n</div>\n", styles: [":host{display:block;width:100%}.sdc-chips{width:100%}.sdc-chips__labelRow{align-items:center;display:flex;gap:var(--sdc-form-label-gap, .5rem);margin-bottom:.375rem}.sdc-chips__label{color:var(--sdc-text-default, #111827);font-size:.875rem;font-weight:600}.sdc-chips__infoIcon{background:transparent;border:0;color:var(--sdc-form-tooltip-color, #090909);cursor:help;display:inline-flex;padding:0}.sdc-chips__surface{background:var(--sdc-chips-surface-bg, #ffffff);border:1px solid var(--sdc-chips-surface-border, #c1c1cc);border-radius:var(--sdc-chips-surface-radius, 4px);min-height:35px;padding:6px}.sdc-chips__surface--plain{background:transparent;border:0;min-height:auto;padding:0}.sdc-chips__list{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}.sdc-chips__item,.sdc-chips__inputSlot{display:inline-flex}.sdc-chips__chip{align-items:center;background:var(--sdc-chips-chip-bg, #eeebf2);border:1px solid var(--sdc-chips-chip-border, #888b99);border-radius:var(--sdc-chips-chip-radius, 4px);color:var(--sdc-text-default, #111827);cursor:pointer;display:inline-flex;gap:.5rem;min-height:1.8rem;padding:0 .5rem;-webkit-user-select:none;user-select:none}.sdc-chips__chip:focus-visible{box-shadow:var(--sdc-focus-ring, 0 0 0 3px rgba(0, 123, 255, .25));outline:none}.sdc-chips__chip:hover:not(.sdc-chips__chip--disabled){background:var(--sdc-chips-chip-hover-bg, #dfe4ec)}.sdc-chips__chip--disabled{cursor:default;opacity:.6}.sdc-chips__remove{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:inline-flex;padding:0}.sdc-chips__input{background:transparent;border:0;color:var(--sdc-text-default, #111827);flex:1 1 10rem;min-width:8rem;outline:none;padding:.25rem 0}.sdc-chips__infoLabel,.sdc-chips__message{color:var(--sdc-text-muted, #6b7280);display:block;font-size:.75rem;margin-top:.35rem}.sdc-chips__message{color:var(--sdc-error-color, #d98888)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: TooltipComponent, selector: "sdc-tooltip", inputs: ["pTooltip", "tooltipPosition", "tooltipEvent", "fitContent", "tooltipDisabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
192
+ ], queries: [{ propertyName: "chipTemplate", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<div class=\"sdc-chips\">\n @if (resolvedLabel || resolvedInfoTooltip) {\n <div class=\"sdc-chips__labelRow\">\n @if (resolvedLabel) {\n <label class=\"sdc-chips__label\" [for]=\"inputId\">{{ resolvedLabel }}</label>\n }\n\n @if (resolvedInfoTooltip) {\n <sdc-tooltip [pTooltip]=\"resolvedInfoTooltip\" [tooltipEvent]=\"'both'\">\n <button type=\"button\" class=\"sdc-chips__infoIcon\" [attr.aria-label]=\"resolvedInfoTooltip\">\n <i class=\"fas fa-info-circle\" aria-hidden=\"true\"></i>\n </button>\n </sdc-tooltip>\n }\n </div>\n }\n\n <div class=\"sdc-chips__surface\" [class.sdc-chips__surface--plain]=\"appearance === 'plain'\">\n <ul class=\"sdc-chips__list\">\n @for (item of value; track resolveChipText(item) + '-' + $index) {\n <li class=\"sdc-chips__item\">\n @if (shouldShowChipTooltip(item)) {\n <sdc-tooltip [pTooltip]=\"resolveChipText(item)\" [tooltipEvent]=\"'both'\">\n <span\n class=\"sdc-chips__chip\"\n [class.sdc-chips__chip--disabled]=\"disabled\"\n [attr.role]=\"disabled ? null : 'button'\"\n [attr.tabindex]=\"disabled ? null : 0\"\n (click)=\"onChipItemClick($index, $event)\"\n (keydown)=\"onChipKeydown($index, $event)\"\n >\n @if (chipTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"chipTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item, text: renderChipText(item), index: $index }\"\n ></ng-container>\n } @else {\n <span>{{ renderChipText(item) }}</span>\n }\n\n @if (removableItems) {\n <button\n type=\"button\"\n class=\"sdc-chips__remove\"\n [attr.aria-label]=\"resolveRemoveAriaLabel(item)\"\n (click)=\"removeItem($index, $event)\"\n >\n <i class=\"fas fa-times\" aria-hidden=\"true\"></i>\n </button>\n }\n </span>\n </sdc-tooltip>\n } @else {\n <span\n class=\"sdc-chips__chip\"\n [class.sdc-chips__chip--disabled]=\"disabled\"\n [attr.role]=\"disabled ? null : 'button'\"\n [attr.tabindex]=\"disabled ? null : 0\"\n (click)=\"onChipItemClick($index, $event)\"\n (keydown)=\"onChipKeydown($index, $event)\"\n >\n @if (chipTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"chipTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item, text: renderChipText(item), index: $index }\"\n ></ng-container>\n } @else {\n <span>{{ renderChipText(item) }}</span>\n }\n\n @if (removableItems) {\n <button\n type=\"button\"\n class=\"sdc-chips__remove\"\n [attr.aria-label]=\"resolveRemoveAriaLabel(item)\"\n (click)=\"removeItem($index, $event)\"\n >\n <i class=\"fas fa-times\" aria-hidden=\"true\"></i>\n </button>\n }\n </span>\n }\n </li>\n }\n\n @if (editable) {\n <li class=\"sdc-chips__inputSlot\">\n <input\n [id]=\"inputId\"\n class=\"sdc-chips__input\"\n [disabled]=\"disabled || !canAddMore\"\n [placeholder]=\"resolvedPlaceholder\"\n [attr.maxlength]=\"resolvedMaxLength\"\n [autofocus]=\"autofocus\"\n [(ngModel)]=\"newItem\"\n (keydown)=\"onInputKeydown($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n />\n </li>\n }\n </ul>\n </div>\n\n @if (resolvedInfoLabel) {\n <small class=\"sdc-chips__infoLabel\">{{ resolvedInfoLabel }}</small>\n }\n\n @if (resolvedMessage) {\n <small class=\"sdc-chips__message\">{{ resolvedMessage }}</small>\n }\n</div>\n", styles: [":host{display:block;width:100%}.sdc-chips{width:100%}.sdc-chips__labelRow{align-items:center;display:flex;gap:var(--sdc-form-label-row-gap, .35rem);margin-bottom:var(--sdc-form-label-row-mb, .15rem)}.sdc-chips__label{align-items:center;display:inline-flex;line-height:var(--sdc-form-label-lh, 1);margin-bottom:0;min-width:0;padding-bottom:var(--sdc-form-label-py, 0);padding-top:var(--sdc-form-label-py, 0)}.sdc-chips__infoIcon{background:transparent;border:0;color:var(--sdc-form-tooltip-color, #090909);cursor:help;display:inline-flex;align-items:center;justify-content:center;width:var(--sdc-form-tooltip-size, 1rem);height:var(--sdc-form-tooltip-size, 1rem);line-height:1;padding:0}.sdc-chips__surface{align-items:center;background:var(--sdc-formfield-default-bg, var(--sdc-chips-surface-bg, #ffffff));border:1px solid var(--sdc-formfield-default-border, var(--sdc-chips-surface-border, #c1c1cc));border-radius:var(--sdc-formfield-border-radius, var(--sdc-chips-surface-radius, 4px));box-sizing:border-box;display:flex;min-height:var(--sdc-formfield-default-height, 34px);padding:2px 4px;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.sdc-chips__surface:focus-within{border-color:var(--sdc-formfield-focus-color, var(--sdc-tab-primary, #007bff));box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14))}.sdc-chips__surface--plain{background:transparent;border:0;min-height:auto;padding:0}.sdc-chips__list{align-items:center;display:flex;flex:1 1 auto;flex-wrap:wrap;gap:.375rem;list-style:none;margin:0;min-width:0;padding:0}.sdc-chips__item{display:inline-flex}.sdc-chips__inputSlot{align-items:center;display:flex;flex:1 1 auto;min-height:calc(var(--sdc-formfield-default-height, 34px) - 6px);min-width:6rem}.sdc-chips__chip{align-items:center;background:var(--sdc-chips-chip-bg, #eeebf2);border:1px solid var(--sdc-chips-chip-border, #888b99);border-radius:var(--sdc-chips-chip-radius, 4px);color:var(--sdc-text-default, #111827);cursor:pointer;display:inline-flex;gap:.5rem;min-height:calc(var(--sdc-formfield-default-height, 34px) - 6px);padding:0 .5rem;-webkit-user-select:none;user-select:none}.sdc-chips__chip:focus-visible{box-shadow:var(--sdc-focus-ring, 0 0 0 3px rgba(0, 123, 255, .25));outline:none}.sdc-chips__chip:hover:not(.sdc-chips__chip--disabled){background:var(--sdc-chips-chip-hover-bg, #dfe4ec)}.sdc-chips__chip--disabled{cursor:default;opacity:.6}.sdc-chips__remove{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:inline-flex;padding:0}.sdc-chips__input{background:transparent;border:0;box-sizing:border-box;color:var(--sdc-text-default, #111827);flex:1 1 auto;font:inherit;min-width:0;outline:none;padding:0;width:100%}.sdc-chips__infoLabel,.sdc-chips__message{color:var(--sdc-text-muted, #6b7280);display:block;font-size:.75rem;margin-top:.35rem}.sdc-chips__message{color:var(--sdc-error-color, #d98888)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: TooltipComponent, selector: "sdc-tooltip", inputs: ["pTooltip", "tooltipPosition", "tooltipEvent", "fitContent", "tooltipDisabled", "allowHtml"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
190
193
  }
191
194
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChipsComponent, decorators: [{
192
195
  type: Component,
@@ -196,7 +199,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
196
199
  useExisting: forwardRef(() => ChipsComponent),
197
200
  multi: true
198
201
  }
199
- ], template: "<div class=\"sdc-chips\">\n @if (resolvedLabel || resolvedInfoTooltip) {\n <div class=\"sdc-chips__labelRow\">\n @if (resolvedLabel) {\n <label class=\"sdc-chips__label\" [for]=\"inputId\">{{ resolvedLabel }}</label>\n }\n\n @if (resolvedInfoTooltip) {\n <sdc-tooltip [pTooltip]=\"resolvedInfoTooltip\" [tooltipEvent]=\"'both'\">\n <button type=\"button\" class=\"sdc-chips__infoIcon\" [attr.aria-label]=\"resolvedInfoTooltip\">\n <i class=\"fas fa-info-circle\" aria-hidden=\"true\"></i>\n </button>\n </sdc-tooltip>\n }\n </div>\n }\n\n <div class=\"sdc-chips__surface\" [class.sdc-chips__surface--plain]=\"appearance === 'plain'\">\n <ul class=\"sdc-chips__list\">\n @for (item of value; track resolveChipText(item) + '-' + $index) {\n <li class=\"sdc-chips__item\">\n @if (shouldShowChipTooltip(item)) {\n <sdc-tooltip [pTooltip]=\"resolveChipText(item)\" [tooltipEvent]=\"'both'\">\n <span\n class=\"sdc-chips__chip\"\n [class.sdc-chips__chip--disabled]=\"disabled\"\n [attr.role]=\"disabled ? null : 'button'\"\n [attr.tabindex]=\"disabled ? null : 0\"\n (click)=\"onChipItemClick($index, $event)\"\n (keydown)=\"onChipKeydown($index, $event)\"\n >\n @if (chipTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"chipTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item, text: renderChipText(item), index: $index }\"\n ></ng-container>\n } @else {\n <span>{{ renderChipText(item) }}</span>\n }\n\n @if (removableItems) {\n <button\n type=\"button\"\n class=\"sdc-chips__remove\"\n [attr.aria-label]=\"resolveRemoveAriaLabel(item)\"\n (click)=\"removeItem($index, $event)\"\n >\n <i class=\"fas fa-times\" aria-hidden=\"true\"></i>\n </button>\n }\n </span>\n </sdc-tooltip>\n } @else {\n <span\n class=\"sdc-chips__chip\"\n [class.sdc-chips__chip--disabled]=\"disabled\"\n [attr.role]=\"disabled ? null : 'button'\"\n [attr.tabindex]=\"disabled ? null : 0\"\n (click)=\"onChipItemClick($index, $event)\"\n (keydown)=\"onChipKeydown($index, $event)\"\n >\n @if (chipTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"chipTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item, text: renderChipText(item), index: $index }\"\n ></ng-container>\n } @else {\n <span>{{ renderChipText(item) }}</span>\n }\n\n @if (removableItems) {\n <button\n type=\"button\"\n class=\"sdc-chips__remove\"\n [attr.aria-label]=\"resolveRemoveAriaLabel(item)\"\n (click)=\"removeItem($index, $event)\"\n >\n <i class=\"fas fa-times\" aria-hidden=\"true\"></i>\n </button>\n }\n </span>\n }\n </li>\n }\n\n @if (editable) {\n <li class=\"sdc-chips__inputSlot\">\n <input\n [id]=\"inputId\"\n class=\"sdc-chips__input\"\n [disabled]=\"disabled || !canAddMore\"\n [placeholder]=\"resolvedPlaceholder\"\n [maxLength]=\"maxLength\"\n [autofocus]=\"autofocus\"\n [(ngModel)]=\"newItem\"\n (keydown)=\"onInputKeydown($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n />\n </li>\n }\n </ul>\n </div>\n\n @if (resolvedInfoLabel) {\n <small class=\"sdc-chips__infoLabel\">{{ resolvedInfoLabel }}</small>\n }\n\n @if (resolvedMessage) {\n <small class=\"sdc-chips__message\">{{ resolvedMessage }}</small>\n }\n</div>\n", styles: [":host{display:block;width:100%}.sdc-chips{width:100%}.sdc-chips__labelRow{align-items:center;display:flex;gap:var(--sdc-form-label-gap, .5rem);margin-bottom:.375rem}.sdc-chips__label{color:var(--sdc-text-default, #111827);font-size:.875rem;font-weight:600}.sdc-chips__infoIcon{background:transparent;border:0;color:var(--sdc-form-tooltip-color, #090909);cursor:help;display:inline-flex;padding:0}.sdc-chips__surface{background:var(--sdc-chips-surface-bg, #ffffff);border:1px solid var(--sdc-chips-surface-border, #c1c1cc);border-radius:var(--sdc-chips-surface-radius, 4px);min-height:35px;padding:6px}.sdc-chips__surface--plain{background:transparent;border:0;min-height:auto;padding:0}.sdc-chips__list{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}.sdc-chips__item,.sdc-chips__inputSlot{display:inline-flex}.sdc-chips__chip{align-items:center;background:var(--sdc-chips-chip-bg, #eeebf2);border:1px solid var(--sdc-chips-chip-border, #888b99);border-radius:var(--sdc-chips-chip-radius, 4px);color:var(--sdc-text-default, #111827);cursor:pointer;display:inline-flex;gap:.5rem;min-height:1.8rem;padding:0 .5rem;-webkit-user-select:none;user-select:none}.sdc-chips__chip:focus-visible{box-shadow:var(--sdc-focus-ring, 0 0 0 3px rgba(0, 123, 255, .25));outline:none}.sdc-chips__chip:hover:not(.sdc-chips__chip--disabled){background:var(--sdc-chips-chip-hover-bg, #dfe4ec)}.sdc-chips__chip--disabled{cursor:default;opacity:.6}.sdc-chips__remove{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:inline-flex;padding:0}.sdc-chips__input{background:transparent;border:0;color:var(--sdc-text-default, #111827);flex:1 1 10rem;min-width:8rem;outline:none;padding:.25rem 0}.sdc-chips__infoLabel,.sdc-chips__message{color:var(--sdc-text-muted, #6b7280);display:block;font-size:.75rem;margin-top:.35rem}.sdc-chips__message{color:var(--sdc-error-color, #d98888)}\n"] }]
202
+ ], template: "<div class=\"sdc-chips\">\n @if (resolvedLabel || resolvedInfoTooltip) {\n <div class=\"sdc-chips__labelRow\">\n @if (resolvedLabel) {\n <label class=\"sdc-chips__label\" [for]=\"inputId\">{{ resolvedLabel }}</label>\n }\n\n @if (resolvedInfoTooltip) {\n <sdc-tooltip [pTooltip]=\"resolvedInfoTooltip\" [tooltipEvent]=\"'both'\">\n <button type=\"button\" class=\"sdc-chips__infoIcon\" [attr.aria-label]=\"resolvedInfoTooltip\">\n <i class=\"fas fa-info-circle\" aria-hidden=\"true\"></i>\n </button>\n </sdc-tooltip>\n }\n </div>\n }\n\n <div class=\"sdc-chips__surface\" [class.sdc-chips__surface--plain]=\"appearance === 'plain'\">\n <ul class=\"sdc-chips__list\">\n @for (item of value; track resolveChipText(item) + '-' + $index) {\n <li class=\"sdc-chips__item\">\n @if (shouldShowChipTooltip(item)) {\n <sdc-tooltip [pTooltip]=\"resolveChipText(item)\" [tooltipEvent]=\"'both'\">\n <span\n class=\"sdc-chips__chip\"\n [class.sdc-chips__chip--disabled]=\"disabled\"\n [attr.role]=\"disabled ? null : 'button'\"\n [attr.tabindex]=\"disabled ? null : 0\"\n (click)=\"onChipItemClick($index, $event)\"\n (keydown)=\"onChipKeydown($index, $event)\"\n >\n @if (chipTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"chipTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item, text: renderChipText(item), index: $index }\"\n ></ng-container>\n } @else {\n <span>{{ renderChipText(item) }}</span>\n }\n\n @if (removableItems) {\n <button\n type=\"button\"\n class=\"sdc-chips__remove\"\n [attr.aria-label]=\"resolveRemoveAriaLabel(item)\"\n (click)=\"removeItem($index, $event)\"\n >\n <i class=\"fas fa-times\" aria-hidden=\"true\"></i>\n </button>\n }\n </span>\n </sdc-tooltip>\n } @else {\n <span\n class=\"sdc-chips__chip\"\n [class.sdc-chips__chip--disabled]=\"disabled\"\n [attr.role]=\"disabled ? null : 'button'\"\n [attr.tabindex]=\"disabled ? null : 0\"\n (click)=\"onChipItemClick($index, $event)\"\n (keydown)=\"onChipKeydown($index, $event)\"\n >\n @if (chipTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"chipTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item, text: renderChipText(item), index: $index }\"\n ></ng-container>\n } @else {\n <span>{{ renderChipText(item) }}</span>\n }\n\n @if (removableItems) {\n <button\n type=\"button\"\n class=\"sdc-chips__remove\"\n [attr.aria-label]=\"resolveRemoveAriaLabel(item)\"\n (click)=\"removeItem($index, $event)\"\n >\n <i class=\"fas fa-times\" aria-hidden=\"true\"></i>\n </button>\n }\n </span>\n }\n </li>\n }\n\n @if (editable) {\n <li class=\"sdc-chips__inputSlot\">\n <input\n [id]=\"inputId\"\n class=\"sdc-chips__input\"\n [disabled]=\"disabled || !canAddMore\"\n [placeholder]=\"resolvedPlaceholder\"\n [attr.maxlength]=\"resolvedMaxLength\"\n [autofocus]=\"autofocus\"\n [(ngModel)]=\"newItem\"\n (keydown)=\"onInputKeydown($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n />\n </li>\n }\n </ul>\n </div>\n\n @if (resolvedInfoLabel) {\n <small class=\"sdc-chips__infoLabel\">{{ resolvedInfoLabel }}</small>\n }\n\n @if (resolvedMessage) {\n <small class=\"sdc-chips__message\">{{ resolvedMessage }}</small>\n }\n</div>\n", styles: [":host{display:block;width:100%}.sdc-chips{width:100%}.sdc-chips__labelRow{align-items:center;display:flex;gap:var(--sdc-form-label-row-gap, .35rem);margin-bottom:var(--sdc-form-label-row-mb, .15rem)}.sdc-chips__label{align-items:center;display:inline-flex;line-height:var(--sdc-form-label-lh, 1);margin-bottom:0;min-width:0;padding-bottom:var(--sdc-form-label-py, 0);padding-top:var(--sdc-form-label-py, 0)}.sdc-chips__infoIcon{background:transparent;border:0;color:var(--sdc-form-tooltip-color, #090909);cursor:help;display:inline-flex;align-items:center;justify-content:center;width:var(--sdc-form-tooltip-size, 1rem);height:var(--sdc-form-tooltip-size, 1rem);line-height:1;padding:0}.sdc-chips__surface{align-items:center;background:var(--sdc-formfield-default-bg, var(--sdc-chips-surface-bg, #ffffff));border:1px solid var(--sdc-formfield-default-border, var(--sdc-chips-surface-border, #c1c1cc));border-radius:var(--sdc-formfield-border-radius, var(--sdc-chips-surface-radius, 4px));box-sizing:border-box;display:flex;min-height:var(--sdc-formfield-default-height, 34px);padding:2px 4px;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.sdc-chips__surface:focus-within{border-color:var(--sdc-formfield-focus-color, var(--sdc-tab-primary, #007bff));box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14))}.sdc-chips__surface--plain{background:transparent;border:0;min-height:auto;padding:0}.sdc-chips__list{align-items:center;display:flex;flex:1 1 auto;flex-wrap:wrap;gap:.375rem;list-style:none;margin:0;min-width:0;padding:0}.sdc-chips__item{display:inline-flex}.sdc-chips__inputSlot{align-items:center;display:flex;flex:1 1 auto;min-height:calc(var(--sdc-formfield-default-height, 34px) - 6px);min-width:6rem}.sdc-chips__chip{align-items:center;background:var(--sdc-chips-chip-bg, #eeebf2);border:1px solid var(--sdc-chips-chip-border, #888b99);border-radius:var(--sdc-chips-chip-radius, 4px);color:var(--sdc-text-default, #111827);cursor:pointer;display:inline-flex;gap:.5rem;min-height:calc(var(--sdc-formfield-default-height, 34px) - 6px);padding:0 .5rem;-webkit-user-select:none;user-select:none}.sdc-chips__chip:focus-visible{box-shadow:var(--sdc-focus-ring, 0 0 0 3px rgba(0, 123, 255, .25));outline:none}.sdc-chips__chip:hover:not(.sdc-chips__chip--disabled){background:var(--sdc-chips-chip-hover-bg, #dfe4ec)}.sdc-chips__chip--disabled{cursor:default;opacity:.6}.sdc-chips__remove{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:inline-flex;padding:0}.sdc-chips__input{background:transparent;border:0;box-sizing:border-box;color:var(--sdc-text-default, #111827);flex:1 1 auto;font:inherit;min-width:0;outline:none;padding:0;width:100%}.sdc-chips__infoLabel,.sdc-chips__message{color:var(--sdc-text-muted, #6b7280);display:block;font-size:.75rem;margin-top:.35rem}.sdc-chips__message{color:var(--sdc-error-color, #d98888)}\n"] }]
200
203
  }], propDecorators: { chipTemplate: [{
201
204
  type: ContentChild,
202
205
  args: [TemplateRef]
@@ -265,4 +268,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
265
268
  }], valueChange: [{
266
269
  type: Output
267
270
  }] } });
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9jaGlwcy9jaGlwcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2NoaXBzL2NoaXBzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxFQUNYLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEUsT0FBTyxFQUNMLDZCQUE2QixFQUM3QixpQkFBaUIsRUFDakIsd0JBQXdCLEVBQ3hCLHdDQUF3QyxFQUN4QywrQkFBK0IsRUFDaEMsTUFBTSxrQ0FBa0MsQ0FBQztBQUUxQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7QUF3QmhFLE1BQU0sT0FBTyxjQUFjO0lBQ1IsU0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3JDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLDZC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LFlBQVk7dUJBQUMsV0FBVztnQkFHaEIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyw2QkFBNkI7c0JBQXJDLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksS0FBSztzQkFBZCxNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmLFxuICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHtcbiAgQ0hJUFNfREVGQVVMVF9JTlBVVF9JRF9QUkVGSVgsXG4gIENISVBTX0RFRkFVTFRfTUFYLFxuICBDSElQU19ERUZBVUxUX01BWF9MRU5HVEgsXG4gIENISVBTX0RFRkFVTFRfTUFYX0xFTkdUSF9XSVRIT1VUX1RPT0xUSVAsXG4gIENISVBTX0RFRkFVTFRfUkVNT1ZFX0FSSUFfTEFCRUxcbn0gZnJvbSAnLi4vLi4vY29yZS9jb25zdGFudHMvY2hpcHMuY29uc3QnO1xuaW1wb3J0IHR5cGUgeyBDaGlwQWRkRXZlbnQsIENoaXBDbGlja0V2ZW50LCBDaGlwUmVtb3ZlRXZlbnQsIENoaXBzVHJhbnNsYXRlUGFyYW1zIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcy9jaGlwcy50eXBlJztcbmltcG9ydCB7IHJlc29sdmVOdWxsYWJsZVRyYW5zbGF0YWJsZVRleHQsIHJlc29sdmVUcmFuc2xhdGFibGVUZXh0IH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9pMThuLnV0aWwnO1xuaW1wb3J0IHsgbmV4dFNlcXVlbnRpYWxJZCB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMvaWQudXRpbCc7XG5pbXBvcnQgeyBjaGFyYWN0ZXJMZW5ndGgsIHRydW5jYXRlQ2hhcmFjdGVycyB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMvc3RyaW5nLnV0aWwnO1xuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnO1xuXG50eXBlIENoaXBUZW1wbGF0ZUNvbnRleHQgPSB7XG4gICRpbXBsaWNpdDogdW5rbm93bjtcbiAgdGV4dDogc3RyaW5nO1xuICBpbmRleDogbnVtYmVyO1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2RjLWNoaXBzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgVG9vbHRpcENvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGlwcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9jaGlwcy5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDaGlwc0NvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDaGlwc0NvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGdlbmVyYXRlZElucHV0SWQgPSBuZXh0U2VxdWVudGlhbElkKENISVBTX0RFRkFVTFRfSU5QVVRfSURfUFJFRklYKTtcblxuICBAQ29udGVudENoaWxkKFRlbXBsYXRlUmVmKVxuICBjaGlwVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxDaGlwVGVtcGxhdGVDb250ZXh0PjtcblxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBmaWVsZCA9ICcnO1xuICBASW5wdXQoKSB2YWx1ZTogdW5rbm93bltdID0gW107XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlclBhcmFtcz86IENoaXBzVHJhbnNsYXRlUGFyYW1zO1xuICBASW5wdXQoKSBsYWJlbD86IHN0cmluZztcbiAgQElucHV0KCkgbGFiZWxQYXJhbXM/OiBDaGlwc1RyYW5zbGF0ZVBhcmFtcztcbiAgQElucHV0KCkgbWVzc2FnZT86IHN0cmluZztcbiAgQElucHV0KCkgbWVzc2FnZVBhcmFtcz86IENoaXBzVHJhbnNsYXRlUGFyYW1zO1xuICBASW5wdXQoKSBpbmZvVG9vbHRpcD86IHN0cmluZztcbiAgQElucHV0KCkgaW5mb1Rvb2x0aXBQYXJhbXM/OiBDaGlwc1RyYW5zbGF0ZVBhcmFtcztcbiAgQElucHV0KCkgbWF4ID0gQ0hJUFNfREVGQVVMVF9NQVg7XG4gIEBJbnB1dCgpIG1heExlbmd0aCA9IENISVBTX0RFRkFVTFRfTUFYX0xFTkdUSDtcbiAgQElucHV0KCkgaW5wdXRJZCA9IHRoaXMuZ2VuZXJhdGVkSW5wdXRJZDtcbiAgQElucHV0KCkgYWxsb3dEdXBsaWNhdGVkID0gdHJ1ZTtcbiAgQElucHV0KCkgY2FzZVNlbnNpdGl2ZUR1cGxpY2F0aW9uID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFkZE9uVGFiID0gdHJ1ZTtcbiAgQElucHV0KCkgYWRkT25CbHVyID0gdHJ1ZTtcbiAgQElucHV0KCkgc2VwYXJhdG9yID0gJyc7XG4gIEBJbnB1dCgpIGF1dG9mb2N1cyA9IGZhbHNlO1xuICBASW5wdXQoKSBpbmZvTGFiZWwgPSAnJztcbiAgQElucHV0KCkgc2hvd1Rvb2x0aXAgPSB0cnVlO1xuICBASW5wdXQoKSBtYXhMZW5ndGhSZW5kZXJXaXRob3V0VG9vbHRpcCA9IENISVBTX0RFRkFVTFRfTUFYX0xFTkdUSF9XSVRIT1VUX1RPT0xUSVA7XG4gIEBJbnB1dCgpIGVkaXRhYmxlID0gdHJ1ZTtcbiAgQElucHV0KCkgcmVtb3ZhYmxlID0gdHJ1ZTtcbiAgQElucHV0KCkgYXBwZWFyYW5jZTogJ2ZpZWxkJyB8ICdwbGFpbicgPSAnZmllbGQnO1xuXG4gIEBPdXRwdXQoKSBhZGRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hpcEFkZEV2ZW50PigpO1xuICBAT3V0cHV0KCkgcmVtb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hpcFJlbW92ZUV2ZW50PigpO1xuICBAT3V0cHV0KCkgZm9jdXNlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcbiAgQE91dHB1dCgpIGZvY3VzTG9zdCA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcbiAgQE91dHB1dCgpIGNoaXBDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDaGlwQ2xpY2tFdmVudD4oKTtcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duW10+KCk7XG5cbiAgbmV3SXRlbSA9ICcnO1xuXG4gIHByaXZhdGUgb25DaGFuZ2U6ICh2YWx1ZTogdW5rbm93bltdKSA9PiB2b2lkID0gKCkgPT4ge307XG4gIHByaXZhdGUgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG4gIHByaXZhdGUgdGFiQWRkSW5Qcm9ncmVzcyA9IGZhbHNlO1xuXG4gIGdldCByZXNvbHZlZExhYmVsKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiByZXNvbHZlTnVsbGFibGVUcmFuc2xhdGFibGVUZXh0KHRoaXMudHJhbnNsYXRlLCB0aGlzLmxhYmVsLCAnJywgdGhpcy5sYWJlbFBhcmFtcyk7XG4gIH1cblxuICBnZXQgcmVzb2x2ZWRNZXNzYWdlKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiByZXNvbHZlTnVsbGFibGVUcmFuc2xhdGFibGVUZXh0KHRoaXMudHJhbnNsYXRlLCB0aGlzLm1lc3NhZ2UsICcnLCB0aGlzLm1lc3NhZ2VQYXJhbXMpO1xuICB9XG5cbiAgZ2V0IHJlc29sdmVkSW5mb1Rvb2x0aXAoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHJlc29sdmVOdWxsYWJsZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGUsIHRoaXMuaW5mb1Rvb2x0aXAsICcnLCB0aGlzLmluZm9Ub29sdGlwUGFyYW1zKTtcbiAgfVxuXG4gIGdldCByZXNvbHZlZFBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHJlc29sdmVUcmFuc2xhdGFibGVUZXh0KHRoaXMudHJhbnNsYXRlLCB0aGlzLnBsYWNlaG9sZGVyLCAnJywgdGhpcy5wbGFjZWhvbGRlclBhcmFtcyk7XG4gIH1cblxuICBnZXQgcmVzb2x2ZWRJbmZvTGFiZWwoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHJlc29sdmVOdWxsYWJsZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGUsIHRoaXMuaW5mb0xhYmVsKTtcbiAgfVxuXG4gIGdldCBjYW5BZGRNb3JlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy52YWx1ZT8ubGVuZ3RoID8/IDApIDwgdGhpcy5tYXg7XG4gIH1cblxuICBnZXQgcmVtb3ZhYmxlSXRlbXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucmVtb3ZhYmxlICYmICF0aGlzLmRpc2FibGVkO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogdW5rbm93bltdIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW107XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHVua25vd25bXSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgb25JbnB1dEtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCAhdGhpcy5lZGl0YWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGlzRW50ZXIgPSBldmVudC5rZXkgPT09ICdFbnRlcic7XG4gICAgY29uc3QgaXNTZXBhcmF0b3IgPSAhIXRoaXMuc2VwYXJhdG9yICYmIGV2ZW50LmtleSA9PT0gdGhpcy5zZXBhcmF0b3I7XG4gICAgY29uc3QgaXNUYWIgPSBldmVudC5rZXkgPT09ICdUYWInICYmIHRoaXMuYWRkT25UYWI7XG5cbiAgICBpZiAoIWlzRW50ZXIgJiYgIWlzU2VwYXJhdG9yICYmICFpc1RhYikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy50YWJBZGRJblByb2dyZXNzID0gaXNUYWI7XG4gICAgdGhpcy5hZGRDdXJyZW50SXRlbSgpO1xuICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHtcbiAgICAgIHRoaXMudGFiQWRkSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgb25JbnB1dEZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5mb2N1c2VkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgb25JbnB1dEJsdXIoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hZGRPbkJsdXIgJiYgIXRoaXMudGFiQWRkSW5Qcm9ncmVzcykge1xuICAgICAgdGhpcy5hZGRDdXJyZW50SXRlbSgpO1xuICAgIH1cblxuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgdGhpcy5mb2N1c0xvc3QuZW1pdChldmVudCk7XG4gIH1cblxuICByZW1vdmVJdGVtKGluZGV4OiBudW1iZXIsIGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucmVtb3ZhYmxlSXRlbXMgfHwgaW5kZXggPCAwIHx8IGluZGV4ID49IHRoaXMudmFsdWUubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbmV4dCA9IFsuLi50aGlzLnZhbHVlXTtcbiAgICBjb25zdCByZW1vdmVkVmFsdWUgPSBuZXh0LnNwbGljZShpbmRleCwgMSlbMF07XG4gICAgdGhpcy5jb21taXQobmV4dCk7XG4gICAgdGhpcy5yZW1vdmVkLmVtaXQoeyBvcmlnaW5hbEV2ZW50OiBldmVudCwgdmFsdWU6IHJlbW92ZWRWYWx1ZSwgaW5kZXggfSk7XG4gIH1cblxuICBvbkNoaXBJdGVtQ2xpY2soaW5kZXg6IG51bWJlciwgZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jaGlwQ2xpY2tlZC5lbWl0KHsgb3JpZ2luYWxFdmVudDogZXZlbnQsIHZhbHVlOiB0aGlzLnZhbHVlW2luZGV4XSwgaW5kZXggfSk7XG4gIH1cblxuICBvbkNoaXBLZXlkb3duKGluZGV4OiBudW1iZXIsIGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmtleSAhPT0gJ0VudGVyJyAmJiBldmVudC5rZXkgIT09ICcgJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5vbkNoaXBJdGVtQ2xpY2soaW5kZXgsIGV2ZW50KTtcbiAgfVxuXG4gIHJlc29sdmVDaGlwVGV4dChpdGVtOiB1bmtub3duKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5maWVsZCAmJiBpdGVtICYmIHR5cGVvZiBpdGVtID09PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuIFN0cmluZygoaXRlbSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilbdGhpcy5maWVsZF0gPz8gJycpO1xuICAgIH1cblxuICAgIHJldHVybiBTdHJpbmcoaXRlbSA/PyAnJyk7XG4gIH1cblxuICByZW5kZXJDaGlwVGV4dChpdGVtOiB1bmtub3duKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdHJ1bmNhdGVDaGFyYWN0ZXJzKHRoaXMucmVzb2x2ZUNoaXBUZXh0KGl0ZW0pLCB0aGlzLm1heExlbmd0aFJlbmRlcldpdGhvdXRUb29sdGlwKTtcbiAgfVxuXG4gIHNob3VsZFNob3dDaGlwVG9vbHRpcChpdGVtOiB1bmtub3duKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd1Rvb2x0aXAgJiYgY2hhcmFjdGVyTGVuZ3RoKHRoaXMucmVzb2x2ZUNoaXBUZXh0KGl0ZW0pKSA+IHRoaXMubWF4TGVuZ3RoUmVuZGVyV2l0aG91dFRvb2x0aXA7XG4gIH1cblxuICByZXNvbHZlUmVtb3ZlQXJpYUxhYmVsKGl0ZW06IHVua25vd24pOiBzdHJpbmcge1xuICAgIGNvbnN0IHRlbXBsYXRlID0gcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGUsIENISVBTX0RFRkFVTFRfUkVNT1ZFX0FSSUFfTEFCRUwpO1xuICAgIHJldHVybiB0ZW1wbGF0ZS5yZXBsYWNlKCd7bGFiZWx9JywgdGhpcy5yZXNvbHZlQ2hpcFRleHQoaXRlbSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRDdXJyZW50SXRlbSgpOiB2b2lkIHtcbiAgICBjb25zdCByYXdWYWx1ZSA9IHRoaXMubmV3SXRlbS50cmltKCk7XG5cbiAgICBpZiAoIXJhd1ZhbHVlIHx8ICF0aGlzLmNhbkFkZE1vcmUgfHwgY2hhcmFjdGVyTGVuZ3RoKHJhd1ZhbHVlKSA+IHRoaXMubWF4TGVuZ3RoKSB7XG4gICAgICB0aGlzLm5ld0l0ZW0gPSAnJztcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjYW5kaWRhdGUgPSB0aGlzLmZpZWxkID8geyBbdGhpcy5maWVsZF06IHJhd1ZhbHVlIH0gOiByYXdWYWx1ZTtcblxuICAgIGlmICghdGhpcy5hbGxvd0R1cGxpY2F0ZWQgJiYgdGhpcy5oYXNEdXBsaWNhdGUocmF3VmFsdWUpKSB7XG4gICAgICB0aGlzLm5ld0l0ZW0gPSAnJztcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuZXh0ID0gWy4uLnRoaXMudmFsdWUsIGNhbmRpZGF0ZV07XG4gICAgdGhpcy5jb21taXQobmV4dCk7XG4gICAgdGhpcy5hZGRlZC5lbWl0KHsgdmFsdWU6IGNhbmRpZGF0ZSB9KTtcbiAgICB0aGlzLm5ld0l0ZW0gPSAnJztcbiAgfVxuXG4gIHByaXZhdGUgaGFzRHVwbGljYXRlKHRleHQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlLnNvbWUoKGl0ZW0pID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLnJlc29sdmVDaGlwVGV4dChpdGVtKTtcblxuICAgICAgaWYgKHRoaXMuY2FzZVNlbnNpdGl2ZUR1cGxpY2F0aW9uKSB7XG4gICAgICAgIHJldHVybiBjdXJyZW50ID09PSB0ZXh0O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY3VycmVudC50b0xvd2VyQ2FzZSgpID09PSB0ZXh0LnRvTG93ZXJDYXNlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNvbW1pdCh2YWx1ZTogdW5rbm93bltdKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZGMtY2hpcHNcIj5cbiAgQGlmIChyZXNvbHZlZExhYmVsIHx8IHJlc29sdmVkSW5mb1Rvb2x0aXApIHtcbiAgICA8ZGl2IGNsYXNzPVwic2RjLWNoaXBzX19sYWJlbFJvd1wiPlxuICAgICAgQGlmIChyZXNvbHZlZExhYmVsKSB7XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cInNkYy1jaGlwc19fbGFiZWxcIiBbZm9yXT1cImlucHV0SWRcIj57eyByZXNvbHZlZExhYmVsIH19PC9sYWJlbD5cbiAgICAgIH1cblxuICAgICAgQGlmIChyZXNvbHZlZEluZm9Ub29sdGlwKSB7XG4gICAgICAgIDxzZGMtdG9vbHRpcCBbcFRvb2x0aXBdPVwicmVzb2x2ZWRJbmZvVG9vbHRpcFwiIFt0b29sdGlwRXZlbnRdPVwiJ2JvdGgnXCI+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJzZGMtY2hpcHNfX2luZm9JY29uXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJyZXNvbHZlZEluZm9Ub29sdGlwXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1pbmZvLWNpcmNsZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9zZGMtdG9vbHRpcD5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIDxkaXYgY2xhc3M9XCJzZGMtY2hpcHNfX3N1cmZhY2VcIiBbY2xhc3Muc2RjLWNoaXBzX19zdXJmYWNlLS1wbGFpbl09XCJhcHBlYXJhbmNlID09PSAncGxhaW4nXCI+XG4gICAgPHVsIGNsYXNzPVwic2RjLWNoaXBzX19saXN0XCI+XG4gICAgICBAZm9yIChpdGVtIG9mIHZhbHVlOyB0cmFjayByZXNvbHZlQ2hpcFRleHQoaXRlbSkgKyAnLScgKyAkaW5kZXgpIHtcbiAgICAgICAgPGxpIGNsYXNzPVwic2RjLWNoaXBzX19pdGVtXCI+XG4gICAgICAgICAgQGlmIChzaG91bGRTaG93Q2hpcFRvb2x0aXAoaXRlbSkpIHtcbiAgICAgICAgICAgIDxzZGMtdG9vbHRpcCBbcFRvb2x0aXBdPVwicmVzb2x2ZUNoaXBUZXh0KGl0ZW0pXCIgW3Rvb2x0aXBFdmVudF09XCInYm90aCdcIj5cbiAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cInNkYy1jaGlwc19fY2hpcFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnNkYy1jaGlwc19fY2hpcC0tZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFthdHRyLnJvbGVdPVwiZGlzYWJsZWQgPyBudWxsIDogJ2J1dHRvbidcIlxuICAgICAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cImRpc2FibGVkID8gbnVsbCA6IDBcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNoaXBJdGVtQ2xpY2soJGluZGV4LCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbkNoaXBLZXlkb3duKCRpbmRleCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBAaWYgKGNoaXBUZW1wbGF0ZSkge1xuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjaGlwVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0sIHRleHQ6IHJlbmRlckNoaXBUZXh0KGl0ZW0pLCBpbmRleDogJGluZGV4IH1cIlxuICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgcmVuZGVyQ2hpcFRleHQoaXRlbSkgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmIChyZW1vdmFibGVJdGVtcykge1xuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZGMtY2hpcHNfX3JlbW92ZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicmVzb2x2ZVJlbW92ZUFyaWFMYWJlbChpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmVJdGVtKCRpbmRleCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3NkYy10b29sdGlwPlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJzZGMtY2hpcHNfX2NoaXBcIlxuICAgICAgICAgICAgICBbY2xhc3Muc2RjLWNoaXBzX19jaGlwLS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgIFthdHRyLnJvbGVdPVwiZGlzYWJsZWQgPyBudWxsIDogJ2J1dHRvbidcIlxuICAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJkaXNhYmxlZCA/IG51bGwgOiAwXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2hpcEl0ZW1DbGljaygkaW5kZXgsICRldmVudClcIlxuICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbkNoaXBLZXlkb3duKCRpbmRleCwgJGV2ZW50KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIEBpZiAoY2hpcFRlbXBsYXRlKSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2hpcFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSwgdGV4dDogcmVuZGVyQ2hpcFRleHQoaXRlbSksIGluZGV4OiAkaW5kZXggfVwiXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8c3Bhbj57eyByZW5kZXJDaGlwVGV4dChpdGVtKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIEBpZiAocmVtb3ZhYmxlSXRlbXMpIHtcbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2RjLWNoaXBzX19yZW1vdmVcIlxuICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJyZXNvbHZlUmVtb3ZlQXJpYUxhYmVsKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmVJdGVtKCRpbmRleCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtdGltZXNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvbGk+XG4gICAgICB9XG5cbiAgICAgIEBpZiAoZWRpdGFibGUpIHtcbiAgICAgICAgPGxpIGNsYXNzPVwic2RjLWNoaXBzX19pbnB1dFNsb3RcIj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIFtpZF09XCJpbnB1dElkXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2RjLWNoaXBzX19pbnB1dFwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgIWNhbkFkZE1vcmVcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInJlc29sdmVkUGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgW21heExlbmd0aF09XCJtYXhMZW5ndGhcIlxuICAgICAgICAgICAgW2F1dG9mb2N1c109XCJhdXRvZm9jdXNcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJuZXdJdGVtXCJcbiAgICAgICAgICAgIChrZXlkb3duKT1cIm9uSW5wdXRLZXlkb3duKCRldmVudClcIlxuICAgICAgICAgICAgKGZvY3VzKT1cIm9uSW5wdXRGb2N1cygkZXZlbnQpXCJcbiAgICAgICAgICAgIChibHVyKT1cIm9uSW5wdXRCbHVyKCRldmVudClcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvbGk+XG4gICAgICB9XG4gICAgPC91bD5cbiAgPC9kaXY+XG5cbiAgQGlmIChyZXNvbHZlZEluZm9MYWJlbCkge1xuICAgIDxzbWFsbCBjbGFzcz1cInNkYy1jaGlwc19faW5mb0xhYmVsXCI+e3sgcmVzb2x2ZWRJbmZvTGFiZWwgfX08L3NtYWxsPlxuICB9XG5cbiAgQGlmIChyZXNvbHZlZE1lc3NhZ2UpIHtcbiAgICA8c21hbGwgY2xhc3M9XCJzZGMtY2hpcHNfX21lc3NhZ2VcIj57eyByZXNvbHZlZE1lc3NhZ2UgfX08L3NtYWxsPlxuICB9XG48L2Rpdj5cbiJdfQ==
271
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9jaGlwcy9jaGlwcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2NoaXBzL2NoaXBzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxFQUNYLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEUsT0FBTyxFQUNMLDZCQUE2QixFQUM3QixpQkFBaUIsRUFDakIsd0JBQXdCLEVBQ3hCLHdDQUF3QyxFQUN4Qyx5QkFBeUIsRUFDekIsK0JBQStCLEVBQ2hDLE1BQU0sa0NBQWtDLENBQUM7QUFFMUMsT0FBTyxFQUFFLCtCQUErQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7O0FBd0JoRSxNQUFNLE9BQU8sY0FBYztJQUNSLFNBQVMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNyQyxnQkFBZ0IsR0FBRyxn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QUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGZvcndhcmRSZWYsXG4gIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQge1xuICBDSElQU19ERUZBVUxUX0lOUFVUX0lEX1BSRUZJWCxcbiAgQ0hJUFNfREVGQVVMVF9NQVgsXG4gIENISVBTX0RFRkFVTFRfTUFYX0xFTkdUSCxcbiAgQ0hJUFNfREVGQVVMVF9NQVhfTEVOR1RIX1dJVEhPVVRfVE9PTFRJUCxcbiAgQ0hJUFNfREVGQVVMVF9QTEFDRUhPTERFUixcbiAgQ0hJUFNfREVGQVVMVF9SRU1PVkVfQVJJQV9MQUJFTFxufSBmcm9tICcuLi8uLi9jb3JlL2NvbnN0YW50cy9jaGlwcy5jb25zdCc7XG5pbXBvcnQgdHlwZSB7IENoaXBBZGRFdmVudCwgQ2hpcENsaWNrRXZlbnQsIENoaXBSZW1vdmVFdmVudCwgQ2hpcHNUcmFuc2xhdGVQYXJhbXMgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL2NoaXBzLnR5cGUnO1xuaW1wb3J0IHsgcmVzb2x2ZU51bGxhYmxlVHJhbnNsYXRhYmxlVGV4dCwgcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzL2kxOG4udXRpbCc7XG5pbXBvcnQgeyBuZXh0U2VxdWVudGlhbElkIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9pZC51dGlsJztcbmltcG9ydCB7IGNoYXJhY3Rlckxlbmd0aCwgdHJ1bmNhdGVDaGFyYWN0ZXJzIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9zdHJpbmcudXRpbCc7XG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCc7XG5cbnR5cGUgQ2hpcFRlbXBsYXRlQ29udGV4dCA9IHtcbiAgJGltcGxpY2l0OiB1bmtub3duO1xuICB0ZXh0OiBzdHJpbmc7XG4gIGluZGV4OiBudW1iZXI7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtY2hpcHMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBUb29sdGlwQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoaXBzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2NoaXBzLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENoaXBzQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENoaXBzQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZ2VuZXJhdGVkSW5wdXRJZCA9IG5leHRTZXF1ZW50aWFsSWQoQ0hJUFNfREVGQVVMVF9JTlBVVF9JRF9QUkVGSVgpO1xuXG4gIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYpXG4gIGNoaXBUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPENoaXBUZW1wbGF0ZUNvbnRleHQ+O1xuXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGZpZWxkID0gJyc7XG4gIEBJbnB1dCgpIHZhbHVlOiB1bmtub3duW10gPSBbXTtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyUGFyYW1zPzogQ2hpcHNUcmFuc2xhdGVQYXJhbXM7XG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nO1xuICBASW5wdXQoKSBsYWJlbFBhcmFtcz86IENoaXBzVHJhbnNsYXRlUGFyYW1zO1xuICBASW5wdXQoKSBtZXNzYWdlPzogc3RyaW5nO1xuICBASW5wdXQoKSBtZXNzYWdlUGFyYW1zPzogQ2hpcHNUcmFuc2xhdGVQYXJhbXM7XG4gIEBJbnB1dCgpIGluZm9Ub29sdGlwPzogc3RyaW5nO1xuICBASW5wdXQoKSBpbmZvVG9vbHRpcFBhcmFtcz86IENoaXBzVHJhbnNsYXRlUGFyYW1zO1xuICBASW5wdXQoKSBtYXggPSBDSElQU19ERUZBVUxUX01BWDtcbiAgQElucHV0KCkgbWF4TGVuZ3RoID0gQ0hJUFNfREVGQVVMVF9NQVhfTEVOR1RIO1xuICBASW5wdXQoKSBpbnB1dElkID0gdGhpcy5nZW5lcmF0ZWRJbnB1dElkO1xuICBASW5wdXQoKSBhbGxvd0R1cGxpY2F0ZWQgPSB0cnVlO1xuICBASW5wdXQoKSBjYXNlU2Vuc2l0aXZlRHVwbGljYXRpb24gPSBmYWxzZTtcbiAgQElucHV0KCkgYWRkT25UYWIgPSB0cnVlO1xuICBASW5wdXQoKSBhZGRPbkJsdXIgPSB0cnVlO1xuICBASW5wdXQoKSBzZXBhcmF0b3IgPSAnJztcbiAgQElucHV0KCkgYXV0b2ZvY3VzID0gZmFsc2U7XG4gIEBJbnB1dCgpIGluZm9MYWJlbCA9ICcnO1xuICBASW5wdXQoKSBzaG93VG9vbHRpcCA9IHRydWU7XG4gIEBJbnB1dCgpIG1heExlbmd0aFJlbmRlcldpdGhvdXRUb29sdGlwID0gQ0hJUFNfREVGQVVMVF9NQVhfTEVOR1RIX1dJVEhPVVRfVE9PTFRJUDtcbiAgQElucHV0KCkgZWRpdGFibGUgPSB0cnVlO1xuICBASW5wdXQoKSByZW1vdmFibGUgPSB0cnVlO1xuICBASW5wdXQoKSBhcHBlYXJhbmNlOiAnZmllbGQnIHwgJ3BsYWluJyA9ICdmaWVsZCc7XG5cbiAgQE91dHB1dCgpIGFkZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxDaGlwQWRkRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSByZW1vdmVkID0gbmV3IEV2ZW50RW1pdHRlcjxDaGlwUmVtb3ZlRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBmb2N1c2VkID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PigpO1xuICBAT3V0cHV0KCkgZm9jdXNMb3N0ID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PigpO1xuICBAT3V0cHV0KCkgY2hpcENsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPENoaXBDbGlja0V2ZW50PigpO1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd25bXT4oKTtcblxuICBuZXdJdGVtID0gJyc7XG5cbiAgcHJpdmF0ZSBvbkNoYW5nZTogKHZhbHVlOiB1bmtub3duW10pID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgcHJpdmF0ZSBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgcHJpdmF0ZSB0YWJBZGRJblByb2dyZXNzID0gZmFsc2U7XG5cbiAgZ2V0IHJlc29sdmVkTGFiZWwoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHJlc29sdmVOdWxsYWJsZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGUsIHRoaXMubGFiZWwsICcnLCB0aGlzLmxhYmVsUGFyYW1zKTtcbiAgfVxuXG4gIGdldCByZXNvbHZlZE1lc3NhZ2UoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHJlc29sdmVOdWxsYWJsZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGUsIHRoaXMubWVzc2FnZSwgJycsIHRoaXMubWVzc2FnZVBhcmFtcyk7XG4gIH1cblxuICBnZXQgcmVzb2x2ZWRJbmZvVG9vbHRpcCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gcmVzb2x2ZU51bGxhYmxlVHJhbnNsYXRhYmxlVGV4dCh0aGlzLnRyYW5zbGF0ZSwgdGhpcy5pbmZvVG9vbHRpcCwgJycsIHRoaXMuaW5mb1Rvb2x0aXBQYXJhbXMpO1xuICB9XG5cbiAgZ2V0IHJlc29sdmVkUGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQoXG4gICAgICB0aGlzLnRyYW5zbGF0ZSxcbiAgICAgIHRoaXMucGxhY2Vob2xkZXIgPz8gQ0hJUFNfREVGQVVMVF9QTEFDRUhPTERFUixcbiAgICAgICcnLFxuICAgICAgdGhpcy5wbGFjZWhvbGRlclBhcmFtc1xuICAgICk7XG4gIH1cblxuICBnZXQgcmVzb2x2ZWRJbmZvTGFiZWwoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHJlc29sdmVOdWxsYWJsZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGUsIHRoaXMuaW5mb0xhYmVsKTtcbiAgfVxuXG4gIGdldCBjYW5BZGRNb3JlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy52YWx1ZT8ubGVuZ3RoID8/IDApIDwgdGhpcy5tYXg7XG4gIH1cblxuICBnZXQgcmVzb2x2ZWRNYXhMZW5ndGgoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgcmV0dXJuIE51bWJlci5pc0Zpbml0ZSh0aGlzLm1heExlbmd0aCkgPyB0aGlzLm1heExlbmd0aCA6IG51bGw7XG4gIH1cblxuICBnZXQgcmVtb3ZhYmxlSXRlbXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucmVtb3ZhYmxlICYmICF0aGlzLmRpc2FibGVkO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogdW5rbm93bltdIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW107XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHVua25vd25bXSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgb25JbnB1dEtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCAhdGhpcy5lZGl0YWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGlzRW50ZXIgPSBldmVudC5rZXkgPT09ICdFbnRlcic7XG4gICAgY29uc3QgaXNTZXBhcmF0b3IgPSAhIXRoaXMuc2VwYXJhdG9yICYmIGV2ZW50LmtleSA9PT0gdGhpcy5zZXBhcmF0b3I7XG4gICAgY29uc3QgaXNUYWIgPSBldmVudC5rZXkgPT09ICdUYWInICYmIHRoaXMuYWRkT25UYWI7XG5cbiAgICBpZiAoIWlzRW50ZXIgJiYgIWlzU2VwYXJhdG9yICYmICFpc1RhYikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy50YWJBZGRJblByb2dyZXNzID0gaXNUYWI7XG4gICAgdGhpcy5hZGRDdXJyZW50SXRlbSgpO1xuICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHtcbiAgICAgIHRoaXMudGFiQWRkSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgb25JbnB1dEZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5mb2N1c2VkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgb25JbnB1dEJsdXIoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hZGRPbkJsdXIgJiYgIXRoaXMudGFiQWRkSW5Qcm9ncmVzcykge1xuICAgICAgdGhpcy5hZGRDdXJyZW50SXRlbSgpO1xuICAgIH1cblxuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgdGhpcy5mb2N1c0xvc3QuZW1pdChldmVudCk7XG4gIH1cblxuICByZW1vdmVJdGVtKGluZGV4OiBudW1iZXIsIGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucmVtb3ZhYmxlSXRlbXMgfHwgaW5kZXggPCAwIHx8IGluZGV4ID49IHRoaXMudmFsdWUubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbmV4dCA9IFsuLi50aGlzLnZhbHVlXTtcbiAgICBjb25zdCByZW1vdmVkVmFsdWUgPSBuZXh0LnNwbGljZShpbmRleCwgMSlbMF07XG4gICAgdGhpcy5jb21taXQobmV4dCk7XG4gICAgdGhpcy5yZW1vdmVkLmVtaXQoeyBvcmlnaW5hbEV2ZW50OiBldmVudCwgdmFsdWU6IHJlbW92ZWRWYWx1ZSwgaW5kZXggfSk7XG4gIH1cblxuICBvbkNoaXBJdGVtQ2xpY2soaW5kZXg6IG51bWJlciwgZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jaGlwQ2xpY2tlZC5lbWl0KHsgb3JpZ2luYWxFdmVudDogZXZlbnQsIHZhbHVlOiB0aGlzLnZhbHVlW2luZGV4XSwgaW5kZXggfSk7XG4gIH1cblxuICBvbkNoaXBLZXlkb3duKGluZGV4OiBudW1iZXIsIGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmtleSAhPT0gJ0VudGVyJyAmJiBldmVudC5rZXkgIT09ICcgJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5vbkNoaXBJdGVtQ2xpY2soaW5kZXgsIGV2ZW50KTtcbiAgfVxuXG4gIHJlc29sdmVDaGlwVGV4dChpdGVtOiB1bmtub3duKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5maWVsZCAmJiBpdGVtICYmIHR5cGVvZiBpdGVtID09PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuIFN0cmluZygoaXRlbSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilbdGhpcy5maWVsZF0gPz8gJycpO1xuICAgIH1cblxuICAgIHJldHVybiBTdHJpbmcoaXRlbSA/PyAnJyk7XG4gIH1cblxuICByZW5kZXJDaGlwVGV4dChpdGVtOiB1bmtub3duKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdHJ1bmNhdGVDaGFyYWN0ZXJzKHRoaXMucmVzb2x2ZUNoaXBUZXh0KGl0ZW0pLCB0aGlzLm1heExlbmd0aFJlbmRlcldpdGhvdXRUb29sdGlwKTtcbiAgfVxuXG4gIHNob3VsZFNob3dDaGlwVG9vbHRpcChpdGVtOiB1bmtub3duKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd1Rvb2x0aXAgJiYgY2hhcmFjdGVyTGVuZ3RoKHRoaXMucmVzb2x2ZUNoaXBUZXh0KGl0ZW0pKSA+IHRoaXMubWF4TGVuZ3RoUmVuZGVyV2l0aG91dFRvb2x0aXA7XG4gIH1cblxuICByZXNvbHZlUmVtb3ZlQXJpYUxhYmVsKGl0ZW06IHVua25vd24pOiBzdHJpbmcge1xuICAgIGNvbnN0IHRlbXBsYXRlID0gcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGUsIENISVBTX0RFRkFVTFRfUkVNT1ZFX0FSSUFfTEFCRUwpO1xuICAgIHJldHVybiB0ZW1wbGF0ZS5yZXBsYWNlKCd7bGFiZWx9JywgdGhpcy5yZXNvbHZlQ2hpcFRleHQoaXRlbSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRDdXJyZW50SXRlbSgpOiB2b2lkIHtcbiAgICBjb25zdCByYXdWYWx1ZSA9IHRoaXMubmV3SXRlbS50cmltKCk7XG5cbiAgICBpZiAoIXJhd1ZhbHVlIHx8ICF0aGlzLmNhbkFkZE1vcmUgfHwgY2hhcmFjdGVyTGVuZ3RoKHJhd1ZhbHVlKSA+IHRoaXMubWF4TGVuZ3RoKSB7XG4gICAgICB0aGlzLm5ld0l0ZW0gPSAnJztcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjYW5kaWRhdGUgPSB0aGlzLmZpZWxkID8geyBbdGhpcy5maWVsZF06IHJhd1ZhbHVlIH0gOiByYXdWYWx1ZTtcblxuICAgIGlmICghdGhpcy5hbGxvd0R1cGxpY2F0ZWQgJiYgdGhpcy5oYXNEdXBsaWNhdGUocmF3VmFsdWUpKSB7XG4gICAgICB0aGlzLm5ld0l0ZW0gPSAnJztcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuZXh0ID0gWy4uLnRoaXMudmFsdWUsIGNhbmRpZGF0ZV07XG4gICAgdGhpcy5jb21taXQobmV4dCk7XG4gICAgdGhpcy5hZGRlZC5lbWl0KHsgdmFsdWU6IGNhbmRpZGF0ZSB9KTtcbiAgICB0aGlzLm5ld0l0ZW0gPSAnJztcbiAgfVxuXG4gIHByaXZhdGUgaGFzRHVwbGljYXRlKHRleHQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlLnNvbWUoKGl0ZW0pID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLnJlc29sdmVDaGlwVGV4dChpdGVtKTtcblxuICAgICAgaWYgKHRoaXMuY2FzZVNlbnNpdGl2ZUR1cGxpY2F0aW9uKSB7XG4gICAgICAgIHJldHVybiBjdXJyZW50ID09PSB0ZXh0O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY3VycmVudC50b0xvd2VyQ2FzZSgpID09PSB0ZXh0LnRvTG93ZXJDYXNlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNvbW1pdCh2YWx1ZTogdW5rbm93bltdKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZGMtY2hpcHNcIj5cbiAgQGlmIChyZXNvbHZlZExhYmVsIHx8IHJlc29sdmVkSW5mb1Rvb2x0aXApIHtcbiAgICA8ZGl2IGNsYXNzPVwic2RjLWNoaXBzX19sYWJlbFJvd1wiPlxuICAgICAgQGlmIChyZXNvbHZlZExhYmVsKSB7XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cInNkYy1jaGlwc19fbGFiZWxcIiBbZm9yXT1cImlucHV0SWRcIj57eyByZXNvbHZlZExhYmVsIH19PC9sYWJlbD5cbiAgICAgIH1cblxuICAgICAgQGlmIChyZXNvbHZlZEluZm9Ub29sdGlwKSB7XG4gICAgICAgIDxzZGMtdG9vbHRpcCBbcFRvb2x0aXBdPVwicmVzb2x2ZWRJbmZvVG9vbHRpcFwiIFt0b29sdGlwRXZlbnRdPVwiJ2JvdGgnXCI+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJzZGMtY2hpcHNfX2luZm9JY29uXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJyZXNvbHZlZEluZm9Ub29sdGlwXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1pbmZvLWNpcmNsZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9zZGMtdG9vbHRpcD5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIDxkaXYgY2xhc3M9XCJzZGMtY2hpcHNfX3N1cmZhY2VcIiBbY2xhc3Muc2RjLWNoaXBzX19zdXJmYWNlLS1wbGFpbl09XCJhcHBlYXJhbmNlID09PSAncGxhaW4nXCI+XG4gICAgPHVsIGNsYXNzPVwic2RjLWNoaXBzX19saXN0XCI+XG4gICAgICBAZm9yIChpdGVtIG9mIHZhbHVlOyB0cmFjayByZXNvbHZlQ2hpcFRleHQoaXRlbSkgKyAnLScgKyAkaW5kZXgpIHtcbiAgICAgICAgPGxpIGNsYXNzPVwic2RjLWNoaXBzX19pdGVtXCI+XG4gICAgICAgICAgQGlmIChzaG91bGRTaG93Q2hpcFRvb2x0aXAoaXRlbSkpIHtcbiAgICAgICAgICAgIDxzZGMtdG9vbHRpcCBbcFRvb2x0aXBdPVwicmVzb2x2ZUNoaXBUZXh0KGl0ZW0pXCIgW3Rvb2x0aXBFdmVudF09XCInYm90aCdcIj5cbiAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cInNkYy1jaGlwc19fY2hpcFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnNkYy1jaGlwc19fY2hpcC0tZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFthdHRyLnJvbGVdPVwiZGlzYWJsZWQgPyBudWxsIDogJ2J1dHRvbidcIlxuICAgICAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cImRpc2FibGVkID8gbnVsbCA6IDBcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNoaXBJdGVtQ2xpY2soJGluZGV4LCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbkNoaXBLZXlkb3duKCRpbmRleCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBAaWYgKGNoaXBUZW1wbGF0ZSkge1xuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjaGlwVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0sIHRleHQ6IHJlbmRlckNoaXBUZXh0KGl0ZW0pLCBpbmRleDogJGluZGV4IH1cIlxuICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgcmVuZGVyQ2hpcFRleHQoaXRlbSkgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmIChyZW1vdmFibGVJdGVtcykge1xuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZGMtY2hpcHNfX3JlbW92ZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicmVzb2x2ZVJlbW92ZUFyaWFMYWJlbChpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmVJdGVtKCRpbmRleCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3NkYy10b29sdGlwPlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJzZGMtY2hpcHNfX2NoaXBcIlxuICAgICAgICAgICAgICBbY2xhc3Muc2RjLWNoaXBzX19jaGlwLS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgIFthdHRyLnJvbGVdPVwiZGlzYWJsZWQgPyBudWxsIDogJ2J1dHRvbidcIlxuICAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJkaXNhYmxlZCA/IG51bGwgOiAwXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2hpcEl0ZW1DbGljaygkaW5kZXgsICRldmVudClcIlxuICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbkNoaXBLZXlkb3duKCRpbmRleCwgJGV2ZW50KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIEBpZiAoY2hpcFRlbXBsYXRlKSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2hpcFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSwgdGV4dDogcmVuZGVyQ2hpcFRleHQoaXRlbSksIGluZGV4OiAkaW5kZXggfVwiXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8c3Bhbj57eyByZW5kZXJDaGlwVGV4dChpdGVtKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIEBpZiAocmVtb3ZhYmxlSXRlbXMpIHtcbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2RjLWNoaXBzX19yZW1vdmVcIlxuICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJyZXNvbHZlUmVtb3ZlQXJpYUxhYmVsKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmVJdGVtKCRpbmRleCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtdGltZXNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvbGk+XG4gICAgICB9XG5cbiAgICAgIEBpZiAoZWRpdGFibGUpIHtcbiAgICAgICAgPGxpIGNsYXNzPVwic2RjLWNoaXBzX19pbnB1dFNsb3RcIj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIFtpZF09XCJpbnB1dElkXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2RjLWNoaXBzX19pbnB1dFwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgIWNhbkFkZE1vcmVcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInJlc29sdmVkUGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgW2F0dHIubWF4bGVuZ3RoXT1cInJlc29sdmVkTWF4TGVuZ3RoXCJcbiAgICAgICAgICAgIFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwibmV3SXRlbVwiXG4gICAgICAgICAgICAoa2V5ZG93bik9XCJvbklucHV0S2V5ZG93bigkZXZlbnQpXCJcbiAgICAgICAgICAgIChmb2N1cyk9XCJvbklucHV0Rm9jdXMoJGV2ZW50KVwiXG4gICAgICAgICAgICAoYmx1cik9XCJvbklucHV0Qmx1cigkZXZlbnQpXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2xpPlxuICAgICAgfVxuICAgIDwvdWw+XG4gIDwvZGl2PlxuXG4gIEBpZiAocmVzb2x2ZWRJbmZvTGFiZWwpIHtcbiAgICA8c21hbGwgY2xhc3M9XCJzZGMtY2hpcHNfX2luZm9MYWJlbFwiPnt7IHJlc29sdmVkSW5mb0xhYmVsIH19PC9zbWFsbD5cbiAgfVxuXG4gIEBpZiAocmVzb2x2ZWRNZXNzYWdlKSB7XG4gICAgPHNtYWxsIGNsYXNzPVwic2RjLWNoaXBzX19tZXNzYWdlXCI+e3sgcmVzb2x2ZWRNZXNzYWdlIH19PC9zbWFsbD5cbiAgfVxuPC9kaXY+XG4iXX0=