tango-app-ui-shared 3.3.1-beta.9 → 3.3.1-beta.91

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 (62) hide show
  1. package/esm2022/lib/guards/stores.guard.mjs +5 -5
  2. package/esm2022/lib/guards/tickets.guard.mjs +5 -5
  3. package/esm2022/lib/modules/common/filters/filters.component.mjs +2 -2
  4. package/esm2022/lib/modules/intro/lead-intro/lead-intro.component.mjs +13 -8
  5. package/esm2022/lib/modules/layout/header/header-menu/header-menu.component.mjs +3 -3
  6. package/esm2022/lib/modules/layout/header/header.component.mjs +2 -2
  7. package/esm2022/lib/modules/layout/header/navbar/navbar.component.mjs +6 -3
  8. package/esm2022/lib/modules/layout/header/page-title/page-title.component.mjs +2 -1
  9. package/esm2022/lib/modules/layout/layout/layout.component.mjs +24 -4
  10. package/esm2022/lib/modules/layout/layout.module.mjs +18 -3
  11. package/esm2022/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.mjs +43 -16
  12. package/esm2022/lib/modules/layout/toolbar/client-settings/client-settings.component.mjs +8 -2
  13. package/esm2022/lib/modules/layout/toolbar/date-single-select/date-single-select.component.mjs +33 -9
  14. package/esm2022/lib/modules/layout/toolbar/datepicker/datepicker.component.mjs +11 -6
  15. package/esm2022/lib/modules/layout/toolbar/single-store/single-store.component.mjs +41 -12
  16. package/esm2022/lib/modules/layout/toolbar/single-storedate/single-storedate.component.mjs +130 -0
  17. package/esm2022/lib/modules/layout/toolbar/storesingle/storesingle.component.mjs +105 -0
  18. package/esm2022/lib/modules/layout/toolbar/toolbar.component.mjs +93 -22
  19. package/esm2022/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.mjs +265 -138
  20. package/esm2022/lib/modules/layout/toolbar/traffic-nob/traffic-nob.component.mjs +795 -0
  21. package/esm2022/lib/modules/layout/toolbar/trax-header/trax-header.component.mjs +867 -0
  22. package/esm2022/lib/modules/layout/toolbar/trax-withoutdate/trax-withoutdate.component.mjs +729 -0
  23. package/esm2022/lib/modules/notification/conformation/conformation.component.mjs +22 -0
  24. package/esm2022/lib/modules/notification/notification/notification.component.mjs +161 -22
  25. package/esm2022/lib/modules/notification/notification-routing.module.mjs +5 -1
  26. package/esm2022/lib/modules/notification/notification.module.mjs +6 -3
  27. package/esm2022/lib/routes/route-wraper-modules/edge-wrapper.module.mjs +1 -1
  28. package/esm2022/lib/services/auth.service.mjs +8 -6
  29. package/esm2022/lib/services/notification.service.mjs +9 -1
  30. package/fesm2022/tango-app-ui-shared-edge-wrapper.module-CFDk0tvS.mjs.map +1 -1
  31. package/fesm2022/{tango-app-ui-shared-intro.module-CZdX0CkN.mjs → tango-app-ui-shared-intro.module-DYh4ZRha.mjs} +14 -9
  32. package/fesm2022/tango-app-ui-shared-intro.module-DYh4ZRha.mjs.map +1 -0
  33. package/fesm2022/tango-app-ui-shared-manage-wrapper.module-BHyh4Njw.mjs.map +1 -1
  34. package/fesm2022/tango-app-ui-shared-notification.module-C5ZmCf8U.mjs +400 -0
  35. package/fesm2022/tango-app-ui-shared-notification.module-C5ZmCf8U.mjs.map +1 -0
  36. package/fesm2022/tango-app-ui-shared-profile-wrapper.module-BNC1AGOk.mjs.map +1 -1
  37. package/fesm2022/tango-app-ui-shared-store-wrapper.module-DdaCYHdv.mjs.map +1 -1
  38. package/fesm2022/tango-app-ui-shared-ticket-wrapper.module-r32uKkDO.mjs.map +1 -1
  39. package/fesm2022/tango-app-ui-shared.mjs +3251 -348
  40. package/fesm2022/tango-app-ui-shared.mjs.map +1 -1
  41. package/lib/modules/intro/lead-intro/lead-intro.component.d.ts +4 -1
  42. package/lib/modules/layout/header/navbar/navbar.component.d.ts +1 -0
  43. package/lib/modules/layout/layout/layout.component.d.ts +3 -0
  44. package/lib/modules/layout/layout.module.d.ts +15 -10
  45. package/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.d.ts +2 -0
  46. package/lib/modules/layout/toolbar/single-store/single-store.component.d.ts +11 -4
  47. package/lib/modules/layout/toolbar/single-storedate/single-storedate.component.d.ts +30 -0
  48. package/lib/modules/layout/toolbar/storesingle/storesingle.component.d.ts +24 -0
  49. package/lib/modules/layout/toolbar/toolbar.component.d.ts +7 -1
  50. package/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.d.ts +5 -1
  51. package/lib/modules/layout/toolbar/traffic-nob/traffic-nob.component.d.ts +80 -0
  52. package/lib/modules/layout/toolbar/trax-header/trax-header.component.d.ts +82 -0
  53. package/lib/modules/layout/toolbar/trax-withoutdate/trax-withoutdate.component.d.ts +74 -0
  54. package/lib/modules/notification/conformation/conformation.component.d.ts +10 -0
  55. package/lib/modules/notification/notification/notification.component.d.ts +21 -3
  56. package/lib/modules/notification/notification.module.d.ts +5 -4
  57. package/lib/services/auth.service.d.ts +1 -0
  58. package/lib/services/notification.service.d.ts +3 -0
  59. package/package.json +1 -1
  60. package/fesm2022/tango-app-ui-shared-intro.module-CZdX0CkN.mjs.map +0 -1
  61. package/fesm2022/tango-app-ui-shared-notification.module-CbWXIyly.mjs +0 -238
  62. package/fesm2022/tango-app-ui-shared-notification.module-CbWXIyly.mjs.map +0 -1
@@ -7,22 +7,24 @@ import * as i0 from "@angular/core";
7
7
  import * as i1 from "tango-app-ui-global";
8
8
  import * as i2 from "@ng-bootstrap/ng-bootstrap";
9
9
  import * as i3 from "../../../services/auth.service";
10
- import * as i4 from "@angular/common";
11
- import * as i5 from "@angular/router";
10
+ import * as i4 from "@angular/router";
11
+ import * as i5 from "@angular/common";
12
12
  export class LeadIntroComponent {
13
13
  pageInfo;
14
14
  gs;
15
15
  modalService;
16
16
  authService;
17
+ router;
17
18
  productList = [];
18
19
  destroy$ = new Subject();
19
20
  trialDetails;
20
21
  dayjs = dayjs;
21
- constructor(pageInfo, gs, config, modalService, authService) {
22
+ constructor(pageInfo, gs, config, modalService, authService, router) {
22
23
  this.pageInfo = pageInfo;
23
24
  this.gs = gs;
24
25
  this.modalService = modalService;
25
26
  this.authService = authService;
27
+ this.router = router;
26
28
  this.gs.userAccess.pipe(takeUntil(this.destroy$)).subscribe((e) => {
27
29
  if (e && e?.userType === "lead") {
28
30
  const user = JSON.parse(localStorage.getItem('user-info'));
@@ -95,11 +97,14 @@ export class LeadIntroComponent {
95
97
  percentageText.textContent = `${percentage}%`;
96
98
  }
97
99
  }
98
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LeadIntroComponent, deps: [{ token: i1.PageInfoService }, { token: i1.GlobalStateService }, { token: i2.NgbCarouselConfig }, { token: i2.NgbModal }, { token: i3.AuthService }], target: i0.ɵɵFactoryTarget.Component });
99
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LeadIntroComponent, selector: "lib-lead-intro", providers: [NgbCarouselConfig], ngImport: i0, template: "<div *ngIf=\"(gs.userAccess | async)?.userType === 'lead'\" class=\"approvalcard mt-4 mb-5\">\r\n <div class=\"d-flex align-items-center justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-30px me-5\"><span>\r\n <img src=\"./assets/tango/custompopup-Icons/danger-icon.svg\" alt=\"\">\r\n </span>\r\n </div>\r\n <div class=\"approvaltext align-items-start justify-content-between\">\r\n Your Approval is in pending !\r\n <div class=\"approvesub d-block\">Can\u2019t find the answer you\u2019re looking for? Please chat to our friendly\r\n team.</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <a (click)=\"contactSupport()\" type=\"button\" tabindex=\"0\"\r\n class=\"btn btn-primary px-4 ng-star-inserted\"><span>Contact Us\r\n </span></a>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" class=\"toastcard mb-5\">\r\n <div class=\"d-flex align-items-center justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-30px me-5\"><span>\r\n <img src=\"./assets/tango/custompopup-Icons/danger-alert-primary.svg\" alt=\"\">\r\n </span>\r\n </div>\r\n <span class=\"toasttext d-block\">Your trial has started. You have {{trialDetails?.daysRemaining}} days left\r\n on your free trial</span>\r\n </div>\r\n <div class=\"row mt-1\">\r\n <div class=\"d-flex align-items-center\">\r\n <div><svg id=\"circle-chart\" width=\"94\" height=\"70\" viewBox=\"0 0 100 100\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n\r\n <circle cx=\"50\" cy=\"50\" r=\"40\" fill=\"none\" stroke=\"#f0f0f0\" stroke-width=\"8\">\r\n </circle>\r\n\r\n <circle id=\"progress-circle\" cx=\"50\" cy=\"50\" r=\"40\" fill=\"none\" stroke=\"#007bff\"\r\n stroke-width=\"8\" stroke-dasharray=\"251.2\"\r\n [attr.stroke-dashoffset]=\"updateCircleChart(trialDetails?.percentageRemaining)\">\r\n </circle>\r\n\r\n <text id=\"percentage-text\" x=\"50\" y=\"54\" class=\"producttext\" text-anchor=\"middle\"\r\n fill=\"#333333\">{{trialDetails?.percentageRemaining}}%</text>\r\n </svg></div>\r\n <div class=\"align-items-start justify-content-between daysleft my-2\">\r\n {{trialDetails?.daysRemaining}} Days Left\r\n <div class=\"align-items-start trail\">\r\n Free trial</div>\r\n </div>\r\n </div>\r\n <div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ngb-carousel #carousel [interval]=\"4000\" [pauseOnHover]=\"true\">\r\n <ng-container *ngFor=\"let item of productList\">\r\n <ng-container *ngIf=\"item === 'tangoTrax'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoTrax.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Trax! \uD83D\uDC4B\r\n </div>\r\n <span class=\"sub\">\r\n Revolutionising Operations with AI powered SOPs\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Onboard Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Effortlessly add and manage your\r\n stores,ensuring a smooth onboarding process.\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Customize SOP Checklists</span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily create and configure SOP\r\n checklists\r\n tailored to your specific needs.</div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Gain Insights Dashboard </span>\r\n <div class=\"align-items-start card-sub mx-14\">Generate detailed reports and\r\n visualize\r\n checklist compliance data through an intuitive dashboard, enabling you to make\r\n informed decisions cand enhance operational efficiency.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" routerLink=\"/manage\" type=\"button\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"item === 'tangoZone'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoZone.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Zone! \uD83D\uDC4B\r\n </div>\r\n <span class=\"sub\">\r\n Identify Hot Spots & Dead Zones of the store\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Choose Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Select Stores where you want to\r\n identify\r\n the\r\n hot spots and dead zones\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Tag Zones </span>\r\n <div class=\"align-items-start card-sub mx-14\">Tag different sections or zones within\r\n each\r\n store and label them according to your operational needs.</div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Gain Insights </span>\r\n <div class=\"align-items-start card-sub mx-14\">Generate detailed reports and\r\n visualize\r\n zone-specific data such as traffic, dwell time, demographics, and heatmaps.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" type=\"button\" routerLink=\"/manage\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"item === 'tangoTraffic'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoTraffic.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Traffic! \uD83D\uDC4B\r\n </div>\r\n <span class=\"sub\">\r\n Measure In-Store Traffic & Shopper Insights\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Onboard Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily add and manage stores with just\r\n a\r\n few\r\n clicks on the dashboard\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Visualise Data </span>\r\n <div class=\"align-items-start card-sub mx-14\">View intelligent insights including\r\n traffic\r\n patterns, dwell times, demographics enabling you to make informed decisions.\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Manage Tickets </span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily track and resolve your support\r\n tickets\r\n for prompt and efficient service.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" type=\"button\" routerLink=\"/manage\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n\r\n</ngb-carousel>", styles: [".heading{color:var(--Black, #101828);font-size:24px;font-style:normal;font-weight:600;line-height:32px}.sub{color:var(--Black, #101828);font-family:Inter;font-size:12px;font-weight:500!important;line-height:18px}.card-label{color:var(--gray-900, #101828);font-family:Inter;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.card-sub{color:var(--gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.cardimg{width:500px;height:300px}::ng-deep .carousel-indicators [data-bs-target]{flex:0 1 auto;width:8px;height:8px;padding:0;cursor:pointer;background-color:#009bf3!important;border-radius:4px;transition:opacity .6s ease;margin-bottom:10px;border:0px}.toastcard{border-left:2px solid #00A3FF;background:#fff;box-shadow:0 4px 16px #0000001a;padding:6px 12px 6px 16px;align-items:center;gap:16px;align-self:stretch;border-radius:4px}.overflow{overflow-x:scroll}.toasttext{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:140%}.needhelp{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);color:var(--Gray-700, #344054)!important;font-size:16px;font-weight:600!important;text-transform:capitalize}.daysleft{color:var(--Gray-800, #1D2939);font-family:Inter;font-size:16px;font-style:normal;font-weight:500;line-height:32px}.trail{color:var(--Gray-500, #667085);font-size:14px;font-weight:600;line-height:28px}.producttext{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.productitem{right:545px!important}.approvalcard{border-radius:12px;border:1px dashed var(--Warning-500, #F79009);background:var(--Warning-25, #FFFCF5);padding:16px 24px}.approvaltext{color:var(--Gray-900, #101828);font-size:20px;font-style:normal;font-weight:500;line-height:30px}.approvesub{color:var(--Gray-500, #667085);font-size:18px;font-style:normal;font-weight:400;line-height:28px}\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: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i2.NgbCarousel, selector: "ngb-carousel", inputs: ["animation", "activeId", "interval", "wrap", "keyboard", "pauseOnHover", "pauseOnFocus", "showNavigationArrows", "showNavigationIndicators"], outputs: ["slide", "slid"], exportAs: ["ngbCarousel"] }, { kind: "directive", type: i2.NgbSlide, selector: "ng-template[ngbSlide]", inputs: ["id"], outputs: ["slid"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
100
+ reDirectionUrl() {
101
+ this.router.navigateByUrl('/manage/summary');
102
+ }
103
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LeadIntroComponent, deps: [{ token: i1.PageInfoService }, { token: i1.GlobalStateService }, { token: i2.NgbCarouselConfig }, { token: i2.NgbModal }, { token: i3.AuthService }, { token: i4.Router }], target: i0.ɵɵFactoryTarget.Component });
104
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LeadIntroComponent, selector: "lib-lead-intro", providers: [NgbCarouselConfig], ngImport: i0, template: "<div *ngIf=\"(gs.userAccess | async)?.userType === 'lead'\" class=\"approvalcard mt-4 mb-5\">\r\n <div class=\"d-flex align-items-center justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-30px me-5\"><span>\r\n <img src=\"./assets/tango/custompopup-Icons/danger-icon.svg\" alt=\"\">\r\n </span>\r\n </div>\r\n <div class=\"approvaltext align-items-start justify-content-between\">\r\n Your Approval is in pending !\r\n <div class=\"approvesub d-block\">Can\u2019t find the answer you\u2019re looking for? Please chat to our friendly\r\n team.</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <a (click)=\"contactSupport()\" type=\"button\" tabindex=\"0\"\r\n class=\"btn btn-primary px-4 ng-star-inserted\"><span>Contact Us\r\n </span></a>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" class=\"toastcard mb-5\">\r\n <div class=\"d-flex align-items-center justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-30px me-5\"><span>\r\n <img src=\"./assets/tango/custompopup-Icons/danger-alert-primary.svg\" alt=\"\">\r\n </span>\r\n </div>\r\n <span class=\"toasttext d-block\">Your trial has started. You have {{trialDetails?.daysRemaining}} days left\r\n on your free trial</span>\r\n </div>\r\n <div class=\"row mt-1\">\r\n <div class=\"d-flex align-items-center\">\r\n <div><svg id=\"circle-chart\" width=\"94\" height=\"70\" viewBox=\"0 0 100 100\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n\r\n <circle cx=\"50\" cy=\"50\" r=\"40\" fill=\"none\" stroke=\"#f0f0f0\" stroke-width=\"8\">\r\n </circle>\r\n\r\n <circle id=\"progress-circle\" cx=\"50\" cy=\"50\" r=\"40\" fill=\"none\" stroke=\"#007bff\"\r\n stroke-width=\"8\" stroke-dasharray=\"251.2\"\r\n [attr.stroke-dashoffset]=\"updateCircleChart(trialDetails?.percentageRemaining)\">\r\n </circle>\r\n\r\n <text id=\"percentage-text\" x=\"50\" y=\"54\" class=\"producttext\" text-anchor=\"middle\"\r\n fill=\"#333333\">{{trialDetails?.percentageRemaining}}%</text>\r\n </svg></div>\r\n <div class=\"align-items-start justify-content-between daysleft my-2\">\r\n {{trialDetails?.daysRemaining}} Days Left\r\n <div class=\"align-items-start trail\">\r\n Free trial</div>\r\n </div>\r\n </div>\r\n <div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ngb-carousel #carousel [interval]=\"4000\" [pauseOnHover]=\"true\">\r\n <ng-container *ngFor=\"let item of productList\">\r\n <ng-container *ngIf=\"item === 'tangoTrax'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoTrax.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Trax! \uD83D\uDC4B\r\n </div>\r\n <span class=\"sub\">\r\n Revolutionising Operations with AI powered SOPs\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Onboard Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Effortlessly add and manage your\r\n stores,ensuring a smooth onboarding process.\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Customize SOP Checklists</span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily create and configure SOP\r\n checklists\r\n tailored to your specific needs.</div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Gain Insights Dashboard </span>\r\n <div class=\"align-items-start card-sub mx-14\">Generate detailed reports and\r\n visualize\r\n checklist compliance data through an intuitive dashboard, enabling you to make\r\n informed decisions cand enhance operational efficiency.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" type=\"button\" routerLink=\"/manage/summary\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngIf=\"item === 'tangoZone'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoZone.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Zone! \uD83D\uDC4B\r\n </div>\r\n <span class=\"sub\">\r\n Identify Hot Spots & Dead Zones of the store\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Choose Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Select Stores where you want to\r\n identify\r\n the\r\n hot spots and dead zones\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Tag Zones </span>\r\n <div class=\"align-items-start card-sub mx-14\">Tag different sections or zones within\r\n each\r\n store and label them according to your operational needs.</div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Gain Insights </span>\r\n <div class=\"align-items-start card-sub mx-14\">Generate detailed reports and\r\n visualize\r\n zone-specific data such as traffic, dwell time, demographics, and heatmaps.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" type=\"button\" routerLink=\"/manage/summary\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"item === 'tangoTraffic'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoTraffic.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Traffic! \uD83D\uDC4B\r\n </div>\r\n <span class=\"sub\">\r\n Measure In-Store Traffic & Shopper Insights\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Onboard Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily add and manage stores with just\r\n a\r\n few\r\n clicks on the dashboard\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Visualise Data </span>\r\n <div class=\"align-items-start card-sub mx-14\">View intelligent insights including\r\n traffic\r\n patterns, dwell times, demographics enabling you to make informed decisions.\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Manage Tickets </span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily track and resolve your support\r\n tickets\r\n for prompt and efficient service.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" type=\"button\" routerLink=\"/manage/summary\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n\r\n</ngb-carousel>", styles: [".heading{color:var(--Black, #101828);font-size:24px;font-style:normal;font-weight:600;line-height:32px}.sub{color:var(--Black, #101828);font-family:Inter;font-size:12px;font-weight:500!important;line-height:18px}.card-label{color:var(--gray-900, #101828);font-family:Inter;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.card-sub{color:var(--gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.cardimg{width:500px;height:300px}::ng-deep .carousel-indicators [data-bs-target]{flex:0 1 auto;width:8px;height:8px;padding:0;cursor:pointer;background-color:#009bf3!important;border-radius:4px;transition:opacity .6s ease;margin-bottom:10px;border:0px}.toastcard{border-left:2px solid #00A3FF;background:#fff;box-shadow:0 4px 16px #0000001a;padding:6px 12px 6px 16px;align-items:center;gap:16px;align-self:stretch;border-radius:4px}.overflow{overflow-x:scroll}.toasttext{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:140%}.needhelp{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);color:var(--Gray-700, #344054)!important;font-size:16px;font-weight:600!important;text-transform:capitalize}.daysleft{color:var(--Gray-800, #1D2939);font-family:Inter;font-size:16px;font-style:normal;font-weight:500;line-height:32px}.trail{color:var(--Gray-500, #667085);font-size:14px;font-weight:600;line-height:28px}.producttext{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.productitem{right:545px!important}.approvalcard{border-radius:12px;border:1px dashed var(--Warning-500, #F79009);background:var(--Warning-25, #FFFCF5);padding:16px 24px}.approvaltext{color:var(--Gray-900, #101828);font-size:20px;font-style:normal;font-weight:500;line-height:30px}.approvesub{color:var(--Gray-500, #667085);font-size:18px;font-style:normal;font-weight:400;line-height:28px}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i2.NgbCarousel, selector: "ngb-carousel", inputs: ["animation", "activeId", "interval", "wrap", "keyboard", "pauseOnHover", "pauseOnFocus", "showNavigationArrows", "showNavigationIndicators"], outputs: ["slide", "slid"], exportAs: ["ngbCarousel"] }, { kind: "directive", type: i2.NgbSlide, selector: "ng-template[ngbSlide]", inputs: ["id"], outputs: ["slid"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] });
100
105
  }
101
106
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LeadIntroComponent, decorators: [{
102
107
  type: Component,
103
- args: [{ selector: 'lib-lead-intro', providers: [NgbCarouselConfig], template: "<div *ngIf=\"(gs.userAccess | async)?.userType === 'lead'\" class=\"approvalcard mt-4 mb-5\">\r\n <div class=\"d-flex align-items-center justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-30px me-5\"><span>\r\n <img src=\"./assets/tango/custompopup-Icons/danger-icon.svg\" alt=\"\">\r\n </span>\r\n </div>\r\n <div class=\"approvaltext align-items-start justify-content-between\">\r\n Your Approval is in pending !\r\n <div class=\"approvesub d-block\">Can\u2019t find the answer you\u2019re looking for? Please chat to our friendly\r\n team.</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <a (click)=\"contactSupport()\" type=\"button\" tabindex=\"0\"\r\n class=\"btn btn-primary px-4 ng-star-inserted\"><span>Contact Us\r\n </span></a>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" class=\"toastcard mb-5\">\r\n <div class=\"d-flex align-items-center justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-30px me-5\"><span>\r\n <img src=\"./assets/tango/custompopup-Icons/danger-alert-primary.svg\" alt=\"\">\r\n </span>\r\n </div>\r\n <span class=\"toasttext d-block\">Your trial has started. You have {{trialDetails?.daysRemaining}} days left\r\n on your free trial</span>\r\n </div>\r\n <div class=\"row mt-1\">\r\n <div class=\"d-flex align-items-center\">\r\n <div><svg id=\"circle-chart\" width=\"94\" height=\"70\" viewBox=\"0 0 100 100\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n\r\n <circle cx=\"50\" cy=\"50\" r=\"40\" fill=\"none\" stroke=\"#f0f0f0\" stroke-width=\"8\">\r\n </circle>\r\n\r\n <circle id=\"progress-circle\" cx=\"50\" cy=\"50\" r=\"40\" fill=\"none\" stroke=\"#007bff\"\r\n stroke-width=\"8\" stroke-dasharray=\"251.2\"\r\n [attr.stroke-dashoffset]=\"updateCircleChart(trialDetails?.percentageRemaining)\">\r\n </circle>\r\n\r\n <text id=\"percentage-text\" x=\"50\" y=\"54\" class=\"producttext\" text-anchor=\"middle\"\r\n fill=\"#333333\">{{trialDetails?.percentageRemaining}}%</text>\r\n </svg></div>\r\n <div class=\"align-items-start justify-content-between daysleft my-2\">\r\n {{trialDetails?.daysRemaining}} Days Left\r\n <div class=\"align-items-start trail\">\r\n Free trial</div>\r\n </div>\r\n </div>\r\n <div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ngb-carousel #carousel [interval]=\"4000\" [pauseOnHover]=\"true\">\r\n <ng-container *ngFor=\"let item of productList\">\r\n <ng-container *ngIf=\"item === 'tangoTrax'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoTrax.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Trax! \uD83D\uDC4B\r\n </div>\r\n <span class=\"sub\">\r\n Revolutionising Operations with AI powered SOPs\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Onboard Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Effortlessly add and manage your\r\n stores,ensuring a smooth onboarding process.\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Customize SOP Checklists</span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily create and configure SOP\r\n checklists\r\n tailored to your specific needs.</div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Gain Insights Dashboard </span>\r\n <div class=\"align-items-start card-sub mx-14\">Generate detailed reports and\r\n visualize\r\n checklist compliance data through an intuitive dashboard, enabling you to make\r\n informed decisions cand enhance operational efficiency.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" routerLink=\"/manage\" type=\"button\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"item === 'tangoZone'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoZone.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Zone! \uD83D\uDC4B\r\n </div>\r\n <span class=\"sub\">\r\n Identify Hot Spots & Dead Zones of the store\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Choose Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Select Stores where you want to\r\n identify\r\n the\r\n hot spots and dead zones\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Tag Zones </span>\r\n <div class=\"align-items-start card-sub mx-14\">Tag different sections or zones within\r\n each\r\n store and label them according to your operational needs.</div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Gain Insights </span>\r\n <div class=\"align-items-start card-sub mx-14\">Generate detailed reports and\r\n visualize\r\n zone-specific data such as traffic, dwell time, demographics, and heatmaps.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" type=\"button\" routerLink=\"/manage\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"item === 'tangoTraffic'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoTraffic.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Traffic! \uD83D\uDC4B\r\n </div>\r\n <span class=\"sub\">\r\n Measure In-Store Traffic & Shopper Insights\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Onboard Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily add and manage stores with just\r\n a\r\n few\r\n clicks on the dashboard\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Visualise Data </span>\r\n <div class=\"align-items-start card-sub mx-14\">View intelligent insights including\r\n traffic\r\n patterns, dwell times, demographics enabling you to make informed decisions.\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Manage Tickets </span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily track and resolve your support\r\n tickets\r\n for prompt and efficient service.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" type=\"button\" routerLink=\"/manage\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n\r\n</ngb-carousel>", styles: [".heading{color:var(--Black, #101828);font-size:24px;font-style:normal;font-weight:600;line-height:32px}.sub{color:var(--Black, #101828);font-family:Inter;font-size:12px;font-weight:500!important;line-height:18px}.card-label{color:var(--gray-900, #101828);font-family:Inter;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.card-sub{color:var(--gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.cardimg{width:500px;height:300px}::ng-deep .carousel-indicators [data-bs-target]{flex:0 1 auto;width:8px;height:8px;padding:0;cursor:pointer;background-color:#009bf3!important;border-radius:4px;transition:opacity .6s ease;margin-bottom:10px;border:0px}.toastcard{border-left:2px solid #00A3FF;background:#fff;box-shadow:0 4px 16px #0000001a;padding:6px 12px 6px 16px;align-items:center;gap:16px;align-self:stretch;border-radius:4px}.overflow{overflow-x:scroll}.toasttext{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:140%}.needhelp{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);color:var(--Gray-700, #344054)!important;font-size:16px;font-weight:600!important;text-transform:capitalize}.daysleft{color:var(--Gray-800, #1D2939);font-family:Inter;font-size:16px;font-style:normal;font-weight:500;line-height:32px}.trail{color:var(--Gray-500, #667085);font-size:14px;font-weight:600;line-height:28px}.producttext{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.productitem{right:545px!important}.approvalcard{border-radius:12px;border:1px dashed var(--Warning-500, #F79009);background:var(--Warning-25, #FFFCF5);padding:16px 24px}.approvaltext{color:var(--Gray-900, #101828);font-size:20px;font-style:normal;font-weight:500;line-height:30px}.approvesub{color:var(--Gray-500, #667085);font-size:18px;font-style:normal;font-weight:400;line-height:28px}\n"] }]
104
- }], ctorParameters: () => [{ type: i1.PageInfoService }, { type: i1.GlobalStateService }, { type: i2.NgbCarouselConfig }, { type: i2.NgbModal }, { type: i3.AuthService }] });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZC1pbnRyby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9pbnRyby9sZWFkLWludHJvL2xlYWQtaW50cm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL21vZHVsZXMvaW50cm8vbGVhZC1pbnRyby9sZWFkLWludHJvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBWSxNQUFNLDRCQUE0QixDQUFDO0FBRXpFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3ZGLE9BQVEsS0FBSyxNQUFNLE9BQU8sQ0FBQzs7Ozs7OztBQVEzQixNQUFNLE9BQU8sa0JBQWtCO0lBUVQ7SUFBa0M7SUFBMkQ7SUFBZ0M7SUFQakosV0FBVyxHQUFRLEVBQUUsQ0FBQztJQUNMLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzFDLFlBQVksQ0FBSTtJQUNoQixLQUFLLEdBQUcsS0FBSyxDQUFBO0lBSWIsWUFBb0IsUUFBeUIsRUFBUyxFQUFzQixFQUFFLE1BQXlCLEVBQVUsWUFBc0IsRUFBVSxXQUF3QjtRQUFySixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUFTLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQXFDLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDdkssSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FB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QUcsYUFBYSxHQUFHLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxHQUFHLGFBQWEsQ0FBQztZQUV0RSxjQUFjLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3RFLGNBQWMsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFFeEUsY0FBYyxDQUFDLFdBQVcsR0FBRyxHQUFHLFVBQVUsR0FBRyxDQUFDO1NBQy9DO0lBQ0gsQ0FBQzt3R0FsR1Usa0JBQWtCOzRGQUFsQixrQkFBa0IseUNBRmxCLENBQUMsaUJBQWlCLENBQUMsMEJDWmhDLDJ1ckJBcVVlOzs0RkR2VEYsa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLGdCQUFnQixhQUdmLENBQUMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSwgUGFnZUluZm9TZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IE5nYkNhcm91c2VsQ29uZmlnLCBOZ2JNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb250YWN0U3VwcG9ydENvbXBvbmVudCB9IGZyb20gJy4uL2NvbnRhY3Qtc3VwcG9ydC9jb250YWN0LXN1cHBvcnQuY29tcG9uZW50JztcclxuaW1wb3J0ICBkYXlqcyBmcm9tIFwiZGF5anNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWxlYWQtaW50cm8nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sZWFkLWludHJvLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vbGVhZC1pbnRyby5jb21wb25lbnQuc2NzcycsXHJcbiAgcHJvdmlkZXJzOiBbTmdiQ2Fyb3VzZWxDb25maWddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGVhZEludHJvQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xyXG4gIHByb2R1Y3RMaXN0OiBhbnkgPSBbXTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuICB0cmlhbERldGFpbHM6YW55XHJcbiAgZGF5anMgPSBkYXlqc1xyXG5cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFnZUluZm86IFBhZ2VJbmZvU2VydmljZSwgcHVibGljIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UsIGNvbmZpZzogTmdiQ2Fyb3VzZWxDb25maWcsIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCwgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UpIHtcclxuICAgIHRoaXMuZ3MudXNlckFjY2Vzcy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIGlmIChlICYmIGU/LnVzZXJUeXBlID09PSBcImxlYWRcIikge1xyXG4gICAgICAgIGNvbnN0IHVzZXIgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VyLWluZm8nKSBhcyBzdHJpbmcpXHJcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRMZWFkUHJvZHVjdHModXNlci5lbWFpbCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAoZSkgPT4ge1xyXG4gICAgICAgICAgICBpZihlPy5kYXRhKXtcclxuICAgICAgICAgICAgICB0aGlzLnByb2R1Y3RMaXN0ID0gZS5kYXRhPy5wbGFuRGV0YWlscz8ucHJvZHVjdFxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0gZWxzZSBpZiAoZSAmJiBlPy51c2VyVHlwZSA9PT0gXCJjbGllbnRcIikge1xyXG4gICAgICAgIGNvbnN0IHVzZXIgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VyLWluZm8nKSBhcyBzdHJpbmcpXHJcblxyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0Q2xpZW50UHJvZHVjdHModXNlci5jbGllbnRJZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAoZSkgPT4ge1xyXG4gICAgICAgICAgICBpZihlPy5kYXRhKXtcclxuICAgICAgICAgICAgICB0aGlzLnByb2R1Y3RMaXN0ID0gZS5kYXRhPy5wbGFuRGV0YWlscz8ucHJvZHVjdD8ubWFwKChwcm9kdWN0OmFueSk9PiBwcm9kdWN0LnByb2R1Y3ROYW1lKSAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuXHJcbiAgICAgICAgICAgICAgdGhpcy50cmlhbERldGFpbHMgPSB0aGlzLmRheXNXaXRoaW4xNChlLmRhdGE/LnBsYW5EZXRhaWxzPy5wcm9kdWN0WzBdPy50cmlhbEVuZERhdGUpXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgICBcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGRheXNXaXRoaW4xNChkYXRlOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGN1cnJlbnREYXRlID0gZGF5anMoKTtcclxuICAgIGNvbnN0IGdpdmVuRGF0ZSA9IGRheWpzKGRhdGUpLmFkZCgyLCAnZGF5Jyk7XHJcbiAgICBcclxuICAgIGxldCBkaWZmID0gZ2l2ZW5EYXRlLmRpZmYoY3VycmVudERhdGUsICdkYXknKTtcclxuICBcclxuICAgIGlmIChkaWZmIDwgMCkge1xyXG4gICAgICBkaWZmID0gMDtcclxuICAgIH1cclxuICBcclxuICAgIGNvbnN0IHBlcmNlbnRhZ2VSZW1haW5pbmcgPSBNYXRoLnJvdW5kKCgoMTQgLSBkaWZmKSAvIDE0KSAqIDEwMCk7XHJcbiAgXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBkYXlzUmVtYWluaW5nOiBkaWZmIDw9IDE0ID8gZGlmZiA6IDAsXHJcbiAgICAgIHBlcmNlbnRhZ2VSZW1haW5pbmc6IGRpZmYgPD0gMTQgPyBwZXJjZW50YWdlUmVtYWluaW5nIDogMTAwXHJcbiAgICB9O1xyXG4gIH1cclxuICBcclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRQYWdlRGF0YSgpXHJcbiAgfVxyXG5cclxuXHJcbiAgc2V0UGFnZURhdGEoKSB7XHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldFRpdGxlKCdFeHBsb3JlJylcclxuICAgIHRoaXMucGFnZUluZm8uc2V0RGVzY3JpcHRpb24oJ0V4cGxvcmUgeW91ciBwcm9kdWN0cyB3aGlsZSB3YWl0aW5nIGZvciBhZG1pbiBhcHByb3ZhbCcpXHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldEJyZWFkY3J1bWJzKFtcclxuICAgICAgeyB0aXRsZTogJ0V4cGxvcmUnLCBwYXRoOiAnL2V4cGxvcmUnLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiBmYWxzZSB9LFxyXG4gICAgICB7IHRpdGxlOiAnRXhwbG9yZScsIHBhdGg6ICcvZXhwbG9yZScsIGlzQWN0aXZlOiBmYWxzZSwgaXNTZXBhcmF0b3I6IHRydWUgfSxcclxuICAgIF0pXHJcbiAgfVxyXG4gXHJcblxyXG4gIGNvbnRhY3RTdXBwb3J0KCkge1xyXG4gICAgdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihDb250YWN0U3VwcG9ydENvbXBvbmVudCwge1xyXG4gICAgICBjZW50ZXJlZDogdHJ1ZSxcclxuICAgICAgc2l6ZTogXCJtZFwiLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVDaXJjbGVDaGFydChwZXJjZW50YWdlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGxldCBpZCA9ICdwcm9ncmVzcy1jaXJjbGUnO1xyXG4gICAgbGV0IHRleHQgPSAncGVyY2VudGFnZS10ZXh0JztcclxuICAgIGNvbnN0IHByb2dyZXNzQ2lyY2xlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO1xyXG4gICAgY29uc3QgcGVyY2VudGFnZVRleHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0ZXh0KTtcclxuICAgIGlmIChwcm9ncmVzc0NpcmNsZSAmJiBwZXJjZW50YWdlVGV4dCkge1xyXG4gICAgICBjb25zdCBjaXJjdW1mZXJlbmNlID0gTWF0aC5QSSAqIDIgKiBwYXJzZUZsb2F0KHByb2dyZXNzQ2lyY2xlLmdldEF0dHJpYnV0ZSgncicpISk7XHJcbiAgICAgIGNvbnN0IGRhc2hhcnJheSA9IGNpcmN1bWZlcmVuY2U7XHJcbiAgICAgIGNvbnN0IGRhc2hvZmZzZXQgPSBjaXJjdW1mZXJlbmNlIC0gKHBlcmNlbnRhZ2UgLyAxMDApICogY2lyY3VtZmVyZW5jZTtcclxuXHJcbiAgICAgIHByb2dyZXNzQ2lyY2xlLnNldEF0dHJpYnV0ZSgnc3Ryb2tlLWRhc2hhcnJheScsIGRhc2hhcnJheS50b1N0cmluZygpKTtcclxuICAgICAgcHJvZ3Jlc3NDaXJjbGUuc2V0QXR0cmlidXRlKCdzdHJva2UtZGFzaG9mZnNldCcsIGRhc2hvZmZzZXQudG9TdHJpbmcoKSk7XHJcblxyXG4gICAgICBwZXJjZW50YWdlVGV4dC50ZXh0Q29udGVudCA9IGAke3BlcmNlbnRhZ2V9JWA7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiPGRpdiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy51c2VyVHlwZSA9PT0gJ2xlYWQnXCIgY2xhc3M9XCJhcHByb3ZhbGNhcmQgbXQtNCBtYi01XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzeW1ib2wgc3ltYm9sLTMwcHggbWUtNVwiPjxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiLi9hc3NldHMvdGFuZ28vY3VzdG9tcG9wdXAtSWNvbnMvZGFuZ2VyLWljb24uc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwcm92YWx0ZXh0IGFsaWduLWl0ZW1zLXN0YXJ0IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICBZb3VyIEFwcHJvdmFsIGlzIGluIHBlbmRpbmcgIVxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcHJvdmVzdWIgZC1ibG9ja1wiPkNhbuKAmXQgZmluZCB0aGUgYW5zd2VyIHlvdeKAmXJlIGxvb2tpbmcgZm9yPyBQbGVhc2UgY2hhdCB0byBvdXIgZnJpZW5kbHlcclxuICAgICAgICAgICAgICAgICAgICB0ZWFtLjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8YSAoY2xpY2spPVwiY29udGFjdFN1cHBvcnQoKVwiIHR5cGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtNCBuZy1zdGFyLWluc2VydGVkXCI+PHNwYW4+Q29udGFjdCBVc1xyXG4gICAgICAgICAgICAgICAgPC9zcGFuPjwvYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICdjbGllbnQnXCIgY2xhc3M9XCJ0b2FzdGNhcmQgbWItNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ltYm9sIHN5bWJvbC0zMHB4IG1lLTVcIj48c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL2N1c3RvbXBvcHVwLUljb25zL2Rhbmdlci1hbGVydC1wcmltYXJ5LnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b2FzdHRleHQgZC1ibG9ja1wiPllvdXIgdHJpYWwgaGFzIHN0YXJ0ZWQuIFlvdSBoYXZlIHt7dHJpYWxEZXRhaWxzPy5kYXlzUmVtYWluaW5nfX0gZGF5cyBsZWZ0XHJcbiAgICAgICAgICAgICAgICBvbiB5b3VyIGZyZWUgdHJpYWw8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtdC0xXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PjxzdmcgaWQ9XCJjaXJjbGUtY2hhcnRcIiB3aWR0aD1cIjk0XCIgaGVpZ2h0PVwiNzBcIiB2aWV3Qm94PVwiMCAwIDEwMCAxMDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiNTBcIiBjeT1cIjUwXCIgcj1cIjQwXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjZjBmMGYwXCIgc3Ryb2tlLXdpZHRoPVwiOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2NpcmNsZT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9XCJwcm9ncmVzcy1jaXJjbGVcIiBjeD1cIjUwXCIgY3k9XCI1MFwiIHI9XCI0MFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiIzAwN2JmZlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI4XCIgc3Ryb2tlLWRhc2hhcnJheT1cIjI1MS4yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZS1kYXNob2Zmc2V0XT1cInVwZGF0ZUNpcmNsZUNoYXJ0KHRyaWFsRGV0YWlscz8ucGVyY2VudGFnZVJlbWFpbmluZylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9jaXJjbGU+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGV4dCBpZD1cInBlcmNlbnRhZ2UtdGV4dFwiIHg9XCI1MFwiIHk9XCI1NFwiIGNsYXNzPVwicHJvZHVjdHRleHRcIiB0ZXh0LWFuY2hvcj1cIm1pZGRsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzMzMzMzM1wiPnt7dHJpYWxEZXRhaWxzPy5wZXJjZW50YWdlUmVtYWluaW5nfX0lPC90ZXh0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLWl0ZW1zLXN0YXJ0IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGRheXNsZWZ0IG15LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e3RyaWFsRGV0YWlscz8uZGF5c1JlbWFpbmluZ319IERheXMgTGVmdFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGlnbi1pdGVtcy1zdGFydCB0cmFpbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBGcmVlIHRyaWFsPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPG5nYi1jYXJvdXNlbCAjY2Fyb3VzZWwgW2ludGVydmFsXT1cIjQwMDBcIiBbcGF1c2VPbkhvdmVyXT1cInRydWVcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcHJvZHVjdExpc3RcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbSA9PT0gJ3RhbmdvVHJheCdcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nYlNsaWRlPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHAtMjBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy00IGNvbC1zbS0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImNhcmRpbWdcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvdGFuZ29UcmF4LnBuZ1wiIGFsdD1cIlRhbmdvIGxvZ29cIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nIG1iLTJcIj5XZWxjb21lIHRvIFRyYXghIPCfkYtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXZvbHV0aW9uaXNpbmcgT3BlcmF0aW9ucyB3aXRoIEFJIHBvd2VyZWQgU09Qc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPk9uYm9hcmQgU3RvcmVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLWl0ZW1zLXN0YXJ0IGNhcmQtc3ViIG14LTE0XCI+RWZmb3J0bGVzc2x5IGFkZCBhbmQgbWFuYWdlIHlvdXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JlcyxlbnN1cmluZyBhIHNtb290aCBvbmJvYXJkaW5nIHByb2Nlc3MuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtbiBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgd2lkdGg9XCIzNlwiIGhlaWdodD1cIjM2XCIgdmlld0JveD1cIjAgMCAzNiAzNlwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMlwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHJ4PVwiMTZcIiBmaWxsPVwiI0RBRjFGRlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMlwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHJ4PVwiMTZcIiBzdHJva2U9XCIjRUFGOEZGXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xOC42NjY3IDExLjMzNEwxMiAxOS4zMzRIMThMMTcuMzMzMyAyNC42NjczTDI0IDE2LjY2NzNIMThMMTguNjY2NyAxMS4zMzRaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzAwQTNGRlwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIG14LTNcIj5DdXN0b21pemUgU09QIENoZWNrbGlzdHM8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGlnbi1pdGVtcy1zdGFydCBjYXJkLXN1YiBteC0xNFwiPkVhc2lseSBjcmVhdGUgYW5kIGNvbmZpZ3VyZSBTT1BcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrbGlzdHNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhaWxvcmVkIHRvIHlvdXIgc3BlY2lmaWMgbmVlZHMuPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPkdhaW4gSW5zaWdodHMgRGFzaGJvYXJkIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLWl0ZW1zLXN0YXJ0IGNhcmQtc3ViIG14LTE0XCI+R2VuZXJhdGUgZGV0YWlsZWQgcmVwb3J0cyBhbmRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc3VhbGl6ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tsaXN0IGNvbXBsaWFuY2UgZGF0YSB0aHJvdWdoIGFuIGludHVpdGl2ZSBkYXNoYm9hcmQsIGVuYWJsaW5nIHlvdSB0byBtYWtlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvcm1lZCBkZWNpc2lvbnMgY2FuZCBlbmhhbmNlIG9wZXJhdGlvbmFsIGVmZmljaWVuY3kuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAnY2xpZW50J1wiIHJvdXRlckxpbms9XCIvbWFuYWdlXCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtNCBtdC0yIGN1cnNvci1wb2ludGVyIG5nLXN0YXItaW5zZXJ0ZWRcIj48c3Bhbj5HZXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhcnRlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2E+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbSA9PT0gJ3RhbmdvWm9uZSdcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nYlNsaWRlPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHAtMjBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy00IGNvbC1zbS0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImNhcmRpbWdcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvdGFuZ29ab25lLnBuZ1wiIGFsdD1cIlRhbmdvIGxvZ29cIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nIG1iLTJcIj5XZWxjb21lIHRvIFpvbmUhIPCfkYtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZGVudGlmeSBIb3QgU3BvdHMgJiBEZWFkIFpvbmVzIG9mIHRoZSBzdG9yZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPkNob29zZSBTdG9yZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWxpZ24taXRlbXMtc3RhcnQgY2FyZC1zdWIgbXgtMTRcIj5TZWxlY3QgU3RvcmVzIHdoZXJlIHlvdSB3YW50IHRvXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZGVudGlmeVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBob3Qgc3BvdHMgYW5kIGRlYWQgem9uZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPlRhZyBab25lcyA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGlnbi1pdGVtcy1zdGFydCBjYXJkLXN1YiBteC0xNFwiPlRhZyBkaWZmZXJlbnQgc2VjdGlvbnMgb3Igem9uZXMgd2l0aGluXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYWNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yZSBhbmQgbGFiZWwgdGhlbSBhY2NvcmRpbmcgdG8geW91ciBvcGVyYXRpb25hbCBuZWVkcy48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW4gbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHdpZHRoPVwiMzZcIiBoZWlnaHQ9XCIzNlwiIHZpZXdCb3g9XCIwIDAgMzYgMzZcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyXCIgeT1cIjJcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiByeD1cIjE2XCIgZmlsbD1cIiNEQUYxRkZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyXCIgeT1cIjJcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiByeD1cIjE2XCIgc3Ryb2tlPVwiI0VBRjhGRlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTguNjY2NyAxMS4zMzRMMTIgMTkuMzM0SDE4TDE3LjMzMzMgMjQuNjY3M0wyNCAxNi42NjczSDE4TDE4LjY2NjcgMTEuMzM0WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMwMEEzRkZcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBteC0zXCI+R2FpbiBJbnNpZ2h0cyA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGlnbi1pdGVtcy1zdGFydCBjYXJkLXN1YiBteC0xNFwiPkdlbmVyYXRlIGRldGFpbGVkIHJlcG9ydHMgYW5kXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXN1YWxpemVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHpvbmUtc3BlY2lmaWMgZGF0YSBzdWNoIGFzIHRyYWZmaWMsIGR3ZWxsIHRpbWUsIGRlbW9ncmFwaGljcywgYW5kIGhlYXRtYXBzLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy51c2VyVHlwZSA9PT0gJ2NsaWVudCdcIiB0eXBlPVwiYnV0dG9uXCIgcm91dGVyTGluaz1cIi9tYW5hZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHB4LTQgbXQtMiBjdXJzb3ItcG9pbnRlciBuZy1zdGFyLWluc2VydGVkXCI+PHNwYW4+R2V0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0ZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9hPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0gPT09ICd0YW5nb1RyYWZmaWMnXCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZ2JTbGlkZT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBwLTIwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctNCBjb2wtc20tMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJjYXJkaW1nXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL3RhbmdvVHJhZmZpYy5wbmdcIiBhbHQ9XCJUYW5nbyBsb2dvXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZyBtYi0yXCI+V2VsY29tZSB0byBUcmFmZmljISDwn5GLXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVhc3VyZSBJbi1TdG9yZSBUcmFmZmljICYgU2hvcHBlciBJbnNpZ2h0c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPk9uYm9hcmQgU3RvcmVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLWl0ZW1zLXN0YXJ0IGNhcmQtc3ViIG14LTE0XCI+RWFzaWx5IGFkZCBhbmQgbWFuYWdlIHN0b3JlcyB3aXRoIGp1c3RcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZld1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2tzIG9uIHRoZSBkYXNoYm9hcmRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPlZpc3VhbGlzZSBEYXRhIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLWl0ZW1zLXN0YXJ0IGNhcmQtc3ViIG14LTE0XCI+VmlldyBpbnRlbGxpZ2VudCBpbnNpZ2h0cyBpbmNsdWRpbmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWZmaWNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm5zLCBkd2VsbCB0aW1lcywgZGVtb2dyYXBoaWNzIGVuYWJsaW5nIHlvdSB0byBtYWtlIGluZm9ybWVkIGRlY2lzaW9ucy5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPk1hbmFnZSBUaWNrZXRzIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLWl0ZW1zLXN0YXJ0IGNhcmQtc3ViIG14LTE0XCI+RWFzaWx5IHRyYWNrIGFuZCByZXNvbHZlIHlvdXIgc3VwcG9ydFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGlja2V0c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHByb21wdCBhbmQgZWZmaWNpZW50IHNlcnZpY2UuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAnY2xpZW50J1wiIHR5cGU9XCJidXR0b25cIiByb3V0ZXJMaW5rPVwiL21hbmFnZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtNCBtdC0yIGN1cnNvci1wb2ludGVyIG5nLXN0YXItaW5zZXJ0ZWRcIj48c3Bhbj5HZXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhcnRlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2E+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuXHJcbjwvbmdiLWNhcm91c2VsPiJdfQ==
108
+ args: [{ selector: 'lib-lead-intro', providers: [NgbCarouselConfig], template: "<div *ngIf=\"(gs.userAccess | async)?.userType === 'lead'\" class=\"approvalcard mt-4 mb-5\">\r\n <div class=\"d-flex align-items-center justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-30px me-5\"><span>\r\n <img src=\"./assets/tango/custompopup-Icons/danger-icon.svg\" alt=\"\">\r\n </span>\r\n </div>\r\n <div class=\"approvaltext align-items-start justify-content-between\">\r\n Your Approval is in pending !\r\n <div class=\"approvesub d-block\">Can\u2019t find the answer you\u2019re looking for? Please chat to our friendly\r\n team.</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <a (click)=\"contactSupport()\" type=\"button\" tabindex=\"0\"\r\n class=\"btn btn-primary px-4 ng-star-inserted\"><span>Contact Us\r\n </span></a>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" class=\"toastcard mb-5\">\r\n <div class=\"d-flex align-items-center justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-30px me-5\"><span>\r\n <img src=\"./assets/tango/custompopup-Icons/danger-alert-primary.svg\" alt=\"\">\r\n </span>\r\n </div>\r\n <span class=\"toasttext d-block\">Your trial has started. You have {{trialDetails?.daysRemaining}} days left\r\n on your free trial</span>\r\n </div>\r\n <div class=\"row mt-1\">\r\n <div class=\"d-flex align-items-center\">\r\n <div><svg id=\"circle-chart\" width=\"94\" height=\"70\" viewBox=\"0 0 100 100\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n\r\n <circle cx=\"50\" cy=\"50\" r=\"40\" fill=\"none\" stroke=\"#f0f0f0\" stroke-width=\"8\">\r\n </circle>\r\n\r\n <circle id=\"progress-circle\" cx=\"50\" cy=\"50\" r=\"40\" fill=\"none\" stroke=\"#007bff\"\r\n stroke-width=\"8\" stroke-dasharray=\"251.2\"\r\n [attr.stroke-dashoffset]=\"updateCircleChart(trialDetails?.percentageRemaining)\">\r\n </circle>\r\n\r\n <text id=\"percentage-text\" x=\"50\" y=\"54\" class=\"producttext\" text-anchor=\"middle\"\r\n fill=\"#333333\">{{trialDetails?.percentageRemaining}}%</text>\r\n </svg></div>\r\n <div class=\"align-items-start justify-content-between daysleft my-2\">\r\n {{trialDetails?.daysRemaining}} Days Left\r\n <div class=\"align-items-start trail\">\r\n Free trial</div>\r\n </div>\r\n </div>\r\n <div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ngb-carousel #carousel [interval]=\"4000\" [pauseOnHover]=\"true\">\r\n <ng-container *ngFor=\"let item of productList\">\r\n <ng-container *ngIf=\"item === 'tangoTrax'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoTrax.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Trax! \uD83D\uDC4B\r\n </div>\r\n <span class=\"sub\">\r\n Revolutionising Operations with AI powered SOPs\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Onboard Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Effortlessly add and manage your\r\n stores,ensuring a smooth onboarding process.\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Customize SOP Checklists</span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily create and configure SOP\r\n checklists\r\n tailored to your specific needs.</div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Gain Insights Dashboard </span>\r\n <div class=\"align-items-start card-sub mx-14\">Generate detailed reports and\r\n visualize\r\n checklist compliance data through an intuitive dashboard, enabling you to make\r\n informed decisions cand enhance operational efficiency.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" type=\"button\" routerLink=\"/manage/summary\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngIf=\"item === 'tangoZone'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoZone.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Zone! \uD83D\uDC4B\r\n </div>\r\n <span class=\"sub\">\r\n Identify Hot Spots & Dead Zones of the store\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Choose Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Select Stores where you want to\r\n identify\r\n the\r\n hot spots and dead zones\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Tag Zones </span>\r\n <div class=\"align-items-start card-sub mx-14\">Tag different sections or zones within\r\n each\r\n store and label them according to your operational needs.</div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Gain Insights </span>\r\n <div class=\"align-items-start card-sub mx-14\">Generate detailed reports and\r\n visualize\r\n zone-specific data such as traffic, dwell time, demographics, and heatmaps.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" type=\"button\" routerLink=\"/manage/summary\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"item === 'tangoTraffic'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoTraffic.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Traffic! \uD83D\uDC4B\r\n </div>\r\n <span class=\"sub\">\r\n Measure In-Store Traffic & Shopper Insights\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Onboard Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily add and manage stores with just\r\n a\r\n few\r\n clicks on the dashboard\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Visualise Data </span>\r\n <div class=\"align-items-start card-sub mx-14\">View intelligent insights including\r\n traffic\r\n patterns, dwell times, demographics enabling you to make informed decisions.\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Manage Tickets </span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily track and resolve your support\r\n tickets\r\n for prompt and efficient service.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" type=\"button\" routerLink=\"/manage/summary\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n\r\n</ngb-carousel>", styles: [".heading{color:var(--Black, #101828);font-size:24px;font-style:normal;font-weight:600;line-height:32px}.sub{color:var(--Black, #101828);font-family:Inter;font-size:12px;font-weight:500!important;line-height:18px}.card-label{color:var(--gray-900, #101828);font-family:Inter;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.card-sub{color:var(--gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.cardimg{width:500px;height:300px}::ng-deep .carousel-indicators [data-bs-target]{flex:0 1 auto;width:8px;height:8px;padding:0;cursor:pointer;background-color:#009bf3!important;border-radius:4px;transition:opacity .6s ease;margin-bottom:10px;border:0px}.toastcard{border-left:2px solid #00A3FF;background:#fff;box-shadow:0 4px 16px #0000001a;padding:6px 12px 6px 16px;align-items:center;gap:16px;align-self:stretch;border-radius:4px}.overflow{overflow-x:scroll}.toasttext{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:140%}.needhelp{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);color:var(--Gray-700, #344054)!important;font-size:16px;font-weight:600!important;text-transform:capitalize}.daysleft{color:var(--Gray-800, #1D2939);font-family:Inter;font-size:16px;font-style:normal;font-weight:500;line-height:32px}.trail{color:var(--Gray-500, #667085);font-size:14px;font-weight:600;line-height:28px}.producttext{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.productitem{right:545px!important}.approvalcard{border-radius:12px;border:1px dashed var(--Warning-500, #F79009);background:var(--Warning-25, #FFFCF5);padding:16px 24px}.approvaltext{color:var(--Gray-900, #101828);font-size:20px;font-style:normal;font-weight:500;line-height:30px}.approvesub{color:var(--Gray-500, #667085);font-size:18px;font-style:normal;font-weight:400;line-height:28px}\n"] }]
109
+ }], ctorParameters: () => [{ type: i1.PageInfoService }, { type: i1.GlobalStateService }, { type: i2.NgbCarouselConfig }, { type: i2.NgbModal }, { type: i3.AuthService }, { type: i4.Router }] });
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZC1pbnRyby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9pbnRyby9sZWFkLWludHJvL2xlYWQtaW50cm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL21vZHVsZXMvaW50cm8vbGVhZC1pbnRyby9sZWFkLWludHJvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBWSxNQUFNLDRCQUE0QixDQUFDO0FBRXpFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3ZGLE9BQVEsS0FBSyxNQUFNLE9BQU8sQ0FBQzs7Ozs7OztBQVMzQixNQUFNLE9BQU8sa0JBQWtCO0lBUVQ7SUFBa0M7SUFBMkQ7SUFBZ0M7SUFBaUM7SUFQbEwsV0FBVyxHQUFRLEVBQUUsQ0FBQztJQUNMLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzFDLFlBQVksQ0FBSTtJQUNoQixLQUFLLEdBQUcsS0FBSyxDQUFBO0lBSWIsWUFBb0IsUUFBeUIsRUFBUyxFQUFzQixFQUFFLE1BQXlCLEVBQVUsWUFBc0IsRUFBVSxXQUF3QixFQUFTLE1BQWE7UUFBM0ssYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFBUyxPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUFxQyxpQkFBWSxHQUFaLFlBQVksQ0FBVTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBTztRQUM3TCxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2hFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEtBQUssTUFBTSxFQUFFO2dCQUMvQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFXLENBQUMsQ0FBQTtnQkFDcEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO29CQUNwRixJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTt3QkFDVixJQUFHLENBQUMsRUFBRSxJQUFJLEVBQUM7NEJBQ1QsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUE7eUJBQ2hEO29CQUVILENBQUM7aUJBQ0YsQ0FBQyxDQUFBO2FBQ0g7aUJBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsS0FBSyxRQUFRLEVBQUU7Z0JBQ3hDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQVcsQ0FBQyxDQUFBO2dCQUVwRSxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztvQkFDekYsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7d0JBQ1YsSUFBRyxDQUFDLEVBQUUsSUFBSSxFQUFDOzRCQUNULElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQVcsRUFBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFBOzRCQUV6RixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFBO3lCQUNyRjtvQkFFSCxDQUFDO2lCQUNGLENBQUMsQ0FBQTthQUVIO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVk7UUFDdkIsTUFBTSxXQUFXLEdBQUcsS0FBSyxFQUFFLENBQUM7UUFDNUIsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFNUMsSUFBSSxJQUFJLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFOUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFO1lBQ1osSUFBSSxHQUFHLENBQUMsQ0FBQztTQUNWO1FBRUQsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFFakUsT0FBTztZQUNMLGFBQWEsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEMsbUJBQW1CLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEdBQUc7U0FDNUQsQ0FBQztJQUNKLENBQUM7SUFHRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUNwQixDQUFDO0lBR0QsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLHdEQUF3RCxDQUFDLENBQUE7UUFDdEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7WUFDM0IsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFO1lBQzNFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtTQUMzRSxDQUFDLENBQUE7SUFDSixDQUFDO0lBR0QsY0FBYztRQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFO1lBQzlDLFFBQVEsRUFBRSxJQUFJO1lBQ2QsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsVUFBa0I7UUFDbEMsSUFBSSxFQUFFLEdBQUcsaUJBQWlCLENBQUM7UUFDM0IsSUFBSSxJQUFJLEdBQUcsaUJBQWlCLENBQUM7UUFDN0IsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuRCxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JELElBQUksY0FBYyxJQUFJLGNBQWMsRUFBRTtZQUNwQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUUsQ0FBQyxDQUFDO1lBQ2xGLE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQztZQUNoQyxNQUFNLFVBQVUsR0FBRyxhQUFhLEdBQUcsQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDO1lBRXRFLGNBQWMsQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDdEUsY0FBYyxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUV4RSxjQUFjLENBQUMsV0FBVyxHQUFHLEdBQUcsVUFBVSxHQUFHLENBQUM7U0FDL0M7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFL0MsQ0FBQzt3R0F2R1Usa0JBQWtCOzRGQUFsQixrQkFBa0IseUNBRmxCLENBQUMsaUJBQWlCLENBQUMsMEJDYmhDLCt2ckJBb1VlOzs0RkRyVEYsa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLGdCQUFnQixhQUdmLENBQUMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSwgUGFnZUluZm9TZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IE5nYkNhcm91c2VsQ29uZmlnLCBOZ2JNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb250YWN0U3VwcG9ydENvbXBvbmVudCB9IGZyb20gJy4uL2NvbnRhY3Qtc3VwcG9ydC9jb250YWN0LXN1cHBvcnQuY29tcG9uZW50JztcclxuaW1wb3J0ICBkYXlqcyBmcm9tIFwiZGF5anNcIjtcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWxlYWQtaW50cm8nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sZWFkLWludHJvLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vbGVhZC1pbnRyby5jb21wb25lbnQuc2NzcycsXHJcbiAgcHJvdmlkZXJzOiBbTmdiQ2Fyb3VzZWxDb25maWddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGVhZEludHJvQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xyXG4gIHByb2R1Y3RMaXN0OiBhbnkgPSBbXTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuICB0cmlhbERldGFpbHM6YW55XHJcbiAgZGF5anMgPSBkYXlqc1xyXG5cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFnZUluZm86IFBhZ2VJbmZvU2VydmljZSwgcHVibGljIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UsIGNvbmZpZzogTmdiQ2Fyb3VzZWxDb25maWcsIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCwgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UscHJpdmF0ZSByb3V0ZXI6Um91dGVyKSB7XHJcbiAgICB0aGlzLmdzLnVzZXJBY2Nlc3MucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICBpZiAoZSAmJiBlPy51c2VyVHlwZSA9PT0gXCJsZWFkXCIpIHtcclxuICAgICAgICBjb25zdCB1c2VyID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlci1pbmZvJykgYXMgc3RyaW5nKVxyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0TGVhZFByb2R1Y3RzKHVzZXIuZW1haWwpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKGUpID0+IHtcclxuICAgICAgICAgICAgaWYoZT8uZGF0YSl7XHJcbiAgICAgICAgICAgICAgdGhpcy5wcm9kdWN0TGlzdCA9IGUuZGF0YT8ucGxhbkRldGFpbHM/LnByb2R1Y3RcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICB9IGVsc2UgaWYgKGUgJiYgZT8udXNlclR5cGUgPT09IFwiY2xpZW50XCIpIHtcclxuICAgICAgICBjb25zdCB1c2VyID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlci1pbmZvJykgYXMgc3RyaW5nKVxyXG5cclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldENsaWVudFByb2R1Y3RzKHVzZXIuY2xpZW50SWQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKGUpID0+IHtcclxuICAgICAgICAgICAgaWYoZT8uZGF0YSl7XHJcbiAgICAgICAgICAgICAgdGhpcy5wcm9kdWN0TGlzdCA9IGUuZGF0YT8ucGxhbkRldGFpbHM/LnByb2R1Y3Q/Lm1hcCgocHJvZHVjdDphbnkpPT4gcHJvZHVjdC5wcm9kdWN0TmFtZSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcblxyXG4gICAgICAgICAgICAgIHRoaXMudHJpYWxEZXRhaWxzID0gdGhpcy5kYXlzV2l0aGluMTQoZS5kYXRhPy5wbGFuRGV0YWlscz8ucHJvZHVjdFswXT8udHJpYWxFbmREYXRlKVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBkYXlzV2l0aGluMTQoZGF0ZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBjdXJyZW50RGF0ZSA9IGRheWpzKCk7XHJcbiAgICBjb25zdCBnaXZlbkRhdGUgPSBkYXlqcyhkYXRlKS5hZGQoMiwgJ2RheScpO1xyXG4gICAgXHJcbiAgICBsZXQgZGlmZiA9IGdpdmVuRGF0ZS5kaWZmKGN1cnJlbnREYXRlLCAnZGF5Jyk7XHJcbiAgXHJcbiAgICBpZiAoZGlmZiA8IDApIHtcclxuICAgICAgZGlmZiA9IDA7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBjb25zdCBwZXJjZW50YWdlUmVtYWluaW5nID0gTWF0aC5yb3VuZCgoKDE0IC0gZGlmZikgLyAxNCkgKiAxMDApO1xyXG4gIFxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZGF5c1JlbWFpbmluZzogZGlmZiA8PSAxNCA/IGRpZmYgOiAwLFxyXG4gICAgICBwZXJjZW50YWdlUmVtYWluaW5nOiBkaWZmIDw9IDE0ID8gcGVyY2VudGFnZVJlbWFpbmluZyA6IDEwMFxyXG4gICAgfTtcclxuICB9XHJcbiAgXHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0UGFnZURhdGEoKVxyXG4gIH1cclxuXHJcblxyXG4gIHNldFBhZ2VEYXRhKCkge1xyXG4gICAgdGhpcy5wYWdlSW5mby5zZXRUaXRsZSgnRXhwbG9yZScpXHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldERlc2NyaXB0aW9uKCdFeHBsb3JlIHlvdXIgcHJvZHVjdHMgd2hpbGUgd2FpdGluZyBmb3IgYWRtaW4gYXBwcm92YWwnKVxyXG4gICAgdGhpcy5wYWdlSW5mby5zZXRCcmVhZGNydW1icyhbXHJcbiAgICAgIHsgdGl0bGU6ICdFeHBsb3JlJywgcGF0aDogJy9leHBsb3JlJywgaXNBY3RpdmU6IGZhbHNlLCBpc1NlcGFyYXRvcjogZmFsc2UgfSxcclxuICAgICAgeyB0aXRsZTogJ0V4cGxvcmUnLCBwYXRoOiAnL2V4cGxvcmUnLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiB0cnVlIH0sXHJcbiAgICBdKVxyXG4gIH1cclxuIFxyXG5cclxuICBjb250YWN0U3VwcG9ydCgpIHtcclxuICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oQ29udGFjdFN1cHBvcnRDb21wb25lbnQsIHtcclxuICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgIHNpemU6IFwibWRcIixcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlQ2lyY2xlQ2hhcnQocGVyY2VudGFnZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBsZXQgaWQgPSAncHJvZ3Jlc3MtY2lyY2xlJztcclxuICAgIGxldCB0ZXh0ID0gJ3BlcmNlbnRhZ2UtdGV4dCc7XHJcbiAgICBjb25zdCBwcm9ncmVzc0NpcmNsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcclxuICAgIGNvbnN0IHBlcmNlbnRhZ2VUZXh0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGV4dCk7XHJcbiAgICBpZiAocHJvZ3Jlc3NDaXJjbGUgJiYgcGVyY2VudGFnZVRleHQpIHtcclxuICAgICAgY29uc3QgY2lyY3VtZmVyZW5jZSA9IE1hdGguUEkgKiAyICogcGFyc2VGbG9hdChwcm9ncmVzc0NpcmNsZS5nZXRBdHRyaWJ1dGUoJ3InKSEpO1xyXG4gICAgICBjb25zdCBkYXNoYXJyYXkgPSBjaXJjdW1mZXJlbmNlO1xyXG4gICAgICBjb25zdCBkYXNob2Zmc2V0ID0gY2lyY3VtZmVyZW5jZSAtIChwZXJjZW50YWdlIC8gMTAwKSAqIGNpcmN1bWZlcmVuY2U7XHJcblxyXG4gICAgICBwcm9ncmVzc0NpcmNsZS5zZXRBdHRyaWJ1dGUoJ3N0cm9rZS1kYXNoYXJyYXknLCBkYXNoYXJyYXkudG9TdHJpbmcoKSk7XHJcbiAgICAgIHByb2dyZXNzQ2lyY2xlLnNldEF0dHJpYnV0ZSgnc3Ryb2tlLWRhc2hvZmZzZXQnLCBkYXNob2Zmc2V0LnRvU3RyaW5nKCkpO1xyXG5cclxuICAgICAgcGVyY2VudGFnZVRleHQudGV4dENvbnRlbnQgPSBgJHtwZXJjZW50YWdlfSVgO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVEaXJlY3Rpb25VcmwoKXtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9tYW5hZ2Uvc3VtbWFyeScpO1xyXG4gICAgXHJcbiAgfVxyXG59IiwiPGRpdiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy51c2VyVHlwZSA9PT0gJ2xlYWQnXCIgY2xhc3M9XCJhcHByb3ZhbGNhcmQgbXQtNCBtYi01XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzeW1ib2wgc3ltYm9sLTMwcHggbWUtNVwiPjxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiLi9hc3NldHMvdGFuZ28vY3VzdG9tcG9wdXAtSWNvbnMvZGFuZ2VyLWljb24uc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwcm92YWx0ZXh0IGFsaWduLWl0ZW1zLXN0YXJ0IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICBZb3VyIEFwcHJvdmFsIGlzIGluIHBlbmRpbmcgIVxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcHJvdmVzdWIgZC1ibG9ja1wiPkNhbuKAmXQgZmluZCB0aGUgYW5zd2VyIHlvdeKAmXJlIGxvb2tpbmcgZm9yPyBQbGVhc2UgY2hhdCB0byBvdXIgZnJpZW5kbHlcclxuICAgICAgICAgICAgICAgICAgICB0ZWFtLjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8YSAoY2xpY2spPVwiY29udGFjdFN1cHBvcnQoKVwiIHR5cGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtNCBuZy1zdGFyLWluc2VydGVkXCI+PHNwYW4+Q29udGFjdCBVc1xyXG4gICAgICAgICAgICAgICAgPC9zcGFuPjwvYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICdjbGllbnQnXCIgY2xhc3M9XCJ0b2FzdGNhcmQgbWItNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ltYm9sIHN5bWJvbC0zMHB4IG1lLTVcIj48c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL2N1c3RvbXBvcHVwLUljb25zL2Rhbmdlci1hbGVydC1wcmltYXJ5LnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b2FzdHRleHQgZC1ibG9ja1wiPllvdXIgdHJpYWwgaGFzIHN0YXJ0ZWQuIFlvdSBoYXZlIHt7dHJpYWxEZXRhaWxzPy5kYXlzUmVtYWluaW5nfX0gZGF5cyBsZWZ0XHJcbiAgICAgICAgICAgICAgICBvbiB5b3VyIGZyZWUgdHJpYWw8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtdC0xXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PjxzdmcgaWQ9XCJjaXJjbGUtY2hhcnRcIiB3aWR0aD1cIjk0XCIgaGVpZ2h0PVwiNzBcIiB2aWV3Qm94PVwiMCAwIDEwMCAxMDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiNTBcIiBjeT1cIjUwXCIgcj1cIjQwXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjZjBmMGYwXCIgc3Ryb2tlLXdpZHRoPVwiOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2NpcmNsZT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9XCJwcm9ncmVzcy1jaXJjbGVcIiBjeD1cIjUwXCIgY3k9XCI1MFwiIHI9XCI0MFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiIzAwN2JmZlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI4XCIgc3Ryb2tlLWRhc2hhcnJheT1cIjI1MS4yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZS1kYXNob2Zmc2V0XT1cInVwZGF0ZUNpcmNsZUNoYXJ0KHRyaWFsRGV0YWlscz8ucGVyY2VudGFnZVJlbWFpbmluZylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9jaXJjbGU+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGV4dCBpZD1cInBlcmNlbnRhZ2UtdGV4dFwiIHg9XCI1MFwiIHk9XCI1NFwiIGNsYXNzPVwicHJvZHVjdHRleHRcIiB0ZXh0LWFuY2hvcj1cIm1pZGRsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzMzMzMzM1wiPnt7dHJpYWxEZXRhaWxzPy5wZXJjZW50YWdlUmVtYWluaW5nfX0lPC90ZXh0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLWl0ZW1zLXN0YXJ0IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGRheXNsZWZ0IG15LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e3RyaWFsRGV0YWlscz8uZGF5c1JlbWFpbmluZ319IERheXMgTGVmdFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGlnbi1pdGVtcy1zdGFydCB0cmFpbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBGcmVlIHRyaWFsPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPG5nYi1jYXJvdXNlbCAjY2Fyb3VzZWwgW2ludGVydmFsXT1cIjQwMDBcIiBbcGF1c2VPbkhvdmVyXT1cInRydWVcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcHJvZHVjdExpc3RcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbSA9PT0gJ3RhbmdvVHJheCdcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nYlNsaWRlPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHAtMjBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy00IGNvbC1zbS0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImNhcmRpbWdcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvdGFuZ29UcmF4LnBuZ1wiIGFsdD1cIlRhbmdvIGxvZ29cIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nIG1iLTJcIj5XZWxjb21lIHRvIFRyYXghIPCfkYtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXZvbHV0aW9uaXNpbmcgT3BlcmF0aW9ucyB3aXRoIEFJIHBvd2VyZWQgU09Qc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPk9uYm9hcmQgU3RvcmVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLWl0ZW1zLXN0YXJ0IGNhcmQtc3ViIG14LTE0XCI+RWZmb3J0bGVzc2x5IGFkZCBhbmQgbWFuYWdlIHlvdXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JlcyxlbnN1cmluZyBhIHNtb290aCBvbmJvYXJkaW5nIHByb2Nlc3MuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtbiBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgd2lkdGg9XCIzNlwiIGhlaWdodD1cIjM2XCIgdmlld0JveD1cIjAgMCAzNiAzNlwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMlwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHJ4PVwiMTZcIiBmaWxsPVwiI0RBRjFGRlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMlwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHJ4PVwiMTZcIiBzdHJva2U9XCIjRUFGOEZGXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xOC42NjY3IDExLjMzNEwxMiAxOS4zMzRIMThMMTcuMzMzMyAyNC42NjczTDI0IDE2LjY2NzNIMThMMTguNjY2NyAxMS4zMzRaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzAwQTNGRlwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIG14LTNcIj5DdXN0b21pemUgU09QIENoZWNrbGlzdHM8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGlnbi1pdGVtcy1zdGFydCBjYXJkLXN1YiBteC0xNFwiPkVhc2lseSBjcmVhdGUgYW5kIGNvbmZpZ3VyZSBTT1BcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrbGlzdHNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhaWxvcmVkIHRvIHlvdXIgc3BlY2lmaWMgbmVlZHMuPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPkdhaW4gSW5zaWdodHMgRGFzaGJvYXJkIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLWl0ZW1zLXN0YXJ0IGNhcmQtc3ViIG14LTE0XCI+R2VuZXJhdGUgZGV0YWlsZWQgcmVwb3J0cyBhbmRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc3VhbGl6ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tsaXN0IGNvbXBsaWFuY2UgZGF0YSB0aHJvdWdoIGFuIGludHVpdGl2ZSBkYXNoYm9hcmQsIGVuYWJsaW5nIHlvdSB0byBtYWtlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvcm1lZCBkZWNpc2lvbnMgY2FuZCBlbmhhbmNlIG9wZXJhdGlvbmFsIGVmZmljaWVuY3kuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAnY2xpZW50J1wiIHR5cGU9XCJidXR0b25cIiByb3V0ZXJMaW5rPVwiL21hbmFnZS9zdW1tYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBweC00IG10LTIgY3Vyc29yLXBvaW50ZXIgbmctc3Rhci1pbnNlcnRlZFwiPjxzcGFuPkdldFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGFydGVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvYT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0gPT09ICd0YW5nb1pvbmUnXCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZ2JTbGlkZT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBwLTIwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctNCBjb2wtc20tMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJjYXJkaW1nXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL3RhbmdvWm9uZS5wbmdcIiBhbHQ9XCJUYW5nbyBsb2dvXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZyBtYi0yXCI+V2VsY29tZSB0byBab25lISDwn5GLXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWRlbnRpZnkgSG90IFNwb3RzICYgRGVhZCBab25lcyBvZiB0aGUgc3RvcmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtbiBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgd2lkdGg9XCIzNlwiIGhlaWdodD1cIjM2XCIgdmlld0JveD1cIjAgMCAzNiAzNlwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMlwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHJ4PVwiMTZcIiBmaWxsPVwiI0RBRjFGRlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMlwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHJ4PVwiMTZcIiBzdHJva2U9XCIjRUFGOEZGXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xOC42NjY3IDExLjMzNEwxMiAxOS4zMzRIMThMMTcuMzMzMyAyNC42NjczTDI0IDE2LjY2NzNIMThMMTguNjY2NyAxMS4zMzRaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzAwQTNGRlwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIG14LTNcIj5DaG9vc2UgU3RvcmVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLWl0ZW1zLXN0YXJ0IGNhcmQtc3ViIG14LTE0XCI+U2VsZWN0IFN0b3JlcyB3aGVyZSB5b3Ugd2FudCB0b1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRlbnRpZnlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaG90IHNwb3RzIGFuZCBkZWFkIHpvbmVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtbiBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgd2lkdGg9XCIzNlwiIGhlaWdodD1cIjM2XCIgdmlld0JveD1cIjAgMCAzNiAzNlwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMlwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHJ4PVwiMTZcIiBmaWxsPVwiI0RBRjFGRlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMlwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHJ4PVwiMTZcIiBzdHJva2U9XCIjRUFGOEZGXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xOC42NjY3IDExLjMzNEwxMiAxOS4zMzRIMThMMTcuMzMzMyAyNC42NjczTDI0IDE2LjY2NzNIMThMMTguNjY2NyAxMS4zMzRaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzAwQTNGRlwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIG14LTNcIj5UYWcgWm9uZXMgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWxpZ24taXRlbXMtc3RhcnQgY2FyZC1zdWIgbXgtMTRcIj5UYWcgZGlmZmVyZW50IHNlY3Rpb25zIG9yIHpvbmVzIHdpdGhpblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmUgYW5kIGxhYmVsIHRoZW0gYWNjb3JkaW5nIHRvIHlvdXIgb3BlcmF0aW9uYWwgbmVlZHMuPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPkdhaW4gSW5zaWdodHMgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWxpZ24taXRlbXMtc3RhcnQgY2FyZC1zdWIgbXgtMTRcIj5HZW5lcmF0ZSBkZXRhaWxlZCByZXBvcnRzIGFuZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlzdWFsaXplXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6b25lLXNwZWNpZmljIGRhdGEgc3VjaCBhcyB0cmFmZmljLCBkd2VsbCB0aW1lLCBkZW1vZ3JhcGhpY3MsIGFuZCBoZWF0bWFwcy5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICdjbGllbnQnXCIgdHlwZT1cImJ1dHRvblwiIHJvdXRlckxpbms9XCIvbWFuYWdlL3N1bW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHB4LTQgbXQtMiBjdXJzb3ItcG9pbnRlciBuZy1zdGFyLWluc2VydGVkXCI+PHNwYW4+R2V0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0ZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9hPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0gPT09ICd0YW5nb1RyYWZmaWMnXCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZ2JTbGlkZT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBwLTIwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctNCBjb2wtc20tMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJjYXJkaW1nXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL3RhbmdvVHJhZmZpYy5wbmdcIiBhbHQ9XCJUYW5nbyBsb2dvXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZyBtYi0yXCI+V2VsY29tZSB0byBUcmFmZmljISDwn5GLXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVhc3VyZSBJbi1TdG9yZSBUcmFmZmljICYgU2hvcHBlciBJbnNpZ2h0c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPk9uYm9hcmQgU3RvcmVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLWl0ZW1zLXN0YXJ0IGNhcmQtc3ViIG14LTE0XCI+RWFzaWx5IGFkZCBhbmQgbWFuYWdlIHN0b3JlcyB3aXRoIGp1c3RcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZld1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2tzIG9uIHRoZSBkYXNoYm9hcmRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPlZpc3VhbGlzZSBEYXRhIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLWl0ZW1zLXN0YXJ0IGNhcmQtc3ViIG14LTE0XCI+VmlldyBpbnRlbGxpZ2VudCBpbnNpZ2h0cyBpbmNsdWRpbmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWZmaWNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm5zLCBkd2VsbCB0aW1lcywgZGVtb2dyYXBoaWNzIGVuYWJsaW5nIHlvdSB0byBtYWtlIGluZm9ybWVkIGRlY2lzaW9ucy5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiB2aWV3Qm94PVwiMCAwIDM2IDM2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjY2NjcgMTEuMzM0TDEyIDE5LjMzNEgxOEwxNy4zMzMzIDI0LjY2NzNMMjQgMTYuNjY3M0gxOEwxOC42NjY3IDExLjMzNFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbXgtM1wiPk1hbmFnZSBUaWNrZXRzIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLWl0ZW1zLXN0YXJ0IGNhcmQtc3ViIG14LTE0XCI+RWFzaWx5IHRyYWNrIGFuZCByZXNvbHZlIHlvdXIgc3VwcG9ydFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGlja2V0c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHByb21wdCBhbmQgZWZmaWNpZW50IHNlcnZpY2UuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAnY2xpZW50J1wiIHR5cGU9XCJidXR0b25cIiByb3V0ZXJMaW5rPVwiL21hbmFnZS9zdW1tYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBweC00IG10LTIgY3Vyc29yLXBvaW50ZXIgbmctc3Rhci1pbnNlcnRlZFwiPjxzcGFuPkdldFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGFydGVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvYT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG5cclxuPC9uZ2ItY2Fyb3VzZWw+Il19
@@ -28,14 +28,14 @@ export class HeaderMenuComponent {
28
28
  this.unsubscribe.forEach((sb) => sb.unsubscribe());
29
29
  }
30
30
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeaderMenuComponent, deps: [{ token: i1.PageInfoService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
31
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: HeaderMenuComponent, selector: "lib-header-menu", inputs: { appPageTitleDirection: "appPageTitleDirection", appPageTitleDescription: "appPageTitleDescription" }, ngImport: i0, template: "<ng-container *ngIf=\"title$ | async as title\">\r\n <!-- begin::Title -->\r\n <h1 class=\"page-heading d-flex text-gray-900 fw-bold fs-3 my-0 flex-column justify-content-center\">\r\n {{ title }}\r\n <ng-container *ngIf=\"appPageTitleDescription\">\r\n <ng-container *ngIf=\"description$ | async as description\">\r\n\r\n\r\n <!--begin::Description-->\r\n <span class=\"page-desc text-muted fs-7 fw-semibold mt-2\" [ngClass]=\"{'pt-2': appPageTitleDirection === 'column'}\">\r\n <ng-container *ngIf=\"appPageTitleDirection === 'row'\">\r\n <!--begin::Separator-->\r\n <span class=\"h-20px border-1 border-gray-300 border-start ms-3 mx-2\"></span>\r\n <!--end::Separator-->\r\n </ng-container>\r\n\r\n {{description}}\r\n </span>\r\n <!--end::Description-->\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n </h1>\r\n <!-- end::Title -->\r\n\r\n</ng-container>\r\n", styles: [":host{height:inherit;width:inherit}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
31
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: HeaderMenuComponent, selector: "lib-header-menu", inputs: { appPageTitleDirection: "appPageTitleDirection", appPageTitleDescription: "appPageTitleDescription" }, ngImport: i0, template: "<ng-container *ngIf=\"title$ | async as title\">\r\n <!-- begin::Title -->\r\n <h1 class=\"page-heading d-flex text-gray-900 fw-bold fs-3 mt-7 mb-0 flex-column justify-content-center\">\r\n {{ title }}\r\n <ng-container *ngIf=\"appPageTitleDescription\">\r\n <ng-container *ngIf=\"description$ | async as description\">\r\n\r\n\r\n <!--begin::Description-->\r\n <span class=\"page-desc text-muted fs-7 fw-semibold mt-2\" [ngClass]=\"{'pt-2': appPageTitleDirection === 'column'}\">\r\n <ng-container *ngIf=\"appPageTitleDirection === 'row'\">\r\n <!--begin::Separator-->\r\n <span class=\"h-20px border-1 border-gray-300 border-start ms-3 mx-2\"></span>\r\n <!--end::Separator-->\r\n </ng-container>\r\n\r\n <!-- {{description}} -->\r\n </span>\r\n <!--end::Description-->\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n </h1>\r\n <!-- end::Title -->\r\n\r\n</ng-container>\r\n", styles: [":host{height:inherit;width:inherit}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
32
32
  }
33
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeaderMenuComponent, decorators: [{
34
34
  type: Component,
35
- args: [{ selector: 'lib-header-menu', template: "<ng-container *ngIf=\"title$ | async as title\">\r\n <!-- begin::Title -->\r\n <h1 class=\"page-heading d-flex text-gray-900 fw-bold fs-3 my-0 flex-column justify-content-center\">\r\n {{ title }}\r\n <ng-container *ngIf=\"appPageTitleDescription\">\r\n <ng-container *ngIf=\"description$ | async as description\">\r\n\r\n\r\n <!--begin::Description-->\r\n <span class=\"page-desc text-muted fs-7 fw-semibold mt-2\" [ngClass]=\"{'pt-2': appPageTitleDirection === 'column'}\">\r\n <ng-container *ngIf=\"appPageTitleDirection === 'row'\">\r\n <!--begin::Separator-->\r\n <span class=\"h-20px border-1 border-gray-300 border-start ms-3 mx-2\"></span>\r\n <!--end::Separator-->\r\n </ng-container>\r\n\r\n {{description}}\r\n </span>\r\n <!--end::Description-->\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n </h1>\r\n <!-- end::Title -->\r\n\r\n</ng-container>\r\n", styles: [":host{height:inherit;width:inherit}\n"] }]
35
+ args: [{ selector: 'lib-header-menu', template: "<ng-container *ngIf=\"title$ | async as title\">\r\n <!-- begin::Title -->\r\n <h1 class=\"page-heading d-flex text-gray-900 fw-bold fs-3 mt-7 mb-0 flex-column justify-content-center\">\r\n {{ title }}\r\n <ng-container *ngIf=\"appPageTitleDescription\">\r\n <ng-container *ngIf=\"description$ | async as description\">\r\n\r\n\r\n <!--begin::Description-->\r\n <span class=\"page-desc text-muted fs-7 fw-semibold mt-2\" [ngClass]=\"{'pt-2': appPageTitleDirection === 'column'}\">\r\n <ng-container *ngIf=\"appPageTitleDirection === 'row'\">\r\n <!--begin::Separator-->\r\n <span class=\"h-20px border-1 border-gray-300 border-start ms-3 mx-2\"></span>\r\n <!--end::Separator-->\r\n </ng-container>\r\n\r\n <!-- {{description}} -->\r\n </span>\r\n <!--end::Description-->\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n </h1>\r\n <!-- end::Title -->\r\n\r\n</ng-container>\r\n", styles: [":host{height:inherit;width:inherit}\n"] }]
36
36
  }], ctorParameters: () => [{ type: i1.PageInfoService }, { type: i0.ChangeDetectorRef }], propDecorators: { appPageTitleDirection: [{
37
37
  type: Input
38
38
  }], appPageTitleDescription: [{
39
39
  type: Input
40
40
  }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL21vZHVsZXMvbGF5b3V0L2hlYWRlci9oZWFkZXItbWVudS9oZWFkZXItbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvaGVhZGVyL2hlYWRlci1tZW51L2hlYWRlci1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7Ozs7QUFVdkYsTUFBTSxPQUFPLG1CQUFtQjtJQVNWO0lBQW1DO0lBUi9DLFdBQVcsR0FBbUIsRUFBRSxDQUFDO0lBRWhDLHFCQUFxQixHQUFXLEVBQUUsQ0FBQztJQUNuQyx1QkFBdUIsR0FBWSxJQUFJLENBQUM7SUFFakQsTUFBTSxDQUFxQjtJQUMzQixZQUFZLENBQXFCO0lBRWpDLFlBQW9CLFFBQXlCLEVBQVUsRUFBb0I7UUFBdkQsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFrQjtJQUFHLENBQUM7SUFFL0UsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUU3RCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDekIsQ0FBQyxDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFO1lBQy9CLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDekIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO3dHQXpCVSxtQkFBbUI7NEZBQW5CLG1CQUFtQix1S0NWaEMsbTlCQTJCQTs7NEZEakJhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxpQkFBaUI7b0hBT2xCLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFBhZ2VJbmZvU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWhlYWRlci1tZW51JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2hlYWRlci1tZW51LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIZWFkZXJNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgdW5zdWJzY3JpYmU6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIGFwcFBhZ2VUaXRsZURpcmVjdGlvbjogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgYXBwUGFnZVRpdGxlRGVzY3JpcHRpb246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICB0aXRsZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICBkZXNjcmlwdGlvbiQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwYWdlSW5mbzogUGFnZUluZm9TZXJ2aWNlLCBwcml2YXRlIGNkOkNoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGl0bGUkID0gdGhpcy5wYWdlSW5mby50aXRsZS5hc09ic2VydmFibGUoKTtcclxuICAgIHRoaXMuZGVzY3JpcHRpb24kID0gdGhpcy5wYWdlSW5mby5kZXNjcmlwdGlvbi5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgICB0aGlzLnRpdGxlJC5zdWJzY3JpYmUoKGUpPT57XHJcbiAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICB9KVxyXG4gICAgdGhpcy5kZXNjcmlwdGlvbiQuc3Vic2NyaWJlKChlKT0+e1xyXG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZS5mb3JFYWNoKChzYikgPT4gc2IudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG59XHJcblxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwidGl0bGUkIHwgYXN5bmMgYXMgdGl0bGVcIj5cclxuICA8IS0tIGJlZ2luOjpUaXRsZSAtLT5cclxuICA8aDEgY2xhc3M9XCJwYWdlLWhlYWRpbmcgZC1mbGV4IHRleHQtZ3JheS05MDAgZnctYm9sZCBmcy0zIG15LTAgZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAge3sgdGl0bGUgfX1cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBQYWdlVGl0bGVEZXNjcmlwdGlvblwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGVzY3JpcHRpb24kIHwgYXN5bmMgYXMgZGVzY3JpcHRpb25cIj5cclxuXHJcblxyXG4gICAgICAgIDwhLS1iZWdpbjo6RGVzY3JpcHRpb24tLT5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInBhZ2UtZGVzYyB0ZXh0LW11dGVkIGZzLTcgZnctc2VtaWJvbGQgbXQtMlwiIFtuZ0NsYXNzXT1cInsncHQtMic6IGFwcFBhZ2VUaXRsZURpcmVjdGlvbiA9PT0gJ2NvbHVtbid9XCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwUGFnZVRpdGxlRGlyZWN0aW9uID09PSAncm93J1wiPlxyXG4gICAgICAgICAgICA8IS0tYmVnaW46OlNlcGFyYXRvci0tPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImgtMjBweCBib3JkZXItMSBib3JkZXItZ3JheS0zMDAgYm9yZGVyLXN0YXJ0IG1zLTMgbXgtMlwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPCEtLWVuZDo6U2VwYXJhdG9yLS0+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICB7e2Rlc2NyaXB0aW9ufX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPCEtLWVuZDo6RGVzY3JpcHRpb24tLT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDwvaDE+XHJcbiAgPCEtLSBlbmQ6OlRpdGxlIC0tPlxyXG5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL21vZHVsZXMvbGF5b3V0L2hlYWRlci9oZWFkZXItbWVudS9oZWFkZXItbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvaGVhZGVyL2hlYWRlci1tZW51L2hlYWRlci1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7Ozs7QUFVdkYsTUFBTSxPQUFPLG1CQUFtQjtJQVNWO0lBQW1DO0lBUi9DLFdBQVcsR0FBbUIsRUFBRSxDQUFDO0lBRWhDLHFCQUFxQixHQUFXLEVBQUUsQ0FBQztJQUNuQyx1QkFBdUIsR0FBWSxJQUFJLENBQUM7SUFFakQsTUFBTSxDQUFxQjtJQUMzQixZQUFZLENBQXFCO0lBRWpDLFlBQW9CLFFBQXlCLEVBQVUsRUFBb0I7UUFBdkQsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFrQjtJQUFHLENBQUM7SUFFL0UsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUU3RCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDekIsQ0FBQyxDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFO1lBQy9CLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDekIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO3dHQXpCVSxtQkFBbUI7NEZBQW5CLG1CQUFtQix1S0NWaEMsaStCQTJCQTs7NEZEakJhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxpQkFBaUI7b0hBT2xCLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFBhZ2VJbmZvU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWhlYWRlci1tZW51JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2hlYWRlci1tZW51LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIZWFkZXJNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgdW5zdWJzY3JpYmU6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIGFwcFBhZ2VUaXRsZURpcmVjdGlvbjogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgYXBwUGFnZVRpdGxlRGVzY3JpcHRpb246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICB0aXRsZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICBkZXNjcmlwdGlvbiQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwYWdlSW5mbzogUGFnZUluZm9TZXJ2aWNlLCBwcml2YXRlIGNkOkNoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGl0bGUkID0gdGhpcy5wYWdlSW5mby50aXRsZS5hc09ic2VydmFibGUoKTtcclxuICAgIHRoaXMuZGVzY3JpcHRpb24kID0gdGhpcy5wYWdlSW5mby5kZXNjcmlwdGlvbi5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgICB0aGlzLnRpdGxlJC5zdWJzY3JpYmUoKGUpPT57XHJcbiAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICB9KVxyXG4gICAgdGhpcy5kZXNjcmlwdGlvbiQuc3Vic2NyaWJlKChlKT0+e1xyXG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZS5mb3JFYWNoKChzYikgPT4gc2IudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG59XHJcblxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwidGl0bGUkIHwgYXN5bmMgYXMgdGl0bGVcIj5cclxuICA8IS0tIGJlZ2luOjpUaXRsZSAtLT5cclxuICA8aDEgY2xhc3M9XCJwYWdlLWhlYWRpbmcgZC1mbGV4IHRleHQtZ3JheS05MDAgZnctYm9sZCBmcy0zIG10LTcgbWItMCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICB7eyB0aXRsZSB9fVxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcFBhZ2VUaXRsZURlc2NyaXB0aW9uXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkZXNjcmlwdGlvbiQgfCBhc3luYyBhcyBkZXNjcmlwdGlvblwiPlxyXG5cclxuXHJcbiAgICAgICAgPCEtLWJlZ2luOjpEZXNjcmlwdGlvbi0tPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwicGFnZS1kZXNjIHRleHQtbXV0ZWQgZnMtNyBmdy1zZW1pYm9sZCBtdC0yXCIgW25nQ2xhc3NdPVwieydwdC0yJzogYXBwUGFnZVRpdGxlRGlyZWN0aW9uID09PSAnY29sdW1uJ31cIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBQYWdlVGl0bGVEaXJlY3Rpb24gPT09ICdyb3cnXCI+XHJcbiAgICAgICAgICAgIDwhLS1iZWdpbjo6U2VwYXJhdG9yLS0+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaC0yMHB4IGJvcmRlci0xIGJvcmRlci1ncmF5LTMwMCBib3JkZXItc3RhcnQgbXMtMyBteC0yXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8IS0tZW5kOjpTZXBhcmF0b3ItLT5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgIDwhLS0ge3tkZXNjcmlwdGlvbn19IC0tPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8IS0tZW5kOjpEZXNjcmlwdGlvbi0tPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPC9oMT5cclxuICA8IS0tIGVuZDo6VGl0bGUgLS0+XHJcblxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19