@posiwise/resource-module 0.0.123 → 0.0.125

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/esm2022/lib/public/components/reslease-note-card/release-note-card.component.mjs +7 -7
  2. package/esm2022/lib/public/components/resource-blogs/resource-blog-top-banner/resource-blog-top-banner.component.mjs +3 -3
  3. package/esm2022/lib/public/components/resource-blogs/resource-blog.component.mjs +2 -2
  4. package/esm2022/lib/public/components/resource-case-studies/case-studies-cards/case-studies-cards.component.mjs +5 -5
  5. package/esm2022/lib/public/components/resource-company-card/resource-company-card.component.mjs +3 -3
  6. package/esm2022/lib/public/components/resource-integration/integration-top-banner/integration-top-banner.component.mjs +3 -3
  7. package/esm2022/lib/public/components/resource-integration/resource-integration.component.mjs +5 -5
  8. package/esm2022/lib/public/components/resource-post/related-resources/related-resources.component.mjs +4 -4
  9. package/esm2022/lib/public/components/resource-post/related-resources/resource-cards/resource-cards.component.mjs +5 -5
  10. package/esm2022/lib/public/components/resource-post/resource-post-details/resource-post-details.component.mjs +32 -12
  11. package/esm2022/lib/public/components/resource-post/resource-post.component.mjs +2 -2
  12. package/esm2022/lib/public/components/resource-release-notes/resource-release-notes-top-banner/resource-release-notes-top-banner.component.mjs +3 -3
  13. package/esm2022/lib/public/components/resource-release-notes/resource-release-notes.component.mjs +1 -14
  14. package/esm2022/lib/public/components/resource-vault/resource-vault.component.mjs +5 -5
  15. package/esm2022/lib/public/components/resource-videos/resource-video-cards/resource-video-cards.component.mjs +8 -6
  16. package/esm2022/lib/public/components/resource-videos/resource-videos-top-banner/resource-videos-top-banner.component.mjs +3 -3
  17. package/esm2022/lib/public/components/resource-webinars/replay-event-cards/replay-event-cards.component.mjs +6 -6
  18. package/esm2022/lib/public/components/resource-webinars/resource-webinars.component.mjs +3 -3
  19. package/esm2022/lib/public/components/resource-webinars/upcoming-event-cards/upcoming-event-cards.component.mjs +8 -8
  20. package/esm2022/lib/public/components/resources/resource-tags/resource-tags.component.mjs +5 -5
  21. package/esm2022/lib/public/components/resources-hub/resources-hub.component.mjs +5 -10
  22. package/esm2022/lib/public/components/resources-read/resources-read.component.mjs +2 -2
  23. package/esm2022/lib/public/components/white-papers/white-papers-top-banner/white-papers-top-banner.component.mjs +3 -3
  24. package/fesm2022/posiwise-resource-module.mjs +92 -92
  25. package/fesm2022/posiwise-resource-module.mjs.map +1 -1
  26. package/lib/public/components/resource-post/resource-post-details/resource-post-details.component.d.ts +7 -1
  27. package/lib/public/components/resource-post/resource-post.component.d.ts +2 -2
  28. package/lib/public/components/resource-release-notes/resource-release-notes.component.d.ts +0 -1
  29. package/lib/public/components/resources-hub/resources-hub.component.d.ts +0 -1
  30. package/package.json +1 -1
@@ -92,8 +92,8 @@ export class ResourceIntegrationComponent extends AppBaseComponent {
92
92
  .filter(post => post.showcase === true)
93
93
  .sort((a, b) => new Date(b.published_at).getTime() -
94
94
  new Date(a.published_at).getTime());
95
- const vendorCount = vendorResponse?.object_count || 0;
96
- const distributorCount = distributorResponse?.object_count || 0;
95
+ const vendorCount = vendorResponse?.object_count ?? 0;
96
+ const distributorCount = distributorResponse?.object_count ?? 0;
97
97
  const total = vendorCount + distributorCount;
98
98
  this.integrationCountDisplay = total === 0 ? 0 : Math.ceil(total / 10) * 10;
99
99
  this.isLoaded = true;
@@ -110,10 +110,10 @@ export class ResourceIntegrationComponent extends AppBaseComponent {
110
110
  this.videoWebinarLoaded = true;
111
111
  }
112
112
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceIntegrationComponent, deps: [{ token: i1.DomSanitizer }, { token: i2.ResourceService }, { token: i3.TagService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
113
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceIntegrationComponent, selector: "pw-resource-integration", usesInheritance: true, ngImport: i0, template: "<pw-resource-header></pw-resource-header>\n<pw-integration-top-banner></pw-integration-top-banner>\n<div class=\"bg-white\">\n <section class=\"cloudolive-guide-section bg-white py-5 section-outer\">\n <div class=\"container sec-container\">\n <div *ngIf=\"isLoaded && integrationCountDisplay > 0\">\n <h1 class=\"int-title mb-0\">{{ integrationCountDisplay }}+ integrations (& counting)</h1>\n <p class=\"int-text\"> Search the current list of {{companyName}} vendor and distributor integrations below. <br />\n </p>\n </div>\n <pw-resource-company-card *ngIf=\"isLoaded\" [header]=\"'integrated vendors'\"\n [integrationCountDisplay]=\"integrationCountDisplay\"\n [data]=\"posts\"></pw-resource-company-card>\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div *ngIf=\"integrationCountDisplay === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n <div class=\"text-center pt-3 mt-4\" *ngIf=\"isLoaded && integrationCountDisplay > 0\">\n <p class=\"see-span\"> Don\u2019t see what you\u2019re after? <a [href]=\"contactUsUrl\"\n target=\"_blank\"\n class=\"int-span team-span\">Speak with our team to request a connection >\n </a>\n </p>\n </div>\n </div>\n\n </section>\n <section class=\"cloudolive-guide-section bg-white py-5 section-outer\">\n <div class=\"container\">\n <pw-resource-company-card [header]=\"'integrated Distributors'\"\n [integrationCountDisplay]=\"integrationCountDisplay\"\n *ngIf=\"isLoaded\"\n [vendor]=\"true\"\n [data]=\"distributerPosts\"></pw-resource-company-card>\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div *ngIf=\"integrationCountDisplay === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n </div>\n\n </section>\n <section class=\"cloudolive-guide-section bg-white py-5 section-outer\" *ngIf=\"integrations\">\n <div class=\"container\">\n <div class=\"how-it-works-wrapper\">\n <h1 class=\"it-works-title mb-0\">{{integrations?.title || 'How it works'}}</h1>\n <p class=\"pb-20\" [innerHTML]=\"integrations?.description || 'View short example videos to understand how these integrations can work for you:'\"></p>\n <div class=\"row section-row\">\n <ng-container *ngIf=\"integrations?.items?.length > 0; else noIntegrations\">\n <ng-container *ngFor=\"let integration of integrations?.items\">\n <div\n class=\"col-md-6\"\n *ngIf=\"integration?.image_url || integration?.title || integration?.description\"\n >\n <ng-container *ngIf=\"integration?.video_url && integration?.video_url.includes('https'); else noVideo\">\n <div class=\"d-flex justify-content-center\">\n <img\n *ngIf=\"integration?.video_url\"\n [src]=\"integration?.image_url\"\n (click)=\"loadMicrosoftVideo(integration?.video_url)\"\n class=\"how-it-works-img\"\n alt=\"Integration Video Thumbnail\"\n />\n </div>\n </ng-container>\n\n <ng-template #noVideo>\n <div class=\"d-flex justify-content-center\">\n <div class=\"w-100\">\n <pw-no-data [withImage]=\"true\" [message]=\"'No video found' | transloco\">\n </pw-no-data>\n </div>\n </div>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #noIntegrations>\n <div class=\"w-100 text-center\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Integration.NoDataMessage' | transloco\"></pw-no-data>\n </div>\n </ng-template>\n\n </div>\n </div>\n </div>\n\n </section>\n <section class=\"cloudolive-guide-section bg-white py-5 section-outer\">\n <div class=\"container\">\n <div class=\"row align-items-start\">\n <div class=\"col-md-6 text-md-start text-center\">\n <h1 class=\"guide-title mb-3\">{{guideData?.title || '--UPDATE ME ON THE ADMIN/DOMAINS MODULE--'}}</h1>\n <p class=\"guide-subtext\"\n [innerHTML]=\"guideData?.description || '--UPDATE ME ON THE ADMIN/DOMAINS MODULE--'\">\n </p>\n <a class=\"vault-btn\"\n [href]=\"guideData?.guide_url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n {{guideData?.button_text || 'View the guide'}}\n </a>\n\n </div>\n\n <div class=\"col-md-6 text-center\">\n <ng-container *ngIf=\"guideData?.image_url && !guideData.image_url.includes('default-photo.jpg'); else noDataTemplate\">\n <img\n [src]=\"guideData.image_url\"\n alt=\"Guide\"\n class=\"guide-img\" />\n </ng-container>\n\n <ng-template #noDataTemplate>\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'--ADD ME ON THE ADMIN/DOMAINS MODULE--' | transloco\" />\n </div>\n </ng-template>\n </div>\n </div>\n </div>\n </section>\n</div>\n\n<pw-resource-note-card *ngIf=\"resourcePostTag?.tag_category_id\" [categoryId]=\"resourcePostTag?.tag_category_id\" [releaseHeader]=\"true\" [resourceTitle]=\"resourcePostTag?.title\"></pw-resource-note-card>\n\n<pw-trial-4-contact-us></pw-trial-4-contact-us>\n", styles: [".int-span{font-size:3rem;color:#3d8fbe}.team-span{font-size:2rem;color:#3d8fbe;font-weight:100}.see-span{font-size:2rem;font-weight:100}.how-it-works-wrapper .it-works-title{font-size:3rem;margin-bottom:2rem;color:var(--text-color, black);font-weight:200!important;padding-bottom:12px!important}.how-it-works-wrapper .how-it-works-img{width:85%!important;margin:0 auto!important}.how-it-works-wrapper p{padding-top:1rem;font-size:2rem;color:#000;font-weight:100;margin-bottom:4rem}.guide-wrapper{padding:55px 47px 220px}.guide-wrapper .horizontal{position:absolute;left:0;bottom:24%;width:100%}.guide-wrapper .pb-20{padding-bottom:20px}.guide-wrapper .flex{display:flex}.guide-wrapper .guideimg{margin:0 auto}.guide-wrapper .guide-title{font: 500 28px Montserrat-Regular,sans-serif}.guide-wrapper p{font: 400 17px Montserrat-Regular,sans-serif;color:#182527}@media (width >= 768px){.cloudolive-guide-section .container-section{padding:20px 190px 20px 120px!important}}@media (width <= 768px){.cloudolive-guide-section .container-section{padding:3rem!important}.cloudolive-guide-section .guide-title{font-size:3.25rem!important}.cloudolive-guide-section .vault-btn{width:90%!important;margin-bottom:3rem!important}.cloudolive-guide-section .guide-subtext{padding:2rem;line-height:2rem!important}}.cloudolive-guide-section .guide-title{font-size:3rem;font-weight:200}.cloudolive-guide-section .guide-subtext{font-size:1.7rem;line-height:3rem;color:var(--text-color, black);font-weight:200;margin-bottom:2rem}.cloudolive-guide-section .guide-note{font-size:1.7rem;color:#000;font-weight:100}.cloudolive-guide-section .vault-btn{display:inline-block;background:var(--text-color, black);color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;margin-top:1rem!important;font-size:1.4rem;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.cloudolive-guide-section .vault-btn:hover{background:#fff;color:var(--text-color, black)!important}.cloudolive-guide-section .guide-img{max-width:536px!important;max-height:536px!important;height:auto}.int-title{color:var(--text-color, black);font-size:4rem!important;font-weight:400}.int-text{font-size:1.3rem;font-weight:300}.cloudolive-guide-section{box-shadow:0 4px 32px -14px #40576d4d!important;position:relative}.cloudolive-guide-section .integration-fadeout{position:absolute;bottom:0;left:0;width:100%;height:80px;background:linear-gradient(to bottom,#fff0,#f8f9fa);pointer-events:none}@media (width >= 991px){.section-outer{padding-top:7rem!important}}\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}.msp-vault-section .resource-blog-card iframe{max-width:280px!important;margin-right:0!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:1rem 3rem!important}}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.Trial4ContactUsComponent, selector: "pw-trial-4-contact-us", inputs: ["subscriptionId", "sourceId", "masterSubscriptionId", "experimentName", "microserviceName"] }, { kind: "component", type: i6.ResourceHeaderComponent, selector: "pw-resource-header" }, { kind: "component", type: i7.ProgressSpinner, selector: "p-progressSpinner", inputs: ["styleClass", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: i6.NoDataComponent, selector: "pw-no-data", inputs: ["message", "description", "withImage"] }, { kind: "directive", type: i8.LazyImgDirective, selector: "img" }, { kind: "component", type: i9.IntegrationTopBannerComponent, selector: "pw-integration-top-banner" }, { kind: "component", type: i10.ResourceNoteCardComponent, selector: "pw-resource-note-card", inputs: ["releaseHeader", "categoryId", "isReleasePress", "postSlice", "resourceTitle"] }, { kind: "component", type: i11.ResourceCompanyCardComponent, selector: "pw-resource-company-card", inputs: ["header", "data", "integrationCountDisplay", "vendor"] }, { kind: "pipe", type: i12.TranslocoPipe, name: "transloco" }] }); }
113
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceIntegrationComponent, selector: "pw-resource-integration", usesInheritance: true, ngImport: i0, template: "<pw-resource-header></pw-resource-header>\n<pw-integration-top-banner></pw-integration-top-banner>\n<div class=\"bg-white\">\n <section class=\"cloudolive-guide-section bg-white py-5 section-outer\">\n <div class=\"container sec-container\">\n <div *ngIf=\"isLoaded && integrationCountDisplay > 0\">\n <h1 class=\"int-title mb-0\">{{ integrationCountDisplay }}+ integrations (& counting)</h1>\n <p class=\"int-text\"> Search the current list of {{companyName}} vendor and distributor integrations below. <br />\n </p>\n </div>\n <pw-resource-company-card *ngIf=\"isLoaded\" [header]=\"'integrated vendors'\"\n [integrationCountDisplay]=\"integrationCountDisplay\"\n [data]=\"posts\"></pw-resource-company-card>\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div *ngIf=\"integrationCountDisplay === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n <div class=\"text-center pt-3 mt-4\" *ngIf=\"isLoaded && integrationCountDisplay > 0\">\n <p class=\"see-span\"> Don\u2019t see what you\u2019re after? <a [href]=\"contactUsUrl\"\n target=\"_blank\"\n class=\"int-span team-span\">Speak with our team to request a connection >\n </a>\n </p>\n </div>\n </div>\n\n </section>\n <section class=\"cloudolive-guide-section bg-white py-5 section-outer\">\n <div class=\"container\">\n <pw-resource-company-card [header]=\"'integrated Distributors'\"\n [integrationCountDisplay]=\"integrationCountDisplay\"\n *ngIf=\"isLoaded\"\n [vendor]=\"true\"\n [data]=\"distributerPosts\"></pw-resource-company-card>\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div *ngIf=\"integrationCountDisplay === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n </div>\n\n </section>\n <section class=\"cloudolive-guide-section bg-white py-5 section-outer\" *ngIf=\"integrations\">\n <div class=\"container\">\n <div class=\"how-it-works-wrapper\">\n <h1 class=\"it-works-title mb-0\">{{integrations?.title || 'How it works'}}</h1>\n <p class=\"pb-20\" [innerHTML]=\"integrations?.description || 'View short example videos to understand how these integrations can work for you:'\"></p>\n <div class=\"row section-row\">\n <ng-container *ngIf=\"integrations?.items?.length > 0; else noIntegrations\">\n <ng-container *ngFor=\"let integration of integrations?.items\">\n <div\n class=\"col-md-6\"\n *ngIf=\"integration?.image_url || integration?.title || integration?.description\"\n >\n <ng-container *ngIf=\"integration?.video_url && integration?.video_url.includes('https'); else noVideo\">\n <div class=\"d-flex justify-content-center\">\n <img\n *ngIf=\"integration?.video_url\"\n [src]=\"integration?.image_url\"\n (click)=\"loadMicrosoftVideo(integration?.video_url)\"\n (keydown.enter)=\"loadMicrosoftVideo(integration?.video_url)\"\n class=\"how-it-works-img\"\n alt=\"Integration Video Thumbnail\"\n />\n </div>\n </ng-container>\n\n <ng-template #noVideo>\n <div class=\"d-flex justify-content-center\">\n <div class=\"w-100\">\n <pw-no-data [withImage]=\"true\" [message]=\"'No video found' | transloco\">\n </pw-no-data>\n </div>\n </div>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #noIntegrations>\n <div class=\"w-100 text-center\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Integration.NoDataMessage' | transloco\"></pw-no-data>\n </div>\n </ng-template>\n\n </div>\n </div>\n </div>\n\n </section>\n <section class=\"cloudolive-guide-section bg-white py-5 section-outer\">\n <div class=\"container\">\n <div class=\"row align-items-start\">\n <div class=\"col-md-6 text-md-start text-center\">\n <h1 class=\"guide-title mb-3\">{{guideData?.title || '--UPDATE ME ON THE ADMIN/DOMAINS MODULE--'}}</h1>\n <p class=\"guide-subtext\"\n [innerHTML]=\"guideData?.description || '--UPDATE ME ON THE ADMIN/DOMAINS MODULE--'\">\n </p>\n <a class=\"vault-btn\"\n [href]=\"guideData?.guide_url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n {{guideData?.button_text || 'View the guide'}}\n </a>\n\n </div>\n\n <div class=\"col-md-6 text-center\">\n <ng-container *ngIf=\"guideData?.image_url && !guideData.image_url.includes('default-photo.jpg'); else noDataTemplate\">\n <img\n [src]=\"guideData.image_url\"\n alt=\"Guide\"\n class=\"guide-img\" />\n </ng-container>\n\n <ng-template #noDataTemplate>\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'--ADD ME ON THE ADMIN/DOMAINS MODULE--' | transloco\" />\n </div>\n </ng-template>\n </div>\n </div>\n </div>\n </section>\n</div>\n\n<pw-resource-note-card *ngIf=\"resourcePostTag?.tag_category_id\" [categoryId]=\"resourcePostTag?.tag_category_id\" [releaseHeader]=\"true\" [resourceTitle]=\"resourcePostTag?.title\"></pw-resource-note-card>\n\n<pw-trial-4-contact-us></pw-trial-4-contact-us>\n", styles: [".int-span{font-size:3rem;color:#3d8fbe}.team-span{font-size:2rem;color:#3d8fbe;font-weight:100}.see-span{font-size:2rem;font-weight:100}.how-it-works-wrapper .it-works-title{font-size:3rem;margin-bottom:2rem;color:var(--text-color, black);font-weight:200!important;padding-bottom:12px!important}.how-it-works-wrapper .how-it-works-img{width:85%!important;margin:0 auto!important}.how-it-works-wrapper p{padding-top:1rem;font-size:2rem;color:#000;font-weight:100;margin-bottom:4rem}.guide-wrapper{padding:55px 47px 220px}.guide-wrapper .horizontal{position:absolute;left:0;bottom:24%;width:100%}.guide-wrapper .pb-20{padding-bottom:20px}.guide-wrapper .flex{display:flex}.guide-wrapper .guideimg{margin:0 auto}.guide-wrapper .guide-title{font: 500 28px Montserrat-Regular,sans-serif}.guide-wrapper p{font: 400 17px Montserrat-Regular,sans-serif;color:#182527}.cloudolive-guide-section{box-shadow:0 4px 32px -14px #40576d4d!important;position:relative}.cloudolive-guide-section .integration-fadeout{position:absolute;bottom:0;left:0;width:100%;height:80px;background:linear-gradient(to bottom,#fff0,#f8f9fa);pointer-events:none}@media (width >= 768px){.cloudolive-guide-section .container-section{padding:20px 190px 20px 120px!important}}@media (width <= 768px){.cloudolive-guide-section .container-section{padding:3rem!important}.cloudolive-guide-section .guide-title{font-size:3.25rem!important}.cloudolive-guide-section .vault-btn{width:90%!important;margin-bottom:3rem!important}.cloudolive-guide-section .guide-subtext{padding:2rem;line-height:2rem!important}}.cloudolive-guide-section .guide-title{font-size:3rem;font-weight:200}.cloudolive-guide-section .guide-subtext{font-size:1.7rem;line-height:3rem;color:var(--text-color, black);font-weight:200;margin-bottom:2rem}.cloudolive-guide-section .guide-note{font-size:1.7rem;color:#000;font-weight:100}.cloudolive-guide-section .vault-btn{display:inline-block;background:var(--text-color, black);color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;margin-top:1rem!important;font-size:1.4rem;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.cloudolive-guide-section .vault-btn:hover{background:#fff;color:var(--text-color, black)!important}.cloudolive-guide-section .guide-img{max-width:536px!important;max-height:536px!important;height:auto}.int-title{color:var(--text-color, black);font-size:4rem!important;font-weight:400}.int-text{font-size:1.3rem;font-weight:300}@media (width >= 991px){.section-outer{padding-top:7rem!important}}\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:1rem 3rem!important}}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.Trial4ContactUsComponent, selector: "pw-trial-4-contact-us", inputs: ["subscriptionId", "sourceId", "masterSubscriptionId", "experimentName", "microserviceName"] }, { kind: "component", type: i6.ResourceHeaderComponent, selector: "pw-resource-header" }, { kind: "component", type: i7.ProgressSpinner, selector: "p-progressSpinner", inputs: ["styleClass", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: i6.NoDataComponent, selector: "pw-no-data", inputs: ["message", "description", "withImage"] }, { kind: "directive", type: i8.LazyImgDirective, selector: "img" }, { kind: "component", type: i9.IntegrationTopBannerComponent, selector: "pw-integration-top-banner" }, { kind: "component", type: i10.ResourceNoteCardComponent, selector: "pw-resource-note-card", inputs: ["releaseHeader", "categoryId", "isReleasePress", "postSlice", "resourceTitle"] }, { kind: "component", type: i11.ResourceCompanyCardComponent, selector: "pw-resource-company-card", inputs: ["header", "data", "integrationCountDisplay", "vendor"] }, { kind: "pipe", type: i12.TranslocoPipe, name: "transloco" }] }); }
114
114
  }
115
115
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceIntegrationComponent, decorators: [{
116
116
  type: Component,
117
- args: [{ selector: 'pw-resource-integration', template: "<pw-resource-header></pw-resource-header>\n<pw-integration-top-banner></pw-integration-top-banner>\n<div class=\"bg-white\">\n <section class=\"cloudolive-guide-section bg-white py-5 section-outer\">\n <div class=\"container sec-container\">\n <div *ngIf=\"isLoaded && integrationCountDisplay > 0\">\n <h1 class=\"int-title mb-0\">{{ integrationCountDisplay }}+ integrations (& counting)</h1>\n <p class=\"int-text\"> Search the current list of {{companyName}} vendor and distributor integrations below. <br />\n </p>\n </div>\n <pw-resource-company-card *ngIf=\"isLoaded\" [header]=\"'integrated vendors'\"\n [integrationCountDisplay]=\"integrationCountDisplay\"\n [data]=\"posts\"></pw-resource-company-card>\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div *ngIf=\"integrationCountDisplay === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n <div class=\"text-center pt-3 mt-4\" *ngIf=\"isLoaded && integrationCountDisplay > 0\">\n <p class=\"see-span\"> Don\u2019t see what you\u2019re after? <a [href]=\"contactUsUrl\"\n target=\"_blank\"\n class=\"int-span team-span\">Speak with our team to request a connection >\n </a>\n </p>\n </div>\n </div>\n\n </section>\n <section class=\"cloudolive-guide-section bg-white py-5 section-outer\">\n <div class=\"container\">\n <pw-resource-company-card [header]=\"'integrated Distributors'\"\n [integrationCountDisplay]=\"integrationCountDisplay\"\n *ngIf=\"isLoaded\"\n [vendor]=\"true\"\n [data]=\"distributerPosts\"></pw-resource-company-card>\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div *ngIf=\"integrationCountDisplay === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n </div>\n\n </section>\n <section class=\"cloudolive-guide-section bg-white py-5 section-outer\" *ngIf=\"integrations\">\n <div class=\"container\">\n <div class=\"how-it-works-wrapper\">\n <h1 class=\"it-works-title mb-0\">{{integrations?.title || 'How it works'}}</h1>\n <p class=\"pb-20\" [innerHTML]=\"integrations?.description || 'View short example videos to understand how these integrations can work for you:'\"></p>\n <div class=\"row section-row\">\n <ng-container *ngIf=\"integrations?.items?.length > 0; else noIntegrations\">\n <ng-container *ngFor=\"let integration of integrations?.items\">\n <div\n class=\"col-md-6\"\n *ngIf=\"integration?.image_url || integration?.title || integration?.description\"\n >\n <ng-container *ngIf=\"integration?.video_url && integration?.video_url.includes('https'); else noVideo\">\n <div class=\"d-flex justify-content-center\">\n <img\n *ngIf=\"integration?.video_url\"\n [src]=\"integration?.image_url\"\n (click)=\"loadMicrosoftVideo(integration?.video_url)\"\n class=\"how-it-works-img\"\n alt=\"Integration Video Thumbnail\"\n />\n </div>\n </ng-container>\n\n <ng-template #noVideo>\n <div class=\"d-flex justify-content-center\">\n <div class=\"w-100\">\n <pw-no-data [withImage]=\"true\" [message]=\"'No video found' | transloco\">\n </pw-no-data>\n </div>\n </div>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #noIntegrations>\n <div class=\"w-100 text-center\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Integration.NoDataMessage' | transloco\"></pw-no-data>\n </div>\n </ng-template>\n\n </div>\n </div>\n </div>\n\n </section>\n <section class=\"cloudolive-guide-section bg-white py-5 section-outer\">\n <div class=\"container\">\n <div class=\"row align-items-start\">\n <div class=\"col-md-6 text-md-start text-center\">\n <h1 class=\"guide-title mb-3\">{{guideData?.title || '--UPDATE ME ON THE ADMIN/DOMAINS MODULE--'}}</h1>\n <p class=\"guide-subtext\"\n [innerHTML]=\"guideData?.description || '--UPDATE ME ON THE ADMIN/DOMAINS MODULE--'\">\n </p>\n <a class=\"vault-btn\"\n [href]=\"guideData?.guide_url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n {{guideData?.button_text || 'View the guide'}}\n </a>\n\n </div>\n\n <div class=\"col-md-6 text-center\">\n <ng-container *ngIf=\"guideData?.image_url && !guideData.image_url.includes('default-photo.jpg'); else noDataTemplate\">\n <img\n [src]=\"guideData.image_url\"\n alt=\"Guide\"\n class=\"guide-img\" />\n </ng-container>\n\n <ng-template #noDataTemplate>\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'--ADD ME ON THE ADMIN/DOMAINS MODULE--' | transloco\" />\n </div>\n </ng-template>\n </div>\n </div>\n </div>\n </section>\n</div>\n\n<pw-resource-note-card *ngIf=\"resourcePostTag?.tag_category_id\" [categoryId]=\"resourcePostTag?.tag_category_id\" [releaseHeader]=\"true\" [resourceTitle]=\"resourcePostTag?.title\"></pw-resource-note-card>\n\n<pw-trial-4-contact-us></pw-trial-4-contact-us>\n", styles: [".int-span{font-size:3rem;color:#3d8fbe}.team-span{font-size:2rem;color:#3d8fbe;font-weight:100}.see-span{font-size:2rem;font-weight:100}.how-it-works-wrapper .it-works-title{font-size:3rem;margin-bottom:2rem;color:var(--text-color, black);font-weight:200!important;padding-bottom:12px!important}.how-it-works-wrapper .how-it-works-img{width:85%!important;margin:0 auto!important}.how-it-works-wrapper p{padding-top:1rem;font-size:2rem;color:#000;font-weight:100;margin-bottom:4rem}.guide-wrapper{padding:55px 47px 220px}.guide-wrapper .horizontal{position:absolute;left:0;bottom:24%;width:100%}.guide-wrapper .pb-20{padding-bottom:20px}.guide-wrapper .flex{display:flex}.guide-wrapper .guideimg{margin:0 auto}.guide-wrapper .guide-title{font: 500 28px Montserrat-Regular,sans-serif}.guide-wrapper p{font: 400 17px Montserrat-Regular,sans-serif;color:#182527}@media (width >= 768px){.cloudolive-guide-section .container-section{padding:20px 190px 20px 120px!important}}@media (width <= 768px){.cloudolive-guide-section .container-section{padding:3rem!important}.cloudolive-guide-section .guide-title{font-size:3.25rem!important}.cloudolive-guide-section .vault-btn{width:90%!important;margin-bottom:3rem!important}.cloudolive-guide-section .guide-subtext{padding:2rem;line-height:2rem!important}}.cloudolive-guide-section .guide-title{font-size:3rem;font-weight:200}.cloudolive-guide-section .guide-subtext{font-size:1.7rem;line-height:3rem;color:var(--text-color, black);font-weight:200;margin-bottom:2rem}.cloudolive-guide-section .guide-note{font-size:1.7rem;color:#000;font-weight:100}.cloudolive-guide-section .vault-btn{display:inline-block;background:var(--text-color, black);color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;margin-top:1rem!important;font-size:1.4rem;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.cloudolive-guide-section .vault-btn:hover{background:#fff;color:var(--text-color, black)!important}.cloudolive-guide-section .guide-img{max-width:536px!important;max-height:536px!important;height:auto}.int-title{color:var(--text-color, black);font-size:4rem!important;font-weight:400}.int-text{font-size:1.3rem;font-weight:300}.cloudolive-guide-section{box-shadow:0 4px 32px -14px #40576d4d!important;position:relative}.cloudolive-guide-section .integration-fadeout{position:absolute;bottom:0;left:0;width:100%;height:80px;background:linear-gradient(to bottom,#fff0,#f8f9fa);pointer-events:none}@media (width >= 991px){.section-outer{padding-top:7rem!important}}\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}.msp-vault-section .resource-blog-card iframe{max-width:280px!important;margin-right:0!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:1rem 3rem!important}}\n"] }]
117
+ args: [{ selector: 'pw-resource-integration', template: "<pw-resource-header></pw-resource-header>\n<pw-integration-top-banner></pw-integration-top-banner>\n<div class=\"bg-white\">\n <section class=\"cloudolive-guide-section bg-white py-5 section-outer\">\n <div class=\"container sec-container\">\n <div *ngIf=\"isLoaded && integrationCountDisplay > 0\">\n <h1 class=\"int-title mb-0\">{{ integrationCountDisplay }}+ integrations (& counting)</h1>\n <p class=\"int-text\"> Search the current list of {{companyName}} vendor and distributor integrations below. <br />\n </p>\n </div>\n <pw-resource-company-card *ngIf=\"isLoaded\" [header]=\"'integrated vendors'\"\n [integrationCountDisplay]=\"integrationCountDisplay\"\n [data]=\"posts\"></pw-resource-company-card>\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div *ngIf=\"integrationCountDisplay === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n <div class=\"text-center pt-3 mt-4\" *ngIf=\"isLoaded && integrationCountDisplay > 0\">\n <p class=\"see-span\"> Don\u2019t see what you\u2019re after? <a [href]=\"contactUsUrl\"\n target=\"_blank\"\n class=\"int-span team-span\">Speak with our team to request a connection >\n </a>\n </p>\n </div>\n </div>\n\n </section>\n <section class=\"cloudolive-guide-section bg-white py-5 section-outer\">\n <div class=\"container\">\n <pw-resource-company-card [header]=\"'integrated Distributors'\"\n [integrationCountDisplay]=\"integrationCountDisplay\"\n *ngIf=\"isLoaded\"\n [vendor]=\"true\"\n [data]=\"distributerPosts\"></pw-resource-company-card>\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div *ngIf=\"integrationCountDisplay === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n </div>\n\n </section>\n <section class=\"cloudolive-guide-section bg-white py-5 section-outer\" *ngIf=\"integrations\">\n <div class=\"container\">\n <div class=\"how-it-works-wrapper\">\n <h1 class=\"it-works-title mb-0\">{{integrations?.title || 'How it works'}}</h1>\n <p class=\"pb-20\" [innerHTML]=\"integrations?.description || 'View short example videos to understand how these integrations can work for you:'\"></p>\n <div class=\"row section-row\">\n <ng-container *ngIf=\"integrations?.items?.length > 0; else noIntegrations\">\n <ng-container *ngFor=\"let integration of integrations?.items\">\n <div\n class=\"col-md-6\"\n *ngIf=\"integration?.image_url || integration?.title || integration?.description\"\n >\n <ng-container *ngIf=\"integration?.video_url && integration?.video_url.includes('https'); else noVideo\">\n <div class=\"d-flex justify-content-center\">\n <img\n *ngIf=\"integration?.video_url\"\n [src]=\"integration?.image_url\"\n (click)=\"loadMicrosoftVideo(integration?.video_url)\"\n (keydown.enter)=\"loadMicrosoftVideo(integration?.video_url)\"\n class=\"how-it-works-img\"\n alt=\"Integration Video Thumbnail\"\n />\n </div>\n </ng-container>\n\n <ng-template #noVideo>\n <div class=\"d-flex justify-content-center\">\n <div class=\"w-100\">\n <pw-no-data [withImage]=\"true\" [message]=\"'No video found' | transloco\">\n </pw-no-data>\n </div>\n </div>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #noIntegrations>\n <div class=\"w-100 text-center\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Integration.NoDataMessage' | transloco\"></pw-no-data>\n </div>\n </ng-template>\n\n </div>\n </div>\n </div>\n\n </section>\n <section class=\"cloudolive-guide-section bg-white py-5 section-outer\">\n <div class=\"container\">\n <div class=\"row align-items-start\">\n <div class=\"col-md-6 text-md-start text-center\">\n <h1 class=\"guide-title mb-3\">{{guideData?.title || '--UPDATE ME ON THE ADMIN/DOMAINS MODULE--'}}</h1>\n <p class=\"guide-subtext\"\n [innerHTML]=\"guideData?.description || '--UPDATE ME ON THE ADMIN/DOMAINS MODULE--'\">\n </p>\n <a class=\"vault-btn\"\n [href]=\"guideData?.guide_url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n {{guideData?.button_text || 'View the guide'}}\n </a>\n\n </div>\n\n <div class=\"col-md-6 text-center\">\n <ng-container *ngIf=\"guideData?.image_url && !guideData.image_url.includes('default-photo.jpg'); else noDataTemplate\">\n <img\n [src]=\"guideData.image_url\"\n alt=\"Guide\"\n class=\"guide-img\" />\n </ng-container>\n\n <ng-template #noDataTemplate>\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'--ADD ME ON THE ADMIN/DOMAINS MODULE--' | transloco\" />\n </div>\n </ng-template>\n </div>\n </div>\n </div>\n </section>\n</div>\n\n<pw-resource-note-card *ngIf=\"resourcePostTag?.tag_category_id\" [categoryId]=\"resourcePostTag?.tag_category_id\" [releaseHeader]=\"true\" [resourceTitle]=\"resourcePostTag?.title\"></pw-resource-note-card>\n\n<pw-trial-4-contact-us></pw-trial-4-contact-us>\n", styles: [".int-span{font-size:3rem;color:#3d8fbe}.team-span{font-size:2rem;color:#3d8fbe;font-weight:100}.see-span{font-size:2rem;font-weight:100}.how-it-works-wrapper .it-works-title{font-size:3rem;margin-bottom:2rem;color:var(--text-color, black);font-weight:200!important;padding-bottom:12px!important}.how-it-works-wrapper .how-it-works-img{width:85%!important;margin:0 auto!important}.how-it-works-wrapper p{padding-top:1rem;font-size:2rem;color:#000;font-weight:100;margin-bottom:4rem}.guide-wrapper{padding:55px 47px 220px}.guide-wrapper .horizontal{position:absolute;left:0;bottom:24%;width:100%}.guide-wrapper .pb-20{padding-bottom:20px}.guide-wrapper .flex{display:flex}.guide-wrapper .guideimg{margin:0 auto}.guide-wrapper .guide-title{font: 500 28px Montserrat-Regular,sans-serif}.guide-wrapper p{font: 400 17px Montserrat-Regular,sans-serif;color:#182527}.cloudolive-guide-section{box-shadow:0 4px 32px -14px #40576d4d!important;position:relative}.cloudolive-guide-section .integration-fadeout{position:absolute;bottom:0;left:0;width:100%;height:80px;background:linear-gradient(to bottom,#fff0,#f8f9fa);pointer-events:none}@media (width >= 768px){.cloudolive-guide-section .container-section{padding:20px 190px 20px 120px!important}}@media (width <= 768px){.cloudolive-guide-section .container-section{padding:3rem!important}.cloudolive-guide-section .guide-title{font-size:3.25rem!important}.cloudolive-guide-section .vault-btn{width:90%!important;margin-bottom:3rem!important}.cloudolive-guide-section .guide-subtext{padding:2rem;line-height:2rem!important}}.cloudolive-guide-section .guide-title{font-size:3rem;font-weight:200}.cloudolive-guide-section .guide-subtext{font-size:1.7rem;line-height:3rem;color:var(--text-color, black);font-weight:200;margin-bottom:2rem}.cloudolive-guide-section .guide-note{font-size:1.7rem;color:#000;font-weight:100}.cloudolive-guide-section .vault-btn{display:inline-block;background:var(--text-color, black);color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;margin-top:1rem!important;font-size:1.4rem;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.cloudolive-guide-section .vault-btn:hover{background:#fff;color:var(--text-color, black)!important}.cloudolive-guide-section .guide-img{max-width:536px!important;max-height:536px!important;height:auto}.int-title{color:var(--text-color, black);font-size:4rem!important;font-weight:400}.int-text{font-size:1.3rem;font-weight:300}@media (width >= 991px){.section-outer{padding-top:7rem!important}}\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:1rem 3rem!important}}\n"] }]
118
118
  }], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: i2.ResourceService }, { type: i3.TagService }, { type: i0.Injector }] });
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtaW50ZWdyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9yZXNvdXJjZS1tb2R1bGUvc3JjL2xpYi9wdWJsaWMvY29tcG9uZW50cy9yZXNvdXJjZS1pbnRlZ3JhdGlvbi9yZXNvdXJjZS1pbnRlZ3JhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Jlc291cmNlLW1vZHVsZS9zcmMvbGliL3B1YmxpYy9jb21wb25lbnRzL3Jlc291cmNlLWludGVncmF0aW9uL3Jlc291cmNlLWludGVncmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQW1CLE1BQU0sMkJBQTJCLENBQUM7QUFFMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQVksU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFOUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBVTVELE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxnQkFBZ0I7SUFxQzlELFlBQ3FCLFNBQXVCLEVBQ3ZCLGVBQWdDLEVBQ2hDLFVBQXNCLEVBQ3ZDLFFBQWtCO1FBRWxCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUxDLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDdkIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGVBQVUsR0FBVixVQUFVLENBQVk7UUF2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QUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDNUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDekIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxRQUFRO1FBQ3ZCLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxlQUFlO1FBQ1gsTUFBTSxPQUFPLEdBQUcsaUNBQWlDLElBQUksQ0FBQyxjQUFjLGFBQWEsQ0FBQztRQUNsRixnRUFBZ0U7UUFDaEUsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsOEJBQThCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVO1FBQ2hHLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7SUFDbkMsQ0FBQzsrR0F2SlEsNEJBQTRCO21HQUE1Qiw0QkFBNEIsc0ZDbkJ6QyxzeExBb0lBOzs0RkRqSGEsNEJBQTRCO2tCQVJ4QyxTQUFTOytCQUNJLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlUmVzb3VyY2VVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFnU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tc2VydmljZXMnO1xuaW1wb3J0IHsgQ29tcGFueURhdGEsIFJlc291cmNlLCBUT0tFTl9LRVkgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5cbmltcG9ydCB7IGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFJlc291cmNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Jlc291cmNlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LXJlc291cmNlLWludGVncmF0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVzb3VyY2UtaW50ZWdyYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogW1xuICAgICAgICAnLi9yZXNvdXJjZS1pbnRlZ3JhdGlvbi5jb21wb25lbnQuc2NzcycsXG4gICAgICAgICcuLi9yZXNvdXJjZXMvcmVzb3VyY2VzLXNoYXJlZC5jb21wb25lbnQuc2NzcydcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFJlc291cmNlSW50ZWdyYXRpb25Db21wb25lbnQgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBkaXN0cmlidXRvcnNEYXRhID0gQ29tcGFueURhdGE/LmRpc3RyaWJ1dG9yc0RhdGE7XG4gICAgdmVuZG9yc0RhdGEgPSBDb21wYW55RGF0YT8udmVuZG9yc0RhdGE7XG5cbiAgICB0ZXh0Q29sb3IgPSB0aGlzLmFwcENvbmZpZz8uY29sb3JfY29kZXM/LnRleHQ7XG5cbiAgICBzdWJzY3JpcHRpb25JZDogbnVtYmVyO1xuICAgIG1hc3RlclN1YnNjcmlwdGlvbklkID0gdGhpcy5hcHBDb25maWcubWFzdGVyX3N1YnNjcmlwdGlvbi5zdWJzY3JpcHRpb25faWQ7XG4gICAgcG9zdHM6IFJlc291cmNlW10gPSBbXTtcbiAgICBkaXN0cmlidXRlclBvc3RzID0gW107XG4gICAgdXNlckxvZ2dlZEluOiBib29sZWFuO1xuICAgIGJsb2dQb3N0VGFnO1xuICAgIGlzTG9hZGVkID0gZmFsc2U7XG4gICAgcmVzb3VyY2VQb3N0VGFnO1xuICAgIGJsb2dQb3N0VmVuZG9yVGFnO1xuXG4gICAgaW50ZWdyYXRpb25zID0gdGhpcy5hcHBDb25maWc/LnBhZ2VzX2NvbmZpZz8uaW50ZWdyYXRpb25zO1xuXG4gICAgcmVsZWFzZU5vdGVzTGluayA9ICcvcmVzb3VyY2VzL3Byb2R1Y3QtcmVsZWFzZS1ub3Rlcyc7XG4gICAgcTFOb3Rlc0xpbmsgPSAnL3Jlc291cmNlcy9wcm9kdWN0LXJlbGVhc2UtcTEtMjAyNSc7XG4gICAgcTNOb3Rlc0xpbmsgPSAnL3Jlc291cmNlcy9wcm9kdWN0LXJlbGVhc2UtcTMtMjAyNCc7XG4gICAgcTROb3Rlc0xpbmsgPSAnL3Jlc291cmNlcy9wcm9kdWN0LXJlbGVhc2UtcTQtMjAyNCc7XG4gICAgY29tcGFueU5hbWU7XG5cbiAgICB2aWRlb1dlYmluYXJMb2FkZWQgPSBmYWxzZTtcbiAgICB2aWRlb0RlbW9Mb2FkZWQgPSBmYWxzZTtcbiAgICB5b3V0dWJlVmlkZW9JZCA9ICdSN1ZrMjE5emJoQSc7XG4gICAgdmlkZW9UaXRsZSA9ICdDbG91ZE9saXZlIE92ZXJ2aWV3JztcbiAgICBzYW5pdGl6ZWRNaWNyb3NvZnRWaWRlb1VybDogU2FmZVJlc291cmNlVXJsO1xuICAgIHNhbml0aXplZEtlc3lhVmlkZW9Vcmw6IFNhZmVSZXNvdXJjZVVybDtcbiAgICBpbnRlZ3JhdGlvbkNvdW50RGlzcGxheTogbnVtYmVyO1xuICAgIGNvbnRhY3RVc1VybCA9IHRoaXMuYXBwQ29uZmlnPy5wYWdlc19jb25maWc/LmNvbnRhY3RfdXM/LnVybDtcbiAgICB0YWdDYXRlZ29yeTtcbiAgICB0b3RhbFBvc3RzOiBudW1iZXI7XG5cbiAgICBndWlkZURhdGEgPSB0aGlzLmFwcENvbmZpZz8ucGFnZXNfY29uZmlnPy5ndWlkZXM/Lml0ZW1zWzBdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzb3VyY2VTZXJ2aWNlOiBSZXNvdXJjZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGFnU2VydmljZTogVGFnU2VydmljZSxcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5ndWlkZURhdGEpO1xuICAgICAgICB0aGlzLmNvbXBhbnlOYW1lID0gdGhpcy5hcHBDb25maWcuY29tcGFueS5uYW1lO1xuXG4gICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS10ZXh0LWNvbG9yJywgdGhpcy50ZXh0Q29sb3IpO1xuICAgICAgICB0aGlzLmdldFVzZXJTdWJzY3JpcHRpb25JZCgpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gcmVzcG9uc2U7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtJChUT0tFTl9LRVkpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy51c2VyTG9nZ2VkSW4gPSAhIXJlcztcbiAgICAgICAgICAgIGlmICh0aGlzLnVzZXJMb2dnZWRJbikge1xuICAgICAgICAgICAgICAgIHRoaXMubG9jYWxTdG9yYWdlLmdldEl0ZW0kKCdwcm9kdWN0Jykuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSByZXMgPyBKU09OLnBhcnNlKHJlcykgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gZGF0YT8uc3Vic2NyaXB0aW9uSWQ7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmdldFRhZ3MoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUYWdzKCkge1xuICAgICAgICB0aGlzLmlzTG9hZGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMudGFnU2VydmljZVxuICAgICAgICAgICAgLmdldEFsbFRhZ0NhdGVnb3JpZXMoXG4gICAgICAgICAgICAgICAgeyBzZWFyY2g6ICdJbnRlZ3JhdGlvbnMnIH0sXG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCB8fCB0aGlzLm1hc3RlclN1YnNjcmlwdGlvbklkXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRhZ0NhdGVnb3J5ID0gcmVzcG9uc2UudGFnX2NhdGVnb3JpZXNbMF07XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRQb3N0VGFncygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQb3N0VGFncygpIHtcbiAgICAgICAgdGhpcy50YWdTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0VGFnc0J5VHlwZSgncG9zdF9jYXRlZ29yaWVzJywge30sIHRoaXMuc3Vic2NyaXB0aW9uSWQgfHwgdGhpcy5tYXN0ZXJTdWJzY3JpcHRpb25JZClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzb3VyY2VQb3N0VGFnID0gcmVzcG9uc2UudGFncy5maW5kKFxuICAgICAgICAgICAgICAgICAgICB0YWcgPT4gdGFnLm5hbWUgPT09ICdQcm9kdWN0IFJlbGVhc2UgTm90ZXMnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0aGlzLmJsb2dQb3N0VGFnID0gcmVzcG9uc2UudGFncy5maW5kKFxuICAgICAgICAgICAgICAgICAgICB0YWcgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRhZy5uYW1lID09PSAnSW50ZWdyYXRlZCBEaXN0cmlidXRvcnMnICYmXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWcudGFnX2NhdGVnb3J5X2lkID09PSB0aGlzLnRhZ0NhdGVnb3J5Py5pZFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgdGhpcy5ibG9nUG9zdFZlbmRvclRhZyA9IHJlc3BvbnNlLnRhZ3MuZmluZChcbiAgICAgICAgICAgICAgICAgICAgdGFnID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB0YWcubmFtZSA9PT0gJ0ludGVncmF0ZWQgVmVuZG9ycycgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhZy50YWdfY2F0ZWdvcnlfaWQgPT09IHRoaXMudGFnQ2F0ZWdvcnk/LmlkXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIC8vIHVzZSBmb3JrSm9pbiB0byBmZXRjaCBib3RoIHNldHMgb2YgcG9zdHMgaW4gcGFyYWxsZWxcbiAgICAgICAgICAgICAgICBmb3JrSm9pbih7XG4gICAgICAgICAgICAgICAgICAgIHZlbmRvclJlc3BvbnNlOiB0aGlzLnJlc291cmNlU2VydmljZS5nZXRQdWJsaWNQb3N0cyhcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgfHwgdGhpcy5tYXN0ZXJTdWJzY3JpcHRpb25JZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIDEsXG4gICAgICAgICAgICAgICAgICAgICAgICAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ibG9nUG9zdFZlbmRvclRhZz8uaWRcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgZGlzdHJpYnV0b3JSZXNwb25zZTogdGhpcy5yZXNvdXJjZVNlcnZpY2UuZ2V0UHVibGljUG9zdHMoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkIHx8IHRoaXMubWFzdGVyU3Vic2NyaXB0aW9uSWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmxvZ1Bvc3RUYWc/LmlkXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9KS5zdWJzY3JpYmUoKHsgdmVuZG9yUmVzcG9uc2UsIGRpc3RyaWJ1dG9yUmVzcG9uc2UgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc3RzID0gdmVuZG9yUmVzcG9uc2UucG9zdHNcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIocG9zdCA9PiBwb3N0LnNob3djYXNlID09PSB0cnVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnNvcnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGEsIGIpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBEYXRlKGIucHVibGlzaGVkX2F0KS5nZXRUaW1lKCkgLVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgRGF0ZShhLnB1Ymxpc2hlZF9hdCkuZ2V0VGltZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzdHJpYnV0ZXJQb3N0cyA9IGRpc3RyaWJ1dG9yUmVzcG9uc2UucG9zdHNcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIocG9zdCA9PiBwb3N0LnNob3djYXNlID09PSB0cnVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnNvcnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGEsIGIpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBEYXRlKGIucHVibGlzaGVkX2F0KS5nZXRUaW1lKCkgLVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgRGF0ZShhLnB1Ymxpc2hlZF9hdCkuZ2V0VGltZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZlbmRvckNvdW50ID0gdmVuZG9yUmVzcG9uc2U/Lm9iamVjdF9jb3VudCB8fCAwO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkaXN0cmlidXRvckNvdW50ID0gZGlzdHJpYnV0b3JSZXNwb25zZT8ub2JqZWN0X2NvdW50IHx8IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRvdGFsID0gdmVuZG9yQ291bnQgKyBkaXN0cmlidXRvckNvdW50O1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW50ZWdyYXRpb25Db3VudERpc3BsYXkgPSB0b3RhbCA9PT0gMCA/IDAgOiBNYXRoLmNlaWwodG90YWwgLyAxMCkgKiAxMDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBsb2FkTWljcm9zb2Z0VmlkZW8odmlkZW9VcmwpIHtcbiAgICAgICAgd2luZG93Lm9wZW4odmlkZW9VcmwsICdfYmxhbmsnKTtcbiAgICB9XG5cbiAgICBsb2FkS2VzZXlhVmlkZW8oKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGJhc2VVcmwgPSBgaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvJHt0aGlzLnlvdXR1YmVWaWRlb0lkfT9hdXRvcGxheT0xYDtcbiAgICAgICAgLy8gYmFzZVVybCBpcyBhIHRydXN0ZWQgaW50ZXJuYWwgc291cmNlIChlLmcuIFlvdVR1YmUgZW1iZWQgVVJMKVxuICAgICAgICB0aGlzLnNhbml0aXplZEtlc3lhVmlkZW9VcmwgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwoYmFzZVVybCk7IC8vIE5PU09OQVJcbiAgICAgICAgdGhpcy52aWRlb1dlYmluYXJMb2FkZWQgPSB0cnVlO1xuICAgIH1cbn1cbiIsIjxwdy1yZXNvdXJjZS1oZWFkZXI+PC9wdy1yZXNvdXJjZS1oZWFkZXI+XG48cHctaW50ZWdyYXRpb24tdG9wLWJhbm5lcj48L3B3LWludGVncmF0aW9uLXRvcC1iYW5uZXI+XG48ZGl2IGNsYXNzPVwiYmctd2hpdGVcIj5cbiAgPHNlY3Rpb24gY2xhc3M9XCJjbG91ZG9saXZlLWd1aWRlLXNlY3Rpb24gYmctd2hpdGUgcHktNSBzZWN0aW9uLW91dGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lciBzZWMtY29udGFpbmVyXCI+XG4gICAgICA8ZGl2ICAqbmdJZj1cImlzTG9hZGVkICYmIGludGVncmF0aW9uQ291bnREaXNwbGF5ID4gMFwiPlxuICAgICAgICA8aDEgY2xhc3M9XCJpbnQtdGl0bGUgbWItMFwiPnt7IGludGVncmF0aW9uQ291bnREaXNwbGF5IH19KyBpbnRlZ3JhdGlvbnMgKCYgY291bnRpbmcpPC9oMT5cbiAgICAgICAgPHAgY2xhc3M9XCJpbnQtdGV4dFwiPiBTZWFyY2ggdGhlIGN1cnJlbnQgbGlzdCBvZiB7e2NvbXBhbnlOYW1lfX0gdmVuZG9yIGFuZCBkaXN0cmlidXRvciBpbnRlZ3JhdGlvbnMgYmVsb3cuIDxiciAvPlxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxwdy1yZXNvdXJjZS1jb21wYW55LWNhcmQgKm5nSWY9XCJpc0xvYWRlZFwiIFtoZWFkZXJdPVwiJ2ludGVncmF0ZWQgdmVuZG9ycydcIlxuICAgICAgICBbaW50ZWdyYXRpb25Db3VudERpc3BsYXldPVwiaW50ZWdyYXRpb25Db3VudERpc3BsYXlcIlxuICAgICAgICBbZGF0YV09XCJwb3N0c1wiPjwvcHctcmVzb3VyY2UtY29tcGFueS1jYXJkPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgdGV4dC1jZW50ZXIgbXQtM1wiXG4gICAgICAgICpuZ0lmPVwiIWlzTG9hZGVkXCI+XG4gICAgICAgIDxwLXByb2dyZXNzU3Bpbm5lciBzdHJva2VXaWR0aD1cIjJcIj4gPC9wLXByb2dyZXNzU3Bpbm5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImludGVncmF0aW9uQ291bnREaXNwbGF5ID09PSAwICYmIGlzTG9hZGVkXCI+XG4gICAgICAgIDxwdy1uby1kYXRhIFt3aXRoSW1hZ2VdPVwidHJ1ZVwiIFttZXNzYWdlXT1cIidSZXNvdXJjZS5Ob0RhdGFNZXNzYWdlJyB8IHRyYW5zbG9jb1wiLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHB0LTMgbXQtNFwiICpuZ0lmPVwiaXNMb2FkZWQgJiYgaW50ZWdyYXRpb25Db3VudERpc3BsYXkgPiAwXCI+XG4gICAgICAgIDxwIGNsYXNzPVwic2VlLXNwYW5cIj4gRG9u4oCZdCBzZWUgd2hhdCB5b3XigJlyZSBhZnRlcj8gPGEgW2hyZWZdPVwiY29udGFjdFVzVXJsXCJcbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICBjbGFzcz1cImludC1zcGFuIHRlYW0tc3BhblwiPlNwZWFrIHdpdGggb3VyIHRlYW0gdG8gcmVxdWVzdCBhIGNvbm5lY3Rpb24gPlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgPC9zZWN0aW9uPlxuICA8c2VjdGlvbiBjbGFzcz1cImNsb3Vkb2xpdmUtZ3VpZGUtc2VjdGlvbiBiZy13aGl0ZSBweS01IHNlY3Rpb24tb3V0ZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICA8cHctcmVzb3VyY2UtY29tcGFueS1jYXJkIFtoZWFkZXJdPVwiJ2ludGVncmF0ZWQgRGlzdHJpYnV0b3JzJ1wiXG4gICAgICBbaW50ZWdyYXRpb25Db3VudERpc3BsYXldPVwiaW50ZWdyYXRpb25Db3VudERpc3BsYXlcIlxuICAgICAgKm5nSWY9XCJpc0xvYWRlZFwiXG4gICAgICAgIFt2ZW5kb3JdPVwidHJ1ZVwiXG4gICAgICAgIFtkYXRhXT1cImRpc3RyaWJ1dGVyUG9zdHNcIj48L3B3LXJlc291cmNlLWNvbXBhbnktY2FyZD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIHRleHQtY2VudGVyIG10LTNcIlxuICAgICAgKm5nSWY9XCIhaXNMb2FkZWRcIj5cbiAgICAgIDxwLXByb2dyZXNzU3Bpbm5lciBzdHJva2VXaWR0aD1cIjJcIj4gPC9wLXByb2dyZXNzU3Bpbm5lcj5cbiAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImludGVncmF0aW9uQ291bnREaXNwbGF5ID09PSAwICYmIGlzTG9hZGVkXCI+XG4gICAgICAgICAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgW21lc3NhZ2VdPVwiJ1Jlc291cmNlLk5vRGF0YU1lc3NhZ2UnIHwgdHJhbnNsb2NvXCIvPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICA8L3NlY3Rpb24+XG4gIDxzZWN0aW9uIGNsYXNzPVwiY2xvdWRvbGl2ZS1ndWlkZS1zZWN0aW9uIGJnLXdoaXRlIHB5LTUgc2VjdGlvbi1vdXRlclwiICpuZ0lmPVwiaW50ZWdyYXRpb25zXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImhvdy1pdC13b3Jrcy13cmFwcGVyXCI+XG4gICAgICAgIDxoMSBjbGFzcz1cIml0LXdvcmtzLXRpdGxlIG1iLTBcIj57e2ludGVncmF0aW9ucz8udGl0bGUgfHwgJ0hvdyBpdCB3b3Jrcyd9fTwvaDE+XG4gICAgICAgIDxwIGNsYXNzPVwicGItMjBcIiBbaW5uZXJIVE1MXT1cImludGVncmF0aW9ucz8uZGVzY3JpcHRpb24gfHwgJ1ZpZXcgc2hvcnQgZXhhbXBsZSB2aWRlb3MgdG8gdW5kZXJzdGFuZCBob3cgdGhlc2UgaW50ZWdyYXRpb25zIGNhbiB3b3JrIGZvciB5b3U6J1wiPjwvcD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBzZWN0aW9uLXJvd1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnRlZ3JhdGlvbnM/Lml0ZW1zPy5sZW5ndGggPiAwOyBlbHNlIG5vSW50ZWdyYXRpb25zXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpbnRlZ3JhdGlvbiBvZiBpbnRlZ3JhdGlvbnM/Lml0ZW1zXCI+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNvbC1tZC02XCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImludGVncmF0aW9uPy5pbWFnZV91cmwgfHwgaW50ZWdyYXRpb24/LnRpdGxlIHx8IGludGVncmF0aW9uPy5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImludGVncmF0aW9uPy52aWRlb191cmwgJiYgaW50ZWdyYXRpb24/LnZpZGVvX3VybC5pbmNsdWRlcygnaHR0cHMnKTsgZWxzZSBub1ZpZGVvXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaW50ZWdyYXRpb24/LnZpZGVvX3VybFwiXG4gICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaW50ZWdyYXRpb24/LmltYWdlX3VybFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJsb2FkTWljcm9zb2Z0VmlkZW8oaW50ZWdyYXRpb24/LnZpZGVvX3VybClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhvdy1pdC13b3Jrcy1pbWdcIlxuICAgICAgICAgICAgICAgICAgICBhbHQ9XCJJbnRlZ3JhdGlvbiBWaWRlbyBUaHVtYm5haWxcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub1ZpZGVvPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwdy1uby1kYXRhIFt3aXRoSW1hZ2VdPVwidHJ1ZVwiIFttZXNzYWdlXT1cIidObyB2aWRlbyBmb3VuZCcgfCB0cmFuc2xvY29cIj5cbiAgICAgICAgICAgICAgICAgICAgPC9wdy1uby1kYXRhPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNub0ludGVncmF0aW9ucz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgICA8cHctbm8tZGF0YSBbd2l0aEltYWdlXT1cInRydWVcIiBbbWVzc2FnZV09XCInSW50ZWdyYXRpb24uTm9EYXRhTWVzc2FnZScgfCB0cmFuc2xvY29cIj48L3B3LW5vLWRhdGE+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgPC9zZWN0aW9uPlxuIDxzZWN0aW9uIGNsYXNzPVwiY2xvdWRvbGl2ZS1ndWlkZS1zZWN0aW9uIGJnLXdoaXRlIHB5LTUgc2VjdGlvbi1vdXRlclwiPlxuICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1zdGFydFwiPlxuICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiB0ZXh0LW1kLXN0YXJ0IHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgPGgxIGNsYXNzPVwiZ3VpZGUtdGl0bGUgbWItM1wiPnt7Z3VpZGVEYXRhPy50aXRsZSB8fCAnLS1VUERBVEUgTUUgT04gVEhFIEFETUlOL0RPTUFJTlMgTU9EVUxFLS0nfX08L2gxPlxuICAgICAgICAgIDxwIGNsYXNzPVwiZ3VpZGUtc3VidGV4dFwiXG4gICAgICAgICAgW2lubmVySFRNTF09XCJndWlkZURhdGE/LmRlc2NyaXB0aW9uIHx8ICctLVVQREFURSBNRSBPTiBUSEUgQURNSU4vRE9NQUlOUyBNT0RVTEUtLSdcIj5cbiAgICAgICA8L3A+XG4gICAgICAgICAgPGEgY2xhc3M9XCJ2YXVsdC1idG5cIlxuICAgICAgICAgICAgW2hyZWZdPVwiZ3VpZGVEYXRhPy5ndWlkZV91cmxcIlxuICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIj5cbiAgICAgICAgICAgIHt7Z3VpZGVEYXRhPy5idXR0b25fdGV4dCB8fCAnVmlldyB0aGUgZ3VpZGUnfX1cbiAgICAgICAgICA8L2E+XG5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImd1aWRlRGF0YT8uaW1hZ2VfdXJsICYmICFndWlkZURhdGEuaW1hZ2VfdXJsLmluY2x1ZGVzKCdkZWZhdWx0LXBob3RvLmpwZycpOyBlbHNlIG5vRGF0YVRlbXBsYXRlXCI+XG4gICAgICAgICAgPGltZ1xuICAgICAgICAgICAgW3NyY109XCJndWlkZURhdGEuaW1hZ2VfdXJsXCJcbiAgICAgICAgICAgIGFsdD1cIkd1aWRlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZ3VpZGUtaW1nXCIgLz5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNub0RhdGFUZW1wbGF0ZT5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgW21lc3NhZ2VdPVwiJy0tQUREIE1FIE9OIFRIRSBBRE1JTi9ET01BSU5TIE1PRFVMRS0tJyB8IHRyYW5zbG9jb1wiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgPC9kaXY+XG4gICAgIDwvZGl2PlxuIDwvZGl2PlxuIDwvc2VjdGlvbj5cbjwvZGl2PlxuXG48cHctcmVzb3VyY2Utbm90ZS1jYXJkICpuZ0lmPVwicmVzb3VyY2VQb3N0VGFnPy50YWdfY2F0ZWdvcnlfaWRcIiBbY2F0ZWdvcnlJZF09XCJyZXNvdXJjZVBvc3RUYWc/LnRhZ19jYXRlZ29yeV9pZFwiIFtyZWxlYXNlSGVhZGVyXT1cInRydWVcIiBbcmVzb3VyY2VUaXRsZV09XCJyZXNvdXJjZVBvc3RUYWc/LnRpdGxlXCI+PC9wdy1yZXNvdXJjZS1ub3RlLWNhcmQ+XG5cbjxwdy10cmlhbC00LWNvbnRhY3QtdXM+PC9wdy10cmlhbC00LWNvbnRhY3QtdXM+XG4iXX0=
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtaW50ZWdyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9yZXNvdXJjZS1tb2R1bGUvc3JjL2xpYi9wdWJsaWMvY29tcG9uZW50cy9yZXNvdXJjZS1pbnRlZ3JhdGlvbi9yZXNvdXJjZS1pbnRlZ3JhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Jlc291cmNlLW1vZHVsZS9zcmMvbGliL3B1YmxpYy9jb21wb25lbnRzL3Jlc291cmNlLWludGVncmF0aW9uL3Jlc291cmNlLWludGVncmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQW1CLE1BQU0sMkJBQTJCLENBQUM7QUFFMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQVksU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFOUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBVTVELE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxnQkFBZ0I7SUFxQzlELFlBQ3FCLFNBQXVCLEVBQ3ZCLGVBQWdDLEVBQ2hDLFVBQXNCLEVBQ3ZDLFFBQWtCO1FBRWxCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUxDLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDdkIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGVBQVUsR0FBVixVQUFVLENBQVk7UUF2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QUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDNUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDekIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxRQUFRO1FBQ3ZCLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxlQUFlO1FBQ1gsTUFBTSxPQUFPLEdBQUcsaUNBQWlDLElBQUksQ0FBQyxjQUFjLGFBQWEsQ0FBQztRQUNsRixnRUFBZ0U7UUFDaEUsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsOEJBQThCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVO1FBQ2hHLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7SUFDbkMsQ0FBQzsrR0F2SlEsNEJBQTRCO21HQUE1Qiw0QkFBNEIsc0ZDbkJ6QywwMkxBcUlBOzs0RkRsSGEsNEJBQTRCO2tCQVJ4QyxTQUFTOytCQUNJLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlUmVzb3VyY2VVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFnU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tc2VydmljZXMnO1xuaW1wb3J0IHsgQ29tcGFueURhdGEsIFJlc291cmNlLCBUT0tFTl9LRVkgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5cbmltcG9ydCB7IGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFJlc291cmNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Jlc291cmNlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LXJlc291cmNlLWludGVncmF0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVzb3VyY2UtaW50ZWdyYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogW1xuICAgICAgICAnLi9yZXNvdXJjZS1pbnRlZ3JhdGlvbi5jb21wb25lbnQuc2NzcycsXG4gICAgICAgICcuLi9yZXNvdXJjZXMvcmVzb3VyY2VzLXNoYXJlZC5jb21wb25lbnQuc2NzcydcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFJlc291cmNlSW50ZWdyYXRpb25Db21wb25lbnQgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBkaXN0cmlidXRvcnNEYXRhID0gQ29tcGFueURhdGE/LmRpc3RyaWJ1dG9yc0RhdGE7XG4gICAgdmVuZG9yc0RhdGEgPSBDb21wYW55RGF0YT8udmVuZG9yc0RhdGE7XG5cbiAgICB0ZXh0Q29sb3IgPSB0aGlzLmFwcENvbmZpZz8uY29sb3JfY29kZXM/LnRleHQ7XG5cbiAgICBzdWJzY3JpcHRpb25JZDogbnVtYmVyO1xuICAgIG1hc3RlclN1YnNjcmlwdGlvbklkID0gdGhpcy5hcHBDb25maWcubWFzdGVyX3N1YnNjcmlwdGlvbi5zdWJzY3JpcHRpb25faWQ7XG4gICAgcG9zdHM6IFJlc291cmNlW10gPSBbXTtcbiAgICBkaXN0cmlidXRlclBvc3RzID0gW107XG4gICAgdXNlckxvZ2dlZEluOiBib29sZWFuO1xuICAgIGJsb2dQb3N0VGFnO1xuICAgIGlzTG9hZGVkID0gZmFsc2U7XG4gICAgcmVzb3VyY2VQb3N0VGFnO1xuICAgIGJsb2dQb3N0VmVuZG9yVGFnO1xuXG4gICAgaW50ZWdyYXRpb25zID0gdGhpcy5hcHBDb25maWc/LnBhZ2VzX2NvbmZpZz8uaW50ZWdyYXRpb25zO1xuXG4gICAgcmVsZWFzZU5vdGVzTGluayA9ICcvcmVzb3VyY2VzL3Byb2R1Y3QtcmVsZWFzZS1ub3Rlcyc7XG4gICAgcTFOb3Rlc0xpbmsgPSAnL3Jlc291cmNlcy9wcm9kdWN0LXJlbGVhc2UtcTEtMjAyNSc7XG4gICAgcTNOb3Rlc0xpbmsgPSAnL3Jlc291cmNlcy9wcm9kdWN0LXJlbGVhc2UtcTMtMjAyNCc7XG4gICAgcTROb3Rlc0xpbmsgPSAnL3Jlc291cmNlcy9wcm9kdWN0LXJlbGVhc2UtcTQtMjAyNCc7XG4gICAgY29tcGFueU5hbWU7XG5cbiAgICB2aWRlb1dlYmluYXJMb2FkZWQgPSBmYWxzZTtcbiAgICB2aWRlb0RlbW9Mb2FkZWQgPSBmYWxzZTtcbiAgICB5b3V0dWJlVmlkZW9JZCA9ICdSN1ZrMjE5emJoQSc7XG4gICAgdmlkZW9UaXRsZSA9ICdDbG91ZE9saXZlIE92ZXJ2aWV3JztcbiAgICBzYW5pdGl6ZWRNaWNyb3NvZnRWaWRlb1VybDogU2FmZVJlc291cmNlVXJsO1xuICAgIHNhbml0aXplZEtlc3lhVmlkZW9Vcmw6IFNhZmVSZXNvdXJjZVVybDtcbiAgICBpbnRlZ3JhdGlvbkNvdW50RGlzcGxheTogbnVtYmVyO1xuICAgIGNvbnRhY3RVc1VybCA9IHRoaXMuYXBwQ29uZmlnPy5wYWdlc19jb25maWc/LmNvbnRhY3RfdXM/LnVybDtcbiAgICB0YWdDYXRlZ29yeTtcbiAgICB0b3RhbFBvc3RzOiBudW1iZXI7XG5cbiAgICBndWlkZURhdGEgPSB0aGlzLmFwcENvbmZpZz8ucGFnZXNfY29uZmlnPy5ndWlkZXM/Lml0ZW1zWzBdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzb3VyY2VTZXJ2aWNlOiBSZXNvdXJjZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGFnU2VydmljZTogVGFnU2VydmljZSxcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5ndWlkZURhdGEpO1xuICAgICAgICB0aGlzLmNvbXBhbnlOYW1lID0gdGhpcy5hcHBDb25maWcuY29tcGFueS5uYW1lO1xuXG4gICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS10ZXh0LWNvbG9yJywgdGhpcy50ZXh0Q29sb3IpO1xuICAgICAgICB0aGlzLmdldFVzZXJTdWJzY3JpcHRpb25JZCgpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gcmVzcG9uc2U7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtJChUT0tFTl9LRVkpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy51c2VyTG9nZ2VkSW4gPSAhIXJlcztcbiAgICAgICAgICAgIGlmICh0aGlzLnVzZXJMb2dnZWRJbikge1xuICAgICAgICAgICAgICAgIHRoaXMubG9jYWxTdG9yYWdlLmdldEl0ZW0kKCdwcm9kdWN0Jykuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSByZXMgPyBKU09OLnBhcnNlKHJlcykgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gZGF0YT8uc3Vic2NyaXB0aW9uSWQ7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmdldFRhZ3MoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUYWdzKCkge1xuICAgICAgICB0aGlzLmlzTG9hZGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMudGFnU2VydmljZVxuICAgICAgICAgICAgLmdldEFsbFRhZ0NhdGVnb3JpZXMoXG4gICAgICAgICAgICAgICAgeyBzZWFyY2g6ICdJbnRlZ3JhdGlvbnMnIH0sXG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCB8fCB0aGlzLm1hc3RlclN1YnNjcmlwdGlvbklkXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRhZ0NhdGVnb3J5ID0gcmVzcG9uc2UudGFnX2NhdGVnb3JpZXNbMF07XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRQb3N0VGFncygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQb3N0VGFncygpIHtcbiAgICAgICAgdGhpcy50YWdTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0VGFnc0J5VHlwZSgncG9zdF9jYXRlZ29yaWVzJywge30sIHRoaXMuc3Vic2NyaXB0aW9uSWQgfHwgdGhpcy5tYXN0ZXJTdWJzY3JpcHRpb25JZClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzb3VyY2VQb3N0VGFnID0gcmVzcG9uc2UudGFncy5maW5kKFxuICAgICAgICAgICAgICAgICAgICB0YWcgPT4gdGFnLm5hbWUgPT09ICdQcm9kdWN0IFJlbGVhc2UgTm90ZXMnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0aGlzLmJsb2dQb3N0VGFnID0gcmVzcG9uc2UudGFncy5maW5kKFxuICAgICAgICAgICAgICAgICAgICB0YWcgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRhZy5uYW1lID09PSAnSW50ZWdyYXRlZCBEaXN0cmlidXRvcnMnICYmXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWcudGFnX2NhdGVnb3J5X2lkID09PSB0aGlzLnRhZ0NhdGVnb3J5Py5pZFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgdGhpcy5ibG9nUG9zdFZlbmRvclRhZyA9IHJlc3BvbnNlLnRhZ3MuZmluZChcbiAgICAgICAgICAgICAgICAgICAgdGFnID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB0YWcubmFtZSA9PT0gJ0ludGVncmF0ZWQgVmVuZG9ycycgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhZy50YWdfY2F0ZWdvcnlfaWQgPT09IHRoaXMudGFnQ2F0ZWdvcnk/LmlkXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIC8vIHVzZSBmb3JrSm9pbiB0byBmZXRjaCBib3RoIHNldHMgb2YgcG9zdHMgaW4gcGFyYWxsZWxcbiAgICAgICAgICAgICAgICBmb3JrSm9pbih7XG4gICAgICAgICAgICAgICAgICAgIHZlbmRvclJlc3BvbnNlOiB0aGlzLnJlc291cmNlU2VydmljZS5nZXRQdWJsaWNQb3N0cyhcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgfHwgdGhpcy5tYXN0ZXJTdWJzY3JpcHRpb25JZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIDEsXG4gICAgICAgICAgICAgICAgICAgICAgICAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ibG9nUG9zdFZlbmRvclRhZz8uaWRcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgZGlzdHJpYnV0b3JSZXNwb25zZTogdGhpcy5yZXNvdXJjZVNlcnZpY2UuZ2V0UHVibGljUG9zdHMoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkIHx8IHRoaXMubWFzdGVyU3Vic2NyaXB0aW9uSWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmxvZ1Bvc3RUYWc/LmlkXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9KS5zdWJzY3JpYmUoKHsgdmVuZG9yUmVzcG9uc2UsIGRpc3RyaWJ1dG9yUmVzcG9uc2UgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc3RzID0gdmVuZG9yUmVzcG9uc2UucG9zdHNcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIocG9zdCA9PiBwb3N0LnNob3djYXNlID09PSB0cnVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnNvcnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGEsIGIpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBEYXRlKGIucHVibGlzaGVkX2F0KS5nZXRUaW1lKCkgLVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgRGF0ZShhLnB1Ymxpc2hlZF9hdCkuZ2V0VGltZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzdHJpYnV0ZXJQb3N0cyA9IGRpc3RyaWJ1dG9yUmVzcG9uc2UucG9zdHNcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIocG9zdCA9PiBwb3N0LnNob3djYXNlID09PSB0cnVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnNvcnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGEsIGIpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBEYXRlKGIucHVibGlzaGVkX2F0KS5nZXRUaW1lKCkgLVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgRGF0ZShhLnB1Ymxpc2hlZF9hdCkuZ2V0VGltZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZlbmRvckNvdW50ID0gdmVuZG9yUmVzcG9uc2U/Lm9iamVjdF9jb3VudCA/PyAwO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkaXN0cmlidXRvckNvdW50ID0gZGlzdHJpYnV0b3JSZXNwb25zZT8ub2JqZWN0X2NvdW50ID8/IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRvdGFsID0gdmVuZG9yQ291bnQgKyBkaXN0cmlidXRvckNvdW50O1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW50ZWdyYXRpb25Db3VudERpc3BsYXkgPSB0b3RhbCA9PT0gMCA/IDAgOiBNYXRoLmNlaWwodG90YWwgLyAxMCkgKiAxMDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBsb2FkTWljcm9zb2Z0VmlkZW8odmlkZW9VcmwpIHtcbiAgICAgICAgd2luZG93Lm9wZW4odmlkZW9VcmwsICdfYmxhbmsnKTtcbiAgICB9XG5cbiAgICBsb2FkS2VzZXlhVmlkZW8oKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGJhc2VVcmwgPSBgaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvJHt0aGlzLnlvdXR1YmVWaWRlb0lkfT9hdXRvcGxheT0xYDtcbiAgICAgICAgLy8gYmFzZVVybCBpcyBhIHRydXN0ZWQgaW50ZXJuYWwgc291cmNlIChlLmcuIFlvdVR1YmUgZW1iZWQgVVJMKVxuICAgICAgICB0aGlzLnNhbml0aXplZEtlc3lhVmlkZW9VcmwgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwoYmFzZVVybCk7IC8vIE5PU09OQVJcbiAgICAgICAgdGhpcy52aWRlb1dlYmluYXJMb2FkZWQgPSB0cnVlO1xuICAgIH1cbn1cbiIsIjxwdy1yZXNvdXJjZS1oZWFkZXI+PC9wdy1yZXNvdXJjZS1oZWFkZXI+XG48cHctaW50ZWdyYXRpb24tdG9wLWJhbm5lcj48L3B3LWludGVncmF0aW9uLXRvcC1iYW5uZXI+XG48ZGl2IGNsYXNzPVwiYmctd2hpdGVcIj5cbiAgPHNlY3Rpb24gY2xhc3M9XCJjbG91ZG9saXZlLWd1aWRlLXNlY3Rpb24gYmctd2hpdGUgcHktNSBzZWN0aW9uLW91dGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lciBzZWMtY29udGFpbmVyXCI+XG4gICAgICA8ZGl2ICAqbmdJZj1cImlzTG9hZGVkICYmIGludGVncmF0aW9uQ291bnREaXNwbGF5ID4gMFwiPlxuICAgICAgICA8aDEgY2xhc3M9XCJpbnQtdGl0bGUgbWItMFwiPnt7IGludGVncmF0aW9uQ291bnREaXNwbGF5IH19KyBpbnRlZ3JhdGlvbnMgKCYgY291bnRpbmcpPC9oMT5cbiAgICAgICAgPHAgY2xhc3M9XCJpbnQtdGV4dFwiPiBTZWFyY2ggdGhlIGN1cnJlbnQgbGlzdCBvZiB7e2NvbXBhbnlOYW1lfX0gdmVuZG9yIGFuZCBkaXN0cmlidXRvciBpbnRlZ3JhdGlvbnMgYmVsb3cuIDxiciAvPlxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxwdy1yZXNvdXJjZS1jb21wYW55LWNhcmQgKm5nSWY9XCJpc0xvYWRlZFwiIFtoZWFkZXJdPVwiJ2ludGVncmF0ZWQgdmVuZG9ycydcIlxuICAgICAgICBbaW50ZWdyYXRpb25Db3VudERpc3BsYXldPVwiaW50ZWdyYXRpb25Db3VudERpc3BsYXlcIlxuICAgICAgICBbZGF0YV09XCJwb3N0c1wiPjwvcHctcmVzb3VyY2UtY29tcGFueS1jYXJkPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgdGV4dC1jZW50ZXIgbXQtM1wiXG4gICAgICAgICpuZ0lmPVwiIWlzTG9hZGVkXCI+XG4gICAgICAgIDxwLXByb2dyZXNzU3Bpbm5lciBzdHJva2VXaWR0aD1cIjJcIj4gPC9wLXByb2dyZXNzU3Bpbm5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImludGVncmF0aW9uQ291bnREaXNwbGF5ID09PSAwICYmIGlzTG9hZGVkXCI+XG4gICAgICAgIDxwdy1uby1kYXRhIFt3aXRoSW1hZ2VdPVwidHJ1ZVwiIFttZXNzYWdlXT1cIidSZXNvdXJjZS5Ob0RhdGFNZXNzYWdlJyB8IHRyYW5zbG9jb1wiLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHB0LTMgbXQtNFwiICpuZ0lmPVwiaXNMb2FkZWQgJiYgaW50ZWdyYXRpb25Db3VudERpc3BsYXkgPiAwXCI+XG4gICAgICAgIDxwIGNsYXNzPVwic2VlLXNwYW5cIj4gRG9u4oCZdCBzZWUgd2hhdCB5b3XigJlyZSBhZnRlcj8gPGEgW2hyZWZdPVwiY29udGFjdFVzVXJsXCJcbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICBjbGFzcz1cImludC1zcGFuIHRlYW0tc3BhblwiPlNwZWFrIHdpdGggb3VyIHRlYW0gdG8gcmVxdWVzdCBhIGNvbm5lY3Rpb24gPlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgPC9zZWN0aW9uPlxuICA8c2VjdGlvbiBjbGFzcz1cImNsb3Vkb2xpdmUtZ3VpZGUtc2VjdGlvbiBiZy13aGl0ZSBweS01IHNlY3Rpb24tb3V0ZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICA8cHctcmVzb3VyY2UtY29tcGFueS1jYXJkIFtoZWFkZXJdPVwiJ2ludGVncmF0ZWQgRGlzdHJpYnV0b3JzJ1wiXG4gICAgICBbaW50ZWdyYXRpb25Db3VudERpc3BsYXldPVwiaW50ZWdyYXRpb25Db3VudERpc3BsYXlcIlxuICAgICAgKm5nSWY9XCJpc0xvYWRlZFwiXG4gICAgICAgIFt2ZW5kb3JdPVwidHJ1ZVwiXG4gICAgICAgIFtkYXRhXT1cImRpc3RyaWJ1dGVyUG9zdHNcIj48L3B3LXJlc291cmNlLWNvbXBhbnktY2FyZD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIHRleHQtY2VudGVyIG10LTNcIlxuICAgICAgKm5nSWY9XCIhaXNMb2FkZWRcIj5cbiAgICAgIDxwLXByb2dyZXNzU3Bpbm5lciBzdHJva2VXaWR0aD1cIjJcIj4gPC9wLXByb2dyZXNzU3Bpbm5lcj5cbiAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImludGVncmF0aW9uQ291bnREaXNwbGF5ID09PSAwICYmIGlzTG9hZGVkXCI+XG4gICAgICAgICAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgW21lc3NhZ2VdPVwiJ1Jlc291cmNlLk5vRGF0YU1lc3NhZ2UnIHwgdHJhbnNsb2NvXCIvPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICA8L3NlY3Rpb24+XG4gIDxzZWN0aW9uIGNsYXNzPVwiY2xvdWRvbGl2ZS1ndWlkZS1zZWN0aW9uIGJnLXdoaXRlIHB5LTUgc2VjdGlvbi1vdXRlclwiICpuZ0lmPVwiaW50ZWdyYXRpb25zXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImhvdy1pdC13b3Jrcy13cmFwcGVyXCI+XG4gICAgICAgIDxoMSBjbGFzcz1cIml0LXdvcmtzLXRpdGxlIG1iLTBcIj57e2ludGVncmF0aW9ucz8udGl0bGUgfHwgJ0hvdyBpdCB3b3Jrcyd9fTwvaDE+XG4gICAgICAgIDxwIGNsYXNzPVwicGItMjBcIiBbaW5uZXJIVE1MXT1cImludGVncmF0aW9ucz8uZGVzY3JpcHRpb24gfHwgJ1ZpZXcgc2hvcnQgZXhhbXBsZSB2aWRlb3MgdG8gdW5kZXJzdGFuZCBob3cgdGhlc2UgaW50ZWdyYXRpb25zIGNhbiB3b3JrIGZvciB5b3U6J1wiPjwvcD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBzZWN0aW9uLXJvd1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnRlZ3JhdGlvbnM/Lml0ZW1zPy5sZW5ndGggPiAwOyBlbHNlIG5vSW50ZWdyYXRpb25zXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpbnRlZ3JhdGlvbiBvZiBpbnRlZ3JhdGlvbnM/Lml0ZW1zXCI+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNvbC1tZC02XCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImludGVncmF0aW9uPy5pbWFnZV91cmwgfHwgaW50ZWdyYXRpb24/LnRpdGxlIHx8IGludGVncmF0aW9uPy5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImludGVncmF0aW9uPy52aWRlb191cmwgJiYgaW50ZWdyYXRpb24/LnZpZGVvX3VybC5pbmNsdWRlcygnaHR0cHMnKTsgZWxzZSBub1ZpZGVvXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaW50ZWdyYXRpb24/LnZpZGVvX3VybFwiXG4gICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaW50ZWdyYXRpb24/LmltYWdlX3VybFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJsb2FkTWljcm9zb2Z0VmlkZW8oaW50ZWdyYXRpb24/LnZpZGVvX3VybClcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJsb2FkTWljcm9zb2Z0VmlkZW8oaW50ZWdyYXRpb24/LnZpZGVvX3VybClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhvdy1pdC13b3Jrcy1pbWdcIlxuICAgICAgICAgICAgICAgICAgICBhbHQ9XCJJbnRlZ3JhdGlvbiBWaWRlbyBUaHVtYm5haWxcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub1ZpZGVvPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwdy1uby1kYXRhIFt3aXRoSW1hZ2VdPVwidHJ1ZVwiIFttZXNzYWdlXT1cIidObyB2aWRlbyBmb3VuZCcgfCB0cmFuc2xvY29cIj5cbiAgICAgICAgICAgICAgICAgICAgPC9wdy1uby1kYXRhPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNub0ludGVncmF0aW9ucz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgICA8cHctbm8tZGF0YSBbd2l0aEltYWdlXT1cInRydWVcIiBbbWVzc2FnZV09XCInSW50ZWdyYXRpb24uTm9EYXRhTWVzc2FnZScgfCB0cmFuc2xvY29cIj48L3B3LW5vLWRhdGE+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgPC9zZWN0aW9uPlxuIDxzZWN0aW9uIGNsYXNzPVwiY2xvdWRvbGl2ZS1ndWlkZS1zZWN0aW9uIGJnLXdoaXRlIHB5LTUgc2VjdGlvbi1vdXRlclwiPlxuICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1zdGFydFwiPlxuICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiB0ZXh0LW1kLXN0YXJ0IHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgPGgxIGNsYXNzPVwiZ3VpZGUtdGl0bGUgbWItM1wiPnt7Z3VpZGVEYXRhPy50aXRsZSB8fCAnLS1VUERBVEUgTUUgT04gVEhFIEFETUlOL0RPTUFJTlMgTU9EVUxFLS0nfX08L2gxPlxuICAgICAgICAgIDxwIGNsYXNzPVwiZ3VpZGUtc3VidGV4dFwiXG4gICAgICAgICAgW2lubmVySFRNTF09XCJndWlkZURhdGE/LmRlc2NyaXB0aW9uIHx8ICctLVVQREFURSBNRSBPTiBUSEUgQURNSU4vRE9NQUlOUyBNT0RVTEUtLSdcIj5cbiAgICAgICA8L3A+XG4gICAgICAgICAgPGEgY2xhc3M9XCJ2YXVsdC1idG5cIlxuICAgICAgICAgICAgW2hyZWZdPVwiZ3VpZGVEYXRhPy5ndWlkZV91cmxcIlxuICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIj5cbiAgICAgICAgICAgIHt7Z3VpZGVEYXRhPy5idXR0b25fdGV4dCB8fCAnVmlldyB0aGUgZ3VpZGUnfX1cbiAgICAgICAgICA8L2E+XG5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImd1aWRlRGF0YT8uaW1hZ2VfdXJsICYmICFndWlkZURhdGEuaW1hZ2VfdXJsLmluY2x1ZGVzKCdkZWZhdWx0LXBob3RvLmpwZycpOyBlbHNlIG5vRGF0YVRlbXBsYXRlXCI+XG4gICAgICAgICAgPGltZ1xuICAgICAgICAgICAgW3NyY109XCJndWlkZURhdGEuaW1hZ2VfdXJsXCJcbiAgICAgICAgICAgIGFsdD1cIkd1aWRlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZ3VpZGUtaW1nXCIgLz5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNub0RhdGFUZW1wbGF0ZT5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgW21lc3NhZ2VdPVwiJy0tQUREIE1FIE9OIFRIRSBBRE1JTi9ET01BSU5TIE1PRFVMRS0tJyB8IHRyYW5zbG9jb1wiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgPC9kaXY+XG4gICAgIDwvZGl2PlxuIDwvZGl2PlxuIDwvc2VjdGlvbj5cbjwvZGl2PlxuXG48cHctcmVzb3VyY2Utbm90ZS1jYXJkICpuZ0lmPVwicmVzb3VyY2VQb3N0VGFnPy50YWdfY2F0ZWdvcnlfaWRcIiBbY2F0ZWdvcnlJZF09XCJyZXNvdXJjZVBvc3RUYWc/LnRhZ19jYXRlZ29yeV9pZFwiIFtyZWxlYXNlSGVhZGVyXT1cInRydWVcIiBbcmVzb3VyY2VUaXRsZV09XCJyZXNvdXJjZVBvc3RUYWc/LnRpdGxlXCI+PC9wdy1yZXNvdXJjZS1ub3RlLWNhcmQ+XG5cbjxwdy10cmlhbC00LWNvbnRhY3QtdXM+PC9wdy10cmlhbC00LWNvbnRhY3QtdXM+XG4iXX0=
@@ -53,7 +53,7 @@ export class RelatedResourcesComponent extends AppBaseComponent {
53
53
  ngOnInit() {
54
54
  this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;
55
55
  this.route.params.subscribe(params => {
56
- this.slug = params['slug'] || '';
56
+ this.slug = params['slug'] ?? '';
57
57
  this.getBlogItem(this.slug);
58
58
  });
59
59
  console.log(this.linkedInUrl, this.appConfig);
@@ -72,11 +72,11 @@ export class RelatedResourcesComponent extends AppBaseComponent {
72
72
  });
73
73
  }
74
74
  get hasValidDemoLinks() {
75
- return (Array.isArray(this.demoLinks) && this.demoLinks.some(link => link?.title || link?.url));
75
+ return (Array.isArray(this.demoLinks) && this.demoLinks.some(link => link?.title ?? link?.url));
76
76
  }
77
77
  getPostTags() {
78
78
  this.tagService
79
- .getTagsByType('post_categories', {}, this.subscriptionId || this.masterSubscriptionId)
79
+ .getTagsByType('post_categories', {}, this.subscriptionId ?? this.masterSubscriptionId)
80
80
  .subscribe(response => {
81
81
  this.blogPostTag = response.tags.find(tag => tag.name === 'Blog Posts');
82
82
  });
@@ -120,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
120
120
  type: Component,
121
121
  args: [{ selector: 'pw-related-resources', template: "\n\n<section class=\"resource-body-section\">\n <div class=\"container\">\n <div class=\"ql-snow body-quill\"\n >\n <div class=\"ql-editor body post-body-text\"\n [innerHTML]=\"post?.body\">\n </div>\n </div>\n <section class=\"nce-offer-section\">\n\n <div class=\"row mt-5 mb-4 response-row\">\n <div class=\"col-12\">\n <form\n class=\"p-fluid mb-5\"\n [formGroup]=\"commentForm\"\n (ngSubmit)=\"onComment()\"\n *ngIf=\"userLoggedIn; else userLoggedOut\"\n >\n <div class=\"card shadow-sm border-0 p-4\">\n <div class=\"field\">\n <label for=\"comment\" class=\"font-bold text-lg mb-4 comment-label\">\uD83D\uDCAC Leave a comment</label>\n <textarea\n pInputTextarea\n formControlName=\"comment\"\n rows=\"6\"\n autoResize=\"true\"\n class=\"p-inputtext p-component p-inputtextarea\"\n placeholder=\"What's on your mind?\"\n ></textarea>\n <small\n class=\"text-danger\"\n *ngIf=\"commentForm.get('comment')?.invalid && commentForm.get('comment')?.touched\"\n >Please enter comment</small\n >\n </div>\n <div class=\"text-end mt-3\">\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"sign-btn sign-header-btn\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </div>\n </form>\n <ng-template #userLoggedOut>\n <p class=\"text-center pt-3 pb-3 user-not-logged-in text-muted shadow-sm mb-5\">\n <a [routerLink]=\"['/login']\" class=\"text-primary fw-bold\">Log in</a> to leave a comment!\n </p>\n </ng-template>\n </div>\n </div>\n\n <div class=\"row mt-5 comment-row\">\n <div class=\"col-12\" *ngFor=\"let comment of postComments; trackBy: trackByComment\">\n <div class=\"card border-0 shadow-sm p-3 mb-3\">\n <div class=\"d-flex align-items-start\">\n <img\n [src]=\"comment?.author?.avatar?.[0]?.url || 'assets/img/icons/male.png'\"\n alt=\"avatar\"\n class=\"rounded-circle me-3\"\n width=\"50\"\n height=\"50\"\n (error)=\"handleImageError($event, 'assets/img/icons/male.png')\"\n />\n <div class=\"flex-grow-1\">\n <div class=\"fw-bold text-dark\">\n {{ comment.user?.first_name || '' }} {{ comment.user?.last_name || '' }}\n </div>\n <div class=\"text-muted small mb-2\">{{ comment.created_at | date: 'dd MMM yyyy, h:mm a' }}</div>\n <div class=\"text-body\">\n {{ comment.comment }}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n\n </section>\n </div>\n <hr class=\"nce-divider\" />\n</section>\n\n<section class=\"nce-book-section\" *ngIf=\"hasValidDemoLinks\">\n <div class=\"container\">\n\n <p class=\"nce-contact\">\n Any questions, get in touch <a href=\"mailto:{{ company_email }}\">here</a>,\n <a [href]=\"linkedInUrl\" target=\"_blank\">connect on LinkedIn</a>, or book a meeting below:\n </p>\n </div>\n <pw-book-a-demo [isBlog]=\"true\"></pw-book-a-demo>\n <hr class=\"nce-divider\" />\n</section>\n\n\n<pw-resource-cards *ngIf=\"blogPostTag?.tag_category_id\" [categoryId]=\"blogPostTag?.tag_category_id\" [resourceTitle]=\"blogPostTag?.title\" [isHeaderVisible]=\"true\" resourceLink=\"/resources/blogs\" [resourceTitle]=\"'Other resources you may be interested in:'\"></pw-resource-cards>\n", styles: [".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"] }]
122
122
  }], ctorParameters: () => [{ type: i1.ResourceService }, { type: i0.Injector }, { type: i2.DomSanitizer }, { type: i3.TagService }, { type: i3.CustomToastService }] });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRlZC1yZXNvdXJjZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9yZXNvdXJjZS1tb2R1bGUvc3JjL2xpYi9wdWJsaWMvY29tcG9uZW50cy9yZXNvdXJjZS1wb3N0L3JlbGF0ZWQtcmVzb3VyY2VzL3JlbGF0ZWQtcmVzb3VyY2VzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcmVzb3VyY2UtbW9kdWxlL3NyYy9saWIvcHVibGljL2NvbXBvbmVudHMvcmVzb3VyY2UtcG9zdC9yZWxhdGVkLXJlc291cmNlcy9yZWxhdGVkLXJlc291cmNlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQVEsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7Ozs7O0FBT3hFLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxnQkFBZ0I7SUF1QzNELFlBQ3FCLGVBQWdDLEVBQ2pELFFBQWtCLEVBQ0QsU0FBdUIsRUFDdkIsVUFBc0IsRUFDdEIsTUFBMEI7UUFFM0MsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBTkMsb0JB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LENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsTUFBTSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLGVBQWU7YUFDZixZQUFZLENBQUMsSUFBSSxDQUFDO2FBQ2xCLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQztRQUNuRixDQUFDLENBQUM7YUFDRCxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBYyxFQUFFLElBQW9CO1FBQy9DLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNuQixDQUFDOytHQXZIUSx5QkFBeUI7bUdBQXpCLHlCQUF5QixtRkNoQnRDLGcySEFvR0E7OzRGRHBGYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0ksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tVG9hc3RTZXJ2aWNlLCBUYWdTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBUT0tFTl9LRVksIFVzZXIgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2hlbHBlci1zZXJ2aWNlJztcblxuaW1wb3J0IHsgUmVzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcmVzb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBSZXNvdXJjZUJsb2cgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvbW9kZWxzL3Jlc291cmNlLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1yZWxhdGVkLXJlc291cmNlcycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JlbGF0ZWQtcmVzb3VyY2VzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yZWxhdGVkLXJlc291cmNlcy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJlbGF0ZWRSZXNvdXJjZXNDb21wb25lbnQgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICByZXNvdXJjZUNhcmRzID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTogJ0JMT0c6IEhlcmXigJlzIHdoeSB5b3Ugc2hvdWxkIFFBIHlvdXIgZGlzdHJpYnV0b3IgaW52b2ljZXMnLFxuICAgICAgICAgICAgaW1hZ2U6ICcvYXNzZXRzL2ltZy9yZXNvdXJjZS9yZXNvdXJjZS1xYS5wbmcnLFxuICAgICAgICAgICAgYWx0OiAnUUEgZGlzdHJpYnV0b3IgaW52b2ljZXMnLFxuICAgICAgICAgICAgdXJsOiAnL3Jlc291cmNlcy92aWV3L2hlcmUtcy13aHkteW91LXNob3VsZC1iZS1zZWVraW5nLWluZGVwZW5kZW50LXFhLW9mLWFsbC1kaXN0cmlidXRvci1pbnYnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRpdGxlOiAnQkxPRzogNCBpbnN0YW50IGhhY2tzIHRvIHVwbGlmdCB5b3VyIE1TUOKAmXMgbW9udGhseSBiaWxsaW5nJyxcbiAgICAgICAgICAgIGltYWdlOiAnL2Fzc2V0cy9pbWcvcmVzb3VyY2UvcmVzb3VyY2UtaGFja3MucG5nJyxcbiAgICAgICAgICAgIGFsdDogJ01vbnRobHkgYmlsbGluZyBoYWNrcycsXG4gICAgICAgICAgICB1cmw6ICcvcmVzb3VyY2VzL3ZpZXcvNC1pbnN0YW50LWhhY2tzLXRvLXVwbGlmdC15b3VyLW1zcC1zLW1vbnRobHktYmlsbGluZydcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgdGl0bGU6ICdCTE9HOiBUaGUgdHJpdmlhbCBkZXRhaWwgdGhhdCB3aWxsIGVpdGhlciBmdXR1cmUtcHJvb2Ygb3Igc2Fib3RhZ2UgeW91ciBQU0EuJyxcbiAgICAgICAgICAgIGltYWdlOiAnL2Fzc2V0cy9pbWcvcmVzb3VyY2UvcmVzb3VyY2UtcHNhLnBuZycsXG4gICAgICAgICAgICBhbHQ6ICdQU0EgZnV0dXJlLXByb29mJyxcbiAgICAgICAgICAgIHVybDogJy9yZXNvdXJjZXMvdmlldy90aGUtdHJpdmlhbC1kZXRhaWwtdGhhdC13aWxsLWVpdGhlci1mdXR1cmUtcHJvb2Ytb3Itc2Fib3RhZ2UteW91ci1wc2EnXG4gICAgICAgIH1cbiAgICBdO1xuXG4gICAgcG9zdDtcbiAgICBtYXN0ZXJTdWJzY3JpcHRpb25JZDtcbiAgICBzbHVnO1xuXG4gICAgcG9zdENvbW1lbnRzID0gW107XG4gICAgY29tbWVudEZvcm07XG5cbiAgICB1c2VyTG9nZ2VkSW46IGJvb2xlYW47XG5cbiAgICBkZW1vTGlua3MgPSB0aGlzLmFwcENvbmZpZz8ucGFnZXNfY29uZmlnPy5ib29rX2RlbW8/Lml0ZW1zO1xuXG4gICAgdXNlcjogVXNlcjtcbiAgICBibG9nUG9zdFRhZztcbiAgICBzdWJzY3JpcHRpb25JZDtcbiAgICBsaW5rZWRJblVybCA9IHRoaXMuYXBwQ29uZmlnPy5zb2NpYWw/LmxpbmtlZGluX3VybDtcbiAgICBjb21wYW55X2VtYWlsID0gdGhpcy5hcHBDb25maWcuY29tcGFueS5lbWFpbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlU2VydmljZTogUmVzb3VyY2VTZXJ2aWNlLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGFnU2VydmljZTogVGFnU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0b2FzdHI6IEN1c3RvbVRvYXN0U2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgICAgIHRoaXMuY29tbWVudEZvcm0gPSBSZXNvdXJjZUJsb2cuZ2V0UmVzb3VyY2VQb3N0c0Zvcm0oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tYXN0ZXJTdWJzY3JpcHRpb25JZCA9IHRoaXMuYXBwQ29uZmlnLm1hc3Rlcl9zdWJzY3JpcHRpb24uc3Vic2NyaXB0aW9uX2lkO1xuICAgICAgICB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2x1ZyA9IHBhcmFtc1snc2x1ZyddIHx8ICcnO1xuICAgICAgICAgICAgdGhpcy5nZXRCbG9nSXRlbSh0aGlzLnNsdWcpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5saW5rZWRJblVybCwgdGhpcy5hcHBDb25maWcpO1xuICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtJChUT0tFTl9LRVkpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy51c2VyTG9nZ2VkSW4gPSAhIXJlcztcbiAgICAgICAgICAgIGlmICh0aGlzLnVzZXJMb2dnZWRJbikge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlclNlcnZpY2UuZ2V0VXNlckluZm8oKS5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXNlciA9IGRhdGE7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSQoJ3Byb2R1Y3QnKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IHJlcyA/IEpTT04ucGFyc2UocmVzKSA6IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgPSBkYXRhPy5zdWJzY3JpcHRpb25JZDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZ2V0UG9zdFRhZ3MoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1ZhbGlkRGVtb0xpbmtzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgQXJyYXkuaXNBcnJheSh0aGlzLmRlbW9MaW5rcykgJiYgdGhpcy5kZW1vTGlua3Muc29tZShsaW5rID0+IGxpbms/LnRpdGxlIHx8IGxpbms/LnVybClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFBvc3RUYWdzKCkge1xuICAgICAgICB0aGlzLnRhZ1NlcnZpY2VcbiAgICAgICAgICAgIC5nZXRUYWdzQnlUeXBlKCdwb3N0X2NhdGVnb3JpZXMnLCB7fSwgdGhpcy5zdWJzY3JpcHRpb25JZCB8fCB0aGlzLm1hc3RlclN1YnNjcmlwdGlvbklkKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5ibG9nUG9zdFRhZyA9IHJlc3BvbnNlLnRhZ3MuZmluZCh0YWcgPT4gdGFnLm5hbWUgPT09ICdCbG9nIFBvc3RzJyk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEJsb2dJdGVtKHNsdWc6IHN0cmluZykge1xuICAgICAgICB0aGlzLnJlc291cmNlU2VydmljZS5nZXRQb3N0QnlTbHVnKHNsdWcpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICBsZXQgYmxvZ0JvZHk7XG4gICAgICAgICAgICBpZiAocmVzcG9uc2U/LmJvZHkpIHtcbiAgICAgICAgICAgICAgICBibG9nQm9keSA9IEhlbHBlclNlcnZpY2Uuc2FuaXRpemVRdWlsbEJvZHkocmVzcG9uc2UuYm9keSwgdGhpcy5zYW5pdGl6ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHJlc3BvbnNlPy53aGVuKTtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IGRhdGUudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdO1xuICAgICAgICAgICAgY29uc29sZS5sb2coZm9ybWF0dGVkKTsgLy9cbiAgICAgICAgICAgIHRoaXMucG9zdENvbW1lbnRzID0gcmVzcG9uc2UuZW50aXR5X2NvbW1lbnRzO1xuICAgICAgICAgICAgdGhpcy5wb3N0ID0geyAuLi5yZXNwb25zZSwgYm9keTogYmxvZ0JvZHksIHdoZW46IGZvcm1hdHRlZCB9O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkNvbW1lbnQoKSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB7IC4uLnRoaXMuY29tbWVudEZvcm0udmFsdWUgfTtcbiAgICAgICAgZGF0YS5yZWxhdGVkX2VudGl0eV9pZCA9IHRoaXMucG9zdD8uaWQ7XG4gICAgICAgIGRhdGEucmVsYXRlZF9lbnRpdHlfdHlwZSA9ICdQb3N0JztcbiAgICAgICAgZGF0YS51c2VyX2lkID0gdGhpcy51c2VyPy5pZDtcbiAgICAgICAgdGhpcy5yZXNvdXJjZVNlcnZpY2VcbiAgICAgICAgICAgIC5wb3N0Q29tbWVudHMoZGF0YSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0QmxvZ0l0ZW0odGhpcy5zbHVnKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbW1lbnRGb3JtLnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy50b2FzdHIuc3VjY2Vzcyh0aGlzLnRyYW5zbGF0aW9uLnRyYW5zbGF0ZSgnUmVzb3VyY2UuUG9zdHMuQ29tbWVudEFkZGVkJykpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdJbiB0aGlzJyk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB0cmFja0J5Q29tbWVudChfaW5kZXg6IG51bWJlciwgaXRlbTogeyBpZDogbnVtYmVyIH0pIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0uaWQ7XG4gICAgfVxufVxuIiwiXG5cbjxzZWN0aW9uIGNsYXNzPVwicmVzb3VyY2UtYm9keS1zZWN0aW9uXCI+XG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwicWwtc25vdyBib2R5LXF1aWxsXCJcbiAgICA+XG4gICAgPGRpdiBjbGFzcz1cInFsLWVkaXRvciBib2R5IHBvc3QtYm9keS10ZXh0XCJcbiAgICAgIFtpbm5lckhUTUxdPVwicG9zdD8uYm9keVwiPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPHNlY3Rpb24gY2xhc3M9XCJuY2Utb2ZmZXItc2VjdGlvblwiPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTUgbWItNCByZXNwb25zZS1yb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgIDxmb3JtXG4gICAgICAgICAgICBjbGFzcz1cInAtZmx1aWQgbWItNVwiXG4gICAgICAgICAgICBbZm9ybUdyb3VwXT1cImNvbW1lbnRGb3JtXCJcbiAgICAgICAgICAgIChuZ1N1Ym1pdCk9XCJvbkNvbW1lbnQoKVwiXG4gICAgICAgICAgICAqbmdJZj1cInVzZXJMb2dnZWRJbjsgZWxzZSB1c2VyTG9nZ2VkT3V0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBzaGFkb3ctc20gYm9yZGVyLTAgcC00XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJjb21tZW50XCIgY2xhc3M9XCJmb250LWJvbGQgdGV4dC1sZyBtYi00IGNvbW1lbnQtbGFiZWxcIj7wn5KsIExlYXZlIGEgY29tbWVudDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICAgICAgICBwSW5wdXRUZXh0YXJlYVxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29tbWVudFwiXG4gICAgICAgICAgICAgICAgICByb3dzPVwiNlwiXG4gICAgICAgICAgICAgICAgICBhdXRvUmVzaXplPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInAtaW5wdXR0ZXh0IHAtY29tcG9uZW50IHAtaW5wdXR0ZXh0YXJlYVwiXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIldoYXQncyBvbiB5b3VyIG1pbmQ/XCJcbiAgICAgICAgICAgICAgICA+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgICAgICA8c21hbGxcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1kYW5nZXJcIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb21tZW50Rm9ybS5nZXQoJ2NvbW1lbnQnKT8uaW52YWxpZCAmJiBjb21tZW50Rm9ybS5nZXQoJ2NvbW1lbnQnKT8udG91Y2hlZFwiXG4gICAgICAgICAgICAgICAgICA+UGxlYXNlIGVudGVyIGNvbW1lbnQ8L3NtYWxsXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZW5kIG10LTNcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgIFtidXR0b25CdXN5XT1cImJ1dHRvbkJ1c3lcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2lnbi1idG4gc2lnbi1oZWFkZXItYnRuXCI+XG4gICAgICAgICAgICAgICAge3sgJ0J1dHRvbi5TdWJtaXQnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3VzZXJMb2dnZWRPdXQ+XG4gICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtY2VudGVyIHB0LTMgcGItMyB1c2VyLW5vdC1sb2dnZWQtaW4gdGV4dC1tdXRlZCBzaGFkb3ctc20gbWItNVwiPlxuICAgICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbJy9sb2dpbiddXCIgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgZnctYm9sZFwiPkxvZyBpbjwvYT4gdG8gbGVhdmUgYSBjb21tZW50IVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtNSBjb21tZW50LXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCIgKm5nRm9yPVwibGV0IGNvbW1lbnQgb2YgcG9zdENvbW1lbnRzOyB0cmFja0J5OiB0cmFja0J5Q29tbWVudFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGJvcmRlci0wIHNoYWRvdy1zbSBwLTMgbWItM1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1zdGFydFwiPlxuICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgW3NyY109XCJjb21tZW50Py5hdXRob3I/LmF2YXRhcj8uWzBdPy51cmwgfHwgJ2Fzc2V0cy9pbWcvaWNvbnMvbWFsZS5wbmcnXCJcbiAgICAgICAgICAgICAgICBhbHQ9XCJhdmF0YXJcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicm91bmRlZC1jaXJjbGUgbWUtM1wiXG4gICAgICAgICAgICAgICAgd2lkdGg9XCI1MFwiXG4gICAgICAgICAgICAgICAgaGVpZ2h0PVwiNTBcIlxuICAgICAgICAgICAgICAgIChlcnJvcik9XCJoYW5kbGVJbWFnZUVycm9yKCRldmVudCwgJ2Fzc2V0cy9pbWcvaWNvbnMvbWFsZS5wbmcnKVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmdy1ib2xkIHRleHQtZGFya1wiPlxuICAgICAgICAgICAgICAgICAge3sgY29tbWVudC51c2VyPy5maXJzdF9uYW1lIHx8ICcnIH19IHt7IGNvbW1lbnQudXNlcj8ubGFzdF9uYW1lIHx8ICcnIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbXV0ZWQgc21hbGwgbWItMlwiPnt7IGNvbW1lbnQuY3JlYXRlZF9hdCB8IGRhdGU6ICdkZCBNTU0geXl5eSwgaDptbSBhJyB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWJvZHlcIj5cbiAgICAgICAgICAgICAgICAgIHt7IGNvbW1lbnQuY29tbWVudCB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG5cbiAgPC9zZWN0aW9uPlxuICA8L2Rpdj5cbiAgPGhyIGNsYXNzPVwibmNlLWRpdmlkZXJcIiAvPlxuPC9zZWN0aW9uPlxuXG48c2VjdGlvbiBjbGFzcz1cIm5jZS1ib29rLXNlY3Rpb25cIiAqbmdJZj1cImhhc1ZhbGlkRGVtb0xpbmtzXCI+XG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cblxuICAgIDxwIGNsYXNzPVwibmNlLWNvbnRhY3RcIj5cbiAgICAgIEFueSBxdWVzdGlvbnMsIGdldCBpbiB0b3VjaCA8YSBocmVmPVwibWFpbHRvOnt7IGNvbXBhbnlfZW1haWwgfX1cIj5oZXJlPC9hPixcbiAgICAgIDxhIFtocmVmXT1cImxpbmtlZEluVXJsXCIgdGFyZ2V0PVwiX2JsYW5rXCI+Y29ubmVjdCBvbiBMaW5rZWRJbjwvYT4sIG9yIGJvb2sgYSBtZWV0aW5nIGJlbG93OlxuICAgIDwvcD5cbiAgPC9kaXY+XG4gIDxwdy1ib29rLWEtZGVtbyBbaXNCbG9nXT1cInRydWVcIj48L3B3LWJvb2stYS1kZW1vPlxuICA8aHIgY2xhc3M9XCJuY2UtZGl2aWRlclwiIC8+XG48L3NlY3Rpb24+XG5cblxuPHB3LXJlc291cmNlLWNhcmRzICpuZ0lmPVwiYmxvZ1Bvc3RUYWc/LnRhZ19jYXRlZ29yeV9pZFwiIFtjYXRlZ29yeUlkXT1cImJsb2dQb3N0VGFnPy50YWdfY2F0ZWdvcnlfaWRcIiBbcmVzb3VyY2VUaXRsZV09XCJibG9nUG9zdFRhZz8udGl0bGVcIiBbaXNIZWFkZXJWaXNpYmxlXT1cInRydWVcIiByZXNvdXJjZUxpbms9XCIvcmVzb3VyY2VzL2Jsb2dzXCIgW3Jlc291cmNlVGl0bGVdPVwiJ090aGVyIHJlc291cmNlcyB5b3UgbWF5IGJlIGludGVyZXN0ZWQgaW46J1wiPjwvcHctcmVzb3VyY2UtY2FyZHM+XG4iXX0=
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRlZC1yZXNvdXJjZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9yZXNvdXJjZS1tb2R1bGUvc3JjL2xpYi9wdWJsaWMvY29tcG9uZW50cy9yZXNvdXJjZS1wb3N0L3JlbGF0ZWQtcmVzb3VyY2VzL3JlbGF0ZWQtcmVzb3VyY2VzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcmVzb3VyY2UtbW9kdWxlL3NyYy9saWIvcHVibGljL2NvbXBvbmVudHMvcmVzb3VyY2UtcG9zdC9yZWxhdGVkLXJlc291cmNlcy9yZWxhdGVkLXJlc291cmNlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQVEsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7Ozs7O0FBT3hFLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxnQkFBZ0I7SUF1QzNELFlBQ3FCLGVBQWdDLEVBQ2pELFFBQWtCLEVBQ0QsU0FBdUIsRUFDdkIsVUFBc0IsRUFDdEIsTUFBMEI7UUFFM0MsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBTkMsb0JB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LENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsTUFBTSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLGVBQWU7YUFDZixZQUFZLENBQUMsSUFBSSxDQUFDO2FBQ2xCLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQztRQUNuRixDQUFDLENBQUM7YUFDRCxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBYyxFQUFFLElBQW9CO1FBQy9DLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNuQixDQUFDOytHQXZIUSx5QkFBeUI7bUdBQXpCLHlCQUF5QixtRkNoQnRDLGcySEFvR0E7OzRGRHBGYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0ksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tVG9hc3RTZXJ2aWNlLCBUYWdTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBUT0tFTl9LRVksIFVzZXIgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2hlbHBlci1zZXJ2aWNlJztcblxuaW1wb3J0IHsgUmVzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcmVzb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBSZXNvdXJjZUJsb2cgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvbW9kZWxzL3Jlc291cmNlLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1yZWxhdGVkLXJlc291cmNlcycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JlbGF0ZWQtcmVzb3VyY2VzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yZWxhdGVkLXJlc291cmNlcy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJlbGF0ZWRSZXNvdXJjZXNDb21wb25lbnQgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICByZXNvdXJjZUNhcmRzID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTogJ0JMT0c6IEhlcmXigJlzIHdoeSB5b3Ugc2hvdWxkIFFBIHlvdXIgZGlzdHJpYnV0b3IgaW52b2ljZXMnLFxuICAgICAgICAgICAgaW1hZ2U6ICcvYXNzZXRzL2ltZy9yZXNvdXJjZS9yZXNvdXJjZS1xYS5wbmcnLFxuICAgICAgICAgICAgYWx0OiAnUUEgZGlzdHJpYnV0b3IgaW52b2ljZXMnLFxuICAgICAgICAgICAgdXJsOiAnL3Jlc291cmNlcy92aWV3L2hlcmUtcy13aHkteW91LXNob3VsZC1iZS1zZWVraW5nLWluZGVwZW5kZW50LXFhLW9mLWFsbC1kaXN0cmlidXRvci1pbnYnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRpdGxlOiAnQkxPRzogNCBpbnN0YW50IGhhY2tzIHRvIHVwbGlmdCB5b3VyIE1TUOKAmXMgbW9udGhseSBiaWxsaW5nJyxcbiAgICAgICAgICAgIGltYWdlOiAnL2Fzc2V0cy9pbWcvcmVzb3VyY2UvcmVzb3VyY2UtaGFja3MucG5nJyxcbiAgICAgICAgICAgIGFsdDogJ01vbnRobHkgYmlsbGluZyBoYWNrcycsXG4gICAgICAgICAgICB1cmw6ICcvcmVzb3VyY2VzL3ZpZXcvNC1pbnN0YW50LWhhY2tzLXRvLXVwbGlmdC15b3VyLW1zcC1zLW1vbnRobHktYmlsbGluZydcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgdGl0bGU6ICdCTE9HOiBUaGUgdHJpdmlhbCBkZXRhaWwgdGhhdCB3aWxsIGVpdGhlciBmdXR1cmUtcHJvb2Ygb3Igc2Fib3RhZ2UgeW91ciBQU0EuJyxcbiAgICAgICAgICAgIGltYWdlOiAnL2Fzc2V0cy9pbWcvcmVzb3VyY2UvcmVzb3VyY2UtcHNhLnBuZycsXG4gICAgICAgICAgICBhbHQ6ICdQU0EgZnV0dXJlLXByb29mJyxcbiAgICAgICAgICAgIHVybDogJy9yZXNvdXJjZXMvdmlldy90aGUtdHJpdmlhbC1kZXRhaWwtdGhhdC13aWxsLWVpdGhlci1mdXR1cmUtcHJvb2Ytb3Itc2Fib3RhZ2UteW91ci1wc2EnXG4gICAgICAgIH1cbiAgICBdO1xuXG4gICAgcG9zdDtcbiAgICBtYXN0ZXJTdWJzY3JpcHRpb25JZDtcbiAgICBzbHVnO1xuXG4gICAgcG9zdENvbW1lbnRzID0gW107XG4gICAgY29tbWVudEZvcm07XG5cbiAgICB1c2VyTG9nZ2VkSW46IGJvb2xlYW47XG5cbiAgICBkZW1vTGlua3MgPSB0aGlzLmFwcENvbmZpZz8ucGFnZXNfY29uZmlnPy5ib29rX2RlbW8/Lml0ZW1zO1xuXG4gICAgdXNlcjogVXNlcjtcbiAgICBibG9nUG9zdFRhZztcbiAgICBzdWJzY3JpcHRpb25JZDtcbiAgICBsaW5rZWRJblVybCA9IHRoaXMuYXBwQ29uZmlnPy5zb2NpYWw/LmxpbmtlZGluX3VybDtcbiAgICBjb21wYW55X2VtYWlsID0gdGhpcy5hcHBDb25maWcuY29tcGFueS5lbWFpbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlU2VydmljZTogUmVzb3VyY2VTZXJ2aWNlLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGFnU2VydmljZTogVGFnU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0b2FzdHI6IEN1c3RvbVRvYXN0U2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgICAgIHRoaXMuY29tbWVudEZvcm0gPSBSZXNvdXJjZUJsb2cuZ2V0UmVzb3VyY2VQb3N0c0Zvcm0oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tYXN0ZXJTdWJzY3JpcHRpb25JZCA9IHRoaXMuYXBwQ29uZmlnLm1hc3Rlcl9zdWJzY3JpcHRpb24uc3Vic2NyaXB0aW9uX2lkO1xuICAgICAgICB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2x1ZyA9IHBhcmFtc1snc2x1ZyddID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5nZXRCbG9nSXRlbSh0aGlzLnNsdWcpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5saW5rZWRJblVybCwgdGhpcy5hcHBDb25maWcpO1xuICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtJChUT0tFTl9LRVkpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy51c2VyTG9nZ2VkSW4gPSAhIXJlcztcbiAgICAgICAgICAgIGlmICh0aGlzLnVzZXJMb2dnZWRJbikge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlclNlcnZpY2UuZ2V0VXNlckluZm8oKS5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXNlciA9IGRhdGE7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSQoJ3Byb2R1Y3QnKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IHJlcyA/IEpTT04ucGFyc2UocmVzKSA6IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgPSBkYXRhPy5zdWJzY3JpcHRpb25JZDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZ2V0UG9zdFRhZ3MoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1ZhbGlkRGVtb0xpbmtzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgQXJyYXkuaXNBcnJheSh0aGlzLmRlbW9MaW5rcykgJiYgdGhpcy5kZW1vTGlua3Muc29tZShsaW5rID0+IGxpbms/LnRpdGxlID8/IGxpbms/LnVybClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFBvc3RUYWdzKCkge1xuICAgICAgICB0aGlzLnRhZ1NlcnZpY2VcbiAgICAgICAgICAgIC5nZXRUYWdzQnlUeXBlKCdwb3N0X2NhdGVnb3JpZXMnLCB7fSwgdGhpcy5zdWJzY3JpcHRpb25JZCA/PyB0aGlzLm1hc3RlclN1YnNjcmlwdGlvbklkKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5ibG9nUG9zdFRhZyA9IHJlc3BvbnNlLnRhZ3MuZmluZCh0YWcgPT4gdGFnLm5hbWUgPT09ICdCbG9nIFBvc3RzJyk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEJsb2dJdGVtKHNsdWc6IHN0cmluZykge1xuICAgICAgICB0aGlzLnJlc291cmNlU2VydmljZS5nZXRQb3N0QnlTbHVnKHNsdWcpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICBsZXQgYmxvZ0JvZHk7XG4gICAgICAgICAgICBpZiAocmVzcG9uc2U/LmJvZHkpIHtcbiAgICAgICAgICAgICAgICBibG9nQm9keSA9IEhlbHBlclNlcnZpY2Uuc2FuaXRpemVRdWlsbEJvZHkocmVzcG9uc2UuYm9keSwgdGhpcy5zYW5pdGl6ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHJlc3BvbnNlPy53aGVuKTtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IGRhdGUudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdO1xuICAgICAgICAgICAgY29uc29sZS5sb2coZm9ybWF0dGVkKTsgLy9cbiAgICAgICAgICAgIHRoaXMucG9zdENvbW1lbnRzID0gcmVzcG9uc2UuZW50aXR5X2NvbW1lbnRzO1xuICAgICAgICAgICAgdGhpcy5wb3N0ID0geyAuLi5yZXNwb25zZSwgYm9keTogYmxvZ0JvZHksIHdoZW46IGZvcm1hdHRlZCB9O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkNvbW1lbnQoKSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB7IC4uLnRoaXMuY29tbWVudEZvcm0udmFsdWUgfTtcbiAgICAgICAgZGF0YS5yZWxhdGVkX2VudGl0eV9pZCA9IHRoaXMucG9zdD8uaWQ7XG4gICAgICAgIGRhdGEucmVsYXRlZF9lbnRpdHlfdHlwZSA9ICdQb3N0JztcbiAgICAgICAgZGF0YS51c2VyX2lkID0gdGhpcy51c2VyPy5pZDtcbiAgICAgICAgdGhpcy5yZXNvdXJjZVNlcnZpY2VcbiAgICAgICAgICAgIC5wb3N0Q29tbWVudHMoZGF0YSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0QmxvZ0l0ZW0odGhpcy5zbHVnKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbW1lbnRGb3JtLnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy50b2FzdHIuc3VjY2Vzcyh0aGlzLnRyYW5zbGF0aW9uLnRyYW5zbGF0ZSgnUmVzb3VyY2UuUG9zdHMuQ29tbWVudEFkZGVkJykpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdJbiB0aGlzJyk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB0cmFja0J5Q29tbWVudChfaW5kZXg6IG51bWJlciwgaXRlbTogeyBpZDogbnVtYmVyIH0pIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0uaWQ7XG4gICAgfVxufVxuIiwiXG5cbjxzZWN0aW9uIGNsYXNzPVwicmVzb3VyY2UtYm9keS1zZWN0aW9uXCI+XG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwicWwtc25vdyBib2R5LXF1aWxsXCJcbiAgICA+XG4gICAgPGRpdiBjbGFzcz1cInFsLWVkaXRvciBib2R5IHBvc3QtYm9keS10ZXh0XCJcbiAgICAgIFtpbm5lckhUTUxdPVwicG9zdD8uYm9keVwiPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPHNlY3Rpb24gY2xhc3M9XCJuY2Utb2ZmZXItc2VjdGlvblwiPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTUgbWItNCByZXNwb25zZS1yb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgIDxmb3JtXG4gICAgICAgICAgICBjbGFzcz1cInAtZmx1aWQgbWItNVwiXG4gICAgICAgICAgICBbZm9ybUdyb3VwXT1cImNvbW1lbnRGb3JtXCJcbiAgICAgICAgICAgIChuZ1N1Ym1pdCk9XCJvbkNvbW1lbnQoKVwiXG4gICAgICAgICAgICAqbmdJZj1cInVzZXJMb2dnZWRJbjsgZWxzZSB1c2VyTG9nZ2VkT3V0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBzaGFkb3ctc20gYm9yZGVyLTAgcC00XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJjb21tZW50XCIgY2xhc3M9XCJmb250LWJvbGQgdGV4dC1sZyBtYi00IGNvbW1lbnQtbGFiZWxcIj7wn5KsIExlYXZlIGEgY29tbWVudDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICAgICAgICBwSW5wdXRUZXh0YXJlYVxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29tbWVudFwiXG4gICAgICAgICAgICAgICAgICByb3dzPVwiNlwiXG4gICAgICAgICAgICAgICAgICBhdXRvUmVzaXplPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInAtaW5wdXR0ZXh0IHAtY29tcG9uZW50IHAtaW5wdXR0ZXh0YXJlYVwiXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIldoYXQncyBvbiB5b3VyIG1pbmQ/XCJcbiAgICAgICAgICAgICAgICA+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgICAgICA8c21hbGxcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1kYW5nZXJcIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb21tZW50Rm9ybS5nZXQoJ2NvbW1lbnQnKT8uaW52YWxpZCAmJiBjb21tZW50Rm9ybS5nZXQoJ2NvbW1lbnQnKT8udG91Y2hlZFwiXG4gICAgICAgICAgICAgICAgICA+UGxlYXNlIGVudGVyIGNvbW1lbnQ8L3NtYWxsXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZW5kIG10LTNcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgIFtidXR0b25CdXN5XT1cImJ1dHRvbkJ1c3lcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2lnbi1idG4gc2lnbi1oZWFkZXItYnRuXCI+XG4gICAgICAgICAgICAgICAge3sgJ0J1dHRvbi5TdWJtaXQnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3VzZXJMb2dnZWRPdXQ+XG4gICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtY2VudGVyIHB0LTMgcGItMyB1c2VyLW5vdC1sb2dnZWQtaW4gdGV4dC1tdXRlZCBzaGFkb3ctc20gbWItNVwiPlxuICAgICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbJy9sb2dpbiddXCIgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgZnctYm9sZFwiPkxvZyBpbjwvYT4gdG8gbGVhdmUgYSBjb21tZW50IVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtNSBjb21tZW50LXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCIgKm5nRm9yPVwibGV0IGNvbW1lbnQgb2YgcG9zdENvbW1lbnRzOyB0cmFja0J5OiB0cmFja0J5Q29tbWVudFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGJvcmRlci0wIHNoYWRvdy1zbSBwLTMgbWItM1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1zdGFydFwiPlxuICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgW3NyY109XCJjb21tZW50Py5hdXRob3I/LmF2YXRhcj8uWzBdPy51cmwgfHwgJ2Fzc2V0cy9pbWcvaWNvbnMvbWFsZS5wbmcnXCJcbiAgICAgICAgICAgICAgICBhbHQ9XCJhdmF0YXJcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicm91bmRlZC1jaXJjbGUgbWUtM1wiXG4gICAgICAgICAgICAgICAgd2lkdGg9XCI1MFwiXG4gICAgICAgICAgICAgICAgaGVpZ2h0PVwiNTBcIlxuICAgICAgICAgICAgICAgIChlcnJvcik9XCJoYW5kbGVJbWFnZUVycm9yKCRldmVudCwgJ2Fzc2V0cy9pbWcvaWNvbnMvbWFsZS5wbmcnKVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmdy1ib2xkIHRleHQtZGFya1wiPlxuICAgICAgICAgICAgICAgICAge3sgY29tbWVudC51c2VyPy5maXJzdF9uYW1lIHx8ICcnIH19IHt7IGNvbW1lbnQudXNlcj8ubGFzdF9uYW1lIHx8ICcnIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbXV0ZWQgc21hbGwgbWItMlwiPnt7IGNvbW1lbnQuY3JlYXRlZF9hdCB8IGRhdGU6ICdkZCBNTU0geXl5eSwgaDptbSBhJyB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWJvZHlcIj5cbiAgICAgICAgICAgICAgICAgIHt7IGNvbW1lbnQuY29tbWVudCB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG5cbiAgPC9zZWN0aW9uPlxuICA8L2Rpdj5cbiAgPGhyIGNsYXNzPVwibmNlLWRpdmlkZXJcIiAvPlxuPC9zZWN0aW9uPlxuXG48c2VjdGlvbiBjbGFzcz1cIm5jZS1ib29rLXNlY3Rpb25cIiAqbmdJZj1cImhhc1ZhbGlkRGVtb0xpbmtzXCI+XG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cblxuICAgIDxwIGNsYXNzPVwibmNlLWNvbnRhY3RcIj5cbiAgICAgIEFueSBxdWVzdGlvbnMsIGdldCBpbiB0b3VjaCA8YSBocmVmPVwibWFpbHRvOnt7IGNvbXBhbnlfZW1haWwgfX1cIj5oZXJlPC9hPixcbiAgICAgIDxhIFtocmVmXT1cImxpbmtlZEluVXJsXCIgdGFyZ2V0PVwiX2JsYW5rXCI+Y29ubmVjdCBvbiBMaW5rZWRJbjwvYT4sIG9yIGJvb2sgYSBtZWV0aW5nIGJlbG93OlxuICAgIDwvcD5cbiAgPC9kaXY+XG4gIDxwdy1ib29rLWEtZGVtbyBbaXNCbG9nXT1cInRydWVcIj48L3B3LWJvb2stYS1kZW1vPlxuICA8aHIgY2xhc3M9XCJuY2UtZGl2aWRlclwiIC8+XG48L3NlY3Rpb24+XG5cblxuPHB3LXJlc291cmNlLWNhcmRzICpuZ0lmPVwiYmxvZ1Bvc3RUYWc/LnRhZ19jYXRlZ29yeV9pZFwiIFtjYXRlZ29yeUlkXT1cImJsb2dQb3N0VGFnPy50YWdfY2F0ZWdvcnlfaWRcIiBbcmVzb3VyY2VUaXRsZV09XCJibG9nUG9zdFRhZz8udGl0bGVcIiBbaXNIZWFkZXJWaXNpYmxlXT1cInRydWVcIiByZXNvdXJjZUxpbms9XCIvcmVzb3VyY2VzL2Jsb2dzXCIgW3Jlc291cmNlVGl0bGVdPVwiJ090aGVyIHJlc291cmNlcyB5b3UgbWF5IGJlIGludGVyZXN0ZWQgaW46J1wiPjwvcHctcmVzb3VyY2UtY2FyZHM+XG4iXX0=
@@ -34,9 +34,9 @@ export class ResourceCardComponent extends AppBaseComponent {
34
34
  }
35
35
  getPosts(page, pageSize) {
36
36
  this.resourceService
37
- .getPublicPosts(this.subscriptionId || this.masterSubscriptionId, page, pageSize, '', this.categoryId)
37
+ .getPublicPosts(this.subscriptionId ?? this.masterSubscriptionId, page, pageSize, '', this.categoryId)
38
38
  .subscribe(response => {
39
- const sortedPosts = (response.posts || [])
39
+ const sortedPosts = (response.posts ?? [])
40
40
  .filter(post => post.showcase === true)
41
41
  .sort((a, b) => new Date(b.published_at).getTime() - new Date(a.published_at).getTime());
42
42
  this.posts = this.postSlice ? sortedPosts : [...sortedPosts].slice(0, 3);
@@ -46,11 +46,11 @@ export class ResourceCardComponent extends AppBaseComponent {
46
46
  });
47
47
  }
48
48
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceCardComponent, deps: [{ token: i0.Injector }, { token: i1.ResourceService }], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceCardComponent, selector: "pw-resource-cards", inputs: { categoryId: "categoryId", isHeaderVisible: "isHeaderVisible", resourceTitle: "resourceTitle", postSlice: "postSlice", header: "header", resourceLink: "resourceLink" }, usesInheritance: true, ngImport: i0, template: "<section class=\"msp-vault-section bg-white\">\n <div class=\"container\">\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\" *ngIf=\"isHeaderVisible\">\n <h2 class=\"section-heading\" [innerHTML]=\"resourceTitle || 'Our team\u2019s articles'\"></h2>\n <a class=\"view-all\" [routerLink]=\"resourceLink\">VIEW ALL ></a>\n </div>\n\n <div class=\"w-100 text-center mt-3\" *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div *ngIf=\"posts.length === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n\n <div class=\"row d-flex flex-wrap justify-content-center gap-4 video-row\" *ngIf=\"posts.length !== 0 && isLoaded\">\n <div class=\"resource-blog-card p-4\" *ngFor=\"let post of posts\">\n <p class=\"resource-title\" [innerHTML]=\"post.title \"></p>\n <a\n [href]=\"post.external_url || ('/resources/view/' + post?.slug)\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n aria-label=\"Navigate to resource\"\n >\n <img\n [src]=\"post.picture.url\"\n class=\"img-fluid my-3 mt-auto\"\n alt=\"Webinar\"\n /></a>\n <a *ngIf=\"post?.external_url; else internalLink\"\n class=\"resource-btn mt-3\"\n [href]=\"post.external_url\"\n aria-label=\"Navigate to external url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n\n <ng-template #internalLink>\n <a class=\"resource-btn mt-3\" aria-label=\"Navigate to resource view\" [href]=\"'/resources/view/' + post?.slug\" target=\"_blank\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n </ng-template>\n </div>\n </div>\n </div>\n </section>", styles: [".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}.msp-vault-section .resource-blog-card iframe{max-width:280px!important;margin-right:0!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:1rem 3rem!important}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.ProgressSpinner, selector: "p-progressSpinner", inputs: ["styleClass", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: i5.NoDataComponent, selector: "pw-no-data", inputs: ["message", "description", "withImage"] }, { kind: "directive", type: i6.LazyImgDirective, selector: "img" }, { kind: "pipe", type: i7.TranslocoPipe, name: "transloco" }] }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceCardComponent, selector: "pw-resource-cards", inputs: { categoryId: "categoryId", isHeaderVisible: "isHeaderVisible", resourceTitle: "resourceTitle", postSlice: "postSlice", header: "header", resourceLink: "resourceLink" }, usesInheritance: true, ngImport: i0, template: "<section class=\"msp-vault-section bg-white\">\n <div class=\"container\">\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\" *ngIf=\"isHeaderVisible\">\n <h2 class=\"section-heading\">\n <ng-container *ngIf=\"resourceTitle; else fallback\">\n <span [innerHTML]=\"resourceTitle\"></span>\n </ng-container>\n <ng-template #fallback>Our team\u2019s articles</ng-template>\n </h2>\n <a class=\"view-all\" [routerLink]=\"resourceLink\">VIEW ALL ></a>\n </div>\n\n <div class=\"w-100 text-center mt-3\" *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div *ngIf=\"posts.length === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n\n <div class=\"row d-flex flex-wrap justify-content-center gap-4 video-row\" *ngIf=\"posts.length !== 0 && isLoaded\">\n <div class=\"resource-blog-card p-4\" *ngFor=\"let post of posts\">\n <p class=\"resource-title\" [innerHTML]=\"post.title \"></p>\n <a\n [href]=\"post.external_url || ('/resources/view/' + post?.slug)\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n aria-label=\"Navigate to resource\"\n >\n <img\n [src]=\"post.picture.url\"\n class=\"img-fluid my-3 mt-auto\"\n alt=\"Webinar\"\n /></a>\n <a *ngIf=\"post?.external_url; else internalLink\"\n class=\"resource-btn mt-3\"\n [href]=\"post.external_url\"\n aria-label=\"Navigate to external url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n\n <ng-template #internalLink>\n <a class=\"resource-btn mt-3\" aria-label=\"Navigate to resource view\" [href]=\"'/resources/view/' + post?.slug\" target=\"_blank\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n </ng-template>\n </div>\n </div>\n </div>\n </section>", styles: [".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:1rem 3rem!important}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.ProgressSpinner, selector: "p-progressSpinner", inputs: ["styleClass", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: i5.NoDataComponent, selector: "pw-no-data", inputs: ["message", "description", "withImage"] }, { kind: "directive", type: i6.LazyImgDirective, selector: "img" }, { kind: "pipe", type: i7.TranslocoPipe, name: "transloco" }] }); }
50
50
  }
51
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceCardComponent, decorators: [{
52
52
  type: Component,
53
- args: [{ selector: 'pw-resource-cards', template: "<section class=\"msp-vault-section bg-white\">\n <div class=\"container\">\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\" *ngIf=\"isHeaderVisible\">\n <h2 class=\"section-heading\" [innerHTML]=\"resourceTitle || 'Our team\u2019s articles'\"></h2>\n <a class=\"view-all\" [routerLink]=\"resourceLink\">VIEW ALL ></a>\n </div>\n\n <div class=\"w-100 text-center mt-3\" *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div *ngIf=\"posts.length === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n\n <div class=\"row d-flex flex-wrap justify-content-center gap-4 video-row\" *ngIf=\"posts.length !== 0 && isLoaded\">\n <div class=\"resource-blog-card p-4\" *ngFor=\"let post of posts\">\n <p class=\"resource-title\" [innerHTML]=\"post.title \"></p>\n <a\n [href]=\"post.external_url || ('/resources/view/' + post?.slug)\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n aria-label=\"Navigate to resource\"\n >\n <img\n [src]=\"post.picture.url\"\n class=\"img-fluid my-3 mt-auto\"\n alt=\"Webinar\"\n /></a>\n <a *ngIf=\"post?.external_url; else internalLink\"\n class=\"resource-btn mt-3\"\n [href]=\"post.external_url\"\n aria-label=\"Navigate to external url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n\n <ng-template #internalLink>\n <a class=\"resource-btn mt-3\" aria-label=\"Navigate to resource view\" [href]=\"'/resources/view/' + post?.slug\" target=\"_blank\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n </ng-template>\n </div>\n </div>\n </div>\n </section>", styles: [".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}.msp-vault-section .resource-blog-card iframe{max-width:280px!important;margin-right:0!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:1rem 3rem!important}}\n"] }]
53
+ args: [{ selector: 'pw-resource-cards', template: "<section class=\"msp-vault-section bg-white\">\n <div class=\"container\">\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\" *ngIf=\"isHeaderVisible\">\n <h2 class=\"section-heading\">\n <ng-container *ngIf=\"resourceTitle; else fallback\">\n <span [innerHTML]=\"resourceTitle\"></span>\n </ng-container>\n <ng-template #fallback>Our team\u2019s articles</ng-template>\n </h2>\n <a class=\"view-all\" [routerLink]=\"resourceLink\">VIEW ALL ></a>\n </div>\n\n <div class=\"w-100 text-center mt-3\" *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div *ngIf=\"posts.length === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n\n <div class=\"row d-flex flex-wrap justify-content-center gap-4 video-row\" *ngIf=\"posts.length !== 0 && isLoaded\">\n <div class=\"resource-blog-card p-4\" *ngFor=\"let post of posts\">\n <p class=\"resource-title\" [innerHTML]=\"post.title \"></p>\n <a\n [href]=\"post.external_url || ('/resources/view/' + post?.slug)\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n aria-label=\"Navigate to resource\"\n >\n <img\n [src]=\"post.picture.url\"\n class=\"img-fluid my-3 mt-auto\"\n alt=\"Webinar\"\n /></a>\n <a *ngIf=\"post?.external_url; else internalLink\"\n class=\"resource-btn mt-3\"\n [href]=\"post.external_url\"\n aria-label=\"Navigate to external url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n\n <ng-template #internalLink>\n <a class=\"resource-btn mt-3\" aria-label=\"Navigate to resource view\" [href]=\"'/resources/view/' + post?.slug\" target=\"_blank\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n </ng-template>\n </div>\n </div>\n </div>\n </section>", styles: [".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:1rem 3rem!important}}\n"] }]
54
54
  }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.ResourceService }], propDecorators: { categoryId: [{
55
55
  type: Input
56
56
  }], isHeaderVisible: [{
@@ -64,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
64
64
  }], resourceLink: [{
65
65
  type: Input
66
66
  }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtY2FyZHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9yZXNvdXJjZS1tb2R1bGUvc3JjL2xpYi9wdWJsaWMvY29tcG9uZW50cy9yZXNvdXJjZS1wb3N0L3JlbGF0ZWQtcmVzb3VyY2VzL3Jlc291cmNlLWNhcmRzL3Jlc291cmNlLWNhcmRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcmVzb3VyY2UtbW9kdWxlL3NyYy9saWIvcHVibGljL2NvbXBvbmVudHMvcmVzb3VyY2UtcG9zdC9yZWxhdGVkLXJlc291cmNlcy9yZXNvdXJjZS1jYXJkcy9yZXNvdXJjZS1jYXJkcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFZLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7Ozs7O0FBT2xFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxnQkFBZ0I7SUFldkQsWUFDSSxRQUFrQixFQUNELGVBQWdDO1FBRWpELEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUZDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQWY1QyxvQkFBZSxHQUFHLElBQUksQ0FBQztRQUV2QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBSzNCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIseUJBQW9CLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUM7UUFFMUUsVUFBSyxHQUFlLEVBQUUsQ0FBQztJQU92QixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNsRCxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDMUIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDbEQsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7b0JBQzFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxFQUFFLGNBQWMsQ0FBQztnQkFDL0MsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVksRUFBRSxRQUFnQjtRQUNuQyxJQUFJLENBQUMsZUFBZTthQUNmLGNBQWMsQ0FDWCxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFDaEQsSUFBSSxFQUNKLFFBQVEsRUFDUixFQUFFLEVBQ0YsSUFBSSxDQUFDLFVBQVUsQ0FDbEI7YUFDQSxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbEIsTUFBTSxXQUFXLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztpQkFDckMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUM7aUJBQ3RDLElBQUksQ0FDRCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNMLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQzlFLENBQUM7WUFDTixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0UsQ0FBQyxDQUFDO2FBQ0QsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQzsrR0F4RFEscUJBQXFCO21HQUFyQixxQkFBcUIsa1FDWmxDLDh0RUErQ1k7OzRGRG5DQyxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0ksbUJBQW1COzJHQUtwQixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXNvdXJjZSwgVE9LRU5fS0VZIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuXG5pbXBvcnQgeyBSZXNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1yZXNvdXJjZS1jYXJkcycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Jlc291cmNlLWNhcmRzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi4vLi4vLi4vcmVzb3VyY2VzL3Jlc291cmNlcy1zaGFyZWQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZUNhcmRDb21wb25lbnQgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBjYXRlZ29yeUlkITogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGlzSGVhZGVyVmlzaWJsZSA9IHRydWU7XG4gICAgQElucHV0KCkgcmVzb3VyY2VUaXRsZSE6IHN0cmluZztcbiAgICBASW5wdXQoKSBwb3N0U2xpY2UgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBoZWFkZXI7XG4gICAgQElucHV0KCkgcmVzb3VyY2VMaW5rO1xuXG4gICAgdXNlckxvZ2dlZEluOiBib29sZWFuO1xuICAgIGlzTG9hZGVkID0gZmFsc2U7XG4gICAgc3Vic2NyaXB0aW9uSWQ7XG4gICAgbWFzdGVyU3Vic2NyaXB0aW9uSWQgPSB0aGlzLmFwcENvbmZpZy5tYXN0ZXJfc3Vic2NyaXB0aW9uLnN1YnNjcmlwdGlvbl9pZDtcblxuICAgIHBvc3RzOiBSZXNvdXJjZVtdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlU2VydmljZTogUmVzb3VyY2VTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSQoVE9LRU5fS0VZKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIHRoaXMudXNlckxvZ2dlZEluID0gISFyZXM7XG4gICAgICAgICAgICBpZiAodGhpcy51c2VyTG9nZ2VkSW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtJCgncHJvZHVjdCcpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gcmVzID8gSlNPTi5wYXJzZShyZXMpIDogbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCA9IGRhdGE/LnN1YnNjcmlwdGlvbklkO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5nZXRQb3N0cygxLCAxMCk7XG4gICAgfVxuXG4gICAgZ2V0UG9zdHMocGFnZTogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVzb3VyY2VTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0UHVibGljUG9zdHMoXG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCB8fCB0aGlzLm1hc3RlclN1YnNjcmlwdGlvbklkLFxuICAgICAgICAgICAgICAgIHBhZ2UsXG4gICAgICAgICAgICAgICAgcGFnZVNpemUsXG4gICAgICAgICAgICAgICAgJycsXG4gICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yeUlkXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzb3J0ZWRQb3N0cyA9IChyZXNwb25zZS5wb3N0cyB8fCBbXSlcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcihwb3N0ID0+IHBvc3Quc2hvd2Nhc2UgPT09IHRydWUpXG4gICAgICAgICAgICAgICAgICAgIC5zb3J0KFxuICAgICAgICAgICAgICAgICAgICAgICAgKGEsIGIpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IERhdGUoYi5wdWJsaXNoZWRfYXQpLmdldFRpbWUoKSAtIG5ldyBEYXRlKGEucHVibGlzaGVkX2F0KS5nZXRUaW1lKClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0aGlzLnBvc3RzID0gdGhpcy5wb3N0U2xpY2UgPyBzb3J0ZWRQb3N0cyA6IFsuLi5zb3J0ZWRQb3N0c10uc2xpY2UoMCwgMyk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cIm1zcC12YXVsdC1zZWN0aW9uIGJnLXdoaXRlXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC13cmFwXCIgKm5nSWY9XCJpc0hlYWRlclZpc2libGVcIj5cbiAgICAgICAgPGgyIGNsYXNzPVwic2VjdGlvbi1oZWFkaW5nXCIgW2lubmVySFRNTF09XCJyZXNvdXJjZVRpdGxlIHx8ICdPdXIgdGVhbeKAmXMgYXJ0aWNsZXMnXCI+PC9oMj5cbiAgICAgICAgPGEgY2xhc3M9XCJ2aWV3LWFsbFwiIFtyb3V0ZXJMaW5rXT1cInJlc291cmNlTGlua1wiPlZJRVcgQUxMID48L2E+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInctMTAwIHRleHQtY2VudGVyIG10LTNcIiAqbmdJZj1cIiFpc0xvYWRlZFwiPlxuICAgICAgICA8cC1wcm9ncmVzc1NwaW5uZXIgc3Ryb2tlV2lkdGg9XCIyXCI+IDwvcC1wcm9ncmVzc1NwaW5uZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJwb3N0cy5sZW5ndGggPT09IDAgJiYgaXNMb2FkZWRcIj5cbiAgICAgICAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgW21lc3NhZ2VdPVwiJ1Jlc291cmNlLk5vRGF0YU1lc3NhZ2UnIHwgdHJhbnNsb2NvXCIvPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZC1mbGV4IGZsZXgtd3JhcCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGdhcC00IHZpZGVvLXJvd1wiICpuZ0lmPVwicG9zdHMubGVuZ3RoICE9PSAwICYmIGlzTG9hZGVkXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJlc291cmNlLWJsb2ctY2FyZCBwLTRcIiAqbmdGb3I9XCJsZXQgcG9zdCBvZiBwb3N0c1wiPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJyZXNvdXJjZS10aXRsZVwiIFtpbm5lckhUTUxdPVwicG9zdC50aXRsZSBcIj48L3A+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgW2hyZWZdPVwicG9zdC5leHRlcm5hbF91cmwgfHwgKCcvcmVzb3VyY2VzL3ZpZXcvJyArIHBvc3Q/LnNsdWcpXCJcbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJOYXZpZ2F0ZSB0byByZXNvdXJjZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICBbc3JjXT1cInBvc3QucGljdHVyZS51cmxcIlxuICAgICAgICAgICAgICBjbGFzcz1cImltZy1mbHVpZCBteS0zIG10LWF1dG9cIlxuICAgICAgICAgICAgICBhbHQ9XCJXZWJpbmFyXCJcbiAgICAgICAgICAgIC8+PC9hPlxuICAgICAgICAgICAgPGEgKm5nSWY9XCJwb3N0Py5leHRlcm5hbF91cmw7IGVsc2UgaW50ZXJuYWxMaW5rXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJyZXNvdXJjZS1idG4gbXQtM1wiXG4gICAgICAgICAgICAgIFtocmVmXT1cInBvc3QuZXh0ZXJuYWxfdXJsXCJcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIk5hdmlnYXRlIHRvIGV4dGVybmFsIHVybFwiXG4gICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIj5cbiAgICAgICAgICAgICAgPHNwYW4+e3sgcG9zdD8uY3RhX3RleHQgJiYgcG9zdC5jdGFfdGV4dCAhPT0gJ251bGwnID8gcG9zdC5jdGFfdGV4dCA6ICdSZWFkIE5vdycgIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFycm93XCI+4oaSPC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNpbnRlcm5hbExpbms+XG4gICAgICAgICAgICA8YSBjbGFzcz1cInJlc291cmNlLWJ0biBtdC0zXCIgYXJpYS1sYWJlbD1cIk5hdmlnYXRlIHRvIHJlc291cmNlIHZpZXdcIiBbaHJlZl09XCInL3Jlc291cmNlcy92aWV3LycgKyBwb3N0Py5zbHVnXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAgICAgIDxzcGFuPnt7IHBvc3Q/LmN0YV90ZXh0ICYmIHBvc3QuY3RhX3RleHQgIT09ICdudWxsJyA/IHBvc3QuY3RhX3RleHQgOiAnUmVhZCBOb3cnICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcnJvd1wiPuKGkjwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvc2VjdGlvbj4iXX0=
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtY2FyZHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9yZXNvdXJjZS1tb2R1bGUvc3JjL2xpYi9wdWJsaWMvY29tcG9uZW50cy9yZXNvdXJjZS1wb3N0L3JlbGF0ZWQtcmVzb3VyY2VzL3Jlc291cmNlLWNhcmRzL3Jlc291cmNlLWNhcmRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcmVzb3VyY2UtbW9kdWxlL3NyYy9saWIvcHVibGljL2NvbXBvbmVudHMvcmVzb3VyY2UtcG9zdC9yZWxhdGVkLXJlc291cmNlcy9yZXNvdXJjZS1jYXJkcy9yZXNvdXJjZS1jYXJkcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFZLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7Ozs7O0FBT2xFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxnQkFBZ0I7SUFldkQsWUFDSSxRQUFrQixFQUNELGVBQWdDO1FBRWpELEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUZDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQWY1QyxvQkFBZSxHQUFHLElBQUksQ0FBQztRQUV2QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBSzNCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIseUJBQW9CLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUM7UUFFMUUsVUFBSyxHQUFlLEVBQUUsQ0FBQztJQU92QixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNsRCxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDMUIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDbEQsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7b0JBQzFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxFQUFFLGNBQWMsQ0FBQztnQkFDL0MsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVksRUFBRSxRQUFnQjtRQUNuQyxJQUFJLENBQUMsZUFBZTthQUNmLGNBQWMsQ0FDWCxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFDaEQsSUFBSSxFQUNKLFFBQVEsRUFDUixFQUFFLEVBQ0YsSUFBSSxDQUFDLFVBQVUsQ0FDbEI7YUFDQSxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbEIsTUFBTSxXQUFXLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztpQkFDckMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUM7aUJBQ3RDLElBQUksQ0FDRCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNMLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQzlFLENBQUM7WUFDTixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0UsQ0FBQyxDQUFDO2FBQ0QsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQzsrR0F4RFEscUJBQXFCO21HQUFyQixxQkFBcUIsa1FDWmxDLDA0RUFvRFk7OzRGRHhDQyxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0ksbUJBQW1COzJHQUtwQixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXNvdXJjZSwgVE9LRU5fS0VZIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuXG5pbXBvcnQgeyBSZXNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1yZXNvdXJjZS1jYXJkcycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Jlc291cmNlLWNhcmRzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi4vLi4vLi4vcmVzb3VyY2VzL3Jlc291cmNlcy1zaGFyZWQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZUNhcmRDb21wb25lbnQgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBjYXRlZ29yeUlkITogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGlzSGVhZGVyVmlzaWJsZSA9IHRydWU7XG4gICAgQElucHV0KCkgcmVzb3VyY2VUaXRsZSE6IHN0cmluZztcbiAgICBASW5wdXQoKSBwb3N0U2xpY2UgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBoZWFkZXI7XG4gICAgQElucHV0KCkgcmVzb3VyY2VMaW5rO1xuXG4gICAgdXNlckxvZ2dlZEluOiBib29sZWFuO1xuICAgIGlzTG9hZGVkID0gZmFsc2U7XG4gICAgc3Vic2NyaXB0aW9uSWQ7XG4gICAgbWFzdGVyU3Vic2NyaXB0aW9uSWQgPSB0aGlzLmFwcENvbmZpZy5tYXN0ZXJfc3Vic2NyaXB0aW9uLnN1YnNjcmlwdGlvbl9pZDtcblxuICAgIHBvc3RzOiBSZXNvdXJjZVtdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlU2VydmljZTogUmVzb3VyY2VTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSQoVE9LRU5fS0VZKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIHRoaXMudXNlckxvZ2dlZEluID0gISFyZXM7XG4gICAgICAgICAgICBpZiAodGhpcy51c2VyTG9nZ2VkSW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtJCgncHJvZHVjdCcpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gcmVzID8gSlNPTi5wYXJzZShyZXMpIDogbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCA9IGRhdGE/LnN1YnNjcmlwdGlvbklkO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5nZXRQb3N0cygxLCAxMCk7XG4gICAgfVxuXG4gICAgZ2V0UG9zdHMocGFnZTogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVzb3VyY2VTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0UHVibGljUG9zdHMoXG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCA/PyB0aGlzLm1hc3RlclN1YnNjcmlwdGlvbklkLFxuICAgICAgICAgICAgICAgIHBhZ2UsXG4gICAgICAgICAgICAgICAgcGFnZVNpemUsXG4gICAgICAgICAgICAgICAgJycsXG4gICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yeUlkXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzb3J0ZWRQb3N0cyA9IChyZXNwb25zZS5wb3N0cyA/PyBbXSlcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcihwb3N0ID0+IHBvc3Quc2hvd2Nhc2UgPT09IHRydWUpXG4gICAgICAgICAgICAgICAgICAgIC5zb3J0KFxuICAgICAgICAgICAgICAgICAgICAgICAgKGEsIGIpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IERhdGUoYi5wdWJsaXNoZWRfYXQpLmdldFRpbWUoKSAtIG5ldyBEYXRlKGEucHVibGlzaGVkX2F0KS5nZXRUaW1lKClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0aGlzLnBvc3RzID0gdGhpcy5wb3N0U2xpY2UgPyBzb3J0ZWRQb3N0cyA6IFsuLi5zb3J0ZWRQb3N0c10uc2xpY2UoMCwgMyk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cIm1zcC12YXVsdC1zZWN0aW9uIGJnLXdoaXRlXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC13cmFwXCIgKm5nSWY9XCJpc0hlYWRlclZpc2libGVcIj5cbiAgICAgICAgPGgyIGNsYXNzPVwic2VjdGlvbi1oZWFkaW5nXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlc291cmNlVGl0bGU7IGVsc2UgZmFsbGJhY2tcIj5cbiAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwicmVzb3VyY2VUaXRsZVwiPjwvc3Bhbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2ZhbGxiYWNrPk91ciB0ZWFt4oCZcyBhcnRpY2xlczwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvaDI+XG4gICAgICAgIDxhIGNsYXNzPVwidmlldy1hbGxcIiBbcm91dGVyTGlua109XCJyZXNvdXJjZUxpbmtcIj5WSUVXIEFMTCA+PC9hPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlciBtdC0zXCIgKm5nSWY9XCIhaXNMb2FkZWRcIj5cbiAgICAgICAgPHAtcHJvZ3Jlc3NTcGlubmVyIHN0cm9rZVdpZHRoPVwiMlwiPiA8L3AtcHJvZ3Jlc3NTcGlubmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwicG9zdHMubGVuZ3RoID09PSAwICYmIGlzTG9hZGVkXCI+XG4gICAgICAgIDxwdy1uby1kYXRhIFt3aXRoSW1hZ2VdPVwidHJ1ZVwiIFttZXNzYWdlXT1cIidSZXNvdXJjZS5Ob0RhdGFNZXNzYWdlJyB8IHRyYW5zbG9jb1wiLz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwicm93IGQtZmxleCBmbGV4LXdyYXAganVzdGlmeS1jb250ZW50LWNlbnRlciBnYXAtNCB2aWRlby1yb3dcIiAqbmdJZj1cInBvc3RzLmxlbmd0aCAhPT0gMCAmJiBpc0xvYWRlZFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXNvdXJjZS1ibG9nLWNhcmQgcC00XCIgKm5nRm9yPVwibGV0IHBvc3Qgb2YgcG9zdHNcIj5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwicmVzb3VyY2UtdGl0bGVcIiBbaW5uZXJIVE1MXT1cInBvc3QudGl0bGUgXCI+PC9wPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgIFtocmVmXT1cInBvc3QuZXh0ZXJuYWxfdXJsIHx8ICgnL3Jlc291cmNlcy92aWV3LycgKyBwb3N0Py5zbHVnKVwiXG4gICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiTmF2aWdhdGUgdG8gcmVzb3VyY2VcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgW3NyY109XCJwb3N0LnBpY3R1cmUudXJsXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJpbWctZmx1aWQgbXktMyBtdC1hdXRvXCJcbiAgICAgICAgICAgICAgYWx0PVwiV2ViaW5hclwiXG4gICAgICAgICAgICAvPjwvYT5cbiAgICAgICAgICAgIDxhICpuZ0lmPVwicG9zdD8uZXh0ZXJuYWxfdXJsOyBlbHNlIGludGVybmFsTGlua1wiXG4gICAgICAgICAgICAgIGNsYXNzPVwicmVzb3VyY2UtYnRuIG10LTNcIlxuICAgICAgICAgICAgICBbaHJlZl09XCJwb3N0LmV4dGVybmFsX3VybFwiXG4gICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJOYXZpZ2F0ZSB0byBleHRlcm5hbCB1cmxcIlxuICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCI+XG4gICAgICAgICAgICAgIDxzcGFuPnt7IHBvc3Q/LmN0YV90ZXh0ICYmIHBvc3QuY3RhX3RleHQgIT09ICdudWxsJyA/IHBvc3QuY3RhX3RleHQgOiAnUmVhZCBOb3cnICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcnJvd1wiPuKGkjwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaW50ZXJuYWxMaW5rPlxuICAgICAgICAgICAgPGEgY2xhc3M9XCJyZXNvdXJjZS1idG4gbXQtM1wiIGFyaWEtbGFiZWw9XCJOYXZpZ2F0ZSB0byByZXNvdXJjZSB2aWV3XCIgW2hyZWZdPVwiJy9yZXNvdXJjZXMvdmlldy8nICsgcG9zdD8uc2x1Z1wiIHRhcmdldD1cIl9ibGFua1wiPlxuICAgICAgICAgICAgICA8c3Bhbj57eyBwb3N0Py5jdGFfdGV4dCAmJiBwb3N0LmN0YV90ZXh0ICE9PSAnbnVsbCcgPyBwb3N0LmN0YV90ZXh0IDogJ1JlYWQgTm93JyAgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXJyb3dcIj7ihpI8L3NwYW4+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L3NlY3Rpb24+Il19