simpo-component-library 3.6.819 → 3.6.821

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.
@@ -64,7 +64,7 @@ export class FeatureExperienceSectionComponent extends BaseSection {
64
64
  return this.content?.listItem?.data?.length ?? 0;
65
65
  }
66
66
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeatureExperienceSectionComponent, deps: [{ token: i1.EventsService }], target: i0.ɵɵFactoryTarget.Component }); }
67
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FeatureExperienceSectionComponent, isStandalone: true, selector: "simpo-feature-experience-section", inputs: { data: "data", index: "index", edit: "edit", delete: "delete", customClass: "customClass", nextComponentColor: "nextComponentColor" }, host: { listeners: { "window:resize": "getScreenSize($event)" } }, usesInheritance: true, ngImport: i0, template: "<div [id]=\"data?.id\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\" [attr.style]=\"customClass\">\r\n <div [id]=\"data?.id\" [spacingAround]=\"stylesLayout\">\r\n <div class=\"col-xxl-8 py-5 w-100\" [id]=\"data?.id\" #mainContainer [simpoBorder]=\"styles?.border\"\r\n [spacingHorizontal]=\"stylesLayout\" [simpoBackground]=\"styles?.background\" [simpoCorner]=\"styles?.corners\">\r\n <div class=\"row g-5\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\" [simpoLayout]=\"styles?.layout\"\r\n [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [ngClass]=\"{ 'align-items-stretch': styles?.positionLayout?.value === 'left' || styles?.positionLayout?.value === 'right' }\"\r\n [simpoOverlay]=\"styles?.background\">\r\n\r\n <div class=\"col-10 col-sm-8 col-lg-6 sticky-left-column\" [simpoContainerAlignment]=\"stylesLayout\"\r\n *ngIf=\"content?.image?.showImage\">\r\n <!-- <img loading=\"lazy\" [src]=\"content?.image?.url\" [simpoImageDirective]=\"styles?.image\" [id]=\"data?.id\"\r\n [simpoObjectPosition]=\"content?.image?.position\" [simpoCorner]=\"styles?.corners\"\r\n [class]=\"data?.id+(content?.image?.id || '')\" class=\"d-block mx-lg-auto img-fluid\"\r\n [alt]=\"content?.image?.altText\" width=\"700\" height=\"500\" loading=\"lazy\"\r\n [appImageEditor]=\"edit || false\" [imageData]=\"content?.image\" [sectionId]=\"data?.id\" /> -->\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <simpo-text-editor [(value)]=\"item.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n\r\n </div>\r\n <div class=\"d-flex flex-column justify-content-start gap-15 content-side sticky-right-column\"\r\n [simpoContainerAlignment]=\"stylesLayout\" [id]=\"data?.id\"\r\n [simpoContentAlignment]=\"styles?.contentAlignment\" [class.col-lg-10]=\"!content?.image?.showImage\"\r\n [class.col-lg-6]=\"content?.image?.showImage\">\r\n <ng-container *ngIf=\"styles?.processSectionDisplayStyle == 'STYLE1'\">\r\n <div *ngFor=\"let item of content?.listItem?.data; let i = index\" class=\"carder\"\r\n (mouseenter)=\"hoveredIndex = i\" (mouseleave)=\"hoveredIndex = null\">\r\n <div class=\"card_wrapper\">\r\n <div class=\"container_card visible\">\r\n <div class=\"card-section\" style=\"padding: 20px 0px;\">\r\n <!-- Text content -->\r\n <div class=\"content-wrapper\">\r\n <simpo-text-editor [(value)]=\"item.inputText[0].value\"\r\n [editable]=\"edit || false\" style=\"margin-top: 6px;\"></simpo-text-editor>\r\n <div class=\"third-part-card\">\r\n <simpo-text-editor [(value)]=\"item.inputText[1].value\"\r\n [editable]=\"edit || false\"></simpo-text-editor>\r\n <simpo-text-editor [(value)]=\"item.inputText[2].value\"\r\n [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n\r\n <div class=\"right-panel\">\r\n <span class=\"arrow-icon\" [class.hidden]=\"hoveredIndex === i\">\u2192</span>\r\n\r\n <div class=\"hover-image-wrap\"\r\n [class.visible-img]=\"hoveredIndex === i && !!item.image?.url\">\r\n <img *ngIf=\"item.image?.url\" loading=\"lazy\" [src]=\"item.image.url\"\r\n [alt]=\"item.image.altText\" [appImageEditor]=\"edit || false\"\r\n [imageData]=\"item?.image\" [sectionId]=\"data?.id\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"styles?.processSectionDisplayStyle == 'STYLE2'\">\r\n <div *ngFor=\"let item of content?.listItem?.data; let i = index\" class=\"carder\">\r\n <div class=\"step-container\">\r\n <div class=\"step\">\r\n <div class=\"step-section d-flex gap-3\">\r\n <div class=\"d-flex flex-column align-items-center\">\r\n <div class=\"gradient-stroke-text mb-1\" [attr.data-text]=\"i+1\" [ngStyle]=\"{\r\n color: 'transparent',\r\n fontWeight: '900',\r\n fontSize: '36px',\r\n WebkitTextStroke: '2px ' + styles?.background?.accentColor\r\n }\">{{ i+1 | number: '2.0' }}</div>\r\n <div class=\"height-width\"\r\n [style.background]=\"styles?.background?.accentColor\"\r\n *ngIf=\" i != getLength()-1\">\r\n </div>\r\n </div>\r\n <div class=\"third-part-card w-100\">\r\n <simpo-text-editor [(value)]=\"item.inputText[1].value\"\r\n [editable]=\"edit || false\"></simpo-text-editor>\r\n <simpo-text-editor [(value)]=\"item.inputText[2].value\"\r\n [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"styles?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"styles?.devider?.deviderType\"\r\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n</div>", styles: [".btn-primary{border:none}.hover_effect{position:unset;width:100%;top:0;left:0;height:100%}.total-container{position:relative;height:auto}.button-display{display:flex;gap:10px}.gap-15{gap:15px}.container_card .card-section{position:relative;display:flex;align-items:stretch;justify-content:space-between}@media only screen and (max-width: 475px){.col-10{width:100%;height:32vh;padding-right:13px;padding-left:13px}.container_card .card-section{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding:10px;border:1px solid rgba(116,33,252,.1);border-radius:10px;opacity:0;transform:translateY(150px);transition:2s all ease}}.text-element{inline-size:100%;overflow-wrap:break-word}.card_wrapper{display:flex;flex-direction:column;gap:20px}.visible{visibility:visible!important}.visible .card-section{opacity:1;transform:translateY(0)}.first-part-card{min-width:fit-content;text-align:left}.content-wrapper{flex:1;display:flex;gap:10px;min-width:0}.first-part-card .body-large{font-size:1.1rem;font-weight:700}.right-panel{flex:0 0 28%;max-width:28%;position:relative;display:flex;align-items:center;justify-content:flex-end;align-self:stretch;min-height:60px}.arrow-icon{font-size:20px;color:#aaa;transition:opacity .2s ease,visibility .2s ease;opacity:1;visibility:visible}.arrow-icon.hidden{opacity:0;visibility:hidden}.hover-image-wrap{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;border-radius:10px;overflow:hidden}.hover-image-wrap.visible-img{opacity:1;visibility:visible}.hover-image-wrap img{width:100%;height:100%;object-fit:contain;border-radius:10px;display:block}.third-part-card .heading-large{font-size:1.1rem;font-weight:700}.third-part-card .body-large{font-size:12px;font-weight:400;line-height:15px}.third-part-card{display:flex;flex-direction:column;gap:10px}:host ::ng-deep .gradient-stroke-text{font-family:Arial Black,sans-serif;position:relative;bottom:4px}.height-width{width:3px;flex-grow:1;display:flex;position:relative;flex-direction:column;bottom:6px}.step-section{align-items:stretch;flex:1 1 auto}@media (min-width: 992px){.sticky-left-column{position:sticky;top:100px;align-self:flex-start;z-index:10}}\n"], dependencies: [{ kind: "ngmodule", type: SimpoElementsModule }, { kind: "component", type: i2.SvgDividerComponent, selector: "simpo-svg-divider", inputs: ["dividerType", "color"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i3.DecimalPipe, name: "number" }, { kind: "ngmodule", type: SimpoComponentModule }, { kind: "component", type: i4.HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }, { kind: "component", type: i5.DeleteHoverElementComponent, selector: "simpo-delete-hover-element", inputs: ["index", "data"], outputs: ["edit"] }, { kind: "component", type: TextEditorComponent, selector: "simpo-text-editor", inputs: ["value", "editable", "sectionId", "label", "type"], outputs: ["valueChange"] }, { kind: "ngmodule", type: MatGridListModule }, { kind: "directive", type: AnimationDirective, selector: "[simpoAnimation]", inputs: ["simpoAnimation"] }, { kind: "directive", type: SimpoContainerAligment, selector: "[simpoContainerAlignment]", inputs: ["simpoContainerAlignment"] }, { kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "directive", type: BorderDirective, selector: "[simpoBorder]", inputs: ["simpoBorder"] }, { kind: "directive", type: simpoConetenAlignmentDirective, selector: "[simpoContentAlignment]", inputs: ["simpoContentAlignment"] }, { kind: "directive", type: ContentFitDirective, selector: "[simpoLayout]", inputs: ["simpoLayout"] }, { kind: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "directive", type: OverlayDirective, selector: "[simpoOverlay]", inputs: ["simpoOverlay"] }, { kind: "directive", type: PositionLayoutDirectiveDirective, selector: "[simpoPositionLayoutDirective]", inputs: ["simpoPositionLayoutDirective"] }, { kind: "directive", type: SpacingHorizontalDirective, selector: "[spacingHorizontal]", inputs: ["spacingHorizontal", "isHeader"] }, { kind: "directive", type: ImageEditorDirective, selector: "[appImageEditor]", inputs: ["appImageEditor", "imageData", "sectionId", "showIcon", "iconData"] }, { kind: "directive", type: SpacingAroundDirective, selector: "[spacingAround]", inputs: ["spacingAround", "backgroundInfo"] }, { kind: "directive", type: CornerDirective, selector: "[simpoCorner]", inputs: ["simpoCorner"] }] }); }
67
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FeatureExperienceSectionComponent, isStandalone: true, selector: "simpo-feature-experience-section", inputs: { data: "data", index: "index", edit: "edit", delete: "delete", customClass: "customClass", nextComponentColor: "nextComponentColor" }, host: { listeners: { "window:resize": "getScreenSize($event)" } }, usesInheritance: true, ngImport: i0, template: "<div [id]=\"data?.id\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\" [attr.style]=\"customClass\">\r\n <div [id]=\"data?.id\" [spacingAround]=\"stylesLayout\">\r\n <div class=\"col-xxl-8 py-5 w-100\" [id]=\"data?.id\" #mainContainer [simpoBorder]=\"styles?.border\"\r\n [spacingHorizontal]=\"stylesLayout\" [simpoBackground]=\"styles?.background\" [simpoCorner]=\"styles?.corners\">\r\n <div class=\"row g-5\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\" [simpoLayout]=\"styles?.layout\"\r\n [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [ngClass]=\"{ 'reverse-on-desktop': styles?.positionLayout?.value === 'right' }\"\r\n [simpoOverlay]=\"styles?.background\">\r\n\r\n <!-- \u2500\u2500 Left sticky panel \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\r\n <div class=\"left-panel\" [simpoContainerAlignment]=\"stylesLayout\" *ngIf=\"content?.image?.showImage\">\r\n <div class=\"left-content-inner\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <simpo-text-editor [(value)]=\"item.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- \u2500\u2500 Right cards list \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\r\n <div class=\"right-panel-wrap\" [simpoContainerAlignment]=\"stylesLayout\" [id]=\"data?.id\"\r\n [simpoContentAlignment]=\"styles?.contentAlignment\" [class.full-width]=\"!content?.image?.showImage\">\r\n\r\n <!-- STYLE 1 \u2500 numbered list with optional hover image -->\r\n <ng-container *ngIf=\"styles?.processSectionDisplayStyle == 'STYLE1'\">\r\n <div *ngFor=\"let item of content?.listItem?.data; let i = index; let last = last\"\r\n class=\"fe-card\" [class.fe-card--active]=\"hoveredIndex === i\" (mouseenter)=\"hoveredIndex = i\"\r\n (mouseleave)=\"hoveredIndex = null\">\r\n\r\n <!-- Number -->\r\n <span class=\"fe-card__num\">{{ (i + 1) | number:'2.0' }}</span>\r\n\r\n <!-- Text -->\r\n <div class=\"fe-card__body\">\r\n <!-- <div class=\"fe-card__title\">\r\n <simpo-text-editor [(value)]=\"item.inputText[0].value\"\r\n [editable]=\"edit || false\"></simpo-text-editor>\r\n </div> -->\r\n <div class=\"fe-card__desc\">\r\n <simpo-text-editor [(value)]=\"item.inputText[1].value\"\r\n [editable]=\"edit || false\"></simpo-text-editor>\r\n <simpo-text-editor [(value)]=\"item.inputText[2].value\"\r\n [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n\r\n <!-- Arrow + hover image -->\r\n <div class=\"fe-card__side\">\r\n <span class=\"fe-card__arrow\">&#x2192;</span>\r\n <div class=\"fe-card__img-wrap\"\r\n [class.fe-card__img-wrap--show]=\"hoveredIndex === i && !!item.image?.url\">\r\n <img *ngIf=\"item.image?.url\" loading=\"lazy\" [src]=\"item.image.url\"\r\n [alt]=\"item.image.altText\" [appImageEditor]=\"edit || false\"\r\n [imageData]=\"item?.image\" [sectionId]=\"data?.id\" />\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- STYLE 2 \u2500 numbered steps with connector line -->\r\n <ng-container *ngIf=\"styles?.processSectionDisplayStyle == 'STYLE2'\">\r\n <div *ngFor=\"let item of content?.listItem?.data; let i = index\" class=\"fe-step\">\r\n <div class=\"fe-step__track\">\r\n <div class=\"fe-step__num\" [ngStyle]=\"{\r\n color: 'transparent',\r\n WebkitTextStroke: '2px ' + styles?.background?.accentColor\r\n }\">{{ i + 1 | number:'2.0' }}</div>\r\n <div class=\"fe-step__line\" [style.background]=\"styles?.background?.accentColor\"\r\n *ngIf=\"i !== getLength() - 1\"></div>\r\n </div>\r\n <div class=\"fe-step__content\">\r\n <simpo-text-editor [(value)]=\"item.inputText[1].value\"\r\n [editable]=\"edit || false\"></simpo-text-editor>\r\n <simpo-text-editor [(value)]=\"item.inputText[2].value\"\r\n [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"styles?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"styles?.devider?.deviderType\"\r\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n</div>", styles: [".hover_effect{position:unset;width:100%;top:0;left:0;height:100%}.total-container{position:relative;height:auto}.feature-layout{display:flex;flex-direction:row;align-items:flex-start;gap:48px;padding:40px 24px}.feature-layout.reverse-on-desktop{flex-direction:row-reverse}.left-panel{flex:0 0 40%;max-width:40%;position:sticky;top:90px;align-self:flex-start;z-index:5}.left-content-inner{display:flex;flex-direction:column;gap:12px}.right-panel-wrap{flex:1 1 0;display:flex;flex-direction:column;min-width:0}.right-panel-wrap.full-width{flex:0 0 100%;max-width:100%}.fe-card{display:grid;grid-template-columns:44px 1fr 130px;align-items:stretch;gap:0 20px;padding:28px 0;border-top:1px solid currentColor;opacity:.85;transition:opacity .22s ease,padding-left .22s ease;position:relative;overflow:hidden}.fe-card:last-child{border-bottom:1px solid currentColor}.fe-card__num{font-size:12px;font-weight:600;letter-spacing:.06em;opacity:.45;padding-top:5px}.fe-card__body{display:flex;flex-direction:column;gap:10px;min-width:0;align-self:start}.fe-card__desc{display:flex;flex-direction:column;gap:4px;opacity:.65}.fe-card__side{position:relative;align-self:stretch;min-height:80px;border-radius:8px;overflow:hidden}.fe-card__arrow{position:absolute;top:6px;right:4px;font-size:18px;opacity:.35;transition:opacity .22s ease,transform .22s ease;z-index:2;pointer-events:none}.fe-card__img-wrap{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease;border-radius:8px;overflow:hidden}.fe-card__img-wrap--show{opacity:1;visibility:visible}.fe-card__img-wrap img{width:100%;height:100%;object-fit:cover;border-radius:8px;display:block}@media (min-width: 769px){.fe-card{cursor:pointer}.fe-card--active,.fe-card:hover{opacity:1;padding-left:8px}.fe-card--active .fe-card__arrow,.fe-card:hover .fe-card__arrow{opacity:0}.fe-card--active .fe-card__desc,.fe-card:hover .fe-card__desc{opacity:.85}}.fe-step{display:flex;align-items:stretch;gap:16px;margin-bottom:4px}.fe-step__track{display:flex;flex-direction:column;align-items:center;flex:0 0 auto}.fe-step__num{font-family:Arial Black,sans-serif;font-size:32px;font-weight:900;line-height:1}.fe-step__line{width:3px;flex-grow:1;min-height:20px;margin-top:4px}.fe-step__content{flex:1;display:flex;flex-direction:column;gap:6px;padding-bottom:24px}@media (max-width: 991px){.feature-layout{flex-direction:column!important;gap:24px;padding:32px 20px}.feature-layout.reverse-on-desktop{flex-direction:column!important}.left-panel{flex:none;max-width:100%;width:100%;position:static}.right-panel-wrap{width:100%}.fe-card__img-wrap{display:none}}@media (max-width: 600px){.feature-layout{padding:24px 16px;gap:20px}.fe-card{grid-template-columns:36px 1fr 36px;gap:0 14px;padding:20px 0;padding-left:0!important;opacity:1!important}.fe-card__desc{opacity:.65!important}.fe-card__num{font-size:11px}.fe-card__arrow{font-size:16px}.fe-card__img-wrap{display:none!important}.fe-step__num{font-size:24px}.fe-step{gap:12px}.fe-step__content{padding-bottom:16px}}@media (max-width: 400px){.feature-layout{padding:16px 12px}.fe-card{grid-template-columns:30px 1fr 28px;gap:0 10px}}\n"], dependencies: [{ kind: "ngmodule", type: SimpoElementsModule }, { kind: "component", type: i2.SvgDividerComponent, selector: "simpo-svg-divider", inputs: ["dividerType", "color"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i3.DecimalPipe, name: "number" }, { kind: "ngmodule", type: SimpoComponentModule }, { kind: "component", type: i4.HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }, { kind: "component", type: i5.DeleteHoverElementComponent, selector: "simpo-delete-hover-element", inputs: ["index", "data"], outputs: ["edit"] }, { kind: "component", type: TextEditorComponent, selector: "simpo-text-editor", inputs: ["value", "editable", "sectionId", "label", "type"], outputs: ["valueChange"] }, { kind: "ngmodule", type: MatGridListModule }, { kind: "directive", type: AnimationDirective, selector: "[simpoAnimation]", inputs: ["simpoAnimation"] }, { kind: "directive", type: SimpoContainerAligment, selector: "[simpoContainerAlignment]", inputs: ["simpoContainerAlignment"] }, { kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "directive", type: BorderDirective, selector: "[simpoBorder]", inputs: ["simpoBorder"] }, { kind: "directive", type: simpoConetenAlignmentDirective, selector: "[simpoContentAlignment]", inputs: ["simpoContentAlignment"] }, { kind: "directive", type: ContentFitDirective, selector: "[simpoLayout]", inputs: ["simpoLayout"] }, { kind: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "directive", type: OverlayDirective, selector: "[simpoOverlay]", inputs: ["simpoOverlay"] }, { kind: "directive", type: PositionLayoutDirectiveDirective, selector: "[simpoPositionLayoutDirective]", inputs: ["simpoPositionLayoutDirective"] }, { kind: "directive", type: SpacingHorizontalDirective, selector: "[spacingHorizontal]", inputs: ["spacingHorizontal", "isHeader"] }, { kind: "directive", type: ImageEditorDirective, selector: "[appImageEditor]", inputs: ["appImageEditor", "imageData", "sectionId", "showIcon", "iconData"] }, { kind: "directive", type: SpacingAroundDirective, selector: "[spacingAround]", inputs: ["spacingAround", "backgroundInfo"] }, { kind: "directive", type: CornerDirective, selector: "[simpoCorner]", inputs: ["simpoCorner"] }] }); }
68
68
  }
69
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeatureExperienceSectionComponent, decorators: [{
70
70
  type: Component,
@@ -87,7 +87,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
87
87
  ImageEditorDirective,
88
88
  SpacingAroundDirective,
89
89
  CornerDirective
90
- ], template: "<div [id]=\"data?.id\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\" [attr.style]=\"customClass\">\r\n <div [id]=\"data?.id\" [spacingAround]=\"stylesLayout\">\r\n <div class=\"col-xxl-8 py-5 w-100\" [id]=\"data?.id\" #mainContainer [simpoBorder]=\"styles?.border\"\r\n [spacingHorizontal]=\"stylesLayout\" [simpoBackground]=\"styles?.background\" [simpoCorner]=\"styles?.corners\">\r\n <div class=\"row g-5\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\" [simpoLayout]=\"styles?.layout\"\r\n [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [ngClass]=\"{ 'align-items-stretch': styles?.positionLayout?.value === 'left' || styles?.positionLayout?.value === 'right' }\"\r\n [simpoOverlay]=\"styles?.background\">\r\n\r\n <div class=\"col-10 col-sm-8 col-lg-6 sticky-left-column\" [simpoContainerAlignment]=\"stylesLayout\"\r\n *ngIf=\"content?.image?.showImage\">\r\n <!-- <img loading=\"lazy\" [src]=\"content?.image?.url\" [simpoImageDirective]=\"styles?.image\" [id]=\"data?.id\"\r\n [simpoObjectPosition]=\"content?.image?.position\" [simpoCorner]=\"styles?.corners\"\r\n [class]=\"data?.id+(content?.image?.id || '')\" class=\"d-block mx-lg-auto img-fluid\"\r\n [alt]=\"content?.image?.altText\" width=\"700\" height=\"500\" loading=\"lazy\"\r\n [appImageEditor]=\"edit || false\" [imageData]=\"content?.image\" [sectionId]=\"data?.id\" /> -->\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <simpo-text-editor [(value)]=\"item.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n\r\n </div>\r\n <div class=\"d-flex flex-column justify-content-start gap-15 content-side sticky-right-column\"\r\n [simpoContainerAlignment]=\"stylesLayout\" [id]=\"data?.id\"\r\n [simpoContentAlignment]=\"styles?.contentAlignment\" [class.col-lg-10]=\"!content?.image?.showImage\"\r\n [class.col-lg-6]=\"content?.image?.showImage\">\r\n <ng-container *ngIf=\"styles?.processSectionDisplayStyle == 'STYLE1'\">\r\n <div *ngFor=\"let item of content?.listItem?.data; let i = index\" class=\"carder\"\r\n (mouseenter)=\"hoveredIndex = i\" (mouseleave)=\"hoveredIndex = null\">\r\n <div class=\"card_wrapper\">\r\n <div class=\"container_card visible\">\r\n <div class=\"card-section\" style=\"padding: 20px 0px;\">\r\n <!-- Text content -->\r\n <div class=\"content-wrapper\">\r\n <simpo-text-editor [(value)]=\"item.inputText[0].value\"\r\n [editable]=\"edit || false\" style=\"margin-top: 6px;\"></simpo-text-editor>\r\n <div class=\"third-part-card\">\r\n <simpo-text-editor [(value)]=\"item.inputText[1].value\"\r\n [editable]=\"edit || false\"></simpo-text-editor>\r\n <simpo-text-editor [(value)]=\"item.inputText[2].value\"\r\n [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n\r\n <div class=\"right-panel\">\r\n <span class=\"arrow-icon\" [class.hidden]=\"hoveredIndex === i\">\u2192</span>\r\n\r\n <div class=\"hover-image-wrap\"\r\n [class.visible-img]=\"hoveredIndex === i && !!item.image?.url\">\r\n <img *ngIf=\"item.image?.url\" loading=\"lazy\" [src]=\"item.image.url\"\r\n [alt]=\"item.image.altText\" [appImageEditor]=\"edit || false\"\r\n [imageData]=\"item?.image\" [sectionId]=\"data?.id\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"styles?.processSectionDisplayStyle == 'STYLE2'\">\r\n <div *ngFor=\"let item of content?.listItem?.data; let i = index\" class=\"carder\">\r\n <div class=\"step-container\">\r\n <div class=\"step\">\r\n <div class=\"step-section d-flex gap-3\">\r\n <div class=\"d-flex flex-column align-items-center\">\r\n <div class=\"gradient-stroke-text mb-1\" [attr.data-text]=\"i+1\" [ngStyle]=\"{\r\n color: 'transparent',\r\n fontWeight: '900',\r\n fontSize: '36px',\r\n WebkitTextStroke: '2px ' + styles?.background?.accentColor\r\n }\">{{ i+1 | number: '2.0' }}</div>\r\n <div class=\"height-width\"\r\n [style.background]=\"styles?.background?.accentColor\"\r\n *ngIf=\" i != getLength()-1\">\r\n </div>\r\n </div>\r\n <div class=\"third-part-card w-100\">\r\n <simpo-text-editor [(value)]=\"item.inputText[1].value\"\r\n [editable]=\"edit || false\"></simpo-text-editor>\r\n <simpo-text-editor [(value)]=\"item.inputText[2].value\"\r\n [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"styles?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"styles?.devider?.deviderType\"\r\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n</div>", styles: [".btn-primary{border:none}.hover_effect{position:unset;width:100%;top:0;left:0;height:100%}.total-container{position:relative;height:auto}.button-display{display:flex;gap:10px}.gap-15{gap:15px}.container_card .card-section{position:relative;display:flex;align-items:stretch;justify-content:space-between}@media only screen and (max-width: 475px){.col-10{width:100%;height:32vh;padding-right:13px;padding-left:13px}.container_card .card-section{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding:10px;border:1px solid rgba(116,33,252,.1);border-radius:10px;opacity:0;transform:translateY(150px);transition:2s all ease}}.text-element{inline-size:100%;overflow-wrap:break-word}.card_wrapper{display:flex;flex-direction:column;gap:20px}.visible{visibility:visible!important}.visible .card-section{opacity:1;transform:translateY(0)}.first-part-card{min-width:fit-content;text-align:left}.content-wrapper{flex:1;display:flex;gap:10px;min-width:0}.first-part-card .body-large{font-size:1.1rem;font-weight:700}.right-panel{flex:0 0 28%;max-width:28%;position:relative;display:flex;align-items:center;justify-content:flex-end;align-self:stretch;min-height:60px}.arrow-icon{font-size:20px;color:#aaa;transition:opacity .2s ease,visibility .2s ease;opacity:1;visibility:visible}.arrow-icon.hidden{opacity:0;visibility:hidden}.hover-image-wrap{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;border-radius:10px;overflow:hidden}.hover-image-wrap.visible-img{opacity:1;visibility:visible}.hover-image-wrap img{width:100%;height:100%;object-fit:contain;border-radius:10px;display:block}.third-part-card .heading-large{font-size:1.1rem;font-weight:700}.third-part-card .body-large{font-size:12px;font-weight:400;line-height:15px}.third-part-card{display:flex;flex-direction:column;gap:10px}:host ::ng-deep .gradient-stroke-text{font-family:Arial Black,sans-serif;position:relative;bottom:4px}.height-width{width:3px;flex-grow:1;display:flex;position:relative;flex-direction:column;bottom:6px}.step-section{align-items:stretch;flex:1 1 auto}@media (min-width: 992px){.sticky-left-column{position:sticky;top:100px;align-self:flex-start;z-index:10}}\n"] }]
90
+ ], template: "<div [id]=\"data?.id\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\" [attr.style]=\"customClass\">\r\n <div [id]=\"data?.id\" [spacingAround]=\"stylesLayout\">\r\n <div class=\"col-xxl-8 py-5 w-100\" [id]=\"data?.id\" #mainContainer [simpoBorder]=\"styles?.border\"\r\n [spacingHorizontal]=\"stylesLayout\" [simpoBackground]=\"styles?.background\" [simpoCorner]=\"styles?.corners\">\r\n <div class=\"row g-5\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\" [simpoLayout]=\"styles?.layout\"\r\n [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [ngClass]=\"{ 'reverse-on-desktop': styles?.positionLayout?.value === 'right' }\"\r\n [simpoOverlay]=\"styles?.background\">\r\n\r\n <!-- \u2500\u2500 Left sticky panel \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\r\n <div class=\"left-panel\" [simpoContainerAlignment]=\"stylesLayout\" *ngIf=\"content?.image?.showImage\">\r\n <div class=\"left-content-inner\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <simpo-text-editor [(value)]=\"item.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- \u2500\u2500 Right cards list \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\r\n <div class=\"right-panel-wrap\" [simpoContainerAlignment]=\"stylesLayout\" [id]=\"data?.id\"\r\n [simpoContentAlignment]=\"styles?.contentAlignment\" [class.full-width]=\"!content?.image?.showImage\">\r\n\r\n <!-- STYLE 1 \u2500 numbered list with optional hover image -->\r\n <ng-container *ngIf=\"styles?.processSectionDisplayStyle == 'STYLE1'\">\r\n <div *ngFor=\"let item of content?.listItem?.data; let i = index; let last = last\"\r\n class=\"fe-card\" [class.fe-card--active]=\"hoveredIndex === i\" (mouseenter)=\"hoveredIndex = i\"\r\n (mouseleave)=\"hoveredIndex = null\">\r\n\r\n <!-- Number -->\r\n <span class=\"fe-card__num\">{{ (i + 1) | number:'2.0' }}</span>\r\n\r\n <!-- Text -->\r\n <div class=\"fe-card__body\">\r\n <!-- <div class=\"fe-card__title\">\r\n <simpo-text-editor [(value)]=\"item.inputText[0].value\"\r\n [editable]=\"edit || false\"></simpo-text-editor>\r\n </div> -->\r\n <div class=\"fe-card__desc\">\r\n <simpo-text-editor [(value)]=\"item.inputText[1].value\"\r\n [editable]=\"edit || false\"></simpo-text-editor>\r\n <simpo-text-editor [(value)]=\"item.inputText[2].value\"\r\n [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n\r\n <!-- Arrow + hover image -->\r\n <div class=\"fe-card__side\">\r\n <span class=\"fe-card__arrow\">&#x2192;</span>\r\n <div class=\"fe-card__img-wrap\"\r\n [class.fe-card__img-wrap--show]=\"hoveredIndex === i && !!item.image?.url\">\r\n <img *ngIf=\"item.image?.url\" loading=\"lazy\" [src]=\"item.image.url\"\r\n [alt]=\"item.image.altText\" [appImageEditor]=\"edit || false\"\r\n [imageData]=\"item?.image\" [sectionId]=\"data?.id\" />\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- STYLE 2 \u2500 numbered steps with connector line -->\r\n <ng-container *ngIf=\"styles?.processSectionDisplayStyle == 'STYLE2'\">\r\n <div *ngFor=\"let item of content?.listItem?.data; let i = index\" class=\"fe-step\">\r\n <div class=\"fe-step__track\">\r\n <div class=\"fe-step__num\" [ngStyle]=\"{\r\n color: 'transparent',\r\n WebkitTextStroke: '2px ' + styles?.background?.accentColor\r\n }\">{{ i + 1 | number:'2.0' }}</div>\r\n <div class=\"fe-step__line\" [style.background]=\"styles?.background?.accentColor\"\r\n *ngIf=\"i !== getLength() - 1\"></div>\r\n </div>\r\n <div class=\"fe-step__content\">\r\n <simpo-text-editor [(value)]=\"item.inputText[1].value\"\r\n [editable]=\"edit || false\"></simpo-text-editor>\r\n <simpo-text-editor [(value)]=\"item.inputText[2].value\"\r\n [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"styles?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"styles?.devider?.deviderType\"\r\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n</div>", styles: [".hover_effect{position:unset;width:100%;top:0;left:0;height:100%}.total-container{position:relative;height:auto}.feature-layout{display:flex;flex-direction:row;align-items:flex-start;gap:48px;padding:40px 24px}.feature-layout.reverse-on-desktop{flex-direction:row-reverse}.left-panel{flex:0 0 40%;max-width:40%;position:sticky;top:90px;align-self:flex-start;z-index:5}.left-content-inner{display:flex;flex-direction:column;gap:12px}.right-panel-wrap{flex:1 1 0;display:flex;flex-direction:column;min-width:0}.right-panel-wrap.full-width{flex:0 0 100%;max-width:100%}.fe-card{display:grid;grid-template-columns:44px 1fr 130px;align-items:stretch;gap:0 20px;padding:28px 0;border-top:1px solid currentColor;opacity:.85;transition:opacity .22s ease,padding-left .22s ease;position:relative;overflow:hidden}.fe-card:last-child{border-bottom:1px solid currentColor}.fe-card__num{font-size:12px;font-weight:600;letter-spacing:.06em;opacity:.45;padding-top:5px}.fe-card__body{display:flex;flex-direction:column;gap:10px;min-width:0;align-self:start}.fe-card__desc{display:flex;flex-direction:column;gap:4px;opacity:.65}.fe-card__side{position:relative;align-self:stretch;min-height:80px;border-radius:8px;overflow:hidden}.fe-card__arrow{position:absolute;top:6px;right:4px;font-size:18px;opacity:.35;transition:opacity .22s ease,transform .22s ease;z-index:2;pointer-events:none}.fe-card__img-wrap{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease;border-radius:8px;overflow:hidden}.fe-card__img-wrap--show{opacity:1;visibility:visible}.fe-card__img-wrap img{width:100%;height:100%;object-fit:cover;border-radius:8px;display:block}@media (min-width: 769px){.fe-card{cursor:pointer}.fe-card--active,.fe-card:hover{opacity:1;padding-left:8px}.fe-card--active .fe-card__arrow,.fe-card:hover .fe-card__arrow{opacity:0}.fe-card--active .fe-card__desc,.fe-card:hover .fe-card__desc{opacity:.85}}.fe-step{display:flex;align-items:stretch;gap:16px;margin-bottom:4px}.fe-step__track{display:flex;flex-direction:column;align-items:center;flex:0 0 auto}.fe-step__num{font-family:Arial Black,sans-serif;font-size:32px;font-weight:900;line-height:1}.fe-step__line{width:3px;flex-grow:1;min-height:20px;margin-top:4px}.fe-step__content{flex:1;display:flex;flex-direction:column;gap:6px;padding-bottom:24px}@media (max-width: 991px){.feature-layout{flex-direction:column!important;gap:24px;padding:32px 20px}.feature-layout.reverse-on-desktop{flex-direction:column!important}.left-panel{flex:none;max-width:100%;width:100%;position:static}.right-panel-wrap{width:100%}.fe-card__img-wrap{display:none}}@media (max-width: 600px){.feature-layout{padding:24px 16px;gap:20px}.fe-card{grid-template-columns:36px 1fr 36px;gap:0 14px;padding:20px 0;padding-left:0!important;opacity:1!important}.fe-card__desc{opacity:.65!important}.fe-card__num{font-size:11px}.fe-card__arrow{font-size:16px}.fe-card__img-wrap{display:none!important}.fe-step__num{font-size:24px}.fe-step{gap:12px}.fe-step__content{padding-bottom:16px}}@media (max-width: 400px){.feature-layout{padding:16px 12px}.fe-card{grid-template-columns:30px 1fr 28px;gap:0 10px}}\n"] }]
91
91
  }], ctorParameters: () => [{ type: i1.EventsService }], propDecorators: { data: [{
92
92
  type: Input
93
93
  }], index: [{
@@ -104,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
104
104
  type: HostListener,
105
105
  args: ['window:resize', ['$event']]
106
106
  }] } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1leHBlcmllbmNlLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZWN0aW9ucy9mZWF0dXJlLWV4cGVyaWVuY2Utc2VjdGlvbi9mZWF0dXJlLWV4cGVyaWVuY2Utc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL2ZlYXR1cmUtZXhwZXJpZW5jZS1zZWN0aW9uL2ZlYXR1cmUtZXhwZXJpZW5jZS1zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FB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QUksV0FDUDt3QkFDUCxtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZiw4QkFBOEI7d0JBQzlCLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLGdDQUFnQzt3QkFDaEMsMEJBQTBCO3dCQUMxQixvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIsZUFBZTtxQkFDaEI7a0ZBS1EsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsa0JBQWtCO3NCQUExQixLQUFLO2dCQWlCTixhQUFhO3NCQURaLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2ltcG9FbGVtZW50c01vZHVsZSB9IGZyb20gJy4vLi4vLi4vZWxlbWVudHMvaW5kZXgnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBTaW1wb0NvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvaW5kZXgnO1xyXG5pbXBvcnQgeyBNYXRHcmlkTGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2dyaWQtbGlzdCc7XHJcbmltcG9ydCB7IEFuaW1hdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9hbmltYXRpb24tZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQmFja2dyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9iYWNrZ3JvdW5kLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvbnRlbnRGaXREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29udGVudC1maXQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQm9yZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2JvcmRlci1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBzaW1wb0NvbmV0ZW5BbGlnbm1lbnREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29udGVudC1hbGlnbm1lbnQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSG92ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvaG92ZXItZWxlbWVudC1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL292ZXJsYXktZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUG9zaXRpb25MYXlvdXREaXJlY3RpdmVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvcG9zaXRpb24tbGF5b3V0LWRpcmVjdGl2ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBFdmVudHNTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi9zZXJ2aWNlcy9ldmVudHMuc2VydmljZSc7XHJcbmltcG9ydCBCYXNlU2VjdGlvbiBmcm9tICcuLi9CYXNlU2VjdGlvbic7XHJcbmltcG9ydCB7IEJhY2tncm91bmRNb2RlbCwgTGF5T3V0TW9kZWwgfSBmcm9tICcuLi8uLi9zdHlsZXMvc3R5bGUubW9kZWwnO1xyXG5pbXBvcnQgeyBTaW1wb0NvbnRhaW5lckFsaWdtZW50IH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2NvbnRhaW5lci1hbGlnbm1lbnQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUHJvY2Vzc1NlY3Rpb25Db250ZW50TW9kZWwsIFByb2Nlc3NTZWN0aW9uTW9kZWwsIFByb2Nlc3NTZWN0aW9uU3R5bGVzTW9kZWwgfSBmcm9tICcuL2ZlYXR1cmUtZXhwZXJpZW5jZS1zZWN0aW9uLm1vZGFsJztcclxuaW1wb3J0IHsgVGV4dEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL3RleHQtZWRpdG9yL3RleHQtZWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEltYWdlRWRpdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2ltYWdlLWVkaXRvci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTcGFjaW5nSG9yaXpvbnRhbERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9zcGFjaW5nLWhvcml6b250YWwuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU3BhY2luZ0Fyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9zcGFjaW5nLWFyb3VuZC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb3JuZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29ybmVyLWRpcmVjdGl2ZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLWZlYXR1cmUtZXhwZXJpZW5jZS1zZWN0aW9uJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIFNpbXBvRWxlbWVudHNNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBTaW1wb0NvbXBvbmVudE1vZHVsZSxcclxuICAgIFRleHRFZGl0b3JDb21wb25lbnQsXHJcbiAgICBNYXRHcmlkTGlzdE1vZHVsZSxcclxuICAgIEFuaW1hdGlvbkRpcmVjdGl2ZSxcclxuICAgIFNpbXBvQ29udGFpbmVyQWxpZ21lbnQsXHJcbiAgICBCYWNrZ3JvdW5kRGlyZWN0aXZlLFxyXG4gICAgQm9yZGVyRGlyZWN0aXZlLFxyXG4gICAgc2ltcG9Db25ldGVuQWxpZ25tZW50RGlyZWN0aXZlLFxyXG4gICAgQ29udGVudEZpdERpcmVjdGl2ZSxcclxuICAgIEhvdmVyRGlyZWN0aXZlLFxyXG4gICAgT3ZlcmxheURpcmVjdGl2ZSxcclxuICAgIFBvc2l0aW9uTGF5b3V0RGlyZWN0aXZlRGlyZWN0aXZlLFxyXG4gICAgU3BhY2luZ0hvcml6b250YWxEaXJlY3RpdmUsXHJcbiAgICBJbWFnZUVkaXRvckRpcmVjdGl2ZSxcclxuICAgIFNwYWNpbmdBcm91bmREaXJlY3RpdmUsXHJcbiAgICBDb3JuZXJEaXJlY3RpdmVcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mZWF0dXJlLWV4cGVyaWVuY2Utc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2ZlYXR1cmUtZXhwZXJpZW5jZS1zZWN0aW9uLmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGZWF0dXJlRXhwZXJpZW5jZVNlY3Rpb25Db21wb25lbnQgZXh0ZW5kcyBCYXNlU2VjdGlvbiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZGF0YT86IFByb2Nlc3NTZWN0aW9uTW9kZWw7XHJcbiAgQElucHV0KCkgaW5kZXg/OiBudW1iZXI7XHJcbiAgY29udGVudD86IFByb2Nlc3NTZWN0aW9uQ29udGVudE1vZGVsO1xyXG4gIEBJbnB1dCgpIGVkaXQ/OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGRlbGV0ZT86IGJvb2xlYW47XHJcbiAgQElucHV0KCkgY3VzdG9tQ2xhc3M/OiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIG5leHRDb21wb25lbnRDb2xvcj86IEJhY2tncm91bmRNb2RlbDtcclxuICBzdHlsZXM/OiBQcm9jZXNzU2VjdGlvblN0eWxlc01vZGVsO1xyXG4gIGhvdmVyZWRJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGRldmljZVdpZHRoOiBudW1iZXIgPSAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2V2ZW50U2VydmljZTogRXZlbnRzU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuXHJcbiAgICB0aGlzLmdldFNjcmVlblNpemUoKVxyXG5cclxuICB9XHJcblxyXG4gIHNjcmVlbldpZHRoOiBudW1iZXIgPSAwO1xyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxyXG4gIGdldFNjcmVlblNpemUoZXZlbnQ/OiBhbnkpIHtcclxuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLmRldmljZVdpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVsZXRlU2VsZWN0ZWQgPSB0aGlzLmRlbGV0ZVxyXG4gICAgdGhpcy5jb250ZW50ID0gdGhpcy5kYXRhPy5jb250ZW50O1xyXG4gICAgdGhpcy5zdHlsZXMgPSB0aGlzLmRhdGE/LnN0eWxlcztcclxuICAgIGlmICghdGhpcy5zdHlsZXMgfHwgIXRoaXMuY29udGVudCkgcmV0dXJuO1xyXG4gICAgLy8gdGhpcy5zdHlsZXMubGF5b3V0LmJhbm5lckltYWdlRGlzcGxheSA9IHRoaXMuY29udGVudC5pbWFnZS5zaG93SW1hZ2U7XHJcblxyXG4gIH1cclxuXHJcblxyXG5cclxuICBnZXQgc3R5bGVzTGF5b3V0KCkge1xyXG4gICAgcmV0dXJuIHsgLi4udGhpcy5zdHlsZXM/LmxheW91dCB9IGFzIExheU91dE1vZGVsO1xyXG4gIH1cclxuICBnZXQgZ2V0SnVzdGlmeUNvbnRlbnQoKSB7XHJcbiAgICByZXR1cm4gXCJqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1wiO1xyXG4gIH1cclxuICBlZGl0U2VjdGlvbigpIHtcclxuXHJcbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggPD0gNDc1KVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLnRvZ2dsZUVkaXRvckV2ZW50LmVtaXQoZmFsc2UpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2V2ZW50U2VydmljZS5lZGl0U2VjdGlvbi5lbWl0KHsgZGF0YTogdGhpcy5kYXRhIH0pO1xyXG4gICAgfSwgMTAwKTtcclxuICB9XHJcbiAgZ2V0TGVuZ3RoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGVudD8ubGlzdEl0ZW0/LmRhdGE/Lmxlbmd0aCA/PyAwO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtpZF09XCJkYXRhPy5pZFwiIHNpbXBvSG92ZXIgKGhvdmVyaW5nKT1cInNob3dFZGl0VGFicygkZXZlbnQpXCIgY2xhc3M9XCJ0b3RhbC1jb250YWluZXJcIiBbYXR0ci5zdHlsZV09XCJjdXN0b21DbGFzc1wiPlxyXG4gICAgPGRpdiBbaWRdPVwiZGF0YT8uaWRcIiBbc3BhY2luZ0Fyb3VuZF09XCJzdHlsZXNMYXlvdXRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXh4bC04ICBweS01IHctMTAwXCIgW2lkXT1cImRhdGE/LmlkXCIgI21haW5Db250YWluZXIgW3NpbXBvQm9yZGVyXT1cInN0eWxlcz8uYm9yZGVyXCJcclxuICAgICAgICAgICAgW3NwYWNpbmdIb3Jpem9udGFsXT1cInN0eWxlc0xheW91dFwiIFtzaW1wb0JhY2tncm91bmRdPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCIgW3NpbXBvQ29ybmVyXT1cInN0eWxlcz8uY29ybmVyc1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGctNVwiIFtpZF09XCJkYXRhPy5pZFwiIFtzaW1wb0FuaW1hdGlvbl09XCJzdHlsZXM/LmFuaW1hdGlvblwiIFtzaW1wb0xheW91dF09XCJzdHlsZXM/LmxheW91dFwiXHJcbiAgICAgICAgICAgICAgICBbc2ltcG9Qb3NpdGlvbkxheW91dERpcmVjdGl2ZV09XCJzdHlsZXM/LnBvc2l0aW9uTGF5b3V0XCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2FsaWduLWl0ZW1zLXN0cmV0Y2gnOiBzdHlsZXM/LnBvc2l0aW9uTGF5b3V0Py52YWx1ZSA9PT0gJ2xlZnQnIHx8IHN0eWxlcz8ucG9zaXRpb25MYXlvdXQ/LnZhbHVlID09PSAncmlnaHQnIH1cIlxyXG4gICAgICAgICAgICAgICAgW3NpbXBvT3ZlcmxheV09XCJzdHlsZXM/LmJhY2tncm91bmRcIj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEwIGNvbC1zbS04IGNvbC1sZy02IHN0aWNreS1sZWZ0LWNvbHVtblwiIFtzaW1wb0NvbnRhaW5lckFsaWdubWVudF09XCJzdHlsZXNMYXlvdXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29udGVudD8uaW1hZ2U/LnNob3dJbWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGltZyBsb2FkaW5nPVwibGF6eVwiIFtzcmNdPVwiY29udGVudD8uaW1hZ2U/LnVybFwiIFtzaW1wb0ltYWdlRGlyZWN0aXZlXT1cInN0eWxlcz8uaW1hZ2VcIiBbaWRdPVwiZGF0YT8uaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzaW1wb09iamVjdFBvc2l0aW9uXT1cImNvbnRlbnQ/LmltYWdlPy5wb3NpdGlvblwiIFtzaW1wb0Nvcm5lcl09XCJzdHlsZXM/LmNvcm5lcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJkYXRhPy5pZCsoY29udGVudD8uaW1hZ2U/LmlkIHx8ICcnKVwiIGNsYXNzPVwiZC1ibG9jayBteC1sZy1hdXRvIGltZy1mbHVpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJjb250ZW50Py5pbWFnZT8uYWx0VGV4dFwiIHdpZHRoPVwiNzAwXCIgaGVpZ2h0PVwiNTAwXCIgbG9hZGluZz1cImxhenlcIlxyXG4gICAgICAgICAgICAgICAgICAgIFthcHBJbWFnZUVkaXRvcl09XCJlZGl0IHx8IGZhbHNlXCIgW2ltYWdlRGF0YV09XCJjb250ZW50Py5pbWFnZVwiIFtzZWN0aW9uSWRdPVwiZGF0YT8uaWRcIiAvPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbnRlbnQ/LmlucHV0VGV4dFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2ltcG8tdGV4dC1lZGl0b3IgWyh2YWx1ZSldPVwiaXRlbS52YWx1ZVwiIFtlZGl0YWJsZV09XCJlZGl0IHx8IGZhbHNlXCI+PC9zaW1wby10ZXh0LWVkaXRvcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LXN0YXJ0IGdhcC0xNSBjb250ZW50LXNpZGUgc3RpY2t5LXJpZ2h0LWNvbHVtblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3NpbXBvQ29udGFpbmVyQWxpZ25tZW50XT1cInN0eWxlc0xheW91dFwiIFtpZF09XCJkYXRhPy5pZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3NpbXBvQ29udGVudEFsaWdubWVudF09XCJzdHlsZXM/LmNvbnRlbnRBbGlnbm1lbnRcIiBbY2xhc3MuY29sLWxnLTEwXT1cIiFjb250ZW50Py5pbWFnZT8uc2hvd0ltYWdlXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuY29sLWxnLTZdPVwiY29udGVudD8uaW1hZ2U/LnNob3dJbWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdHlsZXM/LnByb2Nlc3NTZWN0aW9uRGlzcGxheVN0eWxlID09ICdTVFlMRTEnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY29udGVudD8ubGlzdEl0ZW0/LmRhdGE7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cImNhcmRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW91c2VlbnRlcik9XCJob3ZlcmVkSW5kZXggPSBpXCIgKG1vdXNlbGVhdmUpPVwiaG92ZXJlZEluZGV4ID0gbnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRfd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfY2FyZCB2aXNpYmxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXNlY3Rpb25cIiBzdHlsZT1cInBhZGRpbmc6IDIwcHggMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBUZXh0IGNvbnRlbnQgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNpbXBvLXRleHQtZWRpdG9yIFsodmFsdWUpXT1cIml0ZW0uaW5wdXRUZXh0WzBdLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VkaXRhYmxlXT1cImVkaXQgfHwgZmFsc2VcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDZweDtcIj48L3NpbXBvLXRleHQtZWRpdG9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aGlyZC1wYXJ0LWNhcmRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNpbXBvLXRleHQtZWRpdG9yIFsodmFsdWUpXT1cIml0ZW0uaW5wdXRUZXh0WzFdLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlZGl0YWJsZV09XCJlZGl0IHx8IGZhbHNlXCI+PC9zaW1wby10ZXh0LWVkaXRvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNpbXBvLXRleHQtZWRpdG9yIFsodmFsdWUpXT1cIml0ZW0uaW5wdXRUZXh0WzJdLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlZGl0YWJsZV09XCJlZGl0IHx8IGZhbHNlXCI+PC9zaW1wby10ZXh0LWVkaXRvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodC1wYW5lbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXJyb3ctaWNvblwiIFtjbGFzcy5oaWRkZW5dPVwiaG92ZXJlZEluZGV4ID09PSBpXCI+4oaSPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaG92ZXItaW1hZ2Utd3JhcFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy52aXNpYmxlLWltZ109XCJob3ZlcmVkSW5kZXggPT09IGkgJiYgISFpdGVtLmltYWdlPy51cmxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cIml0ZW0uaW1hZ2U/LnVybFwiIGxvYWRpbmc9XCJsYXp5XCIgW3NyY109XCJpdGVtLmltYWdlLnVybFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cIml0ZW0uaW1hZ2UuYWx0VGV4dFwiIFthcHBJbWFnZUVkaXRvcl09XCJlZGl0IHx8IGZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbWFnZURhdGFdPVwiaXRlbT8uaW1hZ2VcIiBbc2VjdGlvbklkXT1cImRhdGE/LmlkXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0eWxlcz8ucHJvY2Vzc1NlY3Rpb25EaXNwbGF5U3R5bGUgPT0gJ1NUWUxFMidcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb250ZW50Py5saXN0SXRlbT8uZGF0YTsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwiY2FyZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcC1zZWN0aW9uIGQtZmxleCBnYXAtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JhZGllbnQtc3Ryb2tlLXRleHQgbWItMVwiIFthdHRyLmRhdGEtdGV4dF09XCJpKzFcIiBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ3RyYW5zcGFyZW50JyxcclxuICAgICAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6ICc5MDAnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICczNnB4JyxcclxuICAgICAgICAgICAgICAgICAgICAgIFdlYmtpdFRleHRTdHJva2U6ICcycHggJyArIHN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcclxuICAgICAgICAgICAgICAgICAgICB9XCI+e3sgaSsxIHwgbnVtYmVyOiAnMi4wJyB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWlnaHQtd2lkdGhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCJzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIgaSAhPSBnZXRMZW5ndGgoKS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aGlyZC1wYXJ0LWNhcmQgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2ltcG8tdGV4dC1lZGl0b3IgWyh2YWx1ZSldPVwiaXRlbS5pbnB1dFRleHRbMV0udmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWRpdGFibGVdPVwiZWRpdCB8fCBmYWxzZVwiPjwvc2ltcG8tdGV4dC1lZGl0b3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNpbXBvLXRleHQtZWRpdG9yIFsodmFsdWUpXT1cIml0ZW0uaW5wdXRUZXh0WzJdLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VkaXRhYmxlXT1cImVkaXQgfHwgZmFsc2VcIj48L3NpbXBvLXRleHQtZWRpdG9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0eWxlcz8uZGV2aWRlcj8uZGlzcGxheVwiPlxyXG4gICAgICAgIDxzaW1wby1zdmctZGl2aWRlciBbZGl2aWRlclR5cGVdPVwic3R5bGVzPy5kZXZpZGVyPy5kZXZpZGVyVHlwZVwiXHJcbiAgICAgICAgICAgIFtjb2xvcl09XCJuZXh0Q29tcG9uZW50Q29sb3I/LmNvbG9yXCI+PC9zaW1wby1zdmctZGl2aWRlcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPGRpdiBbbmdDbGFzc109XCJ7J2hvdmVyX2VmZmVjdCc6IGVkaXR9XCIgKm5nSWY9XCJzaG93RWRpdG9yc1wiPlxyXG4gICAgICAgIDxzaW1wby1ob3Zlci1lbGVtZW50cyBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCIgW2VkaXRPcHRpb25zXT1cImVkaXRcIj48L3NpbXBvLWhvdmVyLWVsZW1lbnRzPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwic2hvd0RlbGV0ZVwiIFtuZ0NsYXNzXT1cInsnaG92ZXJfZWZmZWN0JzogZGVsZXRlfVwiPlxyXG4gICAgICAgIDxzaW1wby1kZWxldGUtaG92ZXItZWxlbWVudCBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCI+PC9zaW1wby1kZWxldGUtaG92ZXItZWxlbWVudD5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1leHBlcmllbmNlLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZWN0aW9ucy9mZWF0dXJlLWV4cGVyaWVuY2Utc2VjdGlvbi9mZWF0dXJlLWV4cGVyaWVuY2Utc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL2ZlYXR1cmUtZXhwZXJpZW5jZS1zZWN0aW9uL2ZlYXR1cmUtZXhwZXJpZW5jZS1zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FB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QUksV0FDUDt3QkFDUCxtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZiw4QkFBOEI7d0JBQzlCLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLGdDQUFnQzt3QkFDaEMsMEJBQTBCO3dCQUMxQixvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIsZUFBZTtxQkFDaEI7a0ZBS1EsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsa0JBQWtCO3NCQUExQixLQUFLO2dCQWlCTixhQUFhO3NCQURaLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2ltcG9FbGVtZW50c01vZHVsZSB9IGZyb20gJy4vLi4vLi4vZWxlbWVudHMvaW5kZXgnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBTaW1wb0NvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvaW5kZXgnO1xyXG5pbXBvcnQgeyBNYXRHcmlkTGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2dyaWQtbGlzdCc7XHJcbmltcG9ydCB7IEFuaW1hdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9hbmltYXRpb24tZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQmFja2dyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9iYWNrZ3JvdW5kLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvbnRlbnRGaXREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29udGVudC1maXQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQm9yZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2JvcmRlci1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBzaW1wb0NvbmV0ZW5BbGlnbm1lbnREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29udGVudC1hbGlnbm1lbnQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSG92ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvaG92ZXItZWxlbWVudC1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL292ZXJsYXktZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUG9zaXRpb25MYXlvdXREaXJlY3RpdmVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvcG9zaXRpb24tbGF5b3V0LWRpcmVjdGl2ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBFdmVudHNTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi9zZXJ2aWNlcy9ldmVudHMuc2VydmljZSc7XHJcbmltcG9ydCBCYXNlU2VjdGlvbiBmcm9tICcuLi9CYXNlU2VjdGlvbic7XHJcbmltcG9ydCB7IEJhY2tncm91bmRNb2RlbCwgTGF5T3V0TW9kZWwgfSBmcm9tICcuLi8uLi9zdHlsZXMvc3R5bGUubW9kZWwnO1xyXG5pbXBvcnQgeyBTaW1wb0NvbnRhaW5lckFsaWdtZW50IH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2NvbnRhaW5lci1hbGlnbm1lbnQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUHJvY2Vzc1NlY3Rpb25Db250ZW50TW9kZWwsIFByb2Nlc3NTZWN0aW9uTW9kZWwsIFByb2Nlc3NTZWN0aW9uU3R5bGVzTW9kZWwgfSBmcm9tICcuL2ZlYXR1cmUtZXhwZXJpZW5jZS1zZWN0aW9uLm1vZGFsJztcclxuaW1wb3J0IHsgVGV4dEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL3RleHQtZWRpdG9yL3RleHQtZWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEltYWdlRWRpdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2ltYWdlLWVkaXRvci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTcGFjaW5nSG9yaXpvbnRhbERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9zcGFjaW5nLWhvcml6b250YWwuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU3BhY2luZ0Fyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9zcGFjaW5nLWFyb3VuZC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb3JuZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29ybmVyLWRpcmVjdGl2ZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLWZlYXR1cmUtZXhwZXJpZW5jZS1zZWN0aW9uJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIFNpbXBvRWxlbWVudHNNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBTaW1wb0NvbXBvbmVudE1vZHVsZSxcclxuICAgIFRleHRFZGl0b3JDb21wb25lbnQsXHJcbiAgICBNYXRHcmlkTGlzdE1vZHVsZSxcclxuICAgIEFuaW1hdGlvbkRpcmVjdGl2ZSxcclxuICAgIFNpbXBvQ29udGFpbmVyQWxpZ21lbnQsXHJcbiAgICBCYWNrZ3JvdW5kRGlyZWN0aXZlLFxyXG4gICAgQm9yZGVyRGlyZWN0aXZlLFxyXG4gICAgc2ltcG9Db25ldGVuQWxpZ25tZW50RGlyZWN0aXZlLFxyXG4gICAgQ29udGVudEZpdERpcmVjdGl2ZSxcclxuICAgIEhvdmVyRGlyZWN0aXZlLFxyXG4gICAgT3ZlcmxheURpcmVjdGl2ZSxcclxuICAgIFBvc2l0aW9uTGF5b3V0RGlyZWN0aXZlRGlyZWN0aXZlLFxyXG4gICAgU3BhY2luZ0hvcml6b250YWxEaXJlY3RpdmUsXHJcbiAgICBJbWFnZUVkaXRvckRpcmVjdGl2ZSxcclxuICAgIFNwYWNpbmdBcm91bmREaXJlY3RpdmUsXHJcbiAgICBDb3JuZXJEaXJlY3RpdmVcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mZWF0dXJlLWV4cGVyaWVuY2Utc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2ZlYXR1cmUtZXhwZXJpZW5jZS1zZWN0aW9uLmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGZWF0dXJlRXhwZXJpZW5jZVNlY3Rpb25Db21wb25lbnQgZXh0ZW5kcyBCYXNlU2VjdGlvbiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZGF0YT86IFByb2Nlc3NTZWN0aW9uTW9kZWw7XHJcbiAgQElucHV0KCkgaW5kZXg/OiBudW1iZXI7XHJcbiAgY29udGVudD86IFByb2Nlc3NTZWN0aW9uQ29udGVudE1vZGVsO1xyXG4gIEBJbnB1dCgpIGVkaXQ/OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGRlbGV0ZT86IGJvb2xlYW47XHJcbiAgQElucHV0KCkgY3VzdG9tQ2xhc3M/OiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIG5leHRDb21wb25lbnRDb2xvcj86IEJhY2tncm91bmRNb2RlbDtcclxuICBzdHlsZXM/OiBQcm9jZXNzU2VjdGlvblN0eWxlc01vZGVsO1xyXG4gIGhvdmVyZWRJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGRldmljZVdpZHRoOiBudW1iZXIgPSAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2V2ZW50U2VydmljZTogRXZlbnRzU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuXHJcbiAgICB0aGlzLmdldFNjcmVlblNpemUoKVxyXG5cclxuICB9XHJcblxyXG4gIHNjcmVlbldpZHRoOiBudW1iZXIgPSAwO1xyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxyXG4gIGdldFNjcmVlblNpemUoZXZlbnQ/OiBhbnkpIHtcclxuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLmRldmljZVdpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVsZXRlU2VsZWN0ZWQgPSB0aGlzLmRlbGV0ZVxyXG4gICAgdGhpcy5jb250ZW50ID0gdGhpcy5kYXRhPy5jb250ZW50O1xyXG4gICAgdGhpcy5zdHlsZXMgPSB0aGlzLmRhdGE/LnN0eWxlcztcclxuICAgIGlmICghdGhpcy5zdHlsZXMgfHwgIXRoaXMuY29udGVudCkgcmV0dXJuO1xyXG4gICAgLy8gdGhpcy5zdHlsZXMubGF5b3V0LmJhbm5lckltYWdlRGlzcGxheSA9IHRoaXMuY29udGVudC5pbWFnZS5zaG93SW1hZ2U7XHJcblxyXG4gIH1cclxuXHJcblxyXG5cclxuICBnZXQgc3R5bGVzTGF5b3V0KCkge1xyXG4gICAgcmV0dXJuIHsgLi4udGhpcy5zdHlsZXM/LmxheW91dCB9IGFzIExheU91dE1vZGVsO1xyXG4gIH1cclxuICBnZXQgZ2V0SnVzdGlmeUNvbnRlbnQoKSB7XHJcbiAgICByZXR1cm4gXCJqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1wiO1xyXG4gIH1cclxuICBlZGl0U2VjdGlvbigpIHtcclxuXHJcbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggPD0gNDc1KVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLnRvZ2dsZUVkaXRvckV2ZW50LmVtaXQoZmFsc2UpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2V2ZW50U2VydmljZS5lZGl0U2VjdGlvbi5lbWl0KHsgZGF0YTogdGhpcy5kYXRhIH0pO1xyXG4gICAgfSwgMTAwKTtcclxuICB9XHJcbiAgZ2V0TGVuZ3RoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGVudD8ubGlzdEl0ZW0/LmRhdGE/Lmxlbmd0aCA/PyAwO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtpZF09XCJkYXRhPy5pZFwiIHNpbXBvSG92ZXIgKGhvdmVyaW5nKT1cInNob3dFZGl0VGFicygkZXZlbnQpXCIgY2xhc3M9XCJ0b3RhbC1jb250YWluZXJcIiBbYXR0ci5zdHlsZV09XCJjdXN0b21DbGFzc1wiPlxyXG4gICAgPGRpdiBbaWRdPVwiZGF0YT8uaWRcIiBbc3BhY2luZ0Fyb3VuZF09XCJzdHlsZXNMYXlvdXRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXh4bC04ICBweS01IHctMTAwXCIgW2lkXT1cImRhdGE/LmlkXCIgI21haW5Db250YWluZXIgW3NpbXBvQm9yZGVyXT1cInN0eWxlcz8uYm9yZGVyXCJcclxuICAgICAgICAgICAgW3NwYWNpbmdIb3Jpem9udGFsXT1cInN0eWxlc0xheW91dFwiIFtzaW1wb0JhY2tncm91bmRdPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCIgW3NpbXBvQ29ybmVyXT1cInN0eWxlcz8uY29ybmVyc1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGctNVwiIFtpZF09XCJkYXRhPy5pZFwiIFtzaW1wb0FuaW1hdGlvbl09XCJzdHlsZXM/LmFuaW1hdGlvblwiIFtzaW1wb0xheW91dF09XCJzdHlsZXM/LmxheW91dFwiXHJcbiAgICAgICAgICAgICAgICBbc2ltcG9Qb3NpdGlvbkxheW91dERpcmVjdGl2ZV09XCJzdHlsZXM/LnBvc2l0aW9uTGF5b3V0XCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3JldmVyc2Utb24tZGVza3RvcCc6IHN0eWxlcz8ucG9zaXRpb25MYXlvdXQ/LnZhbHVlID09PSAncmlnaHQnIH1cIlxyXG4gICAgICAgICAgICAgICAgW3NpbXBvT3ZlcmxheV09XCJzdHlsZXM/LmJhY2tncm91bmRcIj5cclxuXHJcbiAgICAgICAgICAgICAgICA8IS0tIOKUgOKUgCBMZWZ0IHN0aWNreSBwYW5lbCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgLS0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1wYW5lbFwiIFtzaW1wb0NvbnRhaW5lckFsaWdubWVudF09XCJzdHlsZXNMYXlvdXRcIiAqbmdJZj1cImNvbnRlbnQ/LmltYWdlPy5zaG93SW1hZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jb250ZW50LWlubmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY29udGVudD8uaW5wdXRUZXh0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2ltcG8tdGV4dC1lZGl0b3IgWyh2YWx1ZSldPVwiaXRlbS52YWx1ZVwiIFtlZGl0YWJsZV09XCJlZGl0IHx8IGZhbHNlXCI+PC9zaW1wby10ZXh0LWVkaXRvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8IS0tIOKUgOKUgCBSaWdodCBjYXJkcyBsaXN0IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodC1wYW5lbC13cmFwXCIgW3NpbXBvQ29udGFpbmVyQWxpZ25tZW50XT1cInN0eWxlc0xheW91dFwiIFtpZF09XCJkYXRhPy5pZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3NpbXBvQ29udGVudEFsaWdubWVudF09XCJzdHlsZXM/LmNvbnRlbnRBbGlnbm1lbnRcIiBbY2xhc3MuZnVsbC13aWR0aF09XCIhY29udGVudD8uaW1hZ2U/LnNob3dJbWFnZVwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIFNUWUxFIDEg4pSAIG51bWJlcmVkIGxpc3Qgd2l0aCBvcHRpb25hbCBob3ZlciBpbWFnZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3R5bGVzPy5wcm9jZXNzU2VjdGlvbkRpc3BsYXlTdHlsZSA9PSAnU1RZTEUxJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbnRlbnQ/Lmxpc3RJdGVtPy5kYXRhOyBsZXQgaSA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmZS1jYXJkXCIgW2NsYXNzLmZlLWNhcmQtLWFjdGl2ZV09XCJob3ZlcmVkSW5kZXggPT09IGlcIiAobW91c2VlbnRlcik9XCJob3ZlcmVkSW5kZXggPSBpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cImhvdmVyZWRJbmRleCA9IG51bGxcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIE51bWJlciAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmUtY2FyZF9fbnVtXCI+e3sgKGkgKyAxKSB8IG51bWJlcjonMi4wJyB9fTwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFRleHQgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmUtY2FyZF9fYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImZlLWNhcmRfX3RpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzaW1wby10ZXh0LWVkaXRvciBbKHZhbHVlKV09XCJpdGVtLmlucHV0VGV4dFswXS52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWRpdGFibGVdPVwiZWRpdCB8fCBmYWxzZVwiPjwvc2ltcG8tdGV4dC1lZGl0b3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZS1jYXJkX19kZXNjXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzaW1wby10ZXh0LWVkaXRvciBbKHZhbHVlKV09XCJpdGVtLmlucHV0VGV4dFsxXS52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWRpdGFibGVdPVwiZWRpdCB8fCBmYWxzZVwiPjwvc2ltcG8tdGV4dC1lZGl0b3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzaW1wby10ZXh0LWVkaXRvciBbKHZhbHVlKV09XCJpdGVtLmlucHV0VGV4dFsyXS52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWRpdGFibGVdPVwiZWRpdCB8fCBmYWxzZVwiPjwvc2ltcG8tdGV4dC1lZGl0b3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEFycm93ICsgaG92ZXIgaW1hZ2UgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmUtY2FyZF9fc2lkZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmUtY2FyZF9fYXJyb3dcIj4mI3gyMTkyOzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmUtY2FyZF9faW1nLXdyYXBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZmUtY2FyZF9faW1nLXdyYXAtLXNob3ddPVwiaG92ZXJlZEluZGV4ID09PSBpICYmICEhaXRlbS5pbWFnZT8udXJsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJpdGVtLmltYWdlPy51cmxcIiBsb2FkaW5nPVwibGF6eVwiIFtzcmNdPVwiaXRlbS5pbWFnZS51cmxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJpdGVtLmltYWdlLmFsdFRleHRcIiBbYXBwSW1hZ2VFZGl0b3JdPVwiZWRpdCB8fCBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW1hZ2VEYXRhXT1cIml0ZW0/LmltYWdlXCIgW3NlY3Rpb25JZF09XCJkYXRhPy5pZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gU1RZTEUgMiDilIAgbnVtYmVyZWQgc3RlcHMgd2l0aCBjb25uZWN0b3IgbGluZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3R5bGVzPy5wcm9jZXNzU2VjdGlvbkRpc3BsYXlTdHlsZSA9PSAnU1RZTEUyJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbnRlbnQ/Lmxpc3RJdGVtPy5kYXRhOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJmZS1zdGVwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmUtc3RlcF9fdHJhY2tcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmUtc3RlcF9fbnVtXCIgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ3RyYW5zcGFyZW50JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2Via2l0VGV4dFN0cm9rZTogJzJweCAnICsgc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj57eyBpICsgMSB8IG51bWJlcjonMi4wJyB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZS1zdGVwX19saW5lXCIgW3N0eWxlLmJhY2tncm91bmRdPVwic3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaSAhPT0gZ2V0TGVuZ3RoKCkgLSAxXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZS1zdGVwX19jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNpbXBvLXRleHQtZWRpdG9yIFsodmFsdWUpXT1cIml0ZW0uaW5wdXRUZXh0WzFdLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VkaXRhYmxlXT1cImVkaXQgfHwgZmFsc2VcIj48L3NpbXBvLXRleHQtZWRpdG9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzaW1wby10ZXh0LWVkaXRvciBbKHZhbHVlKV09XCJpdGVtLmlucHV0VGV4dFsyXS52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlZGl0YWJsZV09XCJlZGl0IHx8IGZhbHNlXCI+PC9zaW1wby10ZXh0LWVkaXRvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3R5bGVzPy5kZXZpZGVyPy5kaXNwbGF5XCI+XHJcbiAgICAgICAgPHNpbXBvLXN2Zy1kaXZpZGVyIFtkaXZpZGVyVHlwZV09XCJzdHlsZXM/LmRldmlkZXI/LmRldmlkZXJUeXBlXCJcclxuICAgICAgICAgICAgW2NvbG9yXT1cIm5leHRDb21wb25lbnRDb2xvcj8uY29sb3JcIj48L3NpbXBvLXN2Zy1kaXZpZGVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8ZGl2IFtuZ0NsYXNzXT1cInsnaG92ZXJfZWZmZWN0JzogZWRpdH1cIiAqbmdJZj1cInNob3dFZGl0b3JzXCI+XHJcbiAgICAgICAgPHNpbXBvLWhvdmVyLWVsZW1lbnRzIFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIiBbZWRpdE9wdGlvbnNdPVwiZWRpdFwiPjwvc2ltcG8taG92ZXItZWxlbWVudHM+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJzaG93RGVsZXRlXCIgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBkZWxldGV9XCI+XHJcbiAgICAgICAgPHNpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50IFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIj48L3NpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
@@ -72,7 +72,7 @@ export class FeaturesSectionComponent extends BaseSection {
72
72
  }
73
73
  }
74
74
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeaturesSectionComponent, deps: [{ token: i1.EventsService }], target: i0.ɵɵFactoryTarget.Component }); }
75
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FeaturesSectionComponent, isStandalone: true, selector: "simpo-features-section", inputs: { data: "data", edit: "edit", customClass: "customClass", delete: "delete", index: "index", nextComponentColor: "nextComponentColor" }, host: { listeners: { "window:resize": "getScreenSize($event)" } }, usesInheritance: true, ngImport: i0, template: "<section [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" [simpoBorder]=\"styles?.border\" [attr.style]=\"customClass\">\r\n <div #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"styles?.background\" [spacingHorizontal]=\"stylesLayout\">\r\n <div class=\"container-fluid d-flex flex-column\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\">\r\n <div class=\"row w-100 p-0\" *ngIf=\"screenWidth > 475\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\">\r\n <div *ngFor=\"let text of data?.content?.inputText\" class=\"mb-2 p-0\">\r\n <!-- <div class=\"heading-medium mb-1 content-side\" [innerHTML]=\"text.value | sanitizeHtml\"></div> -->\r\n <simpo-text-editor [(value)]=\"text.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n\r\n </div>\r\n <div class=\"box d-flex g-25 mt-2 w-100 p-0\" [style.--accentColor]=\"styles?.background?.accentColor\"\r\n [style.justifyContent]=\"getJustify()\">\r\n <div *ngFor=\"let tab of content?.listItem?.data; let index = index\" [class.cursor-pointer]=\"!edit\">\r\n <div\r\n [ngClass]=\"{'tab': styles?.tabStyling == 'UNDERLINE' , 'tab1' : styles?.tabStyling == 'BOXED' , 'tab2' : styles?.tabStyling == 'NONE' }\"\r\n [ngClass]=\"{'active': index === selectedTabIndex && styles?.tabStyling == 'UNDERLINE' , 'active1' : index === selectedTabIndex && styles?.tabStyling == 'BOXED' , 'active2' : index === selectedTabIndex && styles?.tabStyling == 'NONE' }\"\r\n [style.borderColor]=\"index === selectedTabIndex ? styles?.background?.accentColor : ''\"\r\n [style.color]=\"index === selectedTabIndex ? styles?.background?.accentColor : ''\"\r\n (click)=\"changetab(index)\" class=\"p-2\">\r\n <!-- {{ tab.inputText[0].value }} -->\r\n <simpo-text-editor [(value)]=\"tab.inputText[0].value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row-container\" *ngIf=\"screenWidth <= 475\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\">\r\n <div *ngFor=\"let text of data?.content?.inputText\">\r\n <!-- <div class=\"heading-medium mb-1 content-side\" [innerHTML]=\"text.value | sanitizeHtml\"></div> -->\r\n <simpo-text-editor [(value)]=\"text.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n <div class=\" box d-flex g-25 mt-5\">\r\n <div *ngFor=\"let tab of content?.listItem?.data; let index = index\">\r\n <div class=\"tab\" [ngClass]=\"{'active': index === selectedTabIndex}\"\r\n [style.borderColor]=\"index === selectedTabIndex ? styles?.background?.accentColor : ''\"\r\n [style.color]=\"index === selectedTabIndex ? styles?.background?.accentColor : ''\"\r\n (click)=\"changetab(index)\">\r\n <!-- {{ tab.inputText[0].value }} -->\r\n <simpo-text-editor [(value)]=\"tab.inputText[0].value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"content d-flex g-15 mt-4 w-100\" *ngIf=\"currentData?.image?.url\" [id]=\"data?.id\"\r\n [simpoPositionLayoutDirective]=\"styles?.positionLayout\">\r\n <div class=\"image\">\r\n <img loading=\"lazy\" [src]=\"currentData?.image?.url\" alt=\"\" [id]=\"data?.id\"\r\n [simpoImageDirective]=\"styles?.image\" [simpoObjectPosition]=\"currentData?.image?.position\"\r\n [simpoCorner]=\"styles?.corners\" class=\"d-block mx-lg-auto img-fluid h-100 \"\r\n [class]=\"data?.id+(currentData?.image?.id || '')\" loading=\"lazy\" [appImageEditor]=\"edit || false\"\r\n [imageData]=\"currentData?.image\" [sectionId]=\"data?.id\">\r\n </div>\r\n <div class=\"content-heading\">\r\n <div class=\"heading-large content-side\">\r\n <ng-container *ngIf=\"currentData?.inputText?.[1] as textItem\">\r\n <simpo-text-editor [(value)]=\"textItem.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </ng-container>\r\n </div>\r\n <div class=\"content-description body-large mt-2 content-side\">\r\n <ng-container *ngIf=\"currentData?.inputText?.[2] as textitem\">\r\n <simpo-text-editor [(value)]=\"textitem.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"content justify-center d-flex g-15 mt-5\" *ngIf=\"!currentData?.image?.url\">\r\n <div class=\"content-heading text-center\">\r\n <div class=\"heading-large content-side\" [innerHtml]=\"currentData?.inputText?.[1]?.value\" [id]=\"data?.id\">\r\n </div>\r\n <div class=\"content-description body-large mt-1 text-center\" [innerHtml]=\"currentData?.inputText?.[2]?.value\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"styles?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"styles?.devider?.deviderType\"\r\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n\r\n</section>", styles: [".hover_effect{position:unset;width:100%;top:0;left:0;height:100%}.total-container{position:relative;height:auto}.content{gap:3rem}.image{width:40%;flex:1}.image img{width:100%}.content-heading{width:60%;text-align:start}.content-description{width:100%;text-align:start}.active{font-weight:700;border-bottom:2px solid!important;padding-bottom:20px}.active1{font-weight:700;border:2px solid!important;border-radius:32px}.active2{font-weight:700;letter-spacing:.8px;border:unset!important;padding-bottom:20px}.tab{letter-spacing:.8px;border-bottom:2px solid;padding-bottom:20px;cursor:pointer}.tab1{letter-spacing:.8px;border:2px solid;border-radius:32px;cursor:pointer}.tab2{letter-spacing:.8px;border:unset;padding-bottom:20px;cursor:pointer}.cursor-pointer{cursor:pointer}@media only screen and (max-width: 768px){.content{flex-direction:column;padding:0 2rem;width:100%;gap:2rem}.g-25{gap:10px!important}.image{order:-1;width:100%}.image img,.content-heading{width:100%}.box{overflow-x:scroll;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;touch-action:pan-x;width:100%!important;margin:5px 0!important}.box::-webkit-scrollbar{display:flex!important;height:3px}.box::-webkit-scrollbar-thumb{background:var(--accentColor, #d4d4d4)}.row-container{width:100%!important}.tab{letter-spacing:.5px;border-bottom:1px solid;padding-bottom:10px;cursor:pointer}.image{width:100%}}@media screen and (max-width: 475px){.content{padding:0;margin-bottom:30px}}.g-25{gap:25px}.mt-1{margin-top:1rem}\n"], dependencies: [{ kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "component", type: HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }, { kind: "component", type: DeleteHoverElementComponent, selector: "simpo-delete-hover-element", inputs: ["index", "data"], outputs: ["edit"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: OverlayDirective, selector: "[simpoOverlay]", inputs: ["simpoOverlay"] }, { kind: "directive", type: BorderDirective, selector: "[simpoBorder]", inputs: ["simpoBorder"] }, { kind: "directive", type: AnimationDirective, selector: "[simpoAnimation]", inputs: ["simpoAnimation"] }, { kind: "directive", type: ContentFitDirective, selector: "[simpoLayout]", inputs: ["simpoLayout"] }, { kind: "directive", type: ImageDirectiveDirective, selector: "[simpoImageDirective]", inputs: ["simpoImageDirective"] }, { kind: "directive", type: ObjectPositionDirective, selector: "[simpoObjectPosition]", inputs: ["simpoObjectPosition"] }, { kind: "directive", type: CornerDirective, selector: "[simpoCorner]", inputs: ["simpoCorner"] }, { kind: "component", type: SvgDividerComponent, selector: "simpo-svg-divider", inputs: ["dividerType", "color"] }, { kind: "component", type: TextEditorComponent, selector: "simpo-text-editor", inputs: ["value", "editable", "sectionId", "label", "type"], outputs: ["valueChange"] }, { kind: "directive", type: ImageEditorDirective, selector: "[appImageEditor]", inputs: ["appImageEditor", "imageData", "sectionId", "showIcon", "iconData"] }, { kind: "directive", type: SpacingHorizontalDirective, selector: "[spacingHorizontal]", inputs: ["spacingHorizontal", "isHeader"] }, { kind: "directive", type: PositionLayoutDirectiveDirective, selector: "[simpoPositionLayoutDirective]", inputs: ["simpoPositionLayoutDirective"] }] }); }
75
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FeaturesSectionComponent, isStandalone: true, selector: "simpo-features-section", inputs: { data: "data", edit: "edit", customClass: "customClass", delete: "delete", index: "index", nextComponentColor: "nextComponentColor" }, host: { listeners: { "window:resize": "getScreenSize($event)" } }, usesInheritance: true, ngImport: i0, template: "<section [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" [simpoBorder]=\"styles?.border\" [attr.style]=\"customClass\">\r\n <div #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"styles?.background\" [spacingHorizontal]=\"stylesLayout\">\r\n <div class=\"container-fluid d-flex flex-column\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\">\r\n <div class=\"row w-100 p-0\" *ngIf=\"screenWidth > 475\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\">\r\n <div *ngFor=\"let text of data?.content?.inputText\" class=\"mb-2 p-0\">\r\n <!-- <div class=\"heading-medium mb-1 content-side\" [innerHTML]=\"text.value | sanitizeHtml\"></div> -->\r\n <simpo-text-editor [(value)]=\"text.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n\r\n </div>\r\n <div class=\"box d-flex g-25 mt-2 w-100 p-0\" [style.--accentColor]=\"styles?.background?.accentColor\"\r\n [style.justifyContent]=\"getJustify()\">\r\n <div *ngFor=\"let tab of content?.listItem?.data; let index = index\" [class.cursor-pointer]=\"!edit\">\r\n <div\r\n [ngClass]=\"{'tab': styles?.tabStyling == 'UNDERLINE' , 'tab1' : styles?.tabStyling == 'BOXED' , 'tab2' : styles?.tabStyling == 'NONE' }\"\r\n [ngClass]=\"{'active': index === selectedTabIndex && styles?.tabStyling == 'UNDERLINE' , 'active1' : index === selectedTabIndex && styles?.tabStyling == 'BOXED' , 'active2' : index === selectedTabIndex && styles?.tabStyling == 'NONE' }\"\r\n [style.borderColor]=\"index === selectedTabIndex ? styles?.background?.accentColor : ''\"\r\n [style.color]=\"index === selectedTabIndex ? styles?.background?.accentColor : ''\"\r\n (click)=\"changetab(index)\" class=\"p-2\">\r\n <!-- {{ tab.inputText[0].value }} -->\r\n <simpo-text-editor [(value)]=\"tab.inputText[0].value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row-container\" *ngIf=\"screenWidth <= 475\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\">\r\n <div *ngFor=\"let text of data?.content?.inputText\">\r\n <!-- <div class=\"heading-medium mb-1 content-side\" [innerHTML]=\"text.value | sanitizeHtml\"></div> -->\r\n <simpo-text-editor [(value)]=\"text.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n <div class=\" box d-flex g-25 mt-5\">\r\n <div *ngFor=\"let tab of content?.listItem?.data; let index = index\">\r\n <div class=\"tab\" [ngClass]=\"{'active': index === selectedTabIndex}\"\r\n [style.borderColor]=\"index === selectedTabIndex ? styles?.background?.accentColor : ''\"\r\n [style.color]=\"index === selectedTabIndex ? styles?.background?.accentColor : ''\"\r\n (click)=\"changetab(index)\">\r\n <!-- {{ tab.inputText[0].value }} -->\r\n <simpo-text-editor [(value)]=\"tab.inputText[0].value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"content d-flex g-15 mt-4 w-100\" *ngIf=\"currentData?.image?.url\" [id]=\"data?.id\"\r\n [simpoPositionLayoutDirective]=\"styles?.positionLayout\">\r\n <div class=\"image\">\r\n <img loading=\"lazy\" [src]=\"currentData?.image?.url\" alt=\"\" [id]=\"data?.id\"\r\n [simpoImageDirective]=\"styles?.image\" [simpoObjectPosition]=\"currentData?.image?.position\"\r\n [simpoCorner]=\"styles?.corners\" class=\"d-block mx-lg-auto img-fluid h-100 \"\r\n [class]=\"data?.id+(currentData?.image?.id || '')\" loading=\"lazy\" [appImageEditor]=\"edit || false\"\r\n [imageData]=\"currentData?.image\" [sectionId]=\"data?.id\">\r\n </div>\r\n <div class=\"content-heading\">\r\n <div class=\"heading-large content-side\">\r\n <ng-container *ngIf=\"currentData?.inputText?.[1] as textItem\">\r\n <simpo-text-editor [(value)]=\"textItem.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </ng-container>\r\n </div>\r\n <div class=\"content-description body-large mt-2 content-side\">\r\n <ng-container *ngIf=\"currentData?.inputText?.[2] as textitem\">\r\n <simpo-text-editor [(value)]=\"textitem.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"content justify-center d-flex g-15 mt-5\" *ngIf=\"!currentData?.image?.url\">\r\n <div class=\"content-heading text-center\">\r\n <div class=\"heading-large content-side\" [innerHtml]=\"currentData?.inputText?.[1]?.value\" [id]=\"data?.id\">\r\n </div>\r\n <div class=\"content-description body-large mt-1 text-center\" [innerHtml]=\"currentData?.inputText?.[2]?.value\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"styles?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"styles?.devider?.deviderType\"\r\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n\r\n</section>", styles: [".hover_effect{position:unset;width:100%;top:0;left:0;height:100%}.total-container{position:relative;height:auto}.content{gap:3rem}.image{width:40%;flex:1}.image img{width:100%}.content-heading{width:60%;text-align:start}.content-description{width:100%;text-align:start}.active{font-weight:700;border-bottom:2px solid!important;padding-bottom:20px}.active1{font-weight:700;border:2px solid!important;border-radius:32px}.active2{font-weight:700;letter-spacing:.8px;border:unset!important;padding-bottom:20px}.tab{letter-spacing:.8px;border-bottom:2px solid;padding-bottom:20px;cursor:pointer}.tab1{letter-spacing:.8px;border:2px solid;border-radius:32px;cursor:pointer}.tab2{letter-spacing:.8px;border:unset;padding-bottom:20px;cursor:pointer}.cursor-pointer{cursor:pointer}@media only screen and (max-width: 768px){.content{flex-direction:column;padding:0 2rem;width:100%;gap:2rem}.g-25{gap:10px!important}.image{order:-1;width:100%}.image img,.content-heading{width:100%}.box{overflow-x:scroll;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;touch-action:pan-x;width:100%!important;margin:5px 0!important}.box::-webkit-scrollbar{display:flex!important;height:3px}.box::-webkit-scrollbar-thumb{background:var(--accentColor, #d4d4d4)}.row-container{width:100%!important}.tab{letter-spacing:.5px;border-bottom:1px solid;padding-bottom:10px;cursor:pointer}.image{width:100%}}@media screen and (max-width: 475px){.content{padding:0;margin-bottom:30px}}.box::-webkit-scrollbar{display:none!important}.active{border:1px solid black!important;border-radius:15px}.tab{border-bottom:none;padding:5px 7px}.g-25{gap:25px}.mt-1{margin-top:1rem}\n"], dependencies: [{ kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "component", type: HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }, { kind: "component", type: DeleteHoverElementComponent, selector: "simpo-delete-hover-element", inputs: ["index", "data"], outputs: ["edit"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: OverlayDirective, selector: "[simpoOverlay]", inputs: ["simpoOverlay"] }, { kind: "directive", type: BorderDirective, selector: "[simpoBorder]", inputs: ["simpoBorder"] }, { kind: "directive", type: AnimationDirective, selector: "[simpoAnimation]", inputs: ["simpoAnimation"] }, { kind: "directive", type: ContentFitDirective, selector: "[simpoLayout]", inputs: ["simpoLayout"] }, { kind: "directive", type: ImageDirectiveDirective, selector: "[simpoImageDirective]", inputs: ["simpoImageDirective"] }, { kind: "directive", type: ObjectPositionDirective, selector: "[simpoObjectPosition]", inputs: ["simpoObjectPosition"] }, { kind: "directive", type: CornerDirective, selector: "[simpoCorner]", inputs: ["simpoCorner"] }, { kind: "component", type: SvgDividerComponent, selector: "simpo-svg-divider", inputs: ["dividerType", "color"] }, { kind: "component", type: TextEditorComponent, selector: "simpo-text-editor", inputs: ["value", "editable", "sectionId", "label", "type"], outputs: ["valueChange"] }, { kind: "directive", type: ImageEditorDirective, selector: "[appImageEditor]", inputs: ["appImageEditor", "imageData", "sectionId", "showIcon", "iconData"] }, { kind: "directive", type: SpacingHorizontalDirective, selector: "[spacingHorizontal]", inputs: ["spacingHorizontal", "isHeader"] }, { kind: "directive", type: PositionLayoutDirectiveDirective, selector: "[simpoPositionLayoutDirective]", inputs: ["simpoPositionLayoutDirective"] }] }); }
76
76
  }
77
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeaturesSectionComponent, decorators: [{
78
78
  type: Component,
@@ -95,7 +95,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
95
95
  ImageEditorDirective,
96
96
  SpacingHorizontalDirective,
97
97
  PositionLayoutDirectiveDirective
98
- ], template: "<section [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" [simpoBorder]=\"styles?.border\" [attr.style]=\"customClass\">\r\n <div #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"styles?.background\" [spacingHorizontal]=\"stylesLayout\">\r\n <div class=\"container-fluid d-flex flex-column\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\">\r\n <div class=\"row w-100 p-0\" *ngIf=\"screenWidth > 475\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\">\r\n <div *ngFor=\"let text of data?.content?.inputText\" class=\"mb-2 p-0\">\r\n <!-- <div class=\"heading-medium mb-1 content-side\" [innerHTML]=\"text.value | sanitizeHtml\"></div> -->\r\n <simpo-text-editor [(value)]=\"text.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n\r\n </div>\r\n <div class=\"box d-flex g-25 mt-2 w-100 p-0\" [style.--accentColor]=\"styles?.background?.accentColor\"\r\n [style.justifyContent]=\"getJustify()\">\r\n <div *ngFor=\"let tab of content?.listItem?.data; let index = index\" [class.cursor-pointer]=\"!edit\">\r\n <div\r\n [ngClass]=\"{'tab': styles?.tabStyling == 'UNDERLINE' , 'tab1' : styles?.tabStyling == 'BOXED' , 'tab2' : styles?.tabStyling == 'NONE' }\"\r\n [ngClass]=\"{'active': index === selectedTabIndex && styles?.tabStyling == 'UNDERLINE' , 'active1' : index === selectedTabIndex && styles?.tabStyling == 'BOXED' , 'active2' : index === selectedTabIndex && styles?.tabStyling == 'NONE' }\"\r\n [style.borderColor]=\"index === selectedTabIndex ? styles?.background?.accentColor : ''\"\r\n [style.color]=\"index === selectedTabIndex ? styles?.background?.accentColor : ''\"\r\n (click)=\"changetab(index)\" class=\"p-2\">\r\n <!-- {{ tab.inputText[0].value }} -->\r\n <simpo-text-editor [(value)]=\"tab.inputText[0].value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row-container\" *ngIf=\"screenWidth <= 475\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\">\r\n <div *ngFor=\"let text of data?.content?.inputText\">\r\n <!-- <div class=\"heading-medium mb-1 content-side\" [innerHTML]=\"text.value | sanitizeHtml\"></div> -->\r\n <simpo-text-editor [(value)]=\"text.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n <div class=\" box d-flex g-25 mt-5\">\r\n <div *ngFor=\"let tab of content?.listItem?.data; let index = index\">\r\n <div class=\"tab\" [ngClass]=\"{'active': index === selectedTabIndex}\"\r\n [style.borderColor]=\"index === selectedTabIndex ? styles?.background?.accentColor : ''\"\r\n [style.color]=\"index === selectedTabIndex ? styles?.background?.accentColor : ''\"\r\n (click)=\"changetab(index)\">\r\n <!-- {{ tab.inputText[0].value }} -->\r\n <simpo-text-editor [(value)]=\"tab.inputText[0].value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"content d-flex g-15 mt-4 w-100\" *ngIf=\"currentData?.image?.url\" [id]=\"data?.id\"\r\n [simpoPositionLayoutDirective]=\"styles?.positionLayout\">\r\n <div class=\"image\">\r\n <img loading=\"lazy\" [src]=\"currentData?.image?.url\" alt=\"\" [id]=\"data?.id\"\r\n [simpoImageDirective]=\"styles?.image\" [simpoObjectPosition]=\"currentData?.image?.position\"\r\n [simpoCorner]=\"styles?.corners\" class=\"d-block mx-lg-auto img-fluid h-100 \"\r\n [class]=\"data?.id+(currentData?.image?.id || '')\" loading=\"lazy\" [appImageEditor]=\"edit || false\"\r\n [imageData]=\"currentData?.image\" [sectionId]=\"data?.id\">\r\n </div>\r\n <div class=\"content-heading\">\r\n <div class=\"heading-large content-side\">\r\n <ng-container *ngIf=\"currentData?.inputText?.[1] as textItem\">\r\n <simpo-text-editor [(value)]=\"textItem.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </ng-container>\r\n </div>\r\n <div class=\"content-description body-large mt-2 content-side\">\r\n <ng-container *ngIf=\"currentData?.inputText?.[2] as textitem\">\r\n <simpo-text-editor [(value)]=\"textitem.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"content justify-center d-flex g-15 mt-5\" *ngIf=\"!currentData?.image?.url\">\r\n <div class=\"content-heading text-center\">\r\n <div class=\"heading-large content-side\" [innerHtml]=\"currentData?.inputText?.[1]?.value\" [id]=\"data?.id\">\r\n </div>\r\n <div class=\"content-description body-large mt-1 text-center\" [innerHtml]=\"currentData?.inputText?.[2]?.value\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"styles?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"styles?.devider?.deviderType\"\r\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n\r\n</section>", styles: [".hover_effect{position:unset;width:100%;top:0;left:0;height:100%}.total-container{position:relative;height:auto}.content{gap:3rem}.image{width:40%;flex:1}.image img{width:100%}.content-heading{width:60%;text-align:start}.content-description{width:100%;text-align:start}.active{font-weight:700;border-bottom:2px solid!important;padding-bottom:20px}.active1{font-weight:700;border:2px solid!important;border-radius:32px}.active2{font-weight:700;letter-spacing:.8px;border:unset!important;padding-bottom:20px}.tab{letter-spacing:.8px;border-bottom:2px solid;padding-bottom:20px;cursor:pointer}.tab1{letter-spacing:.8px;border:2px solid;border-radius:32px;cursor:pointer}.tab2{letter-spacing:.8px;border:unset;padding-bottom:20px;cursor:pointer}.cursor-pointer{cursor:pointer}@media only screen and (max-width: 768px){.content{flex-direction:column;padding:0 2rem;width:100%;gap:2rem}.g-25{gap:10px!important}.image{order:-1;width:100%}.image img,.content-heading{width:100%}.box{overflow-x:scroll;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;touch-action:pan-x;width:100%!important;margin:5px 0!important}.box::-webkit-scrollbar{display:flex!important;height:3px}.box::-webkit-scrollbar-thumb{background:var(--accentColor, #d4d4d4)}.row-container{width:100%!important}.tab{letter-spacing:.5px;border-bottom:1px solid;padding-bottom:10px;cursor:pointer}.image{width:100%}}@media screen and (max-width: 475px){.content{padding:0;margin-bottom:30px}}.g-25{gap:25px}.mt-1{margin-top:1rem}\n"] }]
98
+ ], template: "<section [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" [simpoBorder]=\"styles?.border\" [attr.style]=\"customClass\">\r\n <div #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"styles?.background\" [spacingHorizontal]=\"stylesLayout\">\r\n <div class=\"container-fluid d-flex flex-column\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\">\r\n <div class=\"row w-100 p-0\" *ngIf=\"screenWidth > 475\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\">\r\n <div *ngFor=\"let text of data?.content?.inputText\" class=\"mb-2 p-0\">\r\n <!-- <div class=\"heading-medium mb-1 content-side\" [innerHTML]=\"text.value | sanitizeHtml\"></div> -->\r\n <simpo-text-editor [(value)]=\"text.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n\r\n </div>\r\n <div class=\"box d-flex g-25 mt-2 w-100 p-0\" [style.--accentColor]=\"styles?.background?.accentColor\"\r\n [style.justifyContent]=\"getJustify()\">\r\n <div *ngFor=\"let tab of content?.listItem?.data; let index = index\" [class.cursor-pointer]=\"!edit\">\r\n <div\r\n [ngClass]=\"{'tab': styles?.tabStyling == 'UNDERLINE' , 'tab1' : styles?.tabStyling == 'BOXED' , 'tab2' : styles?.tabStyling == 'NONE' }\"\r\n [ngClass]=\"{'active': index === selectedTabIndex && styles?.tabStyling == 'UNDERLINE' , 'active1' : index === selectedTabIndex && styles?.tabStyling == 'BOXED' , 'active2' : index === selectedTabIndex && styles?.tabStyling == 'NONE' }\"\r\n [style.borderColor]=\"index === selectedTabIndex ? styles?.background?.accentColor : ''\"\r\n [style.color]=\"index === selectedTabIndex ? styles?.background?.accentColor : ''\"\r\n (click)=\"changetab(index)\" class=\"p-2\">\r\n <!-- {{ tab.inputText[0].value }} -->\r\n <simpo-text-editor [(value)]=\"tab.inputText[0].value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row-container\" *ngIf=\"screenWidth <= 475\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\">\r\n <div *ngFor=\"let text of data?.content?.inputText\">\r\n <!-- <div class=\"heading-medium mb-1 content-side\" [innerHTML]=\"text.value | sanitizeHtml\"></div> -->\r\n <simpo-text-editor [(value)]=\"text.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n <div class=\" box d-flex g-25 mt-5\">\r\n <div *ngFor=\"let tab of content?.listItem?.data; let index = index\">\r\n <div class=\"tab\" [ngClass]=\"{'active': index === selectedTabIndex}\"\r\n [style.borderColor]=\"index === selectedTabIndex ? styles?.background?.accentColor : ''\"\r\n [style.color]=\"index === selectedTabIndex ? styles?.background?.accentColor : ''\"\r\n (click)=\"changetab(index)\">\r\n <!-- {{ tab.inputText[0].value }} -->\r\n <simpo-text-editor [(value)]=\"tab.inputText[0].value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"content d-flex g-15 mt-4 w-100\" *ngIf=\"currentData?.image?.url\" [id]=\"data?.id\"\r\n [simpoPositionLayoutDirective]=\"styles?.positionLayout\">\r\n <div class=\"image\">\r\n <img loading=\"lazy\" [src]=\"currentData?.image?.url\" alt=\"\" [id]=\"data?.id\"\r\n [simpoImageDirective]=\"styles?.image\" [simpoObjectPosition]=\"currentData?.image?.position\"\r\n [simpoCorner]=\"styles?.corners\" class=\"d-block mx-lg-auto img-fluid h-100 \"\r\n [class]=\"data?.id+(currentData?.image?.id || '')\" loading=\"lazy\" [appImageEditor]=\"edit || false\"\r\n [imageData]=\"currentData?.image\" [sectionId]=\"data?.id\">\r\n </div>\r\n <div class=\"content-heading\">\r\n <div class=\"heading-large content-side\">\r\n <ng-container *ngIf=\"currentData?.inputText?.[1] as textItem\">\r\n <simpo-text-editor [(value)]=\"textItem.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </ng-container>\r\n </div>\r\n <div class=\"content-description body-large mt-2 content-side\">\r\n <ng-container *ngIf=\"currentData?.inputText?.[2] as textitem\">\r\n <simpo-text-editor [(value)]=\"textitem.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"content justify-center d-flex g-15 mt-5\" *ngIf=\"!currentData?.image?.url\">\r\n <div class=\"content-heading text-center\">\r\n <div class=\"heading-large content-side\" [innerHtml]=\"currentData?.inputText?.[1]?.value\" [id]=\"data?.id\">\r\n </div>\r\n <div class=\"content-description body-large mt-1 text-center\" [innerHtml]=\"currentData?.inputText?.[2]?.value\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"styles?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"styles?.devider?.deviderType\"\r\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n\r\n</section>", styles: [".hover_effect{position:unset;width:100%;top:0;left:0;height:100%}.total-container{position:relative;height:auto}.content{gap:3rem}.image{width:40%;flex:1}.image img{width:100%}.content-heading{width:60%;text-align:start}.content-description{width:100%;text-align:start}.active{font-weight:700;border-bottom:2px solid!important;padding-bottom:20px}.active1{font-weight:700;border:2px solid!important;border-radius:32px}.active2{font-weight:700;letter-spacing:.8px;border:unset!important;padding-bottom:20px}.tab{letter-spacing:.8px;border-bottom:2px solid;padding-bottom:20px;cursor:pointer}.tab1{letter-spacing:.8px;border:2px solid;border-radius:32px;cursor:pointer}.tab2{letter-spacing:.8px;border:unset;padding-bottom:20px;cursor:pointer}.cursor-pointer{cursor:pointer}@media only screen and (max-width: 768px){.content{flex-direction:column;padding:0 2rem;width:100%;gap:2rem}.g-25{gap:10px!important}.image{order:-1;width:100%}.image img,.content-heading{width:100%}.box{overflow-x:scroll;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;touch-action:pan-x;width:100%!important;margin:5px 0!important}.box::-webkit-scrollbar{display:flex!important;height:3px}.box::-webkit-scrollbar-thumb{background:var(--accentColor, #d4d4d4)}.row-container{width:100%!important}.tab{letter-spacing:.5px;border-bottom:1px solid;padding-bottom:10px;cursor:pointer}.image{width:100%}}@media screen and (max-width: 475px){.content{padding:0;margin-bottom:30px}}.box::-webkit-scrollbar{display:none!important}.active{border:1px solid black!important;border-radius:15px}.tab{border-bottom:none;padding:5px 7px}.g-25{gap:25px}.mt-1{margin-top:1rem}\n"] }]
99
99
  }], ctorParameters: () => [{ type: i1.EventsService }], propDecorators: { data: [{
100
100
  type: Input
101
101
  }], edit: [{
@@ -112,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
112
112
  type: HostListener,
113
113
  args: ['window:resize', ['$event']]
114
114
  }] } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZXMtc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL2ZlYXR1cmVzLXNlY3Rpb24vZmVhdHVyZXMtc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL2ZlYXR1cmVzLXNlY3Rpb24vZmVhdHVyZXMtc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxXQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFHekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDN0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FB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cm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IEJhc2VTZWN0aW9uIGZyb20gJy4uL0Jhc2VTZWN0aW9uJztcclxuaW1wb3J0IHsgRXZlbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmVhdHVyZUNvbnRlbnRNb2RlbCwgRmVhdHVyZVN0eWxlc01vZGVsLCBGZWF0dXJlU2VjdGlvbk1vZGVsLCBGZWF0dXJlSXRlbU1vZGVsIH0gZnJvbSAnLi9mZWF0dXJlcy1zZWN0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgQmFja2dyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9iYWNrZ3JvdW5kLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEhvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2hvdmVyLWVsZW1lbnQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSG92ZXJFbGVtZW50c0NvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2hvdmVyLWVsZW1lbnRzL2hvdmVyLWVsZW1lbnRzLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBEZWxldGVIb3ZlckVsZW1lbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9kZWxldGUtaG92ZXItZWxlbWVudC9kZWxldGUtaG92ZXItZWxlbWVudC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgT3ZlcmxheURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9vdmVybGF5LWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEJvcmRlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9ib3JkZXItZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQW5pbWF0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2FuaW1hdGlvbi1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb250ZW50Rml0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2NvbnRlbnQtZml0LWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IHNpbXBvQ29uZXRlbkFsaWdubWVudERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9jb250ZW50LWFsaWdubWVudC1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBJbWFnZURpcmVjdGl2ZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9pbWFnZS1kaXJlY3RpdmUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgT2JqZWN0UG9zaXRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvaW1hZ2UtcG9zaXRpb24uZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29ybmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2Nvcm5lci1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTYW5pdGl6ZUh0bWxQaXBlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2FuaXRpemVIdG1sJztcclxuaW1wb3J0IHsgQmFja2dyb3VuZE1vZGVsLCBMYXlPdXRNb2RlbCB9IGZyb20gJy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbCc7XHJcbmltcG9ydCB7IFN2Z0RpdmlkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9lbGVtZW50cy9zdmctZGl2aWRlci9zdmctZGl2aWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZXh0RWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZWxlbWVudHMvdGV4dC1lZGl0b3IvdGV4dC1lZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW1hZ2VFZGl0b3JEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvaW1hZ2UtZWRpdG9yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNwYWNpbmdIb3Jpem9udGFsRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL3NwYWNpbmctaG9yaXpvbnRhbC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBQb3NpdGlvbkxheW91dERpcmVjdGl2ZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9wb3NpdGlvbi1sYXlvdXQtZGlyZWN0aXZlLmRpcmVjdGl2ZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLWZlYXR1cmVzLXNlY3Rpb24nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQmFja2dyb3VuZERpcmVjdGl2ZSxcclxuICAgIEhvdmVyRGlyZWN0aXZlLFxyXG4gICAgSG92ZXJFbGVtZW50c0NvbXBvbmVudCxcclxuICAgIERlbGV0ZUhvdmVyRWxlbWVudENvbXBvbmVudCxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE92ZXJsYXlEaXJlY3RpdmUsXHJcbiAgICBCb3JkZXJEaXJlY3RpdmUsXHJcbiAgICBBbmltYXRpb25EaXJlY3RpdmUsXHJcbiAgICBDb250ZW50Rml0RGlyZWN0aXZlLFxyXG4gICAgc2ltcG9Db25ldGVuQWxpZ25tZW50RGlyZWN0aXZlLFxyXG4gICAgSW1hZ2VEaXJlY3RpdmVEaXJlY3RpdmUsXHJcbiAgICBPYmplY3RQb3NpdGlvbkRpcmVjdGl2ZSxcclxuICAgIENvcm5lckRpcmVjdGl2ZSxcclxuICAgIFNhbml0aXplSHRtbFBpcGUsIFN2Z0RpdmlkZXJDb21wb25lbnQsXHJcbiAgICBUZXh0RWRpdG9yQ29tcG9uZW50LFxyXG4gICAgSW1hZ2VFZGl0b3JEaXJlY3RpdmUsXHJcbiAgICBTcGFjaW5nSG9yaXpvbnRhbERpcmVjdGl2ZSxcclxuICAgIFBvc2l0aW9uTGF5b3V0RGlyZWN0aXZlRGlyZWN0aXZlXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmVhdHVyZXMtc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2ZlYXR1cmVzLXNlY3Rpb24uY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEZlYXR1cmVzU2VjdGlvbkNvbXBvbmVudCBleHRlbmRzIEJhc2VTZWN0aW9uIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBkYXRhPzogRmVhdHVyZVNlY3Rpb25Nb2RlbDtcclxuICBASW5wdXQoKSBlZGl0PzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjdXN0b21DbGFzcz86IHN0cmluZztcclxuICBjb250ZW50PzogRmVhdHVyZUNvbnRlbnRNb2RlbDtcclxuICBzdHlsZXM/OiBGZWF0dXJlU3R5bGVzTW9kZWw7XHJcbiAgQElucHV0KCkgZGVsZXRlPzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBpbmRleD86IG51bWJlcjtcclxuICBASW5wdXQoKSBuZXh0Q29tcG9uZW50Q29sb3I/OiBCYWNrZ3JvdW5kTW9kZWw7XHJcblxyXG5cclxuICBsaXN0SXRlbXM6IGFueTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2V2ZW50U2VydmljZTogRXZlbnRzU2VydmljZSxcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLmdldFNjcmVlblNpemUoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5jb250ZW50ID0gdGhpcy5kYXRhPy5jb250ZW50O1xyXG4gICAgdGhpcy5saXN0SXRlbXMgPSB0aGlzLmRhdGE/LmNvbnRlbnQubGlzdEl0ZW0uZGF0YVxyXG4gICAgdGhpcy5zdHlsZXMgPSB0aGlzLmRhdGE/LnN0eWxlcztcclxuICAgIHRoaXMuZGVsZXRlU2VsZWN0ZWQgPSB0aGlzLmRlbGV0ZVxyXG4gICAgdGhpcy5jaGFuZ2V0YWIoMCk7XHJcbiAgfVxyXG5cclxuICBzY3JlZW5XaWR0aDogbnVtYmVyID0gMDtcclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBnZXRTY3JlZW5TaXplKGV2ZW50PzogYW55KSB7XHJcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgdGhpcy5zY3JlZW5XaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXQgc3R5bGVzTGF5b3V0KCkge1xyXG4gICAgcmV0dXJuIHsgLi4udGhpcy5zdHlsZXM/LmxheW91dCB9IGFzIExheU91dE1vZGVsO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWRUYWJJbmRleCA9IDA7XHJcbiAgY3VycmVudERhdGE/OiBGZWF0dXJlSXRlbU1vZGVsO1xyXG4gIGNoYW5nZXRhYihpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkVGFiSW5kZXggPSBpbmRleDtcclxuICAgIHRoaXMuY3VycmVudERhdGEgPSB0aGlzLmRhdGE/LmNvbnRlbnQubGlzdEl0ZW0uZGF0YVt0aGlzLnNlbGVjdGVkVGFiSW5kZXhdO1xyXG4gIH1cclxuICBlZGl0U2VjdGlvbigpIHtcclxuICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8PSA0NzUpXHJcbiAgICAgIHJldHVyblxyXG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLnRvZ2dsZUVkaXRvckV2ZW50LmVtaXQoZmFsc2UpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2V2ZW50U2VydmljZS5lZGl0U2VjdGlvbi5lbWl0KHsgZGF0YTogdGhpcy5kYXRhIH0pO1xyXG4gICAgfSwgMTAwKTtcclxuICB9XHJcblxyXG4gIGdldEp1c3RpZnkoKSB7XHJcbiAgICBpZiAodGhpcy5zdHlsZXM/LmxheW91dD8uYWxpZ24gPT0gJ2NlbnRlcicpIHtcclxuICAgICAgcmV0dXJuICdjZW50ZXInO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5zdHlsZXM/LmxheW91dD8uYWxpZ24gPT0gJ2xlZnQnKSB7XHJcbiAgICAgIHJldHVybiAnZmxleC1zdGFydCc7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLnN0eWxlcz8ubGF5b3V0Py5hbGlnbiA9PSAncmlnaHQnKSB7XHJcbiAgICAgIHJldHVybiAnZmxleC1lbmQnO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiAnY2VudGVyJztcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiIsIjxzZWN0aW9uIFtpZF09XCJkYXRhPy5pZFwiIFtzaW1wb0JhY2tncm91bmRdPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCIgc2ltcG9Ib3ZlciAoaG92ZXJpbmcpPVwic2hvd0VkaXRUYWJzKCRldmVudClcIlxyXG4gIGNsYXNzPVwidG90YWwtY29udGFpbmVyXCIgW3NpbXBvQm9yZGVyXT1cInN0eWxlcz8uYm9yZGVyXCIgW2F0dHIuc3R5bGVdPVwiY3VzdG9tQ2xhc3NcIj5cclxuICA8ZGl2ICNtYWluQ29udGFpbmVyIFtpZF09XCJkYXRhPy5pZFwiIFtzaW1wb092ZXJsYXldPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCIgW3NwYWNpbmdIb3Jpem9udGFsXT1cInN0eWxlc0xheW91dFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZCBkLWZsZXggZmxleC1jb2x1bW5cIiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9MYXlvdXRdPVwic3R5bGVzPy5sYXlvdXRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdyB3LTEwMCBwLTBcIiAqbmdJZj1cInNjcmVlbldpZHRoID4gNDc1XCIgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvQW5pbWF0aW9uXT1cInN0eWxlcz8uYW5pbWF0aW9uXCI+XHJcbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgdGV4dCBvZiBkYXRhPy5jb250ZW50Py5pbnB1dFRleHRcIiBjbGFzcz1cIm1iLTIgcC0wXCI+XHJcbiAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJoZWFkaW5nLW1lZGl1bSBtYi0xIGNvbnRlbnQtc2lkZVwiIFtpbm5lckhUTUxdPVwidGV4dC52YWx1ZSB8IHNhbml0aXplSHRtbFwiPjwvZGl2PiAtLT5cclxuICAgICAgICAgIDxzaW1wby10ZXh0LWVkaXRvciBbKHZhbHVlKV09XCJ0ZXh0LnZhbHVlXCIgW2VkaXRhYmxlXT1cImVkaXQgfHwgZmFsc2VcIj48L3NpbXBvLXRleHQtZWRpdG9yPlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm94IGQtZmxleCBnLTI1IG10LTIgdy0xMDAgcC0wXCIgW3N0eWxlLi0tYWNjZW50Q29sb3JdPVwic3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiXHJcbiAgICAgICAgICBbc3R5bGUuanVzdGlmeUNvbnRlbnRdPVwiZ2V0SnVzdGlmeSgpXCI+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB0YWIgb2YgY29udGVudD8ubGlzdEl0ZW0/LmRhdGE7IGxldCBpbmRleCA9IGluZGV4XCIgW2NsYXNzLmN1cnNvci1wb2ludGVyXT1cIiFlZGl0XCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3RhYic6IHN0eWxlcz8udGFiU3R5bGluZyA9PSAnVU5ERVJMSU5FJyAsICd0YWIxJyA6IHN0eWxlcz8udGFiU3R5bGluZyA9PSAnQk9YRUQnICwgJ3RhYjInIDogc3R5bGVzPy50YWJTdHlsaW5nID09ICdOT05FJyB9XCJcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2FjdGl2ZSc6IGluZGV4ID09PSBzZWxlY3RlZFRhYkluZGV4ICYmIHN0eWxlcz8udGFiU3R5bGluZyA9PSAnVU5ERVJMSU5FJyAsICdhY3RpdmUxJyA6IGluZGV4ID09PSBzZWxlY3RlZFRhYkluZGV4ICYmIHN0eWxlcz8udGFiU3R5bGluZyA9PSAnQk9YRUQnICwgJ2FjdGl2ZTInIDogaW5kZXggPT09IHNlbGVjdGVkVGFiSW5kZXggJiYgc3R5bGVzPy50YWJTdHlsaW5nID09ICdOT05FJyB9XCJcclxuICAgICAgICAgICAgICBbc3R5bGUuYm9yZGVyQ29sb3JdPVwiaW5kZXggPT09IHNlbGVjdGVkVGFiSW5kZXggPyBzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yIDogJydcIlxyXG4gICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJpbmRleCA9PT0gc2VsZWN0ZWRUYWJJbmRleCA/IHN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3IgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNoYW5nZXRhYihpbmRleClcIiBjbGFzcz1cInAtMlwiPlxyXG4gICAgICAgICAgICAgIDwhLS0ge3sgdGFiLmlucHV0VGV4dFswXS52YWx1ZSB9fSAtLT5cclxuICAgICAgICAgICAgICA8c2ltcG8tdGV4dC1lZGl0b3IgWyh2YWx1ZSldPVwidGFiLmlucHV0VGV4dFswXS52YWx1ZVwiIFtlZGl0YWJsZV09XCJlZGl0IHx8IGZhbHNlXCI+PC9zaW1wby10ZXh0LWVkaXRvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3ctY29udGFpbmVyXCIgKm5nSWY9XCJzY3JlZW5XaWR0aCA8PSA0NzVcIiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9BbmltYXRpb25dPVwic3R5bGVzPy5hbmltYXRpb25cIj5cclxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB0ZXh0IG9mIGRhdGE/LmNvbnRlbnQ/LmlucHV0VGV4dFwiPlxyXG4gICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiaGVhZGluZy1tZWRpdW0gbWItMSBjb250ZW50LXNpZGVcIiBbaW5uZXJIVE1MXT1cInRleHQudmFsdWUgfCBzYW5pdGl6ZUh0bWxcIj48L2Rpdj4gLS0+XHJcbiAgICAgICAgICA8c2ltcG8tdGV4dC1lZGl0b3IgWyh2YWx1ZSldPVwidGV4dC52YWx1ZVwiIFtlZGl0YWJsZV09XCJlZGl0IHx8IGZhbHNlXCI+PC9zaW1wby10ZXh0LWVkaXRvcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiIGJveCBkLWZsZXggZy0yNSBtdC01XCI+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB0YWIgb2YgY29udGVudD8ubGlzdEl0ZW0/LmRhdGE7IGxldCBpbmRleCA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJcIiBbbmdDbGFzc109XCJ7J2FjdGl2ZSc6IGluZGV4ID09PSBzZWxlY3RlZFRhYkluZGV4fVwiXHJcbiAgICAgICAgICAgICAgW3N0eWxlLmJvcmRlckNvbG9yXT1cImluZGV4ID09PSBzZWxlY3RlZFRhYkluZGV4ID8gc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvciA6ICcnXCJcclxuICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiaW5kZXggPT09IHNlbGVjdGVkVGFiSW5kZXggPyBzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yIDogJydcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2V0YWIoaW5kZXgpXCI+XHJcbiAgICAgICAgICAgICAgPCEtLSB7eyB0YWIuaW5wdXRUZXh0WzBdLnZhbHVlIH19IC0tPlxyXG4gICAgICAgICAgICAgIDxzaW1wby10ZXh0LWVkaXRvciBbKHZhbHVlKV09XCJ0YWIuaW5wdXRUZXh0WzBdLnZhbHVlXCIgW2VkaXRhYmxlXT1cImVkaXQgfHwgZmFsc2VcIj48L3NpbXBvLXRleHQtZWRpdG9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQgZC1mbGV4IGctMTUgbXQtNCB3LTEwMFwiICpuZ0lmPVwiY3VycmVudERhdGE/LmltYWdlPy51cmxcIiBbaWRdPVwiZGF0YT8uaWRcIlxyXG4gICAgICAgIFtzaW1wb1Bvc2l0aW9uTGF5b3V0RGlyZWN0aXZlXT1cInN0eWxlcz8ucG9zaXRpb25MYXlvdXRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VcIj5cclxuICAgICAgICAgIDxpbWcgbG9hZGluZz1cImxhenlcIiBbc3JjXT1cImN1cnJlbnREYXRhPy5pbWFnZT8udXJsXCIgYWx0PVwiXCIgW2lkXT1cImRhdGE/LmlkXCJcclxuICAgICAgICAgICAgW3NpbXBvSW1hZ2VEaXJlY3RpdmVdPVwic3R5bGVzPy5pbWFnZVwiIFtzaW1wb09iamVjdFBvc2l0aW9uXT1cImN1cnJlbnREYXRhPy5pbWFnZT8ucG9zaXRpb25cIlxyXG4gICAgICAgICAgICBbc2ltcG9Db3JuZXJdPVwic3R5bGVzPy5jb3JuZXJzXCIgY2xhc3M9XCJkLWJsb2NrIG14LWxnLWF1dG8gaW1nLWZsdWlkIGgtMTAwIFwiXHJcbiAgICAgICAgICAgIFtjbGFzc109XCJkYXRhPy5pZCsoY3VycmVudERhdGE/LmltYWdlPy5pZCB8fCAnJylcIiBsb2FkaW5nPVwibGF6eVwiIFthcHBJbWFnZUVkaXRvcl09XCJlZGl0IHx8IGZhbHNlXCJcclxuICAgICAgICAgICAgW2ltYWdlRGF0YV09XCJjdXJyZW50RGF0YT8uaW1hZ2VcIiBbc2VjdGlvbklkXT1cImRhdGE/LmlkXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtaGVhZGluZ1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmctbGFyZ2UgY29udGVudC1zaWRlXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXJyZW50RGF0YT8uaW5wdXRUZXh0Py5bMV0gYXMgdGV4dEl0ZW1cIj5cclxuICAgICAgICAgICAgICA8c2ltcG8tdGV4dC1lZGl0b3IgWyh2YWx1ZSldPVwidGV4dEl0ZW0udmFsdWVcIiBbZWRpdGFibGVdPVwiZWRpdCB8fCBmYWxzZVwiPjwvc2ltcG8tdGV4dC1lZGl0b3I+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1kZXNjcmlwdGlvbiBib2R5LWxhcmdlIG10LTIgY29udGVudC1zaWRlXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXJyZW50RGF0YT8uaW5wdXRUZXh0Py5bMl0gYXMgdGV4dGl0ZW1cIj5cclxuICAgICAgICAgICAgICA8c2ltcG8tdGV4dC1lZGl0b3IgWyh2YWx1ZSldPVwidGV4dGl0ZW0udmFsdWVcIiBbZWRpdGFibGVdPVwiZWRpdCB8fCBmYWxzZVwiPjwvc2ltcG8tdGV4dC1lZGl0b3I+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGVudCBqdXN0aWZ5LWNlbnRlciBkLWZsZXggZy0xNSBtdC01XCIgKm5nSWY9XCIhY3VycmVudERhdGE/LmltYWdlPy51cmxcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1oZWFkaW5nIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZy1sYXJnZSBjb250ZW50LXNpZGVcIiBbaW5uZXJIdG1sXT1cImN1cnJlbnREYXRhPy5pbnB1dFRleHQ/LlsxXT8udmFsdWVcIiBbaWRdPVwiZGF0YT8uaWRcIj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtZGVzY3JpcHRpb24gYm9keS1sYXJnZSBtdC0xIHRleHQtY2VudGVyXCIgW2lubmVySHRtbF09XCJjdXJyZW50RGF0YT8uaW5wdXRUZXh0Py5bMl0/LnZhbHVlXCI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0eWxlcz8uZGV2aWRlcj8uZGlzcGxheVwiPlxyXG4gICAgPHNpbXBvLXN2Zy1kaXZpZGVyIFtkaXZpZGVyVHlwZV09XCJzdHlsZXM/LmRldmlkZXI/LmRldmlkZXJUeXBlXCJcclxuICAgICAgW2NvbG9yXT1cIm5leHRDb21wb25lbnRDb2xvcj8uY29sb3JcIj48L3NpbXBvLXN2Zy1kaXZpZGVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxkaXYgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBlZGl0fVwiICpuZ0lmPVwic2hvd0VkaXRvcnNcIj5cclxuICAgIDxzaW1wby1ob3Zlci1lbGVtZW50cyBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCIgW2VkaXRPcHRpb25zXT1cImVkaXRcIj48L3NpbXBvLWhvdmVyLWVsZW1lbnRzPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJzaG93RGVsZXRlXCIgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBkZWxldGV9XCI+XHJcbiAgICA8c2ltcG8tZGVsZXRlLWhvdmVyLWVsZW1lbnQgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiPjwvc2ltcG8tZGVsZXRlLWhvdmVyLWVsZW1lbnQ+XHJcbiAgPC9kaXY+XHJcblxyXG48L3NlY3Rpb24+Il19
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZXMtc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL2ZlYXR1cmVzLXNlY3Rpb24vZmVhdHVyZXMtc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL2ZlYXR1cmVzLXNlY3Rpb24vZmVhdHVyZXMtc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxXQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFHekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDN0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FB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cm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IEJhc2VTZWN0aW9uIGZyb20gJy4uL0Jhc2VTZWN0aW9uJztcclxuaW1wb3J0IHsgRXZlbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmVhdHVyZUNvbnRlbnRNb2RlbCwgRmVhdHVyZVN0eWxlc01vZGVsLCBGZWF0dXJlU2VjdGlvbk1vZGVsLCBGZWF0dXJlSXRlbU1vZGVsIH0gZnJvbSAnLi9mZWF0dXJlcy1zZWN0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgQmFja2dyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9iYWNrZ3JvdW5kLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEhvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2hvdmVyLWVsZW1lbnQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSG92ZXJFbGVtZW50c0NvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2hvdmVyLWVsZW1lbnRzL2hvdmVyLWVsZW1lbnRzLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBEZWxldGVIb3ZlckVsZW1lbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9kZWxldGUtaG92ZXItZWxlbWVudC9kZWxldGUtaG92ZXItZWxlbWVudC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgT3ZlcmxheURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9vdmVybGF5LWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEJvcmRlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9ib3JkZXItZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQW5pbWF0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2FuaW1hdGlvbi1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb250ZW50Rml0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2NvbnRlbnQtZml0LWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IHNpbXBvQ29uZXRlbkFsaWdubWVudERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9jb250ZW50LWFsaWdubWVudC1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBJbWFnZURpcmVjdGl2ZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9pbWFnZS1kaXJlY3RpdmUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgT2JqZWN0UG9zaXRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvaW1hZ2UtcG9zaXRpb24uZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29ybmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2Nvcm5lci1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTYW5pdGl6ZUh0bWxQaXBlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2FuaXRpemVIdG1sJztcclxuaW1wb3J0IHsgQmFja2dyb3VuZE1vZGVsLCBMYXlPdXRNb2RlbCB9IGZyb20gJy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbCc7XHJcbmltcG9ydCB7IFN2Z0RpdmlkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9lbGVtZW50cy9zdmctZGl2aWRlci9zdmctZGl2aWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZXh0RWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZWxlbWVudHMvdGV4dC1lZGl0b3IvdGV4dC1lZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW1hZ2VFZGl0b3JEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvaW1hZ2UtZWRpdG9yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNwYWNpbmdIb3Jpem9udGFsRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL3NwYWNpbmctaG9yaXpvbnRhbC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBQb3NpdGlvbkxheW91dERpcmVjdGl2ZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9wb3NpdGlvbi1sYXlvdXQtZGlyZWN0aXZlLmRpcmVjdGl2ZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLWZlYXR1cmVzLXNlY3Rpb24nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQmFja2dyb3VuZERpcmVjdGl2ZSxcclxuICAgIEhvdmVyRGlyZWN0aXZlLFxyXG4gICAgSG92ZXJFbGVtZW50c0NvbXBvbmVudCxcclxuICAgIERlbGV0ZUhvdmVyRWxlbWVudENvbXBvbmVudCxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE92ZXJsYXlEaXJlY3RpdmUsXHJcbiAgICBCb3JkZXJEaXJlY3RpdmUsXHJcbiAgICBBbmltYXRpb25EaXJlY3RpdmUsXHJcbiAgICBDb250ZW50Rml0RGlyZWN0aXZlLFxyXG4gICAgc2ltcG9Db25ldGVuQWxpZ25tZW50RGlyZWN0aXZlLFxyXG4gICAgSW1hZ2VEaXJlY3RpdmVEaXJlY3RpdmUsXHJcbiAgICBPYmplY3RQb3NpdGlvbkRpcmVjdGl2ZSxcclxuICAgIENvcm5lckRpcmVjdGl2ZSxcclxuICAgIFNhbml0aXplSHRtbFBpcGUsIFN2Z0RpdmlkZXJDb21wb25lbnQsXHJcbiAgICBUZXh0RWRpdG9yQ29tcG9uZW50LFxyXG4gICAgSW1hZ2VFZGl0b3JEaXJlY3RpdmUsXHJcbiAgICBTcGFjaW5nSG9yaXpvbnRhbERpcmVjdGl2ZSxcclxuICAgIFBvc2l0aW9uTGF5b3V0RGlyZWN0aXZlRGlyZWN0aXZlXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmVhdHVyZXMtc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2ZlYXR1cmVzLXNlY3Rpb24uY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEZlYXR1cmVzU2VjdGlvbkNvbXBvbmVudCBleHRlbmRzIEJhc2VTZWN0aW9uIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBkYXRhPzogRmVhdHVyZVNlY3Rpb25Nb2RlbDtcclxuICBASW5wdXQoKSBlZGl0PzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjdXN0b21DbGFzcz86IHN0cmluZztcclxuICBjb250ZW50PzogRmVhdHVyZUNvbnRlbnRNb2RlbDtcclxuICBzdHlsZXM/OiBGZWF0dXJlU3R5bGVzTW9kZWw7XHJcbiAgQElucHV0KCkgZGVsZXRlPzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBpbmRleD86IG51bWJlcjtcclxuICBASW5wdXQoKSBuZXh0Q29tcG9uZW50Q29sb3I/OiBCYWNrZ3JvdW5kTW9kZWw7XHJcblxyXG5cclxuICBsaXN0SXRlbXM6IGFueTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2V2ZW50U2VydmljZTogRXZlbnRzU2VydmljZSxcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLmdldFNjcmVlblNpemUoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5jb250ZW50ID0gdGhpcy5kYXRhPy5jb250ZW50O1xyXG4gICAgdGhpcy5saXN0SXRlbXMgPSB0aGlzLmRhdGE/LmNvbnRlbnQubGlzdEl0ZW0uZGF0YVxyXG4gICAgdGhpcy5zdHlsZXMgPSB0aGlzLmRhdGE/LnN0eWxlcztcclxuICAgIHRoaXMuZGVsZXRlU2VsZWN0ZWQgPSB0aGlzLmRlbGV0ZVxyXG4gICAgdGhpcy5jaGFuZ2V0YWIoMCk7XHJcbiAgfVxyXG5cclxuICBzY3JlZW5XaWR0aDogbnVtYmVyID0gMDtcclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBnZXRTY3JlZW5TaXplKGV2ZW50PzogYW55KSB7XHJcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgdGhpcy5zY3JlZW5XaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXQgc3R5bGVzTGF5b3V0KCkge1xyXG4gICAgcmV0dXJuIHsgLi4udGhpcy5zdHlsZXM/LmxheW91dCB9IGFzIExheU91dE1vZGVsO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWRUYWJJbmRleCA9IDA7XHJcbiAgY3VycmVudERhdGE/OiBGZWF0dXJlSXRlbU1vZGVsO1xyXG4gIGNoYW5nZXRhYihpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkVGFiSW5kZXggPSBpbmRleDtcclxuICAgIHRoaXMuY3VycmVudERhdGEgPSB0aGlzLmRhdGE/LmNvbnRlbnQubGlzdEl0ZW0uZGF0YVt0aGlzLnNlbGVjdGVkVGFiSW5kZXhdO1xyXG4gIH1cclxuICBlZGl0U2VjdGlvbigpIHtcclxuICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8PSA0NzUpXHJcbiAgICAgIHJldHVyblxyXG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLnRvZ2dsZUVkaXRvckV2ZW50LmVtaXQoZmFsc2UpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2V2ZW50U2VydmljZS5lZGl0U2VjdGlvbi5lbWl0KHsgZGF0YTogdGhpcy5kYXRhIH0pO1xyXG4gICAgfSwgMTAwKTtcclxuICB9XHJcblxyXG4gIGdldEp1c3RpZnkoKSB7XHJcbiAgICBpZiAodGhpcy5zdHlsZXM/LmxheW91dD8uYWxpZ24gPT0gJ2NlbnRlcicpIHtcclxuICAgICAgcmV0dXJuICdjZW50ZXInO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5zdHlsZXM/LmxheW91dD8uYWxpZ24gPT0gJ2xlZnQnKSB7XHJcbiAgICAgIHJldHVybiAnZmxleC1zdGFydCc7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLnN0eWxlcz8ubGF5b3V0Py5hbGlnbiA9PSAncmlnaHQnKSB7XHJcbiAgICAgIHJldHVybiAnZmxleC1lbmQnO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiAnY2VudGVyJztcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiIsIjxzZWN0aW9uIFtpZF09XCJkYXRhPy5pZFwiIFtzaW1wb0JhY2tncm91bmRdPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCIgc2ltcG9Ib3ZlciAoaG92ZXJpbmcpPVwic2hvd0VkaXRUYWJzKCRldmVudClcIlxyXG4gIGNsYXNzPVwidG90YWwtY29udGFpbmVyXCIgW3NpbXBvQm9yZGVyXT1cInN0eWxlcz8uYm9yZGVyXCIgW2F0dHIuc3R5bGVdPVwiY3VzdG9tQ2xhc3NcIj5cclxuICA8ZGl2ICNtYWluQ29udGFpbmVyIFtpZF09XCJkYXRhPy5pZFwiIFtzaW1wb092ZXJsYXldPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCIgW3NwYWNpbmdIb3Jpem9udGFsXT1cInN0eWxlc0xheW91dFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZCBkLWZsZXggZmxleC1jb2x1bW5cIiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9MYXlvdXRdPVwic3R5bGVzPy5sYXlvdXRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdyB3LTEwMCBwLTBcIiAqbmdJZj1cInNjcmVlbldpZHRoID4gNDc1XCIgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvQW5pbWF0aW9uXT1cInN0eWxlcz8uYW5pbWF0aW9uXCI+XHJcbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgdGV4dCBvZiBkYXRhPy5jb250ZW50Py5pbnB1dFRleHRcIiBjbGFzcz1cIm1iLTIgcC0wXCI+XHJcbiAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJoZWFkaW5nLW1lZGl1bSBtYi0xIGNvbnRlbnQtc2lkZVwiIFtpbm5lckhUTUxdPVwidGV4dC52YWx1ZSB8IHNhbml0aXplSHRtbFwiPjwvZGl2PiAtLT5cclxuICAgICAgICAgIDxzaW1wby10ZXh0LWVkaXRvciBbKHZhbHVlKV09XCJ0ZXh0LnZhbHVlXCIgW2VkaXRhYmxlXT1cImVkaXQgfHwgZmFsc2VcIj48L3NpbXBvLXRleHQtZWRpdG9yPlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm94IGQtZmxleCBnLTI1IG10LTIgdy0xMDAgcC0wXCIgW3N0eWxlLi0tYWNjZW50Q29sb3JdPVwic3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiXHJcbiAgICAgICAgICBbc3R5bGUuanVzdGlmeUNvbnRlbnRdPVwiZ2V0SnVzdGlmeSgpXCI+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB0YWIgb2YgY29udGVudD8ubGlzdEl0ZW0/LmRhdGE7IGxldCBpbmRleCA9IGluZGV4XCIgW2NsYXNzLmN1cnNvci1wb2ludGVyXT1cIiFlZGl0XCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3RhYic6IHN0eWxlcz8udGFiU3R5bGluZyA9PSAnVU5ERVJMSU5FJyAsICd0YWIxJyA6IHN0eWxlcz8udGFiU3R5bGluZyA9PSAnQk9YRUQnICwgJ3RhYjInIDogc3R5bGVzPy50YWJTdHlsaW5nID09ICdOT05FJyB9XCJcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2FjdGl2ZSc6IGluZGV4ID09PSBzZWxlY3RlZFRhYkluZGV4ICYmIHN0eWxlcz8udGFiU3R5bGluZyA9PSAnVU5ERVJMSU5FJyAsICdhY3RpdmUxJyA6IGluZGV4ID09PSBzZWxlY3RlZFRhYkluZGV4ICYmIHN0eWxlcz8udGFiU3R5bGluZyA9PSAnQk9YRUQnICwgJ2FjdGl2ZTInIDogaW5kZXggPT09IHNlbGVjdGVkVGFiSW5kZXggJiYgc3R5bGVzPy50YWJTdHlsaW5nID09ICdOT05FJyB9XCJcclxuICAgICAgICAgICAgICBbc3R5bGUuYm9yZGVyQ29sb3JdPVwiaW5kZXggPT09IHNlbGVjdGVkVGFiSW5kZXggPyBzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yIDogJydcIlxyXG4gICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJpbmRleCA9PT0gc2VsZWN0ZWRUYWJJbmRleCA/IHN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3IgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNoYW5nZXRhYihpbmRleClcIiBjbGFzcz1cInAtMlwiPlxyXG4gICAgICAgICAgICAgIDwhLS0ge3sgdGFiLmlucHV0VGV4dFswXS52YWx1ZSB9fSAtLT5cclxuICAgICAgICAgICAgICA8c2ltcG8tdGV4dC1lZGl0b3IgWyh2YWx1ZSldPVwidGFiLmlucHV0VGV4dFswXS52YWx1ZVwiIFtlZGl0YWJsZV09XCJlZGl0IHx8IGZhbHNlXCI+PC9zaW1wby10ZXh0LWVkaXRvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3ctY29udGFpbmVyXCIgKm5nSWY9XCJzY3JlZW5XaWR0aCA8PSA0NzVcIiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9BbmltYXRpb25dPVwic3R5bGVzPy5hbmltYXRpb25cIj5cclxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB0ZXh0IG9mIGRhdGE/LmNvbnRlbnQ/LmlucHV0VGV4dFwiPlxyXG4gICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiaGVhZGluZy1tZWRpdW0gbWItMSBjb250ZW50LXNpZGVcIiBbaW5uZXJIVE1MXT1cInRleHQudmFsdWUgfCBzYW5pdGl6ZUh0bWxcIj48L2Rpdj4gLS0+XHJcbiAgICAgICAgICA8c2ltcG8tdGV4dC1lZGl0b3IgWyh2YWx1ZSldPVwidGV4dC52YWx1ZVwiIFtlZGl0YWJsZV09XCJlZGl0IHx8IGZhbHNlXCI+PC9zaW1wby10ZXh0LWVkaXRvcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiIGJveCBkLWZsZXggZy0yNSBtdC01XCI+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB0YWIgb2YgY29udGVudD8ubGlzdEl0ZW0/LmRhdGE7IGxldCBpbmRleCA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJcIiBbbmdDbGFzc109XCJ7J2FjdGl2ZSc6IGluZGV4ID09PSBzZWxlY3RlZFRhYkluZGV4fVwiXHJcbiAgICAgICAgICAgICAgW3N0eWxlLmJvcmRlckNvbG9yXT1cImluZGV4ID09PSBzZWxlY3RlZFRhYkluZGV4ID8gc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvciA6ICcnXCJcclxuICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiaW5kZXggPT09IHNlbGVjdGVkVGFiSW5kZXggPyBzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yIDogJydcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2V0YWIoaW5kZXgpXCI+XHJcbiAgICAgICAgICAgICAgPCEtLSB7eyB0YWIuaW5wdXRUZXh0WzBdLnZhbHVlIH19IC0tPlxyXG4gICAgICAgICAgICAgIDxzaW1wby10ZXh0LWVkaXRvciBbKHZhbHVlKV09XCJ0YWIuaW5wdXRUZXh0WzBdLnZhbHVlXCIgW2VkaXRhYmxlXT1cImVkaXQgfHwgZmFsc2VcIj48L3NpbXBvLXRleHQtZWRpdG9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQgZC1mbGV4IGctMTUgbXQtNCB3LTEwMFwiICpuZ0lmPVwiY3VycmVudERhdGE/LmltYWdlPy51cmxcIiBbaWRdPVwiZGF0YT8uaWRcIlxyXG4gICAgICAgIFtzaW1wb1Bvc2l0aW9uTGF5b3V0RGlyZWN0aXZlXT1cInN0eWxlcz8ucG9zaXRpb25MYXlvdXRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VcIj5cclxuICAgICAgICAgIDxpbWcgbG9hZGluZz1cImxhenlcIiBbc3JjXT1cImN1cnJlbnREYXRhPy5pbWFnZT8udXJsXCIgYWx0PVwiXCIgW2lkXT1cImRhdGE/LmlkXCJcclxuICAgICAgICAgICAgW3NpbXBvSW1hZ2VEaXJlY3RpdmVdPVwic3R5bGVzPy5pbWFnZVwiIFtzaW1wb09iamVjdFBvc2l0aW9uXT1cImN1cnJlbnREYXRhPy5pbWFnZT8ucG9zaXRpb25cIlxyXG4gICAgICAgICAgICBbc2ltcG9Db3JuZXJdPVwic3R5bGVzPy5jb3JuZXJzXCIgY2xhc3M9XCJkLWJsb2NrIG14LWxnLWF1dG8gaW1nLWZsdWlkIGgtMTAwIFwiXHJcbiAgICAgICAgICAgIFtjbGFzc109XCJkYXRhPy5pZCsoY3VycmVudERhdGE/LmltYWdlPy5pZCB8fCAnJylcIiBsb2FkaW5nPVwibGF6eVwiIFthcHBJbWFnZUVkaXRvcl09XCJlZGl0IHx8IGZhbHNlXCJcclxuICAgICAgICAgICAgW2ltYWdlRGF0YV09XCJjdXJyZW50RGF0YT8uaW1hZ2VcIiBbc2VjdGlvbklkXT1cImRhdGE/LmlkXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtaGVhZGluZ1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmctbGFyZ2UgY29udGVudC1zaWRlXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXJyZW50RGF0YT8uaW5wdXRUZXh0Py5bMV0gYXMgdGV4dEl0ZW1cIj5cclxuICAgICAgICAgICAgICA8c2ltcG8tdGV4dC1lZGl0b3IgWyh2YWx1ZSldPVwidGV4dEl0ZW0udmFsdWVcIiBbZWRpdGFibGVdPVwiZWRpdCB8fCBmYWxzZVwiPjwvc2ltcG8tdGV4dC1lZGl0b3I+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1kZXNjcmlwdGlvbiBib2R5LWxhcmdlIG10LTIgY29udGVudC1zaWRlXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXJyZW50RGF0YT8uaW5wdXRUZXh0Py5bMl0gYXMgdGV4dGl0ZW1cIj5cclxuICAgICAgICAgICAgICA8c2ltcG8tdGV4dC1lZGl0b3IgWyh2YWx1ZSldPVwidGV4dGl0ZW0udmFsdWVcIiBbZWRpdGFibGVdPVwiZWRpdCB8fCBmYWxzZVwiPjwvc2ltcG8tdGV4dC1lZGl0b3I+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGVudCBqdXN0aWZ5LWNlbnRlciBkLWZsZXggZy0xNSBtdC01XCIgKm5nSWY9XCIhY3VycmVudERhdGE/LmltYWdlPy51cmxcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1oZWFkaW5nIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZy1sYXJnZSBjb250ZW50LXNpZGVcIiBbaW5uZXJIdG1sXT1cImN1cnJlbnREYXRhPy5pbnB1dFRleHQ/LlsxXT8udmFsdWVcIiBbaWRdPVwiZGF0YT8uaWRcIj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtZGVzY3JpcHRpb24gYm9keS1sYXJnZSBtdC0xIHRleHQtY2VudGVyXCIgW2lubmVySHRtbF09XCJjdXJyZW50RGF0YT8uaW5wdXRUZXh0Py5bMl0/LnZhbHVlXCI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0eWxlcz8uZGV2aWRlcj8uZGlzcGxheVwiPlxyXG4gICAgPHNpbXBvLXN2Zy1kaXZpZGVyIFtkaXZpZGVyVHlwZV09XCJzdHlsZXM/LmRldmlkZXI/LmRldmlkZXJUeXBlXCJcclxuICAgICAgW2NvbG9yXT1cIm5leHRDb21wb25lbnRDb2xvcj8uY29sb3JcIj48L3NpbXBvLXN2Zy1kaXZpZGVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxkaXYgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBlZGl0fVwiICpuZ0lmPVwic2hvd0VkaXRvcnNcIj5cclxuICAgIDxzaW1wby1ob3Zlci1lbGVtZW50cyBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCIgW2VkaXRPcHRpb25zXT1cImVkaXRcIj48L3NpbXBvLWhvdmVyLWVsZW1lbnRzPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJzaG93RGVsZXRlXCIgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBkZWxldGV9XCI+XHJcbiAgICA8c2ltcG8tZGVsZXRlLWhvdmVyLWVsZW1lbnQgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiPjwvc2ltcG8tZGVsZXRlLWhvdmVyLWVsZW1lbnQ+XHJcbiAgPC9kaXY+XHJcblxyXG48L3NlY3Rpb24+Il19