tango-app-ui-analyse-trax 3.0.0-dev → 3.3.1-alpha-task.63
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.
- package/esm2022/lib/components/action-centre/action-centre.component.mjs +303 -0
- package/esm2022/lib/components/activity-log/activity-log.component.mjs +94 -0
- package/esm2022/lib/components/add-checklist/add-checklist.component.mjs +1439 -0
- package/esm2022/lib/components/add-task/add-task.component.mjs +85 -0
- package/esm2022/lib/components/checklist/checklist.component.mjs +252 -0
- package/esm2022/lib/components/checklist-configure/checklist-configure.component.mjs +1954 -0
- package/esm2022/lib/components/checklistlayout/checklistlayout.component.mjs +12 -0
- package/esm2022/lib/components/chip-dropdown/chip-dropdown.component.mjs +84 -0
- package/esm2022/lib/components/create-task/create-task.component.mjs +367 -0
- package/esm2022/lib/components/create-task/create-task.data.mjs +306 -0
- package/esm2022/lib/components/create-task/create-task.interface.mjs +2 -0
- package/esm2022/lib/components/custom-select/custom-select.component.mjs +236 -0
- package/esm2022/lib/components/dashboard/dashboard.component.mjs +600 -0
- package/esm2022/lib/components/dashboard-info/dashboard-info.component.mjs +635 -0
- package/esm2022/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.mjs +172 -0
- package/esm2022/lib/components/dashboard-layout/dashboard-layout.component.mjs +12 -0
- package/esm2022/lib/components/export-gallery/export-gallery.component.mjs +119 -0
- package/esm2022/lib/components/flag-layout/flag-layout.component.mjs +12 -0
- package/esm2022/lib/components/flags/flags.component.mjs +257 -0
- package/esm2022/lib/components/flags/flags.interface.mjs +2 -0
- package/esm2022/lib/components/flags-info/flags-info.component.mjs +388 -0
- package/esm2022/lib/components/flags-info/flags-info.interface.mjs +2 -0
- package/esm2022/lib/components/flags-info/unattended-pie-chart/unattended-pie-chart.component.mjs +71 -0
- package/esm2022/lib/components/gallery/gallery.component.mjs +1202 -0
- package/esm2022/lib/components/group-select/group-select.component.mjs +155 -0
- package/esm2022/lib/components/managechecklist/managechecklist.component.mjs +172 -0
- package/esm2022/lib/components/multi-date-datepicker/multi-date-datepicker.component.mjs +117 -0
- package/esm2022/lib/components/orders/orders.component.mjs +171 -0
- package/esm2022/lib/components/pagination/pagination.component.mjs +62 -0
- package/esm2022/lib/components/reactive-select/reactive-select.component.mjs +105 -0
- package/esm2022/lib/components/reports/date-picker/date-picker.component.mjs +60 -0
- package/esm2022/lib/components/reports/reports.component.mjs +299 -0
- package/esm2022/lib/components/reports/reports.interface.mjs +2 -0
- package/esm2022/lib/components/tango-analyse-trax/tango-analyse-trax.component.mjs +27 -6
- package/esm2022/lib/components/task/task.component.mjs +271 -0
- package/esm2022/lib/components/task-configure/task-configure.component.mjs +504 -0
- package/esm2022/lib/components/task-configure/task-configure.interface.mjs +2 -0
- package/esm2022/lib/components/task-info/task-info.component.mjs +300 -0
- package/esm2022/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.mjs +203 -0
- package/esm2022/lib/components/task-layout/task-layout.component.mjs +12 -0
- package/esm2022/lib/components/trax-store/trax-store.component.mjs +153 -0
- package/esm2022/lib/components/traxpopup/traxpopup.component.mjs +67 -0
- package/esm2022/lib/services/trax.service.mjs +334 -0
- package/esm2022/lib/tango-analyse-trax-routing.module.mjs +124 -6
- package/esm2022/lib/tango-analyse-trax.module.mjs +147 -9
- package/fesm2022/tango-app-ui-analyse-trax.mjs +11512 -21
- package/fesm2022/tango-app-ui-analyse-trax.mjs.map +1 -1
- package/lib/components/action-centre/action-centre.component.d.ts +56 -0
- package/lib/components/activity-log/activity-log.component.d.ts +30 -0
- package/lib/components/add-checklist/add-checklist.component.d.ts +99 -0
- package/lib/components/add-task/add-task.component.d.ts +38 -0
- package/lib/components/checklist/checklist.component.d.ts +39 -0
- package/lib/components/checklist-configure/checklist-configure.component.d.ts +160 -0
- package/lib/components/checklistlayout/checklistlayout.component.d.ts +5 -0
- package/lib/components/chip-dropdown/chip-dropdown.component.d.ts +24 -0
- package/lib/components/create-task/create-task.component.d.ts +58 -0
- package/lib/components/create-task/create-task.data.d.ts +244 -0
- package/lib/components/create-task/create-task.interface.d.ts +147 -0
- package/lib/components/custom-select/custom-select.component.d.ts +35 -0
- package/lib/components/dashboard/dashboard.component.d.ts +77 -0
- package/lib/components/dashboard-info/dashboard-info.component.d.ts +102 -0
- package/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.d.ts +40 -0
- package/lib/components/dashboard-layout/dashboard-layout.component.d.ts +5 -0
- package/lib/components/export-gallery/export-gallery.component.d.ts +33 -0
- package/lib/components/flag-layout/flag-layout.component.d.ts +5 -0
- package/lib/components/flags/flags.component.d.ts +51 -0
- package/lib/components/flags/flags.interface.d.ts +64 -0
- package/lib/components/flags-info/flags-info.component.d.ts +62 -0
- package/lib/components/flags-info/flags-info.interface.d.ts +212 -0
- package/lib/components/flags-info/unattended-pie-chart/unattended-pie-chart.component.d.ts +13 -0
- package/lib/components/gallery/gallery.component.d.ts +126 -0
- package/lib/components/group-select/group-select.component.d.ts +33 -0
- package/lib/components/managechecklist/managechecklist.component.d.ts +32 -0
- package/lib/components/multi-date-datepicker/multi-date-datepicker.component.d.ts +27 -0
- package/lib/components/orders/orders.component.d.ts +38 -0
- package/lib/components/pagination/pagination.component.d.ts +16 -0
- package/lib/components/reactive-select/reactive-select.component.d.ts +32 -0
- package/lib/components/reports/date-picker/date-picker.component.d.ts +23 -0
- package/lib/components/reports/reports.component.d.ts +55 -0
- package/lib/components/reports/reports.interface.d.ts +46 -0
- package/lib/components/tango-analyse-trax/tango-analyse-trax.component.d.ts +10 -1
- package/lib/components/task/task.component.d.ts +59 -0
- package/lib/components/task-configure/task-configure.component.d.ts +69 -0
- package/lib/components/task-configure/task-configure.interface.d.ts +124 -0
- package/lib/components/task-info/task-info.component.d.ts +68 -0
- package/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.d.ts +60 -0
- package/lib/components/task-layout/task-layout.component.d.ts +5 -0
- package/lib/components/trax-store/trax-store.component.d.ts +44 -0
- package/lib/components/traxpopup/traxpopup.component.d.ts +23 -0
- package/lib/services/trax.service.d.ts +107 -0
- package/lib/tango-analyse-trax.module.d.ts +43 -3
- package/package.json +1 -1
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { Component, EventEmitter, HostListener, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../services/trax.service";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
|
+
import * as i3 from "@angular/forms";
|
|
6
|
+
export class GroupSelectComponent {
|
|
7
|
+
cd;
|
|
8
|
+
authService;
|
|
9
|
+
onClick(event) {
|
|
10
|
+
const target = event.target;
|
|
11
|
+
if (!target.closest('.dropdown')) {
|
|
12
|
+
this.showDropdown = false;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
items;
|
|
16
|
+
searchField;
|
|
17
|
+
multi;
|
|
18
|
+
idField;
|
|
19
|
+
selectedValues = [];
|
|
20
|
+
disabled;
|
|
21
|
+
label;
|
|
22
|
+
selected = new EventEmitter();
|
|
23
|
+
filteredValues = [];
|
|
24
|
+
showDropdown;
|
|
25
|
+
searchValue;
|
|
26
|
+
instanceId;
|
|
27
|
+
constructor(cd, authService) {
|
|
28
|
+
this.cd = cd;
|
|
29
|
+
this.authService = authService;
|
|
30
|
+
}
|
|
31
|
+
ngOnInit() {
|
|
32
|
+
this.instanceId = crypto.randomUUID();
|
|
33
|
+
this.authService.dropDownTrigger.subscribe((e) => {
|
|
34
|
+
if (e !== this.instanceId) {
|
|
35
|
+
this.showDropdown = false;
|
|
36
|
+
this.cd.detectChanges();
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
ngOnChanges(changes) {
|
|
41
|
+
if (changes['items'] && this.items?.length) {
|
|
42
|
+
this.initializeItems();
|
|
43
|
+
}
|
|
44
|
+
if (changes['selectedValues'] && Array.isArray(changes['selectedValues']?.currentValue) && changes['selectedValues']?.currentValue?.length > 0 && changes['selectedValues']?.currentValue[0]) {
|
|
45
|
+
this.updateSelectedValues();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
initializeItems() {
|
|
49
|
+
this.filteredValues = this.items.map((item) => ({ ...item }));
|
|
50
|
+
this.updateSelectedValues();
|
|
51
|
+
}
|
|
52
|
+
updateSelectedValues() {
|
|
53
|
+
this.selectedValues?.forEach((selectedItem) => {
|
|
54
|
+
const item = this.filteredValues?.find((filteredItem) => filteredItem?.[this.idField] === selectedItem?.[this.idField]);
|
|
55
|
+
if (item) {
|
|
56
|
+
item.isSelected = true;
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
openDropdown(event) {
|
|
61
|
+
this.authService.dropDownTrigger.next(this.instanceId);
|
|
62
|
+
event.stopPropagation();
|
|
63
|
+
this.showDropdown = !this.showDropdown;
|
|
64
|
+
}
|
|
65
|
+
onInput(event) {
|
|
66
|
+
if (!event.target.value) {
|
|
67
|
+
this.filteredValues = [...this.items];
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
const searchTerm = event.target.value.toLowerCase();
|
|
71
|
+
this.filteredValues = this.items.filter((item) => item[this.searchField].toLowerCase().includes(searchTerm));
|
|
72
|
+
}
|
|
73
|
+
this.updateSelectedValues();
|
|
74
|
+
this.cd.detectChanges();
|
|
75
|
+
}
|
|
76
|
+
onSelect(event, item) {
|
|
77
|
+
if (this.multi) {
|
|
78
|
+
if (event.currentTarget.checked) {
|
|
79
|
+
this.selectedValues.push(item);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
this.selectedValues = this.selectedValues.filter((elem) => elem[this.idField] !== item[this.idField]);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
this.selectedValues = [{ ...item }];
|
|
87
|
+
this.filteredValues.forEach((element) => {
|
|
88
|
+
if (element[this.idField] !== item[this.idField]) {
|
|
89
|
+
element.isSelected = false;
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
this.showDropdown = false;
|
|
93
|
+
}
|
|
94
|
+
const valuesToEmit = this.selectedValues.map((value) => {
|
|
95
|
+
const selectedItem = { ...value };
|
|
96
|
+
delete selectedItem.isSelected;
|
|
97
|
+
return selectedItem;
|
|
98
|
+
});
|
|
99
|
+
this.cd.detectChanges();
|
|
100
|
+
this.emitSelectedValues(valuesToEmit);
|
|
101
|
+
}
|
|
102
|
+
onSelectAll(event) {
|
|
103
|
+
const selectAll = event.currentTarget.checked;
|
|
104
|
+
this.filteredValues.forEach((item) => item.isSelected = selectAll);
|
|
105
|
+
if (selectAll) {
|
|
106
|
+
this.selectedValues = [...this.filteredValues];
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
this.selectedValues = [];
|
|
110
|
+
}
|
|
111
|
+
const valuesToEmit = this.selectedValues.map((value) => {
|
|
112
|
+
const { isSelected, ...selectedItem } = value;
|
|
113
|
+
return selectedItem;
|
|
114
|
+
});
|
|
115
|
+
this.cd.detectChanges();
|
|
116
|
+
this.emitSelectedValues(valuesToEmit);
|
|
117
|
+
}
|
|
118
|
+
emitSelectedValues(values) {
|
|
119
|
+
if (this.multi) {
|
|
120
|
+
this.selected.emit(values);
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
this.selected.emit(values[0]);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
checkIfAllSelected() {
|
|
127
|
+
return this.filteredValues.every((item) => item.isSelected);
|
|
128
|
+
}
|
|
129
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GroupSelectComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TraxService }], target: i0.ɵɵFactoryTarget.Component });
|
|
130
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: GroupSelectComponent, selector: "lib-group-select", inputs: { items: "items", searchField: "searchField", multi: "multi", idField: "idField", selectedValues: "selectedValues", disabled: "disabled", label: "label" }, outputs: { selected: "selected" }, host: { listeners: { "document:click": "onClick($event)" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"outer-container\">\r\n <div [ngClass]=\"disabled ? 'disable-input':''\" (click)=\"openDropdown($event)\" class=\"form-select\">\r\n <ng-container *ngIf=\"multi\" >\r\n <span *ngIf=\"selectedValues?.length\" class=\"select-value mx-2\"> <img class=\"me-2\" alt=\"Pic\" src=\"./assets/tango/Image/users-teams.svg\">{{selectedValues?.[0]?.[searchField]}}</span> \r\n <!-- <span *ngIf=\"selectedValues?.length > 1\" class=\"select-value mx-2\"><img class=\"me-2\" alt=\"Pic\" src=\"./assets/tango/Image/users-teams.svg\">{{selectedValues?.[1]?.[searchField]}}</span> -->\r\n <span class=\"select-value mx-2\" *ngIf=\"selectedValues?.length > 1\">+{{selectedValues?.length -1}}</span> {{label}} \r\n </ng-container>\r\n <ng-container *ngIf=\"!multi\" >\r\n {{selectedValues?.[0]?.[searchField]}}\r\n </ng-container>\r\n </div>\r\n <div [ngClass]=\"showDropdown ? '' : 'd-none'\" class=\"input-container dropdown\" >\r\n <div class=\"w-100 input-wrapper\">\r\n <input [(ngModel)]=\"searchValue\" placeholder=\"Search\" (input)=\"onInput($event)\" type=\"text\"> \r\n <svg class=\"search-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" fill=\"none\">\r\n <path d=\"M14 14.5L11.1 11.6M12.6667 7.83333C12.6667 10.7789 10.2789 13.1667 7.33333 13.1667C4.38781 13.1667 2 10.7789 2 7.83333C2 4.88781 4.38781 2.5 7.33333 2.5C10.2789 2.5 12.6667 4.88781 12.6667 7.83333Z\" stroke=\"#667085\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg> \r\n </div>\r\n <ul>\r\n <li *ngIf=\"multi && filteredValues?.length\">\r\n <label class=\"form-check\" [for]=\"instanceId\" >\r\n <input (change)=\"onSelectAll($event)\" [checked]=\"checkIfAllSelected()\" class=\"form-check-input me-3\" type=\"checkbox\"\r\n [id]=\"instanceId\">\r\n <span class=\"form-check-label\" >\r\n Select All\r\n </span>\r\n </label>\r\n </li>\r\n <li *ngFor=\"let item of filteredValues\" [ngClass]=\"item.isSelected && !multi ? 'selected' : ''\" >\r\n <label [for]=\"item[idField] + instanceId\" [ngClass]=\"multi ? '': 'ps-0'\" class=\"form-check\">\r\n <input [ngClass]=\"multi ? '': 'd-none'\" (change)=\"onSelect($event, item)\" [(ngModel)]=\"item.isSelected\" class=\"form-check-input me-3\" type=\"checkbox\" value=\"\"\r\n [id]=\"item[idField] + instanceId\">\r\n <span class=\"form-check-label\" >\r\n {{item[searchField]}}\r\n </span>\r\n </label>\r\n </li>\r\n <li *ngIf=\"!filteredValues?.length\" >\r\n <span class=\"d-flex align-items-center justify-content-center\" >No data found</span>\r\n </li>\r\n </ul> \r\n </div> \r\n \r\n</div>", styles: [":host{width:100%;height:100%}.outer-container{position:relative;background-color:#fff}.outer-container .form-select{font-size:1.1rem;font-weight:600;border-radius:8px!important;color:var(--Gray-500, #344054);border:1px solid var(--Gray-300, #D0D5DD)!important;height:42.5px}.outer-container .disable-input{pointer-events:none;background-color:#f9fafb!important}.outer-container .input-container{position:absolute;width:100%;z-index:1}.outer-container .input-container .input-wrapper{padding:8px 10px;background-color:#fff;border-top-right-radius:8px;border-top-left-radius:8px;border-top:1px solid rgba(16,24,40,.08);border-right:1px solid rgba(16,24,40,.08);border-left:1px solid rgba(16,24,40,.08)}.outer-container .input-container .input-wrapper input{width:100%;border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);box-shadow:0 1px 2px #1018280d;padding:10px 14px 10px 30px;outline:none}.outer-container .input-container .input-wrapper input ::placeholder{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.outer-container .input-container .input-wrapper .search-icon{position:absolute;left:20px;top:20px}.outer-container .input-container ul{position:relative;background-color:#fff;margin:0;padding:0;max-height:200px;min-height:auto;overflow-y:auto;border-bottom-right-radius:8px;border-bottom-left-radius:8px;border-bottom:1px solid rgba(16,24,40,.08);border-right:1px solid rgba(16,24,40,.08);border-left:1px solid rgba(16,24,40,.08)}.outer-container .input-container ul .selected{background:#f9fafb}.outer-container .input-container ul li{list-style:none;padding:10px 16px;cursor:pointer}.outer-container .input-container ul li label{cursor:pointer}.outer-container .input-container ul li:hover{background:#f9fafb}.form-check{display:flex;align-items:center}.form-check-input{height:16px;width:16px;border-radius:4px;border:1px solid var(--Primary-600, #00A3FF)}.form-check-input:checked{--bs-form-check-bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAB4SURBVHgBhY7NDUBQEIRnqcJNKXTg6qYTStCB+Isy6IQSNMDa9SLh5eWZZPcw+81kCX/quABhD73QyKXsGoyIvNCJSto2hEhNtY4N9cwYeMXEsVqB1GaSauRQOpty2tSmO3FgloAmF5nEhgyoesMO6CuFW66fn2xdFyA3ZzcRLrMAAAAASUVORK5CYII=);background-color:#eaf8ff;border-color:#00a3ff}.form-check-label{color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.select-value{border-radius:16px!important;background:var(--Gray-100, #F2F4F7)!important;mix-blend-mode:multiply;color:var(--Gray-700, #344054)!important;text-align:center;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:4px 12px 4px 6px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { 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"] }] });
|
|
131
|
+
}
|
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GroupSelectComponent, decorators: [{
|
|
133
|
+
type: Component,
|
|
134
|
+
args: [{ selector: 'lib-group-select', template: "<div class=\"outer-container\">\r\n <div [ngClass]=\"disabled ? 'disable-input':''\" (click)=\"openDropdown($event)\" class=\"form-select\">\r\n <ng-container *ngIf=\"multi\" >\r\n <span *ngIf=\"selectedValues?.length\" class=\"select-value mx-2\"> <img class=\"me-2\" alt=\"Pic\" src=\"./assets/tango/Image/users-teams.svg\">{{selectedValues?.[0]?.[searchField]}}</span> \r\n <!-- <span *ngIf=\"selectedValues?.length > 1\" class=\"select-value mx-2\"><img class=\"me-2\" alt=\"Pic\" src=\"./assets/tango/Image/users-teams.svg\">{{selectedValues?.[1]?.[searchField]}}</span> -->\r\n <span class=\"select-value mx-2\" *ngIf=\"selectedValues?.length > 1\">+{{selectedValues?.length -1}}</span> {{label}} \r\n </ng-container>\r\n <ng-container *ngIf=\"!multi\" >\r\n {{selectedValues?.[0]?.[searchField]}}\r\n </ng-container>\r\n </div>\r\n <div [ngClass]=\"showDropdown ? '' : 'd-none'\" class=\"input-container dropdown\" >\r\n <div class=\"w-100 input-wrapper\">\r\n <input [(ngModel)]=\"searchValue\" placeholder=\"Search\" (input)=\"onInput($event)\" type=\"text\"> \r\n <svg class=\"search-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" fill=\"none\">\r\n <path d=\"M14 14.5L11.1 11.6M12.6667 7.83333C12.6667 10.7789 10.2789 13.1667 7.33333 13.1667C4.38781 13.1667 2 10.7789 2 7.83333C2 4.88781 4.38781 2.5 7.33333 2.5C10.2789 2.5 12.6667 4.88781 12.6667 7.83333Z\" stroke=\"#667085\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg> \r\n </div>\r\n <ul>\r\n <li *ngIf=\"multi && filteredValues?.length\">\r\n <label class=\"form-check\" [for]=\"instanceId\" >\r\n <input (change)=\"onSelectAll($event)\" [checked]=\"checkIfAllSelected()\" class=\"form-check-input me-3\" type=\"checkbox\"\r\n [id]=\"instanceId\">\r\n <span class=\"form-check-label\" >\r\n Select All\r\n </span>\r\n </label>\r\n </li>\r\n <li *ngFor=\"let item of filteredValues\" [ngClass]=\"item.isSelected && !multi ? 'selected' : ''\" >\r\n <label [for]=\"item[idField] + instanceId\" [ngClass]=\"multi ? '': 'ps-0'\" class=\"form-check\">\r\n <input [ngClass]=\"multi ? '': 'd-none'\" (change)=\"onSelect($event, item)\" [(ngModel)]=\"item.isSelected\" class=\"form-check-input me-3\" type=\"checkbox\" value=\"\"\r\n [id]=\"item[idField] + instanceId\">\r\n <span class=\"form-check-label\" >\r\n {{item[searchField]}}\r\n </span>\r\n </label>\r\n </li>\r\n <li *ngIf=\"!filteredValues?.length\" >\r\n <span class=\"d-flex align-items-center justify-content-center\" >No data found</span>\r\n </li>\r\n </ul> \r\n </div> \r\n \r\n</div>", styles: [":host{width:100%;height:100%}.outer-container{position:relative;background-color:#fff}.outer-container .form-select{font-size:1.1rem;font-weight:600;border-radius:8px!important;color:var(--Gray-500, #344054);border:1px solid var(--Gray-300, #D0D5DD)!important;height:42.5px}.outer-container .disable-input{pointer-events:none;background-color:#f9fafb!important}.outer-container .input-container{position:absolute;width:100%;z-index:1}.outer-container .input-container .input-wrapper{padding:8px 10px;background-color:#fff;border-top-right-radius:8px;border-top-left-radius:8px;border-top:1px solid rgba(16,24,40,.08);border-right:1px solid rgba(16,24,40,.08);border-left:1px solid rgba(16,24,40,.08)}.outer-container .input-container .input-wrapper input{width:100%;border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);box-shadow:0 1px 2px #1018280d;padding:10px 14px 10px 30px;outline:none}.outer-container .input-container .input-wrapper input ::placeholder{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.outer-container .input-container .input-wrapper .search-icon{position:absolute;left:20px;top:20px}.outer-container .input-container ul{position:relative;background-color:#fff;margin:0;padding:0;max-height:200px;min-height:auto;overflow-y:auto;border-bottom-right-radius:8px;border-bottom-left-radius:8px;border-bottom:1px solid rgba(16,24,40,.08);border-right:1px solid rgba(16,24,40,.08);border-left:1px solid rgba(16,24,40,.08)}.outer-container .input-container ul .selected{background:#f9fafb}.outer-container .input-container ul li{list-style:none;padding:10px 16px;cursor:pointer}.outer-container .input-container ul li label{cursor:pointer}.outer-container .input-container ul li:hover{background:#f9fafb}.form-check{display:flex;align-items:center}.form-check-input{height:16px;width:16px;border-radius:4px;border:1px solid var(--Primary-600, #00A3FF)}.form-check-input:checked{--bs-form-check-bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAB4SURBVHgBhY7NDUBQEIRnqcJNKXTg6qYTStCB+Isy6IQSNMDa9SLh5eWZZPcw+81kCX/quABhD73QyKXsGoyIvNCJSto2hEhNtY4N9cwYeMXEsVqB1GaSauRQOpty2tSmO3FgloAmF5nEhgyoesMO6CuFW66fn2xdFyA3ZzcRLrMAAAAASUVORK5CYII=);background-color:#eaf8ff;border-color:#00a3ff}.form-check-label{color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.select-value{border-radius:16px!important;background:var(--Gray-100, #F2F4F7)!important;mix-blend-mode:multiply;color:var(--Gray-700, #344054)!important;text-align:center;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:4px 12px 4px 6px}\n"] }]
|
|
135
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.TraxService }], propDecorators: { onClick: [{
|
|
136
|
+
type: HostListener,
|
|
137
|
+
args: ['document:click', ['$event']]
|
|
138
|
+
}], items: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}], searchField: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}], multi: [{
|
|
143
|
+
type: Input
|
|
144
|
+
}], idField: [{
|
|
145
|
+
type: Input
|
|
146
|
+
}], selectedValues: [{
|
|
147
|
+
type: Input
|
|
148
|
+
}], disabled: [{
|
|
149
|
+
type: Input
|
|
150
|
+
}], label: [{
|
|
151
|
+
type: Input
|
|
152
|
+
}], selected: [{
|
|
153
|
+
type: Output
|
|
154
|
+
}] } });
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFuYWx5c2UtdHJheC9zcmMvbGliL2NvbXBvbmVudHMvZ3JvdXAtc2VsZWN0L2dyb3VwLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2dyb3VwLXNlbGVjdC9ncm91cC1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE4QyxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7Ozs7O0FBT25LLE1BQU0sT0FBTyxvQkFBb0I7SUF1Qlg7SUFBK0I7SUFyQm5ELE9BQU8sQ0FBQyxLQUFpQjtRQUN2QixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBcUIsQ0FBQztRQUMzQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFUSxLQUFLLENBQUs7SUFDVixXQUFXLENBQVE7SUFDbkIsS0FBSyxDQUFTO0lBQ2QsT0FBTyxDQUFRO0lBQ2YsY0FBYyxHQUFRLEVBQUUsQ0FBQTtJQUN4QixRQUFRLENBQXFCO0lBQzdCLEtBQUssQ0FBUTtJQUNaLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFBO0lBQzVDLGNBQWMsR0FBUSxFQUFFLENBQUE7SUFDeEIsWUFBWSxDQUFTO0lBQ3JCLFdBQVcsQ0FBUTtJQUNuQixVQUFVLENBQU07SUFHaEIsWUFBb0IsRUFBcUIsRUFBVSxXQUF1QjtRQUF0RCxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUFVLGdCQUFXLEdB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QyxDQUFDO0lBQ25FLENBQUM7d0dBeElVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLGtWQ1BqQyxvL0ZBMkNNOzs0RkRwQ08sb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQjtnSEFNNUIsT0FBTztzQkFETixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVFqQyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJheFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmF4LnNlcnZpY2UnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1ncm91cC1zZWxlY3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ncm91cC1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9ncm91cC1zZWxlY3QuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHcm91cFNlbGVjdENvbXBvbmVudCB7XHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxyXG4gIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgIGlmICghdGFyZ2V0LmNsb3Nlc3QoJy5kcm9wZG93bicpKSB7XHJcbiAgICAgIHRoaXMuc2hvd0Ryb3Bkb3duID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG4gXHJcbiAgQElucHV0KCkgaXRlbXM6IGFueVxyXG4gIEBJbnB1dCgpIHNlYXJjaEZpZWxkOiBzdHJpbmdcclxuICBASW5wdXQoKSBtdWx0aTogYm9vbGVhblxyXG4gIEBJbnB1dCgpIGlkRmllbGQ6IHN0cmluZ1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkVmFsdWVzOiBhbnkgPSBbXVxyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkXHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZ1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXHJcbiAgZmlsdGVyZWRWYWx1ZXM6IGFueSA9IFtdXHJcbiAgc2hvd0Ryb3Bkb3duOiBib29sZWFuXHJcbiAgc2VhcmNoVmFsdWU6IHN0cmluZ1xyXG4gIGluc3RhbmNlSWQ6IGFueTtcclxuIFxyXG4gXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgYXV0aFNlcnZpY2U6VHJheFNlcnZpY2UpIHsgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbnN0YW5jZUlkID0gY3J5cHRvLnJhbmRvbVVVSUQoKTtcclxuICAgIHRoaXMuYXV0aFNlcnZpY2UuZHJvcERvd25UcmlnZ2VyLnN1YnNjcmliZSgoZSk9PnsgICAgICAgICAgIFxyXG4gICAgICBpZihlICE9PSB0aGlzLmluc3RhbmNlSWQpeyAgICAgICAgXHJcbiAgICAgICAgdGhpcy5zaG93RHJvcGRvd24gPSBmYWxzZVxyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG4gXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gXHJcbiAgICBpZiAoY2hhbmdlc1snaXRlbXMnXSAmJiB0aGlzLml0ZW1zPy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5pbml0aWFsaXplSXRlbXMoKTtcclxuICAgIH1cclxuICAgIGlmIChjaGFuZ2VzWydzZWxlY3RlZFZhbHVlcyddICYmIEFycmF5LmlzQXJyYXkoY2hhbmdlc1snc2VsZWN0ZWRWYWx1ZXMnXT8uY3VycmVudFZhbHVlKSAmJiBjaGFuZ2VzWydzZWxlY3RlZFZhbHVlcyddPy5jdXJyZW50VmFsdWU/Lmxlbmd0aCA+IDAgJiYgY2hhbmdlc1snc2VsZWN0ZWRWYWx1ZXMnXT8uY3VycmVudFZhbHVlWzBdKSB7ICAgICAgICAgICAgXHJcbiAgICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRWYWx1ZXMoKTtcclxuICAgIH1cclxuICB9XHJcbiBcclxuICBpbml0aWFsaXplSXRlbXMoKSB7XHJcbiAgICB0aGlzLmZpbHRlcmVkVmFsdWVzID0gdGhpcy5pdGVtcy5tYXAoKGl0ZW06IGFueSkgPT4gKHsgLi4uaXRlbSB9KSk7XHJcbiAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkVmFsdWVzKClcclxuICB9XHJcbiBcclxuICB1cGRhdGVTZWxlY3RlZFZhbHVlcygpIHsgICAgXHJcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWVzPy5mb3JFYWNoKChzZWxlY3RlZEl0ZW06IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5maWx0ZXJlZFZhbHVlcz8uZmluZCgoZmlsdGVyZWRJdGVtOiBhbnkpID0+IGZpbHRlcmVkSXRlbT8uW3RoaXMuaWRGaWVsZF0gPT09IHNlbGVjdGVkSXRlbT8uW3RoaXMuaWRGaWVsZF0pO1xyXG4gICAgICBpZiAoaXRlbSkge1xyXG4gICAgICAgIGl0ZW0uaXNTZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICBcclxuICB9XHJcbiBcclxuICBvcGVuRHJvcGRvd24oZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5kcm9wRG93blRyaWdnZXIubmV4dCh0aGlzLmluc3RhbmNlSWQpXHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuc2hvd0Ryb3Bkb3duID0gIXRoaXMuc2hvd0Ryb3Bkb3duO1xyXG4gIH1cclxuIFxyXG4gIG9uSW5wdXQoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKCFldmVudC50YXJnZXQudmFsdWUpIHtcclxuICAgICAgdGhpcy5maWx0ZXJlZFZhbHVlcyA9IFsuLi50aGlzLml0ZW1zXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHNlYXJjaFRlcm0gPSBldmVudC50YXJnZXQudmFsdWUudG9Mb3dlckNhc2UoKTtcclxuICAgICAgdGhpcy5maWx0ZXJlZFZhbHVlcyA9IHRoaXMuaXRlbXMuZmlsdGVyKChpdGVtOiBhbnkpID0+XHJcbiAgICAgICAgaXRlbVt0aGlzLnNlYXJjaEZpZWxkXS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0pXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkVmFsdWVzKCk7XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbiBcclxuICBvblNlbGVjdChldmVudDogYW55LCBpdGVtOiBhbnkpIHsgICAgXHJcbiAgICBpZiAodGhpcy5tdWx0aSkge1xyXG4gICAgICBpZiAoZXZlbnQuY3VycmVudFRhcmdldC5jaGVja2VkKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5wdXNoKGl0ZW0gKTsgICAgICAgIFxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSB0aGlzLnNlbGVjdGVkVmFsdWVzLmZpbHRlcigoZWxlbTogYW55KSA9PiBlbGVtW3RoaXMuaWRGaWVsZF0gIT09IGl0ZW1bdGhpcy5pZEZpZWxkXSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSBbeyAuLi5pdGVtIH1dO1xyXG4gICAgICB0aGlzLmZpbHRlcmVkVmFsdWVzLmZvckVhY2goKGVsZW1lbnQ6YW55KSA9PiB7XHJcbiAgICAgICAgaWYoZWxlbWVudFt0aGlzLmlkRmllbGRdICE9PSBpdGVtW3RoaXMuaWRGaWVsZF0pe1xyXG4gICAgICAgICAgZWxlbWVudC5pc1NlbGVjdGVkID0gZmFsc2VcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnNob3dEcm9wZG93biA9IGZhbHNlO1xyXG4gICAgfVxyXG4gXHJcbiAgICBjb25zdCB2YWx1ZXNUb0VtaXQgPSB0aGlzLnNlbGVjdGVkVmFsdWVzLm1hcCgodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSB7IC4uLnZhbHVlIH07XHJcbiAgICAgIGRlbGV0ZSBzZWxlY3RlZEl0ZW0uaXNTZWxlY3RlZDtcclxuICAgICAgcmV0dXJuIHNlbGVjdGVkSXRlbTtcclxuICAgIH0pO1xyXG4gXHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgIHRoaXMuZW1pdFNlbGVjdGVkVmFsdWVzKHZhbHVlc1RvRW1pdCk7XHJcbiBcclxuICB9XHJcbiBcclxuICBvblNlbGVjdEFsbChldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBzZWxlY3RBbGwgPSBldmVudC5jdXJyZW50VGFyZ2V0LmNoZWNrZWQ7XHJcbiAgICB0aGlzLmZpbHRlcmVkVmFsdWVzLmZvckVhY2goKGl0ZW06IGFueSkgPT4gaXRlbS5pc1NlbGVjdGVkID0gc2VsZWN0QWxsKTtcclxuIFxyXG4gICAgaWYgKHNlbGVjdEFsbCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzID0gWy4uLnRoaXMuZmlsdGVyZWRWYWx1ZXNdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcyA9IFtdO1xyXG4gICAgfVxyXG4gXHJcbiAgICBjb25zdCB2YWx1ZXNUb0VtaXQgPSB0aGlzLnNlbGVjdGVkVmFsdWVzLm1hcCgodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCB7IGlzU2VsZWN0ZWQsIC4uLnNlbGVjdGVkSXRlbSB9ID0gdmFsdWU7XHJcbiAgICAgIHJldHVybiBzZWxlY3RlZEl0ZW07XHJcbiAgICB9KTtcclxuIFxyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLmVtaXRTZWxlY3RlZFZhbHVlcyh2YWx1ZXNUb0VtaXQpO1xyXG4gIH1cclxuIFxyXG4gXHJcbiAgZW1pdFNlbGVjdGVkVmFsdWVzKHZhbHVlczogYW55W10pIHtcclxuICAgIGlmICh0aGlzLm11bHRpKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWQuZW1pdCh2YWx1ZXMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZC5lbWl0KHZhbHVlc1swXSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gXHJcbiAgY2hlY2tJZkFsbFNlbGVjdGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyZWRWYWx1ZXMuZXZlcnkoKGl0ZW06IGFueSkgPT4gaXRlbS5pc1NlbGVjdGVkKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm91dGVyLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBbbmdDbGFzc109XCJkaXNhYmxlZCA/ICdkaXNhYmxlLWlucHV0JzonJ1wiICAoY2xpY2spPVwib3BlbkRyb3Bkb3duKCRldmVudClcIiAgY2xhc3M9XCJmb3JtLXNlbGVjdFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm11bHRpXCIgPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJzZWxlY3RlZFZhbHVlcz8ubGVuZ3RoXCIgY2xhc3M9XCJzZWxlY3QtdmFsdWUgbXgtMlwiPiA8aW1nIGNsYXNzPVwibWUtMlwiIGFsdD1cIlBpY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlL3VzZXJzLXRlYW1zLnN2Z1wiPnt7c2VsZWN0ZWRWYWx1ZXM/LlswXT8uW3NlYXJjaEZpZWxkXX19PC9zcGFuPiBcclxuICAgIDwhLS0gPHNwYW4gKm5nSWY9XCJzZWxlY3RlZFZhbHVlcz8ubGVuZ3RoID4gMVwiIGNsYXNzPVwic2VsZWN0LXZhbHVlIG14LTJcIj48aW1nIGNsYXNzPVwibWUtMlwiICBhbHQ9XCJQaWNcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZS91c2Vycy10ZWFtcy5zdmdcIj57e3NlbGVjdGVkVmFsdWVzPy5bMV0/LltzZWFyY2hGaWVsZF19fTwvc3Bhbj4gIC0tPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJzZWxlY3QtdmFsdWUgbXgtMlwiICpuZ0lmPVwic2VsZWN0ZWRWYWx1ZXM/Lmxlbmd0aCA+IDFcIj4re3tzZWxlY3RlZFZhbHVlcz8ubGVuZ3RoIC0xfX08L3NwYW4+IHt7bGFiZWx9fSAgICBcclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtdWx0aVwiID5cclxuICAgICAgICB7e3NlbGVjdGVkVmFsdWVzPy5bMF0/LltzZWFyY2hGaWVsZF19fVxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgW25nQ2xhc3NdPVwic2hvd0Ryb3Bkb3duID8gJycgOiAnZC1ub25lJ1wiIGNsYXNzPVwiaW5wdXQtY29udGFpbmVyIGRyb3Bkb3duXCIgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCBpbnB1dC13cmFwcGVyXCI+XHJcbiAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwic2VhcmNoVmFsdWVcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiICAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCIgdHlwZT1cInRleHRcIj4gIFxyXG4gICAgICAgIDxzdmcgY2xhc3M9XCJzZWFyY2gtaWNvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTdcIiB2aWV3Qm94PVwiMCAwIDE2IDE3XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgPHBhdGggZD1cIk0xNCAxNC41TDExLjEgMTEuNk0xMi42NjY3IDcuODMzMzNDMTIuNjY2NyAxMC43Nzg5IDEwLjI3ODkgMTMuMTY2NyA3LjMzMzMzIDEzLjE2NjdDNC4zODc4MSAxMy4xNjY3IDIgMTAuNzc4OSAyIDcuODMzMzNDMiA0Ljg4NzgxIDQuMzg3ODEgMi41IDcuMzMzMzMgMi41QzEwLjI3ODkgMi41IDEyLjY2NjcgNC44ODc4MSAxMi42NjY3IDcuODMzMzNaXCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgIDwvc3ZnPiAgXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJtdWx0aSAmJiBmaWx0ZXJlZFZhbHVlcz8ubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrXCIgW2Zvcl09XCJpbnN0YW5jZUlkXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCAoY2hhbmdlKT1cIm9uU2VsZWN0QWxsKCRldmVudClcIiBbY2hlY2tlZF09XCJjaGVja0lmQWxsU2VsZWN0ZWQoKVwiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dCBtZS0zXCIgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiaW5zdGFuY2VJZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgU2VsZWN0IEFsbFxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJlZFZhbHVlc1wiIFtuZ0NsYXNzXT1cIml0ZW0uaXNTZWxlY3RlZCAmJiAhbXVsdGkgPyAnc2VsZWN0ZWQnIDogJydcIiA+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJpdGVtW2lkRmllbGRdICsgaW5zdGFuY2VJZFwiIFtuZ0NsYXNzXT1cIm11bHRpICA/ICcnOiAncHMtMCdcIiBjbGFzcz1cImZvcm0tY2hlY2tcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgW25nQ2xhc3NdPVwibXVsdGkgID8gJyc6ICdkLW5vbmUnXCIgKGNoYW5nZSk9XCJvblNlbGVjdCgkZXZlbnQsIGl0ZW0pXCIgWyhuZ01vZGVsKV09XCJpdGVtLmlzU2VsZWN0ZWRcIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXQgbWUtM1wiIHR5cGU9XCJjaGVja2JveFwiIHZhbHVlPVwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cIml0ZW1baWRGaWVsZF0gKyBpbnN0YW5jZUlkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e2l0ZW1bc2VhcmNoRmllbGRdfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8bGkgKm5nSWY9XCIhZmlsdGVyZWRWYWx1ZXM/Lmxlbmd0aFwiID5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCIgPk5vIGRhdGEgZm91bmQ8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgPC91bD4gIFxyXG4gICAgPC9kaXY+ICBcclxuICAgXHJcbjwvZGl2PiJdfQ==
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
3
|
+
import { TraxpopupComponent } from '../traxpopup/traxpopup.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/router";
|
|
6
|
+
import * as i2 from "tango-app-ui-global";
|
|
7
|
+
import * as i3 from "../../services/trax.service";
|
|
8
|
+
import * as i4 from "tango-app-ui-shared";
|
|
9
|
+
import * as i5 from "@ng-bootstrap/ng-bootstrap";
|
|
10
|
+
import * as i6 from "@angular/common";
|
|
11
|
+
export class ManagechecklistComponent {
|
|
12
|
+
route;
|
|
13
|
+
router;
|
|
14
|
+
gs;
|
|
15
|
+
sopService;
|
|
16
|
+
toast;
|
|
17
|
+
dialog;
|
|
18
|
+
cd;
|
|
19
|
+
type;
|
|
20
|
+
clientId;
|
|
21
|
+
checklistDetails;
|
|
22
|
+
storeCount;
|
|
23
|
+
loading = false;
|
|
24
|
+
detach = new Subject();
|
|
25
|
+
constructor(route, router, gs, sopService, toast, dialog, cd) {
|
|
26
|
+
this.route = route;
|
|
27
|
+
this.router = router;
|
|
28
|
+
this.gs = gs;
|
|
29
|
+
this.sopService = sopService;
|
|
30
|
+
this.toast = toast;
|
|
31
|
+
this.dialog = dialog;
|
|
32
|
+
this.cd = cd;
|
|
33
|
+
this.route.queryParams.subscribe((params) => {
|
|
34
|
+
if (params.type) {
|
|
35
|
+
this.type = params.type;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
ngOnInit() {
|
|
40
|
+
this.gs.dataRangeValue.pipe(takeUntil(this.detach)).subscribe({
|
|
41
|
+
next: (data) => {
|
|
42
|
+
if (data) {
|
|
43
|
+
this.clientId = data.client;
|
|
44
|
+
this.route.queryParams.pipe(takeUntil(this.detach)).subscribe({
|
|
45
|
+
next: (params) => {
|
|
46
|
+
if (params.type == 'ai') {
|
|
47
|
+
this.getAiDetails();
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
this.getPredefinedDetails();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
getAiDetails() {
|
|
59
|
+
this.loading = true;
|
|
60
|
+
this.sopService.getaichecklist(this.clientId).pipe(takeUntil(this.detach)).subscribe({
|
|
61
|
+
next: (res) => {
|
|
62
|
+
if (res && res.code == 200) {
|
|
63
|
+
this.loading = false;
|
|
64
|
+
this.checklistDetails = res.data;
|
|
65
|
+
this.storeCount = res.data.count;
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
this.checklistDetails = [];
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
getPredefinedDetails() {
|
|
74
|
+
this.loading = true;
|
|
75
|
+
this.sopService.getpredefinedchecklist(this.clientId).pipe(takeUntil(this.detach)).subscribe({
|
|
76
|
+
next: (res) => {
|
|
77
|
+
if (res && res.code == 200 && res.data.length) {
|
|
78
|
+
this.loading = false;
|
|
79
|
+
this.checklistDetails = res.data;
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
this.checklistDetails = [];
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
ngOnDestroy() {
|
|
88
|
+
this.detach.next(true);
|
|
89
|
+
this.detach.complete();
|
|
90
|
+
}
|
|
91
|
+
redirectUrl(type) {
|
|
92
|
+
let queryString = `type=${type}`;
|
|
93
|
+
if (this.checklistDetails?.uniformDetection.length && type == 'uniformdetection') {
|
|
94
|
+
queryString = `checkListId=${this.checklistDetails?.uniformDetection[0]._id}`;
|
|
95
|
+
}
|
|
96
|
+
if (this.checklistDetails?.mobileUsageDetection.length && type == 'mobileusagedetection') {
|
|
97
|
+
queryString = `checkListId=${this.checklistDetails?.mobileUsageDetection[0]._id}`;
|
|
98
|
+
}
|
|
99
|
+
if (this.checklistDetails?.storeOpenClose.length && type == 'storeopenandclose') {
|
|
100
|
+
queryString = `checkListId=${this.checklistDetails?.storeOpenClose[0]._id}`;
|
|
101
|
+
}
|
|
102
|
+
this.router.navigateByUrl(`manage/trax/configure?${queryString}`);
|
|
103
|
+
}
|
|
104
|
+
redirectChecklist(data) {
|
|
105
|
+
let queryString = `type=${data.checkListType}`;
|
|
106
|
+
if (data.checkListType == 'custom') {
|
|
107
|
+
queryString = `checklistId=${data._id}`;
|
|
108
|
+
}
|
|
109
|
+
this.router.navigateByUrl(`manage/trax/createChecklist?${queryString}`);
|
|
110
|
+
}
|
|
111
|
+
publish(event, data) {
|
|
112
|
+
let popupcontent;
|
|
113
|
+
let htmlContent;
|
|
114
|
+
if (event.target.checked) {
|
|
115
|
+
popupcontent = {
|
|
116
|
+
displayprop: false,
|
|
117
|
+
imagesrc: '<svg xmlns="http://www.w3.org/2000/svg" width="56" height="56" viewBox="0 0 56 56" fill="none"><rect x="4" y="4" width="48" height="48" rx="24" fill="#D1FADF"/><path d="M38 27.0818V28.0018C37.9988 30.1582 37.3005 32.2565 36.0093 33.9836C34.7182 35.7108 32.9033 36.9743 30.8354 37.5857C28.7674 38.1971 26.5573 38.1237 24.5345 37.3764C22.5117 36.6291 20.7847 35.2479 19.611 33.4389C18.4373 31.6299 17.8798 29.4899 18.0217 27.3381C18.1636 25.1864 18.9972 23.1381 20.3983 21.4989C21.7994 19.8596 23.6928 18.7172 25.7962 18.242C27.8996 17.7667 30.1003 17.9842 32.07 18.8618M38 20.0018L28 30.0118L25 27.0118" stroke="#039855" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><rect x="4" y="4" width="48" height="48" rx="24" stroke="#ECFDF3" stroke-width="8"/></svg>',
|
|
118
|
+
title: `Are you sure you want to publish ‘${data.checkListName}’ checklist?`,
|
|
119
|
+
content: `Publishing will make this checklist live, and changes will take effect immediately.`,
|
|
120
|
+
buttontype: 'confirm'
|
|
121
|
+
};
|
|
122
|
+
htmlContent = `${data.checkListName} has been published</div>`;
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
popupcontent = {
|
|
126
|
+
displayprop: false,
|
|
127
|
+
imagesrc: '<svg xmlns="http://www.w3.org/2000/svg" width="56" height="56" viewBox="0 0 56 56" fill="none"><rect x="4" y="4" width="48" height="48" rx="24" fill="#FEF0C7"/><path d="M27.9998 24.0012V28.0012M27.9998 32.0012H28.0098M26.2898 18.8612L17.8198 33.0012C17.6451 33.3036 17.5527 33.6465 17.5518 33.9957C17.5508 34.3449 17.6413 34.6883 17.8142 34.9917C17.9871 35.2951 18.2365 35.5479 18.5375 35.725C18.8385 35.9021 19.1806 35.9973 19.5298 36.0012H36.4698C36.819 35.9973 37.1611 35.9021 37.4621 35.725C37.7631 35.5479 38.0124 35.2951 38.1854 34.9917C38.3583 34.6883 38.4488 34.3449 38.4478 33.9957C38.4468 33.6465 38.3544 33.3036 38.1798 33.0012L29.7098 18.8612C29.5315 18.5673 29.2805 18.3243 28.981 18.1557C28.6814 17.987 28.3435 17.8984 27.9998 17.8984C27.656 17.8984 27.3181 17.987 27.0186 18.1557C26.7191 18.3243 26.468 18.5673 26.2898 18.8612Z" stroke="#DC6803" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><rect x="4" y="4" width="48" height="48" rx="24" stroke="#FFFAEB" stroke-width="8"/></svg>',
|
|
128
|
+
title: `Are you sure you want to unpublish ‘${data.checkListName}’ checklist?`,
|
|
129
|
+
content: `Unpublishing will remove this checklist immediately, and it will no longer be visible to assigned locations.`,
|
|
130
|
+
buttontype: 'confirm'
|
|
131
|
+
};
|
|
132
|
+
htmlContent = `${data.checkListName} has been unpublished`;
|
|
133
|
+
}
|
|
134
|
+
const dialogRef = this.dialog.open(TraxpopupComponent, {
|
|
135
|
+
centered: true, size: 'md'
|
|
136
|
+
});
|
|
137
|
+
dialogRef.componentInstance.data = popupcontent;
|
|
138
|
+
dialogRef.result.then((res) => {
|
|
139
|
+
if (res == 'confirm') {
|
|
140
|
+
let params = {
|
|
141
|
+
...(data.client_id) ? { checklistId: data._id } : {},
|
|
142
|
+
type: data.checkListType,
|
|
143
|
+
clientId: this.clientId,
|
|
144
|
+
publish: event.target.checked
|
|
145
|
+
};
|
|
146
|
+
this.sopService.publish(params).pipe(takeUntil(this.detach)).subscribe({
|
|
147
|
+
next: (res) => {
|
|
148
|
+
if (res && res.code == 200) {
|
|
149
|
+
let message = event.target.checked ? 'published' : 'unpublished';
|
|
150
|
+
this.toast.getSuccessToast(`${data.checkListName} is ${message} successfully.`);
|
|
151
|
+
this.cd.detectChanges();
|
|
152
|
+
data.publish = event.target.checked;
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
event.target.checked = data.publish;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
event.target.checked = data.publish;
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ManagechecklistComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }, { token: i2.GlobalStateService }, { token: i3.TraxService }, { token: i4.ToastService }, { token: i5.NgbModal }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
166
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ManagechecklistComponent, selector: "lib-managechecklist", ngImport: i0, template: "<div class=\"card mb-5\">\r\n <div class=\"card\" *ngIf=\"loading\">\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 </div>\r\n <div class=\"card-body pt-2 pb-1\" *ngIf=\"!loading\">\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"d-flex flex-wrap my-2 pe-2\">\r\n <a routerLink=\"/manage/trax/checklist\" class=\"d-flex align-items-center me-3 cursor-pointer\">\r\n <span><svg width=\"44\" height=\"44\" viewBox=\"0 0 44 44\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_d_987_30898)\">\r\n <rect x=\"2\" y=\"1\" width=\"40\" height=\"40\" rx=\"8\" fill=\"white\" />\r\n <rect x=\"2.5\" y=\"1.5\" width=\"39\" height=\"39\" rx=\"7.5\" stroke=\"#D0D5DD\" />\r\n <path\r\n d=\"M27.8346 21.0001H16.168M16.168 21.0001L22.0013 26.8334M16.168 21.0001L22.0013 15.1667\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_d_987_30898\" x=\"0\" y=\"0\" width=\"44\" height=\"44\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\" result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_987_30898\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_987_30898\"\r\n result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n </span>\r\n </a>\r\n <div class=\"checklist-details mx-3\">\r\n <div class=\"d-flex align-items-center maintext mt-2\">\r\n Predefined {{type === 'ai' ? 'AI' : ''}} Checklist\r\n </div>\r\n <!-- <div class=\"subtext\">\r\n An overview of the store issues and the downtime for 02 July, 2023\r\n </div> -->\r\n </div>\r\n </div>\r\n <!--end::Info-->\r\n </div>\r\n\r\n <div class=\"col-ld-12\" *ngIf=\"type === 'predefined'\">\r\n <div class=\"row m-0\">\r\n <div class=\"col-md-4 my-3\" *ngFor=\"let item of checklistDetails;let i=index\">\r\n <div class=\"checklistimg\">\r\n <img class=\"w-100\" src=\"assets/tango/Images/checklistVideo-player1.svg\" alt=\"Checklist Video Player\">\r\n <div class=\"col-12\">\r\n <div class=\"d-flex flex-stack\">\r\n <span class=\"imgtext me-2\">{{item.checkListName}}</span>\r\n <span class=\"d-flex align-items-center cursor-pointer\" (click)=\"redirectChecklist(item)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_801_62593)\">\r\n <path d=\"M9.16797 3.33417H3.33464C2.89261 3.33417 2.46868 3.50977 2.15612 3.82233C1.84356 4.13489 1.66797 4.55881 1.66797 5.00084V16.6675C1.66797 17.1095 1.84356 17.5335 2.15612 17.846C2.46868 18.1586 2.89261 18.3342 3.33464 18.3342H15.0013C15.4433 18.3342 15.8673 18.1586 16.1798 17.846C16.4924 17.5335 16.668 17.1095 16.668 16.6675V10.8342M15.418 2.08417C15.7495 1.75265 16.1991 1.56641 16.668 1.56641C17.1368 1.56641 17.5864 1.75265 17.918 2.08417C18.2495 2.41569 18.4357 2.86533 18.4357 3.33417C18.4357 3.80301 18.2495 4.25265 17.918 4.58417L10.0013 12.5008L6.66797 13.3342L7.5013 10.0008L15.418 2.08417Z\" \r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_801_62593\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg> </span>\r\n </div>\r\n </div>\r\n <div class=\"imgsubtext\" >{{item.checkListDescription}}</div>\r\n <div class=\"col-12\">\r\n <div class=\"d-flex flex-stack justify-content-end\">\r\n <!-- <div>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg><span class=\"mx-1\">{{item.userCount}}</span></span>\r\n <span class=\"mx-4\" ><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M2.14549 4.64215L2.1029 4.70866C1.65644 5.49832 2.13313 6.49629 2.99045 6.61074C3.0681 6.62024 3.14036 6.62526 3.21097 6.62526C3.67349 6.62526 4.08242 6.42684 4.36744 6.11746L4.81011 5.63696L5.25127 6.11884C5.53283 6.42638 5.94083 6.62526 6.40648 6.62526C6.87003 6.62526 7.28038 6.4261 7.56168 6.11884L8.00423 5.63545L8.44678 6.11884C8.72808 6.4261 9.13843 6.62526 9.60199 6.62526C10.0655 6.62526 10.4759 6.4261 10.7572 6.11884L11.1997 5.63545L11.6423 6.11884C11.9236 6.4261 12.3339 6.62526 12.7975 6.62526C12.8658 6.62526 12.9402 6.62022 13.0174 6.61082C13.8935 6.49137 14.3717 5.43995 13.8608 4.64255C13.8608 4.6425 13.8607 4.64246 13.8607 4.64241L12.4542 2.44928L12.4534 2.44811C12.4413 2.42904 12.4113 2.40859 12.3735 2.40859H3.63001C3.5923 2.40859 3.56231 2.42904 3.55014 2.44811L3.54965 2.44888L2.14549 4.64215ZM12.5226 8.58877V11.0943V11.6943H11.9226H4.08091H3.48091V11.0943V8.58914C3.39272 8.5957 3.30351 8.59907 3.21342 8.59907C3.17958 8.59907 3.14596 8.59857 3.11257 8.59759V11.0943V12.6419C3.11257 13.1567 3.53969 13.5895 4.08091 13.5895H11.9226C12.4639 13.5895 12.891 13.1567 12.891 12.6419V11.0943V8.59774C12.8591 8.59862 12.8271 8.59907 12.795 8.59907C12.7035 8.59907 12.6126 8.59559 12.5226 8.58877Z\" stroke=\"#667085\" stroke-width=\"1.2\"/>\r\n </svg><span class=\"mx-1\">{{item.storeCount}}</span></span>\r\n </div> -->\r\n \r\n <!-- <span class=\"badge badge-light-success\" *ngIf=\"item.publish\">Published</span>\r\n <span class=\"badge badge-light-primary\" *ngIf=\"!item.publish\">Open</span> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-ld-12\" *ngIf=\"type === 'ai'\">\r\n <div class=\"row m-0\">\r\n <div class=\"col-md-4 my-3\" *ngFor=\"let data of checklistDetails;let i=index\">\r\n <div class=\"checklistimg\">\r\n <img class=\"w-100\" src=\"assets/tango/Images/checklistVideo-player1.svg\" alt=\"Checklist Video Player\">\r\n <div class=\"col-12\">\r\n <div class=\"d-flex flex-stack\">\r\n <span class=\"imgtext me-2\">{{data.checkListName}}</span>\r\n <!-- <span class=\"d-flex align-items-center cursor-pointer\" (click)=\"redirectUrl('uniformdetection')\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_801_62593)\">\r\n <path d=\"M9.16797 3.33417H3.33464C2.89261 3.33417 2.46868 3.50977 2.15612 3.82233C1.84356 4.13489 1.66797 4.55881 1.66797 5.00084V16.6675C1.66797 17.1095 1.84356 17.5335 2.15612 17.846C2.46868 18.1586 2.89261 18.3342 3.33464 18.3342H15.0013C15.4433 18.3342 15.8673 18.1586 16.1798 17.846C16.4924 17.5335 16.668 17.1095 16.668 16.6675V10.8342M15.418 2.08417C15.7495 1.75265 16.1991 1.56641 16.668 1.56641C17.1368 1.56641 17.5864 1.75265 17.918 2.08417C18.2495 2.41569 18.4357 2.86533 18.4357 3.33417C18.4357 3.80301 18.2495 4.25265 17.918 4.58417L10.0013 12.5008L6.66797 13.3342L7.5013 10.0008L15.418 2.08417Z\" \r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_801_62593\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span> -->\r\n </div>\r\n </div>\r\n <div class=\"imgsubtext\" >{{data.checkListDescription}}</div>\r\n <div class=\"col-12\">\r\n <div class=\"d-flex flex-stack justify-content-between\">\r\n <div>\r\n <!-- <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg><span class=\"mx-1\">{{checklistDetails?.uniformDetection[0]?.uniformUserList || 0}}</span></span> -->\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M2.14549 4.64215L2.1029 4.70866C1.65644 5.49832 2.13313 6.49629 2.99045 6.61074C3.0681 6.62024 3.14036 6.62526 3.21097 6.62526C3.67349 6.62526 4.08242 6.42684 4.36744 6.11746L4.81011 5.63696L5.25127 6.11884C5.53283 6.42638 5.94083 6.62526 6.40648 6.62526C6.87003 6.62526 7.28038 6.4261 7.56168 6.11884L8.00423 5.63545L8.44678 6.11884C8.72808 6.4261 9.13843 6.62526 9.60199 6.62526C10.0655 6.62526 10.4759 6.4261 10.7572 6.11884L11.1997 5.63545L11.6423 6.11884C11.9236 6.4261 12.3339 6.62526 12.7975 6.62526C12.8658 6.62526 12.9402 6.62022 13.0174 6.61082C13.8935 6.49137 14.3717 5.43995 13.8608 4.64255C13.8608 4.6425 13.8607 4.64246 13.8607 4.64241L12.4542 2.44928L12.4534 2.44811C12.4413 2.42904 12.4113 2.40859 12.3735 2.40859H3.63001C3.5923 2.40859 3.56231 2.42904 3.55014 2.44811L3.54965 2.44888L2.14549 4.64215ZM12.5226 8.58877V11.0943V11.6943H11.9226H4.08091H3.48091V11.0943V8.58914C3.39272 8.5957 3.30351 8.59907 3.21342 8.59907C3.17958 8.59907 3.14596 8.59857 3.11257 8.59759V11.0943V12.6419C3.11257 13.1567 3.53969 13.5895 4.08091 13.5895H11.9226C12.4639 13.5895 12.891 13.1567 12.891 12.6419V11.0943V8.59774C12.8591 8.59862 12.8271 8.59907 12.795 8.59907C12.7035 8.59907 12.6126 8.59559 12.5226 8.58877Z\" stroke=\"#667085\" stroke-width=\"1.2\"/>\r\n </svg><span class=\"mx-1\">{{data.storeCount || '--'}}</span></span>\r\n </div>\r\n \r\n <!-- <span class=\"badge badge-light-success\" *ngIf=\"checklistDetails?.uniformDetection.length\">Published</span> -->\r\n <div>\r\n <div class=\"d-flex\">\r\n <div>\r\n <span class=\"form-check form-switch\">\r\n <input type=\"checkbox\" role=\"switch\" id=\"support\" class=\"form-check-input cursor-pointer\" [checked]=\"data.publish\" (change)=\"publish($event,data)\">\r\n </span>\r\n </div>\r\n <div>\r\n <span class=\"badge badge-light-primary\" *ngIf=\"!data.publish\">Disable</span>\r\n <span class=\"badge badge-light-success\" *ngIf=\"data.publish\">Enable</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".maintext{color:var(--Gray-900, #101828);font-size:18px;font-style:normal;font-weight:600;line-height:28px}.subtext{color:var(--Gray-500, #667085);font-size:14px;font-style:normal;font-weight:400;line-height:20px}.checklistimg{display:flex;padding:12px;flex-direction:column;align-items:flex-start;gap:12px;border-radius:12px;border:1px solid var(--Greyscale-100, #DFE1E7);background:var(--Greyscale-0, #FFF)}.imgtext{overflow:hidden;color:var(--Greyscale-900, #0D0D12);text-overflow:ellipsis;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.imgsubtext{overflow:hidden;color:var(--Gray-500, #667085);text-overflow:ellipsis;font-size:12px;font-style:normal;font-weight:400;line-height:18px}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
|
|
167
|
+
}
|
|
168
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ManagechecklistComponent, decorators: [{
|
|
169
|
+
type: Component,
|
|
170
|
+
args: [{ selector: 'lib-managechecklist', template: "<div class=\"card mb-5\">\r\n <div class=\"card\" *ngIf=\"loading\">\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 </div>\r\n <div class=\"card-body pt-2 pb-1\" *ngIf=\"!loading\">\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"d-flex flex-wrap my-2 pe-2\">\r\n <a routerLink=\"/manage/trax/checklist\" class=\"d-flex align-items-center me-3 cursor-pointer\">\r\n <span><svg width=\"44\" height=\"44\" viewBox=\"0 0 44 44\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_d_987_30898)\">\r\n <rect x=\"2\" y=\"1\" width=\"40\" height=\"40\" rx=\"8\" fill=\"white\" />\r\n <rect x=\"2.5\" y=\"1.5\" width=\"39\" height=\"39\" rx=\"7.5\" stroke=\"#D0D5DD\" />\r\n <path\r\n d=\"M27.8346 21.0001H16.168M16.168 21.0001L22.0013 26.8334M16.168 21.0001L22.0013 15.1667\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_d_987_30898\" x=\"0\" y=\"0\" width=\"44\" height=\"44\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\" result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_987_30898\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_987_30898\"\r\n result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n </span>\r\n </a>\r\n <div class=\"checklist-details mx-3\">\r\n <div class=\"d-flex align-items-center maintext mt-2\">\r\n Predefined {{type === 'ai' ? 'AI' : ''}} Checklist\r\n </div>\r\n <!-- <div class=\"subtext\">\r\n An overview of the store issues and the downtime for 02 July, 2023\r\n </div> -->\r\n </div>\r\n </div>\r\n <!--end::Info-->\r\n </div>\r\n\r\n <div class=\"col-ld-12\" *ngIf=\"type === 'predefined'\">\r\n <div class=\"row m-0\">\r\n <div class=\"col-md-4 my-3\" *ngFor=\"let item of checklistDetails;let i=index\">\r\n <div class=\"checklistimg\">\r\n <img class=\"w-100\" src=\"assets/tango/Images/checklistVideo-player1.svg\" alt=\"Checklist Video Player\">\r\n <div class=\"col-12\">\r\n <div class=\"d-flex flex-stack\">\r\n <span class=\"imgtext me-2\">{{item.checkListName}}</span>\r\n <span class=\"d-flex align-items-center cursor-pointer\" (click)=\"redirectChecklist(item)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_801_62593)\">\r\n <path d=\"M9.16797 3.33417H3.33464C2.89261 3.33417 2.46868 3.50977 2.15612 3.82233C1.84356 4.13489 1.66797 4.55881 1.66797 5.00084V16.6675C1.66797 17.1095 1.84356 17.5335 2.15612 17.846C2.46868 18.1586 2.89261 18.3342 3.33464 18.3342H15.0013C15.4433 18.3342 15.8673 18.1586 16.1798 17.846C16.4924 17.5335 16.668 17.1095 16.668 16.6675V10.8342M15.418 2.08417C15.7495 1.75265 16.1991 1.56641 16.668 1.56641C17.1368 1.56641 17.5864 1.75265 17.918 2.08417C18.2495 2.41569 18.4357 2.86533 18.4357 3.33417C18.4357 3.80301 18.2495 4.25265 17.918 4.58417L10.0013 12.5008L6.66797 13.3342L7.5013 10.0008L15.418 2.08417Z\" \r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_801_62593\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg> </span>\r\n </div>\r\n </div>\r\n <div class=\"imgsubtext\" >{{item.checkListDescription}}</div>\r\n <div class=\"col-12\">\r\n <div class=\"d-flex flex-stack justify-content-end\">\r\n <!-- <div>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg><span class=\"mx-1\">{{item.userCount}}</span></span>\r\n <span class=\"mx-4\" ><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M2.14549 4.64215L2.1029 4.70866C1.65644 5.49832 2.13313 6.49629 2.99045 6.61074C3.0681 6.62024 3.14036 6.62526 3.21097 6.62526C3.67349 6.62526 4.08242 6.42684 4.36744 6.11746L4.81011 5.63696L5.25127 6.11884C5.53283 6.42638 5.94083 6.62526 6.40648 6.62526C6.87003 6.62526 7.28038 6.4261 7.56168 6.11884L8.00423 5.63545L8.44678 6.11884C8.72808 6.4261 9.13843 6.62526 9.60199 6.62526C10.0655 6.62526 10.4759 6.4261 10.7572 6.11884L11.1997 5.63545L11.6423 6.11884C11.9236 6.4261 12.3339 6.62526 12.7975 6.62526C12.8658 6.62526 12.9402 6.62022 13.0174 6.61082C13.8935 6.49137 14.3717 5.43995 13.8608 4.64255C13.8608 4.6425 13.8607 4.64246 13.8607 4.64241L12.4542 2.44928L12.4534 2.44811C12.4413 2.42904 12.4113 2.40859 12.3735 2.40859H3.63001C3.5923 2.40859 3.56231 2.42904 3.55014 2.44811L3.54965 2.44888L2.14549 4.64215ZM12.5226 8.58877V11.0943V11.6943H11.9226H4.08091H3.48091V11.0943V8.58914C3.39272 8.5957 3.30351 8.59907 3.21342 8.59907C3.17958 8.59907 3.14596 8.59857 3.11257 8.59759V11.0943V12.6419C3.11257 13.1567 3.53969 13.5895 4.08091 13.5895H11.9226C12.4639 13.5895 12.891 13.1567 12.891 12.6419V11.0943V8.59774C12.8591 8.59862 12.8271 8.59907 12.795 8.59907C12.7035 8.59907 12.6126 8.59559 12.5226 8.58877Z\" stroke=\"#667085\" stroke-width=\"1.2\"/>\r\n </svg><span class=\"mx-1\">{{item.storeCount}}</span></span>\r\n </div> -->\r\n \r\n <!-- <span class=\"badge badge-light-success\" *ngIf=\"item.publish\">Published</span>\r\n <span class=\"badge badge-light-primary\" *ngIf=\"!item.publish\">Open</span> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-ld-12\" *ngIf=\"type === 'ai'\">\r\n <div class=\"row m-0\">\r\n <div class=\"col-md-4 my-3\" *ngFor=\"let data of checklistDetails;let i=index\">\r\n <div class=\"checklistimg\">\r\n <img class=\"w-100\" src=\"assets/tango/Images/checklistVideo-player1.svg\" alt=\"Checklist Video Player\">\r\n <div class=\"col-12\">\r\n <div class=\"d-flex flex-stack\">\r\n <span class=\"imgtext me-2\">{{data.checkListName}}</span>\r\n <!-- <span class=\"d-flex align-items-center cursor-pointer\" (click)=\"redirectUrl('uniformdetection')\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_801_62593)\">\r\n <path d=\"M9.16797 3.33417H3.33464C2.89261 3.33417 2.46868 3.50977 2.15612 3.82233C1.84356 4.13489 1.66797 4.55881 1.66797 5.00084V16.6675C1.66797 17.1095 1.84356 17.5335 2.15612 17.846C2.46868 18.1586 2.89261 18.3342 3.33464 18.3342H15.0013C15.4433 18.3342 15.8673 18.1586 16.1798 17.846C16.4924 17.5335 16.668 17.1095 16.668 16.6675V10.8342M15.418 2.08417C15.7495 1.75265 16.1991 1.56641 16.668 1.56641C17.1368 1.56641 17.5864 1.75265 17.918 2.08417C18.2495 2.41569 18.4357 2.86533 18.4357 3.33417C18.4357 3.80301 18.2495 4.25265 17.918 4.58417L10.0013 12.5008L6.66797 13.3342L7.5013 10.0008L15.418 2.08417Z\" \r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_801_62593\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span> -->\r\n </div>\r\n </div>\r\n <div class=\"imgsubtext\" >{{data.checkListDescription}}</div>\r\n <div class=\"col-12\">\r\n <div class=\"d-flex flex-stack justify-content-between\">\r\n <div>\r\n <!-- <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg><span class=\"mx-1\">{{checklistDetails?.uniformDetection[0]?.uniformUserList || 0}}</span></span> -->\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M2.14549 4.64215L2.1029 4.70866C1.65644 5.49832 2.13313 6.49629 2.99045 6.61074C3.0681 6.62024 3.14036 6.62526 3.21097 6.62526C3.67349 6.62526 4.08242 6.42684 4.36744 6.11746L4.81011 5.63696L5.25127 6.11884C5.53283 6.42638 5.94083 6.62526 6.40648 6.62526C6.87003 6.62526 7.28038 6.4261 7.56168 6.11884L8.00423 5.63545L8.44678 6.11884C8.72808 6.4261 9.13843 6.62526 9.60199 6.62526C10.0655 6.62526 10.4759 6.4261 10.7572 6.11884L11.1997 5.63545L11.6423 6.11884C11.9236 6.4261 12.3339 6.62526 12.7975 6.62526C12.8658 6.62526 12.9402 6.62022 13.0174 6.61082C13.8935 6.49137 14.3717 5.43995 13.8608 4.64255C13.8608 4.6425 13.8607 4.64246 13.8607 4.64241L12.4542 2.44928L12.4534 2.44811C12.4413 2.42904 12.4113 2.40859 12.3735 2.40859H3.63001C3.5923 2.40859 3.56231 2.42904 3.55014 2.44811L3.54965 2.44888L2.14549 4.64215ZM12.5226 8.58877V11.0943V11.6943H11.9226H4.08091H3.48091V11.0943V8.58914C3.39272 8.5957 3.30351 8.59907 3.21342 8.59907C3.17958 8.59907 3.14596 8.59857 3.11257 8.59759V11.0943V12.6419C3.11257 13.1567 3.53969 13.5895 4.08091 13.5895H11.9226C12.4639 13.5895 12.891 13.1567 12.891 12.6419V11.0943V8.59774C12.8591 8.59862 12.8271 8.59907 12.795 8.59907C12.7035 8.59907 12.6126 8.59559 12.5226 8.58877Z\" stroke=\"#667085\" stroke-width=\"1.2\"/>\r\n </svg><span class=\"mx-1\">{{data.storeCount || '--'}}</span></span>\r\n </div>\r\n \r\n <!-- <span class=\"badge badge-light-success\" *ngIf=\"checklistDetails?.uniformDetection.length\">Published</span> -->\r\n <div>\r\n <div class=\"d-flex\">\r\n <div>\r\n <span class=\"form-check form-switch\">\r\n <input type=\"checkbox\" role=\"switch\" id=\"support\" class=\"form-check-input cursor-pointer\" [checked]=\"data.publish\" (change)=\"publish($event,data)\">\r\n </span>\r\n </div>\r\n <div>\r\n <span class=\"badge badge-light-primary\" *ngIf=\"!data.publish\">Disable</span>\r\n <span class=\"badge badge-light-success\" *ngIf=\"data.publish\">Enable</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".maintext{color:var(--Gray-900, #101828);font-size:18px;font-style:normal;font-weight:600;line-height:28px}.subtext{color:var(--Gray-500, #667085);font-size:14px;font-style:normal;font-weight:400;line-height:20px}.checklistimg{display:flex;padding:12px;flex-direction:column;align-items:flex-start;gap:12px;border-radius:12px;border:1px solid var(--Greyscale-100, #DFE1E7);background:var(--Greyscale-0, #FFF)}.imgtext{overflow:hidden;color:var(--Greyscale-900, #0D0D12);text-overflow:ellipsis;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.imgsubtext{overflow:hidden;color:var(--Gray-500, #667085);text-overflow:ellipsis;font-size:12px;font-style:normal;font-weight:400;line-height:18px}\n"] }]
|
|
171
|
+
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }, { type: i2.GlobalStateService }, { type: i3.TraxService }, { type: i4.ToastService }, { type: i5.NgbModal }, { type: i0.ChangeDetectorRef }] });
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlY2hlY2tsaXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFuYWx5c2UtdHJheC9zcmMvbGliL2NvbXBvbmVudHMvbWFuYWdlY2hlY2tsaXN0L21hbmFnZWNoZWNrbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL21hbmFnZWNoZWNrbGlzdC9tYW5hZ2VjaGVja2xpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBR2hGLE9BQU8sRUFBQyxPQUFPLEVBQUUsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBR3hDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7OztBQVF0RSxNQUFNLE9BQU8sd0JBQXdCO0lBT2Y7SUFBNkI7SUFBc0I7SUFBOEI7SUFBK0I7SUFBMkI7SUFBd0I7SUFOdkwsSUFBSSxDQUFLO0lBQ1QsUUFBUSxDQUFLO0lBQ2IsZ0JBQWdCLENBQUs7SUFDckIsVUFBVSxDQUFLO0lBQ2YsT0FBTyxHQUFXLEtBQUssQ0FBQztJQUNoQixNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUMvQixZQUFvQixLQUFvQixFQUFTLE1BQWEsRUFBUyxFQUFxQixFQUFTLFVBQXNCLEVBQVMsS0FBa0IsRUFBUyxNQUFlLEVBQVMsRUFBb0I7UUFBdkwsVUFBSyxHQUFMLEtBQUssQ0FBZTtRQUFTLFdBQU0sR0FBTixNQUFNLENBQU87UUFBUyxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUFTLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFhO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBUztRQUFT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ZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuaW1wb3J0IHtTdWJqZWN0LCB0YWtlVW50aWx9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBUcmF4U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYXguc2VydmljZSc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1zaGFyZWQnO1xyXG5pbXBvcnQgeyBUcmF4cG9wdXBDb21wb25lbnQgfSBmcm9tICcuLi90cmF4cG9wdXAvdHJheHBvcHVwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5nYk1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItbWFuYWdlY2hlY2tsaXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWFuYWdlY2hlY2tsaXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vbWFuYWdlY2hlY2tsaXN0LmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTWFuYWdlY2hlY2tsaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uRGVzdHJveSB7XHJcbiAgdHlwZTphbnk7XHJcbiAgY2xpZW50SWQ6YW55O1xyXG4gIGNoZWNrbGlzdERldGFpbHM6YW55O1xyXG4gIHN0b3JlQ291bnQ6YW55O1xyXG4gIGxvYWRpbmc6Ym9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgZGV0YWNoID0gbmV3IFN1YmplY3QoKTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlOkFjdGl2YXRlZFJvdXRlLHByaXZhdGUgcm91dGVyOlJvdXRlcixwcml2YXRlIGdzOkdsb2JhbFN0YXRlU2VydmljZSxwcml2YXRlIHNvcFNlcnZpY2U6VHJheFNlcnZpY2UscHJpdmF0ZSB0b2FzdDpUb2FzdFNlcnZpY2UscHJpdmF0ZSBkaWFsb2c6TmdiTW9kYWwscHJpdmF0ZSBjZDpDaGFuZ2VEZXRlY3RvclJlZil7XHJcbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZSgocGFyYW1zOmFueSkgPT4ge1xyXG4gICAgICBpZihwYXJhbXMudHlwZSl7XHJcbiAgICAgICAgdGhpcy50eXBlID0gcGFyYW1zLnR5cGU7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWUucGlwZSh0YWtlVW50aWwodGhpcy5kZXRhY2gpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OihkYXRhOmFueSkgPT4ge1xyXG4gICAgICAgIGlmKGRhdGEpIHtcclxuICAgICAgICAgIHRoaXMuY2xpZW50SWQgPSBkYXRhLmNsaWVudDtcclxuICAgICAgICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXRhY2gpKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICBuZXh0OihwYXJhbXM6YW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZihwYXJhbXMudHlwZSA9PSAnYWknKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0QWlEZXRhaWxzKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5nZXRQcmVkZWZpbmVkRGV0YWlscygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRBaURldGFpbHMoKXtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLnNvcFNlcnZpY2UuZ2V0YWljaGVja2xpc3QodGhpcy5jbGllbnRJZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXRhY2gpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OihyZXM6YW55KSA9PiB7XHJcbiAgICAgICAgaWYocmVzICYmIHJlcy5jb2RlID09IDIwMCApIHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5jaGVja2xpc3REZXRhaWxzID0gcmVzLmRhdGE7XHJcbiAgICAgICAgICB0aGlzLnN0b3JlQ291bnQgPSByZXMuZGF0YS5jb3VudFxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuY2hlY2tsaXN0RGV0YWlscyA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRQcmVkZWZpbmVkRGV0YWlscygpe1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuc29wU2VydmljZS5nZXRwcmVkZWZpbmVkY2hlY2tsaXN0KHRoaXMuY2xpZW50SWQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGV0YWNoKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDoocmVzOmFueSkgPT4ge1xyXG4gICAgICAgIGlmKHJlcyAmJiByZXMuY29kZSA9PSAyMDAgJiYgcmVzLmRhdGEubGVuZ3RoKSB7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuY2hlY2tsaXN0RGV0YWlscyA9IHJlcy5kYXRhO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuY2hlY2tsaXN0RGV0YWlscyA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGV0YWNoLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRldGFjaC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcmVkaXJlY3RVcmwodHlwZTphbnkpIHtcclxuICAgIGxldCBxdWVyeVN0cmluZzphbnk9YHR5cGU9JHt0eXBlfWA7XHJcbiAgICBpZih0aGlzLmNoZWNrbGlzdERldGFpbHM/LnVuaWZvcm1EZXRlY3Rpb24ubGVuZ3RoICYmIHR5cGUgPT0gJ3VuaWZvcm1kZXRlY3Rpb24nKSB7XHJcbiAgICAgIHF1ZXJ5U3RyaW5nPWBjaGVja0xpc3RJZD0ke3RoaXMuY2hlY2tsaXN0RGV0YWlscz8udW5pZm9ybURldGVjdGlvblswXS5faWR9YFxyXG4gICAgfVxyXG4gICAgaWYodGhpcy5jaGVja2xpc3REZXRhaWxzPy5tb2JpbGVVc2FnZURldGVjdGlvbi5sZW5ndGggJiYgdHlwZSA9PSAnbW9iaWxldXNhZ2VkZXRlY3Rpb24nKSB7XHJcbiAgICAgIHF1ZXJ5U3RyaW5nPWBjaGVja0xpc3RJZD0ke3RoaXMuY2hlY2tsaXN0RGV0YWlscz8ubW9iaWxlVXNhZ2VEZXRlY3Rpb25bMF0uX2lkfWBcclxuICAgIH1cclxuICAgIGlmKHRoaXMuY2hlY2tsaXN0RGV0YWlscz8uc3RvcmVPcGVuQ2xvc2UubGVuZ3RoICYmIHR5cGUgPT0gJ3N0b3Jlb3BlbmFuZGNsb3NlJykge1xyXG4gICAgICBxdWVyeVN0cmluZz1gY2hlY2tMaXN0SWQ9JHt0aGlzLmNoZWNrbGlzdERldGFpbHM/LnN0b3JlT3BlbkNsb3NlWzBdLl9pZH1gXHJcbiAgICB9XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGBtYW5hZ2UvdHJheC9jb25maWd1cmU/JHtxdWVyeVN0cmluZ31gKTtcclxuICB9XHJcblxyXG4gIHJlZGlyZWN0Q2hlY2tsaXN0KGRhdGE6YW55KSB7XHJcbiAgICBsZXQgcXVlcnlTdHJpbmc6YW55PWB0eXBlPSR7ZGF0YS5jaGVja0xpc3RUeXBlfWA7XHJcbiAgICBpZihkYXRhLmNoZWNrTGlzdFR5cGUgPT0gJ2N1c3RvbScpIHtcclxuICAgICAgcXVlcnlTdHJpbmc9YGNoZWNrbGlzdElkPSR7ZGF0YS5faWR9YFxyXG4gICAgfVxyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChgbWFuYWdlL3RyYXgvY3JlYXRlQ2hlY2tsaXN0PyR7cXVlcnlTdHJpbmd9YCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaXNoKGV2ZW50OmFueSxkYXRhOmFueSkge1xyXG4gICAgbGV0IHBvcHVwY29udGVudDtcclxuICAgIGxldCBodG1sQ29udGVudDphbnk7XHJcbiAgICBpZihldmVudC50YXJnZXQuY2hlY2tlZCkge1xyXG4gICAgICBwb3B1cGNvbnRlbnQgPSB7XHJcbiAgICAgICAgZGlzcGxheXByb3A6IGZhbHNlLFxyXG4gICAgICAgIGltYWdlc3JjOiAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI1NlwiIGhlaWdodD1cIjU2XCIgdmlld0JveD1cIjAgMCA1NiA1NlwiIGZpbGw9XCJub25lXCI+PHJlY3QgeD1cIjRcIiB5PVwiNFwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIiBmaWxsPVwiI0QxRkFERlwiLz48cGF0aCBkPVwiTTM4IDI3LjA4MThWMjguMDAxOEMzNy45OTg4IDMwLjE1ODIgMzcuMzAwNSAzMi4yNTY1IDM2LjAwOTMgMzMuOTgzNkMzNC43MTgyIDM1LjcxMDggMzIuOTAzMyAzNi45NzQzIDMwLjgzNTQgMzcuNTg1N0MyOC43Njc0IDM4LjE5NzEgMjYuNTU3MyAzOC4xMjM3IDI0LjUzNDUgMzcuMzc2NEMyMi41MTE3IDM2LjYyOTEgMjAuNzg0NyAzNS4yNDc5IDE5LjYxMSAzMy40Mzg5QzE4LjQzNzMgMzEuNjI5OSAxNy44Nzk4IDI5LjQ4OTkgMTguMDIxNyAyNy4zMzgxQzE4LjE2MzYgMjUuMTg2NCAxOC45OTcyIDIzLjEzODEgMjAuMzk4MyAyMS40OTg5QzIxLjc5OTQgMTkuODU5NiAyMy42OTI4IDE4LjcxNzIgMjUuNzk2MiAxOC4yNDJDMjcuODk5NiAxNy43NjY3IDMwLjEwMDMgMTcuOTg0MiAzMi4wNyAxOC44NjE4TTM4IDIwLjAwMThMMjggMzAuMDExOEwyNSAyNy4wMTE4XCIgc3Ryb2tlPVwiIzAzOTg1NVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHJlY3QgeD1cIjRcIiB5PVwiNFwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIiBzdHJva2U9XCIjRUNGREYzXCIgc3Ryb2tlLXdpZHRoPVwiOFwiLz48L3N2Zz4nLFxyXG4gICAgICAgIHRpdGxlOiBgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHB1Ymxpc2gg4oCYJHtkYXRhLmNoZWNrTGlzdE5hbWV94oCZIGNoZWNrbGlzdD9gLFxyXG4gICAgICAgIGNvbnRlbnQ6IGBQdWJsaXNoaW5nIHdpbGwgbWFrZSB0aGlzIGNoZWNrbGlzdCBsaXZlLCBhbmQgY2hhbmdlcyB3aWxsIHRha2UgZWZmZWN0IGltbWVkaWF0ZWx5LmAsXHJcbiAgICAgICAgYnV0dG9udHlwZTogJ2NvbmZpcm0nXHJcbiAgICAgIH1cclxuICAgICAgaHRtbENvbnRlbnQ9IGAke2RhdGEuY2hlY2tMaXN0TmFtZX0gaGFzIGJlZW4gcHVibGlzaGVkPC9kaXY+YDtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBwb3B1cGNvbnRlbnQgPSB7XHJcbiAgICAgICAgZGlzcGxheXByb3A6IGZhbHNlLFxyXG4gICAgICAgIGltYWdlc3JjOiAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI1NlwiIGhlaWdodD1cIjU2XCIgdmlld0JveD1cIjAgMCA1NiA1NlwiIGZpbGw9XCJub25lXCI+PHJlY3QgeD1cIjRcIiB5PVwiNFwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIiBmaWxsPVwiI0ZFRjBDN1wiLz48cGF0aCBkPVwiTTI3Ljk5OTggMjQuMDAxMlYyOC4wMDEyTTI3Ljk5OTggMzIuMDAxMkgyOC4wMDk4TTI2LjI4OTggMTguODYxMkwxNy44MTk4IDMzLjAwMTJDMTcuNjQ1MSAzMy4zMDM2IDE3LjU1MjcgMzMuNjQ2NSAxNy41NTE4IDMzLjk5NTdDMTcuNTUwOCAzNC4zNDQ5IDE3LjY0MTMgMzQuNjg4MyAxNy44MTQyIDM0Ljk5MTdDMTcuOTg3MSAzNS4yOTUxIDE4LjIzNjUgMzUuNTQ3OSAxOC41Mzc1IDM1LjcyNUMxOC44Mzg1IDM1LjkwMjEgMTkuMTgwNiAzNS45OTczIDE5LjUyOTggMzYuMDAxMkgzNi40Njk4QzM2LjgxOSAzNS45OTczIDM3LjE2MTEgMzUuOTAyMSAzNy40NjIxIDM1LjcyNUMzNy43NjMxIDM1LjU0NzkgMzguMDEyNCAzNS4yOTUxIDM4LjE4NTQgMzQuOTkxN0MzOC4zNTgzIDM0LjY4ODMgMzguNDQ4OCAzNC4zNDQ5IDM4LjQ0NzggMzMuOTk1N0MzOC40NDY4IDMzLjY0NjUgMzguMzU0NCAzMy4zMDM2IDM4LjE3OTggMzMuMDAxMkwyOS43MDk4IDE4Ljg2MTJDMjkuNTMxNSAxOC41NjczIDI5LjI4MDUgMTguMzI0MyAyOC45ODEgMTguMTU1N0MyOC42ODE0IDE3Ljk4NyAyOC4zNDM1IDE3Ljg5ODQgMjcuOTk5OCAxNy44OTg0QzI3LjY1NiAxNy44OTg0IDI3LjMxODEgMTcuOTg3IDI3LjAxODYgMTguMTU1N0MyNi43MTkxIDE4LjMyNDMgMjYuNDY4IDE4LjU2NzMgMjYuMjg5OCAxOC44NjEyWlwiIHN0cm9rZT1cIiNEQzY4MDNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxyZWN0IHg9XCI0XCIgeT1cIjRcIiB3aWR0aD1cIjQ4XCIgaGVpZ2h0PVwiNDhcIiByeD1cIjI0XCIgc3Ryb2tlPVwiI0ZGRkFFQlwiIHN0cm9rZS13aWR0aD1cIjhcIi8+PC9zdmc+JyxcclxuICAgICAgICB0aXRsZTogYEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB1bnB1Ymxpc2gg4oCYJHtkYXRhLmNoZWNrTGlzdE5hbWV94oCZIGNoZWNrbGlzdD9gLFxyXG4gICAgICAgIGNvbnRlbnQ6IGBVbnB1Ymxpc2hpbmcgd2lsbCByZW1vdmUgdGhpcyBjaGVja2xpc3QgaW1tZWRpYXRlbHksIGFuZCBpdCB3aWxsIG5vIGxvbmdlciBiZSB2aXNpYmxlIHRvIGFzc2lnbmVkIGxvY2F0aW9ucy5gLFxyXG4gICAgICAgIGJ1dHRvbnR5cGU6ICdjb25maXJtJ1xyXG4gICAgICB9XHJcbiAgICAgIGh0bWxDb250ZW50PSBgJHtkYXRhLmNoZWNrTGlzdE5hbWV9IGhhcyBiZWVuIHVucHVibGlzaGVkYDtcclxuICAgIH1cclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oVHJheHBvcHVwQ29tcG9uZW50LCB7XHJcbiAgICAgIGNlbnRlcmVkOnRydWUsc2l6ZTonbWQnIFxyXG4gICAgfSk7XHJcbiAgICBkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UuZGF0YSA9IHBvcHVwY29udGVudDtcclxuICAgIGRpYWxvZ1JlZi5yZXN1bHQudGhlbigocmVzOmFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzID09ICdjb25maXJtJykge1xyXG4gICAgICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgICAgICAuLi4oZGF0YS5jbGllbnRfaWQpID8ge2NoZWNrbGlzdElkOmRhdGEuX2lkfSA6IHt9LFxyXG4gICAgICAgICAgdHlwZTpkYXRhLmNoZWNrTGlzdFR5cGUsXHJcbiAgICAgICAgICBjbGllbnRJZDp0aGlzLmNsaWVudElkLFxyXG4gICAgICAgICAgcHVibGlzaDpldmVudC50YXJnZXQuY2hlY2tlZFxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNvcFNlcnZpY2UucHVibGlzaChwYXJhbXMpLnBpcGUodGFrZVVudGlsKHRoaXMuZGV0YWNoKSkuc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6KHJlczphbnkpID0+IHtcclxuICAgICAgICAgICAgaWYocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgICAgIGxldCBtZXNzYWdlID0gZXZlbnQudGFyZ2V0LmNoZWNrZWQgPyAncHVibGlzaGVkJyA6ICd1bnB1Ymxpc2hlZCc7XHJcbiAgICAgICAgICAgICAgdGhpcy50b2FzdC5nZXRTdWNjZXNzVG9hc3QoYCR7ZGF0YS5jaGVja0xpc3ROYW1lfSBpcyAke21lc3NhZ2V9IHN1Y2Nlc3NmdWxseS5gKTtcclxuICAgICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgICBkYXRhLnB1Ymxpc2ggPSBldmVudC50YXJnZXQuY2hlY2tlZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICBldmVudC50YXJnZXQuY2hlY2tlZCA9IGRhdGEucHVibGlzaDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGV2ZW50LnRhcmdldC5jaGVja2VkID0gZGF0YS5wdWJsaXNoO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAgIGNsYXNzPVwiY2FyZCBtYi01XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiICpuZ0lmPVwibG9hZGluZ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB0LTIgcGItMVwiICpuZ0lmPVwiIWxvYWRpbmdcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgIDxkaXYgIGNsYXNzPVwiZC1mbGV4IGZsZXgtd3JhcCBteS0yIHBlLTJcIj5cclxuICAgICAgICAgICAgICAgIDxhIHJvdXRlckxpbms9XCIvbWFuYWdlL3RyYXgvY2hlY2tsaXN0XCIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1lLTMgY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHdpZHRoPVwiNDRcIiBoZWlnaHQ9XCI0NFwiIHZpZXdCb3g9XCIwIDAgNDQgNDRcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZF85ODdfMzA4OTgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMVwiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHJ4PVwiOFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjIuNVwiIHk9XCIxLjVcIiB3aWR0aD1cIjM5XCIgaGVpZ2h0PVwiMzlcIiByeD1cIjcuNVwiIHN0cm9rZT1cIiNEMEQ1RERcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjcuODM0NiAyMS4wMDAxSDE2LjE2OE0xNi4xNjggMjEuMDAwMUwyMi4wMDEzIDI2LjgzMzRNMTYuMTY4IDIxLjAwMDFMMjIuMDAxMyAxNS4xNjY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZF85ODdfMzA4OThcIiB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCI0NFwiIGhlaWdodD1cIjQ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd185ODdfMzA4OThcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93Xzk4N18zMDg5OFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrbGlzdC1kZXRhaWxzIG14LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtYWludGV4dCBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFByZWRlZmluZWQge3t0eXBlID09PSAnYWknID8gJ0FJJyA6ICcnfX0gQ2hlY2tsaXN0XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwic3VidGV4dFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBBbiBvdmVydmlldyBvZiB0aGUgc3RvcmUgaXNzdWVzIGFuZCB0aGUgZG93bnRpbWUgZm9yIDAyIEp1bHksIDIwMjNcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLWVuZDo6SW5mby0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxkLTEyXCIgKm5nSWY9XCJ0eXBlID09PSAncHJlZGVmaW5lZCdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtLTBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCAgbXktM1wiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNoZWNrbGlzdERldGFpbHM7bGV0IGk9aW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tsaXN0aW1nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ3LTEwMFwiIHNyYz1cImFzc2V0cy90YW5nby9JbWFnZXMvY2hlY2tsaXN0VmlkZW8tcGxheWVyMS5zdmdcIiBhbHQ9XCJDaGVja2xpc3QgVmlkZW8gUGxheWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1zdGFja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW1ndGV4dCBtZS0yXCI+e3tpdGVtLmNoZWNrTGlzdE5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwicmVkaXJlY3RDaGVja2xpc3QoaXRlbSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzgwMV82MjU5MylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTkuMTY3OTcgMy4zMzQxN0gzLjMzNDY0QzIuODkyNjEgMy4zMzQxNyAyLjQ2ODY4IDMuNTA5NzcgMi4xNTYxMiAzLjgyMjMzQzEuODQzNTYgNC4xMzQ4OSAxLjY2Nzk3IDQuNTU4ODEgMS42Njc5NyA1LjAwMDg0VjE2LjY2NzVDMS42Njc5NyAxNy4xMDk1IDEuODQzNTYgMTcuNTMzNSAyLjE1NjEyIDE3Ljg0NkMyLjQ2ODY4IDE4LjE1ODYgMi44OTI2MSAxOC4zMzQyIDMuMzM0NjQgMTguMzM0MkgxNS4wMDEzQzE1LjQ0MzMgMTguMzM0MiAxNS44NjczIDE4LjE1ODYgMTYuMTc5OCAxNy44NDZDMTYuNDkyNCAxNy41MzM1IDE2LjY2OCAxNy4xMDk1IDE2LjY2OCAxNi42Njc1VjEwLjgzNDJNMTUuNDE4IDIuMDg0MTdDMTUuNzQ5NSAxLjc1MjY1IDE2LjE5OTEgMS41NjY0MSAxNi42NjggMS41NjY0MUMxNy4xMzY4IDEuNTY2NDEgMTcuNTg2NCAxLjc1MjY1IDE3LjkxOCAyLjA4NDE3QzE4LjI0OTUgMi40MTU2OSAxOC40MzU3IDIuODY1MzMgMTguNDM1NyAzLjMzNDE3QzE4LjQzNTcgMy44MDMwMSAxOC4yNDk1IDQuMjUyNjUgMTcuOTE4IDQuNTg0MTdMMTAuMDAxMyAxMi41MDA4TDYuNjY3OTcgMTMuMzM0Mkw3LjUwMTMgMTAuMDAwOEwxNS40MTggMi4wODQxN1pcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF84MDFfNjI1OTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltZ3N1YnRleHRcIiA+e3tpdGVtLmNoZWNrTGlzdERlc2NyaXB0aW9ufX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXN0YWNrIGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMy4zMzQ2IDE0VjEyLjY2NjdDMTMuMzM0NiAxMS45NTk0IDEzLjA1MzcgMTEuMjgxMSAxMi41NTM2IDEwLjc4MUMxMi4wNTM1IDEwLjI4MSAxMS4zNzUyIDEwIDEwLjY2OCAxMEg1LjMzNDY0QzQuNjI3MzkgMTAgMy45NDkxMSAxMC4yODEgMy40NDkwMiAxMC43ODFDMi45NDg5MiAxMS4yODExIDIuNjY3OTcgMTEuOTU5NCAyLjY2Nzk3IDEyLjY2NjdWMTRNMTAuNjY4IDQuNjY2NjdDMTAuNjY4IDYuMTM5NDMgOS40NzQwNiA3LjMzMzMzIDguMDAxMyA3LjMzMzMzQzYuNTI4NTQgNy4zMzMzMyA1LjMzNDY0IDYuMTM5NDMgNS4zMzQ2NCA0LjY2NjY3QzUuMzM0NjQgMy4xOTM5MSA2LjUyODU0IDIgOC4wMDEzIDJDOS40NzQwNiAyIDEwLjY2OCAzLjE5MzkxIDEwLjY2OCA0LjY2NjY3WlwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJteC0xXCI+e3tpdGVtLnVzZXJDb3VudH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm14LTRcIiA+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIuMTQ1NDkgNC42NDIxNUwyLjEwMjkgNC43MDg2NkMxLjY1NjQ0IDUuNDk4MzIgMi4xMzMxMyA2LjQ5NjI5IDIuOTkwNDUgNi42MTA3NEMzLjA2ODEgNi42MjAyNCAzLjE0MDM2IDYuNjI1MjYgMy4yMTA5NyA2LjYyNTI2QzMuNjczNDkgNi42MjUyNiA0LjA4MjQyIDYuNDI2ODQgNC4zNjc0NCA2LjExNzQ2TDQuODEwMTEgNS42MzY5Nkw1LjI1MTI3IDYuMTE4ODRDNS41MzI4MyA2LjQyNjM4IDUuOTQwODMgNi42MjUyNiA2LjQwNjQ4IDYuNjI1MjZDNi44NzAwMyA2LjYyNTI2IDcuMjgwMzggNi40MjYxIDcuNTYxNjggNi4xMTg4NEw4LjAwNDIzIDUuNjM1NDVMOC40NDY3OCA2LjExODg0QzguNzI4MDggNi40MjYxIDkuMTM4NDMgNi42MjUyNiA5LjYwMTk5IDYuNjI1MjZDMTAuMDY1NSA2LjYyNTI2IDEwLjQ3NTkgNi40MjYxIDEwLjc1NzIgNi4xMTg4NEwxMS4xOTk3IDUuNjM1NDVMMTEuNjQyMyA2LjExODg0QzExLjkyMzYgNi40MjYxIDEyLjMzMzkgNi42MjUyNiAxMi43OTc1IDYuNjI1MjZDMTIuODY1OCA2LjYyNTI2IDEyLjk0MDIgNi42MjAyMiAxMy4wMTc0IDYuNjEwODJDMTMuODkzNSA2LjQ5MTM3IDE0LjM3MTcgNS40Mzk5NSAxMy44NjA4IDQuNjQyNTVDMTMuODYwOCA0LjY0MjUgMTMuODYwNyA0LjY0MjQ2IDEzLjg2MDcgNC42NDI0MUwxMi40NTQyIDIuNDQ5MjhMMTIuNDUzNCAyLjQ0ODExQzEyLjQ0MTMgMi40MjkwNCAxMi40MTEzIDIuNDA4NTkgMTIuMzczNSAyLjQwODU5SDMuNjMwMDFDMy41OTIzIDIuNDA4NTkgMy41NjIzMSAyLjQyOTA0IDMuNTUwMTQgMi40NDgxMUwzLjU0OTY1IDIuNDQ4ODhMMi4xNDU0OSA0LjY0MjE1Wk0xMi41MjI2IDguNTg4NzdWMTEuMDk0M1YxMS42OTQzSDExLjkyMjZINC4wODA5MUgzLjQ4MDkxVjExLjA5NDNWOC41ODkxNEMzLjM5MjcyIDguNTk1NyAzLjMwMzUxIDguNTk5MDcgMy4yMTM0MiA4LjU5OTA3QzMuMTc5NTggOC41OTkwNyAzLjE0NTk2IDguNTk4NTcgMy4xMTI1NyA4LjU5NzU5VjExLjA5NDNWMTIuNjQxOUMzLjExMjU3IDEzLjE1NjcgMy41Mzk2OSAxMy41ODk1IDQuMDgwOTEgMTMuNTg5NUgxMS45MjI2QzEyLjQ2MzkgMTMuNTg5NSAxMi44OTEgMTMuMTU2NyAxMi44OTEgMTIuNjQxOVYxMS4wOTQzVjguNTk3NzRDMTIuODU5MSA4LjU5ODYyIDEyLjgyNzEgOC41OTkwNyAxMi43OTUgOC41OTkwN0MxMi43MDM1IDguNTk5MDcgMTIuNjEyNiA4LjU5NTU5IDEyLjUyMjYgOC41ODg3N1pcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4yXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJteC0xXCI+e3tpdGVtLnN0b3JlQ291bnR9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2Vzc1wiICpuZ0lmPVwiaXRlbS5wdWJsaXNoXCI+UHVibGlzaGVkPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtcHJpbWFyeVwiICpuZ0lmPVwiIWl0ZW0ucHVibGlzaFwiPk9wZW48L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGQtMTJcIiAqbmdJZj1cInR5cGUgPT09ICdhaSdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtLTBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCAgbXktM1wiICpuZ0Zvcj1cImxldCBkYXRhIG9mIGNoZWNrbGlzdERldGFpbHM7bGV0IGk9aW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tsaXN0aW1nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ3LTEwMFwiIHNyYz1cImFzc2V0cy90YW5nby9JbWFnZXMvY2hlY2tsaXN0VmlkZW8tcGxheWVyMS5zdmdcIiBhbHQ9XCJDaGVja2xpc3QgVmlkZW8gUGxheWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1zdGFja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW1ndGV4dCBtZS0yXCI+e3tkYXRhLmNoZWNrTGlzdE5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJyZWRpcmVjdFVybCgndW5pZm9ybWRldGVjdGlvbicpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF84MDFfNjI1OTMpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk05LjE2Nzk3IDMuMzM0MTdIMy4zMzQ2NEMyLjg5MjYxIDMuMzM0MTcgMi40Njg2OCAzLjUwOTc3IDIuMTU2MTIgMy44MjIzM0MxLjg0MzU2IDQuMTM0ODkgMS42Njc5NyA0LjU1ODgxIDEuNjY3OTcgNS4wMDA4NFYxNi42Njc1QzEuNjY3OTcgMTcuMTA5NSAxLjg0MzU2IDE3LjUzMzUgMi4xNTYxMiAxNy44NDZDMi40Njg2OCAxOC4xNTg2IDIuODkyNjEgMTguMzM0MiAzLjMzNDY0IDE4LjMzNDJIMTUuMDAxM0MxNS40NDMzIDE4LjMzNDIgMTUuODY3MyAxOC4xNTg2IDE2LjE3OTggMTcuODQ2QzE2LjQ5MjQgMTcuNTMzNSAxNi42NjggMTcuMTA5NSAxNi42NjggMTYuNjY3NVYxMC44MzQyTTE1LjQxOCAyLjA4NDE3QzE1Ljc0OTUgMS43NTI2NSAxNi4xOTkxIDEuNTY2NDEgMTYuNjY4IDEuNTY2NDFDMTcuMTM2OCAxLjU2NjQxIDE3LjU4NjQgMS43NTI2NSAxNy45MTggMi4wODQxN0MxOC4yNDk1IDIuNDE1NjkgMTguNDM1NyAyLjg2NTMzIDE4LjQzNTcgMy4zMzQxN0MxOC40MzU3IDMuODAzMDEgMTguMjQ5NSA0LjI1MjY1IDE3LjkxOCA0LjU4NDE3TDEwLjAwMTMgMTIuNTAwOEw2LjY2Nzk3IDEzLjMzNDJMNy41MDEzIDEwLjAwMDhMMTUuNDE4IDIuMDg0MTdaXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfODAxXzYyNTkzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltZ3N1YnRleHRcIiA+e3tkYXRhLmNoZWNrTGlzdERlc2NyaXB0aW9ufX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXN0YWNrIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMuMzM0NiAxNFYxMi42NjY3QzEzLjMzNDYgMTEuOTU5NCAxMy4wNTM3IDExLjI4MTEgMTIuNTUzNiAxMC43ODFDMTIuMDUzNSAxMC4yODEgMTEuMzc1MiAxMCAxMC42NjggMTBINS4zMzQ2NEM0LjYyNzM5IDEwIDMuOTQ5MTEgMTAuMjgxIDMuNDQ5MDIgMTAuNzgxQzIuOTQ4OTIgMTEuMjgxMSAyLjY2Nzk3IDExLjk1OTQgMi42Njc5NyAxMi42NjY3VjE0TTEwLjY2OCA0LjY2NjY3QzEwLjY2OCA2LjEzOTQzIDkuNDc0MDYgNy4zMzMzMyA4LjAwMTMgNy4zMzMzM0M2LjUyODU0IDcuMzMzMzMgNS4zMzQ2NCA2LjEzOTQzIDUuMzM0NjQgNC42NjY2N0M1LjMzNDY0IDMuMTkzOTEgNi41Mjg1NCAyIDguMDAxMyAyQzkuNDc0MDYgMiAxMC42NjggMy4xOTM5MSAxMC42NjggNC42NjY2N1pcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwibXgtMVwiPnt7Y2hlY2tsaXN0RGV0YWlscz8udW5pZm9ybURldGVjdGlvblswXT8udW5pZm9ybVVzZXJMaXN0IHx8IDB9fTwvc3Bhbj48L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yLjE0NTQ5IDQuNjQyMTVMMi4xMDI5IDQuNzA4NjZDMS42NTY0NCA1LjQ5ODMyIDIuMTMzMTMgNi40OTYyOSAyLjk5MDQ1IDYuNjEwNzRDMy4wNjgxIDYuNjIwMjQgMy4xNDAzNiA2LjYyNTI2IDMuMjEwOTcgNi42MjUyNkMzLjY3MzQ5IDYuNjI1MjYgNC4wODI0MiA2LjQyNjg0IDQuMzY3NDQgNi4xMTc0Nkw0LjgxMDExIDUuNjM2OTZMNS4yNTEyNyA2LjExODg0QzUuNTMyODMgNi40MjYzOCA1Ljk0MDgzIDYuNjI1MjYgNi40MDY0OCA2LjYyNTI2QzYuODcwMDMgNi42MjUyNiA3LjI4MDM4IDYuNDI2MSA3LjU2MTY4IDYuMTE4ODRMOC4wMDQyMyA1LjYzNTQ1TDguNDQ2NzggNi4xMTg4NEM4LjcyODA4IDYuNDI2MSA5LjEzODQzIDYuNjI1MjYgOS42MDE5OSA2LjYyNTI2QzEwLjA2NTUgNi42MjUyNiAxMC40NzU5IDYuNDI2MSAxMC43NTcyIDYuMTE4ODRMMTEuMTk5NyA1LjYzNTQ1TDExLjY0MjMgNi4xMTg4NEMxMS45MjM2IDYuNDI2MSAxMi4zMzM5IDYuNjI1MjYgMTIuNzk3NSA2LjYyNTI2QzEyLjg2NTggNi42MjUyNiAxMi45NDAyIDYuNjIwMjIgMTMuMDE3NCA2LjYxMDgyQzEzLjg5MzUgNi40OTEzNyAxNC4zNzE3IDUuNDM5OTUgMTMuODYwOCA0LjY0MjU1QzEzLjg2MDggNC42NDI1IDEzLjg2MDcgNC42NDI0NiAxMy44NjA3IDQuNjQyNDFMMTIuNDU0MiAyLjQ0OTI4TDEyLjQ1MzQgMi40NDgxMUMxMi40NDEzIDIuNDI5MDQgMTIuNDExMyAyLjQwODU5IDEyLjM3MzUgMi40MDg1OUgzLjYzMDAxQzMuNTkyMyAyLjQwODU5IDMuNTYyMzEgMi40MjkwNCAzLjU1MDE0IDIuNDQ4MTFMMy41NDk2NSAyLjQ0ODg4TDIuMTQ1NDkgNC42NDIxNVpNMTIuNTIyNiA4LjU4ODc3VjExLjA5NDNWMTEuNjk0M0gxMS45MjI2SDQuMDgwOTFIMy40ODA5MVYxMS4wOTQzVjguNTg5MTRDMy4zOTI3MiA4LjU5NTcgMy4zMDM1MSA4LjU5OTA3IDMuMjEzNDIgOC41OTkwN0MzLjE3OTU4IDguNTk5MDcgMy4xNDU5NiA4LjU5ODU3IDMuMTEyNTcgOC41OTc1OVYxMS4wOTQzVjEyLjY0MTlDMy4xMTI1NyAxMy4xNTY3IDMuNTM5NjkgMTMuNTg5NSA0LjA4MDkxIDEzLjU4OTVIMTEuOTIyNkMxMi40NjM5IDEzLjU4OTUgMTIuODkxIDEzLjE1NjcgMTIuODkxIDEyLjY0MTlWMTEuMDk0M1Y4LjU5Nzc0QzEyLjg1OTEgOC41OTg2MiAxMi44MjcxIDguNTk5MDcgMTIuNzk1IDguNTk5MDdDMTIuNzAzNSA4LjU5OTA3IDEyLjYxMjYgOC41OTU1OSAxMi41MjI2IDguNTg4NzdaXCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMlwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwibXgtMVwiPnt7ZGF0YS5zdG9yZUNvdW50IHx8ICctLSd9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1zdWNjZXNzXCIgKm5nSWY9XCJjaGVja2xpc3REZXRhaWxzPy51bmlmb3JtRGV0ZWN0aW9uLmxlbmd0aFwiPlB1Ymxpc2hlZDwvc3Bhbj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvcm0tY2hlY2sgZm9ybS1zd2l0Y2hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIHJvbGU9XCJzd2l0Y2hcIiBpZD1cInN1cHBvcnRcIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXQgY3Vyc29yLXBvaW50ZXJcIiBbY2hlY2tlZF09XCJkYXRhLnB1Ymxpc2hcIiAoY2hhbmdlKT1cInB1Ymxpc2goJGV2ZW50LGRhdGEpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtcHJpbWFyeVwiICpuZ0lmPVwiIWRhdGEucHVibGlzaFwiPkRpc2FibGU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1zdWNjZXNzXCIgKm5nSWY9XCJkYXRhLnB1Ymxpc2hcIj5FbmFibGU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|