@sarasanalytics-com/design-system 0.0.50 → 0.0.52

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.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsaW5nLWNhcmQtaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2ludGVyZmFjZXMvc2Nyb2xsaW5nLWNhcmQtaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElTY3JvbGxpbmdDYXJkRGF0YSB7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBib2R5OiBzdHJpbmc7XG4gICAgaWNvbj86IHN0cmluZztcbiAgICBpY29uU2l6ZT86IHN0cmluZztcbiAgICBjdXN0b21XcmFwcGVyQ2xhc3M/OiBzdHJpbmc7XG4gICAgd2lkdGg/OiBzdHJpbmc7XG4gICAgY29sdW1uPzogc3RyaW5nO1xuICAgIHNob3dDYXJkQm9keT86IGJvb2xlYW47XG4gICAgc2hvd0NhcmRIZWFkZXI/OiBib29sZWFuO1xuICAgIHN1YnRpdGxlPzogc3RyaW5nO1xuICAgIGxvZ29JY29uPzogc3RyaW5nO1xuICAgIGF2YXRhcj86IHN0cmluZztcbiAgICBhdmF0YXJJY29uPzogc3RyaW5nO1xufSJdfQ==
@@ -106,10 +106,10 @@ export class AccordionComponent extends FieldType {
106
106
  this.buttonClick.complete();
107
107
  }
108
108
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AccordionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
109
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: AccordionComponent, isStandalone: true, selector: "sa-accordion", usesInheritance: true, ngImport: i0, template: "<mat-accordion class=\"accordion-container\">\n <mat-expansion-panel hideToggle [expanded]=\"props?.['accordionExpanded'] || false\" (opened)=\"onAccordionOpened()\"\n (closed)=\"onAccordionClosed()\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <div class=\"panel-container\">\n @if(props?.['accordionExpanded']){\n <span class=\"d-flex align-center\">\n <sa-icon [icon]=\"props?.['expandedIcon'] || 'downChevronOutlined'\" class=\"d-flex\"\n size=\"16\"></sa-icon>\n </span>\n }@else{\n <span class=\"d-flex align-center\">\n <sa-icon [icon]=\"props?.['collapsedIcon'] || 'rightChevronOutlined'\" class=\"d-flex\"\n size=\"20\"></sa-icon>\n </span>\n }\n <span class=\"panel-title\">{{props?.['panelTitle']}}</span>\n <div>\n <sa-chip *ngIf=\"props?.['titleChip']\" [type]=\"props['titleChip']?.['type']\"\n [state]=\"props['titleChip']?.['state']\" [filling]=\"props['titleChip']?.['filling']\"\n [text]=\"getChipText()\"></sa-chip>\n </div>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <div class=\"custom-divider\"></div>\n <div class=\"accordion-cards-container\">\n <div *ngFor=\"let subFeature of props?.['featuresList']\">\n <sa-card [column]=\"false\" [showCardHeader]=\"true\" [showCardBody]=\"false\"\n [width]=\"props?.['featureCardWidth'] || '632px'\" [showHeaderBodyDivider]=\"false\"\n [customWrapperClass]=\"props?.['customWrapperClass']\" (click)=\"onCardClick(subFeature)\"\n class=\"{{subFeature?.['disabled'] && subFeature?.['isSelected'] ? 'card-selected' : ''}}{{subFeature?.['disabled'] ? 'disabled-card': ''}}\">\n <sa-card-title-header>\n <div class=\"sa-card-accordion-title-container\">\n @if(subFeature?.['disabled']){\n <span class=\"disabled-icon\">\n <sa-icon icon=\"disabledCheckboxFilled\"\n customClass=\"auto-dimensions disabled-checkbox-icon\" class=\"d-flex\"></sa-icon>\n </span>\n }@else{\n <mat-checkbox class=\"checkbox-style\" [(ngModel)]=\"subFeature.isSelected\"\n (click)=\"onCheckboxClick(subFeature)\"></mat-checkbox>\n }\n <div class=\"sa-card-title-icon-container\">\n <div class=\"sa-card-custom-title\">\n {{subFeature?.title}}\n </div>\n @if(subFeature?.tooltip){\n <span class=\"tooltip-container\">\n <sa-icon [icon]=\"props?.['tooltipIcon'] || 'infoCircleOutlined'\"\n customClass=\"accordion-info-icon\" [matTooltip]=\"subFeature?.tooltip\"\n matTooltipClass=\"custom-tooltip\" class=\"tooltip-icon\"></sa-icon>\n </span>\n }\n </div>\n </div>\n </sa-card-title-header>\n </sa-card>\n </div>\n </div>\n <!-- Advanced Features accordion -->\n <div *ngIf=\"props?.['advancedFeatures'] && props['advancedFeatures'].length > 0\"\n class=\"advanced-features-section\">\n <mat-expansion-panel hideToggle [expanded]=\"props?.['advancedFeaturesExpanded'] || 'false'\"\n (opened)=\"onAdvancedFeaturesOpened()\" (closed)=\"onAdvancedFeaturesClosed()\" class=\"advancedAccordion\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <div class=\"panel-container\">\n @if(!props?.['advancedFeaturesExpanded']){\n <span class=\"d-flex align-center\">\n <sa-icon icon=\"sourcesOutlined\" class=\"d-flex\" customClass=\"colored-icon\"\n size=\"16\"></sa-icon>\n </span>\n }@else{\n <span class=\"material-icons\">\n expand_more\n </span>\n }\n <span class=\"advanced-title\">{{ props?.['advancedFeaturesExpanded'] ?\n props?.['advancedFeatureToggleTitle'] :\n props?.['advancedFeatureTitle'] }}</span>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <div class=\"accordion-advanced-container\">\n <div class=\"disclaimer-container\">\n <span class=\"tooltip-container\">\n <sa-icon icon=\"infoCircleOutlined\" customClass=\"accordion-info-icon\"\n class=\"tooltip-icon\"></sa-icon>\n </span>\n <span class=\"disclaimer-style\">{{props?.['advancedFeatureDisclaimer']}}</span>\n @if(props?.['advancedFeatureDisclaimerButtons']) {\n <div class=\"disclaimer-buttons-container\">\n <ng-container *ngFor=\"let button of props['advancedFeatureDisclaimerButtons']\">\n <sa-button [text]=\"button.text\" [type]=\"button.type\" [size]=\"button.size\"\n [state]=\"button.state\" [iconPosition]=\"button.iconPosition\" [icon]=\"button.icon\"\n [buttonIconSize]=\"button.buttonIconSize\"\n (click)=\"actionHandler(button, $event)\"></sa-button>\n </ng-container>\n </div>\n }\n </div>\n <div class=\"accordion-cards-container\">\n <div *ngFor=\"let subFeature of props?.['advancedFeatures']\">\n <sa-card [column]=\"false\" [showCardHeader]=\"true\" [showCardBody]=\"false\"\n [width]=\"props?.['advancedFeatureCardWidth'] || '632px'\" [showHeaderBodyDivider]=\"false\"\n [customWrapperClass]=\"props?.['customWrapperClass']\" (click)=\"onCardClick(subFeature)\"\n class=\"{{!subFeature?.['disabled'] && subFeature?.['isSelected'] ? 'card-selected' : ''}}{{subFeature?.['disabled'] ? 'disabled-card': ''}}\">\n <sa-card-title-header>\n <div class=\"sa-card-accordion-title-container\">\n @if(subFeature?.['disabled']){\n <span class=\"disabled-icon\">\n <sa-icon icon=\"disabledCheckboxFilled\"\n customClass=\"auto-dimensions disabled-checkbox-icon\"\n class=\"d-flex\"></sa-icon>\n </span>\n }@else{\n <mat-checkbox class=\"checkbox-style\" [(ngModel)]=\"subFeature.isSelected\"\n (click)=\"onCheckboxClick(subFeature)\"></mat-checkbox>\n }\n <div class=\"sa-card-title-icon-container\">\n <div class=\"sa-card-custom-title\">\n {{subFeature?.title}}\n </div>\n @if(subFeature?.tooltip){\n <span class=\"tooltip-container\">\n <sa-icon [icon]=\"props?.['advancedTooltipIcon'] || 'infoCircleOutlined'\"\n customClass=\"accordion-info-icon\" [matTooltip]=\"subFeature?.tooltip\"\n matTooltipClass=\"custom-tooltip\" class=\"tooltip-icon\"></sa-icon>\n </span>\n }\n </div>\n @if(subFeature?.featureChip){\n <div class=\"chip-container\">\n <sa-chip [type]=\"subFeature.featureChip?.['type']\"\n [state]=\"subFeature.featureChip?.['state']\"\n [filling]=\"subFeature.featureChip?.['filling']\"\n [text]=\"subFeature.featureChip?.['label']\"></sa-chip>\n </div>\n }\n </div>\n </sa-card-title-header>\n </sa-card>\n </div>\n </div>\n </div>\n </mat-expansion-panel>\n </div>\n </mat-expansion-panel>\n</mat-accordion>", styles: [".accordion-cards-container{display:grid;grid-template-columns:repeat(auto-fill,37.875rem);gap:1.75rem 2rem;max-width:-webkit-fill-available}.advancedAccordion .accordion-cards-container{display:grid;grid-template-columns:repeat(auto-fill,37.6rem);gap:1.75rem 2rem;max-width:-webkit-fill-available}.accordion-container .panel-title{color:var(--text-highemphasis, #1C1B20);font-family:var(--font-family, Roboto);font-size:var(--small-16px);font-style:normal;font-weight:400;line-height:var(--medium-24px);letter-spacing:.5px}.panel-container{display:flex;gap:var(--small-8px, 8px)}.tooltip-icon{display:flex;align-items:center}::ng-deep .accordion-container.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{width:-webkit-fill-available;display:flex;flex-direction:column}::ng-deep .accordion-container .mat-expansion-panel-body{display:flex;flex-direction:column;gap:var(--medium-20px)}::ng-deep .accordion-container .mat-expansion-panel-header{display:flex;height:var(--large-56px, 56px);flex-direction:column;align-items:flex-start;gap:var(--small-16px);flex-shrink:0}::ng-deep .card-selected .sa-card-accordion-wrapper{border-radius:var(--small-4px, 4px);border:1px solid var(--primary-500);background:var(--structural-white)}.accordion-container .custom-divider{width:100%;height:.063rem;background-color:var(--grey-100)}.accordion-container .chip{background-color:red}::ng-deep .accordion-container .panel-container .small{--chip-height: var(--medium-24px)}.advancedAccordion.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none;border:none}::ng-deep .accordion-container .advancedAccordion .mat-expansion-panel-header{padding:var(--small-16px) var(--small-16px) var(--small-16px) var(--small-16px)}.advancedAccordion .disclaimer-container{display:flex;gap:var(--small-8px);height:2.875rem;padding:var(--small-12px) var(--small-16px);align-items:center;border-radius:var(--small-8px);border:1px solid var(--grey-100);background:var(--structural-neutral3)}.advancedAccordion .disclaimer-style{color:var(--text-mediumemphasis);font-family:var(--font);font-size:var(--small-14px);font-style:normal;font-weight:400;line-height:var(--medium-20px);letter-spacing:.25px}.accordion-advanced-container{display:flex;flex-direction:column;gap:var(--small-16px)}.d-flex{display:flex}::ng-deep .disabled-card .sa-card-accordion-wrapper{cursor:auto}.advancedAccordion.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:none}.advanced-title{color:var(--primary-500);font-family:var(--font);font-size:var(--small-14px);font-style:normal;font-weight:400;line-height:1.375rem;letter-spacing:.25px}.align-center{align-items:center}::ng-deep .advancedAccordion .mat-expansion-panel-header-title{color:var(--primary-500)}.advancedAccordion .panel-container .material-icons{font-size:1.375rem}.disabled-icon{padding:.563rem var(--small-8px) var(--small-8px) var(--small-8px)}.advancedAccordion .chip-container{margin-left:auto}.accordions-container{display:flex;flex-direction:column;gap:var(--medium-24px)}::ng-deep .accordion-container .mat-expansion-panel:not([class*=mat-elevation-z]){border:1px solid var(--grey-100);background:var(--structural-white);box-shadow:none}::ng-deep .accordion-container.mat-accordion .mat-expansion-panel:first-of-type{border-radius:var(--small-8px)}::ng-deep .accordion-container .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:none}::ng-deep .advancedAccordion .mat-expansion-panel-body{padding-left:0;padding-right:0}.disclaimer-buttons-container{display:flex;margin-left:auto;align-items:center;gap:var(--small-12px)}\n"], dependencies: [{ kind: "component", type: CardCustomHeaderComponent, selector: "sa-card-title-header" }, { kind: "component", type: CardComponent, selector: "sa-card", inputs: ["title", "showCardHeader", "showCardBody", "showHeaderBodyDivider", "showCustomCardBody", "customWrapperClass", "chip", "body", "avatar", "image", "imageWidth", "avatarSize", "href", "hrefTarget", "icon", "iconSize", "subtitle", "logoIcon", "width", "height", "column"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "sa-icon", inputs: ["img", "icon", "size", "color", "iconPath", "iconUrl", "customClass"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "directive", type: i5.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i5.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i5.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i5.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "component", type: ChipsComponent, selector: "sa-chip", inputs: ["id", "iconPath", "text", "type", "state", "filling", "iconPosition", "largeStateIcon", "largeStateText"], outputs: ["onClickEvent"] }, { kind: "component", type: ButtonComponent, selector: "sa-button", inputs: ["id", "type", "state", "size", "text", "ImagePath", "icon", "iconPosition", "href", "hrefTarget", "width", "isSubmit", "buttonIconSize", "showSpinner"], outputs: ["onClickEvent", "onMouseInEvent", "onMouseOutEvent"] }] }); }
109
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: AccordionComponent, isStandalone: true, selector: "sa-accordion", usesInheritance: true, ngImport: i0, template: "<mat-accordion class=\"accordion-container\">\n <mat-expansion-panel hideToggle [expanded]=\"props?.['accordionExpanded'] || 'false'\" (opened)=\"onAccordionOpened()\"\n (closed)=\"onAccordionClosed()\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <div class=\"panel-container\">\n @if(props?.['accordionExpanded']){\n <span class=\"d-flex align-center\">\n <sa-icon [icon]=\"props?.['expandedIcon'] || 'downChevronOutlined'\" class=\"d-flex\"\n size=\"16\"></sa-icon>\n </span>\n }@else{\n <span class=\"d-flex align-center\">\n <sa-icon [icon]=\"props?.['collapsedIcon'] || 'rightChevronOutlined'\" class=\"d-flex\"\n size=\"20\"></sa-icon>\n </span>\n }\n <span class=\"panel-title\">{{props?.['panelTitle']}}</span>\n <div>\n <sa-chip *ngIf=\"props?.['titleChip']\" [type]=\"props['titleChip']?.['type']\"\n [state]=\"props['titleChip']?.['state']\" [filling]=\"props['titleChip']?.['filling']\"\n [text]=\"getChipText()\"></sa-chip>\n </div>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <div class=\"custom-divider\"></div>\n <div class=\"accordion-cards-container\">\n <div *ngFor=\"let subFeature of props?.['featuresList']\">\n <sa-card [column]=\"false\" [showCardHeader]=\"true\" [showCardBody]=\"false\"\n [width]=\"props?.['featureCardWidth'] || '632px'\" [showHeaderBodyDivider]=\"false\"\n [customWrapperClass]=\"props?.['customWrapperClass']\" (click)=\"onCardClick(subFeature)\"\n class=\"{{subFeature?.['disabled'] && subFeature?.['isSelected'] ? 'card-selected' : ''}}{{subFeature?.['disabled'] ? 'disabled-card': ''}}\">\n <sa-card-title-header>\n <div class=\"sa-card-accordion-title-container\">\n @if(subFeature?.['disabled']){\n <span class=\"disabled-icon\">\n <sa-icon icon=\"disabledCheckboxFilled\"\n customClass=\"auto-dimensions disabled-checkbox-icon\" class=\"d-flex\"></sa-icon>\n </span>\n }@else{\n <mat-checkbox class=\"checkbox-style\" [(ngModel)]=\"subFeature.isSelected\"\n (click)=\"onCheckboxClick(subFeature)\"></mat-checkbox>\n }\n <div class=\"sa-card-title-icon-container\">\n <div class=\"sa-card-custom-title\">\n {{subFeature?.title}}\n </div>\n @if(subFeature?.tooltip){\n <span class=\"tooltip-container\">\n <sa-icon [icon]=\"props?.['tooltipIcon'] || 'infoCircleOutlined'\"\n customClass=\"accordion-info-icon\" [matTooltip]=\"subFeature?.tooltip\"\n matTooltipClass=\"custom-tooltip\" class=\"tooltip-icon\"></sa-icon>\n </span>\n }\n </div>\n </div>\n </sa-card-title-header>\n </sa-card>\n </div>\n </div>\n <!-- Advanced Features accordion -->\n <div *ngIf=\"props?.['advancedFeatures'] && props['advancedFeatures'].length > 0\"\n class=\"advanced-features-section\">\n <mat-expansion-panel hideToggle [expanded]=\"props?.['advancedFeaturesExpanded'] || 'false'\"\n (opened)=\"onAdvancedFeaturesOpened()\" (closed)=\"onAdvancedFeaturesClosed()\" class=\"advancedAccordion\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <div class=\"panel-container\">\n @if(!props?.['advancedFeaturesExpanded']){\n <span class=\"d-flex align-center\">\n <sa-icon icon=\"sourcesOutlined\" class=\"d-flex\" customClass=\"colored-icon\"\n size=\"16\"></sa-icon>\n </span>\n }@else{\n <span class=\"material-icons\">\n expand_more\n </span>\n }\n <span class=\"advanced-title\">{{ props?.['advancedFeaturesExpanded'] ?\n props?.['advancedFeatureToggleTitle'] :\n props?.['advancedFeatureTitle'] }}</span>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <div class=\"accordion-advanced-container\">\n <div class=\"disclaimer-container\">\n <span class=\"tooltip-container\">\n <sa-icon icon=\"infoCircleOutlined\" customClass=\"accordion-info-icon\"\n class=\"tooltip-icon\"></sa-icon>\n </span>\n <span class=\"disclaimer-style\">{{props?.['advancedFeatureDisclaimer']}}</span>\n @if(props?.['advancedFeatureDisclaimerButtons']) {\n <div class=\"disclaimer-buttons-container\">\n <ng-container *ngFor=\"let button of props['advancedFeatureDisclaimerButtons']\">\n <sa-button [text]=\"button.text\" [type]=\"button.type\" [size]=\"button.size\"\n [state]=\"button.state\" [iconPosition]=\"button.iconPosition\" [icon]=\"button.icon\"\n [buttonIconSize]=\"button.buttonIconSize\"\n (click)=\"actionHandler(button, $event)\"></sa-button>\n </ng-container>\n </div>\n }\n </div>\n <div class=\"accordion-cards-container\">\n <div *ngFor=\"let subFeature of props?.['advancedFeatures']\">\n <sa-card [column]=\"false\" [showCardHeader]=\"true\" [showCardBody]=\"false\"\n [width]=\"props?.['advancedFeatureCardWidth'] || '632px'\" [showHeaderBodyDivider]=\"false\"\n [customWrapperClass]=\"props?.['customWrapperClass']\" (click)=\"onCardClick(subFeature)\"\n class=\"{{!subFeature?.['disabled'] && subFeature?.['isSelected'] ? 'card-selected' : ''}}{{subFeature?.['disabled'] ? 'disabled-card': ''}}\">\n <sa-card-title-header>\n <div class=\"sa-card-accordion-title-container\">\n @if(subFeature?.['disabled']){\n <span class=\"disabled-icon\">\n <sa-icon icon=\"disabledCheckboxFilled\"\n customClass=\"auto-dimensions disabled-checkbox-icon\"\n class=\"d-flex\"></sa-icon>\n </span>\n }@else{\n <mat-checkbox class=\"checkbox-style\" [(ngModel)]=\"subFeature.isSelected\"\n (click)=\"onCheckboxClick(subFeature)\"></mat-checkbox>\n }\n <div class=\"sa-card-title-icon-container\">\n <div class=\"sa-card-custom-title\">\n {{subFeature?.title}}\n </div>\n @if(subFeature?.tooltip){\n <span class=\"tooltip-container\">\n <sa-icon [icon]=\"props?.['advancedTooltipIcon'] || 'infoCircleOutlined'\"\n customClass=\"accordion-info-icon\" [matTooltip]=\"subFeature?.tooltip\"\n matTooltipClass=\"custom-tooltip\" class=\"tooltip-icon\"></sa-icon>\n </span>\n }\n </div>\n @if(subFeature?.featureChip){\n <div class=\"chip-container\">\n <sa-chip [type]=\"subFeature.featureChip?.['type']\"\n [state]=\"subFeature.featureChip?.['state']\"\n [filling]=\"subFeature.featureChip?.['filling']\"\n [text]=\"subFeature.featureChip?.['label']\"></sa-chip>\n </div>\n }\n </div>\n </sa-card-title-header>\n </sa-card>\n </div>\n </div>\n </div>\n </mat-expansion-panel>\n </div>\n </mat-expansion-panel>\n</mat-accordion>", styles: [".accordion-cards-container{display:grid;grid-template-columns:repeat(auto-fill,37.875rem);gap:1.75rem 2rem;max-width:-webkit-fill-available}.advancedAccordion .accordion-cards-container{display:grid;grid-template-columns:repeat(auto-fill,37.6rem);gap:1.75rem 2rem;max-width:-webkit-fill-available}.accordion-container .panel-title{color:var(--text-highemphasis, #1C1B20);font-family:var(--font-family, Roboto);font-size:var(--small-16px);font-style:normal;font-weight:400;line-height:var(--medium-24px);letter-spacing:.5px}.panel-container{display:flex;gap:var(--small-8px, 8px)}.tooltip-icon{display:flex;align-items:center}::ng-deep .accordion-container.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{width:-webkit-fill-available;display:flex;flex-direction:column}::ng-deep .accordion-container .mat-expansion-panel-body{display:flex;flex-direction:column;gap:var(--medium-20px)}::ng-deep .accordion-container .mat-expansion-panel-header{display:flex;height:var(--large-56px, 56px);flex-direction:column;align-items:flex-start;gap:var(--small-16px);flex-shrink:0}::ng-deep .card-selected .sa-card-accordion-wrapper{border-radius:var(--small-4px, 4px);border:1px solid var(--primary-500);background:var(--structural-white)}.accordion-container .custom-divider{width:100%;height:.063rem;background-color:var(--grey-100)}.accordion-container .chip{background-color:red}::ng-deep .accordion-container .panel-container .small{--chip-height: var(--medium-24px)}.advancedAccordion.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none;border:none}::ng-deep .accordion-container .advancedAccordion .mat-expansion-panel-header{padding:var(--small-16px) var(--small-16px) var(--small-16px) var(--small-16px)}.advancedAccordion .disclaimer-container{display:flex;gap:var(--small-8px);height:2.875rem;padding:var(--small-12px) var(--small-16px);align-items:center;border-radius:var(--small-8px);border:1px solid var(--grey-100);background:var(--structural-neutral3)}.advancedAccordion .disclaimer-style{color:var(--text-mediumemphasis);font-family:var(--font);font-size:var(--small-14px);font-style:normal;font-weight:400;line-height:var(--medium-20px);letter-spacing:.25px}.accordion-advanced-container{display:flex;flex-direction:column;gap:var(--small-16px)}.d-flex{display:flex}::ng-deep .disabled-card .sa-card-accordion-wrapper{cursor:auto}.advancedAccordion.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:none}.advanced-title{color:var(--primary-500);font-family:var(--font);font-size:var(--small-14px);font-style:normal;font-weight:400;line-height:1.375rem;letter-spacing:.25px}.align-center{align-items:center}::ng-deep .advancedAccordion .mat-expansion-panel-header-title{color:var(--primary-500)}.advancedAccordion .panel-container .material-icons{font-size:1.375rem}.disabled-icon{padding:.563rem var(--small-8px) var(--small-8px) var(--small-8px)}.advancedAccordion .chip-container{margin-left:auto}.accordions-container{display:flex;flex-direction:column;gap:var(--medium-24px)}::ng-deep .accordion-container .mat-expansion-panel:not([class*=mat-elevation-z]){border:1px solid var(--grey-100);background:var(--structural-white);box-shadow:none}::ng-deep .accordion-container.mat-accordion .mat-expansion-panel:first-of-type{border-radius:var(--small-8px)}::ng-deep .accordion-container .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:none}::ng-deep .advancedAccordion .mat-expansion-panel-body{padding-left:0;padding-right:0}.disclaimer-buttons-container{display:flex;margin-left:auto;align-items:center;gap:var(--small-12px)}\n"], dependencies: [{ kind: "component", type: CardCustomHeaderComponent, selector: "sa-card-title-header" }, { kind: "component", type: CardComponent, selector: "sa-card", inputs: ["title", "showCardHeader", "showCardBody", "showHeaderBodyDivider", "showCustomCardBody", "customWrapperClass", "chip", "body", "avatar", "image", "imageWidth", "avatarSize", "href", "hrefTarget", "icon", "iconSize", "subtitle", "logoIcon", "width", "height", "column"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "sa-icon", inputs: ["img", "icon", "size", "color", "iconPath", "iconUrl", "customClass"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "directive", type: i5.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i5.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i5.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i5.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "component", type: ChipsComponent, selector: "sa-chip", inputs: ["id", "iconPath", "text", "type", "state", "filling", "iconPosition", "largeStateIcon", "largeStateText"], outputs: ["onClickEvent"] }, { kind: "component", type: ButtonComponent, selector: "sa-button", inputs: ["id", "type", "state", "size", "text", "ImagePath", "icon", "iconPosition", "href", "hrefTarget", "width", "isSubmit", "buttonIconSize", "showSpinner"], outputs: ["onClickEvent", "onMouseInEvent", "onMouseOutEvent"] }] }); }
110
110
  }
111
111
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AccordionComponent, decorators: [{
112
112
  type: Component,
113
- args: [{ selector: 'sa-accordion', standalone: true, imports: [CardCustomHeaderComponent, CardComponent, FormsModule, MatCheckboxModule, CommonModule, IconComponent, MatTooltipModule, MatExpansionModule, ChipsComponent, ButtonComponent], template: "<mat-accordion class=\"accordion-container\">\n <mat-expansion-panel hideToggle [expanded]=\"props?.['accordionExpanded'] || false\" (opened)=\"onAccordionOpened()\"\n (closed)=\"onAccordionClosed()\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <div class=\"panel-container\">\n @if(props?.['accordionExpanded']){\n <span class=\"d-flex align-center\">\n <sa-icon [icon]=\"props?.['expandedIcon'] || 'downChevronOutlined'\" class=\"d-flex\"\n size=\"16\"></sa-icon>\n </span>\n }@else{\n <span class=\"d-flex align-center\">\n <sa-icon [icon]=\"props?.['collapsedIcon'] || 'rightChevronOutlined'\" class=\"d-flex\"\n size=\"20\"></sa-icon>\n </span>\n }\n <span class=\"panel-title\">{{props?.['panelTitle']}}</span>\n <div>\n <sa-chip *ngIf=\"props?.['titleChip']\" [type]=\"props['titleChip']?.['type']\"\n [state]=\"props['titleChip']?.['state']\" [filling]=\"props['titleChip']?.['filling']\"\n [text]=\"getChipText()\"></sa-chip>\n </div>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <div class=\"custom-divider\"></div>\n <div class=\"accordion-cards-container\">\n <div *ngFor=\"let subFeature of props?.['featuresList']\">\n <sa-card [column]=\"false\" [showCardHeader]=\"true\" [showCardBody]=\"false\"\n [width]=\"props?.['featureCardWidth'] || '632px'\" [showHeaderBodyDivider]=\"false\"\n [customWrapperClass]=\"props?.['customWrapperClass']\" (click)=\"onCardClick(subFeature)\"\n class=\"{{subFeature?.['disabled'] && subFeature?.['isSelected'] ? 'card-selected' : ''}}{{subFeature?.['disabled'] ? 'disabled-card': ''}}\">\n <sa-card-title-header>\n <div class=\"sa-card-accordion-title-container\">\n @if(subFeature?.['disabled']){\n <span class=\"disabled-icon\">\n <sa-icon icon=\"disabledCheckboxFilled\"\n customClass=\"auto-dimensions disabled-checkbox-icon\" class=\"d-flex\"></sa-icon>\n </span>\n }@else{\n <mat-checkbox class=\"checkbox-style\" [(ngModel)]=\"subFeature.isSelected\"\n (click)=\"onCheckboxClick(subFeature)\"></mat-checkbox>\n }\n <div class=\"sa-card-title-icon-container\">\n <div class=\"sa-card-custom-title\">\n {{subFeature?.title}}\n </div>\n @if(subFeature?.tooltip){\n <span class=\"tooltip-container\">\n <sa-icon [icon]=\"props?.['tooltipIcon'] || 'infoCircleOutlined'\"\n customClass=\"accordion-info-icon\" [matTooltip]=\"subFeature?.tooltip\"\n matTooltipClass=\"custom-tooltip\" class=\"tooltip-icon\"></sa-icon>\n </span>\n }\n </div>\n </div>\n </sa-card-title-header>\n </sa-card>\n </div>\n </div>\n <!-- Advanced Features accordion -->\n <div *ngIf=\"props?.['advancedFeatures'] && props['advancedFeatures'].length > 0\"\n class=\"advanced-features-section\">\n <mat-expansion-panel hideToggle [expanded]=\"props?.['advancedFeaturesExpanded'] || 'false'\"\n (opened)=\"onAdvancedFeaturesOpened()\" (closed)=\"onAdvancedFeaturesClosed()\" class=\"advancedAccordion\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <div class=\"panel-container\">\n @if(!props?.['advancedFeaturesExpanded']){\n <span class=\"d-flex align-center\">\n <sa-icon icon=\"sourcesOutlined\" class=\"d-flex\" customClass=\"colored-icon\"\n size=\"16\"></sa-icon>\n </span>\n }@else{\n <span class=\"material-icons\">\n expand_more\n </span>\n }\n <span class=\"advanced-title\">{{ props?.['advancedFeaturesExpanded'] ?\n props?.['advancedFeatureToggleTitle'] :\n props?.['advancedFeatureTitle'] }}</span>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <div class=\"accordion-advanced-container\">\n <div class=\"disclaimer-container\">\n <span class=\"tooltip-container\">\n <sa-icon icon=\"infoCircleOutlined\" customClass=\"accordion-info-icon\"\n class=\"tooltip-icon\"></sa-icon>\n </span>\n <span class=\"disclaimer-style\">{{props?.['advancedFeatureDisclaimer']}}</span>\n @if(props?.['advancedFeatureDisclaimerButtons']) {\n <div class=\"disclaimer-buttons-container\">\n <ng-container *ngFor=\"let button of props['advancedFeatureDisclaimerButtons']\">\n <sa-button [text]=\"button.text\" [type]=\"button.type\" [size]=\"button.size\"\n [state]=\"button.state\" [iconPosition]=\"button.iconPosition\" [icon]=\"button.icon\"\n [buttonIconSize]=\"button.buttonIconSize\"\n (click)=\"actionHandler(button, $event)\"></sa-button>\n </ng-container>\n </div>\n }\n </div>\n <div class=\"accordion-cards-container\">\n <div *ngFor=\"let subFeature of props?.['advancedFeatures']\">\n <sa-card [column]=\"false\" [showCardHeader]=\"true\" [showCardBody]=\"false\"\n [width]=\"props?.['advancedFeatureCardWidth'] || '632px'\" [showHeaderBodyDivider]=\"false\"\n [customWrapperClass]=\"props?.['customWrapperClass']\" (click)=\"onCardClick(subFeature)\"\n class=\"{{!subFeature?.['disabled'] && subFeature?.['isSelected'] ? 'card-selected' : ''}}{{subFeature?.['disabled'] ? 'disabled-card': ''}}\">\n <sa-card-title-header>\n <div class=\"sa-card-accordion-title-container\">\n @if(subFeature?.['disabled']){\n <span class=\"disabled-icon\">\n <sa-icon icon=\"disabledCheckboxFilled\"\n customClass=\"auto-dimensions disabled-checkbox-icon\"\n class=\"d-flex\"></sa-icon>\n </span>\n }@else{\n <mat-checkbox class=\"checkbox-style\" [(ngModel)]=\"subFeature.isSelected\"\n (click)=\"onCheckboxClick(subFeature)\"></mat-checkbox>\n }\n <div class=\"sa-card-title-icon-container\">\n <div class=\"sa-card-custom-title\">\n {{subFeature?.title}}\n </div>\n @if(subFeature?.tooltip){\n <span class=\"tooltip-container\">\n <sa-icon [icon]=\"props?.['advancedTooltipIcon'] || 'infoCircleOutlined'\"\n customClass=\"accordion-info-icon\" [matTooltip]=\"subFeature?.tooltip\"\n matTooltipClass=\"custom-tooltip\" class=\"tooltip-icon\"></sa-icon>\n </span>\n }\n </div>\n @if(subFeature?.featureChip){\n <div class=\"chip-container\">\n <sa-chip [type]=\"subFeature.featureChip?.['type']\"\n [state]=\"subFeature.featureChip?.['state']\"\n [filling]=\"subFeature.featureChip?.['filling']\"\n [text]=\"subFeature.featureChip?.['label']\"></sa-chip>\n </div>\n }\n </div>\n </sa-card-title-header>\n </sa-card>\n </div>\n </div>\n </div>\n </mat-expansion-panel>\n </div>\n </mat-expansion-panel>\n</mat-accordion>", styles: [".accordion-cards-container{display:grid;grid-template-columns:repeat(auto-fill,37.875rem);gap:1.75rem 2rem;max-width:-webkit-fill-available}.advancedAccordion .accordion-cards-container{display:grid;grid-template-columns:repeat(auto-fill,37.6rem);gap:1.75rem 2rem;max-width:-webkit-fill-available}.accordion-container .panel-title{color:var(--text-highemphasis, #1C1B20);font-family:var(--font-family, Roboto);font-size:var(--small-16px);font-style:normal;font-weight:400;line-height:var(--medium-24px);letter-spacing:.5px}.panel-container{display:flex;gap:var(--small-8px, 8px)}.tooltip-icon{display:flex;align-items:center}::ng-deep .accordion-container.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{width:-webkit-fill-available;display:flex;flex-direction:column}::ng-deep .accordion-container .mat-expansion-panel-body{display:flex;flex-direction:column;gap:var(--medium-20px)}::ng-deep .accordion-container .mat-expansion-panel-header{display:flex;height:var(--large-56px, 56px);flex-direction:column;align-items:flex-start;gap:var(--small-16px);flex-shrink:0}::ng-deep .card-selected .sa-card-accordion-wrapper{border-radius:var(--small-4px, 4px);border:1px solid var(--primary-500);background:var(--structural-white)}.accordion-container .custom-divider{width:100%;height:.063rem;background-color:var(--grey-100)}.accordion-container .chip{background-color:red}::ng-deep .accordion-container .panel-container .small{--chip-height: var(--medium-24px)}.advancedAccordion.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none;border:none}::ng-deep .accordion-container .advancedAccordion .mat-expansion-panel-header{padding:var(--small-16px) var(--small-16px) var(--small-16px) var(--small-16px)}.advancedAccordion .disclaimer-container{display:flex;gap:var(--small-8px);height:2.875rem;padding:var(--small-12px) var(--small-16px);align-items:center;border-radius:var(--small-8px);border:1px solid var(--grey-100);background:var(--structural-neutral3)}.advancedAccordion .disclaimer-style{color:var(--text-mediumemphasis);font-family:var(--font);font-size:var(--small-14px);font-style:normal;font-weight:400;line-height:var(--medium-20px);letter-spacing:.25px}.accordion-advanced-container{display:flex;flex-direction:column;gap:var(--small-16px)}.d-flex{display:flex}::ng-deep .disabled-card .sa-card-accordion-wrapper{cursor:auto}.advancedAccordion.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:none}.advanced-title{color:var(--primary-500);font-family:var(--font);font-size:var(--small-14px);font-style:normal;font-weight:400;line-height:1.375rem;letter-spacing:.25px}.align-center{align-items:center}::ng-deep .advancedAccordion .mat-expansion-panel-header-title{color:var(--primary-500)}.advancedAccordion .panel-container .material-icons{font-size:1.375rem}.disabled-icon{padding:.563rem var(--small-8px) var(--small-8px) var(--small-8px)}.advancedAccordion .chip-container{margin-left:auto}.accordions-container{display:flex;flex-direction:column;gap:var(--medium-24px)}::ng-deep .accordion-container .mat-expansion-panel:not([class*=mat-elevation-z]){border:1px solid var(--grey-100);background:var(--structural-white);box-shadow:none}::ng-deep .accordion-container.mat-accordion .mat-expansion-panel:first-of-type{border-radius:var(--small-8px)}::ng-deep .accordion-container .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:none}::ng-deep .advancedAccordion .mat-expansion-panel-body{padding-left:0;padding-right:0}.disclaimer-buttons-container{display:flex;margin-left:auto;align-items:center;gap:var(--small-12px)}\n"] }]
113
+ args: [{ selector: 'sa-accordion', standalone: true, imports: [CardCustomHeaderComponent, CardComponent, FormsModule, MatCheckboxModule, CommonModule, IconComponent, MatTooltipModule, MatExpansionModule, ChipsComponent, ButtonComponent], template: "<mat-accordion class=\"accordion-container\">\n <mat-expansion-panel hideToggle [expanded]=\"props?.['accordionExpanded'] || 'false'\" (opened)=\"onAccordionOpened()\"\n (closed)=\"onAccordionClosed()\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <div class=\"panel-container\">\n @if(props?.['accordionExpanded']){\n <span class=\"d-flex align-center\">\n <sa-icon [icon]=\"props?.['expandedIcon'] || 'downChevronOutlined'\" class=\"d-flex\"\n size=\"16\"></sa-icon>\n </span>\n }@else{\n <span class=\"d-flex align-center\">\n <sa-icon [icon]=\"props?.['collapsedIcon'] || 'rightChevronOutlined'\" class=\"d-flex\"\n size=\"20\"></sa-icon>\n </span>\n }\n <span class=\"panel-title\">{{props?.['panelTitle']}}</span>\n <div>\n <sa-chip *ngIf=\"props?.['titleChip']\" [type]=\"props['titleChip']?.['type']\"\n [state]=\"props['titleChip']?.['state']\" [filling]=\"props['titleChip']?.['filling']\"\n [text]=\"getChipText()\"></sa-chip>\n </div>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <div class=\"custom-divider\"></div>\n <div class=\"accordion-cards-container\">\n <div *ngFor=\"let subFeature of props?.['featuresList']\">\n <sa-card [column]=\"false\" [showCardHeader]=\"true\" [showCardBody]=\"false\"\n [width]=\"props?.['featureCardWidth'] || '632px'\" [showHeaderBodyDivider]=\"false\"\n [customWrapperClass]=\"props?.['customWrapperClass']\" (click)=\"onCardClick(subFeature)\"\n class=\"{{subFeature?.['disabled'] && subFeature?.['isSelected'] ? 'card-selected' : ''}}{{subFeature?.['disabled'] ? 'disabled-card': ''}}\">\n <sa-card-title-header>\n <div class=\"sa-card-accordion-title-container\">\n @if(subFeature?.['disabled']){\n <span class=\"disabled-icon\">\n <sa-icon icon=\"disabledCheckboxFilled\"\n customClass=\"auto-dimensions disabled-checkbox-icon\" class=\"d-flex\"></sa-icon>\n </span>\n }@else{\n <mat-checkbox class=\"checkbox-style\" [(ngModel)]=\"subFeature.isSelected\"\n (click)=\"onCheckboxClick(subFeature)\"></mat-checkbox>\n }\n <div class=\"sa-card-title-icon-container\">\n <div class=\"sa-card-custom-title\">\n {{subFeature?.title}}\n </div>\n @if(subFeature?.tooltip){\n <span class=\"tooltip-container\">\n <sa-icon [icon]=\"props?.['tooltipIcon'] || 'infoCircleOutlined'\"\n customClass=\"accordion-info-icon\" [matTooltip]=\"subFeature?.tooltip\"\n matTooltipClass=\"custom-tooltip\" class=\"tooltip-icon\"></sa-icon>\n </span>\n }\n </div>\n </div>\n </sa-card-title-header>\n </sa-card>\n </div>\n </div>\n <!-- Advanced Features accordion -->\n <div *ngIf=\"props?.['advancedFeatures'] && props['advancedFeatures'].length > 0\"\n class=\"advanced-features-section\">\n <mat-expansion-panel hideToggle [expanded]=\"props?.['advancedFeaturesExpanded'] || 'false'\"\n (opened)=\"onAdvancedFeaturesOpened()\" (closed)=\"onAdvancedFeaturesClosed()\" class=\"advancedAccordion\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <div class=\"panel-container\">\n @if(!props?.['advancedFeaturesExpanded']){\n <span class=\"d-flex align-center\">\n <sa-icon icon=\"sourcesOutlined\" class=\"d-flex\" customClass=\"colored-icon\"\n size=\"16\"></sa-icon>\n </span>\n }@else{\n <span class=\"material-icons\">\n expand_more\n </span>\n }\n <span class=\"advanced-title\">{{ props?.['advancedFeaturesExpanded'] ?\n props?.['advancedFeatureToggleTitle'] :\n props?.['advancedFeatureTitle'] }}</span>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <div class=\"accordion-advanced-container\">\n <div class=\"disclaimer-container\">\n <span class=\"tooltip-container\">\n <sa-icon icon=\"infoCircleOutlined\" customClass=\"accordion-info-icon\"\n class=\"tooltip-icon\"></sa-icon>\n </span>\n <span class=\"disclaimer-style\">{{props?.['advancedFeatureDisclaimer']}}</span>\n @if(props?.['advancedFeatureDisclaimerButtons']) {\n <div class=\"disclaimer-buttons-container\">\n <ng-container *ngFor=\"let button of props['advancedFeatureDisclaimerButtons']\">\n <sa-button [text]=\"button.text\" [type]=\"button.type\" [size]=\"button.size\"\n [state]=\"button.state\" [iconPosition]=\"button.iconPosition\" [icon]=\"button.icon\"\n [buttonIconSize]=\"button.buttonIconSize\"\n (click)=\"actionHandler(button, $event)\"></sa-button>\n </ng-container>\n </div>\n }\n </div>\n <div class=\"accordion-cards-container\">\n <div *ngFor=\"let subFeature of props?.['advancedFeatures']\">\n <sa-card [column]=\"false\" [showCardHeader]=\"true\" [showCardBody]=\"false\"\n [width]=\"props?.['advancedFeatureCardWidth'] || '632px'\" [showHeaderBodyDivider]=\"false\"\n [customWrapperClass]=\"props?.['customWrapperClass']\" (click)=\"onCardClick(subFeature)\"\n class=\"{{!subFeature?.['disabled'] && subFeature?.['isSelected'] ? 'card-selected' : ''}}{{subFeature?.['disabled'] ? 'disabled-card': ''}}\">\n <sa-card-title-header>\n <div class=\"sa-card-accordion-title-container\">\n @if(subFeature?.['disabled']){\n <span class=\"disabled-icon\">\n <sa-icon icon=\"disabledCheckboxFilled\"\n customClass=\"auto-dimensions disabled-checkbox-icon\"\n class=\"d-flex\"></sa-icon>\n </span>\n }@else{\n <mat-checkbox class=\"checkbox-style\" [(ngModel)]=\"subFeature.isSelected\"\n (click)=\"onCheckboxClick(subFeature)\"></mat-checkbox>\n }\n <div class=\"sa-card-title-icon-container\">\n <div class=\"sa-card-custom-title\">\n {{subFeature?.title}}\n </div>\n @if(subFeature?.tooltip){\n <span class=\"tooltip-container\">\n <sa-icon [icon]=\"props?.['advancedTooltipIcon'] || 'infoCircleOutlined'\"\n customClass=\"accordion-info-icon\" [matTooltip]=\"subFeature?.tooltip\"\n matTooltipClass=\"custom-tooltip\" class=\"tooltip-icon\"></sa-icon>\n </span>\n }\n </div>\n @if(subFeature?.featureChip){\n <div class=\"chip-container\">\n <sa-chip [type]=\"subFeature.featureChip?.['type']\"\n [state]=\"subFeature.featureChip?.['state']\"\n [filling]=\"subFeature.featureChip?.['filling']\"\n [text]=\"subFeature.featureChip?.['label']\"></sa-chip>\n </div>\n }\n </div>\n </sa-card-title-header>\n </sa-card>\n </div>\n </div>\n </div>\n </mat-expansion-panel>\n </div>\n </mat-expansion-panel>\n</mat-accordion>", styles: [".accordion-cards-container{display:grid;grid-template-columns:repeat(auto-fill,37.875rem);gap:1.75rem 2rem;max-width:-webkit-fill-available}.advancedAccordion .accordion-cards-container{display:grid;grid-template-columns:repeat(auto-fill,37.6rem);gap:1.75rem 2rem;max-width:-webkit-fill-available}.accordion-container .panel-title{color:var(--text-highemphasis, #1C1B20);font-family:var(--font-family, Roboto);font-size:var(--small-16px);font-style:normal;font-weight:400;line-height:var(--medium-24px);letter-spacing:.5px}.panel-container{display:flex;gap:var(--small-8px, 8px)}.tooltip-icon{display:flex;align-items:center}::ng-deep .accordion-container.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{width:-webkit-fill-available;display:flex;flex-direction:column}::ng-deep .accordion-container .mat-expansion-panel-body{display:flex;flex-direction:column;gap:var(--medium-20px)}::ng-deep .accordion-container .mat-expansion-panel-header{display:flex;height:var(--large-56px, 56px);flex-direction:column;align-items:flex-start;gap:var(--small-16px);flex-shrink:0}::ng-deep .card-selected .sa-card-accordion-wrapper{border-radius:var(--small-4px, 4px);border:1px solid var(--primary-500);background:var(--structural-white)}.accordion-container .custom-divider{width:100%;height:.063rem;background-color:var(--grey-100)}.accordion-container .chip{background-color:red}::ng-deep .accordion-container .panel-container .small{--chip-height: var(--medium-24px)}.advancedAccordion.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none;border:none}::ng-deep .accordion-container .advancedAccordion .mat-expansion-panel-header{padding:var(--small-16px) var(--small-16px) var(--small-16px) var(--small-16px)}.advancedAccordion .disclaimer-container{display:flex;gap:var(--small-8px);height:2.875rem;padding:var(--small-12px) var(--small-16px);align-items:center;border-radius:var(--small-8px);border:1px solid var(--grey-100);background:var(--structural-neutral3)}.advancedAccordion .disclaimer-style{color:var(--text-mediumemphasis);font-family:var(--font);font-size:var(--small-14px);font-style:normal;font-weight:400;line-height:var(--medium-20px);letter-spacing:.25px}.accordion-advanced-container{display:flex;flex-direction:column;gap:var(--small-16px)}.d-flex{display:flex}::ng-deep .disabled-card .sa-card-accordion-wrapper{cursor:auto}.advancedAccordion.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:none}.advanced-title{color:var(--primary-500);font-family:var(--font);font-size:var(--small-14px);font-style:normal;font-weight:400;line-height:1.375rem;letter-spacing:.25px}.align-center{align-items:center}::ng-deep .advancedAccordion .mat-expansion-panel-header-title{color:var(--primary-500)}.advancedAccordion .panel-container .material-icons{font-size:1.375rem}.disabled-icon{padding:.563rem var(--small-8px) var(--small-8px) var(--small-8px)}.advancedAccordion .chip-container{margin-left:auto}.accordions-container{display:flex;flex-direction:column;gap:var(--medium-24px)}::ng-deep .accordion-container .mat-expansion-panel:not([class*=mat-elevation-z]){border:1px solid var(--grey-100);background:var(--structural-white);box-shadow:none}::ng-deep .accordion-container.mat-accordion .mat-expansion-panel:first-of-type{border-radius:var(--small-8px)}::ng-deep .accordion-container .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:none}::ng-deep .advancedAccordion .mat-expansion-panel-body{padding-left:0;padding-right:0}.disclaimer-buttons-container{display:flex;margin-left:auto;align-items:center;gap:var(--small-12px)}\n"] }]
114
114
  }] });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvYWNjb3JkaW9uL2FjY29yZGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2FjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBK0IsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDcEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGtCQUFrQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLElBQUksU0FBUyxFQUFFLE9BQU8sSUFBSSxRQUFRLEVBQUUsUUFBUSxJQUFJLFNBQVMsRUFBRSxHQUFHLElBQUksSUFBSSxFQUFFLE1BQU0sSUFBSSxPQUFPLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztB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QUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLDBCQUEwQixDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQ2hELENBQUM7SUFFRCx3QkFBd0I7UUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUNqRCxDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQVcsRUFBRSxLQUFZO1FBQ3JDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlCLENBQUM7OEdBdkdVLGtCQUFrQjtrR0FBbEIsa0JBQWtCLCtGQ3RCL0IsbTJUQXNKZ0IsMnVIRHBJSix5QkFBeUIsaUVBQUUsYUFBYSwyVUFBRSxXQUFXLDhWQUFFLGlCQUFpQiw2V0FBRSxZQUFZLGdRQUFFLGFBQWEsbUlBQUUsZ0JBQWdCLDRUQUFFLGtCQUFrQix3bkJBQUUsY0FBYyxtTUFBRSxlQUFlOzsyRkFJM0ssa0JBQWtCO2tCQVA5QixTQUFTOytCQUNFLGNBQWMsY0FDWixJQUFJLFdBQ1AsQ0FBQyx5QkFBeUIsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYXJkQ3VzdG9tSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY2FyZC9jYXJkLWN1c3RvbS1oZWFkZXIvY2FyZC1jdXN0b20taGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vY2FyZC9jYXJkLmNvbXBvbmVudCdcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcbmltcG9ydCB7IENoaXBzQ29tcG9uZW50IH0gZnJvbSAnLi4vY2hpcHMvY2hpcHMuY29tcG9uZW50J1xuaW1wb3J0IHsgRmllbGRUeXBlLCBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgaW5jbHVkZXMgYXMgX2luY2x1ZGVzLCByZXBsYWNlIGFzIF9yZXBsYWNlLCB0b1N0cmluZyBhcyBfdG9TdHJpbmcsIGdldCBhcyBfZ2V0LCBmaWx0ZXIgYXMgX2ZpbHRlciwgbWFwIGFzIF9tYXAgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2EtYWNjb3JkaW9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NhcmRDdXN0b21IZWFkZXJDb21wb25lbnQsIENhcmRDb21wb25lbnQsIEZvcm1zTW9kdWxlLCBNYXRDaGVja2JveE1vZHVsZSwgQ29tbW9uTW9kdWxlLCBJY29uQ29tcG9uZW50LCBNYXRUb29sdGlwTW9kdWxlLCBNYXRFeHBhbnNpb25Nb2R1bGUsIENoaXBzQ29tcG9uZW50LCBCdXR0b25Db21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2FjY29yZGlvbi5jb21wb25lbnQuY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBBY2NvcmRpb25Db21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGUge1xuICBzZWxlY3RlZENvdW50OiBudW1iZXIgPSAwO1xuICBwcml2YXRlIGluaXRpYWxDaGlwU3RhdGU6IHN0cmluZyA9ICduZXV0cmFsJztcbiAgc2hvd2luZ0FkdmFuY2VkRmVhdHVyZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgYWR2YW5jZWRGZWF0dXJlSGVhZGluZzogc3RyaW5nID0gJydcbiAgcGFyZW50RmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnO1xuICBwcml2YXRlIGJ1dHRvbkNsaWNrID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucGFyZW50RmllbGQgPSBfZ2V0KHRoaXMuZmllbGQsICdwYXJlbnQnKVxuICAgIGlmICh0aGlzLnByb3BzPy5bJ3RpdGxlQ2hpcCddPy5bJ3N0YXRlJ10pIHtcbiAgICAgIHRoaXMuaW5pdGlhbENoaXBTdGF0ZSA9IHRoaXMucHJvcHNbJ3RpdGxlQ2hpcCddWydzdGF0ZSddO1xuICAgIH1cbiAgICB0aGlzLnNob3dpbmdBZHZhbmNlZEZlYXR1cmVzID0gdGhpcy5wcm9wcz8uWydzaG93QWR2YW5jZWRGZWF0dXJlcyddO1xuICAgIHRoaXMuY2hlY2tGb3JQcmVzZWxlY3RlZEZlYXR1cmVzKCk7XG4gICAgLy9jb25zb2xlLmxvZyh0aGlzKVxuICAgIC8vY29uc29sZS5sb2codGhpcy5wcm9wcz8uWydhZHZhbmNlZEZlYXR1cmVEaXNjbGFpbWVyQnV0dG9ucyddKTtcbiAgICB0aGlzLmJ1dHRvbkNsaWNrLnBpcGUoXG4gICAgICBkZWJvdW5jZVRpbWUoMzAwKVxuICAgICkuc3Vic2NyaWJlKGJ1dHRvbiA9PiB7XG4gICAgICB0aGlzLmZpZWxkPy5wcm9wcz8uWydvbkJ1dHRvbkNsaWNrJ10oYnV0dG9uKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNoZWNrRm9yUHJlc2VsZWN0ZWRGZWF0dXJlcygpIHtcbiAgICBjb25zdCBwcmVzZWxlY3RlZEZlYXR1cmVzID0gX2ZpbHRlcih0aGlzLnByb3BzWydmZWF0dXJlc0xpc3QnXVxuICAgICAgLCAoZjogYW55KSA9PiBmLmlzU2VsZWN0ZWQpXG5cbiAgICB0aGlzLnNlbGVjdGVkQ291bnQgPSBwcmVzZWxlY3RlZEZlYXR1cmVzLmxlbmd0aFxuICAgIHRoaXMudXBkYXRlQ2hpcFN0YXRlKClcbiAgfVxuXG4gIGdldENoaXBUZXh0KCk6IHN0cmluZyB7XG4gICAgY29uc3QgdGV4dCA9IHRoaXMucHJvcHM/LlsndGl0bGVDaGlwJ10/LlsndGV4dCddIHx8ICcnO1xuICAgIGlmIChfaW5jbHVkZXModGV4dCwgJ3tjb3VudH0nKSkge1xuICAgICAgcmV0dXJuIF9yZXBsYWNlKHRleHQsICd7Y291bnR9JywgX3RvU3RyaW5nKHRoaXMuc2VsZWN0ZWRDb3VudCkpO1xuICAgIH1cbiAgICByZXR1cm4gdGV4dDtcbiAgfVxuXG4gIG9uQ2FyZENsaWNrKGNhcmREZXRhaWxzOiBhbnkpOiB2b2lkIHtcbiAgICBjYXJkRGV0YWlscy5pc1NlbGVjdGVkID0gIWNhcmREZXRhaWxzLmlzU2VsZWN0ZWQ7XG4gICAgdGhpcy5ub3RpZnlDaGVja2JveENoYW5nZShjYXJkRGV0YWlscyk7XG4gIH1cblxuICBvbkNoZWNrYm94Q2xpY2soY2FyZERldGFpbHM6IGFueSk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMubm90aWZ5Q2hlY2tib3hDaGFuZ2UoY2FyZERldGFpbHMpO1xuICB9XG5cbiAgb25BY2NvcmRpb25PcGVuZWQoKSB7XG4gICAgaWYgKCF0aGlzLnByb3BzWydhY2NvcmRpb25FeHBhbmRlZCddKSB7XG4gICAgICB0aGlzLnByb3BzWydhY2NvcmRpb25FeHBhbmRlZCddID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBvbkFjY29yZGlvbkNsb3NlZCgpIHtcbiAgICBpZiAodGhpcy5wcm9wc1snYWNjb3JkaW9uRXhwYW5kZWQnXSkge1xuICAgICAgdGhpcy5wcm9wc1snYWNjb3JkaW9uRXhwYW5kZWQnXSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIG5vdGlmeUNoZWNrYm94Q2hhbmdlKGNhcmREZXRhaWxzOiBhbnkpIHtcbiAgICAvLyBVcGRhdGUgdGhlIHNlbGVjdGVkIGNvdW50XG4gICAgaWYgKGNhcmREZXRhaWxzLmlzU2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudCsrO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQ291bnQtLTtcbiAgICB9XG5cbiAgICAvLyBVcGRhdGUgY2hpcCBzdGF0ZSBiYXNlZCBvbiB0aGUgc2VsZWN0aW9uXG4gICAgdGhpcy51cGRhdGVDaGlwU3RhdGUoKVxuXG4gICAgLy8gR2V0IHRoZSBzZWxlY3RlZCBmZWF0dXJlc1xuICAgIGNvbnN0IHNlbGVjdGVkRmVhdHVyZXMgPSBfbWFwKF9maWx0ZXIodGhpcy5wcm9wc1snZmVhdHVyZXNMaXN0J10sIChmOiBhbnkpID0+IGYuaXNTZWxlY3RlZCksIChmOiBhbnkpID0+IGYudGl0bGUpO1xuXG4gICAgLy8gVXBkYXRlIHRoZSBmb3JtIGNvbnRyb2wgd2l0aCB0aGUgbWVyZ2VkIHZhbHVlXG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShzZWxlY3RlZEZlYXR1cmVzKTtcbiAgfVxuXG5cbiAgdXBkYXRlQ2hpcFN0YXRlKCkge1xuICAgIGlmICh0aGlzLnByb3BzWyd0aXRsZUNoaXAnXSAmJiB0aGlzLnByb3BzWyd0aXRsZUNoaXAnXVsnY2hhbmdlU3RhdGVUbyddKSB7XG4gICAgICB0aGlzLnByb3BzWyd0aXRsZUNoaXAnXVsnc3RhdGUnXSA9IHRoaXMuc2VsZWN0ZWRDb3VudCA+IDAgPyB0aGlzLnByb3BzWyd0aXRsZUNoaXAnXVsnY2hhbmdlU3RhdGVUbyddIDogdGhpcy5pbml0aWFsQ2hpcFN0YXRlO1xuICAgIH1cbiAgfVxuXG4gIG9uQWR2YW5jZWRGZWF0dXJlc09wZW5lZCgpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BzWydhZHZhbmNlZEZlYXR1cmVzRXhwYW5kZWQnXSA9IHRydWU7XG4gIH1cblxuICBvbkFkdmFuY2VkRmVhdHVyZXNDbG9zZWQoKTogdm9pZCB7XG4gICAgdGhpcy5wcm9wc1snYWR2YW5jZWRGZWF0dXJlc0V4cGFuZGVkJ10gPSBmYWxzZTtcbiAgfVxuXG4gIGFjdGlvbkhhbmRsZXIoYnV0dG9uOiBhbnksIGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5idXR0b25DbGljay5uZXh0KGJ1dHRvbik7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmJ1dHRvbkNsaWNrLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvL3BlbmRpbmcgd29yayBvbiBwcmVzZWxlY3RlZCBkYXRhXG59XG4iLCI8bWF0LWFjY29yZGlvbiBjbGFzcz1cImFjY29yZGlvbi1jb250YWluZXJcIj5cbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCBoaWRlVG9nZ2xlIFtleHBhbmRlZF09XCJwcm9wcz8uWydhY2NvcmRpb25FeHBhbmRlZCddIHx8IGZhbHNlXCIgKG9wZW5lZCk9XCJvbkFjY29yZGlvbk9wZW5lZCgpXCJcbiAgICAgICAgKGNsb3NlZCk9XCJvbkFjY29yZGlvbkNsb3NlZCgpXCI+XG4gICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhbmVsLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICBAaWYocHJvcHM/LlsnYWNjb3JkaW9uRXhwYW5kZWQnXSl7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1mbGV4IGFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNhLWljb24gW2ljb25dPVwicHJvcHM/LlsnZXhwYW5kZWRJY29uJ10gfHwgJ2Rvd25DaGV2cm9uT3V0bGluZWQnXCIgY2xhc3M9XCJkLWZsZXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCIxNlwiPjwvc2EtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICB9QGVsc2V7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1mbGV4IGFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNhLWljb24gW2ljb25dPVwicHJvcHM/LlsnY29sbGFwc2VkSWNvbiddIHx8ICdyaWdodENoZXZyb25PdXRsaW5lZCdcIiBjbGFzcz1cImQtZmxleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cIjIwXCI+PC9zYS1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYW5lbC10aXRsZVwiPnt7cHJvcHM/LlsncGFuZWxUaXRsZSddfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c2EtY2hpcCAqbmdJZj1cInByb3BzPy5bJ3RpdGxlQ2hpcCddXCIgW3R5cGVdPVwicHJvcHNbJ3RpdGxlQ2hpcCddPy5bJ3R5cGUnXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXRlXT1cInByb3BzWyd0aXRsZUNoaXAnXT8uWydzdGF0ZSddXCIgW2ZpbGxpbmddPVwicHJvcHNbJ3RpdGxlQ2hpcCddPy5bJ2ZpbGxpbmcnXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RleHRdPVwiZ2V0Q2hpcFRleHQoKVwiPjwvc2EtY2hpcD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1kaXZpZGVyXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24tY2FyZHMtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBzdWJGZWF0dXJlIG9mIHByb3BzPy5bJ2ZlYXR1cmVzTGlzdCddXCI+XG4gICAgICAgICAgICAgICAgPHNhLWNhcmQgW2NvbHVtbl09XCJmYWxzZVwiIFtzaG93Q2FyZEhlYWRlcl09XCJ0cnVlXCIgW3Nob3dDYXJkQm9keV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIFt3aWR0aF09XCJwcm9wcz8uWydmZWF0dXJlQ2FyZFdpZHRoJ10gfHwgJzYzMnB4J1wiIFtzaG93SGVhZGVyQm9keURpdmlkZXJdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICBbY3VzdG9tV3JhcHBlckNsYXNzXT1cInByb3BzPy5bJ2N1c3RvbVdyYXBwZXJDbGFzcyddXCIgKGNsaWNrKT1cIm9uQ2FyZENsaWNrKHN1YkZlYXR1cmUpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ7e3N1YkZlYXR1cmU/LlsnZGlzYWJsZWQnXSAmJiBzdWJGZWF0dXJlPy5bJ2lzU2VsZWN0ZWQnXSA/ICdjYXJkLXNlbGVjdGVkJyA6ICcnfX17e3N1YkZlYXR1cmU/LlsnZGlzYWJsZWQnXSA/ICdkaXNhYmxlZC1jYXJkJzogJyd9fVwiPlxuICAgICAgICAgICAgICAgICAgICA8c2EtY2FyZC10aXRsZS1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2EtY2FyZC1hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmKHN1YkZlYXR1cmU/LlsnZGlzYWJsZWQnXSl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXNhYmxlZC1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzYS1pY29uIGljb249XCJkaXNhYmxlZENoZWNrYm94RmlsbGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbUNsYXNzPVwiYXV0by1kaW1lbnNpb25zIGRpc2FibGVkLWNoZWNrYm94LWljb25cIiBjbGFzcz1cImQtZmxleFwiPjwvc2EtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfUBlbHNle1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggY2xhc3M9XCJjaGVja2JveC1zdHlsZVwiIFsobmdNb2RlbCldPVwic3ViRmVhdHVyZS5pc1NlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2hlY2tib3hDbGljayhzdWJGZWF0dXJlKVwiPjwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2EtY2FyZC10aXRsZS1pY29uLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2EtY2FyZC1jdXN0b20tdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7c3ViRmVhdHVyZT8udGl0bGV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmKHN1YkZlYXR1cmU/LnRvb2x0aXApe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRvb2x0aXAtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2EtaWNvbiBbaWNvbl09XCJwcm9wcz8uWyd0b29sdGlwSWNvbiddIHx8ICdpbmZvQ2lyY2xlT3V0bGluZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21DbGFzcz1cImFjY29yZGlvbi1pbmZvLWljb25cIiBbbWF0VG9vbHRpcF09XCJzdWJGZWF0dXJlPy50b29sdGlwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9XCJjdXN0b20tdG9vbHRpcFwiIGNsYXNzPVwidG9vbHRpcC1pY29uXCI+PC9zYS1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L3NhLWNhcmQtdGl0bGUtaGVhZGVyPlxuICAgICAgICAgICAgICAgIDwvc2EtY2FyZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSBBZHZhbmNlZCBGZWF0dXJlcyBhY2NvcmRpb24gLS0+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJwcm9wcz8uWydhZHZhbmNlZEZlYXR1cmVzJ10gJiYgcHJvcHNbJ2FkdmFuY2VkRmVhdHVyZXMnXS5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYWR2YW5jZWQtZmVhdHVyZXMtc2VjdGlvblwiPlxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgaGlkZVRvZ2dsZSBbZXhwYW5kZWRdPVwicHJvcHM/LlsnYWR2YW5jZWRGZWF0dXJlc0V4cGFuZGVkJ10gfHwgJ2ZhbHNlJ1wiXG4gICAgICAgICAgICAgICAgKG9wZW5lZCk9XCJvbkFkdmFuY2VkRmVhdHVyZXNPcGVuZWQoKVwiIChjbG9zZWQpPVwib25BZHZhbmNlZEZlYXR1cmVzQ2xvc2VkKClcIiBjbGFzcz1cImFkdmFuY2VkQWNjb3JkaW9uXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhbmVsLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZighcHJvcHM/LlsnYWR2YW5jZWRGZWF0dXJlc0V4cGFuZGVkJ10pe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1mbGV4IGFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2EtaWNvbiBpY29uPVwic291cmNlc091dGxpbmVkXCIgY2xhc3M9XCJkLWZsZXhcIiBjdXN0b21DbGFzcz1cImNvbG9yZWQtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwiMTZcIj48L3NhLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1AZWxzZXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGFuZF9tb3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFkdmFuY2VkLXRpdGxlXCI+e3sgcHJvcHM/LlsnYWR2YW5jZWRGZWF0dXJlc0V4cGFuZGVkJ10gP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcz8uWydhZHZhbmNlZEZlYXR1cmVUb2dnbGVUaXRsZSddIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHM/LlsnYWR2YW5jZWRGZWF0dXJlVGl0bGUnXSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24tYWR2YW5jZWQtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaXNjbGFpbWVyLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b29sdGlwLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzYS1pY29uIGljb249XCJpbmZvQ2lyY2xlT3V0bGluZWRcIiBjdXN0b21DbGFzcz1cImFjY29yZGlvbi1pbmZvLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRvb2x0aXAtaWNvblwiPjwvc2EtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGlzY2xhaW1lci1zdHlsZVwiPnt7cHJvcHM/LlsnYWR2YW5jZWRGZWF0dXJlRGlzY2xhaW1lciddfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYocHJvcHM/LlsnYWR2YW5jZWRGZWF0dXJlRGlzY2xhaW1lckJ1dHRvbnMnXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpc2NsYWltZXItYnV0dG9ucy1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBidXR0b24gb2YgcHJvcHNbJ2FkdmFuY2VkRmVhdHVyZURpc2NsYWltZXJCdXR0b25zJ11cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNhLWJ1dHRvbiBbdGV4dF09XCJidXR0b24udGV4dFwiIFt0eXBlXT1cImJ1dHRvbi50eXBlXCIgW3NpemVdPVwiYnV0dG9uLnNpemVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXRlXT1cImJ1dHRvbi5zdGF0ZVwiIFtpY29uUG9zaXRpb25dPVwiYnV0dG9uLmljb25Qb3NpdGlvblwiIFtpY29uXT1cImJ1dHRvbi5pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtidXR0b25JY29uU2l6ZV09XCJidXR0b24uYnV0dG9uSWNvblNpemVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGlvbkhhbmRsZXIoYnV0dG9uLCAkZXZlbnQpXCI+PC9zYS1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24tY2FyZHMtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBzdWJGZWF0dXJlIG9mIHByb3BzPy5bJ2FkdmFuY2VkRmVhdHVyZXMnXVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzYS1jYXJkIFtjb2x1bW5dPVwiZmFsc2VcIiBbc2hvd0NhcmRIZWFkZXJdPVwidHJ1ZVwiIFtzaG93Q2FyZEJvZHldPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbd2lkdGhdPVwicHJvcHM/LlsnYWR2YW5jZWRGZWF0dXJlQ2FyZFdpZHRoJ10gfHwgJzYzMnB4J1wiIFtzaG93SGVhZGVyQm9keURpdmlkZXJdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY3VzdG9tV3JhcHBlckNsYXNzXT1cInByb3BzPy5bJ2N1c3RvbVdyYXBwZXJDbGFzcyddXCIgKGNsaWNrKT1cIm9uQ2FyZENsaWNrKHN1YkZlYXR1cmUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ7eyFzdWJGZWF0dXJlPy5bJ2Rpc2FibGVkJ10gJiYgc3ViRmVhdHVyZT8uWydpc1NlbGVjdGVkJ10gPyAnY2FyZC1zZWxlY3RlZCcgOiAnJ319e3tzdWJGZWF0dXJlPy5bJ2Rpc2FibGVkJ10gPyAnZGlzYWJsZWQtY2FyZCc6ICcnfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNhLWNhcmQtdGl0bGUtaGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNhLWNhcmQtYWNjb3JkaW9uLXRpdGxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZihzdWJGZWF0dXJlPy5bJ2Rpc2FibGVkJ10pe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGlzYWJsZWQtaWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2EtaWNvbiBpY29uPVwiZGlzYWJsZWRDaGVja2JveEZpbGxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21DbGFzcz1cImF1dG8tZGltZW5zaW9ucyBkaXNhYmxlZC1jaGVja2JveC1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZC1mbGV4XCI+PC9zYS1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9QGVsc2V7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveCBjbGFzcz1cImNoZWNrYm94LXN0eWxlXCIgWyhuZ01vZGVsKV09XCJzdWJGZWF0dXJlLmlzU2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DaGVja2JveENsaWNrKHN1YkZlYXR1cmUpXCI+PC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYS1jYXJkLXRpdGxlLWljb24tY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYS1jYXJkLWN1c3RvbS10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tzdWJGZWF0dXJlPy50aXRsZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYoc3ViRmVhdHVyZT8udG9vbHRpcCl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidG9vbHRpcC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzYS1pY29uIFtpY29uXT1cInByb3BzPy5bJ2FkdmFuY2VkVG9vbHRpcEljb24nXSB8fCAnaW5mb0NpcmNsZU91dGxpbmVkJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VzdG9tQ2xhc3M9XCJhY2NvcmRpb24taW5mby1pY29uXCIgW21hdFRvb2x0aXBdPVwic3ViRmVhdHVyZT8udG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPVwiY3VzdG9tLXRvb2x0aXBcIiBjbGFzcz1cInRvb2x0aXAtaWNvblwiPjwvc2EtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmKHN1YkZlYXR1cmU/LmZlYXR1cmVDaGlwKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hpcC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNhLWNoaXAgW3R5cGVdPVwic3ViRmVhdHVyZS5mZWF0dXJlQ2hpcD8uWyd0eXBlJ11cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXRlXT1cInN1YkZlYXR1cmUuZmVhdHVyZUNoaXA/Llsnc3RhdGUnXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsbGluZ109XCJzdWJGZWF0dXJlLmZlYXR1cmVDaGlwPy5bJ2ZpbGxpbmcnXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCJzdWJGZWF0dXJlLmZlYXR1cmVDaGlwPy5bJ2xhYmVsJ11cIj48L3NhLWNoaXA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2EtY2FyZC10aXRsZS1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zYS1jYXJkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG48L21hdC1hY2NvcmRpb24+Il19
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvYWNjb3JkaW9uL2FjY29yZGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2FjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBK0IsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDcEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGtCQUFrQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLElBQUksU0FBUyxFQUFFLE9BQU8sSUFBSSxRQUFRLEVBQUUsUUFBUSxJQUFJLFNBQVMsRUFBRSxHQUFHLElBQUksSUFBSSxFQUFFLE1BQU0sSUFBSSxPQUFPLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztB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QUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLDBCQUEwQixDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQ2hELENBQUM7SUFFRCx3QkFBd0I7UUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUNqRCxDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQVcsRUFBRSxLQUFZO1FBQ3JDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlCLENBQUM7OEdBdkdVLGtCQUFrQjtrR0FBbEIsa0JBQWtCLCtGQ3RCL0IscTJUQXNKZ0IsMnVIRHBJSix5QkFBeUIsaUVBQUUsYUFBYSwyVUFBRSxXQUFXLDhWQUFFLGlCQUFpQiw2V0FBRSxZQUFZLGdRQUFFLGFBQWEsbUlBQUUsZ0JBQWdCLDRUQUFFLGtCQUFrQix3bkJBQUUsY0FBYyxtTUFBRSxlQUFlOzsyRkFJM0ssa0JBQWtCO2tCQVA5QixTQUFTOytCQUNFLGNBQWMsY0FDWixJQUFJLFdBQ1AsQ0FBQyx5QkFBeUIsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYXJkQ3VzdG9tSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY2FyZC9jYXJkLWN1c3RvbS1oZWFkZXIvY2FyZC1jdXN0b20taGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vY2FyZC9jYXJkLmNvbXBvbmVudCdcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcbmltcG9ydCB7IENoaXBzQ29tcG9uZW50IH0gZnJvbSAnLi4vY2hpcHMvY2hpcHMuY29tcG9uZW50J1xuaW1wb3J0IHsgRmllbGRUeXBlLCBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgaW5jbHVkZXMgYXMgX2luY2x1ZGVzLCByZXBsYWNlIGFzIF9yZXBsYWNlLCB0b1N0cmluZyBhcyBfdG9TdHJpbmcsIGdldCBhcyBfZ2V0LCBmaWx0ZXIgYXMgX2ZpbHRlciwgbWFwIGFzIF9tYXAgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2EtYWNjb3JkaW9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NhcmRDdXN0b21IZWFkZXJDb21wb25lbnQsIENhcmRDb21wb25lbnQsIEZvcm1zTW9kdWxlLCBNYXRDaGVja2JveE1vZHVsZSwgQ29tbW9uTW9kdWxlLCBJY29uQ29tcG9uZW50LCBNYXRUb29sdGlwTW9kdWxlLCBNYXRFeHBhbnNpb25Nb2R1bGUsIENoaXBzQ29tcG9uZW50LCBCdXR0b25Db21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2FjY29yZGlvbi5jb21wb25lbnQuY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBBY2NvcmRpb25Db21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGUge1xuICBzZWxlY3RlZENvdW50OiBudW1iZXIgPSAwO1xuICBwcml2YXRlIGluaXRpYWxDaGlwU3RhdGU6IHN0cmluZyA9ICduZXV0cmFsJztcbiAgc2hvd2luZ0FkdmFuY2VkRmVhdHVyZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgYWR2YW5jZWRGZWF0dXJlSGVhZGluZzogc3RyaW5nID0gJydcbiAgcGFyZW50RmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnO1xuICBwcml2YXRlIGJ1dHRvbkNsaWNrID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucGFyZW50RmllbGQgPSBfZ2V0KHRoaXMuZmllbGQsICdwYXJlbnQnKVxuICAgIGlmICh0aGlzLnByb3BzPy5bJ3RpdGxlQ2hpcCddPy5bJ3N0YXRlJ10pIHtcbiAgICAgIHRoaXMuaW5pdGlhbENoaXBTdGF0ZSA9IHRoaXMucHJvcHNbJ3RpdGxlQ2hpcCddWydzdGF0ZSddO1xuICAgIH1cbiAgICB0aGlzLnNob3dpbmdBZHZhbmNlZEZlYXR1cmVzID0gdGhpcy5wcm9wcz8uWydzaG93QWR2YW5jZWRGZWF0dXJlcyddO1xuICAgIHRoaXMuY2hlY2tGb3JQcmVzZWxlY3RlZEZlYXR1cmVzKCk7XG4gICAgLy9jb25zb2xlLmxvZyh0aGlzKVxuICAgIC8vY29uc29sZS5sb2codGhpcy5wcm9wcz8uWydhZHZhbmNlZEZlYXR1cmVEaXNjbGFpbWVyQnV0dG9ucyddKTtcbiAgICB0aGlzLmJ1dHRvbkNsaWNrLnBpcGUoXG4gICAgICBkZWJvdW5jZVRpbWUoMzAwKVxuICAgICkuc3Vic2NyaWJlKGJ1dHRvbiA9PiB7XG4gICAgICB0aGlzLmZpZWxkPy5wcm9wcz8uWydvbkJ1dHRvbkNsaWNrJ10oYnV0dG9uKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNoZWNrRm9yUHJlc2VsZWN0ZWRGZWF0dXJlcygpIHtcbiAgICBjb25zdCBwcmVzZWxlY3RlZEZlYXR1cmVzID0gX2ZpbHRlcih0aGlzLnByb3BzWydmZWF0dXJlc0xpc3QnXVxuICAgICAgLCAoZjogYW55KSA9PiBmLmlzU2VsZWN0ZWQpXG5cbiAgICB0aGlzLnNlbGVjdGVkQ291bnQgPSBwcmVzZWxlY3RlZEZlYXR1cmVzLmxlbmd0aFxuICAgIHRoaXMudXBkYXRlQ2hpcFN0YXRlKClcbiAgfVxuXG4gIGdldENoaXBUZXh0KCk6IHN0cmluZyB7XG4gICAgY29uc3QgdGV4dCA9IHRoaXMucHJvcHM/LlsndGl0bGVDaGlwJ10/LlsndGV4dCddIHx8ICcnO1xuICAgIGlmIChfaW5jbHVkZXModGV4dCwgJ3tjb3VudH0nKSkge1xuICAgICAgcmV0dXJuIF9yZXBsYWNlKHRleHQsICd7Y291bnR9JywgX3RvU3RyaW5nKHRoaXMuc2VsZWN0ZWRDb3VudCkpO1xuICAgIH1cbiAgICByZXR1cm4gdGV4dDtcbiAgfVxuXG4gIG9uQ2FyZENsaWNrKGNhcmREZXRhaWxzOiBhbnkpOiB2b2lkIHtcbiAgICBjYXJkRGV0YWlscy5pc1NlbGVjdGVkID0gIWNhcmREZXRhaWxzLmlzU2VsZWN0ZWQ7XG4gICAgdGhpcy5ub3RpZnlDaGVja2JveENoYW5nZShjYXJkRGV0YWlscyk7XG4gIH1cblxuICBvbkNoZWNrYm94Q2xpY2soY2FyZERldGFpbHM6IGFueSk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMubm90aWZ5Q2hlY2tib3hDaGFuZ2UoY2FyZERldGFpbHMpO1xuICB9XG5cbiAgb25BY2NvcmRpb25PcGVuZWQoKSB7XG4gICAgaWYgKCF0aGlzLnByb3BzWydhY2NvcmRpb25FeHBhbmRlZCddKSB7XG4gICAgICB0aGlzLnByb3BzWydhY2NvcmRpb25FeHBhbmRlZCddID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBvbkFjY29yZGlvbkNsb3NlZCgpIHtcbiAgICBpZiAodGhpcy5wcm9wc1snYWNjb3JkaW9uRXhwYW5kZWQnXSkge1xuICAgICAgdGhpcy5wcm9wc1snYWNjb3JkaW9uRXhwYW5kZWQnXSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIG5vdGlmeUNoZWNrYm94Q2hhbmdlKGNhcmREZXRhaWxzOiBhbnkpIHtcbiAgICAvLyBVcGRhdGUgdGhlIHNlbGVjdGVkIGNvdW50XG4gICAgaWYgKGNhcmREZXRhaWxzLmlzU2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudCsrO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQ291bnQtLTtcbiAgICB9XG5cbiAgICAvLyBVcGRhdGUgY2hpcCBzdGF0ZSBiYXNlZCBvbiB0aGUgc2VsZWN0aW9uXG4gICAgdGhpcy51cGRhdGVDaGlwU3RhdGUoKVxuXG4gICAgLy8gR2V0IHRoZSBzZWxlY3RlZCBmZWF0dXJlc1xuICAgIGNvbnN0IHNlbGVjdGVkRmVhdHVyZXMgPSBfbWFwKF9maWx0ZXIodGhpcy5wcm9wc1snZmVhdHVyZXNMaXN0J10sIChmOiBhbnkpID0+IGYuaXNTZWxlY3RlZCksIChmOiBhbnkpID0+IGYudGl0bGUpO1xuXG4gICAgLy8gVXBkYXRlIHRoZSBmb3JtIGNvbnRyb2wgd2l0aCB0aGUgbWVyZ2VkIHZhbHVlXG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShzZWxlY3RlZEZlYXR1cmVzKTtcbiAgfVxuXG5cbiAgdXBkYXRlQ2hpcFN0YXRlKCkge1xuICAgIGlmICh0aGlzLnByb3BzWyd0aXRsZUNoaXAnXSAmJiB0aGlzLnByb3BzWyd0aXRsZUNoaXAnXVsnY2hhbmdlU3RhdGVUbyddKSB7XG4gICAgICB0aGlzLnByb3BzWyd0aXRsZUNoaXAnXVsnc3RhdGUnXSA9IHRoaXMuc2VsZWN0ZWRDb3VudCA+IDAgPyB0aGlzLnByb3BzWyd0aXRsZUNoaXAnXVsnY2hhbmdlU3RhdGVUbyddIDogdGhpcy5pbml0aWFsQ2hpcFN0YXRlO1xuICAgIH1cbiAgfVxuXG4gIG9uQWR2YW5jZWRGZWF0dXJlc09wZW5lZCgpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BzWydhZHZhbmNlZEZlYXR1cmVzRXhwYW5kZWQnXSA9IHRydWU7XG4gIH1cblxuICBvbkFkdmFuY2VkRmVhdHVyZXNDbG9zZWQoKTogdm9pZCB7XG4gICAgdGhpcy5wcm9wc1snYWR2YW5jZWRGZWF0dXJlc0V4cGFuZGVkJ10gPSBmYWxzZTtcbiAgfVxuXG4gIGFjdGlvbkhhbmRsZXIoYnV0dG9uOiBhbnksIGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5idXR0b25DbGljay5uZXh0KGJ1dHRvbik7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmJ1dHRvbkNsaWNrLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvL3BlbmRpbmcgd29yayBvbiBwcmVzZWxlY3RlZCBkYXRhXG59XG4iLCI8bWF0LWFjY29yZGlvbiBjbGFzcz1cImFjY29yZGlvbi1jb250YWluZXJcIj5cbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCBoaWRlVG9nZ2xlIFtleHBhbmRlZF09XCJwcm9wcz8uWydhY2NvcmRpb25FeHBhbmRlZCddIHx8ICdmYWxzZSdcIiAob3BlbmVkKT1cIm9uQWNjb3JkaW9uT3BlbmVkKClcIlxuICAgICAgICAoY2xvc2VkKT1cIm9uQWNjb3JkaW9uQ2xvc2VkKClcIj5cbiAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFuZWwtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIEBpZihwcm9wcz8uWydhY2NvcmRpb25FeHBhbmRlZCddKXtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkLWZsZXggYWxpZ24tY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c2EtaWNvbiBbaWNvbl09XCJwcm9wcz8uWydleHBhbmRlZEljb24nXSB8fCAnZG93bkNoZXZyb25PdXRsaW5lZCdcIiBjbGFzcz1cImQtZmxleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cIjE2XCI+PC9zYS1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH1AZWxzZXtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkLWZsZXggYWxpZ24tY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c2EtaWNvbiBbaWNvbl09XCJwcm9wcz8uWydjb2xsYXBzZWRJY29uJ10gfHwgJ3JpZ2h0Q2hldnJvbk91dGxpbmVkJ1wiIGNsYXNzPVwiZC1mbGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwiMjBcIj48L3NhLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBhbmVsLXRpdGxlXCI+e3twcm9wcz8uWydwYW5lbFRpdGxlJ119fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzYS1jaGlwICpuZ0lmPVwicHJvcHM/LlsndGl0bGVDaGlwJ11cIiBbdHlwZV09XCJwcm9wc1sndGl0bGVDaGlwJ10/LlsndHlwZSddXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhdGVdPVwicHJvcHNbJ3RpdGxlQ2hpcCddPy5bJ3N0YXRlJ11cIiBbZmlsbGluZ109XCJwcm9wc1sndGl0bGVDaGlwJ10/LlsnZmlsbGluZyddXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCJnZXRDaGlwVGV4dCgpXCI+PC9zYS1jaGlwPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWRpdmlkZXJcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY29yZGlvbi1jYXJkcy1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHN1YkZlYXR1cmUgb2YgcHJvcHM/LlsnZmVhdHVyZXNMaXN0J11cIj5cbiAgICAgICAgICAgICAgICA8c2EtY2FyZCBbY29sdW1uXT1cImZhbHNlXCIgW3Nob3dDYXJkSGVhZGVyXT1cInRydWVcIiBbc2hvd0NhcmRCb2R5XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgW3dpZHRoXT1cInByb3BzPy5bJ2ZlYXR1cmVDYXJkV2lkdGgnXSB8fCAnNjMycHgnXCIgW3Nob3dIZWFkZXJCb2R5RGl2aWRlcl09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjdXN0b21XcmFwcGVyQ2xhc3NdPVwicHJvcHM/LlsnY3VzdG9tV3JhcHBlckNsYXNzJ11cIiAoY2xpY2spPVwib25DYXJkQ2xpY2soc3ViRmVhdHVyZSlcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInt7c3ViRmVhdHVyZT8uWydkaXNhYmxlZCddICYmIHN1YkZlYXR1cmU/LlsnaXNTZWxlY3RlZCddID8gJ2NhcmQtc2VsZWN0ZWQnIDogJyd9fXt7c3ViRmVhdHVyZT8uWydkaXNhYmxlZCddID8gJ2Rpc2FibGVkLWNhcmQnOiAnJ319XCI+XG4gICAgICAgICAgICAgICAgICAgIDxzYS1jYXJkLXRpdGxlLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYS1jYXJkLWFjY29yZGlvbi10aXRsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYoc3ViRmVhdHVyZT8uWydkaXNhYmxlZCddKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpc2FibGVkLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNhLWljb24gaWNvbj1cImRpc2FibGVkQ2hlY2tib3hGaWxsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VzdG9tQ2xhc3M9XCJhdXRvLWRpbWVuc2lvbnMgZGlzYWJsZWQtY2hlY2tib3gtaWNvblwiIGNsYXNzPVwiZC1mbGV4XCI+PC9zYS1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9QGVsc2V7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveCBjbGFzcz1cImNoZWNrYm94LXN0eWxlXCIgWyhuZ01vZGVsKV09XCJzdWJGZWF0dXJlLmlzU2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DaGVja2JveENsaWNrKHN1YkZlYXR1cmUpXCI+PC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYS1jYXJkLXRpdGxlLWljb24tY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYS1jYXJkLWN1c3RvbS10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tzdWJGZWF0dXJlPy50aXRsZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYoc3ViRmVhdHVyZT8udG9vbHRpcCl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidG9vbHRpcC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzYS1pY29uIFtpY29uXT1cInByb3BzPy5bJ3Rvb2x0aXBJY29uJ10gfHwgJ2luZm9DaXJjbGVPdXRsaW5lZCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbUNsYXNzPVwiYWNjb3JkaW9uLWluZm8taWNvblwiIFttYXRUb29sdGlwXT1cInN1YkZlYXR1cmU/LnRvb2x0aXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz1cImN1c3RvbS10b29sdGlwXCIgY2xhc3M9XCJ0b29sdGlwLWljb25cIj48L3NhLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvc2EtY2FyZC10aXRsZS1oZWFkZXI+XG4gICAgICAgICAgICAgICAgPC9zYS1jYXJkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tIEFkdmFuY2VkIEZlYXR1cmVzIGFjY29yZGlvbiAtLT5cbiAgICAgICAgPGRpdiAqbmdJZj1cInByb3BzPy5bJ2FkdmFuY2VkRmVhdHVyZXMnXSAmJiBwcm9wc1snYWR2YW5jZWRGZWF0dXJlcyddLmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgY2xhc3M9XCJhZHZhbmNlZC1mZWF0dXJlcy1zZWN0aW9uXCI+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCBoaWRlVG9nZ2xlIFtleHBhbmRlZF09XCJwcm9wcz8uWydhZHZhbmNlZEZlYXR1cmVzRXhwYW5kZWQnXSB8fCAnZmFsc2UnXCJcbiAgICAgICAgICAgICAgICAob3BlbmVkKT1cIm9uQWR2YW5jZWRGZWF0dXJlc09wZW5lZCgpXCIgKGNsb3NlZCk9XCJvbkFkdmFuY2VkRmVhdHVyZXNDbG9zZWQoKVwiIGNsYXNzPVwiYWR2YW5jZWRBY2NvcmRpb25cIj5cbiAgICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFuZWwtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmKCFwcm9wcz8uWydhZHZhbmNlZEZlYXR1cmVzRXhwYW5kZWQnXSl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkLWZsZXggYWxpZ24tY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzYS1pY29uIGljb249XCJzb3VyY2VzT3V0bGluZWRcIiBjbGFzcz1cImQtZmxleFwiIGN1c3RvbUNsYXNzPVwiY29sb3JlZC1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCIxNlwiPjwvc2EtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfUBlbHNle1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5kX21vcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWR2YW5jZWQtdGl0bGVcIj57eyBwcm9wcz8uWydhZHZhbmNlZEZlYXR1cmVzRXhwYW5kZWQnXSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzPy5bJ2FkdmFuY2VkRmVhdHVyZVRvZ2dsZVRpdGxlJ10gOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcz8uWydhZHZhbmNlZEZlYXR1cmVUaXRsZSddIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjY29yZGlvbi1hZHZhbmNlZC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpc2NsYWltZXItY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRvb2x0aXAtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNhLWljb24gaWNvbj1cImluZm9DaXJjbGVPdXRsaW5lZFwiIGN1c3RvbUNsYXNzPVwiYWNjb3JkaW9uLWluZm8taWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidG9vbHRpcC1pY29uXCI+PC9zYS1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXNjbGFpbWVyLXN0eWxlXCI+e3twcm9wcz8uWydhZHZhbmNlZEZlYXR1cmVEaXNjbGFpbWVyJ119fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZihwcm9wcz8uWydhZHZhbmNlZEZlYXR1cmVEaXNjbGFpbWVyQnV0dG9ucyddKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGlzY2xhaW1lci1idXR0b25zLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGJ1dHRvbiBvZiBwcm9wc1snYWR2YW5jZWRGZWF0dXJlRGlzY2xhaW1lckJ1dHRvbnMnXVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2EtYnV0dG9uIFt0ZXh0XT1cImJ1dHRvbi50ZXh0XCIgW3R5cGVdPVwiYnV0dG9uLnR5cGVcIiBbc2l6ZV09XCJidXR0b24uc2l6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhdGVdPVwiYnV0dG9uLnN0YXRlXCIgW2ljb25Qb3NpdGlvbl09XCJidXR0b24uaWNvblBvc2l0aW9uXCIgW2ljb25dPVwiYnV0dG9uLmljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2J1dHRvbkljb25TaXplXT1cImJ1dHRvbi5idXR0b25JY29uU2l6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uSGFuZGxlcihidXR0b24sICRldmVudClcIj48L3NhLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjY29yZGlvbi1jYXJkcy1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHN1YkZlYXR1cmUgb2YgcHJvcHM/LlsnYWR2YW5jZWRGZWF0dXJlcyddXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNhLWNhcmQgW2NvbHVtbl09XCJmYWxzZVwiIFtzaG93Q2FyZEhlYWRlcl09XCJ0cnVlXCIgW3Nob3dDYXJkQm9keV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt3aWR0aF09XCJwcm9wcz8uWydhZHZhbmNlZEZlYXR1cmVDYXJkV2lkdGgnXSB8fCAnNjMycHgnXCIgW3Nob3dIZWFkZXJCb2R5RGl2aWRlcl09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjdXN0b21XcmFwcGVyQ2xhc3NdPVwicHJvcHM/LlsnY3VzdG9tV3JhcHBlckNsYXNzJ11cIiAoY2xpY2spPVwib25DYXJkQ2xpY2soc3ViRmVhdHVyZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInt7IXN1YkZlYXR1cmU/LlsnZGlzYWJsZWQnXSAmJiBzdWJGZWF0dXJlPy5bJ2lzU2VsZWN0ZWQnXSA/ICdjYXJkLXNlbGVjdGVkJyA6ICcnfX17e3N1YkZlYXR1cmU/LlsnZGlzYWJsZWQnXSA/ICdkaXNhYmxlZC1jYXJkJzogJyd9fVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2EtY2FyZC10aXRsZS1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2EtY2FyZC1hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmKHN1YkZlYXR1cmU/LlsnZGlzYWJsZWQnXSl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXNhYmxlZC1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzYS1pY29uIGljb249XCJkaXNhYmxlZENoZWNrYm94RmlsbGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbUNsYXNzPVwiYXV0by1kaW1lbnNpb25zIGRpc2FibGVkLWNoZWNrYm94LWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXhcIj48L3NhLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1AZWxzZXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94IGNsYXNzPVwiY2hlY2tib3gtc3R5bGVcIiBbKG5nTW9kZWwpXT1cInN1YkZlYXR1cmUuaXNTZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNoZWNrYm94Q2xpY2soc3ViRmVhdHVyZSlcIj48L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNhLWNhcmQtdGl0bGUtaWNvbi1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNhLWNhcmQtY3VzdG9tLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3N1YkZlYXR1cmU/LnRpdGxlfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZihzdWJGZWF0dXJlPy50b29sdGlwKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b29sdGlwLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNhLWljb24gW2ljb25dPVwicHJvcHM/LlsnYWR2YW5jZWRUb29sdGlwSWNvbiddIHx8ICdpbmZvQ2lyY2xlT3V0bGluZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21DbGFzcz1cImFjY29yZGlvbi1pbmZvLWljb25cIiBbbWF0VG9vbHRpcF09XCJzdWJGZWF0dXJlPy50b29sdGlwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9XCJjdXN0b20tdG9vbHRpcFwiIGNsYXNzPVwidG9vbHRpcC1pY29uXCI+PC9zYS1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYoc3ViRmVhdHVyZT8uZmVhdHVyZUNoaXApe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGlwLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2EtY2hpcCBbdHlwZV09XCJzdWJGZWF0dXJlLmZlYXR1cmVDaGlwPy5bJ3R5cGUnXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhdGVdPVwic3ViRmVhdHVyZS5mZWF0dXJlQ2hpcD8uWydzdGF0ZSddXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxsaW5nXT1cInN1YkZlYXR1cmUuZmVhdHVyZUNoaXA/LlsnZmlsbGluZyddXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cInN1YkZlYXR1cmUuZmVhdHVyZUNoaXA/LlsnbGFiZWwnXVwiPjwvc2EtY2hpcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zYS1jYXJkLXRpdGxlLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NhLWNhcmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbjwvbWF0LWFjY29yZGlvbj4iXX0=
@@ -56,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
56
56
  type: ViewChild,
57
57
  args: ['cardContainer']
58
58
  }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsaW5nLWNhcmRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvc2Nyb2xsaW5nLWNhcmRzL3Njcm9sbGluZy1jYXJkcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL3Njcm9sbGluZy1jYXJkcy9zY3JvbGxpbmctY2FyZHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXlCLFNBQVMsRUFBaUMsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUEwQnhELE1BQU0sT0FBTyx1QkFBdUI7SUFVbEMsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFUZixVQUFLLEdBQWUsRUFBRSxDQUFDO1FBQ3pDLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIsY0FBUyxHQUFxQyxJQUFJLENBQUM7UUFHNUQsaUJBQVksR0FBZSxFQUFFLENBQUM7UUFDOUIsb0JBQWUsR0FBRyxLQUFLLENBQUM7SUFHc0IsQ0FBQztJQUUvQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWE7WUFBRSxPQUFPO1FBRWhDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO1FBQ25ELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxNQUFNLENBQUM7UUFDdkUsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQztRQUN2RixNQUFNLFFBQVEsR0FBRyxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUUvQyxTQUFTLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDakUsU0FBUyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLFNBQVMsS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEksU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4RCxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEdBQUcsUUFBUSxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztJQUN4RSxDQUFDOzhHQTNDVSx1QkFBdUI7a0dBQXZCLHVCQUF1QiwySUFKdkIsQ0FBQyxXQUFXLENBQUMsMElDekIxQix1akJBVU0scWlFRGNNLGdCQUFnQiwrQkFBRSxhQUFhOzsyRkFLOUIsdUJBQXVCO2tCQVJuQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsYUFDL0IsQ0FBQyxXQUFXLENBQUM7c0ZBS0csS0FBSztzQkFBL0IsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2hCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDc0IsYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBBZnRlclZpZXdJbml0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vY2FyZC9jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uU2VydmljZSB9IGZyb20gJy4uL2ljb24vaWNvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmludGVyZmFjZSBDYXJkRGF0YSB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGJvZHk6IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgaWNvblNpemU/OiBzdHJpbmc7XG4gIGN1c3RvbVdyYXBwZXJDbGFzcz86IHN0cmluZztcbiAgd2lkdGg/OiBzdHJpbmc7XG4gIGNvbHVtbj86IHN0cmluZztcbiAgc2hvd0NhcmRCb2R5PzogYm9vbGVhbjtcbiAgc2hvd0NhcmRIZWFkZXI/OiBib29sZWFuO1xuICBzdWJ0aXRsZT86IHN0cmluZztcbiAgbG9nb0ljb24/OiBzdHJpbmc7XG4gIGF2YXRhcj86IHN0cmluZztcbiAgYXZhdGFySWNvbj86IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2Etc2Nyb2xsaW5nLWNhcmRzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0h0dHBDbGllbnRNb2R1bGUsIENhcmRDb21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtJY29uU2VydmljZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zY3JvbGxpbmctY2FyZHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vc2Nyb2xsaW5nLWNhcmRzLmNvbXBvbmVudC5jc3MnXG59KVxuZXhwb3J0IGNsYXNzIFNjcm9sbGluZ0NhcmRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY2FyZHM6IENhcmREYXRhW10gPSBbXTtcbiAgQElucHV0KCkgZHVyYXRpb246IG51bWJlciA9IDEwO1xuICBASW5wdXQoKSBkaXJlY3Rpb246ICd1cCcgfCAnZG93bicgfCAnbGVmdCcgfCAncmlnaHQnID0gJ3VwJztcbiAgQFZpZXdDaGlsZCgnY2FyZENvbnRhaW5lcicpIGNhcmRDb250YWluZXIhOiBFbGVtZW50UmVmO1xuXG4gIGRpc3BsYXlDYXJkczogQ2FyZERhdGFbXSA9IFtdO1xuICBhbmltYXRpb25QYXVzZWQgPSBmYWxzZTtcbiAgaXNWZXJ0aWNhbDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZGlzcGxheUNhcmRzID0gWy4uLnRoaXMuY2FyZHMsIC4uLnRoaXMuY2FyZHNdO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuc2V0QW5pbWF0aW9uUHJvcGVydGllcygpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHNldEFuaW1hdGlvblByb3BlcnRpZXMoKSB7XG4gICAgaWYgKCF0aGlzLmNhcmRDb250YWluZXIpIHJldHVybjtcblxuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY2FyZENvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMuaXNWZXJ0aWNhbCA9IHRoaXMuZGlyZWN0aW9uID09PSAndXAnIHx8IHRoaXMuZGlyZWN0aW9uID09PSAnZG93bic7XG4gICAgY29uc3QgY29udGFpbmVyU2l6ZSA9IHRoaXMuaXNWZXJ0aWNhbCA/IGNvbnRhaW5lci5zY3JvbGxIZWlnaHQgOiBjb250YWluZXIuc2Nyb2xsV2lkdGg7XG4gICAgY29uc3QgZHVyYXRpb24gPSBjb250YWluZXJTaXplIC8gdGhpcy5kdXJhdGlvbjtcblxuICAgIGNvbnRhaW5lci5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zY3JvbGwtZHVyYXRpb24nLCBgJHtkdXJhdGlvbn1zYCk7XG4gICAgY29udGFpbmVyLnN0eWxlLnNldFByb3BlcnR5KCctLXNjcm9sbC1kaXJlY3Rpb24nLCB0aGlzLmRpcmVjdGlvbiA9PT0gJ2Rvd24nIHx8IHRoaXMuZGlyZWN0aW9uID09PSAncmlnaHQnID8gJ3JldmVyc2UnIDogJ25vcm1hbCcpO1xuICAgIGNvbnRhaW5lci5jbGFzc0xpc3QudG9nZ2xlKCd2ZXJ0aWNhbCcsIHRoaXMuaXNWZXJ0aWNhbCk7XG4gICAgY29udGFpbmVyLmNsYXNzTGlzdC50b2dnbGUoJ2hvcml6b250YWwnLCAhdGhpcy5pc1ZlcnRpY2FsKTtcbiAgfVxuXG4gIHBhdXNlU2Nyb2xsKCkge1xuICAgIHRoaXMuYW5pbWF0aW9uUGF1c2VkID0gdHJ1ZTtcbiAgICB0aGlzLmNhcmRDb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZS5hbmltYXRpb25QbGF5U3RhdGUgPSAncGF1c2VkJztcbiAgfVxuXG4gIHJlc3VtZVNjcm9sbCgpIHtcbiAgICB0aGlzLmFuaW1hdGlvblBhdXNlZCA9IGZhbHNlO1xuICAgIHRoaXMuY2FyZENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLmFuaW1hdGlvblBsYXlTdGF0ZSA9ICdydW5uaW5nJztcbiAgfVxufSIsIjxkaXYgY2xhc3M9XCJzY3JvbGxpbmctY2FyZHMtY29udGFpbmVyIHt7dGhpcy5pc1ZlcnRpY2FsID8gJ3ZlcnRpY2FsJzogJ2hvcml6b250YWwnfX1cIiAobW91c2VlbnRlcik9XCJwYXVzZVNjcm9sbCgpXCJcbiAgICAobW91c2VsZWF2ZSk9XCJyZXN1bWVTY3JvbGwoKVwiPlxuICAgIDxkaXYgI2NhcmRDb250YWluZXIgY2xhc3M9XCJjYXJkLWNvbnRhaW5lclwiPlxuICAgICAgICBAZm9yIChjYXJkIG9mIGRpc3BsYXlDYXJkczsgdHJhY2sgY2FyZC50aXRsZSkge1xuICAgICAgICA8c2EtY2FyZCBbdGl0bGVdPVwiY2FyZC50aXRsZVwiIFtib2R5XT1cImNhcmQuYm9keVwiIFtpY29uXT1cImNhcmQuaWNvblwiIFtpY29uU2l6ZV09XCInNTQnXCJcbiAgICAgICAgICAgIFtjdXN0b21XcmFwcGVyQ2xhc3NdPVwiJ3NhLWNhcmQtc2Vjb25kYXJ5LXdyYXBwZXInXCIgW3dpZHRoXT1cIicyNC4wNjNyZW0nXCIgW2NvbHVtbl09XCJmYWxzZVwiXG4gICAgICAgICAgICBbc2hvd0NhcmRCb2R5XT1cInRydWVcIj5cbiAgICAgICAgPC9zYS1jYXJkPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsaW5nLWNhcmRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvc2Nyb2xsaW5nLWNhcmRzL3Njcm9sbGluZy1jYXJkcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL3Njcm9sbGluZy1jYXJkcy9zY3JvbGxpbmctY2FyZHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXlCLFNBQVMsRUFBaUMsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFheEQsTUFBTSxPQUFPLHVCQUF1QjtJQVVsQyxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQVRmLFVBQUssR0FBeUIsRUFBRSxDQUFDO1FBQ25ELGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIsY0FBUyxHQUFxQyxJQUFJLENBQUM7UUFHNUQsaUJBQVksR0FBeUIsRUFBRSxDQUFDO1FBQ3hDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO0lBR3NCLENBQUM7SUFFL0MsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhO1lBQUUsT0FBTztRQUVoQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztRQUNuRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssTUFBTSxDQUFDO1FBQ3ZFLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUM7UUFDdkYsTUFBTSxRQUFRLEdBQUcsYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFL0MsU0FBUyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2pFLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxTQUFTLEtBQUssTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xJLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEQsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGtCQUFrQixHQUFHLFFBQVEsQ0FBQztJQUN2RSxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQzdCLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsR0FBRyxTQUFTLENBQUM7SUFDeEUsQ0FBQzs4R0EzQ1UsdUJBQXVCO2tHQUF2Qix1QkFBdUIsMklBSnZCLENBQUMsV0FBVyxDQUFDLDBJQ1oxQix1akJBVU0scWlFRENNLGdCQUFnQiwrQkFBRSxhQUFhOzsyRkFLOUIsdUJBQXVCO2tCQVJuQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsYUFDL0IsQ0FBQyxXQUFXLENBQUM7c0ZBS0csS0FBSztzQkFBL0IsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2hCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDc0IsYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBBZnRlclZpZXdJbml0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vY2FyZC9jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uU2VydmljZSB9IGZyb20gJy4uL2ljb24vaWNvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJU2Nyb2xsaW5nQ2FyZERhdGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3Njcm9sbGluZy1jYXJkLWludGVyZmFjZSc7XG5cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYS1zY3JvbGxpbmctY2FyZHMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbSHR0cENsaWVudE1vZHVsZSwgQ2FyZENvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW0ljb25TZXJ2aWNlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Njcm9sbGluZy1jYXJkcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9zY3JvbGxpbmctY2FyZHMuY29tcG9uZW50LmNzcydcbn0pXG5leHBvcnQgY2xhc3MgU2Nyb2xsaW5nQ2FyZHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjYXJkczogSVNjcm9sbGluZ0NhcmREYXRhW10gPSBbXTtcbiAgQElucHV0KCkgZHVyYXRpb246IG51bWJlciA9IDEwO1xuICBASW5wdXQoKSBkaXJlY3Rpb246ICd1cCcgfCAnZG93bicgfCAnbGVmdCcgfCAncmlnaHQnID0gJ3VwJztcbiAgQFZpZXdDaGlsZCgnY2FyZENvbnRhaW5lcicpIGNhcmRDb250YWluZXIhOiBFbGVtZW50UmVmO1xuXG4gIGRpc3BsYXlDYXJkczogSVNjcm9sbGluZ0NhcmREYXRhW10gPSBbXTtcbiAgYW5pbWF0aW9uUGF1c2VkID0gZmFsc2U7XG4gIGlzVmVydGljYWw6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRpc3BsYXlDYXJkcyA9IFsuLi50aGlzLmNhcmRzLCAuLi50aGlzLmNhcmRzXTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnNldEFuaW1hdGlvblByb3BlcnRpZXMoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBzZXRBbmltYXRpb25Qcm9wZXJ0aWVzKCkge1xuICAgIGlmICghdGhpcy5jYXJkQ29udGFpbmVyKSByZXR1cm47XG5cbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmNhcmRDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLmlzVmVydGljYWwgPSB0aGlzLmRpcmVjdGlvbiA9PT0gJ3VwJyB8fCB0aGlzLmRpcmVjdGlvbiA9PT0gJ2Rvd24nO1xuICAgIGNvbnN0IGNvbnRhaW5lclNpemUgPSB0aGlzLmlzVmVydGljYWwgPyBjb250YWluZXIuc2Nyb2xsSGVpZ2h0IDogY29udGFpbmVyLnNjcm9sbFdpZHRoO1xuICAgIGNvbnN0IGR1cmF0aW9uID0gY29udGFpbmVyU2l6ZSAvIHRoaXMuZHVyYXRpb247XG5cbiAgICBjb250YWluZXIuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2Nyb2xsLWR1cmF0aW9uJywgYCR7ZHVyYXRpb259c2ApO1xuICAgIGNvbnRhaW5lci5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zY3JvbGwtZGlyZWN0aW9uJywgdGhpcy5kaXJlY3Rpb24gPT09ICdkb3duJyB8fCB0aGlzLmRpcmVjdGlvbiA9PT0gJ3JpZ2h0JyA/ICdyZXZlcnNlJyA6ICdub3JtYWwnKTtcbiAgICBjb250YWluZXIuY2xhc3NMaXN0LnRvZ2dsZSgndmVydGljYWwnLCB0aGlzLmlzVmVydGljYWwpO1xuICAgIGNvbnRhaW5lci5jbGFzc0xpc3QudG9nZ2xlKCdob3Jpem9udGFsJywgIXRoaXMuaXNWZXJ0aWNhbCk7XG4gIH1cblxuICBwYXVzZVNjcm9sbCgpIHtcbiAgICB0aGlzLmFuaW1hdGlvblBhdXNlZCA9IHRydWU7XG4gICAgdGhpcy5jYXJkQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUuYW5pbWF0aW9uUGxheVN0YXRlID0gJ3BhdXNlZCc7XG4gIH1cblxuICByZXN1bWVTY3JvbGwoKSB7XG4gICAgdGhpcy5hbmltYXRpb25QYXVzZWQgPSBmYWxzZTtcbiAgICB0aGlzLmNhcmRDb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZS5hbmltYXRpb25QbGF5U3RhdGUgPSAncnVubmluZyc7XG4gIH1cbn0iLCI8ZGl2IGNsYXNzPVwic2Nyb2xsaW5nLWNhcmRzLWNvbnRhaW5lciB7e3RoaXMuaXNWZXJ0aWNhbCA/ICd2ZXJ0aWNhbCc6ICdob3Jpem9udGFsJ319XCIgKG1vdXNlZW50ZXIpPVwicGF1c2VTY3JvbGwoKVwiXG4gICAgKG1vdXNlbGVhdmUpPVwicmVzdW1lU2Nyb2xsKClcIj5cbiAgICA8ZGl2ICNjYXJkQ29udGFpbmVyIGNsYXNzPVwiY2FyZC1jb250YWluZXJcIj5cbiAgICAgICAgQGZvciAoY2FyZCBvZiBkaXNwbGF5Q2FyZHM7IHRyYWNrIGNhcmQudGl0bGUpIHtcbiAgICAgICAgPHNhLWNhcmQgW3RpdGxlXT1cImNhcmQudGl0bGVcIiBbYm9keV09XCJjYXJkLmJvZHlcIiBbaWNvbl09XCJjYXJkLmljb25cIiBbaWNvblNpemVdPVwiJzU0J1wiXG4gICAgICAgICAgICBbY3VzdG9tV3JhcHBlckNsYXNzXT1cIidzYS1jYXJkLXNlY29uZGFyeS13cmFwcGVyJ1wiIFt3aWR0aF09XCInMjQuMDYzcmVtJ1wiIFtjb2x1bW5dPVwiZmFsc2VcIlxuICAgICAgICAgICAgW3Nob3dDYXJkQm9keV09XCJ0cnVlXCI+XG4gICAgICAgIDwvc2EtY2FyZD5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuPC9kaXY+Il19
@@ -0,0 +1,31 @@
1
+ import { Component, Input, HostBinding } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class SkeletonBaseComponent {
4
+ constructor() {
5
+ this.width = '100%';
6
+ this.height = '1rem';
7
+ }
8
+ get getWidth() {
9
+ return this.width;
10
+ }
11
+ get getHeight() {
12
+ return this.height;
13
+ }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SkeletonBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: SkeletonBaseComponent, isStandalone: true, selector: "sa-skeleton-base", inputs: { width: "width", height: "height" }, host: { properties: { "style.width": "this.getWidth", "style.height": "this.getHeight" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{display:block;position:relative;overflow:hidden;background:var(--sa-skeleton-background, #e9ecef);border-radius:var(--sa-skeleton-radius, 4px)}:host:after{content:\"\";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--sa-skeleton-shine, rgba(255, 255, 255, .3)),transparent);animation:shimmer var(--sa-skeleton-animation-duration, 1.5s) infinite}@keyframes shimmer{to{transform:translate(100%)}}\n"] }); }
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SkeletonBaseComponent, decorators: [{
18
+ type: Component,
19
+ args: [{ selector: 'sa-skeleton-base', standalone: true, template: `<ng-content></ng-content>`, styles: [":host{display:block;position:relative;overflow:hidden;background:var(--sa-skeleton-background, #e9ecef);border-radius:var(--sa-skeleton-radius, 4px)}:host:after{content:\"\";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--sa-skeleton-shine, rgba(255, 255, 255, .3)),transparent);animation:shimmer var(--sa-skeleton-animation-duration, 1.5s) infinite}@keyframes shimmer{to{transform:translate(100%)}}\n"] }]
20
+ }], propDecorators: { width: [{
21
+ type: Input
22
+ }], height: [{
23
+ type: Input
24
+ }], getWidth: [{
25
+ type: HostBinding,
26
+ args: ['style.width']
27
+ }], getHeight: [{
28
+ type: HostBinding,
29
+ args: ['style.height']
30
+ }] } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24tYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL3NrZWxldG9uL3NrZWxldG9uLWJhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUF1QzlELE1BQU0sT0FBTyxxQkFBcUI7SUFyQ2xDO1FBc0NXLFVBQUssR0FBVyxNQUFNLENBQUM7UUFDdkIsV0FBTSxHQUFXLE1BQU0sQ0FBQztLQVNsQztJQVBDLElBQWdDLFFBQVE7UUFDdEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFpQyxTQUFTO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDOzhHQVZVLHFCQUFxQjtrR0FBckIscUJBQXFCLHNOQWxDdEIsMkJBQTJCOzsyRkFrQzFCLHFCQUFxQjtrQkFyQ2pDLFNBQVM7K0JBQ0Usa0JBQWtCLGNBQ2hCLElBQUksWUFDTiwyQkFBMkI7OEJBbUM1QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUUwQixRQUFRO3NCQUF2QyxXQUFXO3VCQUFDLGFBQWE7Z0JBSU8sU0FBUztzQkFBekMsV0FBVzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2Etc2tlbGV0b24tYmFzZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXG4gIHN0eWxlczogW2BcbiAgICA6aG9zdCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zYS1za2VsZXRvbi1iYWNrZ3JvdW5kLCAjZTllY2VmKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNhLXNrZWxldG9uLXJhZGl1cywgNHB4KTtcbiAgICB9XG5cbiAgICA6aG9zdDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICA5MGRlZyxcbiAgICAgICAgdHJhbnNwYXJlbnQsXG4gICAgICAgIHZhcigtLXNhLXNrZWxldG9uLXNoaW5lLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMykpLFxuICAgICAgICB0cmFuc3BhcmVudFxuICAgICAgKTtcbiAgICAgIGFuaW1hdGlvbjogc2hpbW1lciB2YXIoLS1zYS1za2VsZXRvbi1hbmltYXRpb24tZHVyYXRpb24sIDEuNXMpIGluZmluaXRlO1xuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgc2hpbW1lciB7XG4gICAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgfVxuICAgIH1cbiAgYF1cbn0pXG5leHBvcnQgY2xhc3MgU2tlbGV0b25CYXNlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgd2lkdGg6IHN0cmluZyA9ICcxMDAlJztcbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmcgPSAnMXJlbSc7XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpIGdldCBnZXRXaWR0aCgpIHtcbiAgICByZXR1cm4gdGhpcy53aWR0aDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0JykgZ2V0IGdldEhlaWdodCgpIHtcbiAgICByZXR1cm4gdGhpcy5oZWlnaHQ7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,36 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { NgStyle } from '@angular/common';
3
+ import * as i0 from "@angular/core";
4
+ export class SkeletonContainerComponent {
5
+ constructor() {
6
+ this.direction = 'column';
7
+ }
8
+ get containerStyles() {
9
+ return {
10
+ gap: this.gap,
11
+ padding: this.padding,
12
+ flexDirection: this.direction
13
+ };
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SkeletonContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: SkeletonContainerComponent, isStandalone: true, selector: "sa-skeleton-container", inputs: { gap: "gap", padding: "padding", direction: "direction" }, ngImport: i0, template: `
17
+ <div class="skeleton-container" [ngStyle]="containerStyles">
18
+ <ng-content></ng-content>
19
+ </div>
20
+ `, isInline: true, styles: [".skeleton-container{display:flex;flex-direction:column;gap:var(--sa-skeleton-gap, 1rem);padding:var(--sa-skeleton-padding, 1rem)}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SkeletonContainerComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ selector: 'sa-skeleton-container', standalone: true, imports: [NgStyle], template: `
25
+ <div class="skeleton-container" [ngStyle]="containerStyles">
26
+ <ng-content></ng-content>
27
+ </div>
28
+ `, styles: [".skeleton-container{display:flex;flex-direction:column;gap:var(--sa-skeleton-gap, 1rem);padding:var(--sa-skeleton-padding, 1rem)}\n"] }]
29
+ }], propDecorators: { gap: [{
30
+ type: Input
31
+ }], padding: [{
32
+ type: Input
33
+ }], direction: [{
34
+ type: Input
35
+ }] } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24tY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvc2tlbGV0b24vc2tlbGV0b24tY29udGFpbmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBb0IxQyxNQUFNLE9BQU8sMEJBQTBCO0lBbEJ2QztRQXFCVyxjQUFTLEdBQXFCLFFBQVEsQ0FBQztLQVNqRDtJQVBDLElBQUksZUFBZTtRQUNqQixPQUFPO1lBQ0wsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUztTQUM5QixDQUFDO0lBQ0osQ0FBQzs4R0FYVSwwQkFBMEI7a0dBQTFCLDBCQUEwQixxSkFkM0I7Ozs7R0FJVCw2TUFMUyxPQUFPOzsyRkFlTiwwQkFBMEI7a0JBbEJ0QyxTQUFTOytCQUNFLHVCQUF1QixjQUNyQixJQUFJLFdBQ1AsQ0FBQyxPQUFPLENBQUMsWUFDUjs7OztHQUlUOzhCQVdRLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nU3R5bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYS1za2VsZXRvbi1jb250YWluZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdTdHlsZV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInNrZWxldG9uLWNvbnRhaW5lclwiIFtuZ1N0eWxlXT1cImNvbnRhaW5lclN0eWxlc1wiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtgXG4gICAgLnNrZWxldG9uLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogdmFyKC0tc2Etc2tlbGV0b24tZ2FwLCAxcmVtKTtcbiAgICAgIHBhZGRpbmc6IHZhcigtLXNhLXNrZWxldG9uLXBhZGRpbmcsIDFyZW0pO1xuICAgIH1cbiAgYF1cbn0pXG5leHBvcnQgY2xhc3MgU2tlbGV0b25Db250YWluZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBnYXA/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBhZGRpbmc/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpcmVjdGlvbjogJ3JvdycgfCAnY29sdW1uJyA9ICdjb2x1bW4nO1xuXG4gIGdldCBjb250YWluZXJTdHlsZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdhcDogdGhpcy5nYXAsXG4gICAgICBwYWRkaW5nOiB0aGlzLnBhZGRpbmcsXG4gICAgICBmbGV4RGlyZWN0aW9uOiB0aGlzLmRpcmVjdGlvblxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,112 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { SkeletonBaseComponent } from './skeleton-base.component';
4
+ import { SkeletonTextComponent, SkeletonCircleComponent, SkeletonRectangleComponent, SkeletonEllipticalComponent } from './skeleton-shapes.component';
5
+ import { SkeletonContainerComponent } from './skeleton-container.component';
6
+ import { SKELETON_PRESETS } from './skeleton-presets';
7
+ import * as i0 from "@angular/core";
8
+ export class SkeletonLoaderComponent {
9
+ ngOnInit() {
10
+ this.updateConfig();
11
+ }
12
+ ngOnChanges(changes) {
13
+ this.updateConfig();
14
+ }
15
+ updateConfig() {
16
+ if (this.preset && (!this.config || !this.config.items?.length)) {
17
+ this.config = SKELETON_PRESETS[this.preset];
18
+ }
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SkeletonLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: SkeletonLoaderComponent, isStandalone: true, selector: "sa-skeleton-loader", inputs: { preset: "preset", config: "config" }, usesOnChanges: true, ngImport: i0, template: `
22
+ <sa-skeleton-container
23
+ [gap]="config?.containerConfig?.gap"
24
+ [padding]="config?.containerConfig?.padding"
25
+ [direction]="config?.containerConfig?.direction || 'column'"
26
+ >
27
+ @for (item of config?.items; track $index) {
28
+ @switch (item.type) {
29
+ @case ('text') {
30
+ <sa-skeleton-text
31
+ [width]="item.width"
32
+ [height]="item.height"
33
+ ></sa-skeleton-text>
34
+ }
35
+ @case ('circle') {
36
+ <sa-skeleton-circle
37
+ [size]="item.size"
38
+ ></sa-skeleton-circle>
39
+ }
40
+ @case ('rectangle') {
41
+ <sa-skeleton-rectangle
42
+ [width]="item.width"
43
+ [height]="item.height"
44
+ ></sa-skeleton-rectangle>
45
+ }
46
+ @case ('elliptical') {
47
+ <sa-skeleton-elliptical
48
+ [width]="item.width"
49
+ [height]="item.height"
50
+ ></sa-skeleton-elliptical>
51
+ }
52
+ }
53
+ }
54
+ </sa-skeleton-container>
55
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: SkeletonTextComponent, selector: "sa-skeleton-text", inputs: ["width", "height"] }, { kind: "component", type: SkeletonCircleComponent, selector: "sa-skeleton-circle", inputs: ["size"] }, { kind: "component", type: SkeletonRectangleComponent, selector: "sa-skeleton-rectangle", inputs: ["width", "height"] }, { kind: "component", type: SkeletonEllipticalComponent, selector: "sa-skeleton-elliptical", inputs: ["width", "height"] }, { kind: "component", type: SkeletonContainerComponent, selector: "sa-skeleton-container", inputs: ["gap", "padding", "direction"] }] }); }
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SkeletonLoaderComponent, decorators: [{
58
+ type: Component,
59
+ args: [{
60
+ selector: 'sa-skeleton-loader',
61
+ standalone: true,
62
+ imports: [
63
+ CommonModule,
64
+ SkeletonBaseComponent,
65
+ SkeletonTextComponent,
66
+ SkeletonCircleComponent,
67
+ SkeletonRectangleComponent,
68
+ SkeletonEllipticalComponent,
69
+ SkeletonContainerComponent
70
+ ],
71
+ template: `
72
+ <sa-skeleton-container
73
+ [gap]="config?.containerConfig?.gap"
74
+ [padding]="config?.containerConfig?.padding"
75
+ [direction]="config?.containerConfig?.direction || 'column'"
76
+ >
77
+ @for (item of config?.items; track $index) {
78
+ @switch (item.type) {
79
+ @case ('text') {
80
+ <sa-skeleton-text
81
+ [width]="item.width"
82
+ [height]="item.height"
83
+ ></sa-skeleton-text>
84
+ }
85
+ @case ('circle') {
86
+ <sa-skeleton-circle
87
+ [size]="item.size"
88
+ ></sa-skeleton-circle>
89
+ }
90
+ @case ('rectangle') {
91
+ <sa-skeleton-rectangle
92
+ [width]="item.width"
93
+ [height]="item.height"
94
+ ></sa-skeleton-rectangle>
95
+ }
96
+ @case ('elliptical') {
97
+ <sa-skeleton-elliptical
98
+ [width]="item.width"
99
+ [height]="item.height"
100
+ ></sa-skeleton-elliptical>
101
+ }
102
+ }
103
+ }
104
+ </sa-skeleton-container>
105
+ `
106
+ }]
107
+ }], propDecorators: { preset: [{
108
+ type: Input
109
+ }], config: [{
110
+ type: Input
111
+ }] } });
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24tbG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvc2tlbGV0b24vc2tlbGV0b24tbG9hZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RKLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVFLE9BQU8sRUFBa0MsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFrRHRGLE1BQU0sT0FBTyx1QkFBdUI7SUFJbEMsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU8sWUFBWTtRQUNsQixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ2hFLElBQUksQ0FBQyxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLENBQUM7SUFDSCxDQUFDOzhHQWhCVSx1QkFBdUI7a0dBQXZCLHVCQUF1QixtSkFwQ3hCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NULDJEQTFDQyxZQUFZLCtCQUVaLHFCQUFxQiwwRkFDckIsdUJBQXVCLGlGQUN2QiwwQkFBMEIsK0ZBQzFCLDJCQUEyQixnR0FDM0IsMEJBQTBCOzsyRkFzQ2pCLHVCQUF1QjtrQkFoRG5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLDBCQUEwQjt3QkFDMUIsMkJBQTJCO3dCQUMzQiwwQkFBMEI7cUJBQzNCO29CQUNELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDVDtpQkFDRjs4QkFFVSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU2tlbGV0b25CYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9za2VsZXRvbi1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa2VsZXRvblRleHRDb21wb25lbnQsIFNrZWxldG9uQ2lyY2xlQ29tcG9uZW50LCBTa2VsZXRvblJlY3RhbmdsZUNvbXBvbmVudCwgU2tlbGV0b25FbGxpcHRpY2FsQ29tcG9uZW50IH0gZnJvbSAnLi9za2VsZXRvbi1zaGFwZXMuY29tcG9uZW50JztcbmltcG9ydCB7IFNrZWxldG9uQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9za2VsZXRvbi1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNrZWxldG9uQ29uZmlnLCBTa2VsZXRvblByZXNldCwgU0tFTEVUT05fUFJFU0VUUyB9IGZyb20gJy4vc2tlbGV0b24tcHJlc2V0cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NhLXNrZWxldG9uLWxvYWRlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2tlbGV0b25CYXNlQ29tcG9uZW50LFxuICAgIFNrZWxldG9uVGV4dENvbXBvbmVudCxcbiAgICBTa2VsZXRvbkNpcmNsZUNvbXBvbmVudCxcbiAgICBTa2VsZXRvblJlY3RhbmdsZUNvbXBvbmVudCxcbiAgICBTa2VsZXRvbkVsbGlwdGljYWxDb21wb25lbnQsXG4gICAgU2tlbGV0b25Db250YWluZXJDb21wb25lbnRcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8c2Etc2tlbGV0b24tY29udGFpbmVyXG4gICAgICBbZ2FwXT1cImNvbmZpZz8uY29udGFpbmVyQ29uZmlnPy5nYXBcIlxuICAgICAgW3BhZGRpbmddPVwiY29uZmlnPy5jb250YWluZXJDb25maWc/LnBhZGRpbmdcIlxuICAgICAgW2RpcmVjdGlvbl09XCJjb25maWc/LmNvbnRhaW5lckNvbmZpZz8uZGlyZWN0aW9uIHx8ICdjb2x1bW4nXCJcbiAgICA+XG4gICAgICBAZm9yIChpdGVtIG9mIGNvbmZpZz8uaXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICBAc3dpdGNoIChpdGVtLnR5cGUpIHtcbiAgICAgICAgICBAY2FzZSAoJ3RleHQnKSB7XG4gICAgICAgICAgICA8c2Etc2tlbGV0b24tdGV4dFxuICAgICAgICAgICAgICBbd2lkdGhdPVwiaXRlbS53aWR0aFwiXG4gICAgICAgICAgICAgIFtoZWlnaHRdPVwiaXRlbS5oZWlnaHRcIlxuICAgICAgICAgICAgPjwvc2Etc2tlbGV0b24tdGV4dD5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGNhc2UgKCdjaXJjbGUnKSB7XG4gICAgICAgICAgICA8c2Etc2tlbGV0b24tY2lyY2xlXG4gICAgICAgICAgICAgIFtzaXplXT1cIml0ZW0uc2l6ZVwiXG4gICAgICAgICAgICA+PC9zYS1za2VsZXRvbi1jaXJjbGU+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBjYXNlICgncmVjdGFuZ2xlJykge1xuICAgICAgICAgICAgPHNhLXNrZWxldG9uLXJlY3RhbmdsZVxuICAgICAgICAgICAgICBbd2lkdGhdPVwiaXRlbS53aWR0aFwiXG4gICAgICAgICAgICAgIFtoZWlnaHRdPVwiaXRlbS5oZWlnaHRcIlxuICAgICAgICAgICAgPjwvc2Etc2tlbGV0b24tcmVjdGFuZ2xlPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAY2FzZSAoJ2VsbGlwdGljYWwnKSB7XG4gICAgICAgICAgICA8c2Etc2tlbGV0b24tZWxsaXB0aWNhbFxuICAgICAgICAgICAgICBbd2lkdGhdPVwiaXRlbS53aWR0aFwiXG4gICAgICAgICAgICAgIFtoZWlnaHRdPVwiaXRlbS5oZWlnaHRcIlxuICAgICAgICAgICAgPjwvc2Etc2tlbGV0b24tZWxsaXB0aWNhbD5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICA8L3NhLXNrZWxldG9uLWNvbnRhaW5lcj5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBTa2VsZXRvbkxvYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHByZXNldD86IGtleW9mIHR5cGVvZiBTS0VMRVRPTl9QUkVTRVRTO1xuICBASW5wdXQoKSBjb25maWc/OiBTa2VsZXRvblByZXNldDtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnVwZGF0ZUNvbmZpZygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIHRoaXMudXBkYXRlQ29uZmlnKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNvbmZpZygpIHtcbiAgICBpZiAodGhpcy5wcmVzZXQgJiYgKCF0aGlzLmNvbmZpZyB8fCAhdGhpcy5jb25maWcuaXRlbXM/Lmxlbmd0aCkpIHtcbiAgICAgIHRoaXMuY29uZmlnID0gU0tFTEVUT05fUFJFU0VUU1t0aGlzLnByZXNldF07XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,37 @@
1
+ export const SKELETON_PRESETS = {
2
+ // Preset for a card with title, subtitle and content
3
+ card: {
4
+ items: [
5
+ { type: 'text', width: '60%', height: '1.5rem' },
6
+ { type: 'text', width: '40%', height: '1rem' },
7
+ { type: 'rectangle', height: '100px' }
8
+ ],
9
+ containerConfig: {
10
+ padding: '1rem',
11
+ gap: '0.75rem'
12
+ }
13
+ },
14
+ // Preset for a list item with avatar
15
+ listItem: {
16
+ items: [
17
+ { type: 'circle', size: '2.5rem' },
18
+ { type: 'text', width: '70%', height: '1rem' }
19
+ ],
20
+ containerConfig: {
21
+ direction: 'row',
22
+ gap: '1rem',
23
+ padding: '0.5rem'
24
+ }
25
+ },
26
+ // Preset for form fields
27
+ formField: {
28
+ items: [
29
+ { type: 'text', width: '30%', height: '1rem' },
30
+ { type: 'rectangle', height: '2.5rem' }
31
+ ],
32
+ containerConfig: {
33
+ gap: '0.5rem'
34
+ }
35
+ }
36
+ };
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24tcHJlc2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvc2tlbGV0b24vc2tlbGV0b24tcHJlc2V0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUc7SUFDOUIscURBQXFEO0lBQ3JELElBQUksRUFBRTtRQUNKLEtBQUssRUFBRTtZQUNMLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUU7WUFDaEQsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRTtZQUM5QyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRTtTQUN2QztRQUNELGVBQWUsRUFBRTtZQUNmLE9BQU8sRUFBRSxNQUFNO1lBQ2YsR0FBRyxFQUFFLFNBQVM7U0FDZjtLQUNGO0lBRUQscUNBQXFDO0lBQ3JDLFFBQVEsRUFBRTtRQUNSLEtBQUssRUFBRTtZQUNMLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQ2xDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUU7U0FDL0M7UUFDRCxlQUFlLEVBQUU7WUFDZixTQUFTLEVBQUUsS0FBSztZQUNoQixHQUFHLEVBQUUsTUFBTTtZQUNYLE9BQU8sRUFBRSxRQUFRO1NBQ2xCO0tBQ0Y7SUFFRCx5QkFBeUI7SUFDekIsU0FBUyxFQUFFO1FBQ1QsS0FBSyxFQUFFO1lBQ0wsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRTtZQUM5QyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRTtTQUN4QztRQUNELGVBQWUsRUFBRTtZQUNmLEdBQUcsRUFBRSxRQUFRO1NBQ2Q7S0FDRjtDQUNPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNrZWxldG9uQ29uZmlnIHtcbiAgdHlwZTogJ3RleHQnIHwgJ2NpcmNsZScgfCAncmVjdGFuZ2xlJyB8ICdlbGxpcHRpY2FsJztcbiAgd2lkdGg/OiBzdHJpbmc7XG4gIGhlaWdodD86IHN0cmluZztcbiAgc2l6ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTa2VsZXRvblByZXNldCB7XG4gIGl0ZW1zOiByZWFkb25seSBTa2VsZXRvbkNvbmZpZ1tdO1xuICBjb250YWluZXJDb25maWc/OiB7XG4gICAgZ2FwPzogc3RyaW5nO1xuICAgIHBhZGRpbmc/OiBzdHJpbmc7XG4gICAgZGlyZWN0aW9uPzogJ3JvdycgfCAnY29sdW1uJztcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IFNLRUxFVE9OX1BSRVNFVFMgPSB7XG4gIC8vIFByZXNldCBmb3IgYSBjYXJkIHdpdGggdGl0bGUsIHN1YnRpdGxlIGFuZCBjb250ZW50XG4gIGNhcmQ6IHtcbiAgICBpdGVtczogW1xuICAgICAgeyB0eXBlOiAndGV4dCcsIHdpZHRoOiAnNjAlJywgaGVpZ2h0OiAnMS41cmVtJyB9LFxuICAgICAgeyB0eXBlOiAndGV4dCcsIHdpZHRoOiAnNDAlJywgaGVpZ2h0OiAnMXJlbScgfSxcbiAgICAgIHsgdHlwZTogJ3JlY3RhbmdsZScsIGhlaWdodDogJzEwMHB4JyB9XG4gICAgXSxcbiAgICBjb250YWluZXJDb25maWc6IHtcbiAgICAgIHBhZGRpbmc6ICcxcmVtJyxcbiAgICAgIGdhcDogJzAuNzVyZW0nXG4gICAgfVxuICB9LFxuICBcbiAgLy8gUHJlc2V0IGZvciBhIGxpc3QgaXRlbSB3aXRoIGF2YXRhclxuICBsaXN0SXRlbToge1xuICAgIGl0ZW1zOiBbXG4gICAgICB7IHR5cGU6ICdjaXJjbGUnLCBzaXplOiAnMi41cmVtJyB9LFxuICAgICAgeyB0eXBlOiAndGV4dCcsIHdpZHRoOiAnNzAlJywgaGVpZ2h0OiAnMXJlbScgfVxuICAgIF0sXG4gICAgY29udGFpbmVyQ29uZmlnOiB7XG4gICAgICBkaXJlY3Rpb246ICdyb3cnLFxuICAgICAgZ2FwOiAnMXJlbScsXG4gICAgICBwYWRkaW5nOiAnMC41cmVtJ1xuICAgIH1cbiAgfSxcblxuICAvLyBQcmVzZXQgZm9yIGZvcm0gZmllbGRzXG4gIGZvcm1GaWVsZDoge1xuICAgIGl0ZW1zOiBbXG4gICAgICB7IHR5cGU6ICd0ZXh0Jywgd2lkdGg6ICczMCUnLCBoZWlnaHQ6ICcxcmVtJyB9LFxuICAgICAgeyB0eXBlOiAncmVjdGFuZ2xlJywgaGVpZ2h0OiAnMi41cmVtJyB9XG4gICAgXSxcbiAgICBjb250YWluZXJDb25maWc6IHtcbiAgICAgIGdhcDogJzAuNXJlbSdcbiAgICB9XG4gIH1cbn0gYXMgY29uc3Q7XG4iXX0=