tango-app-ui-analyse-trax 3.3.1-alpha-task.68 → 3.3.1-alpha-task.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/esm2022/lib/components/action-centre/action-centre.component.mjs +54 -36
  2. package/esm2022/lib/components/activity-log/activity-log.component.mjs +33 -9
  3. package/esm2022/lib/components/chip-dropdown/chip-dropdown.component.mjs +15 -8
  4. package/esm2022/lib/components/create-task/create-task.component.mjs +65 -27
  5. package/esm2022/lib/components/create-task/create-task.data.mjs +12 -12
  6. package/esm2022/lib/components/create-task/create-task.interface.mjs +1 -1
  7. package/esm2022/lib/components/dashboard-info/dashboard-info.component.mjs +38 -71
  8. package/esm2022/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.mjs +3 -21
  9. package/esm2022/lib/components/gallery/gallery.component.mjs +83 -28
  10. package/esm2022/lib/components/task/task.component.mjs +1 -2
  11. package/esm2022/lib/components/task-configure/task-configure.component.mjs +2 -2
  12. package/esm2022/lib/services/trax.service.mjs +3 -3
  13. package/fesm2022/tango-app-ui-analyse-trax.mjs +295 -207
  14. package/fesm2022/tango-app-ui-analyse-trax.mjs.map +1 -1
  15. package/lib/components/action-centre/action-centre.component.d.ts +13 -8
  16. package/lib/components/activity-log/activity-log.component.d.ts +4 -1
  17. package/lib/components/chip-dropdown/chip-dropdown.component.d.ts +2 -1
  18. package/lib/components/create-task/create-task.component.d.ts +4 -1
  19. package/lib/components/create-task/create-task.data.d.ts +11 -11
  20. package/lib/components/create-task/create-task.interface.d.ts +2 -2
  21. package/lib/components/dashboard-info/dashboard-info.component.d.ts +2 -0
  22. package/lib/components/gallery/gallery.component.d.ts +2 -1
  23. package/package.json +1 -1
@@ -4,6 +4,7 @@ import * as i0 from "@angular/core";
4
4
  import * as i1 from "tango-app-ui-global";
5
5
  import * as i2 from "../../services/trax.service";
6
6
  import * as i3 from "@angular/common";
7
+ import * as i4 from "tango-app-ui-shared";
7
8
  export class ActivityLogComponent {
8
9
  gs;
9
10
  pageInfo;
@@ -15,10 +16,10 @@ export class ActivityLogComponent {
15
16
  activityLogNoData = false;
16
17
  itemsPerPage = 10;
17
18
  currentPage = 1;
19
+ totalItems = 0;
18
20
  sortColumName = '';
19
21
  sortBy = '';
20
22
  sortDirection = '';
21
- totalItems = 0;
22
23
  paginationSizes = [];
23
24
  pageSize = 10;
24
25
  activityLog = [];
@@ -54,19 +55,22 @@ export class ActivityLogComponent {
54
55
  this.activityLogLoading = true;
55
56
  this.activityLogNoData = true;
56
57
  const requestData = {
57
- fromDate: this.headerData.date.startDate,
58
- toDate: this.headerData.date.endDate,
58
+ // fromDate: this.headerData.date.startDate,
59
+ // toDate: this.headerData.date.endDate,
59
60
  storeId: this.headerData.stores.filter((store) => store.checked).map((store) => store.storeId),
60
61
  clientId: this.headerData.client,
62
+ limit: this.itemsPerPage,
63
+ offset: this.currentPage,
61
64
  };
62
65
  this.TraxService.getActivityLog(requestData)
63
66
  .pipe(takeUntil(this.destroy$))
64
67
  .subscribe((response) => {
65
68
  this.activityLogLoading = false;
66
69
  if (response?.code === 200 && response?.status === "success") {
67
- this.activityLog = response.data.activityLog || [];
68
- this.totalItems = response.data.totalCount;
69
- // this.setPaginationSizes()
70
+ this.activityLog = response.data[0]?.activityLogData || [];
71
+ // this.totalItems = response.data.totalCount
72
+ this.totalItems = response.data[0]?.count[0]?.total || 0;
73
+ this.setPaginationSizes();
70
74
  this.activityLogLoading = false;
71
75
  this.activityLogNoData = false;
72
76
  }
@@ -84,11 +88,31 @@ export class ActivityLogComponent {
84
88
  this.changeDetector.detectChanges();
85
89
  });
86
90
  }
91
+ onPageSizeChange(pageSize) {
92
+ this.currentPage = 1;
93
+ this.itemsPerPage = pageSize;
94
+ this.pageSize = pageSize;
95
+ this.changeDetector.detectChanges();
96
+ this.getActivityLog();
97
+ }
98
+ onPageChange(pageOffset) {
99
+ this.currentPage = pageOffset;
100
+ this.getActivityLog();
101
+ }
102
+ setPaginationSizes() {
103
+ if (this.totalItems > 10) {
104
+ this.paginationSizes = [10, 20, 30];
105
+ }
106
+ else {
107
+ this.paginationSizes = [this.totalItems];
108
+ this.pageSize = this.totalItems;
109
+ }
110
+ }
87
111
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActivityLogComponent, deps: [{ token: i1.GlobalStateService }, { token: i1.PageInfoService }, { token: i2.TraxService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
88
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ActivityLogComponent, selector: "lib-activity-log", ngImport: i0, template: "<div class=\"col-md-12\">\r\n <div class=\"row cardscroll\">\r\n <div class=\"col-6\">\r\n <div class=\"timeline-label\">\r\n <div *ngFor=\"let log of activityLog; let i = index\" class=\"timeline-item mb-6\"\r\n [ngClass]=\"{'d-none': i % 2 !== 0}\">\r\n <div class=\"timeline-badge mx-1\">\r\n <span>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"13\" height=\"14\" viewBox=\"0 0 13 14\"\r\n fill=\"none\">\r\n <circle cx=\"6.5\" cy=\"7\" r=\"5\"\r\n [attr.stroke]=\"log.status === 'lapsed' ? '#F04438' : '#12B76A'\"\r\n stroke-width=\"3\" />\r\n </svg>\r\n </span>\r\n </div>\r\n <div class=\"logtextmain\">\r\n {{ log.storeName }}\r\n <span class=\"logtextsub mx-1\">{{ log.status | titlecase }}</span>\r\n <span class=\"logtextmain mx-1\">{{ log.checklistName }}</span>\r\n <span class=\"logtextsub mx-1\">at {{ log.createdAt }}</span>\r\n </div>\r\n <div *ngIf=\"log.status === 'submitted'\" class=\"mx-8 logview mx-16\">View</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <div class=\"timeline-label\">\r\n <div *ngFor=\"let log of activityLog; let i = index\" class=\"timeline-item mb-6\"\r\n [ngClass]=\"{'d-none': i % 2 === 0}\">\r\n <div class=\"timeline-badge mx-1\">\r\n <span>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"13\" height=\"14\" viewBox=\"0 0 13 14\"\r\n fill=\"none\">\r\n <circle cx=\"6.5\" cy=\"7\" r=\"5\"\r\n [attr.stroke]=\"log.status === 'submitted' ? '#12B76A' : '#F04438'\"\r\n stroke-width=\"3\" />\r\n </svg>\r\n </span>\r\n </div>\r\n <div class=\"logtextmain\">\r\n {{ log.storeName }}\r\n <span class=\"logtextsub mx-1\">{{ log.status | titlecase }}</span>\r\n <span class=\"logtextmain mx-1\">{{ log.checklistName }}</span>\r\n <span class=\"logtextsub mx-1\">at {{ log.createdAt }}</span>\r\n </div>\r\n <div *ngIf=\"log.status === 'submitted'\" class=\"mx-8 logview mx-16\">View</div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"activityLogLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"activityLogNoData && !activityLogLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Performance Table\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>", styles: [".timeline-label{position:unset}.logtextmain{color:var(--Black, #101828);font-size:14px;font-style:normal;font-weight:600;line-height:20px}.logtextsub{color:var(--Gray-400, #98A2B3);font-size:14px;font-style:normal;font-weight:400;line-height:20px}.logview{color:var(--Primary-700, #009BF3);font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-decoration-line:underline;text-transform:capitalize}.cardscroll{overflow-y:scroll;max-height:275px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.TitleCasePipe, name: "titlecase" }] });
112
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ActivityLogComponent, selector: "lib-activity-log", ngImport: i0, template: "<div class=\"col-md-12\">\r\n <div *ngIf=\"!activityLogLoading && !activityLogNoData\" class=\"row cardscroll\">\r\n <div class=\"col-6\">\r\n <div class=\"timeline-label\">\r\n <div *ngFor=\"let log of activityLog; let i = index\" class=\"timeline-item mb-6\"\r\n [ngClass]=\"{'d-none': i % 2 !== 0}\">\r\n <div class=\"timeline-badge mx-1\">\r\n <span>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"13\" height=\"14\" viewBox=\"0 0 13 14\"\r\n fill=\"none\">\r\n <circle cx=\"6.5\" cy=\"7\" r=\"5\"\r\n [attr.stroke]=\"log.action === 'lapsed' ? '#F04438' : '#12B76A'\"\r\n stroke-width=\"3\" />\r\n </svg>\r\n </span>\r\n </div>\r\n <div class=\"logtextmain\">\r\n {{ log.storeName || \"--\" }}\r\n <span class=\"logtextsub mx-1\">{{ log.action | titlecase }}</span>\r\n <span class=\"logtextmain mx-1\">{{ log.checkListName || \"--\" }}</span>\r\n <span class=\"logtextsub mx-1\">at {{ log.createdAt || \"--\" }}</span>\r\n </div>\r\n <div *ngIf=\"log.action === 'submitted'\" class=\"mx-8 logview mx-16\">View</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <div class=\"timeline-label\">\r\n <div *ngFor=\"let log of activityLog; let i = index\" class=\"timeline-item mb-6\"\r\n [ngClass]=\"{'d-none': i % 2 === 0}\">\r\n <div class=\"timeline-badge mx-1\">\r\n <span>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"13\" height=\"14\" viewBox=\"0 0 13 14\"\r\n fill=\"none\">\r\n <circle cx=\"6.5\" cy=\"7\" r=\"5\"\r\n [attr.stroke]=\"log.action === 'submitted' ? '#12B76A' : '#F04438'\"\r\n stroke-width=\"3\" />\r\n </svg>\r\n </span>\r\n </div>\r\n <div class=\"logtextmain\">\r\n {{ log.storeName || \"--\" }}\r\n <span class=\"logtextsub mx-1\">{{ log.action | titlecase }}</span>\r\n <span class=\"logtextmain mx-1\">{{ log.checkListName || \"--\" }}</span>\r\n <span class=\"logtextsub mx-1\">at {{ log.createdAt || \"--\" }}</span>\r\n </div>\r\n <div *ngIf=\"log.action === 'submitted'\" class=\"mx-8 logview mx-16\">View</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"!activityLogLoading && !activityLogNoData\">\r\n <lib-pagination class=\"text-start\" [itemsPerPage]=\"itemsPerPage\" [currentPage]=\"currentPage\"\r\n [totalItems]=\"totalItems\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"pageSize\"\r\n (pageChange)=\"onPageChange($event)\"\r\n (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n \r\n \r\n </div>\r\n <ng-container *ngIf=\"activityLogLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"activityLogNoData && !activityLogLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Performance Table\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>", styles: [".timeline-label{position:unset}.logtextmain{color:var(--Black, #101828);font-size:14px;font-style:normal;font-weight:600;line-height:20px}.logtextsub{color:var(--Gray-400, #98A2B3);font-size:14px;font-style:normal;font-weight:400;line-height:20px}.logview{color:var(--Primary-700, #009BF3);font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-decoration-line:underline;text-transform:capitalize}.cardscroll{overflow-y:scroll;max-height:275px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.PaginationComponent, selector: "lib-pagination", inputs: ["collection", "itemsPerPage", "currentPage", "totalItems", "directionLinks", "pageSize", "paginationSizes"], outputs: ["pageChange", "pageSizeChange"] }, { kind: "pipe", type: i3.TitleCasePipe, name: "titlecase" }] });
89
113
  }
90
114
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActivityLogComponent, decorators: [{
91
115
  type: Component,
92
- args: [{ selector: 'lib-activity-log', template: "<div class=\"col-md-12\">\r\n <div class=\"row cardscroll\">\r\n <div class=\"col-6\">\r\n <div class=\"timeline-label\">\r\n <div *ngFor=\"let log of activityLog; let i = index\" class=\"timeline-item mb-6\"\r\n [ngClass]=\"{'d-none': i % 2 !== 0}\">\r\n <div class=\"timeline-badge mx-1\">\r\n <span>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"13\" height=\"14\" viewBox=\"0 0 13 14\"\r\n fill=\"none\">\r\n <circle cx=\"6.5\" cy=\"7\" r=\"5\"\r\n [attr.stroke]=\"log.status === 'lapsed' ? '#F04438' : '#12B76A'\"\r\n stroke-width=\"3\" />\r\n </svg>\r\n </span>\r\n </div>\r\n <div class=\"logtextmain\">\r\n {{ log.storeName }}\r\n <span class=\"logtextsub mx-1\">{{ log.status | titlecase }}</span>\r\n <span class=\"logtextmain mx-1\">{{ log.checklistName }}</span>\r\n <span class=\"logtextsub mx-1\">at {{ log.createdAt }}</span>\r\n </div>\r\n <div *ngIf=\"log.status === 'submitted'\" class=\"mx-8 logview mx-16\">View</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <div class=\"timeline-label\">\r\n <div *ngFor=\"let log of activityLog; let i = index\" class=\"timeline-item mb-6\"\r\n [ngClass]=\"{'d-none': i % 2 === 0}\">\r\n <div class=\"timeline-badge mx-1\">\r\n <span>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"13\" height=\"14\" viewBox=\"0 0 13 14\"\r\n fill=\"none\">\r\n <circle cx=\"6.5\" cy=\"7\" r=\"5\"\r\n [attr.stroke]=\"log.status === 'submitted' ? '#12B76A' : '#F04438'\"\r\n stroke-width=\"3\" />\r\n </svg>\r\n </span>\r\n </div>\r\n <div class=\"logtextmain\">\r\n {{ log.storeName }}\r\n <span class=\"logtextsub mx-1\">{{ log.status | titlecase }}</span>\r\n <span class=\"logtextmain mx-1\">{{ log.checklistName }}</span>\r\n <span class=\"logtextsub mx-1\">at {{ log.createdAt }}</span>\r\n </div>\r\n <div *ngIf=\"log.status === 'submitted'\" class=\"mx-8 logview mx-16\">View</div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"activityLogLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"activityLogNoData && !activityLogLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Performance Table\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>", styles: [".timeline-label{position:unset}.logtextmain{color:var(--Black, #101828);font-size:14px;font-style:normal;font-weight:600;line-height:20px}.logtextsub{color:var(--Gray-400, #98A2B3);font-size:14px;font-style:normal;font-weight:400;line-height:20px}.logview{color:var(--Primary-700, #009BF3);font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-decoration-line:underline;text-transform:capitalize}.cardscroll{overflow-y:scroll;max-height:275px}\n"] }]
116
+ args: [{ selector: 'lib-activity-log', template: "<div class=\"col-md-12\">\r\n <div *ngIf=\"!activityLogLoading && !activityLogNoData\" class=\"row cardscroll\">\r\n <div class=\"col-6\">\r\n <div class=\"timeline-label\">\r\n <div *ngFor=\"let log of activityLog; let i = index\" class=\"timeline-item mb-6\"\r\n [ngClass]=\"{'d-none': i % 2 !== 0}\">\r\n <div class=\"timeline-badge mx-1\">\r\n <span>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"13\" height=\"14\" viewBox=\"0 0 13 14\"\r\n fill=\"none\">\r\n <circle cx=\"6.5\" cy=\"7\" r=\"5\"\r\n [attr.stroke]=\"log.action === 'lapsed' ? '#F04438' : '#12B76A'\"\r\n stroke-width=\"3\" />\r\n </svg>\r\n </span>\r\n </div>\r\n <div class=\"logtextmain\">\r\n {{ log.storeName || \"--\" }}\r\n <span class=\"logtextsub mx-1\">{{ log.action | titlecase }}</span>\r\n <span class=\"logtextmain mx-1\">{{ log.checkListName || \"--\" }}</span>\r\n <span class=\"logtextsub mx-1\">at {{ log.createdAt || \"--\" }}</span>\r\n </div>\r\n <div *ngIf=\"log.action === 'submitted'\" class=\"mx-8 logview mx-16\">View</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <div class=\"timeline-label\">\r\n <div *ngFor=\"let log of activityLog; let i = index\" class=\"timeline-item mb-6\"\r\n [ngClass]=\"{'d-none': i % 2 === 0}\">\r\n <div class=\"timeline-badge mx-1\">\r\n <span>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"13\" height=\"14\" viewBox=\"0 0 13 14\"\r\n fill=\"none\">\r\n <circle cx=\"6.5\" cy=\"7\" r=\"5\"\r\n [attr.stroke]=\"log.action === 'submitted' ? '#12B76A' : '#F04438'\"\r\n stroke-width=\"3\" />\r\n </svg>\r\n </span>\r\n </div>\r\n <div class=\"logtextmain\">\r\n {{ log.storeName || \"--\" }}\r\n <span class=\"logtextsub mx-1\">{{ log.action | titlecase }}</span>\r\n <span class=\"logtextmain mx-1\">{{ log.checkListName || \"--\" }}</span>\r\n <span class=\"logtextsub mx-1\">at {{ log.createdAt || \"--\" }}</span>\r\n </div>\r\n <div *ngIf=\"log.action === 'submitted'\" class=\"mx-8 logview mx-16\">View</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"!activityLogLoading && !activityLogNoData\">\r\n <lib-pagination class=\"text-start\" [itemsPerPage]=\"itemsPerPage\" [currentPage]=\"currentPage\"\r\n [totalItems]=\"totalItems\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"pageSize\"\r\n (pageChange)=\"onPageChange($event)\"\r\n (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n \r\n \r\n </div>\r\n <ng-container *ngIf=\"activityLogLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"activityLogNoData && !activityLogLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Performance Table\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>", styles: [".timeline-label{position:unset}.logtextmain{color:var(--Black, #101828);font-size:14px;font-style:normal;font-weight:600;line-height:20px}.logtextsub{color:var(--Gray-400, #98A2B3);font-size:14px;font-style:normal;font-weight:400;line-height:20px}.logview{color:var(--Primary-700, #009BF3);font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-decoration-line:underline;text-transform:capitalize}.cardscroll{overflow-y:scroll;max-height:275px}\n"] }]
93
117
  }], ctorParameters: () => [{ type: i1.GlobalStateService }, { type: i1.PageInfoService }, { type: i2.TraxService }, { type: i0.ChangeDetectorRef }] });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFuYWx5c2UtdHJheC9zcmMvbGliL2NvbXBvbmVudHMvYWN0aXZpdHktbG9nL2FjdGl2aXR5LWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2FjdGl2aXR5LWxvZy9hY3Rpdml0eS1sb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQWdDLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFNdEYsTUFBTSxPQUFPLG9CQUFvQjtJQWVaO0lBQStCO0lBQWtDO0lBQzFFO0lBZkYsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFDakMsVUFBVSxDQUFNO0lBQ2hCLGtCQUFrQixHQUFZLElBQUksQ0FBQztJQUNuQyxpQkFBaUIsR0FBWSxLQUFLLENBQUM7SUFDbkMsWUFBWSxHQUFHLEVBQUUsQ0FBQTtJQUNqQixXQUFXLEdBQUcsQ0FBQyxDQUFBO0lBQ2YsYUFBYSxHQUFXLEVBQUUsQ0FBQztJQUMzQixNQUFNLEdBQVEsRUFBRSxDQUFDO0lBQ2pCLGFBQWEsR0FBUSxFQUFFLENBQUM7SUFDeEIsVUFBVSxHQUFHLENBQUMsQ0FBQTtJQUNkLGVBQWUsR0FBUyxFQUFFLENBQUM7SUFDM0IsUUFBUSxHQUFHLEVBQUUsQ0FBQTtJQUNiLFdBQVcsR0FBVSxFQUFFLENBQUM7SUFFeEIsWUFBbUIsRUFBc0IsRUFBUyxRQUF5QixFQUFTLFdBQXdCLEVBQ2xHLGNBQWlDO1FBRHhCLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQVMsYUFBUSxHQUFSLFFB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QUssQ0FBQztnQkFDaEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztnQkFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUE7Z0JBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFBO2dCQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFBO2FBQ3BDO1FBQ0gsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUE7WUFDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7d0dBM0VVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLHdEQ1RqQyxpOElBaUZNOzs0RkR4RU8sb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlLCBQYWdlSW5mb1NlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuaW1wb3J0IHsgVHJheFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmF4LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzXCI7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFjdGl2aXR5LWxvZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGl2aXR5LWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2FjdGl2aXR5LWxvZy5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjdGl2aXR5TG9nQ29tcG9uZW50IHtcclxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuICBoZWFkZXJEYXRhOiBhbnk7XHJcbiAgYWN0aXZpdHlMb2dMb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuICBhY3Rpdml0eUxvZ05vRGF0YTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGl0ZW1zUGVyUGFnZSA9IDEwXHJcbiAgY3VycmVudFBhZ2UgPSAxXHJcbiAgc29ydENvbHVtTmFtZTogc3RyaW5nID0gJyc7XHJcbiAgc29ydEJ5OiBhbnkgPSAnJztcclxuICBzb3J0RGlyZWN0aW9uOiBhbnkgPSAnJztcclxuICB0b3RhbEl0ZW1zID0gMFxyXG4gIHBhZ2luYXRpb25TaXplczphbnlbXSA9IFtdO1xyXG4gIHBhZ2VTaXplID0gMTBcclxuICBhY3Rpdml0eUxvZzogYW55W10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UscHJpdmF0ZSBwYWdlSW5mbzogUGFnZUluZm9TZXJ2aWNlLHByaXZhdGUgVHJheFNlcnZpY2U6IFRyYXhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgKSB7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWVcclxuICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSwgZGVib3VuY2VUaW1lKDMwMCkpXHJcbiAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmhlYWRlckRhdGEgPSBkYXRhO1xyXG4gICAgICAgIHRoaXMuc2V0UGFnZURhdGEoKTtcclxuICAgICAgICB0aGlzLmdldEFjdGl2aXR5TG9nKClcclxufSlcclxufVxyXG4gIHNldFBhZ2VEYXRhKCkge1xyXG4gICAgdGhpcy5wYWdlSW5mby5zZXRUaXRsZShcIkRhc2hib2FyZFwiKTtcclxuICAgIC8vIHRoaXMucGFnZUluZm8uc2V0RGVzY3JpcHRpb24oXCJEYXNoYm9hcmRcIik7XHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldEJyZWFkY3J1bWJzKFtcclxuICAgICAgeyB0aXRsZTogXCJUYW5nbyBUcmF4XCIsIHBhdGg6IFwiL21hbmFnZS90cmF4L2Rhc2hib2FyZFwiLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiBmYWxzZSB9LFxyXG4gICAgICB7IHRpdGxlOiBcIlRhbmdvIFRyYXhcIiwgcGF0aDogXCIvbWFuYWdlL3RyYXgvZGFzaGJvYXJkXCIsIGlzQWN0aXZlOiBmYWxzZSwgaXNTZXBhcmF0b3I6IHRydWUgfSxcclxuICAgIF0pO1xyXG4gIH1cclxuICBnZXRBY3Rpdml0eUxvZygpOiB2b2lkIHtcclxuICAgIC8vIHRoaXMuc2VhcmNoRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5hY3Rpdml0eUxvZ0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5hY3Rpdml0eUxvZ05vRGF0YSA9IHRydWU7XHJcbiAgICBjb25zdCByZXF1ZXN0RGF0YSA9IHtcclxuICAgICAgZnJvbURhdGU6IHRoaXMuaGVhZGVyRGF0YS5kYXRlLnN0YXJ0RGF0ZSxcclxuICAgICAgdG9EYXRlOiB0aGlzLmhlYWRlckRhdGEuZGF0ZS5lbmREYXRlLFxyXG4gICAgICBzdG9yZUlkOiB0aGlzLmhlYWRlckRhdGEuc3RvcmVzLmZpbHRlcigoc3RvcmU6YW55KSA9PiBzdG9yZS5jaGVja2VkKS5tYXAoKHN0b3JlOmFueSkgPT4gc3RvcmUuc3RvcmVJZCksXHJcbiAgICAgIGNsaWVudElkOnRoaXMuaGVhZGVyRGF0YS5jbGllbnQsXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuVHJheFNlcnZpY2UuZ2V0QWN0aXZpdHlMb2cocmVxdWVzdERhdGEpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuYWN0aXZpdHlMb2dMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlPy5jb2RlID09PSAyMDAgJiYgcmVzcG9uc2U/LnN0YXR1cyA9PT0gXCJzdWNjZXNzXCIpIHtcclxuICAgICAgICAgIHRoaXMuYWN0aXZpdHlMb2cgPSByZXNwb25zZS5kYXRhLmFjdGl2aXR5TG9nIHx8IFtdO1xyXG4gICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gcmVzcG9uc2UuZGF0YS50b3RhbENvdW50XHJcbiAgICAgICAgICAvLyB0aGlzLnNldFBhZ2luYXRpb25TaXplcygpXHJcbiAgICAgICAgICB0aGlzLmFjdGl2aXR5TG9nTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5hY3Rpdml0eUxvZ05vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhcImVsc2VcIik7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIHRoaXMuYWN0aXZpdHlMb2cgPSBbXTtcclxuICAgICAgICAgIHRoaXMuYWN0aXZpdHlMb2dMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmFjdGl2aXR5TG9nTm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuYWN0aXZpdHlMb2cgPSBbXVxyXG4gICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gMFxyXG4gICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgICB9XHJcbiAgICAgIH0sIGVycm9yID0+IHtcclxuICAgICAgICB0aGlzLmFjdGl2aXR5TG9nID0gW11cclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3cgY2FyZHNjcm9sbFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZWxpbmUtbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGxvZyBvZiBhY3Rpdml0eUxvZzsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwidGltZWxpbmUtaXRlbSBtYi02XCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2Qtbm9uZSc6IGkgJSAyICE9PSAwfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lbGluZS1iYWRnZSBteC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxM1wiIGhlaWdodD1cIjE0XCIgdmlld0JveD1cIjAgMCAxMyAxNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiNi41XCIgY3k9XCI3XCIgcj1cIjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwibG9nLnN0YXR1cyA9PT0gJ2xhcHNlZCcgPyAnI0YwNDQzOCcgOiAnIzEyQjc2QSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxvZ3RleHRtYWluXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGxvZy5zdG9yZU5hbWUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsb2d0ZXh0c3ViIG14LTFcIj57eyBsb2cuc3RhdHVzIHwgdGl0bGVjYXNlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxvZ3RleHRtYWluIG14LTFcIj57eyBsb2cuY2hlY2tsaXN0TmFtZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsb2d0ZXh0c3ViIG14LTFcIj5hdCB7eyBsb2cuY3JlYXRlZEF0IH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJsb2cuc3RhdHVzID09PSAnc3VibWl0dGVkJ1wiIGNsYXNzPVwibXgtOCBsb2d2aWV3IG14LTE2XCI+VmlldzwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZWxpbmUtbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGxvZyBvZiBhY3Rpdml0eUxvZzsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwidGltZWxpbmUtaXRlbSBtYi02XCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2Qtbm9uZSc6IGkgJSAyID09PSAwfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lbGluZS1iYWRnZSBteC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxM1wiIGhlaWdodD1cIjE0XCIgdmlld0JveD1cIjAgMCAxMyAxNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiNi41XCIgY3k9XCI3XCIgcj1cIjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwibG9nLnN0YXR1cyA9PT0gJ3N1Ym1pdHRlZCcgPyAnIzEyQjc2QScgOiAnI0YwNDQzOCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxvZ3RleHRtYWluXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGxvZy5zdG9yZU5hbWUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsb2d0ZXh0c3ViIG14LTFcIj57eyBsb2cuc3RhdHVzIHwgdGl0bGVjYXNlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxvZ3RleHRtYWluIG14LTFcIj57eyBsb2cuY2hlY2tsaXN0TmFtZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsb2d0ZXh0c3ViIG14LTFcIj5hdCB7eyBsb2cuY3JlYXRlZEF0IH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJsb2cuc3RhdHVzID09PSAnc3VibWl0dGVkJ1wiIGNsYXNzPVwibXgtOCBsb2d2aWV3IG14LTE2XCI+VmlldzwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhY3Rpdml0eUxvZ0xvYWRpbmdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhY3Rpdml0eUxvZ05vRGF0YSAmJiAhYWN0aXZpdHlMb2dMb2FkaW5nXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbXktNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctc3JjXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhMS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YW1haW50ZXh0IG10LTNcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGFzdWJ0ZXh0XCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciBQZXJmb3JtYW5jZSBUYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFuYWx5c2UtdHJheC9zcmMvbGliL2NvbXBvbmVudHMvYWN0aXZpdHktbG9nL2FjdGl2aXR5LWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2FjdGl2aXR5LWxvZy9hY3Rpdml0eS1sb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQWdDLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBTXRGLE1BQU0sT0FBTyxvQkFBb0I7SUFlWjtJQUErQjtJQUFrQztJQUMxRTtJQWZGLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ2pDLFVBQVUsQ0FBTTtJQUNoQixrQkFBa0IsR0FBWSxJQUFJLENBQUM7SUFDbkMsaUJBQWlCLEdBQVksS0FBSyxDQUFDO0lBQ25DLFlBQVksR0FBRyxFQUFFLENBQUE7SUFDakIsV0FBVyxHQUFHLENBQUMsQ0FBQTtJQUNmLFVBQVUsR0FBRyxDQUFDLENBQUE7SUFDZCxhQUFhLEdBQVcsRUFBRSxDQUFDO0lBQzNCLE1BQU0sR0FBUSxFQUFFLENBQUM7SUFDakIsYUFBYSxHQUFRLEVBQUUsQ0FBQztJQUN4QixlQUFlLEdBQVMsRUFBRSxDQUFDO0lBQzNCLFFBQVEsR0FBRyxFQUFFLENBQUE7SUFDYixXQUFXLEdBQVUsRUFBRSxDQUFDO0lBRXhCLFlBQW1CLEVBQXNCLEVBQVMsUUFBeUIsRUFBUyxXQUF3QixFQUNsRyxjQUFpQztRQUR4QixPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUFTLGFBQVEsR0FBUixR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QUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQ2pDO0lBRUgsQ0FBQzt3R0FuR1Usb0JBQW9COzRGQUFwQixvQkFBb0Isd0RDVGpDLHM1SkEwRk07OzRGRGpGTyxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0Usa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UsIFBhZ2VJbmZvU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5pbXBvcnQgeyBUcmF4U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYXguc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYWN0aXZpdHktbG9nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aXZpdHktbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYWN0aXZpdHktbG9nLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQWN0aXZpdHlMb2dDb21wb25lbnQge1xyXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIGhlYWRlckRhdGE6IGFueTtcclxuICBhY3Rpdml0eUxvZ0xvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGFjdGl2aXR5TG9nTm9EYXRhOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXRlbXNQZXJQYWdlID0gMTBcclxuICBjdXJyZW50UGFnZSA9IDFcclxuICB0b3RhbEl0ZW1zID0gMFxyXG4gIHNvcnRDb2x1bU5hbWU6IHN0cmluZyA9ICcnO1xyXG4gIHNvcnRCeTogYW55ID0gJyc7XHJcbiAgc29ydERpcmVjdGlvbjogYW55ID0gJyc7XHJcbiAgcGFnaW5hdGlvblNpemVzOmFueVtdID0gW107XHJcbiAgcGFnZVNpemUgPSAxMFxyXG4gIGFjdGl2aXR5TG9nOiBhbnlbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZ3M6IEdsb2JhbFN0YXRlU2VydmljZSxwcml2YXRlIHBhZ2VJbmZvOiBQYWdlSW5mb1NlcnZpY2UscHJpdmF0ZSBUcmF4U2VydmljZTogVHJheFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICApIHtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZVxyXG4gICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLCBkZWJvdW5jZVRpbWUoMzAwKSlcclxuICAgIC5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuaGVhZGVyRGF0YSA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy5zZXRQYWdlRGF0YSgpO1xyXG4gICAgICAgIHRoaXMuZ2V0QWN0aXZpdHlMb2coKVxyXG59KVxyXG59XHJcbiAgc2V0UGFnZURhdGEoKSB7XHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldFRpdGxlKFwiRGFzaGJvYXJkXCIpO1xyXG4gICAgLy8gdGhpcy5wYWdlSW5mby5zZXREZXNjcmlwdGlvbihcIkRhc2hib2FyZFwiKTtcclxuICAgIHRoaXMucGFnZUluZm8uc2V0QnJlYWRjcnVtYnMoW1xyXG4gICAgICB7IHRpdGxlOiBcIlRhbmdvIFRyYXhcIiwgcGF0aDogXCIvbWFuYWdlL3RyYXgvZGFzaGJvYXJkXCIsIGlzQWN0aXZlOiBmYWxzZSwgaXNTZXBhcmF0b3I6IGZhbHNlIH0sXHJcbiAgICAgIHsgdGl0bGU6IFwiVGFuZ28gVHJheFwiLCBwYXRoOiBcIi9tYW5hZ2UvdHJheC9kYXNoYm9hcmRcIiwgaXNBY3RpdmU6IGZhbHNlLCBpc1NlcGFyYXRvcjogdHJ1ZSB9LFxyXG4gICAgXSk7XHJcbiAgfVxyXG4gIGdldEFjdGl2aXR5TG9nKCk6IHZvaWQge1xyXG4gICAgLy8gdGhpcy5zZWFyY2hEaXNhYmxlZCA9IHRydWU7XHJcbiAgICB0aGlzLmFjdGl2aXR5TG9nTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmFjdGl2aXR5TG9nTm9EYXRhID0gdHJ1ZTtcclxuICAgIGNvbnN0IHJlcXVlc3REYXRhID0ge1xyXG4gICAgICAvLyBmcm9tRGF0ZTogdGhpcy5oZWFkZXJEYXRhLmRhdGUuc3RhcnREYXRlLFxyXG4gICAgICAvLyB0b0RhdGU6IHRoaXMuaGVhZGVyRGF0YS5kYXRlLmVuZERhdGUsXHJcbiAgICAgIHN0b3JlSWQ6IHRoaXMuaGVhZGVyRGF0YS5zdG9yZXMuZmlsdGVyKChzdG9yZTphbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6YW55KSA9PiBzdG9yZS5zdG9yZUlkKSxcclxuICAgICAgY2xpZW50SWQ6dGhpcy5oZWFkZXJEYXRhLmNsaWVudCxcclxuICAgICAgbGltaXQ6IHRoaXMuaXRlbXNQZXJQYWdlLFxyXG4gICAgICBvZmZzZXQ6IHRoaXMuY3VycmVudFBhZ2UsXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuVHJheFNlcnZpY2UuZ2V0QWN0aXZpdHlMb2cocmVxdWVzdERhdGEpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuYWN0aXZpdHlMb2dMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlPy5jb2RlID09PSAyMDAgJiYgcmVzcG9uc2U/LnN0YXR1cyA9PT0gXCJzdWNjZXNzXCIpIHtcclxuICAgICAgICAgIHRoaXMuYWN0aXZpdHlMb2cgPSByZXNwb25zZS5kYXRhWzBdPy5hY3Rpdml0eUxvZ0RhdGEgfHwgW11cclxuICAgICAgICAgIC8vIHRoaXMudG90YWxJdGVtcyA9IHJlc3BvbnNlLmRhdGEudG90YWxDb3VudFxyXG4gICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gcmVzcG9uc2UuZGF0YVswXT8uY291bnRbMF0/LnRvdGFsIHx8IDA7XHJcblxyXG4gICAgICAgICAgdGhpcy5zZXRQYWdpbmF0aW9uU2l6ZXMoKVxyXG4gICAgICAgICAgdGhpcy5hY3Rpdml0eUxvZ0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuYWN0aXZpdHlMb2dOb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coXCJlbHNlXCIpO1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICB0aGlzLmFjdGl2aXR5TG9nID0gW107XHJcbiAgICAgICAgICB0aGlzLmFjdGl2aXR5TG9nTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5hY3Rpdml0eUxvZ05vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmFjdGl2aXR5TG9nID0gW11cclxuICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDBcclxuICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgICAgfVxyXG4gICAgICB9LCBlcnJvciA9PiB7XHJcbiAgICAgICAgdGhpcy5hY3Rpdml0eUxvZyA9IFtdXHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIG9uUGFnZVNpemVDaGFuZ2UocGFnZVNpemU6IGFueSkge1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XHJcbiAgICB0aGlzLml0ZW1zUGVyUGFnZSA9IHBhZ2VTaXplO1xyXG4gICAgdGhpcy5wYWdlU2l6ZSA9IHBhZ2VTaXplO1xyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLmdldEFjdGl2aXR5TG9nKClcclxuICB9XHJcbiAgb25QYWdlQ2hhbmdlKHBhZ2VPZmZzZXQ6IGFueSkge1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IHBhZ2VPZmZzZXRcclxuICAgIHRoaXMuZ2V0QWN0aXZpdHlMb2coKVxyXG4gIH1cclxuICBzZXRQYWdpbmF0aW9uU2l6ZXMoKSB7XHJcbiAgICBpZiAodGhpcy50b3RhbEl0ZW1zID4gMTApIHtcclxuICAgICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXMgPSBbMTAsIDIwLCAzMF07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnBhZ2luYXRpb25TaXplcyA9IFt0aGlzLnRvdGFsSXRlbXNdO1xyXG4gICAgICB0aGlzLnBhZ2VTaXplID0gdGhpcy50b3RhbEl0ZW1zO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgPGRpdiAqbmdJZj1cIiFhY3Rpdml0eUxvZ0xvYWRpbmcgJiYgIWFjdGl2aXR5TG9nTm9EYXRhXCIgY2xhc3M9XCJyb3cgY2FyZHNjcm9sbFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZWxpbmUtbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGxvZyBvZiBhY3Rpdml0eUxvZzsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwidGltZWxpbmUtaXRlbSBtYi02XCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2Qtbm9uZSc6IGkgJSAyICE9PSAwfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lbGluZS1iYWRnZSBteC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxM1wiIGhlaWdodD1cIjE0XCIgdmlld0JveD1cIjAgMCAxMyAxNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiNi41XCIgY3k9XCI3XCIgcj1cIjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwibG9nLmFjdGlvbiA9PT0gJ2xhcHNlZCcgPyAnI0YwNDQzOCcgOiAnIzEyQjc2QSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxvZ3RleHRtYWluXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGxvZy5zdG9yZU5hbWUgfHwgXCItLVwiIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibG9ndGV4dHN1YiBteC0xXCI+e3sgbG9nLmFjdGlvbiB8IHRpdGxlY2FzZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsb2d0ZXh0bWFpbiBteC0xXCI+e3sgbG9nLmNoZWNrTGlzdE5hbWUgfHwgXCItLVwiIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxvZ3RleHRzdWIgbXgtMVwiPmF0IHt7IGxvZy5jcmVhdGVkQXQgfHwgXCItLVwiIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJsb2cuYWN0aW9uID09PSAnc3VibWl0dGVkJ1wiIGNsYXNzPVwibXgtOCBsb2d2aWV3IG14LTE2XCI+VmlldzwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZWxpbmUtbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGxvZyBvZiBhY3Rpdml0eUxvZzsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwidGltZWxpbmUtaXRlbSBtYi02XCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2Qtbm9uZSc6IGkgJSAyID09PSAwfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lbGluZS1iYWRnZSBteC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxM1wiIGhlaWdodD1cIjE0XCIgdmlld0JveD1cIjAgMCAxMyAxNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiNi41XCIgY3k9XCI3XCIgcj1cIjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwibG9nLmFjdGlvbiA9PT0gJ3N1Ym1pdHRlZCcgPyAnIzEyQjc2QScgOiAnI0YwNDQzOCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxvZ3RleHRtYWluXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGxvZy5zdG9yZU5hbWUgfHwgXCItLVwiIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibG9ndGV4dHN1YiBteC0xXCI+e3sgbG9nLmFjdGlvbiB8IHRpdGxlY2FzZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsb2d0ZXh0bWFpbiBteC0xXCI+e3sgbG9nLmNoZWNrTGlzdE5hbWUgfHwgXCItLVwiIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxvZ3RleHRzdWIgbXgtMVwiPmF0IHt7IGxvZy5jcmVhdGVkQXQgfHwgXCItLVwiIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJsb2cuYWN0aW9uID09PSAnc3VibWl0dGVkJ1wiIGNsYXNzPVwibXgtOCBsb2d2aWV3IG14LTE2XCI+VmlldzwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWFjdGl2aXR5TG9nTG9hZGluZyAmJiAhYWN0aXZpdHlMb2dOb0RhdGFcIj5cclxuICAgICAgICAgICAgPGxpYi1wYWdpbmF0aW9uIGNsYXNzPVwidGV4dC1zdGFydFwiIFtpdGVtc1BlclBhZ2VdPVwiaXRlbXNQZXJQYWdlXCIgW2N1cnJlbnRQYWdlXT1cImN1cnJlbnRQYWdlXCJcclxuICAgICAgICAgICAgICAgIFt0b3RhbEl0ZW1zXT1cInRvdGFsSXRlbXNcIiBbcGFnaW5hdGlvblNpemVzXT1cInBhZ2luYXRpb25TaXplc1wiIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiXHJcbiAgICAgICAgICAgICAgICAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAocGFnZVNpemVDaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZSgkZXZlbnQpXCI+PC9saWItcGFnaW5hdGlvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgIFxyXG4gICAgPC9kaXY+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWN0aXZpdHlMb2dMb2FkaW5nXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWN0aXZpdHlMb2dOb0RhdGEgJiYgIWFjdGl2aXR5TG9nTG9hZGluZ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBteS02XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctc3JjXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhMS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhbWFpbnRleHQgbXQtM1wiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhc3VidGV4dFwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgUGVyZm9ybWFuY2UgVGFibGVcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj4iXX0=
@@ -2,6 +2,7 @@ import { Component, EventEmitter, HostListener, Input, Output } from '@angular/c
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "../../services/trax.service";
4
4
  import * as i2 from "@angular/common";
5
+ import * as i3 from "@angular/forms";
5
6
  export class ChipDropdownComponent {
6
7
  traxService;
7
8
  cd;
@@ -11,6 +12,7 @@ export class ChipDropdownComponent {
11
12
  showDropdown = false;
12
13
  dummyData;
13
14
  instanceId;
15
+ searchValue = '';
14
16
  constructor(traxService, cd) {
15
17
  this.traxService = traxService;
16
18
  this.cd = cd;
@@ -27,12 +29,17 @@ export class ChipDropdownComponent {
27
29
  ngOnChanges(changes) {
28
30
  if (changes['data']) {
29
31
  let selectedEmail = this.selectedData?.map((item) => item.value);
30
- this.data = this.data.filter((ele) => !selectedEmail.includes(ele.value));
32
+ this.data = this.data?.filter((ele) => !selectedEmail.includes(ele.value));
31
33
  this.dummyData = this.data ? JSON.parse(JSON.stringify(this.data)) : [];
32
34
  console.log(432);
33
35
  }
34
36
  }
35
37
  addBadge(data, index) {
38
+ if (this.searchValue.trim().length) {
39
+ this.searchValue = '';
40
+ this.data = JSON.parse(JSON.stringify(this.dummyData));
41
+ this.showDropdown = !this.showDropdown;
42
+ }
36
43
  this.selectedData.push(data);
37
44
  this.data.splice(index, 1);
38
45
  this.selectedList.emit(this.selectedData);
@@ -43,14 +50,14 @@ export class ChipDropdownComponent {
43
50
  this.selectedList.emit(this.selectedData);
44
51
  }
45
52
  debounceTimer = null;
46
- findValue(event) {
47
- if (event.target.value) {
53
+ findValue() {
54
+ if (this.searchValue.trim()) {
48
55
  this.showDropdown = true;
49
56
  }
50
57
  clearTimeout(this.debounceTimer);
51
58
  this.debounceTimer = setTimeout(() => {
52
- this.data = this.dummyData.filter((ele) => {
53
- return ele.name.toLowerCase().includes(event.target.value.toLowerCase());
59
+ this.data = this.dummyData?.filter((ele) => {
60
+ return ele.name.toLowerCase().includes(this.searchValue.toLowerCase());
54
61
  });
55
62
  this.cd.detectChanges();
56
63
  }, 1000);
@@ -66,11 +73,11 @@ export class ChipDropdownComponent {
66
73
  }
67
74
  }
68
75
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChipDropdownComponent, deps: [{ token: i1.TraxService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
69
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ChipDropdownComponent, selector: "lib-chip-dropdown", inputs: { data: "data", selectedData: "selectedData" }, outputs: { selectedList: "selectedList" }, host: { listeners: { "document:click": "clickOutside($event)" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\" position-relative\" (clickOutside)=\"showDropdown = false;\">\r\n <div class=\"dropdown-close\">\r\n <div class=\"w-100\">\r\n <div class=\"outer-container d-flex align-items-center position-relative w-100\">\r\n <div class=\"input-container form-control\">\r\n <ng-container *ngFor=\"let item of selectedData;let i=index\">\r\n <span class=\"chip\">\r\n <span class=\"me-3\">{{item.name}}</span>\r\n <span (click)=\"removeBadge(item,i)\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </span>\r\n </ng-container>\r\n <input style=\"min-height: 44px;\" type=\"text\" class=\"form-control dropdown-input\" (click)=\"toggleDropdown()\" (change)=\"findValue($event)\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"px-4 pe-3 dropdown-menu custom-dropdown-menu w-90 mt-3\" *ngIf=\"showDropdown\">\r\n <div [class]=\"data?.length > 5 ? 'h-200px overflow-auto' : 'h-auto'\">\r\n @for( element of data; track element.value; let i = $index){\r\n <div class=\"dropdown-item form-check custom-dropdown-item\" (click)=\"addBadge(element,i)\">\r\n <label class=\"form-check-label\" >{{element.name}}</label>\r\n </div>\r\n }@empty() {\r\n <div>\r\n <label class=\"form-check-label\" >No data found</label>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".dropdown-menu{position:absolute;top:100%;left:0;right:0;border:1px solid #ccc;background-color:#fff;z-index:1000;display:block;box-sizing:border-box}.dropdown-item{padding:8px 12px}.dropdown-item:hover{background-color:#f1f1f1}.dropdown-item input[type=checkbox]{margin-right:10px}.custom-dropdown-menu{border-radius:4px;box-shadow:0 1px 2px #1018280d}.custom-dropdown-item{display:flex;align-items:center}.custom-dropdown-item input{margin-left:10px}.btn-resize{font-size:13px!important;height:29px!important;line-height:11px!important;padding:3px!important}.formSeach{width:95%}.storetext{color:var(--Gray-500, #667085);font-size:14px;font-weight:500;line-height:20px;text-transform:lowercase}.outer-container{position:relative}.outer-container .form-control{padding-top:0;padding-bottom:0}.outer-container .input-container{height:100%;width:100%;display:flex;flex-wrap:wrap}.outer-container .input-container input{all:unset;flex:1;min-width:50px}.outer-container .input-container .chip{margin:10px 0 10px 10px;padding:3px 10px;border-radius:16px;background:var(--Gray-100, #F2F4F7);color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.outer-container .input-container .chip:nth-child(1){margin-left:0}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
76
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ChipDropdownComponent, selector: "lib-chip-dropdown", inputs: { data: "data", selectedData: "selectedData" }, outputs: { selectedList: "selectedList" }, host: { listeners: { "document:click": "clickOutside($event)" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\" position-relative\" (clickOutside)=\"showDropdown = false;\">\r\n <div class=\"dropdown-close\">\r\n <div class=\"w-100\">\r\n <div class=\"outer-container d-flex align-items-center position-relative w-100\">\r\n <div class=\"input-container form-control\">\r\n <ng-container *ngFor=\"let item of selectedData;let i=index\">\r\n <span class=\"chip\">\r\n <span class=\"me-3\">{{item.name}}</span>\r\n <span (click)=\"removeBadge(item,i)\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </span>\r\n </ng-container>\r\n <input style=\"min-height: 44px;\" type=\"text\" class=\"form-control dropdown-input\" [(ngModel)]=\"searchValue\" (click)=\"toggleDropdown()\" (change)=\"findValue()\" id=\"searchInput\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"px-4 pe-3 dropdown-menu custom-dropdown-menu w-90 mt-3\" *ngIf=\"showDropdown\">\r\n <div [class]=\"data?.length > 5 ? 'h-200px overflow-auto' : 'h-auto'\">\r\n @for( element of data; track element.value; let i = $index){\r\n <div class=\"dropdown-item form-check custom-dropdown-item\" (click)=\"addBadge(element,i)\">\r\n <label>{{element.name}}</label>\r\n </div>\r\n }@empty() {\r\n <div>\r\n <label>No data found</label>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".dropdown-menu{position:absolute;top:100%;left:0;right:0;border:1px solid #ccc;background-color:#fff;z-index:1000;display:block;box-sizing:border-box}.dropdown-item{padding:8px 12px}.dropdown-item:hover{background-color:#f1f1f1}.dropdown-item input[type=checkbox]{margin-right:10px}.custom-dropdown-menu{border-radius:4px;box-shadow:0 1px 2px #1018280d}.custom-dropdown-item{display:flex;align-items:center}.custom-dropdown-item input{margin-left:10px}.btn-resize{font-size:13px!important;height:29px!important;line-height:11px!important;padding:3px!important}.formSeach{width:95%}.storetext{color:var(--Gray-500, #667085);font-size:14px;font-weight:500;line-height:20px;text-transform:lowercase}.outer-container{position:relative}.outer-container .form-control{padding-top:0;padding-bottom:0}.outer-container .input-container{height:100%;width:100%;display:flex;flex-wrap:wrap}.outer-container .input-container input{all:unset;flex:1;min-width:50px}.outer-container .input-container .chip{margin:10px 0 10px 10px;padding:3px 10px;border-radius:16px;background:var(--Gray-100, #F2F4F7);color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.outer-container .input-container .chip:nth-child(1){margin-left:0}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
70
77
  }
71
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChipDropdownComponent, decorators: [{
72
79
  type: Component,
73
- args: [{ selector: 'lib-chip-dropdown', template: "<div class=\" position-relative\" (clickOutside)=\"showDropdown = false;\">\r\n <div class=\"dropdown-close\">\r\n <div class=\"w-100\">\r\n <div class=\"outer-container d-flex align-items-center position-relative w-100\">\r\n <div class=\"input-container form-control\">\r\n <ng-container *ngFor=\"let item of selectedData;let i=index\">\r\n <span class=\"chip\">\r\n <span class=\"me-3\">{{item.name}}</span>\r\n <span (click)=\"removeBadge(item,i)\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </span>\r\n </ng-container>\r\n <input style=\"min-height: 44px;\" type=\"text\" class=\"form-control dropdown-input\" (click)=\"toggleDropdown()\" (change)=\"findValue($event)\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"px-4 pe-3 dropdown-menu custom-dropdown-menu w-90 mt-3\" *ngIf=\"showDropdown\">\r\n <div [class]=\"data?.length > 5 ? 'h-200px overflow-auto' : 'h-auto'\">\r\n @for( element of data; track element.value; let i = $index){\r\n <div class=\"dropdown-item form-check custom-dropdown-item\" (click)=\"addBadge(element,i)\">\r\n <label class=\"form-check-label\" >{{element.name}}</label>\r\n </div>\r\n }@empty() {\r\n <div>\r\n <label class=\"form-check-label\" >No data found</label>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".dropdown-menu{position:absolute;top:100%;left:0;right:0;border:1px solid #ccc;background-color:#fff;z-index:1000;display:block;box-sizing:border-box}.dropdown-item{padding:8px 12px}.dropdown-item:hover{background-color:#f1f1f1}.dropdown-item input[type=checkbox]{margin-right:10px}.custom-dropdown-menu{border-radius:4px;box-shadow:0 1px 2px #1018280d}.custom-dropdown-item{display:flex;align-items:center}.custom-dropdown-item input{margin-left:10px}.btn-resize{font-size:13px!important;height:29px!important;line-height:11px!important;padding:3px!important}.formSeach{width:95%}.storetext{color:var(--Gray-500, #667085);font-size:14px;font-weight:500;line-height:20px;text-transform:lowercase}.outer-container{position:relative}.outer-container .form-control{padding-top:0;padding-bottom:0}.outer-container .input-container{height:100%;width:100%;display:flex;flex-wrap:wrap}.outer-container .input-container input{all:unset;flex:1;min-width:50px}.outer-container .input-container .chip{margin:10px 0 10px 10px;padding:3px 10px;border-radius:16px;background:var(--Gray-100, #F2F4F7);color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.outer-container .input-container .chip:nth-child(1){margin-left:0}\n"] }]
80
+ args: [{ selector: 'lib-chip-dropdown', template: "<div class=\" position-relative\" (clickOutside)=\"showDropdown = false;\">\r\n <div class=\"dropdown-close\">\r\n <div class=\"w-100\">\r\n <div class=\"outer-container d-flex align-items-center position-relative w-100\">\r\n <div class=\"input-container form-control\">\r\n <ng-container *ngFor=\"let item of selectedData;let i=index\">\r\n <span class=\"chip\">\r\n <span class=\"me-3\">{{item.name}}</span>\r\n <span (click)=\"removeBadge(item,i)\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </span>\r\n </ng-container>\r\n <input style=\"min-height: 44px;\" type=\"text\" class=\"form-control dropdown-input\" [(ngModel)]=\"searchValue\" (click)=\"toggleDropdown()\" (change)=\"findValue()\" id=\"searchInput\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"px-4 pe-3 dropdown-menu custom-dropdown-menu w-90 mt-3\" *ngIf=\"showDropdown\">\r\n <div [class]=\"data?.length > 5 ? 'h-200px overflow-auto' : 'h-auto'\">\r\n @for( element of data; track element.value; let i = $index){\r\n <div class=\"dropdown-item form-check custom-dropdown-item\" (click)=\"addBadge(element,i)\">\r\n <label>{{element.name}}</label>\r\n </div>\r\n }@empty() {\r\n <div>\r\n <label>No data found</label>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".dropdown-menu{position:absolute;top:100%;left:0;right:0;border:1px solid #ccc;background-color:#fff;z-index:1000;display:block;box-sizing:border-box}.dropdown-item{padding:8px 12px}.dropdown-item:hover{background-color:#f1f1f1}.dropdown-item input[type=checkbox]{margin-right:10px}.custom-dropdown-menu{border-radius:4px;box-shadow:0 1px 2px #1018280d}.custom-dropdown-item{display:flex;align-items:center}.custom-dropdown-item input{margin-left:10px}.btn-resize{font-size:13px!important;height:29px!important;line-height:11px!important;padding:3px!important}.formSeach{width:95%}.storetext{color:var(--Gray-500, #667085);font-size:14px;font-weight:500;line-height:20px;text-transform:lowercase}.outer-container{position:relative}.outer-container .form-control{padding-top:0;padding-bottom:0}.outer-container .input-container{height:100%;width:100%;display:flex;flex-wrap:wrap}.outer-container .input-container input{all:unset;flex:1;min-width:50px}.outer-container .input-container .chip{margin:10px 0 10px 10px;padding:3px 10px;border-radius:16px;background:var(--Gray-100, #F2F4F7);color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.outer-container .input-container .chip:nth-child(1){margin-left:0}\n"] }]
74
81
  }], ctorParameters: () => [{ type: i1.TraxService }, { type: i0.ChangeDetectorRef }], propDecorators: { data: [{
75
82
  type: Input
76
83
  }], selectedData: [{
@@ -81,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
81
88
  type: HostListener,
82
89
  args: ["document:click", ["$event"]]
83
90
  }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2NoaXAtZHJvcGRvd24vY2hpcC1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2NoaXAtZHJvcGRvd24vY2hpcC1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7OztBQVExSSxNQUFNLE9BQU8scUJBQXFCO0lBUVo7SUFBaUM7SUFQNUMsSUFBSSxDQUFLO0lBQ1QsWUFBWSxHQUFPLEVBQUUsQ0FBQztJQUNyQixZQUFZLEdBQTBCLElBQUksWUFBWSxFQUFZLENBQUM7SUFDN0UsWUFBWSxHQUFZLEtBQUssQ0FBQztJQUM5QixTQUFTLENBQUs7SUFDZCxVQUFVLENBQU87SUFFakIsWUFBb0IsV0FBdUIsRUFBVSxFQUFvQjtRQUFyRCxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUFVLE9BQUUsR0FBRixFQUFFLENBQWtCO1FBQ3ZFLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBRXJDLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFDLEVBQUU7WUFDckQsSUFBRyxHQUFHLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxHQUFHLEVBQUM7Z0JBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFBO2FBQzFCO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFFSixDQUFDO0lB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LENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUUvRSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQzt3R0EzRVUscUJBQXFCOzRGQUFyQixxQkFBcUIsb1BDUmxDLDZpRUFrQ007OzRGRDFCTyxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1CO2dIQUtwQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQWtFUCxZQUFZO3NCQURYLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJheFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmF4LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY2hpcC1kcm9wZG93bicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NoaXAtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9jaGlwLWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hpcERyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uQ2hhbmdlc3tcclxuICBASW5wdXQoKSBkYXRhOmFueTtcclxuICBASW5wdXQoKSBzZWxlY3RlZERhdGE6YW55ID0gW107XHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkTGlzdDpFdmVudEVtaXR0ZXI8c3RyaW5nW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcclxuICBzaG93RHJvcGRvd246Ym9vbGVhbiA9ICBmYWxzZTtcclxuICBkdW1teURhdGE6YW55O1xyXG4gIGluc3RhbmNlSWQ6c3RyaW5nXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJheFNlcnZpY2U6VHJheFNlcnZpY2UsIHByaXZhdGUgY2Q6Q2hhbmdlRGV0ZWN0b3JSZWYpe1xyXG4gICAgdGhpcy5pbnN0YW5jZUlkID0gY3J5cHRvLnJhbmRvbVVVSUQoKVxyXG5cclxuICAgIHRoaXMudHJheFNlcnZpY2UuZHJvcGRvd25DbG9zZVRyaWdnZXIuc3Vic2NyaWJlKCh2YWwpPT57XHJcbiAgICAgIGlmKHZhbCAmJiB0aGlzLmluc3RhbmNlSWQgIT09IHZhbCl7XHJcbiAgICAgICAgdGhpcy5zaG93RHJvcGRvd24gPSBmYWxzZVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQgeyAgXHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0YSA9IHRoaXMuc2VsZWN0ZWREYXRhID8gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnNlbGVjdGVkRGF0YSkpIDpbXTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmKGNoYW5nZXNbJ2RhdGEnXSkge1xyXG4gICAgICBsZXQgc2VsZWN0ZWRFbWFpbCA9IHRoaXMuc2VsZWN0ZWREYXRhPy5tYXAoKGl0ZW06YW55KSA9PiBpdGVtLnZhbHVlKTtcclxuICAgICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhLmZpbHRlcigoZWxlOmFueSkgPT4gIXNlbGVjdGVkRW1haWwuaW5jbHVkZXMoZWxlLnZhbHVlKSlcclxuICAgICAgdGhpcy5kdW1teURhdGEgPSB0aGlzLmRhdGEgPyBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZGF0YSkpIDogW107IFxyXG4gICAgICBjb25zb2xlLmxvZyg0MzIpO1xyXG4gICAgICBcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4gIGFkZEJhZGdlKGRhdGE6YW55LGluZGV4OmFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGEucHVzaChkYXRhKTtcclxuICAgIHRoaXMuZGF0YS5zcGxpY2UoaW5kZXgsMSk7XHJcbiAgICB0aGlzLnNlbGVjdGVkTGlzdC5lbWl0KHRoaXMuc2VsZWN0ZWREYXRhKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUJhZGdlKGRhdGE6YW55LGluZGV4Om51bWJlcikge1xyXG4gICAgdGhpcy5kYXRhLnB1c2goZGF0YSk7XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0YS5zcGxpY2UoaW5kZXgsMSk7XHJcbiAgICB0aGlzLnNlbGVjdGVkTGlzdC5lbWl0KHRoaXMuc2VsZWN0ZWREYXRhKTtcclxuICB9XHJcblxyXG4gIGRlYm91bmNlVGltZXI6IGFueSA9IG51bGw7IFxyXG5cclxuZmluZFZhbHVlKGV2ZW50OiBhbnkpIHtcclxuICBpZiAoZXZlbnQudGFyZ2V0LnZhbHVlKSB7XHJcbiAgICB0aGlzLnNob3dEcm9wZG93biA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBjbGVhclRpbWVvdXQodGhpcy5kZWJvdW5jZVRpbWVyKTtcclxuXHJcbiAgdGhpcy5kZWJvdW5jZVRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICB0aGlzLmRhdGEgPSB0aGlzLmR1bW15RGF0YS5maWx0ZXIoKGVsZTogYW55KSA9PntcclxuICAgICAgcmV0dXJuIGVsZS5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZXZlbnQudGFyZ2V0LnZhbHVlLnRvTG93ZXJDYXNlKCkpXHJcbiAgfSk7XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gIH0sIDEwMDApO1xyXG59XHJcblxyXG4gIHRvZ2dsZURyb3Bkb3duKCkge1xyXG4gICAgdGhpcy5zaG93RHJvcGRvd24gPSAhdGhpcy5zaG93RHJvcGRvd247XHJcbiAgICB0aGlzLnRyYXhTZXJ2aWNlLmRyb3Bkb3duQ2xvc2VUcmlnZ2VyLm5leHQodGhpcy5pbnN0YW5jZUlkKVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcihcImRvY3VtZW50OmNsaWNrXCIsIFtcIiRldmVudFwiXSlcclxuICBjbGlja091dHNpZGUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNsaWNrZWRJbnNpZGUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbG9zZXN0KFwiLmRyb3Bkb3duLWNsb3NlXCIpO1xyXG4gICAgXHJcbiAgICBpZiAoIWNsaWNrZWRJbnNpZGUpIHtcclxuICAgICAgdGhpcy5zaG93RHJvcGRvd24gPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIiBwb3NpdGlvbi1yZWxhdGl2ZVwiIChjbGlja091dHNpZGUpPVwic2hvd0Ryb3Bkb3duID0gZmFsc2U7XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tY2xvc2VcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm91dGVyLWNvbnRhaW5lciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtY29udGFpbmVyIGZvcm0tY29udHJvbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc2VsZWN0ZWREYXRhO2xldCBpPWluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hpcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZS0zXCI+e3tpdGVtLm5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIChjbGljayk9XCJyZW1vdmVCYWRnZShpdGVtLGkpXCI+PHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNOSAzTDMgOU0zIDNMOSA5XCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHN0eWxlPVwibWluLWhlaWdodDogNDRweDtcIiB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIGRyb3Bkb3duLWlucHV0XCIgKGNsaWNrKT1cInRvZ2dsZURyb3Bkb3duKClcIiAoY2hhbmdlKT1cImZpbmRWYWx1ZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInB4LTQgcGUtMyBkcm9wZG93bi1tZW51IGN1c3RvbS1kcm9wZG93bi1tZW51IHctOTAgbXQtM1wiICpuZ0lmPVwic2hvd0Ryb3Bkb3duXCI+XHJcbiAgICAgICAgICAgIDxkaXYgW2NsYXNzXT1cImRhdGE/Lmxlbmd0aCA+IDUgPyAnaC0yMDBweCBvdmVyZmxvdy1hdXRvJyA6ICdoLWF1dG8nXCI+XHJcbiAgICAgICAgICAgICAgICBAZm9yKCBlbGVtZW50IG9mIGRhdGE7IHRyYWNrIGVsZW1lbnQudmFsdWU7IGxldCBpID0gJGluZGV4KXtcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24taXRlbSBmb3JtLWNoZWNrIGN1c3RvbS1kcm9wZG93bi1pdGVtXCIgKGNsaWNrKT1cImFkZEJhZGdlKGVsZW1lbnQsaSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiID57e2VsZW1lbnQubmFtZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIH1AZW1wdHkoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiID5ObyBkYXRhIGZvdW5kPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2NoaXAtZHJvcGRvd24vY2hpcC1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2NoaXAtZHJvcGRvd24vY2hpcC1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFRMUksTUFBTSxPQUFPLHFCQUFxQjtJQVNaO0lBQWlDO0lBUjVDLElBQUksQ0FBSztJQUNULFlBQVksR0FBTyxFQUFFLENBQUM7SUFDckIsWUFBWSxHQUEwQixJQUFJLFlBQVksRUFBWSxDQUFDO0lBQzdFLFlBQVksR0FBWSxLQUFLLENBQUM7SUFDOUIsU0FBUyxDQUFLO0lBQ2QsVUFBVSxDQUFRO0lBQ2xCLFdBQVcsR0FBTSxFQUFFLENBQUM7SUFFcEIsWUFBb0IsV0FBdUIsRUFBVSxFQUFvQjtRQUFyRCxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUFVLE9BQUUsR0FBRixFQUFFLENBQWtCO1FBQ3ZFLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBRXJDLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFDLEVBQUU7WUFDckQsSUFBRyxHQUFHLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxHQUFHLEVBQUM7Z0JBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFBO2FBQzFCO1FBQ0gs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QUE7UUFDekIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVDLGNBQWM7UUFDWixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN2QyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDN0QsQ0FBQztJQUdELFlBQVksQ0FBQyxLQUFpQjtRQUM1QixNQUFNLGFBQWEsR0FBSSxLQUFLLENBQUMsTUFBc0IsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUUvRSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQzt3R0FqRlUscUJBQXFCOzRGQUFyQixxQkFBcUIsb1BDUmxDLDhoRUFrQ007OzRGRDFCTyxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1CO2dIQUtwQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQXdFUCxZQUFZO3NCQURYLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJheFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmF4LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY2hpcC1kcm9wZG93bicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NoaXAtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9jaGlwLWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hpcERyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uQ2hhbmdlc3tcclxuICBASW5wdXQoKSBkYXRhOmFueTtcclxuICBASW5wdXQoKSBzZWxlY3RlZERhdGE6YW55ID0gW107XHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkTGlzdDpFdmVudEVtaXR0ZXI8c3RyaW5nW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcclxuICBzaG93RHJvcGRvd246Ym9vbGVhbiA9ICBmYWxzZTtcclxuICBkdW1teURhdGE6YW55O1xyXG4gIGluc3RhbmNlSWQ6c3RyaW5nO1xyXG4gIHNlYXJjaFZhbHVlOmFueSA9Jyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJheFNlcnZpY2U6VHJheFNlcnZpY2UsIHByaXZhdGUgY2Q6Q2hhbmdlRGV0ZWN0b3JSZWYpe1xyXG4gICAgdGhpcy5pbnN0YW5jZUlkID0gY3J5cHRvLnJhbmRvbVVVSUQoKVxyXG5cclxuICAgIHRoaXMudHJheFNlcnZpY2UuZHJvcGRvd25DbG9zZVRyaWdnZXIuc3Vic2NyaWJlKCh2YWwpPT57XHJcbiAgICAgIGlmKHZhbCAmJiB0aGlzLmluc3RhbmNlSWQgIT09IHZhbCl7XHJcbiAgICAgICAgdGhpcy5zaG93RHJvcGRvd24gPSBmYWxzZVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQgeyAgXHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0YSA9IHRoaXMuc2VsZWN0ZWREYXRhID8gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnNlbGVjdGVkRGF0YSkpIDpbXTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmKGNoYW5nZXNbJ2RhdGEnXSkge1xyXG4gICAgICBsZXQgc2VsZWN0ZWRFbWFpbCA9IHRoaXMuc2VsZWN0ZWREYXRhPy5tYXAoKGl0ZW06YW55KSA9PiBpdGVtLnZhbHVlKTtcclxuICAgICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhPy5maWx0ZXIoKGVsZTphbnkpID0+ICFzZWxlY3RlZEVtYWlsLmluY2x1ZGVzKGVsZS52YWx1ZSkpXHJcbiAgICAgIHRoaXMuZHVtbXlEYXRhID0gdGhpcy5kYXRhID8gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmRhdGEpKSA6IFtdOyBcclxuICAgICAgY29uc29sZS5sb2coNDMyKTtcclxuICAgICAgXHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuICBhZGRCYWRnZShkYXRhOmFueSxpbmRleDphbnkpIHtcclxuICAgIGlmKHRoaXMuc2VhcmNoVmFsdWUudHJpbSgpLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLnNlYXJjaFZhbHVlID0gJyc7XHJcbiAgICAgIHRoaXMuZGF0YSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5kdW1teURhdGEpKTtcclxuICAgICAgdGhpcy5zaG93RHJvcGRvd24gPSAhdGhpcy5zaG93RHJvcGRvd247XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0YS5wdXNoKGRhdGEpO1xyXG4gICAgdGhpcy5kYXRhLnNwbGljZShpbmRleCwxKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRMaXN0LmVtaXQodGhpcy5zZWxlY3RlZERhdGEpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlQmFkZ2UoZGF0YTphbnksaW5kZXg6bnVtYmVyKSB7XHJcbiAgICB0aGlzLmRhdGEucHVzaChkYXRhKTtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRhLnNwbGljZShpbmRleCwxKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRMaXN0LmVtaXQodGhpcy5zZWxlY3RlZERhdGEpO1xyXG4gIH1cclxuXHJcbiAgZGVib3VuY2VUaW1lcjogYW55ID0gbnVsbDsgXHJcblxyXG5maW5kVmFsdWUoKSB7XHJcbiAgaWYgKHRoaXMuc2VhcmNoVmFsdWUudHJpbSgpKSB7XHJcbiAgICB0aGlzLnNob3dEcm9wZG93biA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBjbGVhclRpbWVvdXQodGhpcy5kZWJvdW5jZVRpbWVyKTtcclxuXHJcbiAgdGhpcy5kZWJvdW5jZVRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICB0aGlzLmRhdGEgPSB0aGlzLmR1bW15RGF0YT8uZmlsdGVyKChlbGU6IGFueSkgPT57XHJcbiAgICAgIHJldHVybiBlbGUubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuc2VhcmNoVmFsdWUudG9Mb3dlckNhc2UoKSlcclxuICB9KTtcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgfSwgMTAwMCk7XHJcbn1cclxuXHJcbiAgdG9nZ2xlRHJvcGRvd24oKSB7XHJcbiAgICB0aGlzLnNob3dEcm9wZG93biA9ICF0aGlzLnNob3dEcm9wZG93bjtcclxuICAgIHRoaXMudHJheFNlcnZpY2UuZHJvcGRvd25DbG9zZVRyaWdnZXIubmV4dCh0aGlzLmluc3RhbmNlSWQpXHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKFwiZG9jdW1lbnQ6Y2xpY2tcIiwgW1wiJGV2ZW50XCJdKVxyXG4gIGNsaWNrT3V0c2lkZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgY29uc3QgY2xpY2tlZEluc2lkZSA9IChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsb3Nlc3QoXCIuZHJvcGRvd24tY2xvc2VcIik7XHJcbiAgICBcclxuICAgIGlmICghY2xpY2tlZEluc2lkZSkge1xyXG4gICAgICB0aGlzLnNob3dEcm9wZG93biA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiIHBvc2l0aW9uLXJlbGF0aXZlXCIgKGNsaWNrT3V0c2lkZSk9XCJzaG93RHJvcGRvd24gPSBmYWxzZTtcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1jbG9zZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3V0ZXItY29udGFpbmVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmUgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1jb250YWluZXIgZm9ybS1jb250cm9sXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzZWxlY3RlZERhdGE7bGV0IGk9aW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGlwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lLTNcIj57e2l0ZW0ubmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKGNsaWNrKT1cInJlbW92ZUJhZGdlKGl0ZW0saSlcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk05IDNMMyA5TTMgM0w5IDlcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgc3R5bGU9XCJtaW4taGVpZ2h0OiA0NHB4O1wiIHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZHJvcGRvd24taW5wdXRcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZhbHVlXCIgKGNsaWNrKT1cInRvZ2dsZURyb3Bkb3duKClcIiAoY2hhbmdlKT1cImZpbmRWYWx1ZSgpXCIgaWQ9XCJzZWFyY2hJbnB1dFwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJweC00IHBlLTMgZHJvcGRvd24tbWVudSBjdXN0b20tZHJvcGRvd24tbWVudSB3LTkwIG10LTNcIiAqbmdJZj1cInNob3dEcm9wZG93blwiPlxyXG4gICAgICAgICAgICA8ZGl2IFtjbGFzc109XCJkYXRhPy5sZW5ndGggPiA1ID8gJ2gtMjAwcHggb3ZlcmZsb3ctYXV0bycgOiAnaC1hdXRvJ1wiPlxyXG4gICAgICAgICAgICAgICAgQGZvciggZWxlbWVudCBvZiBkYXRhOyB0cmFjayBlbGVtZW50LnZhbHVlOyBsZXQgaSA9ICRpbmRleCl7XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWl0ZW0gZm9ybS1jaGVjayBjdXN0b20tZHJvcGRvd24taXRlbVwiIChjbGljayk9XCJhZGRCYWRnZShlbGVtZW50LGkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD57e2VsZW1lbnQubmFtZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIH1AZW1wdHkoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPk5vIGRhdGEgZm91bmQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=