@seniorsistemas/data-seniorx-core 3.0.0 → 3.1.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.
- package/core/constants/editable-overlay.const.d.ts +4 -0
- package/core/constants/help-popover.const.d.ts +7 -0
- package/core/constants/input-mask.const.d.ts +5 -0
- package/core/constants/navigation-button.const.d.ts +3 -0
- package/core/constants/object-card.const.d.ts +21 -0
- package/core/constants/thumbnail.const.d.ts +6 -0
- package/core/constants/thumbnails.const.d.ts +4 -0
- package/core/constants/token-list.const.d.ts +3 -0
- package/core/types/button.type.d.ts +1 -1
- package/core/types/datepicker.type.d.ts +28 -0
- package/core/types/dynamic-form.type.d.ts +29 -0
- package/core/types/editable-overlay.type.d.ts +15 -0
- package/core/types/help-popover.type.d.ts +2 -0
- package/core/types/input-mask.type.d.ts +6 -0
- package/core/types/lookup.type.d.ts +45 -0
- package/core/types/navigation-button.type.d.ts +9 -0
- package/core/types/row-card.type.d.ts +5 -0
- package/core/types/semantics.type.d.ts +1 -1
- package/core/types/table-options.type.d.ts +1 -0
- package/core/types/thumbnail.type.d.ts +1 -0
- package/core/types/thumbnails.type.d.ts +20 -0
- package/core/types/token-list.type.d.ts +6 -0
- package/core/utils/emoji-support.util.d.ts +12 -0
- package/core/utils/overlay-dismiss.util.d.ts +25 -0
- package/esm2022/core/config/row-card.type.config.mjs +3 -1
- package/esm2022/core/constants/country-phone-picker.const.mjs +6 -6
- package/esm2022/core/constants/editable-overlay.const.mjs +5 -0
- package/esm2022/core/constants/help-popover.const.mjs +7 -0
- package/esm2022/core/constants/input-mask.const.mjs +6 -0
- package/esm2022/core/constants/navigation-button.const.mjs +4 -0
- package/esm2022/core/constants/object-card.const.mjs +23 -0
- package/esm2022/core/constants/thumbnail.const.mjs +14 -0
- package/esm2022/core/constants/thumbnails.const.mjs +5 -0
- package/esm2022/core/constants/token-list.const.mjs +4 -0
- package/esm2022/core/types/button.type.mjs +1 -1
- package/esm2022/core/types/datepicker.type.mjs +2 -0
- package/esm2022/core/types/dynamic-form.type.mjs +2 -0
- package/esm2022/core/types/editable-overlay.type.mjs +2 -0
- package/esm2022/core/types/help-popover.type.mjs +2 -0
- package/esm2022/core/types/input-mask.type.mjs +2 -0
- package/esm2022/core/types/lookup.type.mjs +2 -0
- package/esm2022/core/types/navigation-button.type.mjs +2 -0
- package/esm2022/core/types/row-card.type.mjs +1 -1
- package/esm2022/core/types/semantics.type.mjs +1 -1
- package/esm2022/core/types/table-options.type.mjs +1 -1
- package/esm2022/core/types/thumbnail.type.mjs +2 -0
- package/esm2022/core/types/thumbnails.type.mjs +2 -0
- package/esm2022/core/types/token-list.type.mjs +2 -0
- package/esm2022/core/utils/emoji-support.util.mjs +48 -0
- package/esm2022/core/utils/mask.util.mjs +2 -2
- package/esm2022/core/utils/overlay-dismiss.util.mjs +38 -0
- package/esm2022/features/alert/alert.component.mjs +5 -2
- package/esm2022/features/autocomplete/autocomplete.component.mjs +30 -8
- package/esm2022/features/bignumber-input/bignumber-input.component.mjs +1 -1
- package/esm2022/features/button/button.component.mjs +13 -5
- package/esm2022/features/card-list/card/card.component.mjs +2 -2
- package/esm2022/features/card-list/card-list.component.mjs +2 -2
- package/esm2022/features/checkbox-list/checkbox-list.component.mjs +25 -5
- package/esm2022/features/chips/chips.component.mjs +3 -3
- package/esm2022/features/code-editor/code-editor.component.mjs +12 -3
- package/esm2022/features/combobox/combobox.component.mjs +3 -3
- package/esm2022/features/confirm/confirm.component.mjs +2 -2
- package/esm2022/features/context-selector/context-selector.component.mjs +1 -1
- package/esm2022/features/country-phone-picker/country-phone-picker.component.mjs +22 -18
- package/esm2022/features/currency/currency.component.mjs +3 -3
- package/esm2022/features/datepicker/datepicker.component.mjs +814 -0
- package/esm2022/features/dynamic-form/dynamic-form-field.directive.mjs +178 -0
- package/esm2022/features/dynamic-form/dynamic-form.component.mjs +60 -0
- package/esm2022/features/dynamic-form/dynamic-form.registry.mjs +13 -0
- package/esm2022/features/editable-overlay/editable-overlay-editor.directive.mjs +31 -0
- package/esm2022/features/editable-overlay/editable-overlay.component.mjs +217 -0
- package/esm2022/features/editor/editor.component.mjs +173 -0
- package/esm2022/features/empty-state/empty-state.component.mjs +3 -3
- package/esm2022/features/fileupload/fileupload.component.mjs +3 -3
- package/esm2022/features/help-popover/help-popover.component.mjs +204 -0
- package/esm2022/features/hyperlink/hyperlink.component.mjs +3 -3
- package/esm2022/features/icon-picker/icon-picker.component.mjs +4 -4
- package/esm2022/features/image-cropper/image-cropper.component.mjs +2 -2
- package/esm2022/features/info-sign/info-sign.component.mjs +6 -3
- package/esm2022/features/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +1 -1
- package/esm2022/features/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +2 -2
- package/esm2022/features/input-mask/input-mask.directive.mjs +510 -0
- package/esm2022/features/list/list.component.mjs +2 -2
- package/esm2022/features/localized-number-input/localized-number-input.component.mjs +3 -3
- package/esm2022/features/lookup/lookup.component.mjs +351 -0
- package/esm2022/features/modal/modal.component.mjs +6 -3
- package/esm2022/features/modalc/modalc.component.mjs +6 -3
- package/esm2022/features/navigation-button/navigation-button.component.mjs +172 -0
- package/esm2022/features/number-input/number-input.component.mjs +10 -4
- package/esm2022/features/object-card/components/object-card-field/object-card-field.component.mjs +89 -0
- package/esm2022/features/object-card/components/object-card-main/object-card-main.component.mjs +114 -0
- package/esm2022/features/object-card/object-card.component.mjs +199 -0
- package/esm2022/features/password-strength/password-strength.component.mjs +3 -3
- package/esm2022/features/pin-code-field/pin-code-field.component.mjs +14 -4
- package/esm2022/features/popover/popover.component.mjs +29 -3
- package/esm2022/features/profile-picture-picker/profile-picture-picker.component.mjs +13 -4
- package/esm2022/features/rating-scale/rating-scale.component.mjs +24 -4
- package/esm2022/features/row-card-list/row-card/row-card.component.mjs +19 -4
- package/esm2022/features/row-card-list/row-card-list.component.mjs +12 -3
- package/esm2022/features/scaffold/scaffold.component.mjs +3 -3
- package/esm2022/features/searchbox/searchbox.component.mjs +2 -2
- package/esm2022/features/select-button/select-button.component.mjs +26 -4
- package/esm2022/features/slider/slider.component.mjs +3 -3
- package/esm2022/features/split-button/split-button.component.mjs +1 -1
- package/esm2022/features/spotlight/components/spotlight-overlay/spotlight-overlay.component.mjs +15 -18
- package/esm2022/features/spotlight/spotlight.component.mjs +2 -2
- package/esm2022/features/star-rating/star-rating.component.mjs +25 -4
- package/esm2022/features/table/components/table-cell-content.component.mjs +2 -2
- package/esm2022/features/table/table.component.mjs +30 -9
- package/esm2022/features/textarea/textarea.component.mjs +3 -3
- package/esm2022/features/thumbnail/thumbnail.component.mjs +86 -0
- package/esm2022/features/thumbnails/components/thumbnail-item/thumbnail-item.component.mjs +59 -0
- package/esm2022/features/thumbnails/components/thumbnail-item-image/thumbnail-item-image.component.mjs +25 -0
- package/esm2022/features/thumbnails/components/thumbnail-item-video/thumbnail-item-video.component.mjs +50 -0
- package/esm2022/features/thumbnails/thumbnails.component.mjs +76 -0
- package/esm2022/features/tiered-menu/directives/tiered-menu.directive.mjs +13 -1
- package/esm2022/features/token-list/token-list.component.mjs +64 -0
- package/esm2022/features/visual-sql-editor/visual-sql-editor.component.mjs +2 -2
- package/esm2022/locales/en.json +409 -1
- package/esm2022/locales/es-CO.json +423 -2
- package/esm2022/locales/pt.json +1037 -630
- package/esm2022/providers/features.provider.mjs +20 -2
- package/esm2022/providers/primeng-config.provider.mjs +14 -128
- package/esm2022/providers/translate.provider.mjs +2 -2
- package/esm2022/public-api.mjs +31 -1
- package/features/alert/alert.component.d.ts +1 -0
- package/features/autocomplete/autocomplete.component.d.ts +9 -3
- package/features/button/button.component.d.ts +3 -1
- package/features/checkbox-list/checkbox-list.component.d.ts +8 -1
- package/features/code-editor/code-editor.component.d.ts +5 -1
- package/features/country-phone-picker/country-phone-picker.component.d.ts +3 -0
- package/features/datepicker/datepicker.component.d.ts +118 -0
- package/features/dynamic-form/dynamic-form-field.directive.d.ts +26 -0
- package/features/dynamic-form/dynamic-form.component.d.ts +15 -0
- package/features/dynamic-form/dynamic-form.registry.d.ts +11 -0
- package/features/editable-overlay/editable-overlay-editor.directive.d.ts +22 -0
- package/features/editable-overlay/editable-overlay.component.d.ts +60 -0
- package/features/editor/editor.component.d.ts +47 -0
- package/features/help-popover/help-popover.component.d.ts +81 -0
- package/features/info-sign/info-sign.component.d.ts +2 -1
- package/features/input-mask/input-mask.directive.d.ts +117 -0
- package/features/lookup/lookup.component.d.ts +104 -0
- package/features/modal/modal.component.d.ts +2 -1
- package/features/modalc/modalc.component.d.ts +2 -1
- package/features/navigation-button/navigation-button.component.d.ts +58 -0
- package/features/number-input/number-input.component.d.ts +3 -1
- package/features/object-card/components/object-card-field/object-card-field.component.d.ts +48 -0
- package/features/object-card/components/object-card-main/object-card-main.component.d.ts +57 -0
- package/features/object-card/object-card.component.d.ts +70 -0
- package/features/pin-code-field/pin-code-field.component.d.ts +6 -1
- package/features/popover/popover.component.d.ts +4 -1
- package/features/profile-picture-picker/profile-picture-picker.component.d.ts +5 -1
- package/features/rating-scale/rating-scale.component.d.ts +9 -1
- package/features/row-card-list/row-card/row-card.component.d.ts +6 -1
- package/features/row-card-list/row-card-list.component.d.ts +4 -1
- package/features/select-button/select-button.component.d.ts +9 -1
- package/features/star-rating/star-rating.component.d.ts +9 -1
- package/features/table/table.component.d.ts +2 -1
- package/features/thumbnail/thumbnail.component.d.ts +48 -0
- package/features/thumbnails/components/thumbnail-item/thumbnail-item.component.d.ts +29 -0
- package/features/thumbnails/components/thumbnail-item-image/thumbnail-item-image.component.d.ts +13 -0
- package/features/thumbnails/components/thumbnail-item-video/thumbnail-item-video.component.d.ts +19 -0
- package/features/thumbnails/thumbnails.component.d.ts +46 -0
- package/features/tiered-menu/directives/tiered-menu.directive.d.ts +2 -0
- package/features/token-list/token-list.component.d.ts +31 -0
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs +11288 -6613
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs.map +1 -1
- package/package.json +12 -3
- package/providers/primeng-config.provider.d.ts +12 -0
- package/public-api.d.ts +38 -0
- package/src/locales/en.json +409 -1
- package/src/locales/es-CO.json +423 -2
- package/src/locales/pt.json +1037 -630
- package/styles/sdc-global-variables.scss +38 -0
- package/styles.css +132 -0
- package/styles.scss +2 -0
- package/esm2022/providers/custom/button.mjs +0 -93
- package/esm2022/providers/custom/toast.mjs +0 -75
- package/providers/custom/button.d.ts +0 -16
- package/providers/custom/toast.d.ts +0 -14
|
@@ -151,10 +151,10 @@ export class SpotlightComponent {
|
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
153
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpotlightComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
154
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SpotlightComponent, isStandalone: true, selector: "sdc-spotlight", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, currentStep: { classPropertyName: "currentStep", publicName: "currentStep", isSignal: true, isRequired: false, transformFunction: null }, totalSteps: { classPropertyName: "totalSteps", publicName: "totalSteps", isSignal: true, isRequired: false, transformFunction: null }, showDoNotShowAgain: { classPropertyName: "showDoNotShowAgain", publicName: "showDoNotShowAgain", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, arrowOffsetPx: { classPropertyName: "arrowOffsetPx", publicName: "arrowOffsetPx", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", next: "next", previous: "previous", understand: "understand" }, ngImport: i0, template: "<div\n class=\"sdc-spotlight\"\n [class.sdc-spotlight--horizontal]=\"isArrowLeft || isArrowRight\"\n [attr.role]=\"totalSteps() > 1 ? 'dialog' : 'tooltip'\"\n [attr.aria-modal]=\"totalSteps() > 1 ? 'true' : null\"\n [attr.aria-labelledby]=\"titleId\"\n [attr.aria-describedby]=\"descId\"\n>\n @if (isArrowTop) {\n <ng-container [ngTemplateOutlet]=\"arrowTopTemplate\"></ng-container>\n }\n @if (isArrowLeft) {\n <ng-container [ngTemplateOutlet]=\"arrowLeftTemplate\"></ng-container>\n }\n\n <div class=\"sdc-spotlight__card\">\n <span\n class=\"sdc-spotlight__sr-only\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n @if (totalSteps() > 1) {\n {{ stepProgressLabelKey | translate: { current: currentStep(), total: totalSteps() } }}\n }\n </span>\n\n <header class=\"sdc-spotlight__header\">\n <h2\n [id]=\"titleId\"\n class=\"sdc-spotlight__title\"\n >\n @if (titleTemplate) {\n <ng-container [ngTemplateOutlet]=\"titleTemplate\"></ng-container>\n } @else {\n {{ titleString }}\n }\n </h2>\n\n <button\n type=\"button\"\n class=\"sdc-spotlight__close\"\n [attr.aria-label]=\"closeLabelKey | translate\"\n (click)=\"onClose()\"\n >\n <i class=\"fas fa-times\"></i>\n </button>\n </header>\n\n @if (content()) {\n <ng-container [ngTemplateOutlet]=\"content()\"></ng-container>\n }\n\n <div class=\"sdc-spotlight__body\">\n <div\n [id]=\"descId\"\n class=\"sdc-spotlight__message\"\n >\n @if (messageTemplate) {\n <ng-container [ngTemplateOutlet]=\"messageTemplate\"></ng-container>\n } @else {\n {{ messageString }}\n }\n </div>\n\n <div class=\"sdc-spotlight__footer\">\n @if (totalSteps() > 1) {\n <p class=\"sdc-spotlight__counter\">\n {{ stepCounterLabelKey | translate: { current: currentStep(), total: totalSteps() } }}\n </p>\n }\n\n @if (totalSteps() === 1 && showDoNotShowAgain()) {\n <sdc-checkbox\n [checked]=\"isDoNotShowAgainChecked()\"\n [label]=\"doNotShowAgainLabelKey\"\n (checkedChange)=\"toggleDoNotShowAgain()\"\n ></sdc-checkbox>\n }\n\n <div class=\"sdc-spotlight__actions\">\n @for (action of actions(); track action.label) {\n <sdc-button\n priority=\"default\"\n size=\"small\"\n [label]=\"action.label\"\n (clicked)=\"action.handler()\"\n ></sdc-button>\n }\n\n @if (totalSteps() > 1 && currentStep() > 1) {\n <sdc-button\n priority=\"default\"\n size=\"small\"\n [label]=\"backLabelKey\"\n (clicked)=\"onPrevious()\"\n ></sdc-button>\n }\n\n <sdc-button\n priority=\"secondary\"\n size=\"small\"\n [label]=\"\n totalSteps() <= 1\n ? understoodLabelKey\n : currentStep() < totalSteps()\n ? nextLabelKey\n : completeLabelKey\n \"\n (clicked)=\"totalSteps() > 1 ? onNext() : onUnderstand()\"\n ></sdc-button>\n </div>\n </div>\n </div>\n </div>\n\n @if (isArrowBottom) {\n <ng-container [ngTemplateOutlet]=\"arrowBottomTemplate\"></ng-container>\n }\n @if (isArrowRight) {\n <ng-container [ngTemplateOutlet]=\"arrowRightTemplate\"></ng-container>\n }\n</div>\n\n<ng-template #arrowTopTemplate>\n <div\n class=\"sdc-spotlight__arrow-row\"\n [style.justify-content]=\"arrowJustifyContent\"\n [ngStyle]=\"arrowPaddingStyle\"\n >\n <svg\n width=\"16\"\n height=\"8\"\n viewBox=\"0 0 16 8\"\n [style.transform]=\"arrowTransform\"\n >\n <path\n d=\"M0 8L8 0L16 8\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n</ng-template>\n\n<ng-template #arrowBottomTemplate>\n <div\n class=\"sdc-spotlight__arrow-row\"\n [style.justify-content]=\"arrowJustifyContent\"\n [ngStyle]=\"arrowPaddingStyle\"\n >\n <svg\n width=\"16\"\n height=\"8\"\n viewBox=\"0 0 16 8\"\n [style.transform]=\"arrowTransform\"\n >\n <path\n d=\"M0 8L8 0L16 8\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n</ng-template>\n\n<ng-template #arrowLeftTemplate>\n <div\n class=\"sdc-spotlight__arrow-column\"\n [style.align-items]=\"arrowAlignItems\"\n [ngStyle]=\"arrowPaddingStyle\"\n >\n <svg\n width=\"16\"\n height=\"8\"\n viewBox=\"0 0 16 8\"\n [style.transform]=\"arrowTransform\"\n >\n <path\n d=\"M0 8L8 0L16 8\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n</ng-template>\n\n<ng-template #arrowRightTemplate>\n <div\n class=\"sdc-spotlight__arrow-column\"\n [style.align-items]=\"arrowAlignItems\"\n [ngStyle]=\"arrowPaddingStyle\"\n >\n <svg\n width=\"16\"\n height=\"8\"\n viewBox=\"0 0 16 8\"\n [style.transform]=\"arrowTransform\"\n >\n <path\n d=\"M0 8L8 0L16 8\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n</ng-template>\n", styles: [".sdc-spotlight{display:flex;flex-direction:column;max-width:21.375rem;color:#212533}.sdc-spotlight--horizontal{flex-direction:row}.sdc-spotlight__card{position:relative;overflow:hidden;border-radius:.25rem;background:#fff;box-shadow:0 3px 5px #0003,0 1px 18px #0000001f,0 6px 10px #00000024}.sdc-spotlight__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem}.sdc-spotlight__title{flex:1;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:700}.sdc-spotlight__close{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border:0;background:transparent;cursor:pointer}.sdc-spotlight__body{display:flex;flex-direction:column;gap:1.25rem;padding:.75rem}.sdc-spotlight__message{white-space:pre-wrap;font-size:.875rem;line-height:1.5}.sdc-spotlight__footer{display:flex;flex-direction:column;gap:.75rem}.sdc-spotlight__counter{margin:0;font-size:.875rem}.sdc-spotlight__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.sdc-spotlight__arrow-row{display:flex;width:100%;height:.5rem;padding:0 .75rem;color:#fff}.sdc-spotlight__arrow-column{display:flex;width:.5rem;align-self:stretch;padding:0;color:#fff}.sdc-spotlight__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["id", "label", "ariaLabel", "disabled", "width", "priority", "size", "type", "icon", "rightIcon", "auxiliary", "caret", "tooltip", "animation", "slide", "styleClass", "badge", "menuOptions", "menuContext", "model"], outputs: ["clicked"] }, { kind: "component", type: CheckboxComponent, selector: "sdc-checkbox", inputs: ["label", "disabled", "commonCheckbox", "labelPosition", "size", "checked"], outputs: ["checkedChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
154
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SpotlightComponent, isStandalone: true, selector: "sdc-spotlight", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, currentStep: { classPropertyName: "currentStep", publicName: "currentStep", isSignal: true, isRequired: false, transformFunction: null }, totalSteps: { classPropertyName: "totalSteps", publicName: "totalSteps", isSignal: true, isRequired: false, transformFunction: null }, showDoNotShowAgain: { classPropertyName: "showDoNotShowAgain", publicName: "showDoNotShowAgain", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, arrowOffsetPx: { classPropertyName: "arrowOffsetPx", publicName: "arrowOffsetPx", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", next: "next", previous: "previous", understand: "understand" }, ngImport: i0, template: "<div\n class=\"sdc-spotlight\"\n [class.sdc-spotlight--horizontal]=\"isArrowLeft || isArrowRight\"\n [attr.role]=\"totalSteps() > 1 ? 'dialog' : 'tooltip'\"\n [attr.aria-modal]=\"totalSteps() > 1 ? 'true' : null\"\n [attr.aria-labelledby]=\"titleId\"\n [attr.aria-describedby]=\"descId\"\n>\n @if (isArrowTop) {\n <ng-container [ngTemplateOutlet]=\"arrowTopTemplate\"></ng-container>\n }\n @if (isArrowLeft) {\n <ng-container [ngTemplateOutlet]=\"arrowLeftTemplate\"></ng-container>\n }\n\n <div class=\"sdc-spotlight__card\">\n <span\n class=\"sdc-spotlight__sr-only\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n @if (totalSteps() > 1) {\n {{ stepProgressLabelKey | translate: { current: currentStep(), total: totalSteps() } }}\n }\n </span>\n\n <header class=\"sdc-spotlight__header\">\n <h2\n [id]=\"titleId\"\n class=\"sdc-spotlight__title\"\n >\n @if (titleTemplate) {\n <ng-container [ngTemplateOutlet]=\"titleTemplate\"></ng-container>\n } @else {\n {{ titleString }}\n }\n </h2>\n\n <button\n type=\"button\"\n class=\"sdc-spotlight__close\"\n [attr.aria-label]=\"closeLabelKey | translate\"\n (click)=\"onClose()\"\n >\n <i class=\"fas fa-times\"></i>\n </button>\n </header>\n\n @if (content()) {\n <ng-container [ngTemplateOutlet]=\"content()\"></ng-container>\n }\n\n <div class=\"sdc-spotlight__body\">\n <div\n [id]=\"descId\"\n class=\"sdc-spotlight__message\"\n >\n @if (messageTemplate) {\n <ng-container [ngTemplateOutlet]=\"messageTemplate\"></ng-container>\n } @else {\n {{ messageString }}\n }\n </div>\n\n <div class=\"sdc-spotlight__footer\">\n @if (totalSteps() > 1) {\n <p class=\"sdc-spotlight__counter\">\n {{ stepCounterLabelKey | translate: { current: currentStep(), total: totalSteps() } }}\n </p>\n }\n\n @if (totalSteps() === 1 && showDoNotShowAgain()) {\n <sdc-checkbox\n [checked]=\"isDoNotShowAgainChecked()\"\n [label]=\"doNotShowAgainLabelKey\"\n (checkedChange)=\"toggleDoNotShowAgain()\"\n ></sdc-checkbox>\n }\n\n <div class=\"sdc-spotlight__actions\">\n @for (action of actions(); track action.label) {\n <sdc-button\n priority=\"default\"\n size=\"small\"\n [label]=\"action.label\"\n (clicked)=\"action.handler()\"\n ></sdc-button>\n }\n\n @if (totalSteps() > 1 && currentStep() > 1) {\n <sdc-button\n priority=\"default\"\n size=\"small\"\n [label]=\"backLabelKey\"\n (clicked)=\"onPrevious()\"\n ></sdc-button>\n }\n\n <sdc-button\n priority=\"secondary\"\n size=\"small\"\n [label]=\"\n totalSteps() <= 1\n ? understoodLabelKey\n : currentStep() < totalSteps()\n ? nextLabelKey\n : completeLabelKey\n \"\n (clicked)=\"totalSteps() > 1 ? onNext() : onUnderstand()\"\n ></sdc-button>\n </div>\n </div>\n </div>\n </div>\n\n @if (isArrowBottom) {\n <ng-container [ngTemplateOutlet]=\"arrowBottomTemplate\"></ng-container>\n }\n @if (isArrowRight) {\n <ng-container [ngTemplateOutlet]=\"arrowRightTemplate\"></ng-container>\n }\n</div>\n\n<ng-template #arrowTopTemplate>\n <div\n class=\"sdc-spotlight__arrow-row\"\n [style.justify-content]=\"arrowJustifyContent\"\n [ngStyle]=\"arrowPaddingStyle\"\n >\n <svg\n width=\"16\"\n height=\"8\"\n viewBox=\"0 0 16 8\"\n [style.transform]=\"arrowTransform\"\n >\n <path\n d=\"M0 8L8 0L16 8\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n</ng-template>\n\n<ng-template #arrowBottomTemplate>\n <div\n class=\"sdc-spotlight__arrow-row\"\n [style.justify-content]=\"arrowJustifyContent\"\n [ngStyle]=\"arrowPaddingStyle\"\n >\n <svg\n width=\"16\"\n height=\"8\"\n viewBox=\"0 0 16 8\"\n [style.transform]=\"arrowTransform\"\n >\n <path\n d=\"M0 8L8 0L16 8\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n</ng-template>\n\n<ng-template #arrowLeftTemplate>\n <div\n class=\"sdc-spotlight__arrow-column\"\n [style.align-items]=\"arrowAlignItems\"\n [ngStyle]=\"arrowPaddingStyle\"\n >\n <svg\n width=\"16\"\n height=\"8\"\n viewBox=\"0 0 16 8\"\n [style.transform]=\"arrowTransform\"\n >\n <path\n d=\"M0 8L8 0L16 8\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n</ng-template>\n\n<ng-template #arrowRightTemplate>\n <div\n class=\"sdc-spotlight__arrow-column\"\n [style.align-items]=\"arrowAlignItems\"\n [ngStyle]=\"arrowPaddingStyle\"\n >\n <svg\n width=\"16\"\n height=\"8\"\n viewBox=\"0 0 16 8\"\n [style.transform]=\"arrowTransform\"\n >\n <path\n d=\"M0 8L8 0L16 8\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n</ng-template>\n", styles: [".sdc-spotlight{display:flex;flex-direction:column;max-width:21.375rem;color:#212533}.sdc-spotlight--horizontal{flex-direction:row}.sdc-spotlight__card{position:relative;overflow:hidden;border-radius:.25rem;background:#fff;box-shadow:0 3px 5px #0003,0 1px 18px #0000001f,0 6px 10px #00000024}.sdc-spotlight__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem}.sdc-spotlight__title{flex:1;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:700}.sdc-spotlight__close{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border:0;background:transparent;cursor:pointer}.sdc-spotlight__body{display:flex;flex-direction:column;gap:1.25rem;padding:.75rem}.sdc-spotlight__message{white-space:pre-wrap;font-size:.875rem;line-height:1.5}.sdc-spotlight__footer{display:flex;flex-direction:column;gap:.75rem}.sdc-spotlight__counter{margin:0;font-size:.875rem}.sdc-spotlight__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.sdc-spotlight__arrow-row{display:flex;width:100%;height:.5rem;padding:0 .75rem;color:#fff}.sdc-spotlight__arrow-column{display:flex;width:.5rem;align-self:stretch;padding:0;color:#fff}.sdc-spotlight__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["id", "label", "ariaLabel", "disabled", "loading", "width", "priority", "size", "type", "icon", "rightIcon", "auxiliary", "caret", "tooltip", "animation", "slide", "styleClass", "badge", "menuOptions", "menuContext", "model"], outputs: ["clicked"] }, { kind: "component", type: CheckboxComponent, selector: "sdc-checkbox", inputs: ["label", "disabled", "commonCheckbox", "labelPosition", "size", "checked"], outputs: ["checkedChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
155
155
|
}
|
|
156
156
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpotlightComponent, decorators: [{
|
|
157
157
|
type: Component,
|
|
158
158
|
args: [{ selector: 'sdc-spotlight', standalone: true, imports: [CommonModule, TranslateModule, ButtonComponent, CheckboxComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div\n class=\"sdc-spotlight\"\n [class.sdc-spotlight--horizontal]=\"isArrowLeft || isArrowRight\"\n [attr.role]=\"totalSteps() > 1 ? 'dialog' : 'tooltip'\"\n [attr.aria-modal]=\"totalSteps() > 1 ? 'true' : null\"\n [attr.aria-labelledby]=\"titleId\"\n [attr.aria-describedby]=\"descId\"\n>\n @if (isArrowTop) {\n <ng-container [ngTemplateOutlet]=\"arrowTopTemplate\"></ng-container>\n }\n @if (isArrowLeft) {\n <ng-container [ngTemplateOutlet]=\"arrowLeftTemplate\"></ng-container>\n }\n\n <div class=\"sdc-spotlight__card\">\n <span\n class=\"sdc-spotlight__sr-only\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n @if (totalSteps() > 1) {\n {{ stepProgressLabelKey | translate: { current: currentStep(), total: totalSteps() } }}\n }\n </span>\n\n <header class=\"sdc-spotlight__header\">\n <h2\n [id]=\"titleId\"\n class=\"sdc-spotlight__title\"\n >\n @if (titleTemplate) {\n <ng-container [ngTemplateOutlet]=\"titleTemplate\"></ng-container>\n } @else {\n {{ titleString }}\n }\n </h2>\n\n <button\n type=\"button\"\n class=\"sdc-spotlight__close\"\n [attr.aria-label]=\"closeLabelKey | translate\"\n (click)=\"onClose()\"\n >\n <i class=\"fas fa-times\"></i>\n </button>\n </header>\n\n @if (content()) {\n <ng-container [ngTemplateOutlet]=\"content()\"></ng-container>\n }\n\n <div class=\"sdc-spotlight__body\">\n <div\n [id]=\"descId\"\n class=\"sdc-spotlight__message\"\n >\n @if (messageTemplate) {\n <ng-container [ngTemplateOutlet]=\"messageTemplate\"></ng-container>\n } @else {\n {{ messageString }}\n }\n </div>\n\n <div class=\"sdc-spotlight__footer\">\n @if (totalSteps() > 1) {\n <p class=\"sdc-spotlight__counter\">\n {{ stepCounterLabelKey | translate: { current: currentStep(), total: totalSteps() } }}\n </p>\n }\n\n @if (totalSteps() === 1 && showDoNotShowAgain()) {\n <sdc-checkbox\n [checked]=\"isDoNotShowAgainChecked()\"\n [label]=\"doNotShowAgainLabelKey\"\n (checkedChange)=\"toggleDoNotShowAgain()\"\n ></sdc-checkbox>\n }\n\n <div class=\"sdc-spotlight__actions\">\n @for (action of actions(); track action.label) {\n <sdc-button\n priority=\"default\"\n size=\"small\"\n [label]=\"action.label\"\n (clicked)=\"action.handler()\"\n ></sdc-button>\n }\n\n @if (totalSteps() > 1 && currentStep() > 1) {\n <sdc-button\n priority=\"default\"\n size=\"small\"\n [label]=\"backLabelKey\"\n (clicked)=\"onPrevious()\"\n ></sdc-button>\n }\n\n <sdc-button\n priority=\"secondary\"\n size=\"small\"\n [label]=\"\n totalSteps() <= 1\n ? understoodLabelKey\n : currentStep() < totalSteps()\n ? nextLabelKey\n : completeLabelKey\n \"\n (clicked)=\"totalSteps() > 1 ? onNext() : onUnderstand()\"\n ></sdc-button>\n </div>\n </div>\n </div>\n </div>\n\n @if (isArrowBottom) {\n <ng-container [ngTemplateOutlet]=\"arrowBottomTemplate\"></ng-container>\n }\n @if (isArrowRight) {\n <ng-container [ngTemplateOutlet]=\"arrowRightTemplate\"></ng-container>\n }\n</div>\n\n<ng-template #arrowTopTemplate>\n <div\n class=\"sdc-spotlight__arrow-row\"\n [style.justify-content]=\"arrowJustifyContent\"\n [ngStyle]=\"arrowPaddingStyle\"\n >\n <svg\n width=\"16\"\n height=\"8\"\n viewBox=\"0 0 16 8\"\n [style.transform]=\"arrowTransform\"\n >\n <path\n d=\"M0 8L8 0L16 8\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n</ng-template>\n\n<ng-template #arrowBottomTemplate>\n <div\n class=\"sdc-spotlight__arrow-row\"\n [style.justify-content]=\"arrowJustifyContent\"\n [ngStyle]=\"arrowPaddingStyle\"\n >\n <svg\n width=\"16\"\n height=\"8\"\n viewBox=\"0 0 16 8\"\n [style.transform]=\"arrowTransform\"\n >\n <path\n d=\"M0 8L8 0L16 8\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n</ng-template>\n\n<ng-template #arrowLeftTemplate>\n <div\n class=\"sdc-spotlight__arrow-column\"\n [style.align-items]=\"arrowAlignItems\"\n [ngStyle]=\"arrowPaddingStyle\"\n >\n <svg\n width=\"16\"\n height=\"8\"\n viewBox=\"0 0 16 8\"\n [style.transform]=\"arrowTransform\"\n >\n <path\n d=\"M0 8L8 0L16 8\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n</ng-template>\n\n<ng-template #arrowRightTemplate>\n <div\n class=\"sdc-spotlight__arrow-column\"\n [style.align-items]=\"arrowAlignItems\"\n [ngStyle]=\"arrowPaddingStyle\"\n >\n <svg\n width=\"16\"\n height=\"8\"\n viewBox=\"0 0 16 8\"\n [style.transform]=\"arrowTransform\"\n >\n <path\n d=\"M0 8L8 0L16 8\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n</ng-template>\n", styles: [".sdc-spotlight{display:flex;flex-direction:column;max-width:21.375rem;color:#212533}.sdc-spotlight--horizontal{flex-direction:row}.sdc-spotlight__card{position:relative;overflow:hidden;border-radius:.25rem;background:#fff;box-shadow:0 3px 5px #0003,0 1px 18px #0000001f,0 6px 10px #00000024}.sdc-spotlight__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem}.sdc-spotlight__title{flex:1;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:700}.sdc-spotlight__close{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border:0;background:transparent;cursor:pointer}.sdc-spotlight__body{display:flex;flex-direction:column;gap:1.25rem;padding:.75rem}.sdc-spotlight__message{white-space:pre-wrap;font-size:.875rem;line-height:1.5}.sdc-spotlight__footer{display:flex;flex-direction:column;gap:.75rem}.sdc-spotlight__counter{margin:0;font-size:.875rem}.sdc-spotlight__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.sdc-spotlight__arrow-row{display:flex;width:100%;height:.5rem;padding:0 .75rem;color:#fff}.sdc-spotlight__arrow-column{display:flex;width:.5rem;align-self:stretch;padding:0;color:#fff}.sdc-spotlight__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"] }]
|
|
159
159
|
}] });
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BvdGxpZ2h0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvc3BvdGxpZ2h0L3Nwb3RsaWdodC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3Nwb3RsaWdodC9zcG90bGlnaHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6Qiw0QkFBNEIsRUFDNUIscUNBQXFDLEVBQ3JDLHdCQUF3QixFQUN4QixnQ0FBZ0MsRUFDaEMsaUNBQWlDLEVBQ2pDLDhCQUE4QixFQUMvQixNQUFNLHNDQUFzQyxDQUFDO0FBRTlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQVduRSxNQUFNLE9BQU8sa0JBQWtCO0lBQ3JCLE1BQU0sQ0FBVSwyQkFBMkIsR0FBRyxDQUFDLENBQUM7SUFFeEQsS0FBSyxHQUFHLEtBQUssQ0FBZ0MsRUFBRSxDQUFDLENBQUM7SUFDakQsT0FBTyxHQUFHLEtBQUssRUFBaUMsQ0FBQztJQUNqRCxPQUFPLEdBQUcsS0FBSyxDQUE4QixJQUFJLENBQUMsQ0FBQztJQUNuRCxRQUFRLEdBQUcsS0FBSyxDQUFvQixlQUFlLENBQUMsQ0FBQztJQUNyRCxXQUFXLEdBQUcsS0FBSyxDQUFDLENBQUMs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RSxDQUFDO0lBQ3pCLENBQUM7SUFFUyxvQkFBb0I7UUFDNUIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsU0FBaUI7UUFDNUMsUUFBUSxTQUFTLEVBQUUsQ0FBQztZQUNsQixLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxRQUFRLENBQUM7WUFDbEIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sS0FBSyxDQUFDO1lBQ2YsS0FBSyxNQUFNO2dCQUNULE9BQU8sT0FBTyxDQUFDO1lBQ2pCLEtBQUssT0FBTztnQkFDVixPQUFPLE1BQU0sQ0FBQztZQUNoQjtnQkFDRSxPQUFPLFNBQVMsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQzt3R0E1S1Usa0JBQWtCOzRGQUFsQixrQkFBa0IscTJDQzNCL0IsaXFLQTBNQSwwNkNEckxZLFlBQVksMFJBQUUsZUFBZSw0RkFBRSxlQUFlLDhTQUFFLGlCQUFpQjs7NEZBTWhFLGtCQUFrQjtrQkFUOUIsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLENBQUMsbUJBRzNELHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVGVtcGxhdGVSZWYsIGlucHV0LCBvdXRwdXQsIHNpZ25hbCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQge1xuICBTUE9UTElHSFRfQkFDS19MQUJFTF9LRVksXG4gIFNQT1RMSUdIVF9DTE9TRV9MQUJFTF9LRVksXG4gIFNQT1RMSUdIVF9DT01QTEVURV9MQUJFTF9LRVksXG4gIFNQT1RMSUdIVF9ET19OT1RfU0hPV19BR0FJTl9MQUJFTF9LRVksXG4gIFNQT1RMSUdIVF9ORVhUX0xBQkVMX0tFWSxcbiAgU1BPVExJR0hUX1NURVBfQ09VTlRFUl9MQUJFTF9LRVksXG4gIFNQT1RMSUdIVF9TVEVQX1BST0dSRVNTX0xBQkVMX0tFWSxcbiAgU1BPVExJR0hUX1VOREVSU1RPT0RfTEFCRUxfS0VZXG59IGZyb20gJy4uLy4uL2NvcmUvY29uc3RhbnRzL3Nwb3RsaWdodC5jb25zdCc7XG5pbXBvcnQgdHlwZSB7IFNwb3RsaWdodFBvc2l0aW9uLCBTcG90bGlnaHRTdGVwQWN0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcy9zcG90bGlnaHQudHlwZSc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4uL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1zcG90bGlnaHQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIEJ1dHRvbkNvbXBvbmVudCwgQ2hlY2tib3hDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vc3BvdGxpZ2h0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3BvdGxpZ2h0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZFxufSlcbmV4cG9ydCBjbGFzcyBTcG90bGlnaHRDb21wb25lbnQge1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBTUE9UTElHSFRfRFVQTElDQVRFX0xJVEVSQUwgPSAzO1xuXG4gIHRpdGxlID0gaW5wdXQ8c3RyaW5nIHwgVGVtcGxhdGVSZWY8dW5rbm93bj4+KCcnKTtcbiAgbWVzc2FnZSA9IGlucHV0PHN0cmluZyB8IFRlbXBsYXRlUmVmPHVua25vd24+PigpO1xuICBjb250ZW50ID0gaW5wdXQ8VGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsPihudWxsKTtcbiAgcG9zaXRpb24gPSBpbnB1dDxTcG90bGlnaHRQb3NpdGlvbj4oJ2JvdHRvbS1jZW50ZXInKTtcbiAgY3VycmVudFN0ZXAgPSBpbnB1dCgxKTtcbiAgdG90YWxTdGVwcyA9IGlucHV0KDEpO1xuICBzaG93RG9Ob3RTaG93QWdhaW4gPSBpbnB1dCh0cnVlKTtcbiAgYWN0aW9ucyA9IGlucHV0PFNwb3RsaWdodFN0ZXBBY3Rpb25bXT4oW10pO1xuICBhcnJvd09mZnNldFB4ID0gaW5wdXQ8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG5cbiAgY2xvc2VkID0gb3V0cHV0KCk7XG4gIG5leHQgPSBvdXRwdXQoKTtcbiAgcHJldmlvdXMgPSBvdXRwdXQoKTtcbiAgdW5kZXJzdGFuZCA9IG91dHB1dCgpO1xuXG4gIGlzRG9Ob3RTaG93QWdhaW5DaGVja2VkID0gc2lnbmFsKGZhbHNlKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2xvc2VMYWJlbEtleSA9IFNQT1RMSUdIVF9DTE9TRV9MQUJFTF9LRVk7XG4gIHByb3RlY3RlZCByZWFkb25seSBiYWNrTGFiZWxLZXkgPSBTUE9UTElHSFRfQkFDS19MQUJFTF9LRVk7XG4gIHByb3RlY3RlZCByZWFkb25seSBuZXh0TGFiZWxLZXkgPSBTUE9UTElHSFRfTkVYVF9MQUJFTF9LRVk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb21wbGV0ZUxhYmVsS2V5ID0gU1BPVExJR0hUX0NPTVBMRVRFX0xBQkVMX0tFWTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHVuZGVyc3Rvb2RMYWJlbEtleSA9IFNQT1RMSUdIVF9VTkRFUlNUT09EX0xBQkVMX0tFWTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRvTm90U2hvd0FnYWluTGFiZWxLZXkgPSBTUE9UTElHSFRfRE9fTk9UX1NIT1dfQUdBSU5fTEFCRUxfS0VZO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RlcENvdW50ZXJMYWJlbEtleSA9IFNQT1RMSUdIVF9TVEVQX0NPVU5URVJfTEFCRUxfS0VZO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RlcFByb2dyZXNzTGFiZWxLZXkgPSBTUE9UTElHSFRfU1RFUF9QUk9HUkVTU19MQUJFTF9LRVk7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaW5zdGFuY2VDb3VudCA9IDA7XG4gIHByaXZhdGUgc3RhdGljIGluY3JlbWVudEluc3RhbmNlQ291bnQoKTogbnVtYmVyIHtcbiAgICBTcG90bGlnaHRDb21wb25lbnQuaW5zdGFuY2VDb3VudCArPSAxO1xuICAgIHJldHVybiBTcG90bGlnaHRDb21wb25lbnQuaW5zdGFuY2VDb3VudDtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWFkb25seSBpbnN0YW5jZUlkID0gYHNkYy1zcG90bGlnaHQtJHtTcG90bGlnaHRDb21wb25lbnQuaW5jcmVtZW50SW5zdGFuY2VDb3VudCgpfWA7XG4gIHByb3RlY3RlZCByZWFkb25seSB0aXRsZUlkID0gYCR7dGhpcy5pbnN0YW5jZUlkfS10aXRsZWA7XG4gIHByb3RlY3RlZCByZWFkb25seSBkZXNjSWQgPSBgJHt0aGlzLmluc3RhbmNlSWR9LWRlc2NgO1xuXG4gIHByb3RlY3RlZCBnZXQgdGl0bGVUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy50aXRsZSgpO1xuICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmID8gdmFsdWUgOiBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0aXRsZVN0cmluZygpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy50aXRsZSgpO1xuICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmID8gJycgOiAodmFsdWUgPz8gJycpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBtZXNzYWdlVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMubWVzc2FnZSgpO1xuICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmID8gdmFsdWUgOiBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBtZXNzYWdlU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLm1lc3NhZ2UoKTtcbiAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZiA/ICcnIDogKHZhbHVlID8/ICcnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgYXJyb3dQb3NpdGlvbigpOiBTcG90bGlnaHRQb3NpdGlvbiB7XG4gICAgY29uc3QgW2RpcmVjdGlvbiwgYWxpZ25tZW50XSA9IHRoaXMucG9zaXRpb24oKS5zcGxpdCgnLScpIGFzIFtzdHJpbmcsIHN0cmluZ107XG4gICAgcmV0dXJuIGAke3RoaXMuZ2V0T3Bwb3NpdGVEaXJlY3Rpb24oZGlyZWN0aW9uKX0tJHthbGlnbm1lbnR9YCBhcyBTcG90bGlnaHRQb3NpdGlvbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgaXNBcnJvd1RvcCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hcnJvd1Bvc2l0aW9uLnN0YXJ0c1dpdGgoJ3RvcC0nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgaXNBcnJvd0JvdHRvbSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hcnJvd1Bvc2l0aW9uLnN0YXJ0c1dpdGgoJ2JvdHRvbS0nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgaXNBcnJvd0xlZnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYXJyb3dQb3NpdGlvbi5zdGFydHNXaXRoKCdsZWZ0LScpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBpc0Fycm93UmlnaHQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYXJyb3dQb3NpdGlvbi5zdGFydHNXaXRoKCdyaWdodC0nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgYXJyb3dUcmFuc2Zvcm0oKTogc3RyaW5nIHtcbiAgICBjb25zdCBkaXJlY3Rpb24gPSB0aGlzLmFycm93UG9zaXRpb24uc3BsaXQoJy0nKVswXTtcbiAgICByZXR1cm4gdGhpcy5nZXRBcnJvd1RyYW5zZm9ybUZvckRpcmVjdGlvbihkaXJlY3Rpb24pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBhcnJvd0p1c3RpZnlDb250ZW50KCk6IHN0cmluZyB7XG4gICAgY29uc3Qgb2Zmc2V0ID0gdGhpcy5hcnJvd09mZnNldFB4KCk7XG4gICAgaWYgKG9mZnNldCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuRkxFWF9TVEFSVDtcbiAgICB9XG5cbiAgICBjb25zdCBhbGlnbm1lbnQgPSB0aGlzLmFycm93UG9zaXRpb24uc3BsaXQoJy0nKVsxXTtcbiAgICByZXR1cm4gdGhpcy5nZXRGbGV4UHJvcGVydHlGb3JBbGlnbm1lbnQoYWxpZ25tZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgYXJyb3dBbGlnbkl0ZW1zKCk6IHN0cmluZyB7XG4gICAgY29uc3QgYWxpZ25tZW50ID0gdGhpcy5hcnJvd1Bvc2l0aW9uLnNwbGl0KCctJylbMV07XG4gICAgcmV0dXJuIHRoaXMuZ2V0RmxleFByb3BlcnR5Rm9yQWxpZ25tZW50KGFsaWdubWVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGFycm93UGFkZGluZ1N0eWxlKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuYXJyb3dPZmZzZXRQeCgpO1xuICAgIGlmIChvZmZzZXQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5pc0Fycm93VG9wIHx8IHRoaXMuaXNBcnJvd0JvdHRvbVxuICAgICAgPyB7ICdwYWRkaW5nLWxlZnQnOiBgJHtvZmZzZXR9cHhgIH1cbiAgICAgIDogeyAncGFkZGluZy10b3AnOiBgJHtvZmZzZXR9cHhgIH07XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IEZMRVhfU1RBUlQgPSAnZmxleC1zdGFydCc7XG4gIHByaXZhdGUgcmVhZG9ubHkgRkxFWF9FTkQgPSAnZmxleC1lbmQnO1xuICBwcml2YXRlIHJlYWRvbmx5IEZMRVhfQ0VOVEVSID0gJ2NlbnRlcic7XG5cbiAgcHJpdmF0ZSBnZXRBcnJvd1RyYW5zZm9ybUZvckRpcmVjdGlvbihkaXJlY3Rpb246IHN0cmluZyk6IHN0cmluZyB7XG4gICAgc3dpdGNoIChkaXJlY3Rpb24pIHtcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgIHJldHVybiAncm90YXRlKDE4MGRlZyknO1xuICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgIHJldHVybiAncm90YXRlKC05MGRlZyknO1xuICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICByZXR1cm4gJ3JvdGF0ZSg5MGRlZyknO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdub25lJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEZsZXhQcm9wZXJ0eUZvckFsaWdubWVudChhbGlnbm1lbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgc3dpdGNoIChhbGlnbm1lbnQpIHtcbiAgICAgIGNhc2UgJ3N0YXJ0JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuRkxFWF9TVEFSVDtcbiAgICAgIGNhc2UgJ2VuZCc6XG4gICAgICAgIHJldHVybiB0aGlzLkZMRVhfRU5EO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRoaXMuRkxFWF9DRU5URVI7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZWQuZW1pdCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uTmV4dCgpOiB2b2lkIHtcbiAgICB0aGlzLm5leHQuZW1pdCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uUHJldmlvdXMoKTogdm9pZCB7XG4gICAgdGhpcy5wcmV2aW91cy5lbWl0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25VbmRlcnN0YW5kKCk6IHZvaWQge1xuICAgIHRoaXMudW5kZXJzdGFuZC5lbWl0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdG9nZ2xlRG9Ob3RTaG93QWdhaW4oKTogdm9pZCB7XG4gICAgdGhpcy5pc0RvTm90U2hvd0FnYWluQ2hlY2tlZC51cGRhdGUoKGNoZWNrZWQpID0+ICFjaGVja2VkKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3Bwb3NpdGVEaXJlY3Rpb24oZGlyZWN0aW9uOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XG4gICAgICBjYXNlICd0b3AnOlxuICAgICAgICByZXR1cm4gJ2JvdHRvbSc7XG4gICAgICBjYXNlICdib3R0b20nOlxuICAgICAgICByZXR1cm4gJ3RvcCc7XG4gICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgcmV0dXJuICdyaWdodCc7XG4gICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgIHJldHVybiAnbGVmdCc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZGlyZWN0aW9uO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNkYy1zcG90bGlnaHRcIlxuICBbY2xhc3Muc2RjLXNwb3RsaWdodC0taG9yaXpvbnRhbF09XCJpc0Fycm93TGVmdCB8fCBpc0Fycm93UmlnaHRcIlxuICBbYXR0ci5yb2xlXT1cInRvdGFsU3RlcHMoKSA+IDEgPyAnZGlhbG9nJyA6ICd0b29sdGlwJ1wiXG4gIFthdHRyLmFyaWEtbW9kYWxdPVwidG90YWxTdGVwcygpID4gMSA/ICd0cnVlJyA6IG51bGxcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwidGl0bGVJZFwiXG4gIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiZGVzY0lkXCJcbj5cbiAgQGlmIChpc0Fycm93VG9wKSB7XG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYXJyb3dUb3BUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICB9XG4gIEBpZiAoaXNBcnJvd0xlZnQpIHtcbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJhcnJvd0xlZnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICB9XG5cbiAgPGRpdiBjbGFzcz1cInNkYy1zcG90bGlnaHRfX2NhcmRcIj5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJzZGMtc3BvdGxpZ2h0X19zci1vbmx5XCJcbiAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICBhcmlhLWF0b21pYz1cInRydWVcIlxuICAgID5cbiAgICAgIEBpZiAodG90YWxTdGVwcygpID4gMSkge1xuICAgICAge3sgc3RlcFByb2dyZXNzTGFiZWxLZXkgfCB0cmFuc2xhdGU6IHsgY3VycmVudDogY3VycmVudFN0ZXAoKSwgdG90YWw6IHRvdGFsU3RlcHMoKSB9IH19XG4gICAgICB9XG4gICAgPC9zcGFuPlxuXG4gICAgPGhlYWRlciBjbGFzcz1cInNkYy1zcG90bGlnaHRfX2hlYWRlclwiPlxuICAgICAgPGgyXG4gICAgICAgIFtpZF09XCJ0aXRsZUlkXCJcbiAgICAgICAgY2xhc3M9XCJzZGMtc3BvdGxpZ2h0X190aXRsZVwiXG4gICAgICA+XG4gICAgICAgIEBpZiAodGl0bGVUZW1wbGF0ZSkge1xuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRpdGxlVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHt7IHRpdGxlU3RyaW5nIH19XG4gICAgICAgIH1cbiAgICAgIDwvaDI+XG5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwic2RjLXNwb3RsaWdodF9fY2xvc2VcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNsb3NlTGFiZWxLZXkgfCB0cmFuc2xhdGVcIlxuICAgICAgICAoY2xpY2spPVwib25DbG9zZSgpXCJcbiAgICAgID5cbiAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtdGltZXNcIj48L2k+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2hlYWRlcj5cblxuICAgIEBpZiAoY29udGVudCgpKSB7XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50KClcIj48L25nLWNvbnRhaW5lcj5cbiAgICB9XG5cbiAgICA8ZGl2IGNsYXNzPVwic2RjLXNwb3RsaWdodF9fYm9keVwiPlxuICAgICAgPGRpdlxuICAgICAgICBbaWRdPVwiZGVzY0lkXCJcbiAgICAgICAgY2xhc3M9XCJzZGMtc3BvdGxpZ2h0X19tZXNzYWdlXCJcbiAgICAgID5cbiAgICAgICAgQGlmIChtZXNzYWdlVGVtcGxhdGUpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJtZXNzYWdlVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHt7IG1lc3NhZ2VTdHJpbmcgfX1cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZGMtc3BvdGxpZ2h0X19mb290ZXJcIj5cbiAgICAgICAgQGlmICh0b3RhbFN0ZXBzKCkgPiAxKSB7XG4gICAgICAgIDxwIGNsYXNzPVwic2RjLXNwb3RsaWdodF9fY291bnRlclwiPlxuICAgICAgICAgIHt7IHN0ZXBDb3VudGVyTGFiZWxLZXkgfCB0cmFuc2xhdGU6IHsgY3VycmVudDogY3VycmVudFN0ZXAoKSwgdG90YWw6IHRvdGFsU3RlcHMoKSB9IH19XG4gICAgICAgIDwvcD5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAodG90YWxTdGVwcygpID09PSAxICYmIHNob3dEb05vdFNob3dBZ2FpbigpKSB7XG4gICAgICAgIDxzZGMtY2hlY2tib3hcbiAgICAgICAgICBbY2hlY2tlZF09XCJpc0RvTm90U2hvd0FnYWluQ2hlY2tlZCgpXCJcbiAgICAgICAgICBbbGFiZWxdPVwiZG9Ob3RTaG93QWdhaW5MYWJlbEtleVwiXG4gICAgICAgICAgKGNoZWNrZWRDaGFuZ2UpPVwidG9nZ2xlRG9Ob3RTaG93QWdhaW4oKVwiXG4gICAgICAgID48L3NkYy1jaGVja2JveD5cbiAgICAgICAgfVxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZGMtc3BvdGxpZ2h0X19hY3Rpb25zXCI+XG4gICAgICAgICAgQGZvciAoYWN0aW9uIG9mIGFjdGlvbnMoKTsgdHJhY2sgYWN0aW9uLmxhYmVsKSB7XG4gICAgICAgICAgPHNkYy1idXR0b25cbiAgICAgICAgICAgIHByaW9yaXR5PVwiZGVmYXVsdFwiXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgW2xhYmVsXT1cImFjdGlvbi5sYWJlbFwiXG4gICAgICAgICAgICAoY2xpY2tlZCk9XCJhY3Rpb24uaGFuZGxlcigpXCJcbiAgICAgICAgICA+PC9zZGMtYnV0dG9uPlxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAodG90YWxTdGVwcygpID4gMSAmJiBjdXJyZW50U3RlcCgpID4gMSkge1xuICAgICAgICAgIDxzZGMtYnV0dG9uXG4gICAgICAgICAgICBwcmlvcml0eT1cImRlZmF1bHRcIlxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJiYWNrTGFiZWxLZXlcIlxuICAgICAgICAgICAgKGNsaWNrZWQpPVwib25QcmV2aW91cygpXCJcbiAgICAgICAgICA+PC9zZGMtYnV0dG9uPlxuICAgICAgICAgIH1cblxuICAgICAgICAgIDxzZGMtYnV0dG9uXG4gICAgICAgICAgICBwcmlvcml0eT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIlxuICAgICAgICAgICAgICB0b3RhbFN0ZXBzKCkgPD0gMVxuICAgICAgICAgICAgICAgID8gdW5kZXJzdG9vZExhYmVsS2V5XG4gICAgICAgICAgICAgICAgOiBjdXJyZW50U3RlcCgpIDwgdG90YWxTdGVwcygpXG4gICAgICAgICAgICAgICAgICA/IG5leHRMYWJlbEtleVxuICAgICAgICAgICAgICAgICAgOiBjb21wbGV0ZUxhYmVsS2V5XG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgKGNsaWNrZWQpPVwidG90YWxTdGVwcygpID4gMSA/IG9uTmV4dCgpIDogb25VbmRlcnN0YW5kKClcIlxuICAgICAgICAgID48L3NkYy1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIEBpZiAoaXNBcnJvd0JvdHRvbSkge1xuICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFycm93Qm90dG9tVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgfVxuICBAaWYgKGlzQXJyb3dSaWdodCkge1xuICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFycm93UmlnaHRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICB9XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNhcnJvd1RvcFRlbXBsYXRlPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJzZGMtc3BvdGxpZ2h0X19hcnJvdy1yb3dcIlxuICAgIFtzdHlsZS5qdXN0aWZ5LWNvbnRlbnRdPVwiYXJyb3dKdXN0aWZ5Q29udGVudFwiXG4gICAgW25nU3R5bGVdPVwiYXJyb3dQYWRkaW5nU3R5bGVcIlxuICA+XG4gICAgPHN2Z1xuICAgICAgd2lkdGg9XCIxNlwiXG4gICAgICBoZWlnaHQ9XCI4XCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMTYgOFwiXG4gICAgICBbc3R5bGUudHJhbnNmb3JtXT1cImFycm93VHJhbnNmb3JtXCJcbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTAgOEw4IDBMMTYgOFwiXG4gICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Fycm93Qm90dG9tVGVtcGxhdGU+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNkYy1zcG90bGlnaHRfX2Fycm93LXJvd1wiXG4gICAgW3N0eWxlLmp1c3RpZnktY29udGVudF09XCJhcnJvd0p1c3RpZnlDb250ZW50XCJcbiAgICBbbmdTdHlsZV09XCJhcnJvd1BhZGRpbmdTdHlsZVwiXG4gID5cbiAgICA8c3ZnXG4gICAgICB3aWR0aD1cIjE2XCJcbiAgICAgIGhlaWdodD1cIjhcIlxuICAgICAgdmlld0JveD1cIjAgMCAxNiA4XCJcbiAgICAgIFtzdHlsZS50cmFuc2Zvcm1dPVwiYXJyb3dUcmFuc2Zvcm1cIlxuICAgID5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMCA4TDggMEwxNiA4XCJcbiAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYXJyb3dMZWZ0VGVtcGxhdGU+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNkYy1zcG90bGlnaHRfX2Fycm93LWNvbHVtblwiXG4gICAgW3N0eWxlLmFsaWduLWl0ZW1zXT1cImFycm93QWxpZ25JdGVtc1wiXG4gICAgW25nU3R5bGVdPVwiYXJyb3dQYWRkaW5nU3R5bGVcIlxuICA+XG4gICAgPHN2Z1xuICAgICAgd2lkdGg9XCIxNlwiXG4gICAgICBoZWlnaHQ9XCI4XCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMTYgOFwiXG4gICAgICBbc3R5bGUudHJhbnNmb3JtXT1cImFycm93VHJhbnNmb3JtXCJcbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTAgOEw4IDBMMTYgOFwiXG4gICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Fycm93UmlnaHRUZW1wbGF0ZT5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2RjLXNwb3RsaWdodF9fYXJyb3ctY29sdW1uXCJcbiAgICBbc3R5bGUuYWxpZ24taXRlbXNdPVwiYXJyb3dBbGlnbkl0ZW1zXCJcbiAgICBbbmdTdHlsZV09XCJhcnJvd1BhZGRpbmdTdHlsZVwiXG4gID5cbiAgICA8c3ZnXG4gICAgICB3aWR0aD1cIjE2XCJcbiAgICAgIGhlaWdodD1cIjhcIlxuICAgICAgdmlld0JveD1cIjAgMCAxNiA4XCJcbiAgICAgIFtzdHlsZS50cmFuc2Zvcm1dPVwiYXJyb3dUcmFuc2Zvcm1cIlxuICAgID5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMCA4TDggMEwxNiA4XCJcbiAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BvdGxpZ2h0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvc3BvdGxpZ2h0L3Nwb3RsaWdodC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3Nwb3RsaWdodC9zcG90bGlnaHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6Qiw0QkFBNEIsRUFDNUIscUNBQXFDLEVBQ3JDLHdCQUF3QixFQUN4QixnQ0FBZ0MsRUFDaEMsaUNBQWlDLEVBQ2pDLDhCQUE4QixFQUMvQixNQUFNLHNDQUFzQyxDQUFDO0FBRTlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQVduRSxNQUFNLE9BQU8sa0JBQWtCO0lBQ3JCLE1BQU0sQ0FBVSwyQkFBMkIsR0FBRyxDQUFDLENBQUM7SUFFeEQsS0FBSyxHQUFHLEtBQUssQ0FBZ0MsRUFBRSxDQUFDLENBQUM7SUFDakQsT0FBTyxHQUFHLEtBQUssRUFBaUMsQ0FBQztJQUNqRCxPQUFPLEdBQUcsS0FBSyxDQUE4QixJQUFJLENBQUMsQ0FBQztJQUNuRCxRQUFRLEdBQUcsS0FBSyxDQUFvQixlQUFlLENBQUMsQ0FBQztJQUNyRCxXQUFXLEdBQUcsS0FBSyxDQUFDLENBQUMs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RSxDQUFDO0lBQ3pCLENBQUM7SUFFUyxvQkFBb0I7UUFDNUIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsU0FBaUI7UUFDNUMsUUFBUSxTQUFTLEVBQUUsQ0FBQztZQUNsQixLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxRQUFRLENBQUM7WUFDbEIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sS0FBSyxDQUFDO1lBQ2YsS0FBSyxNQUFNO2dCQUNULE9BQU8sT0FBTyxDQUFDO1lBQ2pCLEtBQUssT0FBTztnQkFDVixPQUFPLE1BQU0sQ0FBQztZQUNoQjtnQkFDRSxPQUFPLFNBQVMsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQzt3R0E1S1Usa0JBQWtCOzRGQUFsQixrQkFBa0IscTJDQzNCL0IsaXFLQTBNQSwwNkNEckxZLFlBQVksMFJBQUUsZUFBZSw0RkFBRSxlQUFlLHlUQUFFLGlCQUFpQjs7NEZBTWhFLGtCQUFrQjtrQkFUOUIsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLENBQUMsbUJBRzNELHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVGVtcGxhdGVSZWYsIGlucHV0LCBvdXRwdXQsIHNpZ25hbCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQge1xuICBTUE9UTElHSFRfQkFDS19MQUJFTF9LRVksXG4gIFNQT1RMSUdIVF9DTE9TRV9MQUJFTF9LRVksXG4gIFNQT1RMSUdIVF9DT01QTEVURV9MQUJFTF9LRVksXG4gIFNQT1RMSUdIVF9ET19OT1RfU0hPV19BR0FJTl9MQUJFTF9LRVksXG4gIFNQT1RMSUdIVF9ORVhUX0xBQkVMX0tFWSxcbiAgU1BPVExJR0hUX1NURVBfQ09VTlRFUl9MQUJFTF9LRVksXG4gIFNQT1RMSUdIVF9TVEVQX1BST0dSRVNTX0xBQkVMX0tFWSxcbiAgU1BPVExJR0hUX1VOREVSU1RPT0RfTEFCRUxfS0VZXG59IGZyb20gJy4uLy4uL2NvcmUvY29uc3RhbnRzL3Nwb3RsaWdodC5jb25zdCc7XG5pbXBvcnQgdHlwZSB7IFNwb3RsaWdodFBvc2l0aW9uLCBTcG90bGlnaHRTdGVwQWN0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcy9zcG90bGlnaHQudHlwZSc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4uL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1zcG90bGlnaHQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIEJ1dHRvbkNvbXBvbmVudCwgQ2hlY2tib3hDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vc3BvdGxpZ2h0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3BvdGxpZ2h0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZFxufSlcbmV4cG9ydCBjbGFzcyBTcG90bGlnaHRDb21wb25lbnQge1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBTUE9UTElHSFRfRFVQTElDQVRFX0xJVEVSQUwgPSAzO1xuXG4gIHRpdGxlID0gaW5wdXQ8c3RyaW5nIHwgVGVtcGxhdGVSZWY8dW5rbm93bj4+KCcnKTtcbiAgbWVzc2FnZSA9IGlucHV0PHN0cmluZyB8IFRlbXBsYXRlUmVmPHVua25vd24+PigpO1xuICBjb250ZW50ID0gaW5wdXQ8VGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsPihudWxsKTtcbiAgcG9zaXRpb24gPSBpbnB1dDxTcG90bGlnaHRQb3NpdGlvbj4oJ2JvdHRvbS1jZW50ZXInKTtcbiAgY3VycmVudFN0ZXAgPSBpbnB1dCgxKTtcbiAgdG90YWxTdGVwcyA9IGlucHV0KDEpO1xuICBzaG93RG9Ob3RTaG93QWdhaW4gPSBpbnB1dCh0cnVlKTtcbiAgYWN0aW9ucyA9IGlucHV0PFNwb3RsaWdodFN0ZXBBY3Rpb25bXT4oW10pO1xuICBhcnJvd09mZnNldFB4ID0gaW5wdXQ8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG5cbiAgY2xvc2VkID0gb3V0cHV0KCk7XG4gIG5leHQgPSBvdXRwdXQoKTtcbiAgcHJldmlvdXMgPSBvdXRwdXQoKTtcbiAgdW5kZXJzdGFuZCA9IG91dHB1dCgpO1xuXG4gIGlzRG9Ob3RTaG93QWdhaW5DaGVja2VkID0gc2lnbmFsKGZhbHNlKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2xvc2VMYWJlbEtleSA9IFNQT1RMSUdIVF9DTE9TRV9MQUJFTF9LRVk7XG4gIHByb3RlY3RlZCByZWFkb25seSBiYWNrTGFiZWxLZXkgPSBTUE9UTElHSFRfQkFDS19MQUJFTF9LRVk7XG4gIHByb3RlY3RlZCByZWFkb25seSBuZXh0TGFiZWxLZXkgPSBTUE9UTElHSFRfTkVYVF9MQUJFTF9LRVk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb21wbGV0ZUxhYmVsS2V5ID0gU1BPVExJR0hUX0NPTVBMRVRFX0xBQkVMX0tFWTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHVuZGVyc3Rvb2RMYWJlbEtleSA9IFNQT1RMSUdIVF9VTkRFUlNUT09EX0xBQkVMX0tFWTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRvTm90U2hvd0FnYWluTGFiZWxLZXkgPSBTUE9UTElHSFRfRE9fTk9UX1NIT1dfQUdBSU5fTEFCRUxfS0VZO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RlcENvdW50ZXJMYWJlbEtleSA9IFNQT1RMSUdIVF9TVEVQX0NPVU5URVJfTEFCRUxfS0VZO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RlcFByb2dyZXNzTGFiZWxLZXkgPSBTUE9UTElHSFRfU1RFUF9QUk9HUkVTU19MQUJFTF9LRVk7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaW5zdGFuY2VDb3VudCA9IDA7XG4gIHByaXZhdGUgc3RhdGljIGluY3JlbWVudEluc3RhbmNlQ291bnQoKTogbnVtYmVyIHtcbiAgICBTcG90bGlnaHRDb21wb25lbnQuaW5zdGFuY2VDb3VudCArPSAxO1xuICAgIHJldHVybiBTcG90bGlnaHRDb21wb25lbnQuaW5zdGFuY2VDb3VudDtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWFkb25seSBpbnN0YW5jZUlkID0gYHNkYy1zcG90bGlnaHQtJHtTcG90bGlnaHRDb21wb25lbnQuaW5jcmVtZW50SW5zdGFuY2VDb3VudCgpfWA7XG4gIHByb3RlY3RlZCByZWFkb25seSB0aXRsZUlkID0gYCR7dGhpcy5pbnN0YW5jZUlkfS10aXRsZWA7XG4gIHByb3RlY3RlZCByZWFkb25seSBkZXNjSWQgPSBgJHt0aGlzLmluc3RhbmNlSWR9LWRlc2NgO1xuXG4gIHByb3RlY3RlZCBnZXQgdGl0bGVUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy50aXRsZSgpO1xuICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmID8gdmFsdWUgOiBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0aXRsZVN0cmluZygpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy50aXRsZSgpO1xuICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmID8gJycgOiAodmFsdWUgPz8gJycpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBtZXNzYWdlVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMubWVzc2FnZSgpO1xuICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmID8gdmFsdWUgOiBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBtZXNzYWdlU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLm1lc3NhZ2UoKTtcbiAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZiA/ICcnIDogKHZhbHVlID8/ICcnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgYXJyb3dQb3NpdGlvbigpOiBTcG90bGlnaHRQb3NpdGlvbiB7XG4gICAgY29uc3QgW2RpcmVjdGlvbiwgYWxpZ25tZW50XSA9IHRoaXMucG9zaXRpb24oKS5zcGxpdCgnLScpIGFzIFtzdHJpbmcsIHN0cmluZ107XG4gICAgcmV0dXJuIGAke3RoaXMuZ2V0T3Bwb3NpdGVEaXJlY3Rpb24oZGlyZWN0aW9uKX0tJHthbGlnbm1lbnR9YCBhcyBTcG90bGlnaHRQb3NpdGlvbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgaXNBcnJvd1RvcCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hcnJvd1Bvc2l0aW9uLnN0YXJ0c1dpdGgoJ3RvcC0nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgaXNBcnJvd0JvdHRvbSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hcnJvd1Bvc2l0aW9uLnN0YXJ0c1dpdGgoJ2JvdHRvbS0nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgaXNBcnJvd0xlZnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYXJyb3dQb3NpdGlvbi5zdGFydHNXaXRoKCdsZWZ0LScpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBpc0Fycm93UmlnaHQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYXJyb3dQb3NpdGlvbi5zdGFydHNXaXRoKCdyaWdodC0nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgYXJyb3dUcmFuc2Zvcm0oKTogc3RyaW5nIHtcbiAgICBjb25zdCBkaXJlY3Rpb24gPSB0aGlzLmFycm93UG9zaXRpb24uc3BsaXQoJy0nKVswXTtcbiAgICByZXR1cm4gdGhpcy5nZXRBcnJvd1RyYW5zZm9ybUZvckRpcmVjdGlvbihkaXJlY3Rpb24pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBhcnJvd0p1c3RpZnlDb250ZW50KCk6IHN0cmluZyB7XG4gICAgY29uc3Qgb2Zmc2V0ID0gdGhpcy5hcnJvd09mZnNldFB4KCk7XG4gICAgaWYgKG9mZnNldCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuRkxFWF9TVEFSVDtcbiAgICB9XG5cbiAgICBjb25zdCBhbGlnbm1lbnQgPSB0aGlzLmFycm93UG9zaXRpb24uc3BsaXQoJy0nKVsxXTtcbiAgICByZXR1cm4gdGhpcy5nZXRGbGV4UHJvcGVydHlGb3JBbGlnbm1lbnQoYWxpZ25tZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgYXJyb3dBbGlnbkl0ZW1zKCk6IHN0cmluZyB7XG4gICAgY29uc3QgYWxpZ25tZW50ID0gdGhpcy5hcnJvd1Bvc2l0aW9uLnNwbGl0KCctJylbMV07XG4gICAgcmV0dXJuIHRoaXMuZ2V0RmxleFByb3BlcnR5Rm9yQWxpZ25tZW50KGFsaWdubWVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGFycm93UGFkZGluZ1N0eWxlKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuYXJyb3dPZmZzZXRQeCgpO1xuICAgIGlmIChvZmZzZXQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5pc0Fycm93VG9wIHx8IHRoaXMuaXNBcnJvd0JvdHRvbVxuICAgICAgPyB7ICdwYWRkaW5nLWxlZnQnOiBgJHtvZmZzZXR9cHhgIH1cbiAgICAgIDogeyAncGFkZGluZy10b3AnOiBgJHtvZmZzZXR9cHhgIH07XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IEZMRVhfU1RBUlQgPSAnZmxleC1zdGFydCc7XG4gIHByaXZhdGUgcmVhZG9ubHkgRkxFWF9FTkQgPSAnZmxleC1lbmQnO1xuICBwcml2YXRlIHJlYWRvbmx5IEZMRVhfQ0VOVEVSID0gJ2NlbnRlcic7XG5cbiAgcHJpdmF0ZSBnZXRBcnJvd1RyYW5zZm9ybUZvckRpcmVjdGlvbihkaXJlY3Rpb246IHN0cmluZyk6IHN0cmluZyB7XG4gICAgc3dpdGNoIChkaXJlY3Rpb24pIHtcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgIHJldHVybiAncm90YXRlKDE4MGRlZyknO1xuICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgIHJldHVybiAncm90YXRlKC05MGRlZyknO1xuICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICByZXR1cm4gJ3JvdGF0ZSg5MGRlZyknO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdub25lJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEZsZXhQcm9wZXJ0eUZvckFsaWdubWVudChhbGlnbm1lbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgc3dpdGNoIChhbGlnbm1lbnQpIHtcbiAgICAgIGNhc2UgJ3N0YXJ0JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuRkxFWF9TVEFSVDtcbiAgICAgIGNhc2UgJ2VuZCc6XG4gICAgICAgIHJldHVybiB0aGlzLkZMRVhfRU5EO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRoaXMuRkxFWF9DRU5URVI7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZWQuZW1pdCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uTmV4dCgpOiB2b2lkIHtcbiAgICB0aGlzLm5leHQuZW1pdCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uUHJldmlvdXMoKTogdm9pZCB7XG4gICAgdGhpcy5wcmV2aW91cy5lbWl0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25VbmRlcnN0YW5kKCk6IHZvaWQge1xuICAgIHRoaXMudW5kZXJzdGFuZC5lbWl0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdG9nZ2xlRG9Ob3RTaG93QWdhaW4oKTogdm9pZCB7XG4gICAgdGhpcy5pc0RvTm90U2hvd0FnYWluQ2hlY2tlZC51cGRhdGUoKGNoZWNrZWQpID0+ICFjaGVja2VkKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3Bwb3NpdGVEaXJlY3Rpb24oZGlyZWN0aW9uOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XG4gICAgICBjYXNlICd0b3AnOlxuICAgICAgICByZXR1cm4gJ2JvdHRvbSc7XG4gICAgICBjYXNlICdib3R0b20nOlxuICAgICAgICByZXR1cm4gJ3RvcCc7XG4gICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgcmV0dXJuICdyaWdodCc7XG4gICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgIHJldHVybiAnbGVmdCc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZGlyZWN0aW9uO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNkYy1zcG90bGlnaHRcIlxuICBbY2xhc3Muc2RjLXNwb3RsaWdodC0taG9yaXpvbnRhbF09XCJpc0Fycm93TGVmdCB8fCBpc0Fycm93UmlnaHRcIlxuICBbYXR0ci5yb2xlXT1cInRvdGFsU3RlcHMoKSA+IDEgPyAnZGlhbG9nJyA6ICd0b29sdGlwJ1wiXG4gIFthdHRyLmFyaWEtbW9kYWxdPVwidG90YWxTdGVwcygpID4gMSA/ICd0cnVlJyA6IG51bGxcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwidGl0bGVJZFwiXG4gIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiZGVzY0lkXCJcbj5cbiAgQGlmIChpc0Fycm93VG9wKSB7XG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYXJyb3dUb3BUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICB9XG4gIEBpZiAoaXNBcnJvd0xlZnQpIHtcbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJhcnJvd0xlZnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICB9XG5cbiAgPGRpdiBjbGFzcz1cInNkYy1zcG90bGlnaHRfX2NhcmRcIj5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJzZGMtc3BvdGxpZ2h0X19zci1vbmx5XCJcbiAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICBhcmlhLWF0b21pYz1cInRydWVcIlxuICAgID5cbiAgICAgIEBpZiAodG90YWxTdGVwcygpID4gMSkge1xuICAgICAge3sgc3RlcFByb2dyZXNzTGFiZWxLZXkgfCB0cmFuc2xhdGU6IHsgY3VycmVudDogY3VycmVudFN0ZXAoKSwgdG90YWw6IHRvdGFsU3RlcHMoKSB9IH19XG4gICAgICB9XG4gICAgPC9zcGFuPlxuXG4gICAgPGhlYWRlciBjbGFzcz1cInNkYy1zcG90bGlnaHRfX2hlYWRlclwiPlxuICAgICAgPGgyXG4gICAgICAgIFtpZF09XCJ0aXRsZUlkXCJcbiAgICAgICAgY2xhc3M9XCJzZGMtc3BvdGxpZ2h0X190aXRsZVwiXG4gICAgICA+XG4gICAgICAgIEBpZiAodGl0bGVUZW1wbGF0ZSkge1xuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRpdGxlVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHt7IHRpdGxlU3RyaW5nIH19XG4gICAgICAgIH1cbiAgICAgIDwvaDI+XG5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwic2RjLXNwb3RsaWdodF9fY2xvc2VcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNsb3NlTGFiZWxLZXkgfCB0cmFuc2xhdGVcIlxuICAgICAgICAoY2xpY2spPVwib25DbG9zZSgpXCJcbiAgICAgID5cbiAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtdGltZXNcIj48L2k+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2hlYWRlcj5cblxuICAgIEBpZiAoY29udGVudCgpKSB7XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50KClcIj48L25nLWNvbnRhaW5lcj5cbiAgICB9XG5cbiAgICA8ZGl2IGNsYXNzPVwic2RjLXNwb3RsaWdodF9fYm9keVwiPlxuICAgICAgPGRpdlxuICAgICAgICBbaWRdPVwiZGVzY0lkXCJcbiAgICAgICAgY2xhc3M9XCJzZGMtc3BvdGxpZ2h0X19tZXNzYWdlXCJcbiAgICAgID5cbiAgICAgICAgQGlmIChtZXNzYWdlVGVtcGxhdGUpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJtZXNzYWdlVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHt7IG1lc3NhZ2VTdHJpbmcgfX1cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZGMtc3BvdGxpZ2h0X19mb290ZXJcIj5cbiAgICAgICAgQGlmICh0b3RhbFN0ZXBzKCkgPiAxKSB7XG4gICAgICAgIDxwIGNsYXNzPVwic2RjLXNwb3RsaWdodF9fY291bnRlclwiPlxuICAgICAgICAgIHt7IHN0ZXBDb3VudGVyTGFiZWxLZXkgfCB0cmFuc2xhdGU6IHsgY3VycmVudDogY3VycmVudFN0ZXAoKSwgdG90YWw6IHRvdGFsU3RlcHMoKSB9IH19XG4gICAgICAgIDwvcD5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAodG90YWxTdGVwcygpID09PSAxICYmIHNob3dEb05vdFNob3dBZ2FpbigpKSB7XG4gICAgICAgIDxzZGMtY2hlY2tib3hcbiAgICAgICAgICBbY2hlY2tlZF09XCJpc0RvTm90U2hvd0FnYWluQ2hlY2tlZCgpXCJcbiAgICAgICAgICBbbGFiZWxdPVwiZG9Ob3RTaG93QWdhaW5MYWJlbEtleVwiXG4gICAgICAgICAgKGNoZWNrZWRDaGFuZ2UpPVwidG9nZ2xlRG9Ob3RTaG93QWdhaW4oKVwiXG4gICAgICAgID48L3NkYy1jaGVja2JveD5cbiAgICAgICAgfVxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZGMtc3BvdGxpZ2h0X19hY3Rpb25zXCI+XG4gICAgICAgICAgQGZvciAoYWN0aW9uIG9mIGFjdGlvbnMoKTsgdHJhY2sgYWN0aW9uLmxhYmVsKSB7XG4gICAgICAgICAgPHNkYy1idXR0b25cbiAgICAgICAgICAgIHByaW9yaXR5PVwiZGVmYXVsdFwiXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgW2xhYmVsXT1cImFjdGlvbi5sYWJlbFwiXG4gICAgICAgICAgICAoY2xpY2tlZCk9XCJhY3Rpb24uaGFuZGxlcigpXCJcbiAgICAgICAgICA+PC9zZGMtYnV0dG9uPlxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAodG90YWxTdGVwcygpID4gMSAmJiBjdXJyZW50U3RlcCgpID4gMSkge1xuICAgICAgICAgIDxzZGMtYnV0dG9uXG4gICAgICAgICAgICBwcmlvcml0eT1cImRlZmF1bHRcIlxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJiYWNrTGFiZWxLZXlcIlxuICAgICAgICAgICAgKGNsaWNrZWQpPVwib25QcmV2aW91cygpXCJcbiAgICAgICAgICA+PC9zZGMtYnV0dG9uPlxuICAgICAgICAgIH1cblxuICAgICAgICAgIDxzZGMtYnV0dG9uXG4gICAgICAgICAgICBwcmlvcml0eT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIlxuICAgICAgICAgICAgICB0b3RhbFN0ZXBzKCkgPD0gMVxuICAgICAgICAgICAgICAgID8gdW5kZXJzdG9vZExhYmVsS2V5XG4gICAgICAgICAgICAgICAgOiBjdXJyZW50U3RlcCgpIDwgdG90YWxTdGVwcygpXG4gICAgICAgICAgICAgICAgICA/IG5leHRMYWJlbEtleVxuICAgICAgICAgICAgICAgICAgOiBjb21wbGV0ZUxhYmVsS2V5XG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgKGNsaWNrZWQpPVwidG90YWxTdGVwcygpID4gMSA/IG9uTmV4dCgpIDogb25VbmRlcnN0YW5kKClcIlxuICAgICAgICAgID48L3NkYy1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIEBpZiAoaXNBcnJvd0JvdHRvbSkge1xuICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFycm93Qm90dG9tVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgfVxuICBAaWYgKGlzQXJyb3dSaWdodCkge1xuICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFycm93UmlnaHRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICB9XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNhcnJvd1RvcFRlbXBsYXRlPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJzZGMtc3BvdGxpZ2h0X19hcnJvdy1yb3dcIlxuICAgIFtzdHlsZS5qdXN0aWZ5LWNvbnRlbnRdPVwiYXJyb3dKdXN0aWZ5Q29udGVudFwiXG4gICAgW25nU3R5bGVdPVwiYXJyb3dQYWRkaW5nU3R5bGVcIlxuICA+XG4gICAgPHN2Z1xuICAgICAgd2lkdGg9XCIxNlwiXG4gICAgICBoZWlnaHQ9XCI4XCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMTYgOFwiXG4gICAgICBbc3R5bGUudHJhbnNmb3JtXT1cImFycm93VHJhbnNmb3JtXCJcbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTAgOEw4IDBMMTYgOFwiXG4gICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Fycm93Qm90dG9tVGVtcGxhdGU+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNkYy1zcG90bGlnaHRfX2Fycm93LXJvd1wiXG4gICAgW3N0eWxlLmp1c3RpZnktY29udGVudF09XCJhcnJvd0p1c3RpZnlDb250ZW50XCJcbiAgICBbbmdTdHlsZV09XCJhcnJvd1BhZGRpbmdTdHlsZVwiXG4gID5cbiAgICA8c3ZnXG4gICAgICB3aWR0aD1cIjE2XCJcbiAgICAgIGhlaWdodD1cIjhcIlxuICAgICAgdmlld0JveD1cIjAgMCAxNiA4XCJcbiAgICAgIFtzdHlsZS50cmFuc2Zvcm1dPVwiYXJyb3dUcmFuc2Zvcm1cIlxuICAgID5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMCA4TDggMEwxNiA4XCJcbiAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYXJyb3dMZWZ0VGVtcGxhdGU+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNkYy1zcG90bGlnaHRfX2Fycm93LWNvbHVtblwiXG4gICAgW3N0eWxlLmFsaWduLWl0ZW1zXT1cImFycm93QWxpZ25JdGVtc1wiXG4gICAgW25nU3R5bGVdPVwiYXJyb3dQYWRkaW5nU3R5bGVcIlxuICA+XG4gICAgPHN2Z1xuICAgICAgd2lkdGg9XCIxNlwiXG4gICAgICBoZWlnaHQ9XCI4XCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMTYgOFwiXG4gICAgICBbc3R5bGUudHJhbnNmb3JtXT1cImFycm93VHJhbnNmb3JtXCJcbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTAgOEw4IDBMMTYgOFwiXG4gICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Fycm93UmlnaHRUZW1wbGF0ZT5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2RjLXNwb3RsaWdodF9fYXJyb3ctY29sdW1uXCJcbiAgICBbc3R5bGUuYWxpZ24taXRlbXNdPVwiYXJyb3dBbGlnbkl0ZW1zXCJcbiAgICBbbmdTdHlsZV09XCJhcnJvd1BhZGRpbmdTdHlsZVwiXG4gID5cbiAgICA8c3ZnXG4gICAgICB3aWR0aD1cIjE2XCJcbiAgICAgIGhlaWdodD1cIjhcIlxuICAgICAgdmlld0JveD1cIjAgMCAxNiA4XCJcbiAgICAgIFtzdHlsZS50cmFuc2Zvcm1dPVwiYXJyb3dUcmFuc2Zvcm1cIlxuICAgID5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMCA4TDggMEwxNiA4XCJcbiAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -3,7 +3,9 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, In
|
|
|
3
3
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
4
|
import { TranslateModule, TranslateService } from '@ngx-translate/core';
|
|
5
5
|
import { STAR_RATING_ARIA_LABEL_KEY, STAR_RATING_DEFAULT_MAX, STAR_RATING_DEFAULT_VALUE, STAR_RATING_STAR_LABEL_KEY } from '../../core/constants/star-rating.const';
|
|
6
|
+
import { nextSequentialId } from '../../core/utils/id.util';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@ngx-translate/core";
|
|
7
9
|
export class StarRatingComponent {
|
|
8
10
|
cdr = inject(ChangeDetectorRef);
|
|
9
11
|
translate = inject(TranslateService);
|
|
@@ -11,6 +13,11 @@ export class StarRatingComponent {
|
|
|
11
13
|
maxStars = STAR_RATING_DEFAULT_MAX;
|
|
12
14
|
disabled = false;
|
|
13
15
|
ariaLabel;
|
|
16
|
+
label = false;
|
|
17
|
+
required = false;
|
|
18
|
+
invalid = false;
|
|
19
|
+
message = false;
|
|
20
|
+
groupLabelId = nextSequentialId('sdc-star-rating-label');
|
|
14
21
|
valueChange = new EventEmitter();
|
|
15
22
|
onChangeFn = () => { };
|
|
16
23
|
onTouchedFn = () => { };
|
|
@@ -63,14 +70,20 @@ export class StarRatingComponent {
|
|
|
63
70
|
this.disabled = isDisabled;
|
|
64
71
|
this.cdr.markForCheck();
|
|
65
72
|
}
|
|
73
|
+
labelKey() {
|
|
74
|
+
return typeof this.label === 'string' ? this.label : '';
|
|
75
|
+
}
|
|
76
|
+
messageKey() {
|
|
77
|
+
return typeof this.message === 'string' ? this.message : '';
|
|
78
|
+
}
|
|
66
79
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StarRatingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
67
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: StarRatingComponent, isStandalone: true, selector: "sdc-star-rating", inputs: { value: "value", maxStars: "maxStars", disabled: "disabled", ariaLabel: "ariaLabel" }, outputs: { valueChange: "valueChange" }, providers: [
|
|
80
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: StarRatingComponent, isStandalone: true, selector: "sdc-star-rating", inputs: { value: "value", maxStars: "maxStars", disabled: "disabled", ariaLabel: "ariaLabel", label: "label", required: "required", invalid: "invalid", message: "message" }, outputs: { valueChange: "valueChange" }, providers: [
|
|
68
81
|
{
|
|
69
82
|
provide: NG_VALUE_ACCESSOR,
|
|
70
83
|
useExisting: forwardRef(() => StarRatingComponent),
|
|
71
84
|
multi: true
|
|
72
85
|
}
|
|
73
|
-
], ngImport: i0, template: "<div\n class=\"sdc-star-rating\"\n [class.sdc-star-rating--disabled]=\"disabled\"\n [attr.aria-label]=\"groupAriaLabel\"\n>\n @for (star of stars; track star) {\n <button\n type=\"button\"\n class=\"sdc-star-rating__star\"\n [class.sdc-star-rating__star--filled]=\"isFilled(star)\"\n [attr.aria-label]=\"getStarAriaLabel(star)\"\n [disabled]=\"disabled\"\n (click)=\"onStarClick(star)\"\n (keydown)=\"onKeydown($event, star)\"\n >\n @if (isFilled(star)) {\n <i class=\"fas fa-star\" aria-hidden=\"true\"></i>\n } @else {\n <i class=\"far fa-star\" aria-hidden=\"true\"></i>\n }\n </button>\n }\n</div>\n", styles: [":host{display:inline-flex}.sdc-star-rating{--sdc-star-rating-color: #f5a319;--sdc-star-rating-size: 1.25rem;--sdc-star-rating-gap: .5rem;align-items:center;display:inline-flex;gap:var(--sdc-star-rating-gap)}.sdc-star-rating--disabled{cursor:not-allowed;opacity:.65}.sdc-star-rating__star{color:var(--sdc-star-rating-color);cursor:pointer;font-size:var(--sdc-star-rating-size);line-height:1;transition:transform var(--sdc-transition-fast, .18s ease),opacity var(--sdc-transition-fast, .18s ease);-webkit-user-select:none;user-select:none}.sdc-star-rating__star:focus-visible{border-radius:2px;outline:var(--sdc-focus-outline, 2px solid #428bca);outline-offset:2px}.sdc-star-rating--disabled .sdc-star-rating__star{cursor:not-allowed;pointer-events:none}.sdc-star-rating__star:hover:not(.sdc-star-rating--disabled .sdc-star-rating__star){opacity:.8;transform:scale(1.15)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
86
|
+
], ngImport: i0, template: "@if (labelKey()) {\n <div class=\"sdc-star-rating__label-row\">\n <div class=\"sdc-star-rating__group-label\" [id]=\"groupLabelId\">\n <span class=\"sdc-star-rating__group-label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n <span class=\"sr-only\">{{ 'platform.datacore.accessibility.required_field' | translate }}</span>\n }\n </span>\n </div>\n </div>\n}\n\n<div\n class=\"sdc-star-rating\"\n [class.sdc-star-rating--disabled]=\"disabled\"\n [attr.aria-label]=\"labelKey() ? null : groupAriaLabel\"\n [attr.aria-labelledby]=\"labelKey() ? groupLabelId : null\"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n>\n @for (star of stars; track star) {\n <button\n type=\"button\"\n class=\"sdc-star-rating__star\"\n [class.sdc-star-rating__star--filled]=\"isFilled(star)\"\n [attr.aria-label]=\"getStarAriaLabel(star)\"\n [disabled]=\"disabled\"\n (click)=\"onStarClick(star)\"\n (keydown)=\"onKeydown($event, star)\"\n >\n @if (isFilled(star)) {\n <i class=\"fas fa-star\" aria-hidden=\"true\"></i>\n } @else {\n <i class=\"far fa-star\" aria-hidden=\"true\"></i>\n }\n </button>\n }\n</div>\n\n@if (messageKey()) {\n <small class=\"sdc-star-rating__message\" [class.invalid]=\"invalid\" role=\"alert\" aria-live=\"polite\">\n {{ messageKey() | translate }}\n </small>\n}\n", styles: [":host{display:inline-flex;flex-direction:column}.sdc-star-rating__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap);margin-bottom:var(--sdc-form-label-row-mb)}.sdc-star-rating__group-label{display:inline-flex;align-items:center;font-size:var(--sdc-form-label-font-size);font-weight:var(--sdc-form-label-font-weight);color:var(--sdc-form-label-color);line-height:var(--sdc-form-label-lh);padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py)}.sdc-star-rating__group-label-text{display:inline-flex;align-items:center}.sdc-star-rating__message{display:block;margin-top:var(--sdc-form-label-row-mb);font-size:.8125rem;color:var(--sdc-text-subtle, #667085)}.sdc-star-rating__message.invalid{color:var(--sdc-form-required-color)}.sdc-star-rating{--sdc-star-rating-color: #f5a319;--sdc-star-rating-size: 1.25rem;--sdc-star-rating-gap: .5rem;align-items:center;display:inline-flex;gap:var(--sdc-star-rating-gap)}.sdc-star-rating--disabled{cursor:not-allowed;opacity:.65}.sdc-star-rating__star{background:transparent;border:0;color:var(--sdc-star-rating-color);cursor:pointer;font-size:var(--sdc-star-rating-size);line-height:1;padding:0;transition:transform var(--sdc-transition-fast, .18s ease),opacity var(--sdc-transition-fast, .18s ease);-webkit-user-select:none;user-select:none}.sdc-star-rating__star:focus-visible{border-radius:2px;outline:var(--sdc-focus-outline, 2px solid #428bca);outline-offset:2px}.sdc-star-rating--disabled .sdc-star-rating__star{cursor:not-allowed;pointer-events:none}.sdc-star-rating__star:hover:not(.sdc-star-rating--disabled .sdc-star-rating__star){opacity:.8;transform:scale(1.15)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
74
87
|
}
|
|
75
88
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StarRatingComponent, decorators: [{
|
|
76
89
|
type: Component,
|
|
@@ -80,7 +93,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
80
93
|
useExisting: forwardRef(() => StarRatingComponent),
|
|
81
94
|
multi: true
|
|
82
95
|
}
|
|
83
|
-
], template: "<div\n class=\"sdc-star-rating\"\n [class.sdc-star-rating--disabled]=\"disabled\"\n [attr.aria-label]=\"groupAriaLabel\"\n>\n @for (star of stars; track star) {\n <button\n type=\"button\"\n class=\"sdc-star-rating__star\"\n [class.sdc-star-rating__star--filled]=\"isFilled(star)\"\n [attr.aria-label]=\"getStarAriaLabel(star)\"\n [disabled]=\"disabled\"\n (click)=\"onStarClick(star)\"\n (keydown)=\"onKeydown($event, star)\"\n >\n @if (isFilled(star)) {\n <i class=\"fas fa-star\" aria-hidden=\"true\"></i>\n } @else {\n <i class=\"far fa-star\" aria-hidden=\"true\"></i>\n }\n </button>\n }\n</div>\n", styles: [":host{display:inline-flex}.sdc-star-rating{--sdc-star-rating-color: #f5a319;--sdc-star-rating-size: 1.25rem;--sdc-star-rating-gap: .5rem;align-items:center;display:inline-flex;gap:var(--sdc-star-rating-gap)}.sdc-star-rating--disabled{cursor:not-allowed;opacity:.65}.sdc-star-rating__star{color:var(--sdc-star-rating-color);cursor:pointer;font-size:var(--sdc-star-rating-size);line-height:1;transition:transform var(--sdc-transition-fast, .18s ease),opacity var(--sdc-transition-fast, .18s ease);-webkit-user-select:none;user-select:none}.sdc-star-rating__star:focus-visible{border-radius:2px;outline:var(--sdc-focus-outline, 2px solid #428bca);outline-offset:2px}.sdc-star-rating--disabled .sdc-star-rating__star{cursor:not-allowed;pointer-events:none}.sdc-star-rating__star:hover:not(.sdc-star-rating--disabled .sdc-star-rating__star){opacity:.8;transform:scale(1.15)}\n"] }]
|
|
96
|
+
], template: "@if (labelKey()) {\n <div class=\"sdc-star-rating__label-row\">\n <div class=\"sdc-star-rating__group-label\" [id]=\"groupLabelId\">\n <span class=\"sdc-star-rating__group-label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n <span class=\"sr-only\">{{ 'platform.datacore.accessibility.required_field' | translate }}</span>\n }\n </span>\n </div>\n </div>\n}\n\n<div\n class=\"sdc-star-rating\"\n [class.sdc-star-rating--disabled]=\"disabled\"\n [attr.aria-label]=\"labelKey() ? null : groupAriaLabel\"\n [attr.aria-labelledby]=\"labelKey() ? groupLabelId : null\"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n>\n @for (star of stars; track star) {\n <button\n type=\"button\"\n class=\"sdc-star-rating__star\"\n [class.sdc-star-rating__star--filled]=\"isFilled(star)\"\n [attr.aria-label]=\"getStarAriaLabel(star)\"\n [disabled]=\"disabled\"\n (click)=\"onStarClick(star)\"\n (keydown)=\"onKeydown($event, star)\"\n >\n @if (isFilled(star)) {\n <i class=\"fas fa-star\" aria-hidden=\"true\"></i>\n } @else {\n <i class=\"far fa-star\" aria-hidden=\"true\"></i>\n }\n </button>\n }\n</div>\n\n@if (messageKey()) {\n <small class=\"sdc-star-rating__message\" [class.invalid]=\"invalid\" role=\"alert\" aria-live=\"polite\">\n {{ messageKey() | translate }}\n </small>\n}\n", styles: [":host{display:inline-flex;flex-direction:column}.sdc-star-rating__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap);margin-bottom:var(--sdc-form-label-row-mb)}.sdc-star-rating__group-label{display:inline-flex;align-items:center;font-size:var(--sdc-form-label-font-size);font-weight:var(--sdc-form-label-font-weight);color:var(--sdc-form-label-color);line-height:var(--sdc-form-label-lh);padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py)}.sdc-star-rating__group-label-text{display:inline-flex;align-items:center}.sdc-star-rating__message{display:block;margin-top:var(--sdc-form-label-row-mb);font-size:.8125rem;color:var(--sdc-text-subtle, #667085)}.sdc-star-rating__message.invalid{color:var(--sdc-form-required-color)}.sdc-star-rating{--sdc-star-rating-color: #f5a319;--sdc-star-rating-size: 1.25rem;--sdc-star-rating-gap: .5rem;align-items:center;display:inline-flex;gap:var(--sdc-star-rating-gap)}.sdc-star-rating--disabled{cursor:not-allowed;opacity:.65}.sdc-star-rating__star{background:transparent;border:0;color:var(--sdc-star-rating-color);cursor:pointer;font-size:var(--sdc-star-rating-size);line-height:1;padding:0;transition:transform var(--sdc-transition-fast, .18s ease),opacity var(--sdc-transition-fast, .18s ease);-webkit-user-select:none;user-select:none}.sdc-star-rating__star:focus-visible{border-radius:2px;outline:var(--sdc-focus-outline, 2px solid #428bca);outline-offset:2px}.sdc-star-rating--disabled .sdc-star-rating__star{cursor:not-allowed;pointer-events:none}.sdc-star-rating__star:hover:not(.sdc-star-rating--disabled .sdc-star-rating__star){opacity:.8;transform:scale(1.15)}\n"] }]
|
|
84
97
|
}], propDecorators: { value: [{
|
|
85
98
|
type: Input
|
|
86
99
|
}], maxStars: [{
|
|
@@ -89,7 +102,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
89
102
|
type: Input
|
|
90
103
|
}], ariaLabel: [{
|
|
91
104
|
type: Input
|
|
105
|
+
}], label: [{
|
|
106
|
+
type: Input
|
|
107
|
+
}], required: [{
|
|
108
|
+
type: Input
|
|
109
|
+
}], invalid: [{
|
|
110
|
+
type: Input
|
|
111
|
+
}], message: [{
|
|
112
|
+
type: Input
|
|
92
113
|
}], valueChange: [{
|
|
93
114
|
type: Output
|
|
94
115
|
}] } });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rhci1yYXRpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9zdGFyLXJhdGluZy9zdGFyLXJhdGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3N0YXItcmF0aW5nL3N0YXItcmF0aW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RSxPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLHVCQUF1QixFQUN2Qix5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzNCLE1BQU0sd0NBQXdDLENBQUM7O0FBa0JoRCxNQUFNLE9BQU8sbUJBQW1CO0lBQ2IsR0FBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2hDLFNBQVMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUU3QyxLQUFLLEdBQVcseUJBQXlCLENBQUM7SUFDMUMsUUFBUSxHQUFXLHVCQUF1QixDQUFDO0lBQzNDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsU0FBUyxDQUFVO0lBRWxCLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRTNDLFVBQVUsR0FBNEIsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBQy9DLFdBQVcsR0FB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QUFpQixjQUNmLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUMsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVEsYUFDOUI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQU1RLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmLFxuICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHtcbiAgU1RBUl9SQVRJTkdfQVJJQV9MQUJFTF9LRVksXG4gIFNUQVJfUkFUSU5HX0RFRkFVTFRfTUFYLFxuICBTVEFSX1JBVElOR19ERUZBVUxUX1ZBTFVFLFxuICBTVEFSX1JBVElOR19TVEFSX0xBQkVMX0tFWVxufSBmcm9tICcuLi8uLi9jb3JlL2NvbnN0YW50cy9zdGFyLXJhdGluZy5jb25zdCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1zdGFyLXJhdGluZycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zdGFyLXJhdGluZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9zdGFyLXJhdGluZy5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTdGFyUmF0aW5nQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFN0YXJSYXRpbmdDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG5cbiAgQElucHV0KCkgdmFsdWU6IG51bWJlciA9IFNUQVJfUkFUSU5HX0RFRkFVTFRfVkFMVUU7XG4gIEBJbnB1dCgpIG1heFN0YXJzOiBudW1iZXIgPSBTVEFSX1JBVElOR19ERUZBVUxUX01BWDtcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgYXJpYUxhYmVsPzogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIHByaXZhdGUgb25DaGFuZ2VGbjogKHZhbHVlOiBudW1iZXIpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgcHJpdmF0ZSBvblRvdWNoZWRGbjogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gIGdldCBzdGFycygpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IHRoaXMubWF4U3RhcnMgfSwgKF8sIGkpID0+IGkgKyAxKTtcbiAgfVxuXG4gIGdldCBncm91cEFyaWFMYWJlbCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmFyaWFMYWJlbCkge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQodGhpcy5hcmlhTGFiZWwpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFNUQVJfUkFUSU5HX0FSSUFfTEFCRUxfS0VZKTtcbiAgfVxuXG4gIGlzRmlsbGVkKHN0YXI6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdGFyIDw9IHRoaXMudmFsdWU7XG4gIH1cblxuICBnZXRTdGFyQXJpYUxhYmVsKHN0YXI6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoU1RBUl9SQVRJTkdfU1RBUl9MQUJFTF9LRVksIHsgbjogc3RhciB9KTtcbiAgfVxuXG4gIG9uU3RhckNsaWNrKHN0YXI6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbmV4dCA9IHRoaXMudmFsdWUgPT09IHN0YXIgPyAwIDogc3RhcjtcbiAgICB0aGlzLnZhbHVlID0gbmV4dDtcbiAgICB0aGlzLm9uQ2hhbmdlRm4obmV4dCk7XG4gICAgdGhpcy5vblRvdWNoZWRGbigpO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChuZXh0KTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgc3RhcjogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGV2ZW50LmtleSA9PT0gJyAnKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5vblN0YXJDbGljayhzdGFyKTtcbiAgICB9XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWUgPz8gU1RBUl9SQVRJTkdfREVGQVVMVF9WQUxVRTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZUZuID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkRm4gPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2RjLXN0YXItcmF0aW5nXCJcbiAgW2NsYXNzLnNkYy1zdGFyLXJhdGluZy0tZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cImdyb3VwQXJpYUxhYmVsXCJcbj5cbiAgQGZvciAoc3RhciBvZiBzdGFyczsgdHJhY2sgc3Rhcikge1xuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJzZGMtc3Rhci1yYXRpbmdfX3N0YXJcIlxuICAgICAgW2NsYXNzLnNkYy1zdGFyLXJhdGluZ19fc3Rhci0tZmlsbGVkXT1cImlzRmlsbGVkKHN0YXIpXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZ2V0U3RhckFyaWFMYWJlbChzdGFyKVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgKGNsaWNrKT1cIm9uU3RhckNsaWNrKHN0YXIpXCJcbiAgICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQsIHN0YXIpXCJcbiAgICA+XG4gICAgICBAaWYgKGlzRmlsbGVkKHN0YXIpKSB7XG4gICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXN0YXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtc3RhclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgIH1cbiAgICA8L2J1dHRvbj5cbiAgfVxuPC9kaXY+XG4iXX0=
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rhci1yYXRpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9zdGFyLXJhdGluZy9zdGFyLXJhdGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3N0YXItcmF0aW5nL3N0YXItcmF0aW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RSxPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLHVCQUF1QixFQUN2Qix5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzNCLE1BQU0sd0NBQXdDLENBQUM7QUFFaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQWtCNUQsTUFBTSxPQUFPLG1CQUFtQjtJQUNiLEdBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNoQyxTQUFTLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFN0MsS0FBSyxHQUFXLHlCQUF5QixDQUFDO0lBQzFDLFFBQVEsR0FBVyx1QkFBdUIsQ0FBQztJQUMzQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLFNBQVMsQ0FBVTtJQUNuQixLQUFLLEdBQWtCLEtBQUssQ0FBQztJQUM3QixRQUFRLEdBQUcsS0FB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YXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmLFxuICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHtcbiAgU1RBUl9SQVRJTkdfQVJJQV9MQUJFTF9LRVksXG4gIFNUQVJfUkFUSU5HX0RFRkFVTFRfTUFYLFxuICBTVEFSX1JBVElOR19ERUZBVUxUX1ZBTFVFLFxuICBTVEFSX1JBVElOR19TVEFSX0xBQkVMX0tFWVxufSBmcm9tICcuLi8uLi9jb3JlL2NvbnN0YW50cy9zdGFyLXJhdGluZy5jb25zdCc7XG5pbXBvcnQgdHlwZSB7IFN0cmluZ0Jvb2xlYW4gfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL3NlbWFudGljcy50eXBlJztcbmltcG9ydCB7IG5leHRTZXF1ZW50aWFsSWQgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzL2lkLnV0aWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtc3Rhci1yYXRpbmcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vc3Rhci1yYXRpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vc3Rhci1yYXRpbmcuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWQsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU3RhclJhdGluZ0NvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTdGFyUmF0aW5nQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuXG4gIEBJbnB1dCgpIHZhbHVlOiBudW1iZXIgPSBTVEFSX1JBVElOR19ERUZBVUxUX1ZBTFVFO1xuICBASW5wdXQoKSBtYXhTdGFyczogbnVtYmVyID0gU1RBUl9SQVRJTkdfREVGQVVMVF9NQVg7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFyaWFMYWJlbD86IHN0cmluZztcbiAgQElucHV0KCkgbGFiZWw6IFN0cmluZ0Jvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgaW52YWxpZCA9IGZhbHNlO1xuICBASW5wdXQoKSBtZXNzYWdlOiBTdHJpbmdCb29sZWFuID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGdyb3VwTGFiZWxJZCA9IG5leHRTZXF1ZW50aWFsSWQoJ3NkYy1zdGFyLXJhdGluZy1sYWJlbCcpO1xuXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIHByaXZhdGUgb25DaGFuZ2VGbjogKHZhbHVlOiBudW1iZXIpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgcHJpdmF0ZSBvblRvdWNoZWRGbjogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gIGdldCBzdGFycygpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IHRoaXMubWF4U3RhcnMgfSwgKF8sIGkpID0+IGkgKyAxKTtcbiAgfVxuXG4gIGdldCBncm91cEFyaWFMYWJlbCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmFyaWFMYWJlbCkge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQodGhpcy5hcmlhTGFiZWwpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFNUQVJfUkFUSU5HX0FSSUFfTEFCRUxfS0VZKTtcbiAgfVxuXG4gIGlzRmlsbGVkKHN0YXI6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdGFyIDw9IHRoaXMudmFsdWU7XG4gIH1cblxuICBnZXRTdGFyQXJpYUxhYmVsKHN0YXI6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoU1RBUl9SQVRJTkdfU1RBUl9MQUJFTF9LRVksIHsgbjogc3RhciB9KTtcbiAgfVxuXG4gIG9uU3RhckNsaWNrKHN0YXI6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbmV4dCA9IHRoaXMudmFsdWUgPT09IHN0YXIgPyAwIDogc3RhcjtcbiAgICB0aGlzLnZhbHVlID0gbmV4dDtcbiAgICB0aGlzLm9uQ2hhbmdlRm4obmV4dCk7XG4gICAgdGhpcy5vblRvdWNoZWRGbigpO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChuZXh0KTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgc3RhcjogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGV2ZW50LmtleSA9PT0gJyAnKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5vblN0YXJDbGljayhzdGFyKTtcbiAgICB9XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWUgPz8gU1RBUl9SQVRJTkdfREVGQVVMVF9WQUxVRTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZUZuID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkRm4gPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgbGFiZWxLZXkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdHlwZW9mIHRoaXMubGFiZWwgPT09ICdzdHJpbmcnID8gdGhpcy5sYWJlbCA6ICcnO1xuICB9XG5cbiAgbWVzc2FnZUtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0eXBlb2YgdGhpcy5tZXNzYWdlID09PSAnc3RyaW5nJyA/IHRoaXMubWVzc2FnZSA6ICcnO1xuICB9XG59XG4iLCJAaWYgKGxhYmVsS2V5KCkpIHtcbiAgPGRpdiBjbGFzcz1cInNkYy1zdGFyLXJhdGluZ19fbGFiZWwtcm93XCI+XG4gICAgPGRpdiBjbGFzcz1cInNkYy1zdGFyLXJhdGluZ19fZ3JvdXAtbGFiZWxcIiBbaWRdPVwiZ3JvdXBMYWJlbElkXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInNkYy1zdGFyLXJhdGluZ19fZ3JvdXAtbGFiZWwtdGV4dFwiPlxuICAgICAgICB7eyBsYWJlbEtleSgpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIEBpZiAocmVxdWlyZWQpIHtcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlcXVpcmVkLWZpZWxkXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+Kjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj57eyAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5yZXF1aXJlZF9maWVsZCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG59XG5cbjxkaXZcbiAgY2xhc3M9XCJzZGMtc3Rhci1yYXRpbmdcIlxuICBbY2xhc3Muc2RjLXN0YXItcmF0aW5nLS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWxLZXkoKSA/IG51bGwgOiBncm91cEFyaWFMYWJlbFwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJsYWJlbEtleSgpID8gZ3JvdXBMYWJlbElkIDogbnVsbFwiXG4gIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaW52YWxpZFwiXG4+XG4gIEBmb3IgKHN0YXIgb2Ygc3RhcnM7IHRyYWNrIHN0YXIpIHtcbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwic2RjLXN0YXItcmF0aW5nX19zdGFyXCJcbiAgICAgIFtjbGFzcy5zZGMtc3Rhci1yYXRpbmdfX3N0YXItLWZpbGxlZF09XCJpc0ZpbGxlZChzdGFyKVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImdldFN0YXJBcmlhTGFiZWwoc3RhcilcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJvblN0YXJDbGljayhzdGFyKVwiXG4gICAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50LCBzdGFyKVwiXG4gICAgPlxuICAgICAgQGlmIChpc0ZpbGxlZChzdGFyKSkge1xuICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1zdGFyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLXN0YXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICB9XG4gICAgPC9idXR0b24+XG4gIH1cbjwvZGl2PlxuXG5AaWYgKG1lc3NhZ2VLZXkoKSkge1xuICA8c21hbGwgY2xhc3M9XCJzZGMtc3Rhci1yYXRpbmdfX21lc3NhZ2VcIiBbY2xhc3MuaW52YWxpZF09XCJpbnZhbGlkXCIgcm9sZT1cImFsZXJ0XCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAge3sgbWVzc2FnZUtleSgpIHwgdHJhbnNsYXRlIH19XG4gIDwvc21hbGw+XG59XG4iXX0=
|
|
@@ -88,7 +88,7 @@ export class TableCellContentComponent {
|
|
|
88
88
|
this.toggleActionsMenu.emit({ event, trigger });
|
|
89
89
|
}
|
|
90
90
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableCellContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
91
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TableCellContentComponent, isStandalone: true, selector: "sdc-table-cell-content", inputs: { cellConfigs: "cellConfigs", col: "col", resolveValue: "resolveValue", row: "row", actionsMenuOpen: "actionsMenuOpen", actionsMenuId: "actionsMenuId", defaultTextOverflow: "defaultTextOverflow", rowCheckboxId: "rowCheckboxId", rowLabel: "rowLabel", rowSelectionDisabled: "rowSelectionDisabled", forceLeftAlign: "forceLeftAlign", rowSelected: "rowSelected" }, outputs: { toggleActionsMenu: "toggleActionsMenu", toggleRow: "toggleRow", triggerButtonAction: "triggerButtonAction" }, host: { properties: { "class.sdc-table-cell-content--align-left": "resolvedAlignment === 'left'", "class.sdc-table-cell-content--align-center": "resolvedAlignment === 'center'", "class.sdc-table-cell-content--align-right": "resolvedAlignment === 'right'", "class.sdc-table-cell-content--nowrap": "col?.textOverflow === 'none'" } }, ngImport: i0, template: "<div class=\"sdc-table-content\">\n @if (col.content?.length) {\n <div class=\"sdc-table-multi-content\">\n @for (item of col.content!; track $index) {\n @switch (item.type ?? 'text') {\n @case ('strong') {\n <strong\n [ngStyle]=\"item.style\"\n [class]=\"item.class ?? ''\"\n >{{ cellTextValue(item.field) | translate }}</strong>\n }\n @case ('code') {\n <code [ngStyle]=\"item.style\" [class]=\"item.class ?? ''\">{{ cellTextValue(item.field) }}</code>\n }\n @default {\n <span [ngStyle]=\"item.style\" [class]=\"item.class ?? ''\">{{ cellTextValue(item.field) | translate }}</span>\n }\n }\n }\n </div>\n } @else {\n @switch (col.type ?? 'text') {\n @case ('checkbox-selection') {\n <div class=\"sdc-table-checkbox\">\n <input\n type=\"checkbox\"\n [id]=\"rowCheckboxId\"\n [disabled]=\"rowSelectionDisabled\"\n [checked]=\"rowSelected\"\n (change)=\"toggleRow.emit(getCheckedValue($event))\"\n [attr.aria-label]=\"\n 'platform.datacore.accessibility.select_row'\n | translate: { name: (rowLabel | translate) }\n \"\n [attr.aria-checked]=\"rowSelected\"\n />\n <label [attr.for]=\"rowCheckboxId\" class=\"sr-only\">\n {{\n 'platform.datacore.accessibility.select_row'\n | translate: { name: (rowLabel | translate) }\n }}\n </label>\n </div>\n }\n\n @case ('date') {\n <span class=\"sdc-table-text\" [attr.title]=\"ellipsisTitleText(formatDate())\">{{ formatDate() }}</span>\n }\n\n @case ('strong') {\n <span class=\"sdc-table-strong-label\"\n [attr.title]=\"ellipsisTitleText(cellTextValue() | translate)\">\n {{ cellTextValue() | translate | sdcTruncate:col:defaultTextOverflow }}\n </span>\n }\n\n @case ('code') {\n <code class=\"sdc-table-code-label\"\n [attr.title]=\"ellipsisTitleText(cellTextValue())\">{{ displayText() }}</code>\n }\n\n @case ('currency') {\n <span class=\"sdc-table-text\"\n [attr.title]=\"ellipsisTitleText(formatCurrency())\">{{ formatCurrency() }}</span>\n }\n\n @case ('tag') {\n <div class=\"sdc-table-tags\">\n @for (tagItem of tagItems(); track tagItem.label + '-' + $index) {\n <span\n class=\"sdc-table-tag\"\n [class.sdc-table-tag--enabled]=\"tagItem.tone === 'enabled'\"\n [class.sdc-table-tag--disabled]=\"tagItem.tone === 'disabled'\"\n [ngStyle]=\"tagItem.styles\"\n [attr.title]=\"tagItem.tooltip ? (tagItem.tooltip | translate) : null\"\n >\n @if (tagItem.icon) {\n <sdc-icon-renderer\n class=\"sdc-table-tag__icon\"\n [icon]=\"tagItem.icon\"\n [iconType]=\"tagItem.iconType\"\n [size]=\"tagIconSize\"\n ></sdc-icon-renderer>\n }\n {{ tagItem.label | translate }}\n </span>\n }\n </div>\n }\n\n @case ('button') {\n <div class=\"sdc-table-button\">\n <sdc-button\n class=\"sdc-table-action-button\"\n [size]=\"cellConfigs.button.size ?? 'default'\"\n [priority]=\"cellConfigs.button.priority || 'primary'\"\n [icon]=\"cellConfigs.button.icon\"\n [label]=\"cellConfigs.button.label ?? ''\"\n [disabled]=\"cellConfigs.button.disabled ?? false\"\n [title]=\"cellConfigs.button.tooltip\"\n [attr.size]=\"cellConfigs.button.size\"\n [attr.priority]=\"cellConfigs.button.priority || 'primary'\"\n [attr.severity]=\"cellConfigs.button.priority || 'primary'\"\n [attr.icon]=\"cellConfigs.button.icon\"\n [attr.label]=\"cellConfigs.button.label\"\n [attr.disabled]=\"cellConfigs.button.disabled ? '' : null\"\n [attr.title]=\"cellConfigs.button.tooltip || null\"\n [attr.aria-label]=\"\n (buttonAriaLabel() | translate)\n + ' - '\n + (rowLabel | translate)\n \"\n [attr.data-key]=\"buttonKey()\"\n (click)=\"cellConfigs.button.disabled ? null : triggerButtonAction.emit()\"\n (keydown.enter)=\"cellConfigs.button.disabled ? null : triggerButtonAction.emit()\"\n (keydown.space)=\"$event.preventDefault(); cellConfigs.button.disabled ? null : triggerButtonAction.emit()\"\n ></sdc-button>\n </div>\n }\n\n @case ('actions') {\n <div\n class=\"sdc-table-actions\"\n [class.sdc-table-actions--open]=\"actionsMenuOpen\"\n >\n <button\n #actionsTrigger\n type=\"button\"\n class=\"sdc-table-actions-trigger\"\n [class.sdc-table-actions-trigger--open]=\"actionsMenuOpen\"\n [attr.aria-label]=\"\n (actionsButtonLabel() | translate)\n + ' - '\n + (rowLabel | translate)\n \"\n [attr.aria-haspopup]=\"'menu'\"\n [attr.aria-controls]=\"actionsMenuOpen ? actionsMenuId : null\"\n [attr.aria-expanded]=\"actionsMenuOpen\"\n (click)=\"onActionsClick($event, actionsTrigger)\"\n >\n <span class=\"sdc-table-actions-trigger__label\">\n {{ actionsButtonLabel() | translate }}\n </span>\n <i class=\"fas fa-chevron-down sdc-table-actions-trigger__icon\" aria-hidden=\"true\"></i>\n </button>\n </div>\n }\n\n @case ('icon') {\n @if (iconPresentation(); as iconItem) {\n <span\n class=\"sdc-table-icon\"\n [ngStyle]=\"iconItem.colorStyle\"\n [attr.title]=\"iconItem.tooltip ? (iconItem.tooltip | translate) : null\"\n [attr.aria-label]=\"\n (iconItem.label || iconItem.tooltip)\n ? ((iconItem.label || iconItem.tooltip)! | translate)\n : null\n \"\n >\n @if (iconItem.icon) {\n <sdc-icon-renderer\n [icon]=\"iconItem.icon\"\n [iconType]=\"iconItem.iconType\"\n [size]=\"iconSize\"\n ></sdc-icon-renderer>\n }\n @if (iconItem.label) {\n <span class=\"sdc-table-icon__label\">{{ iconItem.label | translate }}</span>\n }\n </span>\n }\n }\n\n @case ('icon-title') {\n @if (titleIconPresentation(); as titleIconItem) {\n <span\n class=\"sdc-table-icon-title\"\n [ngStyle]=\"titleIconItem.colorStyle\"\n [attr.title]=\"titleIconItem.tooltip ? (titleIconItem.tooltip | translate) : null\"\n >\n @if (titleIconItem.icon) {\n <sdc-icon-renderer\n [icon]=\"titleIconItem.icon\"\n [iconType]=\"titleIconItem.iconType\"\n [size]=\"iconSize\"\n ></sdc-icon-renderer>\n }\n @if (titleIconItem.label) {\n <span [attr.title]=\"ellipsisTitleText(titleIconItem.label | translate)\">\n {{ titleIconItem.label | translate | sdcTruncate:col:defaultTextOverflow }}\n </span>\n }\n </span>\n }\n }\n\n @default {\n <span class=\"sdc-table-text\"\n [attr.title]=\"ellipsisTitleText(cellTextValue() | translate)\">\n {{ cellTextValue() | translate | sdcTruncate:col:defaultTextOverflow }}\n </span>\n }\n }\n }\n</div>\n", styles: [":host{display:block;width:100%;min-width:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sdc-table-content{display:flex;align-items:center;width:100%;min-width:0}:host(.sdc-table-cell-content--align-left) .sdc-table-content{justify-content:flex-start;text-align:left}:host(.sdc-table-cell-content--align-center) .sdc-table-content{justify-content:center;text-align:center}:host(.sdc-table-cell-content--align-right) .sdc-table-content{justify-content:flex-end;text-align:right}.sdc-table-multi-content{display:flex;flex-direction:column;gap:.25rem;min-width:0;max-width:100%}.sdc-table-multi-content strong,.sdc-table-multi-content code,.sdc-table-multi-content span,.sdc-table-text,.sdc-table-strong-label,.sdc-table-code-label{min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sdc-table-strong-label{font-weight:500}.sdc-table-code-label{color:var(--sdc-tab-primary)}.sdc-table-tags{display:flex;flex-wrap:wrap;gap:.5rem;min-width:0;max-width:100%}.sdc-table-tag{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;width:fit-content;min-width:fit-content;max-width:100%;border-radius:9999px;font-weight:500;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid currentColor;box-sizing:border-box;font-size:.875rem;padding:.35rem .875rem}.sdc-table-tag__icon{flex:0 0 auto}.sdc-table-tag--enabled{background:#dcfce7;color:#16a34a;border-color:#16a34a}.sdc-table-tag--disabled{background:#fee2e2;color:#ef4444;border-color:#ef4444}.sdc-table-button{display:flex;align-items:center;justify-content:center;min-height:44px;width:100%;min-width:0}.sdc-table-button ::ng-deep sdc-button,.sdc-table-button ::ng-deep button{min-height:unset;min-width:unset;max-width:100%}.sdc-table-action-button{width:100%;max-width:100%;min-width:0}.sdc-table-icon,.sdc-table-icon-title{display:inline-flex;align-items:center;gap:.5rem;min-width:0;max-width:100%}.sdc-table-icon__label,.sdc-table-icon-title span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.sdc-table-checkbox{display:flex;align-items:center;justify-content:center}.sdc-table-checkbox input[type=checkbox]{cursor:pointer}.sdc-table-checkbox input[type=checkbox]:disabled{cursor:not-allowed;opacity:.55}.sdc-table-actions{position:relative;display:inline-flex;align-items:center;justify-content:center;width:100%;min-width:0}.sdc-table-actions-trigger{appearance:none;border:1px solid #c9ced6;background:#fff;border-radius:999px;min-width:4.875rem;height:2rem;padding:0 .75rem;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;font:inherit;font-size:.8125rem;color:#374151;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.sdc-table-actions-trigger:hover{background:#f9fafb}.sdc-table-actions-trigger:focus-visible,.sdc-table-actions-trigger--open{outline:none;border-color:#9ca3af;box-shadow:0 0 0 2px #1118270a}.sdc-table-actions-trigger__label{line-height:1;white-space:nowrap}.sdc-table-actions-trigger__icon{font-size:.625rem;line-height:1;color:#6b7280}@media (max-width: 768px){.sdc-table-multi-content strong,.sdc-table-multi-content code,.sdc-table-multi-content span{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word}.sdc-table-tag{font-size:.8125rem;padding:.35rem .75rem}.sdc-table-actions-trigger{min-width:4.375rem;height:1.75rem;padding:0 .625rem;font-size:.75rem}.sdc-table-text,.sdc-table-strong-label,.sdc-table-code-label,.sdc-table-icon__label,.sdc-table-icon-title span{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["id", "label", "ariaLabel", "disabled", "width", "priority", "size", "type", "icon", "rightIcon", "auxiliary", "caret", "tooltip", "animation", "slide", "styleClass", "badge", "menuOptions", "menuContext", "model"], outputs: ["clicked"] }, { kind: "component", type: IconRendererComponent, selector: "sdc-icon-renderer", inputs: ["icon", "iconType", "size"] }, { kind: "pipe", type: SdcTruncatePipe, name: "sdcTruncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
91
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TableCellContentComponent, isStandalone: true, selector: "sdc-table-cell-content", inputs: { cellConfigs: "cellConfigs", col: "col", resolveValue: "resolveValue", row: "row", actionsMenuOpen: "actionsMenuOpen", actionsMenuId: "actionsMenuId", defaultTextOverflow: "defaultTextOverflow", rowCheckboxId: "rowCheckboxId", rowLabel: "rowLabel", rowSelectionDisabled: "rowSelectionDisabled", forceLeftAlign: "forceLeftAlign", rowSelected: "rowSelected" }, outputs: { toggleActionsMenu: "toggleActionsMenu", toggleRow: "toggleRow", triggerButtonAction: "triggerButtonAction" }, host: { properties: { "class.sdc-table-cell-content--align-left": "resolvedAlignment === 'left'", "class.sdc-table-cell-content--align-center": "resolvedAlignment === 'center'", "class.sdc-table-cell-content--align-right": "resolvedAlignment === 'right'", "class.sdc-table-cell-content--nowrap": "col?.textOverflow === 'none'" } }, ngImport: i0, template: "<div class=\"sdc-table-content\">\n @if (col.content?.length) {\n <div class=\"sdc-table-multi-content\">\n @for (item of col.content!; track $index) {\n @switch (item.type ?? 'text') {\n @case ('strong') {\n <strong\n [ngStyle]=\"item.style\"\n [class]=\"item.class ?? ''\"\n >{{ cellTextValue(item.field) | translate }}</strong>\n }\n @case ('code') {\n <code [ngStyle]=\"item.style\" [class]=\"item.class ?? ''\">{{ cellTextValue(item.field) }}</code>\n }\n @default {\n <span [ngStyle]=\"item.style\" [class]=\"item.class ?? ''\">{{ cellTextValue(item.field) | translate }}</span>\n }\n }\n }\n </div>\n } @else {\n @switch (col.type ?? 'text') {\n @case ('checkbox-selection') {\n <div class=\"sdc-table-checkbox\">\n <input\n type=\"checkbox\"\n [id]=\"rowCheckboxId\"\n [disabled]=\"rowSelectionDisabled\"\n [checked]=\"rowSelected\"\n (change)=\"toggleRow.emit(getCheckedValue($event))\"\n [attr.aria-label]=\"\n 'platform.datacore.accessibility.select_row'\n | translate: { name: (rowLabel | translate) }\n \"\n [attr.aria-checked]=\"rowSelected\"\n />\n <label [attr.for]=\"rowCheckboxId\" class=\"sr-only\">\n {{\n 'platform.datacore.accessibility.select_row'\n | translate: { name: (rowLabel | translate) }\n }}\n </label>\n </div>\n }\n\n @case ('date') {\n <span class=\"sdc-table-text\" [attr.title]=\"ellipsisTitleText(formatDate())\">{{ formatDate() }}</span>\n }\n\n @case ('strong') {\n <span class=\"sdc-table-strong-label\"\n [attr.title]=\"ellipsisTitleText(cellTextValue() | translate)\">\n {{ cellTextValue() | translate | sdcTruncate:col:defaultTextOverflow }}\n </span>\n }\n\n @case ('code') {\n <code class=\"sdc-table-code-label\"\n [attr.title]=\"ellipsisTitleText(cellTextValue())\">{{ displayText() }}</code>\n }\n\n @case ('currency') {\n <span class=\"sdc-table-text\"\n [attr.title]=\"ellipsisTitleText(formatCurrency())\">{{ formatCurrency() }}</span>\n }\n\n @case ('tag') {\n <div class=\"sdc-table-tags\">\n @for (tagItem of tagItems(); track tagItem.label + '-' + $index) {\n <span\n class=\"sdc-table-tag\"\n [class.sdc-table-tag--enabled]=\"tagItem.tone === 'enabled'\"\n [class.sdc-table-tag--disabled]=\"tagItem.tone === 'disabled'\"\n [ngStyle]=\"tagItem.styles\"\n [attr.title]=\"tagItem.tooltip ? (tagItem.tooltip | translate) : null\"\n >\n @if (tagItem.icon) {\n <sdc-icon-renderer\n class=\"sdc-table-tag__icon\"\n [icon]=\"tagItem.icon\"\n [iconType]=\"tagItem.iconType\"\n [size]=\"tagIconSize\"\n ></sdc-icon-renderer>\n }\n {{ tagItem.label | translate }}\n </span>\n }\n </div>\n }\n\n @case ('button') {\n <div class=\"sdc-table-button\">\n <sdc-button\n class=\"sdc-table-action-button\"\n [size]=\"cellConfigs.button.size ?? 'default'\"\n [priority]=\"cellConfigs.button.priority || 'primary'\"\n [icon]=\"cellConfigs.button.icon\"\n [label]=\"cellConfigs.button.label ?? ''\"\n [disabled]=\"cellConfigs.button.disabled ?? false\"\n [title]=\"cellConfigs.button.tooltip\"\n [attr.size]=\"cellConfigs.button.size\"\n [attr.priority]=\"cellConfigs.button.priority || 'primary'\"\n [attr.severity]=\"cellConfigs.button.priority || 'primary'\"\n [attr.icon]=\"cellConfigs.button.icon\"\n [attr.label]=\"cellConfigs.button.label\"\n [attr.disabled]=\"cellConfigs.button.disabled ? '' : null\"\n [attr.title]=\"cellConfigs.button.tooltip || null\"\n [attr.aria-label]=\"\n (buttonAriaLabel() | translate)\n + ' - '\n + (rowLabel | translate)\n \"\n [attr.data-key]=\"buttonKey()\"\n (click)=\"cellConfigs.button.disabled ? null : triggerButtonAction.emit()\"\n (keydown.enter)=\"cellConfigs.button.disabled ? null : triggerButtonAction.emit()\"\n (keydown.space)=\"$event.preventDefault(); cellConfigs.button.disabled ? null : triggerButtonAction.emit()\"\n ></sdc-button>\n </div>\n }\n\n @case ('actions') {\n <div\n class=\"sdc-table-actions\"\n [class.sdc-table-actions--open]=\"actionsMenuOpen\"\n >\n <button\n #actionsTrigger\n type=\"button\"\n class=\"sdc-table-actions-trigger\"\n [class.sdc-table-actions-trigger--open]=\"actionsMenuOpen\"\n [attr.aria-label]=\"\n (actionsButtonLabel() | translate)\n + ' - '\n + (rowLabel | translate)\n \"\n [attr.aria-haspopup]=\"'menu'\"\n [attr.aria-controls]=\"actionsMenuOpen ? actionsMenuId : null\"\n [attr.aria-expanded]=\"actionsMenuOpen\"\n (click)=\"onActionsClick($event, actionsTrigger)\"\n >\n <span class=\"sdc-table-actions-trigger__label\">\n {{ actionsButtonLabel() | translate }}\n </span>\n <i class=\"fas fa-chevron-down sdc-table-actions-trigger__icon\" aria-hidden=\"true\"></i>\n </button>\n </div>\n }\n\n @case ('icon') {\n @if (iconPresentation(); as iconItem) {\n <span\n class=\"sdc-table-icon\"\n [ngStyle]=\"iconItem.colorStyle\"\n [attr.title]=\"iconItem.tooltip ? (iconItem.tooltip | translate) : null\"\n [attr.aria-label]=\"\n (iconItem.label || iconItem.tooltip)\n ? ((iconItem.label || iconItem.tooltip)! | translate)\n : null\n \"\n >\n @if (iconItem.icon) {\n <sdc-icon-renderer\n [icon]=\"iconItem.icon\"\n [iconType]=\"iconItem.iconType\"\n [size]=\"iconSize\"\n ></sdc-icon-renderer>\n }\n @if (iconItem.label) {\n <span class=\"sdc-table-icon__label\">{{ iconItem.label | translate }}</span>\n }\n </span>\n }\n }\n\n @case ('icon-title') {\n @if (titleIconPresentation(); as titleIconItem) {\n <span\n class=\"sdc-table-icon-title\"\n [ngStyle]=\"titleIconItem.colorStyle\"\n [attr.title]=\"titleIconItem.tooltip ? (titleIconItem.tooltip | translate) : null\"\n >\n @if (titleIconItem.icon) {\n <sdc-icon-renderer\n [icon]=\"titleIconItem.icon\"\n [iconType]=\"titleIconItem.iconType\"\n [size]=\"iconSize\"\n ></sdc-icon-renderer>\n }\n @if (titleIconItem.label) {\n <span [attr.title]=\"ellipsisTitleText(titleIconItem.label | translate)\">\n {{ titleIconItem.label | translate | sdcTruncate:col:defaultTextOverflow }}\n </span>\n }\n </span>\n }\n }\n\n @default {\n <span class=\"sdc-table-text\"\n [attr.title]=\"ellipsisTitleText(cellTextValue() | translate)\">\n {{ cellTextValue() | translate | sdcTruncate:col:defaultTextOverflow }}\n </span>\n }\n }\n }\n</div>\n", styles: [":host{display:block;width:100%;min-width:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sdc-table-content{display:flex;align-items:center;width:100%;min-width:0}:host(.sdc-table-cell-content--align-left) .sdc-table-content{justify-content:flex-start;text-align:left}:host(.sdc-table-cell-content--align-center) .sdc-table-content{justify-content:center;text-align:center}:host(.sdc-table-cell-content--align-right) .sdc-table-content{justify-content:flex-end;text-align:right}.sdc-table-multi-content{display:flex;flex-direction:column;gap:.25rem;min-width:0;max-width:100%}.sdc-table-multi-content strong,.sdc-table-multi-content code,.sdc-table-multi-content span,.sdc-table-text,.sdc-table-strong-label,.sdc-table-code-label{min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sdc-table-strong-label{font-weight:500}.sdc-table-code-label{color:var(--sdc-tab-primary)}.sdc-table-tags{display:flex;flex-wrap:wrap;gap:.5rem;min-width:0;max-width:100%}.sdc-table-tag{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;width:fit-content;min-width:fit-content;max-width:100%;border-radius:9999px;font-weight:500;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid currentColor;box-sizing:border-box;font-size:.875rem;padding:.35rem .875rem}.sdc-table-tag__icon{flex:0 0 auto}.sdc-table-tag--enabled{background:#dcfce7;color:#16a34a;border-color:#16a34a}.sdc-table-tag--disabled{background:#fee2e2;color:#ef4444;border-color:#ef4444}.sdc-table-button{display:flex;align-items:center;justify-content:center;min-height:44px;width:100%;min-width:0}.sdc-table-button ::ng-deep sdc-button,.sdc-table-button ::ng-deep button{min-height:unset;min-width:unset;max-width:100%}.sdc-table-action-button{width:100%;max-width:100%;min-width:0}.sdc-table-icon,.sdc-table-icon-title{display:inline-flex;align-items:center;gap:.5rem;min-width:0;max-width:100%}.sdc-table-icon__label,.sdc-table-icon-title span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.sdc-table-checkbox{display:flex;align-items:center;justify-content:center}.sdc-table-checkbox input[type=checkbox]{cursor:pointer}.sdc-table-checkbox input[type=checkbox]:disabled{cursor:not-allowed;opacity:.55}.sdc-table-actions{position:relative;display:inline-flex;align-items:center;justify-content:center;width:100%;min-width:0}.sdc-table-actions-trigger{appearance:none;border:1px solid #c9ced6;background:#fff;border-radius:999px;min-width:4.875rem;height:2rem;padding:0 .75rem;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;font:inherit;font-size:.8125rem;color:#374151;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.sdc-table-actions-trigger:hover{background:#f9fafb}.sdc-table-actions-trigger:focus-visible,.sdc-table-actions-trigger--open{outline:none;border-color:#9ca3af;box-shadow:0 0 0 2px #1118270a}.sdc-table-actions-trigger__label{line-height:1;white-space:nowrap}.sdc-table-actions-trigger__icon{font-size:.625rem;line-height:1;color:#6b7280}@media (max-width: 768px){.sdc-table-multi-content strong,.sdc-table-multi-content code,.sdc-table-multi-content span{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word}.sdc-table-tag{font-size:.8125rem;padding:.35rem .75rem}.sdc-table-actions-trigger{min-width:4.375rem;height:1.75rem;padding:0 .625rem;font-size:.75rem}.sdc-table-text,.sdc-table-strong-label,.sdc-table-code-label,.sdc-table-icon__label,.sdc-table-icon-title span{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["id", "label", "ariaLabel", "disabled", "loading", "width", "priority", "size", "type", "icon", "rightIcon", "auxiliary", "caret", "tooltip", "animation", "slide", "styleClass", "badge", "menuOptions", "menuContext", "model"], outputs: ["clicked"] }, { kind: "component", type: IconRendererComponent, selector: "sdc-icon-renderer", inputs: ["icon", "iconType", "size"] }, { kind: "pipe", type: SdcTruncatePipe, name: "sdcTruncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
92
92
|
}
|
|
93
93
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableCellContentComponent, decorators: [{
|
|
94
94
|
type: Component,
|
|
@@ -133,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
133
133
|
}], triggerButtonAction: [{
|
|
134
134
|
type: Output
|
|
135
135
|
}] } });
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvdGFibGUvY29tcG9uZW50cy90YWJsZS1jZWxsLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy90YWJsZS9jb21wb25lbnRzL3RhYmxlLWNlbGwtY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUNMLHlCQUF5QixFQUN6Qiw2QkFBNkIsRUFDN0IscUNBQXFDLEVBQ3RDLE1BQU0scUNBQXFDLENBQUM7QUFPN0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekUsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2pCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUNMLHFCQUFxQixFQUNyQiw0QkFBNEIsRUFDNUIsb0JBQW9CLEVBQ3BCLGlDQUFpQyxFQUNsQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7Ozs7QUFnQnZHLE1BQU0sT0FBTyx5QkFBeUI7SUFDVCxXQUFXLENBQXlCO0lBQ3BDLEdB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bUJBQW1CO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7XG4gIFRBQkxFX0lDT05fUkVOREVSX1NJWkVfUFgsXG4gIFRBQkxFX1RBR19JQ09OX1JFTkRFUl9TSVpFX1BYLFxuICBUQUJMRV9URVhUX09WRVJGTE9XX0RFRkFVTFRfTUFYX0NIQVJTXG59IGZyb20gJy4uLy4uLy4uL2NvcmUvY29uc3RhbnRzL3RhYmxlLmNvbnN0JztcbmltcG9ydCB0eXBlIHtcbiAgUm93QmFzZSxcbiAgVGFibGVDZWxsQ29uZmlnTWFwLFxuICBUYWJsZUNvbHVtblxufSBmcm9tICcuLi8uLi8uLi9jb3JlL3R5cGVzL3RhYmxlLnR5cGUnO1xuaW1wb3J0IHR5cGUgeyBUYWJsZVRleHRPdmVyZmxvdyB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdHlwZXMvdGFibGUtY29sdW1uLnR5cGUnO1xuaW1wb3J0IHsgcmVzb2x2ZVRhYmxlQ29sdW1uQWxpZ25tZW50IH0gZnJvbSAnLi4vdXRpbHMvdGFibGUtbGF5b3V0LnV0aWwnO1xuaW1wb3J0IHtcbiAgZm9ybWF0VGFibGVDdXJyZW5jeSxcbiAgZm9ybWF0VGFibGVEYXRlLFxuICB0b1RhYmxlVGV4dFZhbHVlXG59IGZyb20gJy4uL3V0aWxzL3RhYmxlLWRhdGEudXRpbCc7XG5pbXBvcnQge1xuICByZXNvbHZlVGFibGVCdXR0b25LZXksXG4gIHJlc29sdmVUYWJsZUljb25QcmVzZW50YXRpb24sXG4gIHJlc29sdmVUYWJsZVRhZ0l0ZW1zLFxuICByZXNvbHZlVGFibGVUaXRsZUljb25QcmVzZW50YXRpb25cbn0gZnJvbSAnLi4vdXRpbHMvdGFibGUtdmlzdWFsLnV0aWwnO1xuaW1wb3J0IHsgU2RjVHJ1bmNhdGVQaXBlIH0gZnJvbSAnLi4vdXRpbHMvdGFibGUtdHJ1bmNhdGUucGlwZSc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2NvbXBvbmVudHMvaWNvbi1yZW5kZXJlci9pY29uLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy10YWJsZS1jZWxsLWNvbnRlbnQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIEJ1dHRvbkNvbXBvbmVudCwgSWNvblJlbmRlcmVyQ29tcG9uZW50LCBTZGNUcnVuY2F0ZVBpcGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtY2VsbC1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3RhYmxlLWNlbGwtY29udGVudC5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5zZGMtdGFibGUtY2VsbC1jb250ZW50LS1hbGlnbi1sZWZ0XSc6IFwicmVzb2x2ZWRBbGlnbm1lbnQgPT09ICdsZWZ0J1wiLFxuICAgICdbY2xhc3Muc2RjLXRhYmxlLWNlbGwtY29udGVudC0tYWxpZ24tY2VudGVyXSc6IFwicmVzb2x2ZWRBbGlnbm1lbnQgPT09ICdjZW50ZXInXCIsXG4gICAgJ1tjbGFzcy5zZGMtdGFibGUtY2VsbC1jb250ZW50LS1hbGlnbi1yaWdodF0nOiBcInJlc29sdmVkQWxpZ25tZW50ID09PSAncmlnaHQnXCIsXG4gICAgJ1tjbGFzcy5zZGMtdGFibGUtY2VsbC1jb250ZW50LS1ub3dyYXBdJzogXCJjb2w/LnRleHRPdmVyZmxvdyA9PT0gJ25vbmUnXCJcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNlbGxDb250ZW50Q29tcG9uZW50PFQgZXh0ZW5kcyBSb3dCYXNlID0gUm93QmFzZT4ge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjZWxsQ29uZmlncyE6IFRhYmxlQ2VsbENvbmZpZ01hcDxUPjtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29sITogVGFibGVDb2x1bW48VD47XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHJlc29sdmVWYWx1ZSE6IChyb3c6IFQsIGZpZWxkPzogc3RyaW5nKSA9PiB1bmtub3duO1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSByb3chOiBUO1xuXG4gIEBJbnB1dCgpIGFjdGlvbnNNZW51T3BlbiA9IGZhbHNlO1xuICBASW5wdXQoKSBhY3Rpb25zTWVudUlkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgZGVmYXVsdFRleHRPdmVyZmxvdz86IFRhYmxlVGV4dE92ZXJmbG93O1xuICBASW5wdXQoKSByb3dDaGVja2JveElkID0gJyc7XG4gIEBJbnB1dCgpIHJvd0xhYmVsID0gJ2l0ZW0nO1xuICBASW5wdXQoKSByb3dTZWxlY3Rpb25EaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBmb3JjZUxlZnRBbGlnbiA9IGZhbHNlO1xuICBASW5wdXQoKSByb3dTZWxlY3RlZCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSB0b2dnbGVBY3Rpb25zTWVudSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBldmVudDogRXZlbnQ7IHRyaWdnZXI6IEhUTUxFbGVtZW50IH0+KCk7XG4gIEBPdXRwdXQoKSB0b2dnbGVSb3cgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSB0cmlnZ2VyQnV0dG9uQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBpY29uU2l6ZSA9IFRBQkxFX0lDT05fUkVOREVSX1NJWkVfUFg7XG4gIHByb3RlY3RlZCByZWFkb25seSB0YWdJY29uU2l6ZSA9IFRBQkxFX1RBR19JQ09OX1JFTkRFUl9TSVpFX1BYO1xuXG4gIGdldCByZXNvbHZlZEFsaWdubWVudCgpOiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCcge1xuICAgIGlmICh0aGlzLmZvcmNlTGVmdEFsaWduKSB7XG4gICAgICByZXR1cm4gJ2xlZnQnO1xuICAgIH1cblxuICAgIHJldHVybiByZXNvbHZlVGFibGVDb2x1bW5BbGlnbm1lbnQodGhpcy5jb2wsICdjZWxsJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2VsbFRleHRWYWx1ZShmaWVsZCA9IHRoaXMuY29sPy5maWVsZCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRvVGFibGVUZXh0VmFsdWUodGhpcy5yZXNvbHZlVmFsdWUodGhpcy5yb3csIGZpZWxkKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZGlzcGxheVRleHQoZmllbGQgPSB0aGlzLmNvbD8uZmllbGQpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRleHQgPSB0aGlzLmNlbGxUZXh0VmFsdWUoZmllbGQpO1xuICAgIGNvbnN0IG1vZGU6IFRhYmxlVGV4dE92ZXJmbG93ID0gdGhpcy5jb2w/LnRleHRPdmVyZmxvdyA/PyB0aGlzLmRlZmF1bHRUZXh0T3ZlcmZsb3cgPz8gJ2JyZWFrLWxpbmUnO1xuICAgIGlmIChtb2RlICE9PSAnZWxsaXBzaXMnKSB7IHJldHVybiB0ZXh0OyB9XG4gICAgY29uc3QgbWF4ID0gdGhpcy5jb2w/Lm1heENoYXJzID8/IFRBQkxFX1RFWFRfT1ZFUkZMT1dfREVGQVVMVF9NQVhfQ0hBUlM7XG4gICAgcmV0dXJuIHRleHQubGVuZ3RoID4gbWF4ID8gdGV4dC5zbGljZSgwLCBtYXgpLnRyaW1FbmQoKSArICfigKYnIDogdGV4dDtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0VsbGlwc2lzTW9kZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMuY29sPy50ZXh0T3ZlcmZsb3cgPz8gdGhpcy5kZWZhdWx0VGV4dE92ZXJmbG93ID8/ICdicmVhay1saW5lJykgPT09ICdlbGxpcHNpcyc7XG4gIH1cblxuICBwcm90ZWN0ZWQgZWxsaXBzaXNUaXRsZVRleHQoZGlzcGxheVRleHQ6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IG1heCA9IHRoaXMuY29sPy5tYXhDaGFycyA/PyBUQUJMRV9URVhUX09WRVJGTE9XX0RFRkFVTFRfTUFYX0NIQVJTO1xuICAgIHJldHVybiB0aGlzLmlzRWxsaXBzaXNNb2RlKCkgJiYgZGlzcGxheVRleHQubGVuZ3RoID4gbWF4ID8gZGlzcGxheVRleHQgOiBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIGZvcm1hdERhdGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZm9ybWF0VGFibGVEYXRlKHRoaXMucmVzb2x2ZVZhbHVlKHRoaXMucm93LCB0aGlzLmNvbD8uZmllbGQpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmb3JtYXRDdXJyZW5jeSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBmb3JtYXRUYWJsZUN1cnJlbmN5KHRoaXMucmVzb2x2ZVZhbHVlKHRoaXMucm93LCB0aGlzLmNvbD8uZmllbGQpLCB0aGlzLmNvbD8uZm9ybWF0ID8/ICdCUkwnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRDaGVja2VkVmFsdWUoZXZlbnQ6IEV2ZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuY2hlY2tlZDtcbiAgfVxuXG4gIHByb3RlY3RlZCB0YWdJdGVtcygpIHtcbiAgICByZXR1cm4gcmVzb2x2ZVRhYmxlVGFnSXRlbXModGhpcy5yb3csIHRoaXMuY29sLCB0aGlzLmNlbGxDb25maWdzLnRhZywgdGhpcy5yZXNvbHZlVmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGljb25QcmVzZW50YXRpb24oKSB7XG4gICAgcmV0dXJuIHJlc29sdmVUYWJsZUljb25QcmVzZW50YXRpb24odGhpcy5yb3csIHRoaXMuY29sLCB0aGlzLmNlbGxDb25maWdzLmljb24sIHRoaXMucmVzb2x2ZVZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB0aXRsZUljb25QcmVzZW50YXRpb24oKSB7XG4gICAgcmV0dXJuIHJlc29sdmVUYWJsZVRpdGxlSWNvblByZXNlbnRhdGlvbih0aGlzLnJvdywgdGhpcy5jb2wsIHRoaXMuY2VsbENvbmZpZ3NbJ2ljb24tdGl0bGUnXSwgdGhpcy5yZXNvbHZlVmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1dHRvbktleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiByZXNvbHZlVGFibGVCdXR0b25LZXkodGhpcy5yb3csIHRoaXMuY29sLCB0aGlzLmNlbGxDb25maWdzLmJ1dHRvbiwgdGhpcy5yZXNvbHZlVmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1dHRvbkFyaWFMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNlbGxDb25maWdzLmJ1dHRvbi5sYWJlbFxuICAgICAgPz8gdGhpcy5jZWxsQ29uZmlncy5idXR0b24udG9vbHRpcFxuICAgICAgPz8gJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHkuYWN0aW9uX2J1dHRvbic7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWN0aW9uc0J1dHRvbkxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY2VsbENvbmZpZ3MuYWN0aW9ucy5idXR0b25MYWJlbCA/PyAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5hY3Rpb25zX21lbnUnO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uQWN0aW9uc0NsaWNrKGV2ZW50OiBFdmVudCwgdHJpZ2dlcjogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnRvZ2dsZUFjdGlvbnNNZW51LmVtaXQoeyBldmVudCwgdHJpZ2dlciB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNkYy10YWJsZS1jb250ZW50XCI+XG4gIEBpZiAoY29sLmNvbnRlbnQ/Lmxlbmd0aCkge1xuICAgIDxkaXYgY2xhc3M9XCJzZGMtdGFibGUtbXVsdGktY29udGVudFwiPlxuICAgICAgQGZvciAoaXRlbSBvZiBjb2wuY29udGVudCE7IHRyYWNrICRpbmRleCkge1xuICAgICAgICBAc3dpdGNoIChpdGVtLnR5cGUgPz8gJ3RleHQnKSB7XG4gICAgICAgICAgQGNhc2UgKCdzdHJvbmcnKSB7XG4gICAgICAgICAgICA8c3Ryb25nXG4gICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIml0ZW0uc3R5bGVcIlxuICAgICAgICAgICAgICBbY2xhc3NdPVwiaXRlbS5jbGFzcyA/PyAnJ1wiXG4gICAgICAgICAgICA+e3sgY2VsbFRleHRWYWx1ZShpdGVtLmZpZWxkKSB8IHRyYW5zbGF0ZSB9fTwvc3Ryb25nPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAY2FzZSAoJ2NvZGUnKSB7XG4gICAgICAgICAgICA8Y29kZSBbbmdTdHlsZV09XCJpdGVtLnN0eWxlXCIgW2NsYXNzXT1cIml0ZW0uY2xhc3MgPz8gJydcIj57eyBjZWxsVGV4dFZhbHVlKGl0ZW0uZmllbGQpIH19PC9jb2RlPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAZGVmYXVsdCB7XG4gICAgICAgICAgICA8c3BhbiBbbmdTdHlsZV09XCJpdGVtLnN0eWxlXCIgW2NsYXNzXT1cIml0ZW0uY2xhc3MgPz8gJydcIj57eyBjZWxsVGV4dFZhbHVlKGl0ZW0uZmllbGQpIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9IEBlbHNlIHtcbiAgICBAc3dpdGNoIChjb2wudHlwZSA/PyAndGV4dCcpIHtcbiAgICBAY2FzZSAoJ2NoZWNrYm94LXNlbGVjdGlvbicpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJzZGMtdGFibGUtY2hlY2tib3hcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICBbaWRdPVwicm93Q2hlY2tib3hJZFwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cInJvd1NlbGVjdGlvbkRpc2FibGVkXCJcbiAgICAgICAgICBbY2hlY2tlZF09XCJyb3dTZWxlY3RlZFwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVSb3cuZW1pdChnZXRDaGVja2VkVmFsdWUoJGV2ZW50KSlcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5zZWxlY3Rfcm93J1xuICAgICAgICAgICAgICB8IHRyYW5zbGF0ZTogeyBuYW1lOiAocm93TGFiZWwgfCB0cmFuc2xhdGUpIH1cbiAgICAgICAgICBcIlxuICAgICAgICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCJyb3dTZWxlY3RlZFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxsYWJlbCBbYXR0ci5mb3JdPVwicm93Q2hlY2tib3hJZFwiIGNsYXNzPVwic3Itb25seVwiPlxuICAgICAgICAgIHt7XG4gICAgICAgICAgICAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5zZWxlY3Rfcm93J1xuICAgICAgICAgICAgICB8IHRyYW5zbGF0ZTogeyBuYW1lOiAocm93TGFiZWwgfCB0cmFuc2xhdGUpIH1cbiAgICAgICAgICB9fVxuICAgICAgICA8L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgQGNhc2UgKCdkYXRlJykge1xuICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtdGFibGUtdGV4dFwiIFthdHRyLnRpdGxlXT1cImVsbGlwc2lzVGl0bGVUZXh0KGZvcm1hdERhdGUoKSlcIj57eyBmb3JtYXREYXRlKCkgfX08L3NwYW4+XG4gICAgfVxuXG4gICAgQGNhc2UgKCdzdHJvbmcnKSB7XG4gICAgICA8c3BhbiBjbGFzcz1cInNkYy10YWJsZS1zdHJvbmctbGFiZWxcIlxuICAgICAgICBbYXR0ci50aXRsZV09XCJlbGxpcHNpc1RpdGxlVGV4dChjZWxsVGV4dFZhbHVlKCkgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgIHt7IGNlbGxUZXh0VmFsdWUoKSB8IHRyYW5zbGF0ZSB8IHNkY1RydW5jYXRlOmNvbDpkZWZhdWx0VGV4dE92ZXJmbG93IH19XG4gICAgICA8L3NwYW4+XG4gICAgfVxuXG4gICAgQGNhc2UgKCdjb2RlJykge1xuICAgICAgPGNvZGUgY2xhc3M9XCJzZGMtdGFibGUtY29kZS1sYWJlbFwiXG4gICAgICAgIFthdHRyLnRpdGxlXT1cImVsbGlwc2lzVGl0bGVUZXh0KGNlbGxUZXh0VmFsdWUoKSlcIj57eyBkaXNwbGF5VGV4dCgpIH19PC9jb2RlPlxuICAgIH1cblxuICAgIEBjYXNlICgnY3VycmVuY3knKSB7XG4gICAgICA8c3BhbiBjbGFzcz1cInNkYy10YWJsZS10ZXh0XCJcbiAgICAgICAgW2F0dHIudGl0bGVdPVwiZWxsaXBzaXNUaXRsZVRleHQoZm9ybWF0Q3VycmVuY3koKSlcIj57eyBmb3JtYXRDdXJyZW5jeSgpIH19PC9zcGFuPlxuICAgIH1cblxuICAgIEBjYXNlICgndGFnJykge1xuICAgICAgPGRpdiBjbGFzcz1cInNkYy10YWJsZS10YWdzXCI+XG4gICAgICAgIEBmb3IgKHRhZ0l0ZW0gb2YgdGFnSXRlbXMoKTsgdHJhY2sgdGFnSXRlbS5sYWJlbCArICctJyArICRpbmRleCkge1xuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cInNkYy10YWJsZS10YWdcIlxuICAgICAgICAgICAgW2NsYXNzLnNkYy10YWJsZS10YWctLWVuYWJsZWRdPVwidGFnSXRlbS50b25lID09PSAnZW5hYmxlZCdcIlxuICAgICAgICAgICAgW2NsYXNzLnNkYy10YWJsZS10YWctLWRpc2FibGVkXT1cInRhZ0l0ZW0udG9uZSA9PT0gJ2Rpc2FibGVkJ1wiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ0YWdJdGVtLnN0eWxlc1wiXG4gICAgICAgICAgICBbYXR0ci50aXRsZV09XCJ0YWdJdGVtLnRvb2x0aXAgPyAodGFnSXRlbS50b29sdGlwIHwgdHJhbnNsYXRlKSA6IG51bGxcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIEBpZiAodGFnSXRlbS5pY29uKSB7XG4gICAgICAgICAgICAgIDxzZGMtaWNvbi1yZW5kZXJlclxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2RjLXRhYmxlLXRhZ19faWNvblwiXG4gICAgICAgICAgICAgICAgW2ljb25dPVwidGFnSXRlbS5pY29uXCJcbiAgICAgICAgICAgICAgICBbaWNvblR5cGVdPVwidGFnSXRlbS5pY29uVHlwZVwiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwidGFnSWNvblNpemVcIlxuICAgICAgICAgICAgICA+PC9zZGMtaWNvbi1yZW5kZXJlcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHt7IHRhZ0l0ZW0ubGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIEBjYXNlICgnYnV0dG9uJykge1xuICAgICAgPGRpdiBjbGFzcz1cInNkYy10YWJsZS1idXR0b25cIj5cbiAgICAgICAgPHNkYy1idXR0b25cbiAgICAgICAgICBjbGFzcz1cInNkYy10YWJsZS1hY3Rpb24tYnV0dG9uXCJcbiAgICAgICAgICBbc2l6ZV09XCJjZWxsQ29uZmlncy5idXR0b24uc2l6ZSA/PyAnZGVmYXVsdCdcIlxuICAgICAgICAgIFtwcmlvcml0eV09XCJjZWxsQ29uZmlncy5idXR0b24ucHJpb3JpdHkgfHwgJ3ByaW1hcnknXCJcbiAgICAgICAgICBbaWNvbl09XCJjZWxsQ29uZmlncy5idXR0b24uaWNvblwiXG4gICAgICAgICAgW2xhYmVsXT1cImNlbGxDb25maWdzLmJ1dHRvbi5sYWJlbCA/PyAnJ1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImNlbGxDb25maWdzLmJ1dHRvbi5kaXNhYmxlZCA/PyBmYWxzZVwiXG4gICAgICAgICAgW3RpdGxlXT1cImNlbGxDb25maWdzLmJ1dHRvbi50b29sdGlwXCJcbiAgICAgICAgICBbYXR0ci5zaXplXT1cImNlbGxDb25maWdzLmJ1dHRvbi5zaXplXCJcbiAgICAgICAgICBbYXR0ci5wcmlvcml0eV09XCJjZWxsQ29uZmlncy5idXR0b24ucHJpb3JpdHkgfHwgJ3ByaW1hcnknXCJcbiAgICAgICAgICBbYXR0ci5zZXZlcml0eV09XCJjZWxsQ29uZmlncy5idXR0b24ucHJpb3JpdHkgfHwgJ3ByaW1hcnknXCJcbiAgICAgICAgICBbYXR0ci5pY29uXT1cImNlbGxDb25maWdzLmJ1dHRvbi5pY29uXCJcbiAgICAgICAgICBbYXR0ci5sYWJlbF09XCJjZWxsQ29uZmlncy5idXR0b24ubGFiZWxcIlxuICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImNlbGxDb25maWdzLmJ1dHRvbi5kaXNhYmxlZCA/ICcnIDogbnVsbFwiXG4gICAgICAgICAgW2F0dHIudGl0bGVdPVwiY2VsbENvbmZpZ3MuYnV0dG9uLnRvb2x0aXAgfHwgbnVsbFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgIChidXR0b25BcmlhTGFiZWwoKSB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICAgICAgKyAnIC0gJ1xuICAgICAgICAgICAgICArIChyb3dMYWJlbCB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICBcIlxuICAgICAgICAgIFthdHRyLmRhdGEta2V5XT1cImJ1dHRvbktleSgpXCJcbiAgICAgICAgICAoY2xpY2spPVwiY2VsbENvbmZpZ3MuYnV0dG9uLmRpc2FibGVkID8gbnVsbCA6IHRyaWdnZXJCdXR0b25BY3Rpb24uZW1pdCgpXCJcbiAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJjZWxsQ29uZmlncy5idXR0b24uZGlzYWJsZWQgPyBudWxsIDogdHJpZ2dlckJ1dHRvbkFjdGlvbi5lbWl0KClcIlxuICAgICAgICAgIChrZXlkb3duLnNwYWNlKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyBjZWxsQ29uZmlncy5idXR0b24uZGlzYWJsZWQgPyBudWxsIDogdHJpZ2dlckJ1dHRvbkFjdGlvbi5lbWl0KClcIlxuICAgICAgICA+PC9zZGMtYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgQGNhc2UgKCdhY3Rpb25zJykge1xuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInNkYy10YWJsZS1hY3Rpb25zXCJcbiAgICAgICAgW2NsYXNzLnNkYy10YWJsZS1hY3Rpb25zLS1vcGVuXT1cImFjdGlvbnNNZW51T3BlblwiXG4gICAgICA+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAjYWN0aW9uc1RyaWdnZXJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cInNkYy10YWJsZS1hY3Rpb25zLXRyaWdnZXJcIlxuICAgICAgICAgIFtjbGFzcy5zZGMtdGFibGUtYWN0aW9ucy10cmlnZ2VyLS1vcGVuXT1cImFjdGlvbnNNZW51T3BlblwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgIChhY3Rpb25zQnV0dG9uTGFiZWwoKSB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICAgICAgKyAnIC0gJ1xuICAgICAgICAgICAgICArIChyb3dMYWJlbCB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICBcIlxuICAgICAgICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiJ21lbnUnXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImFjdGlvbnNNZW51T3BlbiA/IGFjdGlvbnNNZW51SWQgOiBudWxsXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImFjdGlvbnNNZW51T3BlblwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uc0NsaWNrKCRldmVudCwgYWN0aW9uc1RyaWdnZXIpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLXRhYmxlLWFjdGlvbnMtdHJpZ2dlcl9fbGFiZWxcIj5cbiAgICAgICAgICAgIHt7IGFjdGlvbnNCdXR0b25MYWJlbCgpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWNoZXZyb24tZG93biBzZGMtdGFibGUtYWN0aW9ucy10cmlnZ2VyX19pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIEBjYXNlICgnaWNvbicpIHtcbiAgICAgIEBpZiAoaWNvblByZXNlbnRhdGlvbigpOyBhcyBpY29uSXRlbSkge1xuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwic2RjLXRhYmxlLWljb25cIlxuICAgICAgICAgIFtuZ1N0eWxlXT1cImljb25JdGVtLmNvbG9yU3R5bGVcIlxuICAgICAgICAgIFthdHRyLnRpdGxlXT1cImljb25JdGVtLnRvb2x0aXAgPyAoaWNvbkl0ZW0udG9vbHRpcCB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgKGljb25JdGVtLmxhYmVsIHx8IGljb25JdGVtLnRvb2x0aXApXG4gICAgICAgICAgICAgID8gKChpY29uSXRlbS5sYWJlbCB8fCBpY29uSXRlbS50b29sdGlwKSEgfCB0cmFuc2xhdGUpXG4gICAgICAgICAgICAgIDogbnVsbFxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICBAaWYgKGljb25JdGVtLmljb24pIHtcbiAgICAgICAgICAgIDxzZGMtaWNvbi1yZW5kZXJlclxuICAgICAgICAgICAgICBbaWNvbl09XCJpY29uSXRlbS5pY29uXCJcbiAgICAgICAgICAgICAgW2ljb25UeXBlXT1cImljb25JdGVtLmljb25UeXBlXCJcbiAgICAgICAgICAgICAgW3NpemVdPVwiaWNvblNpemVcIlxuICAgICAgICAgICAgPjwvc2RjLWljb24tcmVuZGVyZXI+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAoaWNvbkl0ZW0ubGFiZWwpIHtcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLXRhYmxlLWljb25fX2xhYmVsXCI+e3sgaWNvbkl0ZW0ubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICA8L3NwYW4+XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGNhc2UgKCdpY29uLXRpdGxlJykge1xuICAgICAgQGlmICh0aXRsZUljb25QcmVzZW50YXRpb24oKTsgYXMgdGl0bGVJY29uSXRlbSkge1xuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwic2RjLXRhYmxlLWljb24tdGl0bGVcIlxuICAgICAgICAgIFtuZ1N0eWxlXT1cInRpdGxlSWNvbkl0ZW0uY29sb3JTdHlsZVwiXG4gICAgICAgICAgW2F0dHIudGl0bGVdPVwidGl0bGVJY29uSXRlbS50b29sdGlwID8gKHRpdGxlSWNvbkl0ZW0udG9vbHRpcCB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgICAgICAgPlxuICAgICAgICAgIEBpZiAodGl0bGVJY29uSXRlbS5pY29uKSB7XG4gICAgICAgICAgICA8c2RjLWljb24tcmVuZGVyZXJcbiAgICAgICAgICAgICAgW2ljb25dPVwidGl0bGVJY29uSXRlbS5pY29uXCJcbiAgICAgICAgICAgICAgW2ljb25UeXBlXT1cInRpdGxlSWNvbkl0ZW0uaWNvblR5cGVcIlxuICAgICAgICAgICAgICBbc2l6ZV09XCJpY29uU2l6ZVwiXG4gICAgICAgICAgICA+PC9zZGMtaWNvbi1yZW5kZXJlcj5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmICh0aXRsZUljb25JdGVtLmxhYmVsKSB7XG4gICAgICAgICAgICA8c3BhbiBbYXR0ci50aXRsZV09XCJlbGxpcHNpc1RpdGxlVGV4dCh0aXRsZUljb25JdGVtLmxhYmVsIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICAgICAgICB7eyB0aXRsZUljb25JdGVtLmxhYmVsIHwgdHJhbnNsYXRlIHwgc2RjVHJ1bmNhdGU6Y29sOmRlZmF1bHRUZXh0T3ZlcmZsb3cgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZGVmYXVsdCB7XG4gICAgICA8c3BhbiBjbGFzcz1cInNkYy10YWJsZS10ZXh0XCJcbiAgICAgICAgW2F0dHIudGl0bGVdPVwiZWxsaXBzaXNUaXRsZVRleHQoY2VsbFRleHRWYWx1ZSgpIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICB7eyBjZWxsVGV4dFZhbHVlKCkgfCB0cmFuc2xhdGUgfCBzZGNUcnVuY2F0ZTpjb2w6ZGVmYXVsdFRleHRPdmVyZmxvdyB9fVxuICAgICAgPC9zcGFuPlxuICAgIH1cbiAgICB9XG4gIH1cbjwvZGl2PlxuIl19
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvdGFibGUvY29tcG9uZW50cy90YWJsZS1jZWxsLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy90YWJsZS9jb21wb25lbnRzL3RhYmxlLWNlbGwtY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUNMLHlCQUF5QixFQUN6Qiw2QkFBNkIsRUFDN0IscUNBQXFDLEVBQ3RDLE1BQU0scUNBQXFDLENBQUM7QUFPN0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekUsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2pCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUNMLHFCQUFxQixFQUNyQiw0QkFBNEIsRUFDNUIsb0JBQW9CLEVBQ3BCLGlDQUFpQyxFQUNsQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7Ozs7QUFnQnZHLE1BQU0sT0FBTyx5QkFBeUI7SUFDVCxXQUFXLENBQXlCO0lBQ3BDLEdB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bUJBQW1CO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7XG4gIFRBQkxFX0lDT05fUkVOREVSX1NJWkVfUFgsXG4gIFRBQkxFX1RBR19JQ09OX1JFTkRFUl9TSVpFX1BYLFxuICBUQUJMRV9URVhUX09WRVJGTE9XX0RFRkFVTFRfTUFYX0NIQVJTXG59IGZyb20gJy4uLy4uLy4uL2NvcmUvY29uc3RhbnRzL3RhYmxlLmNvbnN0JztcbmltcG9ydCB0eXBlIHtcbiAgUm93QmFzZSxcbiAgVGFibGVDZWxsQ29uZmlnTWFwLFxuICBUYWJsZUNvbHVtblxufSBmcm9tICcuLi8uLi8uLi9jb3JlL3R5cGVzL3RhYmxlLnR5cGUnO1xuaW1wb3J0IHR5cGUgeyBUYWJsZVRleHRPdmVyZmxvdyB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdHlwZXMvdGFibGUtY29sdW1uLnR5cGUnO1xuaW1wb3J0IHsgcmVzb2x2ZVRhYmxlQ29sdW1uQWxpZ25tZW50IH0gZnJvbSAnLi4vdXRpbHMvdGFibGUtbGF5b3V0LnV0aWwnO1xuaW1wb3J0IHtcbiAgZm9ybWF0VGFibGVDdXJyZW5jeSxcbiAgZm9ybWF0VGFibGVEYXRlLFxuICB0b1RhYmxlVGV4dFZhbHVlXG59IGZyb20gJy4uL3V0aWxzL3RhYmxlLWRhdGEudXRpbCc7XG5pbXBvcnQge1xuICByZXNvbHZlVGFibGVCdXR0b25LZXksXG4gIHJlc29sdmVUYWJsZUljb25QcmVzZW50YXRpb24sXG4gIHJlc29sdmVUYWJsZVRhZ0l0ZW1zLFxuICByZXNvbHZlVGFibGVUaXRsZUljb25QcmVzZW50YXRpb25cbn0gZnJvbSAnLi4vdXRpbHMvdGFibGUtdmlzdWFsLnV0aWwnO1xuaW1wb3J0IHsgU2RjVHJ1bmNhdGVQaXBlIH0gZnJvbSAnLi4vdXRpbHMvdGFibGUtdHJ1bmNhdGUucGlwZSc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2NvbXBvbmVudHMvaWNvbi1yZW5kZXJlci9pY29uLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy10YWJsZS1jZWxsLWNvbnRlbnQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIEJ1dHRvbkNvbXBvbmVudCwgSWNvblJlbmRlcmVyQ29tcG9uZW50LCBTZGNUcnVuY2F0ZVBpcGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtY2VsbC1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3RhYmxlLWNlbGwtY29udGVudC5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5zZGMtdGFibGUtY2VsbC1jb250ZW50LS1hbGlnbi1sZWZ0XSc6IFwicmVzb2x2ZWRBbGlnbm1lbnQgPT09ICdsZWZ0J1wiLFxuICAgICdbY2xhc3Muc2RjLXRhYmxlLWNlbGwtY29udGVudC0tYWxpZ24tY2VudGVyXSc6IFwicmVzb2x2ZWRBbGlnbm1lbnQgPT09ICdjZW50ZXInXCIsXG4gICAgJ1tjbGFzcy5zZGMtdGFibGUtY2VsbC1jb250ZW50LS1hbGlnbi1yaWdodF0nOiBcInJlc29sdmVkQWxpZ25tZW50ID09PSAncmlnaHQnXCIsXG4gICAgJ1tjbGFzcy5zZGMtdGFibGUtY2VsbC1jb250ZW50LS1ub3dyYXBdJzogXCJjb2w/LnRleHRPdmVyZmxvdyA9PT0gJ25vbmUnXCJcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNlbGxDb250ZW50Q29tcG9uZW50PFQgZXh0ZW5kcyBSb3dCYXNlID0gUm93QmFzZT4ge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjZWxsQ29uZmlncyE6IFRhYmxlQ2VsbENvbmZpZ01hcDxUPjtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29sITogVGFibGVDb2x1bW48VD47XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHJlc29sdmVWYWx1ZSE6IChyb3c6IFQsIGZpZWxkPzogc3RyaW5nKSA9PiB1bmtub3duO1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSByb3chOiBUO1xuXG4gIEBJbnB1dCgpIGFjdGlvbnNNZW51T3BlbiA9IGZhbHNlO1xuICBASW5wdXQoKSBhY3Rpb25zTWVudUlkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgZGVmYXVsdFRleHRPdmVyZmxvdz86IFRhYmxlVGV4dE92ZXJmbG93O1xuICBASW5wdXQoKSByb3dDaGVja2JveElkID0gJyc7XG4gIEBJbnB1dCgpIHJvd0xhYmVsID0gJ2l0ZW0nO1xuICBASW5wdXQoKSByb3dTZWxlY3Rpb25EaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBmb3JjZUxlZnRBbGlnbiA9IGZhbHNlO1xuICBASW5wdXQoKSByb3dTZWxlY3RlZCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSB0b2dnbGVBY3Rpb25zTWVudSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBldmVudDogRXZlbnQ7IHRyaWdnZXI6IEhUTUxFbGVtZW50IH0+KCk7XG4gIEBPdXRwdXQoKSB0b2dnbGVSb3cgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSB0cmlnZ2VyQnV0dG9uQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBpY29uU2l6ZSA9IFRBQkxFX0lDT05fUkVOREVSX1NJWkVfUFg7XG4gIHByb3RlY3RlZCByZWFkb25seSB0YWdJY29uU2l6ZSA9IFRBQkxFX1RBR19JQ09OX1JFTkRFUl9TSVpFX1BYO1xuXG4gIGdldCByZXNvbHZlZEFsaWdubWVudCgpOiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCcge1xuICAgIGlmICh0aGlzLmZvcmNlTGVmdEFsaWduKSB7XG4gICAgICByZXR1cm4gJ2xlZnQnO1xuICAgIH1cblxuICAgIHJldHVybiByZXNvbHZlVGFibGVDb2x1bW5BbGlnbm1lbnQodGhpcy5jb2wsICdjZWxsJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2VsbFRleHRWYWx1ZShmaWVsZCA9IHRoaXMuY29sPy5maWVsZCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRvVGFibGVUZXh0VmFsdWUodGhpcy5yZXNvbHZlVmFsdWUodGhpcy5yb3csIGZpZWxkKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZGlzcGxheVRleHQoZmllbGQgPSB0aGlzLmNvbD8uZmllbGQpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRleHQgPSB0aGlzLmNlbGxUZXh0VmFsdWUoZmllbGQpO1xuICAgIGNvbnN0IG1vZGU6IFRhYmxlVGV4dE92ZXJmbG93ID0gdGhpcy5jb2w/LnRleHRPdmVyZmxvdyA/PyB0aGlzLmRlZmF1bHRUZXh0T3ZlcmZsb3cgPz8gJ2JyZWFrLWxpbmUnO1xuICAgIGlmIChtb2RlICE9PSAnZWxsaXBzaXMnKSB7IHJldHVybiB0ZXh0OyB9XG4gICAgY29uc3QgbWF4ID0gdGhpcy5jb2w/Lm1heENoYXJzID8/IFRBQkxFX1RFWFRfT1ZFUkZMT1dfREVGQVVMVF9NQVhfQ0hBUlM7XG4gICAgcmV0dXJuIHRleHQubGVuZ3RoID4gbWF4ID8gdGV4dC5zbGljZSgwLCBtYXgpLnRyaW1FbmQoKSArICfigKYnIDogdGV4dDtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0VsbGlwc2lzTW9kZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMuY29sPy50ZXh0T3ZlcmZsb3cgPz8gdGhpcy5kZWZhdWx0VGV4dE92ZXJmbG93ID8/ICdicmVhay1saW5lJykgPT09ICdlbGxpcHNpcyc7XG4gIH1cblxuICBwcm90ZWN0ZWQgZWxsaXBzaXNUaXRsZVRleHQoZGlzcGxheVRleHQ6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IG1heCA9IHRoaXMuY29sPy5tYXhDaGFycyA/PyBUQUJMRV9URVhUX09WRVJGTE9XX0RFRkFVTFRfTUFYX0NIQVJTO1xuICAgIHJldHVybiB0aGlzLmlzRWxsaXBzaXNNb2RlKCkgJiYgZGlzcGxheVRleHQubGVuZ3RoID4gbWF4ID8gZGlzcGxheVRleHQgOiBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIGZvcm1hdERhdGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZm9ybWF0VGFibGVEYXRlKHRoaXMucmVzb2x2ZVZhbHVlKHRoaXMucm93LCB0aGlzLmNvbD8uZmllbGQpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmb3JtYXRDdXJyZW5jeSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBmb3JtYXRUYWJsZUN1cnJlbmN5KHRoaXMucmVzb2x2ZVZhbHVlKHRoaXMucm93LCB0aGlzLmNvbD8uZmllbGQpLCB0aGlzLmNvbD8uZm9ybWF0ID8/ICdCUkwnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRDaGVja2VkVmFsdWUoZXZlbnQ6IEV2ZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuY2hlY2tlZDtcbiAgfVxuXG4gIHByb3RlY3RlZCB0YWdJdGVtcygpIHtcbiAgICByZXR1cm4gcmVzb2x2ZVRhYmxlVGFnSXRlbXModGhpcy5yb3csIHRoaXMuY29sLCB0aGlzLmNlbGxDb25maWdzLnRhZywgdGhpcy5yZXNvbHZlVmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGljb25QcmVzZW50YXRpb24oKSB7XG4gICAgcmV0dXJuIHJlc29sdmVUYWJsZUljb25QcmVzZW50YXRpb24odGhpcy5yb3csIHRoaXMuY29sLCB0aGlzLmNlbGxDb25maWdzLmljb24sIHRoaXMucmVzb2x2ZVZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB0aXRsZUljb25QcmVzZW50YXRpb24oKSB7XG4gICAgcmV0dXJuIHJlc29sdmVUYWJsZVRpdGxlSWNvblByZXNlbnRhdGlvbih0aGlzLnJvdywgdGhpcy5jb2wsIHRoaXMuY2VsbENvbmZpZ3NbJ2ljb24tdGl0bGUnXSwgdGhpcy5yZXNvbHZlVmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1dHRvbktleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiByZXNvbHZlVGFibGVCdXR0b25LZXkodGhpcy5yb3csIHRoaXMuY29sLCB0aGlzLmNlbGxDb25maWdzLmJ1dHRvbiwgdGhpcy5yZXNvbHZlVmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1dHRvbkFyaWFMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNlbGxDb25maWdzLmJ1dHRvbi5sYWJlbFxuICAgICAgPz8gdGhpcy5jZWxsQ29uZmlncy5idXR0b24udG9vbHRpcFxuICAgICAgPz8gJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHkuYWN0aW9uX2J1dHRvbic7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWN0aW9uc0J1dHRvbkxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY2VsbENvbmZpZ3MuYWN0aW9ucy5idXR0b25MYWJlbCA/PyAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5hY3Rpb25zX21lbnUnO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uQWN0aW9uc0NsaWNrKGV2ZW50OiBFdmVudCwgdHJpZ2dlcjogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnRvZ2dsZUFjdGlvbnNNZW51LmVtaXQoeyBldmVudCwgdHJpZ2dlciB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNkYy10YWJsZS1jb250ZW50XCI+XG4gIEBpZiAoY29sLmNvbnRlbnQ/Lmxlbmd0aCkge1xuICAgIDxkaXYgY2xhc3M9XCJzZGMtdGFibGUtbXVsdGktY29udGVudFwiPlxuICAgICAgQGZvciAoaXRlbSBvZiBjb2wuY29udGVudCE7IHRyYWNrICRpbmRleCkge1xuICAgICAgICBAc3dpdGNoIChpdGVtLnR5cGUgPz8gJ3RleHQnKSB7XG4gICAgICAgICAgQGNhc2UgKCdzdHJvbmcnKSB7XG4gICAgICAgICAgICA8c3Ryb25nXG4gICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIml0ZW0uc3R5bGVcIlxuICAgICAgICAgICAgICBbY2xhc3NdPVwiaXRlbS5jbGFzcyA/PyAnJ1wiXG4gICAgICAgICAgICA+e3sgY2VsbFRleHRWYWx1ZShpdGVtLmZpZWxkKSB8IHRyYW5zbGF0ZSB9fTwvc3Ryb25nPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAY2FzZSAoJ2NvZGUnKSB7XG4gICAgICAgICAgICA8Y29kZSBbbmdTdHlsZV09XCJpdGVtLnN0eWxlXCIgW2NsYXNzXT1cIml0ZW0uY2xhc3MgPz8gJydcIj57eyBjZWxsVGV4dFZhbHVlKGl0ZW0uZmllbGQpIH19PC9jb2RlPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAZGVmYXVsdCB7XG4gICAgICAgICAgICA8c3BhbiBbbmdTdHlsZV09XCJpdGVtLnN0eWxlXCIgW2NsYXNzXT1cIml0ZW0uY2xhc3MgPz8gJydcIj57eyBjZWxsVGV4dFZhbHVlKGl0ZW0uZmllbGQpIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9IEBlbHNlIHtcbiAgICBAc3dpdGNoIChjb2wudHlwZSA/PyAndGV4dCcpIHtcbiAgICBAY2FzZSAoJ2NoZWNrYm94LXNlbGVjdGlvbicpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJzZGMtdGFibGUtY2hlY2tib3hcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICBbaWRdPVwicm93Q2hlY2tib3hJZFwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cInJvd1NlbGVjdGlvbkRpc2FibGVkXCJcbiAgICAgICAgICBbY2hlY2tlZF09XCJyb3dTZWxlY3RlZFwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVSb3cuZW1pdChnZXRDaGVja2VkVmFsdWUoJGV2ZW50KSlcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5zZWxlY3Rfcm93J1xuICAgICAgICAgICAgICB8IHRyYW5zbGF0ZTogeyBuYW1lOiAocm93TGFiZWwgfCB0cmFuc2xhdGUpIH1cbiAgICAgICAgICBcIlxuICAgICAgICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCJyb3dTZWxlY3RlZFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxsYWJlbCBbYXR0ci5mb3JdPVwicm93Q2hlY2tib3hJZFwiIGNsYXNzPVwic3Itb25seVwiPlxuICAgICAgICAgIHt7XG4gICAgICAgICAgICAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5zZWxlY3Rfcm93J1xuICAgICAgICAgICAgICB8IHRyYW5zbGF0ZTogeyBuYW1lOiAocm93TGFiZWwgfCB0cmFuc2xhdGUpIH1cbiAgICAgICAgICB9fVxuICAgICAgICA8L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgQGNhc2UgKCdkYXRlJykge1xuICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtdGFibGUtdGV4dFwiIFthdHRyLnRpdGxlXT1cImVsbGlwc2lzVGl0bGVUZXh0KGZvcm1hdERhdGUoKSlcIj57eyBmb3JtYXREYXRlKCkgfX08L3NwYW4+XG4gICAgfVxuXG4gICAgQGNhc2UgKCdzdHJvbmcnKSB7XG4gICAgICA8c3BhbiBjbGFzcz1cInNkYy10YWJsZS1zdHJvbmctbGFiZWxcIlxuICAgICAgICBbYXR0ci50aXRsZV09XCJlbGxpcHNpc1RpdGxlVGV4dChjZWxsVGV4dFZhbHVlKCkgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgIHt7IGNlbGxUZXh0VmFsdWUoKSB8IHRyYW5zbGF0ZSB8IHNkY1RydW5jYXRlOmNvbDpkZWZhdWx0VGV4dE92ZXJmbG93IH19XG4gICAgICA8L3NwYW4+XG4gICAgfVxuXG4gICAgQGNhc2UgKCdjb2RlJykge1xuICAgICAgPGNvZGUgY2xhc3M9XCJzZGMtdGFibGUtY29kZS1sYWJlbFwiXG4gICAgICAgIFthdHRyLnRpdGxlXT1cImVsbGlwc2lzVGl0bGVUZXh0KGNlbGxUZXh0VmFsdWUoKSlcIj57eyBkaXNwbGF5VGV4dCgpIH19PC9jb2RlPlxuICAgIH1cblxuICAgIEBjYXNlICgnY3VycmVuY3knKSB7XG4gICAgICA8c3BhbiBjbGFzcz1cInNkYy10YWJsZS10ZXh0XCJcbiAgICAgICAgW2F0dHIudGl0bGVdPVwiZWxsaXBzaXNUaXRsZVRleHQoZm9ybWF0Q3VycmVuY3koKSlcIj57eyBmb3JtYXRDdXJyZW5jeSgpIH19PC9zcGFuPlxuICAgIH1cblxuICAgIEBjYXNlICgndGFnJykge1xuICAgICAgPGRpdiBjbGFzcz1cInNkYy10YWJsZS10YWdzXCI+XG4gICAgICAgIEBmb3IgKHRhZ0l0ZW0gb2YgdGFnSXRlbXMoKTsgdHJhY2sgdGFnSXRlbS5sYWJlbCArICctJyArICRpbmRleCkge1xuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cInNkYy10YWJsZS10YWdcIlxuICAgICAgICAgICAgW2NsYXNzLnNkYy10YWJsZS10YWctLWVuYWJsZWRdPVwidGFnSXRlbS50b25lID09PSAnZW5hYmxlZCdcIlxuICAgICAgICAgICAgW2NsYXNzLnNkYy10YWJsZS10YWctLWRpc2FibGVkXT1cInRhZ0l0ZW0udG9uZSA9PT0gJ2Rpc2FibGVkJ1wiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ0YWdJdGVtLnN0eWxlc1wiXG4gICAgICAgICAgICBbYXR0ci50aXRsZV09XCJ0YWdJdGVtLnRvb2x0aXAgPyAodGFnSXRlbS50b29sdGlwIHwgdHJhbnNsYXRlKSA6IG51bGxcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIEBpZiAodGFnSXRlbS5pY29uKSB7XG4gICAgICAgICAgICAgIDxzZGMtaWNvbi1yZW5kZXJlclxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2RjLXRhYmxlLXRhZ19faWNvblwiXG4gICAgICAgICAgICAgICAgW2ljb25dPVwidGFnSXRlbS5pY29uXCJcbiAgICAgICAgICAgICAgICBbaWNvblR5cGVdPVwidGFnSXRlbS5pY29uVHlwZVwiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwidGFnSWNvblNpemVcIlxuICAgICAgICAgICAgICA+PC9zZGMtaWNvbi1yZW5kZXJlcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHt7IHRhZ0l0ZW0ubGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIEBjYXNlICgnYnV0dG9uJykge1xuICAgICAgPGRpdiBjbGFzcz1cInNkYy10YWJsZS1idXR0b25cIj5cbiAgICAgICAgPHNkYy1idXR0b25cbiAgICAgICAgICBjbGFzcz1cInNkYy10YWJsZS1hY3Rpb24tYnV0dG9uXCJcbiAgICAgICAgICBbc2l6ZV09XCJjZWxsQ29uZmlncy5idXR0b24uc2l6ZSA/PyAnZGVmYXVsdCdcIlxuICAgICAgICAgIFtwcmlvcml0eV09XCJjZWxsQ29uZmlncy5idXR0b24ucHJpb3JpdHkgfHwgJ3ByaW1hcnknXCJcbiAgICAgICAgICBbaWNvbl09XCJjZWxsQ29uZmlncy5idXR0b24uaWNvblwiXG4gICAgICAgICAgW2xhYmVsXT1cImNlbGxDb25maWdzLmJ1dHRvbi5sYWJlbCA/PyAnJ1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImNlbGxDb25maWdzLmJ1dHRvbi5kaXNhYmxlZCA/PyBmYWxzZVwiXG4gICAgICAgICAgW3RpdGxlXT1cImNlbGxDb25maWdzLmJ1dHRvbi50b29sdGlwXCJcbiAgICAgICAgICBbYXR0ci5zaXplXT1cImNlbGxDb25maWdzLmJ1dHRvbi5zaXplXCJcbiAgICAgICAgICBbYXR0ci5wcmlvcml0eV09XCJjZWxsQ29uZmlncy5idXR0b24ucHJpb3JpdHkgfHwgJ3ByaW1hcnknXCJcbiAgICAgICAgICBbYXR0ci5zZXZlcml0eV09XCJjZWxsQ29uZmlncy5idXR0b24ucHJpb3JpdHkgfHwgJ3ByaW1hcnknXCJcbiAgICAgICAgICBbYXR0ci5pY29uXT1cImNlbGxDb25maWdzLmJ1dHRvbi5pY29uXCJcbiAgICAgICAgICBbYXR0ci5sYWJlbF09XCJjZWxsQ29uZmlncy5idXR0b24ubGFiZWxcIlxuICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImNlbGxDb25maWdzLmJ1dHRvbi5kaXNhYmxlZCA/ICcnIDogbnVsbFwiXG4gICAgICAgICAgW2F0dHIudGl0bGVdPVwiY2VsbENvbmZpZ3MuYnV0dG9uLnRvb2x0aXAgfHwgbnVsbFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgIChidXR0b25BcmlhTGFiZWwoKSB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICAgICAgKyAnIC0gJ1xuICAgICAgICAgICAgICArIChyb3dMYWJlbCB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICBcIlxuICAgICAgICAgIFthdHRyLmRhdGEta2V5XT1cImJ1dHRvbktleSgpXCJcbiAgICAgICAgICAoY2xpY2spPVwiY2VsbENvbmZpZ3MuYnV0dG9uLmRpc2FibGVkID8gbnVsbCA6IHRyaWdnZXJCdXR0b25BY3Rpb24uZW1pdCgpXCJcbiAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJjZWxsQ29uZmlncy5idXR0b24uZGlzYWJsZWQgPyBudWxsIDogdHJpZ2dlckJ1dHRvbkFjdGlvbi5lbWl0KClcIlxuICAgICAgICAgIChrZXlkb3duLnNwYWNlKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyBjZWxsQ29uZmlncy5idXR0b24uZGlzYWJsZWQgPyBudWxsIDogdHJpZ2dlckJ1dHRvbkFjdGlvbi5lbWl0KClcIlxuICAgICAgICA+PC9zZGMtYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgQGNhc2UgKCdhY3Rpb25zJykge1xuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInNkYy10YWJsZS1hY3Rpb25zXCJcbiAgICAgICAgW2NsYXNzLnNkYy10YWJsZS1hY3Rpb25zLS1vcGVuXT1cImFjdGlvbnNNZW51T3BlblwiXG4gICAgICA+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAjYWN0aW9uc1RyaWdnZXJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cInNkYy10YWJsZS1hY3Rpb25zLXRyaWdnZXJcIlxuICAgICAgICAgIFtjbGFzcy5zZGMtdGFibGUtYWN0aW9ucy10cmlnZ2VyLS1vcGVuXT1cImFjdGlvbnNNZW51T3BlblwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgIChhY3Rpb25zQnV0dG9uTGFiZWwoKSB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICAgICAgKyAnIC0gJ1xuICAgICAgICAgICAgICArIChyb3dMYWJlbCB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICBcIlxuICAgICAgICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiJ21lbnUnXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImFjdGlvbnNNZW51T3BlbiA/IGFjdGlvbnNNZW51SWQgOiBudWxsXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImFjdGlvbnNNZW51T3BlblwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uc0NsaWNrKCRldmVudCwgYWN0aW9uc1RyaWdnZXIpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLXRhYmxlLWFjdGlvbnMtdHJpZ2dlcl9fbGFiZWxcIj5cbiAgICAgICAgICAgIHt7IGFjdGlvbnNCdXR0b25MYWJlbCgpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWNoZXZyb24tZG93biBzZGMtdGFibGUtYWN0aW9ucy10cmlnZ2VyX19pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIEBjYXNlICgnaWNvbicpIHtcbiAgICAgIEBpZiAoaWNvblByZXNlbnRhdGlvbigpOyBhcyBpY29uSXRlbSkge1xuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwic2RjLXRhYmxlLWljb25cIlxuICAgICAgICAgIFtuZ1N0eWxlXT1cImljb25JdGVtLmNvbG9yU3R5bGVcIlxuICAgICAgICAgIFthdHRyLnRpdGxlXT1cImljb25JdGVtLnRvb2x0aXAgPyAoaWNvbkl0ZW0udG9vbHRpcCB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgKGljb25JdGVtLmxhYmVsIHx8IGljb25JdGVtLnRvb2x0aXApXG4gICAgICAgICAgICAgID8gKChpY29uSXRlbS5sYWJlbCB8fCBpY29uSXRlbS50b29sdGlwKSEgfCB0cmFuc2xhdGUpXG4gICAgICAgICAgICAgIDogbnVsbFxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICBAaWYgKGljb25JdGVtLmljb24pIHtcbiAgICAgICAgICAgIDxzZGMtaWNvbi1yZW5kZXJlclxuICAgICAgICAgICAgICBbaWNvbl09XCJpY29uSXRlbS5pY29uXCJcbiAgICAgICAgICAgICAgW2ljb25UeXBlXT1cImljb25JdGVtLmljb25UeXBlXCJcbiAgICAgICAgICAgICAgW3NpemVdPVwiaWNvblNpemVcIlxuICAgICAgICAgICAgPjwvc2RjLWljb24tcmVuZGVyZXI+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAoaWNvbkl0ZW0ubGFiZWwpIHtcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLXRhYmxlLWljb25fX2xhYmVsXCI+e3sgaWNvbkl0ZW0ubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICA8L3NwYW4+XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGNhc2UgKCdpY29uLXRpdGxlJykge1xuICAgICAgQGlmICh0aXRsZUljb25QcmVzZW50YXRpb24oKTsgYXMgdGl0bGVJY29uSXRlbSkge1xuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwic2RjLXRhYmxlLWljb24tdGl0bGVcIlxuICAgICAgICAgIFtuZ1N0eWxlXT1cInRpdGxlSWNvbkl0ZW0uY29sb3JTdHlsZVwiXG4gICAgICAgICAgW2F0dHIudGl0bGVdPVwidGl0bGVJY29uSXRlbS50b29sdGlwID8gKHRpdGxlSWNvbkl0ZW0udG9vbHRpcCB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgICAgICAgPlxuICAgICAgICAgIEBpZiAodGl0bGVJY29uSXRlbS5pY29uKSB7XG4gICAgICAgICAgICA8c2RjLWljb24tcmVuZGVyZXJcbiAgICAgICAgICAgICAgW2ljb25dPVwidGl0bGVJY29uSXRlbS5pY29uXCJcbiAgICAgICAgICAgICAgW2ljb25UeXBlXT1cInRpdGxlSWNvbkl0ZW0uaWNvblR5cGVcIlxuICAgICAgICAgICAgICBbc2l6ZV09XCJpY29uU2l6ZVwiXG4gICAgICAgICAgICA+PC9zZGMtaWNvbi1yZW5kZXJlcj5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmICh0aXRsZUljb25JdGVtLmxhYmVsKSB7XG4gICAgICAgICAgICA8c3BhbiBbYXR0ci50aXRsZV09XCJlbGxpcHNpc1RpdGxlVGV4dCh0aXRsZUljb25JdGVtLmxhYmVsIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICAgICAgICB7eyB0aXRsZUljb25JdGVtLmxhYmVsIHwgdHJhbnNsYXRlIHwgc2RjVHJ1bmNhdGU6Y29sOmRlZmF1bHRUZXh0T3ZlcmZsb3cgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZGVmYXVsdCB7XG4gICAgICA8c3BhbiBjbGFzcz1cInNkYy10YWJsZS10ZXh0XCJcbiAgICAgICAgW2F0dHIudGl0bGVdPVwiZWxsaXBzaXNUaXRsZVRleHQoY2VsbFRleHRWYWx1ZSgpIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICB7eyBjZWxsVGV4dFZhbHVlKCkgfCB0cmFuc2xhdGUgfCBzZGNUcnVuY2F0ZTpjb2w6ZGVmYXVsdFRleHRPdmVyZmxvdyB9fVxuICAgICAgPC9zcGFuPlxuICAgIH1cbiAgICB9XG4gIH1cbjwvZGl2PlxuIl19
|