tango-app-ui-shared 3.3.1-beta.14 → 3.3.1-beta.15

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.
@@ -83,13 +83,13 @@ export class DateSingleSelectComponent {
83
83
  this.selectedFilters.client = this.selectedClient.clientId;
84
84
  this.selectedFilters.clientName = this.selectedClient.clientName;
85
85
  this.selectedDateRange = {
86
- startDate: this.dayjs().subtract(1, 'days').format("DD-MM-YYYY"),
87
- endDate: this.dayjs().subtract(1, 'days').format("DD-MM-YYYY"), // Yesterday
86
+ startDate: this.dayjs().format("DD-MM-YYYY"),
87
+ endDate: this.dayjs().format("DD-MM-YYYY"), // Yesterday
88
88
  };
89
89
  // Set datetime to yesterday's date as well
90
90
  var datetime = {
91
- startDate: this.dayjs().subtract(1, 'days').format("YYYY-MM-DD"),
92
- endDate: this.dayjs().subtract(1, 'days').format("YYYY-MM-DD"), // Yesterday
91
+ startDate: this.dayjs().format("YYYY-MM-DD"),
92
+ endDate: this.dayjs().format("YYYY-MM-DD"), // Yesterday
93
93
  };
94
94
  this.selectedFilters.date = datetime;
95
95
  localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
@@ -105,6 +105,10 @@ export class DateSingleSelectComponent {
105
105
  this.selectedClient = event;
106
106
  }
107
107
  ranges = {
108
+ Today: [
109
+ this.dayjs(),
110
+ this.dayjs(),
111
+ ],
108
112
  Yesterday: [
109
113
  this.dayjs().subtract(1, "days"),
110
114
  this.dayjs().subtract(1, "days"),
@@ -174,4 +178,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
174
178
  type: Component,
175
179
  args: [{ selector: "lib-date-single-select", template: "<div class=\"wrapper mx-2\" >\r\n <lib-select [items]=\"clientList\" [multi]=\"false\" [searchField]=\"'clientName'\" [disabled]=\"false\" [idField]=\"'clientId'\"\r\n (selected)=\"onClientSelect($event)\" [selectedValues]=\"[selectedClient]\"></lib-select>\r\n\r\n \r\n</div>\r\n<div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input class=\"fx-date-range form-control ps-14\" style=\"min-width: 260px !important;\" type=\"text\" matInput ngxDaterangepickerMd [drops]=\"'down'\"\r\n [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\" [alwaysShowCalendars]=\"false\" [autoApply]=\"true\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" [readonly]=\"true\" />\r\n</div>\r\n\r\n<div class=\"btn btn-primary ms-2\" (click)=\"Apply()\">Apply</div>\r\n", styles: [".daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}::ng-deep .applyBtn{display:none!important}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .daterangepicker-input+.ngx-daterangepicker-material .applyBtn{display:none}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:365px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep table th{border-bottom:0px solid var(--Gray-200, #EAECF0)!important;background:transparent!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:16px!important;font-weight:500!important;line-height:24px}:host::ng-deep .md-drppicker td.available.today{text-decoration:unset;pointer-events:auto;color:unset}:host::ng-deep .md-drppicker td.available.today.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}.wrapper{min-width:200px}.btn-primary{line-height:18px!important}\n"] }]
176
180
  }], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.GlobalStateService }, { type: i0.ChangeDetectorRef }] });
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1zaW5nbGUtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC90b29sYmFyL2RhdGUtc2luZ2xlLXNlbGVjdC9kYXRlLXNpbmdsZS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL21vZHVsZXMvbGF5b3V0L3Rvb2xiYXIvZGF0ZS1zaW5nbGUtc2VsZWN0L2RhdGUtc2luZ2xlLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsQ0FBQzs7Ozs7OztBQVF6QixNQUFNLE9BQU8seUJBQXlCO0lBcUIxQjtJQUNBO0lBQ0E7SUF0QlYsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNkLFlBQVksR0FBRyxDQUFDLENBQWMsRUFBRSxFQUFFO1FBQ2hDLE1BQU0sV0FBVyxHQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdEMsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2hELENBQUMsQ0FBQTtJQUNDLGlCQUFpQixHQUFRLEVBQUUsQ0FBQztJQUM1QixVQUFVLEdBQVEsRUFBRSxDQUFDO0lBQ3JCLGNBQWMsQ0FBTTtJQUNwQixlQUFlLEdBQVE7UUFDckIsTUFBTSxFQUFFLElBQUk7UUFDWixVQUFVLEVBQUUsSUFBSTtRQUNoQixPQUFPLEVBQUUsRUFBRTtRQUNYLEtBQUssRUFBRSxJQUFJO1FBQ1gsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsSUFBSTtLQUNYLENBQUM7SUFDRixVQUFVLENBQU07SUFDaEIsWUFBWSxHQUFNLEVBQUUsQ0FBQztJQUVyQixZQUNVLElBQWlCLEVBQ2pCLEVBQXNCLEVBQ3RCLEVBQXFCO1FBRnJCLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDdEIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFHN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxTQUFTLENBQUM7WUFDL0IsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLEVBQUU7b0JBQ0wsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztvQkFDaEMsTUFBTSxTQUFTLEdBQUc7d0JBQ2hCLEdBQUcsRUFBRSxLQUFLO3dCQUNWLFVBQVUsRUFBRSxhQUFhO3dCQUN6QixRQUFRLEVBQUUsRUFBRTtxQkFDYixDQUFDO29CQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsc0RBQXNEO29CQUMxRixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztvQkFDNUQsSUFBSSxDQUFDLFlBQVksR0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FDdkMsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQzdCLENBQUM7b0JBQ0osTUFBTSxhQUFhLEdBQVEsSUFBSSxDQUFDLEtBQUssQ0FDbkMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLElBQUksQ0FDL0MsQ0FBQztvQkFDRixJQUFJLENBQUMsaUJBQWlCLEdBQUc7d0JBQ3ZCLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7d0JBQ3ZGLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7cUJBQ3JGLENBQUM7b0JBQ0YsSUFBSSxhQUFhLENBQUMsTUFBTSxFQUFFO3dCQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFOzRCQUNoQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLEtBQUssYUFBYSxDQUFDLE1BQU0sRUFBRTtnQ0FDekMsSUFBSSxDQUFDLGNBQWMsR0FBRyxHQUFHLENBQUM7NkJBQzNCO3dCQUNILENBQUMsQ0FBQyxDQUFDO3dCQUNELElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUM7d0JBQ25ELElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUM7d0JBQzNELElBQUcsYUFBYSxDQUFDLE1BQU0sS0FBSSxFQUFFLEVBQUM7NEJBQzVCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7eUJBQ2xEOzZCQUFNOzRCQUNMLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxHQUFHLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO3lCQUd2RDt3QkFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssR0FBSSxhQUFhLENBQUMsS0FBSyxDQUFDO3dCQUNsRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDO3dCQUMvQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDO3dCQUUvQyxJQUFJLENBQUMsaUJBQWlCLEdBQUc7NEJBQ3ZCLFNBQVMsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7NEJBQ3RGLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7eUJBQ3BGLENBQUM7d0JBRUYsWUFBWSxDQUFDLE9BQU8sQ0FDbEIsZ0JBQWdCLEVBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUNyQyxDQUFDO3dCQUNGLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7d0JBQ2xELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7cUJBQzNCO3lCQUFNO3dCQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO3dCQUM5RCxJQUFJLENBQUMsWUFBWSxHQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUN2QyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FDN0IsQ0FBQzt3QkFDRixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQ3ZDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7d0JBQ25ELElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDO3dCQUMzRCxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQzt3QkFDakUsSUFBSSxDQUFDLGlCQUFpQixHQUFHOzRCQUN2QixTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQzs0QkFDaEUsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBSSxZQUFZO3lCQUMvRSxDQUFDO3dCQUVGLDJDQUEyQzt3QkFDM0MsSUFBSSxRQUFRLEdBQUc7NEJBQ2IsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7NEJBQ2hFLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUksWUFBWTt5QkFDL0UsQ0FBQzt3QkFDRixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7d0JBQ3JDLFlBQVksQ0FBQyxPQUFPLENBQ2xCLGdCQUFnQixFQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FDckMsQ0FBQzt3QkFDRixJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO3dCQUNsRCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO3FCQUN6QjtpQkFDRjtZQUNILENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsUUFBUSxLQUFVLENBQUM7SUFDbkIsY0FBYyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUdELE1BQU0sR0FBUTtRQUNaLFNBQVMsRUFBRTtZQUNULElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztZQUNoQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUM7U0FDakM7UUFDRCxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0QsV0FBVyxFQUFFO1lBQ1gsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUNqRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1NBQy9DO1FBQ0YsWUFBWSxFQUFFO1lBQ2IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLHdCQUF3QjtTQUMxRDtRQUNDLFlBQVksRUFBRTtZQUNaLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDbEQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztTQUNqRDtLQUNGLENBQUM7SUFFRixpQkFBaUIsQ0FBQyxLQUFVO1FBQzFCLElBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUM7WUFDdkMsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQWMsRUFBRSxFQUFFO2dCQUN2QyxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUU7Z0JBQzdHLE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUNoRCxDQUFDLENBQUE7U0FDRjtJQUNDLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUduQixJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDN0MsSUFDRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3JDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUNuQztnQkFDQSxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUE7Z0JBQ2xELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQTtnQkFDOUMsSUFBSSxRQUFRLEdBQUc7b0JBQ2IsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO29CQUN4RSxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7aUJBQ3JFLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO2dCQUNyQyxZQUFZLENBQUMsT0FBTyxDQUNsQixnQkFBZ0IsRUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQ3JDLENBQUM7YUFDSDtTQUNGO2FBQUs7WUFDSixNQUFNLGFBQWEsR0FBUSxJQUFJLENBQUMsS0FBSyxDQUMvQixZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksSUFBSSxDQUMvQyxDQUFDO1lBQ0YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNoSCxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzVHLElBQUksQ0FBQyxFQUFFLEVBQUUsY0FBYyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUNsRDtJQUVILENBQUM7SUFFRCxLQUFLO1FBQ0gsTUFBTSxhQUFhLEdBQVEsSUFBSSxDQUFDLEtBQUssQ0FDbkMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLElBQUksQ0FDL0MsQ0FBQztRQUNGLElBQUksQ0FBQyxlQUFlLEdBQUcsYUFBYSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDO1FBQzVELElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFBO1FBQ2hFLElBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEtBQUksRUFBRSxFQUFDO1lBQ3BDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7U0FDbEQ7YUFBTTtZQUNMLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMvRDtRQUNELElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbEQsWUFBWSxDQUFDLE9BQU8sQ0FDbEIsZ0JBQWdCLEVBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUNyQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDekMsQ0FBQzt3R0FoTVUseUJBQXlCOzRGQUF6Qix5QkFBeUIsOERDVnRDLHEzREFzQkE7OzRGRFphLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgZGF5anMgZnJvbSBcImRheWpzXCI7XHJcbmltcG9ydCBcImRheWpzL2xvY2FsZS9lblwiO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJsaWItZGF0ZS1zaW5nbGUtc2VsZWN0XCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9kYXRlLXNpbmdsZS1zZWxlY3QuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybDogXCIuL2RhdGUtc2luZ2xlLXNlbGVjdC5jb21wb25lbnQuc2Nzc1wiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZVNpbmdsZVNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgZGF5anMgPSBkYXlqcztcclxuICBpc0N1c3RvbURhdGUgPSAobTogZGF5anMuRGF5anMpID0+IHtcclxuICAgIGNvbnN0IGlzVmFsaWREYXRlID0gIG0gPiB0aGlzLmRheWpzKCk7ICAgIFxyXG4gICAgcmV0dXJuIGlzVmFsaWREYXRlID8gJ2ludmFsaWQtZGF0ZScgOiBmYWxzZTtcclxufVxyXG4gIHNlbGVjdGVkRGF0ZVJhbmdlOiBhbnkgPSB7fTtcclxuICBjbGllbnRMaXN0OiBhbnkgPSBbXTtcclxuICBzZWxlY3RlZENsaWVudDogYW55O1xyXG4gIHNlbGVjdGVkRmlsdGVyczogYW55ID0ge1xyXG4gICAgY2xpZW50OiBudWxsLFxyXG4gICAgY2xpZW50TmFtZTogbnVsbCxcclxuICAgIGNsaWVudHM6IFtdLFxyXG4gICAgc3RvcmU6IG51bGwsXHJcbiAgICBzdG9yZXM6IFtdLFxyXG4gICAgZGF0ZTogbnVsbCxcclxuICB9O1xyXG4gIGR1bW15QXJyYXk6IGFueTtcclxuICByZXNwbnNlYXJyYXk6IGFueT1bXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGF1dGg6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBnczogR2xvYmFsU3RhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHtcclxuICAgXHJcbiAgICB0aGlzLmF1dGguZ2V0Q2xpZW50cygpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChlKSA9PiB7XHJcbiAgICAgICAgaWYgKGUpIHsgIFxyXG4gICAgICAgICAgdGhpcy5jbGllbnRMaXN0ID0gZS5kYXRhLnJlc3VsdDtcclxuICAgICAgICAgIGNvbnN0IGFsbE9wdGlvbiA9IHtcclxuICAgICAgICAgICAgX2lkOiAnYWxsJyxcclxuICAgICAgICAgICAgY2xpZW50TmFtZTogJ0FsbCBDbGllbnRzJyxcclxuICAgICAgICAgICAgY2xpZW50SWQ6ICcnXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgdGhpcy5jbGllbnRMaXN0LnVuc2hpZnQoYWxsT3B0aW9uKTsgLy8gQWRkcyB0aGUgXCJBTExcIiBvcHRpb24gYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYXJyYXlcclxuICAgICAgICAgIHRoaXMuZHVtbXlBcnJheSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5jbGllbnRMaXN0KSk7XHJcbiAgICAgICAgICAgIHRoaXMucmVzcG5zZWFycmF5ICA9ICB0aGlzLmR1bW15QXJyYXkubWFwKFxyXG4gICAgICAgICAgICAgIChpdGVtOiBhbnkpID0+IGl0ZW0uY2xpZW50SWQgIFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgY29uc3QgaGVhZGVyRmlsdGVyczogYW55ID0gSlNPTi5wYXJzZShcclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJoZWFkZXItZmlsdGVyc1wiKSB8fCBcInt9XCJcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlID0ge1xyXG4gICAgICAgICAgICBzdGFydERhdGU6IHRoaXMuZGF5anMoaGVhZGVyRmlsdGVycz8uZGF0ZT8uc3RhcnREYXRlLFwiREQtTU0tWVlZWVwiKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxyXG4gICAgICAgICAgICBlbmREYXRlOiB0aGlzLmRheWpzKGhlYWRlckZpbHRlcnM/LmRhdGU/LmVuZERhdGUsIFwiREQtTU0tWVlZWVwiKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgaWYgKGhlYWRlckZpbHRlcnMuY2xpZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xpZW50TGlzdC5maW5kKChvYmo6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChvYmouY2xpZW50SWQgPT09IGhlYWRlckZpbHRlcnMuY2xpZW50KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2xpZW50ID0gb2JqOyBcclxuICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRmlsdGVycy5jbGllbnQgPSBoZWFkZXJGaWx0ZXJzLmNsaWVudDtcclxuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRmlsdGVycy5jbGllbnROYW1lID0gaGVhZGVyRmlsdGVycy5jbGllbnROYW1lO1xyXG4gICAgICAgICAgICAgIGlmKGhlYWRlckZpbHRlcnMuY2xpZW50ID09PScnKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmNsaWVudHMgPSB0aGlzLnJlc3Buc2VhcnJheTtcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuY2xpZW50cyA9IFtoZWFkZXJGaWx0ZXJzLmNsaWVudF07XHJcbiAgICAgICAgICAgICAgICBcclxuXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLnN0b3JlID0gIGhlYWRlckZpbHRlcnMuc3RvcmU7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuZGF0ZSA9IGhlYWRlckZpbHRlcnMuZGF0ZTtcclxuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRmlsdGVycy5kYXRlID0gaGVhZGVyRmlsdGVycy5kYXRlO1xyXG5cclxuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlID0ge1xyXG4gICAgICAgICAgICAgICAgc3RhcnREYXRlOnRoaXMuZGF5anMoIGhlYWRlckZpbHRlcnMuZGF0ZS5zdGFydERhdGUsIFwiWVlZWS1NTS1ERFwiKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpLFxyXG4gICAgICAgICAgICAgICAgZW5kRGF0ZTogdGhpcy5kYXlqcyggaGVhZGVyRmlsdGVycy5kYXRlLmVuZERhdGUsIFwiWVlZWS1NTS1ERFwiKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpLFxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXHJcbiAgICAgICAgICAgICAgICBcImhlYWRlci1maWx0ZXJzXCIsXHJcbiAgICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnNlbGVjdGVkRmlsdGVycylcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWUubmV4dCh0aGlzLnNlbGVjdGVkRmlsdGVycyk7XHJcbiAgICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmR1bW15QXJyYXkgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuY2xpZW50TGlzdCkpO1xyXG4gICAgICAgICAgICB0aGlzLnJlc3Buc2VhcnJheSAgPSAgdGhpcy5kdW1teUFycmF5Lm1hcChcclxuICAgICAgICAgICAgICAoaXRlbTogYW55KSA9PiBpdGVtLmNsaWVudElkICBcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENsaWVudCA9IHRoaXMuY2xpZW50TGlzdFswXTtcclxuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRmlsdGVycy5jbGllbnRzID0gdGhpcy5yZXNwbnNlYXJyYXk7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmNsaWVudCA9IHRoaXMuc2VsZWN0ZWRDbGllbnQuY2xpZW50SWQ7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmNsaWVudE5hbWUgPSB0aGlzLnNlbGVjdGVkQ2xpZW50LmNsaWVudE5hbWU7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UgPSB7XHJcbiAgICAgICAgICAgICAgc3RhcnREYXRlOiB0aGlzLmRheWpzKCkuc3VidHJhY3QoMSwgJ2RheXMnKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpLCAvLyBZZXN0ZXJkYXlcclxuICAgICAgICAgICAgICBlbmREYXRlOiB0aGlzLmRheWpzKCkuc3VidHJhY3QoMSwgJ2RheXMnKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpLCAgIC8vIFllc3RlcmRheVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAvLyBTZXQgZGF0ZXRpbWUgdG8geWVzdGVyZGF5J3MgZGF0ZSBhcyB3ZWxsXHJcbiAgICAgICAgICAgIHZhciBkYXRldGltZSA9IHtcclxuICAgICAgICAgICAgICBzdGFydERhdGU6IHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCAnZGF5cycpLmZvcm1hdChcIllZWVktTU0tRERcIiksIC8vIFllc3RlcmRheVxyXG4gICAgICAgICAgICAgIGVuZERhdGU6IHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCAnZGF5cycpLmZvcm1hdChcIllZWVktTU0tRERcIiksICAgLy8gWWVzdGVyZGF5XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmRhdGUgPSBkYXRldGltZTtcclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXHJcbiAgICAgICAgICAgICAgXCJoZWFkZXItZmlsdGVyc1wiLFxyXG4gICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuc2VsZWN0ZWRGaWx0ZXJzKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlLm5leHQodGhpcy5zZWxlY3RlZEZpbHRlcnMpO1xyXG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG4gIG9uQ2xpZW50U2VsZWN0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRDbGllbnQgPSBldmVudDtcclxuICB9XHJcblxyXG5cclxuICByYW5nZXM6IGFueSA9IHtcclxuICAgIFllc3RlcmRheTogW1xyXG4gICAgICB0aGlzLmRheWpzKCkuc3VidHJhY3QoMSwgXCJkYXlzXCIpLFxyXG4gICAgICB0aGlzLmRheWpzKCkuc3VidHJhY3QoMSwgXCJkYXlzXCIpLFxyXG4gICAgXSxcclxuICAgIFwiVGhpcyBXZWVrXCI6IFt0aGlzLmRheWpzKCkuc3VidHJhY3QoNiwgXCJkYXlzXCIpLCB0aGlzLmRheWpzKCldLFxyXG4gICAgXCJMYXN0IFdlZWtcIjogW1xyXG4gICAgICB0aGlzLmRheWpzKCkuc3VidHJhY3QoMTQsIFwiZGF5c1wiKS5zdGFydE9mKFwiZGF5c1wiKSxcclxuICAgICAgdGhpcy5kYXlqcygpLnN1YnRyYWN0KDgsIFwiZGF5c1wiKS5lbmRPZihcImRheXNcIiksXHJcbiAgICBdLFxyXG4gICBcIlRoaXMgTW9udGhcIjogW1xyXG4gICAgdGhpcy5kYXlqcygpLnN1YnRyYWN0KDMwLCBcImRheXNcIiksIC8vIFN0YXJ0IGRhdGUgaXMgMzAgZGF5cyBiZWZvcmUgdG9kYXlcclxuICAgIHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCBcImRheXNcIikgLy8gRW5kIGRhdGUgaXMgWWVzdGVyZGF5XHJcbiAgXSxcclxuICAgIFwiTGFzdCBNb250aFwiOiBbXHJcbiAgICAgIHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCBcIm1vbnRoXCIpLnN0YXJ0T2YoXCJtb250aFwiKSxcclxuICAgICAgdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsIFwibW9udGhcIikuZW5kT2YoXCJtb250aFwiKSxcclxuICAgIF0sXHJcbiAgfTtcclxuXHJcbiAgb25TdGFydERhdGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYodGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUpLmlzVmFsaWQoKSl7XHJcbiAgICAgIHRoaXMuaXNDdXN0b21EYXRlID0gKG06IGRheWpzLkRheWpzKSA9PiB7ICAgICAgICBcclxuICAgICAgY29uc3QgaXNWYWxpZERhdGUgPSBtID4gdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsIFwiZGF5c1wiKSB8fCBtID4gdGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUuYWRkKDkwLCAnZGF5cycpKSA7XHJcbiAgICAgIHJldHVybiBpc1ZhbGlkRGF0ZSA/ICdpbnZhbGlkLWRhdGUnIDogZmFsc2U7XHJcbiAgfVxyXG59XHJcbiAgfVxyXG5cclxuICBkYXRlY2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIFxyXG4gICAgXHJcbiAgICBpZiAoZXZlbnQgJiYgZXZlbnQuc3RhcnREYXRlICYmIGV2ZW50LmVuZERhdGUpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS5pc1ZhbGlkKCkgJiZcclxuICAgICAgICB0aGlzLmRheWpzKGV2ZW50LmVuZERhdGUpLmlzVmFsaWQoKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSA9IGV2ZW50LnN0YXJ0RGF0ZVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSA9IGV2ZW50LmVuZERhdGVcclxuICAgICAgICB2YXIgZGF0ZXRpbWUgPSB7XHJcbiAgICAgICAgICBzdGFydERhdGU6IHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlLFwiREQtTU0tWVlZWVwiKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxyXG4gICAgICAgICAgZW5kRGF0ZTogdGhpcy5kYXlqcyhldmVudC5lbmREYXRlLFwiREQtTU0tWVlZWVwiKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuZGF0ZSA9IGRhdGV0aW1lO1xyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFxyXG4gICAgICAgICAgXCJoZWFkZXItZmlsdGVyc1wiLFxyXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5zZWxlY3RlZEZpbHRlcnMpXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfWVsc2Uge1xyXG4gICAgICBjb25zdCBoZWFkZXJGaWx0ZXJzOiBhbnkgPSBKU09OLnBhcnNlKFxyXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIpIHx8IFwie31cIlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlID0gdGhpcy5kYXlqcyhoZWFkZXJGaWx0ZXJzPy5kYXRlPy5zdGFydERhdGUsXCJZWVlZLU1NLUREXCIpLmZvcm1hdChcIkRELU1NLVlZWVlcIik7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLmVuZERhdGUgPSB0aGlzLmRheWpzKGhlYWRlckZpbHRlcnM/LmRhdGU/LmVuZERhdGUsXCJZWVlZLU1NLUREXCIpLmZvcm1hdChcIkRELU1NLVlZWVlcIik7XHJcbiAgICAgICAgICB0aGlzLmdzPy5kYXRhUmFuZ2VWYWx1ZT8ubmV4dChoZWFkZXJGaWx0ZXJzKTtcclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxuXHJcbiAgQXBwbHkoKSB7XHJcbiAgICBjb25zdCBoZWFkZXJGaWx0ZXJzOiBhbnkgPSBKU09OLnBhcnNlKFxyXG4gICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIpIHx8IFwie31cIlxyXG4gICAgKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzID0gaGVhZGVyRmlsdGVycztcclxuICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmNsaWVudCA9IHRoaXMuc2VsZWN0ZWRDbGllbnQ/LmNsaWVudElkO1xyXG4gICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuY2xpZW50TmFtZSA9IHRoaXMuc2VsZWN0ZWRDbGllbnQuY2xpZW50TmFtZVxyXG4gICAgaWYodGhpcy5zZWxlY3RlZENsaWVudC5jbGllbnRJZCA9PT0nJyl7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmNsaWVudHMgPSB0aGlzLnJlc3Buc2VhcnJheTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmNsaWVudHMgPSBbdGhpcy5zZWxlY3RlZENsaWVudC5jbGllbnRJZF07XHJcbiAgICB9XHJcbiAgICB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlLm5leHQodGhpcy5zZWxlY3RlZEZpbHRlcnMpO1xyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXHJcbiAgICAgIFwiaGVhZGVyLWZpbHRlcnNcIixcclxuICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5zZWxlY3RlZEZpbHRlcnMpXHJcbiAgICApO1xyXG4gICAgdGhpcy5ncy5tYW5hZ2VSZWZyZXNoVHJpZ2dlci5uZXh0KHRydWUpXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ3cmFwcGVyIG14LTJcIiA+XHJcbiAgICA8bGliLXNlbGVjdCBbaXRlbXNdPVwiY2xpZW50TGlzdFwiIFttdWx0aV09XCJmYWxzZVwiIFtzZWFyY2hGaWVsZF09XCInY2xpZW50TmFtZSdcIiBbZGlzYWJsZWRdPVwiZmFsc2VcIiBbaWRGaWVsZF09XCInY2xpZW50SWQnXCJcclxuICAgICAgICAoc2VsZWN0ZWQpPVwib25DbGllbnRTZWxlY3QoJGV2ZW50KVwiIFtzZWxlY3RlZFZhbHVlc109XCJbc2VsZWN0ZWRDbGllbnRdXCI+PC9saWItc2VsZWN0PlxyXG5cclxuICAgICAgICBcclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTFcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMSBwb3NpdGlvbi1hYnNvbHV0ZSBtcy0zXCI+XHJcbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICBkPVwiTTEzLjMzMzMgMS42NjY2M1Y0Ljk5OTk2TTYuNjY2NjcgMS42NjY2M1Y0Ljk5OTk2TTIuNSA4LjMzMzI5SDE3LjVNNC4xNjY2NyAzLjMzMzI5SDE1LjgzMzNDMTYuNzUzOCAzLjMzMzI5IDE3LjUgNC4wNzk0OCAxNy41IDQuOTk5OTZWMTYuNjY2NkMxNy41IDE3LjU4NzEgMTYuNzUzOCAxOC4zMzMzIDE1LjgzMzMgMTguMzMzM0g0LjE2NjY3QzMuMjQ2MTkgMTguMzMzMyAyLjUgMTcuNTg3MSAyLjUgMTYuNjY2NlY0Ljk5OTk2QzIuNSA0LjA3OTQ4IDMuMjQ2MTkgMy4zMzMyOSA0LjE2NjY3IDMuMzMzMjlaXCJcclxuICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICA8L3N2Zz5cclxuICAgIDwvc3Bhbj5cclxuICAgIDxpbnB1dCBjbGFzcz1cImZ4LWRhdGUtcmFuZ2UgZm9ybS1jb250cm9sIHBzLTE0XCIgc3R5bGU9XCJtaW4td2lkdGg6IDI2MHB4ICFpbXBvcnRhbnQ7XCIgdHlwZT1cInRleHRcIiBtYXRJbnB1dCBuZ3hEYXRlcmFuZ2VwaWNrZXJNZCBbZHJvcHNdPVwiJ2Rvd24nXCJcclxuICAgICAgICBbb3BlbnNdPVwiJ3JpZ2h0J1wiIFtyYW5nZXNdPVwicmFuZ2VzXCIgW3Nob3dDdXN0b21SYW5nZUxhYmVsXT1cInRydWVcIiBbYWx3YXlzU2hvd0NhbGVuZGFyc109XCJmYWxzZVwiIFthdXRvQXBwbHldPVwidHJ1ZVwiXHJcbiAgICAgICAgW2tlZXBDYWxlbmRhck9wZW5pbmdXaXRoUmFuZ2VdPVwidHJ1ZVwiIFtzaG93Q2FuY2VsXT1cInRydWVcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRGF0ZVJhbmdlXCIgKHN0YXJ0RGF0ZUNoYW5nZWQpPVwib25TdGFydERhdGVDaGFuZ2UoJGV2ZW50KVwiICBbaXNDdXN0b21EYXRlXT1cImlzQ3VzdG9tRGF0ZVwiXHJcbiAgICAgICAgW2xvY2FsZV09XCJ7IGZvcm1hdDogJ0RELU1NLVlZWVknLCBmaXJzdERheTogMSwgbW9udGhOYW1lczogWydKYW51YXJ5JywgJ0ZlYnJ1YXJ5JywgJ01hcmNoJywgJ0FwcmlsJywgJ01heScsICdKdW5lJywgJ0p1bHknLCAnQXVndXN0JywgJ1NlcHRlbWJlcicsICdPY3RvYmVyJywgJ05vdmVtYmVyJywgJ0RlY2VtYmVyJ10gfVwiXHJcbiAgICAgICAgKGRhdGVzVXBkYXRlZCk9XCJkYXRlY2hhbmdlKCRldmVudClcIiBuYW1lPVwiZGF0ZXJhbmdlXCIgW3JlYWRvbmx5XT1cInRydWVcIiAvPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbXMtMlwiIChjbGljayk9XCJBcHBseSgpXCI+QXBwbHk8L2Rpdj5cclxuIl19
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1zaW5nbGUtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC90b29sYmFyL2RhdGUtc2luZ2xlLXNlbGVjdC9kYXRlLXNpbmdsZS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL21vZHVsZXMvbGF5b3V0L3Rvb2xiYXIvZGF0ZS1zaW5nbGUtc2VsZWN0L2RhdGUtc2luZ2xlLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsQ0FBQzs7Ozs7OztBQVF6QixNQUFNLE9BQU8seUJBQXlCO0lBcUIxQjtJQUNBO0lBQ0E7SUF0QlYsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNkLFlBQVksR0FBRyxDQUFDLENBQWMsRUFBRSxFQUFFO1FBQ2hDLE1BQU0sV0FBVyxHQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdEMsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2hELENBQUMsQ0FBQTtJQUNDLGlCQUFpQixHQUFRLEVBQUUsQ0FBQztJQUM1QixVQUFVLEdBQVEsRUFBRSxDQUFDO0lBQ3JCLGNBQWMsQ0FBTTtJQUNwQixlQUFlLEdBQVE7UUFDckIsTUFBTSxFQUFFLElBQUk7UUFDWixVQUFVLEVBQUUsSUFBSTtRQUNoQixPQUFPLEVBQUUsRUFBRTtRQUNYLEtBQUssRUFBRSxJQUFJO1FBQ1gsTUFBTSxFQUFFLEVBQUU7UUFD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LEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNsRCxZQUFZLENBQUMsT0FBTyxDQUNsQixnQkFBZ0IsRUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQ3JDLENBQUM7UUFDRixJQUFJLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN6QyxDQUFDO3dHQXBNVSx5QkFBeUI7NEZBQXpCLHlCQUF5Qiw4RENWdEMscTNEQXNCQTs7NEZEWmEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCBkYXlqcyBmcm9tIFwiZGF5anNcIjtcclxuaW1wb3J0IFwiZGF5anMvbG9jYWxlL2VuXCI7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImxpYi1kYXRlLXNpbmdsZS1zZWxlY3RcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2RhdGUtc2luZ2xlLXNlbGVjdC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsOiBcIi4vZGF0ZS1zaW5nbGUtc2VsZWN0LmNvbXBvbmVudC5zY3NzXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRlU2luZ2xlU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBkYXlqcyA9IGRheWpzO1xyXG4gIGlzQ3VzdG9tRGF0ZSA9IChtOiBkYXlqcy5EYXlqcykgPT4ge1xyXG4gICAgY29uc3QgaXNWYWxpZERhdGUgPSAgbSA+IHRoaXMuZGF5anMoKTsgICAgXHJcbiAgICByZXR1cm4gaXNWYWxpZERhdGUgPyAnaW52YWxpZC1kYXRlJyA6IGZhbHNlO1xyXG59XHJcbiAgc2VsZWN0ZWREYXRlUmFuZ2U6IGFueSA9IHt9O1xyXG4gIGNsaWVudExpc3Q6IGFueSA9IFtdO1xyXG4gIHNlbGVjdGVkQ2xpZW50OiBhbnk7XHJcbiAgc2VsZWN0ZWRGaWx0ZXJzOiBhbnkgPSB7XHJcbiAgICBjbGllbnQ6IG51bGwsXHJcbiAgICBjbGllbnROYW1lOiBudWxsLFxyXG4gICAgY2xpZW50czogW10sXHJcbiAgICBzdG9yZTogbnVsbCxcclxuICAgIHN0b3JlczogW10sXHJcbiAgICBkYXRlOiBudWxsLFxyXG4gIH07XHJcbiAgZHVtbXlBcnJheTogYW55O1xyXG4gIHJlc3Buc2VhcnJheTogYW55PVtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXV0aDogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge1xyXG4gICBcclxuICAgIHRoaXMuYXV0aC5nZXRDbGllbnRzKCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKGUpID0+IHtcclxuICAgICAgICBpZiAoZSkgeyAgXHJcbiAgICAgICAgICB0aGlzLmNsaWVudExpc3QgPSBlLmRhdGEucmVzdWx0O1xyXG4gICAgICAgICAgY29uc3QgYWxsT3B0aW9uID0ge1xyXG4gICAgICAgICAgICBfaWQ6ICdhbGwnLFxyXG4gICAgICAgICAgICBjbGllbnROYW1lOiAnQWxsIENsaWVudHMnLFxyXG4gICAgICAgICAgICBjbGllbnRJZDogJydcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICB0aGlzLmNsaWVudExpc3QudW5zaGlmdChhbGxPcHRpb24pOyAvLyBBZGRzIHRoZSBcIkFMTFwiIG9wdGlvbiBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBhcnJheVxyXG4gICAgICAgICAgdGhpcy5kdW1teUFycmF5ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmNsaWVudExpc3QpKTtcclxuICAgICAgICAgICAgdGhpcy5yZXNwbnNlYXJyYXkgID0gIHRoaXMuZHVtbXlBcnJheS5tYXAoXHJcbiAgICAgICAgICAgICAgKGl0ZW06IGFueSkgPT4gaXRlbS5jbGllbnRJZCAgXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICBjb25zdCBoZWFkZXJGaWx0ZXJzOiBhbnkgPSBKU09OLnBhcnNlKFxyXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIpIHx8IFwie31cIlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UgPSB7XHJcbiAgICAgICAgICAgIHN0YXJ0RGF0ZTogdGhpcy5kYXlqcyhoZWFkZXJGaWx0ZXJzPy5kYXRlPy5zdGFydERhdGUsXCJERC1NTS1ZWVlZXCIpLmZvcm1hdChcIllZWVktTU0tRERcIiksXHJcbiAgICAgICAgICAgIGVuZERhdGU6IHRoaXMuZGF5anMoaGVhZGVyRmlsdGVycz8uZGF0ZT8uZW5kRGF0ZSwgXCJERC1NTS1ZWVlZXCIpLmZvcm1hdChcIllZWVktTU0tRERcIilcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICBpZiAoaGVhZGVyRmlsdGVycy5jbGllbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5jbGllbnRMaXN0LmZpbmQoKG9iajogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKG9iai5jbGllbnRJZCA9PT0gaGVhZGVyRmlsdGVycy5jbGllbnQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDbGllbnQgPSBvYmo7IFxyXG4gICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmNsaWVudCA9IGhlYWRlckZpbHRlcnMuY2xpZW50O1xyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmNsaWVudE5hbWUgPSBoZWFkZXJGaWx0ZXJzLmNsaWVudE5hbWU7XHJcbiAgICAgICAgICAgICAgaWYoaGVhZGVyRmlsdGVycy5jbGllbnQgPT09Jycpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuY2xpZW50cyA9IHRoaXMucmVzcG5zZWFycmF5O1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRmlsdGVycy5jbGllbnRzID0gW2hlYWRlckZpbHRlcnMuY2xpZW50XTtcclxuICAgICAgICAgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuc3RvcmUgPSAgaGVhZGVyRmlsdGVycy5zdG9yZTtcclxuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRmlsdGVycy5kYXRlID0gaGVhZGVyRmlsdGVycy5kYXRlO1xyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmRhdGUgPSBoZWFkZXJGaWx0ZXJzLmRhdGU7XHJcblxyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UgPSB7XHJcbiAgICAgICAgICAgICAgICBzdGFydERhdGU6dGhpcy5kYXlqcyggaGVhZGVyRmlsdGVycy5kYXRlLnN0YXJ0RGF0ZSwgXCJZWVlZLU1NLUREXCIpLmZvcm1hdChcIkRELU1NLVlZWVlcIiksXHJcbiAgICAgICAgICAgICAgICBlbmREYXRlOiB0aGlzLmRheWpzKCBoZWFkZXJGaWx0ZXJzLmRhdGUuZW5kRGF0ZSwgXCJZWVlZLU1NLUREXCIpLmZvcm1hdChcIkRELU1NLVlZWVlcIiksXHJcbiAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICBcclxuICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcclxuICAgICAgICAgICAgICAgIFwiaGVhZGVyLWZpbHRlcnNcIixcclxuICAgICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuc2VsZWN0ZWRGaWx0ZXJzKVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZS5uZXh0KHRoaXMuc2VsZWN0ZWRGaWx0ZXJzKTtcclxuICAgICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZHVtbXlBcnJheSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5jbGllbnRMaXN0KSk7XHJcbiAgICAgICAgICAgIHRoaXMucmVzcG5zZWFycmF5ICA9ICB0aGlzLmR1bW15QXJyYXkubWFwKFxyXG4gICAgICAgICAgICAgIChpdGVtOiBhbnkpID0+IGl0ZW0uY2xpZW50SWQgIFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2xpZW50ID0gdGhpcy5jbGllbnRMaXN0WzBdO1xyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmNsaWVudHMgPSB0aGlzLnJlc3Buc2VhcnJheTtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuY2xpZW50ID0gdGhpcy5zZWxlY3RlZENsaWVudC5jbGllbnRJZDtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuY2xpZW50TmFtZSA9IHRoaXMuc2VsZWN0ZWRDbGllbnQuY2xpZW50TmFtZTtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZSA9IHtcclxuICAgICAgICAgICAgICBzdGFydERhdGU6IHRoaXMuZGF5anMoKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpLCAvLyBZZXN0ZXJkYXlcclxuICAgICAgICAgICAgICBlbmREYXRlOiB0aGlzLmRheWpzKCkuZm9ybWF0KFwiREQtTU0tWVlZWVwiKSwgICAvLyBZZXN0ZXJkYXlcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICBcclxuICAgICAgICAgICAgLy8gU2V0IGRhdGV0aW1lIHRvIHllc3RlcmRheSdzIGRhdGUgYXMgd2VsbFxyXG4gICAgICAgICAgICB2YXIgZGF0ZXRpbWUgPSB7XHJcbiAgICAgICAgICAgICAgc3RhcnREYXRlOiB0aGlzLmRheWpzKCkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSwgLy8gWWVzdGVyZGF5XHJcbiAgICAgICAgICAgICAgZW5kRGF0ZTogdGhpcy5kYXlqcygpLmZvcm1hdChcIllZWVktTU0tRERcIiksICAgLy8gWWVzdGVyZGF5XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmRhdGUgPSBkYXRldGltZTtcclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXHJcbiAgICAgICAgICAgICAgXCJoZWFkZXItZmlsdGVyc1wiLFxyXG4gICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuc2VsZWN0ZWRGaWx0ZXJzKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlLm5leHQodGhpcy5zZWxlY3RlZEZpbHRlcnMpO1xyXG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG4gIG9uQ2xpZW50U2VsZWN0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRDbGllbnQgPSBldmVudDtcclxuICB9XHJcblxyXG5cclxuICByYW5nZXM6IGFueSA9IHtcclxuICAgIFRvZGF5OiBbXHJcbiAgICAgIHRoaXMuZGF5anMoKSxcclxuICAgICAgdGhpcy5kYXlqcygpLFxyXG4gICAgXSxcclxuICAgIFllc3RlcmRheTogW1xyXG4gICAgICB0aGlzLmRheWpzKCkuc3VidHJhY3QoMSwgXCJkYXlzXCIpLFxyXG4gICAgICB0aGlzLmRheWpzKCkuc3VidHJhY3QoMSwgXCJkYXlzXCIpLFxyXG4gICAgXSxcclxuICAgIFwiVGhpcyBXZWVrXCI6IFt0aGlzLmRheWpzKCkuc3VidHJhY3QoNiwgXCJkYXlzXCIpLCB0aGlzLmRheWpzKCldLFxyXG4gICAgXCJMYXN0IFdlZWtcIjogW1xyXG4gICAgICB0aGlzLmRheWpzKCkuc3VidHJhY3QoMTQsIFwiZGF5c1wiKS5zdGFydE9mKFwiZGF5c1wiKSxcclxuICAgICAgdGhpcy5kYXlqcygpLnN1YnRyYWN0KDgsIFwiZGF5c1wiKS5lbmRPZihcImRheXNcIiksXHJcbiAgICBdLFxyXG4gICBcIlRoaXMgTW9udGhcIjogW1xyXG4gICAgdGhpcy5kYXlqcygpLnN1YnRyYWN0KDMwLCBcImRheXNcIiksIC8vIFN0YXJ0IGRhdGUgaXMgMzAgZGF5cyBiZWZvcmUgdG9kYXlcclxuICAgIHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCBcImRheXNcIikgLy8gRW5kIGRhdGUgaXMgWWVzdGVyZGF5XHJcbiAgXSxcclxuICAgIFwiTGFzdCBNb250aFwiOiBbXHJcbiAgICAgIHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCBcIm1vbnRoXCIpLnN0YXJ0T2YoXCJtb250aFwiKSxcclxuICAgICAgdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsIFwibW9udGhcIikuZW5kT2YoXCJtb250aFwiKSxcclxuICAgIF0sXHJcbiAgfTtcclxuXHJcbiAgb25TdGFydERhdGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYodGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUpLmlzVmFsaWQoKSl7XHJcbiAgICAgIHRoaXMuaXNDdXN0b21EYXRlID0gKG06IGRheWpzLkRheWpzKSA9PiB7ICAgICAgICBcclxuICAgICAgY29uc3QgaXNWYWxpZERhdGUgPSBtID4gdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsIFwiZGF5c1wiKSB8fCBtID4gdGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUuYWRkKDkwLCAnZGF5cycpKSA7XHJcbiAgICAgIHJldHVybiBpc1ZhbGlkRGF0ZSA/ICdpbnZhbGlkLWRhdGUnIDogZmFsc2U7XHJcbiAgfVxyXG59XHJcbiAgfVxyXG5cclxuICBkYXRlY2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIFxyXG4gICAgXHJcbiAgICBpZiAoZXZlbnQgJiYgZXZlbnQuc3RhcnREYXRlICYmIGV2ZW50LmVuZERhdGUpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS5pc1ZhbGlkKCkgJiZcclxuICAgICAgICB0aGlzLmRheWpzKGV2ZW50LmVuZERhdGUpLmlzVmFsaWQoKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSA9IGV2ZW50LnN0YXJ0RGF0ZVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSA9IGV2ZW50LmVuZERhdGVcclxuICAgICAgICB2YXIgZGF0ZXRpbWUgPSB7XHJcbiAgICAgICAgICBzdGFydERhdGU6IHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlLFwiREQtTU0tWVlZWVwiKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxyXG4gICAgICAgICAgZW5kRGF0ZTogdGhpcy5kYXlqcyhldmVudC5lbmREYXRlLFwiREQtTU0tWVlZWVwiKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuZGF0ZSA9IGRhdGV0aW1lO1xyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFxyXG4gICAgICAgICAgXCJoZWFkZXItZmlsdGVyc1wiLFxyXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5zZWxlY3RlZEZpbHRlcnMpXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfWVsc2Uge1xyXG4gICAgICBjb25zdCBoZWFkZXJGaWx0ZXJzOiBhbnkgPSBKU09OLnBhcnNlKFxyXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIpIHx8IFwie31cIlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlID0gdGhpcy5kYXlqcyhoZWFkZXJGaWx0ZXJzPy5kYXRlPy5zdGFydERhdGUsXCJZWVlZLU1NLUREXCIpLmZvcm1hdChcIkRELU1NLVlZWVlcIik7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLmVuZERhdGUgPSB0aGlzLmRheWpzKGhlYWRlckZpbHRlcnM/LmRhdGU/LmVuZERhdGUsXCJZWVlZLU1NLUREXCIpLmZvcm1hdChcIkRELU1NLVlZWVlcIik7XHJcbiAgICAgICAgICB0aGlzLmdzPy5kYXRhUmFuZ2VWYWx1ZT8ubmV4dChoZWFkZXJGaWx0ZXJzKTtcclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxuXHJcbiAgQXBwbHkoKSB7XHJcbiAgICBjb25zdCBoZWFkZXJGaWx0ZXJzOiBhbnkgPSBKU09OLnBhcnNlKFxyXG4gICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIpIHx8IFwie31cIlxyXG4gICAgKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzID0gaGVhZGVyRmlsdGVycztcclxuICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmNsaWVudCA9IHRoaXMuc2VsZWN0ZWRDbGllbnQ/LmNsaWVudElkO1xyXG4gICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuY2xpZW50TmFtZSA9IHRoaXMuc2VsZWN0ZWRDbGllbnQuY2xpZW50TmFtZVxyXG4gICAgaWYodGhpcy5zZWxlY3RlZENsaWVudC5jbGllbnRJZCA9PT0nJyl7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmNsaWVudHMgPSB0aGlzLnJlc3Buc2VhcnJheTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmNsaWVudHMgPSBbdGhpcy5zZWxlY3RlZENsaWVudC5jbGllbnRJZF07XHJcbiAgICB9XHJcbiAgICB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlLm5leHQodGhpcy5zZWxlY3RlZEZpbHRlcnMpO1xyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXHJcbiAgICAgIFwiaGVhZGVyLWZpbHRlcnNcIixcclxuICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5zZWxlY3RlZEZpbHRlcnMpXHJcbiAgICApO1xyXG4gICAgdGhpcy5ncy5tYW5hZ2VSZWZyZXNoVHJpZ2dlci5uZXh0KHRydWUpXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ3cmFwcGVyIG14LTJcIiA+XHJcbiAgICA8bGliLXNlbGVjdCBbaXRlbXNdPVwiY2xpZW50TGlzdFwiIFttdWx0aV09XCJmYWxzZVwiIFtzZWFyY2hGaWVsZF09XCInY2xpZW50TmFtZSdcIiBbZGlzYWJsZWRdPVwiZmFsc2VcIiBbaWRGaWVsZF09XCInY2xpZW50SWQnXCJcclxuICAgICAgICAoc2VsZWN0ZWQpPVwib25DbGllbnRTZWxlY3QoJGV2ZW50KVwiIFtzZWxlY3RlZFZhbHVlc109XCJbc2VsZWN0ZWRDbGllbnRdXCI+PC9saWItc2VsZWN0PlxyXG5cclxuICAgICAgICBcclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTFcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMSBwb3NpdGlvbi1hYnNvbHV0ZSBtcy0zXCI+XHJcbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICBkPVwiTTEzLjMzMzMgMS42NjY2M1Y0Ljk5OTk2TTYuNjY2NjcgMS42NjY2M1Y0Ljk5OTk2TTIuNSA4LjMzMzI5SDE3LjVNNC4xNjY2NyAzLjMzMzI5SDE1LjgzMzNDMTYuNzUzOCAzLjMzMzI5IDE3LjUgNC4wNzk0OCAxNy41IDQuOTk5OTZWMTYuNjY2NkMxNy41IDE3LjU4NzEgMTYuNzUzOCAxOC4zMzMzIDE1LjgzMzMgMTguMzMzM0g0LjE2NjY3QzMuMjQ2MTkgMTguMzMzMyAyLjUgMTcuNTg3MSAyLjUgMTYuNjY2NlY0Ljk5OTk2QzIuNSA0LjA3OTQ4IDMuMjQ2MTkgMy4zMzMyOSA0LjE2NjY3IDMuMzMzMjlaXCJcclxuICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICA8L3N2Zz5cclxuICAgIDwvc3Bhbj5cclxuICAgIDxpbnB1dCBjbGFzcz1cImZ4LWRhdGUtcmFuZ2UgZm9ybS1jb250cm9sIHBzLTE0XCIgc3R5bGU9XCJtaW4td2lkdGg6IDI2MHB4ICFpbXBvcnRhbnQ7XCIgdHlwZT1cInRleHRcIiBtYXRJbnB1dCBuZ3hEYXRlcmFuZ2VwaWNrZXJNZCBbZHJvcHNdPVwiJ2Rvd24nXCJcclxuICAgICAgICBbb3BlbnNdPVwiJ3JpZ2h0J1wiIFtyYW5nZXNdPVwicmFuZ2VzXCIgW3Nob3dDdXN0b21SYW5nZUxhYmVsXT1cInRydWVcIiBbYWx3YXlzU2hvd0NhbGVuZGFyc109XCJmYWxzZVwiIFthdXRvQXBwbHldPVwidHJ1ZVwiXHJcbiAgICAgICAgW2tlZXBDYWxlbmRhck9wZW5pbmdXaXRoUmFuZ2VdPVwidHJ1ZVwiIFtzaG93Q2FuY2VsXT1cInRydWVcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRGF0ZVJhbmdlXCIgKHN0YXJ0RGF0ZUNoYW5nZWQpPVwib25TdGFydERhdGVDaGFuZ2UoJGV2ZW50KVwiICBbaXNDdXN0b21EYXRlXT1cImlzQ3VzdG9tRGF0ZVwiXHJcbiAgICAgICAgW2xvY2FsZV09XCJ7IGZvcm1hdDogJ0RELU1NLVlZWVknLCBmaXJzdERheTogMSwgbW9udGhOYW1lczogWydKYW51YXJ5JywgJ0ZlYnJ1YXJ5JywgJ01hcmNoJywgJ0FwcmlsJywgJ01heScsICdKdW5lJywgJ0p1bHknLCAnQXVndXN0JywgJ1NlcHRlbWJlcicsICdPY3RvYmVyJywgJ05vdmVtYmVyJywgJ0RlY2VtYmVyJ10gfVwiXHJcbiAgICAgICAgKGRhdGVzVXBkYXRlZCk9XCJkYXRlY2hhbmdlKCRldmVudClcIiBuYW1lPVwiZGF0ZXJhbmdlXCIgW3JlYWRvbmx5XT1cInRydWVcIiAvPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbXMtMlwiIChjbGljayk9XCJBcHBseSgpXCI+QXBwbHk8L2Rpdj5cclxuIl19
@@ -59,13 +59,13 @@ export class DatepickerComponent {
59
59
  this.selectedFilters.client = this.users.clientId;
60
60
  this.selectedFilters.clients = [this.users.clientId];
61
61
  this.selectedDateRange = {
62
- startDate: this.dayjs().subtract(1, 'days').format("DD-MM-YYYY"),
63
- endDate: this.dayjs().subtract(1, 'days').format("DD-MM-YYYY"), // Yesterday
62
+ startDate: this.dayjs().format("DD-MM-YYYY"),
63
+ endDate: this.dayjs().format("DD-MM-YYYY"), // Yesterday
64
64
  };
65
65
  // Set datetime to yesterday's date as well
66
66
  var datetime = {
67
- startDate: this.dayjs().subtract(1, 'days').format("YYYY-MM-DD"),
68
- endDate: this.dayjs().subtract(1, 'days').format("YYYY-MM-DD"), // Yesterday
67
+ startDate: this.dayjs().format("YYYY-MM-DD"),
68
+ endDate: this.dayjs().format("YYYY-MM-DD"), // Yesterday
69
69
  };
70
70
  // var datetime = {
71
71
  // startDate: this.dayjs().subtract(1, 'days').format("YYYY-MM-DD"), // Yesterday
@@ -77,7 +77,7 @@ export class DatepickerComponent {
77
77
  }
78
78
  }
79
79
  ranges = {
80
- // Today: [this.dayjs(), this.dayjs()],
80
+ Today: [this.dayjs(), this.dayjs()],
81
81
  Yesterday: [
82
82
  this.dayjs().subtract(1, "days"),
83
83
  this.dayjs().subtract(1, "days"),
@@ -134,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
134
134
  type: Component,
135
135
  args: [{ selector: "lib-datepicker", template: "<div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input class=\"fx-date-range form-control ps-14\" style=\"min-width: 260px !important;\" type=\"text\" matInput ngxDaterangepickerMd [drops]=\"'down'\"\r\n [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\" [alwaysShowCalendars]=\"false\" [autoApply]=\"true\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" [readonly]=\"true\" />\r\n</div>", styles: [".daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}::ng-deep .applyBtn{display:none!important}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .daterangepicker-input+.ngx-daterangepicker-material .applyBtn{display:none}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:365px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep table th{border-bottom:0px solid var(--Gray-200, #EAECF0)!important;background:transparent!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:16px!important;font-weight:500!important;line-height:24px}:host::ng-deep .md-drppicker td.available.today{text-decoration:unset;pointer-events:auto;color:unset}:host::ng-deep .md-drppicker td.available.today.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}\n"] }]
136
136
  }], ctorParameters: () => [{ type: i1.LayoutService }, { type: i1.GlobalStateService }, { type: i2.AuthService }, { type: i0.ChangeDetectorRef }] });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvdG9vbGJhci9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL21vZHVsZXMvbGF5b3V0L3Rvb2xiYXIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsQ0FBQzs7Ozs7O0FBWXpCLE1BQU0sT0FBTyxtQkFBbUI7SUFvQnBCO0lBQ0E7SUFDQTtJQUNBO0lBdEJWLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDTixXQUFXLEdBQW1CLEVBQUUsQ0FBQztJQUN6QyxZQUFZLEdBQUcsQ0FBQyxDQUFjLEVBQUUsRUFBRTtRQUNoQyxNQUFNLFdBQVcsR0FBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3RDLE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNoRCxDQUFDLENBQUE7SUFDQyxpQkFBaUIsR0FBUSxFQUFFLENBQUM7SUFDNUIsZUFBZSxHQUFRO1FBQ3JCLE1BQU0sRUFBRSxJQUFJO1FBQ1osVUFBVSxFQUFDLElBQUk7UUFDZixPQUFPLEVBQUUsRUFBRTtRQUNYLEtBQUssRUFBRSxJQUFJO1FBQ1gsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsSUFBSTtLQUNYLENBQUM7SUFDRixLQUFLLENBQU07SUFHWCxZQUNV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Q0FDbEIsZ0JBQWdCLEVBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUNyQyxDQUFDO0lBQ0osQ0FBQzt3R0EvSVUsbUJBQW1COzRGQUFuQixtQkFBbUIsc0RDZGhDLDYvQ0FhTTs7NEZEQ08sbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IGRheWpzIGZyb20gXCJkYXlqc1wiO1xyXG5pbXBvcnQgXCJkYXlqcy9sb2NhbGUvZW5cIjtcclxuaW1wb3J0IHV0YyBmcm9tIFwiZGF5anMvcGx1Z2luL3V0Y1wiO1xyXG5pbXBvcnQgdGltZXpvbmUgZnJvbSBcImRheWpzL3BsdWdpbi90aW1lem9uZVwiO1xyXG5pbXBvcnQgeyBMYXlvdXRTZXJ2aWNlIH0gZnJvbSBcInRhbmdvLWFwcC11aS1nbG9iYWxcIjtcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gXCJ0YW5nby1hcHAtdWktZ2xvYmFsXCI7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImxpYi1kYXRlcGlja2VyXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmw6IFwiLi9kYXRlcGlja2VyLmNvbXBvbmVudC5zY3NzXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRlcGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xyXG4gIGRheWpzID0gZGF5anM7XHJcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZTogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICBpc0N1c3RvbURhdGUgPSAobTogZGF5anMuRGF5anMpID0+IHtcclxuICAgIGNvbnN0IGlzVmFsaWREYXRlID0gIG0gPiB0aGlzLmRheWpzKCk7ICAgIFxyXG4gICAgcmV0dXJuIGlzVmFsaWREYXRlID8gJ2ludmFsaWQtZGF0ZScgOiBmYWxzZTtcclxufVxyXG4gIHNlbGVjdGVkRGF0ZVJhbmdlOiBhbnkgPSB7fTtcclxuICBzZWxlY3RlZEZpbHRlcnM6IGFueSA9IHtcclxuICAgIGNsaWVudDogbnVsbCxcclxuICAgIGNsaWVudE5hbWU6bnVsbCxcclxuICAgIGNsaWVudHM6IFtdLFxyXG4gICAgc3RvcmU6IG51bGwsXHJcbiAgICBzdG9yZXM6IFtdLFxyXG4gICAgZGF0ZTogbnVsbCxcclxuICB9O1xyXG4gIHVzZXJzOiBhbnk7XHJcbiAgXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBsYXlvdXQ6IExheW91dFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHt9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZS5mb3JFYWNoKChzYikgPT4gc2IudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmIChcInVzZXItaW5mb1wiIGluIGxvY2FsU3RvcmFnZSkge1xyXG4gICAgICBjb25zdCB1c2VyRGF0YTogYW55ID0gSlNPTi5wYXJzZShcclxuICAgICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInVzZXItaW5mb1wiKSB8fCBcInt9XCJcclxuICAgICAgKTtcclxuICAgICAgdGhpcy51c2VycyA9IHVzZXJEYXRhO1xyXG4gICAgfSAgXHJcbiAgICBpZiAoXCJoZWFkZXItZmlsdGVyc1wiIGluIGxvY2FsU3RvcmFnZSkge1xyXG4gICAgICBjb25zdCBoZWFkZXJGaWx0ZXJzOiBhbnkgPSBKU09OLnBhcnNlKFxyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIikgfHwgXCJ7fVwiXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmNsaWVudCA9IHRoaXMudXNlcnMuY2xpZW50SWQ7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmNsaWVudHMgPSBbdGhpcy51c2Vycy5jbGllbnRJZF07XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmNsaWVudE5hbWUgPSBoZWFkZXJGaWx0ZXJzLmNsaWVudE5hbWU7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLnN0b3JlID0gaGVhZGVyRmlsdGVycy5zdG9yZTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuZGF0ZSA9IGhlYWRlckZpbHRlcnMuZGF0ZTtcclxuXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UgPSB7XHJcbiAgICAgICAgc3RhcnREYXRlOnRoaXMuZGF5anMoIGhlYWRlckZpbHRlcnM/LmRhdGUuc3RhcnREYXRlLCBcIllZWVktTU0tRERcIikuZm9ybWF0KFwiREQtTU0tWVlZWVwiKSxcclxuICAgICAgICBlbmREYXRlOiB0aGlzLmRheWpzKCBoZWFkZXJGaWx0ZXJzPy5kYXRlLmVuZERhdGUsIFwiWVlZWS1NTS1ERFwiKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpLFxyXG4gICAgICB9O1xyXG4gICBcclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXHJcbiAgICAgICAgXCJoZWFkZXItZmlsdGVyc1wiLFxyXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuc2VsZWN0ZWRGaWx0ZXJzKVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlLm5leHQodGhpcy5zZWxlY3RlZEZpbHRlcnMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuY2xpZW50ID0gdGhpcy51c2Vycy5jbGllbnRJZDtcclxuICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuY2xpZW50cyA9IFt0aGlzLnVzZXJzLmNsaWVudElkXTtcclxuICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZSA9IHtcclxuICAgICAgICBzdGFydERhdGU6IHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCAnZGF5cycpLmZvcm1hdChcIkRELU1NLVlZWVlcIiksIC8vIFllc3RlcmRheVxyXG4gICAgICAgIGVuZERhdGU6IHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCAnZGF5cycpLmZvcm1hdChcIkRELU1NLVlZWVlcIiksICAgLy8gWWVzdGVyZGF5XHJcbiAgICAgIH07XHJcbiAgXHJcbiAgICAgIC8vIFNldCBkYXRldGltZSB0byB5ZXN0ZXJkYXkncyBkYXRlIGFzIHdlbGxcclxuICAgICAgdmFyIGRhdGV0aW1lID0ge1xyXG4gICAgICAgIHN0YXJ0RGF0ZTogdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsICdkYXlzJykuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSwgLy8gWWVzdGVyZGF5XHJcbiAgICAgICAgZW5kRGF0ZTogdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsICdkYXlzJykuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSwgICAvLyBZZXN0ZXJkYXlcclxuICAgICAgfTtcclxuICAgICAgLy8gdmFyIGRhdGV0aW1lID0ge1xyXG4gICAgICAvLyAgIHN0YXJ0RGF0ZTogdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsICdkYXlzJykuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSwgLy8gWWVzdGVyZGF5XHJcbiAgICAgIC8vICAgZW5kRGF0ZTogdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsICdkYXlzJykuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSwgICAvLyBZZXN0ZXJkYXlcclxuICAgICAgLy8gfTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuZGF0ZSA9IGRhdGV0aW1lO1xyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcclxuICAgICAgICBcImhlYWRlci1maWx0ZXJzXCIsXHJcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5zZWxlY3RlZEZpbHRlcnMpXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWUubmV4dCh0aGlzLnNlbGVjdGVkRmlsdGVycyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByYW5nZXM6IGFueSA9IHtcclxuICAgIC8vIFRvZGF5OiBbdGhpcy5kYXlqcygpLCB0aGlzLmRheWpzKCldLFxyXG4gICAgWWVzdGVyZGF5OiBbXHJcbiAgICAgIHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCBcImRheXNcIiksXHJcbiAgICAgIHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCBcImRheXNcIiksXHJcbiAgICBdLFxyXG4gICAgXCJUaGlzIFdlZWtcIjogW3RoaXMuZGF5anMoKS5zdWJ0cmFjdCg2LCBcImRheXNcIiksIHRoaXMuZGF5anMoKV0sXHJcbiAgICBcIkxhc3QgV2Vla1wiOiBbXHJcbiAgICAgIHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxNCwgXCJkYXlzXCIpLnN0YXJ0T2YoXCJkYXlzXCIpLFxyXG4gICAgICB0aGlzLmRheWpzKCkuc3VidHJhY3QoOCwgXCJkYXlzXCIpLmVuZE9mKFwiZGF5c1wiKSxcclxuICAgIF0sXHJcbiAgIFwiVGhpcyBNb250aFwiOiBbXHJcbiAgICB0aGlzLmRheWpzKCkuc3VidHJhY3QoMzAsIFwiZGF5c1wiKSwgLy8gU3RhcnQgZGF0ZSBpcyAzMCBkYXlzIGJlZm9yZSB0b2RheVxyXG4gICAgdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsIFwiZGF5c1wiKSAvLyBFbmQgZGF0ZSBpcyBZZXN0ZXJkYXlcclxuICBdLFxyXG4gICAgXCJMYXN0IE1vbnRoXCI6IFtcclxuICAgICAgdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsIFwibW9udGhcIikuc3RhcnRPZihcIm1vbnRoXCIpLFxyXG4gICAgICB0aGlzLmRheWpzKCkuc3VidHJhY3QoMSwgXCJtb250aFwiKS5lbmRPZihcIm1vbnRoXCIpLFxyXG4gICAgXSxcclxuICB9O1xyXG5cclxuICBvblN0YXJ0RGF0ZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBpZiAodGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUpLmlzVmFsaWQoKSkge1xyXG4gICAgICB0aGlzLmlzQ3VzdG9tRGF0ZSA9IChtOiBkYXlqcy5EYXlqcykgPT4ge1xyXG4gICAgICAgIGNvbnN0IGlzVmFsaWREYXRlID1cclxuICAgICAgICAgIG0gPiB0aGlzLmRheWpzKCkuc3VidHJhY3QoMSwgXCJkYXlzXCIpIHx8IG0gPiB0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZS5hZGQoOTAsIFwiZGF5c1wiKSk7XHJcbiAgICAgICAgcmV0dXJuIGlzVmFsaWREYXRlID8gXCJpbnZhbGlkLWRhdGVcIiA6IGZhbHNlO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGF0ZWNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQgJiYgZXZlbnQuc3RhcnREYXRlICYmIGV2ZW50LmVuZERhdGUpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS5pc1ZhbGlkKCkgJiZcclxuICAgICAgICB0aGlzLmRheWpzKGV2ZW50LmVuZERhdGUpLmlzVmFsaWQoKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSA9IGV2ZW50LnN0YXJ0RGF0ZVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSA9IGV2ZW50LmVuZERhdGVcclxuICAgICAgICB2YXIgZGF0ZXRpbWUgPSB7XHJcbiAgICAgICAgICBzdGFydERhdGU6IHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlLFwiREQtTU0tWVlZWVwiKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxyXG4gICAgICAgICAgZW5kRGF0ZTogdGhpcy5kYXlqcyhldmVudC5lbmREYXRlLFwiREQtTU0tWVlZWVwiKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuZGF0ZSA9IGRhdGV0aW1lO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBoZWFkZXJGaWx0ZXJzOiBhbnkgPSBKU09OLnBhcnNlKFxyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIikgfHwgXCJ7fVwiXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmRhdGUgPSBoZWFkZXJGaWx0ZXJzLmRhdGU7XHJcbiAgICB9XHJcbiAgIFxyXG4gICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuY2xpZW50ID0gdGhpcy51c2Vycy5jbGllbnRJZDtcclxuICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmNsaWVudHMgPSBbdGhpcy51c2Vycy5jbGllbnRJZF07XHJcbiAgICB0aGlzLnNlbGVjdGVkRmlsdGVycy5kYXRlID0gdGhpcy5zZWxlY3RlZEZpbHRlcnMuZGF0ZTtcclxuICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWUubmV4dCh0aGlzLnNlbGVjdGVkRmlsdGVycyk7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcclxuICAgICAgXCJoZWFkZXItZmlsdGVyc1wiLFxyXG4gICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnNlbGVjdGVkRmlsdGVycylcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTFcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMSBwb3NpdGlvbi1hYnNvbHV0ZSBtcy0zXCI+XHJcbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICBkPVwiTTEzLjMzMzMgMS42NjY2M1Y0Ljk5OTk2TTYuNjY2NjcgMS42NjY2M1Y0Ljk5OTk2TTIuNSA4LjMzMzI5SDE3LjVNNC4xNjY2NyAzLjMzMzI5SDE1LjgzMzNDMTYuNzUzOCAzLjMzMzI5IDE3LjUgNC4wNzk0OCAxNy41IDQuOTk5OTZWMTYuNjY2NkMxNy41IDE3LjU4NzEgMTYuNzUzOCAxOC4zMzMzIDE1LjgzMzMgMTguMzMzM0g0LjE2NjY3QzMuMjQ2MTkgMTguMzMzMyAyLjUgMTcuNTg3MSAyLjUgMTYuNjY2NlY0Ljk5OTk2QzIuNSA0LjA3OTQ4IDMuMjQ2MTkgMy4zMzMyOSA0LjE2NjY3IDMuMzMzMjlaXCJcclxuICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICA8L3N2Zz5cclxuICAgIDwvc3Bhbj5cclxuICAgIDxpbnB1dCBjbGFzcz1cImZ4LWRhdGUtcmFuZ2UgZm9ybS1jb250cm9sIHBzLTE0XCIgc3R5bGU9XCJtaW4td2lkdGg6IDI2MHB4ICFpbXBvcnRhbnQ7XCIgdHlwZT1cInRleHRcIiBtYXRJbnB1dCBuZ3hEYXRlcmFuZ2VwaWNrZXJNZCBbZHJvcHNdPVwiJ2Rvd24nXCJcclxuICAgICAgICBbb3BlbnNdPVwiJ3JpZ2h0J1wiIFtyYW5nZXNdPVwicmFuZ2VzXCIgW3Nob3dDdXN0b21SYW5nZUxhYmVsXT1cInRydWVcIiBbYWx3YXlzU2hvd0NhbGVuZGFyc109XCJmYWxzZVwiIFthdXRvQXBwbHldPVwidHJ1ZVwiXHJcbiAgICAgICAgW2tlZXBDYWxlbmRhck9wZW5pbmdXaXRoUmFuZ2VdPVwidHJ1ZVwiIFtzaG93Q2FuY2VsXT1cInRydWVcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRGF0ZVJhbmdlXCIgKHN0YXJ0RGF0ZUNoYW5nZWQpPVwib25TdGFydERhdGVDaGFuZ2UoJGV2ZW50KVwiICBbaXNDdXN0b21EYXRlXT1cImlzQ3VzdG9tRGF0ZVwiXHJcbiAgICAgICAgW2xvY2FsZV09XCJ7IGZvcm1hdDogJ0RELU1NLVlZWVknLCBmaXJzdERheTogMSwgbW9udGhOYW1lczogWydKYW51YXJ5JywgJ0ZlYnJ1YXJ5JywgJ01hcmNoJywgJ0FwcmlsJywgJ01heScsICdKdW5lJywgJ0p1bHknLCAnQXVndXN0JywgJ1NlcHRlbWJlcicsICdPY3RvYmVyJywgJ05vdmVtYmVyJywgJ0RlY2VtYmVyJ10gfVwiXHJcbiAgICAgICAgKGRhdGVzVXBkYXRlZCk9XCJkYXRlY2hhbmdlKCRldmVudClcIiBuYW1lPVwiZGF0ZXJhbmdlXCIgW3JlYWRvbmx5XT1cInRydWVcIiAvPlxyXG48L2Rpdj4iXX0=
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvdG9vbGJhci9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL21vZHVsZXMvbGF5b3V0L3Rvb2xiYXIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsQ0FBQzs7Ozs7O0FBWXpCLE1BQU0sT0FBTyxtQkFBbUI7SUFvQnBCO0lBQ0E7SUFDQTtJQUNBO0lBdEJWLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDTixXQUFXLEdBQW1CLEVBQUUsQ0FBQztJQUN6QyxZQUFZLEdBQUcsQ0FBQyxDQUFjLEVBQUUsRUFBRTtRQUNoQyxNQUFNLFdBQVcsR0FBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3RDLE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNoRCxDQUFDLENBQUE7SUFDQyxpQkFBaUIsR0FBUSxFQUFFLENBQUM7SUFDNUIsZUFBZSxHQUFRO1FBQ3JCLE1BQU0sRUFBRSxJQUFJO1FBQ1osVUFBVSxFQUFDLElBQUk7UUFDZixPQUFPLEVBQUUsRUFBRTtRQUNYLEtBQUssRUFBRSxJQUFJO1FBQ1gsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsSUFBSTtLQUNYLENBQUM7SUFDRixLQUFLLENBQU07SUFHWCxZQUNV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QS9JVSxtQkFBbUI7NEZBQW5CLG1CQUFtQixzRENkaEMsNi9DQWFNOzs0RkRDTyxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgZGF5anMgZnJvbSBcImRheWpzXCI7XHJcbmltcG9ydCBcImRheWpzL2xvY2FsZS9lblwiO1xyXG5pbXBvcnQgdXRjIGZyb20gXCJkYXlqcy9wbHVnaW4vdXRjXCI7XHJcbmltcG9ydCB0aW1lem9uZSBmcm9tIFwiZGF5anMvcGx1Z2luL3RpbWV6b25lXCI7XHJcbmltcG9ydCB7IExheW91dFNlcnZpY2UgfSBmcm9tIFwidGFuZ28tYXBwLXVpLWdsb2JhbFwiO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSBcInRhbmdvLWFwcC11aS1nbG9iYWxcIjtcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwibGliLWRhdGVwaWNrZXJcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybDogXCIuL2RhdGVwaWNrZXIuY29tcG9uZW50LnNjc3NcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVwaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XHJcbiAgZGF5anMgPSBkYXlqcztcclxuICBwcml2YXRlIHVuc3Vic2NyaWJlOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIGlzQ3VzdG9tRGF0ZSA9IChtOiBkYXlqcy5EYXlqcykgPT4ge1xyXG4gICAgY29uc3QgaXNWYWxpZERhdGUgPSAgbSA+IHRoaXMuZGF5anMoKTsgICAgXHJcbiAgICByZXR1cm4gaXNWYWxpZERhdGUgPyAnaW52YWxpZC1kYXRlJyA6IGZhbHNlO1xyXG59XHJcbiAgc2VsZWN0ZWREYXRlUmFuZ2U6IGFueSA9IHt9O1xyXG4gIHNlbGVjdGVkRmlsdGVyczogYW55ID0ge1xyXG4gICAgY2xpZW50OiBudWxsLFxyXG4gICAgY2xpZW50TmFtZTpudWxsLFxyXG4gICAgY2xpZW50czogW10sXHJcbiAgICBzdG9yZTogbnVsbCxcclxuICAgIHN0b3JlczogW10sXHJcbiAgICBkYXRlOiBudWxsLFxyXG4gIH07XHJcbiAgdXNlcnM6IGFueTtcclxuICBcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGxheW91dDogTGF5b3V0U2VydmljZSxcclxuICAgIHByaXZhdGUgZ3M6IEdsb2JhbFN0YXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgc2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge31cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLmZvckVhY2goKHNiKSA9PiBzYi51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKFwidXNlci1pbmZvXCIgaW4gbG9jYWxTdG9yYWdlKSB7XHJcbiAgICAgIGNvbnN0IHVzZXJEYXRhOiBhbnkgPSBKU09OLnBhcnNlKFxyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidXNlci1pbmZvXCIpIHx8IFwie31cIlxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnVzZXJzID0gdXNlckRhdGE7XHJcbiAgICB9ICBcclxuICAgIGlmIChcImhlYWRlci1maWx0ZXJzXCIgaW4gbG9jYWxTdG9yYWdlKSB7XHJcbiAgICAgIGNvbnN0IGhlYWRlckZpbHRlcnM6IGFueSA9IEpTT04ucGFyc2UoXHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJoZWFkZXItZmlsdGVyc1wiKSB8fCBcInt9XCJcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuY2xpZW50ID0gdGhpcy51c2Vycy5jbGllbnRJZDtcclxuICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuY2xpZW50cyA9IFt0aGlzLnVzZXJzLmNsaWVudElkXTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuY2xpZW50TmFtZSA9IGhlYWRlckZpbHRlcnMuY2xpZW50TmFtZTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuc3RvcmUgPSBoZWFkZXJGaWx0ZXJzLnN0b3JlO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRmlsdGVycy5kYXRlID0gaGVhZGVyRmlsdGVycy5kYXRlO1xyXG5cclxuICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZSA9IHtcclxuICAgICAgICBzdGFydERhdGU6dGhpcy5kYXlqcyggaGVhZGVyRmlsdGVycz8uZGF0ZS5zdGFydERhdGUsIFwiWVlZWS1NTS1ERFwiKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpLFxyXG4gICAgICAgIGVuZERhdGU6IHRoaXMuZGF5anMoIGhlYWRlckZpbHRlcnM/LmRhdGUuZW5kRGF0ZSwgXCJZWVlZLU1NLUREXCIpLmZvcm1hdChcIkRELU1NLVlZWVlcIiksXHJcbiAgICAgIH07XHJcbiAgIFxyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcclxuICAgICAgICBcImhlYWRlci1maWx0ZXJzXCIsXHJcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5zZWxlY3RlZEZpbHRlcnMpXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWUubmV4dCh0aGlzLnNlbGVjdGVkRmlsdGVycyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRmlsdGVycy5jbGllbnQgPSB0aGlzLnVzZXJzLmNsaWVudElkO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRmlsdGVycy5jbGllbnRzID0gW3RoaXMudXNlcnMuY2xpZW50SWRdO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlID0ge1xyXG4gICAgICAgIHN0YXJ0RGF0ZTogdGhpcy5kYXlqcygpLmZvcm1hdChcIkRELU1NLVlZWVlcIiksIC8vIFllc3RlcmRheVxyXG4gICAgICAgIGVuZERhdGU6IHRoaXMuZGF5anMoKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpLCAgIC8vIFllc3RlcmRheVxyXG4gICAgICB9O1xyXG4gIFxyXG4gICAgICAvLyBTZXQgZGF0ZXRpbWUgdG8geWVzdGVyZGF5J3MgZGF0ZSBhcyB3ZWxsXHJcbiAgICAgIHZhciBkYXRldGltZSA9IHtcclxuICAgICAgICBzdGFydERhdGU6IHRoaXMuZGF5anMoKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLCAvLyBZZXN0ZXJkYXlcclxuICAgICAgICBlbmREYXRlOiB0aGlzLmRheWpzKCkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSwgICAvLyBZZXN0ZXJkYXlcclxuICAgICAgfTtcclxuICAgICAgLy8gdmFyIGRhdGV0aW1lID0ge1xyXG4gICAgICAvLyAgIHN0YXJ0RGF0ZTogdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsICdkYXlzJykuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSwgLy8gWWVzdGVyZGF5XHJcbiAgICAgIC8vICAgZW5kRGF0ZTogdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsICdkYXlzJykuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSwgICAvLyBZZXN0ZXJkYXlcclxuICAgICAgLy8gfTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuZGF0ZSA9IGRhdGV0aW1lO1xyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcclxuICAgICAgICBcImhlYWRlci1maWx0ZXJzXCIsXHJcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5zZWxlY3RlZEZpbHRlcnMpXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWUubmV4dCh0aGlzLnNlbGVjdGVkRmlsdGVycyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByYW5nZXM6IGFueSA9IHtcclxuICAgIFRvZGF5OiBbdGhpcy5kYXlqcygpLCB0aGlzLmRheWpzKCldLFxyXG4gICAgWWVzdGVyZGF5OiBbXHJcbiAgICAgIHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCBcImRheXNcIiksXHJcbiAgICAgIHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCBcImRheXNcIiksXHJcbiAgICBdLFxyXG4gICAgXCJUaGlzIFdlZWtcIjogW3RoaXMuZGF5anMoKS5zdWJ0cmFjdCg2LCBcImRheXNcIiksIHRoaXMuZGF5anMoKV0sXHJcbiAgICBcIkxhc3QgV2Vla1wiOiBbXHJcbiAgICAgIHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxNCwgXCJkYXlzXCIpLnN0YXJ0T2YoXCJkYXlzXCIpLFxyXG4gICAgICB0aGlzLmRheWpzKCkuc3VidHJhY3QoOCwgXCJkYXlzXCIpLmVuZE9mKFwiZGF5c1wiKSxcclxuICAgIF0sXHJcbiAgIFwiVGhpcyBNb250aFwiOiBbXHJcbiAgICB0aGlzLmRheWpzKCkuc3VidHJhY3QoMzAsIFwiZGF5c1wiKSwgLy8gU3RhcnQgZGF0ZSBpcyAzMCBkYXlzIGJlZm9yZSB0b2RheVxyXG4gICAgdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsIFwiZGF5c1wiKSAvLyBFbmQgZGF0ZSBpcyBZZXN0ZXJkYXlcclxuICBdLFxyXG4gICAgXCJMYXN0IE1vbnRoXCI6IFtcclxuICAgICAgdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsIFwibW9udGhcIikuc3RhcnRPZihcIm1vbnRoXCIpLFxyXG4gICAgICB0aGlzLmRheWpzKCkuc3VidHJhY3QoMSwgXCJtb250aFwiKS5lbmRPZihcIm1vbnRoXCIpLFxyXG4gICAgXSxcclxuICB9O1xyXG5cclxuICBvblN0YXJ0RGF0ZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBpZiAodGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUpLmlzVmFsaWQoKSkge1xyXG4gICAgICB0aGlzLmlzQ3VzdG9tRGF0ZSA9IChtOiBkYXlqcy5EYXlqcykgPT4ge1xyXG4gICAgICAgIGNvbnN0IGlzVmFsaWREYXRlID1cclxuICAgICAgICAgIG0gPiB0aGlzLmRheWpzKCkuc3VidHJhY3QoMSwgXCJkYXlzXCIpIHx8IG0gPiB0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZS5hZGQoOTAsIFwiZGF5c1wiKSk7XHJcbiAgICAgICAgcmV0dXJuIGlzVmFsaWREYXRlID8gXCJpbnZhbGlkLWRhdGVcIiA6IGZhbHNlO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGF0ZWNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQgJiYgZXZlbnQuc3RhcnREYXRlICYmIGV2ZW50LmVuZERhdGUpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS5pc1ZhbGlkKCkgJiZcclxuICAgICAgICB0aGlzLmRheWpzKGV2ZW50LmVuZERhdGUpLmlzVmFsaWQoKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSA9IGV2ZW50LnN0YXJ0RGF0ZVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSA9IGV2ZW50LmVuZERhdGVcclxuICAgICAgICB2YXIgZGF0ZXRpbWUgPSB7XHJcbiAgICAgICAgICBzdGFydERhdGU6IHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlLFwiREQtTU0tWVlZWVwiKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxyXG4gICAgICAgICAgZW5kRGF0ZTogdGhpcy5kYXlqcyhldmVudC5lbmREYXRlLFwiREQtTU0tWVlZWVwiKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuZGF0ZSA9IGRhdGV0aW1lO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBoZWFkZXJGaWx0ZXJzOiBhbnkgPSBKU09OLnBhcnNlKFxyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIikgfHwgXCJ7fVwiXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmRhdGUgPSBoZWFkZXJGaWx0ZXJzLmRhdGU7XHJcbiAgICB9XHJcbiAgIFxyXG4gICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuY2xpZW50ID0gdGhpcy51c2Vycy5jbGllbnRJZDtcclxuICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmNsaWVudHMgPSBbdGhpcy51c2Vycy5jbGllbnRJZF07XHJcbiAgICB0aGlzLnNlbGVjdGVkRmlsdGVycy5kYXRlID0gdGhpcy5zZWxlY3RlZEZpbHRlcnMuZGF0ZTtcclxuICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWUubmV4dCh0aGlzLnNlbGVjdGVkRmlsdGVycyk7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcclxuICAgICAgXCJoZWFkZXItZmlsdGVyc1wiLFxyXG4gICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnNlbGVjdGVkRmlsdGVycylcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTFcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMSBwb3NpdGlvbi1hYnNvbHV0ZSBtcy0zXCI+XHJcbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICBkPVwiTTEzLjMzMzMgMS42NjY2M1Y0Ljk5OTk2TTYuNjY2NjcgMS42NjY2M1Y0Ljk5OTk2TTIuNSA4LjMzMzI5SDE3LjVNNC4xNjY2NyAzLjMzMzI5SDE1LjgzMzNDMTYuNzUzOCAzLjMzMzI5IDE3LjUgNC4wNzk0OCAxNy41IDQuOTk5OTZWMTYuNjY2NkMxNy41IDE3LjU4NzEgMTYuNzUzOCAxOC4zMzMzIDE1LjgzMzMgMTguMzMzM0g0LjE2NjY3QzMuMjQ2MTkgMTguMzMzMyAyLjUgMTcuNTg3MSAyLjUgMTYuNjY2NlY0Ljk5OTk2QzIuNSA0LjA3OTQ4IDMuMjQ2MTkgMy4zMzMyOSA0LjE2NjY3IDMuMzMzMjlaXCJcclxuICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICA8L3N2Zz5cclxuICAgIDwvc3Bhbj5cclxuICAgIDxpbnB1dCBjbGFzcz1cImZ4LWRhdGUtcmFuZ2UgZm9ybS1jb250cm9sIHBzLTE0XCIgc3R5bGU9XCJtaW4td2lkdGg6IDI2MHB4ICFpbXBvcnRhbnQ7XCIgdHlwZT1cInRleHRcIiBtYXRJbnB1dCBuZ3hEYXRlcmFuZ2VwaWNrZXJNZCBbZHJvcHNdPVwiJ2Rvd24nXCJcclxuICAgICAgICBbb3BlbnNdPVwiJ3JpZ2h0J1wiIFtyYW5nZXNdPVwicmFuZ2VzXCIgW3Nob3dDdXN0b21SYW5nZUxhYmVsXT1cInRydWVcIiBbYWx3YXlzU2hvd0NhbGVuZGFyc109XCJmYWxzZVwiIFthdXRvQXBwbHldPVwidHJ1ZVwiXHJcbiAgICAgICAgW2tlZXBDYWxlbmRhck9wZW5pbmdXaXRoUmFuZ2VdPVwidHJ1ZVwiIFtzaG93Q2FuY2VsXT1cInRydWVcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRGF0ZVJhbmdlXCIgKHN0YXJ0RGF0ZUNoYW5nZWQpPVwib25TdGFydERhdGVDaGFuZ2UoJGV2ZW50KVwiICBbaXNDdXN0b21EYXRlXT1cImlzQ3VzdG9tRGF0ZVwiXHJcbiAgICAgICAgW2xvY2FsZV09XCJ7IGZvcm1hdDogJ0RELU1NLVlZWVknLCBmaXJzdERheTogMSwgbW9udGhOYW1lczogWydKYW51YXJ5JywgJ0ZlYnJ1YXJ5JywgJ01hcmNoJywgJ0FwcmlsJywgJ01heScsICdKdW5lJywgJ0p1bHknLCAnQXVndXN0JywgJ1NlcHRlbWJlcicsICdPY3RvYmVyJywgJ05vdmVtYmVyJywgJ0RlY2VtYmVyJ10gfVwiXHJcbiAgICAgICAgKGRhdGVzVXBkYXRlZCk9XCJkYXRlY2hhbmdlKCRldmVudClcIiBuYW1lPVwiZGF0ZXJhbmdlXCIgW3JlYWRvbmx5XT1cInRydWVcIiAvPlxyXG48L2Rpdj4iXX0=
@@ -88,6 +88,10 @@ export class SingleStoreComponent {
88
88
  this.selectedClient = event;
89
89
  }
90
90
  ranges = {
91
+ Today: [
92
+ this.dayjs(),
93
+ this.dayjs(),
94
+ ],
91
95
  'Yesterday': [this.dayjs().subtract(1, 'days'), this.dayjs().subtract(1, 'days')],
92
96
  'This Week': [this.dayjs().subtract(6, 'days'), this.dayjs()],
93
97
  'Last Week': [this.dayjs().subtract(14, 'days').startOf('days'), this.dayjs().subtract(8, 'days').endOf('days')],
@@ -143,4 +147,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
143
147
  type: Component,
144
148
  args: [{ selector: 'lib-single-store', template: "<div class=\"wrapper mx-2\" >\r\n <lib-select [items]=\"storeList\" [multi]=\"false\" [searchField]=\"'storeName'\" [disabled]=\"false\" [idField]=\"'storeId'\"\r\n (selected)=\"onClientSelect($event)\" [selectedValues]=\"[selectedClient]\"></lib-select>\r\n\r\n \r\n</div>\r\n<div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input class=\"fx-date-range form-control ps-14\" style=\"min-width: 260px !important;\" type=\"text\" matInput ngxDaterangepickerMd [drops]=\"'down'\"\r\n [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\" [alwaysShowCalendars]=\"false\" [autoApply]=\"true\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" [readonly]=\"true\" />\r\n</div>\r\n\r\n<div class=\"btn btn-primary ms-2\" (click)=\"Apply()\">Apply</div>\r\n", styles: [".daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}::ng-deep .applyBtn{display:none!important}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .daterangepicker-input+.ngx-daterangepicker-material .applyBtn{display:none}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:365px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep table th{border-bottom:0px solid var(--Gray-200, #EAECF0)!important;background:transparent!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:16px!important;font-weight:500!important;line-height:24px}:host::ng-deep .md-drppicker td.available.today{text-decoration:unset;pointer-events:auto;color:unset}:host::ng-deep .md-drppicker td.available.today.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}.wrapper{min-width:200px}.btn-primary{line-height:18px!important}\n"] }]
145
149
  }], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.GlobalStateService }, { type: i0.ChangeDetectorRef }] });
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLXN0b3JlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC90b29sYmFyL3NpbmdsZS1zdG9yZS9zaW5nbGUtc3RvcmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL21vZHVsZXMvbGF5b3V0L3Rvb2xiYXIvc2luZ2xlLXN0b3JlL3NpbmdsZS1zdG9yZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFRLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDM0IsT0FBTyxpQkFBaUIsQ0FBQzs7Ozs7OztBQVN6QixNQUFNLE9BQU8sb0JBQW9CO0lBa0JYO0lBQTBCO0lBQStCO0lBakI3RSxLQUFLLEdBQUcsS0FBSyxDQUFBO0lBQ2IsWUFBWSxHQUFHLENBQUMsQ0FBYyxFQUFFLEVBQUU7UUFDaEMsTUFBTSxXQUFXLEdBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0QyxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDaEQsQ0FBQyxDQUFBO0lBQ0MsaUJBQWlCLEdBQVEsRUFBRSxDQUFDO0lBQzVCLFNBQVMsR0FBTyxFQUFFLENBQUE7SUFDbEIsY0FBYyxDQUFJO0lBQ2xCLGVBQWUsR0FBUTtRQUNyQixNQUFNLEVBQUUsSUFBSTtRQUNaLFVBQVUsRUFBQyxJQUFJO1FBQ2YsT0FBTyxFQUFFLEVBQUU7UUFDWCxLQUFLLEVBQUUsSUFBSTtRQUNYLE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLElBQUk7S0FFWCxDQUFDO0lB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dGVjdG9yUmVmLCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgIGRheWpzIGZyb20gJ2RheWpzJztcclxuaW1wb3J0ICdkYXlqcy9sb2NhbGUvZW4nO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItc2luZ2xlLXN0b3JlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2luZ2xlLXN0b3JlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vc2luZ2xlLXN0b3JlLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2luZ2xlU3RvcmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGRheWpzID0gZGF5anNcclxuICBpc0N1c3RvbURhdGUgPSAobTogZGF5anMuRGF5anMpID0+IHtcclxuICAgIGNvbnN0IGlzVmFsaWREYXRlID0gIG0gPiB0aGlzLmRheWpzKCk7ICAgIFxyXG4gICAgcmV0dXJuIGlzVmFsaWREYXRlID8gJ2ludmFsaWQtZGF0ZScgOiBmYWxzZTtcclxufVxyXG4gIHNlbGVjdGVkRGF0ZVJhbmdlOiBhbnkgPSB7fTtcclxuICBzdG9yZUxpc3Q6YW55ID0gW11cclxuICBzZWxlY3RlZENsaWVudDphbnlcclxuICBzZWxlY3RlZEZpbHRlcnM6IGFueSA9IHtcclxuICAgIGNsaWVudDogbnVsbCxcclxuICAgIGNsaWVudE5hbWU6bnVsbCxcclxuICAgIGNsaWVudHM6IFtdLFxyXG4gICAgc3RvcmU6IG51bGwsXHJcbiAgICBzdG9yZXM6IFtdLFxyXG4gICAgZGF0ZTogbnVsbCxcclxuXHJcbiAgfTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF1dGg6QXV0aFNlcnZpY2UsIHByaXZhdGUgZ3M6R2xvYmFsU3RhdGVTZXJ2aWNlLCBwcml2YXRlIGNkOkNoYW5nZURldGVjdG9yUmVmKXtcclxuIFxyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGhlYWRlckZpbHRlcnM6IGFueSA9IEpTT04ucGFyc2UoXHJcbiAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIikgfHwgXCJ7fVwiXHJcbiAgICApO1xyXG4gICAgaWYoaGVhZGVyRmlsdGVycz8uY2xpZW50KXtcclxuICAgIHRoaXMuYXV0aC5nZXRTdG9yZXMoaGVhZGVyRmlsdGVycz8uY2xpZW50KS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoZSkgPT4ge1xyXG4gICAgICAgIGlmIChlKSB7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIHRoaXMuc3RvcmVMaXN0ID0gZS5kYXRhLnJlc3VsdDtcclxuICAgICAgICAgIGNvbnN0IGhlYWRlckZpbHRlcnM6IGFueSA9IEpTT04ucGFyc2UoXHJcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIikgfHwgXCJ7fVwiXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZSA9IHtcclxuICAgICAgICAgICAgc3RhcnREYXRlOiB0aGlzLmRheWpzKGhlYWRlckZpbHRlcnM/LmRhdGU/LnN0YXJ0RGF0ZSxcIkRELU1NLVlZWVlcIikuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcclxuICAgICAgICAgICAgZW5kRGF0ZTogdGhpcy5kYXlqcyhoZWFkZXJGaWx0ZXJzPy5kYXRlPy5lbmREYXRlLCBcIkRELU1NLVlZWVlcIikuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKVxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIGlmIChoZWFkZXJGaWx0ZXJzPy5zdG9yZSkge1xyXG4gICAgICAgICAgICB0aGlzLnN0b3JlTGlzdC5maW5kKChvYmo6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChvYmouc3RvcmVJZCA9PT0gaGVhZGVyRmlsdGVycy5zdG9yZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENsaWVudCA9IG9iajtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLnN0b3JlID0gIGhlYWRlckZpbHRlcnMuc3RvcmU7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuY2xpZW50ID0gIGhlYWRlckZpbHRlcnMuY2xpZW50O1xyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmNsaWVudE5hbWUgPSAgaGVhZGVyRmlsdGVycy5jbGllbnROYW1lO1xyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmNsaWVudHMgPSAgaGVhZGVyRmlsdGVycy5jbGllbnRzOyAgXHJcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuZGF0ZSA9IGhlYWRlckZpbHRlcnMuZGF0ZTtcclxuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlID0ge1xyXG4gICAgICAgICAgICAgICAgc3RhcnREYXRlOnRoaXMuZGF5anMoIGhlYWRlckZpbHRlcnMuZGF0ZS5zdGFydERhdGUsIFwiWVlZWS1NTS1ERFwiKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpLFxyXG4gICAgICAgICAgICAgICAgZW5kRGF0ZTogdGhpcy5kYXlqcyggaGVhZGVyRmlsdGVycy5kYXRlLmVuZERhdGUsIFwiWVlZWS1NTS1ERFwiKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpLFxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXHJcbiAgICAgICAgICAgICAgICBcImhlYWRlci1maWx0ZXJzXCIsXHJcbiAgICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnNlbGVjdGVkRmlsdGVycylcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWUubmV4dCh0aGlzLnNlbGVjdGVkRmlsdGVycyk7XHJcbiAgICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2xpZW50ID0gdGhpcy5zdG9yZUxpc3RbMF07XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLnN0b3JlID0gIHRoaXMuc2VsZWN0ZWRDbGllbnQuc3RvcmVJZDsgXHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UgPSB7XHJcbiAgICAgICAgICAgICAgc3RhcnREYXRlOiB0aGlzLmRheWpzKCkuZm9ybWF0KFwiREQtTU0tWVlZWVwiKSxcclxuICAgICAgICAgICAgICBlbmREYXRlOiB0aGlzLmRheWpzKCkuZm9ybWF0KFwiREQtTU0tWVlZWVwiKSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgdmFyIGRhdGV0aW1lID0ge1xyXG4gICAgICAgICAgICAgIHN0YXJ0RGF0ZTogdGhpcy5kYXlqcygpLmZvcm1hdChcIllZWVktTU0tRERcIiksXHJcbiAgICAgICAgICAgICAgZW5kRGF0ZTogdGhpcy5kYXlqcygpLmZvcm1hdChcIllZWVktTU0tRERcIiksXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmRhdGUgPSBkYXRldGltZTtcclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXHJcbiAgICAgICAgICAgICAgXCJoZWFkZXItZmlsdGVyc1wiLFxyXG4gICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuc2VsZWN0ZWRGaWx0ZXJzKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlLm5leHQodGhpcy5zZWxlY3RlZEZpbHRlcnMpO1xyXG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgfVxyXG4gIG9uQ2xpZW50U2VsZWN0KGV2ZW50OmFueSl7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2xpZW50ID0gZXZlbnRcclxuICB9XHJcblxyXG4gIHJhbmdlczogYW55ID0ge1xyXG4gICAgJ1llc3RlcmRheSc6IFt0aGlzLmRheWpzKCkuc3VidHJhY3QoMSwgJ2RheXMnKSwgdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsICdkYXlzJyldLFxyXG4gICAgJ1RoaXMgV2Vlayc6IFt0aGlzLmRheWpzKCkuc3VidHJhY3QoNiwgJ2RheXMnKSwgdGhpcy5kYXlqcygpXSxcclxuICAgICdMYXN0IFdlZWsnOiBbdGhpcy5kYXlqcygpLnN1YnRyYWN0KDE0LCAnZGF5cycpLnN0YXJ0T2YoJ2RheXMnKSwgdGhpcy5kYXlqcygpLnN1YnRyYWN0KDgsICdkYXlzJykuZW5kT2YoJ2RheXMnKV0sXHJcbiAgIFwiVGhpcyBNb250aFwiOiBbXHJcbiAgICB0aGlzLmRheWpzKCkuc3VidHJhY3QoMzAsIFwiZGF5c1wiKSwgLy8gU3RhcnQgZGF0ZSBpcyAzMCBkYXlzIGJlZm9yZSB0b2RheVxyXG4gICAgdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsIFwiZGF5c1wiKSAvLyBFbmQgZGF0ZSBpcyBZZXN0ZXJkYXlcclxuICBdLFxyXG4gICAgJ0xhc3QgTW9udGgnOiBbXHJcbiAgICAgIHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCAnbW9udGgnKS5zdGFydE9mKCdtb250aCcpLFxyXG4gICAgICB0aGlzLmRheWpzKCkuc3VidHJhY3QoMSwgJ21vbnRoJykuZW5kT2YoJ21vbnRoJylcclxuICAgIF1cclxuICB9O1xyXG5cclxuICBvblN0YXJ0RGF0ZUNoYW5nZShldmVudDphbnkpe1xyXG4gICAgaWYodGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUpLmlzVmFsaWQoKSl7XHJcbiAgICAgIHRoaXMuaXNDdXN0b21EYXRlID0gKG06IGRheWpzLkRheWpzKSA9PiB7ICAgICAgICBcclxuICAgICAgY29uc3QgaXNWYWxpZERhdGUgPSBtID4gdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsIFwiZGF5c1wiKSB8fCBtID4gdGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUuYWRkKDkwLCAnZGF5cycpKSA7XHJcbiAgICAgIHJldHVybiBpc1ZhbGlkRGF0ZSA/ICdpbnZhbGlkLWRhdGUnIDogZmFsc2U7XHJcbiAgfVxyXG59XHJcbn1cclxuXHJcbmRhdGVjaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gIGlmIChldmVudCAmJiBldmVudC5zdGFydERhdGUgJiYgZXZlbnQuZW5kRGF0ZSkge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZSkuaXNWYWxpZCgpICYmXHJcbiAgICAgIHRoaXMuZGF5anMoZXZlbnQuZW5kRGF0ZSkuaXNWYWxpZCgpXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUgPSBldmVudC5zdGFydERhdGVcclxuICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5lbmREYXRlID0gZXZlbnQuZW5kRGF0ZVxyXG4gICAgICB2YXIgZGF0ZXRpbWUgPSB7XHJcbiAgICAgICAgc3RhcnREYXRlOiB0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZSxcIkRELU1NLVlZWVlcIikuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcclxuICAgICAgICBlbmREYXRlOiB0aGlzLmRheWpzKGV2ZW50LmVuZERhdGUsXCJERC1NTS1ZWVlZXCIpLmZvcm1hdChcIllZWVktTU0tRERcIiksXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmRhdGUgPSBkYXRldGltZTtcclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2hlYWRlci1maWx0ZXJzJywgSlNPTi5zdHJpbmdpZnkodGhpcy5zZWxlY3RlZEZpbHRlcnMpKTtcclxuICAgIH1cclxuICB9ZWxzZSB7XHJcbiAgICBjb25zdCBoZWFkZXJGaWx0ZXJzOiBhbnkgPSBKU09OLnBhcnNlKFxyXG4gICAgICAgICAgbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJoZWFkZXItZmlsdGVyc1wiKSB8fCBcInt9XCJcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlID0gdGhpcy5kYXlqcyhoZWFkZXJGaWx0ZXJzLmRhdGUuc3RhcnREYXRlLFwiWVlZWS1NTS1ERFwiKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSA9IHRoaXMuZGF5anMoaGVhZGVyRmlsdGVycy5kYXRlLmVuZERhdGUsXCJZWVlZLU1NLUREXCIpLmZvcm1hdChcIkRELU1NLVlZWVlcIik7XHJcbiAgICAgICAgdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZS5uZXh0KGhlYWRlckZpbHRlcnMpO1xyXG4gIH0gXHJcbn1cclxuXHJcbkFwcGx5KCkge1xyXG4gIGNvbnN0IGhlYWRlckZpbHRlcnM6IGFueSA9IEpTT04ucGFyc2UoXHJcbiAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIpIHx8IFwie31cIlxyXG4gICk7XHJcbiAgdGhpcy5zZWxlY3RlZEZpbHRlcnMgPSBoZWFkZXJGaWx0ZXJzO1xyXG4gIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLnN0b3JlID0gdGhpcy5zZWxlY3RlZENsaWVudC5zdG9yZUlkO1xyXG4gIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWUubmV4dCh0aGlzLnNlbGVjdGVkRmlsdGVycyk7XHJcbiAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2hlYWRlci1maWx0ZXJzJywgSlNPTi5zdHJpbmdpZnkodGhpcy5zZWxlY3RlZEZpbHRlcnMpKTtcclxufVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ3cmFwcGVyIG14LTJcIiA+XHJcbiAgICA8bGliLXNlbGVjdCBbaXRlbXNdPVwic3RvcmVMaXN0XCIgW211bHRpXT1cImZhbHNlXCIgW3NlYXJjaEZpZWxkXT1cIidzdG9yZU5hbWUnXCIgW2Rpc2FibGVkXT1cImZhbHNlXCIgW2lkRmllbGRdPVwiJ3N0b3JlSWQnXCJcclxuICAgICAgICAoc2VsZWN0ZWQpPVwib25DbGllbnRTZWxlY3QoJGV2ZW50KVwiIFtzZWxlY3RlZFZhbHVlc109XCJbc2VsZWN0ZWRDbGllbnRdXCI+PC9saWItc2VsZWN0PlxyXG5cclxuICAgICAgICBcclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTFcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMSBwb3NpdGlvbi1hYnNvbHV0ZSBtcy0zXCI+XHJcbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICBkPVwiTTEzLjMzMzMgMS42NjY2M1Y0Ljk5OTk2TTYuNjY2NjcgMS42NjY2M1Y0Ljk5OTk2TTIuNSA4LjMzMzI5SDE3LjVNNC4xNjY2NyAzLjMzMzI5SDE1LjgzMzNDMTYuNzUzOCAzLjMzMzI5IDE3LjUgNC4wNzk0OCAxNy41IDQuOTk5OTZWMTYuNjY2NkMxNy41IDE3LjU4NzEgMTYuNzUzOCAxOC4zMzMzIDE1LjgzMzMgMTguMzMzM0g0LjE2NjY3QzMuMjQ2MTkgMTguMzMzMyAyLjUgMTcuNTg3MSAyLjUgMTYuNjY2NlY0Ljk5OTk2QzIuNSA0LjA3OTQ4IDMuMjQ2MTkgMy4zMzMyOSA0LjE2NjY3IDMuMzMzMjlaXCJcclxuICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICA8L3N2Zz5cclxuICAgIDwvc3Bhbj5cclxuICAgIDxpbnB1dCBjbGFzcz1cImZ4LWRhdGUtcmFuZ2UgZm9ybS1jb250cm9sIHBzLTE0XCIgc3R5bGU9XCJtaW4td2lkdGg6IDI2MHB4ICFpbXBvcnRhbnQ7XCIgdHlwZT1cInRleHRcIiBtYXRJbnB1dCBuZ3hEYXRlcmFuZ2VwaWNrZXJNZCBbZHJvcHNdPVwiJ2Rvd24nXCJcclxuICAgICAgICBbb3BlbnNdPVwiJ3JpZ2h0J1wiIFtyYW5nZXNdPVwicmFuZ2VzXCIgW3Nob3dDdXN0b21SYW5nZUxhYmVsXT1cInRydWVcIiBbYWx3YXlzU2hvd0NhbGVuZGFyc109XCJmYWxzZVwiIFthdXRvQXBwbHldPVwidHJ1ZVwiXHJcbiAgICAgICAgW2tlZXBDYWxlbmRhck9wZW5pbmdXaXRoUmFuZ2VdPVwidHJ1ZVwiIFtzaG93Q2FuY2VsXT1cInRydWVcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRGF0ZVJhbmdlXCIgKHN0YXJ0RGF0ZUNoYW5nZWQpPVwib25TdGFydERhdGVDaGFuZ2UoJGV2ZW50KVwiICBbaXNDdXN0b21EYXRlXT1cImlzQ3VzdG9tRGF0ZVwiXHJcbiAgICAgICAgW2xvY2FsZV09XCJ7IGZvcm1hdDogJ0RELU1NLVlZWVknLCBmaXJzdERheTogMSwgbW9udGhOYW1lczogWydKYW51YXJ5JywgJ0ZlYnJ1YXJ5JywgJ01hcmNoJywgJ0FwcmlsJywgJ01heScsICdKdW5lJywgJ0p1bHknLCAnQXVndXN0JywgJ1NlcHRlbWJlcicsICdPY3RvYmVyJywgJ05vdmVtYmVyJywgJ0RlY2VtYmVyJ10gfVwiXHJcbiAgICAgICAgKGRhdGVzVXBkYXRlZCk9XCJkYXRlY2hhbmdlKCRldmVudClcIiBuYW1lPVwiZGF0ZXJhbmdlXCIgIFtyZWFkb25seV09XCJ0cnVlXCIgLz5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IG1zLTJcIiAoY2xpY2spPVwiQXBwbHkoKVwiPkFwcGx5PC9kaXY+XHJcbiJdfQ==
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLXN0b3JlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC90b29sYmFyL3NpbmdsZS1zdG9yZS9zaW5nbGUtc3RvcmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL21vZHVsZXMvbGF5b3V0L3Rvb2xiYXIvc2luZ2xlLXN0b3JlL3NpbmdsZS1zdG9yZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFRLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDM0IsT0FBTyxpQkFBaUIsQ0FBQzs7Ozs7OztBQVN6QixNQUFNLE9BQU8sb0JBQW9CO0lBa0JYO0lBQTBCO0lBQStCO0lBakI3RSxLQUFLLEdBQUcsS0FBSyxDQUFBO0lBQ2IsWUFBWSxHQUFHLENBQUMsQ0FBYyxFQUFFLEVBQUU7UUFDaEMsTUFBTSxXQUFXLEdBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0QyxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDaEQsQ0FBQyxDQUFBO0lBQ0MsaUJBQWlCLEdBQVEsRUFBRSxDQUFDO0lBQzVCLFNBQVMsR0FBTyxFQUFFLENBQUE7SUFDbEIsY0FBYyxDQUFJO0lBQ2xCLGVBQWUsR0FBUTtRQUNyQixNQUFNLEVBQUUsSUFBSTtRQUNaLFVBQVUsRUFBQyxJQUFJO1FBQ2YsT0FBTyxFQUFFLEVBQUU7UUFDWCxLQUFLLEVBQUUsSUFBSTtRQUNYLE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLElBQUk7S0FFWCxDQUFDO0lB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LG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICBkYXlqcyBmcm9tICdkYXlqcyc7XHJcbmltcG9ydCAnZGF5anMvbG9jYWxlL2VuJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXNpbmdsZS1zdG9yZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NpbmdsZS1zdG9yZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3NpbmdsZS1zdG9yZS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpbmdsZVN0b3JlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBkYXlqcyA9IGRheWpzXHJcbiAgaXNDdXN0b21EYXRlID0gKG06IGRheWpzLkRheWpzKSA9PiB7XHJcbiAgICBjb25zdCBpc1ZhbGlkRGF0ZSA9ICBtID4gdGhpcy5kYXlqcygpOyAgICBcclxuICAgIHJldHVybiBpc1ZhbGlkRGF0ZSA/ICdpbnZhbGlkLWRhdGUnIDogZmFsc2U7XHJcbn1cclxuICBzZWxlY3RlZERhdGVSYW5nZTogYW55ID0ge307XHJcbiAgc3RvcmVMaXN0OmFueSA9IFtdXHJcbiAgc2VsZWN0ZWRDbGllbnQ6YW55XHJcbiAgc2VsZWN0ZWRGaWx0ZXJzOiBhbnkgPSB7XHJcbiAgICBjbGllbnQ6IG51bGwsXHJcbiAgICBjbGllbnROYW1lOm51bGwsXHJcbiAgICBjbGllbnRzOiBbXSxcclxuICAgIHN0b3JlOiBudWxsLFxyXG4gICAgc3RvcmVzOiBbXSxcclxuICAgIGRhdGU6IG51bGwsXHJcblxyXG4gIH07XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhdXRoOkF1dGhTZXJ2aWNlLCBwcml2YXRlIGdzOkdsb2JhbFN0YXRlU2VydmljZSwgcHJpdmF0ZSBjZDpDaGFuZ2VEZXRlY3RvclJlZil7XHJcbiBcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBoZWFkZXJGaWx0ZXJzOiBhbnkgPSBKU09OLnBhcnNlKFxyXG4gICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIpIHx8IFwie31cIlxyXG4gICAgKTtcclxuICAgIGlmKGhlYWRlckZpbHRlcnM/LmNsaWVudCl7XHJcbiAgICB0aGlzLmF1dGguZ2V0U3RvcmVzKGhlYWRlckZpbHRlcnM/LmNsaWVudCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKGUpID0+IHtcclxuICAgICAgICBpZiAoZSkge1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICB0aGlzLnN0b3JlTGlzdCA9IGUuZGF0YS5yZXN1bHQ7XHJcbiAgICAgICAgICBjb25zdCBoZWFkZXJGaWx0ZXJzOiBhbnkgPSBKU09OLnBhcnNlKFxyXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIpIHx8IFwie31cIlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UgPSB7XHJcbiAgICAgICAgICAgIHN0YXJ0RGF0ZTogdGhpcy5kYXlqcyhoZWFkZXJGaWx0ZXJzPy5kYXRlPy5zdGFydERhdGUsXCJERC1NTS1ZWVlZXCIpLmZvcm1hdChcIllZWVktTU0tRERcIiksXHJcbiAgICAgICAgICAgIGVuZERhdGU6IHRoaXMuZGF5anMoaGVhZGVyRmlsdGVycz8uZGF0ZT8uZW5kRGF0ZSwgXCJERC1NTS1ZWVlZXCIpLmZvcm1hdChcIllZWVktTU0tRERcIilcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICBpZiAoaGVhZGVyRmlsdGVycz8uc3RvcmUpIHtcclxuICAgICAgICAgICAgdGhpcy5zdG9yZUxpc3QuZmluZCgob2JqOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICBpZiAob2JqLnN0b3JlSWQgPT09IGhlYWRlckZpbHRlcnMuc3RvcmUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDbGllbnQgPSBvYmo7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRmlsdGVycy5zdG9yZSA9ICBoZWFkZXJGaWx0ZXJzLnN0b3JlO1xyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmNsaWVudCA9ICBoZWFkZXJGaWx0ZXJzLmNsaWVudDtcclxuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRmlsdGVycy5jbGllbnROYW1lID0gIGhlYWRlckZpbHRlcnMuY2xpZW50TmFtZTtcclxuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRmlsdGVycy5jbGllbnRzID0gIGhlYWRlckZpbHRlcnMuY2xpZW50czsgIFxyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmRhdGUgPSBoZWFkZXJGaWx0ZXJzLmRhdGU7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZSA9IHtcclxuICAgICAgICAgICAgICAgIHN0YXJ0RGF0ZTp0aGlzLmRheWpzKCBoZWFkZXJGaWx0ZXJzLmRhdGUuc3RhcnREYXRlLCBcIllZWVktTU0tRERcIikuZm9ybWF0KFwiREQtTU0tWVlZWVwiKSxcclxuICAgICAgICAgICAgICAgIGVuZERhdGU6IHRoaXMuZGF5anMoIGhlYWRlckZpbHRlcnMuZGF0ZS5lbmREYXRlLCBcIllZWVktTU0tRERcIikuZm9ybWF0KFwiREQtTU0tWVlZWVwiKSxcclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFxyXG4gICAgICAgICAgICAgICAgXCJoZWFkZXItZmlsdGVyc1wiLFxyXG4gICAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5zZWxlY3RlZEZpbHRlcnMpXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlLm5leHQodGhpcy5zZWxlY3RlZEZpbHRlcnMpO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENsaWVudCA9IHRoaXMuc3RvcmVMaXN0WzBdO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkRmlsdGVycy5zdG9yZSA9ICB0aGlzLnNlbGVjdGVkQ2xpZW50LnN0b3JlSWQ7IFxyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlID0ge1xyXG4gICAgICAgICAgICAgIHN0YXJ0RGF0ZTogdGhpcy5kYXlqcygpLmZvcm1hdChcIkRELU1NLVlZWVlcIiksXHJcbiAgICAgICAgICAgICAgZW5kRGF0ZTogdGhpcy5kYXlqcygpLmZvcm1hdChcIkRELU1NLVlZWVlcIiksXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHZhciBkYXRldGltZSA9IHtcclxuICAgICAgICAgICAgICBzdGFydERhdGU6IHRoaXMuZGF5anMoKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxyXG4gICAgICAgICAgICAgIGVuZERhdGU6IHRoaXMuZGF5anMoKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkRmlsdGVycy5kYXRlID0gZGF0ZXRpbWU7XHJcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFxyXG4gICAgICAgICAgICAgIFwiaGVhZGVyLWZpbHRlcnNcIixcclxuICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnNlbGVjdGVkRmlsdGVycylcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZS5uZXh0KHRoaXMuc2VsZWN0ZWRGaWx0ZXJzKTtcclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIH1cclxuICBvbkNsaWVudFNlbGVjdChldmVudDphbnkpe1xyXG4gICAgdGhpcy5zZWxlY3RlZENsaWVudCA9IGV2ZW50XHJcbiAgfVxyXG5cclxuICByYW5nZXM6IGFueSA9IHtcclxuICAgIFRvZGF5OiBbXHJcbiAgICAgIHRoaXMuZGF5anMoKSxcclxuICAgICAgdGhpcy5kYXlqcygpLFxyXG4gICAgXSxcclxuICAgICdZZXN0ZXJkYXknOiBbdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsICdkYXlzJyksIHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCAnZGF5cycpXSxcclxuICAgICdUaGlzIFdlZWsnOiBbdGhpcy5kYXlqcygpLnN1YnRyYWN0KDYsICdkYXlzJyksIHRoaXMuZGF5anMoKV0sXHJcbiAgICAnTGFzdCBXZWVrJzogW3RoaXMuZGF5anMoKS5zdWJ0cmFjdCgxNCwgJ2RheXMnKS5zdGFydE9mKCdkYXlzJyksIHRoaXMuZGF5anMoKS5zdWJ0cmFjdCg4LCAnZGF5cycpLmVuZE9mKCdkYXlzJyldLFxyXG4gICBcIlRoaXMgTW9udGhcIjogW1xyXG4gICAgdGhpcy5kYXlqcygpLnN1YnRyYWN0KDMwLCBcImRheXNcIiksIC8vIFN0YXJ0IGRhdGUgaXMgMzAgZGF5cyBiZWZvcmUgdG9kYXlcclxuICAgIHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCBcImRheXNcIikgLy8gRW5kIGRhdGUgaXMgWWVzdGVyZGF5XHJcbiAgXSxcclxuICAgICdMYXN0IE1vbnRoJzogW1xyXG4gICAgICB0aGlzLmRheWpzKCkuc3VidHJhY3QoMSwgJ21vbnRoJykuc3RhcnRPZignbW9udGgnKSxcclxuICAgICAgdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsICdtb250aCcpLmVuZE9mKCdtb250aCcpXHJcbiAgICBdXHJcbiAgfTtcclxuXHJcbiAgb25TdGFydERhdGVDaGFuZ2UoZXZlbnQ6YW55KXtcclxuICAgIGlmKHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS5pc1ZhbGlkKCkpe1xyXG4gICAgICB0aGlzLmlzQ3VzdG9tRGF0ZSA9IChtOiBkYXlqcy5EYXlqcykgPT4geyAgICAgICAgXHJcbiAgICAgIGNvbnN0IGlzVmFsaWREYXRlID0gbSA+IHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCBcImRheXNcIikgfHwgbSA+IHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlLmFkZCg5MCwgJ2RheXMnKSkgO1xyXG4gICAgICByZXR1cm4gaXNWYWxpZERhdGUgPyAnaW52YWxpZC1kYXRlJyA6IGZhbHNlO1xyXG4gIH1cclxufVxyXG59XHJcblxyXG5kYXRlY2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICBpZiAoZXZlbnQgJiYgZXZlbnQuc3RhcnREYXRlICYmIGV2ZW50LmVuZERhdGUpIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUpLmlzVmFsaWQoKSAmJlxyXG4gICAgICB0aGlzLmRheWpzKGV2ZW50LmVuZERhdGUpLmlzVmFsaWQoKVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlID0gZXZlbnQuc3RhcnREYXRlXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSA9IGV2ZW50LmVuZERhdGVcclxuICAgICAgdmFyIGRhdGV0aW1lID0ge1xyXG4gICAgICAgIHN0YXJ0RGF0ZTogdGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUsXCJERC1NTS1ZWVlZXCIpLmZvcm1hdChcIllZWVktTU0tRERcIiksXHJcbiAgICAgICAgZW5kRGF0ZTogdGhpcy5kYXlqcyhldmVudC5lbmREYXRlLFwiREQtTU0tWVlZWVwiKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRmlsdGVycy5kYXRlID0gZGF0ZXRpbWU7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdoZWFkZXItZmlsdGVycycsIEpTT04uc3RyaW5naWZ5KHRoaXMuc2VsZWN0ZWRGaWx0ZXJzKSk7XHJcbiAgICB9XHJcbiAgfWVsc2Uge1xyXG4gICAgY29uc3QgaGVhZGVyRmlsdGVyczogYW55ID0gSlNPTi5wYXJzZShcclxuICAgICAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIikgfHwgXCJ7fVwiXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSA9IHRoaXMuZGF5anMoaGVhZGVyRmlsdGVycy5kYXRlLnN0YXJ0RGF0ZSxcIllZWVktTU0tRERcIikuZm9ybWF0KFwiREQtTU0tWVlZWVwiKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLmVuZERhdGUgPSB0aGlzLmRheWpzKGhlYWRlckZpbHRlcnMuZGF0ZS5lbmREYXRlLFwiWVlZWS1NTS1ERFwiKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpO1xyXG4gICAgICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWUubmV4dChoZWFkZXJGaWx0ZXJzKTtcclxuICB9IFxyXG59XHJcblxyXG5BcHBseSgpIHtcclxuICBjb25zdCBoZWFkZXJGaWx0ZXJzOiBhbnkgPSBKU09OLnBhcnNlKFxyXG4gICAgbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJoZWFkZXItZmlsdGVyc1wiKSB8fCBcInt9XCJcclxuICApO1xyXG4gIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzID0gaGVhZGVyRmlsdGVycztcclxuICB0aGlzLnNlbGVjdGVkRmlsdGVycy5zdG9yZSA9IHRoaXMuc2VsZWN0ZWRDbGllbnQuc3RvcmVJZDtcclxuICB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlLm5leHQodGhpcy5zZWxlY3RlZEZpbHRlcnMpO1xyXG4gIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdoZWFkZXItZmlsdGVycycsIEpTT04uc3RyaW5naWZ5KHRoaXMuc2VsZWN0ZWRGaWx0ZXJzKSk7XHJcbn1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwid3JhcHBlciBteC0yXCIgPlxyXG4gICAgPGxpYi1zZWxlY3QgW2l0ZW1zXT1cInN0b3JlTGlzdFwiIFttdWx0aV09XCJmYWxzZVwiIFtzZWFyY2hGaWVsZF09XCInc3RvcmVOYW1lJ1wiIFtkaXNhYmxlZF09XCJmYWxzZVwiIFtpZEZpZWxkXT1cIidzdG9yZUlkJ1wiXHJcbiAgICAgICAgKHNlbGVjdGVkKT1cIm9uQ2xpZW50U2VsZWN0KCRldmVudClcIiBbc2VsZWN0ZWRWYWx1ZXNdPVwiW3NlbGVjdGVkQ2xpZW50XVwiPjwvbGliLXNlbGVjdD5cclxuXHJcbiAgICAgICAgXHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTEgcG9zaXRpb24tYWJzb2x1dGUgbXMtM1wiPlxyXG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgZD1cIk0xMy4zMzMzIDEuNjY2NjNWNC45OTk5Nk02LjY2NjY3IDEuNjY2NjNWNC45OTk5Nk0yLjUgOC4zMzMyOUgxNy41TTQuMTY2NjcgMy4zMzMyOUgxNS44MzMzQzE2Ljc1MzggMy4zMzMyOSAxNy41IDQuMDc5NDggMTcuNSA0Ljk5OTk2VjE2LjY2NjZDMTcuNSAxNy41ODcxIDE2Ljc1MzggMTguMzMzMyAxNS44MzMzIDE4LjMzMzNINC4xNjY2N0MzLjI0NjE5IDE4LjMzMzMgMi41IDE3LjU4NzEgMi41IDE2LjY2NjZWNC45OTk5NkMyLjUgNC4wNzk0OCAzLjI0NjE5IDMuMzMzMjkgNC4xNjY2NyAzLjMzMzI5WlwiXHJcbiAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgPC9zdmc+XHJcbiAgICA8L3NwYW4+XHJcbiAgICA8aW5wdXQgY2xhc3M9XCJmeC1kYXRlLXJhbmdlIGZvcm0tY29udHJvbCBwcy0xNFwiIHN0eWxlPVwibWluLXdpZHRoOiAyNjBweCAhaW1wb3J0YW50O1wiIHR5cGU9XCJ0ZXh0XCIgbWF0SW5wdXQgbmd4RGF0ZXJhbmdlcGlja2VyTWQgW2Ryb3BzXT1cIidkb3duJ1wiXHJcbiAgICAgICAgW29wZW5zXT1cIidyaWdodCdcIiBbcmFuZ2VzXT1cInJhbmdlc1wiIFtzaG93Q3VzdG9tUmFuZ2VMYWJlbF09XCJ0cnVlXCIgW2Fsd2F5c1Nob3dDYWxlbmRhcnNdPVwiZmFsc2VcIiBbYXV0b0FwcGx5XT1cInRydWVcIlxyXG4gICAgICAgIFtrZWVwQ2FsZW5kYXJPcGVuaW5nV2l0aFJhbmdlXT1cInRydWVcIiBbc2hvd0NhbmNlbF09XCJ0cnVlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZERhdGVSYW5nZVwiIChzdGFydERhdGVDaGFuZ2VkKT1cIm9uU3RhcnREYXRlQ2hhbmdlKCRldmVudClcIiAgW2lzQ3VzdG9tRGF0ZV09XCJpc0N1c3RvbURhdGVcIlxyXG4gICAgICAgIFtsb2NhbGVdPVwieyBmb3JtYXQ6ICdERC1NTS1ZWVlZJywgZmlyc3REYXk6IDEsIG1vbnRoTmFtZXM6IFsnSmFudWFyeScsICdGZWJydWFyeScsICdNYXJjaCcsICdBcHJpbCcsICdNYXknLCAnSnVuZScsICdKdWx5JywgJ0F1Z3VzdCcsICdTZXB0ZW1iZXInLCAnT2N0b2JlcicsICdOb3ZlbWJlcicsICdEZWNlbWJlciddIH1cIlxyXG4gICAgICAgIChkYXRlc1VwZGF0ZWQpPVwiZGF0ZWNoYW5nZSgkZXZlbnQpXCIgbmFtZT1cImRhdGVyYW5nZVwiICBbcmVhZG9ubHldPVwidHJ1ZVwiIC8+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtcy0yXCIgKGNsaWNrKT1cIkFwcGx5KClcIj5BcHBseTwvZGl2PlxyXG4iXX0=