@posiwise/resource-module 0.0.146 → 0.0.148
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/public/components/base/base-resource.component.mjs +12 -2
- package/esm2022/lib/public/components/base/base-top-banner.component.mjs +12 -2
- package/esm2022/lib/public/components/reslease-note-card/release-note-card.component.mjs +29 -24
- package/esm2022/lib/public/components/resource-blogs/resource-blog-top-banner/resource-blog-top-banner.component.mjs +3 -3
- package/esm2022/lib/public/components/resource-blogs/resource-blog.component.mjs +3 -3
- package/esm2022/lib/public/components/resource-case-studies/case-studies-cards/case-studies-cards.component.mjs +29 -24
- package/esm2022/lib/public/components/resource-case-studies/resource-case-studies.component.mjs +3 -3
- package/esm2022/lib/public/components/resource-company-card/resource-company-card.component.mjs +29 -32
- package/esm2022/lib/public/components/resource-edit-card/resource-edit-card.component.mjs +3 -3
- package/esm2022/lib/public/components/resource-integration/integration-top-banner/integration-top-banner.component.mjs +3 -3
- package/esm2022/lib/public/components/resource-integration/resource-integration.component.mjs +14 -4
- package/esm2022/lib/public/components/resource-post/related-resources/related-resources.component.mjs +3 -3
- package/esm2022/lib/public/components/resource-post/related-resources/resource-cards/resource-cards.component.mjs +29 -24
- package/esm2022/lib/public/components/resource-post/resource-post.component.mjs +23 -12
- package/esm2022/lib/public/components/resource-release-notes/resource-release-notes-top-banner/resource-release-notes-top-banner.component.mjs +3 -3
- package/esm2022/lib/public/components/resource-release-notes/resource-release-notes.component.mjs +3 -3
- package/esm2022/lib/public/components/resource-top-banner-edit/resource-top-banner-edit.component.mjs +18 -21
- package/esm2022/lib/public/components/resource-vault/resource-vault.component.mjs +3 -3
- package/esm2022/lib/public/components/resource-videos/resource-video-cards/resource-video-cards.component.mjs +29 -24
- package/esm2022/lib/public/components/resource-videos/resource-videos-top-banner/resource-videos-top-banner.component.mjs +3 -3
- package/esm2022/lib/public/components/resource-videos/resource-videos.component.mjs +3 -3
- package/esm2022/lib/public/components/resource-webinars/replay-event-cards/replay-event-cards.component.mjs +32 -24
- package/esm2022/lib/public/components/resource-webinars/resource-webinars.component.mjs +14 -4
- package/esm2022/lib/public/components/resource-webinars/upcoming-event-cards/upcoming-event-cards.component.mjs +32 -24
- package/esm2022/lib/public/components/resources/resource-tags/resource-tags.component.mjs +24 -27
- package/esm2022/lib/public/components/resources/resources.component.mjs +34 -19
- package/esm2022/lib/public/components/resources/vault-section/vault-section.component.mjs +36 -31
- package/esm2022/lib/public/components/resources-hub/resources-hub.component.mjs +14 -4
- package/esm2022/lib/public/components/white-papers/white-papers-top-banner/white-papers-top-banner.component.mjs +3 -3
- package/esm2022/lib/public/components/white-papers/white-papers.component.mjs +3 -3
- package/fesm2022/posiwise-resource-module.mjs +409 -301
- package/fesm2022/posiwise-resource-module.mjs.map +1 -1
- package/lib/public/components/base/base-resource.component.d.ts +2 -0
- package/lib/public/components/base/base-top-banner.component.d.ts +2 -0
- package/lib/public/components/reslease-note-card/release-note-card.component.d.ts +9 -7
- package/lib/public/components/resource-case-studies/case-studies-cards/case-studies-cards.component.d.ts +9 -7
- package/lib/public/components/resource-company-card/resource-company-card.component.d.ts +6 -6
- package/lib/public/components/resource-integration/resource-integration.component.d.ts +2 -0
- package/lib/public/components/resource-post/related-resources/resource-cards/resource-cards.component.d.ts +9 -7
- package/lib/public/components/resource-post/resource-post.component.d.ts +9 -5
- package/lib/public/components/resource-top-banner-edit/resource-top-banner-edit.component.d.ts +5 -6
- package/lib/public/components/resource-videos/resource-video-cards/resource-video-cards.component.d.ts +10 -8
- package/lib/public/components/resource-webinars/replay-event-cards/replay-event-cards.component.d.ts +9 -7
- package/lib/public/components/resource-webinars/resource-webinars.component.d.ts +2 -0
- package/lib/public/components/resource-webinars/upcoming-event-cards/upcoming-event-cards.component.d.ts +10 -8
- package/lib/public/components/resources/resource-tags/resource-tags.component.d.ts +10 -8
- package/lib/public/components/resources/resources.component.d.ts +10 -2
- package/lib/public/components/resources/vault-section/vault-section.component.d.ts +9 -8
- package/lib/public/components/resources-hub/resources-hub.component.d.ts +2 -0
- package/package.json +1 -1
|
@@ -214,11 +214,11 @@ export class ResourceEditCardComponent extends AppBaseComponent {
|
|
|
214
214
|
HelperService.handleImageFallbackPath(event, fallbackPath);
|
|
215
215
|
}
|
|
216
216
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceEditCardComponent, deps: [{ token: i1.FormBuilder }, { token: i2.NgbModal }, { token: i3.ResourceService }, { token: i4.AuthService }, { token: i4.TagService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
217
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceEditCardComponent, selector: "pw-resource-edit-card", inputs: { id: "id", resourceData: "resourceData" }, outputs: { updated: "updated" }, usesInheritance: true, ngImport: i0, template: "<div class=\"edit-card\">\n <i class=\"fa fa-edit cursor-pointer text-dark in-page-edit-icon d-flex justify-content-center mb-2\"\n (click)=\"openModal(editResourceModal)\"\n (keydown.enter)=\"openModal(editResourceModal)\"\n (keydown.space)=\"openModal(editResourceModal)\"\n title=\"Edit Resource\"></i>\n</div>\n\n<ng-template #editResourceModal let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Edit Resource</h5>\n <i class=\"fa fa-edit cursor-pointer text-dark in-page-edit-icon d-flex justify-content-center ms-3\"\n (click)=\"navigateToResourceEdit()\"\n (keydown.enter)=\"navigateToResourceEdit()\"\n (keydown.space)=\"navigateToResourceEdit()\"\n title=\"Go to the main edit page\"></i>\n <button type=\"button\" class=\"btn-close\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n\n <div class=\"modal-body\">\n <form [formGroup]=\"editForm\">\n <div class=\"row\">\n\n\n <div class=\"col-12\">\n <pw-input-container label=\"Title\" name=\"title\">\n <input type=\"text\" class=\"form-control\" formControlName=\"title\" />\n </pw-input-container>\n </div>\n\n <div class=\"col-12 row\">\n <pw-input-container label=\"CTA Text\" name=\"cta_text\" class=\"col-md-6\">\n <input type=\"text\" class=\"form-control\" formControlName=\"cta_text\" />\n </pw-input-container>\n\n <pw-input-container label=\"External URL\" name=\"external_url\" class=\"col-md-6\">\n <input type=\"text\" class=\"form-control\" formControlName=\"external_url\" />\n </pw-input-container>\n </div>\n\n <div class=\"col-12\">\n <pw-input-container\n [label]=\"'Resource.Posts.Body' | transloco\"\n name=\"body\"\n [errorMsg]=\"'Resource.Posts.Validation.Body' | transloco\">\n <quill-editor\n [styles]=\"{ height: '300px' }\"\n class=\"quillEditor\"\n [modules]=\"editorConfig\"\n formControlName=\"body\"\n [ngClass]=\"{\n 'w-100': true,\n 'quill-container': true,\n 'is-invalid': submitted && f['body'].errors\n }\">\n </quill-editor>\n </pw-input-container>\n </div>\n\n <div class=\"col-12 col-md-3 col-sm-6\">\n <pw-input-container\n [label]=\"'Resource.Posts.When' | transloco\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Resource.Posts.Tooltip.When' | transloco\"\n name=\"when\">\n <p-calendar formControlName=\"when\"\n [showIcon]=\"true\"\n dateFormat=\"dd-M-yy\"\n [placeholder]=\"'Select Date'\"\n [ngClass]=\"{ 'is-invalid': submitted && f['when'].errors }\">\n </p-calendar>\n </pw-input-container>\n </div>\n\n <div class=\"col-12 col-md-8\">\n <pw-input-container\n [label]=\"'Resource.Posts.Tags' | transloco\"\n class=\"ui-fluid skills-modal tags\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Resource.Posts.Tooltip.CtaText' | transloco\"\n name=\"cta_text\">\n <p-autoComplete [(ngModel)]=\"selectedTags\"\n class=\"body-bg\"\n [suggestions]=\"tagsSuggestion\"\n dataKey=\"id\"\n field=\"name\"\n (completeMethod)=\"search($event)\"\n styleClass=\"w-100\"\n [minLength]=\"1\"\n [maxlength]=\"10\"\n [dropdown]=\"true\"\n [ngModelOptions]=\"{ standalone: true }\"\n placeholder=\"Tags\"\n [multiple]=\"true\">\n </p-autoComplete>\n </pw-input-container>\n </div>\n\n <div class=\"col-12 row\">\n <div class=\"col-md-4 col-sm-6\">\n <pw-input-container\n [label]=\"'SHOWCASE'\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Mark as showcase post'\"\n name=\"showcase\">\n <ui-switch formControlName=\"showcase\" class=\"d-block\"></ui-switch>\n </pw-input-container>\n </div>\n\n <div class=\"col-md-4 col-sm-6\">\n <pw-input-container\n [label]=\"'PUBLISHED'\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Set to publish the post'\"\n name=\"published_at\">\n <ui-switch formControlName=\"published_at\" class=\"d-block\"></ui-switch>\n </pw-input-container>\n </div>\n\n <div class=\"col-md-4 col-sm-6\">\n <pw-input-container\n [label]=\"'ACCEPTED BY ADMIN'\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Indicates approval by admin'\"\n name=\"accepted_at\">\n <ui-switch formControlName=\"accepted_at\" class=\"d-block\"></ui-switch>\n </pw-input-container>\n </div>\n </div>\n\n <div class=\"col-12 col-md-4 col-sm-4 my-4 ms-3\">\n <div class=\"text-center mb-4\">\n <label for=\"coverPicture\">{{ 'Resource.Posts.CoverPicture' | transloco }}</label>\n <div class=\"text-center d-flex flex-column align-items-center\">\n <img [src]=\"(image && !image.includes('default-photo.jpg')) ? image : 'assets/img/resource/blog.png'\"\n (click)=\"openImageModal(imageCropContent)\"\n (keydown.enter)=\"openImageModal(imageCropContent)\"\n class=\"image w-100\"\n alt=\"Modal\"\n (error)=\"handleImageError($event, 'assets/img/resource/blog.png')\" />\n <div class=\"d-flex justify-content-between align-items-center mt-2\">\n <a class=\"d-inline-block\" (click)=\"openImageModal(imageCropContent)\">\n {{ slug !== 'create' ? 'Edit' : 'Add' }} Picture\n </a>\n <i *ngIf=\"image && !image.includes('default-photo.jpg')\"\n class=\"fa fa-trash delete-icon text-danger ms-2 cursor-pointer\"\n title=\"Remove Image\"\n (click)=\"removeImage()\"\n (keydown.enter)=\"removeImage()\"></i>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"col-12 col-md-4 col-sm-4 my-4 ms-3\">\n <div class=\"text-center mb-4\">\n <label for=\"rectangularPicture\">Rectangular Picture</label>\n <div class=\"text-center d-flex flex-column align-items-center\">\n <img [src]=\"(rectangularImage && !rectangularImage.includes('default-photo.jpg')) ? rectangularImage : 'assets/img/resource/blog.png'\"\n (click)=\"openRectModal(rectContent)\"\n (keydown.enter)=\"openRectModal(rectContent)\"\n class=\"image w-100\"\n alt=\"Uploaded rectangular media preview\"\n (error)=\"handleImageError($event, 'assets/img/resource/blog.png')\" />\n <div class=\"d-flex justify-content-between align-items-center mt-2\">\n <a class=\"d-inline-block\" (click)=\"openRectModal(rectContent)\">\n {{ slug !== 'create' ? 'Edit' : 'Add' }} Picture\n </a>\n <i *ngIf=\"rectangularImage && !rectangularImage.includes('default-photo.jpg')\"\n class=\"fa fa-trash delete-icon text-danger ms-2 cursor-pointer\"\n title=\"Remove Image\"\n (click)=\"deleteRectangularImage()\"\n (keydown.enter)=\"deleteRectangularImage()\"></i>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </form>\n </div>\n\n <div class=\"modal-footer\">\n <button class=\"btn btn-secondary\" (click)=\"modal.dismiss()\">Cancel</button>\n <button class=\"btn btn-primary\" [buttonBusy]=\"buttonBusy\" (click)=\"saveResource()\">Save</button>\n </div>\n</ng-template>\n\n<ng-template #imageCropContent let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Upload Picture</h5>\n <button type=\"button\" class=\"btn-close\" (click)=\"modal.dismiss()\"></button>\n </div>\n <div class=\"modal-body\">\n <small>You can upload a JPG, GIF, or PNG file. (Do not upload pictures containing celebrities,\n nudity, artwork or copyrighted images.)</small>\n <pw-image-cropper\n [aspectRatio]=\"'dynamic'\"\n (imageSelectionEvent)=\"onImageSelected($event)\"\n (closeEvent)=\"modal.close()\">\n </pw-image-cropper>\n </div>\n</ng-template>\n\n<ng-template #rectContent let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Upload Picture</h5>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n <div class=\"modal-body\">\n <small>You can upload a JPG, GIF, or PNG file. (Do not upload pictures containing celebrities,\n nudity, artwork or copyrighted images.)</small>\n <pw-image-cropper\n #profile\n [aspectRatio]=\"'dynamic'\"\n (imageSelectionEvent)=\"onRectangularImageSelection($event)\"\n (closeEvent)=\"onClose()\">\n </pw-image-cropper>\n </div>\n</ng-template>\n", styles: ["::ng-deep .modal-content{margin-top:5rem!important}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.UiSwitchComponent, selector: "ui-switch", inputs: ["size", "color", "switchOffColor", "switchColor", "defaultBgColor", "defaultBoColor", "checkedLabel", "uncheckedLabel", "checkedTextColor", "uncheckedTextColor", "beforeChange", "ariaLabel", "checked", "disabled", "reverse", "loading"], outputs: ["change", "changeEvent", "valueChange"] }, { kind: "component", type: i7.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "component", type: i8.ProfileImageCropperComponent, selector: "pw-image-cropper", inputs: ["aspectRatio", "dynamicData"], outputs: ["imageSelectionEvent", "closeEvent", "fileChangeEvent"] }, { kind: "component", type: i9.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "variant"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "component", type: i8.InputContainerComponent, selector: "pw-input-container", inputs: ["name", "label", "labelClass", "tooltipPosition", "required", "errorMsg", "isReadOnly", "showTooltip", "tooltipText", "showTriangle", "afterLabel", "showAfterLabel", "showTriangleText", "isLeftTooltip"] }, { kind: "component", type: i10.QuillEditorComponent, selector: "quill-editor" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i11.ButtonBusyDirective, selector: "[buttonBusy]", inputs: ["buttonBusy", "busyText"] }, { kind: "directive", type: i11.LazyImgDirective, selector: "img" }, { kind: "pipe", type: i12.TranslocoPipe, name: "transloco" }] }); }
|
|
217
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceEditCardComponent, selector: "pw-resource-edit-card", inputs: { id: "id", resourceData: "resourceData" }, outputs: { updated: "updated" }, usesInheritance: true, ngImport: i0, template: "<div class=\"edit-card\">\n <i class=\"fa fa-edit cursor-pointer text-dark in-page-edit-icon d-flex justify-content-center mb-2\"\n (click)=\"openModal(editResourceModal)\"\n (keydown.enter)=\"openModal(editResourceModal)\"\n (keydown.space)=\"openModal(editResourceModal)\"\n title=\"Edit Resource\"></i>\n</div>\n\n<ng-template #editResourceModal let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Edit Resource</h5>\n <i class=\"fa fa-edit cursor-pointer text-dark in-page-edit-icon d-flex justify-content-center ms-3\"\n (click)=\"navigateToResourceEdit()\"\n (keydown.enter)=\"navigateToResourceEdit()\"\n (keydown.space)=\"navigateToResourceEdit()\"\n title=\"Go to the main edit page\"></i>\n <button type=\"button\" class=\"btn-close\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n\n <div class=\"modal-body\">\n <form [formGroup]=\"editForm\">\n <div class=\"row\">\n\n\n <div class=\"col-12\">\n <pw-input-container label=\"Title\" name=\"title\">\n <input type=\"text\" class=\"form-control\" formControlName=\"title\" />\n </pw-input-container>\n </div>\n\n <div class=\"col-12 row\">\n <pw-input-container label=\"CTA Text\" name=\"cta_text\" class=\"col-md-6\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Resource.Posts.Tooltip.CtaText' | transloco\">\n <input type=\"text\" class=\"form-control\" formControlName=\"cta_text\" />\n </pw-input-container>\n\n <pw-input-container label=\"External URL\" name=\"external_url\" class=\"col-md-6\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Resource.Posts.Tooltip.ExternalUrl' | transloco\">\n <input type=\"text\" class=\"form-control\" formControlName=\"external_url\" />\n </pw-input-container>\n </div>\n\n <div class=\"col-12\">\n <pw-input-container\n [label]=\"'Resource.Posts.Body' | transloco\"\n name=\"body\"\n [errorMsg]=\"'Resource.Posts.Validation.Body' | transloco\">\n <quill-editor\n [styles]=\"{ height: '300px' }\"\n class=\"quillEditor\"\n [modules]=\"editorConfig\"\n formControlName=\"body\"\n [ngClass]=\"{\n 'w-100': true,\n 'quill-container': true,\n 'is-invalid': submitted && f['body'].errors\n }\">\n </quill-editor>\n </pw-input-container>\n </div>\n\n <div class=\"col-12 col-md-3 col-sm-6\">\n <pw-input-container\n [label]=\"'Resource.Posts.When' | transloco\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Resource.Posts.Tooltip.When' | transloco\"\n name=\"when\">\n <p-calendar formControlName=\"when\"\n [showIcon]=\"true\"\n dateFormat=\"dd-M-yy\"\n [placeholder]=\"'Select Date'\"\n [ngClass]=\"{ 'is-invalid': submitted && f['when'].errors }\">\n </p-calendar>\n </pw-input-container>\n </div>\n\n <div class=\"col-12 col-md-8\">\n <pw-input-container\n [label]=\"'Resource.Posts.Tags' | transloco\"\n class=\"ui-fluid skills-modal tags\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Resource.Posts.Tooltip.CtaText' | transloco\"\n name=\"cta_text\">\n <p-autoComplete [(ngModel)]=\"selectedTags\"\n class=\"body-bg\"\n [suggestions]=\"tagsSuggestion\"\n dataKey=\"id\"\n field=\"name\"\n (completeMethod)=\"search($event)\"\n styleClass=\"w-100\"\n [minLength]=\"1\"\n [maxlength]=\"10\"\n [dropdown]=\"true\"\n [ngModelOptions]=\"{ standalone: true }\"\n placeholder=\"Tags\"\n [multiple]=\"true\">\n </p-autoComplete>\n </pw-input-container>\n </div>\n\n <div class=\"col-12 row\">\n <div class=\"col-md-4 col-sm-6\">\n <pw-input-container\n [label]=\"'SHOWCASE'\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Mark as showcase post'\"\n name=\"showcase\">\n <ui-switch formControlName=\"showcase\" class=\"d-block\"></ui-switch>\n </pw-input-container>\n </div>\n\n <div class=\"col-md-4 col-sm-6\">\n <pw-input-container\n [label]=\"'PUBLISHED'\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Set to publish the post'\"\n name=\"published_at\">\n <ui-switch formControlName=\"published_at\" class=\"d-block\"></ui-switch>\n </pw-input-container>\n </div>\n\n <div class=\"col-md-4 col-sm-6\">\n <pw-input-container\n [label]=\"'ACCEPTED BY ADMIN'\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Indicates approval by admin'\"\n name=\"accepted_at\">\n <ui-switch formControlName=\"accepted_at\" class=\"d-block\"></ui-switch>\n </pw-input-container>\n </div>\n </div>\n\n <div class=\"col-12 col-md-4 col-sm-4 my-4 ms-3\">\n <div class=\"text-center mb-4\">\n <label for=\"coverPicture\">{{ 'Resource.Posts.CoverPicture' | transloco }}</label>\n <div class=\"text-center d-flex flex-column align-items-center\">\n <img [src]=\"(image && !image.includes('default-photo.jpg')) ? image : 'assets/img/resource/blog.png'\"\n (click)=\"openImageModal(imageCropContent)\"\n (keydown.enter)=\"openImageModal(imageCropContent)\"\n class=\"image w-100\"\n alt=\"Modal\"\n (error)=\"handleImageError($event, 'assets/img/resource/blog.png')\" />\n <div class=\"d-flex justify-content-between align-items-center mt-2\">\n <a class=\"d-inline-block\" (click)=\"openImageModal(imageCropContent)\">\n {{ slug !== 'create' ? 'Edit' : 'Add' }} Picture\n </a>\n <i *ngIf=\"image && !image.includes('default-photo.jpg')\"\n class=\"fa fa-trash delete-icon text-danger ms-2 cursor-pointer\"\n title=\"Remove Image\"\n (click)=\"removeImage()\"\n (keydown.enter)=\"removeImage()\"></i>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"col-12 col-md-4 col-sm-4 my-4 ms-3\">\n <div class=\"text-center mb-4\">\n <label for=\"rectangularPicture\">Rectangular Picture</label>\n <div class=\"text-center d-flex flex-column align-items-center\">\n <img [src]=\"(rectangularImage && !rectangularImage.includes('default-photo.jpg')) ? rectangularImage : 'assets/img/resource/blog.png'\"\n (click)=\"openRectModal(rectContent)\"\n (keydown.enter)=\"openRectModal(rectContent)\"\n class=\"image w-100\"\n alt=\"Uploaded rectangular media preview\"\n (error)=\"handleImageError($event, 'assets/img/resource/blog.png')\" />\n <div class=\"d-flex justify-content-between align-items-center mt-2\">\n <a class=\"d-inline-block\" (click)=\"openRectModal(rectContent)\">\n {{ slug !== 'create' ? 'Edit' : 'Add' }} Picture\n </a>\n <i *ngIf=\"rectangularImage && !rectangularImage.includes('default-photo.jpg')\"\n class=\"fa fa-trash delete-icon text-danger ms-2 cursor-pointer\"\n title=\"Remove Image\"\n (click)=\"deleteRectangularImage()\"\n (keydown.enter)=\"deleteRectangularImage()\"></i>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </form>\n </div>\n\n <div class=\"modal-footer\">\n <button class=\"btn btn-secondary\" (click)=\"modal.dismiss()\">Cancel</button>\n <button class=\"btn btn-primary\" [buttonBusy]=\"buttonBusy\" (click)=\"saveResource()\">Save</button>\n </div>\n</ng-template>\n\n<ng-template #imageCropContent let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Upload Picture</h5>\n <button type=\"button\" class=\"btn-close\" (click)=\"modal.dismiss()\"></button>\n </div>\n <div class=\"modal-body\">\n <small>You can upload a JPG, GIF, or PNG file. (Do not upload pictures containing celebrities,\n nudity, artwork or copyrighted images.)</small>\n <pw-image-cropper\n [aspectRatio]=\"'dynamic'\"\n (imageSelectionEvent)=\"onImageSelected($event)\"\n (closeEvent)=\"modal.close()\">\n </pw-image-cropper>\n </div>\n</ng-template>\n\n<ng-template #rectContent let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Upload Picture</h5>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n <div class=\"modal-body\">\n <small>You can upload a JPG, GIF, or PNG file. (Do not upload pictures containing celebrities,\n nudity, artwork or copyrighted images.)</small>\n <pw-image-cropper\n #profile\n [aspectRatio]=\"'dynamic'\"\n (imageSelectionEvent)=\"onRectangularImageSelection($event)\"\n (closeEvent)=\"onClose()\">\n </pw-image-cropper>\n </div>\n</ng-template>\n", styles: ["::ng-deep .modal-content{margin-top:5rem!important}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.UiSwitchComponent, selector: "ui-switch", inputs: ["size", "color", "switchOffColor", "switchColor", "defaultBgColor", "defaultBoColor", "checkedLabel", "uncheckedLabel", "checkedTextColor", "uncheckedTextColor", "beforeChange", "ariaLabel", "checked", "disabled", "reverse", "loading"], outputs: ["change", "changeEvent", "valueChange"] }, { kind: "component", type: i7.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "component", type: i8.ProfileImageCropperComponent, selector: "pw-image-cropper", inputs: ["aspectRatio", "dynamicData"], outputs: ["imageSelectionEvent", "closeEvent", "fileChangeEvent"] }, { kind: "component", type: i9.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "variant"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "component", type: i8.InputContainerComponent, selector: "pw-input-container", inputs: ["name", "label", "labelClass", "tooltipPosition", "required", "errorMsg", "isReadOnly", "showTooltip", "tooltipText", "showTriangle", "afterLabel", "showAfterLabel", "showTriangleText", "isLeftTooltip"] }, { kind: "component", type: i10.QuillEditorComponent, selector: "quill-editor" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i11.ButtonBusyDirective, selector: "[buttonBusy]", inputs: ["buttonBusy", "busyText"] }, { kind: "directive", type: i11.LazyImgDirective, selector: "img" }, { kind: "pipe", type: i12.TranslocoPipe, name: "transloco" }] }); }
|
|
218
218
|
}
|
|
219
219
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceEditCardComponent, decorators: [{
|
|
220
220
|
type: Component,
|
|
221
|
-
args: [{ selector: 'pw-resource-edit-card', template: "<div class=\"edit-card\">\n <i class=\"fa fa-edit cursor-pointer text-dark in-page-edit-icon d-flex justify-content-center mb-2\"\n (click)=\"openModal(editResourceModal)\"\n (keydown.enter)=\"openModal(editResourceModal)\"\n (keydown.space)=\"openModal(editResourceModal)\"\n title=\"Edit Resource\"></i>\n</div>\n\n<ng-template #editResourceModal let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Edit Resource</h5>\n <i class=\"fa fa-edit cursor-pointer text-dark in-page-edit-icon d-flex justify-content-center ms-3\"\n (click)=\"navigateToResourceEdit()\"\n (keydown.enter)=\"navigateToResourceEdit()\"\n (keydown.space)=\"navigateToResourceEdit()\"\n title=\"Go to the main edit page\"></i>\n <button type=\"button\" class=\"btn-close\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n\n <div class=\"modal-body\">\n <form [formGroup]=\"editForm\">\n <div class=\"row\">\n\n\n <div class=\"col-12\">\n <pw-input-container label=\"Title\" name=\"title\">\n <input type=\"text\" class=\"form-control\" formControlName=\"title\" />\n </pw-input-container>\n </div>\n\n <div class=\"col-12 row\">\n <pw-input-container label=\"CTA Text\" name=\"cta_text\" class=\"col-md-6\">\n <input type=\"text\" class=\"form-control\" formControlName=\"cta_text\" />\n </pw-input-container>\n\n <pw-input-container label=\"External URL\" name=\"external_url\" class=\"col-md-6\">\n <input type=\"text\" class=\"form-control\" formControlName=\"external_url\" />\n </pw-input-container>\n </div>\n\n <div class=\"col-12\">\n <pw-input-container\n [label]=\"'Resource.Posts.Body' | transloco\"\n name=\"body\"\n [errorMsg]=\"'Resource.Posts.Validation.Body' | transloco\">\n <quill-editor\n [styles]=\"{ height: '300px' }\"\n class=\"quillEditor\"\n [modules]=\"editorConfig\"\n formControlName=\"body\"\n [ngClass]=\"{\n 'w-100': true,\n 'quill-container': true,\n 'is-invalid': submitted && f['body'].errors\n }\">\n </quill-editor>\n </pw-input-container>\n </div>\n\n <div class=\"col-12 col-md-3 col-sm-6\">\n <pw-input-container\n [label]=\"'Resource.Posts.When' | transloco\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Resource.Posts.Tooltip.When' | transloco\"\n name=\"when\">\n <p-calendar formControlName=\"when\"\n [showIcon]=\"true\"\n dateFormat=\"dd-M-yy\"\n [placeholder]=\"'Select Date'\"\n [ngClass]=\"{ 'is-invalid': submitted && f['when'].errors }\">\n </p-calendar>\n </pw-input-container>\n </div>\n\n <div class=\"col-12 col-md-8\">\n <pw-input-container\n [label]=\"'Resource.Posts.Tags' | transloco\"\n class=\"ui-fluid skills-modal tags\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Resource.Posts.Tooltip.CtaText' | transloco\"\n name=\"cta_text\">\n <p-autoComplete [(ngModel)]=\"selectedTags\"\n class=\"body-bg\"\n [suggestions]=\"tagsSuggestion\"\n dataKey=\"id\"\n field=\"name\"\n (completeMethod)=\"search($event)\"\n styleClass=\"w-100\"\n [minLength]=\"1\"\n [maxlength]=\"10\"\n [dropdown]=\"true\"\n [ngModelOptions]=\"{ standalone: true }\"\n placeholder=\"Tags\"\n [multiple]=\"true\">\n </p-autoComplete>\n </pw-input-container>\n </div>\n\n <div class=\"col-12 row\">\n <div class=\"col-md-4 col-sm-6\">\n <pw-input-container\n [label]=\"'SHOWCASE'\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Mark as showcase post'\"\n name=\"showcase\">\n <ui-switch formControlName=\"showcase\" class=\"d-block\"></ui-switch>\n </pw-input-container>\n </div>\n\n <div class=\"col-md-4 col-sm-6\">\n <pw-input-container\n [label]=\"'PUBLISHED'\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Set to publish the post'\"\n name=\"published_at\">\n <ui-switch formControlName=\"published_at\" class=\"d-block\"></ui-switch>\n </pw-input-container>\n </div>\n\n <div class=\"col-md-4 col-sm-6\">\n <pw-input-container\n [label]=\"'ACCEPTED BY ADMIN'\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Indicates approval by admin'\"\n name=\"accepted_at\">\n <ui-switch formControlName=\"accepted_at\" class=\"d-block\"></ui-switch>\n </pw-input-container>\n </div>\n </div>\n\n <div class=\"col-12 col-md-4 col-sm-4 my-4 ms-3\">\n <div class=\"text-center mb-4\">\n <label for=\"coverPicture\">{{ 'Resource.Posts.CoverPicture' | transloco }}</label>\n <div class=\"text-center d-flex flex-column align-items-center\">\n <img [src]=\"(image && !image.includes('default-photo.jpg')) ? image : 'assets/img/resource/blog.png'\"\n (click)=\"openImageModal(imageCropContent)\"\n (keydown.enter)=\"openImageModal(imageCropContent)\"\n class=\"image w-100\"\n alt=\"Modal\"\n (error)=\"handleImageError($event, 'assets/img/resource/blog.png')\" />\n <div class=\"d-flex justify-content-between align-items-center mt-2\">\n <a class=\"d-inline-block\" (click)=\"openImageModal(imageCropContent)\">\n {{ slug !== 'create' ? 'Edit' : 'Add' }} Picture\n </a>\n <i *ngIf=\"image && !image.includes('default-photo.jpg')\"\n class=\"fa fa-trash delete-icon text-danger ms-2 cursor-pointer\"\n title=\"Remove Image\"\n (click)=\"removeImage()\"\n (keydown.enter)=\"removeImage()\"></i>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"col-12 col-md-4 col-sm-4 my-4 ms-3\">\n <div class=\"text-center mb-4\">\n <label for=\"rectangularPicture\">Rectangular Picture</label>\n <div class=\"text-center d-flex flex-column align-items-center\">\n <img [src]=\"(rectangularImage && !rectangularImage.includes('default-photo.jpg')) ? rectangularImage : 'assets/img/resource/blog.png'\"\n (click)=\"openRectModal(rectContent)\"\n (keydown.enter)=\"openRectModal(rectContent)\"\n class=\"image w-100\"\n alt=\"Uploaded rectangular media preview\"\n (error)=\"handleImageError($event, 'assets/img/resource/blog.png')\" />\n <div class=\"d-flex justify-content-between align-items-center mt-2\">\n <a class=\"d-inline-block\" (click)=\"openRectModal(rectContent)\">\n {{ slug !== 'create' ? 'Edit' : 'Add' }} Picture\n </a>\n <i *ngIf=\"rectangularImage && !rectangularImage.includes('default-photo.jpg')\"\n class=\"fa fa-trash delete-icon text-danger ms-2 cursor-pointer\"\n title=\"Remove Image\"\n (click)=\"deleteRectangularImage()\"\n (keydown.enter)=\"deleteRectangularImage()\"></i>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </form>\n </div>\n\n <div class=\"modal-footer\">\n <button class=\"btn btn-secondary\" (click)=\"modal.dismiss()\">Cancel</button>\n <button class=\"btn btn-primary\" [buttonBusy]=\"buttonBusy\" (click)=\"saveResource()\">Save</button>\n </div>\n</ng-template>\n\n<ng-template #imageCropContent let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Upload Picture</h5>\n <button type=\"button\" class=\"btn-close\" (click)=\"modal.dismiss()\"></button>\n </div>\n <div class=\"modal-body\">\n <small>You can upload a JPG, GIF, or PNG file. (Do not upload pictures containing celebrities,\n nudity, artwork or copyrighted images.)</small>\n <pw-image-cropper\n [aspectRatio]=\"'dynamic'\"\n (imageSelectionEvent)=\"onImageSelected($event)\"\n (closeEvent)=\"modal.close()\">\n </pw-image-cropper>\n </div>\n</ng-template>\n\n<ng-template #rectContent let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Upload Picture</h5>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n <div class=\"modal-body\">\n <small>You can upload a JPG, GIF, or PNG file. (Do not upload pictures containing celebrities,\n nudity, artwork or copyrighted images.)</small>\n <pw-image-cropper\n #profile\n [aspectRatio]=\"'dynamic'\"\n (imageSelectionEvent)=\"onRectangularImageSelection($event)\"\n (closeEvent)=\"onClose()\">\n </pw-image-cropper>\n </div>\n</ng-template>\n", styles: ["::ng-deep .modal-content{margin-top:5rem!important}\n"] }]
|
|
221
|
+
args: [{ selector: 'pw-resource-edit-card', template: "<div class=\"edit-card\">\n <i class=\"fa fa-edit cursor-pointer text-dark in-page-edit-icon d-flex justify-content-center mb-2\"\n (click)=\"openModal(editResourceModal)\"\n (keydown.enter)=\"openModal(editResourceModal)\"\n (keydown.space)=\"openModal(editResourceModal)\"\n title=\"Edit Resource\"></i>\n</div>\n\n<ng-template #editResourceModal let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Edit Resource</h5>\n <i class=\"fa fa-edit cursor-pointer text-dark in-page-edit-icon d-flex justify-content-center ms-3\"\n (click)=\"navigateToResourceEdit()\"\n (keydown.enter)=\"navigateToResourceEdit()\"\n (keydown.space)=\"navigateToResourceEdit()\"\n title=\"Go to the main edit page\"></i>\n <button type=\"button\" class=\"btn-close\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n\n <div class=\"modal-body\">\n <form [formGroup]=\"editForm\">\n <div class=\"row\">\n\n\n <div class=\"col-12\">\n <pw-input-container label=\"Title\" name=\"title\">\n <input type=\"text\" class=\"form-control\" formControlName=\"title\" />\n </pw-input-container>\n </div>\n\n <div class=\"col-12 row\">\n <pw-input-container label=\"CTA Text\" name=\"cta_text\" class=\"col-md-6\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Resource.Posts.Tooltip.CtaText' | transloco\">\n <input type=\"text\" class=\"form-control\" formControlName=\"cta_text\" />\n </pw-input-container>\n\n <pw-input-container label=\"External URL\" name=\"external_url\" class=\"col-md-6\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Resource.Posts.Tooltip.ExternalUrl' | transloco\">\n <input type=\"text\" class=\"form-control\" formControlName=\"external_url\" />\n </pw-input-container>\n </div>\n\n <div class=\"col-12\">\n <pw-input-container\n [label]=\"'Resource.Posts.Body' | transloco\"\n name=\"body\"\n [errorMsg]=\"'Resource.Posts.Validation.Body' | transloco\">\n <quill-editor\n [styles]=\"{ height: '300px' }\"\n class=\"quillEditor\"\n [modules]=\"editorConfig\"\n formControlName=\"body\"\n [ngClass]=\"{\n 'w-100': true,\n 'quill-container': true,\n 'is-invalid': submitted && f['body'].errors\n }\">\n </quill-editor>\n </pw-input-container>\n </div>\n\n <div class=\"col-12 col-md-3 col-sm-6\">\n <pw-input-container\n [label]=\"'Resource.Posts.When' | transloco\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Resource.Posts.Tooltip.When' | transloco\"\n name=\"when\">\n <p-calendar formControlName=\"when\"\n [showIcon]=\"true\"\n dateFormat=\"dd-M-yy\"\n [placeholder]=\"'Select Date'\"\n [ngClass]=\"{ 'is-invalid': submitted && f['when'].errors }\">\n </p-calendar>\n </pw-input-container>\n </div>\n\n <div class=\"col-12 col-md-8\">\n <pw-input-container\n [label]=\"'Resource.Posts.Tags' | transloco\"\n class=\"ui-fluid skills-modal tags\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Resource.Posts.Tooltip.CtaText' | transloco\"\n name=\"cta_text\">\n <p-autoComplete [(ngModel)]=\"selectedTags\"\n class=\"body-bg\"\n [suggestions]=\"tagsSuggestion\"\n dataKey=\"id\"\n field=\"name\"\n (completeMethod)=\"search($event)\"\n styleClass=\"w-100\"\n [minLength]=\"1\"\n [maxlength]=\"10\"\n [dropdown]=\"true\"\n [ngModelOptions]=\"{ standalone: true }\"\n placeholder=\"Tags\"\n [multiple]=\"true\">\n </p-autoComplete>\n </pw-input-container>\n </div>\n\n <div class=\"col-12 row\">\n <div class=\"col-md-4 col-sm-6\">\n <pw-input-container\n [label]=\"'SHOWCASE'\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Mark as showcase post'\"\n name=\"showcase\">\n <ui-switch formControlName=\"showcase\" class=\"d-block\"></ui-switch>\n </pw-input-container>\n </div>\n\n <div class=\"col-md-4 col-sm-6\">\n <pw-input-container\n [label]=\"'PUBLISHED'\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Set to publish the post'\"\n name=\"published_at\">\n <ui-switch formControlName=\"published_at\" class=\"d-block\"></ui-switch>\n </pw-input-container>\n </div>\n\n <div class=\"col-md-4 col-sm-6\">\n <pw-input-container\n [label]=\"'ACCEPTED BY ADMIN'\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Indicates approval by admin'\"\n name=\"accepted_at\">\n <ui-switch formControlName=\"accepted_at\" class=\"d-block\"></ui-switch>\n </pw-input-container>\n </div>\n </div>\n\n <div class=\"col-12 col-md-4 col-sm-4 my-4 ms-3\">\n <div class=\"text-center mb-4\">\n <label for=\"coverPicture\">{{ 'Resource.Posts.CoverPicture' | transloco }}</label>\n <div class=\"text-center d-flex flex-column align-items-center\">\n <img [src]=\"(image && !image.includes('default-photo.jpg')) ? image : 'assets/img/resource/blog.png'\"\n (click)=\"openImageModal(imageCropContent)\"\n (keydown.enter)=\"openImageModal(imageCropContent)\"\n class=\"image w-100\"\n alt=\"Modal\"\n (error)=\"handleImageError($event, 'assets/img/resource/blog.png')\" />\n <div class=\"d-flex justify-content-between align-items-center mt-2\">\n <a class=\"d-inline-block\" (click)=\"openImageModal(imageCropContent)\">\n {{ slug !== 'create' ? 'Edit' : 'Add' }} Picture\n </a>\n <i *ngIf=\"image && !image.includes('default-photo.jpg')\"\n class=\"fa fa-trash delete-icon text-danger ms-2 cursor-pointer\"\n title=\"Remove Image\"\n (click)=\"removeImage()\"\n (keydown.enter)=\"removeImage()\"></i>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"col-12 col-md-4 col-sm-4 my-4 ms-3\">\n <div class=\"text-center mb-4\">\n <label for=\"rectangularPicture\">Rectangular Picture</label>\n <div class=\"text-center d-flex flex-column align-items-center\">\n <img [src]=\"(rectangularImage && !rectangularImage.includes('default-photo.jpg')) ? rectangularImage : 'assets/img/resource/blog.png'\"\n (click)=\"openRectModal(rectContent)\"\n (keydown.enter)=\"openRectModal(rectContent)\"\n class=\"image w-100\"\n alt=\"Uploaded rectangular media preview\"\n (error)=\"handleImageError($event, 'assets/img/resource/blog.png')\" />\n <div class=\"d-flex justify-content-between align-items-center mt-2\">\n <a class=\"d-inline-block\" (click)=\"openRectModal(rectContent)\">\n {{ slug !== 'create' ? 'Edit' : 'Add' }} Picture\n </a>\n <i *ngIf=\"rectangularImage && !rectangularImage.includes('default-photo.jpg')\"\n class=\"fa fa-trash delete-icon text-danger ms-2 cursor-pointer\"\n title=\"Remove Image\"\n (click)=\"deleteRectangularImage()\"\n (keydown.enter)=\"deleteRectangularImage()\"></i>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </form>\n </div>\n\n <div class=\"modal-footer\">\n <button class=\"btn btn-secondary\" (click)=\"modal.dismiss()\">Cancel</button>\n <button class=\"btn btn-primary\" [buttonBusy]=\"buttonBusy\" (click)=\"saveResource()\">Save</button>\n </div>\n</ng-template>\n\n<ng-template #imageCropContent let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Upload Picture</h5>\n <button type=\"button\" class=\"btn-close\" (click)=\"modal.dismiss()\"></button>\n </div>\n <div class=\"modal-body\">\n <small>You can upload a JPG, GIF, or PNG file. (Do not upload pictures containing celebrities,\n nudity, artwork or copyrighted images.)</small>\n <pw-image-cropper\n [aspectRatio]=\"'dynamic'\"\n (imageSelectionEvent)=\"onImageSelected($event)\"\n (closeEvent)=\"modal.close()\">\n </pw-image-cropper>\n </div>\n</ng-template>\n\n<ng-template #rectContent let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Upload Picture</h5>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n <div class=\"modal-body\">\n <small>You can upload a JPG, GIF, or PNG file. (Do not upload pictures containing celebrities,\n nudity, artwork or copyrighted images.)</small>\n <pw-image-cropper\n #profile\n [aspectRatio]=\"'dynamic'\"\n (imageSelectionEvent)=\"onRectangularImageSelection($event)\"\n (closeEvent)=\"onClose()\">\n </pw-image-cropper>\n </div>\n</ng-template>\n", styles: ["::ng-deep .modal-content{margin-top:5rem!important}\n"] }]
|
|
222
222
|
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.NgbModal }, { type: i3.ResourceService }, { type: i4.AuthService }, { type: i4.TagService }, { type: i0.Injector }], propDecorators: { id: [{
|
|
223
223
|
type: Input
|
|
224
224
|
}], resourceData: [{
|
|
@@ -226,4 +226,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
226
226
|
}], updated: [{
|
|
227
227
|
type: Output
|
|
228
228
|
}] } });
|
|
229
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtZWRpdC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcmVzb3VyY2UtbW9kdWxlL3NyYy9saWIvcHVibGljL2NvbXBvbmVudHMvcmVzb3VyY2UtZWRpdC1jYXJkL3Jlc291cmNlLWVkaXQtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Jlc291cmNlLW1vZHVsZS9zcmMvbGliL3B1YmxpYy9jb21wb25lbnRzL3Jlc291cmNlLWVkaXQtY2FyZC9yZXNvdXJjZS1lZGl0LWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLFdBQVcsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBRXhELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQU81RCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsZ0JBQWdCO0lBbUIzRCxZQUNxQixFQUFlLEVBQ2YsWUFBc0IsRUFDdEIsZUFBZ0MsRUFDaEMsV0FBd0IsRUFDeEIsVUFBc0IsRUFDdkMsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBUEMsT0FB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LElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUNsRCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDO1FBQzNDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQU87UUFDakIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakQsUUFBUSxFQUFFLElBQUk7WUFDZCxXQUFXLEVBQUUsY0FBYztTQUM5QixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBWSxFQUFFLFlBQVk7UUFDdkMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQztJQUMvRCxDQUFDOytHQS9OUSx5QkFBeUI7bUdBQXpCLHlCQUF5Qix5S0NsQnRDLGd5U0E0TkE7OzRGRDFNYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0ksdUJBQXVCOytNQUt4QixFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWJhc2UtY29tcG9uZW50JztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBUYWdTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2hlbHBlci1zZXJ2aWNlJztcblxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuXG5pbXBvcnQgeyBOZ2JNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcblxuaW1wb3J0IHsgUmVzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctcmVzb3VyY2UtZWRpdC1jYXJkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVzb3VyY2UtZWRpdC1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vcmVzb3VyY2UtZWRpdC1jYXJkLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZUVkaXRDYXJkQ29tcG9uZW50IGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgaWQhOiBudW1iZXI7XG4gICAgQElucHV0KCkgcmVzb3VyY2VEYXRhO1xuICAgIEBPdXRwdXQoKSB1cGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgZWRpdEZvcm06IEZvcm1Hcm91cDtcbiAgICBpbWFnZSA9ICcnO1xuICAgIHJlY3Rhbmd1bGFySW1hZ2UgPSAnJztcbiAgICBmaWxlOiBGaWxlIHwgbnVsbCA9IG51bGw7XG4gICAgcmVjdGFuZ3VsYXJGaWxlOiBGaWxlIHwgbnVsbCA9IG51bGw7XG5cbiAgICBpbWFnZU1vZGFsUmVmO1xuICAgIHNlbGVjdGVkVGFncyA9IFtdO1xuICAgIGFsbFRhZ3MgPSBbXTtcbiAgICB0YWdzU3VnZ2VzdGlvbiA9IFtdO1xuICAgIHN1YnNjcmlwdGlvbklkOiBudW1iZXI7XG4gICAgdXNlckxvZ2dlZEluOiBib29sZWFuO1xuICAgIGJ1dHRvbkJ1c3kgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlU2VydmljZTogUmVzb3VyY2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0YWdTZXJ2aWNlOiBUYWdTZXJ2aWNlLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLmVkaXRGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAgICB0aXRsZTogWycnXSxcbiAgICAgICAgICAgIGV4dGVybmFsX3VybDogWycnXSxcbiAgICAgICAgICAgIGN0YV90ZXh0OiBbJyddLFxuICAgICAgICAgICAgd2hlbjogWycnXSxcbiAgICAgICAgICAgIHNob3djYXNlOiBbZmFsc2VdLFxuICAgICAgICAgICAgcHVibGlzaGVkX2F0OiBbZmFsc2VdLFxuICAgICAgICAgICAgYWNjZXB0ZWRfYXQ6IFtmYWxzZV0sXG4gICAgICAgICAgICBib2R5OiBbJyddXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldFRva2VuJCgpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy51c2VyTG9nZ2VkSW4gPSAhIXJlcztcbiAgICAgICAgICAgIGlmICh0aGlzLnVzZXJMb2dnZWRJbikge1xuICAgICAgICAgICAgICAgIHRoaXMubG9jYWxTdG9yYWdlLmdldEl0ZW0kKCdwcm9kdWN0Jykuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSByZXMgPyBKU09OLnBhcnNlKHJlcykgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gZGF0YT8uc3Vic2NyaXB0aW9uSWQ7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5hdmlnYXRlVG9SZXNvdXJjZUVkaXQoKSB7XG4gICAgICAgIGNvbnN0IGJhc2VQYXRoID0gYC9hZG1pbi9yZXNvdXJjZXMvJHt0aGlzLnJlc291cmNlRGF0YT8uc2x1Z31gO1xuICAgICAgICBjb25zdCBmdWxsVXJsID0gYCR7bG9jYXRpb24ub3JpZ2lufSR7YmFzZVBhdGh9YDtcbiAgICAgICAgd2luZG93Lm9wZW4oZnVsbFVybCwgJ19ibGFuaycpO1xuICAgIH1cblxuICAgIG9wZW5Nb2RhbChtb2RhbFRlbXBsYXRlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnJlc291cmNlRGF0YSkge1xuICAgICAgICAgICAgY29uc3Qgd2hlbiA9IHRoaXMucmVzb3VyY2VEYXRhLndoZW4gPyBuZXcgRGF0ZSh0aGlzLnJlc291cmNlRGF0YS53aGVuKSA6IG51bGw7XG4gICAgICAgICAgICB0aGlzLmVkaXRGb3JtLnNldFZhbHVlKHtcbiAgICAgICAgICAgICAgICB0aXRsZTogdGhpcy5yZXNvdXJjZURhdGEudGl0bGUgPz8gJycsXG4gICAgICAgICAgICAgICAgZXh0ZXJuYWxfdXJsOiB0aGlzLnJlc291cmNlRGF0YS5leHRlcm5hbF91cmwgPz8gJycsXG4gICAgICAgICAgICAgICAgY3RhX3RleHQ6IHRoaXMucmVzb3VyY2VEYXRhLmN0YV90ZXh0ID8/ICcnLFxuICAgICAgICAgICAgICAgIHdoZW46IHdoZW4gPz8gJycsXG4gICAgICAgICAgICAgICAgc2hvd2Nhc2U6ICEhdGhpcy5yZXNvdXJjZURhdGEuc2hvd2Nhc2UsXG4gICAgICAgICAgICAgICAgcHVibGlzaGVkX2F0OiAhIXRoaXMucmVzb3VyY2VEYXRhLnB1Ymxpc2hlZF9hdCxcbiAgICAgICAgICAgICAgICBhY2NlcHRlZF9hdDogISF0aGlzLnJlc291cmNlRGF0YS5hY2NlcHRlZF9hdCxcbiAgICAgICAgICAgICAgICBib2R5OiB0aGlzLnJlc291cmNlRGF0YS5ib2R5XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuaW1hZ2UgPSB0aGlzLnJlc291cmNlRGF0YS5waWN0dXJlPy51cmwgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVGFncyA9IHRoaXMucmVzb3VyY2VEYXRhPy50YWdzPy5sZW5ndGggPyBbLi4udGhpcy5yZXNvdXJjZURhdGEudGFnc10gOiBbXTtcbiAgICAgICAgICAgIHRoaXMucmVjdGFuZ3VsYXJJbWFnZSA9IHRoaXMucmVzb3VyY2VEYXRhLnJlY3Rhbmd1bGFyX3BpY3R1cmU/LnVybCA/PyAnJztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuKG1vZGFsVGVtcGxhdGUsIHsgY2VudGVyZWQ6IHRydWUsIHNpemU6ICdsZycgfSk7XG4gICAgICAgIHRoaXMuZ2V0UG9zdFRhZ3MoKTtcbiAgICB9XG5cbiAgICBzZWFyY2goZXZlbnQpIHtcbiAgICAgICAgbGV0IHZhbHVlcyA9IFtdO1xuICAgICAgICBpZiAoZXZlbnQucXVlcnkpIHtcbiAgICAgICAgICAgIHZhbHVlcyA9IHRoaXMuYWxsVGFncy5maWx0ZXIoeCA9PlxuICAgICAgICAgICAgICAgIHgubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGV2ZW50LnF1ZXJ5LnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hbGxUYWdzLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgICAgICAgdmFsdWVzLnB1c2goZWxlbWVudCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRhZ3NTdWdnZXN0aW9uID0gdmFsdWVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UG9zdFRhZ3MoKSB7XG4gICAgICAgIHRoaXMudGFnU2VydmljZVxuICAgICAgICAgICAgLmdldFRhZ3NCeVR5cGUoJ3Bvc3RfY2F0ZWdvcmllcycsIHt9LCB0aGlzLnN1YnNjcmlwdGlvbklkKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hbGxUYWdzID0gcmVzcG9uc2UudGFncztcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGRlbGV0ZVJlY3Rhbmd1bGFySW1hZ2UoKSB7XG4gICAgICAgIHRoaXMucmVjdGFuZ3VsYXJJbWFnZSA9IG51bGw7XG4gICAgICAgIHRoaXMucmVjdGFuZ3VsYXJGaWxlID0gbnVsbDtcbiAgICB9XG4gICAgb3BlbkltYWdlTW9kYWwobW9kYWxUZW1wbGF0ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmltYWdlTW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKG1vZGFsVGVtcGxhdGUsIHsgY2VudGVyZWQ6IHRydWUsIHNpemU6ICdtZCcgfSk7XG4gICAgfVxuXG4gICAgb25JbWFnZVNlbGVjdGVkKGJhc2U2NDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW1hZ2UgPSBiYXNlNjQ7XG4gICAgICAgIHRoaXMuZmlsZSA9IEhlbHBlclNlcnZpY2UuY29udmVydEJhc2U2NFRvRmlsZShiYXNlNjQpO1xuICAgICAgICB0aGlzLmltYWdlTW9kYWxSZWY/LmNsb3NlKCk7XG4gICAgfVxuXG4gICAgb25SZWN0YW5ndWxhckltYWdlU2VsZWN0aW9uKGJhc2U2NDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMucmVjdGFuZ3VsYXJJbWFnZSA9IGJhc2U2NDtcbiAgICAgICAgdGhpcy5yZWN0YW5ndWxhckZpbGUgPSBIZWxwZXJTZXJ2aWNlLmNvbnZlcnRCYXNlNjRUb0ZpbGUoYmFzZTY0KTtcbiAgICAgICAgdGhpcy5pbWFnZU1vZGFsUmVmPy5jbG9zZSgpO1xuICAgIH1cblxuICAgIHJlbW92ZUltYWdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmltYWdlID0gbnVsbDtcbiAgICAgICAgdGhpcy5maWxlID0gbnVsbDtcbiAgICB9XG5cbiAgICBzYXZlUmVzb3VyY2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYnV0dG9uQnVzeSA9IHRydWU7XG4gICAgICAgIHRoaXMuc2F2ZVRhZ3ModGhpcy5pZCk7XG4gICAgICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICAgICAgICAuLi50aGlzLmVkaXRGb3JtLnZhbHVlLFxuICAgICAgICAgICAgc3Vic2NyaXB0aW9uX2lkOiB0aGlzLnN1YnNjcmlwdGlvbklkXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5oYW5kbGVQaWN0dXJlKHBheWxvYWQpO1xuICAgICAgICB0aGlzLmhhbmRsZVB1Ymxpc2hlZEF0KHBheWxvYWQpO1xuICAgICAgICB0aGlzLmhhbmRsZUFjY2VwdGVkQXQocGF5bG9hZCk7XG4gICAgICAgIHRoaXMuaGFuZGxlQWNjZXB0ZWRBdChwYXlsb2FkKTtcbiAgICAgICAgdGhpcy5oYW5kbGVPcHRpb25hbEZpZWxkcyhwYXlsb2FkKTtcbiAgICAgICAgdGhpcy5oYW5kbGVSZWN0YW5ndWxhclBpY3R1cmUocGF5bG9hZCk7XG4gICAgICAgIHRoaXMuaGFuZGxlUmVtb3ZhbHMocGF5bG9hZCk7XG5cbiAgICAgICAgdGhpcy5yZXNvdXJjZVNlcnZpY2UudXBkYXRlUG9zdChwYXlsb2FkLCB0aGlzLmlkKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5idXR0b25CdXN5ID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3MoJ0Jsb2cgUG9zdCBVcGRhdGVkJyk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZWQuZW1pdCgpO1xuICAgICAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2UuZGlzbWlzc0FsbCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNhdmVUYWdzKGlkOiBudW1iZXIgfCBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRUYWdzLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgICAgICAgICBlbnRpdHlfdGFnczogdGhpcy5zZWxlY3RlZFRhZ3MubWFwKHRhZyA9PiAoeyB0YWdfaWQ6IHRhZy5pZCB9KSksXG4gICAgICAgICAgICAgICAgc2x1ZzogaWQsXG4gICAgICAgICAgICAgICAgdGFnX2VudGl0eTogJ1Bvc3QnIC8vIG9yIHVzZSBUQUdfRU5USVRZLlBPU1QgaWYgeW91IGltcG9ydGVkIGl0XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB0aGlzLnRhZ1NlcnZpY2UuYWRkVGFncyhkYXRhLCB0aGlzLnN1YnNjcmlwdGlvbklkKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlUGljdHVyZShkYXRhKSB7XG4gICAgICAgIGlmICh0aGlzLmZpbGUpIHtcbiAgICAgICAgICAgIGRhdGEucGljdHVyZSA9IHRoaXMuZmlsZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRlbGV0ZSBkYXRhLnBpY3R1cmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVB1Ymxpc2hlZEF0KGRhdGEpIHtcbiAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuZWRpdEZvcm0uZ2V0KCdwdWJsaXNoZWRfYXQnKTtcbiAgICAgICAgaWYgKGNvbnRyb2w/LmRpcnR5KSB7XG4gICAgICAgICAgICBkYXRhLnB1Ymxpc2hlZF9hdCA9IGNvbnRyb2wudmFsdWUgPyBtb21lbnQoKS5mb3JtYXQoJ0RELU1NTS1ZWVlZJykgOiAnJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRlbGV0ZSBkYXRhLnB1Ymxpc2hlZF9hdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlQWNjZXB0ZWRBdChkYXRhKSB7XG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmVkaXRGb3JtLmdldCgnYWNjZXB0ZWRfYXQnKTtcbiAgICAgICAgaWYgKGNvbnRyb2w/LmRpcnR5KSB7XG4gICAgICAgICAgICBkYXRhLmFjY2VwdGVkX2F0ID0gY29udHJvbC52YWx1ZSA/IG1vbWVudCgpLmZvcm1hdCgnREQtTU1NLVlZWVknKSA6ICcnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZGVsZXRlIGRhdGEuYWNjZXB0ZWRfYXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZU9wdGlvbmFsRmllbGRzKGRhdGEpIHtcbiAgICAgICAgaWYgKCF0aGlzLmVkaXRGb3JtLmdldCgnd2hlbicpPy52YWx1ZSkge1xuICAgICAgICAgICAgZGF0YS53aGVuID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmVkaXRGb3JtLmdldCgnc2hvd2Nhc2UnKT8udmFsdWUpIHtcbiAgICAgICAgICAgIGRhdGEuc2hvd2Nhc2UgPSAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlUmVjdGFuZ3VsYXJQaWN0dXJlKGRhdGEpIHtcbiAgICAgICAgaWYgKHRoaXMucmVjdGFuZ3VsYXJGaWxlKSB7XG4gICAgICAgICAgICBkYXRhLnJlY3Rhbmd1bGFyX3BpY3R1cmUgPSB0aGlzLnJlY3Rhbmd1bGFyRmlsZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRlbGV0ZSBkYXRhLnJlY3Rhbmd1bGFyX3BpY3R1cmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVJlbW92YWxzKGRhdGEpIHtcbiAgICAgICAgaWYgKCF0aGlzLmZpbGUgJiYgIXRoaXMuaW1hZ2UpIHtcbiAgICAgICAgICAgIGRhdGEucmVtb3ZlX3BpY3R1cmUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5yZWN0YW5ndWxhckZpbGUgJiYgIXRoaXMucmVjdGFuZ3VsYXJJbWFnZSkge1xuICAgICAgICAgICAgZGF0YS5yZW1vdmVfcmVjdGFuZ3VsYXJfcGljdHVyZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvcGVuUmVjdE1vZGFsKGNvbnRlbnQpIHtcbiAgICAgICAgdGhpcy5pbWFnZU1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3Blbihjb250ZW50LCB7XG4gICAgICAgICAgICBjZW50ZXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIHdpbmRvd0NsYXNzOiAnbW9kYWwtaG9sZGVyJ1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbWFnZUVycm9yKGV2ZW50OiBFdmVudCwgZmFsbGJhY2tQYXRoKTogdm9pZCB7XG4gICAgICAgIEhlbHBlclNlcnZpY2UuaGFuZGxlSW1hZ2VGYWxsYmFja1BhdGgoZXZlbnQsIGZhbGxiYWNrUGF0aCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImVkaXQtY2FyZFwiPlxuICA8aSBjbGFzcz1cImZhIGZhLWVkaXQgY3Vyc29yLXBvaW50ZXIgdGV4dC1kYXJrIGluLXBhZ2UtZWRpdC1pY29uIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIG1iLTJcIlxuICAgICAoY2xpY2spPVwib3Blbk1vZGFsKGVkaXRSZXNvdXJjZU1vZGFsKVwiXG4gICAgIChrZXlkb3duLmVudGVyKT1cIm9wZW5Nb2RhbChlZGl0UmVzb3VyY2VNb2RhbClcIlxuICAgICAoa2V5ZG93bi5zcGFjZSk9XCJvcGVuTW9kYWwoZWRpdFJlc291cmNlTW9kYWwpXCJcbiAgICAgdGl0bGU9XCJFZGl0IFJlc291cmNlXCI+PC9pPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZWRpdFJlc291cmNlTW9kYWwgbGV0LW1vZGFsPlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIj5FZGl0IFJlc291cmNlPC9oNT5cbiAgICA8aSBjbGFzcz1cImZhIGZhLWVkaXQgY3Vyc29yLXBvaW50ZXIgdGV4dC1kYXJrIGluLXBhZ2UtZWRpdC1pY29uIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIG1zLTNcIlxuICAgICAoY2xpY2spPVwibmF2aWdhdGVUb1Jlc291cmNlRWRpdCgpXCJcbiAgICAgKGtleWRvd24uZW50ZXIpPVwibmF2aWdhdGVUb1Jlc291cmNlRWRpdCgpXCJcbiAgICAgKGtleWRvd24uc3BhY2UpPVwibmF2aWdhdGVUb1Jlc291cmNlRWRpdCgpXCJcbiAgICAgdGl0bGU9XCJHbyB0byB0aGUgbWFpbiBlZGl0IHBhZ2VcIj48L2k+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2VcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIiAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+PC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJlZGl0Rm9ybVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuXG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgbGFiZWw9XCJUaXRsZVwiIG5hbWU9XCJ0aXRsZVwiPlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiIC8+XG4gICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgcm93XCI+XG4gICAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBsYWJlbD1cIkNUQSBUZXh0XCIgbmFtZT1cImN0YV90ZXh0XCIgY2xhc3M9XCJjb2wtbWQtNlwiPlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBmb3JtQ29udHJvbE5hbWU9XCJjdGFfdGV4dFwiIC8+XG4gICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG5cbiAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIGxhYmVsPVwiRXh0ZXJuYWwgVVJMXCIgbmFtZT1cImV4dGVybmFsX3VybFwiIGNsYXNzPVwiY29sLW1kLTZcIj5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZm9ybUNvbnRyb2xOYW1lPVwiZXh0ZXJuYWxfdXJsXCIgLz5cbiAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXJcbiAgICAgICAgICAgIFtsYWJlbF09XCInUmVzb3VyY2UuUG9zdHMuQm9keScgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgbmFtZT1cImJvZHlcIlxuICAgICAgICAgICAgW2Vycm9yTXNnXT1cIidSZXNvdXJjZS5Qb3N0cy5WYWxpZGF0aW9uLkJvZHknIHwgdHJhbnNsb2NvXCI+XG4gICAgICAgICAgICA8cXVpbGwtZWRpdG9yXG4gICAgICAgICAgICAgIFtzdHlsZXNdPVwieyBoZWlnaHQ6ICczMDBweCcgfVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwicXVpbGxFZGl0b3JcIlxuICAgICAgICAgICAgICBbbW9kdWxlc109XCJlZGl0b3JDb25maWdcIlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJib2R5XCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICd3LTEwMCc6IHRydWUsXG4gICAgICAgICAgICAgICAgJ3F1aWxsLWNvbnRhaW5lcic6IHRydWUsXG4gICAgICAgICAgICAgICAgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnYm9keSddLmVycm9yc1xuICAgICAgICAgICAgICB9XCI+XG4gICAgICAgICAgICA8L3F1aWxsLWVkaXRvcj5cbiAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbWQtMyBjb2wtc20tNlwiPlxuICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXJcbiAgICAgICAgICAgIFtsYWJlbF09XCInUmVzb3VyY2UuUG9zdHMuV2hlbicgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidSZXNvdXJjZS5Qb3N0cy5Ub29sdGlwLldoZW4nIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgIG5hbWU9XCJ3aGVuXCI+XG4gICAgICAgICAgICA8cC1jYWxlbmRhciBmb3JtQ29udHJvbE5hbWU9XCJ3aGVuXCJcbiAgICAgICAgICAgICAgW3Nob3dJY29uXT1cInRydWVcIlxuICAgICAgICAgICAgICBkYXRlRm9ybWF0PVwiZGQtTS15eVwiXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU2VsZWN0IERhdGUnXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWyd3aGVuJ10uZXJyb3JzIH1cIj5cbiAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cbiAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbWQtOFwiPlxuICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXJcbiAgICAgICAgICAgIFtsYWJlbF09XCInUmVzb3VyY2UuUG9zdHMuVGFncycgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgY2xhc3M9XCJ1aS1mbHVpZCBza2lsbHMtbW9kYWwgdGFnc1wiXG4gICAgICAgICAgICBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ1Jlc291cmNlLlBvc3RzLlRvb2x0aXAuQ3RhVGV4dCcgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgbmFtZT1cImN0YV90ZXh0XCI+XG4gICAgICAgICAgICA8cC1hdXRvQ29tcGxldGUgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFRhZ3NcIlxuICAgICAgICAgICAgICBjbGFzcz1cImJvZHktYmdcIlxuICAgICAgICAgICAgICBbc3VnZ2VzdGlvbnNdPVwidGFnc1N1Z2dlc3Rpb25cIlxuICAgICAgICAgICAgICBkYXRhS2V5PVwiaWRcIlxuICAgICAgICAgICAgICBmaWVsZD1cIm5hbWVcIlxuICAgICAgICAgICAgICAoY29tcGxldGVNZXRob2QpPVwic2VhcmNoKCRldmVudClcIlxuICAgICAgICAgICAgICBzdHlsZUNsYXNzPVwidy0xMDBcIlxuICAgICAgICAgICAgICBbbWluTGVuZ3RoXT1cIjFcIlxuICAgICAgICAgICAgICBbbWF4bGVuZ3RoXT1cIjEwXCJcbiAgICAgICAgICAgICAgW2Ryb3Bkb3duXT1cInRydWVcIlxuICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlRhZ3NcIlxuICAgICAgICAgICAgICBbbXVsdGlwbGVdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPC9wLWF1dG9Db21wbGV0ZT5cbiAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiByb3dcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgY29sLXNtLTZcIj5cbiAgICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXJcbiAgICAgICAgICAgICAgW2xhYmVsXT1cIidTSE9XQ0FTRSdcIlxuICAgICAgICAgICAgICBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInTWFyayBhcyBzaG93Y2FzZSBwb3N0J1wiXG4gICAgICAgICAgICAgIG5hbWU9XCJzaG93Y2FzZVwiPlxuICAgICAgICAgICAgICA8dWktc3dpdGNoIGZvcm1Db250cm9sTmFtZT1cInNob3djYXNlXCIgY2xhc3M9XCJkLWJsb2NrXCI+PC91aS1zd2l0Y2g+XG4gICAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBjb2wtc20tNlwiPlxuICAgICAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lclxuICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1BVQkxJU0hFRCdcIlxuICAgICAgICAgICAgICBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInU2V0IHRvIHB1Ymxpc2ggdGhlIHBvc3QnXCJcbiAgICAgICAgICAgICAgbmFtZT1cInB1Ymxpc2hlZF9hdFwiPlxuICAgICAgICAgICAgICA8dWktc3dpdGNoIGZvcm1Db250cm9sTmFtZT1cInB1Ymxpc2hlZF9hdFwiIGNsYXNzPVwiZC1ibG9ja1wiPjwvdWktc3dpdGNoPlxuICAgICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgY29sLXNtLTZcIj5cbiAgICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXJcbiAgICAgICAgICAgICAgW2xhYmVsXT1cIidBQ0NFUFRFRCBCWSBBRE1JTidcIlxuICAgICAgICAgICAgICBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInSW5kaWNhdGVzIGFwcHJvdmFsIGJ5IGFkbWluJ1wiXG4gICAgICAgICAgICAgIG5hbWU9XCJhY2NlcHRlZF9hdFwiPlxuICAgICAgICAgICAgICA8dWktc3dpdGNoIGZvcm1Db250cm9sTmFtZT1cImFjY2VwdGVkX2F0XCIgY2xhc3M9XCJkLWJsb2NrXCI+PC91aS1zd2l0Y2g+XG4gICAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbWQtNCBjb2wtc20tNCBteS00IG1zLTNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbWItNFwiPlxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImNvdmVyUGljdHVyZVwiPnt7ICdSZXNvdXJjZS5Qb3N0cy5Db3ZlclBpY3R1cmUnIHwgdHJhbnNsb2NvIH19PC9sYWJlbD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBkLWZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxpbWcgW3NyY109XCIoaW1hZ2UgJiYgIWltYWdlLmluY2x1ZGVzKCdkZWZhdWx0LXBob3RvLmpwZycpKSA/IGltYWdlIDogJ2Fzc2V0cy9pbWcvcmVzb3VyY2UvYmxvZy5wbmcnXCJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbkltYWdlTW9kYWwoaW1hZ2VDcm9wQ29udGVudClcIlxuICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9wZW5JbWFnZU1vZGFsKGltYWdlQ3JvcENvbnRlbnQpXCJcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cImltYWdlIHctMTAwXCJcbiAgICAgICAgICAgICAgICAgICBhbHQ9XCJNb2RhbFwiXG4gICAgICAgICAgICAgICAgICAgKGVycm9yKT1cImhhbmRsZUltYWdlRXJyb3IoJGV2ZW50LCAnYXNzZXRzL2ltZy9yZXNvdXJjZS9ibG9nLnBuZycpXCIgLz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgbXQtMlwiPlxuICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZC1pbmxpbmUtYmxvY2tcIiAoY2xpY2spPVwib3BlbkltYWdlTW9kYWwoaW1hZ2VDcm9wQ29udGVudClcIj5cbiAgICAgICAgICAgICAgICAgIHt7IHNsdWcgIT09ICdjcmVhdGUnID8gJ0VkaXQnIDogJ0FkZCcgfX0gUGljdHVyZVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImltYWdlICYmICFpbWFnZS5pbmNsdWRlcygnZGVmYXVsdC1waG90by5qcGcnKVwiXG4gICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYSBmYS10cmFzaCBkZWxldGUtaWNvbiB0ZXh0LWRhbmdlciBtcy0yIGN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgICAgICAgICB0aXRsZT1cIlJlbW92ZSBJbWFnZVwiXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUltYWdlKClcIlxuICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cInJlbW92ZUltYWdlKClcIj48L2k+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLW1kLTQgY29sLXNtLTQgbXktNCBtcy0zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG1iLTRcIj5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJyZWN0YW5ndWxhclBpY3R1cmVcIj5SZWN0YW5ndWxhciBQaWN0dXJlPC9sYWJlbD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBkLWZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxpbWcgW3NyY109XCIocmVjdGFuZ3VsYXJJbWFnZSAmJiAhcmVjdGFuZ3VsYXJJbWFnZS5pbmNsdWRlcygnZGVmYXVsdC1waG90by5qcGcnKSkgPyByZWN0YW5ndWxhckltYWdlIDogJ2Fzc2V0cy9pbWcvcmVzb3VyY2UvYmxvZy5wbmcnXCJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlblJlY3RNb2RhbChyZWN0Q29udGVudClcIlxuICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9wZW5SZWN0TW9kYWwocmVjdENvbnRlbnQpXCJcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cImltYWdlIHctMTAwXCJcbiAgICAgICAgICAgICAgICAgICBhbHQ9XCJVcGxvYWRlZCByZWN0YW5ndWxhciBtZWRpYSBwcmV2aWV3XCJcbiAgICAgICAgICAgICAgICAgICAoZXJyb3IpPVwiaGFuZGxlSW1hZ2VFcnJvcigkZXZlbnQsICdhc3NldHMvaW1nL3Jlc291cmNlL2Jsb2cucG5nJylcIiAvPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBtdC0yXCI+XG4gICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJkLWlubGluZS1ibG9ja1wiIChjbGljayk9XCJvcGVuUmVjdE1vZGFsKHJlY3RDb250ZW50KVwiPlxuICAgICAgICAgICAgICAgICAge3sgc2x1ZyAhPT0gJ2NyZWF0ZScgPyAnRWRpdCcgOiAnQWRkJyB9fSBQaWN0dXJlXG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwicmVjdGFuZ3VsYXJJbWFnZSAmJiAhcmVjdGFuZ3VsYXJJbWFnZS5pbmNsdWRlcygnZGVmYXVsdC1waG90by5qcGcnKVwiXG4gICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYSBmYS10cmFzaCBkZWxldGUtaWNvbiB0ZXh0LWRhbmdlciBtcy0yIGN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgICAgICAgICB0aXRsZT1cIlJlbW92ZSBJbWFnZVwiXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZVJlY3Rhbmd1bGFySW1hZ2UoKVwiXG4gICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiZGVsZXRlUmVjdGFuZ3VsYXJJbWFnZSgpXCI+PC9pPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC9kaXY+XG4gICAgPC9mb3JtPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPkNhbmNlbDwvYnV0dG9uPlxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiBbYnV0dG9uQnVzeV09XCJidXR0b25CdXN5XCIgKGNsaWNrKT1cInNhdmVSZXNvdXJjZSgpXCI+U2F2ZTwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaW1hZ2VDcm9wQ29udGVudCBsZXQtbW9kYWw+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cbiAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZVwiPlVwbG9hZCBQaWN0dXJlPC9oNT5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZVwiIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj48L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XG4gICAgPHNtYWxsPllvdSBjYW4gdXBsb2FkIGEgSlBHLCBHSUYsIG9yIFBORyBmaWxlLiAoRG8gbm90IHVwbG9hZCBwaWN0dXJlcyBjb250YWluaW5nIGNlbGVicml0aWVzLFxuICAgICAgbnVkaXR5LCBhcnR3b3JrIG9yIGNvcHlyaWdodGVkIGltYWdlcy4pPC9zbWFsbD5cbiAgICA8cHctaW1hZ2UtY3JvcHBlclxuICAgICAgW2FzcGVjdFJhdGlvXT1cIidkeW5hbWljJ1wiXG4gICAgICAoaW1hZ2VTZWxlY3Rpb25FdmVudCk9XCJvbkltYWdlU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAoY2xvc2VFdmVudCk9XCJtb2RhbC5jbG9zZSgpXCI+XG4gICAgPC9wdy1pbWFnZS1jcm9wcGVyPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcmVjdENvbnRlbnQgbGV0LW1vZGFsPlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIj5VcGxvYWQgUGljdHVyZTwvaDU+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2UgZmxvYXQtZW5kXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPjwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cbiAgICA8c21hbGw+WW91IGNhbiB1cGxvYWQgYSBKUEcsIEdJRiwgb3IgUE5HIGZpbGUuIChEbyBub3QgdXBsb2FkIHBpY3R1cmVzIGNvbnRhaW5pbmcgY2VsZWJyaXRpZXMsXG4gICAgICBudWRpdHksIGFydHdvcmsgb3IgY29weXJpZ2h0ZWQgaW1hZ2VzLik8L3NtYWxsPlxuICAgIDxwdy1pbWFnZS1jcm9wcGVyXG4gICAgICAjcHJvZmlsZVxuICAgICAgW2FzcGVjdFJhdGlvXT1cIidkeW5hbWljJ1wiXG4gICAgICAoaW1hZ2VTZWxlY3Rpb25FdmVudCk9XCJvblJlY3Rhbmd1bGFySW1hZ2VTZWxlY3Rpb24oJGV2ZW50KVwiXG4gICAgICAoY2xvc2VFdmVudCk9XCJvbkNsb3NlKClcIj5cbiAgICA8L3B3LWltYWdlLWNyb3BwZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtZWRpdC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcmVzb3VyY2UtbW9kdWxlL3NyYy9saWIvcHVibGljL2NvbXBvbmVudHMvcmVzb3VyY2UtZWRpdC1jYXJkL3Jlc291cmNlLWVkaXQtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Jlc291cmNlLW1vZHVsZS9zcmMvbGliL3B1YmxpYy9jb21wb25lbnRzL3Jlc291cmNlLWVkaXQtY2FyZC9yZXNvdXJjZS1lZGl0LWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLFdBQVcsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBRXhELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQU81RCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsZ0JBQWdCO0lBbUIzRCxZQUNxQixFQUFlLEVBQ2YsWUFBc0IsRUFDdEIsZUFBZ0MsRUFDaEMsV0FBd0IsRUFDeEIsVUFBc0IsRUFDdkMsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBUEMsT0FB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LElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUNsRCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDO1FBQzNDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQU87UUFDakIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakQsUUFBUSxFQUFFLElBQUk7WUFDZCxXQUFXLEVBQUUsY0FBYztTQUM5QixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBWSxFQUFFLFlBQVk7UUFDdkMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQztJQUMvRCxDQUFDOytHQS9OUSx5QkFBeUI7bUdBQXpCLHlCQUF5Qix5S0NsQnRDLG9nVEFnT0E7OzRGRDlNYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0ksdUJBQXVCOytNQUt4QixFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWJhc2UtY29tcG9uZW50JztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBUYWdTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2hlbHBlci1zZXJ2aWNlJztcblxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuXG5pbXBvcnQgeyBOZ2JNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcblxuaW1wb3J0IHsgUmVzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctcmVzb3VyY2UtZWRpdC1jYXJkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVzb3VyY2UtZWRpdC1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vcmVzb3VyY2UtZWRpdC1jYXJkLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZUVkaXRDYXJkQ29tcG9uZW50IGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgaWQhOiBudW1iZXI7XG4gICAgQElucHV0KCkgcmVzb3VyY2VEYXRhO1xuICAgIEBPdXRwdXQoKSB1cGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgZWRpdEZvcm06IEZvcm1Hcm91cDtcbiAgICBpbWFnZSA9ICcnO1xuICAgIHJlY3Rhbmd1bGFySW1hZ2UgPSAnJztcbiAgICBmaWxlOiBGaWxlIHwgbnVsbCA9IG51bGw7XG4gICAgcmVjdGFuZ3VsYXJGaWxlOiBGaWxlIHwgbnVsbCA9IG51bGw7XG5cbiAgICBpbWFnZU1vZGFsUmVmO1xuICAgIHNlbGVjdGVkVGFncyA9IFtdO1xuICAgIGFsbFRhZ3MgPSBbXTtcbiAgICB0YWdzU3VnZ2VzdGlvbiA9IFtdO1xuICAgIHN1YnNjcmlwdGlvbklkOiBudW1iZXI7XG4gICAgdXNlckxvZ2dlZEluOiBib29sZWFuO1xuICAgIGJ1dHRvbkJ1c3kgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlU2VydmljZTogUmVzb3VyY2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0YWdTZXJ2aWNlOiBUYWdTZXJ2aWNlLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLmVkaXRGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAgICB0aXRsZTogWycnXSxcbiAgICAgICAgICAgIGV4dGVybmFsX3VybDogWycnXSxcbiAgICAgICAgICAgIGN0YV90ZXh0OiBbJyddLFxuICAgICAgICAgICAgd2hlbjogWycnXSxcbiAgICAgICAgICAgIHNob3djYXNlOiBbZmFsc2VdLFxuICAgICAgICAgICAgcHVibGlzaGVkX2F0OiBbZmFsc2VdLFxuICAgICAgICAgICAgYWNjZXB0ZWRfYXQ6IFtmYWxzZV0sXG4gICAgICAgICAgICBib2R5OiBbJyddXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldFRva2VuJCgpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy51c2VyTG9nZ2VkSW4gPSAhIXJlcztcbiAgICAgICAgICAgIGlmICh0aGlzLnVzZXJMb2dnZWRJbikge1xuICAgICAgICAgICAgICAgIHRoaXMubG9jYWxTdG9yYWdlLmdldEl0ZW0kKCdwcm9kdWN0Jykuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSByZXMgPyBKU09OLnBhcnNlKHJlcykgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gZGF0YT8uc3Vic2NyaXB0aW9uSWQ7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5hdmlnYXRlVG9SZXNvdXJjZUVkaXQoKSB7XG4gICAgICAgIGNvbnN0IGJhc2VQYXRoID0gYC9hZG1pbi9yZXNvdXJjZXMvJHt0aGlzLnJlc291cmNlRGF0YT8uc2x1Z31gO1xuICAgICAgICBjb25zdCBmdWxsVXJsID0gYCR7bG9jYXRpb24ub3JpZ2lufSR7YmFzZVBhdGh9YDtcbiAgICAgICAgd2luZG93Lm9wZW4oZnVsbFVybCwgJ19ibGFuaycpO1xuICAgIH1cblxuICAgIG9wZW5Nb2RhbChtb2RhbFRlbXBsYXRlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnJlc291cmNlRGF0YSkge1xuICAgICAgICAgICAgY29uc3Qgd2hlbiA9IHRoaXMucmVzb3VyY2VEYXRhLndoZW4gPyBuZXcgRGF0ZSh0aGlzLnJlc291cmNlRGF0YS53aGVuKSA6IG51bGw7XG4gICAgICAgICAgICB0aGlzLmVkaXRGb3JtLnNldFZhbHVlKHtcbiAgICAgICAgICAgICAgICB0aXRsZTogdGhpcy5yZXNvdXJjZURhdGEudGl0bGUgPz8gJycsXG4gICAgICAgICAgICAgICAgZXh0ZXJuYWxfdXJsOiB0aGlzLnJlc291cmNlRGF0YS5leHRlcm5hbF91cmwgPz8gJycsXG4gICAgICAgICAgICAgICAgY3RhX3RleHQ6IHRoaXMucmVzb3VyY2VEYXRhLmN0YV90ZXh0ID8/ICcnLFxuICAgICAgICAgICAgICAgIHdoZW46IHdoZW4gPz8gJycsXG4gICAgICAgICAgICAgICAgc2hvd2Nhc2U6ICEhdGhpcy5yZXNvdXJjZURhdGEuc2hvd2Nhc2UsXG4gICAgICAgICAgICAgICAgcHVibGlzaGVkX2F0OiAhIXRoaXMucmVzb3VyY2VEYXRhLnB1Ymxpc2hlZF9hdCxcbiAgICAgICAgICAgICAgICBhY2NlcHRlZF9hdDogISF0aGlzLnJlc291cmNlRGF0YS5hY2NlcHRlZF9hdCxcbiAgICAgICAgICAgICAgICBib2R5OiB0aGlzLnJlc291cmNlRGF0YS5ib2R5XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuaW1hZ2UgPSB0aGlzLnJlc291cmNlRGF0YS5waWN0dXJlPy51cmwgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVGFncyA9IHRoaXMucmVzb3VyY2VEYXRhPy50YWdzPy5sZW5ndGggPyBbLi4udGhpcy5yZXNvdXJjZURhdGEudGFnc10gOiBbXTtcbiAgICAgICAgICAgIHRoaXMucmVjdGFuZ3VsYXJJbWFnZSA9IHRoaXMucmVzb3VyY2VEYXRhLnJlY3Rhbmd1bGFyX3BpY3R1cmU/LnVybCA/PyAnJztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuKG1vZGFsVGVtcGxhdGUsIHsgY2VudGVyZWQ6IHRydWUsIHNpemU6ICdsZycgfSk7XG4gICAgICAgIHRoaXMuZ2V0UG9zdFRhZ3MoKTtcbiAgICB9XG5cbiAgICBzZWFyY2goZXZlbnQpIHtcbiAgICAgICAgbGV0IHZhbHVlcyA9IFtdO1xuICAgICAgICBpZiAoZXZlbnQucXVlcnkpIHtcbiAgICAgICAgICAgIHZhbHVlcyA9IHRoaXMuYWxsVGFncy5maWx0ZXIoeCA9PlxuICAgICAgICAgICAgICAgIHgubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGV2ZW50LnF1ZXJ5LnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hbGxUYWdzLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgICAgICAgdmFsdWVzLnB1c2goZWxlbWVudCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRhZ3NTdWdnZXN0aW9uID0gdmFsdWVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UG9zdFRhZ3MoKSB7XG4gICAgICAgIHRoaXMudGFnU2VydmljZVxuICAgICAgICAgICAgLmdldFRhZ3NCeVR5cGUoJ3Bvc3RfY2F0ZWdvcmllcycsIHt9LCB0aGlzLnN1YnNjcmlwdGlvbklkKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hbGxUYWdzID0gcmVzcG9uc2UudGFncztcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGRlbGV0ZVJlY3Rhbmd1bGFySW1hZ2UoKSB7XG4gICAgICAgIHRoaXMucmVjdGFuZ3VsYXJJbWFnZSA9IG51bGw7XG4gICAgICAgIHRoaXMucmVjdGFuZ3VsYXJGaWxlID0gbnVsbDtcbiAgICB9XG4gICAgb3BlbkltYWdlTW9kYWwobW9kYWxUZW1wbGF0ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmltYWdlTW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKG1vZGFsVGVtcGxhdGUsIHsgY2VudGVyZWQ6IHRydWUsIHNpemU6ICdtZCcgfSk7XG4gICAgfVxuXG4gICAgb25JbWFnZVNlbGVjdGVkKGJhc2U2NDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW1hZ2UgPSBiYXNlNjQ7XG4gICAgICAgIHRoaXMuZmlsZSA9IEhlbHBlclNlcnZpY2UuY29udmVydEJhc2U2NFRvRmlsZShiYXNlNjQpO1xuICAgICAgICB0aGlzLmltYWdlTW9kYWxSZWY/LmNsb3NlKCk7XG4gICAgfVxuXG4gICAgb25SZWN0YW5ndWxhckltYWdlU2VsZWN0aW9uKGJhc2U2NDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMucmVjdGFuZ3VsYXJJbWFnZSA9IGJhc2U2NDtcbiAgICAgICAgdGhpcy5yZWN0YW5ndWxhckZpbGUgPSBIZWxwZXJTZXJ2aWNlLmNvbnZlcnRCYXNlNjRUb0ZpbGUoYmFzZTY0KTtcbiAgICAgICAgdGhpcy5pbWFnZU1vZGFsUmVmPy5jbG9zZSgpO1xuICAgIH1cblxuICAgIHJlbW92ZUltYWdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmltYWdlID0gbnVsbDtcbiAgICAgICAgdGhpcy5maWxlID0gbnVsbDtcbiAgICB9XG5cbiAgICBzYXZlUmVzb3VyY2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYnV0dG9uQnVzeSA9IHRydWU7XG4gICAgICAgIHRoaXMuc2F2ZVRhZ3ModGhpcy5pZCk7XG4gICAgICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICAgICAgICAuLi50aGlzLmVkaXRGb3JtLnZhbHVlLFxuICAgICAgICAgICAgc3Vic2NyaXB0aW9uX2lkOiB0aGlzLnN1YnNjcmlwdGlvbklkXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5oYW5kbGVQaWN0dXJlKHBheWxvYWQpO1xuICAgICAgICB0aGlzLmhhbmRsZVB1Ymxpc2hlZEF0KHBheWxvYWQpO1xuICAgICAgICB0aGlzLmhhbmRsZUFjY2VwdGVkQXQocGF5bG9hZCk7XG4gICAgICAgIHRoaXMuaGFuZGxlQWNjZXB0ZWRBdChwYXlsb2FkKTtcbiAgICAgICAgdGhpcy5oYW5kbGVPcHRpb25hbEZpZWxkcyhwYXlsb2FkKTtcbiAgICAgICAgdGhpcy5oYW5kbGVSZWN0YW5ndWxhclBpY3R1cmUocGF5bG9hZCk7XG4gICAgICAgIHRoaXMuaGFuZGxlUmVtb3ZhbHMocGF5bG9hZCk7XG5cbiAgICAgICAgdGhpcy5yZXNvdXJjZVNlcnZpY2UudXBkYXRlUG9zdChwYXlsb2FkLCB0aGlzLmlkKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5idXR0b25CdXN5ID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3MoJ0Jsb2cgUG9zdCBVcGRhdGVkJyk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZWQuZW1pdCgpO1xuICAgICAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2UuZGlzbWlzc0FsbCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNhdmVUYWdzKGlkOiBudW1iZXIgfCBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRUYWdzLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgICAgICAgICBlbnRpdHlfdGFnczogdGhpcy5zZWxlY3RlZFRhZ3MubWFwKHRhZyA9PiAoeyB0YWdfaWQ6IHRhZy5pZCB9KSksXG4gICAgICAgICAgICAgICAgc2x1ZzogaWQsXG4gICAgICAgICAgICAgICAgdGFnX2VudGl0eTogJ1Bvc3QnIC8vIG9yIHVzZSBUQUdfRU5USVRZLlBPU1QgaWYgeW91IGltcG9ydGVkIGl0XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB0aGlzLnRhZ1NlcnZpY2UuYWRkVGFncyhkYXRhLCB0aGlzLnN1YnNjcmlwdGlvbklkKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlUGljdHVyZShkYXRhKSB7XG4gICAgICAgIGlmICh0aGlzLmZpbGUpIHtcbiAgICAgICAgICAgIGRhdGEucGljdHVyZSA9IHRoaXMuZmlsZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRlbGV0ZSBkYXRhLnBpY3R1cmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVB1Ymxpc2hlZEF0KGRhdGEpIHtcbiAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuZWRpdEZvcm0uZ2V0KCdwdWJsaXNoZWRfYXQnKTtcbiAgICAgICAgaWYgKGNvbnRyb2w/LmRpcnR5KSB7XG4gICAgICAgICAgICBkYXRhLnB1Ymxpc2hlZF9hdCA9IGNvbnRyb2wudmFsdWUgPyBtb21lbnQoKS5mb3JtYXQoJ0RELU1NTS1ZWVlZJykgOiAnJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRlbGV0ZSBkYXRhLnB1Ymxpc2hlZF9hdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlQWNjZXB0ZWRBdChkYXRhKSB7XG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmVkaXRGb3JtLmdldCgnYWNjZXB0ZWRfYXQnKTtcbiAgICAgICAgaWYgKGNvbnRyb2w/LmRpcnR5KSB7XG4gICAgICAgICAgICBkYXRhLmFjY2VwdGVkX2F0ID0gY29udHJvbC52YWx1ZSA/IG1vbWVudCgpLmZvcm1hdCgnREQtTU1NLVlZWVknKSA6ICcnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZGVsZXRlIGRhdGEuYWNjZXB0ZWRfYXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZU9wdGlvbmFsRmllbGRzKGRhdGEpIHtcbiAgICAgICAgaWYgKCF0aGlzLmVkaXRGb3JtLmdldCgnd2hlbicpPy52YWx1ZSkge1xuICAgICAgICAgICAgZGF0YS53aGVuID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmVkaXRGb3JtLmdldCgnc2hvd2Nhc2UnKT8udmFsdWUpIHtcbiAgICAgICAgICAgIGRhdGEuc2hvd2Nhc2UgPSAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlUmVjdGFuZ3VsYXJQaWN0dXJlKGRhdGEpIHtcbiAgICAgICAgaWYgKHRoaXMucmVjdGFuZ3VsYXJGaWxlKSB7XG4gICAgICAgICAgICBkYXRhLnJlY3Rhbmd1bGFyX3BpY3R1cmUgPSB0aGlzLnJlY3Rhbmd1bGFyRmlsZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRlbGV0ZSBkYXRhLnJlY3Rhbmd1bGFyX3BpY3R1cmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVJlbW92YWxzKGRhdGEpIHtcbiAgICAgICAgaWYgKCF0aGlzLmZpbGUgJiYgIXRoaXMuaW1hZ2UpIHtcbiAgICAgICAgICAgIGRhdGEucmVtb3ZlX3BpY3R1cmUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5yZWN0YW5ndWxhckZpbGUgJiYgIXRoaXMucmVjdGFuZ3VsYXJJbWFnZSkge1xuICAgICAgICAgICAgZGF0YS5yZW1vdmVfcmVjdGFuZ3VsYXJfcGljdHVyZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvcGVuUmVjdE1vZGFsKGNvbnRlbnQpIHtcbiAgICAgICAgdGhpcy5pbWFnZU1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3Blbihjb250ZW50LCB7XG4gICAgICAgICAgICBjZW50ZXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIHdpbmRvd0NsYXNzOiAnbW9kYWwtaG9sZGVyJ1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbWFnZUVycm9yKGV2ZW50OiBFdmVudCwgZmFsbGJhY2tQYXRoKTogdm9pZCB7XG4gICAgICAgIEhlbHBlclNlcnZpY2UuaGFuZGxlSW1hZ2VGYWxsYmFja1BhdGgoZXZlbnQsIGZhbGxiYWNrUGF0aCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImVkaXQtY2FyZFwiPlxuICA8aSBjbGFzcz1cImZhIGZhLWVkaXQgY3Vyc29yLXBvaW50ZXIgdGV4dC1kYXJrIGluLXBhZ2UtZWRpdC1pY29uIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIG1iLTJcIlxuICAgICAoY2xpY2spPVwib3Blbk1vZGFsKGVkaXRSZXNvdXJjZU1vZGFsKVwiXG4gICAgIChrZXlkb3duLmVudGVyKT1cIm9wZW5Nb2RhbChlZGl0UmVzb3VyY2VNb2RhbClcIlxuICAgICAoa2V5ZG93bi5zcGFjZSk9XCJvcGVuTW9kYWwoZWRpdFJlc291cmNlTW9kYWwpXCJcbiAgICAgdGl0bGU9XCJFZGl0IFJlc291cmNlXCI+PC9pPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZWRpdFJlc291cmNlTW9kYWwgbGV0LW1vZGFsPlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIj5FZGl0IFJlc291cmNlPC9oNT5cbiAgICA8aSBjbGFzcz1cImZhIGZhLWVkaXQgY3Vyc29yLXBvaW50ZXIgdGV4dC1kYXJrIGluLXBhZ2UtZWRpdC1pY29uIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIG1zLTNcIlxuICAgICAoY2xpY2spPVwibmF2aWdhdGVUb1Jlc291cmNlRWRpdCgpXCJcbiAgICAgKGtleWRvd24uZW50ZXIpPVwibmF2aWdhdGVUb1Jlc291cmNlRWRpdCgpXCJcbiAgICAgKGtleWRvd24uc3BhY2UpPVwibmF2aWdhdGVUb1Jlc291cmNlRWRpdCgpXCJcbiAgICAgdGl0bGU9XCJHbyB0byB0aGUgbWFpbiBlZGl0IHBhZ2VcIj48L2k+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2VcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIiAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+PC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJlZGl0Rm9ybVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuXG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgbGFiZWw9XCJUaXRsZVwiIG5hbWU9XCJ0aXRsZVwiPlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiIC8+XG4gICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgcm93XCI+XG4gICAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBsYWJlbD1cIkNUQSBUZXh0XCIgbmFtZT1cImN0YV90ZXh0XCIgY2xhc3M9XCJjb2wtbWQtNlwiXG4gICAgICAgICAgICBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ1Jlc291cmNlLlBvc3RzLlRvb2x0aXAuQ3RhVGV4dCcgfCB0cmFuc2xvY29cIj5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZm9ybUNvbnRyb2xOYW1lPVwiY3RhX3RleHRcIiAvPlxuICAgICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuXG4gICAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBsYWJlbD1cIkV4dGVybmFsIFVSTFwiIG5hbWU9XCJleHRlcm5hbF91cmxcIiBjbGFzcz1cImNvbC1tZC02XCJcbiAgICAgICAgICAgIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInUmVzb3VyY2UuUG9zdHMuVG9vbHRpcC5FeHRlcm5hbFVybCcgfCB0cmFuc2xvY29cIj5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZm9ybUNvbnRyb2xOYW1lPVwiZXh0ZXJuYWxfdXJsXCIgLz5cbiAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXJcbiAgICAgICAgICAgIFtsYWJlbF09XCInUmVzb3VyY2UuUG9zdHMuQm9keScgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgbmFtZT1cImJvZHlcIlxuICAgICAgICAgICAgW2Vycm9yTXNnXT1cIidSZXNvdXJjZS5Qb3N0cy5WYWxpZGF0aW9uLkJvZHknIHwgdHJhbnNsb2NvXCI+XG4gICAgICAgICAgICA8cXVpbGwtZWRpdG9yXG4gICAgICAgICAgICAgIFtzdHlsZXNdPVwieyBoZWlnaHQ6ICczMDBweCcgfVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwicXVpbGxFZGl0b3JcIlxuICAgICAgICAgICAgICBbbW9kdWxlc109XCJlZGl0b3JDb25maWdcIlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJib2R5XCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICd3LTEwMCc6IHRydWUsXG4gICAgICAgICAgICAgICAgJ3F1aWxsLWNvbnRhaW5lcic6IHRydWUsXG4gICAgICAgICAgICAgICAgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnYm9keSddLmVycm9yc1xuICAgICAgICAgICAgICB9XCI+XG4gICAgICAgICAgICA8L3F1aWxsLWVkaXRvcj5cbiAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbWQtMyBjb2wtc20tNlwiPlxuICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXJcbiAgICAgICAgICAgIFtsYWJlbF09XCInUmVzb3VyY2UuUG9zdHMuV2hlbicgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidSZXNvdXJjZS5Qb3N0cy5Ub29sdGlwLldoZW4nIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgIG5hbWU9XCJ3aGVuXCI+XG4gICAgICAgICAgICA8cC1jYWxlbmRhciBmb3JtQ29udHJvbE5hbWU9XCJ3aGVuXCJcbiAgICAgICAgICAgICAgW3Nob3dJY29uXT1cInRydWVcIlxuICAgICAgICAgICAgICBkYXRlRm9ybWF0PVwiZGQtTS15eVwiXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU2VsZWN0IERhdGUnXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWyd3aGVuJ10uZXJyb3JzIH1cIj5cbiAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cbiAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbWQtOFwiPlxuICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXJcbiAgICAgICAgICAgIFtsYWJlbF09XCInUmVzb3VyY2UuUG9zdHMuVGFncycgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgY2xhc3M9XCJ1aS1mbHVpZCBza2lsbHMtbW9kYWwgdGFnc1wiXG4gICAgICAgICAgICBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ1Jlc291cmNlLlBvc3RzLlRvb2x0aXAuQ3RhVGV4dCcgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgbmFtZT1cImN0YV90ZXh0XCI+XG4gICAgICAgICAgICA8cC1hdXRvQ29tcGxldGUgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFRhZ3NcIlxuICAgICAgICAgICAgICBjbGFzcz1cImJvZHktYmdcIlxuICAgICAgICAgICAgICBbc3VnZ2VzdGlvbnNdPVwidGFnc1N1Z2dlc3Rpb25cIlxuICAgICAgICAgICAgICBkYXRhS2V5PVwiaWRcIlxuICAgICAgICAgICAgICBmaWVsZD1cIm5hbWVcIlxuICAgICAgICAgICAgICAoY29tcGxldGVNZXRob2QpPVwic2VhcmNoKCRldmVudClcIlxuICAgICAgICAgICAgICBzdHlsZUNsYXNzPVwidy0xMDBcIlxuICAgICAgICAgICAgICBbbWluTGVuZ3RoXT1cIjFcIlxuICAgICAgICAgICAgICBbbWF4bGVuZ3RoXT1cIjEwXCJcbiAgICAgICAgICAgICAgW2Ryb3Bkb3duXT1cInRydWVcIlxuICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlRhZ3NcIlxuICAgICAgICAgICAgICBbbXVsdGlwbGVdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPC9wLWF1dG9Db21wbGV0ZT5cbiAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiByb3dcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgY29sLXNtLTZcIj5cbiAgICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXJcbiAgICAgICAgICAgICAgW2xhYmVsXT1cIidTSE9XQ0FTRSdcIlxuICAgICAgICAgICAgICBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInTWFyayBhcyBzaG93Y2FzZSBwb3N0J1wiXG4gICAgICAgICAgICAgIG5hbWU9XCJzaG93Y2FzZVwiPlxuICAgICAgICAgICAgICA8dWktc3dpdGNoIGZvcm1Db250cm9sTmFtZT1cInNob3djYXNlXCIgY2xhc3M9XCJkLWJsb2NrXCI+PC91aS1zd2l0Y2g+XG4gICAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBjb2wtc20tNlwiPlxuICAgICAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lclxuICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1BVQkxJU0hFRCdcIlxuICAgICAgICAgICAgICBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInU2V0IHRvIHB1Ymxpc2ggdGhlIHBvc3QnXCJcbiAgICAgICAgICAgICAgbmFtZT1cInB1Ymxpc2hlZF9hdFwiPlxuICAgICAgICAgICAgICA8dWktc3dpdGNoIGZvcm1Db250cm9sTmFtZT1cInB1Ymxpc2hlZF9hdFwiIGNsYXNzPVwiZC1ibG9ja1wiPjwvdWktc3dpdGNoPlxuICAgICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgY29sLXNtLTZcIj5cbiAgICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXJcbiAgICAgICAgICAgICAgW2xhYmVsXT1cIidBQ0NFUFRFRCBCWSBBRE1JTidcIlxuICAgICAgICAgICAgICBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInSW5kaWNhdGVzIGFwcHJvdmFsIGJ5IGFkbWluJ1wiXG4gICAgICAgICAgICAgIG5hbWU9XCJhY2NlcHRlZF9hdFwiPlxuICAgICAgICAgICAgICA8dWktc3dpdGNoIGZvcm1Db250cm9sTmFtZT1cImFjY2VwdGVkX2F0XCIgY2xhc3M9XCJkLWJsb2NrXCI+PC91aS1zd2l0Y2g+XG4gICAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbWQtNCBjb2wtc20tNCBteS00IG1zLTNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbWItNFwiPlxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImNvdmVyUGljdHVyZVwiPnt7ICdSZXNvdXJjZS5Qb3N0cy5Db3ZlclBpY3R1cmUnIHwgdHJhbnNsb2NvIH19PC9sYWJlbD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBkLWZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxpbWcgW3NyY109XCIoaW1hZ2UgJiYgIWltYWdlLmluY2x1ZGVzKCdkZWZhdWx0LXBob3RvLmpwZycpKSA/IGltYWdlIDogJ2Fzc2V0cy9pbWcvcmVzb3VyY2UvYmxvZy5wbmcnXCJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbkltYWdlTW9kYWwoaW1hZ2VDcm9wQ29udGVudClcIlxuICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9wZW5JbWFnZU1vZGFsKGltYWdlQ3JvcENvbnRlbnQpXCJcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cImltYWdlIHctMTAwXCJcbiAgICAgICAgICAgICAgICAgICBhbHQ9XCJNb2RhbFwiXG4gICAgICAgICAgICAgICAgICAgKGVycm9yKT1cImhhbmRsZUltYWdlRXJyb3IoJGV2ZW50LCAnYXNzZXRzL2ltZy9yZXNvdXJjZS9ibG9nLnBuZycpXCIgLz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgbXQtMlwiPlxuICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZC1pbmxpbmUtYmxvY2tcIiAoY2xpY2spPVwib3BlbkltYWdlTW9kYWwoaW1hZ2VDcm9wQ29udGVudClcIj5cbiAgICAgICAgICAgICAgICAgIHt7IHNsdWcgIT09ICdjcmVhdGUnID8gJ0VkaXQnIDogJ0FkZCcgfX0gUGljdHVyZVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImltYWdlICYmICFpbWFnZS5pbmNsdWRlcygnZGVmYXVsdC1waG90by5qcGcnKVwiXG4gICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYSBmYS10cmFzaCBkZWxldGUtaWNvbiB0ZXh0LWRhbmdlciBtcy0yIGN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgICAgICAgICB0aXRsZT1cIlJlbW92ZSBJbWFnZVwiXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUltYWdlKClcIlxuICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cInJlbW92ZUltYWdlKClcIj48L2k+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLW1kLTQgY29sLXNtLTQgbXktNCBtcy0zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG1iLTRcIj5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJyZWN0YW5ndWxhclBpY3R1cmVcIj5SZWN0YW5ndWxhciBQaWN0dXJlPC9sYWJlbD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBkLWZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxpbWcgW3NyY109XCIocmVjdGFuZ3VsYXJJbWFnZSAmJiAhcmVjdGFuZ3VsYXJJbWFnZS5pbmNsdWRlcygnZGVmYXVsdC1waG90by5qcGcnKSkgPyByZWN0YW5ndWxhckltYWdlIDogJ2Fzc2V0cy9pbWcvcmVzb3VyY2UvYmxvZy5wbmcnXCJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlblJlY3RNb2RhbChyZWN0Q29udGVudClcIlxuICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9wZW5SZWN0TW9kYWwocmVjdENvbnRlbnQpXCJcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cImltYWdlIHctMTAwXCJcbiAgICAgICAgICAgICAgICAgICBhbHQ9XCJVcGxvYWRlZCByZWN0YW5ndWxhciBtZWRpYSBwcmV2aWV3XCJcbiAgICAgICAgICAgICAgICAgICAoZXJyb3IpPVwiaGFuZGxlSW1hZ2VFcnJvcigkZXZlbnQsICdhc3NldHMvaW1nL3Jlc291cmNlL2Jsb2cucG5nJylcIiAvPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBtdC0yXCI+XG4gICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJkLWlubGluZS1ibG9ja1wiIChjbGljayk9XCJvcGVuUmVjdE1vZGFsKHJlY3RDb250ZW50KVwiPlxuICAgICAgICAgICAgICAgICAge3sgc2x1ZyAhPT0gJ2NyZWF0ZScgPyAnRWRpdCcgOiAnQWRkJyB9fSBQaWN0dXJlXG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwicmVjdGFuZ3VsYXJJbWFnZSAmJiAhcmVjdGFuZ3VsYXJJbWFnZS5pbmNsdWRlcygnZGVmYXVsdC1waG90by5qcGcnKVwiXG4gICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYSBmYS10cmFzaCBkZWxldGUtaWNvbiB0ZXh0LWRhbmdlciBtcy0yIGN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgICAgICAgICB0aXRsZT1cIlJlbW92ZSBJbWFnZVwiXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZVJlY3Rhbmd1bGFySW1hZ2UoKVwiXG4gICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiZGVsZXRlUmVjdGFuZ3VsYXJJbWFnZSgpXCI+PC9pPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC9kaXY+XG4gICAgPC9mb3JtPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPkNhbmNlbDwvYnV0dG9uPlxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiBbYnV0dG9uQnVzeV09XCJidXR0b25CdXN5XCIgKGNsaWNrKT1cInNhdmVSZXNvdXJjZSgpXCI+U2F2ZTwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaW1hZ2VDcm9wQ29udGVudCBsZXQtbW9kYWw+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cbiAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZVwiPlVwbG9hZCBQaWN0dXJlPC9oNT5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZVwiIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj48L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XG4gICAgPHNtYWxsPllvdSBjYW4gdXBsb2FkIGEgSlBHLCBHSUYsIG9yIFBORyBmaWxlLiAoRG8gbm90IHVwbG9hZCBwaWN0dXJlcyBjb250YWluaW5nIGNlbGVicml0aWVzLFxuICAgICAgbnVkaXR5LCBhcnR3b3JrIG9yIGNvcHlyaWdodGVkIGltYWdlcy4pPC9zbWFsbD5cbiAgICA8cHctaW1hZ2UtY3JvcHBlclxuICAgICAgW2FzcGVjdFJhdGlvXT1cIidkeW5hbWljJ1wiXG4gICAgICAoaW1hZ2VTZWxlY3Rpb25FdmVudCk9XCJvbkltYWdlU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAoY2xvc2VFdmVudCk9XCJtb2RhbC5jbG9zZSgpXCI+XG4gICAgPC9wdy1pbWFnZS1jcm9wcGVyPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcmVjdENvbnRlbnQgbGV0LW1vZGFsPlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIj5VcGxvYWQgUGljdHVyZTwvaDU+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2UgZmxvYXQtZW5kXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPjwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cbiAgICA8c21hbGw+WW91IGNhbiB1cGxvYWQgYSBKUEcsIEdJRiwgb3IgUE5HIGZpbGUuIChEbyBub3QgdXBsb2FkIHBpY3R1cmVzIGNvbnRhaW5pbmcgY2VsZWJyaXRpZXMsXG4gICAgICBudWRpdHksIGFydHdvcmsgb3IgY29weXJpZ2h0ZWQgaW1hZ2VzLik8L3NtYWxsPlxuICAgIDxwdy1pbWFnZS1jcm9wcGVyXG4gICAgICAjcHJvZmlsZVxuICAgICAgW2FzcGVjdFJhdGlvXT1cIidkeW5hbWljJ1wiXG4gICAgICAoaW1hZ2VTZWxlY3Rpb25FdmVudCk9XCJvblJlY3Rhbmd1bGFySW1hZ2VTZWxlY3Rpb24oJGV2ZW50KVwiXG4gICAgICAoY2xvc2VFdmVudCk9XCJvbkNsb3NlKClcIj5cbiAgICA8L3B3LWltYWdlLWNyb3BwZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -18,10 +18,10 @@ export class IntegrationTopBannerComponent extends BaseTopBannerComponent {
|
|
|
18
18
|
return 'Integrations';
|
|
19
19
|
}
|
|
20
20
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: IntegrationTopBannerComponent, deps: [{ token: i1.ResourceService }, { token: i2.TagService }, { token: i2.AuthService }, { token: i3.Title }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: IntegrationTopBannerComponent, selector: "pw-integration-top-banner", usesInheritance: true, ngImport: i0, template: "<section class=\"bg-white pricing-section\">\n <div class=\"nce-banner\">\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\" *ngIf=\"isLoaded\">\n\n <!-- Left Content -->\n <div class=\"text-content\">\n <div class=\"nce-heading\">\n <h1 class=\"nce-header mb-4\">\n <span class=\"d-inline-flex align-items-center gap-2 flex-wrap\">\n <span [innerHTML]=\"blogPostTag?.title || 'Integrated vendors'\"></span>\n <pw-resource-top-banner-edit\n *ngIf=\"canEditResources()\"\n [blogPostTag]=\"blogPostTag\"\n (getUpdatedTag)=\"getPostTags()\"\n ></pw-resource-top-banner-edit>\n </span>\n <span class=\"blue-text\"></span>\n </h1>\n </div>\n </div>\n\n <!-- Add directly below .text-content, still inside .container -->\n <div class=\"text-extension mt-4\">\n\n <div class=\"cta-buttons d-flex flex-column justify-between h-100\">\n <div class=\"flex-grow-1\">\n <ng-container *ngIf=\"blogPostTag?.description && blogPostTag.description !== 'null' ; else defaultDescription\">\n <p class=\"intro\" [innerHTML]=\"blogPostTag.description\"></p>\n </ng-container>\n <ng-template #defaultDescription>\n <p class=\"intro\">\n Browse below the vendor integrations<br />\n we support.\n </p>\n </ng-template>\n </div>\n\n <!-- Buttons always at bottom -->\n <div class=\"d-flex gap-3 flex-wrap mt-3\">\n <a [href]=\"contactUsUrl\" target=\"_blank\"\n class=\"cta-btn filled\">Speak to sales ></a>\n </div>\n </div>\n</div>\n\n <!-- Right Content -->\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <div class=\"nce-math-img\" ></div>\n <img class=\"nce-laptop-img dyn-img\"\n [src]=\"(blogPostTag?.image?.url && !(blogPostTag?.image?.url.includes('no_image_uploaded_squared'))) ? blogPostTag?.image?.url : '/assets/img/resource/men.png'\"\n alt=\"NCEasy laptop screen\" />\n </div>\n\n </div>\n </div>\n</section>\n", styles: ["@charset \"UTF-8\";.cta-btn{display:inline-block;background:var(--text-color, black);color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.cta-btn:hover{background-color:#fff!important;color:var(--text-color, black)!important}@media (width <= 768px){.dyn-img{top:-3rem!important}}.text-extension{max-width:560px}.text-extension .intro{font-size:2rem;line-height:3rem;font-weight:400;color:var(--text-color);margin-bottom:1rem}.text-extension .cta-buttons{margin-top:2rem!important}.text-extension .note{font-size:1.2rem;color:#000;margin-top:1rem;margin-left:3rem}.nce-banner{box-shadow:0 4px 32px -14px #40576d4d!important;position:relative;padding:5rem 0;color:#fff;background:linear-gradient(90deg,var(--first) 0%,#a8e1fb 100%);overflow:hidden;z-index:2}@media (width <= 1200px){.nce-banner .container{padding:7rem 3rem 0rem!important}}.nce-banner:after{content:\"\";position:absolute;bottom:0;left:0;width:100%;height:61%;background:#fff;clip-path:polygon(0 18%,100% 0%,100% 100%,0% 100%)}.nce-banner .container{position:relative;z-index:2}.nce-banner .text-content{max-width:500px;text-align:left;margin-bottom:75rem}.nce-banner .text-content h1{margin-bottom:1.5rem;line-height:1.2}.nce-banner .text-content .intro{font-size:1.2rem;margin:1rem 0;color:#000}.nce-banner .text-content .cta-btn{display:inline-block;background:#000;color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem}.nce-banner .text-content .cta-buttons{margin-top:2rem}.nce-banner .text-content .note{margin-top:1rem;margin-left:5.6rem;font-size:.9rem;color:#555}.nce-banner .nce-header{max-width:500px;font-weight:500;color:#fff!important;font-size:4.5rem!important}.nce-banner .blue-text{font-weight:100}@media (width <= 991px){.nce-banner .text-content{margin-top:1.5rem;margin-bottom:0;text-align:center;max-width:360px}.nce-banner .text-content h1{margin-bottom:6.5rem!important}.nce-banner .nce-header{font-size:2.5rem!important}.nce-banner .cta-buttons{margin-top:0rem!important;justify-content:center!important}.nce-banner .note{margin-left:8rem!important}.nce-banner .image-content{position:relative;margin-bottom:3rem;height:230px}.nce-banner .image-content .floating-box{position:absolute;top:25px;left:3rem;transform:translate(-50%) rotate(-10deg);background:#fff;padding:.75rem 1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;z-index:3;display:inline-block;width:auto}.nce-banner .image-content .floating-box img{width:24px;margin-bottom:.4rem}.nce-banner .image-content .floating-box .label{font-size:.75rem;color:#333;margin:0;line-height:1.2}.nce-banner .image-content .floating-box .count{font-size:1.2rem;font-weight:700;color:#000;margin-top:.25rem}.nce-banner .image-content .screen-img{max-width:280px;position:absolute;bottom:0;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003}.nce-banner .image-content .person-img{max-width:170px;width:100%;position:relative;z-index:3;left:13rem;top:-11.35rem}.nce-banner .image-content .nce-laptop-img{max-width:300px;width:100%;position:relative;z-index:3;margin-top:3rem;left:2%;height:auto!important;top:4rem}}@media (width >= 991px){.nce-banner .text-content{position:absolute;width:760px}}.white-content{background:#fff;color:#000}.white-content .intro{font-size:1.2rem;color:#000}.white-content .note{font-size:.85rem;margin-top:1rem;color:#555}@media (width >= 991px){.section-outer{padding-top:7rem!important}}@media (width >= 768px) and (width <= 991px){.nce-math-img{left:36%!important;top:22rem!important}}@media (width >= 991px) and (width <= 1200px){.text-extension{max-width:760px;position:absolute;margin-bottom:23rem!important}.nce-divider{top:63.5rem;position:absolute!important}.nce-banner{padding-bottom:90px!important}}@media (width >= 1200px){.text-extension{max-width:500px;position:absolute;margin-bottom:31rem!important}.nce-laptop-img{width:100%;max-width:800px!important;max-height:800px!important;height:auto}}@media (width >= 1200px){.nce-divider{top:59.5rem;position:absolute!important}.cta-tab{margin-bottom:5rem!important}}@media (width >= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-laptop-img{top:4rem;left:2rem;position:relative}.image-content .nce-math-img{bottom:9rem;left:61rem;position:relative;height:312px;margin-right:1rem;min-width:450px!important}}@media (width <= 786px){.text-extension{position:absolute;margin:3rem;margin-top:11rem!important}}@media (width >= 786px) and (width <= 991px){.text-extension{position:absolute;margin:3rem;margin-top:24rem!important}}@media (width >= 704px) and (width <= 768px){.nce-laptop-img{top:18rem!important;right:30%!important;left:auto!important}}@media (width >= 786px) and (width <= 991px){.nce-laptop-img{max-width:250px!important;top:18rem!important;right:30%!important;left:auto!important}}@media (width >= 991px) and (width <= 1200px){.nce-laptop-img{top:7rem;left:3%;position:relative;width:100%;max-width:600px!important;height:auto}}@media (width >= 786px) and (width <= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-math-img{height:243px!important;min-width:350px;bottom:9rem;left:34rem;position:relative;width:350px!important}}@media (width <= 991px){.nce-banner{padding-bottom:15rem}}@media (width <= 768px){.nce-math-img{top:18rem}.cta-btn{justify-content:center}.nce-divider{margin-top:49rem!important}.intro{font-size:1.7rem!important}}@media (width >= 768px) and (width <= 991px){.cta-btn{justify-content:center}.nce-divider{margin-top:36rem!important}}@media (width >= 991px){.nce-banner{padding-top:768px;padding-bottom:42px;overflow:hidden}.section-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.nce-heading{width:700px!important}::ng-deep .vault-section{max-width:1580px!important;padding-left:48px!important;padding-top:130px!important}}@media (width <= 991px){.billing-section{flex-direction:column!important;gap:3rem}.billing-section .billing-section1,.billing-section .billing-section2{width:90%!important}.billing-section .billing-section1{margin-left:1.5rem;margin-top:4rem}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}.outer-section-fadeout{top:62rem!important}}@media (max-width: 991px){.nce-banner .container{display:flex;flex-direction:column;align-items:flex-start;min-height:auto}.nce-banner .text-content,.nce-banner .text-extension,.nce-banner .image-content{position:static!important;left:auto;top:auto;max-width:100%;margin:0!important}.nce-banner .text-content{margin-bottom:0!important}.text-extension{margin-top:1rem!important}.nce-banner .image-content{width:100%;height:auto;align-self:center;margin-top:auto!important}.nce-banner .nce-laptop-img{position:static!important;max-width:260px;width:100%;height:auto!important}.nce-banner{padding:2rem 0 0rem!important}}@media (max-width: 575px){.nce-banner:after{height:45%}}\n", ".bold{font-weight:700}.nce-heading{margin-bottom:2rem}.nce-note{margin-top:1rem;font-size:.85rem;color:#555}.nce-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}.press-release-icon{height:auto!important;margin:0 11px 1.9rem;display:block;align-self:center;width:auto!important;aspect-ratio:0!important;object-fit:cover;margin-top:auto;margin-right:0!important}.msp-vault-section{padding:60px 0;background:#fff;padding-bottom:9rem!important;padding-top:7rem!important;box-shadow:0 4px 32px -14px #40576d4d!important}.msp-vault-section .vault-heading{font-size:3rem;font-weight:300}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .resource-blog-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.msp-vault-section .resource-blog-card h5{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color, black)}.msp-vault-section .resource-blog-card p{font-size:1.5rem;color:var(--text-color, black);line-height:2rem}.msp-vault-section .resource-blog-card img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-top:auto;margin-right:0!important;max-width:250px!important;align-self:center!important}.msp-vault-section .resource-blog-card iframe{height:210px;border-radius:10px;object-fit:cover;margin-right:0!important;max-width:280px!important}.msp-vault-section .resource-blog-card .resource-btn{background-color:var(--text-color, black);color:#fff;margin-top:auto;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;width:100%;max-width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-self:center;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.msp-vault-section .resource-blog-card .resource-btn:hover{background:#fff;color:var(--text-color, black)!important}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .resource-btn{margin-left:0!important}}.video-row{gap:5.5rem!important;margin-top:3rem!important}@media (width >= 991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 768px){.video-row{gap:3rem!important}}@media (width <= 768px){.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media (width <= 1200px){.container{padding:7rem 3rem 1rem!important}}\n", ".video-row{gap:5.5rem!important;margin-top:3rem!important}::ng-deep .resource-section{box-shadow:0 4px 32px -14px #40576d4d!important}.release-icon{height:auto;margin:0 11px 1.9rem;display:block;align-self:center}@media (width >= 768px) and (width <= 1200px){.resource-title{font-size:1.4rem!important}}textarea{font-size:1.4rem!important}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){::ng-deep .trial-meeting-section:before{top:600px!important}::ng-deep .dashboard{margin-bottom:1rem!important}section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}section.bg-white.text-center.extra-top-padding:before,section.bg-white.text-center.extra-top-padding:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}section.bg-white.text-center.extra-top-padding:before{top:500px;left:0}section.bg-white.text-center.extra-top-padding:after{top:90px;right:0}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 1200px){.resource-card{width:100%!important}.release-notes-section{padding:7rem 0!important}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0 6rem!important}.cards-row{justify-content:center}}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:0 1.5rem;padding-bottom:4rem!important;padding-top:7rem!important;max-width:850px;margin:0 auto;text-align:left}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:var(--first)!important;text-decoration:none;font-weight:500}.nce-book-section{background:#fff;padding-top:7rem;padding-bottom:0}.nce-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-book-section .nce-contact{line-height:1.6;font-size:1.5rem}.nce-book-section .nce-contact a{text-decoration:underline;color:#000;margin:0 .2rem}.nce-book-section .nce-contact a:hover{color:var(--first)!important}.nce-offer-section{background:#fff;padding-top:2rem}.nce-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-offer-section .nce-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.25em!important}.nce-offer-section .nce-title strong{font-weight:700}.nce-offer-section .nce-description{font-size:1.5rem;line-height:1.8rem;color:#333;margin-bottom:1.5rem}.nce-offer-section .nce-offer-list{font-size:1.1rem;line-height:1.5rem;margin-bottom:2.5rem;margin-top:2.5rem}.nce-offer-section .nce-offer-list p{font-size:1.5rem;margin:.5rem 0;font-weight:400}.nce-offer-section .nce-signup{margin-bottom:2.5rem}.nce-offer-section .nce-signup .signup-link{font-size:1.5rem;font-weight:400;text-decoration:underline;color:#000}@media (width <= 768px){.nce-offer-section .nce-book-section{padding-top:5rem!important}.nce-offer-section .container{text-align:left}.nce-offer-section .nce-title{font-size:1.5rem}.nce-offer-section .nce-description,.nce-offer-section .nce-offer-list,.nce-offer-section .nce-signup,.nce-offer-section .signup-link,.nce-offer-section .nce-contact,.nce-offer-section .nce-offer-list p{font-size:1.2rem!important}}.nce-offer-intro{font-size:1.5rem;font-weight:400}.outer-section-fadeout{position:absolute;top:139rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.body-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}@media (width <= 768px){.nce-book-section{padding-top:5rem!important}.nce-contact{font-size:1.2rem!important}}::ng-deep .body-quill{border-width:0!important;max-width:900px;display:block;margin-left:auto;margin-right:auto}::ng-deep .p-inputtextarea{border-radius:.5rem;border-color:#ced4da;font-size:1rem}.card{background-color:#fff;border-radius:12px}.comment-row{gap:2rem;padding-bottom:5rem;max-width:1000px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:1.5rem!important}.response-row{max-width:1000px;display:block;margin-left:auto;margin-right:auto;margin-top:6rem!important}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.LazyImgDirective, selector: "img" }, { kind: "component", type: i6.ResourceTopBannerEditComponent, selector: "pw-resource-top-banner-edit", inputs: ["blogPostTag"], outputs: ["getUpdatedTag"] }] }); }
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: IntegrationTopBannerComponent, selector: "pw-integration-top-banner", usesInheritance: true, ngImport: i0, template: "<section class=\"bg-white pricing-section\">\n <div class=\"nce-banner\">\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\" *ngIf=\"isLoaded\">\n\n <!-- Left Content -->\n <div class=\"text-content\">\n <div class=\"nce-heading\">\n <h1 class=\"nce-header mb-4\">\n <span class=\"d-inline-flex align-items-center gap-2 flex-wrap\">\n <span [innerHTML]=\"blogPostTag?.title || 'Integrated vendors'\"></span>\n <pw-resource-top-banner-edit\n *ngIf=\"canEditResourcesValue\"\n [blogPostTag]=\"blogPostTag\"\n [user]=\"user\"\n [userLoggedIn]=\"userLoggedIn\"\n (getUpdatedTag)=\"getPostTags()\"\n ></pw-resource-top-banner-edit>\n </span>\n <span class=\"blue-text\"></span>\n </h1>\n </div>\n </div>\n\n <!-- Add directly below .text-content, still inside .container -->\n <div class=\"text-extension mt-4\">\n\n <div class=\"cta-buttons d-flex flex-column justify-between h-100\">\n <div class=\"flex-grow-1\">\n <ng-container *ngIf=\"blogPostTag?.description && blogPostTag.description !== 'null' ; else defaultDescription\">\n <p class=\"intro\" [innerHTML]=\"blogPostTag.description\"></p>\n </ng-container>\n <ng-template #defaultDescription>\n <p class=\"intro\">\n Browse below the vendor integrations<br />\n we support.\n </p>\n </ng-template>\n </div>\n\n <!-- Buttons always at bottom -->\n <div class=\"d-flex gap-3 flex-wrap mt-3\">\n <a [href]=\"contactUsUrl\" target=\"_blank\"\n class=\"cta-btn filled\">Speak to sales ></a>\n </div>\n </div>\n</div>\n\n <!-- Right Content -->\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <div class=\"nce-math-img\" ></div>\n <img class=\"nce-laptop-img dyn-img\"\n [src]=\"(blogPostTag?.image?.url && !(blogPostTag?.image?.url.includes('no_image_uploaded_squared'))) ? blogPostTag?.image?.url : '/assets/img/resource/men.png'\"\n alt=\"NCEasy laptop screen\" />\n </div>\n\n </div>\n </div>\n</section>\n", styles: ["@charset \"UTF-8\";.cta-btn{display:inline-block;background:var(--text-color, black);color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.cta-btn:hover{background-color:#fff!important;color:var(--text-color, black)!important}@media (width <= 768px){.dyn-img{top:-3rem!important}}.text-extension{max-width:560px}.text-extension .intro{font-size:2rem;line-height:3rem;font-weight:400;color:var(--text-color);margin-bottom:1rem}.text-extension .cta-buttons{margin-top:2rem!important}.text-extension .note{font-size:1.2rem;color:#000;margin-top:1rem;margin-left:3rem}.nce-banner{box-shadow:0 4px 32px -14px #40576d4d!important;position:relative;padding:5rem 0;color:#fff;background:linear-gradient(90deg,var(--first) 0%,#a8e1fb 100%);overflow:hidden;z-index:2}@media (width <= 1200px){.nce-banner .container{padding:7rem 3rem 0rem!important}}.nce-banner:after{content:\"\";position:absolute;bottom:0;left:0;width:100%;height:61%;background:#fff;clip-path:polygon(0 18%,100% 0%,100% 100%,0% 100%)}.nce-banner .container{position:relative;z-index:2}.nce-banner .text-content{max-width:500px;text-align:left;margin-bottom:75rem}.nce-banner .text-content h1{margin-bottom:1.5rem;line-height:1.2}.nce-banner .text-content .intro{font-size:1.2rem;margin:1rem 0;color:#000}.nce-banner .text-content .cta-btn{display:inline-block;background:#000;color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem}.nce-banner .text-content .cta-buttons{margin-top:2rem}.nce-banner .text-content .note{margin-top:1rem;margin-left:5.6rem;font-size:.9rem;color:#555}.nce-banner .nce-header{max-width:500px;font-weight:500;color:#fff!important;font-size:4.5rem!important}.nce-banner .blue-text{font-weight:100}@media (width <= 991px){.nce-banner .text-content{margin-top:1.5rem;margin-bottom:0;text-align:center;max-width:360px}.nce-banner .text-content h1{margin-bottom:6.5rem!important}.nce-banner .nce-header{font-size:2.5rem!important}.nce-banner .cta-buttons{margin-top:0rem!important;justify-content:center!important}.nce-banner .note{margin-left:8rem!important}.nce-banner .image-content{position:relative;margin-bottom:3rem;height:230px}.nce-banner .image-content .floating-box{position:absolute;top:25px;left:3rem;transform:translate(-50%) rotate(-10deg);background:#fff;padding:.75rem 1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;z-index:3;display:inline-block;width:auto}.nce-banner .image-content .floating-box img{width:24px;margin-bottom:.4rem}.nce-banner .image-content .floating-box .label{font-size:.75rem;color:#333;margin:0;line-height:1.2}.nce-banner .image-content .floating-box .count{font-size:1.2rem;font-weight:700;color:#000;margin-top:.25rem}.nce-banner .image-content .screen-img{max-width:280px;position:absolute;bottom:0;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003}.nce-banner .image-content .person-img{max-width:170px;width:100%;position:relative;z-index:3;left:13rem;top:-11.35rem}.nce-banner .image-content .nce-laptop-img{max-width:300px;width:100%;position:relative;z-index:3;margin-top:3rem;left:2%;height:auto!important;top:4rem}}@media (width >= 991px){.nce-banner .text-content{position:absolute;width:760px}}.white-content{background:#fff;color:#000}.white-content .intro{font-size:1.2rem;color:#000}.white-content .note{font-size:.85rem;margin-top:1rem;color:#555}@media (width >= 991px){.section-outer{padding-top:7rem!important}}@media (width >= 768px) and (width <= 991px){.nce-math-img{left:36%!important;top:22rem!important}}@media (width >= 991px) and (width <= 1200px){.text-extension{max-width:760px;position:absolute;margin-bottom:23rem!important}.nce-divider{top:63.5rem;position:absolute!important}.nce-banner{padding-bottom:90px!important}}@media (width >= 1200px){.text-extension{max-width:500px;position:absolute;margin-bottom:31rem!important}.nce-laptop-img{width:100%;max-width:800px!important;max-height:800px!important;height:auto}}@media (width >= 1200px){.nce-divider{top:59.5rem;position:absolute!important}.cta-tab{margin-bottom:5rem!important}}@media (width >= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-laptop-img{top:4rem;left:2rem;position:relative}.image-content .nce-math-img{bottom:9rem;left:61rem;position:relative;height:312px;margin-right:1rem;min-width:450px!important}}@media (width <= 786px){.text-extension{position:absolute;margin:3rem;margin-top:11rem!important}}@media (width >= 786px) and (width <= 991px){.text-extension{position:absolute;margin:3rem;margin-top:24rem!important}}@media (width >= 704px) and (width <= 768px){.nce-laptop-img{top:18rem!important;right:30%!important;left:auto!important}}@media (width >= 786px) and (width <= 991px){.nce-laptop-img{max-width:250px!important;top:18rem!important;right:30%!important;left:auto!important}}@media (width >= 991px) and (width <= 1200px){.nce-laptop-img{top:7rem;left:3%;position:relative;width:100%;max-width:600px!important;height:auto}}@media (width >= 786px) and (width <= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-math-img{height:243px!important;min-width:350px;bottom:9rem;left:34rem;position:relative;width:350px!important}}@media (width <= 991px){.nce-banner{padding-bottom:15rem}}@media (width <= 768px){.nce-math-img{top:18rem}.cta-btn{justify-content:center}.nce-divider{margin-top:49rem!important}.intro{font-size:1.7rem!important}}@media (width >= 768px) and (width <= 991px){.cta-btn{justify-content:center}.nce-divider{margin-top:36rem!important}}@media (width >= 991px){.nce-banner{padding-top:768px;padding-bottom:42px;overflow:hidden}.section-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.nce-heading{width:700px!important}::ng-deep .vault-section{max-width:1580px!important;padding-left:48px!important;padding-top:130px!important}}@media (width <= 991px){.billing-section{flex-direction:column!important;gap:3rem}.billing-section .billing-section1,.billing-section .billing-section2{width:90%!important}.billing-section .billing-section1{margin-left:1.5rem;margin-top:4rem}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}.outer-section-fadeout{top:62rem!important}}@media (max-width: 991px){.nce-banner .container{display:flex;flex-direction:column;align-items:flex-start;min-height:auto}.nce-banner .text-content,.nce-banner .text-extension,.nce-banner .image-content{position:static!important;left:auto;top:auto;max-width:100%;margin:0!important}.nce-banner .text-content{margin-bottom:0!important}.text-extension{margin-top:1rem!important}.nce-banner .image-content{width:100%;height:auto;align-self:center;margin-top:auto!important}.nce-banner .nce-laptop-img{position:static!important;max-width:260px;width:100%;height:auto!important}.nce-banner{padding:2rem 0 0rem!important}}@media (max-width: 575px){.nce-banner:after{height:45%}}\n", ".bold{font-weight:700}.nce-heading{margin-bottom:2rem}.nce-note{margin-top:1rem;font-size:.85rem;color:#555}.nce-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}.press-release-icon{height:auto!important;margin:0 11px 1.9rem;display:block;align-self:center;width:auto!important;aspect-ratio:0!important;object-fit:cover;margin-top:auto;margin-right:0!important}.msp-vault-section{padding:60px 0;background:#fff;padding-bottom:9rem!important;padding-top:7rem!important;box-shadow:0 4px 32px -14px #40576d4d!important}.msp-vault-section .vault-heading{font-size:3rem;font-weight:300}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .resource-blog-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.msp-vault-section .resource-blog-card h5{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color, black)}.msp-vault-section .resource-blog-card p{font-size:1.5rem;color:var(--text-color, black);line-height:2rem}.msp-vault-section .resource-blog-card img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-top:auto;margin-right:0!important;max-width:250px!important;align-self:center!important}.msp-vault-section .resource-blog-card iframe{height:210px;border-radius:10px;object-fit:cover;margin-right:0!important;max-width:280px!important}.msp-vault-section .resource-blog-card .resource-btn{background-color:var(--text-color, black);color:#fff;margin-top:auto;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;width:100%;max-width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-self:center;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.msp-vault-section .resource-blog-card .resource-btn:hover{background:#fff;color:var(--text-color, black)!important}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .resource-btn{margin-left:0!important}}.video-row{gap:5.5rem!important;margin-top:3rem!important}@media (width >= 991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 768px){.video-row{gap:3rem!important}}@media (width <= 768px){.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media (width <= 1200px){.container{padding:7rem 3rem 1rem!important}}\n", ".video-row{gap:5.5rem!important;margin-top:3rem!important}::ng-deep .resource-section{box-shadow:0 4px 32px -14px #40576d4d!important}.release-icon{height:auto;margin:0 11px 1.9rem;display:block;align-self:center}@media (width >= 768px) and (width <= 1200px){.resource-title{font-size:1.4rem!important}}textarea{font-size:1.4rem!important}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){::ng-deep .trial-meeting-section:before{top:600px!important}::ng-deep .dashboard{margin-bottom:1rem!important}section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}section.bg-white.text-center.extra-top-padding:before,section.bg-white.text-center.extra-top-padding:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}section.bg-white.text-center.extra-top-padding:before{top:500px;left:0}section.bg-white.text-center.extra-top-padding:after{top:90px;right:0}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 1200px){.resource-card{width:100%!important}.release-notes-section{padding:7rem 0!important}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0 6rem!important}.cards-row{justify-content:center}}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:0 1.5rem;padding-bottom:4rem!important;padding-top:7rem!important;max-width:850px;margin:0 auto;text-align:left}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:var(--first)!important;text-decoration:none;font-weight:500}.nce-book-section{background:#fff;padding-top:7rem;padding-bottom:0}.nce-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-book-section .nce-contact{line-height:1.6;font-size:1.5rem}.nce-book-section .nce-contact a{text-decoration:underline;color:#000;margin:0 .2rem}.nce-book-section .nce-contact a:hover{color:var(--first)!important}.nce-offer-section{background:#fff;padding-top:2rem}.nce-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-offer-section .nce-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.25em!important}.nce-offer-section .nce-title strong{font-weight:700}.nce-offer-section .nce-description{font-size:1.5rem;line-height:1.8rem;color:#333;margin-bottom:1.5rem}.nce-offer-section .nce-offer-list{font-size:1.1rem;line-height:1.5rem;margin-bottom:2.5rem;margin-top:2.5rem}.nce-offer-section .nce-offer-list p{font-size:1.5rem;margin:.5rem 0;font-weight:400}.nce-offer-section .nce-signup{margin-bottom:2.5rem}.nce-offer-section .nce-signup .signup-link{font-size:1.5rem;font-weight:400;text-decoration:underline;color:#000}@media (width <= 768px){.nce-offer-section .nce-book-section{padding-top:5rem!important}.nce-offer-section .container{text-align:left}.nce-offer-section .nce-title{font-size:1.5rem}.nce-offer-section .nce-description,.nce-offer-section .nce-offer-list,.nce-offer-section .nce-signup,.nce-offer-section .signup-link,.nce-offer-section .nce-contact,.nce-offer-section .nce-offer-list p{font-size:1.2rem!important}}.nce-offer-intro{font-size:1.5rem;font-weight:400}.outer-section-fadeout{position:absolute;top:139rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.body-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}@media (width <= 768px){.nce-book-section{padding-top:5rem!important}.nce-contact{font-size:1.2rem!important}}::ng-deep .body-quill{border-width:0!important;max-width:900px;display:block;margin-left:auto;margin-right:auto}::ng-deep .p-inputtextarea{border-radius:.5rem;border-color:#ced4da;font-size:1rem}.card{background-color:#fff;border-radius:12px}.comment-row{gap:2rem;padding-bottom:5rem;max-width:1000px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:1.5rem!important}.response-row{max-width:1000px;display:block;margin-left:auto;margin-right:auto;margin-top:6rem!important}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.LazyImgDirective, selector: "img" }, { kind: "component", type: i6.ResourceTopBannerEditComponent, selector: "pw-resource-top-banner-edit", inputs: ["blogPostTag", "user", "userLoggedIn"], outputs: ["getUpdatedTag"] }] }); }
|
|
22
22
|
}
|
|
23
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: IntegrationTopBannerComponent, decorators: [{
|
|
24
24
|
type: Component,
|
|
25
|
-
args: [{ selector: 'pw-integration-top-banner', template: "<section class=\"bg-white pricing-section\">\n <div class=\"nce-banner\">\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\" *ngIf=\"isLoaded\">\n\n <!-- Left Content -->\n <div class=\"text-content\">\n <div class=\"nce-heading\">\n <h1 class=\"nce-header mb-4\">\n <span class=\"d-inline-flex align-items-center gap-2 flex-wrap\">\n <span [innerHTML]=\"blogPostTag?.title || 'Integrated vendors'\"></span>\n <pw-resource-top-banner-edit\n *ngIf=\"canEditResources()\"\n [blogPostTag]=\"blogPostTag\"\n (getUpdatedTag)=\"getPostTags()\"\n ></pw-resource-top-banner-edit>\n </span>\n <span class=\"blue-text\"></span>\n </h1>\n </div>\n </div>\n\n <!-- Add directly below .text-content, still inside .container -->\n <div class=\"text-extension mt-4\">\n\n <div class=\"cta-buttons d-flex flex-column justify-between h-100\">\n <div class=\"flex-grow-1\">\n <ng-container *ngIf=\"blogPostTag?.description && blogPostTag.description !== 'null' ; else defaultDescription\">\n <p class=\"intro\" [innerHTML]=\"blogPostTag.description\"></p>\n </ng-container>\n <ng-template #defaultDescription>\n <p class=\"intro\">\n Browse below the vendor integrations<br />\n we support.\n </p>\n </ng-template>\n </div>\n\n <!-- Buttons always at bottom -->\n <div class=\"d-flex gap-3 flex-wrap mt-3\">\n <a [href]=\"contactUsUrl\" target=\"_blank\"\n class=\"cta-btn filled\">Speak to sales ></a>\n </div>\n </div>\n</div>\n\n <!-- Right Content -->\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <div class=\"nce-math-img\" ></div>\n <img class=\"nce-laptop-img dyn-img\"\n [src]=\"(blogPostTag?.image?.url && !(blogPostTag?.image?.url.includes('no_image_uploaded_squared'))) ? blogPostTag?.image?.url : '/assets/img/resource/men.png'\"\n alt=\"NCEasy laptop screen\" />\n </div>\n\n </div>\n </div>\n</section>\n", styles: ["@charset \"UTF-8\";.cta-btn{display:inline-block;background:var(--text-color, black);color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.cta-btn:hover{background-color:#fff!important;color:var(--text-color, black)!important}@media (width <= 768px){.dyn-img{top:-3rem!important}}.text-extension{max-width:560px}.text-extension .intro{font-size:2rem;line-height:3rem;font-weight:400;color:var(--text-color);margin-bottom:1rem}.text-extension .cta-buttons{margin-top:2rem!important}.text-extension .note{font-size:1.2rem;color:#000;margin-top:1rem;margin-left:3rem}.nce-banner{box-shadow:0 4px 32px -14px #40576d4d!important;position:relative;padding:5rem 0;color:#fff;background:linear-gradient(90deg,var(--first) 0%,#a8e1fb 100%);overflow:hidden;z-index:2}@media (width <= 1200px){.nce-banner .container{padding:7rem 3rem 0rem!important}}.nce-banner:after{content:\"\";position:absolute;bottom:0;left:0;width:100%;height:61%;background:#fff;clip-path:polygon(0 18%,100% 0%,100% 100%,0% 100%)}.nce-banner .container{position:relative;z-index:2}.nce-banner .text-content{max-width:500px;text-align:left;margin-bottom:75rem}.nce-banner .text-content h1{margin-bottom:1.5rem;line-height:1.2}.nce-banner .text-content .intro{font-size:1.2rem;margin:1rem 0;color:#000}.nce-banner .text-content .cta-btn{display:inline-block;background:#000;color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem}.nce-banner .text-content .cta-buttons{margin-top:2rem}.nce-banner .text-content .note{margin-top:1rem;margin-left:5.6rem;font-size:.9rem;color:#555}.nce-banner .nce-header{max-width:500px;font-weight:500;color:#fff!important;font-size:4.5rem!important}.nce-banner .blue-text{font-weight:100}@media (width <= 991px){.nce-banner .text-content{margin-top:1.5rem;margin-bottom:0;text-align:center;max-width:360px}.nce-banner .text-content h1{margin-bottom:6.5rem!important}.nce-banner .nce-header{font-size:2.5rem!important}.nce-banner .cta-buttons{margin-top:0rem!important;justify-content:center!important}.nce-banner .note{margin-left:8rem!important}.nce-banner .image-content{position:relative;margin-bottom:3rem;height:230px}.nce-banner .image-content .floating-box{position:absolute;top:25px;left:3rem;transform:translate(-50%) rotate(-10deg);background:#fff;padding:.75rem 1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;z-index:3;display:inline-block;width:auto}.nce-banner .image-content .floating-box img{width:24px;margin-bottom:.4rem}.nce-banner .image-content .floating-box .label{font-size:.75rem;color:#333;margin:0;line-height:1.2}.nce-banner .image-content .floating-box .count{font-size:1.2rem;font-weight:700;color:#000;margin-top:.25rem}.nce-banner .image-content .screen-img{max-width:280px;position:absolute;bottom:0;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003}.nce-banner .image-content .person-img{max-width:170px;width:100%;position:relative;z-index:3;left:13rem;top:-11.35rem}.nce-banner .image-content .nce-laptop-img{max-width:300px;width:100%;position:relative;z-index:3;margin-top:3rem;left:2%;height:auto!important;top:4rem}}@media (width >= 991px){.nce-banner .text-content{position:absolute;width:760px}}.white-content{background:#fff;color:#000}.white-content .intro{font-size:1.2rem;color:#000}.white-content .note{font-size:.85rem;margin-top:1rem;color:#555}@media (width >= 991px){.section-outer{padding-top:7rem!important}}@media (width >= 768px) and (width <= 991px){.nce-math-img{left:36%!important;top:22rem!important}}@media (width >= 991px) and (width <= 1200px){.text-extension{max-width:760px;position:absolute;margin-bottom:23rem!important}.nce-divider{top:63.5rem;position:absolute!important}.nce-banner{padding-bottom:90px!important}}@media (width >= 1200px){.text-extension{max-width:500px;position:absolute;margin-bottom:31rem!important}.nce-laptop-img{width:100%;max-width:800px!important;max-height:800px!important;height:auto}}@media (width >= 1200px){.nce-divider{top:59.5rem;position:absolute!important}.cta-tab{margin-bottom:5rem!important}}@media (width >= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-laptop-img{top:4rem;left:2rem;position:relative}.image-content .nce-math-img{bottom:9rem;left:61rem;position:relative;height:312px;margin-right:1rem;min-width:450px!important}}@media (width <= 786px){.text-extension{position:absolute;margin:3rem;margin-top:11rem!important}}@media (width >= 786px) and (width <= 991px){.text-extension{position:absolute;margin:3rem;margin-top:24rem!important}}@media (width >= 704px) and (width <= 768px){.nce-laptop-img{top:18rem!important;right:30%!important;left:auto!important}}@media (width >= 786px) and (width <= 991px){.nce-laptop-img{max-width:250px!important;top:18rem!important;right:30%!important;left:auto!important}}@media (width >= 991px) and (width <= 1200px){.nce-laptop-img{top:7rem;left:3%;position:relative;width:100%;max-width:600px!important;height:auto}}@media (width >= 786px) and (width <= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-math-img{height:243px!important;min-width:350px;bottom:9rem;left:34rem;position:relative;width:350px!important}}@media (width <= 991px){.nce-banner{padding-bottom:15rem}}@media (width <= 768px){.nce-math-img{top:18rem}.cta-btn{justify-content:center}.nce-divider{margin-top:49rem!important}.intro{font-size:1.7rem!important}}@media (width >= 768px) and (width <= 991px){.cta-btn{justify-content:center}.nce-divider{margin-top:36rem!important}}@media (width >= 991px){.nce-banner{padding-top:768px;padding-bottom:42px;overflow:hidden}.section-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.nce-heading{width:700px!important}::ng-deep .vault-section{max-width:1580px!important;padding-left:48px!important;padding-top:130px!important}}@media (width <= 991px){.billing-section{flex-direction:column!important;gap:3rem}.billing-section .billing-section1,.billing-section .billing-section2{width:90%!important}.billing-section .billing-section1{margin-left:1.5rem;margin-top:4rem}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}.outer-section-fadeout{top:62rem!important}}@media (max-width: 991px){.nce-banner .container{display:flex;flex-direction:column;align-items:flex-start;min-height:auto}.nce-banner .text-content,.nce-banner .text-extension,.nce-banner .image-content{position:static!important;left:auto;top:auto;max-width:100%;margin:0!important}.nce-banner .text-content{margin-bottom:0!important}.text-extension{margin-top:1rem!important}.nce-banner .image-content{width:100%;height:auto;align-self:center;margin-top:auto!important}.nce-banner .nce-laptop-img{position:static!important;max-width:260px;width:100%;height:auto!important}.nce-banner{padding:2rem 0 0rem!important}}@media (max-width: 575px){.nce-banner:after{height:45%}}\n", ".bold{font-weight:700}.nce-heading{margin-bottom:2rem}.nce-note{margin-top:1rem;font-size:.85rem;color:#555}.nce-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}.press-release-icon{height:auto!important;margin:0 11px 1.9rem;display:block;align-self:center;width:auto!important;aspect-ratio:0!important;object-fit:cover;margin-top:auto;margin-right:0!important}.msp-vault-section{padding:60px 0;background:#fff;padding-bottom:9rem!important;padding-top:7rem!important;box-shadow:0 4px 32px -14px #40576d4d!important}.msp-vault-section .vault-heading{font-size:3rem;font-weight:300}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .resource-blog-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.msp-vault-section .resource-blog-card h5{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color, black)}.msp-vault-section .resource-blog-card p{font-size:1.5rem;color:var(--text-color, black);line-height:2rem}.msp-vault-section .resource-blog-card img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-top:auto;margin-right:0!important;max-width:250px!important;align-self:center!important}.msp-vault-section .resource-blog-card iframe{height:210px;border-radius:10px;object-fit:cover;margin-right:0!important;max-width:280px!important}.msp-vault-section .resource-blog-card .resource-btn{background-color:var(--text-color, black);color:#fff;margin-top:auto;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;width:100%;max-width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-self:center;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.msp-vault-section .resource-blog-card .resource-btn:hover{background:#fff;color:var(--text-color, black)!important}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .resource-btn{margin-left:0!important}}.video-row{gap:5.5rem!important;margin-top:3rem!important}@media (width >= 991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 768px){.video-row{gap:3rem!important}}@media (width <= 768px){.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media (width <= 1200px){.container{padding:7rem 3rem 1rem!important}}\n", ".video-row{gap:5.5rem!important;margin-top:3rem!important}::ng-deep .resource-section{box-shadow:0 4px 32px -14px #40576d4d!important}.release-icon{height:auto;margin:0 11px 1.9rem;display:block;align-self:center}@media (width >= 768px) and (width <= 1200px){.resource-title{font-size:1.4rem!important}}textarea{font-size:1.4rem!important}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){::ng-deep .trial-meeting-section:before{top:600px!important}::ng-deep .dashboard{margin-bottom:1rem!important}section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}section.bg-white.text-center.extra-top-padding:before,section.bg-white.text-center.extra-top-padding:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}section.bg-white.text-center.extra-top-padding:before{top:500px;left:0}section.bg-white.text-center.extra-top-padding:after{top:90px;right:0}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 1200px){.resource-card{width:100%!important}.release-notes-section{padding:7rem 0!important}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0 6rem!important}.cards-row{justify-content:center}}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:0 1.5rem;padding-bottom:4rem!important;padding-top:7rem!important;max-width:850px;margin:0 auto;text-align:left}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:var(--first)!important;text-decoration:none;font-weight:500}.nce-book-section{background:#fff;padding-top:7rem;padding-bottom:0}.nce-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-book-section .nce-contact{line-height:1.6;font-size:1.5rem}.nce-book-section .nce-contact a{text-decoration:underline;color:#000;margin:0 .2rem}.nce-book-section .nce-contact a:hover{color:var(--first)!important}.nce-offer-section{background:#fff;padding-top:2rem}.nce-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-offer-section .nce-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.25em!important}.nce-offer-section .nce-title strong{font-weight:700}.nce-offer-section .nce-description{font-size:1.5rem;line-height:1.8rem;color:#333;margin-bottom:1.5rem}.nce-offer-section .nce-offer-list{font-size:1.1rem;line-height:1.5rem;margin-bottom:2.5rem;margin-top:2.5rem}.nce-offer-section .nce-offer-list p{font-size:1.5rem;margin:.5rem 0;font-weight:400}.nce-offer-section .nce-signup{margin-bottom:2.5rem}.nce-offer-section .nce-signup .signup-link{font-size:1.5rem;font-weight:400;text-decoration:underline;color:#000}@media (width <= 768px){.nce-offer-section .nce-book-section{padding-top:5rem!important}.nce-offer-section .container{text-align:left}.nce-offer-section .nce-title{font-size:1.5rem}.nce-offer-section .nce-description,.nce-offer-section .nce-offer-list,.nce-offer-section .nce-signup,.nce-offer-section .signup-link,.nce-offer-section .nce-contact,.nce-offer-section .nce-offer-list p{font-size:1.2rem!important}}.nce-offer-intro{font-size:1.5rem;font-weight:400}.outer-section-fadeout{position:absolute;top:139rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.body-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}@media (width <= 768px){.nce-book-section{padding-top:5rem!important}.nce-contact{font-size:1.2rem!important}}::ng-deep .body-quill{border-width:0!important;max-width:900px;display:block;margin-left:auto;margin-right:auto}::ng-deep .p-inputtextarea{border-radius:.5rem;border-color:#ced4da;font-size:1rem}.card{background-color:#fff;border-radius:12px}.comment-row{gap:2rem;padding-bottom:5rem;max-width:1000px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:1.5rem!important}.response-row{max-width:1000px;display:block;margin-left:auto;margin-right:auto;margin-top:6rem!important}\n"] }]
|
|
25
|
+
args: [{ selector: 'pw-integration-top-banner', template: "<section class=\"bg-white pricing-section\">\n <div class=\"nce-banner\">\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\" *ngIf=\"isLoaded\">\n\n <!-- Left Content -->\n <div class=\"text-content\">\n <div class=\"nce-heading\">\n <h1 class=\"nce-header mb-4\">\n <span class=\"d-inline-flex align-items-center gap-2 flex-wrap\">\n <span [innerHTML]=\"blogPostTag?.title || 'Integrated vendors'\"></span>\n <pw-resource-top-banner-edit\n *ngIf=\"canEditResourcesValue\"\n [blogPostTag]=\"blogPostTag\"\n [user]=\"user\"\n [userLoggedIn]=\"userLoggedIn\"\n (getUpdatedTag)=\"getPostTags()\"\n ></pw-resource-top-banner-edit>\n </span>\n <span class=\"blue-text\"></span>\n </h1>\n </div>\n </div>\n\n <!-- Add directly below .text-content, still inside .container -->\n <div class=\"text-extension mt-4\">\n\n <div class=\"cta-buttons d-flex flex-column justify-between h-100\">\n <div class=\"flex-grow-1\">\n <ng-container *ngIf=\"blogPostTag?.description && blogPostTag.description !== 'null' ; else defaultDescription\">\n <p class=\"intro\" [innerHTML]=\"blogPostTag.description\"></p>\n </ng-container>\n <ng-template #defaultDescription>\n <p class=\"intro\">\n Browse below the vendor integrations<br />\n we support.\n </p>\n </ng-template>\n </div>\n\n <!-- Buttons always at bottom -->\n <div class=\"d-flex gap-3 flex-wrap mt-3\">\n <a [href]=\"contactUsUrl\" target=\"_blank\"\n class=\"cta-btn filled\">Speak to sales ></a>\n </div>\n </div>\n</div>\n\n <!-- Right Content -->\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <div class=\"nce-math-img\" ></div>\n <img class=\"nce-laptop-img dyn-img\"\n [src]=\"(blogPostTag?.image?.url && !(blogPostTag?.image?.url.includes('no_image_uploaded_squared'))) ? blogPostTag?.image?.url : '/assets/img/resource/men.png'\"\n alt=\"NCEasy laptop screen\" />\n </div>\n\n </div>\n </div>\n</section>\n", styles: ["@charset \"UTF-8\";.cta-btn{display:inline-block;background:var(--text-color, black);color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.cta-btn:hover{background-color:#fff!important;color:var(--text-color, black)!important}@media (width <= 768px){.dyn-img{top:-3rem!important}}.text-extension{max-width:560px}.text-extension .intro{font-size:2rem;line-height:3rem;font-weight:400;color:var(--text-color);margin-bottom:1rem}.text-extension .cta-buttons{margin-top:2rem!important}.text-extension .note{font-size:1.2rem;color:#000;margin-top:1rem;margin-left:3rem}.nce-banner{box-shadow:0 4px 32px -14px #40576d4d!important;position:relative;padding:5rem 0;color:#fff;background:linear-gradient(90deg,var(--first) 0%,#a8e1fb 100%);overflow:hidden;z-index:2}@media (width <= 1200px){.nce-banner .container{padding:7rem 3rem 0rem!important}}.nce-banner:after{content:\"\";position:absolute;bottom:0;left:0;width:100%;height:61%;background:#fff;clip-path:polygon(0 18%,100% 0%,100% 100%,0% 100%)}.nce-banner .container{position:relative;z-index:2}.nce-banner .text-content{max-width:500px;text-align:left;margin-bottom:75rem}.nce-banner .text-content h1{margin-bottom:1.5rem;line-height:1.2}.nce-banner .text-content .intro{font-size:1.2rem;margin:1rem 0;color:#000}.nce-banner .text-content .cta-btn{display:inline-block;background:#000;color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem}.nce-banner .text-content .cta-buttons{margin-top:2rem}.nce-banner .text-content .note{margin-top:1rem;margin-left:5.6rem;font-size:.9rem;color:#555}.nce-banner .nce-header{max-width:500px;font-weight:500;color:#fff!important;font-size:4.5rem!important}.nce-banner .blue-text{font-weight:100}@media (width <= 991px){.nce-banner .text-content{margin-top:1.5rem;margin-bottom:0;text-align:center;max-width:360px}.nce-banner .text-content h1{margin-bottom:6.5rem!important}.nce-banner .nce-header{font-size:2.5rem!important}.nce-banner .cta-buttons{margin-top:0rem!important;justify-content:center!important}.nce-banner .note{margin-left:8rem!important}.nce-banner .image-content{position:relative;margin-bottom:3rem;height:230px}.nce-banner .image-content .floating-box{position:absolute;top:25px;left:3rem;transform:translate(-50%) rotate(-10deg);background:#fff;padding:.75rem 1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;z-index:3;display:inline-block;width:auto}.nce-banner .image-content .floating-box img{width:24px;margin-bottom:.4rem}.nce-banner .image-content .floating-box .label{font-size:.75rem;color:#333;margin:0;line-height:1.2}.nce-banner .image-content .floating-box .count{font-size:1.2rem;font-weight:700;color:#000;margin-top:.25rem}.nce-banner .image-content .screen-img{max-width:280px;position:absolute;bottom:0;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003}.nce-banner .image-content .person-img{max-width:170px;width:100%;position:relative;z-index:3;left:13rem;top:-11.35rem}.nce-banner .image-content .nce-laptop-img{max-width:300px;width:100%;position:relative;z-index:3;margin-top:3rem;left:2%;height:auto!important;top:4rem}}@media (width >= 991px){.nce-banner .text-content{position:absolute;width:760px}}.white-content{background:#fff;color:#000}.white-content .intro{font-size:1.2rem;color:#000}.white-content .note{font-size:.85rem;margin-top:1rem;color:#555}@media (width >= 991px){.section-outer{padding-top:7rem!important}}@media (width >= 768px) and (width <= 991px){.nce-math-img{left:36%!important;top:22rem!important}}@media (width >= 991px) and (width <= 1200px){.text-extension{max-width:760px;position:absolute;margin-bottom:23rem!important}.nce-divider{top:63.5rem;position:absolute!important}.nce-banner{padding-bottom:90px!important}}@media (width >= 1200px){.text-extension{max-width:500px;position:absolute;margin-bottom:31rem!important}.nce-laptop-img{width:100%;max-width:800px!important;max-height:800px!important;height:auto}}@media (width >= 1200px){.nce-divider{top:59.5rem;position:absolute!important}.cta-tab{margin-bottom:5rem!important}}@media (width >= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-laptop-img{top:4rem;left:2rem;position:relative}.image-content .nce-math-img{bottom:9rem;left:61rem;position:relative;height:312px;margin-right:1rem;min-width:450px!important}}@media (width <= 786px){.text-extension{position:absolute;margin:3rem;margin-top:11rem!important}}@media (width >= 786px) and (width <= 991px){.text-extension{position:absolute;margin:3rem;margin-top:24rem!important}}@media (width >= 704px) and (width <= 768px){.nce-laptop-img{top:18rem!important;right:30%!important;left:auto!important}}@media (width >= 786px) and (width <= 991px){.nce-laptop-img{max-width:250px!important;top:18rem!important;right:30%!important;left:auto!important}}@media (width >= 991px) and (width <= 1200px){.nce-laptop-img{top:7rem;left:3%;position:relative;width:100%;max-width:600px!important;height:auto}}@media (width >= 786px) and (width <= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-math-img{height:243px!important;min-width:350px;bottom:9rem;left:34rem;position:relative;width:350px!important}}@media (width <= 991px){.nce-banner{padding-bottom:15rem}}@media (width <= 768px){.nce-math-img{top:18rem}.cta-btn{justify-content:center}.nce-divider{margin-top:49rem!important}.intro{font-size:1.7rem!important}}@media (width >= 768px) and (width <= 991px){.cta-btn{justify-content:center}.nce-divider{margin-top:36rem!important}}@media (width >= 991px){.nce-banner{padding-top:768px;padding-bottom:42px;overflow:hidden}.section-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.nce-heading{width:700px!important}::ng-deep .vault-section{max-width:1580px!important;padding-left:48px!important;padding-top:130px!important}}@media (width <= 991px){.billing-section{flex-direction:column!important;gap:3rem}.billing-section .billing-section1,.billing-section .billing-section2{width:90%!important}.billing-section .billing-section1{margin-left:1.5rem;margin-top:4rem}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}.outer-section-fadeout{top:62rem!important}}@media (max-width: 991px){.nce-banner .container{display:flex;flex-direction:column;align-items:flex-start;min-height:auto}.nce-banner .text-content,.nce-banner .text-extension,.nce-banner .image-content{position:static!important;left:auto;top:auto;max-width:100%;margin:0!important}.nce-banner .text-content{margin-bottom:0!important}.text-extension{margin-top:1rem!important}.nce-banner .image-content{width:100%;height:auto;align-self:center;margin-top:auto!important}.nce-banner .nce-laptop-img{position:static!important;max-width:260px;width:100%;height:auto!important}.nce-banner{padding:2rem 0 0rem!important}}@media (max-width: 575px){.nce-banner:after{height:45%}}\n", ".bold{font-weight:700}.nce-heading{margin-bottom:2rem}.nce-note{margin-top:1rem;font-size:.85rem;color:#555}.nce-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}.press-release-icon{height:auto!important;margin:0 11px 1.9rem;display:block;align-self:center;width:auto!important;aspect-ratio:0!important;object-fit:cover;margin-top:auto;margin-right:0!important}.msp-vault-section{padding:60px 0;background:#fff;padding-bottom:9rem!important;padding-top:7rem!important;box-shadow:0 4px 32px -14px #40576d4d!important}.msp-vault-section .vault-heading{font-size:3rem;font-weight:300}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .resource-blog-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.msp-vault-section .resource-blog-card h5{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color, black)}.msp-vault-section .resource-blog-card p{font-size:1.5rem;color:var(--text-color, black);line-height:2rem}.msp-vault-section .resource-blog-card img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-top:auto;margin-right:0!important;max-width:250px!important;align-self:center!important}.msp-vault-section .resource-blog-card iframe{height:210px;border-radius:10px;object-fit:cover;margin-right:0!important;max-width:280px!important}.msp-vault-section .resource-blog-card .resource-btn{background-color:var(--text-color, black);color:#fff;margin-top:auto;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;width:100%;max-width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-self:center;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.msp-vault-section .resource-blog-card .resource-btn:hover{background:#fff;color:var(--text-color, black)!important}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .resource-btn{margin-left:0!important}}.video-row{gap:5.5rem!important;margin-top:3rem!important}@media (width >= 991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 768px){.video-row{gap:3rem!important}}@media (width <= 768px){.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media (width <= 1200px){.container{padding:7rem 3rem 1rem!important}}\n", ".video-row{gap:5.5rem!important;margin-top:3rem!important}::ng-deep .resource-section{box-shadow:0 4px 32px -14px #40576d4d!important}.release-icon{height:auto;margin:0 11px 1.9rem;display:block;align-self:center}@media (width >= 768px) and (width <= 1200px){.resource-title{font-size:1.4rem!important}}textarea{font-size:1.4rem!important}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){::ng-deep .trial-meeting-section:before{top:600px!important}::ng-deep .dashboard{margin-bottom:1rem!important}section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}section.bg-white.text-center.extra-top-padding:before,section.bg-white.text-center.extra-top-padding:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}section.bg-white.text-center.extra-top-padding:before{top:500px;left:0}section.bg-white.text-center.extra-top-padding:after{top:90px;right:0}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 1200px){.resource-card{width:100%!important}.release-notes-section{padding:7rem 0!important}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0 6rem!important}.cards-row{justify-content:center}}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:0 1.5rem;padding-bottom:4rem!important;padding-top:7rem!important;max-width:850px;margin:0 auto;text-align:left}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:var(--first)!important;text-decoration:none;font-weight:500}.nce-book-section{background:#fff;padding-top:7rem;padding-bottom:0}.nce-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-book-section .nce-contact{line-height:1.6;font-size:1.5rem}.nce-book-section .nce-contact a{text-decoration:underline;color:#000;margin:0 .2rem}.nce-book-section .nce-contact a:hover{color:var(--first)!important}.nce-offer-section{background:#fff;padding-top:2rem}.nce-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-offer-section .nce-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.25em!important}.nce-offer-section .nce-title strong{font-weight:700}.nce-offer-section .nce-description{font-size:1.5rem;line-height:1.8rem;color:#333;margin-bottom:1.5rem}.nce-offer-section .nce-offer-list{font-size:1.1rem;line-height:1.5rem;margin-bottom:2.5rem;margin-top:2.5rem}.nce-offer-section .nce-offer-list p{font-size:1.5rem;margin:.5rem 0;font-weight:400}.nce-offer-section .nce-signup{margin-bottom:2.5rem}.nce-offer-section .nce-signup .signup-link{font-size:1.5rem;font-weight:400;text-decoration:underline;color:#000}@media (width <= 768px){.nce-offer-section .nce-book-section{padding-top:5rem!important}.nce-offer-section .container{text-align:left}.nce-offer-section .nce-title{font-size:1.5rem}.nce-offer-section .nce-description,.nce-offer-section .nce-offer-list,.nce-offer-section .nce-signup,.nce-offer-section .signup-link,.nce-offer-section .nce-contact,.nce-offer-section .nce-offer-list p{font-size:1.2rem!important}}.nce-offer-intro{font-size:1.5rem;font-weight:400}.outer-section-fadeout{position:absolute;top:139rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.body-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}@media (width <= 768px){.nce-book-section{padding-top:5rem!important}.nce-contact{font-size:1.2rem!important}}::ng-deep .body-quill{border-width:0!important;max-width:900px;display:block;margin-left:auto;margin-right:auto}::ng-deep .p-inputtextarea{border-radius:.5rem;border-color:#ced4da;font-size:1rem}.card{background-color:#fff;border-radius:12px}.comment-row{gap:2rem;padding-bottom:5rem;max-width:1000px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:1.5rem!important}.response-row{max-width:1000px;display:block;margin-left:auto;margin-right:auto;margin-top:6rem!important}\n"] }]
|
|
26
26
|
}], ctorParameters: () => [{ type: i1.ResourceService }, { type: i2.TagService }, { type: i2.AuthService }, { type: i3.Title }, { type: i0.Injector }] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdyYXRpb24tdG9wLWJhbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Jlc291cmNlLW1vZHVsZS9zcmMvbGliL3B1YmxpYy9jb21wb25lbnRzL3Jlc291cmNlLWludGVncmF0aW9uL2ludGVncmF0aW9uLXRvcC1iYW5uZXIvaW50ZWdyYXRpb24tdG9wLWJhbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Jlc291cmNlLW1vZHVsZS9zcmMvbGliL3B1YmxpYy9jb21wb25lbnRzL3Jlc291cmNlLWludGVncmF0aW9uL2ludGVncmF0aW9uLXRvcC1iYW5uZXIvaW50ZWdyYXRpb24tdG9wLWJhbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7O0FBVzlFLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxzQkFBc0I7SUFDckUsWUFDSSxlQUFnQyxFQUNoQyxVQUFzQixFQUN0QixXQUF3QixFQUN4QixZQUFtQixFQUNuQixRQUFrQjtRQUVsQixLQUFLLENBQUMsZUFBZSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFUyxhQUFhO1FBQ25CLE9BQU8sY0FBYyxDQUFDO0lBQzFCLENBQUM7K0dBYlEsNkJBQTZCO21HQUE3Qiw2QkFBNkIsd0ZDakIxQyxrMEVBMERBOzs0RkR6Q2EsNkJBQTZCO2tCQVR6QyxTQUFTOytCQUNJLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBUYWdTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi1zZXJ2aWNlcyc7XG5cbmltcG9ydCB7IFJlc291cmNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3Jlc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZVRvcEJhbm5lckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UvYmFzZS10b3AtYmFubmVyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctaW50ZWdyYXRpb24tdG9wLWJhbm5lcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ludGVncmF0aW9uLXRvcC1iYW5uZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogW1xuICAgICAgICAnLi4vLi4vcmVzb3VyY2UtY2FzZS1zdHVkaWVzL3Jlc291cmNlLWNhc2Utc3R1ZGllcy5jb21wb25lbnQuc2NzcycsXG4gICAgICAgICcuLi8uLi9yZXNvdXJjZXMvcmVzb3VyY2VzLXNoYXJlZC5jb21wb25lbnQuc2NzcycsXG4gICAgICAgICcuLi8uLi9yZXNvdXJjZS1wb3N0L3JlbGF0ZWQtcmVzb3VyY2VzL3JlbGF0ZWQtcmVzb3VyY2VzLmNvbXBvbmVudC5zY3NzJ1xuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgSW50ZWdyYXRpb25Ub3BCYW5uZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlVG9wQmFubmVyQ29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcmVzb3VyY2VTZXJ2aWNlOiBSZXNvdXJjZVNlcnZpY2UsXG4gICAgICAgIHRhZ1NlcnZpY2U6IFRhZ1NlcnZpY2UsXG4gICAgICAgIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcbiAgICAgICAgdGl0bGVTZXJ2aWNlOiBUaXRsZSxcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKHJlc291cmNlU2VydmljZSwgdGFnU2VydmljZSwgYXV0aFNlcnZpY2UsIHRpdGxlU2VydmljZSwgaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRTZWFyY2hUZXJtKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnSW50ZWdyYXRpb25zJztcbiAgICB9XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cImJnLXdoaXRlIHByaWNpbmctc2VjdGlvblwiPlxuICA8ZGl2IGNsYXNzPVwibmNlLWJhbm5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXIgZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtbGctcm93IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiICpuZ0lmPVwiaXNMb2FkZWRcIj5cblxuICAgICAgPCEtLSBMZWZ0IENvbnRlbnQgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jb250ZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJuY2UtaGVhZGluZ1wiPlxuICAgICAgICAgIDxoMSBjbGFzcz1cIm5jZS1oZWFkZXIgbWItNFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkLWlubGluZS1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiBmbGV4LXdyYXBcIj5cbiAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJibG9nUG9zdFRhZz8udGl0bGUgfHwgJ0ludGVncmF0ZWQgdmVuZG9ycydcIj48L3NwYW4+XG4gICAgICAgICAgICAgIDxwdy1yZXNvdXJjZS10b3AtYmFubmVyLWVkaXRcbiAgICAgICAgICAgICAgICAqbmdJZj1cImNhbkVkaXRSZXNvdXJjZXNWYWx1ZVwiXG4gICAgICAgICAgICAgICAgW2Jsb2dQb3N0VGFnXT1cImJsb2dQb3N0VGFnXCJcbiAgICAgICAgICAgICAgICBbdXNlcl09XCJ1c2VyXCJcbiAgICAgICAgICAgICAgICBbdXNlckxvZ2dlZEluXT1cInVzZXJMb2dnZWRJblwiXG4gICAgICAgICAgICAgICAgKGdldFVwZGF0ZWRUYWcpPVwiZ2V0UG9zdFRhZ3MoKVwiXG4gICAgICAgICAgICAgID48L3B3LXJlc291cmNlLXRvcC1iYW5uZXItZWRpdD5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmx1ZS10ZXh0XCI+PC9zcGFuPlxuICAgICAgICAgIDwvaDE+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gQWRkIGRpcmVjdGx5IGJlbG93IC50ZXh0LWNvbnRlbnQsIHN0aWxsIGluc2lkZSAuY29udGFpbmVyIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtZXh0ZW5zaW9uIG10LTRcIj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3RhLWJ1dHRvbnMgZC1mbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktYmV0d2VlbiBoLTEwMFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJsb2dQb3N0VGFnPy5kZXNjcmlwdGlvbiAmJiBibG9nUG9zdFRhZy5kZXNjcmlwdGlvbiAhPT0gJ251bGwnIDsgZWxzZSBkZWZhdWx0RGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJpbnRyb1wiIFtpbm5lckhUTUxdPVwiYmxvZ1Bvc3RUYWcuZGVzY3JpcHRpb25cIj48L3A+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdERlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cImludHJvXCI+XG4gICAgICAgICAgICAgICAgQnJvd3NlIGJlbG93IHRoZSB2ZW5kb3IgaW50ZWdyYXRpb25zPGJyIC8+XG4gICAgICAgICAgICAgICAgd2Ugc3VwcG9ydC5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDwhLS0gQnV0dG9ucyBhbHdheXMgYXQgYm90dG9tIC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZ2FwLTMgZmxleC13cmFwIG10LTNcIj5cbiAgICAgICAgICAgIDxhIFtocmVmXT1cImNvbnRhY3RVc1VybFwiIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgIGNsYXNzPVwiY3RhLWJ0biBmaWxsZWRcIj5TcGVhayB0byBzYWxlcyA+PC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbjwvZGl2PlxuXG4gICAgICA8IS0tIFJpZ2h0IENvbnRlbnQgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2UtY29udGVudCBtcy1sZy01IG10LTUgbXQtbGctMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibmNlLW1hdGgtaW1nXCIgPjwvZGl2PlxuICAgICAgICA8aW1nIGNsYXNzPVwibmNlLWxhcHRvcC1pbWcgZHluLWltZ1wiXG4gICAgICAgIFtzcmNdPVwiKGJsb2dQb3N0VGFnPy5pbWFnZT8udXJsICYmICEoYmxvZ1Bvc3RUYWc/LmltYWdlPy51cmwuaW5jbHVkZXMoJ25vX2ltYWdlX3VwbG9hZGVkX3NxdWFyZWQnKSkpID8gYmxvZ1Bvc3RUYWc/LmltYWdlPy51cmwgOiAnL2Fzc2V0cy9pbWcvcmVzb3VyY2UvbWVuLnBuZydcIlxuICAgICAgICAgIGFsdD1cIk5DRWFzeSBsYXB0b3Agc2NyZWVuXCIgLz5cbiAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9zZWN0aW9uPlxuIl19
|