@posiwise/public-modules 0.0.134 → 0.0.135

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 (64) hide show
  1. package/fesm2022/posiwise-public-modules.mjs +234 -231
  2. package/fesm2022/posiwise-public-modules.mjs.map +1 -1
  3. package/package.json +3 -5
  4. package/esm2022/index.mjs +0 -63
  5. package/esm2022/lib/ab-test/ab-alternative/ab-alternative.component.mjs +0 -26
  6. package/esm2022/lib/ab-test/ab-test-container/ab-test-container.component.mjs +0 -46
  7. package/esm2022/lib/ab-test/ab-test.interface.mjs +0 -2
  8. package/esm2022/lib/ab-test/ab-test.module.mjs +0 -23
  9. package/esm2022/lib/config/constant.mjs +0 -97
  10. package/esm2022/lib/error-page/error-page.component.mjs +0 -23
  11. package/esm2022/lib/error-status-pages.module.mjs +0 -86
  12. package/esm2022/lib/geo-template/geo-template.component.mjs +0 -24
  13. package/esm2022/lib/incidents-status/incidents-status.component.mjs +0 -96
  14. package/esm2022/lib/landing-page-shared.module.mjs +0 -222
  15. package/esm2022/lib/landing-pages/base/base-contact-form.component.mjs +0 -88
  16. package/esm2022/lib/landing-pages/base/base-landing-page.component.mjs +0 -30
  17. package/esm2022/lib/landing-pages/hiring/careers/careers.component.mjs +0 -42
  18. package/esm2022/lib/landing-pages/hiring/careers-contact-us/careers-contact-us.component.mjs +0 -26
  19. package/esm2022/lib/landing-pages/hiring/careers-explainer/careers-explainer.component.mjs +0 -12
  20. package/esm2022/lib/landing-pages/landing-page/landing-page.component.mjs +0 -62
  21. package/esm2022/lib/landing-pages/landing-page/sections/landing-page-about-us/landing-page-about-us.component.mjs +0 -12
  22. package/esm2022/lib/landing-pages/landing-page/sections/landing-page-banner/landing-page-banner.component.mjs +0 -30
  23. package/esm2022/lib/landing-pages/landing-page/sections/landing-page-change-adapt/landing-page-change-adapt.component.mjs +0 -12
  24. package/esm2022/lib/landing-pages/landing-page/sections/landing-page-contact/landing-page-contact.component.mjs +0 -95
  25. package/esm2022/lib/landing-pages/landing-page/sections/landing-page-footer/landing-page-footer.component.mjs +0 -29
  26. package/esm2022/lib/landing-pages/landing-page/sections/landing-page-header/landing-page-header.component.mjs +0 -25
  27. package/esm2022/lib/landing-pages/landing-page/sections/landing-page-innovate/landing-page-innovate.component.mjs +0 -11
  28. package/esm2022/lib/landing-pages/landing-page/sections/landing-page-our-products/landing-page-our-products.component.mjs +0 -28
  29. package/esm2022/lib/landing-pages/landing-page/sections/landing-page-services/landing-page-services.component.mjs +0 -12
  30. package/esm2022/lib/landing-pages/landing-page/sections/landing-page-subscribe/landing-page-subscribe.component.mjs +0 -88
  31. package/esm2022/lib/landing-pages/landing-page/sections/landing-page-team/landing-page-team.component.mjs +0 -12
  32. package/esm2022/lib/landing-pages/landing-page/sections/landing-page-testimonials/landing-page-testimonials.component.mjs +0 -12
  33. package/esm2022/lib/landing-pages/landing-page/sections/main-explainer/main-explainer.component.mjs +0 -12
  34. package/esm2022/lib/landing-pages/landing-page/sections-b/landing-page-about-us-b/landing-page-about-us-b.component.mjs +0 -12
  35. package/esm2022/lib/landing-pages/landing-page/sections-b/landing-page-banner-b/landing-page-banner-b.component.mjs +0 -18
  36. package/esm2022/lib/landing-pages/landing-page/sections-b/landing-page-change-adapt-b/landing-page-change-adapt-b.component.mjs +0 -12
  37. package/esm2022/lib/landing-pages/landing-page/sections-b/landing-page-contact-b/landing-page-contact-b.component.mjs +0 -95
  38. package/esm2022/lib/landing-pages/landing-page/sections-b/landing-page-header-b/landing-page-header-b.component.mjs +0 -25
  39. package/esm2022/lib/landing-pages/landing-page/sections-b/landing-page-innovate-b/landing-page-innovate-b.component.mjs +0 -11
  40. package/esm2022/lib/landing-pages/landing-page/sections-b/landing-page-our-products-b/landing-page-our-products-b.component.mjs +0 -31
  41. package/esm2022/lib/landing-pages/landing-page/sections-b/landing-page-services-b/landing-page-services-b.component.mjs +0 -12
  42. package/esm2022/lib/landing-pages/landing-page/sections-b/landing-page-subscribe-b/landing-page-subscribe-b.component.mjs +0 -88
  43. package/esm2022/lib/landing-pages/landing-page/sections-b/landing-page-team-b/landing-page-team-b.component.mjs +0 -12
  44. package/esm2022/lib/landing-pages/landing-page/sections-b/landing-page-testimonials-b/landing-page-testimonials-b.component.mjs +0 -12
  45. package/esm2022/lib/landing-pages/landing-page/sections-b/main-explainer-b/main-explainer-b.component.mjs +0 -12
  46. package/esm2022/lib/landing-pages/tech-features/base-tech-feature.component.mjs +0 -45
  47. package/esm2022/lib/landing-pages/tech-features/communication-and-notifications/communication-and-notifications.component.mjs +0 -34
  48. package/esm2022/lib/landing-pages/tech-features/core-feature-explainer/core-feature-explainer.component.mjs +0 -12
  49. package/esm2022/lib/landing-pages/tech-features/core-features/core-features.component.mjs +0 -30
  50. package/esm2022/lib/landing-pages/tech-features/customer-success/customer-success.component.mjs +0 -34
  51. package/esm2022/lib/landing-pages/tech-features/enterprise-management/enterprise-management.component.mjs +0 -23
  52. package/esm2022/lib/landing-pages/tech-features/ip-management/ip-management.component.mjs +0 -23
  53. package/esm2022/lib/landing-pages/tech-features/payments/payments.component.mjs +0 -23
  54. package/esm2022/lib/landing-pages/tech-features/security/security.component.mjs +0 -23
  55. package/esm2022/lib/landing-pages/tech-features/ui-builder/ui-builder.component.mjs +0 -23
  56. package/esm2022/lib/landing-pages/tech-features/user-management/user-management.component.mjs +0 -23
  57. package/esm2022/lib/landing-pages/ventures/venture/venture.component.mjs +0 -42
  58. package/esm2022/lib/landing-pages/ventures/venture-explainer/venture-explainer.component.mjs +0 -12
  59. package/esm2022/lib/lock-screen/lock-screen-page.component.mjs +0 -19
  60. package/esm2022/lib/maintenance/maintenance-page.component.mjs +0 -16
  61. package/esm2022/lib/notfound-page/notfound-page.component.mjs +0 -12
  62. package/esm2022/lib/public.module.mjs +0 -118
  63. package/esm2022/lib/resource-meetings/resource-meetings.component.mjs +0 -34
  64. package/esm2022/posiwise-public-modules.mjs +0 -5
@@ -1,96 +0,0 @@
1
- import { Component, Injector } from '@angular/core';
2
- import { DomSanitizer } from '@angular/platform-browser';
3
- import { AppBaseComponent } from '@posiwise/app-base-component';
4
- import { AuthService, CommonService } from '@posiwise/common-services';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@posiwise/common-services";
7
- import * as i2 from "@angular/platform-browser";
8
- import * as i3 from "@angular/common";
9
- import * as i4 from "ngx-pagination";
10
- import * as i5 from "@ng-bootstrap/ng-bootstrap";
11
- import * as i6 from "@posiwise/utils";
12
- export class IncidentsStatusComponent extends AppBaseComponent {
13
- constructor(injector, commonService, authService, sanitizer) {
14
- super(injector);
15
- this.commonService = commonService;
16
- this.authService = authService;
17
- this.sanitizer = sanitizer;
18
- this.landing = false;
19
- this.openIncidents = [];
20
- this.pastIncidents = [];
21
- this.todayDate = Date.now();
22
- this.companyName = this.appConfig.company.name;
23
- this.authService
24
- .getToken$()
25
- .pipe()
26
- .subscribe(res => {
27
- this.loggedIn = !!res;
28
- if (res) {
29
- this.product = JSON.parse(localStorage.getItem('product'));
30
- this.userService.getUserInfo().subscribe(data => {
31
- this.user = data;
32
- });
33
- }
34
- });
35
- }
36
- ngOnInit() {
37
- this.logo = this.appConfig?.company?.logos?.main?.url;
38
- this.getIncidents();
39
- }
40
- getIncidents() {
41
- this.commonService.getIncidents().subscribe(res => {
42
- this.openIncidents = res?.open_incidents.map(x => {
43
- return {
44
- ...x,
45
- // NOSONAR: Trusted HTML content is handled safely here
46
- description: this.sanitizer.bypassSecurityTrustHtml(x.description) // NOSONAR
47
- };
48
- });
49
- this.pastIncidents = res?.past_incidents.map(x => {
50
- return {
51
- ...x,
52
- // NOSONAR: Trusted HTML content is handled safely here
53
- description: this.sanitizer.bypassSecurityTrustHtml(x.description) // NOSONAR
54
- };
55
- });
56
- });
57
- }
58
- navigateToEdit(incident) {
59
- incident['description'] =
60
- this.sanitizer.sanitize(1, incident?.description?.changingThisBreaksApplicationSecurity) ?? '';
61
- this.router.navigate(['/admin/incident/' + incident?.id], {
62
- relativeTo: this.route,
63
- state: { data: incident }
64
- });
65
- }
66
- calculateDuration(startedAt, resolvedAt) {
67
- if (!startedAt) {
68
- return '';
69
- }
70
- const startedDate = new Date(startedAt);
71
- const resolvedDate = new Date(resolvedAt);
72
- const durationMinutes = Math.abs((resolvedDate.getTime() - startedDate.getTime()) / (1000 * 60));
73
- if (durationMinutes < 1) {
74
- const durationSeconds = Math.abs((resolvedDate.getTime() - startedDate.getTime()) / 1000);
75
- return `${Math.round(durationSeconds)} seconds`;
76
- }
77
- else if (durationMinutes < 60) {
78
- return `${Math.round(durationMinutes)} minutes`;
79
- }
80
- else if (durationMinutes < 24 * 60) {
81
- const durationHours = durationMinutes / 60;
82
- return `${durationHours.toFixed(2)} hours`;
83
- }
84
- else {
85
- const durationDays = durationMinutes / (24 * 60);
86
- return `${durationDays.toFixed(1)} days`;
87
- }
88
- }
89
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: IncidentsStatusComponent, deps: [{ token: i0.Injector }, { token: i1.CommonService }, { token: i1.AuthService }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
90
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: IncidentsStatusComponent, selector: "pw-incidents-status", usesInheritance: true, ngImport: i0, template: "<pw-resource-header></pw-resource-header>\n<div class=\"incidents-wrapper container\">\n <div class=\"mx-2\">\n <h3>{{companyName}} Status</h3>\n <ul ngbNav #nav=\"ngbNav\" class=\"nav-tabs\">\n <li [ngbNavItem]=\"1\">\n <a ngbNavLink>Open Incidents</a>\n <ng-template ngbNavContent>\n <div class=\"table-responsive\" *ngIf=\"openIncidents?.length\">\n <table class=\"col-lg-12 px-0 table\" aria-describedby=\"incident status\">\n <thead>\n <tr>\n <th>Service Impacted</th>\n <th>Description</th>\n <th>Date Open</th>\n <th>Duration</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"\n let data of openIncidents\n | paginate\n : { id: 'data', itemsPerPage: 10, currentPage: p };\n let i = index\n \" class=\"incident-item\">\n <td> {{ data?.service_impacted ? data?.service_impacted : data?.url_impacted }} </td>\n <td class=\"description\">\n <div class=\"d-flex\">\n <div>\n <i class=\"fa fa-edit edit-icon\" aria-hidden=\"true\" (click)=\"navigateToEdit(data)\"\n (keydown.enter)=\"navigateToEdit(data)\"\n *ngIf=\"loggedIn && (user?.auth?.granted['Pages.SuperAdmin'])\"></i>\n </div>\n <div [innerHTML]=\"data?.description\"></div>\n </div>\n </td>\n <td class=\"text-nowrap\"> {{ data?.started_at | date: 'dd-MMM-YYYY, h:mm a' }} </td>\n <td class=\"text-nowrap\"> {{ calculateDuration(data?.started_at,todayDate) }}\n </tr>\n </tbody>\n </table>\n <div class=\"text-center pagination-controls col-lg-12 px-0 w-100 mt-3\" *ngIf=\"openIncidents?.length > 10\">\n <pagination-controls id=\"data\" (pageChange)=\"p = $event\">\n </pagination-controls>\n </div>\n </div>\n <p *ngIf=\"!openIncidents?.length\">Nothing here</p>\n </ng-template>\n </li>\n <li [ngbNavItem]=\"2\">\n <a ngbNavLink>Closed Incidents</a>\n <ng-template ngbNavContent>\n <div class=\"table-responsive\" *ngIf=\"pastIncidents?.length\">\n <table class=\"col-lg-12 px-0 table\" aria-describedby=\"incident status\">\n <thead>\n <tr>\n <th>Service Impacted</th>\n <th>Description</th>\n <th>Date Open</th>\n <th>Date Closed</th>\n <th>Duration</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let incident of pastIncidents | paginate : {\n id: 'incident',\n itemsPerPage: 10,\n currentPage: p1\n };\n let i = index\n \" class=\"incident-item\">\n <td> {{ incident?.service_impacted ? incident?.service_impacted : incident?.url_impacted }} </td>\n <td class=\"description\">\n <div class=\"d-flex\">\n <div>\n <i class=\"fa fa-edit edit-icon cursor-pointer\" aria-hidden=\"true\"\n (click)=\"navigateToEdit(incident)\" (keydown.enter)=\"navigateToEdit(incident)\" *ngIf=\"loggedIn && (user?.auth?.granted['Pages.SuperAdmin'])\"></i>\n </div>\n <div [innerHTML]=\"incident?.description\"></div>\n </div>\n </td>\n <td class=\"text-nowrap\"> {{ incident?.started_at | date: 'dd-MMM-YYYY, h:mm a'}} </td>\n <td class=\"text-nowrap\"> {{ incident?.resolved_at | date: 'dd-MMM-YYYY, h:mm a'}} </td>\n <td class=\"text-nowrap\"> {{ calculateDuration(incident.started_at, incident.resolved_at) }} </td>\n </tr>\n </tbody>\n </table>\n <div class=\"text-center pagination-controls col-lg-12 px-0 w-100 mt-3\" *ngIf=\"pastIncidents?.length > 10\">\n <pagination-controls id=\"incident\" (pageChange)=\"p1 = $event\">\n </pagination-controls>\n </div>\n </div>\n <p *ngIf=\"!pastIncidents?.length\">Nothing here</p>\n </ng-template>\n </li>\n </ul>\n <div [ngbNavOutlet]=\"nav\"></div>\n </div>\n</div>", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.incidents-wrapper{margin-top:80px}.incidents-wrapper .table thead th{border:0;border-bottom:1px solid rgb(222,226,230)}.incident-item{color:#3f3f44;font-size:14px;line-height:1.42857;padding:10px 0}.incident-item:last-child{border-bottom:0!important}::ng-deep .resource-header .navbar-nav .nav-item .nav-link{color:#000!important}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.PaginationControlsComponent, selector: "pagination-controls", inputs: ["id", "maxSize", "directionLinks", "autoHide", "responsive", "previousLabel", "nextLabel", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], outputs: ["pageChange", "pageBoundsCorrection"] }, { kind: "directive", type: i5.NgbNavContent, selector: "ng-template[ngbNavContent]" }, { kind: "directive", type: i5.NgbNav, selector: "[ngbNav]", inputs: ["activeId", "animation", "destroyOnHide", "orientation", "roles", "keyboard"], outputs: ["activeIdChange", "shown", "hidden", "navChange"], exportAs: ["ngbNav"] }, { kind: "directive", type: i5.NgbNavItem, selector: "[ngbNavItem]", inputs: ["destroyOnHide", "disabled", "domId", "ngbNavItem"], outputs: ["shown", "hidden"], exportAs: ["ngbNavItem"] }, { kind: "directive", type: i5.NgbNavItemRole, selector: "[ngbNavItem]:not(ng-container)" }, { kind: "directive", type: i5.NgbNavLink, selector: "a[ngbNavLink]" }, { kind: "directive", type: i5.NgbNavLinkBase, selector: "[ngbNavLink]" }, { kind: "component", type: i5.NgbNavOutlet, selector: "[ngbNavOutlet]", inputs: ["paneRole", "ngbNavOutlet"] }, { kind: "component", type: i6.ResourceHeaderComponent, selector: "pw-resource-header", inputs: ["user", "userLoggedIn"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }, { kind: "pipe", type: i4.PaginatePipe, name: "paginate" }] }); }
91
- }
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: IncidentsStatusComponent, decorators: [{
93
- type: Component,
94
- args: [{ selector: 'pw-incidents-status', template: "<pw-resource-header></pw-resource-header>\n<div class=\"incidents-wrapper container\">\n <div class=\"mx-2\">\n <h3>{{companyName}} Status</h3>\n <ul ngbNav #nav=\"ngbNav\" class=\"nav-tabs\">\n <li [ngbNavItem]=\"1\">\n <a ngbNavLink>Open Incidents</a>\n <ng-template ngbNavContent>\n <div class=\"table-responsive\" *ngIf=\"openIncidents?.length\">\n <table class=\"col-lg-12 px-0 table\" aria-describedby=\"incident status\">\n <thead>\n <tr>\n <th>Service Impacted</th>\n <th>Description</th>\n <th>Date Open</th>\n <th>Duration</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"\n let data of openIncidents\n | paginate\n : { id: 'data', itemsPerPage: 10, currentPage: p };\n let i = index\n \" class=\"incident-item\">\n <td> {{ data?.service_impacted ? data?.service_impacted : data?.url_impacted }} </td>\n <td class=\"description\">\n <div class=\"d-flex\">\n <div>\n <i class=\"fa fa-edit edit-icon\" aria-hidden=\"true\" (click)=\"navigateToEdit(data)\"\n (keydown.enter)=\"navigateToEdit(data)\"\n *ngIf=\"loggedIn && (user?.auth?.granted['Pages.SuperAdmin'])\"></i>\n </div>\n <div [innerHTML]=\"data?.description\"></div>\n </div>\n </td>\n <td class=\"text-nowrap\"> {{ data?.started_at | date: 'dd-MMM-YYYY, h:mm a' }} </td>\n <td class=\"text-nowrap\"> {{ calculateDuration(data?.started_at,todayDate) }}\n </tr>\n </tbody>\n </table>\n <div class=\"text-center pagination-controls col-lg-12 px-0 w-100 mt-3\" *ngIf=\"openIncidents?.length > 10\">\n <pagination-controls id=\"data\" (pageChange)=\"p = $event\">\n </pagination-controls>\n </div>\n </div>\n <p *ngIf=\"!openIncidents?.length\">Nothing here</p>\n </ng-template>\n </li>\n <li [ngbNavItem]=\"2\">\n <a ngbNavLink>Closed Incidents</a>\n <ng-template ngbNavContent>\n <div class=\"table-responsive\" *ngIf=\"pastIncidents?.length\">\n <table class=\"col-lg-12 px-0 table\" aria-describedby=\"incident status\">\n <thead>\n <tr>\n <th>Service Impacted</th>\n <th>Description</th>\n <th>Date Open</th>\n <th>Date Closed</th>\n <th>Duration</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let incident of pastIncidents | paginate : {\n id: 'incident',\n itemsPerPage: 10,\n currentPage: p1\n };\n let i = index\n \" class=\"incident-item\">\n <td> {{ incident?.service_impacted ? incident?.service_impacted : incident?.url_impacted }} </td>\n <td class=\"description\">\n <div class=\"d-flex\">\n <div>\n <i class=\"fa fa-edit edit-icon cursor-pointer\" aria-hidden=\"true\"\n (click)=\"navigateToEdit(incident)\" (keydown.enter)=\"navigateToEdit(incident)\" *ngIf=\"loggedIn && (user?.auth?.granted['Pages.SuperAdmin'])\"></i>\n </div>\n <div [innerHTML]=\"incident?.description\"></div>\n </div>\n </td>\n <td class=\"text-nowrap\"> {{ incident?.started_at | date: 'dd-MMM-YYYY, h:mm a'}} </td>\n <td class=\"text-nowrap\"> {{ incident?.resolved_at | date: 'dd-MMM-YYYY, h:mm a'}} </td>\n <td class=\"text-nowrap\"> {{ calculateDuration(incident.started_at, incident.resolved_at) }} </td>\n </tr>\n </tbody>\n </table>\n <div class=\"text-center pagination-controls col-lg-12 px-0 w-100 mt-3\" *ngIf=\"pastIncidents?.length > 10\">\n <pagination-controls id=\"incident\" (pageChange)=\"p1 = $event\">\n </pagination-controls>\n </div>\n </div>\n <p *ngIf=\"!pastIncidents?.length\">Nothing here</p>\n </ng-template>\n </li>\n </ul>\n <div [ngbNavOutlet]=\"nav\"></div>\n </div>\n</div>", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.incidents-wrapper{margin-top:80px}.incidents-wrapper .table thead th{border:0;border-bottom:1px solid rgb(222,226,230)}.incident-item{color:#3f3f44;font-size:14px;line-height:1.42857;padding:10px 0}.incident-item:last-child{border-bottom:0!important}::ng-deep .resource-header .navbar-nav .nav-item .nav-link{color:#000!important}\n"] }]
95
- }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.CommonService }, { type: i1.AuthService }, { type: i2.DomSanitizer }] });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jaWRlbnRzLXN0YXR1cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3B1YmxpYy1tb2R1bGVzL3NyYy9saWIvaW5jaWRlbnRzLXN0YXR1cy9pbmNpZGVudHMtc3RhdHVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcHVibGljLW1vZHVsZXMvc3JjL2xpYi9pbmNpZGVudHMtc3RhdHVzL2luY2lkZW50cy1zdGF0dXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBRW5FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7O0FBTXZFLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxnQkFBZ0I7SUFxQjFELFlBQ0ksUUFBa0IsRUFDRCxhQUE0QixFQUM1QixXQUF3QixFQUN4QixTQUF1QjtRQUV4QyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFKQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBeEI1QyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBS2hCLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ25CLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBS25CLGNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFdkIsZ0JBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFjdEMsSUFBSSxDQUFDLFdBQVc7YUFDWCxTQUFT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QUMsT0FBTyxFQUFFLEdBQUcsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUMxRCxDQUFDO1lBQ0YsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQztRQUNwRCxDQUFDO2FBQU0sSUFBSSxlQUFlLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDOUIsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQztRQUNwRCxDQUFDO2FBQU0sSUFBSSxlQUFlLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQ25DLE1BQU0sYUFBYSxHQUFHLGVBQWUsR0FBRyxFQUFFLENBQUM7WUFDM0MsT0FBTyxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUMvQyxDQUFDO2FBQU0sQ0FBQztZQUNKLE1BQU0sWUFBWSxHQUFHLGVBQWUsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNqRCxPQUFPLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQzdDLENBQUM7SUFDTCxDQUFDOytHQXJHUSx3QkFBd0I7bUdBQXhCLHdCQUF3QixrRkNWckMsZzRKQWtHTTs7NEZEeEZPLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDSSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIENvbW1vblNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXNlcnZpY2VzJztcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctaW5jaWRlbnRzLXN0YXR1cycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2luY2lkZW50cy1zdGF0dXMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2luY2lkZW50cy1zdGF0dXMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBJbmNpZGVudHNTdGF0dXNDb21wb25lbnQgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBsYW5kaW5nID0gZmFsc2U7XG5cbiAgICBzYW5pdGl6ZWREZXNjcmlwdGlvbjogU2FmZUh0bWw7XG4gICAgbG9nbzogc3RyaW5nO1xuXG4gICAgb3BlbkluY2lkZW50cyA9IFtdO1xuICAgIHBhc3RJbmNpZGVudHMgPSBbXTtcblxuICAgIHAxOiBudW1iZXI7XG4gICAgcDogbnVtYmVyO1xuXG4gICAgdG9kYXlEYXRlID0gRGF0ZS5ub3coKTtcblxuICAgIGNvbXBhbnlOYW1lID0gdGhpcy5hcHBDb25maWcuY29tcGFueS5uYW1lO1xuXG4gICAgbG9nZ2VkSW46IGJvb2xlYW47XG5cbiAgICB1c2VyO1xuICAgIHByb2R1Y3Q7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1vblNlcnZpY2U6IENvbW1vblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHNhbml0aXplcjogRG9tU2FuaXRpemVyXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZVxuICAgICAgICAgICAgLmdldFRva2VuJCgpXG4gICAgICAgICAgICAucGlwZSgpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZWRJbiA9ICEhcmVzO1xuICAgICAgICAgICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9kdWN0ID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgncHJvZHVjdCcpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZS5nZXRVc2VySW5mbygpLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXNlciA9IGRhdGE7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvZ28gPSB0aGlzLmFwcENvbmZpZz8uY29tcGFueT8ubG9nb3M/Lm1haW4/LnVybDtcbiAgICAgICAgdGhpcy5nZXRJbmNpZGVudHMoKTtcbiAgICB9XG5cbiAgICBnZXRJbmNpZGVudHMoKSB7XG4gICAgICAgIHRoaXMuY29tbW9uU2VydmljZS5nZXRJbmNpZGVudHMoKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIHRoaXMub3BlbkluY2lkZW50cyA9IHJlcz8ub3Blbl9pbmNpZGVudHMubWFwKHggPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLngsXG4gICAgICAgICAgICAgICAgICAgIC8vIE5PU09OQVI6IFRydXN0ZWQgSFRNTCBjb250ZW50IGlzIGhhbmRsZWQgc2FmZWx5IGhlcmVcbiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHguZGVzY3JpcHRpb24pIC8vIE5PU09OQVJcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnBhc3RJbmNpZGVudHMgPSByZXM/LnBhc3RfaW5jaWRlbnRzLm1hcCh4ID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi54LFxuICAgICAgICAgICAgICAgICAgICAvLyBOT1NPTkFSOiBUcnVzdGVkIEhUTUwgY29udGVudCBpcyBoYW5kbGVkIHNhZmVseSBoZXJlXG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh4LmRlc2NyaXB0aW9uKSAvLyBOT1NPTkFSXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgbmF2aWdhdGVUb0VkaXQoaW5jaWRlbnQpIHtcbiAgICAgICAgaW5jaWRlbnRbJ2Rlc2NyaXB0aW9uJ10gPVxuICAgICAgICAgICAgdGhpcy5zYW5pdGl6ZXIuc2FuaXRpemUoXG4gICAgICAgICAgICAgICAgMSxcbiAgICAgICAgICAgICAgICBpbmNpZGVudD8uZGVzY3JpcHRpb24/LmNoYW5naW5nVGhpc0JyZWFrc0FwcGxpY2F0aW9uU2VjdXJpdHlcbiAgICAgICAgICAgICkgPz8gJyc7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2FkbWluL2luY2lkZW50LycgKyBpbmNpZGVudD8uaWRdLCB7XG4gICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxuICAgICAgICAgICAgc3RhdGU6IHsgZGF0YTogaW5jaWRlbnQgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgY2FsY3VsYXRlRHVyYXRpb24oc3RhcnRlZEF0OiBzdHJpbmcsIHJlc29sdmVkQXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmICghc3RhcnRlZEF0KSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3RhcnRlZERhdGUgPSBuZXcgRGF0ZShzdGFydGVkQXQpO1xuICAgICAgICBjb25zdCByZXNvbHZlZERhdGUgPSBuZXcgRGF0ZShyZXNvbHZlZEF0KTtcblxuICAgICAgICBjb25zdCBkdXJhdGlvbk1pbnV0ZXMgPSBNYXRoLmFicyhcbiAgICAgICAgICAgIChyZXNvbHZlZERhdGUuZ2V0VGltZSgpIC0gc3RhcnRlZERhdGUuZ2V0VGltZSgpKSAvICgxMDAwICogNjApXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGR1cmF0aW9uTWludXRlcyA8IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IGR1cmF0aW9uU2Vjb25kcyA9IE1hdGguYWJzKFxuICAgICAgICAgICAgICAgIChyZXNvbHZlZERhdGUuZ2V0VGltZSgpIC0gc3RhcnRlZERhdGUuZ2V0VGltZSgpKSAvIDEwMDBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm4gYCR7TWF0aC5yb3VuZChkdXJhdGlvblNlY29uZHMpfSBzZWNvbmRzYDtcbiAgICAgICAgfSBlbHNlIGlmIChkdXJhdGlvbk1pbnV0ZXMgPCA2MCkge1xuICAgICAgICAgICAgcmV0dXJuIGAke01hdGgucm91bmQoZHVyYXRpb25NaW51dGVzKX0gbWludXRlc2A7XG4gICAgICAgIH0gZWxzZSBpZiAoZHVyYXRpb25NaW51dGVzIDwgMjQgKiA2MCkge1xuICAgICAgICAgICAgY29uc3QgZHVyYXRpb25Ib3VycyA9IGR1cmF0aW9uTWludXRlcyAvIDYwO1xuICAgICAgICAgICAgcmV0dXJuIGAke2R1cmF0aW9uSG91cnMudG9GaXhlZCgyKX0gaG91cnNgO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZHVyYXRpb25EYXlzID0gZHVyYXRpb25NaW51dGVzIC8gKDI0ICogNjApO1xuICAgICAgICAgICAgcmV0dXJuIGAke2R1cmF0aW9uRGF5cy50b0ZpeGVkKDEpfSBkYXlzYDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxwdy1yZXNvdXJjZS1oZWFkZXI+PC9wdy1yZXNvdXJjZS1oZWFkZXI+XG48ZGl2IGNsYXNzPVwiaW5jaWRlbnRzLXdyYXBwZXIgY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJteC0yXCI+XG4gICAgPGgzPnt7Y29tcGFueU5hbWV9fSBTdGF0dXM8L2gzPlxuICAgIDx1bCBuZ2JOYXYgI25hdj1cIm5nYk5hdlwiIGNsYXNzPVwibmF2LXRhYnNcIj5cbiAgICAgIDxsaSBbbmdiTmF2SXRlbV09XCIxXCI+XG4gICAgICAgIDxhIG5nYk5hdkxpbms+T3BlbiBJbmNpZGVudHM8L2E+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZ2JOYXZDb250ZW50PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCIgKm5nSWY9XCJvcGVuSW5jaWRlbnRzPy5sZW5ndGhcIj5cbiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cImNvbC1sZy0xMiBweC0wIHRhYmxlXCIgYXJpYS1kZXNjcmliZWRieT1cImluY2lkZW50IHN0YXR1c1wiPlxuICAgICAgICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgPHRoPlNlcnZpY2UgSW1wYWN0ZWQ8L3RoPlxuICAgICAgICAgICAgICAgICAgPHRoPkRlc2NyaXB0aW9uPC90aD5cbiAgICAgICAgICAgICAgICAgIDx0aD5EYXRlIE9wZW48L3RoPlxuICAgICAgICAgICAgICAgICAgPHRoPkR1cmF0aW9uPC90aD5cbiAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGRhdGEgb2Ygb3BlbkluY2lkZW50c1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgcGFnaW5hdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB7IGlkOiAnZGF0YScsIGl0ZW1zUGVyUGFnZTogMTAsIGN1cnJlbnRQYWdlOiBwIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaSA9IGluZGV4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiIGNsYXNzPVwiaW5jaWRlbnQtaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgPHRkPiB7eyBkYXRhPy5zZXJ2aWNlX2ltcGFjdGVkID8gZGF0YT8uc2VydmljZV9pbXBhY3RlZCA6IGRhdGE/LnVybF9pbXBhY3RlZCB9fSA8L3RkPlxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gIDxpIGNsYXNzPVwiZmEgZmEtZWRpdCBlZGl0LWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIiAoY2xpY2spPVwibmF2aWdhdGVUb0VkaXQoZGF0YSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwibmF2aWdhdGVUb0VkaXQoZGF0YSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJsb2dnZWRJbiAmJiAodXNlcj8uYXV0aD8uZ3JhbnRlZFsnUGFnZXMuU3VwZXJBZG1pbiddKVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwiZGF0YT8uZGVzY3JpcHRpb25cIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1ub3dyYXBcIj4ge3sgZGF0YT8uc3RhcnRlZF9hdCB8IGRhdGU6ICdkZC1NTU0tWVlZWSwgaDptbSBhJyB9fSA8L3RkPlxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1ub3dyYXBcIj4ge3sgY2FsY3VsYXRlRHVyYXRpb24oZGF0YT8uc3RhcnRlZF9hdCx0b2RheURhdGUpIH19XG4gICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgcGFnaW5hdGlvbi1jb250cm9scyBjb2wtbGctMTIgcHgtMCB3LTEwMCBtdC0zXCIgKm5nSWY9XCJvcGVuSW5jaWRlbnRzPy5sZW5ndGggPiAxMFwiPlxuICAgICAgICAgICAgICA8cGFnaW5hdGlvbi1jb250cm9scyBpZD1cImRhdGFcIiAocGFnZUNoYW5nZSk9XCJwID0gJGV2ZW50XCI+XG4gICAgICAgICAgICAgIDwvcGFnaW5hdGlvbi1jb250cm9scz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxwICpuZ0lmPVwiIW9wZW5JbmNpZGVudHM/Lmxlbmd0aFwiPk5vdGhpbmcgaGVyZTwvcD5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbGk+XG4gICAgICA8bGkgW25nYk5hdkl0ZW1dPVwiMlwiPlxuICAgICAgICA8YSBuZ2JOYXZMaW5rPkNsb3NlZCBJbmNpZGVudHM8L2E+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZ2JOYXZDb250ZW50PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCIgKm5nSWY9XCJwYXN0SW5jaWRlbnRzPy5sZW5ndGhcIj5cbiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cImNvbC1sZy0xMiBweC0wIHRhYmxlXCIgYXJpYS1kZXNjcmliZWRieT1cImluY2lkZW50IHN0YXR1c1wiPlxuICAgICAgICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgPHRoPlNlcnZpY2UgSW1wYWN0ZWQ8L3RoPlxuICAgICAgICAgICAgICAgICAgPHRoPkRlc2NyaXB0aW9uPC90aD5cbiAgICAgICAgICAgICAgICAgIDx0aD5EYXRlIE9wZW48L3RoPlxuICAgICAgICAgICAgICAgICAgPHRoPkRhdGUgQ2xvc2VkPC90aD5cbiAgICAgICAgICAgICAgICAgIDx0aD5EdXJhdGlvbjwvdGg+XG4gICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgaW5jaWRlbnQgb2YgcGFzdEluY2lkZW50cyB8IHBhZ2luYXRlIDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAnaW5jaWRlbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXNQZXJQYWdlOiAxMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRQYWdlOiBwMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpID0gaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiIGNsYXNzPVwiaW5jaWRlbnQtaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgPHRkPiB7eyBpbmNpZGVudD8uc2VydmljZV9pbXBhY3RlZCA/IGluY2lkZW50Py5zZXJ2aWNlX2ltcGFjdGVkIDogaW5jaWRlbnQ/LnVybF9pbXBhY3RlZCB9fSA8L3RkPlxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWVkaXQgZWRpdC1pY29uIGN1cnNvci1wb2ludGVyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlVG9FZGl0KGluY2lkZW50KVwiIChrZXlkb3duLmVudGVyKT1cIm5hdmlnYXRlVG9FZGl0KGluY2lkZW50KVwiICpuZ0lmPVwibG9nZ2VkSW4gJiYgKHVzZXI/LmF1dGg/LmdyYW50ZWRbJ1BhZ2VzLlN1cGVyQWRtaW4nXSlcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cImluY2lkZW50Py5kZXNjcmlwdGlvblwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LW5vd3JhcFwiPiB7eyBpbmNpZGVudD8uc3RhcnRlZF9hdCB8IGRhdGU6ICdkZC1NTU0tWVlZWSwgaDptbSBhJ319IDwvdGQ+XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LW5vd3JhcFwiPiB7eyBpbmNpZGVudD8ucmVzb2x2ZWRfYXQgfCBkYXRlOiAnZGQtTU1NLVlZWVksIGg6bW0gYSd9fSA8L3RkPlxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1ub3dyYXBcIj4ge3sgY2FsY3VsYXRlRHVyYXRpb24oaW5jaWRlbnQuc3RhcnRlZF9hdCwgaW5jaWRlbnQucmVzb2x2ZWRfYXQpIH19IDwvdGQ+XG4gICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgcGFnaW5hdGlvbi1jb250cm9scyBjb2wtbGctMTIgcHgtMCB3LTEwMCBtdC0zXCIgKm5nSWY9XCJwYXN0SW5jaWRlbnRzPy5sZW5ndGggPiAxMFwiPlxuICAgICAgICAgICAgICA8cGFnaW5hdGlvbi1jb250cm9scyBpZD1cImluY2lkZW50XCIgKHBhZ2VDaGFuZ2UpPVwicDEgPSAkZXZlbnRcIj5cbiAgICAgICAgICAgICAgPC9wYWdpbmF0aW9uLWNvbnRyb2xzPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHAgKm5nSWY9XCIhcGFzdEluY2lkZW50cz8ubGVuZ3RoXCI+Tm90aGluZyBoZXJlPC9wPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9saT5cbiAgICA8L3VsPlxuICAgIDxkaXYgW25nYk5hdk91dGxldF09XCJuYXZcIj48L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
@@ -1,222 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
- import { RouterModule } from '@angular/router';
5
- import { CoreTranslocoModule } from '@posiwise/core-transloco';
6
- import { DirectivesModule } from '@posiwise/directives';
7
- import { PipesModule } from '@posiwise/pipes';
8
- import { FieldErrorDisplayModule } from '@posiwise/utils';
9
- import { NgxCaptchaModule } from 'ngx-captcha';
10
- import { AbTestModule } from './ab-test/ab-test.module';
11
- import { GeoTemplateComponent } from './geo-template/geo-template.component';
12
- // Landing page components
13
- import { LandingPageComponent } from './landing-pages/landing-page/landing-page.component';
14
- import { LandingPageAboutUsComponent } from './landing-pages/landing-page/sections/landing-page-about-us/landing-page-about-us.component';
15
- import { LandingPageBannerComponent } from './landing-pages/landing-page/sections/landing-page-banner/landing-page-banner.component';
16
- import { LandingPageChangeAdaptComponent } from './landing-pages/landing-page/sections/landing-page-change-adapt/landing-page-change-adapt.component';
17
- import { LandingPageContactComponent } from './landing-pages/landing-page/sections/landing-page-contact/landing-page-contact.component';
18
- import { LandingPageFooterComponent } from './landing-pages/landing-page/sections/landing-page-footer/landing-page-footer.component';
19
- import { LandingPageHeaderComponent } from './landing-pages/landing-page/sections/landing-page-header/landing-page-header.component';
20
- import { LandingPageInnovateComponent } from './landing-pages/landing-page/sections/landing-page-innovate/landing-page-innovate.component';
21
- import { LandingPageOurProductsComponent } from './landing-pages/landing-page/sections/landing-page-our-products/landing-page-our-products.component';
22
- import { LandingPageServicesComponent } from './landing-pages/landing-page/sections/landing-page-services/landing-page-services.component';
23
- import { LandingPageSubscribeComponent } from './landing-pages/landing-page/sections/landing-page-subscribe/landing-page-subscribe.component';
24
- import { LandingPageTeamComponent } from './landing-pages/landing-page/sections/landing-page-team/landing-page-team.component';
25
- import { LandingPageTestimonialsComponent } from './landing-pages/landing-page/sections/landing-page-testimonials/landing-page-testimonials.component';
26
- import { MainExplainerComponent } from './landing-pages/landing-page/sections/main-explainer/main-explainer.component';
27
- import { LandingPageAboutUsBComponent } from './landing-pages/landing-page/sections-b/landing-page-about-us-b/landing-page-about-us-b.component';
28
- import { LandingPageBannerBComponent } from './landing-pages/landing-page/sections-b/landing-page-banner-b/landing-page-banner-b.component';
29
- import { LandingPageChangeAdaptBComponent } from './landing-pages/landing-page/sections-b/landing-page-change-adapt-b/landing-page-change-adapt-b.component';
30
- import { LandingPageContactBComponent } from './landing-pages/landing-page/sections-b/landing-page-contact-b/landing-page-contact-b.component';
31
- import { LandingPageHeaderBComponent } from './landing-pages/landing-page/sections-b/landing-page-header-b/landing-page-header-b.component';
32
- import { LandingPageInnovateBComponent } from './landing-pages/landing-page/sections-b/landing-page-innovate-b/landing-page-innovate-b.component';
33
- import { LandingPageOurProductsBComponent } from './landing-pages/landing-page/sections-b/landing-page-our-products-b/landing-page-our-products-b.component';
34
- import { LandingPageServicesBComponent } from './landing-pages/landing-page/sections-b/landing-page-services-b/landing-page-services-b.component';
35
- import { LandingPageSubscribeBComponent } from './landing-pages/landing-page/sections-b/landing-page-subscribe-b/landing-page-subscribe-b.component';
36
- import { LandingPageTeamBComponent } from './landing-pages/landing-page/sections-b/landing-page-team-b/landing-page-team-b.component';
37
- import { LandingPageTestimonialsBComponent } from './landing-pages/landing-page/sections-b/landing-page-testimonials-b/landing-page-testimonials-b.component';
38
- import { MainExplainerBComponent } from './landing-pages/landing-page/sections-b/main-explainer-b/main-explainer-b.component';
39
- import * as i0 from "@angular/core";
40
- /**
41
- * Dedicated module for landing page components only.
42
- * This module contains ONLY the landing page components to keep bundle size minimal.
43
- * Import this instead of the full PublicModule when you only need landing page functionality.
44
- */
45
- export class LandingPageSharedComponentsModule {
46
- constructor() {
47
- console.log('🚀 LANDING PAGE COMPONENTS MODULE LOADED! - Optimized landing page bundle');
48
- }
49
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LandingPageSharedComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
50
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: LandingPageSharedComponentsModule, declarations: [
51
- // Main landing page
52
- // Version A components
53
- LandingPageAboutUsComponent,
54
- LandingPageComponent,
55
- LandingPageBannerComponent,
56
- LandingPageChangeAdaptComponent,
57
- LandingPageContactComponent,
58
- LandingPageFooterComponent,
59
- LandingPageHeaderComponent,
60
- LandingPageInnovateComponent,
61
- LandingPageOurProductsComponent,
62
- LandingPageServicesComponent,
63
- LandingPageSubscribeComponent,
64
- LandingPageTeamComponent,
65
- LandingPageTestimonialsComponent,
66
- MainExplainerComponent,
67
- // Version B components
68
- LandingPageAboutUsBComponent,
69
- LandingPageBannerBComponent,
70
- LandingPageChangeAdaptBComponent,
71
- LandingPageContactBComponent,
72
- LandingPageHeaderBComponent,
73
- LandingPageInnovateBComponent,
74
- LandingPageOurProductsBComponent,
75
- LandingPageServicesBComponent,
76
- LandingPageSubscribeBComponent,
77
- LandingPageTeamBComponent,
78
- LandingPageTestimonialsBComponent,
79
- MainExplainerBComponent,
80
- GeoTemplateComponent], imports: [CommonModule,
81
- FormsModule,
82
- ReactiveFormsModule,
83
- RouterModule,
84
- CoreTranslocoModule,
85
- DirectivesModule,
86
- PipesModule,
87
- NgxCaptchaModule,
88
- FieldErrorDisplayModule,
89
- AbTestModule], exports: [
90
- // Export all landing page components
91
- // Version A components
92
- LandingPageAboutUsComponent,
93
- LandingPageBannerComponent,
94
- LandingPageComponent,
95
- LandingPageChangeAdaptComponent,
96
- LandingPageContactComponent,
97
- LandingPageFooterComponent,
98
- LandingPageHeaderComponent,
99
- LandingPageInnovateComponent,
100
- LandingPageOurProductsComponent,
101
- LandingPageServicesComponent,
102
- LandingPageSubscribeComponent,
103
- LandingPageTeamComponent,
104
- LandingPageTestimonialsComponent,
105
- MainExplainerComponent,
106
- // Version B components
107
- LandingPageAboutUsBComponent,
108
- LandingPageBannerBComponent,
109
- LandingPageChangeAdaptBComponent,
110
- LandingPageContactBComponent,
111
- LandingPageHeaderBComponent,
112
- LandingPageInnovateBComponent,
113
- LandingPageOurProductsBComponent,
114
- LandingPageServicesBComponent,
115
- LandingPageSubscribeBComponent,
116
- LandingPageTeamBComponent,
117
- LandingPageTestimonialsBComponent,
118
- MainExplainerBComponent,
119
- // AB Testing and Geo Components
120
- GeoTemplateComponent,
121
- AbTestModule,
122
- // Re-export shared modules so consumers get access to them
123
- RouterModule] }); }
124
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LandingPageSharedComponentsModule, imports: [CommonModule,
125
- FormsModule,
126
- ReactiveFormsModule,
127
- RouterModule,
128
- CoreTranslocoModule,
129
- DirectivesModule,
130
- PipesModule,
131
- NgxCaptchaModule,
132
- FieldErrorDisplayModule,
133
- AbTestModule, AbTestModule,
134
- // Re-export shared modules so consumers get access to them
135
- RouterModule] }); }
136
- }
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LandingPageSharedComponentsModule, decorators: [{
138
- type: NgModule,
139
- args: [{
140
- imports: [
141
- CommonModule,
142
- FormsModule,
143
- ReactiveFormsModule,
144
- RouterModule,
145
- CoreTranslocoModule,
146
- DirectivesModule,
147
- PipesModule,
148
- NgxCaptchaModule,
149
- FieldErrorDisplayModule,
150
- AbTestModule
151
- ],
152
- declarations: [
153
- // Main landing page
154
- // Version A components
155
- LandingPageAboutUsComponent,
156
- LandingPageComponent,
157
- LandingPageBannerComponent,
158
- LandingPageChangeAdaptComponent,
159
- LandingPageContactComponent,
160
- LandingPageFooterComponent,
161
- LandingPageHeaderComponent,
162
- LandingPageInnovateComponent,
163
- LandingPageOurProductsComponent,
164
- LandingPageServicesComponent,
165
- LandingPageSubscribeComponent,
166
- LandingPageTeamComponent,
167
- LandingPageTestimonialsComponent,
168
- MainExplainerComponent,
169
- // Version B components
170
- LandingPageAboutUsBComponent,
171
- LandingPageBannerBComponent,
172
- LandingPageChangeAdaptBComponent,
173
- LandingPageContactBComponent,
174
- LandingPageHeaderBComponent,
175
- LandingPageInnovateBComponent,
176
- LandingPageOurProductsBComponent,
177
- LandingPageServicesBComponent,
178
- LandingPageSubscribeBComponent,
179
- LandingPageTeamBComponent,
180
- LandingPageTestimonialsBComponent,
181
- MainExplainerBComponent,
182
- GeoTemplateComponent
183
- ],
184
- exports: [
185
- // Export all landing page components
186
- // Version A components
187
- LandingPageAboutUsComponent,
188
- LandingPageBannerComponent,
189
- LandingPageComponent,
190
- LandingPageChangeAdaptComponent,
191
- LandingPageContactComponent,
192
- LandingPageFooterComponent,
193
- LandingPageHeaderComponent,
194
- LandingPageInnovateComponent,
195
- LandingPageOurProductsComponent,
196
- LandingPageServicesComponent,
197
- LandingPageSubscribeComponent,
198
- LandingPageTeamComponent,
199
- LandingPageTestimonialsComponent,
200
- MainExplainerComponent,
201
- // Version B components
202
- LandingPageAboutUsBComponent,
203
- LandingPageBannerBComponent,
204
- LandingPageChangeAdaptBComponent,
205
- LandingPageContactBComponent,
206
- LandingPageHeaderBComponent,
207
- LandingPageInnovateBComponent,
208
- LandingPageOurProductsBComponent,
209
- LandingPageServicesBComponent,
210
- LandingPageSubscribeBComponent,
211
- LandingPageTeamBComponent,
212
- LandingPageTestimonialsBComponent,
213
- MainExplainerBComponent,
214
- // AB Testing and Geo Components
215
- GeoTemplateComponent,
216
- AbTestModule,
217
- // Re-export shared modules so consumers get access to them
218
- RouterModule
219
- ]
220
- }]
221
- }], ctorParameters: () => [] });
222
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZGluZy1wYWdlLXNoYXJlZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3B1YmxpYy1tb2R1bGVzL3NyYy9saWIvbGFuZGluZy1wYWdlLXNoYXJlZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSwwQkFBMEI7QUFDMUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDM0YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkZBQTZGLENBQUM7QUFDMUksT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0seUZBQXlGLENBQUM7QUFDckksT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0scUdBQXFHLENBQUM7QUFDdEosT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkZBQTJG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O3dCQUM3QixnQ0FBZ0M7d0JBQ2hDLDZCQUE2Qjt3QkFDN0IsOEJBQThCO3dCQUM5Qix5QkFBeUI7d0JBQ3pCLGlDQUFpQzt3QkFDakMsdUJBQXVCO3dCQUN2QixvQkFBb0I7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxxQ0FBcUM7d0JBRXJDLHVCQUF1Qjt3QkFDdkIsMkJBQTJCO3dCQUMzQiwwQkFBMEI7d0JBQzFCLG9CQUFvQjt3QkFDcEIsK0JBQStCO3dCQUMvQiwyQkFBMkI7d0JBQzNCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQiw0QkFBNEI7d0JBQzVCLCtCQUErQjt3QkFDL0IsNEJBQTRCO3dCQUM1Qiw2QkFBNkI7d0JBQzdCLHdCQUF3Qjt3QkFDeEIsZ0NBQWdDO3dCQUNoQyxzQkFBc0I7d0JBRXRCLHVCQUF1Qjt3QkFDdkIsNEJBQTRCO3dCQUM1QiwyQkFBMkI7d0JBQzNCLGdDQUFnQzt3QkFDaEMsNEJBQTRCO3dCQUM1QiwyQkFBMkI7d0JBQzNCLDZCQUE2Qjt3QkFDN0IsZ0NBQWdDO3dCQUNoQyw2QkFBNkI7d0JBQzdCLDhCQUE4Qjt3QkFDOUIseUJBQXlCO3dCQUN6QixpQ0FBaUM7d0JBQ2pDLHVCQUF1Qjt3QkFFdkIsZ0NBQWdDO3dCQUNoQyxvQkFBb0I7d0JBQ3BCLFlBQVk7d0JBRVosMkRBQTJEO3dCQUMzRCxZQUFZO3FCQUNmO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IENvcmVUcmFuc2xvY29Nb2R1bGUgfSBmcm9tICdAcG9zaXdpc2UvY29yZS10cmFuc2xvY28nO1xuaW1wb3J0IHsgRGlyZWN0aXZlc01vZHVsZSB9IGZyb20gJ0Bwb3Npd2lzZS9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFBpcGVzTW9kdWxlIH0gZnJvbSAnQHBvc2l3aXNlL3BpcGVzJztcbmltcG9ydCB7IEZpZWxkRXJyb3JEaXNwbGF5TW9kdWxlIH0gZnJvbSAnQHBvc2l3aXNlL3V0aWxzJztcblxuaW1wb3J0IHsgTmd4Q2FwdGNoYU1vZHVsZSB9IGZyb20gJ25neC1jYXB0Y2hhJztcblxuaW1wb3J0IHsgQWJUZXN0TW9kdWxlIH0gZnJvbSAnLi9hYi10ZXN0L2FiLXRlc3QubW9kdWxlJztcbmltcG9ydCB7IEdlb1RlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9nZW8tdGVtcGxhdGUvZ2VvLXRlbXBsYXRlLmNvbXBvbmVudCc7XG4vLyBMYW5kaW5nIHBhZ2UgY29tcG9uZW50c1xuaW1wb3J0IHsgTGFuZGluZ1BhZ2VDb21wb25lbnQgfSBmcm9tICcuL2xhbmRpbmctcGFnZXMvbGFuZGluZy1wYWdlL2xhbmRpbmctcGFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGFuZGluZ1BhZ2VBYm91dFVzQ29tcG9uZW50IH0gZnJvbSAnLi9sYW5kaW5nLXBhZ2VzL2xhbmRpbmctcGFnZS9zZWN0aW9ucy9sYW5kaW5nLXBhZ2UtYWJvdXQtdXMvbGFuZGluZy1wYWdlLWFib3V0LXVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYW5kaW5nUGFnZUJhbm5lckNvbXBvbmVudCB9IGZyb20gJy4vbGFuZGluZy1wYWdlcy9sYW5kaW5nLXBhZ2Uvc2VjdGlvbnMvbGFuZGluZy1wYWdlLWJhbm5lci9sYW5kaW5nLXBhZ2UtYmFubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYW5kaW5nUGFnZUNoYW5nZUFkYXB0Q29tcG9uZW50IH0gZnJvbSAnLi9sYW5kaW5nLXBhZ2VzL2xhbmRpbmctcGFnZS9zZWN0aW9ucy9sYW5kaW5nLXBhZ2UtY2hhbmdlLWFkYXB0L2xhbmRpbmctcGFnZS1jaGFuZ2UtYWRhcHQuY29tcG9uZW50JztcbmltcG9ydCB7IExhbmRpbmdQYWdlQ29udGFjdENvbXBvbmVudCB9IGZyb20gJy4vbGFuZGluZy1wYWdlcy9sYW5kaW5nLXBhZ2Uvc2VjdGlvbnMvbGFuZGluZy1wYWdlLWNvbnRhY3QvbGFuZGluZy1wYWdlLWNvbnRhY3QuY29tcG9uZW50JztcbmltcG9ydCB7IExhbmRpbmdQYWdlRm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9sYW5kaW5nLXBhZ2VzL2xhbmRpbmctcGFnZS9zZWN0aW9ucy9sYW5kaW5nLXBhZ2UtZm9vdGVyL2xhbmRpbmctcGFnZS1mb290ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IExhbmRpbmdQYWdlSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9sYW5kaW5nLXBhZ2VzL2xhbmRpbmctcGFnZS9zZWN0aW9ucy9sYW5kaW5nLXBhZ2UtaGVhZGVyL2xhbmRpbmctcGFnZS1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IExhbmRpbmdQYWdlSW5ub3ZhdGVDb21wb25lbnQgfSBmcm9tICcuL2xhbmRpbmctcGFnZXMvbGFuZGluZy1wYWdlL3NlY3Rpb25zL2xhbmRpbmctcGFnZS1pbm5vdmF0ZS9sYW5kaW5nLXBhZ2UtaW5ub3ZhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IExhbmRpbmdQYWdlT3VyUHJvZHVjdHNDb21wb25lbnQgfSBmcm9tICcuL2xhbmRpbmctcGFnZXMvbGFuZGluZy1wYWdlL3NlY3Rpb25zL2xhbmRpbmctcGFnZS1vdXItcHJvZHVjdHMvbGFuZGluZy1wYWdlLW91ci1wcm9kdWN0cy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGFuZGluZ1BhZ2VTZXJ2aWNlc0NvbXBvbmVudCB9IGZyb20gJy4vbGFuZGluZy1wYWdlcy9sYW5kaW5nLXBhZ2Uvc2VjdGlvbnMvbGFuZGluZy1wYWdlLXNlcnZpY2VzL2xhbmRpbmctcGFnZS1zZXJ2aWNlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGFuZGluZ1BhZ2VTdWJzY3JpYmVDb21wb25lbnQgfSBmcm9tICcuL2xhbmRpbmctcGFnZXMvbGFuZGluZy1wYWdlL3NlY3Rpb25zL2xhbmRpbmctcGFnZS1zdWJzY3JpYmUvbGFuZGluZy1wYWdlLXN1YnNjcmliZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGFuZGluZ1BhZ2VUZWFtQ29tcG9uZW50IH0gZnJvbSAnLi9sYW5kaW5nLXBhZ2VzL2xhbmRpbmctcGFnZS9zZWN0aW9ucy9sYW5kaW5nLXBhZ2UtdGVhbS9sYW5kaW5nLXBhZ2UtdGVhbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGFuZGluZ1BhZ2VUZXN0aW1vbmlhbHNDb21wb25lbnQgfSBmcm9tICcuL2xhbmRpbmctcGFnZXMvbGFuZGluZy1wYWdlL3NlY3Rpb25zL2xhbmRpbmctcGFnZS10ZXN0aW1vbmlhbHMvbGFuZGluZy1wYWdlLXRlc3RpbW9uaWFscy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFpbkV4cGxhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vbGFuZGluZy1wYWdlcy9sYW5kaW5nLXBhZ2Uvc2VjdGlvbnMvbWFpbi1leHBsYWluZXIvbWFpbi1leHBsYWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IExhbmRpbmdQYWdlQWJvdXRVc0JDb21wb25lbnQgfSBmcm9tICcuL2xhbmRpbmctcGFnZXMvbGFuZGluZy1wYWdlL3NlY3Rpb25zLWIvbGFuZGluZy1wYWdlLWFib3V0LXVzLWIvbGFuZGluZy1wYWdlLWFib3V0LXVzLWIuY29tcG9uZW50JztcbmltcG9ydCB7IExhbmRpbmdQYWdlQmFubmVyQkNvbXBvbmVudCB9IGZyb20gJy4vbGFuZGluZy1wYWdlcy9sYW5kaW5nLXBhZ2Uvc2VjdGlvbnMtYi9sYW5kaW5nLXBhZ2UtYmFubmVyLWIvbGFuZGluZy1wYWdlLWJhbm5lci1iLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYW5kaW5nUGFnZUNoYW5nZUFkYXB0QkNvbXBvbmVudCB9IGZyb20gJy4vbGFuZGluZy1wYWdlcy9sYW5kaW5nLXBhZ2Uvc2VjdGlvbnMtYi9sYW5kaW5nLXBhZ2UtY2hhbmdlLWFkYXB0LWIvbGFuZGluZy1wYWdlLWNoYW5nZS1hZGFwdC1iLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYW5kaW5nUGFnZUNvbnRhY3RCQ29tcG9uZW50IH0gZnJvbSAnLi9sYW5kaW5nLXBhZ2VzL2xhbmRpbmctcGFnZS9zZWN0aW9ucy1iL2xhbmRpbmctcGFnZS1jb250YWN0LWIvbGFuZGluZy1wYWdlLWNvbnRhY3QtYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGFuZGluZ1BhZ2VIZWFkZXJCQ29tcG9uZW50IH0gZnJvbSAnLi9sYW5kaW5nLXBhZ2VzL2xhbmRpbmctcGFnZS9zZWN0aW9ucy1iL2xhbmRpbmctcGFnZS1oZWFkZXItYi9sYW5kaW5nLXBhZ2UtaGVhZGVyLWIuY29tcG9uZW50JztcbmltcG9ydCB7IExhbmRpbmdQYWdlSW5ub3ZhdGVCQ29tcG9uZW50IH0gZnJvbSAnLi9sYW5kaW5nLXBhZ2VzL2xhbmRpbmctcGFnZS9zZWN0aW9ucy1iL2xhbmRpbmctcGFnZS1pbm5vdmF0ZS1iL2xhbmRpbmctcGFnZS1pbm5vdmF0ZS1iLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYW5kaW5nUGFnZU91clByb2R1Y3RzQkNvbXBvbmVudCB9IGZyb20gJy4vbGFuZGluZy1wYWdlcy9sYW5kaW5nLXBhZ2Uvc2VjdGlvbnMtYi9sYW5kaW5nLXBhZ2Utb3VyLXByb2R1Y3RzLWIvbGFuZGluZy1wYWdlLW91ci1wcm9kdWN0cy1iLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYW5kaW5nUGFnZVNlcnZpY2VzQkNvbXBvbmVudCB9IGZyb20gJy4vbGFuZGluZy1wYWdlcy9sYW5kaW5nLXBhZ2Uvc2VjdGlvbnMtYi9sYW5kaW5nLXBhZ2Utc2VydmljZXMtYi9sYW5kaW5nLXBhZ2Utc2VydmljZXMtYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGFuZGluZ1BhZ2VTdWJzY3JpYmVCQ29tcG9uZW50IH0gZnJvbSAnLi9sYW5kaW5nLXBhZ2VzL2xhbmRpbmctcGFnZS9zZWN0aW9ucy1iL2xhbmRpbmctcGFnZS1zdWJzY3JpYmUtYi9sYW5kaW5nLXBhZ2Utc3Vic2NyaWJlLWIuY29tcG9uZW50JztcbmltcG9ydCB7IExhbmRpbmdQYWdlVGVhbUJDb21wb25lbnQgfSBmcm9tICcuL2xhbmRpbmctcGFnZXMvbGFuZGluZy1wYWdlL3NlY3Rpb25zLWIvbGFuZGluZy1wYWdlLXRlYW0tYi9sYW5kaW5nLXBhZ2UtdGVhbS1iLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYW5kaW5nUGFnZVRlc3RpbW9uaWFsc0JDb21wb25lbnQgfSBmcm9tICcuL2xhbmRpbmctcGFnZXMvbGFuZGluZy1wYWdlL3NlY3Rpb25zLWIvbGFuZGluZy1wYWdlLXRlc3RpbW9uaWFscy1iL2xhbmRpbmctcGFnZS10ZXN0aW1vbmlhbHMtYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFpbkV4cGxhaW5lckJDb21wb25lbnQgfSBmcm9tICcuL2xhbmRpbmctcGFnZXMvbGFuZGluZy1wYWdlL3NlY3Rpb25zLWIvbWFpbi1leHBsYWluZXItYi9tYWluLWV4cGxhaW5lci1iLmNvbXBvbmVudCc7XG5cbi8qKlxuICogRGVkaWNhdGVkIG1vZHVsZSBmb3IgbGFuZGluZyBwYWdlIGNvbXBvbmVudHMgb25seS5cbiAqIFRoaXMgbW9kdWxlIGNvbnRhaW5zIE9OTFkgdGhlIGxhbmRpbmcgcGFnZSBjb21wb25lbnRzIHRvIGtlZXAgYnVuZGxlIHNpemUgbWluaW1hbC5cbiAqIEltcG9ydCB0aGlzIGluc3RlYWQgb2YgdGhlIGZ1bGwgUHVibGljTW9kdWxlIHdoZW4geW91IG9ubHkgbmVlZCBsYW5kaW5nIHBhZ2UgZnVuY3Rpb25hbGl0eS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFJvdXRlck1vZHVsZSxcbiAgICAgICAgQ29yZVRyYW5zbG9jb01vZHVsZSxcbiAgICAgICAgRGlyZWN0aXZlc01vZHVsZSxcbiAgICAgICAgUGlwZXNNb2R1bGUsXG4gICAgICAgIE5neENhcHRjaGFNb2R1bGUsXG4gICAgICAgIEZpZWxkRXJyb3JEaXNwbGF5TW9kdWxlLFxuICAgICAgICBBYlRlc3RNb2R1bGVcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICAvLyBNYWluIGxhbmRpbmcgcGFnZVxuXG4gICAgICAgIC8vIFZlcnNpb24gQSBjb21wb25lbnRzXG4gICAgICAgIExhbmRpbmdQYWdlQWJvdXRVc0NvbXBvbmVudCxcbiAgICAgICAgTGFuZGluZ1BhZ2VDb21wb25lbnQsXG4gICAgICAgIExhbmRpbmdQYWdlQmFubmVyQ29tcG9uZW50LFxuICAgICAgICBMYW5kaW5nUGFnZUNoYW5nZUFkYXB0Q29tcG9uZW50LFxuICAgICAgICBMYW5kaW5nUGFnZUNvbnRhY3RDb21wb25lbnQsXG4gICAgICAgIExhbmRpbmdQYWdlRm9vdGVyQ29tcG9uZW50LFxuICAgICAgICBMYW5kaW5nUGFnZUhlYWRlckNvbXBvbmVudCxcbiAgICAgICAgTGFuZGluZ1BhZ2VJbm5vdmF0ZUNvbXBvbmVudCxcbiAgICAgICAgTGFuZGluZ1BhZ2VPdXJQcm9kdWN0c0NvbXBvbmVudCxcbiAgICAgICAgTGFuZGluZ1BhZ2VTZXJ2aWNlc0NvbXBvbmVudCxcbiAgICAgICAgTGFuZGluZ1BhZ2VTdWJzY3JpYmVDb21wb25lbnQsXG4gICAgICAgIExhbmRpbmdQYWdlVGVhbUNvbXBvbmVudCxcbiAgICAgICAgTGFuZGluZ1BhZ2VUZXN0aW1vbmlhbHNDb21wb25lbnQsXG4gICAgICAgIE1haW5FeHBsYWluZXJDb21wb25lbnQsXG5cbiAgICAgICAgLy8gVmVyc2lvbiBCIGNvbXBvbmVudHNcbiAgICAgICAgTGFuZGluZ1BhZ2VBYm91dFVzQkNvbXBvbmVudCxcbiAgICAgICAgTGFuZGluZ1BhZ2VCYW5uZXJCQ29tcG9uZW50LFxuICAgICAgICBMYW5kaW5nUGFnZUNoYW5nZUFkYXB0QkNvbXBvbmVudCxcbiAgICAgICAgTGFuZGluZ1BhZ2VDb250YWN0QkNvbXBvbmVudCxcbiAgICAgICAgTGFuZGluZ1BhZ2VIZWFkZXJCQ29tcG9uZW50LFxuICAgICAgICBMYW5kaW5nUGFnZUlubm92YXRlQkNvbXBvbmVudCxcbiAgICAgICAgTGFuZGluZ1BhZ2VPdXJQcm9kdWN0c0JDb21wb25lbnQsXG4gICAgICAgIExhbmRpbmdQYWdlU2VydmljZXNCQ29tcG9uZW50LFxuICAgICAgICBMYW5kaW5nUGFnZVN1YnNjcmliZUJDb21wb25lbnQsXG4gICAgICAgIExhbmRpbmdQYWdlVGVhbUJDb21wb25lbnQsXG4gICAgICAgIExhbmRpbmdQYWdlVGVzdGltb25pYWxzQkNvbXBvbmVudCxcbiAgICAgICAgTWFpbkV4cGxhaW5lckJDb21wb25lbnQsXG4gICAgICAgIEdlb1RlbXBsYXRlQ29tcG9uZW50XG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIC8vIEV4cG9ydCBhbGwgbGFuZGluZyBwYWdlIGNvbXBvbmVudHNcblxuICAgICAgICAvLyBWZXJzaW9uIEEgY29tcG9uZW50c1xuICAgICAgICBMYW5kaW5nUGFnZUFib3V0VXNDb21wb25lbnQsXG4gICAgICAgIExhbmRpbmdQYWdlQmFubmVyQ29tcG9uZW50LFxuICAgICAgICBMYW5kaW5nUGFnZUNvbXBvbmVudCxcbiAgICAgICAgTGFuZGluZ1BhZ2VDaGFuZ2VBZGFwdENvbXBvbmVudCxcbiAgICAgICAgTGFuZGluZ1BhZ2VDb250YWN0Q29tcG9uZW50LFxuICAgICAgICBMYW5kaW5nUGFnZUZvb3RlckNvbXBvbmVudCxcbiAgICAgICAgTGFuZGluZ1BhZ2VIZWFkZXJDb21wb25lbnQsXG4gICAgICAgIExhbmRpbmdQYWdlSW5ub3ZhdGVDb21wb25lbnQsXG4gICAgICAgIExhbmRpbmdQYWdlT3VyUHJvZHVjdHNDb21wb25lbnQsXG4gICAgICAgIExhbmRpbmdQYWdlU2VydmljZXNDb21wb25lbnQsXG4gICAgICAgIExhbmRpbmdQYWdlU3Vic2NyaWJlQ29tcG9uZW50LFxuICAgICAgICBMYW5kaW5nUGFnZVRlYW1Db21wb25lbnQsXG4gICAgICAgIExhbmRpbmdQYWdlVGVzdGltb25pYWxzQ29tcG9uZW50LFxuICAgICAgICBNYWluRXhwbGFpbmVyQ29tcG9uZW50LFxuXG4gICAgICAgIC8vIFZlcnNpb24gQiBjb21wb25lbnRzXG4gICAgICAgIExhbmRpbmdQYWdlQWJvdXRVc0JDb21wb25lbnQsXG4gICAgICAgIExhbmRpbmdQYWdlQmFubmVyQkNvbXBvbmVudCxcbiAgICAgICAgTGFuZGluZ1BhZ2VDaGFuZ2VBZGFwdEJDb21wb25lbnQsXG4gICAgICAgIExhbmRpbmdQYWdlQ29udGFjdEJDb21wb25lbnQsXG4gICAgICAgIExhbmRpbmdQYWdlSGVhZGVyQkNvbXBvbmVudCxcbiAgICAgICAgTGFuZGluZ1BhZ2VJbm5vdmF0ZUJDb21wb25lbnQsXG4gICAgICAgIExhbmRpbmdQYWdlT3VyUHJvZHVjdHNCQ29tcG9uZW50LFxuICAgICAgICBMYW5kaW5nUGFnZVNlcnZpY2VzQkNvbXBvbmVudCxcbiAgICAgICAgTGFuZGluZ1BhZ2VTdWJzY3JpYmVCQ29tcG9uZW50LFxuICAgICAgICBMYW5kaW5nUGFnZVRlYW1CQ29tcG9uZW50LFxuICAgICAgICBMYW5kaW5nUGFnZVRlc3RpbW9uaWFsc0JDb21wb25lbnQsXG4gICAgICAgIE1haW5FeHBsYWluZXJCQ29tcG9uZW50LFxuXG4gICAgICAgIC8vIEFCIFRlc3RpbmcgYW5kIEdlbyBDb21wb25lbnRzXG4gICAgICAgIEdlb1RlbXBsYXRlQ29tcG9uZW50LFxuICAgICAgICBBYlRlc3RNb2R1bGUsXG5cbiAgICAgICAgLy8gUmUtZXhwb3J0IHNoYXJlZCBtb2R1bGVzIHNvIGNvbnN1bWVycyBnZXQgYWNjZXNzIHRvIHRoZW1cbiAgICAgICAgUm91dGVyTW9kdWxlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBMYW5kaW5nUGFnZVNoYXJlZENvbXBvbmVudHNNb2R1bGUge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBjb25zb2xlLmxvZygn8J+agCBMQU5ESU5HIFBBR0UgQ09NUE9ORU5UUyBNT0RVTEUgTE9BREVEISAtIE9wdGltaXplZCBsYW5kaW5nIHBhZ2UgYnVuZGxlJyk7XG4gICAgfVxufVxuIl19
@@ -1,88 +0,0 @@
1
- import { Component, Injector } from '@angular/core';
2
- import { UntypedFormBuilder, UntypedFormControl, Validators } from '@angular/forms';
3
- import { AppBaseComponent } from '@posiwise/app-base-component';
4
- import { AuthService, CommonService, FormHelperService, ValidationService } from '@posiwise/common-services';
5
- import swal from 'sweetalert2';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@posiwise/common-services";
8
- import * as i2 from "@angular/forms";
9
- export class BaseContactFormComponent extends AppBaseComponent {
10
- constructor(commonService, fb, authService, injector) {
11
- super(injector);
12
- this.commonService = commonService;
13
- this.fb = fb;
14
- this.authService = authService;
15
- this.isEmailValid = true;
16
- this.isCaptchaVerified = false;
17
- this.isSubscribeClicked = false;
18
- this.submitted = false;
19
- this.siteKey = '';
20
- this.recaptcha = null;
21
- this.masterProductId = this.appConfig.master_subscription.product_id;
22
- this.siteKey = this.appConfig.integrations.captcha_key_V2;
23
- }
24
- ngOnInit() {
25
- this.form = this.fb.group({
26
- name: new UntypedFormControl('', Validators.required),
27
- email: new UntypedFormControl('', [Validators.required, Validators.email]),
28
- subject: new UntypedFormControl(this.getDefaultSubject(), Validators.required),
29
- message: new UntypedFormControl('', Validators.required)
30
- });
31
- }
32
- onSubmit() {
33
- this.submitted = true;
34
- this.isSubscribeClicked = !!this.form.valid;
35
- }
36
- handleSuccess(reCaptchaRes) {
37
- if (reCaptchaRes && this.form.valid) {
38
- this.authService.validateReCaptcha(reCaptchaRes).subscribe((isSuccess) => {
39
- if (isSuccess) {
40
- const data = { ...this.form.value };
41
- const postData = {
42
- name: data.name,
43
- message: data.message,
44
- subject: data.subject,
45
- email: data.email,
46
- product_id: this.masterProductId
47
- };
48
- this.commonService.addContactUsMessage(postData).subscribe({
49
- next: response => {
50
- swal.fire(response.message);
51
- this.form.reset();
52
- // wait for 2s before removing captcha
53
- setTimeout(() => {
54
- this.isCaptchaVerified = false;
55
- this.isSubscribeClicked = false;
56
- this.submitted = false;
57
- }, 2000);
58
- },
59
- error: error => {
60
- this.toast.showToast(error);
61
- }
62
- });
63
- }
64
- });
65
- }
66
- else {
67
- FormHelperService.validateAllFormFields(this.form);
68
- }
69
- }
70
- validateEmail() {
71
- const email = this.form.get('email').value;
72
- if (email) {
73
- this.isEmailValid = ValidationService.email(email);
74
- }
75
- else {
76
- this.isEmailValid = true;
77
- }
78
- }
79
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: BaseContactFormComponent, deps: [{ token: i1.CommonService }, { token: i2.UntypedFormBuilder }, { token: i1.AuthService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
80
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: BaseContactFormComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
81
- }
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: BaseContactFormComponent, decorators: [{
83
- type: Component,
84
- args: [{
85
- template: ''
86
- }]
87
- }], ctorParameters: () => [{ type: i1.CommonService }, { type: i2.UntypedFormBuilder }, { type: i1.AuthService }, { type: i0.Injector }] });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb250YWN0LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wdWJsaWMtbW9kdWxlcy9zcmMvbGliL2xhbmRpbmctcGFnZXMvYmFzZS9iYXNlLWNvbnRhY3QtZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUNILGtCQUFrQixFQUNsQixrQkFBa0IsRUFFbEIsVUFBVSxFQUNiLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUNILFdBQVcsRUFDWCxhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNwQixNQUFNLDJCQUEyQixDQUFDO0FBRW5DLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQzs7OztBQUkvQixNQUFNLE9BQWdCLHdCQUF5QixTQUFRLGdCQUFnQjtJQWFuRSxZQUN1QixhQUE0QixFQUM1QixFQUFzQixFQUN0QixXQUF3QixFQUMzQyxRQUFrQjtRQUVsQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFMRyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUN0QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQWIvQyxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQzNCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFFakIsb0JBQWUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQztRQVM1RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDdEIsSUFBSSxFQUFFLElBQUksa0JBQWtCLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDckQsS0FBSyxFQUFFLElBQUksa0JBQWtCLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUUsT0FBTyxFQUFFLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUM5RSxPQUFPLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUMzRCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDaEQsQ0FBQztJQUVELGFBQWEsQ0FBQyxZQUFZO1FBQ3RCLElBQUksWUFBWSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFrQixFQUFFLEVBQUU7Z0JBQzlFLElBQUksU0FBUyxFQUFFLENBQUM7b0JBQ1osTUFBTSxJQUFJLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ3BDLE1BQU0sUUFBUSxHQUFHO3dCQUNiLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTt3QkFDZixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87d0JBQ3JCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTzt3QkFDckIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO3dCQUNqQixVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWU7cUJBQ25DLENBQUM7b0JBRUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUM7d0JBQ3ZELElBQUksRUFBRSxRQUFRLENBQUMsRUFBRTs0QkFDYixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQzs0QkFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQzs0QkFDbEIsc0NBQXNDOzRCQUN0QyxVQUFVLENBQUMsR0FBRyxFQUFFO2dDQUNaLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7Z0NBQy9CLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7Z0NBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDOzRCQUMzQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7d0JBQ2IsQ0FBQzt3QkFDRCxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUU7NEJBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ2hDLENBQUM7cUJBQ0osQ0FBQyxDQUFDO2dCQUNQLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7YUFBTSxDQUFDO1lBQ0osaUJBQWlCLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZELENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYTtRQUNULE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUMzQyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkQsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUM3QixDQUFDO0lBQ0wsQ0FBQzsrR0EvRWlCLHdCQUF3QjttR0FBeEIsd0JBQXdCLDJFQUZoQyxFQUFFOzs0RkFFTSx3QkFBd0I7a0JBSDdDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLEVBQUU7aUJBQ2YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIFVudHlwZWRGb3JtQ29udHJvbCxcbiAgICBVbnR5cGVkRm9ybUdyb3VwLFxuICAgIFZhbGlkYXRvcnNcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQge1xuICAgIEF1dGhTZXJ2aWNlLFxuICAgIENvbW1vblNlcnZpY2UsXG4gICAgRm9ybUhlbHBlclNlcnZpY2UsXG4gICAgVmFsaWRhdGlvblNlcnZpY2Vcbn0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi1zZXJ2aWNlcyc7XG5cbmltcG9ydCBzd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlQ29udGFjdEZvcm1Db21wb25lbnQgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gICAgaXNFbWFpbFZhbGlkID0gdHJ1ZTtcbiAgICBpc0NhcHRjaGFWZXJpZmllZCA9IGZhbHNlO1xuICAgIGlzU3Vic2NyaWJlQ2xpY2tlZCA9IGZhbHNlO1xuICAgIHN1Ym1pdHRlZCA9IGZhbHNlO1xuXG4gICAgc2l0ZUtleSA9ICcnO1xuICAgIHJlY2FwdGNoYSA9IG51bGw7XG5cbiAgICBtYXN0ZXJQcm9kdWN0SWQgPSB0aGlzLmFwcENvbmZpZy5tYXN0ZXJfc3Vic2NyaXB0aW9uLnByb2R1Y3RfaWQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbW1vblNlcnZpY2U6IENvbW1vblNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLnNpdGVLZXkgPSB0aGlzLmFwcENvbmZpZy5pbnRlZ3JhdGlvbnMuY2FwdGNoYV9rZXlfVjI7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgICAgbmFtZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgICAgICBlbWFpbDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdKSxcbiAgICAgICAgICAgIHN1YmplY3Q6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodGhpcy5nZXREZWZhdWx0U3ViamVjdCgpLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uU3VibWl0KCkge1xuICAgICAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuaXNTdWJzY3JpYmVDbGlja2VkID0gISF0aGlzLmZvcm0udmFsaWQ7XG4gICAgfVxuXG4gICAgaGFuZGxlU3VjY2VzcyhyZUNhcHRjaGFSZXMpIHtcbiAgICAgICAgaWYgKHJlQ2FwdGNoYVJlcyAmJiB0aGlzLmZvcm0udmFsaWQpIHtcbiAgICAgICAgICAgIHRoaXMuYXV0aFNlcnZpY2UudmFsaWRhdGVSZUNhcHRjaGEocmVDYXB0Y2hhUmVzKS5zdWJzY3JpYmUoKGlzU3VjY2VzczogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpc1N1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IHsgLi4udGhpcy5mb3JtLnZhbHVlIH07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvc3REYXRhID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogZGF0YS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogZGF0YS5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3ViamVjdDogZGF0YS5zdWJqZWN0LFxuICAgICAgICAgICAgICAgICAgICAgICAgZW1haWw6IGRhdGEuZW1haWwsXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9kdWN0X2lkOiB0aGlzLm1hc3RlclByb2R1Y3RJZFxuICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tbW9uU2VydmljZS5hZGRDb250YWN0VXNNZXNzYWdlKHBvc3REYXRhKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV4dDogcmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3YWwuZmlyZShyZXNwb25zZS5tZXNzYWdlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB3YWl0IGZvciAycyBiZWZvcmUgcmVtb3ZpbmcgY2FwdGNoYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQ2FwdGNoYVZlcmlmaWVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTdWJzY3JpYmVDbGlja2VkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3VibWl0dGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgMjAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0LnNob3dUb2FzdChlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgRm9ybUhlbHBlclNlcnZpY2UudmFsaWRhdGVBbGxGb3JtRmllbGRzKHRoaXMuZm9ybSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB2YWxpZGF0ZUVtYWlsKCkge1xuICAgICAgICBjb25zdCBlbWFpbCA9IHRoaXMuZm9ybS5nZXQoJ2VtYWlsJykudmFsdWU7XG4gICAgICAgIGlmIChlbWFpbCkge1xuICAgICAgICAgICAgdGhpcy5pc0VtYWlsVmFsaWQgPSBWYWxpZGF0aW9uU2VydmljZS5lbWFpbChlbWFpbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmlzRW1haWxWYWxpZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBYnN0cmFjdCBtZXRob2RzIHRoYXQgZWFjaCBjb21wb25lbnQgbXVzdCBpbXBsZW1lbnRcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0RGVmYXVsdFN1YmplY3QoKTogc3RyaW5nO1xufVxuIl19
@@ -1,30 +0,0 @@
1
- import { Component, Injector } from '@angular/core';
2
- import { AppBaseComponent } from '@posiwise/app-base-component';
3
- import { AuthService } from '@posiwise/common-services';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@posiwise/common-services";
6
- export class BaseLandingPageComponent extends AppBaseComponent {
7
- constructor(authService, injector) {
8
- super(injector);
9
- this.authService = authService;
10
- this.landing = false;
11
- this.masterProductId = this.appConfig.master_subscription.product_id;
12
- }
13
- ngOnInit() {
14
- // Redirect user to the home if its already logged in
15
- this.authService.getToken$().subscribe(tok => {
16
- if (tok && typeof tok === 'string') {
17
- this.router.navigate(['home']);
18
- }
19
- });
20
- }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: BaseLandingPageComponent, deps: [{ token: i1.AuthService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: BaseLandingPageComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
23
- }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: BaseLandingPageComponent, decorators: [{
25
- type: Component,
26
- args: [{
27
- template: ''
28
- }]
29
- }], ctorParameters: () => [{ type: i1.AuthService }, { type: i0.Injector }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1sYW5kaW5nLXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wdWJsaWMtbW9kdWxlcy9zcmMvbGliL2xhbmRpbmctcGFnZXMvYmFzZS9iYXNlLWxhbmRpbmctcGFnZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFJeEQsTUFBTSxPQUFnQix3QkFBeUIsU0FBUSxnQkFBZ0I7SUFNbkUsWUFDdUIsV0FBd0IsRUFDM0MsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBSEcsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFKL0MsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixvQkFBZSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDO0lBT2hFLENBQUM7SUFFRCxRQUFRO1FBQ0oscURBQXFEO1FBQ3JELElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3pDLElBQUksR0FBRyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDbkMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0FwQmlCLHdCQUF3QjttR0FBeEIsd0JBQXdCLDJFQUZoQyxFQUFFOzs0RkFFTSx3QkFBd0I7a0JBSDdDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLEVBQUU7aUJBQ2YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXNlcnZpY2VzJztcbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTGFuZGluZ1BhZ2VDb21wb25lbnQgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBzdWJqZWN0OiBzdHJpbmc7XG4gICAgcHJvZHVjdEtleTogc3RyaW5nO1xuICAgIGxhbmRpbmcgPSBmYWxzZTtcbiAgICBtYXN0ZXJQcm9kdWN0SWQgPSB0aGlzLmFwcENvbmZpZy5tYXN0ZXJfc3Vic2NyaXB0aW9uLnByb2R1Y3RfaWQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgLy8gUmVkaXJlY3QgdXNlciB0byB0aGUgaG9tZSBpZiBpdHMgYWxyZWFkeSBsb2dnZWQgaW5cbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRUb2tlbiQoKS5zdWJzY3JpYmUodG9rID0+IHtcbiAgICAgICAgICAgIGlmICh0b2sgJiYgdHlwZW9mIHRvayA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ2hvbWUnXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEFic3RyYWN0IG1ldGhvZHMgdGhhdCBlYWNoIGNvbXBvbmVudCBtdXN0IGltcGxlbWVudFxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRTdWJqZWN0KCk6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0UHJvZHVjdEtleSgpOiBzdHJpbmc7XG59XG4iXX0=